diff --git a/.editorconfig b/.editorconfig index 5114862a..cc2ad1d5 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,9 +1,23 @@ +# http://editorconfig.org + root = true -[*.py] -charset = utf-8 -indent_style = space -indent_size = 4 -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true +[*] # 表示所有文件适用 +charset = utf-8 # 设置文件字符集为 utf-8 +indent_style = space # 缩进风格(tab | space) +indent_size = 2 # 缩进大小 +end_of_line = lf # 控制换行类型(lf | cr | crlf) +trim_trailing_whitespace = true # 去除行首的任意空白字符 +insert_final_newline = false # 始终在文件末尾插入一个新行 + +[*.md] # 表示仅 md 文件适用以下规则 +max_line_length = off +trim_trailing_whitespace = false + +[*.py] # 表示所有文件适用 +charset = utf-8 # 设置文件字符集为 utf-8 +indent_style = space # 缩进风格(tab | space) +indent_size = 4 # 缩进大小 +end_of_line = lf # 控制换行类型(lf | cr | crlf) +trim_trailing_whitespace = true # 去除行首的任意空白字符 +insert_final_newline = false # 始终在文件末尾插入一个新行 diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..512e8727 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,13 @@ +{ + "extends":["@curev"], + "rules": { + "semi":"off", + "@typescript-eslint/semi":"off", + "vue/semi":"off", + "camelcase":"off", + "no-extend-native":"off", + "eqeqeq":"off", + "vue/eqeqeq":"off", + "no-console":"warn" + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 68c660be..9d180d84 100644 --- a/.gitignore +++ b/.gitignore @@ -1,16 +1,26 @@ -__pycache__ -logs -set* -skill* -AutoRelease -*.exe -docs/web.config -.vscode/launch.json -debug.log -build.bat -详细数据 -DLL -.DS_Store -SkillData -动态头像 -ResourceFiles/Config/notice_version.json +__pycache__ +logs +AutoRelease +*.exe +.vscode/launch.json +DLL +.DS_Store +SkillData +node_modules +.DS_Store +dist +dist-ssr +*.local +.pnpm-debug.log +tmp +**/.tmp +release +*.log +components.d.ts +packages/renderer/components.d.ts +api/sets +api/user-data +build +resources/ +**/__ZFJtemp/** +web.config \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index af2fcb5f..4440f3b0 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,10 @@ -[submodule "SkillData"] - path = SkillData - url = https://gitee.com/i_melon/SkillData.git -[submodule "InternalFile"] - path = InternalFile - url = https://gitee.com/i_melon/InternalFile +[submodule "internal"] + path = internal + url = https://gitee.com/dcalc/internal.git +[submodule "api/routers"] + path = api/routers + url = https://gitee.com/dcalc/routers.git +[submodule "skill-info"] + path = skill-info + url = https://gitee.com/dcalc/skill-info.git + diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..f1bee24c --- /dev/null +++ b/.npmrc @@ -0,0 +1,3 @@ +ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/ +ELECTRON_BUILDER_BINARIES_MIRROR=http://npm.taobao.org/mirrors/electron-builder-binaries/ +shamefully-hoist=true \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..d378b888 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,10 @@ +{ + "recommendations": [ + "antfu.unocss", + "usernamehw.errorlens", + "Vue.vscode-typescript-vue-plugin", + "Vue.volar", + "dbaeumer.vscode-eslint", + "streetsidesoftware.code-spell-checker" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..96ed4394 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "unocss.root": [ + "packages/renderer" + ], + "python.analysis.extraPaths": [ + "./api" + ] +} \ No newline at end of file diff --git a/Characters/BUFF·神启·圣骑士.py b/Characters/BUFF·神启·圣骑士.py deleted file mode 100644 index 64f07c9e..00000000 --- a/Characters/BUFF·神启·圣骑士.py +++ /dev/null @@ -1,261 +0,0 @@ -from PublicReference.buffer.base import * - - -class BUFF·神启·圣骑士技能0(被动技能): - 名称 = '守护恩赐' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 31 - 额外体精 = 0 - 站街生效 = 1 - 体力 = [0, 20, 24, 28, 32, 36, 41, 46, 51, 57, 63, 69, 75, 81, 88, 95, 103, 111, 119, 127, 135, 144, 153, 163, 172, 182, 192, 203, 213, 224, 235, 247, - 259, 271, 283, 295, 309, 322, 335, 349, 363, 377, 391, 407, 421, 437, 453, 469, 485, 501, 518, 532, 548, 564, 580, 596, 611, 627, 643, 659, 675] - 精神 = [0, 54, 58, 62, 66, 70, 75, 80, 85, 91, 97, 103, 109, 115, 122, 129, 137, 145, 153, 161, 169, 178, 187, 197, 206, 216, 226, 237, 247, 258, 269, - 281, 293, 305, 317, 329, 343, 356, 369, 383, 397, 411, 425, 441, 455, 471, 487, 503, 519, 535, 552, 566, 582, 598, 614, 630, 645, 661, 677, 693, 709] - - def 体力加成(self): - return self.体力[self.等级] + self.额外体精 + self.进图加成 - - def 精神加成(self): - return self.精神[self.等级] + self.额外体精 + self.进图加成 - - def 结算统计(self,context): - return [0, self.体力加成(), self.精神加成(), 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能1(主动技能): - 名称 = '守护徽章' - 所在等级 = 25 - 等级上限 = 40 - 基础等级 = 30 - 守护徽章per = 0.15 - 数值 = [0, 24, 26, 28, 31, 33, 35, 38, 40, 43, 46, 49, 51, 55, 58, 61, 64, 67, 71, 75, 78, 82, - 85, 89, 93, 97, 101, 106, 110, 114, 119, 123, 128, 133, 137, 142, 147, 152, 157, 163, 167] - - def 体力加成(self): - return int(self.数值[self.等级] * (1 + self.守护徽章per)) - - def 精神加成(self): - return int(self.数值[self.等级] * (1 + self.守护徽章per)) - - def 结算统计(self,context): - return [0, self.体力加成(), self.精神加成(), 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能2(主动技能): - 名称 = '圣光十字' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 数值 = [0, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60] - - def 结算统计(self,context): - return [0, 0, 0, 0, 0, self.数值[self.等级], self.数值[self.等级], self.数值[self.等级]] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能3(主动技能): - 名称 = '荣誉祝福' - 所在等级 = 30 - 等级上限 = 40 - 基础等级 = 10 - BUFF力量per = 0 - BUFF智力per = 0 - BUFF物攻per = 0 - BUFF魔攻per = 0 - BUFF独立per = 0 - BUFF力量 = 0 - BUFF智力 = 0 - BUFF物攻 = 0 - BUFF魔攻 = 0 - BUFF独立 = 0 - 三攻 = [0, 43, 44, 46, 48, 49, 51, 53, 54, 56, 58, 59, 61, 63, 64, 66, 68, 69, 71, 73, 75, - 76, 78, 80, 81, 83, 85, 86, 88, 90, 91, 93, 95, 96, 98, 100, 101, 103, 105, 106, 109] - 力智 = [0, 164, 175, 186, 198, 209, 219, 230, 241, 253, 264, 275, 286, 298, 309, 320, 330, 341, 353, 364, - 375, 386, 398, 409, 420, 431, 441, 453, 464, 475, 486, 498, 509, 520, 531, 543, 553, 564, 575, 586, 598] - - def 结算统计(self,context): - 倍率 = self.适用数值 / 620 + 1 - temp = [0, 0, 0] # 智力,体力,精神 - temp.append(int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per * 倍率,3))) # 力量 - temp.append(int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per * 倍率,3))) # 智力 - temp.append(int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per * 倍率,3))) # 物攻 - temp.append(int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per * 倍率,3))) # 魔攻 - temp.append(int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per * 倍率,3))) # 独立 - return temp - - def 技能面板(self): - temp = [] - temp.append(self.名称) - temp.append(int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per))) # 力量 - temp.append(int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per))) # 智力 - temp.append(int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per))) # 物攻 - temp.append(int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per))) # 魔攻 - temp.append(int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per))) # 独立 - return temp - - -class BUFF·神启·圣骑士技能4(被动技能): - 名称 = '信念光环' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 额外体精 = 0 - 力智 = [0, 40, 48, 58, 67, 77, 87, 98, 109, 120, 133, 144, 157, 171, 184, 198, 212, 226, 242, 258, 273, - 290, 306, 323, 341, 359, 378, 397, 416, 436, 456, 476, 498, 518, 541, 562, 586, 609, 632, 654, 678] - 体精 = [0, 31, 38, 45, 53, 60, 68, 76, 85, 94, 104, 113, 123, 134, 144, 154, 166, 177, 189, 202, 213, - 226, 239, 253, 266, 281, 296, 310, 325, 341, 356, 372, 389, 405, 423, 439, 458, 476, 494, 511, 530] - - def 体力加成(self): - return self.体精[self.等级] + self.额外体精 - - def 精神加成(self): - return self.体精[self.等级] + self.额外体精 - - def 结算统计(self,context): - return [0, self.体力加成(), self.精神加成(), self.力智[self.等级], self.力智[self.等级], 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能5(觉醒技能): - 名称 = '天启之珠' - pass - - -class BUFF·神启·圣骑士技能6(主动技能): - 名称 = '神圣洗礼:信仰之翼' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - 体精 = [0, 12, 15, 17, 20, 22, 25, 27, 30, 32, 35, 37, 40, 42, 45, 47, 50, 52, 55, 57, 60, - 62, 65, 67, 70, 72, 75, 77, 80, 82, 85, 87, 90, 92, 95, 97, 100, 102, 105, 107, 110] - - def 体力加成(self): - return self.体精[self.等级] * 24 - - def 精神加成(self): - return self.体精[self.等级] * 24 - - def 结算统计(self,context): - return [0, self.体力加成(), self.精神加成(), 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能7(被动技能): - 名称 = '神之代行者' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 站街生效 = 1 - 体精 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, - 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] - - def 体力加成(self): - return self.体精[self.等级] - - def 精神加成(self): - return self.体精[self.等级] - - def 结算统计(self,context): - return [0, self.体力加成(), self.精神加成(), 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class BUFF·神启·圣骑士技能8(三觉技能): - 名称 = '生命礼赞:神威' - 关联技能 = ['神圣洗礼:信仰之翼'] - pass - - -技能表 = {} -技能栏 = [] - -i = 0 -while i >= 0: - try: - skill: 技能 = eval("BUFF·神启·圣骑士技能"+str(i)+"()") - skill.技能序号 = i - 名称 = skill.名称 - if skill.所在等级 == 30: - 名称 = 'BUFF' - elif skill.所在等级 == 50: - 名称 = '一次觉醒' - elif skill.所在等级 == 85: - 名称 = '二次觉醒' - elif skill.所在等级 == 100: - 名称 = '三次觉醒' - 技能表[名称] = skill - 技能栏.append(skill) - i += 1 - except: - i = -1 - -class BUFF·神启·圣骑士角色属性(辅助角色属性): - 实际名称 = 'BUFF·神启·圣骑士' - 角色 = '圣职者(男)' - 职业 = '圣骑士' - - 类型选择 = ['体力', '精神'] - - 武器选项 = ['十字架'] - - 防具类型 = '板甲' - 防具精通属性 = ['体力', '精神'] - - def __init__(self): - super().__init__() - self.武器选项 = ['十字架'] - self.防具精通属性 = ['体力', '精神'] - self.类型选择 = ['体力', '精神'] - self.类型 = '体力' - self.技能表 = deepcopy(技能表) - self.技能栏 = list(self.技能表.values()) - self.buff_type = 2 - self.buff_rate = 1.15 - self.一觉序号 = self.技能表['一次觉醒'].技能序号 - self.二觉序号 = self.技能表['二次觉醒'].技能序号 - self.三觉序号 = self.技能表['三次觉醒'].技能序号 - self.是否加觉醒 = 0 - self.一觉切装加二觉增加体精= 0 - 基础属性输入(self) - - def 专属词条计算(self): - - self.技能表['守护恩赐'].等级加成(self.转职被动Lv) - self.技能表['守护恩赐'].额外体精 = self.守护恩赐体精 - self.技能表['守护恩赐'].进图加成 = self.被动进图加成 - - self.技能表['BUFF'].等级加成(self.BUFFLv) - self.技能表['BUFF'].BUFF力量per = self.BUFF力量per - self.技能表['BUFF'].BUFF智力per = self.BUFF智力per - self.技能表['BUFF'].BUFF物攻per = self.BUFF物攻per - self.技能表['BUFF'].BUFF魔攻per = self.BUFF魔攻per - self.技能表['BUFF'].BUFF独立per = self.BUFF独立per - self.技能表['BUFF'].BUFF力量 = self.BUFF力量 - self.技能表['BUFF'].BUFF智力 = self.BUFF智力 - self.技能表['BUFF'].BUFF物攻 = self.BUFF物攻 - self.技能表['BUFF'].BUFF魔攻 = self.BUFF魔攻 - self.技能表['BUFF'].BUFF独立 = self.BUFF独立 - - self.技能表['一次觉醒'].等级加成(self.一觉Lv) - self.技能表['一次觉醒'].一觉力智 = self.一觉力智 - self.技能表['一次觉醒'].一觉力智per = self.一觉力智per - - self.技能表['信念光环'].额外体精 = self.信念光环体精 - self.技能表['信念光环'].等级加成(self.一觉被动Lv) - - def 系数数值站街(self): - return self.体力 if self.类型 == '体力' else self.精神 - - def 系数数值进图(self): - return self.进图体力 if self.类型 == '体力' else self.进图精神 - - -class BUFF·神启·圣骑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = BUFF·神启·圣骑士角色属性() - self.角色属性A = deepcopy(self.初始属性) - self.角色属性B = deepcopy(self.初始属性) diff --git a/Characters/千魂·决战者.py b/Characters/千魂·决战者.py deleted file mode 100644 index df11986b..00000000 --- a/Characters/千魂·决战者.py +++ /dev/null @@ -1,625 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # def 等效CD(self, 武器类型, 输出类型): - # # 长枪+5%,长枪精通-13% - # if self.所在等级 == 100 or self.所在等级 == 85 or self.所在等级 == 50: - # return round(self.CD / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - # return round(self.CD * 0.87 / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - - -class 技能0(被动技能): - 名称 = '长枪精通' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['流云幻灭','极影无形杀','问鼎·千军破云'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1 + 0.01 * self.等级, 5) - else: - return round(0.8 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.87 - -class 技能1(职业主动技能): - 名称 = '双重刺击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # #第1击攻击力:% - # data0 = [0, 1695, 1868, 2040, 2211, 2383, 2556, 2728, 2900, 3071, 3244, 3416, 3588, 3760, 3932, 4104, 4276, 4449, 4621, 4792, 4964, 5137, 5309, 5481, 5652, 5825, 5997, 6169, 6340, 6513, 6685, 6857, 7029, 7201, 7373, 7545, 7717, 7890, 8061, 8233, 8405, 8578, 8750, 8921, 9094, 9266, 9438, 9610, 9782, 9954, 10126, 10298, 10471, 10642, 10814, 10986, 11159, 11331, 11502, 11674, 11847, 12019, 12190, 12362, 12535, 12707, 12879, 13050, 13223, 13395, 13567] - # #第1击枪尾攻击力:% - # data1 = [0, 1860, 2050, 2239, 2427, 2616, 2805, 2993, 3183, 3372, 3561, 3749, 3937, 4126, 4315, 4504, 4693, 4882, 5070, 5259, 5449, 5638, 5826, 6015, 6204, 6392, 6582, 6770, 6959, 7147, 7336, 7525, 7715, 7903, 8092, 8281, 8469, 8658, 8848, 9037, 9225, 9414, 9602, 9790, 9980, 10169, 10358, 10546, 10735, 10924, 11114, 11302, 11491, 11680, 11868, 12057, 12247, 12435, 12623, 12812, 13001, 13189, 13379, 13568, 13757, 13945, 14134, 14323, 14513, 14701, 14890] - - # 近距离攻击和枪尾攻击不会同时命中一个敌人, 判定重叠时, 会优先判定为枪尾攻击 - # 第2击攻击力:% - data0 = [(i*1.1243) for i in [0, 1978, 2179, 2379, 2581, 2781, 2982, 3183, 3383, 3585, 3785, 3986, 4186, 4387, 4587, 4789, 4990, 5190, 5391, 5591, 5792, 5993, 6194, 6395, 6595, 6796, 6997, 7198, 7398, 7599, 7798, 7999, 8202, 8402, 8603, 8802, 9003, 9205, 9406, 9605, 9806, 10007, 10207, 10409, 10609, 10810, 11010, 11211, 11411, 11613, 11814, 12014, 12215, 12415, 12617, 12817, 13018, 13218, 13419, 13620, 13821, 14022, 14222, 14423, 14623, 14824, 15026, 15226, 15427, 15627, 15828]] - # 第2击枪尾攻击力:% - data1 = [(i*1.1243) for i in [0, 2365, 2604, 2846, 3086, 3325, 3566, 3805, 4045, 4284, 4526, 4765, 5005, 5246, 5485, 5725, 5965, 6206, 6445, 6684, 6926, 7165, 7405, 7646, 7886, 8125, 8365, 8606, 8845, 9085, 9326, 9566, 9805, 10045, 10285, 10525, 10765, 11006, 11246, 11485, 11725, 11965, 12204, 12447, 12686, 12926, 13165, 13405, 13645, 13884, 14127, 14366, 14606, 14846, 15085, 15325, 15564, 15806, 16046, 16286, 16526, 16765, 17005, 17246, 17486, 17725, 17966, 18206, 18445, 18685, 18926]] - 攻击次数2 = 1 - # 基础 = 3694.57142857143 - # 成长 = 417.428571428571 - CD = 7.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '行云:风' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 稍稍对不上 - # 刺击攻击力:% - data0 = [(i*1.0) for i in [0, 158, 174, 189, 206, 222, 238, 254, 270, 286, 302, 318, 335, 350, 366, 382, 398, 415, 431, 446, 462, 479, 495, 511, 526, 543, 559, 575, 591, 607, 623, 639, 655, 672, 687, - 703, 719, 736, 752, 767, 783, 799, 816, 832, 848, 863, 880, 896, 912, 928, 944, 960, 976, 992, 1009, 1024, 1040, 1056, 1073, 1089, 1104, 1120, 1137, 1153, 1169, 1184, 1201, 1217, 1233, 1249, 1264]] - # 旋风攻击力:% - data1 = [(i*1.0) for i in [0, 263, 289, 316, 343, 369, 396, 423, 449, 476, 502, 529, 556, 582, 609, 636, 662, 689, 716, 742, 769, 796, 822, 849, 876, 902, 929, 955, 982, 1009, 1035, 1062, 1089, 1115, 1142, 1169, - 1195, 1222, 1249, 1275, 1302, 1329, 1355, 1382, 1409, 1435, 1462, 1488, 1515, 1542, 1568, 1595, 1622, 1648, 1675, 1702, 1728, 1755, 1782, 1808, 1835, 1862, 1888, 1915, 1942, 1968, 1995, 2021, 2048, 2075, 2101]] - 攻击次数2 = 8 - # 基础 = 2094.93333333333 - # 成长 = 236.066666666667 - CD = 5 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能3(职业主动技能): - 名称 = '行云:疾' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 横扫攻击力:% - data0 = [(i*1.0) for i in [0, 2932, 3231, 3529, 3826, 4124, 4421, 4719, 5016, 5314, 5611, 5909, 6206, 6504, 6801, 7099, 7397, 7695, 7993, 8290, 8588, 8885, 9183, 9480, 9778, 10075, 10373, 10670, 10968, 11265, 11563, 11861, 12159, 12457, 12754, 13052, - 13349, 13647, 13944, 14242, 14539, 14837, 15134, 15432, 15730, 16027, 16326, 16623, 16921, 17218, 17516, 17813, 18111, 18408, 18706, 19003, 19301, 19599, 19896, 20194, 20491, 20790, 21087, 21385, 21682, 21980, 22277, 22575, 22872, 23170, 23468]] - # 基础 = 2634.38095238095 - # 成长 = 297.619047619048 - CD = 6.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = '行云:落' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 3784.675 - # 成长 = 427.325 - data0 = [(i*1.0) for i in [0, 4212, 4639, 5067, 5494, 5921, 6348, 6776, 7203, 7631, 8058, 8485, 8912, 9339, 9768, 10195, 10622, 11049, 11476, 11903, 12332, 12759, 13186, 13613, 14040, 14468, 14896, 15323, 15750, 16177, 16604, 17032, 17459, 17887, 18314, - 18741, 19169, 19596, 20023, 20451, 20878, 21305, 21733, 22160, 22587, 23014, 23442, 23870, 24297, 24724, 25151, 25578, 26006, 26434, 26861, 27288, 27715, 28142, 28571, 28998, 29425, 29852, 30279, 30707, 31135, 31562, 31989, 32416, 32843, 33271, 33698]] - CD = 8.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能5(被动技能): - 名称 = '行云:沐' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1.05 + 0.01 * self.等级, 5) - else: - return round(0.95 + 0.02 * self.等级, 5) - - -class 技能6(职业主动技能): - 名称 = '旋风枪' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 4467.65 - # 成长 = 504.35 - CD = 9 - data0 = [(i*1.24) for i in [0, 475, 523, 569, 618, 667, 715, 763, 811, 860, 907, 956, 1004, 1051, 1100, 1149, 1196, 1244, 1293, 1341, 1388, 1436, 1486, 1534, 1580, 1630, 1678, 1725, 1775, 1822, 1871, 1918, 1967, 2016, 2062, 2111, 2160, 2208, 2255, 2304, 2352, 2400, 2448, 2497, 2545, 2592, 2641, 2689, 2736, 2786, 2833, 2882, 2930, 2978, 3027, 3073, 3122, 3171, 3219, 3267, 3315, 3363, 3411, 3459, 3507, 3556, 3604, 3653, 3700, 3747, 3797]] - 攻击次数 = 11 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '无畏波动枪' - # 其余部分能被撞出去的才有,固定怪物没有 - 备注 = '突进+刺击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 固定怪物吃以下 - # 普通突进攻击力:% - data0 = [(i*1.1267) for i in [0, 1844, 2031, 2218, 2405, 2591, 2778, 2965, 3152, 3339, 3526, 3714, 3902, 4089, 4276, 4463, 4649, 4836, 5023, 5210, 5397, 5584, 5771, 5958, 6147, 6334, 6521, 6707, 6894, 7081, 7268, 7455, 7642, 7829, 8016, 8203, 8390, 8579, 8765, 8952, 9139, 9326, 9513, 9700, 9887, 10074, 10261, 10448, 10634, 10821, 11010, 11197, 11384, 11571, 11758, 11945, 12132, 12319, 12506, 12692, 12879, 13066, 13253, 13442, 13629, 13816, 14003, 14190, 14377, 14564, 14750]] - 攻击次数 = 1 - # 普通刺击攻击力:% - data1 = [(i*1.1267) for i in [0, 4302, 4739, 5174, 5611, 6048, 6485, 6921, 7357, 7793, 8230, 8667, 9104, 9539, 9976, 10412, 10849, 11285, 11722, 12159, 12595, 13032, 13467, 13904, 14341, 14778, 15215, 15650, 16086, 16523, 16960, 17396, 17833, 18269, 18705, 19142, 19578, 20015, 20452, 20889, 21324, 21760, 22197, 22634, 23071, 23507, 23944, 24379, 24816, 25253, 25689, 26126, 26563, 26999, 27434, 27871, 28308, 28745, 29182, 29618, 30053, 30490, 30927, 31364, 31800, 32237, 32674, 33109, 33545, 33982, 34419]] - 攻击次数2 = 1 - - # 能推开的吃以下的 - # 对被刺穿敌人的攻击力:% - # data0 = [0, 1463, 1612, 1759, 1908, 2057, 2206, 2353, 2502, 2651, 2799, 2947, 3096, 3245, 3393, 3541, 3690, 3839, 3986, 4135, 4284, 4432, 4580, 4729, 4878, 5026, 5174, 5323, 5472, 5619, 5768, 5917, 6066, 6213, 6362, 6511, 6659, 6807, 6956, 7105, 7253, 7401, 7550, 7699, 7846, 7995, 8144, 8292, 8440, 8589, 8738, 8886, 9034, 9183, 9332, 9480, 9628, 9777, 9925, 10073, 10222, 10371, 10519, 10667, 10816, 10965, 11113, 11261, 11410, 11559, 11707] - # 攻击次数 = 1 - # 被刺穿后弹开时的攻击力:% - # data1 = [0, 3512, 3868, 4224, 4580, 4937, 5294, 5650, 6006, 6362, 6718, 7074, 7431, 7788, 8144, 8500, 8856, 9212, 9569, 9925, 10282, 10638, 10994, 11350, 11707, 12063, 12420, 12776, 13132, 13488, 13844, 14201, 14557, 14914, 15270, 15626, 15982, 16339, 16695, 17052, 17408, 17764, 18120, 18476, 18833, 19189, 19546, 19902, 20258, 20614, 20971, 21327, 21683, 22040, 22396, 22752, 23109, 23465, 23821, 24178, 24534, 24890, 25246, 25603, 25959, 26315, 26672, 27028, 27384, 27741, 28097] - # 弹开的敌人撞到地面时的冲撞攻击力:% - # data4 = [0, 878, 967, 1056, 1145, 1234, 1323, 1412, 1501, 1590, 1679, 1768, 1857, 1946, 2035, 2124, 2213, 2302, 2391, 2481, 2570, 2659, 2748, 2837, 2927, 3016, 3105, 3194, 3283, 3372, 3461, 3550, 3639, 3728, 3817, 3906, 3995, 4084, 4173, 4262, 4351, 4440, 4529, 4618, 4707, 4797, 4886, 4975, 5064, 5153, 5243, 5332, 5421, 5510, 5599, 5688, 5777, 5866, 5955, 6044, 6133, 6222, 6311, 6400, 6489, 6578, 6667, 6756, 6845, 6934, 7023] - # 弹开的敌人撞到墙壁时的冲撞攻击力:% - # data5 = [0, 994, 1095, 1197, 1297, 1399, 1499, 1600, 1702, 1802, 1904, 2004, 2105, 2206, 2307, 2408, 2509, 2610, 2710, 2812, 2912, 3014, 3115, 3215, 3317, 3417, 3518, 3620, 3720, 3822, 3922, 4023, 4124, 4225, 4327, 4427, 4528, 4629, 4730, 4830, 4932, 5033, 5133, 5235, 5335, 5437, 5537, 5638, 5740, 5840, 5942, 6042, 6143, 6245, 6345, 6446, 6547, 6648, 6748, 6850, 6951, 7052, 7153, 7253, 7355, 7455, 7557, 7658, 7758, 7860, 7960] - - # 基础 = 5259.13513513513 - # 成长 = 593.864864864865 - CD = 9.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '螺旋波动枪' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 38 - # 基本和韩服一样 - data0 = [int(i*1.1571) for i in [0,2769, 3050, 3331, 3612, 3893, 4173, 4454, 4735, 5016, 5297, 5578, 5860, 6140, 6421, 6702, 6983, 7264, 7545, 7826, 8106, 8387, 8668, 8949, 9231, 9512, 9793, 10073, 10354, 10635, 10916, 11197, 11478, 11759, 12039, 12320, 12601, 12883, 13164, 13445, 13726, 14007, 14287, 14568, 14849, 15130, 15411, 15692, 15973, 16253, 16535, 16816, 17097, 17378, 17659, 17940, 18220, 18501, 18782, 19063, 19344, 19625, 19907, 20188, 20468, 20749, 21030, 21311, 21592, 21873, 22154]] - data1 = [int(i*1.1571) for i in [0,4615, 5083, 5551, 6019, 6488, 6956, 7424, 7892, 8360, 8828, 9296, 9766, 10234, 10702, 11170, 11638, 12106, 12575, 13043, 13511, 13979, 14447, 14915, 15385, 15853, 16321, 16789, 17257, 17725, 18193, 18662, 19130, 19598, 20066, 20534, 21002, 21472, 21940, 22408, 22876, 23344, 23812, 24280, 24749, 25217, 25685, 26153, 26621, 27089, 27559, 28027, 28495, 28963, 29431, 29899, 30367, 30836, 31304, 31772, 32240, 32708, 33178, 33646, 34114, 34582, 35050, 35518, 35986, 36454, 36923]] - data2 = [int(i*1.1571) for i in [0,1846, 2033, 2221, 2408, 2595, 2782, 2969, 3157, 3344, 3531, 3718, 3906, 4094, 4281, 4468, 4655, 4843, 5030, 5217, 5404, 5592, 5779, 5966, 6154, 6341, 6528, 6716, 6903, 7090, 7277, 7465, 7652, 7839, 8026, 8214, 8401, 8589, 8776, 8963, 9150, 9338, 9525, 9712, 9899, 10087, 10274, 10461, 10648, 10836, 11024, 11211, 11398, 11585, 11772, 11960, 12147, 12334, 12521, 12709, 12896, 13083, 13271, 13458, 13646, 13833, 14020, 14207, 14395, 14582, 14769]] - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 15 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '升龙破空枪' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 数据对不上 - # 基础 = 8384.54285714286 - # 成长 = 1091.45714285714 - # 横扫攻击力:% - data0 = [(i*1.15) for i in [0, 2420, 2665, 2911, 3156, 3402, 3647, 3893, 4138, 4385, 4629, 4875, 5121, 5367, 5611, 5857, 6103, 6347, 6594, 6839, 7084, 7330, 7576, 7820, 8067, 8312, 8558, 8803, 9049, 9294, 9540, 9785, 10032, 10276, 10522, 10768, 11013, 11258, 11505, 11750, 11995, 12241, 12487, 12731, 12978, 13223, 13469, 13714, 13959, 14205, 14450, 14696, 14942, 15187, 15432, 15679, 15923, 16169, 16415, 16660, 16905, 17152, 17396, 17642, 17888, 18134, 18378, 18625, 18870, 19116, 19361]] - # 上挑攻击力:% - data1 = [(i*1.15) for i in [0, 3630, 3998, 4367, 4734, 5103, 5471, 5840, 6208, 6576, 6944, 7313, 7681, 8049, 8417, 8785, 9154, 9522, 9890, 10259, 10628, 10996, 11364, 11732, 12101, 12469, 12837, 13205, 13573, 13942, 14310, 14678, 15047, 15415, 15784, 16151, 16520, 16887, 17257, 17625, 17993, 18361, 18730, 19098, 19466, 19835, 20203, 20572, 20939, 21308, 21675, 22045, 22412, 22781, 23148, 23518, 23885, 24254, 24621, 24990, 25360, 25727, 26096, 26463, 26833, 27200, 27569, 27936, 28305, 28673, 29042]] - 攻击次数2 = 1 - # 最后一击攻击力:% - data2 = [(i*1.15) for i in [0, 4950, 5452, 5955, 6456, 6958, 7461, 7963, 8466, 8967, 9469, 9972, 10474, 10977, 11479, 11981, 12483, 12985, 13488, 13989, 14491, 14994, 15496, 15999, 16501, 17003, 17506, 18008, 18510, 19011, 19513, 20016, 20518, 21021, 21523, 22025, 22528, 23030, 23533, 24033, 24535, 25038, 25540, 26043, 26545, 27047, 27550, 28052, 28555, 29056, 29558, 30060, 30562, 31065, 31567, 32069, 32572, 33074, 33576, 34078, 34580, 35083, 35585, 36087, 36589, 37091, 37594, 38096, 38598, 39100, 39602]] - 攻击次数3 = 1 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.10 - self.CD *= 0.88 - if x == 1: - self.倍率 *= 1.19 - self.CD *= 0.88 - - -class 技能10(职业主动技能): - 名称 = '狂龙怒啸' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 旋转攻击力:% - data0 = [(i*1.1813) for i in [0, 667, 735, 803, 870, 939, 1006, 1073, 1142, 1210, 1277, 1345, 1413, 1481, 1549, 1616, 1683, 1751, 1820, 1887, 1954, 2023, 2091, 2158, 2226, 2293, 2361, 2430, 2497, 2564, 2633, 2701, 2768, 2836, 2903, 2972, 3039, 3107, 3174, 3241, 3311, 3378, 3445, 3513, 3582, 3649, 3717, 3784, 3852, 3921, 3988, 4055, 4122, 4192, 4259, 4326, 4394, 4463, 4530, 4598, 4665, 4732, 4802, 4869, 4936, 5004, 5073, 5140, 5207, 5275, 5342]] - 攻击次数 = 15 - # 基础 = 8556.5625 - # 成长 = 968.4375 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1 - self.CD *= 0.76 - if x == 1: - self.倍率 *= 1.188 - self.CD *= 0.76 - - -class 技能11(职业主动技能): - 名称 = '夺命雷霆枪' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 近距离刺击攻击力:% - data0 = [(i*1.1199) for i in [0, 893, 984, 1074, 1166, 1256, 1345, 1436, 1527, 1618, 1708, 1799, 1890, 1980, 2071, 2162, 2252, 2344, 2434, 2524, 2616, 2705, 2796, 2886, 2977, 3068, 3158, 3250, 3340, 3430, 3522, 3612, 3702, 3794, 3883, 3975, 4065, 4155, 4246, 4337, 4428, 4518, 4608, 4700, 4790, 4880, 4972, 5062, 5153, 5243, 5333, 5424, 5515, 5606, 5696, 5787, 5878, 5968, 6060, 6150, 6240, 6332, 6422, 6511, 6602, 6693, 6784, 6874, 6965, 7056, 7146]] - 攻击次数 = 15 - # 引起受创效果的刺击攻击力:% - # data1 = [0, 850, 937, 1023, 1110, 1196, 1281, 1368, 1454, 1541, 1627, 1713, 1800, 1886, 1972, 2059, 2145, 2232, 2318, 2404, 2491, 2576, 2663, 2749, 2835, 2922, 3008, 3095, 3181, 3267, 3354, 3440, 3526, 3613, 3698, 3786, 3871, 3957, 4044, 4130, 4217, 4303, 4389, 4476, 4562, 4648, 4735, 4821, 4908, 4993, 5079, 5166, 5252, 5339, 5425, 5511, 5598, 5684, 5771, 5857, 5943, 6030, 6116, 6201, 6288, 6374, 6461, 6547, 6633, 6720, 6806] - # #每1次刺击对应的横斩攻击力:% - data1 = [(i*1.1199) for i in [0, 162, 179, 194, 211, 228, 245, 261, 277, 294, 310, 327, 343, 359, 376, 393, 410, 426, 442, 458, 475, 491, 508, 524, 541, 558, 574, 591, 606, 623, 639, 656, 673, 690, 706, 722, 739, 755, 772, 788, 804, 821, 838, 855, 870, 886, 903, 920, 937, 952, 969, 986, 1003, 1020, 1034, 1051, 1068, 1085, 1101, 1117, 1134, 1151, 1168, 1183, 1199, 1216, 1233, 1250, 1266, 1283, 1299]] - 攻击次数2 = 15 - # 最后横斩攻击力:% - data2 = [(i*1.1198) for i in [0, 9746, 10734, 11722, 12712, 13700, 14688, 15678, 16667, 17655, 18644, 19633, 20621, 21610, 22599, 23587, 24576, 25565, 26553, 27543, 28532, 29520, 30509, 31497, 32486, 33475, 34463, 35452, 36441, 37429, 38418, 39408, 40396, 41385, 42374, 43362, 44351, 45340, 46328, 47316, 48306, 49294, 50282, 51273, 52261, 53249, 54239, 55227, 56215, 57205, 58193, 59181, 60170, 61159, 62147, 63137, 64126, 65114, 66103, 67092, 68080, 69069, 70058, 71046, 72035, 73024, 74012, 75002, 75990, 76979, 77968]] - 攻击次数3 = 1 - # 基础 = 21869.8666666667 - # 成长 = 2472.13333333333 - CD = 47 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data2 = [(i * 1.65) for i in self.data2] - if x == 1: - self.data2 = [(i * 1.86) for i in self.data2] - - -class 技能12(被动技能): - 名称 = '行云:启' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.06 + 0.015 * self.等级, 5) - - -class 技能13(职业主动技能): - 名称 = '流云幻灭' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 43306.1 - # 成长 = 13091 - # 原数据是游戏数据的1.1倍,需要确认 - # 第一击攻击力:% - data0 = [(i*1.191) for i in [0, 964, 1188, 1411, 1635, 1858, 2081, 2305, 2529, 2752, 2976, 3200, 3424, 3647, 3871, 4094, 4317, 4541, 4765, 4988, 5212, 5436, 5660, 5883, 6106, 6330, 6553, 6777, 7001, 7224, 7448, 7672, 7896, 8119, 8342, 8566, - 8789, 9013, 9237, 9461, 9684, 9908, 10132, 10355, 10578, 10802, 11025, 11249, 11473, 11697, 11920, 12144, 12368, 12590, 12814, 13038, 13261, 13485, 13709, 13933, 14156, 14380, 14604, 14826, 15050, 15274, 15497, 15721, 15945, 16169, 16392]] - 攻击次数 = 1 - # 第2击攻击力:% - data1 = [(i*1.048) for i in [0, 2739, 3375, 4010, 4645, 5281, 5916, 6552, 7187, 7821, 8458, 9092, 9728, 10363, 10999, 11633, 12270, 12904, 13540, 14175, 14811, 15445, 16082, 16716, 17353, 17987, 18622, 19258, 19893, 20528, 21164, 21799, 22434, 23070, 23705, - 24340, 24976, 25611, 26247, 26882, 27517, 28153, 28788, 29423, 30059, 30694, 31329, 31964, 32600, 33234, 33871, 34505, 35142, 35776, 36412, 37047, 37683, 38317, 38954, 39588, 40224, 40859, 41495, 42129, 42766, 43400, 44035, 44671, 45306, 45942, 46577]] - 攻击次数2 = 1 - # 第3击攻击力:% - data2 = [(i*1.048) for i in [0, 3288, 4049, 4811, 5574, 6337, 7100, 7861, 8624, 9387, 10149, 10911, 11673, 12437, 13199, 13960, 14723, 15485, 16249, 17011, 17772, 18535, 19298, 20061, 20822, 21584, 22348, 23110, 23872, 24634, 25396, 26160, 26921, 27684, 28446, - 29210, 29972, 30733, 31496, 32259, 33022, 33783, 34545, 35308, 36071, 36833, 37595, 38357, 39121, 39883, 40645, 41407, 42170, 42933, 43694, 44457, 45219, 45982, 46744, 47506, 48269, 49032, 49795, 50556, 51318, 52082, 52844, 53605, 54368, 55130, 55894]] - 攻击次数3 = 1 - # 第4击攻击力:% - data3 = [(i*1.048) for i in [0, 3835, 4725, 5614, 6503, 7394, 8283, 9172, 10062, 10951, 11840, 12729, 13619, 14508, 15397, 16289, 17178, 18067, 18957, 19846, 20735, 21624, 22514, 23403, 24293, 25183, 26072, 26961, 27851, 28740, 29629, 30518, 31409, 32299, 33189, - 34078, 34967, 35856, 36746, 37635, 38524, 39414, 40304, 41193, 42083, 42972, 43861, 44752, 45641, 46530, 47419, 48310, 49199, 50088, 50978, 51867, 52756, 53645, 54535, 55424, 56314, 57204, 58094, 58983, 59873, 60762, 61651, 62541, 63430, 64320, 65210]] - 攻击次数4 = 1 - # 第5击攻击力:% - data4 = [(i*1.048) for i in [0, 4384, 5400, 6416, 7433, 8449, 9465, 10482, 11498, 12515, 13532, 14548, 15564, 16581, 17598, 18615, 19631, 20647, 21665, 22681, 23697, 24714, 25730, 26747, 27764, 28780, 29797, 30813, 31828, 32845, 33862, 34878, 35895, 36912, 37928, - 38945, 39961, 40977, 41995, 43011, 44027, 45044, 46060, 47078, 48094, 49110, 50127, 51143, 52160, 53177, 54193, 55209, 56227, 57243, 58258, 59275, 60291, 61307, 62325, 63341, 64358, 65374, 66390, 67408, 68424, 69440, 70457, 71474, 72490, 73507, 74523]] - 攻击次数5 = 1 - # 第6击攻击力:% - data5 = [(i*1.048) for i in [0, 1644, 2025, 2406, 2786, 3168, 3549, 3930, 4312, 4694, 5074, 5456, 5835, 6217, 6599, 6980, 7361, 7742, 8124, 8506, 8886, 9267, 9647, 10029, 10411, 10792, 11173, 11555, 11936, 12318, 12697, 13079, 13461, 13841, 14223, 14604, - 14985, 15367, 15747, 16128, 16509, 16891, 17273, 17653, 18035, 18416, 18797, 19178, 19559, 19941, 20322, 20703, 21085, 21465, 21847, 22229, 22608, 22990, 23371, 23753, 24134, 24515, 24897, 25276, 25658, 26040, 26420, 26802, 27184, 27565, 27946]] - 攻击次数6 = 3 - # 第7击攻击力:% - data6 = [(i*1.048) for i in [0, 4932, 6075, 7219, 8361, 9505, 10649, 11792, 12936, 14081, 15224, 16367, 17511, 18654, 19798, 20942, 22085, 23228, 24372, 25516, 26660, 27804, 28947, 30090, 31233, 32377, 33521, 34665, 35809, 36952, 38095, 39239, 40383, 41526, 42670, - 43813, 44956, 46100, 47245, 48388, 49532, 50676, 51818, 52962, 54106, 55249, 56393, 57538, 58680, 59824, 60967, 62111, 63255, 64398, 65541, 66685, 67828, 68973, 70117, 71260, 72403, 73547, 74690, 75834, 76978, 78121, 79265, 80408, 81552, 82696, 83839]] - 攻击次数7 = 1 - # 第8击攻击力:% - data7 = [(i*1.048) for i in [0, 5478, 6749, 8020, 9290, 10561, 11832, 13103, 14373, 15644, 16915, 18185, 19456, 20727, 21998, 23268, 24539, 25810, 27080, 28351, 29621, 30892, 32162, 33433, 34704, 35974, 37245, 38516, 39788, 41057, 42329, 43600, 44869, 46141, - 47412, 48683, 49953, 51224, 52495, 53763, 55035, 56306, 57577, 58847, 60118, 61389, 62659, 63930, 65201, 66472, 67742, 69013, 70284, 71555, 72825, 74096, 75367, 76636, 77907, 79178, 80449, 81719, 82990, 84261, 85531, 86802, 88073, 89344, 90614, 91885, 93156]] - 攻击次数8 = 1 - # 斗气长枪攻击力:% - data8 = [(i*1.191) for i in [0, 24110, 29702, 38820, 44971, 51121, 57271, 63421, 69571, 75721, 81871, 88022, 94171, 100321, 106472, 112621, 118773, 124922, 131070, 137222, 143371, 149520, 155672, 161821, 167971, 174122, 180271, 186422, 192572, 198722, 204872, 211023, 217172, 223322, 229473, - 235622, 241773, 247923, 254072, 260223, 266373, 272524, 278673, 284823, 290974, 297123, 303272, 309424, 315572, 321723, 327873, 334022, 340173, 346323, 352473, 358624, 364774, 370923, 377074, 383224, 389373, 395525, 401674, 407823, 413975, 420124, 426273, 432425, 438574, 444725, 450875]] - 攻击次数9 = 1 - CD = 145 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - 等效倍率 += self.data0[self.等级] * self.攻击次数 - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - 等效倍率 += self.data7[self.等级] * self.攻击次数8 - 等效倍率 += self.data8[self.等级] * self.攻击次数9 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(职业主动技能): - 名称 = '风火燎原' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [(i*1.1489) for i in [0, 1283, 1413, 1545, 1675, 1805, 1935, 2065, 2196, 2326, 2456, 2585, 2715, 2846, 2976, 3106, 3236, 3366, 3498, 3628, 3758, 3888, 4018, 4149, 4279, 4409, 4539, 4669, 4800, 4930, 5060, 5190, 5320, 5451, 5582, 5712, 5842, 5972, 6103, 6233, 6363, 6493, 6623, 6754, 6884, 7014, 7144, 7274, 7405, 7535, 7666, 7796, 7926, 8057, 8187, 8317, 8447, 8576, 8707, 8837, 8967, 9097, 9227, 9358, 9488, 9619, 9749, 9879, 10010, 10140, 10270]] - 攻击次数 = 20 - # 基础 = 21959.0909090909 - # 成长 = 2480.90909090909 - CD = 30.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.275 - if x == 1: - self.倍率 *= 1.365 - - -class 技能15(职业主动技能): - 名称 = '三一斩月' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 枪身攻击力:% - data0 = [(i*1.1707) for i in [0, 667, 734, 801, 868, 936, 1004, 1072, 1139, 1208, 1275, 1342, 1409, 1476, 1546, 1613, 1680, 1748, 1815, 1883, 1950, 2018, 2086, 2154, 2221, 2289, 2356, 2423, 2491, 2560, 2627, 2694, 2762, 2830, 2897, 2964, 3033, 3101, 3168, 3235, 3302, 3371, 3438, 3506, 3574, 3641, 3709, 3776, 3843, 3911, 3980, 4047, 4115, 4182, 4249, 4317, 4385, 4452, 4520, 4587, 4656, 4723, 4790, 4857, 4926, 4994, 5061, 5128, 5196, 5264, 5331]] - # [三一斩月]攻击力:% - data1 = [(i*1.1707) for i in [0, 4081, 4495, 4910, 5324, 5738, 6152, 6567, 6980, 7395, 7809, 8224, 8637, 9051, 9466, 9879, 10294, 10708, 11123, 11536, 11951, 12365, 12779, 13193, 13607, 14022, 14435, 14850, 15264, 15677, 16091, 16505, 16920, 17333, 17748, 18162, 18577, 18990, 19405, 19819, 20232, 20647, 21061, 21476, 21889, 22304, 22718, 23133, 23546, 23960, 24375, 24788, 25203, 25617, 26032, 26445, 26860, 27274, 27689, 28102, 28516, 28931, 29344, 29759, 30173, 30588, 31001, 31414, 31829, 32242, 32657]] - 攻击次数2 = 8 - # 基础 = 28510.88235 - # 成长 = 3220.117647 - CD = 50.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - if x == 1: - self.倍率 *= 1.31 - - -class 技能16(职业主动技能): - 名称 = '无双突刺' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 第1~2击攻击力:% - data0 = [(i*1.1236) for i in [0, 3398, 3743, 4088, 4433, 4779, 5122, 5467, 5813, 6157, 6502, 6846, 7191, 7537, 7880, 8226, 8571, 8916, 9261, 9604, 9950, 10295, 10640, 10985, 11330, 11674, 12019, 12364, 12708, 13054, 13398, 13743, 14089, 14432, 14778, 15122, 15468, 15813, 16156, 16502, 16847, 17192, 17536, 17880, 18226, 18571, 18915, 19260, 19606, 19950, 20295, 20639, 20984, 21330, 21674, 22020, 22364, 22708, 23054, 23398, 23743, 24088, 24432, 24778, 25123, 25467, 25812, 26157, 26502, 26847, 27191]] - 攻击次数 = 2 - # 第3~4击攻击力:% - # data1 = [0, 20418, 22489, 24562, 26633, 28704, 30776, 32847, 34918, 36991, 39062, 41133, 43204, 45276, 47347, 49419, 51491, 53562, 55633, 57705, 59776, 61848, 63920, 65991, 68062, 70133, 72205, 74277, 76348, 78420, 80491, 82562, 84634, 86706, 88777, 90849, 92920, 94991, 97062, 99135, 101206, 103277, 105349, 107420, 109491, 111564, 113635, 115706, 117778, 119849, 121920, 123993, 126064, 128135, 130207, 132278, 134349, 136422, 138493, 140564, 142635, 144707, 146778, 148850, 150922, 152993, 155064, 157136, 159207, 161279, 163351] - # 第3~4击枪尾攻击力:% - data1 = [(i*1.1238) for i in [0, 24053, 26495, 28934, 31375, 33815, 36255, 38696, 41136, 43577, 46016, 48456, 50898, 53338, 55777, 58218, 60659, 63100, 65539, 67979, 70420, 72860, 75300, 77741, 80181, 82620, 85062, 87502, 89942, 92382, 94822, 97264, 99703, 102143, 104584, 107024, 109465, 111905, 114345, 116785, 119225, 121666, 124107, 126546, 128987, 131427, 133868, 136308, 138748, 141188, 143628, 146069, 148510, 150950, 153389, 155831, 158271, 160710, 163151, 165591, 168033, 170472, 172912, 175353, 177793, 180233, 182674, 185114, 187553, 189994, 192435]] - 攻击次数2 = 2 - # 基础 = 46982.8 - # 成长 = 5305.2 - CD = 33.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.data1 = [(i*1.45) for i in self.data1] - self.CD *= 0.9 - # self.倍率 *= 1.27049 - - -class 技能17(被动技能): - 名称 = '行云:冥' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.16 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '流光无影闪' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 52609.8333333333 - # 成长 = 5940.16666666667 - # 突进攻击力:% - data0 = [(i*1.1341) for i in [0, 5532, 6094, 6655, 7216, 7778, 8339, 8900, 9462, 10023, 10585, 11146, 11706, 12269, 12830, 13391, 13952, 14514, 15075, 15637, 16197, 16760, 17321, 17882, 18443, 19005, 19566, 20127, 20688, 21250, 21812, 22372, 22933, 23496, 24057, 24618, 25179, 25741, 26303, 26863, 27424, 27987, 28547, 29108, 29670, 30231, 30793, 31354, 31915, 32478, 33038, 33599, 34161, 34721, 35283, 35845, 36406, 36967, 37529, 38090, 38652, 39212, 39774, 40336, 40896, 41457, 42020, 42581, 43141, 43703, 44265]] - 攻击次数 = 1 - # 终结攻击力:% - data1 = [(i*1.1341) for i in [0, 55945, 61621, 67297, 72973, 78649, 84324, 90000, 95676, 101351, 107027, 112702, 118379, 124054, 129730, 135406, 141081, 146756, 152434, 158109, 163784, 169461, 175136, 180811, 186486, 192163, 197838, 203514, 209190, 214866, 220541, 226217, 231893, 237568, 243245, 248920, 254596, 260271, 265947, 271622, 277298, 282975, 288650, 294326, 300002, 305677, 311352, 317029, 322704, 328380, 334055, 339732, 345407, 351082, 356759, 362434, 368109, 373786, 379462, 385137, 390813, 396488, 402164, 407839, 413516, 419192, 424867, 430543, 436218, 441894, 447570]] - 攻击次数2 = 1 - CD = 44 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - # 算法待定,加还是乘 - self.倍率 *= 1.2*1.14 - self.CD *= 0.88 - - -class 技能19(职业主动技能): - 名称 = '极影无形杀' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 第1次刺击攻击力:% - data0 = [(i*1.1231) for i in [0, 13262, 16337, 19411, 22487, 25562, 28639, 31714, 34790, 37864, 40940, 44015, 47090, 50166, 53240, 56316, 59391, 62467, 65542, 68616, 71692, 74767, 77843, 80918, 83994, 87068, 90144, 93220, 96296, 99371, 102445, 105521, 108596, 111672, 114747, 117822, 120897, 123972, 127048, 130123, 133198, 136273, 139349, 142424, 145500, 148575, 151649, 154726, 157801, 160877, 163952, 167027, 170102, 173178, 176253, 179328, 182403, 185478, 188554, 191629, 194705, 197780, 200855, 203930, 207005, 210081, 213157, 216231, 219307, 222383, 225458]] - # 乱舞斩击攻击力:% - data1 = [(i*1.1231) for i in [0, 7368, 9076, 10784, 12493, 14201, 15911, 17619, 19326, 21036, 22744, 24452, 26161, 27869, 29577, 31287, 32995, 34703, 36412, 38120, 39830, 41537, 43245, 44955, 46663, 48371, 50080, 51788, 53496, 55206, 56914, 58622, 60331, 62039, 63749, 65456, 67164, 68874, 70582, 72290, 73999, 75707, 77415, 79125, 80833, 82542, 84250, 85958, 87668, 89375, 91083, 92793, 94501, 96209, 97918, 99626, 101336, 103044, 104751, 106461, 108169, 109877, 111587, 113294, 115002, 116712, 118420, 120129, 121837, 123545, 125255]] - 攻击次数2 = 7 - # 乱舞刺击攻击力:% - data2 = [(i*1.1231) for i in [0, 2946, 3631, 4313, 4997, 5681, 6364, 7047, 7731, 8414, 9097, 9781, 10464, 11147, 11831, 12514, 13197, 13881, 14565, 15247, 15932, 16614, 17298, 17981, 18665, 19347, 20032, 20714, 21399, 22082, 22765, 23449, 24132, 24815, 25499, 26182, 26865, 27550, 28232, 28916, 29600, 30283, 30966, 31650, 32333, 33016, 33700, 34383, 35066, 35750, 36433, 37116, 37800, 38484, 39166, 39851, 40533, 41218, 41900, 42584, 43267, 43951, 44633, 45318, 46001, 46684, 47368, 48051, 48734, 49418, 50101]] - 攻击次数3 = 17 - # 最后一击攻击力:% - data3 = [(i*1.1231) for i in [0, 32418, 39936, 47454, 54971, 62488, 70006, 77523, 85041, 92556, 100074, 107592, 115109, 122627, 130144, 137661, 145179, 152697, 160214, 167731, 175249, 182766, 190284, 197802, 205318, 212836, 220353, 227871, 235388, 242905, 250423, 257941, 265458, 272975, 280493, 288010, 295528, 303046, 310562, 318080, 325598, 333115, 340632, 348149, 355667, 363185, 370701, 378218, 385736, 393253, 400771, 408289, 415805, 423323, 430841, 438358, 445875, 453393, 460910, 468428, 475946, 483462, 490980, 498497, 506015, 513533, 521049, 528567, 536085, 543602, 551119]] - 攻击次数4 = 1 - - # 基础 = 107737 - # 成长 = 32553 - CD = 180 - - -class 技能20(被动技能): - 名称 = '一身是胆' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '双龙流云灭' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.1533) for i in [0, 34351, 37836, 41321, 44806, 48291, 51776, 55261, 58746, 62231, 65716, 69201, 72686, 76171, 79655, 83140, 86625, 90110, 93595, 97080, 100565, 104050, 107535, 111020, 114505, 117990, 121474, 124959, 128444, 131929, 135414, 138899, 142384, 145869, 149354, 152839, 156324, 159809, 163293, 166778, 170263, 173748, 177233, 180718, 184203, 187688, 191173, 194658, 198143, 201628, 205112, 208597, 212082, 215567, 219053, 222538, 226023, 229508, 232993, 236478, 239963, 243448, 246932, 250417, 253902, 257387, 260872, 264357, 267842, 271327, 274812]] - 攻击次数 = 3 - data1 =[int(i*1.1533) for i in [0, 5725, 6306, 6887, 7468, 8048, 8629, 9210, 9791, 10372, 10953, 11533, 12114, 12695, 13276, 13857, 14437, 15018, 15599, 16180, 16761, 17342, 17922, 18503, 19084, 19665, 20246, 20826, 21407, 21988, 22569, 23150, 23731, 24312, 24892, 25473, 26054, 26635, 27216, 27796, 28377, 28958, 29539, 30120, 30701, 31281, 31862, 32443, 33024, 33605, 34185, 34766, 35347, 35928, 36509, 37090, 37670, 38251, 38832, 39413, 39994, 40575, 41155, 41736, 42317, 42898, 43479, 44059, 44640, 45221, 45802]] - 攻击次数2 = 1 - CD = 60.0 - - - -class 技能22(职业主动技能): - 名称 = '问鼎·千军破云' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - - data0 =[int(i*1.1486) for i in [0, 44586, 54924, 65263, 75602, 85941, 96279, 106618, 116957, 127296, 137634, 147973, 158312, 168651, 178989, 189328, 199666, 210005, 220344, 230683, 241021, 251360, 261699, 272038, 282376, 292715, 303054, 313393, 323731, 334070, 344409, 354748, 365086, 375425, 385764, 396103, 406441, 416780, 427119, 437458, 447796, 458135, 468474, 478812, 489151, 499490, 509828, 520167, 530506, 540845, 551183, 561522, 571861, 582200, 592538, 602877, 613216, 623555, 633893, 644232, 654571, 664910, 675248, 685587, 695926, 706265, 716603, 726942, 737280, 747619, 757958]] - 攻击次数 = 1 - data1 = [int(i*1.1486) for i in [0, 26751, 32955, 39158, 45361, 51564, 57768, 63971, 70174, 76377, 82581, 88784, 94987, 101190, 107394, 113597, 119800, 126003, 132206, 138410, 144613, 150816, 157019, 163223, 169426, 175629, 181832, 188036, 194239, 200442, 206645, 212849, 219052, 225255, 231458, 237662, 243865, 250068, 256271, 262475, 268678, 274881, 281084, 287287, 293491, 299694, 305897, 312100, 318304, 324507, 330710, 336913, 343117, 349320, 355523, 361726, 367930, 374133, 380336, 386539, 392743, 398946, 405149, 411352, 417555, 423759, 429962, 436165, 442368, 448572, 454775]] - 攻击次数2 = 5 - data2 = [int(i*1.1486) for i in [0, 66878, 82387, 97895, 113403, 128911, 144419, 159927, 175435, 190943, 206451, 221960, 237468, 252976, 268484, 283991, 299500, 315008, 330516, 346024, 361532, 377040, 392548, 408056, 423565, 439073, 454581, 470089, 485597, 501105, 516613, 532121, 547629, 563138, 578646, 594154, 609662, 625170, 640678, 656186, 671694, 687203, 702711, 718218, 733726, 749234, 764743, 780251, 795759, 811267, 826775, 842283, 857791, 873299, 888808, 904316, 919824, 935332, 950840, 966348, 981856, 997364, 1012872, 1028381, 1043889, 1059397, 1074905, 1090413, 1105921, 1121429, 1136937]] - 攻击次数3 = 4 - - 关联技能 = ['无'] - CD = 290.0 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '千魂·决战者' - 角色 = '魔枪士' - 职业 = '决战者' - - 武器选项 = ['长枪'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - - x = self.技能栏[12].加成倍率(self.武器类型) - self.技能栏[2].被动倍率 *= (0.025 + x) / x - self.技能栏[3].被动倍率 *= (0.020 + x) / x - self.技能栏[4].被动倍率 *= (0.015 + x) / x - - y = self.技能栏[17].加成倍率(self.武器类型) - for i in [1, 2, 3, 4]: - self.技能栏[i].被动倍率 *= (0.01 + y) / y - - -class 千魂·决战者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/千魂·征战者.py b/Characters/千魂·征战者.py deleted file mode 100644 index b79552a6..00000000 --- a/Characters/千魂·征战者.py +++ /dev/null @@ -1,514 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # def 等效CD(self, 武器类型): - # 战戟1.1 - # return round(self.CD / self.恢复 * 1.1, 1) - - -class 技能0(被动技能): - 名称 = '战戟精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - return 1.0 - - def 武器倍率(self): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + 0.02 * self.等级, 5) - - -# 霸王戟=猛攻 有TP0.1 -class 技能1(被动技能): - 名称 = '战戟猛攻' - 所在等级 = 25 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1 + 0.005 * self.等级, 5) - else: - return round(1.1 + 0.02 * (self.等级 - 20), 5) - - def 物理攻击力倍率进图(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能2(被动技能): - 名称 = '战戟之魂' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '战神之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - -# 霸王机吃精通吗? - - -class 技能4(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能5(职业主动技能): - 名称 = '霸王戟' - 所在等级 = 25 - 等级上限 = 1 - 基础等级 = 1 - 是否主动 = 0 - data0 = [(i*1.0) for i in [0, 2578, 2890, 3202, 3514, 3825, 4137, 4449, 4761, 5072, 5384, 5696, 6008, 6319, - 6631, 6943, 7255, 7566, 7878, 8190, 8501, 8813, 9125, 9437, 9748, 10060, 10372, 10684, 10995, 11307, 11619]] - 攻击次数 = 1 - # 基础 = 2281 - # 成长 = 311 - CD = 0.5 - TP成长 = 0.10 - TP上限 = 5 - -# 果体测试就2段+1段 - - -class 技能6(职业主动技能): - 名称 = '破军突击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 基础 = 2476 #2585 3次 #测试只有2段+1 - # 成长 = 291 #307 - data0 = [(i*1.2045) for i in [0, 156, 172, 189, 205, 221, 236, 252, 269, 285, 300, 316, 332, 349, 364, 380, 396, 412, 428, 444, 460, 476, 491, 508, 524, 540, 555, 571, 588, 604, 620, 635, 651, 668, 684, 699, 715, 731, 747, 763, 779, 795, 811, 826, 843, 859, 875, 890, 906, 923, 939, 954, 970, 986, 1003, 1019, 1034, 1050, 1066, 1083, 1098, 1114, 1130, 1146, 1162, 1178, 1194, 1210, 1225, 1242, 1258]] - 攻击次数 = 2 - data1 = [(i*1.2045) for i in [0, 2673, 2944, 3215, 3487, 3758, 4029, 4301, 4572, 4843, 5115, 5385, 5656, 5928, 6199, 6470, 6741, 7013, 7284, 7555, 7827, 8098, 8369, 8640, 8911, 9182, 9454, 9725, 9996, 10268, 10539, 10810, 11081, 11353, 11624, 11894, 12166, 12437, 12708, 12980, 13251, 13522, 13794, 14065, 14336, 14608, 14879, 15149, 15420, 15692, 15963, 16234, 16506, 16777, 17048, 17320, 17591, 17862, 18134, 18404, 18675, 18947, 19218, 19489, 19761, 20032, 20303, 20574, 20846, 21117, 21387]] - 攻击次数2 = 1 - CD = 5 - # TP成长 = 0.10 - # TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '追魂斩' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 3172 - # 成长 = 360 - data0 = [(i*1.2033) for i in [0, 1861, 2050, 2239, 2428, 2617, 2805, 2994, 3183, 3372, 3561, 3750, 3939, 4127, 4316, 4505, 4694, 4883, 5072, 5259, 5448, 5637, 5826, 6015, 6204, 6393, 6581, 6770, 6959, 7148, 7337, 7526, 7714, 7903, 8092, 8281, 8470, 8659, 8848, 9036, 9225, 9414, 9603, 9792, 9981, 10169, 10358, 10547, 10736, 10925, 11114, 11302, 11491, 11680, 11869, 12058, 12247, 12436, 12624, 12813, 13002, 13191, 13380, 13569, 13757, 13946, 14135, 14324, 14513, 14702, 14891]] - 攻击次数 = 2 - - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '落月斩' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [(i*1.2252) for i in [0, 5002, 5509, 6017, 6525, 7032, 7539, 8047, 8554, 9062, 9570, 10077, 10584, 11091, 11599, 12107, 12614, 13122, 13629, 14136, 14644, 15152, 15659, 16167, 16674, 17181, 17689, 18197, 18704, 19212, 19719, 20226, 20734, 21242, 21749, 22257, 22764, 23271, 23778, 24287, 24794, 25301, 25809, 26316, 26823, 27332, 27839, 28346, 28854, 29361, 29868, 30377, 30884, 31391, 31899, 32406, 32913, 33422, 33929, 34436, 34943, 35451, 35958, 36465, 36974, 37481, 37988, 38496, 39003, 39510, 40019]] - 攻击次数 = 1 - # 基础 = 4292 - # 成长 = 483 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '冷血突刺' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 刺击攻击力:% - data0 = [(i*1.2033) for i in [0, 6000, 6609, 7218, 7827, 8436, 9044, 9653, 10262, 10871, 11479, 12088, 12697, 13306, 13914, 14523, 15132, 15741, 16350, 16958, 17567, 18176, 18785, 19392, 20001, 20610, 21219, 21828, 22436, 23045, 23654, 24263, 24871, 25480, 26089, 26698, 27306, 27915, 28524, 29133, 29742, 30350, 30959, 31568, 32177, 32785, 33394, 34003, 34612, 35221, 35829, 36438, 37047, 37656, 38264, 38873, 39482, 40091, 40699, 41308, 41917, 42526, 43135, 43743, 44352, 44961, 45570, 46178, 46787, 47396, 48005]] - # 每1次旋风打击的攻击力:% - data1 = [(i*1.2033) for i in [0, 666, 734, 801, 869, 937, 1005, 1072, 1139, 1208, 1275, 1343, 1410, 1478, 1546, 1613, 1681, 1748, 1817, 1884, 1951, 2019, 2086, 2155, 2222, 2290, 2357, 2424, 2493, 2560, 2628, 2695, 2763, 2831, 2898, 2966, 3033, 3102, 3169, 3236, 3304, 3372, 3440, 3507, 3575, 3642, 3710, 3778, 3845, 3913, 3981, 4048, 4116, 4183, 4251, 4319, 4387, 4454, 4521, 4590, 4657, 4725, 4792, 4859, 4928, 4995, 5063, 5130, 5199, 5266, 5333]] - 攻击次数2 = 6 - # 基础 = 8672 - # 成长 = 963 - CD = 16 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - elif x == 1: - self.倍率 *= 1.29 - - -class 技能10(职业主动技能): - 名称 = '破灭斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [(i*1.2029) for i in [0, 8270, 9110, 9949, 10788, 11627, 12466, 13305, 14144, 14982, 15821, 16660, 17500, 18339, 19178, 20017, 20856, 21695, 22534, 23373, 24212, 25052, 25891, 26730, 27569, 28408, 29247, 30086, 30925, 31764, 32603, 33443, 34281, 35120, 35959, 36798, 37637, 38476, 39315, 40154, 40994, 41833, 42672, 43511, 44350, 45189, 46028, 46867, 47706, 48545, 49385, 50224, 51063, 51902, 52740, 53579, 54418, 55257, 56096, 56936, 57775, 58614, 59453, 60292, 61131, 61970, 62809, 63648, 64488, 65327, 66166]] - # 基础 = 7081 - # 成长 = 799 - CD = 14 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '夺命乱舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 10134 - # 成长 = 1133 - # 每1次横斩的攻击力:% - data0 = [(i*1.2023) for i in [0, 685, 755, 824, 894, 963, 1033, 1103, 1172, 1241, 1311, 1381, 1450, 1519, 1590, 1659, 1728, 1798, 1868, 1937, 2007, 2076, 2146, 2216, 2285, 2354, 2424, 2494, 2563, 2632, 2703, 2772, 2841, 2911, 2980, 3050, 3120, 3189, 3258, 3329, 3398, 3467, 3536, 3607, 3676, 3745, 3815, 3885, 3954, 4024, 4093, 4163, 4233, 4302, 4371, 4442, 4511, 4580, 4649, 4720, 4789, 4858, 4928, 4998, 5067, 5137, 5206, 5275, 5346, 5415, 5484]] - 攻击次数 = 12 - # 最后一击攻击力:% - data1 = [(i*1.2023) for i in [0, 3526, 3883, 4241, 4599, 4956, 5314, 5672, 6029, 6387, 6745, 7102, 7460, 7818, 8175, 8533, 8891, 9248, 9606, 9965, 10322, 10680, 11038, 11395, 11753, 12111, 12469, 12826, 13184, 13542, 13899, 14257, 14615, 14972, 15330, 15688, 16045, 16403, 16761, 17118, 17476, 17834, 18191, 18549, 18907, 19264, 19622, 19980, 20337, 20696, 21054, 21411, 21769, 22127, 22484, 22842, 23200, 23557, 23915, 24273, 24631, 24988, 25346, 25704, 26061, 26419, 26777, 27134, 27492, 27850, 28207]] - 攻击次数2 = 1 - CD = 18 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - elif x == 1: - self.倍率 *= 1.36 - - -class 技能12(职业主动技能): - 名称 = '横扫八荒' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 18970 - # 成长 = 2130 - # 每1次旋转横斩的攻击力:% - data0 = [(i*1.2035) for i in [0, 1545, 1701, 1859, 2015, 2171, 2328, 2485, 2642, 2798, 2956, 3112, 3269, 3425, 3583, 3739, 3896, 4053, 4209, 4366, 4522, 4680, 4836, 4993, 5150, 5307, 5463, 5620, 5777, 5934, 6090, 6248, 6404, 6560, 6717, 6874, 7031, 7187, 7345, 7501, 7658, 7814, 7972, 8128, 8285, 8442, 8598, 8755, 8911, 9069, 9225, 9382, 9539, 9696, 9852, 10010, 10166, 10323, 10479, 10637, 10793, 10949, 11107, 11263, 11420, 11576, 11734, 11890, 12047, 12204, 12361]] - 攻击次数 = 9 - # 最后一击攻击力:% - data1 = [(i*1.2035) for i in [0, 8167, 8995, 9824, 10652, 11481, 12309, 13138, 13966, 14795, 15623, 16451, 17281, 18109, 18938, 19766, 20595, 21423, 22252, 23080, 23909, 24737, 25565, 26394, 27223, 28052, 28880, 29709, 30537, 31366, 32194, 33023, 33851, 34679, 35508, 36337, 37166, 37994, 38823, 39651, 40480, 41308, 42137, 42965, 43793, 44622, 45450, 46280, 47108, 47937, 48765, 49594, 50422, 51251, 52079, 52907, 53736, 54564, 55393, 56222, 57051, 57879, 58708, 59536, 60365, 61193, 62021, 62850, 63678, 64507, 65336]] - 攻击次数2 = 1 - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2587 - elif x == 1: - self.倍率 *= 1.4187 - - -class 技能13(职业主动技能): - 名称 = '长虹贯日' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 17551 - # 成长 = 1979 - # 刺击攻击力:% - data0 = [(i*1.2049) for i in [0, 6147, 6770, 7394, 8018, 8642, 9265, 9889, 10513, 11136, 11759, 12383, 13006, 13630, 14254, 14877, 15501, 16125, 16749, 17372, 17996, 18620, 19243, 19867, 20491, 21114, 21737, 22361, 22985, 23608, 24232, 24856, 25479, 26103, 26727, 27350, 27974, 28598, 29222, 29845, 30469, 31092, 31715, 32339, 32963, 33586, 34210, 34834, 35457, 36081, 36705, 37329, 37952, 38576, 39200, 39823, 40447, 41070, 41693, 42317, 42941, 43565, 44188, 44812, 45436, 46059, 46683, 47307, 47930, 48554, 49178]] - # 最后一击攻击力:% - data1 = [(i*1.2049) for i in [0, 14343, 15798, 17254, 18709, 20163, 21618, 23074, 24529, 25984, 27440, 28895, 30349, 31805, 33260, 34715, 36170, 37626, 39081, 40535, 41991, 43446, 44901, 46356, 47812, 49267, 50721, 52177, 53632, 55087, 56543, 57998, 59452, 60907, 62363, 63818, 65273, 66729, 68184, 69638, 71093, 72549, 74004, 75459, 76915, 78370, 79824, 81279, 82735, 84190, 85645, 87101, 88556, 90010, 91466, 92921, 94376, 95831, 97287, 98741, 100196, 101652, 103107, 104562, 106017, 107473, 108927, 110382, 111838, 113293, 114748]] - 攻击次数2 = 1 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.232 - self.CD *=0.9 - elif x == 1: - self.倍率 *= 1.323 - self.CD *=0.9 - -# 下劈中了,就不中冲击波。下劈。冲击波不计算伤害 - - -class 技能14(职业主动技能): - 名称 = '穿云裂地斩-下劈' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 下劈攻击力:% - data0 = [(i*1.2097) for i in [0, 39459, 43463, 47466, 51469, 55473, 59475, 63479, 67481, 71485, 75488, 79491, 83495, 87498, 91501, 95504, 99507, 103510, 107514, 111516, 115520, 119524, 123526, 127530, 131532, 135536, 139539, 143542, 147545, 151549, 155552, 159555, 163559, 167561, 171565, 175567, 179571, 183574, 187577, 191581, 195584, 199587, 203590, 207593, 211596, 215600, 219602, 223606, 227610, 231612, 235616, 239618, 243622, 247625, 251628, 255631, 259635, 263638, 267641, 271644, 275647, 279651, 283653, 287657, 291660, 295663, 299667, 303669, 307673, 311676, 315679]] - # 冲击波攻击力:% - data1 = [(i*1.2097) for i in [0, 35303, 38885, 42466, 46048, 49629, 53211, 56792, 60374, 63956, 67537, 71119, 74699, 78281, 81862, 85444, 89025, 92607, 96188, 99770, 103352, 106933, 110515, 114096, 117678, 121259, 124841, 128422, 132004, 135585, 139167, 142749, 146330, 149912, 153493, 157075, 160656, 164238, 167819, 171400, 174981, 178563, 182145, 185726, 189308, 192889, 196471, 200052, 203634, 207215, 210797, 214379, 217960, 221542, 225123, 228705, 232286, 235868, 239449, 243031, 246612, 250194, 253776, 257357, 260939, 264520, 268102, 271682, 275264, 278845, 282427]] - 攻击次数2 = 0 - # 基础 = 33760 #125368 - # 成长 = 3813 #3813 - # 冲击波 - #基础= 30210 - #成长 = 3411 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - elif x == 1: - self.倍率 *= 1.30 - - -class 技能15(职业主动技能): - 名称 = '破灭轮回刺' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 基础 = 43816 - # 成长 = 4948 - # 旋转斩击攻击力:% - data0 = [(i*1.21) for i in [0, 5121, 5640, 6159, 6679, 7199, 7718, 8237, 8757, 9277, 9795, 10315, 10835, 11355, 11874, 12393, 12913, 13433, 13952, 14471, 14991, 15511, 16030, 16549, 17069, 17589, 18108, 18628, 19147, 19667, 20186, 20706, 21225, 21744, 22264, 22784, 23303, 23822, 24342, 24862, 25382, 25900, 26420, 26940, 27460, 27978, 28498, 29018, 29538, 30057, 30576, 31096, 31616, 32135, 32654, 33174, 33693, 34213, 34732, 35252, 35771, 36291, 36811, 37330, 37849, 38369, 38889, 39408, 39927, 40447, 40967]] - 攻击次数 = 2 - # 最后一击攻击力:% - data1 = [(i*1.21) for i in [0, 40967, 45123, 49279, 53435, 57590, 61746, 65903, 70059, 74215, 78371, 82527, 86683, 90840, 94996, 99152, 103307, 107463, 111619, 115776, 119932, 124088, 128244, 132400, 136556, 140713, 144869, 149024, 153180, 157336, 161492, 165649, 169805, 173961, 178117, 182273, 186429, 190586, 194741, 198897, 203053, 207209, 211365, 215522, 219678, 223834, 227990, 232146, 236301, 240458, 244614, 248770, 252926, 257082, 261238, 265394, 269551, 273707, 277863, 282018, 286174, 290330, 294487, 298643, 302799, 306955, 311111, 315267, 319424, 323580, 327735]] - 攻击次数2 = 1 - CD = 40 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -class 技能16(职业主动技能): - 名称 = '断魂裂岩斩' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 48000 - # 成长 = 5433 - # 斩击攻击力:% - data0 = [(i*1.2243) for i in [0, 44942, 49501, 54060, 58619, 63180, 67739, 72298, 76857, 81417, 85976, 90535, 95094, 99654, 104214, 108773, 113332, 117892, 122451, 127010, 131569, 136129, 140688, 145248, 149807, 154367, 158926, 163485, 168044, 172604, 177163, 181722, 186282, 190842, 195401, 199960, 204519, 209079, 213638, 218197, 222756, 227317, 231876, 236435, 240994, 245554, 250113, 254672, 259231, 263792, 268351, 272910, 277469, 282029, 286588, 291147, 295706, 300266, 304826, 309385, 313944, 318504, 323063, 327622, 332181, 336741, 341300, 345860, 350419, 354979, 359538]] - 攻击次数 = 1 - # 多段打击攻击力:% - data1 = [(i*1.2243) for i in [0, 1124, 1237, 1351, 1465, 1579, 1693, 1807, 1920, 2035, 2149, 2263, 2377, 2491, 2605, 2718, 2833, 2946, 3061, 3175, 3289, 3403, 3516, 3631, 3744, 3859, 3972, 4087, 4201, 4314, 4429, 4542, 4657, 4770, 4885, 4998, 5112, 5227, 5340, 5455, 5568, 5683, 5796, 5910, 6024, 6138, 6253, 6366, 6481, 6594, 6708, 6822, 6936, 7050, 7164, 7279, 7392, 7506, 7620, 7734, 7848, 7962, 8076, 8190, 8304, 8418, 8532, 8646, 8760, 8874, 8988]] - 攻击次数2 = 10 - CD = 45 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - - -class 技能17(职业主动技能): - 名称 = '千魂弑' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 下劈攻击力:% - data0 = [(i*1.21) for i in [0, 12030, 14820, 17610, 20399, 23189, 25979, 28768, 31558, 34348, 37137, 39927, 42717, 45507, 48296, 51086, 53876, 56665, 59455, 62245, 65035, 67824, 70614, 73403, 76193, 78983, 81773, 84563, 87352, 90141, 92931, 95721, 98511, 101301, 104091, 106880, 109669, 112459, 115249, 118039, 120829, 123619, 126407, 129197, 131987, 134777, 137567, 140357, 143147, 145935, 148725, 151515, 154305, 157095, 159885, 162674, 165464, 168253, 171043, 173833, 176623, 179412, 182202, 184992, 187781, 190571, 193361, 196151, 198940, 201730, 204520]] - 攻击次数 = 1 - # 最后一击攻击力:% - data1 = [(i*1.21) for i in [0, 48122, 59281, 70439, 81599, 92757, 103916, 115075, 126233, 137393, 148551, 159710, 170869, 182028, 193186, 204346, 215504, 226662, 237822, 248980, 260140, 271298, 282457, 293616, 304774, 315933, 327092, 338251, 349410, 360569, 371727, 382887, 394045, 405203, 416363, 427521, 438681, 449839, 460998, 472157, 483316, 494474, 505633, 516792, 527951, 539110, 550268, 561428, 572586, 583744, 594904, 606062, 617222, 628380, 639539, 650698, 661857, 673015, 684174, 695333, 706491, 717651, 728809, 739969, 751127, 762286, 773445, 784603, 795762, 806921, 818080]] - 攻击次数2 = 1 - # 基础 = 44019 - # 成长 = 13283 - CD = 145 - - -class 技能18(职业主动技能): - 名称 = '血战天狱' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 第1~4击攻击力:% - data0 = [(i*1.2097) for i in [0, 18639, 22961, 27283, 31605, 35928, 40250, 44571, 48894, 53216, 57538, 61861, 66183, 70504, 74827, 79149, 83471, 87794, 92115, 96438, 100760, 105082, 109405, 113727, 118048, 122371, 126693, 131015, 135338, 139659, 143981, 148304, 152626, 156948, 161271, 165592, 169914, 174237, 178559, 182881, 187203, 191525, 195848, 200170, 204492, 208815, 213136, 217458, 221781, 226103, 230425, 234747, 239069, 243391, 247714, 252036, 256358, 260680, 265002, 269324, 273647, 277969, 282290, 286613, 290935, 295258, 299580, 303902, 308224, 312546, 316868]] - 攻击次数 = 4 - # 最后一击攻击力:% - data1 = [(i*1.2097) for i in [0, 74557, 91846, 109134, 126423, 143711, 161000, 178289, 195577, 212867, 230155, 247443, 264732, 282021, 299310, 316598, 333886, 351176, 368464, 385753, 403041, 420330, 437619, 454907, 472197, 489485, 506773, 524062, 541351, 558639, 575928, 593216, 610506, 627794, 645082, 662372, 679660, 696949, 714237, 731526, 748815, 766103, 783392, 800681, 817969, 835258, 852546, 869836, 887124, 904412, 921702, 938990, 956278, 973567, 990856, 1008145, 1025433, 1042721, 1060011, 1077299, 1094588, 1111877, 1129165, 1146454, 1163742, 1181032, 1198320, 1215608, 1232897, 1250186, 1267475]] - 攻击次数2 = 1 - # 基础 = 109081 - # 成长 = 32931 - CD = 180 - - -class 技能19(被动技能): - 名称 = '灭天之魂' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能20(职业主动技能): - 名称 = '镇狱裂地枪' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.2009) for i in [0, 36241, 39918, 43594, 47271, 50948, 54624, 58301, 61977, 65654, 69330, 73008, 76685, 80361, 84038, 87714, 91391, 95068, 98744, 102421, 106097, 109774, 113451, 117128, 120805, 124481, 128158, 131835, 135511, 139188, 142864, 146541, 150217, 153894, 157571, 161247, 164925, 168601, 172278, 175955, 179631, 183308, 186984, 190661, 194338, 198014, 201691, 205367, 209045, 212722, 216398, 220075, 223751, 227428, 231104, 234781, 238458, 242134, 245811, 249487, 253164, 256842, 260518, 264195, 267871, 271548, 275225, 278901, 282578, 286254, 289931]] - 攻击次数 = 1 - data1 = [int(i*1.2009) for i in [0, 84563, 93141, 101721, 110299, 118879, 127457, 136036, 144615, 153194, 161772, 170352, 178931, 187510, 196089, 204667, 213247, 221825, 230405, 238983, 247562, 256141, 264720, 273298, 281878, 290456, 299036, 307614, 316193, 324772, 333351, 341929, 350509, 359087, 367667, 376245, 384824, 393404, 401982, 410561, 419140, 427719, 436298, 444877, 453455, 462035, 470613, 479192, 487771, 496350, 504929, 513508, 522086, 530666, 539244, 547823, 556402, 564981, 573560, 582139, 590717, 599297, 607875, 616455, 625034, 633612, 642192, 650770, 659349, 667928, 676507]] - 攻击次数2 = 1 - CD = 60.0 - - -class 技能21(职业主动技能): - 名称 = '天劫·斗灭乾坤' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - 关联技能 = ['无'] - CD = 290.0 - data0 = [int(i*1.2124) for i in [0, 410289, 505428, 600566, 695706, 790845, 885985, 981125, 1076264, 1171403, 1266543, 1361682, 1456821, 1551961, 1647099, 1742239, 1837379, 1932519, 2027658, 2122798, 2217936, 2313075, 2408215, 2503354, 2598495, 2693634, 2788773, 2883912, 2979052, 3074191, 3169331, 3264470, 3359608, 3454749, 3549888, 3645028, 3740167, 3835306, 3930445, 4025585, 4120724, 4215864, 4311004, 4406142, 4501282, 4596421, 4691561, 4786700, 4881839, 4976978, 5072118, 5167258, 5262397, 5357536, 5452675, 5547815, 5642954, 5738094, 5833234, 5928372, 6023512, 6118651, 6213791, 6308930, 6404070, 6499208, 6594349, 6689488, 6784628, 6879767, 6974906]] - 攻击次数 = 1 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '千魂·征战者' - 角色 = '魔枪士' - 职业 = '征战者' - - 武器选项 = ['战戟'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.80 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - # 霸王戟等级 = 战戟猛攻等级 - self.技能栏[self.技能序号['霸王戟']].等级 = self.技能栏[self.技能序号['战戟猛攻']].等级 - self.物理攻击力 = int((self.物理攻击力 - 65) * - self.技能栏[self.技能序号['战戟精通']].武器倍率() + 65) - super().被动倍率计算() - - def 伤害指数计算(self): - self.进图物理攻击力 = int((self.进图物理攻击力 - 40) * - self.技能栏[self.技能序号['战戟精通']].武器倍率() + 40) - super().伤害指数计算() - - -class 千魂·征战者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/千魂·暗枪士.py b/Characters/千魂·暗枪士.py deleted file mode 100644 index 81c6f403..00000000 --- a/Characters/千魂·暗枪士.py +++ /dev/null @@ -1,615 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '暗蚀' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 自定义描述 = 1 - 关联技能 = ['双重投射', '暗矛投射', '暗矛贯穿', '绝望枪', '暗蚀螺旋枪', '连锁侵蚀', - '坠蚀之雨', '暗蚀爆雷杀', '黑蚀酷刑', '冥夜裂空', '冥蚀脉冲', '虚空碎灭'] - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return round(self.等级 * 4 + 30) - - def 加成倍率(self, 武器类型): - return 1.2 - - def 技能描述(self, 武器类型): - temp = '暗属性强化增加:{}
'.format(self.等级 * 4 + 30) - temp += '黑雷技能额外伤害比率:20%' - return temp - - -class 技能1(职业主动技能): - 名称 = '侵蚀之矛' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [(i*1.085*1.0) for i in [0, 2431, 2678, 2925, 3171, 3418, 3665, 3912, 4158, 4405, 4652, 4898, 5145, 5392, 5638, 5885, 6132, 6379, 6625, 6872, 7119, 7365, 7612, 7859, 8105, 8352, 8599, 8846, 9092, 9339, 9586, 9832, 10079, 10326, 10572, 10819, 11066, 11313, 11559, 11806, 12053, 12299, 12546, 12793, 13040, 13286, 13533, 13780, 14026, 14273, 14520, 14766, 15013, 15260, 15507, 15753, 16000, 16247, 16493, 16740, 16987, 17233, 17480, 17727, 17974, 18220, 18467, 18714, 18960, 19207, 19454]] - 攻击次数 = 1 - # 基础 = 1607.71111111111 - # 成长 = 181.644444444444 - CD = 5 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '双重投射' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1633.33333333333 - # 成长 = 184.666666666667 - data0 = [(i*1.085*1.0) for i in [0, 1235, 1361, 1486, 1612, 1737, 1862, 1988, 2113, 2238, 2364, 2489, 2615, 2740, 2865, 2991, 3116, 3241, 3367, 3492, 3618, 3743, 3868, 3994, 4119, 4245, 4370, 4495, 4621, 4746, 4871, 4997, 5122, 5248, 5373, 5498, 5624, 5749, 5874, 6000, 6125, 6251, 6376, 6501, 6627, 6752, 6877, 7003, 7128, 7254, 7379, 7504, 7630, 7755, 7881, 8006, 8131, 8257, 8382, 8507, 8633, 8758, 8884, 9009, 9134, 9260, 9385, 9510, 9636, 9761, 9887]] - 攻击次数 = 2 - # 被动倍率 = 1.2 - CD = 6 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能3(被动技能): - 名称 = '暗矛精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1 + 0.01 * self.等级, 5) - else: - return round(0.8 + 0.02 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能4(职业主动技能): - 名称 = '暗矛投射' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [(i*1.085*1.0) for i in [0, 778, 857, 935, 1014, 1093, 1172, 1251, 1330, 1409, 1488, 1567, 1646, 1725, 1804, 1883, 1962, 2041, 2120, 2199, 2277, 2356, 2435, 2514, 2593, 2672, 2751, 2830, 2909, 2988, 3067, 3146, 3225, 3304, 3383, 3462, 3540, 3619, 3698, 3777, 3856, 3935, 4014, 4093, 4172, 4251, 4330, 4409, 4488, 4567, 4646, 4725, 4803, 4882, 4961, 5040, 5119, 5198, 5277, 5356, 5435, 5514, 5593, 5672, 5751, 5830, 5909, 5988, 6066, 6145, 6224]] - 攻击次数 = 4 - # 基础 = 2059.2380952381 - # 成长 = 232.380952380952 - # 被动倍率 = 1.2 - CD = 7 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能5(职业主动技能): - 名称 = '黑暗枪雨' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 4060.68292682927 - # 成长 = 459.317073170732 - data0 = [(i*1.085*1.0) for i in [0, 768, 846, 924, 1002, 1080, 1158, 1236, 1314, 1392, 1470, 1548, 1626, 1704, 1782, 1860, 1938, 2016, 2094, 2172, 2250, 2328, 2406, 2484, 2562, 2640, 2718, 2796, 2874, 2952, 3030, 3108, 3186, 3264, 3342, 3420, 3498, 3576, 3654, 3732, 3810, 3888, 3966, 4044, 4122, 4200, 4278, 4356, 4434, 4512, 4590, 4668, 4746, 4824, 4902, 4980, 5058, 5136, 5214, 5292, 5370, 5448, 5526, 5604, 5682, 5760, 5838, 5916, 5994, 6072, 6150]] - 攻击次数 = 8 - CD = 12 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '暗矛贯穿' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 魔枪贯穿攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 1513, 1666, 1820, 1973, 2127, 2280, 2434, 2587, 2741, 2894, 3048, 3201, 3355, 3508, 3662, 3815, 3969, 4122, 4276, 4429, 4582, 4736, 4889, 5043, 5196, 5350, 5503, 5657, 5810, 5964, 6117, 6271, 6424, 6578, 6731, 6885, 7038, 7192, 7345, 7499, 7652, 7806, 7959, 8113, 8266, 8420, 8573, 8727, 8880, 9034, 9187, 9341, 9494, 9648, 9801, 9955, 10108, 10262, 10415, 10569, 10722, 10876, 11029, 11183, 11336, 11490, 11643, 11797, 11950, 12104]] - # 冲击波攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 2258, 2487, 2717, 2946, 3175, 3404, 3633, 3862, 4091, 4321, 4550, 4779, 5008, 5237, 5466, 5695, 5925, 6154, 6383, 6612, 6841, 7070, 7300, 7529, 7758, 7987, 8216, 8445, 8674, 8904, 9133, 9362, 9591, 9820, 10049, 10278, 10508, 10737, 10966, 11195, 11424, 11653, 11883, 12112, 12341, 12570, 12799, 13028, 13257, 13487, 13716, 13945, 14174, 14403, 14632, 14861, 15091, 15320, 15549, 15778, 16007, 16236, 16465, 16695, 16924, 17153, 17382, 17611, 17840, 18070]] - 攻击次数2 = 1 - # 基础 = 2380.175 - # 成长 = 268.825 - # 被动倍率 = 1.2 - CD = 8 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能7(被动技能): - 名称 = '暗枪突破' - 所在等级 = 30 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.09 + 0.01 * self.等级, 5) - - -class 技能8(职业主动技能): - 名称 = '黑蚀葬礼' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 黑暗之枪爆炸攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 2046, 2254, 2461, 2669, 2877, 3084, 3292, 3499, 3707, 3915, 4122, 4330, 4537, 4745, 4953, 5160, 5368, 5576, 5783, 5991, 6198, 6406, 6614, 6821, 7029, 7236, 7444, 7652, 7859, 8067, 8275, 8482, 8690, 8897, 9105, 9313, 9520, 9728, 9936, 10143, 10351, 10558, 10766, 10974, 11181, 11389, 11596, 11804, 12012, 12219, 12427, 12635, 12842, 13050, 13257, 13465, 13673, 13880, 14088, 14296, 14503, 14711, 14918, 15126, 15334, 15541, 15749, 15956, 16164, 16372]] - # 黑雷枪爆炸攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 3069, 3381, 3692, 4004, 4315, 4626, 4938, 5249, 5561, 5872, 6184, 6495, 6806, 7118, 7429, 7741, 8052, 8364, 8675, 8986, 9298, 9609, 9921, 10232, 10544, 10855, 11166, 11478, 11789, 12101, 12412, 12724, 13035, 13346, 13658, 13969, 14281, 14592, 14904, 15215, 15526, 15838, 16149, 16461, 16772, 17084, 17395, 17706, 18018, 18329, 18641, 18952, 19264, 19575, 19886, 20198, 20509, 20821, 21132, 21444, 21755, 22066, 22378, 22689, 23001, 23312, 23624, 23935, 24246, 24558]] - 攻击次数2 = 1 - # 基础 = 3477.21621621622 - # 成长 = 392.783783783784 - # 被动倍率 = 1.116465014 - CD = 10 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - 等效倍率 += self.data0[self.等级] * self.攻击次数 - # 暗雷系 - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(职业主动技能): - 名称 = '绝望枪' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 投掷魔枪攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 518, 571, 623, 676, 729, 781, 834, 887, 939, 992, 1045, 1097, 1150, 1202, 1255, 1308, 1360, 1413, 1466, 1518, 1571, 1623, 1676, 1729, 1781, 1834, 1887, 1939, 1992, 2044, 2097, 2150, 2202, 2255, 2308, 2360, 2413, 2465, 2518, 2571, 2623, 2676, 2729, 2781, 2834, 2886, 2939, 2992, 3044, 3097, 3150, 3202, 3255, 3307, 3360, 3413, 3465, 3518, 3571, 3623, 3676, 3728, 3781, 3834, 3886, 3939, 3992, 4044, 4097, 4149]] - 攻击次数 = 9 - # 基础 = 3089.43243243243 - # 成长 = 348.567567567568 - # 被动倍率 = 1.2 - CD = 8 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '暗蚀螺旋枪' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 5703.11428571429 - # 成长 = 645.885714285714 - # 多段攻击力:% x 20 - data0 = [(i*1.085*1.0) for i in [0, 272, 300, 327, 355, 383, 410, 438, 466, 493, 521, 549, 576, 604, 631, 659, 687, 714, 742, 770, 797, 825, 853, 880, 908, 936, 963, 991, 1019, 1046, 1074, 1102, 1129, 1157, 1184, 1212, 1240, 1267, 1295, 1323, 1350, 1378, 1406, 1433, 1461, 1489, 1516, 1544, 1572, 1599, 1627, 1655, 1682, 1710, 1737, 1765, 1793, 1820, 1848, 1876, 1903, 1931, 1959, 1986, 2014, 2042, 2069, 2097, 2125, 2152, 2180]] - 攻击次数 = 20 - # 爆炸攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 3192, 3516, 3840, 4163, 4487, 4811, 5135, 5459, 5783, 6107, 6430, 6754, 7078, 7402, 7726, 8050, 8373, 8697, 9021, 9345, 9669, 9993, 10317, 10640, 10964, 11288, 11612, 11936, 12260, 12584, 12907, 13231, 13555, 13879, 14203, 14527, 14851, 15174, 15498, 15822, 16146, 16470, 16794, 17118, 17441, 17765, 18089, 18413, 18737, 19061, 19385, 19708, 20032, 20356, 20680, 21004, 21328, 21652, 21975, 22299, 22623, 22947, 23271, 23595, 23919, 24242, 24566, 24890, 25214, 25538]] - 攻击次数2 = 1 - # 被动倍率 = 1.2 - CD = 18 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - elif x == 1: - self.倍率 *= 1.25 + 0.09 - - -class 技能11(职业主动技能): - 名称 = '连锁侵蚀' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 浓缩黑雷攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 3113, 3429, 3745, 4060, 4376, 4692, 5008, 5324, 5640, 5955, 6271, 6587, 6903, 7219, 7535, 7851, 8166, 8482, 8798, 9114, 9430, 9746, 10061, 10377, 10693, 11009, 11325, 11641, 11957, 12272, 12588, 12904, 13220, 13536, 13852, 14168, 14483, 14799, 15115, 15431, 15747, 16063, 16378, 16694, 17010, 17326, 17642, 17958, 18274, 18589, 18905, 19221, 19537, 19853, 20169, 20484, 20800, 21116, 21432, 21748, 22064, 22380, 22695, 23011, 23327, 23643, 23959, 24275, 24590, 24906]] - # 持续伤害攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 778, 857, 936, 1015, 1094, 1173, 1252, 1331, 1410, 1488, 1567, 1646, 1725, 1804, 1883, 1962, 2041, 2120, 2199, 2278, 2357, 2436, 2515, 2594, 2673, 2752, 2831, 2910, 2989, 3068, 3147, 3226, 3305, 3384, 3463, 3542, 3620, 3699, 3778, 3857, 3936, 4015, 4094, 4173, 4252, 4331, 4410, 4489, 4568, 4647, 4726, 4805, 4884, 4963, 5042, 5121, 5200, 5279, 5358, 5437, 5516, 5595, 5673, 5752, 5831, 5910, 5989, 6068, 6147, 6226]] - 攻击次数2 = 6 - # 基础 = 4925.65714285714 - # 成长 = 556.342857142857 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能12(职业主动技能): - 名称 = '坠蚀之雨' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 6881.875 - # 成长 = 778.125 - CD = 22 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - data0 = [(i*1.085*1.0) for i in [0, 520, 573, 626, 679, 732, 785, 838, 890, 943, 996, 1049, 1102, 1155, 1207, 1260, 1313, 1366, 1419, 1472, 1525, 1577, 1630, 1683, 1736, 1789, 1842, 1894, 1947, 2000, 2053, 2106, 2159, 2212, 2264, 2317, 2370, 2423, 2476, 2529, 2581, 2634, 2687, 2740, 2793, 2846, 2899, 2951, 3004, 3057, 3110, 3163, 3216, 3268, 3321, 3374, 3427, 3480, 3533, 3586, 3638, 3691, 3744, 3797, 3850, 3903, 3955, 4008, 4061, 4114, 4167]] - 攻击次数 = 20 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 2 - self.data1 = [(i*1.085*3.6) for i in self.data0] - self.攻击次数2 = 1 - # self.倍率 *= 1.28 - elif x == 1: - self.data0 = [(i*1.085*1.09) for i in self.data0] - self.攻击次数 += 2 - self.data1 = [(i*1.085*3.6) for i in self.data0] - self.攻击次数2 = 1 - # self.倍率 *= 1.3952 - - -class 技能13(职业主动技能): - 名称 = '暗蚀爆雷杀' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 12367.6 - # 成长 = 1396.4 - # 被动倍率 = 1.2 - # 贯穿攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 6734, 7417, 8100, 8784, 9467, 10150, 10833, 11516, 12200, 12883, 13566, 14249, 14932, 15616, 16299, 16982, 17665, 18348, 19032, 19715, 20398, 21081, 21764, 22448, 23131, 23814, 24497, 25180, 25864, 26547, 27230, 27913, 28597, 29280, 29963, 30646, 31329, 32013, 32696, 33379, 34062, 34745, 35429, 36112, 36795, 37478, 38161, 38845, 39528, 40211, 40894, 41577, 42261, 42944, 43627, 44310, 44993, 45677, 46360, 47043, 47726, 48409, 49093, 49776, 50459, 51142, 51825, 52509, 53192, 53875]] - # 冲击波攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 4744, 5225, 5707, 6188, 6669, 7151, 7632, 8113, 8595, 9076, 9557, 10039, 10520, 11001, 11483, 11964, 12445, 12927, 13408, 13889, 14370, 14852, 15333, 15814, 16296, 16777, 17258, 17740, 18221, 18702, 19184, 19665, 20146, 20628, 21109, 21590, 22072, 22553, 23034, 23516, 23997, 24478, 24960, 25441, 25922, 26404, 26885, 27366, 27848, 28329, 28810, 29292, 29773, 30254, 30736, 31217, 31698, 32180, 32661, 33142, 33623, 34105, 34586, 35067, 35549, 36030, 36511, 36993, 37474, 37955]] - 攻击次数2 = 1 - # 爆炸攻击力:% - data2 = [(i*1.085*1.0) for i in [0, 7217, 7949, 8681, 9414, 10146, 10878, 11610, 12342, 13075, 13807, 14539, 15271, 16003, 16736, 17468, 18200, 18932, 19665, 20397, 21129, 21861, 22593, 23326, 24058, 24790, 25522, 26254, 26987, 27719, 28451, 29183, 29915, 30648, 31380, 32112, 32844, 33576, 34309, 35041, 35773, 36505, 37238, 37970, 38702, 39434, 40166, 40899, 41631, 42363, 43095, 43827, 44560, 45292, 46024, 46756, 47488, 48221, 48953, 49685, 50417, 51149, 51882, 52614, 53346, 54078, 54810, 55543, 56275, 57007, 57739]] - 攻击次数3 = 1 - CD = 40 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.24 + 0.08 - self.CD *= 0.9 - - -class 技能14(被动技能): - 名称 = '黑暗支配者' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '无尽侵蚀:缚魂' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 黑暗之枪攻击力:% x 15 - data0 = [(i*1.085*1.0) for i in [0, 1710, 2107, 2504, 2900, 3297, 3694, 4090, 4487, 4884, 5280, 5677, 6074, 6470, 6867, 7264, 7660, 8057, 8454, 8850, 9247, 9644, 10041, 10437, 10834, 11231, 11627, 12024, 12421, 12817, 13214, 13611, 14007, 14404, 14801, 15197, 15594, 15991, 16387, 16784, 17181, 17578, 17974, 18371, 18768, 19164, 19561, 19958, 20354, 20751, 21148, 21544, 21941, 22338, 22734, 23131, 23528, 23924, 24321, 24718, 25115, 25511, 25908, 26305, 26701, 27098, 27495, 27891, 28288, 28685, 29081]] - 攻击次数 = 15 - # 爆炸攻击力:% x 10 - 黑雷系 - data1 = [(i*1.085*1.0) for i in [0, 3136, 3863, 4590, 5318, 6045, 6772, 7499, 8227, 8954, 9681, 10408, 11136, 11863, 12590, 13317, 14045, 14772, 15499, 16226, 16954, 17681, 18408, 19135, 19863, 20590, 21317, 22044, 22772, 23499, 24226, 24953, 25681, 26408, 27135, 27862, 28590, 29317, 30044, 30771, 31499, 32226, 32953, 33680, 34408, 35135, 35862, 36589, 37317, 38044, 38771, 39498, 40226, 40953, 41680, 42407, 43135, 43862, 44589, 45316, 46044, 46771, 47498, 48225, 48953, 49680, 50407, 51134, 51862, 52589, 53316]] - 攻击次数2 = 10 - # 基础 = 32105 - # 成长 = 9745 - # 被动倍率 = 1.1 - CD = 145 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - 等效倍率 += self.data0[self.等级] * self.攻击次数 - # 暗雷系 - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(职业主动技能): - 名称 = '暗影蚀魂' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [(i*1.085*1.0) for i in [0, 19909, 21929, 23949, 25969, 27988, 30008, 32028, 34048, 36068, 38087, 40107, 42127, 44147, 46167, 48187, 50206, 52226, 54246, 56266, 58286, 60305, 62325, 64345, 66365, 68385, 70405, 72424, 74444, 76464, 78484, 80504, 82523, 84543, 86563, 88583, 90603, 92623, 94642, 96662, 98682, 100702, 102722, 104741, 106761, 108781, 110801, 112821, 114841, 116860, 118880, 120900, 122920, 124940, 126959, 128979, 130999, 133019, 135039, 137059, 139078, 141098, 143118, 145138, 147158, 149177, 151197, 153217, 155237, 157257, 159277]] - # 基础 = 13168.1363636364 - # 成长 = 1486.86363636364 - CD = 30 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - elif x == 1: - self.倍率 *= 1.27 + 0.09 - - -class 技能17(职业主动技能): - 名称 = '黑蚀酷刑' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 20123.2941176471 - # 成长 = 2272.70588235294 - # 被动倍率 = 1.2 - # 巨大魔枪攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 6202, 6831, 7460, 8089, 8719, 9348, 9977, 10606, 11235, 11865, 12494, 13123, 13752, 14381, 15011, 15640, 16269, 16898, 17527, 18157, 18786, 19415, 20044, 20673, 21303, 21932, 22561, 23190, 23820, 24449, 25078, 25707, 26336, 26966, 27595, 28224, 28853, 29482, 30112, 30741, 31370, 31999, 32628, 33258, 33887, 34516, 35145, 35774, 36404, 37033, 37662, 38291, 38921, 39550, 40179, 40808, 41437, 42067, 42696, 43325, 43954, 44583, 45213, 45842, 46471, 47100, 47729, 48359, 48988, 49617]] - # 小型魔枪攻击力:% - data1 = [(i*1.085*1.0) for i in [0, 1550, 1707, 1865, 2022, 2179, 2337, 2494, 2651, 2808, 2966, 3123, 3280, 3438, 3595, 3752, 3910, 4067, 4224, 4381, 4539, 4696, 4853, 5011, 5168, 5325, 5483, 5640, 5797, 5955, 6112, 6269, 6426, 6584, 6741, 6898, 7056, 7213, 7370, 7528, 7685, 7842, 7999, 8157, 8314, 8471, 8629, 8786, 8943, 9101, 9258, 9415, 9572, 9730, 9887, 10044, 10202, 10359, 10516, 10674, 10831, 10988, 11145, 11303, 11460, 11617, 11775, 11932, 12089, 12247, 12404]] - 攻击次数2 = 10 - # 爆炸攻击力:% - data2 = [(i*1.085*1.0) for i in [0, 8720, 9605, 10489, 11374, 12259, 13143, 14028, 14913, 15798, 16682, 17567, 18452, 19336, 20221, 21106, 21990, 22875, 23760, 24644, 25529, 26414, 27298, 28183, 29068, 29953, 30837, 31722, 32607, 33491, 34376, 35261, 36145, 37030, 37915, 38799, 39684, 40569, 41453, 42338, 43223, 44108, 44992, 45877, 46762, 47646, 48531, 49416, 50300, 51185, 52070, 52954, 53839, 54724, 55608, 56493, 57378, 58263, 59147, 60032, 60917, 61801, 62686, 63571, 64455, 65340, 66225, 67109, 67994, 68879, 69764]] - 攻击次数3 = 1 - CD = 45 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.倍率 *= 2.42 - # self.倍率 *= 1.186843623 - self.CD *= 0.9 - elif x == 1: - self.攻击次数2 = 0 - self.倍率 *= 2.58 - # self.倍率 *= 1.265312237 - self.CD *= 0.9 - - -class 技能18(被动技能): - 名称 = '黑暗本源' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能19(职业主动技能): - 名称 = '冥夜裂空' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [(i*1.085*1.0) for i in [0, 2470, 2720, 2971, 3221, 3472, 3722, 3973, 4224, 4474, 4725, 4975, 5226, 5476, 5727, 5978, 6228, 6479, 6729, 6980, 7231, 7481, 7732, 7982, 8233, 8483, 8734, 8985, 9235, 9486, 9736, 9987, 10238, 10488, 10739, 10989, 11240, 11490, 11741, 11992, 12242, 12493, 12743, 12994, 13245, 13495, 13746, 13996, 14247, 14497, 14748, 14999, 15249, 15500, 15750, 16001, 16251, 16502, 16753, 17003, 17254, 17504, 17755, 18006, 18256, 18507, 18757, 19008, 19258, 19509, 19760]] - 攻击次数 = 20 - # 基础 = 32649.3333333333 - # 成长 = 3690.66666666667 - # 被动倍率 = 1.2 - CD = 40 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - - -class 技能20(职业主动技能): - 名称 = '冥蚀脉冲' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 37386.1666666667 - # 成长 = 4222.83333333333 - # 被动倍率 = 1.2 - # 黑暗气息攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 5654, 6227, 6801, 7375, 7948, 8522, 9095, 9669, 10243, 10816, 11390, 11963, 12537, 13111, 13684, 14258, 14832, 15405, 15979, 16552, 17126, 17700, 18273, 18847, 19420, 19994, 20568, 21141, 21715, 22288, 22862, 23436, 24009, 24583, 25157, 25730, 26304, 26877, 27451, 28025, 28598, 29172, 29745, 30319, 30893, 31466, 32040, 32614, 33187, 33761, 34334, 34908, 35482, 36055, 36629, 37202, 37776, 38350, 38923, 39497, 40071, 40644, 41218, 41791, 42365, 42939, 43512, 44086, 44659, 45233]] - # 地面射出的黑雷枪攻击力:% x 8 - data1 = [(i*1.085*1.0) for i in [0, 2968, 3269, 3570, 3871, 4173, 4474, 4775, 5076, 5377, 5678, 5979, 6281, 6582, 6883, 7184, 7485, 7786, 8087, 8389, 8690, 8991, 9292, 9593, 9894, 10195, 10497, 10798, 11099, 11400, 11701, 12002, 12304, 12605, 12906, 13207, 13508, 13809, 14110, 14412, 14713, 15014, 15315, 15616, 15917, 16218, 16520, 16821, 17122, 17423, 17724, 18025, 18326, 18628, 18929, 19230, 19531, 19832, 20133, 20434, 20736, 21037, 21338, 21639, 21940, 22241, 22543, 22844, 23145, 23446, 23747]] - 攻击次数2 = 8 - # 爆炸攻击力:% - data2 = [(i*1.085*1.0) for i in [0, 27140, 29893, 32646, 35400, 38153, 40906, 43660, 46413, 49166, 51920, 54673, 57426, 60180, 62933, 65686, 68440, 71193, 73946, 76700, 79453, 82207, 84960, 87713, 90467, 93220, 95973, 98727, 101480, 104233, 106987, 109740, 112493, 115247, 118000, 120753, 123507, 126260, 129013, 131767, 134520, 137273, 140027, 142780, 145533, 148287, 151040, 153793, 156547, 159300, 162054, 164807, 167560, 170314, 173067, 175820, 178574, 181327, 184080, 186834, 189587, 192340, 195094, 197847, 200600, 203354, 206107, 208860, 211614, 214367, 217120]] - 攻击次数3 = 1 - CD = 45 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.32 - self.CD *= 0.9 - - -class 技能21(职业主动技能): - 名称 = '幽影暗蚀:寂灭' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 黑暗气息攻击力:% - data0 = [(i*1.085*1.0) for i in [0, 5834, 7187, 8540, 9893, 11246, 12599, 13951, 15304, 16657, 18010, 19363, 20716, 22069, 23422, 24775, 26128, 27481, 28834, 30186, 31539, 32892, 34245, 35598, 36951, 38304, 39657, 41010, 42363, 43716, 45069, 46421, 47774, 49127, 50480, 51833, 53186, 54539, 55892, 57245, 58598, 59951, 61304, 62656, 64009, 65362, 66715, 68068, 69421, 70774, 72127, 73480, 74833, 76186, 77539, 78891, 80244, 81597, 82950, 84303, 85656, 87009, 88362, 89715, 91068, 92421, 93774, 95126, 96479, 97832, 99185]] - # 爆炸攻击力:% 暗雷系 - data1 = [(i*1.085*1.0) for i in [0, 110854, 136560, 162265, 187970, 213676, 239381, 265087, 290792, 316497, 342203, 367908, 393614, 419319, 445024, 470730, 496435, 522141, 547846, 573552, 599257, 624962, 650668, 676373, 702079, 727784, 753489, 779195, 804900, 830606, 856311, 882016, 907722, 933427, 959133, 984838, 1010544, 1036249, 1061954, 1087660, 1113365, 1139070, 1164776, 1190481, 1216187, 1241892, 1267598, 1293303, 1319009, 1344714, 1370419, 1396125, 1421830, 1447536, 1473241, 1498946, 1524652, 1550357, 1576063, 1601768, 1627474, 1653179, 1678884, 1704590, 1730295, 1756000, 1781706, 1807411, 1833117, 1858822, 1884527]] - 攻击次数2 = 1 - # 基础 = 65823.8674698795 - # 成长 = 19946.6265060241 - # 被动倍率 = 1.186269717 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - 等效倍率 += self.data0[self.等级] * self.攻击次数 - # 暗雷系 - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - CD = 180 - - -class 技能22(被动技能): - 名称 = '暗源之蚀' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能23(职业主动技能): - 名称 = '虚空碎灭' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085) for i in [0, 32746, 36068, 39390, 42712, 46034, 49356, 52679, 56001, 59323, 62645, 65967, 69289, 72611, 75933, 79255, 82578, 85900, 89222, 92544, 95866, 99188, 102510, 105832, 109154, 112476, 115799, 119121, 122443, 125765, 129087, 132409, 135731, 139053, 142375, 145698, 149020, 152342, 155664, 158986, 162308, 165630, 168952, 172274, 175596, 178919, 182241, 185563, 188885, 192207, 195529, 198851, 202173, 205495, 208818, 212140, 215462, 218784, 222106, 225428, 228750, 232072, 235394, 238716, 242039, 245361, 248683, 252005, 255327, 258649, 261971]] - 攻击次数 = 1 - data1 = [int(i*1.085) for i in [0, 935, 1030, 1125, 1220, 1315, 1410, 1505, 1600, 1694, 1789, 1884, 1979, 2074, 2169, 2264, 2359, 2454, 2549, 2644, 2739, 2833, 2928, 3023, 3118, 3213, 3308, 3403, 3498, 3593, 3688, 3783, 3878, 3972, 4067, 4162, 4257, 4352, 4447, 4542, 4637, 4732, 4827, 4922, 5017, 5111, 5206, 5301, 5396, 5491, 5586, 5681, 5776, 5871, 5966, 6061, 6156, 6250, 6345, 6440, 6535, 6630, 6725, 6820, 6915, 7010, 7105, 7200, 7295, 7389, 7484]] - 攻击次数2 = 20 - data2 = [int(i*1.085) for i in [0, 42102, 46373, 50645, 54916, 59187, 63458, 67730, 72001, 76272, 80544, 84815, 89086, 93357, 97629, 101900, 106171, 110443, 114714, 118985, 123256, 127528, 131799, 136070, 140341, 144613, 148884, 153155, 157427, 161698, 165969, 170240, 174512, 178783, 183054, 187326, 191597, 195868, 200139, 204411, 208682, 212953, 217224, 221496, 225767, 230038, 234310, 238581, 242852, 247123, 251395, 255666, 259937, 264209, 268480, 272751, 277022, 281294, 285565, 289836, 294108, 298379, 302650, 306921, 311193, 315464, 319735, 324006, 328278, 332549, 336820]] - 攻击次数3 = 1 - CD = 60.0 - - - -# 贯穿攻击力 -# 旋转攻击力 -# 爆炸攻击力 - - -class 技能24(职业主动技能): - 名称 = '暗·渊灭禁绝' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - # 暗蚀之枪 - data0 = [int(i*1.085) for i in [0, 11766, 14495, 17224, 19952, 22681, 25409, 28138, 30867, 33595, 36324, 39052, 41781, 44509, 47238, 49967, 52695, 55424, 58152, 60881, 63609, 66338, 69067, 71795, 74524, 77252, 79981, 82710, 85438, 88167, 90895, 93624, 96352, 99081, 101810, 104538, 107267, 109995, 112724, 115452, 118181, 120910, 123638, 126367, 129095, 131824, 134553, 137281, 140010, 142738, 145467, 148195, 150924, 153653, 156381, 159110, 161838, 164567, 167295, 170024, 172753, 175481, 178210, 180938, 183667, 186395, 189124, 191853, 194581, 197310, 200038]] - 攻击次数 = 12 - # 暗雷系 - # 黑雷之枪 - data1 = [int(i*1.085) for i in [0, 26475, 32615, 38754, 44893, 51032, 57172, 63311, 69450, 75590, 81729, 87868, 94008, 100147, 106286, 112425, 118565, 124704, 130843, 136983, 143122, 149261, 155401, 161540, 167679, 173818, 179958, 186097, 192236, 198376, 204515, 210654, 216794, 222933, 229072, 235211, 241351, 247490, 253629, 259769, 265908, 272047, 278187, 284326, 290465, 296604, 302744, 308883, 315022, 321162, 327301, 333440, 339580, 345719, 351858, 357997, 364137, 370276, 376415, 382555, 388694, 394833, 400973, 407112, 413251, 419390, 425530, 431669, 437808, 443948, 450087]] - 攻击次数2 = 8 - CD = 290.0 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - 等效倍率 += self.data0[self.等级] * self.攻击次数 - # 暗雷系 - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * 1.2 - return 等效倍率 * self.倍率 - -# 暗蚀之枪攻击力 -# 黑雷之枪攻击力 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '千魂·暗枪士' - 角色 = '魔枪士' - 职业 = '暗枪士' - - 武器选项 = ['暗矛'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.93 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - self.暗属性强化 += self.技能栏[self.技能序号["暗蚀"]].属强加成() - super().被动倍率计算() - - -class 千魂·暗枪士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/千魂·狩猎者.py b/Characters/千魂·狩猎者.py deleted file mode 100644 index 5c2dff76..00000000 --- a/Characters/千魂·狩猎者.py +++ /dev/null @@ -1,585 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['猎杀枪'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(被动技能): - 名称 = '光枪精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.02 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.02 * self.等级, 5) - - -class 技能2(被动技能): - 名称 = '狩猎本能' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '枪魂感知' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能4(被动技能): - 名称 = '狩猎之心' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能5(职业主动技能): - 名称 = '猎杀枪' - 所在等级 = 15 - 等级上限 = 5 - 基础等级 = 1 - data0 = [(i*1.0) for i in [0, 310, 343, 374, 405, 436, 468, 500, 531, 563, 594, 627, 657, 690, 721, 753, 784, 816, 847, 879, 910, 942, 973, 1005, 1036, 1068, 1099, 1130, 1164, 1195, 1226, 1257, 1290, 1321, 1352, 1383, 1416, 1447, 1478, 1509, 1542, 1573, 1604, 1635, 1668, 1700, 1731, 1762, 1794, 1826, 1857, 1889, 1920, 1952, 1983, 2015, 2046, 2078, 2109, 2142, 2173, 2205, 2236, 2268, 2299, 2330, 2362, 2394, 2425, 2456, 2489]] - 攻击次数 = 1 - # 基础 = 222.0 - # 成长 = 26.0 - # 固定CD0.85 具体待确认 - CD = 0.85 - TP成长 = 0.10 - TP上限 = 3 - 基础释放次数 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 0.85 - - -class 技能6(职业主动技能): - 名称 = '隐鼠袭杀' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [(i*1.0) for i in [0, 2786, 3067, 3350, 3632, 3915, 4199, 4481, 4764, 5046, 5329, 5612, 5894, 6177, 6460, 6743, 7025, 7307, 7590, 7873, 8155, 8438, 8720, 9003, 9286, 9569, 9852, 10133, 10416, 10699, 10981, 11264, 11546, 11829, 12113, 12395, 12678, 12961, 13243, 13526, 13807, 14090, 14373, 14655, 14939, 15221, 15504, 15787, 16069, 16352, 16634, 16917, 17200, 17481, 17766, 18047, 18330, 18613, 18895, 19178, 19461, 19743, 20026, 20308, 20592, 20875, 21156, 21439, 21721, 22004, 22287]] - 攻击次数 = 1 - # 基础 = 1856.40 - # 成长 = 209.60 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '光焰飞枪' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [(i*1.0) for i in [0, 694, 763, 833, 905, 975, 1045, 1115, 1186, 1256, 1326, 1397, 1467, 1538, 1607, 1679, 1749, 1820, 1889, 1959, 2031, 2101, 2171, 2241, 2311, 2383, 2453, 2523, 2593, 2664, 2733, 2804, 2875, 2945, 3016, 3085, 3157, 3227, 3298, 3367, 3437, 3509, 3579, 3649, 3719, 3789, 3861, 3930, 4001, 4071, 4142, 4211, 4283, 4353, 4423, 4493, 4563, 4635, 4705, 4776, 4845]] - 攻击次数 = 5 - # 基础 = 2309.05 - # 成长 = 260.95 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '蛮横冲撞' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [(i*1.0) for i in [0, 1425, 1570, 1715, 1860, 2005, 2149, 2293, 2438, 2583, 2727, 2872, 3017, 3162, 3307, 3451, 3595, 3740, 3885, 4029, 4175, 4319, 4464, 4609, 4753, 4897, 5042, 5187, 5331, 5477, 5621, 5766, 5910, 6055, 6199, 6343, 6489, 6633, 6778, 6923, 7068, 7212, 7357, 7501, 7645, 7791, 7936, 8080, 8225, 8370, 8514, 8659, 8803, 8947, 9093, 9238, 9382, 9527, 9672, 9816, 9961, 10105, 10249, 10396, 10540, 10684, 10829, 10974, 11118, 11263, 11407]] - 攻击次数 = 1 - # 下刺攻击力:% - data1 = [(i*1.0) for i in [0, 1735, 1911, 2087, 2263, 2438, 2615, 2791, 2967, 3144, 3319, 3496, 3671, 3847, 4023, 4200, 4376, 4551, 4728, 4903, 5080, 5255, 5432, 5608, 5785, 5960, 6135, 6312, 6487, 6664, 6840, 7017, 7193, 7369, 7544, 7720, 7896, 8072, 8249, 8425, 8602, 8776, 8953, 9129, 9304, 9481, 9657, 9834, 10008, 10185, 10361, 10538, 10713, 10889, 11066, 11242, 11417, 11593, 11770, 11946, 12122, 12298, 12474, 12649, 12825, 13002, 13178, 13355, 13530, 13707, 13883]] - 攻击次数2 = 1 - # 生成的魔法枪攻击力:% - data2 = [(i*1.0) for i in [0, 578, 636, 695, 753, 812, 872, 929, 989, 1047, 1106, 1165, 1223, 1282, 1341, 1399, 1459, 1517, 1576, 1634, 1693, 1751, 1811, 1869, 1928, 1987, 2044, 2104, 2161, 2221, 2280, 2338, 2397, 2456, 2514, 2574, 2631, 2691, 2749, 2808, 2866, 2925, 2984, 3043, 3101, 3160, 3219, 3278, 3336, 3395, 3453, 3513, 3570, 3629, 3689, 3746, 3806, 3863, 3923, 3981, 4040, 4099, 4158, 4216, 4275, 4333, 4393, 4451, 4510, 4568, 4628]] - 攻击次数3 = 3 - # 基础 = 3719.00 - # 成长 = 420.00 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '猎杀枪掠食' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 地面发射攻击力:% - data0 = [(i*1.0) for i in [0, 4698, 5175, 5653, 6129, 6606, 7083, 7560, 8037, 8512, 8989, 9466, 9943, 10419, 10896, 11373, 11850, 12326, 12802, 13279, 13757, 14234, 14711, 15187, 15664, 16141, 16618, 17093, 17570, 18047, 18524, 19001, 19477, 19954, 20430, 20907, 21386, 21860, 22338, 22815, 23292, 23769, 24245, 24722, 25198, 25675, 26151, 26628, 27105, 27582, 28059, 28534, 29011, 29490, 29966, 30443, 30919, 31396, 31873, 32350, 32827, 33302, 33779, 34256, 34733, 35209, 35686, 36163, 36640, 37118, 37592]] - # "1": "[0, 4867, 5361, 5854, 6347, 6842, 7336, 7829, 8324, 8817, 9310, 9804, 10298, 10793, 11286, 11780, 12273, 12767, 13260, 13756, 14249, 14742, 15237, 15730, 16223, 16717, 17212, 17705, 18199, 18693, 19186, 19680, 20175, 20668, 21162, 21655, 22148, 22643, 23136, 23632, 24125, 24618, 25112, 25605, 26099, 26594, 27087, 27581, 28075, 28568, 29061, 29556, 30050, 30543, 31038, 31531, 32024, 32518, 33013, 33507, 34000, 34494, 34988, 35481, 35974, 36470, 36963, 37456, 37951, 38444, 38937]" - - # 空中发射攻击力:% - # data1 = [0, 3554, 3914, 4275, 4636, 4996, 5357, 5717, 6078, 6439, 6799, 7160, 7520, 7881, 8242, 8602, 8963, 9323, 9684, 10045, 10405, 10766, 11126, 11487, 11847, 12208, 12569, 12929, 13290, 13650, 14011, 14372, 14732, 15093, 15453, 15814, 16175, 16535, 16896, 17256, 17617, 17978, 18338, 18699, 19059, 19420, 19780, 20141, 20502, 20862, 21223, 21583, 21944, 22305, 22665, 23026, 23386, 23747, 24108, 24468, 24829, 25189, 25550, 25910, 26271, 26632, 26992, 27353, 27713, 28074, 28435] - # 基础 = 3266.26 - # 成长 = 368.74 - CD = 9.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '光焰枪' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [(i*1.0) for i in [0, 7077, 7794, 8513, 9231, 9948, 10667, 11385, 12104, 12821, 13539, 14258, 14975, 15694, 16412, 17129, 17848, 18566, 19283, 20001, 20718, 21437, 22155, 22872, 23591, 24309, 25026, 25745, 26463, 27181, 27899, 28617, 29335, 30053, 30772, 31489, 32207, 32926, 33643, 34361, 35080, 35797, 36516, 37234, 37951, 38670, 39388, 40105, 40824, 41542, 42260, 42977, 43694, 44413, 45131, 45848, 46567, 47285, 48004, 48721, 49439, 50158, 50875, 51594, 52312, 53029, 53748, 54466, 55183, 55902, 56619]] - # 基础 = 4720.03 - # 成长 = 532.97 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '猎杀枪穿心' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 旋转时攻击力:% - data0 = [(i*1.0) for i in [0, 552, 608, 664, 720, 775, 831, 887, 943, 999, 1055, 1112, 1168, 1223, 1279, 1335, 1391, 1447, 1503, 1559, 1615, 1670, 1726, 1782, 1839, 1895, 1951, 2007, 2063, 2118, 2174, 2230, 2286, 2342, 2399, 2455, 2511, 2566, 2622, 2678, 2734, 2790, 2846, 2902, 2958, 3013, 3070, 3126, 3182, 3238, 3294, 3350, 3406, 3461, 3517, 3573, 3629, 3686, 3742, 3798, 3854, 3909, 3965, 4021, 4077, 4133, 4189, 4246, 4302, 4357, 4413]] - 攻击次数 = 6 - # 返回时攻击力:% - data1 = [(i*1.0) for i in [0, 2206, 2430, 2654, 2877, 3102, 3325, 3549, 3773, 3997, 4220, 4445, 4668, 4893, 5116, 5340, 5564, 5788, 6012, 6237, 6460, 6685, 6908, 7132, 7356, 7580, 7803, 8028, 8251, 8475, 8699, 8923, 9146, 9371, 9594, 9819, 10042, 10266, 10490, 10714, 10937, 11162, 11385, 11609, 11833, 12057, 12280, 12505, 12728, 12953, 13176, 13400, 13624, 13848, 14071, 14296, 14519, 14743, 14967, 15191, 15414, 15639, 15862, 16087, 16310, 16534, 16758, 16982, 17205, 17430, 17653]] - 攻击次数2 = 1 - # 基础 = 3629.97 - # 成长 = 410.03 - CD = 10.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能12(职业主动技能): - 名称 = '光焰囚杀' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 7051.80 - # 成长 = 796.20 - # 屏障多段攻击力:% - data0 = [(i*1.0) for i in [0, 5231, 5762, 6292, 6823, 7354, 7884, 8414, 8945, 9476, 10006, 10538, 11068, 11600, 12130, 12660, 13191, 13721, 14253, 14783, 15313, 15846, 16376, 16906, 17437, 17967, 18499, 19029, 19559, 20090, 20620, 21153, 21683, 22213, 22745, 23275, 23805, 24336, 24866, 25396, 25928, 26459, 26990, 27521, 28051, 28582, 29112, 29642, 30174, 30704, 31235, 31766, 32297, 32828, 33358, 33889, 34419, 34950, 35481, 36011, 36541, 37073, 37604, 38135, 38665, 39195, 39727, 40257, 40787, 41318, 41849]] - 攻击次数 = 1 - # 屏障爆炸攻击力:% - data1 = [(i*1.0) for i in [0, 5231, 5762, 6292, 6823, 7354, 7884, 8414, 8945, 9476, 10006, 10538, 11068, 11600, 12130, 12660, 13191, 13721, 14253, 14783, 15313, 15846, 16376, 16906, 17437, 17967, 18499, 19029, 19559, 20090, 20620, 21153, 21683, 22213, 22745, 23275, 23805, 24336, 24866, 25396, 25928, 26459, 26990, 27521, 28051, 28582, 29112, 29642, 30174, 30704, 31235, 31766, 32297, 32828, 33358, 33889, 34419, 34950, 35481, 36011, 36541, 37073, 37604, 38135, 38665, 39195, 39727, 40257, 40787, 41318, 41849]] - 攻击次数2 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能13(职业主动技能): - 名称 = '利刃收割' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 挥击攻击力:% - data0 = [(i*1.0) for i in [0, 1198, 1318, 1440, 1561, 1684, 1805, 1926, 2048, 2169, 2291, 2412, 2534, 2654, 2777, 2899, 3020, 3141, 3262, 3385, 3506, 3627, 3749, 3871, 3993, 4113, 4235, 4356, 4479, 4599, 4721, 4843, 4963, 5086, 5207, 5329, 5449, 5572, 5693, 5815, 5937, 6057, 6180, 6301, 6423, 6543, 6666, 6787, 6908, 7030, 7151, 7274, 7394, 7516, 7637, 7759, 7882, 8002, 8124, 8245, 8368, 8488, 8610, 8731, 8852, 8975, 9096, 9218, 9338, 9460, 9582]] - 攻击次数 = 4 - # 击退攻击力:% - data1 = [(i*1.0) for i in [0, 4792, 5276, 5762, 6248, 6735, 7221, 7707, 8193, 8679, 9165, 9651, 10137, 10623, 11110, 11596, 12082, 12567, 13053, 13540, 14026, 14512, 14998, 15485, 15970, 16456, 16942, 17428, 17915, 18401, 18887, 19373, 19859, 20345, 20831, 21316, 21804, 22290, 22776, 23260, 23746, 24233, 24719, 25205, 25691, 26178, 26664, 27149, 27635, 28121, 28608, 29094, 29580, 30066, 30552, 31038, 31524, 32010, 32497, 32983, 33469, 33954, 34440, 34927, 35413, 35899, 36385, 36872, 37358, 37843, 38329]] - 攻击次数2 = 1 - # 上升攻击力:% - # data2 = [0, 3560, 3922, 4283, 4644, 5005, 5366, 5728, 6089, 6450, 6811, 7173, 7534, 7895, 8256, 8618, 8979, 9340, 9701, 10063, 10424, 10785, 11146, 11508, 11869, 12230, 12591, 12952, 13314, 13675, 14036, 14397, 14759, 15120, 15481, 15842, 16204, 16565, 16926, 17287, 17649, 18010, 18371, 18732, 19094, 19455, 19816, 20177, 20538, 20900, 21261, 21622, 21983, 22345, 22706, 23067, 23428, 23790, 24151, 24512, 24873, 25235, 25596, 25957, 26318, 26680, 27041, 27402, 27763, 28124, 28486] - # 基础 = 6394.43 - # 成长 = 721.57 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.倍率 *= 1.1 - self.data1 = [(0.05*1.2*i) for i in self.data1] - self.攻击次数2 = 20 - self.CD *= 0.9 - elif x == 1: - # self.倍率 *= 1.19 - self.data0 = [(1.18*i) for i in self.data0] - self.data1 = [(0.05*1.2*i) for i in self.data1] - self.攻击次数2 = 20 - self.CD *= 0.9 - - -class 技能14(职业主动技能): - 名称 = '鹰坠' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 10325.19 - # 成长 = 1165.81 - data0 = [(i*1.0) for i in [0, 12905, 14214, 15522, 16831, 18141, 19450, 20759, 22068, 23377, 24687, 25995, 27305, 28613, 29924, 31234, 32542, 33851, 35159, 36470, 37779, 39087, 40397, 41706, 43015, 44325, 45633, 46944, 48252, 49562, 50871, 52179, 53490, 54799, 56107, 57416, 58726, 60035, 61344, 62653, 63963, 65272, 66582, 67891, 69199, 70509, 71818, 73127, 74436, 75745, 77055, 78363, 79672, 80983, 82292, 83601, 84910, 86219, 87528, 88837, 90147, 91456, 92764, 94075, 95383, 96692, 98003, 99311, 100621, 101929, 103239]] - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.19 - self.CD *= 0.9 - - -class 技能15(职业主动技能): - 名称 = '龙鳞碎割' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 16415.52 - # 成长 = 1855.48 - # 魔法枪攻击力:% - data0 = [(i*1.0) for i in [0, 481, 530, 579, 627, 677, 725, 775, 823, 872, 921, 970, 1018, 1067, 1116, 1165, 1214, 1263, 1312, 1361, 1409, 1459, 1507, 1557, 1605, 1655, 1703, 1752, 1801, 1848, 1898, 1946, 1996, 2044, 2094, 2142, 2192, 2240, 2290, 2338, 2387, 2436, 2485, 2534, 2583, 2632, 2679, 2729, 2777, 2827, 2875, 2924, 2973, 3022, 3071, 3120, 3169, 3218, 3267, 3316, 3365, 3414, 3461, 3512, 3559, 3609, 3657, 3707, 3755, 3805, 3853]] - 攻击次数 = 20 - # 终结攻击力:% - data1 = [(i*1.0) for i in [0, 14451, 15917, 17382, 18850, 20315, 21781, 23247, 24713, 26180, 27645, 29112, 30577, 32043, 33511, 34976, 36442, 37907, 39375, 40840, 42306, 43773, 45238, 46705, 48170, 49637, 51103, 52568, 54036, 55501, 56967, 58432, 59899, 61366, 62831, 64298, 65763, 67229, 68694, 70162, 71628, 73093, 74561, 76026, 77492, 78959, 80424, 81890, 83356, 84823, 86288, 87754, 89222, 90687, 92153, 93618, 95085, 96550, 98017, 99484, 100949, 102415, 103880, 105348, 106814, 108279, 109747, 111212, 112678, 114143, 115610]] - 攻击次数2 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.倍率 *= 1.23 - self.攻击次数 += 25 - self.data0 = [(i*0.7) for i in self.data0] - self.CD *= 0.9 - elif x == 1: - # self.倍率 *= 1.23 + 0.08 - self.攻击次数 += 25 - self.data0 = [(i*0.7) for i in self.data0] - self.data1 = [(i*1.13) for i in self.data1] - self.CD *= 0.9 - - -class 技能16(职业主动技能): - 名称 = '逐云灭龙杀' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 37586.91 - # 成长 = 11389.97 - # 直接攻击力:% - data0 = [(i*1.0) for i in [0, 3304, 4070, 4837, 5603, 6370, 7137, 7903, 8670, 9436, 10203, 10969, 11736, 12502, 13269, 14035, 14802, 15569, 16335, 17100, 17867, 18634, 19400, 20167, 20933, 21700, 22466, 23233, 23999, 24766, 25532, 26299, 27066, 27832, 28599, 29365, 30132, 30898, 31662, 32429, 33196, 33962, 34729, 35495, 36262, 37028, 37795, 38561, 39328, 40095, 40861, 41628, 42394, 43161, 43926, 44693, 45459, 46226, 46992, 47759, 48525, 49292, 50058, 50825, 51592, 52358, 53125, 53891, 54658, 55424, 56191]] - 攻击次数 = 1 - # 猎杀枪多段攻击力:% - data1 = [(i*1.0) for i in [0, 2313, 2849, 3386, 3922, 4458, 4996, 5533, 6069, 6605, 7143, 7679, 8215, 8752, 9288, 9824, 10360, 10898, 11434, 11970, 12507, 13043, 13579, 14115, 14654, 15190, 15726, 16263, 16800, 17336, 17872, 18409, 18945, 19481, 20019, 20555, 21091, 21627, 22164, 22700, 23236, 23775, 24311, 24847, 25383, 25921, 26457, 26993, 27530, 28066, 28602, 29138, 29676, 30212, 30748, 31285, 31821, 32357, 32895, 33432, 33968, 34504, 35042, 35578, 36114, 36650, 37187, 37723, 38259, 38797, 39333]] - 攻击次数2 = 10 - # 降落冲撞爆炸攻击力:% - data2 = [(i*1.0) for i in [0, 39663, 48861, 58058, 67256, 76453, 85650, 94849, 104046, 113243, 122441, 131639, 140836, 150033, 159231, 168428, 177627, 186823, 196020, 205219, 214416, 223612, 232810, 242008, 251206, 260402, 269600, 278798, 287995, 297193, 306390, 315587, 324786, 333982, 343179, 352378, 361575, 370773, 379970, 389168, 398365, 407564, 416760, 425957, 435154, 444353, 453549, 462747, 471945, 481143, 490339, 499537, 508735, 517932, 527130, 536327, 545524, 554723, 563919, 573116, 582315, 591512, 600709, 609906, 619105, 628302, 637500, 646697, 655894, 665091, 674290]] - 攻击次数3 = 1 - - CD = 145.0 - - -class 技能17(职业主动技能): - 名称 = '天龙破' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 13676.65 - # 成长 = 1544.35 - # 魔法枪乱舞攻击力:% - data0 = [(i*1.0) for i in [0, 3077, 3389, 3700, 4013, 4326, 4637, 4949, 5262, 5574, 5886, 6199, 6510, 6823, 7135, 7447, 7759, 8071, 8383, 8696, 9009, 9319, 9632, 9945, 10256, 10569, 10881, 11193, 11505, 11818, 12130, 12441, 12754, 13067, 13379, 13692, 14003, 14315, 14628, 14941, 15251, 15564, 15877, 16188, 16501, 16814, 17124, 17437, 17750, 18062, 18373, 18686, 18998, 19311, 19623, 19934, 20247, 20559, 20871, 21184, 21496, 21807, 22120, 22433, 22745, 23056, 23369, 23681, 23993, 24306, 24617]] - 攻击次数 = 4 - # 地面爆炸攻击力:% - data1 = [(i*1.0) for i in [0, 8205, 9039, 9871, 10702, 11535, 12367, 13201, 14033, 14865, 15698, 16531, 17363, 18194, 19028, 19860, 20693, 21525, 22358, 23190, 24023, 24855, 25689, 26520, 27352, 28186, 29018, 29850, 30682, 31516, 32348, 33181, 34012, 34845, 35678, 36510, 37344, 38175, 39008, 39840, 40674, 41505, 42337, 43170, 44002, 44836, 45667, 46500, 47333, 48166, 48997, 49829, 50663, 51495, 52328, 53159, 53993, 54825, 55658, 56491, 57322, 58155, 58987, 59821, 60652, 61485, 62317, 63151, 63983, 64814, 65647]] - 攻击次数2 = 1 - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # 地面形态 - self.攻击次数 = 2 - self.data0 = [(i*2.52) for i in self.data0] - self.data1 = [(i*1.26) for i in self.data1] - # 空中形态 - # self.攻击次数 = 0 - # self.data1 = [(i*2.25*1.26) for i in self.data1] - # self.倍率 *= 1.26 - elif x == 1: - # self.倍率 *= 1.348 - # 地面形态 - self.攻击次数 = 2 - self.data0 = [(i*2.52) for i in self.data0] - self.data1 = [(i*1.48) for i in self.data1] - - -class 技能18(职业主动技能): - 名称 = '地龙狩' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 20315.33 - # 成长 = 2293.67 - # 爆炸攻击力:% - data0 = [(i*1.0) for i in [0, 30485, 33578, 36670, 39764, 42856, 45949, 49042, 52134, 55227, 58320, 61412, 64506, 67598, 70691, 73783, 76877, 79968, 83062, 86155, 89247, 92340, 95433, 98526, 101618, 104711, 107805, 110896, 113990, 117082, 120175, 123267, 126361, 129453, 132546, 135640, 138731, 141825, 144918, 148009, 151103, 154196, 157288, 160380, 163474, 166565, 169659, 172753, 175844, 178938, 182030, 185123, 188215, 191309, 194402, 197494, 200587, 203680, 206772, 209866, 212958, 216051, 219143, 222237, 225328, 228422, 231515, 234607, 237700, 240793, 243885]] - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.17 - elif x == 1: - self.倍率 *= 1.25 - - -class 技能19(职业主动技能): - 名称 = '地龙封魔杀' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 基础 = 32961.50 - # 成长 = 3721.50 - # 地面射出的魔法枪攻击力:% - data0 = [(i*1.0) for i in [0, 15429, 16994, 18559, 20125, 21690, 23255, 24820, 26386, 27951, 29516, 31081, 32647, 34213, 35778, 37344, 38909, 40474, 42038, 43605, 45169, 46734, 48299, 49865, 51430, 52996, 54561, 56127, 57692, 59257, 60822, 62388, 63953, 65518, 67083, 68649, 70214, 71780, 73346, 74911, 76476, 78041, 79607, 81172, 82737, 84301, 85868, 87432, 88997, 90562, 92130, 93694, 95259, 96824, 98390, 99955, 101520, 103085, 104651, 106216, 107781, 109346, 110913, 112478, 114043, 115609, 117174, 118739, 120304, 121870, 123435]] - # 爆炸攻击力:% - data1 = [(i*1.0) for i in [0, 35158, 38725, 42293, 45858, 49425, 52993, 56560, 60125, 63693, 67260, 70826, 74393, 77960, 81528, 85094, 88661, 92227, 95794, 99361, 102929, 106495, 110061, 113629, 117196, 120761, 124329, 127896, 131464, 135030, 138596, 142164, 145730, 149297, 152865, 156430, 159997, 163565, 167132, 170697, 174265, 177832, 181398, 184965, 188532, 192100, 195666, 199233, 202800, 206366, 209933, 213501, 217067, 220633, 224201, 227768, 231333, 234901, 238468, 242036, 245602, 249168, 252736, 256302, 259869, 263436, 267003, 270569, 274137, 277704, 281269]] - 攻击次数2 = 1 - CD = 40.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -class 技能20(职业主动技能): - 名称 = '无尽杀戮' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 原地多段攻击攻击力:% - data0 = [(i*1.0) for i in [0, 1847, 2034, 2220, 2407, 2594, 2783, 2970, 3157, 3343, 3531, 3718, 3907, 4094, 4281, 4467, 4654, 4843, 5030, 5217, 5405, 5591, 5779, 5967, 6154, 6341, 6528, 6717, 6903, 7090, 7278, 7465, 7653, 7841, 8027, 8214, 8401, 8590, 8777, 8964, 9150, 9338, 9526, 9713, 9901, 10088, 10274, 10461, 10650, 10837, 11024, 11212, 11398, 11586, 11773, 11961, 12148, 12335, 12522, 12710, 12897, 13084, 13272, 13460, 13646, 13833, 14021, 14208, 14396, 14584, 14771]] - 攻击次数 = 7 - # 前进时多段攻击攻击力:% - data1 = [(i*1.0) for i in [0, 3274, 3606, 3938, 4270, 4602, 4935, 5266, 5598, 5932, 6262, 6595, 6928, 7260, 7591, 7924, 8256, 8587, 8919, 9253, 9585, 9916, 10249, 10581, 10912, 11245, 11577, 11909, 12242, 12574, 12906, 13239, 13570, 13902, 14235, 14566, 14898, 15232, 15564, 15895, 16228, 16560, 16891, 17224, 17556, 17889, 18221, 18553, 18885, 19217, 19549, 19881, 20214, 20545, 20877, 21211, 21542, 21874, 22207, 22539, 22870, 23203, 23535, 23866, 24200, 24532, 24864, 25196, 25528, 25860, 26194]] - 攻击次数2 = 4 - # 爆炸攻击力:% - data2 = [(i*1.0) for i in [0, 39096, 43062, 47028, 50995, 54961, 58925, 62892, 66858, 70825, 74791, 78758, 82724, 86691, 90657, 94624, 98590, 102557, 106522, 110487, 114454, 118420, 122387, 126353, 130320, 134286, 138253, 142219, 146184, 150151, 154117, 158083, 162049, 166016, 169982, 173949, 177915, 181881, 185847, 189813, 193780, 197746, 201713, 205679, 209644, 213611, 217577, 221544, 225509, 229476, 233442, 237409, 241375, 245341, 249308, 253274, 257241, 261206, 265173, 269138, 273104, 277071, 281037, 285004, 288970, 292937, 296903, 300870, 304836, 308800, 312767]] - 攻击次数3 = 1 - # 风车这个技能没护石的状态下 段数跟站位还有怪能不能推有小关系 旋转7-8 前进可以3-4 但打桩一般是741 - # 基础 = 42988.14 - # 成长 = 4853.86 - CD = 45.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] # CPhit:16+2 - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 16 - # self.倍率 *= 1.3680134248 - self.攻击次数2 = 0 - self.data0 = [(i*1.02*1.18) for i in self.data0] - self.攻击次数3 = 2 - self.data2 = [(i*0.58*1.18) for i in self.data2] - - -class 技能21(职业主动技能): - 名称 = '绝命猎杀死亡穿刺' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [(i*1.0) for i in [0, 86700, 106805, 126907, 147012, 167117, 187221, 207325, 227430, 247534, 267639, 287744, 307846, 327951, 348056, 368160, 388265, 408368, 428473, 448578, 468681, 488785, 508890, 528994, 549099, 569204, 589307, 609412, 629517, 649620, 669726, 689829, 709933, 730038, 750143, 770246, 790351, 810456, 830560, 850665, 870767, 890872, 910977, 931082, 951185, 971290, 991394, 1011499, 1031604, 1051706, 1071811, 1091916, 1112020, 1132125, 1152229, 1172333, 1192438, 1212543, 1232645, 1252750, 1272855, 1292959, 1313064, 1333168, 1353272, 1373377, 1393482, 1413586, 1433689, 1453793, 1473898]] - data1 = [(i*1.0) for i in [0, 73696, 90786, 107875, 124965, 142054, 159145, 176231, 193321, 210410, 227501, 244591, 261679, 278768, 295857, 312947, 330035, 347125, 364214, 381304, 398392, 415482, 432570, 449660, 466751, 483840, 500929, 518017, 535107, 552196, 569286, 586375, 603463, 620552, 637642, 654731, 671822, 688912, 706000, 723089, 740178, 757268, 774356, 791446, 808535, 825624, 842713, 859802, 876892, 893981, 911072, 928161, 945250, 962337, 979428, 996517, 1013607, 1030696, 1047784, 1064873, 1081963, 1099053, 1116142, 1133232, 1150321, 1167410, 1184499, 1201589, 1218677, 1235767, 1252856]] - 攻击次数2 = 1 - CD = 180 - - -class 技能22(被动技能): - 名称 = '狩魔之魂' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能23(职业主动技能): - 名称 = '瞬光猎杀枪' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - - CD = 60.0 - - data0 = [(i*1.0) for i in [0, 4469, 4923, 5376, 5829, 6283, 6736, 7189, 7643, 8096, 8550, 9003, 9457, 9910, 10363, 10817, 11270, 11723, 12177, 12630, 13084, 13537, 13990, 14444, 14897, 15351, 15804, 16257, 16711, 17164, 17618, 18071, 18524, 18978, 19431, 19885, 20338, 20791, 21245, 21698, 22152, 22605, 23058, 23512, 23965, 24418, 24872, 25325, 25779, 26232, 26686, 27139, 27592, 28046, 28499, 28952, 29406, 29859, 30313, 30766, 31220, 31673, 32126, 32580, 33033, 33486, 33940, 34393, 34847, 35300, 35753]] - 攻击次数 = 10 - - data1 = [(i*1.0) for i in [0, 67037, 73838, 80638, 87439, 94241, 101040, 107842, 114644, 121443, 128245, 135046, 141848, 148647, 155449, 162251, 169050, 175852, 182653, 189453, 196254, 203056, 209855, 216657, 223459, 230258, 237060, 243861, 250663, 257462, 264264, 271065, 277865, 284667, 291468, 298268, 305069, 311871, 318670, 325472, 332273, 339075, 345875, 352676, 359478, 366277, 373079, 379880, 386680, 393481, 400283, 407083, 413884, 420686, 427485, 434287, 441088, 447890, 454689, 461491, 468293, 475092, 481894, 488695, 495495, 502296, 509098, 515897, 522699, 529501, 536300]] - 攻击次数2 = 1 - - -class 技能24(职业主动技能): - 名称 = '红月·狩猎盛宴' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - 关联技能 = ['无'] - CD = 290.0 - - data0 = [(i*1.0) for i in [0, 28141, 34666, 41191, 47717, 54242, 60768, 67293, 73818, 80344, 86869, 93395, 99920, 106445, 112971, 119496, 126022, 132547, 139072, 145598, 152123, 158649, 165174, 171700, 178225, 184750, 191276, 197801, 204327, 210852, 217377, 223903, 230428, 236954, 243479, 250004, 256530, 263055, 269581, 276106, 282631, 289157, 295682, 302208, 308733, 315258, 321784, 328309, 334835, 341360, 347885, 354411, 360936, 367462, 373987, 380512, 387038, 393563, 400089, 406614, 413139, 419665, 426190, 432716, 439241, 445767, 452292, 458817, 465343, 471868, 478394]] - 攻击次数 = 3 - data1 = [(i*1.0) for i in [0, 337688, 415993, 494298, 572603, 650907, 729212, 807517, 885822, 964126, 1042431, 1120736, 1199041, 1277345, 1355650, 1433955, 1512260, 1590564, 1668869, 1747174, 1825479, 1903786, 1982088, 2060396, 2138701, 2217005, 2295310, 2373615, 2451920, 2530224, 2608529, 2686834, 2765139, 2843444, 2921748, 3000053, 3078358, 3156663, 3234967, 3313272, 3391577, 3469882, 3548186, 3626491, 3704796, 3783101, 3861405, 3939710, 4018015, 4096320, 4174625, 4252929, 4331234, 4409539, 4487844, 4566148, 4644453, 4722758, 4801063, 4879367, 4957672, 5035977, 5114284, 5192589, 5270894, 5349199, 5427504, 5505808, 5584113, 5662418, 5740723]] - 攻击次数2 = 1 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - - 实际名称 = '千魂·狩猎者' - 角色 = '魔枪士' - 职业 = '狩猎者' - - 武器选项 = ['光枪'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '重甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.85 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 千魂·狩猎者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/归元·散打·女.py b/Characters/归元·散打·女.py deleted file mode 100644 index dac5c83b..00000000 --- a/Characters/归元·散打·女.py +++ /dev/null @@ -1,565 +0,0 @@ -from PublicReference.carry.base import * - - -class 主动技能(主动技能): - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(职业主动技能): - 名称 = '崩拳' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.174) for i in [0, 2766, 3046, 3327, 3608, 3888, 4169, 4450, 4730, 5011, 5292, 5572, 5853, 6134, 6414, 6695, 6975, 7256, 7537, 7817, 8098, 8379, 8659, 8940, 9221, 9501, 9782, 10063, 10343, 10624, 10904, 11185, 11466, 11746, 12027, 12308, - 12588, 12869, 13150, 13430, 13711, 13992, 14272, 14553, 14833, 15114, 15395, 15675, 15956, 16237, 16517, 16798, 17079, 17359, 17640, 17921, 18201, 18482, 18762, 19043, 19324, 19604, 19885, 20166, 20446, 20727, 21008, 21288, 21569, 21850, 22130]] - CD = 6.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能1(职业主动技能): - 名称 = '铁山靠' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.185) for i in [0, 3973, 4376, 4779, 5182, 5585, 5988, 6391, 6794, 7197, 7600, 8003, 8407, 8810, 9213, 9616, 10019, 10422, 10825, 11228, 11631, 12034, 12437, 12840, 13243, 13647, 14050, 14453, 14856, 15259, 15662, 16065, 16468, 16871, 17274, - 17677, 18080, 18483, 18886, 19290, 19693, 20096, 20499, 20902, 21305, 21708, 22111, 22514, 22917, 23320, 23723, 24126, 24530, 24933, 25336, 25739, 26142, 26545, 26948, 27351, 27754, 28157, 28560, 28963, 29366, 29770, 30173, 30576, 30979, 31382, 31785]] - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.5 - - -class 技能2(职业主动技能): - 名称 = '碎骨' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.183) for i in [0, 4067, 4480, 4892, 5305, 5718, 6130, 6543, 6956, 7368, 7781, 8194, 8606, 9019, 9432, 9844, 10257, 10670, 11082, 11495, 11908, 12320, 12733, 13146, 13558, 13971, 14383, 14796, 15209, 15621, 16034, 16447, 16859, 17272, 17685, - 18097, 18510, 18923, 19335, 19748, 20161, 20573, 20986, 21399, 21811, 22224, 22637, 23049, 23462, 23875, 24287, 24700, 25113, 25525, 25938, 26351, 26763, 27176, 27588, 28001, 28414, 28826, 29239, 29652, 30064, 30477, 30890, 31302, 31715, 32128, 32540]] - CD = 7.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能3(被动技能): - 名称 = '柔化肌肉' - 所在等级 = 30 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.125 + 0.015 * self.等级, 5) - - -class 技能4(被动技能): - 名称 = '弱点感知' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 10: - return round(1.01 + 0.01 * self.等级, 5) - else: - return round(1.11 + 0.02 * (self.等级-10), 5) - - -class 技能5(职业主动技能): - 名称 = '寸拳' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.186) for i in [0, 9074, 9994, 10915, 11836, 12756, 13677, 14597, 15518, 16438, 17359, 18280, 19200, 20121, 21041, 21962, 22883, 23803, 24724, 25644, 26565, 27485, 28406, 29327, 30247, 31168, 32088, 33009, 33930, 34850, 35771, 36691, 37612, 38532, - 39453, 40374, 41294, 42215, 43135, 44056, 44977, 45897, 46818, 47738, 48659, 49579, 50500, 51421, 52341, 53262, 54182, 55103, 56024, 56944, 57865, 58785, 59706, 60626, 61547, 62468, 63388, 64309, 65229, 66150, 67071, 67991, 68912, 69832, 70753, 71673, 72594]] - CD = 15 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 0.5 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.24 + 0.09 - - -class 技能6(职业主动技能): - 名称 = '升龙拳' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.186) for i in [0, 1961, 2160, 2359, 2558, 2757, 2956, 3155, 3354, 3553, 3752, 3951, 4150, 4349, 4548, 4747, 4946, 5145, 5343, 5542, 5741, 5940, 6139, 6338, 6537, 6736, 6935, 7134, 7333, 7532, 7731, 7930, 8129, 8328, 8527, 8726, - 8925, 9124, 9323, 9522, 9721, 9920, 10119, 10318, 10517, 10716, 10915, 11114, 11313, 11512, 11711, 11910, 12109, 12308, 12507, 12706, 12905, 13104, 13303, 13502, 13701, 13900, 14099, 14298, 14496, 14695, 14894, 15093, 15292, 15491, 15690]] - 攻击次数 = 4 - data1 = [int(i*1.186) for i in [0, 1699, 1871, 2043, 2216, 2388, 2561, 2733, 2905, 3078, 3250, 3422, 3595, 3767, 3940, 4112, 4284, 4457, 4629, 4802, 4974, 5146, 5319, 5491, 5663, 5836, 6008, 6181, 6353, 6525, 6698, 6870, 7042, 7215, 7387, - 7560, 7732, 7904, 8077, 8249, 8422, 8594, 8766, 8939, 9111, 9283, 9456, 9628, 9801, 9973, 10145, 10318, 10490, 10662, 10835, 11007, 11180, 11352, 11524, 11697, 11869, 12041, 12214, 12386, 12559, 12731, 12903, 13076, 13248, 13421, 13593]] - 攻击次数2 = 1 - # 倍率 = 1.073 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 2.0 - - -class 技能7(职业主动技能): - 名称 = '闪电之舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.100) for i in [0, 2119, 2334, 2549, 2764, 2979, 3194, 3409, 3624, 3839, 4055, 4270, 4485, 4700, 4915, 5130, 5345, 5560, 5775, 5990, 6205, 6420, 6635, 6850, 7065, 7280, 7495, 7710, 7925, 8140, 8355, 8570, 8785, 9000, 9215, 9430, - 9646, 9861, 10076, 10291, 10506, 10721, 10936, 11151, 11366, 11581, 11796, 12011, 12226, 12441, 12656, 12871, 13086, 13301, 13516, 13731, 13946, 14161, 14376, 14591, 14806, 15021, 15237, 15452, 15667, 15882, 16097, 16312, 16527, 16742, 16957]] - 攻击次数 = 7 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 1 - 是否有护石 = 1 - 演出时间 = 2.2 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.92 - self.攻击次数 += 2 - self.CD *= 0.85 - self.演出时间 = 2.7 - elif x == 1: - self.倍率 *= 0.99 - self.攻击次数 += 2 - self.CD *= 0.85 - self.演出时间 = 2.7 - - -class 技能8(职业主动技能): - 名称 = '纷影连环踢' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.265) for i in [0, 586, 646, 705, 765, 824, 884, 943, 1003, 1062, 1122, 1181, 1241, 1300, 1360, 1419, 1479, 1538, 1598, 1657, 1717, 1776, 1836, 1895, 1955, 2014, 2074, 2133, 2193, 2252, 2312, 2371, 2431, 2490, - 2550, 2609, 2669, 2728, 2788, 2847, 2907, 2966, 3026, 3085, 3145, 3204, 3264, 3323, 3383, 3442, 3502, 3561, 3621, 3680, 3740, 3799, 3859, 3918, 3978, 4037, 4097, 4156, 4216, 4275, 4335, 4394, 4454, 4513, 4573, 4632, 4692]] - 攻击次数 = 10 - data1 = [int(i*1.265) for i in [0, 13012, 14333, 15653, 16973, 18293, 19613, 20933, 22253, 23574, 24894, 26214, 27534, 28854, 30174, 31494, 32815, 34135, 35455, 36775, 38095, 39415, 40735, 42056, 43376, 44696, 46016, 47336, 48656, 49977, 51297, 52617, 53937, 55257, - 56577, 57897, 59218, 60538, 61858, 63178, 64498, 65818, 67138, 68459, 69779, 71099, 72419, 73739, 75059, 76379, 77700, 79020, 80340, 81660, 82980, 84300, 85621, 86941, 88261, 89581, 90901, 92221, 93541, 94862, 96182, 97502, 98822, 100142, 101462, 102782, 104103]] - 攻击次数2 = 1 - CD = 40.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 4 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.演出时间 = 4.4 - self.倍率 *= 0.87 - self.攻击次数 = 20 - elif x == 1: - self.演出时间 = 4.4 - self.倍率 *= 0.98 - self.攻击次数 = 20 - - -class 技能9(职业主动技能): - 名称 = '武神强踢' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data0 = [int(i*1.174) for i in [0, 48861, 60190, 71520, 82851, 94181, 105511, 116842, 128172, 139501, 150831, 162162, 173492, 184821, 196151, 207482, 218812, 230142, 241473, 252803, 264132, 275462, 286793, 298123, 309452, 320783, 332113, 343443, 354773, 366103, 377434, 388763, 400093, 411424, 422754, 434083, - 445414, 456744, 468074, 479404, 490734, 502065, 513394, 524725, 536054, 547385, 558714, 570045, 581375, 592705, 604035, 615365, 626696, 638025, 649356, 660685, 672016, 683345, 694676, 706006, 717336, 728667, 739996, 751327, 762656, 773987, 785316, 796647, 807977, 819307, 830636]] - CD = 145.0 - 演出时间 = 0.5 - - def 等效百分比(self, 武器类型): - # 6级特效+10%强踢攻击力,目前没有体现在技能面板上 - if self.等级 >= 6: - self.倍率 *= 1.1 - return super().等效百分比(武器类型) - - -class 技能10(被动技能): - 名称 = '武神步' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.05 + 0.02 * self.等级, 5) - - -class 技能11(职业主动技能): - 名称 = '破碎拳' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - #基础 = 18861.4546 - #成长 = 2129.5454 - data0 = [int(i*1.185) for i in [0, 20991, 23120, 25251, 27380, 29509, 31639, 33768, 35899, 38028, 40157, 42287, 44416, 46545, 48676, 50805, 52935, 55064, 57193, 59324, 61453, 63583, 65712, 67841, 69972, - 72101, 74231, 76360, 78489, 80620, 82749, 84879, 87008, 89137, 91267, 93397, 95527, 97656, 99785, 101915, 104045, 106174, 108304, 110433, 112563, 114693, 116822, 118952, 121081, 123211, 125341]] - CD = 30 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.5 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.19 - elif x == 1: - self.倍率 *= 1.19 + 0.09 - - -class 技能12(职业主动技能): - 名称 = '回天连环击' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 横扫地面攻击力:% - data0 = [int(i*1.319) for i in [0, 2863, 3153, 3444, 3734, 4025, 4315, 4606, 4896, 5187, 5477, 5768, 6059, 6349, 6640, 6930, 7221, 7511, 7802, 8092, 8383, 8673, 8964, 9254, 9544, 9835, 10125, - 10416, 10706, 10997, 11287, 11578, 11868, 12159, 12450, 12740, 13031, 13321, 13612, 13902, 14193, 14483, 14774, 15064, 15354, 15645, 15935, 16226, 16516, 16807, 17097]] - 攻击次数 = 1 - # 寸劲攻击力:% - data1 = [int(i*1.319) for i in [0, 5939, 6541, 7144, 7747, 8349, 8951, 9554, 10157, 10759, 11362, 11964, 12567, 13169, 13772, 14375, 14977, 15579, 16182, 16785, 17387, 17990, 18592, 19195, 19797, 20400, - 21003, 21605, 22207, 22810, 23413, 24015, 24618, 25221, 25823, 26425, 27028, 27631, 28233, 28835, 29438, 30041, 30643, 31246, 31849, 32450, 33053, 33656, 34259, 34861, 35464]] - 攻击次数2 = 1 - # 正拳攻击力:% - data2 = [int(i*1.319) for i in [0, 8820, 9715, 10610, 11505, 12399, 13295, 14189, 15084, 15978, 16874, 17768, 18663, 19559, 20453, 21348, 22242, 23138, 24032, 24927, 25822, 26717, 27612, 28506, 29402, - 30296, 31191, 32086, 32981, 33876, 34770, 35665, 36560, 37455, 38350, 39244, 40140, 41034, 41929, 42824, 43719, 44614, 45508, 46404, 47298, 48193, 49087, 49983, 50877, 51772, 52668]] - 攻击次数3 = 1 - # 环绕攻击力:% - data3 = [int(i*1.319) for i in [0, 11571, 12745, 13920, 15094, 16268, 17441, 18615, 19789, 20963, 22137, 23311, 24485, 25659, 26833, 28007, 29181, 30355, 31529, 32703, 33877, 35050, 36224, 37399, 38573, - 39747, 40921, 42095, 43268, 44442, 45616, 46790, 47965, 49139, 50313, 51486, 52660, 53834, 55008, 56182, 57356, 58530, 59705, 60878, 62052, 63226, 64400, 65574, 66748, 67922, 69095]] - 攻击次数4 = 1 - CD = 50 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2.2 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.倍率 *= 1.34 - elif x == 1: - self.攻击次数 = 0 - self.倍率 *= (1.34 + 0.08) - - -class 技能13(被动技能): - 名称 = '神武之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能14(职业主动技能): - 名称 = '虎啸神拳' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - #基础 = 1581.4 - #成长 =178.6 - data0 = [int(i*1.225) for i in [0, 1760, 1938, 2117, 2296, 2474, 2653, 2831, 3010, 3188, 3367, 3546, 3724, 3903, 4081, 4260, 4439, 4617, 4796, 4974, 5153, 5331, 5510, 5689, 5867, 6046, 6224, 6403, 6582, 6760, 6939, 7117, 7296, 7474, 7653, - 7832, 8010, 8189, 8367, 8546, 8725, 8903, 9082, 9260, 9439, 9617, 9796, 9975, 10153, 10332, 10510, 10689, 10868, 11046, 11225, 11403, 11582, 11760, 11939, 12118, 12296, 12475, 12653, 12832, 13011, 13189, 13368, 13546, 13725, 13903, 14082]] - 攻击次数 = 15 - #基础2 = 15453.2 - #成长2 =1744.8 - data1 = [int(i*1.225) for i in [0, 17198, 18943, 20688, 22433, 24177, 25922, 27667, 29412, 31157, 32901, 34646, 36391, 38136, 39881, 41626, 43370, 45115, 46860, 48605, 50350, 52094, 53839, 55584, 57329, 59074, 60818, 62563, 64308, 66053, 67798, 69542, 71287, 73032, 74777, 76522, - 78266, 80011, 81756, 83501, 85246, 86990, 88735, 90480, 92225, 93970, 95714, 97459, 99204, 100949, 102694, 104438, 106183, 107928, 109673, 111418, 113162, 114907, 116652, 118397, 120142, 121886, 123631, 125376, 127121, 128866, 130610, 132355, 134100, 135845, 137590]] - 攻击次数2 = 1 - # 基础3=4083.8667 - # 成长3=461.1333 - data2 = [int(i*1.225) for i in [0, 4545, 5006, 5467, 5928, 6390, 6851, 7312, 7773, 8234, 8695, 9156, 9618, 10079, 10540, 11001, 11462, 11923, 12384, 12845, 13307, 13768, 14229, 14690, 15151, 15612, 16073, 16535, 16996, 17457, 17918, 18379, 18840, 19301, 19763, - 20224, 20685, 21146, 21607, 22068, 22529, 22991, 23452, 23913, 24374, 24835, 25296, 25757, 26219, 26680, 27141, 27602, 28063, 28524, 28985, 29446, 29908, 30369, 30830, 31291, 31752, 32213, 32674, 33136, 33597, 34058, 34519, 34980, 35441, 35902, 36364]] - 攻击次数3 = 1 - CD = 40.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 2 * 0.83 - - -class 技能15(职业主动技能): - 名称 = '无影脚' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 扫腿攻击力:% - data0 = [int(i*1.244) for i in [0, 5425, 5975, 6526, 7075, 7625, 8176, 8726, 9276, 9827, 10377, 10928, 11479, 12029, 12579, 13129, 13680, 14230, 14780, 15331, 15881, 16430, 16982, 17532, 18082, 18633, 19183, 19733, 20284, 20834, 21384, 21934, 22486, 23036, 23586, 24137, - 24687, 25236, 25787, 26337, 26887, 27438, 27989, 28539, 29090, 29640, 30190, 30740, 31291, 31841, 32391, 32942, 33493, 34043, 34593, 35143, 35693, 36244, 36794, 37344, 37895, 38445, 38995, 39545, 40097, 40647, 41197, 41748, 42298, 42848, 43399]] - 攻击次数 = 1 - # 第2击物理攻击力:% - data1 = [int(i*1.244) for i in [0, 2743, 3020, 3298, 3577, 3855, 4133, 4411, 4690, 4967, 5245, 5524, 5802, 6080, 6358, 6637, 6914, 7192, 7471, 7750, 8028, 8307, 8584, 8862, 9140, 9419, 9697, 9975, 10254, 10531, 10809, 11087, 11366, 11644, 11922, 12201, 12479, - 12757, 13035, 13314, 13592, 13870, 14148, 14426, 14704, 14982, 15261, 15539, 15817, 16095, 16373, 16651, 16929, 17209, 17487, 17764, 18043, 18321, 18599, 18878, 19156, 19434, 19711, 19990, 20268, 20546, 20825, 21103, 21381, 21658, 21938]] - 攻击次数2 = 1 - # 第3击物理攻击力:% - data2 = [int(i*1.244) for i in [0, 2745, 3024, 3303, 3581, 3859, 4138, 4417, 4695, 4975, 5253, 5531, 5809, 6088, 6367, 6645, 6924, 7202, 7481, 7760, 8038, 8316, 8595, 8874, 9152, 9432, 9710, 9987, 10267, 10545, 10824, 11103, 11381, 11659, 11937, 12217, 12495, - 12773, 13052, 13331, 13609, 13888, 14167, 14444, 14724, 15002, 15281, 15560, 15838, 16116, 16395, 16674, 16952, 17231, 17509, 17788, 18067, 18345, 18624, 18901, 19181, 19459, 19738, 20017, 20294, 20573, 20852, 21131, 21409, 21688, 21966]] - 攻击次数3 = 1 - # 抽打物理攻击力:% - data3 = [int(i*1.244) for i in [0, 42893, 47244, 51595, 55947, 60299, 64650, 69002, 73353, 77704, 82055, 86407, 90758, 95109, 99462, 103813, 108164, 112516, 116868, 121218, 125570, 129922, 134273, 138625, 142977, 147327, 151679, 156031, 160382, 164733, 169086, 173437, 177788, 182139, 186491, 190842, - 195193, 199545, 203897, 208248, 212600, 216951, 221302, 225654, 230006, 234356, 238709, 243061, 247411, 251763, 256115, 260465, 264817, 269168, 273520, 277872, 282223, 286575, 290926, 295277, 299629, 303980, 308332, 312684, 317035, 321386, 325738, 330089, 334440, 338792, 343144]] - 攻击次数4 = 1 - CD = 45.0 - 是否有护石 = 1 - 演出时间 = 2 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.攻击次数3 = 0 - self.攻击次数4 *= 1.66 - - -class 技能16(职业主动技能): - 名称 = '极尽霸皇断空拳' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #基础 =87153.5 *1.006068 - #成长 =26310.5 *1.006068 - # 断空拳物理攻击力:% - data0 = [int(i*1.185) for i in [0, 114153, 140623, 167092, 193562, 220032, 246503, 272973, 299443, 325913, 352384, 378853, 405324, 431795, 458264, 484735, 511205, 537675, 564145, 590615, 617085, 643556, 670026, 696496, 722967, 749436, 775907, 802377, 828847, 855317, 881788, 908258, 934728, 961199, 987668, 1014139, 1040609, - 1067079, 1093548, 1120018, 1146489, 1172959, 1199429, 1225899, 1252370, 1278839, 1305310, 1331781, 1358250, 1384721, 1411191, 1437661, 1464131, 1490601, 1517071, 1543542, 1570012, 1596482, 1622953, 1649422, 1675893, 1702363, 1728833, 1755303, 1781774, 1808244, 1834714, 1861185, 1887654, 1914125, 1940595]] - CD = 180.0 - 演出时间 = 1.2 - - -class 技能17(被动技能): - 名称 = '疾风劲' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '雷霆之舞' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 第1~7击物理攻击力:% - data0 = [int(i*1.229) for i in [0, 10602, 11677, 12753, 13828, 14904, 15979, 17055, 18130, 19206, 20281, 21357, 22433, 23508, 24584, 25659, 26735, 27810, 28886, 29961, - 31037, 32112, 33188, 34263, 35339, 36414, 37490, 38566, 39641, 40717, 41792, 42868, 43943, 45019, 46094, 47170, 48245, 49321, 50396, 51472, 52547]] - 攻击次数 = 7 - # 最后一击物理攻击力:% - data1 = [int(i*1.229) for i in [0, 31805, 35032, 38258, 41485, 44711, 47938, 51164, 54391, 57618, 60844, 64071, 67298, 70524, 73751, 76977, 80204, 83430, 86657, 89884, 93110, 96337, - 99563, 102790, 106017, 109243, 112470, 115697, 118923, 122150, 125376, 128603, 131829, 135056, 138283, 141509, 144736, 147962, 151189, 154416, 157642]] - 攻击次数2 = 1 - CD = 60.0 - 演出时间 = 6.2 - - -class 技能19(职业主动技能): - 名称 = '陨星灭天击' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 关联技能 = ['无'] - # 震脚冲击波物理攻击力:% - data0 = [int(i*1.232) for i in [0, 33740, 41564, 49388, 57212, 65035, 72859, 80683, 88507, 96331, 104154, 111978, 119802, 127626, 135450, 143273, 151097, 158921, 166745, 174569, 182392, - 190216, 198040, 205864, 213688, 221511, 229335, 237159, 244983, 252807, 260630, 268454, 276278, 284102, 291926, 299749, 307573, 315397, 323221, 331045, 338869]] - 攻击次数 = 1 - # [武神强踢]物理攻击力:% - # [极尽 : 霸皇断空拳]物理攻击力:% - data1 = [int(i*1.232) for i in [0, 67480, 83128, 98775, 114423, 130071, 145718, 161366, 177013, 192661, 208309, 223956, 239604, 255251, 270899, 286547, 302194, 317842, 333490, 349137, 364785, - 380432, 396080, 411728, 427375, 443023, 458670, 474318, 489966, 505613, 521261, 536908, 552556, 568204, 583851, 599499, 615146, 630794, 646442, 662089, 677737]] - 攻击次数2 = 2 - # 烈空星鸣拳物理攻击力:% - data2 = [int(i*1.232) for i in [0, 118090, 145474, 172857, 200240, 227624, 255007, 282390, 309773, 337157, 364540, 391923, 419307, 446690, 474074, 501457, 528840, 556224, 583607, 610990, 638373, - 665757, 693140, 720523, 747907, 775290, 802673, 830057, 857440, 884823, 912206, 939590, 966973, 994356, 1021740, 1049123, 1076506, 1103890, 1131273, 1158656, 1186040]] - 攻击次数3 = 1 - # 烈空星鸣拳多段物理攻击力:% x 6 - data3 = [int(i*1.232) for i in [0, 8435, 10391, 12347, 14303, 16259, 18215, 20171, 22127, 24083, 26039, 27995, 29950, 31906, 33862, 35818, 37774, 39730, 41686, 43642, - 45598, 47554, 49510, 51466, 53422, 55378, 57334, 59290, 61246, 63202, 65158, 67114, 69070, 71025, 72981, 74937, 76893, 78849, 80805, 82761, 84717]] - 攻击次数4 = 6 - # 基础 = 259160 - # 成长 = 78240 - CD = 290 - - def 加成倍率(self, 武器类型): - return 0 - 演出时间 = 6.1 - -# CDR: 拳套精通(10%) -# 不包含觉醒 - - -class 技能20(被动技能): - 名称 = '拳套精通' - 所在等级 = 15 - 等级上限 = 10 - 基础等级 = 10 - # 拳套精通cd - 关联技能 = ['无'] - 冷却关联技能 = ['崩拳', '铁山靠', '碎骨', '寸拳', '升龙拳', '闪电之舞', - '纷影连环踢', '破碎拳', '回天连环击', '虎啸神拳', '无影脚', '雷霆之舞'] - - def 加成倍率(self, 武器类型): - return 1.0 - - def CD缩减倍率(self, 武器类型): - if 武器类型 == '拳套': - if self.等级 == 0: - return 1.0 - else: - return (1 - 0.01 * self.等级) - else: - return 1.0 - # 拳套自带全技能10cd - 冷却关联技能2 = ['所有'] - - def CD缩减倍率2(self, 武器类型): - if 武器类型 == '拳套': - return 0.9 - elif 武器类型 == '臂铠': - return 1.1 - else: - return 1.0 - - -# CDR 一觉cdr buff -class 技能21(被动技能): - 名称 = '武神强踢buff' - 所在等级 = 1 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['无'] - 冷却关联技能 = ['所有'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.9 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·散打·女一觉序号 = 0 -归元·散打·女二觉序号 = 0 -归元·散打·女三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·散打·女一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·散打·女二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·散打·女三觉序号 = 技能序号[i.名称] - -归元·散打·女护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·散打·女护石选项.append(i.名称) - -归元·散打·女符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·散打·女符文选项.append(i.名称) - - -class 归元·散打·女角色属性(角色属性): - - 实际名称 = '归元·散打·女' - 角色 = '格斗家(女)' - 职业 = '散打' - - 武器选项 = ['拳套', '臂铠'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.13 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def CD倍率计算(self): - if "武神强踢" in self.技能栏[self.技能序号['陨星灭天击']].关联技能: - self.技能栏[self.技能序号['武神强踢buff']].等级 = 0 - super().CD倍率计算() - - -class 归元·散打·女(角色窗口): - - def 窗口属性输入(self): - self.初始属性 = 归元·散打·女角色属性() - self.角色属性A = 归元·散打·女角色属性() - self.角色属性B = 归元·散打·女角色属性() - self.一觉序号 = 归元·散打·女一觉序号 - self.二觉序号 = 归元·散打·女二觉序号 - self.三觉序号 = 归元·散打·女三觉序号 - self.护石选项 = deepcopy(归元·散打·女护石选项) - self.符文选项 = deepcopy(归元·散打·女符文选项) diff --git a/Characters/归元·散打·男.py b/Characters/归元·散打·男.py deleted file mode 100644 index 62a448c2..00000000 --- a/Characters/归元·散打·男.py +++ /dev/null @@ -1,623 +0,0 @@ -from PublicReference.carry.base import * - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(职业主动技能): - 名称 = '下段踢' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 737.65306122449 - # 成长 = 83.3469387755102 - #物理武器攻击力:% - data0 = [0, 991, 1092, 1192, 1292, 1394, 1494, 1594, 1694, 1797, 1897, 1996, 2097, 2197, 2298, 2399, 2499, 2599, 2699, 2801, 2901, 3001, 3104, 3204, 3304, 3405, 3506, 3606, 3707, 3807, 3907, 4008, 4109, 4209, 4309, 4411, 4511, 4611, 4712, 4812, 4913, 5014, 5114, 5214, 5314, 5416, 5516, 5616, 5719, 5819, 5919, 6020, 6121, 6221, 6322, 6422, 6522, 6623, 6724, 6824, 6925, 7027, 7127, 7227, 7329, 7429, 7529, 7628, 7729, 7829, 7930] - 攻击次数 = 1 - CD = 2.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能1(职业主动技能): - 名称 = '碎骨' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 3004.85 - # 成长 = 339.15 - #下段踢物理武器攻击力:% - data0 = [0, 4058, 4468, 4879, 5290, 5703, 6114, 6527, 6937, 7349, 7760, 8172, 8583, 8995, 9406, 9819, 10230, 10641, 11053, 11464, 11875, 12288, 12699, 13111, 13521, 13933, 14345, 14757, 15168, 15581, 15990, 16403, 16814, 17226, 17638, 18049, 18460, 18872, 19283, 19696, 20106, 20518, 20930, 21341, 21752, 22165, 22575, 22988, 23399, 23811, 24222, 24633, 25044, 25457, 25868, 26281, 26692, 27101, 27513, 27926, 28337, 28750, 29160, 29573, 29983, 30394, 30807, 31218, 31629, 32041, 32452] - - 攻击次数 = 1 - CD = 7 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '铁山靠' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 2892.2 - # 成长 = 326.8 - data0 = [0, 4117, 4535, 4954, 5372, 5790, 6208, 6625, 7043, 7462, 7880, 8298, 8716, 9133, 9552, 9970, 10388, 10806, 11223, 11641, 12060, 12477, 12895, 13313, 13730, 14148, 14567, 14983, 15402, 15821, 16238, 16656, 17075, 17492, 17910, 18329, 18746, 19165, 19583, 20000, 20418, 20836, 21254, 21673, 22088, 22507, 22925, 23342, 23761, 24179, 24596, 25015, 25433, 25850, 26269, 26688, 27105, 27523, 27941, 28358, 28778, 29196, 29613, 30031, 30448, 30866, 31283, 31701, 32120, 32538, 32955] - CD = 7 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能3(被动技能): - 名称 = '柔化肌肉' - 所在等级 = 30 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.125 + 0.015 * self.等级, 5) - - -class 技能4(职业主动技能): - 名称 = '闪击快打' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 4565.54054054054 - # 成长 = 515.459459459459 - data0 = [0, 2691, 2964, 3236, 3511, 3783, 4055, 4330, 4602, 4877, 5149, 5422, 5694, 5968, 6240, 6514, 6786, 7060, 7333, 7605, 7881, 8152, 8425, 8697, 8972, 9244, 9518, 9790, 10065, 10337, 10609, 10884, 11155, 11429, 11702, 11975, 12247, 12522, 12793, 13068, 13340, 13614, 13887, 14158, 14434, 14704, 14978, 15251, 15525, 15798, 16070, 16344, 16617, 16890, 17164, 17436, 17709, 17983, 18254, 18528, 18801, 19075, 19348, 19620, 19894, 20167, 20439, 20713, 20986, 21260, 21532] - data1 = [0, 3741, 4121, 4501, 4882, 5258, 5639, 6017, 6398, 6777, 7158, 7536, 7915, 8295, 8675, 9056, 9434, 9815, 10194, 10574, 10951, 11332, 11710, 12091, 12470, 12851, 13231, 13611, 13990, 14369, 14749, 15127, 15508, 15886, 16267, 16645, 17025, 17405, 17785, 18164, 18544, 18924, 19304, 19684, 20063, 20442, 20820, 21200, 21581, 21960, 22340, 22719, 23098, 23478, 23858, 24237, 24617, 24997, 25377, 25758, 26134, 26515, 26893, 27274, 27653, 28034, 28413, 28794, 29171, 29552, 29931] - - 攻击次数2 = 1 - CD = 12.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能5(职业主动技能): - 名称 = '冲膝' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 6663.62857142857 - # 成长 = 752.371428571429 - #物理攻击力:% - data0 = [0, 8983, 9895, 10804, 11715, 12627, 13538, 14450, 15362, 16273, 17183, 18096, 19008, 19918, 20829, 21741, 22653, 23562, 24476, 25386, 26296, 27208, 28120, 29031, 29941, 30855, 31766, 32676, 33588, 34499, 35410, 36322, 37234, 38145, 39054, 39967, 40878, 41789, 42700, 43613, 44524, 45434, 46346, 47257, 48169, 49081, 49992, 50903, 51812, 52725, 53638, 54547, 55459, 56371, 57282, 58192, 59104, 60016, 60927, 61839, 62750, 63659, 64573, 65485, 66396, 67305, 68217, 69129, 70039, 70952, 71863] - CD = 15 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '炽焰旋风腿' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 8101.2 - # 成长 = 915.8 - #旋风腿攻击力:% - data0 = [0, 1095, 1207, 1317, 1428, 1540, 1650, 1763, 1874, 1985, 2097, 2207, 2319, 2430, 2540, 2652, 2761, 2875, 2985, 3096, 3208, 3319, 3430, 3542, 3653, 3763, 3874, 3986, 4097, 4208, 4320, 4431, 4541, 4653, 4763, 4875, 4987, 5098, 5210, 5321, 5433, 5542, 5653, 5765, 5875, 5987, 6099, 6209, 6321, 6432, 6543, 6655, 6766, 6877, 6987, 7097, 7210, 7321, 7433, 7544, 7655, 7767, 7876, 7988, 8099, 8211, 8323, 8434, 8545, 8655, 8766] - 攻击次数 = 7 - #下踢攻击力:% - data1 = [0, 3317, 3654, 3989, 4326, 4662, 5000, 5335, 5672, 6009, 6346, 6681, 7018, 7355, 7691, 8027, 8363, 8700, 9038, 9374, 9710, 10047, 10383, 10719, 11056, 11394, 11730, 12066, 12402, 12739, 13076, 13411, 13750, 14084, 14422, 14759, 15095, 15431, 15769, 16104, 16440, 16778, 17115, 17451, 17788, 18123, 18459, 18797, 19132, 19470, 19807, 20143, 20478, 20816, 21152, 21489, 21825, 22163, 22498, 22836, 23171, 23508, 23845, 24180, 24516, 24853, 25191, 25528, 25864, 26199, 26537] - 攻击次数2 = 1 - - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 +=6 - self.data0 = [int(x*0.76) for x in self.data0] - # self.倍率 *= 1.28718046004268 - elif x == 1: - self.攻击次数 +=6 - self.data0 = [int(x*0.86) for x in self.data0] - - -class 技能7(职业主动技能): - 名称 = '闪电之舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 7933.9375 - # 成长 = 896.0625 - #每次攻击时的物理攻击力:% - data0 = [0, 1316, 1451, 1584, 1717, 1852, 1984, 2119, 2253, 2385, 2519, 2655, 2787, 2920, 3054, 3188, 3320, 3455, 3589, 3721, 3856, 3990, 4122, 4257, 4389, 4523, 4658, 4792, 4923, 5059, 5192, 5326, 5459, 5592, 5727, 5861, 5993, 6127, 6261, 6395, 6528, 6661, 6796, 6930, 7062, 7196, 7331, 7464, 7597, 7731, 7865, 7999, 8132, 8266, 8398, 8534, 8667, 8799, 8934, 9068, 9200, 9335, 9469, 9601, 9736, 9869, 10002, 10137, 10269, 10403, 10538] - #终结一击攻击力:% - data1 = [0, 9219, 10156, 11091, 12025, 12961, 13897, 14833, 15768, 16704, 17639, 18574, 19510, 20446, 21379, 22316, 23251, 24188, 25122, 26056, 26993, 27930, 28864, 29799, 30735, 31671, 32607, 33540, 34478, 35412, 36348, 37284, 38218, 39155, 40089, 41024, 41961, 42895, 43832, 44766, 45702, 46638, 47572, 48509, 49444, 50379, 51314, 52250, 53186, 54121, 55055, 55992, 56927, 57863, 58798, 59733, 60668, 61604, 62541, 63475, 64410, 65345, 66282, 67218, 68151, 69087, 70023, 70959, 71895, 72828, 73766] - - 攻击次数 = 1 - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.24 + 0.09 - - -class 技能8(职业主动技能): - 名称 = '瞬影连环踢' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #飞踢攻击力:% - data0 = [0, 20686, 22786, 24885, 26984, 29082, 31181, 33279, 35379, 37477, 39578, 41675, 43773, 45873, 47971, 50070, 52169, 54269, 56367, 58466, 60564, 62663, 64760, 66861, 68958, 71058, 73157, 75255, 77354, 79452, 81551, 83650, 85750, 87848, 89948, 92046, 94144, 96243, 98342, 100442, 102540, 104639, 106737, 108836, 110934, 113035, 115133, 117231, 119330, 121428, 123527, 125625, 127724, 129823, 131923, 134021, 136121, 138219, 140317, 142416, 144515, 146615, 148713, 150812, 152910, 155009, 157107, 159208, 161306, 163405, 165503] - - CD = 45 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.23 + 0.08 - - -class 技能9(被动技能): - 名称 = '烈焰燃烧' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03 + 0.01 * self.等级, 5) - # 仅作用于面板显示 - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03 + 0.01 * self.等级, 5) - -class 技能10(职业主动技能): - 名称 = '烈焰焚步' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 31307 - # 成长 = 9452 - #再次施放后强化的技能攻击力增加量:+% - data0 = [0, 40761, 50213, 59665, 69116, 78568, 88020, 97472, 106924, 141835, 153355, 164876, 176395, 187917, 199436, 210956, 222477, 233994, 245516, 257034, 268555, 280074, 291594, 303114, 314631, 326152, 337672, 349191, 360712, 372232, 383751, 395271, 406789, 418312, 429831, 441351, 452869, 464390, 475910, 487430, 498948, 510472, 521991, 533506, 545029, 556547, 568069, 579589, 591106, 602627, 614145, 625667, 637187, 648708, 660227, 671748, 683265, 694784, 706305, 717825, 729346, 740864, 752385, 763903, 775422, 786946, 798466, 809983, 821503, 833023, 844543] - - CD = 145 - 关联技能 = ['所有'] - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['烈焰焚步','双重释放','极武霸皇踢','焚火逐日拳'] - #手搓 -5% CD - - def 等效CD(self, 武器类型, 输出类型): - if 武器类型 == '拳套': - return round(self.CD / self.恢复 * (1-0.05), 1) - - # 被动技能攻击力加成 - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.02 + 0.04 * (self.等级-1), 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.85 - - -class 技能11(职业主动技能): - 名称 = '飞燕旋风' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [0, 4312, 4748, 5185, 5622, 6061, 6500, 6935, 7373, 7810, 8248, 8684, 9122, 9559, 9997, 10435, 10872, 11310, 11746, 12184, 12623, 13059, 13495, 13934, 14372, 14811, 15246, 15683, 16121, 16557, 16995, 17433, 17871, 18308, 18746, 19183, 19620, 20057, 20494, 20932, 21370, 21807, 22245, 22682, 23119, 23556, 23994, 24432, 24869, 25307, 25744, 26182, 26618, 27057, 27493, 27930, 28367, 28805, 29245, 29680, 30118, 30555, 30993, 31429, 31867, 32305, 32743, 33181, 33617, 34055, 34491] - data1 = [0, 8870, 9772, 10672, 11571, 12472, 13374, 14273, 15171, 16072, 16971, 17873, 18773, 19672, 20573, 21473, 22373, 23272, 24172, 25072, 25973, 26874, 27773, 28674, 29573, 30473, 31373, 32273, 33173, 34074, 34975, 35874, 36773, 37674, 38575, 39474, 40374, 41273, 42175, 43076, 43976, 44874, 45775, 46676, 47576, 48475, 49375, 50275, 51176, 52076, 52975, 53875, 54777, 55676, 56576, 57476, 58376, 59276, 60177, 61076, 61976, 62878, 63777, 64677, 65577, 66475, 67377, 68277, 69177, 70077, 70978] - - 攻击次数 = 2 - 攻击次数2 = 1 - CD = 30 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 +=2 - self.倍率 *= 0.82 - elif x == 1: - self.攻击次数 +=2 - self.倍率 *= 0.82 + 0.06 - - -# 碎心修炼场实测有伤害丢失的BUG -class 技能12(职业主动技能): - 名称 = '旋风碎心踢' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - #旋转多段攻击攻击力:% - data0 = [0, 598, 660, 720, 780, 842, 902, 964, 1024, 1085, 1146, 1207, 1267, 1329, 1389, 1449, 1511, 1571, 1633, 1693, 1754, 1814, 1875, 1935, 1996, 2057, 2117, 2179, 2239, 2301, 2361, 2422, 2483, 2544, 2604, 2665, 2726, 2787, 2848, 2908, 2970, 3030, 3092, 3152, 3212, 3274, 3334, 3395, 3456, 3517, 3577] - #第一击攻击力:% - data1 = [0, 8666, 9544, 10424, 11302, 12183, 13060, 13941, 14819, 15700, 16577, 17456, 18337, 19215, 20095, 20973, 21854, 22732, 23611, 24490, 25370, 26249, 27128, 28006, 28886, 29765, 30644, 31523, 32403, 33282, 34160, 35040, 35919, 36800, 37677, 38558, 39436, 40314, 41194, 42072, 42953, 43832, 44711, 45590, 46469, 47349, 48227, 49107, 49985, 50865, 51743] - #最后一击攻击力:% - data2 = [0, 19642, 21635, 23627, 25620, 27614, 29607, 31599, 33590, 35584, 37576, 39570, 41563, 43556, 45547, 47541, 49534, 51526, 53519, 55512, 57505, 59496, 61491, 63483, 65475, 67468, 69461, 71453, 73446, 75440, 77432, 79424, 81419, 83409, 85403, 87395, 89389, 91381, 93375, 95368, 97359, 99352, 101344, 103339, 105331, 107324, 109316, 111308, 113301, 115293, 117288] - - 攻击次数 = 4 - 攻击次数2 = 1 - 攻击次数3 = 1 - - CD = 50 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.16 - elif x == 1: - self.倍率 *= 1.16 + 0.08 - - -class 技能13(被动技能): - 名称 = '烈火支配' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.17 + 0.02 * self.等级, 5) - - -class 技能14(职业主动技能): - 名称 = '烈火强踢' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [0, 51517, 56743, 61969, 67196, 72422, 77647, 82876, 88100, 93327, 98552, 103780, 109006, 114232, 119458, 124686, 129911, 135138, 140362, 145591, 150817, 156042, 161270, 166497, 171721, 176949, 182175, 187401, 192629, 197853, 203081, 208307, 213533, 218758, 223986, 229212, 234438, 239665, 244892, 250117, 255344, 260570, 265796, 271023, 276249, 281475, 286703, 291927, 297153, 302382, 307607, 312833, 318060, 323287, 328512, 333739, 338965, 344192, 349418, 354644, 359871, 365098, 370323, 375548, 380776, 386003, 391227, 396455, 401682, 406907, 412134] - - CD = 45 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - self.CD *= 0.9 - - -class 技能15(职业主动技能): - 名称 = '烈火强拳' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - #突进拳击攻击力:% - data0 = [0, 63496, 69937, 76380, 82819, 89261, 95703, 102148, 108586, 115029, 121471, 127912, 134354, 140794, 147236, 153678, 160121, 166562, 173003, 179445, 185888, 192326, 198770, 205213, 211653, 218095, 224536, 230978, 237420, 243861, 250304, 256743, 263186, 269630, 276068, 282512, 288953, 295395, 301836, 308278, 314720, 321162, 327602, 334045, 340485, 346927, 353369, 359813, 366253, 372695, 379135, 385577, 392018, 398461, 404901, 411343, 417787, 424228, 430670, 437110, 443552, 449993, 456435, 462878, 469319, 475760, 482203, 488644, 495085, 501526, 507968] - - CD = 55 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - -# 不适用拳套掌握CDR - - -class 技能16(职业主动技能): - 名称 = '极武霸皇踢' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 82676.3333333337 - # 成长 = 24957.3333333333 - data0 = [0, 26170, 32237, 38306, 44375, 50443, 56510, 62580, 68647, 74716, 80785, 86852, 92921, 98989, 105058, 111126, 117194, 123264, 129331, 135401, 141467, 147538, 153604, 159675, 165742, 171810, 177879, 183947, 190015, 196084, 202152, 208221, 214289, 220357, 226426, 232494, 238561, 244631, 250698, 256768, 262836, 268905, 274972, 281041, 287109, 293178, 299245, 305315, 311382, 317452, 323518, 329589, 335656, 341724, 347794, 353861, 359931, 365998, 372066, 378135, 384203, 390272, 396340, 402410, 408477, 414546, 420612, 426683, 432750, 438819, 444887] - data1 = [0, 32857, 40476, 48095, 55714, 63333, 70952, 78571, 86190, 93809, 101428, 109047, 116666, 124285, 131903, 139525, 147142, 154761, 162381, 170000, 177619, 185238, 192857, 200476, 208094, 215715, 223334, 230951, 238571, 246190, 253808, 261428, 269047, 276668, 284284, 291905, 299525, 307143, 314761, 322381, 330000, 337619, 345238, 352857, 360476, 368095, 375714, 383333, 390951, 398571, 406190, 413810, 421429, 429048, 436667, 444287, 451905, 459524, 467143, 474762, 482381, 490000, 497619, 505238, 512857, 520478, 528095, 535713, 543334, 550954, 558570] - 攻击次数2 = 1 - data2 = [0, 72285, 89046, 105808, 122571, 139334, 156095, 172857, 189619, 206381, 223143, 239905, 256665, 273428, 290190, 306951, 323714, 340476, 357238, 373999, 390762, 407524, 424287, 441048, 457810, 474570, 491335, 508096, 524857, 541618, 558380, 575143, 591905, 608667, 625428, 642191, 658952, 675716, 692477, 709239, 726001, 742763, 759525, 776286, 793048, 809810, 826572, 843334, 860096, 876858, 893620, 910381, 927143, 943907, 960669, 977430, 994192, 1010952, 1027717, 1044477, 1061239, 1078000, 1094762, 1111525, 1128287, 1145049, 1161810, 1178573, 1195334, 1212097, 1228859] - 攻击次数3 = 1 - CD = 180 - - -class 技能17(被动技能): - 名称 = '千锤百炼' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '炼狱坠星腿' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 基础 = 79841.4 - # 成长 = 9014.6 - CD = 60 - #下劈攻击力:% - data0 = [0, 48374, 53281, 58189, 63096, 68004, 72912, 77819, 82727, 87635, 92541, 97449, 102357, 107264, 112172, 117080, 121986, 126894, 131802, 136709, 141617, 146525, 151432, 156340, 161247, 166155, 171062, 175970, 180878, 185785, 190693, 195601, 200507, 205415, 210323, 215230, 220138, 225046, 229952, 234860, 239768, 244675, 249583, 254491, 259398, 264306, 269213, 274120, 279028, 283936, 288844, 293751, 298659, 303567, 308473, 313381, 318289, 323196, 328104, 333012, 337918, 342826, 347734, 352641, 357549, 362457, 367364, 372272, 377179, 382086, 386994] - - #冲击波攻击力:% - data1 = [0, 58278, 64191, 70103, 76016, 81928, 87840, 93752, 99665, 105577, 111490, 117403, 123315, 129226, 135139, 141052, 146964, 152877, 158789, 164701, 170613, 176526, 182438, 188351, 194263, 200176, 206087, 212000, 217912, 223825, 229738, 235650, 241562, 247474, 253387, 259299, 265212, 271124, 277036, 282948, 288861, 294773, 300686, 306598, 312511, 318422, 324335, 330247, 336160, 342073, 347985, 353897, 359809, 365722, 371634, 377547, 383459, 389372, 395283, 401196, 407108, 413021, 418933, 424846, 430757, 436670, 442582, 448495, 454408, 460320, 466232] - - 攻击次数2 = 1 - -# 不适用拳套掌握CDR - - -class 技能19(职业主动技能): - 名称 = '焚火逐日拳' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 251118.333333333 - # 成长 = 75810.6666666667 - CD = 290 - - #铁山靠攻击力:% - data0 = [0, 37653, 46384, 55115, 63846, 72578, 81309, 90040, 98771, 107502, 116233, 124965, 133696, 142427, 151158, 159889, 168621, 177353, 186084, 194815, 203546, 212277, 221008, 229740, 238471, 247202, 255933, 264664, 273395, 282126, 290858, 299589, 308320, 317051, 325782, 334513, 343246, 351977, 360708, 369439, 378170, 386901, 395633, 404364, 413095, 421826, 430557, 439288, 448020, 456751, 465482, 474213, 482944, 491675, 500406, 509138, 517870, 526601, 535332, 544063, 552795, 561526, 570257, 578988, 587719, 596450, 605181, 613913, 622644, 631375, 640106] - #正拳第1击:% - data1 = [0, 18826, 23192, 27557, 31923, 36288, 40654, 45019, 49386, 53751, 58117, 62482, 66848, 71213, 75579, 79944, 84310, 88676, 93041, 97407, 101772, 106139, 110504, 114870, 119235, 123601, 127966, 132332, 136697, 141063, 145428, 149794, 154159, 158526, 162891, 167257, 171623, 175988, 180354, 184719, 189085, 193450, 197816, 202181, 206547, 210912, 215279, 219644, 224010, 228375, 232741, 237106, 241472, 245837, 250203, 254568, 258934, 263301, 267666, 272032, 276397, 280763, 285128, 289494, 293859, 298225, 302590, 306956, 311321, 315687, 320052] - #正拳第2击:% - data2 = [0, 22591, 27830, 33069, 38307, 43546, 48786, 54024, 59263, 64502, 69740, 74979, 80217, 85456, 90695, 95933, 101172, 106412, 111650, 116889, 122127, 127366, 132605, 137843, 143082, 148321, 153559, 158798, 164036, 169276, 174515, 179753, 184992, 190231, 195469, 200708, 205946, 211185, 216425, 221663, 226902, 232141, 237379, 242618, 247857, 253095, 258334, 263572, 268811, 274051, 279289, 284528, 289767, 295005, 300244, 305482, 310721, 315960, 321198, 326438, 331677, 336915, 342154, 347392, 352631, 357870, 363108, 368347, 373586, 378824, 384064] - #正拳第3击:% - data3 = [0, 26357, 32469, 38580, 44692, 50804, 56915, 63028, 69140, 75252, 81363, 87475, 93587, 99699, 105810, 111923, 118035, 124147, 130258, 136370, 142482, 148593, 154705, 160817, 166930, 173041, 179153, 185265, 191377, 197488, 203600, 209712, 215825, 221936, 228048, 234160, 240272, 246383, 252495, 258607, 264718, 270830, 276943, 283055, 289166, 295278, 301390, 307502, 313613, 319725, 325838, 331950, 338061, 344173, 350285, 356396, 362508, 368620, 374732, 380843, 386956, 393068, 399180, 405291, 411403, 417515, 423627, 429738, 435851, 441963, 448074] - #高踢攻击力:% - data4 = [0, 56479, 69576, 82674, 95770, 108867, 121963, 135060, 148157, 161254, 174351, 187447, 200545, 213641, 226738, 239834, 252932, 266029, 279125, 292222, 305319, 318416, 331512, 344609, 357707, 370803, 383900, 396996, 410094, 423191, 436287, 449384, 462480, 475578, 488674, 501771, 514869, 527965, 541062, 554158, 567255, 580352, 593449, 606546, 619642, 632740, 645836, 658933, 672029, 685127, 698224, 711320, 724417, 737514, 750611, 763707, 776804, 789902, 802998, 816095, 829191, 842289, 855385, 868482, 881579, 894675, 907773, 920869, 933966, 947062, 960160] - #终结攻击拳击攻击力:% - data5 = [0, 82837, 102045, 121254, 140463, 159671, 178880, 198089, 217298, 236506, 255714, 274924, 294132, 313340, 332550, 351758, 370966, 390176, 409384, 428592, 447802, 467010, 486218, 505427, 524636, 543845, 563053, 582262, 601471, 620679, 639888, 659097, 678305, 697514, 716723, 735931, 755141, 774349, 793557, 812765, 831975, 851183, 870392, 889601, 908809, 928018, 947227, 966435, 985644, 1004853, 1024061, 1043270, 1062478, 1081687, 1100896, 1120104, 1139314, 1158522, 1177730, 1196940, 1216148, 1235356, 1254566, 1273774, 1292982, 1312191, 1331400, 1350608, 1369817, 1389026, 1408234] - #终结攻击拳击冲击波攻击力:% - data6 = [0, 131786, 162346, 192904, 223464, 254023, 284582, 315142, 345701, 376260, 406819, 437379, 467937, 498497, 529057, 559615, 590175, 620734, 651293, 681852, 712412, 742970, 773530, 804090, 834648, 865208, 895767, 926326, 956885, 987445, 1018003, 1048563, 1079123, 1109681, 1140241, 1170800, 1201360, 1231918, 1262478, 1293038, 1323596, 1354156, 1384715, 1415274, 1445833, 1476393, 1506951, 1537511, 1568071, 1598629, 1629189, 1659748, 1690307, 1720866, 1751426, 1781984, 1812544, 1843104, 1873662, 1904222, 1934781, 1965340, 1995899, 2026459, 2057018, 2087577, 2118137, 2148695, 2179255, 2209814, 2240373] - 攻击次数 = 1 - 攻击次数2 = 1 - 攻击次数3 = 1 - 攻击次数4 = 1 - 攻击次数5 = 1 - 攻击次数6 = 1 - 攻击次数7 = 1 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能20(被动技能): - 名称 = '拳套掌握' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['烈焰焚步','双重释放', '极武霸皇踢', '焚火逐日拳'] - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 1.0 - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if 武器类型 == '拳套': - return 0.9 - else: - return 1.0 - -class 技能21(职业主动技能): - 名称 = '双重释放' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - CD = 145 - data0 = 0 - 攻击次数1 = 0 - def 等效百分比(self, 武器类型): - return (self.data0) - -class 技能22(职业主动技能): - 名称 = '肘击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 2892.2 - # 成长 = 326.8 - data0 = [0, 2610, 2874, 3138, 3402, 3668, 3931, 4197, 4461, 4727, 4991, 5255, 5520, 5786, 6049, 6315, 6578, 6844, 7109, 7373, 7637, 7903, 8167, 8432, 8698, 8962, 9227, 9490, 9757, 10020, 10286, 10551, 10815, 11079, 11344, 11607, 11875, 12138, 12403, 12668, 12932, 13197, 13462, 13727, 13992, 14255, 14520, 14785, 15050, 15315, 15579, 15844, 16109, 16372, 16639, 16903, 17167, 17432, 17696, 17962, 18227, 18490, 18757, 19020, 19285, 19550, 19815, 20079, 20344, 20607, 20874] - - CD = 6 - TP成长 = 0.1 - TP上限 = 5 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·散打·男一觉序号 = 0 -归元·散打·男二觉序号 = 0 -归元·散打·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·散打·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·散打·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·散打·男三觉序号 = 技能序号[i.名称] - -归元·散打·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·散打·男护石选项.append(i.名称) - -归元·散打·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·散打·男符文选项.append(i.名称) - - -class 归元·散打·男角色属性(角色属性): - 实际名称 = '归元·散打·男' - 角色 = '格斗家(男)' - 职业 = '散打' - - 武器选项 = ['拳套', '臂铠'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.04 - - # 额外加成 - 二挡关联 = '无' - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - # 武极取整问题重写以下函数 - def 面板物理攻击力(self): - 面板物理攻击 = (self.物理攻击力 + self.进图物理攻击力) - for i in self.技能栏: - try: - 面板物理攻击 *= i.物理攻击力倍率(self.武器类型) - except: - pass - # 武极48级被动的运算取整必须在其他物攻提升率之前 - 面板物理攻击 = int(面板物理攻击) * (1 + self.百分比三攻) * (1 + self.年宠技能 * - 0.10 + self.斗神之吼秘药 * 0.12 + self.白兔子技能 * 0.20) - return 面板物理攻击 - - def 站街物理攻击力(self): - 站街物理攻击 = self.物理攻击力 - for i in self.技能栏: - try: - 站街物理攻击 *= i.物理攻击力倍率(self.武器类型) - except: - pass - 站街物理攻击 = int(站街物理攻击) - return 站街物理攻击 - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 整合二挡伤害 - 总伤害 = 0 - for i in self.技能栏: - if self.二挡关联 != '无': - if (i.名称 == '瞬影连环踢' and self.二挡关联 == '二挡:瞬影连环踢') or (i.名称 == '烈火强拳' and self.二挡关联 == '二挡:烈火强拳') or (i.名称 == '炼狱坠星腿' and self.二挡关联 == '二挡:炼狱坠星腿'): - 技能总伤害[self.技能序号[i.名称]] += 技能总伤害[self.技能序号['烈焰焚步']] - 技能总伤害[self.技能序号['烈焰焚步']] *= 0 - - if i.名称 != '烈焰焚步': - 总伤害 += 技能总伤害[self.技能序号[i.名称]] - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 归元·散打·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·散打·男角色属性() - self.角色属性A = 归元·散打·男角色属性() - self.角色属性B = 归元·散打·男角色属性() - self.一觉序号 = 归元·散打·男一觉序号 - self.二觉序号 = 归元·散打·男二觉序号 - self.三觉序号 = 归元·散打·男三觉序号 - self.护石选项 = deepcopy(归元·散打·男护石选项) - self.符文选项 = deepcopy(归元·散打·男符文选项) - - def 界面(self): - super().界面() - - self.二挡关联选择 = MyQComboBox(self.main_frame2) - self.二挡关联选择.addItem('二挡:瞬影连环踢') - self.二挡关联选择.addItem('二挡:烈火强拳') - self.二挡关联选择.addItem('二挡:炼狱坠星腿') - self.二挡关联选择.setCurrentIndex(0) - self.二挡关联选择.resize(150, 20) - self.二挡关联选择.move(320, 270) - - self.职业存档.append(('二挡关联选择', self.二挡关联选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.觉醒选择状态 == 2: - 属性.二挡关联 = self.二挡关联选择.currentText() - else: - 属性.二挡关联 = '无' diff --git a/Characters/归元·柔道家·女.py b/Characters/归元·柔道家·女.py deleted file mode 100644 index 4327497e..00000000 --- a/Characters/归元·柔道家·女.py +++ /dev/null @@ -1,554 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(职业主动技能): - 名称 = '背摔' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - #基础 = 1386.43 * 1.092 - #成长 = 156.57 * 1.092 - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - data0 = [int(i*1.085*1.2150*1.051) for i in [0, 1685, 1859, 2029, 2197, 2367, 2541, 2711, 2880, 3053, 3224, 3394, 3562, 3736, 3906, 4081, 4251, 4418, 4590, 4763, 4934, 5101, 5275, 5446, 5619, 5787, 5958, 6128, 6302, 6473, 6640, 6814, 6984, 7156, 7323, - 7497, 7668, 7842, 8009, 8179, 8351, 8524, 8691, 8863, 9036, 9207, 9380, 9548, 9719, 9889, 10063, 10231, 10401, 10575, 10746, 10913, 11084, 11257, 11429, 11603, 11770, 11941, 12111, 12285, 12453, 12624, 12797, 12968, 13136, 13309, 13480]] - - -class 技能1(职业主动技能): - 名称 = '抛投' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - #基础 = 3164.50 * 1.077 - #成长 = 357.47 * 1.077 - CD = 8.5 - TP成长 = 0.1 - TP上限 = 5 - data0 = [int(i*1.085*1.2228*1.052) for i in [0, 3793, 4180, 4564, 4948, 5334, 5719, 6104, 6489, 6872, 7259, 7643, 8029, 8414, 8798, 9184, 9568, 9954, 10338, 10723, 11108, 11493, 11878, 12263, 12648, 13033, 13417, 13803, 14187, 14573, 14957, 15342, 15727, 16112, 16499, - 16882, 17266, 17653, 18037, 18423, 18807, 19191, 19578, 19961, 20348, 20732, 21118, 21502, 21887, 22272, 22657, 23042, 23427, 23811, 24197, 24581, 24967, 25352, 25736, 26122, 26506, 26892, 27276, 27661, 28046, 28431, 28816, 29201, 29587, 29971, 30355]] - - -class 技能2(被动技能): - 名称 = '摔技强化' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能2 = ['裂石破天', '死亡摇篮'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 10: - return round(1 + 0.01 * self.等级, 5) - else: - return round(1.1 + 0.02 * (self.等级 - 10), 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.65 - - -class 技能3(职业主动技能): - 名称 = '折颈' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 41 - #基础 = 3430.65 - #成长 = 387.38 - CD = 7.7 - TP成长 = 0.1 - TP上限 = 5 - data0 = [int(i*1.085*1.2836*1.051) for i in [0, 3818, 4205, 4593, 4980, 5366, 5754, 6141, 6529, 6916, 7304, 7691, 8079, 8466, 8854, 9241, 9629, 10016, 10402, 10790, 11177, 11565, 11952, 12340, 12727, 13115, 13502, 13890, 14277, 14665, 15052, 15439, 15825, 16213, 16600, - 16988, 17375, 17763, 18150, 18538, 18925, 19313, 19700, 20088, 20475, 20861, 21249, 21636, 22024, 22411, 22799, 23186, 23574, 23961, 24349, 24736, 25124, 25511, 25897, 26285, 26672, 27060, 27447, 27834, 28222, 28609, 28997, 29384, 29772, 30159, 30547]] - - -class 技能4(职业主动技能): - 名称 = '野蛮冲撞' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - #基础 = 4091.91 * 1.05 - #成长 = 462.08 * 1.05 - CD = 8.0 - TP成长 = 0.1 - TP上限 = 5 - data0 = [int(i*1.085*1.2650*1.051) for i in [0, 4782, 5267, 5752, 6238, 6723, 7208, 7693, 8178, 8664, 9149, 9634, 10119, 10604, 11089, 11574, 12059, 12544, 13029, 13515, 14000, 14485, 14970, 15455, 15940, 16425, 16910, 17395, 17880, 18366, 18851, 19336, 19821, 20306, - 20791, 21276, 21761, 22246, 22734, 23219, 23704, 24189, 24674, 25159, 25644, 26129, 26614, 27099, 27585, 28070, 28555, 29040, 29525, 30010, 30495, 30980, 31465, 31950, 32436, 32921, 33406, 33891, 34376, 34861, 35346, 35831, 36316, 36801, 37287, 37772, 38257]] - - -class 技能5(被动技能): - 名称 = '强力抱摔' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能6(职业主动技能): - 名称 = '霹雳肘击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #基础 = 5348.07 * 1.05 - #成长 = 603.95 * 1.05 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.2505*1.051) for i in [0, 6250, 6885, 7518, 8153, 8786, 9422, 10055, 10689, 11322, 11957, 12591, 13226, 13859, 14494, 15129, 15763, 16397, 17031, 17665, 18298, 18934, 19567, 20202, 20835, 21470, 22104, 22739, 23372, 24006, 24640, 25275, 25908, 26543, - 27176, 27811, 28445, 29080, 29713, 30348, 30982, 31616, 32251, 32884, 33519, 34152, 34788, 35421, 36056, 36689, 37323, 37958, 38592, 39225, 39860, 40493, 41129, 41762, 42397, 43030, 43665, 44298, 44933, 45568, 46201, 46836, 47469, 48105, 48738, 49373, 50006]] - - -class 技能7(职业主动技能): - 名称 = '空绞锤' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #基础 = 3787.39 * 1.078 - #成长 = 436.65 * 1.078 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.2555*1.051) for i in [0, 4553, 5017, 5485, 5963, 6434, 6901, 7370, 7845, 8318, 8787, 9251, 9727, 10194, 10668, 11137, 11611, 12078, 12553, 13021, 13497, 13960, 14428, 14903, 15376, 15850, 16317, 16784, 17262, 17732, 18194, 18664, 19136, 19616, - 20083, 20551, 21018, 21494, 21970, 22432, 22901, 23374, 23843, 24318, 24784, 25261, 25728, 26203, 26668, 27141, 27610, 28081, 28551, 29024, 29494, 29966, 30438, 30901, 31376, 31847, 32314, 32791, 33257, 33733, 34201, 34673, 35138, 35614, 36082, 36557, 37024]] - - -class 技能8(职业主动技能): - 名称 = '霹雳冲击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #基础 = 2559.92 - #成长 = 289.04 - #基础2 = 5835.91 - #成长2 = 659.11 - 攻击次数 = 1 - 攻击次数2 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.2475*1.05) for i in [0, 3142, 3461, 3780, 4099, 4418, 4736, 5056, 5374, 5694, 6011, 6331, 6649, 6969, 7286, 7606, 7924, 8244, 8561, 8881, 9199, 9519, 9838, 10156, 10475, 10794, 11113, 11431, 11750, 12069, 12388, 12708, 13025, 13345, 13663, - 13983, 14300, 14620, 14938, 15258, 15575, 15895, 16213, 16533, 16851, 17170, 17489, 17808, 18127, 18445, 18764, 19083, 19403, 19722, 20040, 20359, 20678, 20997, 21315, 21634, 21953, 22272, 22592, 22909, 23229, 23547, 23867, 24184, 24504, 24822, 25142]] - data1 = [int(i*1.085*1.2475*1.05) for i in [0, 7164, 7892, 8619, 9346, 10073, 10799, 11527, 12254, 12981, 13708, 14435, 15161, 15889, 16616, 17342, 18069, 18796, 19524, 20251, 20978, 21705, 22432, 23157, 23884, 24612, 25339, 26066, 26793, 27520, 28248, 28975, 29702, 30428, - 31154, 31881, 32609, 33336, 34063, 34790, 35517, 36245, 36971, 37698, 38425, 39152, 39878, 40605, 41333, 42060, 42786, 43513, 44240, 44968, 45695, 46422, 47149, 47875, 48601, 49329, 50056, 50783, 51510, 52237, 52965, 53692, 54419, 55146, 55871, 56598, 57326]] - - -class 技能9(职业主动技能): - 名称 = '螺旋彗星落' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #基础 = 8630.10 * 1.078 - #成长 = 974.93 * 1.078 - data0 = [int(i*1.085*1.2871*1.052) for i in [0, 10354, 11405, 12456, 13507, 14557, 15608, 16659, 17710, 18760, 19811, 20863, 21911, 22962, 24014, 25064, 26115, 27166, 28216, 29267, 30318, 31369, 32419, 33470, 34519, 35570, 36621, 37672, 38722, 39773, 40824, 41875, 42925, - 43976, 45027, 46076, 47127, 48178, 49228, 50279, 51330, 52380, 53431, 54482, 55533, 56583, 57633, 58683, 59734, 60785, 61836, 62886, 63937, 64988, 66039, 67089, 68140, 69189, 70240, 71291, 72342, 73392, 74443, 75494, 76546, 77596, 78647, 79698, 80747, 81798, 82848]] - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - self.CD *= 0.88 - elif x == 1: - self.倍率 *= 1.29 - self.CD *= 0.88 - # 附加效果:攻击力+8%更变至攻击力+17% - - -class 技能10(职业主动技能): - 名称 = '地狱摇篮(抓轰炮)' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #基础 = 13623.29 * 1.078 - #成长 = 1539.26 * 1.078 - data0 = [int(i*1.085*1.2673*1.05) for i in [0, 16349, 18008, 19668, 21325, 22985, 24642, 26302, 27961, 29619, 31278, 32936, 34595, 36254, 37912, 39571, 41229, 42889, 44548, 46206, 47865, 49523, 51182, 52841, 54499, 56158, 57819, 59475, 61136, 62794, 64453, 66112, 67770, 69429, 71087, - 72746, 74406, 76063, 77723, 79380, 81040, 82699, 84357, 86016, 87674, 89333, 90993, 92650, 94310, 95967, 97627, 99286, 100944, 102603, 104262, 105920, 107579, 109237, 110896, 112556, 114214, 115873, 117531, 119190, 120849, 122507, 124166, 125824, 127483, 129143, 130800]] - CD = 30.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.32 - self.CD *= 0.9 - # 附加效果:最后一击攻击力+30%更变至最后一击攻击力+59% ; [抓轰炮]攻击力 +10%更变至[抓轰炮]攻击力 +19% - - -class 技能11(职业主动技能): - 名称 = '裂石破天' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 15889.25 * 1.10 - # 成长 = 1794.98 * 1.10 - # 落地物理攻击力: - # 学习[随机应变]后形态 - data0 = [int(i*1.085*1.2495*1.05) for i in [0, 11790, 12987, 14185, 15379, 16577, 17773, 18967, 20165, 21362, 22557, 23755, 24950, 26145, 27343, 28537, 29734, 30932, 32128, 33326, 34519, 35715, 36913, 38110, 39305, 40502, 41697, 42892, 44090, 45287, 46483, 47680, 48875, - 50070, 51268, 52465, 53660, 54857, 56053, 57250, 58445, 59640, 60838, 62035, 63232, 64428, 65623, 66817, 68015, 69212, 70410, 71605, 72799, 73997, 75193, 76390, 77587, 78782, 79980, 81175, 82370, 83568, 84763, 85960, 87157, 88352, 89548, 90745, 91940, 93137, 94335]] - CD = 45 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.31 - # 最后一击冲击波攻击力+17%更变至最后一击冲击波攻击力+28% ; [随机应变]冲击波攻击力增加量+13%更变至[随机应变]冲击波攻击力增加量+21% - - -class 技能12(被动技能): - 名称 = '抓取奥义' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.09 + 0.015 * self.等级, 5) - - -class 技能13(职业主动技能): - 名称 = '末日风暴' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - #基础 = 1340.79 - #成长 = 406.02 - #基础2 = 20945.11 - #成长2 = 6317.08 - 攻击次数2 = 1 - # 倍率 = 1.107 - CD = 140.0 - data0 = [int(i*1.085*1.2217) for i in [0, 1937, 2387, 2834, 3283, 3734, 4183, 4632, 5080, 5531, 5979, 6428, 6878, 7326, 7778, 8225, 8674, 9124, 9573, 10021, 10472, 10921, 11369, 11818, 12267, 12718, 13166, 13615, 14064, 14515, 14964, 15412, 15861, 16311, 16759, - 17208, 17659, 18107, 18556, 19006, 19454, 19905, 20352, 20802, 21252, 21702, 22150, 22599, 23048, 23499, 23947, 24395, 24846, 25294, 25745, 26193, 26642, 27092, 27541, 27989, 28439, 28888, 29337, 29786, 30235, 30686, 31133, 31583, 32032, 32480, 32932]] - data1 = [int(i*1.085*1.2218) for i in [0, 30164, 37158, 44150, 51148, 58143, 65136, 72131, 79124, 86120, 93114, 100109, 107102, 114098, 121093, 128087, 135082, 142077, 149071, 156065, 163059, 170053, 177049, 184043, 191037, 198032, 205026, 212023, 219016, 226011, 233004, 240000, 246993, 253989, 260983, - 267978, 274973, 281966, 288960, 295956, 302952, 309945, 316940, 323934, 330930, 337924, 344918, 351912, 358907, 365902, 372896, 379890, 386885, 393879, 400875, 407869, 414864, 421858, 428853, 435846, 442841, 449836, 456831, 463825, 470819, 477813, 484810, 491804, 498798, 505792, 512787]] - - -class 技能14(职业主动技能): - 名称 = '空绞连锤(抓轰炮)' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - #基础 = 1170.88 - #成长 = 132.08 - data0 = [int(i*1.085*1.2416*1.05) for i in [0, 1475, 1624, 1773, 1924, 2074, 2222, 2372, 2523, 2672, 2821, 2972, 3121, 3270, 3421, 3569, 3720, 3869, 4019, 4168, 4319, 4468, 4617, 4767, 4915, 5067, 5216, 5365, 5516, 5666, 5814, 5963, 6115, 6263, - 6413, 6563, 6712, 6862, 7013, 7161, 7310, 7461, 7612, 7760, 7909, 8061, 8209, 8359, 8507, 8659, 8808, 8956, 9107, 9257, 9406, 9556, 9706, 9856, 10005, 10155, 10305, 10454, 10605, 10754, 10902, 11053, 11203, 11352, 11501, 11653, 11801]] - #基础2 = 14058.93 - #成长2 = 1588.06 - data1 = [int(i*1.085*1.2416*1.05) for i in [0, 17712, 19510, 21308, 23104, 24901, 26698, 28495, 30293, 32090, 33888, 35684, 37481, 39279, 41076, 42872, 44669, 46465, 48264, 50060, 51857, 53653, 55451, 57250, 59046, 60844, 62640, 64437, 66234, 68032, 69829, 71625, 73422, 75220, 77017, - 78813, 80610, 82407, 84206, 86003, 87799, 89597, 91393, 93191, 94987, 96785, 98581, 100378, 102174, 103973, 105770, 107566, 109363, 111161, 112959, 114755, 116552, 118349, 120146, 121944, 123741, 125538, 127334, 129131, 130929, 132726, 134522, 136319, 138115, 139915, 141712]] - 攻击次数2 = 1 - # 倍率 = 1.132 - CD = 30.0 - # TP成长 = 0.10 - # TP基础 = 5 - # TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.12 - elif x == 1: - self.倍率 *= 1.21 - # 攻击力 +12%更变至攻击力 +21% - - -class 技能15(被动技能): - 名称 = '极手奥义' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能16(职业主动技能): - 名称 = '死亡摇篮' - 所在等级 = 70 - 等级上限 = 60 - 基础等级 = 18 - # 基础 = 25524.88 * 1.10 - # 成长 = 2883.51 * 1.10 - # 旋转攻击物理攻击力: - data0 = [int(i*1.085*1.2426*1.052) for i in [0, 18939, 20859, 22781, 24704, 26624, 28546, 30468, 32387, 34309, 36233, 38152, 40074, 41996, 43916, 45838, 47761, 49682, 51603, 53525, 55444, 57366, 59290, 61210, 63131, 65053, 66974, 68895, 70817, 72739, 74660, 76582, 78502, 80423, 82345, - 84266, 86187, 88110, 90031, 91952, 93874, 95794, 97715, 99639, 101560, 103479, 105403, 107323, 109243, 111168, 113088, 115008, 116930, 118852, 120771, 122695, 124617, 126536, 128458, 130380, 132300, 134222, 136145, 138065, 139987, 141909, 143828, 145750, 147674, 149593, 151515]] - CD = 50 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.31 - - -class 技能17(职业主动技能): - 名称 = '末日摇篮' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - #基础 = 7654.70 - #成长 = 864.27 - #基础2 = 30620.97 - #成长2 = 3457.06 - data0 = [int(i*1.085*1.2416*1.052) for i in [0, 9371, 10321, 11272, 12223, 13174, 14124, 15076, 16026, 16976, 17927, 18878, 19829, 20779, 21731, 22681, 23631, 24583, 25533, 26484, 27435, 28386, 29336, 30286, 31238, 32188, 33139, 34090, 35041, 35991, 36942, 37893, 38843, - 39795, 40745, 41696, 42646, 43597, 44548, 45498, 46450, 47400, 48351, 49302, 50252, 51203, 52154, 53105, 54055, 55006, 55957, 56907, 57858, 58809, 59760, 60710, 61662, 62612, 63562, 64514, 65464, 66415, 67367, 68317, 69267, 70217, 71169, 72119, 73070, 74021, 74972]] - data1 = [int(i*1.085*1.2416*1.052) for i in [0, 37486, 41286, 45089, 48895, 52696, 56498, 60304, 64105, 67907, 71709, 75515, 79317, 83118, 86924, 90727, 94527, 98333, 102134, 105937, 109743, 113543, 117346, 121147, 124953, 128755, 132557, 136363, 140165, 143966, 147772, 151572, 155375, 159181, 162983, - 166784, 170586, 174392, 178195, 181995, 185801, 189604, 193404, 197210, 201011, 204813, 208619, 212421, 216223, 220024, 223830, 227633, 231433, 235239, 239042, 242843, 246649, 250450, 254252, 258058, 261859, 265662, 269467, 273269, 277071, 280872, 284678, 288481, 292281, 296087, 299889]] - 攻击次数2 = 1 - # 倍率 = 1.1 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3225 - self.CD *= 0.9 - # 攻击力+15% ;生成总攻击力15%伤害的旋风(多段,15次攻击,每次1%) - - -class 技能18(职业主动技能): - 名称 = '风暴之舞' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - #基础 = 5308.98 - #成长 = 600.99 - #基础2 = 14760.91 - #成长2 = 1665.05 - data0 = [int(i*1.085*1.2376*1.053) for i in [0, 6501, 7162, 7819, 8481, 9139, 9798, 10458, 11119, 11778, 12437, 13098, 13754, 14416, 15073, 15733, 16393, 17052, 17713, 18371, 19031, 19690, 20351, 21009, 21669, 22330, 22987, 23649, 24307, 24967, 25626, 26287, 26946, 27605, - 28266, 28922, 29585, 30242, 30902, 31561, 32222, 32881, 33540, 34201, 34858, 35520, 36177, 36838, 37499, 38156, 38817, 39475, 40135, 40795, 41454, 42114, 42774, 43432, 44092, 44752, 45410, 46070, 46730, 47389, 48049, 48709, 49368, 50028, 50688, 51346, 52006]] - data1 = [int(i*1.085*1.2376*1.053) for i in [0, 18069, 19900, 21735, 23566, 25399, 27231, 29068, 30900, 32733, 34566, 36398, 38231, 40064, 41897, 43728, 45563, 47395, 49227, 51064, 52896, 54728, 56561, 58395, 60226, 62059, 63892, 65725, 67558, 69392, 71226, 73059, 74892, 76724, 78557, - 80389, 82223, 84055, 85887, 87721, 89553, 91387, 93222, 95054, 96887, 98721, 100554, 102385, 104217, 106052, 107885, 109717, 111551, 113384, 115216, 117049, 118883, 120715, 122548, 124380, 126215, 128048, 129880, 131713, 133547, 135379, 137212, 139044, 140878, 142712, 144544]] - 攻击次数 = 6 - 攻击次数2 = 1 - # 倍率 = 1.1 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*0.56) for x in self.data0] - self.攻击次数 = 13 - # self.基础 *= 0.56 - # self.成长 *= 0.56 - # self.攻击次数 = 13 - self.倍率 *= 1.19 - # 多段攻击力减少44% ;次数+7;攻击力+19% - - -class 技能19(职业主动技能): - 名称 = '苍宇彗星落' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #基础 = 8601.87 - #成长 = 2598.03 - #基础2 = 77442.63 - #成长2 = 23385.07 - data0 = [int(i*1.085*1.2257) for i in [0, 12321, 15178, 18036, 20895, 23751, 26609, 29466, 32322, 35179, 38038, 40895, 43751, 46608, 49467, 52324, 55183, 58039, 60896, 63753, 66611, 69467, 72324, 75181, 78041, - 80897, 83755, 86612, 89469, 92325, 95183, 98041, 100898, 103755, 106613, 109470, 112328, 115184, 118042, 120899, 123757, 126613, 129470, 132328, 135185, 138043, 140901, 143758, 146615, 149471, 152329]] - data1 = [int(i*1.085*1.2257) for i in [0, 110922, 136642, 162361, 188084, 213805, 239528, 265246, 290968, 316690, 342409, 368134, 393853, 419574, 445295, 471016, 496738, 522458, 548178, 573901, 599622, 625343, 651064, 676785, 702506, - 728228, 753950, 779670, 805390, 831113, 856833, 882553, 908276, 933996, 959718, 985438, 1011160, 1036882, 1062601, 1088324, 1114045, 1139764, 1165486, 1191208, 1216930, 1242649, 1268369, 1294093, 1319814, 1345534, 1371256]] - 攻击次数2 = 1 - # 倍率 = 1.1 - CD = 180 - - -class 技能20(被动技能): - 名称 = '光芒之翼' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '送葬舞步' - 所在等级 = 95 - 等级上限 = 11 - 基础等级 = 6 - data0 = [int(i*1.085*1.2337*1.053) for i in [0, 10553, 11623, 12694, 13765, 14835, 15906, 16977, 18047, 19118, 20188, 21259, 22329, 23400, 24471, 25541, 26612, 27682, 28753, 29824, 30894, 31965, 33036, 34106, 35177, 36247, 37318, 38388, 39459, 40530, 41600, 42671, 43741, - 44812, 45883, 46953, 48024, 49095, 50165, 51236, 52306, 53377, 54448, 55518, 56589, 57659, 58730, 59801, 60871, 61942, 63012, 64083, 65153, 66224, 67295, 68365, 69436, 70507, 71577, 72648, 73718, 74789, 75860, 76930, 78001, 79072, 80142, 81213, 82283, 83354, 84424]] - data1 = [int(i*1.085*1.2337*1.053) for i in [0, 47487, 52305, 57123, 61940, 66759, 71576, 76394, 81212, 86029, 90847, 95665, 100482, 105300, 110119, 114936, 119753, 124571, 129389, 134206, 139024, 143842, 148661, 153478, 158295, 163112, 167931, 172748, 177565, 182384, 187202, 192019, 196837, 201655, - 206472, 211290, 216107, 220925, 225744, 230561, 235378, 240197, 245014, 249831, 254649, 259467, 264285, 269103, 273920, 278738, 283556, 288373, 293190, 298009, 302827, 307644, 312462, 317280, 322097, 326915, 331733, 336550, 341369, 346186, 351004, 355822, 360639, 365456, 370275, 375092, 379909]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.2337*1.053) for i in [0, 47487, 52305, 57123, 61940, 66759, 71576, 76394, 81212, 86029, 90847, 95665, 100482, 105300, 110119, 114936, 119753, 124571, 129389, 134206, 139024, 143842, 148661, 153478, 158295, 163112, 167931, 172748, 177565, 182384, 187202, 192019, 196837, 201655, - 206472, 211290, 216107, 220925, 225744, 230561, 235378, 240197, 245014, 249831, 254649, 259467, 264285, 269103, 273920, 278738, 283556, 288373, 293190, 298009, 302827, 307644, 312462, 317280, 322097, 326915, 331733, 336550, 341369, 346186, 351004, 355822, 360639, 365456, 370275, 375092, 379909]] - 攻击次数3 = 1 - CD = 60.0 - - -class 技能22(职业主动技能): - 名称 = '女皇时代辉煌舞台' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 关联技能 = ['无'] - data0 = [int(i*1.085*1.2251) for i in [0, 34656, 42693, 50729, 58766, 66802, 74838, 82875, 90911, 98948, 106984, 115020, 123057, 131093, 139129, 147166, 155202, 163239, 171275, 179311, 187348, 195384, 203421, 211457, 219493, 227530, 235566, 243602, 251639, 259675, 267712, 275748, 283784, 291821, 299857, - 307894, 315930, 323966, 332003, 340039, 348076, 356112, 364148, 372185, 380221, 388257, 396294, 404330, 412367, 420403, 428439, 436476, 444512, 452549, 460585, 468621, 476658, 484694, 492730, 500767, 508803, 516840, 524876, 532912, 540949, 548985, 557022, 565058, 573094, 581131, 589167]] - data1 = [int(i*1.085*1.2251) for i in [0, 69313, 85386, 101459, 117532, 133604, 149677, 165750, 181823, 197896, 213968, 230041, 246114, 262187, 278259, 294332, 310405, 326478, 342551, 358623, 374696, 390769, 406842, 422914, 438987, 455060, 471133, 487205, 503278, 519351, 535424, 551497, 567569, 583642, 599715, - 615788, 631860, 647933, 664006, 680079, 696152, 712224, 728297, 744370, 760443, 776515, 792588, 808661, 824734, 840807, 856879, 872952, 889025, 905098, 921170, 937243, 953316, 969389, 985461, 1001534, 1017607, 1033680, 1049753, 1065825, 1081898, 1097971, 1114044, 1130116, 1146189, 1162262, 1178335]] - 攻击次数2 = 3 - data2 = [int(i*1.085*1.2251) for i in [0, 17328, 21346, 25364, 29383, 33401, 37419, 41437, 45455, 49474, 53492, 57510, 61528, 65546, 69564, 73583, 77601, 81619, 85637, 89655, 93674, 97692, 101710, 105728, 109746, 113765, 117783, 121801, 125819, 129837, 133856, 137874, 141892, 145910, 149928, - 153947, 157965, 161983, 166001, 170019, 174038, 178056, 182074, 186092, 190110, 194128, 198147, 202165, 206183, 210201, 214219, 218238, 222256, 226274, 230292, 234310, 238329, 242347, 246365, 250383, 254401, 258420, 262438, 266456, 270474, 274492, 278511, 282529, 286547, 290565, 294583]] - 攻击次数3 = 6 - - CD = 290 - - def 加成倍率(self, 武器类型): - return 0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·柔道家·女一觉序号 = 0 -归元·柔道家·女二觉序号 = 0 -归元·柔道家·女三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·柔道家·女一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·柔道家·女二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·柔道家·女三觉序号 = 技能序号[i.名称] - -归元·柔道家·女护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·柔道家·女护石选项.append(i.名称) - -归元·柔道家·女符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·柔道家·女符文选项.append(i.名称) - - -class 归元·柔道家·女角色属性(角色属性): - - 实际名称 = '归元·柔道家·女' - 角色 = '格斗家(女)' - 职业 = '柔道家' - - 武器选项 = ['手套', '臂铠', '东方棍', '爪'] - - 类型选择 = ['物理固伤'] - - 类型 = '物理固伤' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.07 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 归元·柔道家·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·柔道家·女角色属性() - self.角色属性A = 归元·柔道家·女角色属性() - self.角色属性B = 归元·柔道家·女角色属性() - self.一觉序号 = 归元·柔道家·女一觉序号 - self.二觉序号 = 归元·柔道家·女二觉序号 - self.三觉序号 = 归元·柔道家·女三觉序号 - self.护石选项 = deepcopy(归元·柔道家·女护石选项) - self.符文选项 = deepcopy(归元·柔道家·女符文选项) - - def 界面(self): - super().界面() - - self.死亡风暴次数选择 = MyQComboBox(self.main_frame2) - for i in range(1, 14): - self.死亡风暴次数选择.addItem('末日风暴:' + str(i) + '段') - self.死亡风暴次数选择.setCurrentIndex(12) - self.死亡风暴次数选择.resize(120, 20) - self.死亡风暴次数选择.move(325, 390) - - self.职业存档.append(('死亡风暴次数选择', self.死亡风暴次数选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.技能栏[属性.技能序号['末日风暴']].攻击次数 *= self.死亡风暴次数选择.currentIndex() + 1 diff --git a/Characters/归元·柔道家·男.py b/Characters/归元·柔道家·男.py deleted file mode 100644 index 1b0018d9..00000000 --- a/Characters/归元·柔道家·男.py +++ /dev/null @@ -1,609 +0,0 @@ -from PublicReference.carry.base import * - -# 武器选择 -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '臂铠': -# return round(self.CD / self.恢复 * 1.1, 1) -# if 武器类型 == '手套': -# return round(self.CD / self.恢复 * 0.9, 1) -# if 武器类型 == '东方棍': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '爪': -# return round(self.CD / self.恢复 * 1, 1) - -# class Buff技能(主动技能): -# 名称="暴力抓取" -# 所在等级=15 -# 等级上限=20 -# 基础等级=10 -# def 加成倍率(self): -# if self.等级==0: -# return 1.0 -# else: -# return round(2.08,5) - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(职业主动技能): - 名称 = '膝击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 50 - data0 = [int(i*1.085*1.22) for i in [0, 188, 207, 227, 246, 265, 284, 303, 322, 341, 361, 380, 399, 418, 437, 456, 475, 495, 514, 533, 552, 571, 590, 609, 629, 648, 667, 686, 705, 724, 743, 763, 782, 801, 820, 839, 858, 878, 897, 916, 935, 954, 973, 992, 1012, 1031, 1050, 1069, 1088, 1107, 1126, 1146, 1165, 1184, 1203, 1222, 1241, 1260, 1280, 1299, 1318, 1337, 1356, 1375, 1394, 1414, 1433, 1452, 1471, 1490, 1509]] - 攻击次数 = 2 - data1 = [int(i*1.085*1.22) for i in [0, 1063, 1171, 1278, 1386, 1494, 1602, 1710, 1818, 1926, 2034, 2141, 2249, 2357, 2465, 2573, 2681, 2789, 2896, 3004, 3112, 3220, 3328, 3436, 3544, 3652, 3759, 3867, 3975, 4083, 4191, 4299, 4407, 4514, 4622, 4730, 4838, 4946, 5054, 5162, 5270, 5377, 5485, 5593, 5701, 5809, 5917, 6025, 6132, 6240, 6348, 6456, 6564, 6672, 6780, 6887, 6995, 7103, 7211, 7319, 7427, 7535, 7643, 7750, 7858, 7966, 8074, 8182, 8290, 8398, 8505]] - 攻击次数2 = 1 - #冲击波 = 858.9387755 - #冲击波成长 = 97.06122449 - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能1(被动技能): - 名称 = '摔技强化' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.0 + 0.02 * self.等级, 5) - - -class 技能2(被动技能): - 名称 = '臂铠精通' - 所在等级 = 1 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['无'] - 冷却关联技能 = ['膝击', '抛投', '野蛮冲撞', '无情摔击', '空绞锤', '霹雳旋踢', '浮空凌云踢', - '疾波猛坠', '地狱风火轮', '裂石破天', '彗星冲击', '武莲华', '黑震旋风', '疾风闪电', '黑震流·陨灭'] - - def CD缩减倍率(self, 武器类型): - if 武器类型 == '臂铠': - return 0.9 - else: - return 1.0 - - -class 技能3(职业主动技能): - 名称 = '抛投' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.085*1.22) for i in [0, 871, 960, 1048, 1137, 1225, 1314, 1402, 1490, 1579, 1667, 1756, 1844, 1933, 2021, 2110, 2198, 2286, 2375, 2463, 2552, 2640, 2729, 2817, 2906, 2994, 3082, 3171, 3259, 3348, 3436, 3525, 3613, 3702, 3790, 3878, 3967, 4055, 4144, 4232, 4321, 4409, 4498, 4586, 4674, 4763, 4851, 4940, 5028, 5117, 5205, 5294, 5382, 5470, 5559, 5647, 5736, 5824, 5913, 6001, 6090, 6178, 6266, 6355, 6443, 6532, 6620, 6709, 6797, 6886, 6974]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.22) for i in [0, 1374, 1513, 1653, 1792, 1932, 2071, 2211, 2350, 2490, 2628, 2769, 2907, 3048, 3186, 3326, 3465, 3605, 3744, 3884, 4023, 4163, 4302, 4442, 4581, 4721, 4860, 5000, 5139, 5279, 5418, 5558, 5697, 5837, 5976, 6116, 6254, 6395, 6533, 6674, 6812, 6952, 7091, 7231, 7370, 7510, 7649, 7788, 7928, 8067, 8207, 8346, 8486, 8625, 8765, 8904, 9044, 9182, 9323, 9461, 9602, 9740, 9880, 10019, 10159, 10298, 10438, 10577, 10717, 10856, 10996]] - 攻击次数2 = 1 - # 基础 = 782.5555556 + 1234.555556 - # 成长 = 88.44444444 + 139.4444444 - #冲击波 = 1234.555556 - #冲击波成长 = 139.4444444 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能4(被动技能): - 名称 = '连环抓取' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - # 默认高阶 - return round(1.36 + 0.02 * self.等级, 5) - - -class 技能5(职业主动技能): - 名称 = '野蛮冲撞' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.085*1.227) for i in [0, 2186, 2408, 2629, 2851, 3073, 3295, 3517, 3738, 3960, 4182, 4404, 4626, 4847, 5069, 5291, 5513, 5735, 5956, 6178, 6400, 6622, 6844, 7065, 7287, 7509, 7731, 7953, 8174, 8396, 8618, 8840, 9062, 9283, 9505, 9727, 9949, 10171, 10392, 10614, 10836, 11058, 11280, 11501, 11723, 11945, 12167, 12389, 12610, 12832, 13054, 13276, 13498, 13719, 13941, 14163, 14385, 14607, 14828, 15050, 15272, 15494, 15716, 15937, 16159, 16381, 16603, 16825, 17046, 17268, 17490]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.227) for i in [0, 1311, 1444, 1577, 1711, 1844, 1977, 2110, 2243, 2376, 2509, 2642, 2775, 2908, 3041, 3174, 3307, 3441, 3574, 3707, 3840, 3973, 4106, 4239, 4372, 4505, 4638, 4771, 4904, 5038, 5171, 5304, 5437, 5570, 5703, 5836, 5969, 6102, 6235, 6368, 6501, 6634, 6768, 6901, 7034, 7167, 7300, 7433, 7566, 7699, 7832, 7965, 8098, 8231, 8365, 8498, 8631, 8764, 8897, 9030, 9163, 9296, 9429, 9562, 9695, 9828, 9961, 10095, 10228, 10361, 10494]] - 攻击次数2 = 1 - # 基础 = 1964.2 + 1177.925 - # 成长 = 221.8 + 133.075 - #冲击波 = 1177.925 - #冲击波成长 = 133.075 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '无情摔击' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 2996.6 - # 成长 = 338.4 - data0 = [int(i*1.085*1.22) for i in [0, 3335, 3673, 4012, 4350, 4689, 5027, 5365, 5704, 6042, 6381, 6719, 7057, 7396, 7734, 8073, 8411, 8749, 9088, 9426, 9764, 10103, 10441, 10780, 11118, 11456, 11795, 12133, 12472, 12810, 13148, 13487, 13825, 14164, 14502, 14840, 15179, 15517, 15855, 16194, 16532, 16871, 17209, 17547, 17886, 18224, 18563, 18901, 19239, 19578, 19916, 20255, 20593, 20931, 21270, 21608, 21947, 22285, 22623, 22962, 23300, 23638, 23977, 24315, 24654, 24992, 25330, 25669, 26007, 26346, 26684]] - #冲击波 = 2996.6 - #冲击波成长 = 338.4 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '空绞锤' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(i*1.085*1.22) for i in [0, 3061, 3371, 3682, 3992, 4303, 4613, 4924, 5234, 5545, 5855, 6166, 6476, 6787, 7098, 7408, 7719, 8029, 8340, 8650, 8961, 9271, 9582, 9892, 10203, 10513, 10824, 11135, 11445, 11756, 12066, 12377, 12687, 12998, 13308, 13619, 13929, 14240, 14551, 14861, 15172, 15482, 15793, 16103, 16414, 16724, 17035, 17345, 17656, 17966, 18277, 18588, 18898, 19209, 19519, 19830, 20140, 20451, 20761, 21072, 21382, 21693, 22003, 22314, 22625, 22935, 23246, 23556, 23867, 24177, 24488]] - # data1 = [0, 2754, 3034, 3313, 3593, 3872, 4152, 4431, 4711, 4990, 5270, 5549, 5829, 6108, 6388, 6667, 6947, 7226, 7506, 7785, 8065, 8344, 8624, 8903, 9183, 9462, 9742, 10021, 10301, 10580, 10860, 11139, 11418, 11698, 11977, 12257, 12536, 12816, 13095, 13375, 13654, 13934, 14213, 14493, 14772, 15052, 15331, 15611, 15890, 16170, 16449, 16729, 17008, 17288, 17567, 17847, 18126, 18406, 18685, 18965, 19244, 19524, 19803, 20083, 20362, 20642, 20921, 21200, 21480, 21759, 22039] - #冲击波 = 2474.513514 - #冲击波成长 = 279.4864865 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '霹雳旋踢' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 4019.216216 - # 成长 = 453.7837838 - data0 = [int(i*1.085*1.192) for i in [0, 4473, 4927, 5380, 5834, 6288, 6742, 7196, 7649, 8104, 8557, 9011, 9464, 9918, 10373, 10826, 11280, 11733, 12188, 12641, 13095, 13549, 14002, 14457, 14910, 15364, 15818, 16272, 16726, 17179, 17633, 18086, 18541, 18995, 19448, 19902, 20356, 20810, 21263, 21717, 22171, 22625, 23079, 23532, 23986, 24440, 24894, 25348, 25801, 26255, 26709, 27163, 27617, 28070, 28525, 28978, 29432, 29885, 30340, 30794, 31247, 31701, 32154, 32609, 33062, 33516, 33970, 34424, 34878, 35331, 35785]] - #冲击波 = 3617.594595 - #冲击波成长 = 408.4054054 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '浮空凌云踢' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.085*1.22) for i in [0, 1516, 1670, 1824, 1978, 2131, 2285, 2439, 2593, 2747, 2901, 3054, 3208, 3362, 3516, 3670, 3824, 3978, 4131, 4285, 4439, 4593, 4747, 4901, 5054, 5208, 5362, 5516, 5670, 5824, 5977, 6131, 6285, 6439, 6593, 6747, 6901, 7054, 7208, 7362, 7516, 7670, 7824, 7977, 8131, 8285, 8439, 8593, 8747, 8901, 9054, 9208, 9362, 9516, 9670, 9824, 9977, 10131, 10285, 10439, 10593, 10747, 10901, 11054, 11208, 11362, 11516, 11670, 11824, 11977, 12131]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.22) for i in [0, 2729, 3006, 3283, 3560, 3837, 4114, 4391, 4668, 4945, 5221, 5498, 5775, 6052, 6329, 6606, 6883, 7160, 7437, 7714, 7991, 8268, 8545, 8821, 9098, 9375, 9652, 9929, 10206, 10483, 10760, 11037, 11314, 11591, 11868, 12144, 12421, 12698, 12975, 13252, 13529, 13806, 14083, 14360, 14637, 14914, 15191, 15468, 15744, 16021, 16298, 16575, 16852, 17129, 17406, 17683, 17960, 18237, 18514, 18791, 19068, 19344, 19621, 19898, 20175, 20452, 20729, 21006, 21283, 21560, 21837]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.22) for i in [0, 1819, 2004, 2189, 2373, 2558, 2742, 2927, 3112, 3296, 3481, 3665, 3850, 4035, 4219, 4404, 4588, 4773, 4958, 5142, 5327, 5512, 5696, 5881, 6065, 6250, 6435, 6619, 6804, 6988, 7173, 7358, 7542, 7727, 7912, 8096, 8281, 8465, 8650, 8835, 9019, 9204, 9388, 9573, 9758, 9942, 10127, 10312, 10496, 10681, 10865, 11050, 11235, 11419, 11604, 11788, 11973, 12158, 12342, 12527, 12712, 12896, 13081, 13265, 13450, 13635, 13819, 14004, 14188, 14373, 14558]] - 攻击次数3 = 1 - # 基础 = 1362.142857 + 2452.085714 + 1634.371429 - # 成长 = 153.8571429 + 276.9142857 + 184.6285714 - #冲击波 = 2860.914286 - #冲击波成长 = 323.0857143 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '疾波猛坠' - 备注 = '空中释放' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.085*1.294) for i in [0, 3407, 3752, 4098, 4443, 4790, 5136, 5481, 5827, 6172, 6517, 6863, 7209, 7555, 7901, 8247, 8591, 8937, 9283, 9628, 9974, 10320, 10666, 11012, 11357, 11704, 12048, 12393, 12740, 13085, 13431, 13776, 14123, 14469, 14814, 15159, 15504, 15850, 16197, 16542, 16888, 17233, 17580, 17925, 18269, 18616, 18961, 19307, 19653, 19999, 20345, 20690, 21036, 21382, 21726, 22073, 22418, 22764, 23110, 23456, 23801]] - data1 = [int(i*1.085*1.294) for i in [0, 429, 474, 517, 561, 603, 648, 691, 735, 778, 822, 865, 908, 954, 996, 1038, 1085, 1128, 1170, 1215, 1257, 1302, 1345, 1388, 1432, 1476, 1519, 1562, 1605, 1650, 1693, 1737, 1782, 1824, 1869, 1912, 1955, 1999, 2042, 2086, 2130, 2172, 2216, 2259, 2304, 2348, 2391, 2436, 2478, 2522, 2566, 2609, 2653, 2696, 2738, 2784, 2826, 2870, 2915, 2958, 3002]] - 攻击次数2 = 6 - - # 踢击 = 3061.371429 - # 踢击成长 = 345.6285714 - # 冲击波 = 385.4 - # 冲击波成长 = 43.6 - # 冲击波次数 = 6 - # 基础 = 踢击 + 冲击波 * 冲击波次数 - # 成长 = 踢击成长 + 冲击波成长 * 冲击波次数 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): # 默认空中释放 - if x == 0: - self.倍率 *= 1.3 - # self.踢击 *= 0 - # self.踢击成长 *= 0 - # self.冲击波 *= 2.18 - # self.冲击波成长 *= 2.18 - # self.冲击波次数 += 1 - elif x == 1: - self.倍率 *= 1.39 - # self.踢击 *= 0 - # self.踢击成长 *= 0 - # self.冲击波 *= 2.36 - # self.冲击波成长 *= 2.36 - # self.冲击波次数 += 1 - - -class 技能11(职业主动技能): - 名称 = '地狱风火轮' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.085*1.22) for i in [0, 2055, 2263, 2472, 2680, 2889, 3097, 3306, 3514, 3723, 3931, 4140, 4348, 4557, 4765, 4974, 5182, 5391, 5599, 5808, 6016, 6225, 6433, 6642, 6850, 7059, 7267, 7476, 7684, 7893, 8101, 8310, 8518, 8726, 8935, 9143, 9352, 9560, 9769, 9977, 10186, 10394, 10603, 10811, 11020, 11228, 11437, 11645, 11854, 12062, 12271, 12479, 12688, 12896, 13105, 13313, 13522, 13730, 13939, 14147, 14356, 14564, 14773, 14981, 15190, 15398, 15607, 15815, 16024, 16232, 16441]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.22) for i in [0, 1214, 1337, 1460, 1584, 1707, 1830, 1953, 2076, 2200, 2323, 2446, 2569, 2692, 2816, 2939, 3062, 3185, 3308, 3432, 3555, 3678, 3801, 3924, 4048, 4171, 4294, 4417, 4540, 4664, 4787, 4910, 5033, 5156, 5280, 5403, 5526, 5649, 5772, 5896, 6019, 6142, 6265, 6388, 6512, 6635, 6758, 6881, 7004, 7128, 7251, 7374, 7497, 7620, 7744, 7867, 7990, 8113, 8236, 8360, 8483, 8606, 8729, 8852, 8976, 9099, 9222, 9345, 9468, 9592, 9715]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.22) for i in [0, 3269, 3601, 3932, 4264, 4596, 4928, 5259, 5591, 5923, 6254, 6586, 6918, 7249, 7581, 7913, 8245, 8576, 8908, 9240, 9571, 9903, 10235, 10566, 10898, 11230, 11561, 11893, 12225, 12557, 12888, 13220, 13552, 13883, 14215, 14547, 14878, 15210, 15542, 15874, 16205, 16537, 16869, 17200, 17532, 17864, 18195, 18527, 18859, 19190, 19522, 19854, 20186, 20517, 20849, 21181, 21512, 21844, 22176, 22507, 22839, 23171, 23503, 23834, 24166, 24498, 24829, 25161, 25493, 25824, 26156]] - 攻击次数3 = 1 - data3 = [int(i*1.085*1.22) for i in [0, 2802, 3086, 3371, 3655, 3939, 4224, 4508, 4792, 5076, 5361, 5645, 5929, 6214, 6498, 6782, 7067, 7351, 7635, 7920, 8204, 8488, 8773, 9057, 9341, 9625, 9910, 10194, 10478, 10763, 11047, 11331, 11616, 11900, 12184, 12469, 12753, 13037, 13321, 13606, 13890, 14174, 14459, 14743, 15027, 15312, 15596, 15880, 16165, 16449, 16733, 17018, 17302, 17586, 17870, 18155, 18439, 18723, 19008, 19292, 19576, 19861, 20145, 20429, 20714, 20998, 21282, 21567, 21851, 22135, 22419]] - 攻击次数4 = 1 - - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data2 = [int(x*1.38) for x in self.data2] - self.data3 = [int(x*1.38) for x in self.data3] - elif x == 1: - self.data2 = [int(x*1.52) for x in self.data2] - self.data3 = [int(x*1.52) for x in self.data3] - - -class 技能12(职业主动技能): - 名称 = '裂石破天' - 备注 = '不可抓取' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - - # data0 = [0, 7526, 8290, 9053, 9817, 10580, 11344, 12108, 12871, 13635, 14398, 15162, 15926, 16689, 17453, 18216, 18980, 19743, 20507, 21271, 22034, 22798, 23561, 24325, 25088, 25852, 26616, 27379, 28143, 28906, 29670, 30433, 31197, 31961, 32724, 33488, 34251, 35015, 35778, 36542, 37306, 38069, 38833, 39596, 40360, 41124, 41887, 42651, 43414, 44178, 44941, 45705, 46469, 47232, 47996, 48759, 49523, 50286, 51050, 51814, 52577, 53341, 54104, 54868, 55631, 56395, 57159, 57922, 58686, 59449, 60213] - data0 = [int(i*1.085*1.208) for i in [0, 4475, 4930, 5383, 5837, 6291, 6746, 7199, 7653, 8107, 8562, 9016, 9469, 9923, 10378, 10832, 11286, 11739, 12194, 12648, 13102, 13556, 14011, 14464, 14918, 15372, 15827, 16281, 16734, 17188, 17643, 18097, 18550, 19004, 19459, 19913, 20367, 20820, 21275, 21729, 22183, 22637, 23092, 23545, 23999, 24453, 24908, 25362, 25815, 26269, 26724, 27178, 27632, 28085, 28540, 28994, 29448, 29901, 30356, 30810, 31264, 31718, 32173, 32626, 33080, 33534, 33989, 34443, 34896, 35350, 35805]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.208) for i in [0, 10387, 11440, 12494, 13548, 14602, 15655, 16709, 17763, 18817, 19871, 20924, 21978, 23032, 24086, 25139, 26193, 27247, 28301, 29354, 30408, 31462, 32516, 33570, 34623, 35677, 36731, 37785, 38838, 39892, 40946, 42000, 43053, 44107, 45161, 46215, 47268, 48322, 49376, 50430, 51484, 52537, 53591, 54645, 55699, 56752, 57806, 58860, 59914, 60967, 62021, 63075, 64129, 65183, 66236, 67290, 68344, 69398, 70451, 71505, 72559, 73613, 74666, 75720, 76774, 77828, 78881, 79935, 80989, 82043, 83097]] - 攻击次数2 = 1 - - # 基础 = (9799.533333 + 4222.233333)/1.02 - # 成长 = (476.7666667 + 1106.466667)/1.02 - #对可抓取踢击 = 7100.233333 - #对可抓取踢击成长 = 801.7666667 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - elif x == 1: - self.倍率 *= 1.28 - - -class 技能13(被动技能): - 名称 = '力之奥义' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能14(职业主动技能): - 名称 = '死亡旋律' - 备注 = '空中释放' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - - # 基本攻击的物理攻击力:% - # data0 = [0, 1805, 2225, 2644, 3062, 3481, 3900, 4318, 4738, 5157, 5575, 5995, 6413, 6831, 7251, 7670, 8088, 8507, 8927, 9345, 9763, 10183, 10601, 11020, 11440, 11858, 12277, 12696, 13114, 13533, 13953, 14371, 14790, 15210, 15628, 16046, 16466, 16884, 17303, 17723, 18141, 18560, 18978, 19397, 19816, 20234, 20654, 21073, 21491, 21911, 22329, 22747, 23167, 23586, 24004, 24424, 24841, 25261, 25680, 26097, 26517, 26937, 27354, 27774, 28194, 28610, 29030, 29450, 29867, 30287, 30706] - #最终前踢攻击力:% - # data1 = [0, 8428, 10383, 12338, 14292, 16247, 18203, 20156, 22112, 24066, 26021, 27975, 29929, 31884, 33838, 35794, 37747, 39703, 41656, 43611, 45566, 47520, 49474, 51430, 53383, 55339, 57294, 59249, 61203, 63157, 65112, 67066, 69022, 70975, 72931, 74885, 76839, 78794, 80749, 82702, 84658, 86613, 88567, 90521, 92476, 94430, 96384, 98340, 100294, 102250, 104204, 106159, 108113, 110069, 112022, 113977, 115932, 117886, 119841, 121795, 123749, 125704, 127659, 129612, 131568, 133522, 135477, 137431, 139387, 141341, 143297] - # 空中施放时向下猛踢冲击波物理攻击力:% - data0 = [int(i*1.085*1.22) for i in [0, 34812, 42888, 50958, 59033, 67108, 75180, 83254, 91326, 117515, 127059, 136603, 146145, 155692, 165235, 174782, 184324, 193871, 203414, 212957, 222501, 232047, 241591, 251136, 260681, 270225, 279769, 289313, 298857, 308400, 317947, 327490, 337036, 346578, 356123, 365668, 375212, 384757, 394302, 403843, 413390, 422933, 432479, 442022, 451567, 461111, 470656, 480200, 489744, 499290, 508834, 518378, 527922, 537466, 547009, 556556, 566099, 575646, 585189, 594731, 604276, 613821, 623365, 632911, 642454, 651999, 661541, 671088, 680631, 690176, 699720]] - - # 空中释放基础 = 33191.55 - # 空中释放成长 = 10021.725 - # 基础 = 空中释放基础 - # 成长 = 空中释放成长 - #地面释放基础 = 9716 + 6473.5 - #地面释放基础成长 = 2931.25 + 1954.625 - #地面释放冲击波 = 19899.55 - #地面释放冲击波成长 = 6009.1625 - CD = 145.0 - - def 等效百分比(self,武器类型): - if self.等级 >=6: - self.data0 = [int(x*1.05) for x in self.data0] - return super().等效百分比(武器类型) - -class 技能15(职业主动技能): - 名称 = '彗星冲击' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.085*1.22) for i in [0, 11815, 13014, 14212, 15411, 16610, 17808, 19007, 20206, 21404, 22603, 23802, 25000, 26199, 27398, 28596, 29795, 30994, 32192, 33391, 34590, 35788, 36987, 38185, 39384, 40583, 41781, 42980, 44179, 45377, 46576, 47775, 48973, 50172, 51371, 52569, 53768, 54967, 56165, 57364, 58563, 59761, 60960, 62159, 63357, 64556, 65755, 66953, 68152, 69351, 70549, 71748, 72947, 74145, 75344, 76543, 77741, 78940, 80139, 81337, 82536, 83735, 84933, 86132, 87331, 88529, 89728, 90927, 92125, 93324, 94523]] - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.88 - self.倍率 *= 1 - elif x == 1: - self.CD *= 0.88 - self.倍率 *= 1.09 - -class 技能16(职业主动技能): - 名称 = '武莲华' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(i*1.085*1.177) for i in [0, 4868, 5361, 5856, 6349, 6842, 7338, 7831, 8325, 8821, 9314, 9806, 10301, 10794, 11288, 11784, 12276, 12769, 13263, 13759, 14253, 14747, 15241, 15735, 16229, 16722, 17216, 17709, 18203, 18697, 19193, 19687, 20179, 20675, 21166, 21661, 22156, 22649, 23142, 23636, 24130, 24625, 25119, 25613, 26108, 26601, 27094, 27589, 28082, 28576, 29070, 29564, 30056, 30551, 31046, 31541, 32034, 32527, 33023, 33514, 34008, 34503, 34997, 35489, 35984, 36480, 36975, 37467, 37961, 38455, 38949]] - data1 = [int(i*1.085*1.177) for i in [0, 1215, 1334, 1459, 1583, 1705, 1829, 1954, 2074, 2200, 2320, 2444, 2569, 2689, 2812, 2937, 3060, 3181, 3305, 3427, 3551, 3675, 3797, 3921, 4045, 4168, 4289, 4412, 4535, 4660, 4781, 4906, 5029, 5151, 5275, 5399, 5519, 5643, 5769, 5890, 6014, 6140, 6259, 6381, 6507, 6629, 6751, 6875, 6998, 7122, 7245, 7367, 7490, 7613, 7737, 7861, 7984, 8106, 8229, 8351, 8475, 8597, 8721, 8846, 8968, 9088, 9213, 9337, 9459, 9584, 9705]] - data2 = [int(i*1.085*1.177) for i in [0, 7299, 8041, 8781, 9523, 10263, 11003, 11743, 12485, 13226, 13965, 14705, 15447, 16187, 16928, 17668, 18411, 19152, 19891, 20634, 21374, 22116, 22856, 23597, 24336, 25078, 25818, 26559, 27299, 28040, 28780, 29522, 30261, 31003, 31743, 32485, 33224, 33965, 34706, 35446, 36186, 36928, 37667, 38408, 39149, 39889, 40631, 41369, 42111, 42852, 43592, 44333, 45074, 45817, 46557, 47299, 48038, 48779, 49520, 50260, 51001, 51742, 52481, 53222, 53963, 54705, 55445, 56183, 56925, 57666, 58409]] - 攻击次数 = 2 - 攻击次数2 = 12 - 攻击次数3 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1 - self.data0 = [int(x*1.5) for x in self.data0] - self.攻击次数 = 4 - self.攻击次数2 = 0 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.07 - self.data0 = [int(x*1.5) for x in self.data0] - self.攻击次数 = 4 - self.攻击次数2 = 0 - self.CD *= 0.9 - - -class 技能17(被动技能): - 名称 = '傲天之怒' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '黑震旋风' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.085*1.22) for i in [0, 6253, 6887, 7522, 8156, 8790, 9425, 10059, 10694, 11328, 11962, 12597, 13231, 13866, 14500, 15134, 15769, 16403, 17038, 17672, 18306, 18941, 19575, 20210, 20844, 21478, 22113, 22747, 23382, 24016, 24650, 25285, 25919, 26554, 27188, 27822, 28457, 29091, 29726, 30360, 30994]] - data1 = [int(i*1.085*1.22) for i in [0, 2427, 2674, 2920, 3166, 3412, 3659, 3905, 4151, 4398, 4644, 4890, 5137, 5383, 5629, 5875, 6122, 6368, 6614, 6861, 7107, 7353, 7599, 7846, 8092, 8338, 8585, 8831, 9077, 9324, 9570, 9816, 10062, 10309, 10555, 10801, 11048, 11294, 11540, 11787, 12033]] - 攻击次数2 = 5 - data2 = [int(i*1.085*1.22) for i in [0, 16389, 18051, 19714, 21377, 23039, 24702, 26365, 28027, 29690, 31353, 33015, 34678, 36341, 38003, 39666, 41329, 42993, 44654, 46318, 47981, 49642, 51306, 52969, 54631, 56294, 57957, 59619, 61282, 62945, 64607, 66270, 67933, 69595, 71258, 72921, 74583, 76246, 77909, 79571, 81234]] - 攻击次数3 = 1 - #冲击波 = 14726.33333 - #冲击波成长 = 1662.666667 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -class 技能19(职业主动技能): - 名称 = '疾风闪电' - 备注 = '不可抓取' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 对建筑型敌人的物理攻击力:% - data0 = [int(i*1.085*1.21) for i in [0, 22779, 25090, 27403, 29713, 32022, 34334, 36644, 38955, 41268, 43578, 45889, 48200, 50511, 52823, 55134, 57445, 59754, 62066, 64376, 66687, 68999, 71311, 73620, 75933, 78244, 80555, 82864, 85177, 87488, 89797, 92108, 94421, 96730, 99041, 101354, 103664, 105974, 108285, 110598, 112909]] - # 冲击波对周围无法抓取的敌人的物理攻击力:% - data1 = [int(i*1.085*1.21) for i in [0, 17993, 19817, 21642, 23468, 25293, 27119, 28942, 30768, 32593, 34419, 36245, 38069, 39896, 41721, 43549, 45370, 47199, 49023, 50848, 52672, 54499, 56321, 58149, 59973, 61801, 63623, 65450, 67276, 69100, 70925, 72752, 74577, 76401, 78227, 80054, 81878, 83704, 85529, 87353, 89180]] - 攻击次数2 = 1 - #对可抓取怪物的冲撞 = 10744.66667 - #对可抓取怪物的冲撞成长 = 1213.333333 - #准备释放最后一击 = 7163.166667 - #准备释放最后一击成长 = 808.8333333 - #最后一击 = 17911.91667 - #最后一击成长 = 2022.083333 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - - -class 技能20(职业主动技能): - 名称 = '一字传承:极义震天破' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(i*1.085*1.22) for i in [0, 25794, 31775, 37755, 43738, 49717, 55700, 61681, 67662, 73644, 79625, 85606, 91587, 97568, 103549, 109531, 115511, 121492, 127475, 133454, 139437, 145418, 151399, 157380, 163362, 169342, 175324, 181306, 187286, 193268, 199249, 205230, 211211, 217193, 223173, 229155, 235138, 241117, 247100, 253080, 259061]] - data1 = [int(i*1.085*1.22) for i in [0, 1984, 2442, 2904, 3363, 3824, 4285, 4744, 5206, 5664, 6126, 6585, 7045, 7505, 7965, 8426, 8884, 9345, 9805, 10266, 10726, 11185, 11646, 12105, 12565, 13026, 13486, 13945, 14406, 14867, 15325, 15787, 16246, 16708, 17167, 17627, 18088, 18547, 19007, 19467, 19928]] - 攻击次数2 = 13 - data2 = [int(i*1.085*1.22) for i in [0, 47756, 58830, 69906, 80980, 92054, 103127, 114202, 125274, 136348, 147423, 158496, 169570, 180644, 191720, 202793, 213868, 224944, 236016, 247091, 258163, 269239, 280313, 291387, 302463, 313535, 324609, 335682, 346758, 357832, 368905, 379982, 391054, 402128, 413201, 424277, 435351, 446424, 457498, 468570, 479647]] - 攻击次数3 = 1 - # 基础 = 76306.75 - # 成长 = 23035.25 - CD = 185.0 - - -class 技能21(被动技能): - 名称 = '神怡气静' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(职业主动技能): - 名称 = '黑震流·陨灭' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085*1.22) for i in [0, 3799, 4184, 4570, 4955, 5340, 5726, 6111, 6497, 6882, 7268, 7653, 8038, 8424, 8809, 9195, 9580, 9966, 10351, 10736, 11122, 11507, 11893, 12278, 12664, 13049, 13434, 13820, 14205, 14591, 14976, 15362, 15747, 16132, 16518, 16903, 17289, 17674, 18060, 18445, 18830]] - data1 = [int(i*1.085*1.22) for i in [0, 6015, 6625, 7235, 7846, 8456, 9066, 9677, 10287, 10897, 11507, 12118, 12728, 13338, 13948, 14559, 15169, 15779, 16389, 17000, 17610, 18220, 18830, 19441, 20051, 20661, 21271, 21882, 22492, 23102, 23713, 24323, 24933, 25543, 26154, 26764, 27374, 27984, 28595, 29205, 29815]] - 攻击次数2 = 10 - data2 = [int(i*1.085*1.22) for i in [0, 12030, 13250, 14470, 15692, 16912, 18132, 19354, 20574, 21794, 23014, 24236, 25456, 26676, 27896, 29118, 30338, 31558, 32778, 34000, 35220, 36440, 37660, 38882, 40102, 41322, 42542, 43764, 44984, 46204, 47426, 48646, 49866, 51086, 52308, 53528, 54748, 55968, 57190, 58410, 59630]] - 攻击次数3 = 1 - 基础 = 68271.2 - 成长 = 7707.8 - CD = 60.0 - - -class 技能23(职业主动技能): - 名称 = '黑震流·山岳崩颓' - 备注 = '无法抓取' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 205707 - # 成长 = 62101 - data0 = [int(i*1.085*1.209) for i in [0, 40171, 49486, 58801, 68117, 77432, 86747, 96062, 105377, 114692, 124007, 133323, 142638, 151953, 161268, 170583, 179898, 189213, 198529, 207844, 217159, 226474, 235789, 245104, 254420, 263735, 273050, 282365, 291680, 300995, 310310, 319626, 328941, 338256, 347571, 356886, 366201, 375516, 384832, 394147, 403462]] - data1 = [int(i*1.085*1.209) for i in [0, 13390, 16495, 19600, 22705, 25810, 28915, 32020, 35125, 38230, 41335, 44441, 47546, 50651, 53756, 56861, 59966, 63071, 66176, 69281, 72386, 75491, 78596, 81701, 84806, 87911, 91016, 94121, 97226, 100331, 103436, 106542, 109647, 112752, 115857, 118962, 122067, 125172, 128277, 131382, 134487]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.209) for i in [0, 26781, 32991, 39201, 45411, 51621, 57831, 64041, 70251, 76461, 82671, 88882, 95092, 101302, 107512, 113722, 119932, 126142, 132352, 138562, 144772, 150983, 157193, 163403, 169613, 175823, 182033, 188243, 194453, 200663, 206873, 213084, 219294, 225504, 231714, 237924, 244134, 250344, 256554, 262764, 268974]] - 攻击次数3 = 1 - data3 = [int(i*1.085*1.209) for i in [0, 53562, 65982, 78402, 90822, 103242, 115663, 128083, 140503, 152923, 165343, 177764, 190184, 202604, 215024, 227444, 239865, 252285, 264705, 277125, 289545, 301966, 314386, 326806, 339226, 351646, 364067, 376487, 388907, 401327, 413747, 426168, 438588, 451008, 463428, 475848, 488269, 500689, 513109, 525529, 537949]] - 攻击次数4 = 1 - data4 = [int(i*1.085*1.209) for i in [0, 40171, 49486, 58801, 68117, 77432, 86747, 96062, 105377, 114692, 124007, 133323, 142638, 151953, 161268, 170583, 179898, 189213, 198529, 207844, 217159, 226474, 235789, 245104, 254420, 263735, 273050, 282365, 291680, 300995, 310310, 319626, 328941, 338256, 347571, 356886, 366201, 375516, 384832, 394147, 403462]] - 攻击次数5 = 1 - data5 = [int(i*1.085*1.209) for i in [0, 93733, 115469, 137204, 158939, 180675, 202410, 224145, 245881, 267616, 289351, 311087, 332822, 354557, 376293, 398028, 419763, 441499, 463234, 484969, 506705, 528440, 550175, 571911, 593646, 615382, 637117, 658852, 680588, 702323, 724058, 745794, 767529, 789264, 811000, 832735, 854470, 876206, 897941, 919676, 941412]] - 攻击次数6 = 1 - - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·柔道家·男一觉序号 = 0 -归元·柔道家·男二觉序号 = 0 -归元·柔道家·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·柔道家·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·柔道家·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·柔道家·男三觉序号 = 技能序号[i.名称] - -归元·柔道家·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·柔道家·男护石选项.append(i.名称) - -归元·柔道家·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·柔道家·男符文选项.append(i.名称) - - -class 归元·柔道家·男角色属性(角色属性): - 实际名称 = '归元·柔道家·男' - 角色 = '格斗家(男)' - 职业 = '柔道家' - - 武器选项 = ['臂铠', '手套', '东方棍', '爪'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.08 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['无情摔击'] - ].被动倍率 /= self.技能栏[self.技能序号['摔技强化']].加成倍率(self.武器类型) - - -class 归元·柔道家·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·柔道家·男角色属性() - self.角色属性A = 归元·柔道家·男角色属性() - self.角色属性B = 归元·柔道家·男角色属性() - self.一觉序号 = 归元·柔道家·男一觉序号 - self.二觉序号 = 归元·柔道家·男二觉序号 - self.三觉序号 = 归元·柔道家·男三觉序号 - self.护石选项 = deepcopy(归元·柔道家·男护石选项) - self.符文选项 = deepcopy(归元·柔道家·男符文选项) diff --git a/Characters/归元·气功师·女.py b/Characters/归元·气功师·女.py deleted file mode 100644 index 1a9b3fe4..00000000 --- a/Characters/归元·气功师·女.py +++ /dev/null @@ -1,665 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -# 武器手套 -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '手套': -# return round(self.CD / self.恢复 * 1.05, 1) - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 蓄念炮 -class 技能0(被动技能): - 名称 = '蓄念炮' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - # 基础 = 226 - # 成长 = 5 - 关联技能 = ['念气波蓄念炮'] - - def 加成倍率(self, 武器类型): - return round(2.26 + 0.05 * self.等级, 5) - - -# 分身 -class 技能1(主动技能): - 名称 = '分身' - 所在等级 = 5 - 等级上限 = 20 - 基础等级 = 10 - 基础个数 = 0 - 是否有伤害 = 0 - TP上限 = 0 - 关联技能 = ['幻影爆碎'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return round(self.基础个数 + self.等级, 5) - - -# 一觉被动 -class 技能2(被动技能): - 名称 = '乱舞千叶花' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.15 + 0.01 * self.等级, 5) - -# 二觉被动 - - -class 技能3(被动技能): - 名称 = '心之念意' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.24 + 0.03 * self.等级, 5) - - -# 念气归元 -class 技能4(被动技能): - 名称 = '念气归元' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -# 分身0.01 最后被动倍率=幻爆百分比*100 -class 技能5(职业主动技能): - 名称 = '幻影爆碎' - 是否主动 = 0 - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085*1.182*1.121) for i in [0, 431, 474, 518, 562, 606, 650, 694, 736, 781, 825, 868, 913, 957, 999, 1044, 1088, 1131, 1176, 1218, 1262, 1306, 1350, 1395, 1438, 1481, 1526, 1569, 1612, 1658, 1700, 1743, 1789, 1832, 1874, 1921, 1963, 2006, 2051, 2095, 2137, 2181, 2226, 2269, 2313, 2358, 2400, 2444, 2489, 2533, 2576, 2621, 2664, 2707, 2750, 2796, 2839, 2881, 2927, 2970, 3013, 3059, 3101, 3144, 3189, 3233, 3276, 3321, 3364, 3407, 3452]] - CD = 10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return super().等效百分比(武器类型) - - # def 等效CD(self, 武器类型): - # if 武器类型 == '手套': - # return round(self.CD * 1.05, 1) - - -# 念气波 -class 技能6(职业主动技能): - 名称 = '念气波' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 593 - # 成长 = 66.8 - data0 = [int(i*1.085*1.1822*1.117) for i in [0, 658, 725, 792, 859, 926, 991, 1060, 1127, 1192, 1259, 1326, 1393, 1460, 1527, 1594, 1660, 1728, 1795, 1860, 1927, 1994, 2061, 2128, 2195, 2262, 2329, 2395, 2463, 2530, 2596, 2663, 2730, 2796, 2863, 2930, 2997, 3064, 3131, 3198, 3264, 3331, 3398, 3465, 3532, 3599, 3666, 3732, 3799, 3866, 3933, 3999, 4066, 4134, 4200, 4267, 4334, 4401, 4468, 4535, 4602, 4668, 4734, 4802, 4868, 4935, 5002, 5069, 5136, 5203, 5270]] - CD = 1 - TP成长 = 0.08 - TP上限 = 5 - - -# 念气波蓄念炮 -class 技能7(职业主动技能): - 名称 = '念气波蓄念炮' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 593 - # 成长 = 66.8 - data0 = [int(i*1.085*1.1822*1.117) for i in [0, 658, 725, 792, 859, 926, 991, 1060, 1127, 1192, 1259, 1326, 1393, 1460, 1527, 1594, 1660, 1728, 1795, 1860, 1927, 1994, 2061, 2128, 2195, 2262, 2329, 2395, 2463, 2530, 2596, 2663, 2730, 2796, 2863, 2930, 2997, 3064, 3131, 3198, 3264, 3331, 3398, 3465, 3532, 3599, 3666, 3732, 3799, 3866, 3933, 3999, 4066, 4134, 4200, 4267, 4334, 4401, 4468, 4535, 4602, 4668, 4734, 4802, 4868, 4935, 5002, 5069, 5136, 5203, 5270]] - CD = 3 - TP成长 = 0.08 - TP上限 = 5 - - -# 念气环绕 -class 技能8(职业主动技能): - 名称 = '念气环绕' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - # 基础 = 322 - # 成长 = 36.5 - data0 = [int(i*1.085*1.0*1.116) for i in [0, 359, 395, 431, 469, 505, 542, 578, 614, 651, 688, 724, 761, 797, 834, 870, 906, 942, 979, 1016, 1052, 1088, 1125, 1161, 1197, 1235, 1271, 1307, 1344, 1380, 1418, 1454, 1490, 1527, 1563, 1599, 1636, 1672, 1709, 1745, 1782, 1818, 1854, 1890, 1927, 1963, 2001, 2037, 2073, 2110, 2146, 2182, 2220, 2256, 2293, 2329, 2365, 2402, 2439, 2475, 2511, 2548, 2584, 2620, 2656, 2693, 2730, 2766, 2803, 2839, 2876]] - CD = 0.5 - TP成长 = 0.10 - TP上限 = 5 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03 + 0.02 * self.等级, 3) - -# 念兽龙虎啸 - - -class 技能9(职业主动技能): - 名称 = '念兽龙虎啸' - 所在等级 = 40 - 等级上限 = 20 - 基础等级 = 10 - # 基础 = 732 - # 成长 = 0 - # 第1击魔法武器攻击力:% - data0 = [int(i*1.085*1.125) for i in [0, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104]] - 攻击次数 = 1 - # 第2击魔法武器攻击力:% - data1 = [int(i*1.085*1.125) for i in [0, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117, 117]] - 攻击次数2 = 1 - # 第3击魔法武器攻击力:% - data2 = [int(i*1.085*1.125) for i in [0, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, 138]] - 攻击次数3 = 1 - # 第4击魔法武器攻击力:% - data3 = [int(i*1.085*1.125) for i in [0, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157, 157]] - 攻击次数4 = 1 - # 第5击魔法武器攻击力:% - data4 = [int(i*1.085*1.125) for i in [0, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216]] - 攻击次数5 = 1 - - CD = 1.0 - TP成长 = 0.10 - TP上限 = 3 - 关联技能 = ['所有'] - - # 待修改 - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.04 + 0.02 * self.等级, 5) - -class 技能10(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['念兽龙虎啸'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - -# 气玉弹 - - -class 技能11(职业主动技能): - 名称 = '气玉弹' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 2876.5 - # 成长 = 323.5 - data0 = [int(i*1.085*1.1837*1.115) for i in [0, 291, 319, 349, 378, 408, 437, 465, 495, 525, 555, 583, 615, 642, 672, 701, 732, 761, 790, 819, 849, 878, 909, 937, 968, 997, 1027, 1055, 1084, 1115, 1144, 1173, 1204, 1231, 1262, 1290, 1322, 1350, 1380, 1409, 1438, 1468, 1498, 1528, 1557, 1584, 1617, 1644, 1675, 1704, 1733, 1763, 1791, 1822, 1851, 1879, 1911, 1938, 1971, 1998, 2030, 2057, 2086, 2117, 2146, 2177, 2205, 2233, 2264, 2293, 2324]] - 攻击次数 = 11 - CD = 8 - TP成长 = 0.08 - TP上限 = 5 - -# 狮子吼 - - -class 技能12(职业主动技能): - 名称 = '狮子吼' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 5659.1 - # 成长 = 638.9 - data0 = [int(i*1.085*1.1820*1.127) for i in [0, 6298, 6937, 7576, 8214, 8854, 9491, 10131, 10770, 11410, 12047, 12687, 13326, 13965, 14604, 15243, 15882, 16521, 17160, 17799, 18437, 19076, 19715, 20355, 20993, 21633, 22271, 22910, 23549, 24189, 24828, 25468, 26102, 26741, 27381, 28021, 28660, 29297, 29937, 30577, 31215, 31855, 32494, 33133, 33771, 34409, 35049, 35687, 36326, 36965, 37604, 38243, 38883, 39521, 40160, 40799, 41439, 42079, 42716, 43354, 43993, 44632, 45272, 45912, 46549, 47188, 47828, 48468, 49106, 49746, 50384]] - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - elif x == 1: - self.倍率 *= 1.27 + 0.09 - - -# 螺旋念气场 -class 技能13(职业主动技能): - 名称 = '螺旋念气场' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 9336.7 - # 成长 = 1051.3 - data0 = [int(i*1.085*1.1811*1.122) for i in [0, 1039, 1144, 1248, 1354, 1457, 1564, 1667, 1773, 1881, 1982, 2089, 2194, 2298, 2403, 2510, 2614, 2719, 2825, 2929, 3035, 3140, 3246, 3351, 3455, 3561, 3667, 3771, 3876, 3982, 4087, 4190, 4295, 4401, 4508, 4612, 4718, 4821, 4925, 5031, 5135, 5244, 5349, 5455, 5557, 5663, 5769, 5873, 5979, 6084, 6188, 6293, 6399, 6505, 6608, 6714, 6818, 6924, 7030, 7135, 7239, 7344, 7449, 7552, 7662, 7763, 7870, 7976, 8081, 8185, 8291]] - 攻击次数 = 10 - # 实际CD为20秒 - 演出时间 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.13 - elif x == 1: - self.倍率 *= 1.13 + 0.09 - - -# 念兽雷龙出海 -class 技能14(职业主动技能): - 名称 = '念兽雷龙出海' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 20572 - # 成长 = 2361 - data0 = [int(i*1.085*1.1828*1.121) for i in [0, 468, 515, 564, 608, 660, 707, 757, 807, 854, 900, 946, 996, 1046, 1093, 1142, 1188, 1237, 1287, 1334, 1384, 1434, 1479, 1526, 1576, 1625, 1673, 1722, 1769, 1817, 1865, 1915, 1962, 2010, 2057, 2105, 2156, 2203, 2253, 2299, 2347, 2396, 2443, 2494, 2540, 2590, 2638, 2687, 2733, 2782, 2832, 2879, 2926, 2975, 3024, 3072, 3121, 3167, 3217, 3264, 3314, 3360, 3409, 3458, 3505, 3555, 3603, 3651, 3698, 3747, 3795]] - # 多段攻击次数最大29 爆炸攻击次数 20 - 攻击次数 = 29 - data1 = [int(i*1.085*1.1828*1.121) for i in [0, 468, 515, 564, 608, 660, 707, 757, 807, 854, 900, 946, 996, 1046, 1093, 1142, 1188, 1237, 1287, 1334, 1384, 1434, 1479, 1526, 1576, 1625, 1673, 1722, 1769, 1817, 1865, 1915, 1962, 2010, 2057, 2105, 2156, 2203, 2253, 2299, 2347, 2396, 2443, 2494, 2540, 2590, 2638, 2687, 2733, 2782, 2832, 2879, 2926, 2975, 3024, 3072, 3121, 3167, 3217, 3264, 3314, 3360, 3409, 3458, 3505, 3555, 3603, 3651, 3698, 3747, 3795]] - 攻击次数2 = 20 - - 秒C = 0 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self,武器类型): - if self.秒C == 1: - # 秒C 多段攻击次数为1 且爆炸攻击力随着剩余时间增加而增加 0.4秒C大概78%左右加成 真的秒C估计80% - self.攻击次数 = 1 - self.data1 = [int(x*1.787) for x in self.data1] - return super().等效百分比(武器类型) - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.13 - elif x == 1: - self.倍率 *= 1.13 + 0.09 - - -# 一觉 -class 技能15(职业主动技能): - 名称 = '千莲怒放' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 34236 - # 成长 = 10337 - data0 = [int(i*1.085*1.1835*1.125) for i in [0, 7429, 9151, 10876, 12598, 14322, 16044, 17765, 19488, 21211, 22934, 24657, 26380, 28102, 29824, 31548, 33270, 34994, 36717, 38440, 40161, 41885, 43607, 45331, 47053, 48778, 50499, 52222, 53944, 55668, 57390, 59112, 60837, 62558, 64282, 66004, 67727, 69450, 71172, 72895, 74616, 76341, 78063, 79785, 81509, 83231, 84954, 86676, 88400, 90123, 91846, 93568, 95292, 97013, 98738, 100460, 102183, 103906, 105629, 107350, 109074, 110796, 112520, 114243, 115966, 117689, 119410, 121133, 122855, 124580, 126302]] - 攻击次数 = 6 - CD = 145 - - -# 奔雷掌 -class 技能16(职业主动技能): - 名称 = '奔雷掌' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 14808.2 - # 成长 = 1671.8 - #念气波动爆炸攻击力:% - data0 = [int(i*1.085*1.1808*1.128) for i in [0, 1648, 1815, 1983, 2150, 2316, 2483, 2652, 2818, 2985, 3153, 3318, 3487, 3655, 3821, 3988, 4157, 4322, 4490, 4658, 4825, 4992, 5159, 5325, 5492, 5660, 5828, 5993, 6162, 6328, 6496, 6662, 6831, 6996, 7165, 7333, 7499, 7665, 7835, 8000, 8168, 8335, 8502, 8669, 8836, 9005, 9169, 9339, 9506, 9672, 9839, 10009, 10173, 10342, 10509, 10675, 10843, 11010, 11176, 11344, 11511, 11679, 11845, 12013, 12179, 12348, 12513, 12682, 12848, 13015, 13183]] - 攻击次数 = 6 - #最后一击巨大狂龙爆炸攻击力:% - data1 = [int(i*1.085*1.1808*1.128) for i in [0, 6592, 7260, 7929, 8599, 9266, 9933, 10603, 11272, 11940, 12610, 13279, 13947, 14616, 15285, 15953, 16621, 17289, 17959, 18628, 19297, 19966, 20633, 21303, 21973, 22639, 23308, 23978, 24646, 25315, 25983, 26653, 27323, 27990, 28658, 29327, 29996, 30665, 31333, 32002, 32672, 33339, 34009, 34675, 35345, 36014, 36682, 37351, 38021, 38689, 39358, 40026, 40696, 41365, 42031, 42701, 43371, 44037, 44708, 45378, 46045, 46714, 47382, 48052, 48720, 49387, 50057, 50727, 51395, 52064, 52731]] - 攻击次数2 = 1 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.data1 = [int(x*3) for x in self.data1] - # self.倍率 *= 1.20006759886 - self.CD *= 0.90 - elif x == 1: - self.攻击次数 = 0 - self.data1 = [int(x*3.22) for x in self.data1] - # self.倍率 *= 1.28807255611 - self.CD *= 0.90 - -# 狂狮怒吼 - - -class 技能17(职业主动技能): - 名称 = '狂狮怒吼' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 17450.5 - # 成长 = 1969.5 - data0 = [int(i*1.085*1.1860*1.125) for i in [0, 3884, 4277, 4671, 5065, 5460, 5853, 6247, 6639, 7035, 7429, 7822, 8215, 8609, 9003, 9397, 9791, 10185, 10578, 10973, 11369, 11762, 12155, 12551, 12944, 13337, 13731, 14125, 14518, 14913, 15307, 15701, 16094, 16489, 16883, 17276, 17670, 18064, 18459, 18852, 19246, 19640, 20033, 20428, 20822, 21215, 21609, 22004, 22398, 22791, 23185, 23579, 23975, 24368, 24762, 25156, 25549, 25944, 26338, 26731, 27125, 27520, 27913, 28307, 28701, 29093, 29489, 29883, 30277, 30669, 31063]] - 攻击次数 = 5 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.倍率 *= 1.188 - self.攻击次数 += 6 - self.data0 = [int(x*0.54) for x in self.data0] - self.CD *= 0.90 - elif x == 1: - # self.倍率 *= 1.254 - self.攻击次数 += 6 - self.data0 = [int(x*0.57) for x in self.data0] - self.CD *= 0.90 - -# 奇袭幻影 - - -class 技能18(职业主动技能): - 名称 = '奇袭幻影' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.085*1.1857*1.124) for i in [0, 10842, 11942, 13044, 14144, 15243, 16343, 17443, 18543, 19644, 20744, 21844, 22945, 24043, 25144, 26245, 27345, 28444, 29544, 30645, 31744, 32843, 33944, 35044, 36145, 37245, 38344, 39444, 40545, 41645, 42745, 43845, 44945, 46047, 47146, 48246, 49346, 50446, 51546, 52647, 53747, 54846, 55945, 57045, 58146, 59246, 60346, 61445, 62546, 63646, 64747]] - 攻击次数 = 4 - CD = 40 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -# 聚能念气炮 -class 技能19(职业主动技能): - 名称 = '聚能念气炮' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.085*1.1663*1.126) for i in [0, 10681, 11766, 12849, 13933, 15016, 16101, 17184, 18268, 19351, 20436, 21520, 22601, 23687, 24769, 25853, 26936, 28021, 29104, 30188, 31270, 32354, 33438, 34521, 35605, 36688, 37773, 38857, 39940, 41025, 42107, 43191, 44274, 45359, 46442, 47526, 48609, 49694, 50778, 51861, 52946, 54029, 55113, 56195, 57280, 58363, 59447, 60530, 61615, 62699, 63782, 64865, 65950, 67031, 68115, 69198, 70283, 71367, 72450, 73535, 74618, 75702, 76784, 77869, 78952, 80036, 81119, 82204, 83287, 84371, 85454]] - 攻击次数 = 5 - CD = 45 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.26 - - -# 二觉 -class 技能20(职业主动技能): - 名称 = '念帝旋天破' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 91535 - # 成长 = 27634 - data0 = [int(i*1.085*1.1809*1.122) for i in [0, 119170, 146803, 174437, 202071, 229705, 257338, 284973, 312606, 340240, 367875, 395509, 423142, 450775, 478408, 506041, 533676, 561309, 588942, 616576, 644210, 671845, 699479, 727112, 754745, 782381, 810014, 837647, 865281, 892915, 920548, 948181, 975814, 1003447, 1031084, 1058717, 1086350, 1113984, 1141618, 1169251, 1196886, 1224519, 1252153, 1279787, 1307420, 1335054, 1362690, 1390323, 1417956, 1445589, 1473222, 1500857, 1528490, 1556123, 1583756, 1611392, 1639025, 1666659, 1694293, 1721926, 1749560, 1777193, 1804828, 1832461, 1860095, 1887729, 1915362, 1942995, 1970628, 1998265, 2025898]] - CD = 180 - -# 天雷分身步 - - -class 技能21(职业主动技能): - 名称 = '天雷分身步' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085*1.2138*1.151) for i in [0, 17630, 19419, 21207, 22996, 24784, 26573, 28362, 30150, 31939, 33727, 35516, 37305, 39093, 40882, 42670, 44459, 46248, 48036, 49825, 51613, 53402, 55191, 56979, 58768, 60556, 62345, 64134, 65922, 67711, 69499, 71288, 73077, 74865, 76654, 78442, 80231, 82020, 83808, 85597, 87385, 89174, 90963, 92751, 94540, 96328, 98117, 99906, 101694, 103483, 105271, 107060, 108849, 110637, 112426, 114214, 116003, 117792, 119580, 121369, 123157, 124946, 126735, 128523, 130312, 132100, 133889, 135678, 137466, 139255, 141043]] - data1 = [int(i*1.085*1.2138*1.151) for i in [0, 2644, 2912, 3181, 3449, 3717, 3986, 4254, 4522, 4790, 5059, 5327, 5595, 5864, 6132, 6400, 6668, 6937, 7205, 7473, 7742, 8010, 8278, 8546, 8815, 9083, 9351, 9620, 9888, 10156, 10424, 10693, 10961, 11229, 11498, 11766, 12034, 12303, 12571, 12839, 13107, 13376, 13644, 13912, 14181, 14449, 14717, 14985, 15254, 15522, 15790, 16059, 16327, 16595, 16863, 17132, 17400, 17668, 17937, 18205, 18473, 18741, 19010, 19278, 19546, 19815, 20083, 20351, 20619, 20888, 21156]] - 攻击次数2 = 10 - data2 = [int(i*1.085*1.2138*1.151) for i in [0, 44076, 48547, 53019, 57490, 61962, 66433, 70905, 75376, 79848, 84319, 88791, 93262, 97734, 102205, 106677, 111148, 115620, 120091, 124563, 129034, 133506, 137977, 142449, 146920, 151392, 155863, 160335, 164806, 169278, 173749, 178221, 182692, 187164, 191635, 196107, 200578, 205050, 209521, 213993, 218464, 222936, 227407, 231879, 236350, 240822, 245293, 249765, 254236, 258708, 263179, 267651, 272122, 276594, 281065, 285537, 290008, 294480, 298951, 303423, 307894, 312366, 316837, 321309, 325780, 330252, 334723, 339195, 343666, 348138, 352609]] - 攻击次数3 = 1 - # 🐎测试9hit,游戏写的10hit - 基础 = 71859.4 - 成长 = 8113.6 - # 倍率 = 1.10 # 加强 - CD = 60.0 - -# 三觉 - - -class 技能22(职业主动技能): - 名称 = '念印幻流破' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 229668 - # 成长 = 69341 - # 倍率 = 1.08 # 加强 - data0 = [int(i*1.085*1.1840*1.132) for i in [0, 6459, 7957, 9455, 10953, 12451, 13949, 15447, 16945, 18442, 19940, 21438, 22936, 24434, 25932, 27430, 28928, 30426, 31924, 33421, 34919, 36417, 37915, 39413, 40911, 42409, 43907, 45405, 46903, 48401, 49898, 51396, 52894, 54392, 55890, 57388, 58886, 60384, 61882, 63380, 64877, 66375, 67873, 69371, 70869, 72367, 73865, 75363, 76861, 78359, 79857, 81354, 82852, 84350, 85848, 87346, 88844, 90342, 91840, 93338, 94836, 96333, 97831, 99329, 100827, 102325, 103823, 105321, 106819, 108317, 109815]] - 攻击次数 = 5 - data1 = [int(i*1.085*1.1840*1.132) for i in [0, 6459, 7957, 9455, 10953, 12451, 13949, 15447, 16945, 18442, 19940, 21438, 22936, 24434, 25932, 27430, 28928, 30426, 31924, 33421, 34919, 36417, 37915, 39413, 40911, 42409, 43907, 45405, 46903, 48401, 49898, 51396, 52894, 54392, 55890, 57388, 58886, 60384, 61882, 63380, 64877, 66375, 67873, 69371, 70869, 72367, 73865, 75363, 76861, 78359, 79857, 81354, 82852, 84350, 85848, 87346, 88844, 90342, 91840, 93338, 94836, 96333, 97831, 99329, 100827, 102325, 103823, 105321, 106819, 108317, 109815]] - 攻击次数2 = 5 - data2 = [int(i*1.085*1.1840*1.132) for i in [0, 64597, 79576, 94555, 109534, 124513, 139492, 154471, 169450, 184429, 199408, 214387, 229366, 244345, 259324, 274303, 289282, 304261, 319240, 334219, 349198, 364178, 379157, 394136, 409115, 424094, 439073, 454052, 469031, 484010, 498989, 513968, 528947, 543926, 558905, 573884, 588863, 603842, 618821, 633800, 648779, 663758, 678737, 693716, 708696, 723675, 738654, 753633, 768612, 783591, 798570, 813549, 828528, 843507, 858486, 873465, 888444, 903423, 918402, 933381, 948360, 963339, 978318, 993297, 1008276, 1023255, 1038234, 1053214, 1068193, 1083172, 1098151]] - 攻击次数3 = 1 - data3 = [int(i*1.085*1.1840*1.132) for i in [0, 64597, 79576, 94555, 109534, 124513, 139492, 154471, 169450, 184429, 199408, 214387, 229366, 244345, 259324, 274303, 289282, 304261, 319240, 334219, 349198, 364178, 379157, 394136, 409115, 424094, 439073, 454052, 469031, 484010, 498989, 513968, 528947, 543926, 558905, 573884, 588863, 603842, 618821, 633800, 648779, 663758, 678737, 693716, 708696, 723675, 738654, 753633, 768612, 783591, 798570, 813549, 828528, 843507, 858486, 873465, 888444, 903423, 918402, 933381, 948360, 963339, 978318, 993297, 1008276, 1023255, 1038234, 1053214, 1068193, 1083172, 1098151]] - 攻击次数4 = 1 - data4 = [int(i*1.085*1.1840*1.132) for i in [0, 129194, 159152, 189110, 219068, 249026, 278984, 308942, 338900, 368858, 398817, 428775, 458733, 488691, 518649, 548607, 578565, 608523, 638481, 668439, 698397, 728356, 758314, 788272, 818230, 848188, 878146, 908104, 938062, 968020, 997978, 1027936, 1057894, 1087853, 1117811, 1147769, 1177727, 1207685, 1237643, 1267601, 1297559, 1327517, 1357475, 1387433, 1417392, 1447350, 1477308, 1507266, 1537224, 1567182, 1597140, 1627098, 1657056, 1687014, 1716972, 1746930, 1776889, 1806847, 1836805, 1866763, 1896721, 1926679, 1956637, 1986595, 2016553, 2046511, 2076469, 2106428, 2136386, 2166344, 2196302]] - 攻击次数5 = 1 - - CD = 290.0 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能23(主动技能): - 名称 = '念雷破' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 基础 = 4387 - 445.175 - 成长 = 445.175 - - 攻击次数 = 1 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -class 技能24(主动技能): - 名称 = '念兽螺旋波' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 1064*1.085-107.96*1.085 - 成长 = 107.96*1.085 - 攻击次数 = 3 - - 基础2 = 1197*1.085-121.46*1.085 - 成长2 = 121.46*1.085 - 攻击次数2 = 4 - - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·气功师·女一觉序号 = 0 -归元·气功师·女二觉序号 = 0 -归元·气功师·女三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·气功师·女一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·气功师·女二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·气功师·女三觉序号 = 技能序号[i.名称] - -归元·气功师·女护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·气功师·女护石选项.append(i.名称) - -归元·气功师·女符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·气功师·女符文选项.append(i.名称) - - -class 归元·气功师·女角色属性(角色属性): - 实际名称 = '归元·气功师·女' - 角色 = '格斗家(女)' - 职业 = '气功师' - - 武器选项 = ['手套'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.57 - BUFF属强 = 86 - - 远古记忆 = 0 - - # 1 秒C - 雷龙开关 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - self.技能栏[self.技能序号['分身']].基础个数 = self.技能栏[self.技能序号['幻影爆碎']].TP等级 - - self.技能栏[self.技能序号['念兽雷龙出海']].秒C = self.雷龙开关 - - if self.装备检查('拥抱晨曦之温暖') or self.装备检查('融化黑暗之温暖'): - self.技能栏[self.技能序号['幻影爆碎']].恢复 -= 0.3 - - super().被动倍率计算() - - def 伤害指数计算(self): - self.光属性强化 += self.BUFF属强 - super().伤害指数计算() - - -class 归元·气功师·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·气功师·女角色属性() - self.角色属性A = 归元·气功师·女角色属性() - self.角色属性B = 归元·气功师·女角色属性() - self.一觉序号 = 归元·气功师·女一觉序号 - self.二觉序号 = 归元·气功师·女二觉序号 - self.三觉序号 = 归元·气功师·女三觉序号 - self.护石选项 = deepcopy(归元·气功师·女护石选项) - self.符文选项 = deepcopy(归元·气功师·女符文选项) - - def 界面(self): - super().界面() - - self.BUFF.move(self.BUFF.x() - 18, self.BUFF.y()) - self.BUFF输入.move(self.BUFF输入.x() - 20, self.BUFF输入.y()) - self.BUFF输入.resize(40, 25) - - self.BUFF输入2 = QLineEdit(self.main_frame2) - self.BUFF输入2.setText(str(self.初始属性.BUFF属强)) - self.BUFF输入2.resize(40, 25) - self.BUFF输入2.move(self.BUFF输入.x() + 45, self.BUFF输入.y()) - self.BUFF输入2.setStyleSheet(输入框样式) - self.BUFF输入2.setAlignment(Qt.AlignCenter) - - self.雷龙开关 = QCheckBox('雷龙出海秒C', self.main_frame2) - self.雷龙开关.resize(100, 20) - self.雷龙开关.move(335, 440) - self.雷龙开关.setStyleSheet(复选框样式) - self.雷龙开关.setChecked(True) - - self.职业存档.append(('BUFF输入2', self.BUFF输入2, 2)) - self.职业存档.append(('雷龙开关', self.雷龙开关, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - try: - self.BUFF光强 = int(self.BUFF输入2.text()) - except: - self.BUFF光强 = self.初始属性.BUFF属强 - - 属性.BUFF属强 = self.BUFF光强 - - if self.雷龙开关.isChecked(): - 属性.雷龙开关 = 1 diff --git a/Characters/归元·气功师·男.py b/Characters/归元·气功师·男.py deleted file mode 100644 index 37fe188a..00000000 --- a/Characters/归元·气功师·男.py +++ /dev/null @@ -1,828 +0,0 @@ -from math import * -from PublicReference.carry.base import * - -等级 = 100 + 5 - - -# 武器手套 -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '手套': -# return round(self.CD / self.恢复 * 1.05, 1) - - -# 蓄念炮 618不变 -class 技能0(被动技能): - 名称 = '蓄念炮' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - # 基础 = 159 - # 成长 = 6 - 关联技能 = ['念气波:蓄念炮'] - - def 加成倍率(self, 武器类型): - return round(2.59 + 0.06 * self.等级, 5) - - -# 分身 618不变 -class 技能1(主动技能): - 名称 = '分身' - 所在等级 = 5 - 等级上限 = 20 - 基础等级 = 10 - 基础个数 = 0 - 是否有伤害 = 0 - TP上限 = 0 - 关联技能 = ['幻影爆碎'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return round((self.基础个数 + self.等级), 5) - - -# 念之奥义 -class 技能2(被动技能): - 名称 = '念之奥义' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - # 增伤倍率 *= 1 + self.暴击伤害 - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.055 + 0.015 * self.等级, 5) - - -# 二觉被动 -class 技能3(主动技能): - 名称 = '风雷啸' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['所有'] - 是否有伤害 = 0 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.11 + 0.02 * self.等级, 5) - - -# 禅意:万象 -class 技能4(被动技能): - 名称 = '禅意:万象' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 关联技能2 = ['念气环绕:袭'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.05 - -# 基础精通 -class 技能5(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - TP成长 = 0.1 - TP上限 = 3 - 关联技能 = ['念兽:龙虎啸'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -# 幻影爆碎*=(分身个数+tp个数) -class 技能6(主动技能): - 名称 = '幻影爆碎' - 是否主动 = 0 - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础等级 = 38 - # 基础 = 652 - # 成长 = 74 - data0 = [int(x*1.199*1.051) for x in [0, 728, 802, 876, 950, 1024, 1098, 1172, 1246, 1320, 1394, 1468, 1542, 1616, 1690, 1764, 1838, 1912, 1986, - 2059, 2133, 2207, 2281, 2355, 2429, 2503, 2577, 2651, 2725, 2799, 2873, 2947, 3021, 3095, 3169, 3243, 3317, - 3391, 3464, 3538, 3612, 3686, 3760, 3834, 3908, 3982, 4056, 4130, 4204, 4278, 4352, 4426, 4500, 4574, 4648, - 4722, 4796, 4870, 4944, 5018, 5092]] - - CD = 12 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - # def 等效CD(self, 武器类型): - # if 武器类型 == '手套': - # return round(self.CD * 1.05, 1) - - -# 念气波 数组 -class 技能7(主动技能): - 名称 = '念气波' - 所在等级 = 15 - 等级上限 = 60 - # 基础等级 = 46 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 1301 - # 成长 = 145 - data0 = [int(x*1.182*1.053) for x in [0, 1432, 1577, 1723, 1868, 2013, 2159, 2304, 2449, 2595, 2740, 2885, 3030, 3176, 3321, 3466, 3612, 3757, 3902, - 4048, 4193, 4338, 4484, 4629, 4774, 4920, 5065, 5210, 5356, 5501, 5646, 5792, 5937, 6082, 6228, 6373, 6518, - 6664, 6809, 6954, 7100, 7245, 7390, 7535, 7681, 7826, 7971, 8117, 8262, 8407, 8553, 8698, 8843, 8989, 9134, - 9279, 9425, 9570, 9715, 9861, 10006]] - 攻击次数 = 1 - CD = 2.6 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -# 念气波:蓄念炮 -class 技能8(主动技能): - 名称 = '念气波:蓄念炮' - 所在等级 = 15 - 等级上限 = 60 - # 基础等级 = 46 - # 基础 = 1301 - # 成长 = 145 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.182) for x in [0, 1432, 1577, 1723, 1868, 2013, 2159, 2304, 2449, 2595, 2740, 2885, 3030, 3176, 3321, 3466, 3612, 3757, - 3902, 4048, 4193, 4338, 4484, 4629, 4774, 4920, 5065, 5210, 5356, 5501, 5646, 5792, 5937, 6082, 6228, 6373, - 6518, 6664, 6809, 6954, 7100, 7245, 7390, 7535, 7681, 7826, 7971, 8117, 8262, 8407, 8553, 8698, 8843, 8989, - 9134, 9279, 9425, 9570, 9715, 9861, 10006]] - 攻击次数1 = 1 - data2 = [int(x*1.0) for x in [0, 159, 175, 191, 207, 223, 239, 256, 272, 288, 304, 320, 336, 352, 369, 385, 401, 417, 433, 449, 465, 482, - 498, 514, 530, 546, 562, 578, 595, 611, 627, 643, 659, 675, 692, 708, 724, 740, 756, 772, 788, 805, 821, 837, - 853, 869, 885, 901, 918, 934, 950, 966, 982, 998, 1014, 1031, 1047, 1063, 1079, 1095, 1111]] - 攻击次数2 = 1 - CD = 6.5 - TP成长 = 0.08 - TP上限 = 5 - - # TP不加感电 - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 + (self.data2[self.等级] * self.攻击次数2 * 0.07) * self.倍率 - # return (self.data2[self.等级] * self.攻击次数2*0.077) * self.倍率 - -# 念气罩 - - -class 技能9(主动技能): - 名称 = '念气罩' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 7700 - 成长 = 0 - CD = 8 - TP上限 = 3 - - def 等效CD(self, 武器类型, 输出类型): - return round(10 / self.恢复, 1) - - -# 念气环绕 -class 技能10(主动技能): - 名称 = '念气环绕' - 所在等级 = 20 - 等级上限 = 35 - 学习间隔 = 3 - 等级精通 = 25 - - # 基础等级 = 25 - # 基础 = 48 - # 成长 = 8 - data0 = [int(x*1.184*1.052) for x in [0, 51, 59, 67, 76, 84, 92, 100, 108, 117, 125, 133, 141, 149, 158, 166, 174, 182, 190, 199, 207, 215, 223, - 231, 240, 248, 256, 264, 272, 281, 289, 297, 305, 313, 322, 330]] - 攻击次数 = 1 - CD = 0.9 - 关联技能 = ['念气环绕:御'] - 关联技能2 = ['所有'] - - def 加成倍率(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率/100 - - def 加成倍率2(self, 武器类型): - if (self.等级 <= 25): - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(1.25 + 0.02 * (self.等级 - 25), 5) - - -# 念气环绕:袭 618改2秒演戏 遗漏 -class 技能11(主动技能): - 名称 = '念气环绕:袭' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - # 基础 = 16854 - # 成长 = 367 - data0 = [int(x*1.103) for x in [0, 17219, 17586, 17954, 18321, 18688, - 19056, 19423, 19791, 20158, 20526, 20893]] - 攻击次数 = 1 - CD = 4.7 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -# 等会再说 -# 念气环绕:御 TP加算 -class 技能12(主动技能): - 名称 = '念气环绕:御' - 所在等级 = 30 - 等级上限 = 11 - # 基础等级 = 10 - # 基础 = 121 - # 成长 = 3 - 学习间隔 = 2 - 等级精通 = 1 - data0 = [int(x*1.0) for x in [0, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 181]] - 攻击次数 = 10 - CD = 1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.TP成长 * self.TP等级) * self.攻击次数 - - -# 念兽:龙虎啸 -class 技能13(主动技能): - 名称 = '念兽:龙虎啸' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - 基础 = 1000 - 成长 = 0 - CD = 1.0 - - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 < 7: - return round(1.17 + 0.01 * self.等级, 5) - else: - return round(1.3 + 0.02 * (self.等级-10), 5) - - -# 狮子吼 618加强1.079 数组 -class 技能14(主动技能): - 名称 = '狮子吼' - 所在等级 = 35 - 等级上限 = 60 - # 基础等级 = 36 - # 基础 = 8156.8 - # 成长 = 916.8 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(x*1.184*1.05) for x in [0, 5653, 6226, 6800, 7373, 7947, 8520, 9094, 9667, 10240, 10814, 11388, 11961, 12535, 13108, 13682, 14255, - 14829, 15402, 15976, 16549, 17123, 17696, 18270, 18843, 19417, 19990, 20564, 21138, 21711, 22285, 22858, - 23432, 24005, 24579, 25152, 25726, 26299, 26873, 27446, 28020, 28593, 29167, 29740, 30314, 30887, 31461, - 32034, 32608, 33181, 33755, 34328, 34902, 35475, 36049, 36622, 37196, 37769, 38343, 38917, 39490]] - 攻击次数 = 1 - 风雷啸 = 1.7 - CD = 17.9 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - elif x == 1: - self.倍率 *= 1.37 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - -# 螺旋念气场 618加强1.095 - - -class 技能15(主动技能): - 名称 = '螺旋念气场' - 所在等级 = 40 - 等级上限 = 60 - # 基础等级 = 33 - # 基础 = 12539.2 - # 成长 = 1414.4 - # 基础2 = 625.6#4390.4 * 1.095 # 940.8 测试3段 - # 成长2 = 67.2#470.4 * 1.095 # 100.8 测试3段 - # 攻击次数2 = 1 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.184*1.05) for x in [0, 512, 564, 616, 668, 720, 772, 824, 876, 928, 980, 1032, 1084, 1136, 1188, 1240, 1293, 1345, 1397, 1449, - 1501, 1553, 1605, 1657, 1709, 1761, 1813, 1865, 1917, 1969, 2021, 2073, 2125, 2177, 2229, 2281, 2333, 2385, - 2437, 2489, 2541, 2593, 2645, 2697, 2749, 2801, 2853, 2905, 2957, 3009, 3061, 3113, 3165, 3217, 3269, 3321, - 3373, 3425, 3477, 3529, 3581]] - 攻击次数1 = 17 - data2 = [int(x*1.0) for x in [0, 229, 252, 275, 299, 322, 345, 369, 392, 415, 438, 462, 485, 508, 531, 555, 578, 601, 624, 648, 671, 694, 718, 741, 764, 787, 811, 834, 857, 880, 904, 927, 950,974, 997, 1020, 1043, 1067, 1090, 1113, 1136, 1160, 1183, 1206, 1229, 1252, 1275, 1298, 1321, 1344, 1367, 1390, 1413, 1436, 1459, 1482, 1505, 1528, 1551, 1574, 1597]] - 攻击次数2 = 1.5 - 风雷啸 = 1.7 - CD = 21 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.09 - self.CD *= 0.83 - elif x == 1: - self.倍率 *= 1.18 - self.CD *= 0.83 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 + self.data2[ - self.等级] * self.攻击次数2 * self.倍率 * (1 + self.TP成长 * self.TP等级) - - -# 念兽:猛虎震地 618加强1.13,tp10,风雷60 -class 技能16(主动技能): - 名称 = '念兽:猛虎震地' - 所在等级 = 45 - 等级上限 = 60 - # 基础等级 = 31 - # 基础 = 21940.8 - # 成长 = 2459.2 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.184*1.05) for x in [0, 1896, 2089, 2281, 2474, 2666, 2859, 3051, 3243, 3436, 3628, 3821, 4013, 4206, 4398, 4591, 4783, 4975, - 5168, 5360, 5553, 5745, 5938, 6130, 6322, 6515, 6707, 6900, 7092, 7285, 7477, 7670, 7862, 8054, 8247, 8439, - 8632, 8824, 9017, 9209, 9401, 9594, 9786, 9979, 10171, 10364, 10556, 10748, 10941, 11133, 11326, 11518, - 11711, 11903, 12095, 12288, 12480, 12673, 12865, 13058, 13250]] - 攻击次数1 = 4 - data2 = [int(x*1.184*1.05) for x in [0, 7587, 8357, 9127, 9896, 10666, 11436, 12206, 12975, 13745, 14515, 15285, 16054, 16824, 17594, 18364, 19133, - 19903, 20673, 21443, 22212, 22982, 23752, 24522, 25291, 26061, 26831, 27601, 28370, 29140, 29910, 30680, 31449, - 32219, 32989, 33759, 34528, 35298, 36068, 36838, 37607, 38377, 39147, 39917, 40686, 41456, 42226, 42995, 43765, - 44535, 45305, 46074, 46844, 47614, 48384, 49153, 49923, 50693, 51463, 52232, 53002]] - 攻击次数2 = 1 - 风雷啸 = 1.7 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.36 - # 不确定 - self.风雷啸 = 1.44/1.6*1.7 - elif x == 1: - self.倍率 *= 1.49 - # 不确定 - self.风雷啸 = 1.44/1.6*1.7 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * ( - 1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - -# 念兽:审判之金雷虎-一觉 - - -class 技能17(主动技能): - 名称 = '念兽:审判之金雷虎' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 基础 = 54843*1.188*1.053 - 成长 = 16550*1.188*1.053 - CD = 145 - - -# 念之战矛 618加强1.122 -class 技能18(主动技能): - 名称 = '念之战矛' - 所在等级 = 60 - 等级上限 = 40 - # 基础等级 = 23 - # 基础 = 20768 - # 成长 = 2344 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(x*1.183*1.05) for x in [0, 2888, 3181, 3474, 3767, 4060, 4353, 4646, 4939, 5232, 5525, 5818, 6111, 6404, 6697, 6990, 7283, 7576, 7869, - 8162, 8455, 8749, 9042, 9335, 9628, 9921, 10214, 10507, 10800, 11093, 11386, 11679, 11972, 12265, 12558, 12851, - 13144, 13437, 13730, 14023, 14316]] - 攻击次数1 = 1 - data2 = [int(x*1.183*1.05) for x in [0, 11553, 12725, 13897, 15070, 16242, 17414, 18586, 19758, 20930, 22102, 23274, 24446, 25619, 26791, 27963, - 29135, 30307, 31479, 32651, 33823, 34996, 36168, 37340, 38512, 39684, 40856, 42028, 43200, 44372, 45544, 46716, - 47888, 49060, 50232, 51404, 52576, 53748, 54920, 56092, 57264]] - 攻击次数2 = 1 - 风雷啸 = 1.7 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - #self.倍率 *= 1.448 - #self.风雷啸 = 1.41436 - elif x == 1: - self.倍率 *= 1.4 - #self.倍率 *= 1.592 - #self.风雷啸 = 1.41436 - -# 冲云念气场 618感电分离1次 - - -class 技能19(主动技能): - 名称 = '冲云念气场' - 所在等级 = 70 - 等级上限 = 40 - # 基础等级 = 18 - # 基础 = 28694.4 - # 成长 = 3244.8 - # 基础2= 584 - # 成长2= 67.2 - # 攻击次数2= 1 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(x*1.191*1.052) for x in [0, 3330, 3668, 4005, 4343, 4681, 5019, 5357, 5695, 6033, 6370, 6708, 7046, 7384, 7722, 8060, 8397, 8735, - 9073, 9411, 9749, 10087, 10425, 10762, 11100, 11438, 11776, 12114, 12452, 12789, 13127, 13465, 13803, 14141, - 14479, 14817, 15154, 15492, 15830, 16168, 16506]] - 攻击次数1 = 6 - data2 = [int(x*1.191*1.052) for x in [0, 411, 453, 495, 536, 578, 620, 662, 703, 745, 787, 829, 870, 912, 954, 996, 1037, 1079, 1121, 1163, 1204, 1246, - 1288, 1330, 1371, 1413, 1455, 1497, 1538, 1580, 1622, 1664, 1705, 1747, 1789, 1831, 1872, 1914, 1956, 1997, 2039]] - 攻击次数2 = 4.5 - 风雷啸 = 1.674/1.6*1.7 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界','圣痕'] - - def 装备护石(self, x): - if x == 0: - self.风雷啸 = 1 - self.倍率 *= 2.03 - pass - elif x == 1: - self.风雷啸 = 1 - self.倍率 *= 2.3 - - def 等效百分比(self, 武器类型): - # return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * ( - # 1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - return self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 + self.data2[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -# 奔雷螺旋击 618加强1.074 -class 技能20(主动技能): - 名称 = '奔雷螺旋击' - 所在等级 = 75 - 等级上限 = 40 - # 基础等级 = 16 - # 基础 = 46472.16 - # 成长 = 5247.2 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(x*1.211*1.054) for x in [0, 46179, 50864, 55549, 60234, 64919, 69604, 74289, 78974, 83659, 88343, 93028, 97713, 102398, 107083, 111768, - 116453, 121138, 125823, 130508, 135192, 139877, 144562, 149247, 153931, 158616, 163301, 167986, 172670, - 177355, 182040, 186725, 191409, 196094, 200779, 205464, 210148, 214833, 219518, 224202, 228887]] - 攻击次数 = 1 - 风雷啸 = 1.12 - CD = 42 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 2.15 - self.风雷啸 = 1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - -# 月辉念气破 618加强1.075 - - -class 技能21(主动技能): - 名称 = '月辉念气破' - 所在等级 = 80 - 等级上限 = 40 - # 基础等级 = 13 - # 基础 = 54860 - # 成长 = 6200 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(x*1.212*1.051) for x in [0, 6109, 6728, 7348, 7968, 8588, 9208, 9827, 10447, 11067, 11687, 12306, 12926, 13546, 14166, 14786, 15405, - 16025, 16645, 17265, 17885, 18505, 19125, 19745, 20365, 20985, 21605, 22225, 22845, 23465, 24085, 24705, - 25325, 25945, 26565, 27185, 27805, 28425, 29045, 29665, 30285]] - 攻击次数 = 10 - CD = 45 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 月华万象-二觉 - - -class 技能22(主动技能): - 名称 = '月华万象' - 所在等级 = 85 - 等级上限 = 40 - # 基础等级 = 5 - # 基础 = 112750.8838 - # 成长 = 34039.7054 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(x*1.156*1.054) for x in [0, 4447, 5479, 6510, 7542, 8574, 9605, 10637, 11668, 12700, 13731, 14763, 15794, 16826, 17857, 18889, 19920, - 20952, 21983, 23015, 24047, 25078, 26110, 27141, 28173, 29204, 30236, 31267, 32299, 33330, 34362, 35393, - 36425, 37456, 38488, 39519, 40551, 41582, 42614, 43645, 44677]] - 攻击次数1 = 12 - data2 = [int(x*1.156*1.054) for x in [0, 93415, 115076, 136738, 158399, 180061, 201722, 223383, 245045, 266706, 288368, 310029, 331691, 353352, - 375014,396675, 418336, 439998, 461659, 483321, 504982, 526644, 548305, 569966, 591628, 613289, 634951, 656612, - 678274,699935, 721596, 743258, 764919, 786581, 808242, 829904, 851565, 873226, 894888, 916549, 938211]] - 攻击次数2 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * ( - 1 + self.TP成长 * self.TP等级) * self.倍率 - - # 禅语:形灭 - - -class 技能23(主动技能): - 名称 = '禅语:形灭' - 所在等级 = 95 - 等级上限 = 40 - # 基础等级 = 6 - # 基础 = 117321.7 - # 成长 = 13247 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(x*1.184*1.05) for x in [0, 4080, 4494, 4908, 5322, 5736, 6150, 6564, 6978, 7392, 7806, 8220, 8634, 9048, 9462, 9876, 10290, 10704, - 11118, 11532, 11946, 12360, 12774, 13188, 13602, 14016, 14430, 14844, 15258, 15672, 16086, 16500, 16914, - 17328, 17742, 18156, 18570, 18984, 19398, 19812, 20226]] - 攻击次数1 = 10 - data2 = [int(x*1.184*1.05) for x in [0, 40806, 44945, 49085, 53225, 57365, 61504, 65644, 69784, 73923, 78063, 82203, 86343, 90482, 94622, 98762, - 102901, 107041, 111181, 115321, 119460, 123600, 127740, 131879, 136019, 140159, 144299, 148438, 152578, 156718, - 160857, 164997, 169137, 173276, 177416, 181556, 185695, 189835, 193974, 198114, 202254]] - 攻击次数2 = 1 - 风雷啸 = 1.7 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * ( - 1 + self.TP成长 * self.TP等级) * self.倍率 * self.风雷啸 - - -# 禅念:归一 -class 技能24(主动技能): - 名称 = '禅念:归一' - 所在等级 = 100 - 等级上限 = 40 - # 基础等级 = 2 - # 基础 = 343382.3361 - # 成长 = 103689.33 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(x*1.158*1.05) for x in [0, 268255, 330459, 392663, 454867, 517071, 579275, 641479, 703683, 765887, 828091, 890295, 952499, 1014703, - 1076907, 1139111, 1201315, 1263519, 1325723, 1387927, 1450131, 1512335, 1574539, 1636743, 1698947, 1761151, - 1823355, 1885559, 1947763, 2009967, 2072171, 2134375, 2196579, 2258783, 2320987, 2383191, 2445395, 2507599, - 2569803, 2632007, 2694211]] - 攻击次数1 = 1 - data2 = [int(x*1.158*1.05) for x in [0, 29806, 36717, 43629, 50540, 57452, 64363, 71275, 78186, 85098, 92009, 98921, 105832, 112744, 119655, 126567, - 133478, 140390, 147301, 154213, 161124, 168036, 174947, 181859, 188770, 195682, 202593, 209505, 216416, 223328, - 230239, 237151, 244062, 250974, 257885, 264797, 271708, 278620, 285531, 292443, 299354]] - 攻击次数2 = 6 - CD = 290.0 - 关联技能 = ['无'] - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能25(主动技能): - 名称 = '雷霆踏' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - - data1 = [int(x*1.184*1.05) for x in [0,3753,4133,4514,4895,5276,5656,6037,6418,6799,7180,7560,7941,8322,8703,9083,9464,9845,10226,10606,10987,11368,11749,12129,12510,12891,13272,13652,14033,14414,14795,15175,15556,15937,16318,16698,17079,17460,17841,18221,18602,18983,19364,19745,20125,20506,20887,21268,21648,22029,22410,22791,23171,23552,23933,24314,24694,25075,25456,25837,26218]] - 攻击次数1 = 1 - data2 = [int(x*1.184*1.05) for x in [0,463,510,557,604,652,699,746,793,840,887,934,981,1028,1075,1122,1169,1216,1263,1310,1358,1405,1452,1499,1546,1593,1640,1687,1734,1781,1828,1875,1922,1969,2016,2063,2110,2158,2205,2252,2299,2346,2393,2440,2487,2534,2581,2628,2675,2722,2769,2816,2863,2910,2958,3005,3052,3099,3146,3193,3240]] - 攻击次数2 = 1 - CD = 7 - TP成长 = 0.1 - TP上限 = 5 - - # TP加感电 - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率+ (self.data2[self.等级] * self.攻击次数2 ) * (1 + self.TP成长 * self.TP等级* 0.07) * self.倍率 - -class 技能26(主动技能): - 名称 = '雷霆念炮' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 基础 = 735 - 成长 = 83 - 攻击次数 =6 - 基础2 = 81 - 成长2 = 9 - 攻击次数2 = 6 - TP成长 = 0.1 - TP上限 = 7 - CD = 7 - -#雷虎天降 -class 技能27(主动技能): - 名称 = '雷虎天降' - 所在等级 = 35 - 等级上限 = 40 - 基础等级 = 36 - 基础 = 5528 -561 - 成长 = 561 - 攻击次数 = 1 - 基础2 = 141 - 成长2 = 16 - 攻击次数2 = 10 - 基础3 = 70 - 成长3 = 8 - 攻击次数3 = 10 - TP成长 = 0.1 - TP上限 = 7 - 风雷啸 = 1.7 - CD = 17 - - def 等效百分比(self, 武器类型): - return super().等效百分比(武器类型)* self.风雷啸 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·气功师·男一觉序号 = 0 -归元·气功师·男二觉序号 = 0 -归元·气功师·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·气功师·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·气功师·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·气功师·男三觉序号 = 技能序号[i.名称] - -归元·气功师·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·气功师·男护石选项.append(i.名称) - -归元·气功师·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·气功师·男符文选项.append(i.名称) - # 归元·气功师·男符文选项.append('幻影爆碎') #符文计算报错,被动技能没有倍率 - - -class 职业属性(角色属性): - 实际名称 = '归元·气功师·男' - 角色 = '格斗家(男)' - 职业 = '气功师' - - 武器选项 = ['手套'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.43 - BUFF属强 = 86 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 面板魔法攻击力(self): - 面板魔法攻击 = self.主BUFF * (self.魔法攻击力 + self.进图魔法攻击力) * (1 + self.百分比三攻) * ( - 1 + self.年宠技能 * 0.10 + self.斗神之吼秘药 * 0.12 + self.白兔子技能 * 0.20) - for i in self.技能栏: - try: - 面板魔法攻击 *= i.魔法攻击力倍率(self.武器类型) - except: - pass - return 面板魔法攻击 - - def 被动倍率计算(self): - self.技能栏[self.技能序号['分身']].基础个数 = self.技能栏[self.技能序号['幻影爆碎']].TP等级 - if self.装备检查('拥抱晨曦之温暖') or self.装备检查('融化黑暗之温暖'): - self.技能栏[self.技能序号['幻影爆碎']].恢复 -= 0.3 - super().被动倍率计算() - - def 伤害指数计算(self): - self.光属性强化 += self.BUFF属强 - super().伤害指数计算() - - -class 归元·气功师·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 归元·气功师·男一觉序号 - self.二觉序号 = 归元·气功师·男二觉序号 - self.三觉序号 = 归元·气功师·男三觉序号 - self.护石选项 = deepcopy(归元·气功师·男护石选项) - self.符文选项 = deepcopy(归元·气功师·男符文选项) - - def 界面(self): - super().界面() - - self.BUFF.move(self.BUFF.x() - 18, self.BUFF.y()) - self.BUFF输入.move(self.BUFF输入.x() - 20, self.BUFF输入.y()) - self.BUFF输入.resize(40, 25) - - self.BUFF输入2 = QLineEdit(self.main_frame2) - self.BUFF输入2.setText(str(self.初始属性.BUFF属强)) - self.BUFF输入2.resize(40, 25) - self.BUFF输入2.move(self.BUFF输入.x() + 45, self.BUFF输入.y()) - self.BUFF输入2.setStyleSheet(输入框样式) - self.BUFF输入2.setAlignment(Qt.AlignCenter) - - self.职业存档.append(('BUFF输入2', self.BUFF输入2, 2)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - try: - self.BUFF光强 = int(self.BUFF输入2.text()) - except: - self.BUFF光强 = self.初始属性.BUFF属强 diff --git a/Characters/归元·街霸·女.py b/Characters/归元·街霸·女.py deleted file mode 100644 index 513383da..00000000 --- a/Characters/归元·街霸·女.py +++ /dev/null @@ -1,980 +0,0 @@ -from PublicReference.carry.base import * - - -class 主动技能(主动技能): - 直伤倍率 = 1 - 基础 = [0] * 61 - 中毒倍率 = 1 - 中毒基础 = [0] * 61 - 出血倍率 = 1 - 出血基础 = [0] * 61 - 灼伤倍率 = 1 - 灼伤基础 = [0] * 61 - 涂毒倍率 = 1 - 涂毒基础 = [0] * 61 - - def 等效百分比(self, 武器类型): - temp = 0 - if len(self.基础) > self.等级: - temp += self.直伤倍率 * self.基础[self.等级] - if len(self.中毒基础) > self.等级: - temp += self.中毒倍率 * self.中毒基础[self.等级] - if len(self.出血基础) > self.等级: - temp += self.出血倍率 * self.出血基础[self.等级] - if len(self.灼伤基础) > self.等级: - temp += self.灼伤倍率 * self.灼伤基础[self.等级] - if len(self.涂毒基础) > self.等级: - temp += self.涂毒倍率 * self.涂毒基础[self.等级] - return int(temp * (1 + self.TP成长 * self.TP等级) * self.倍率) - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 基础 = [0, 1000, 1058, 1115, 1173, 1230, 1288, 1345, 1403, 1461, 1518, 1576, 1633, 1691, 1748, 1806, 1895, 1984, 2073, 2162, 2251, 2339, 2428, 2517, 2606, 2695, 2784, 2873, 2962, 3051, 3140, 3228, 3317, 3406, 3495, 3584, 3673, 3762, 3851, 3940, 4029, 4118, 4206, 4295, 4384, 4473, 4562, 4651, 4740, 4829, 4918, 5007, 5095, 5184, 5273, 5362, 5451, 5540, 5629, 5718, 5807, 5896, 5985, 6073, 6162, 6251, 6340, 6429, 6518, 6607, 6696, 6785, 6874, 6963, 7051, 7140, 7229, 7318, 7407, 7496, 7585, 7674, 7763, 7852, 7940, 8029, 8118, 8207, 8296, 8385, 8474, 8563, 8652, 8741, 8830, 8918, 9007, 9096, 9185, 9274, 9363, 9452, 9541, 9630, 9719, 9808, 9897, 9986, - 10075, 10164, 10253, 10342, 10431, 10520, 10609, 10698, 10787, 10876, 10965, 11054, 11143, 11232, 11321, 11410, 11499, 11588, 11677, 11766, 11855, 11944, 12033, 12122, 12211, 12300, 12389, 12478, 12567, 12656, 12745, 12834, 12923, 13012, 13101, 13190, 13279, 13368, 13457, 13546, 13635, 13724, 13813, 13902, 13991, 14080, 14169, 14258, 14347, 14436, 14525, 14614, 14703, 14792, 14881, 14970, 15059, 15148, 15237, 15326, 15415, 15504, 15593, 15682, 15771, 15860, 15949, 16038, 16127, 16216, 16305, 16394, 16483, 16572, 16661, 16750, 16839, 16928, 17017, 17106, 17195, 17284, 17373, 17462, 17551, 17640, 17729, 17818, 17907, 17996, 18085, 18174, 18263] - 关联技能 = ['天罗地网'] - - def 加成倍率(self, 武器类型): - return self.基础[self.等级] / 1000 - - -class 技能1(主动技能): - 名称 = '抛沙' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 48 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1859) for i in [0, 493, 553, 614, 672, 731, 793, 852, 912, 973, 1030, 1090, 1150, 1210, 1269, 1330, 1386, 1447, 1505, 1565, 1625, 1685, 1745, 1805, 1865, 1925, 1985, 2044, 2102, 2161, 2222, 2283, 2342, 2401, 2462, 2522, - 2581, 2642, 2699, 2760, 2819, 2881, 2940, 2996, 3057, 3115, 3175, 3236, 3293, 3354, 3414, 3474, 3534, 3594, 3654, 3712, 3774, 3832, 3892, 3952, 4011, 4069, 4129, 4190, 4249, 4307, 4367, 4429, 4487, 4547, 4608]] - 涂毒基础 = [int(i*1.085*1.1854) for i in [0, 49, 57, 62, 67, 73, 81, 85, 90, 97, 103, 109, 115, 121, 127, 134, 139, 144, 149, 157, 162, 169, 175, 181, 187, 193, 198, 205, 210, 215, 223, 228, 234, 239, 247, 252, - 258, 264, 270, 276, 282, 288, 295, 300, 306, 310, 318, 323, 329, 336, 342, 348, 354, 360, 366, 371, 376, 384, 390, 395, 400, 408, 413, 419, 424, 431, 437, 443, 448, 456, 461]] - # 三觉加强(1.088) - CD = 3.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(主动技能): - 名称 = '擒月炎' - 备注 = '(异常状态*3)' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2) for i in [0, 1713, 1869, 2031, 2193, 2350, 2518, 2682, 2835, 2991, 3155, 3315, 3473, 3635, 3803, 3957, 4122, 4284, 4438, 4601, 4758, 4913, 5072, 5243, 5406, 5563, 5723, 5886, 6040, 6202, 6371, 6528, 6684, 6847, 7001, 7164, 7327, - 7491, 7643, 7813, 7976, 8131, 8292, 8449, 8603, 8767, 8929, 9083, 9253, 9417, 9417, 9722, 9882, 10038, 10203, 10363, 10518, 10679, 10837, 11005, 11161, 11327, 11480, 11641, 11804, 11959, 12120, 12276, 12446, 12601, 12764]] - 直伤倍率 = 1.6 # 异常增伤 - 涂毒基础 = [int(i*1.085*1.2) for i in [0, 171, 186, 204, 219, 238, 253, 271, 284, 297, 315, 332, 347, 364, 380, 396, 411, 428, 445, 460, 477, 491, 508, 524, 542, 557, 573, 588, 603, 621, 638, 653, 668, 684, 701, 717, 734, - 749, 764, 783, 797, 813, 830, 844, 862, 876, 891, 907, 926, 943, 943, 973, 990, 1004, 1022, 1038, 1051, 1068, 1083, 1099, 1116, 1133, 1149, 1164, 1180, 1196, 1211, 1230, 1245, 1260, 1274]] - 涂毒倍率 = 1.6 - # 三觉加强(1.123) - CD = 5.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能3(主动技能): - 名称 = '毒影针' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1831) for i in [0, 815, 898, 980, 1063, 1146, 1228, 1311, 1393, 1475, 1558, 1640, 1724, 1806, 1888, 1971, 2055, 2137, 2220, 2303, 2386, 2468, 2550, 2634, 2716, 2799, 2881, 2963, 3046, 3128, 3213, 3295, 3377, 3460, 3543, 3626, - 3708, 3790, 3874, 3956, 4039, 4121, 4205, 4288, 4370, 4453, 4535, 4617, 4700, 4783, 4866, 4948, 5030, 5114, 5196, 5279, 5363, 5445, 5528, 5610, 5693, 5776, 5858, 5941, 6023, 6105, 6188, 6270, 6354, 6436, 6518]] - 中毒基础 = [int(i*1.085*1.1829) for i in [0, 791, 870, 951, 1031, 1111, 1192, 1272, 1352, 1433, 1513, 1594, 1673, 1754, 1833, 1913, 1994, 2074, 2155, 2236, 2315, 2396, 2476, 2555, 2636, 2716, 2797, 2876, 2958, 3037, 3118, 3198, 3278, 3359, 3437, - 3519, 3598, 3680, 3760, 3839, 3921, 4000, 4082, 4161, 4241, 4321, 4401, 4482, 4561, 4643, 4722, 4803, 4883, 4964, 5044, 5124, 5204, 5284, 5364, 5445, 5525, 5606, 5686, 5765, 5846, 5926, 6006, 6086, 6167, 6247, 6327]] - 出血基础 = [int(i*1.085*1.1829) for i in [0, 791, 870, 951, 1031, 1111, 1192, 1272, 1352, 1433, 1513, 1594, 1673, 1754, 1833, 1913, 1994, 2074, 2155, 2236, 2315, 2396, 2476, 2555, 2636, 2716, 2797, 2876, 2958, 3037, 3118, 3198, 3278, 3359, 3437, - 3519, 3598, 3680, 3760, 3839, 3921, 4000, 4082, 4161, 4241, 4321, 4401, 4482, 4561, 4643, 4722, 4803, 4883, 4964, 5044, 5124, 5204, 5284, 5364, 5445, 5525, 5606, 5686, 5765, 5846, 5926, 6006, 6086, 6167, 6247, 6327]] - 涂毒基础 = [int(i*1.085*1.1832) for i in [0, 239, 264, 287, 312, 337, 361, 385, 409, 434, 458, 482, 507, 532, 555, 580, 604, 629, 652, 677, 701, 725, 749, 775, 798, 823, 848, 872, 897, 919, 945, 968, 993, 1017, 1042, 1066, 1091, 1115, - 1140, 1162, 1187, 1212, 1236, 1261, 1285, 1310, 1334, 1357, 1383, 1406, 1430, 1455, 1479, 1504, 1527, 1553, 1577, 1600, 1624, 1651, 1674, 1698, 1723, 1747, 1772, 1795, 1821, 1844, 1868, 1892, 1917]] - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能4(主动技能): - 名称 = '双重投掷' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - 是否有伤害 = 0 - 关联技能 = ['无'] - - -class 技能5(被动技能): - 名称 = '爪精通' - 所在等级 = 25 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.21 + 0.01 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能6(主动技能): - 名称 = '砖袭' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1977) for i in [0, 2602, 2866, 3131, 3393, 3658, 3924, 4186, 4451, 4716, 4979, 5243, 5508, 5772, 6034, 6299, 6564, 6827, 7094, 7356, 7620, 7885, 8147, 8413, 8678, 8941, 9205, 9471, 9732, 9996, 10261, 10525, 10790, 11055, 11319, 11581, 11847, 12110, - 12374, 12639, 12902, 13168, 13430, 13694, 13959, 14224, 14487, 14751, 15017, 15278, 15543, 15809, 16071, 16336, 16601, 16865, 17127, 17392, 17656, 17920, 18184, 18449, 18714, 18977, 19241, 19504, 19770, 20032, 20297, 20564, 20824]] - 涂毒基础 = [int(i*1.085*1.1976) for i in [0, 258, 286, 312, 338, 364, 390, 419, 443, 471, 497, 523, 548, 574, 602, 631, 655, 682, 710, 734, 760, 787, 813, 839, 867, 893, 920, 944, 972, 999, 1026, 1051, 1078, 1106, 1130, 1156, 1184, 1210, - 1236, 1263, 1290, 1316, 1341, 1369, 1395, 1421, 1447, 1476, 1500, 1525, 1554, 1580, 1607, 1632, 1659, 1686, 1711, 1736, 1765, 1791, 1818, 1844, 1872, 1897, 1922, 1949, 1975, 2001, 2029, 2057, 2080]] - # 三觉加强(1.116) - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(主动技能): - 名称 = '天罗地网' - 备注 = '(TP为基础精通)' - 所在等级 = 35 - 等级上限 = 11 - 基础等级 = 1 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1878) for i in [0, 1257, 1257, 1257, 1257, - 1257, 1257, 1257, 1257, 1257, 1257, 1257]] - 涂毒基础 = [int(i*1.085*1.189) for i in [0, 127, 127, 127, - 127, 127, 127, 127, 127, 127, 127, 127]] - CD = 11 - TP成长 = 0.10 - TP上限 = 3 - - -class 技能8(主动技能): - 名称 = '挑衅' - 所在等级 = 35 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['所有'] - # 7.23职业平衡 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.02 * self.等级, 5) - - -class 技能9(主动技能): - 名称 = '伏虎霸王拳' - 备注 = '(不可抓取,异常状态*3)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1879) for i in [0, 532, 587, 641, 695, 749, 803, 857, 911, 965, 1020, 1073, 1128, 1181, 1236, 1289, 1344, 1398, 1452, 1506, 1560, 1614, 1668, 1722, 1777, 1830, 1885, 1938, 1993, 2046, 2101, 2155, 2209, 2263, 2317, 2371, - 2426, 2479, 2534, 2587, 2642, 2695, 2750, 2804, 2858, 2913, 2967, 3021, 3075, 3129, 3184, 3237, 3292, 3345, 3400, 3453, 3508, 3562, 3616, 3670, 3724, 3778, 3833, 3886, 3941, 3994, 4049, 4102, 4157, 4211, 4265]] - 直伤倍率 = 1.6 # 异常增伤 - 涂毒基础 = [int(i*1.085*1.1865) for i in [0, 53, 58, 64, 69, 75, 80, 85, 90, 96, 101, 107, 112, 118, 123, 129, 134, 139, 144, 150, 155, 161, 166, 172, 177, 183, 188, 193, 198, 204, 209, 215, 221, 226, 231, 237, - 243, 247, 252, 258, 264, 269, 274, 280, 286, 291, 296, 301, 307, 312, 317, 323, 329, 334, 339, 345, 351, 355, 360, 366, 372, 377, 382, 389, 394, 399, 404, 410, 415, 420, 425]] - 涂毒倍率 = 1.6 # 异常增伤 - # 三觉加强(1.05) - CD = 15.0 - TP上限 = 5 - TP数据 = [0, 9.29, 10.14, 10.98, 11.83, 12.67] - - def 等效百分比(self, 武器类型): - return int((self.直伤倍率 * self.基础[self.等级] + self.涂毒倍率 * self.涂毒基础[self.等级]) * self.TP数据[self.TP等级] * self.倍率) - - -class 技能10(被动技能): - 名称 = '狂·霸王拳' - 所在等级 = 40 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['伏虎霸王拳'] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '' - temp += '加成倍率:' + \ - str(round(round(1.40 + 0.02 * self.等级, 5)*100-100, 2)) + '%
' - temp += '关联技能:伏虎霸王拳' - return temp - - def 加成倍率(self, 武器类型): - return 1.0 - - def 技能加成倍率(self, 武器类型): - return round(0.40 + 0.02 * self.等级, 5) - - -class 技能11(主动技能): - 名称 = '裂地飞沙' - 备注 = '(不可抓取)' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1869) for i in [0, 7979, 8789, 9598, 10406, 11216, 12026, 12835, 13645, 14453, 15264, 16073, 16882, 17693, 18501, 19310, 20120, 20929, 21738, 22547, 23356, 24167, 24976, 25785, 26593, 27403, 28213, 29023, 29832, 30640, 31451, 32260, 33070, 33880, 34688, 35498, - 36307, 37117, 37927, 38735, 39544, 40355, 41164, 41974, 42782, 43591, 44402, 45211, 46020, 46829, 47639, 48448, 49258, 50068, 50877, 51686, 52495, 53307, 54115, 54925, 55735, 56544, 57354, 58162, 58971, 59781, 60590, 61399, 62208, 63018, 63827]] - 直伤倍率 = 1.2 # 不可抓取 - 涂毒基础 = [int(i*1.085*1.1868) for i in [0, 798, 879, 960, 1040, 1122, 1202, 1284, 1363, 1445, 1526, 1608, 1689, 1769, 1851, 1931, 2012, 2093, 2174, 2254, 2336, 2416, 2498, 2577, 2659, 2740, 2820, 2901, 2982, 3063, 3144, 3225, 3307, 3387, 3468, - 3549, 3630, 3711, 3791, 3872, 3954, 4036, 4116, 4197, 4278, 4358, 4439, 4521, 4601, 4682, 4763, 4845, 4927, 5006, 5088, 5168, 5250, 5330, 5411, 5492, 5574, 5654, 5736, 5816, 5898, 5977, 6059, 6140, 6220, 6301, 6382]] - # 三觉加强(1.121) - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - self.CD *= 1.00 - if x == 1: - self.倍率 *= 1.36 - self.CD *= 1.00 - - -class 技能12(主动技能): - 名称 = '毒雷引爆' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2155) for i in [0, 1251, 1377, 1503, 1630, 1760, 1885, 2010, 2140, 2265, 2393, 2519, 2646, 2773, 2902, 3025, 3154, 3280, 3408, 3531, 3662, 3786, 3915, 4041, 4167, 4294, 4422, 4548, 4674, 4803, 4929, 5056, 5182, 5308, 5436, - 5564, 5689, 5818, 5945, 6071, 6198, 6324, 6452, 6579, 6707, 6831, 6960, 7086, 7211, 7340, 7467, 7592, 7720, 7848, 7975, 8102, 8228, 8354, 8481, 8610, 8734, 8863, 8988, 9118, 9242, 9371, 9498, 9625, 9751, 9879, 10005]] - 中毒基础 = [int(i*1.085*1.2159) for i in [0, 308, 340, 371, 401, 434, 464, 497, 529, 558, 591, 621, 654, 683, 715, 747, 777, 810, 840, 872, 904, 934, 967, 996, 1029, 1059, 1092, 1123, 1153, 1186, 1216, 1249, 1280, 1311, 1342, 1373, 1405, - 1436, 1468, 1499, 1530, 1562, 1594, 1625, 1655, 1687, 1718, 1748, 1781, 1812, 1844, 1876, 1905, 1938, 1969, 1999, 2031, 2062, 2094, 2124, 2157, 2188, 2219, 2251, 2281, 2313, 2344, 2376, 2407, 2439, 2470]] - 涂毒基础 = [int(i*1.085*1.2163) for i in [0, 143, 157, 171, 189, 202, 216, 232, 246, 261, 275, 291, 305, 319, 334, 350, 364, 378, 393, 409, 423, 438, 452, 468, 481, 497, 512, 526, 542, 556, 570, 585, 598, 615, 630, 644, - 659, 674, 688, 703, 717, 732, 749, 762, 777, 791, 806, 821, 835, 850, 867, 880, 895, 910, 924, 938, 955, 969, 983, 997, 1014, 1028, 1041, 1058, 1073, 1087, 1101, 1115, 1131, 1146, 1160]] - # 三觉加强(1.09) - CD = 24.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.07 - self.CD *= 0.90 - if x == 1: - self.倍率 *= 1.16 - self.CD *= 0.90 - - -class 技能13(主动技能): - 名称 = '街头风暴' - 备注 = '(数学期望)' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 7.23职业平衡 - 基础1 = [int(i*1.085*1.2262) for i in [0, 361, 397, 433, 471, 506, 543, 581, 617, 654, 690, 727, 763, 800, 835, 873, 910, 947, 985, 1019, 1057, 1092, 1130, 1168, 1202, 1240, 1278, 1314, 1350, 1387, 1424, 1459, 1497, 1532, 1569, 1607, 1643, - 1681, 1716, 1753, 1789, 1826, 1863, 1899, 1936, 1971, 2010, 2045, 2083, 2120, 2155, 2193, 2228, 2265, 2302, 2340, 2377, 2412, 2450, 2484, 2523, 2559, 2595, 2633, 2667, 2707, 2742, 2779, 2817, 2852, 2889]] - 直伤倍率1 = 20 - 基础2 = [int(i*1.085*1.226) for i in [0, 717, 790, 864, 936, 1008, 1081, 1156, 1228, 1301, 1374, 1447, 1519, 1592, 1665, 1738, 1812, 1884, 1956, 2028, 2103, 2176, 2249, 2320, 2393, 2466, 2540, 2612, 2685, 2759, 2831, 2903, 2976, 3050, 3122, 3195, - 3269, 3341, 3414, 3487, 3560, 3632, 3706, 3779, 3850, 3922, 3998, 4071, 4143, 4215, 4288, 4361, 4433, 4506, 4579, 4652, 4726, 4798, 4871, 4944, 5017, 5090, 5163, 5235, 5308, 5382, 5454, 5527, 5601, 5674, 5744]] - 直伤倍率2 = 5 - 中毒基础 = [int(i*1.085*1.226) for i in [0, 1785, 1967, 2148, 2328, 2510, 2690, 2873, 3053, 3233, 3415, 3597, 3778, 3959, 4139, 4321, 4502, 4684, 4865, 5046, 5226, 5408, 5589, 5770, 5952, 6133, 6313, 6495, 6677, 6857, 7039, 7220, 7400, 7582, 7764, 7944, 8126, - 8304, 8487, 8669, 8851, 9030, 9213, 9394, 9575, 9755, 9938, 10119, 10300, 10479, 10662, 10843, 11023, 11204, 11386, 11568, 11747, 11929, 12112, 12293, 12472, 12653, 12836, 13018, 13197, 13379, 13561, 13740, 13922, 14103, 14285]] - 中毒倍率 = 1 - 涂毒基础1 = [int(i*1.085*1.2276) for i in [0, 35, 38, 42, 47, 50, 54, 58, 61, 65, 69, 72, 76, 81, 83, 86, 90, 94, 99, 101, 105, 109, 113, 117, 120, 123, 127, 132, 134, 139, 142, 145, 150, 152, 156, 160, 164, - 168, 172, 174, 178, 183, 186, 191, 193, 197, 201, 204, 208, 211, 214, 219, 223, 225, 229, 234, 237, 242, 244, 248, 253, 256, 259, 263, 265, 270, 274, 277, 281, 284, 288]] - 涂毒倍率1 = 20 - 涂毒基础2 = [int(i*1.085*1.2249) for i in [0, 72, 79, 85, 94, 100, 106, 115, 123, 130, 137, 144, 151, 158, 165, 174, 179, 188, 196, 202, 209, 217, 225, 232, 238, 247, 255, 259, 268, 275, 283, 289, 297, 306, 311, - 319, 327, 334, 341, 348, 356, 362, 370, 378, 384, 391, 400, 407, 414, 421, 428, 437, 442, 449, 458, 465, 472, 480, 486, 493, 501, 510, 516, 522, 531, 538, 544, 552, 560, 567, 574]] - 涂毒倍率2 = 5 - # 三觉加强(1.108) - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return ((self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.中毒基础[self.等级] * self.中毒倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率)) * self.倍率 * (1 + self.TP成长 * self.TP等级) - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.直伤倍率1 = 0 - self.直伤倍率2 = 25 * 0.74 - self.中毒倍率 = 0.74 - self.涂毒倍率1 = 0 - self.涂毒倍率2 = 25 * 0.74 - if x == 1: - self.直伤倍率1 = 0 - self.直伤倍率2 = 25 * 0.74 * 1.06 - self.中毒倍率 = 0.74 * 1.06 - self.涂毒倍率1 = 0 - self.涂毒倍率2 = 25 * 0.74 * 1.06 - - -class 技能14(被动技能): - 名称 = '猛毒之血' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.035 + 0.015 * self.等级, 5) - - -class 技能15(主动技能): - 名称 = '死亡毒雾' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - CD = 145 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1438) for i in [0, 37728, 46560, 55408, 64272, 73104, 81944, 90800, 99632, 108448, 117312, 126160, 134992, 143840, 152688, 161528, 170376, 179200, 188064, 196872, 205736, 214592, 223432, 232272, 241104, 249944, 258768, 267640, 276472, 285328, 294160, 303008, 311864, 320712, 329536, 338368, - 347208, 356064, 364928, 373744, 382600, 391440, 400272, 409144, 417960, 426824, 435656, 444496, 453336, 462192, 471040, 479872, 488720, 497536, 506376, 515248, 524072, 532928, 541768, 550608, 559472, 568304, 577136, 585968, 594824, 603656, 612520, 621360, 630192, 639056, 647888]] - 中毒基础 = [int(i*1.085*1.1439) for i in [0, 636, 783, 930, 1079, 1226, 1372, 1520, 1668, 1816, 1964, 2110, 2258, 2405, 2551, 2702, 2848, 2995, 3143, 3289, 3437, 3585, 3733, 3881, 4028, 4174, 4323, 4470, 4617, 4765, 4912, 5060, 5208, 5355, 5503, 5649, - 5796, 5946, 6093, 6239, 6387, 6534, 6682, 6830, 6977, 7125, 7272, 7419, 7568, 7715, 7861, 8009, 8157, 8305, 8453, 8599, 8747, 8894, 9040, 9191, 9337, 9484, 9632, 9778, 9926, 10074, 10222, 10370, 10517, 10663, 10812]] - 涂毒基础 = [int(i*1.085*1.1439) for i in [0, 3792, 4680, 5552, 6432, 7312, 8200, 9088, 9960, 10848, 11728, 12592, 13480, 14360, 15248, 16128, 17008, 17896, 18760, 19648, 20528, 21400, 22288, 23176, 24056, 24936, 25808, 26696, 27584, 28456, 29336, 30224, 31096, 31976, 32856, 33744, - 34632, 35504, 36392, 37272, 38136, 39024, 39904, 40792, 41672, 42552, 43440, 44304, 45184, 46072, 46944, 47832, 48720, 49600, 50480, 51352, 52240, 53128, 53992, 54880, 55768, 56640, 57520, 58400, 59288, 60176, 61048, 61928, 62816, 63680, 64568]] - 力智 = [0, 0, 0, 0, 0, 0, 130, 137, 143, 150, 156, 163, 169, 176, 182, 189, 195, 202, 208, 215, 221, 228, 234, 241, 247, 254, 260, 267, 273, 280, 286, 293, 299, 306, 312, 319, - 325, 332, 338, 345, 351, 358, 364, 371, 377, 384, 390, 397, 403, 410, 416, 423, 429, 436, 442, 449, 455, 462, 468, 475, 481, 488, 494, 501, 507, 514, 520, 527, 533, 540, 546] - 防御 = [0, 0, 0, 1699, 1916, 2144, 2382, 2634, 2896, 3172, 3458, 3757, 4066, 4390, 4724, 5069, 5428, 5797, 6178, 6570, 6976, 7393, 7821, 8262, 8714, 9178, 9654, 10141, 10641, 11153, 11675, 12210, 12758, 13316, 13885, 14469, 15063, 15669, - 16286, 16917, 17558, 18210, 18876, 19553, 20241, 20942, 21654, 22378, 23114, 23862, 24384, 22959, 23447, 23934, 24421, 24908, 25396, 25882, 26369, 26857, 27343, 27830, 28318, 28804, 29292, 29779, 30267, 30753, 31240, 31728, 32214] - - def 力智加成(self): - return self.力智[self.等级] - - def 防御减少(self): - return self.防御[self.等级] - - def 技能描述(self, 武器类型): - temp = '力量/智力+' + str(self.力智加成()) - temp += '
防御减少:' + str(self.防御减少()) - return temp - - -class 技能16(主动技能): - 名称 = '猛毒擒月炎' - 备注 = '(异常状态*3)' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 30.0 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.1863*0.94) for i in [0, 10088, 11115, 12137, 13160, 14184, 15208, 16232, 17256, 18279, 19302, 20327, 21352, 22374, 23400, 24422, 25445, 26469, 27493, 28516, 29540, 30565, 31587, 32610, 33636, 34657, 35682, 36705, 37730, 38751, 39776, 40801, 41824, 42846, 43871, - 44895, 45920, 46944, 47967, 48991, 50014, 51036, 52062, 53085, 54107, 55133, 56157, 57180, 58204, 59226, 60250, 61276, 62298, 63323, 64347, 65370, 66392, 67417, 68440, 69464, 70488, 71513, 72534, 73558, 74582, 75606, 76628, 77652, 78678, 79703, 80725]] - 直伤倍率 = 1.6 # 异常增伤 - 中毒基础 = [int(i*1.085*1.1862*0.94) for i in [0, 1596, 1758, 1920, 2083, 2245, 2406, 2568, 2731, 2894, 3055, 3216, 3380, 3541, 3703, 3865, 4029, 4189, 4351, 4514, 4675, 4836, 4999, 5160, 5323, 5485, 5646, 5808, 5971, 6134, 6295, 6457, 6620, 6781, 6943, 7105, 7269, - 7430, 7591, 7754, 7915, 8077, 8238, 8400, 8563, 8725, 8888, 9048, 9212, 9374, 9535, 9698, 9860, 10023, 10183, 10346, 10509, 10671, 10832, 10993, 11155, 11317, 11479, 11643, 11803, 11965, 12128, 12291, 12452, 12614, 12776]] - 中毒倍率 = 1.6 - 涂毒基础 = [int(i*1.085*1.1864*0.94) for i in [0, 1167, 1286, 1404, 1524, 1643, 1760, 1880, 1998, 2113, 2234, 2355, 2471, 2592, 2710, 2828, 2947, 3065, 3182, 3304, 3421, 3539, 3660, 3776, 3895, 4014, 4131, 4251, 4369, 4488, 4607, 4728, 4842, 4961, 5081, - 5200, 5318, 5438, 5556, 5674, 5793, 5909, 6028, 6150, 6268, 6384, 6504, 6624, 6740, 6860, 6979, 7095, 7216, 7335, 7451, 7571, 7690, 7807, 7926, 8046, 8163, 8283, 8402, 8522, 8637, 8755, 8875, 8993, 9113, 9232, 9349]] - 涂毒倍率 = 1.6 - # 三觉加强(1.163) - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.06 - self.直伤倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.中毒倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.涂毒倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.CD *= 0.80 - if x == 1: - self.倍率 *= 1.15 - self.直伤倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.中毒倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.涂毒倍率 = 1+(0.2+.05)*3 # 异常增伤 - self.CD *= 0.80 - - -class 技能17(主动技能): - 名称 = '爆碎砖袭' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 7.23职业平衡 - 基础1 = [int(i*1.085*1.28) for i in [0, 3247, 3577, 3906, 4235, 4564, 4894, 5224, 5553, 5882, 6211, 6541, 6871, 7200, 7530, 7857, 8187, 8517, 8846, 9176, 9504, 9834, 10164, 10493, 10823, 11152, 11482, - 11812, 12141, 12471, 12800, 13129, 13459, 13788, 14118, 14447, 14775, 15105, 15434, 15764, 16094, 16422, 16752, 17081, 17411, 17741, 18070, 18399, 18728, 19058, 19388]] - 直伤倍率1 = 1 # 冲击波攻击力 - 基础2 = [int(i*1.085*1.28) for i in [0, 1623, 1788, 1953, 2117, 2282, 2446, 2611, 2776, 2941, 3106, 3270, 3435, 3600, 3765, 3928, 4093, 4257, 4422, 4587, 4752, 4917, 5081, 5246, 5411, - 5575, 5740, 5904, 6069, 6234, 6399, 6564, 6728, 6893, 7058, 7223, 7388, 7552, 7717, 7882, 8047, 8212, 8376, 8541, 8706, 8871, 9036, 9199, 9364, 9529, 9694]] - 直伤倍率2 = 2 # 砖块攻击力 - 基础3 = [int(i*1.085*1.28) for i in [0, 972, 1071, 1170, 1269, 1367, 1466, 1565, 1664, 1763, 1862, 1960, 2057, 2156, 2256, 2355, 2454, 2551, 2650, 2749, 2848, 2947, 3046, 3144, 3243, - 3341, 3440, 3539, 3638, 3736, 3836, 3934, 4033, 4132, 4231, 4329, 4428, 4525, 4625, 4724, 4823, 4920, 5020, 5120, 5217, 5316, 5415, 5513, 5612, 5711, 5809]] - 直伤倍率3 = 4 # 砖块爆炸攻击力 - 基础4 = [int(i*1.085*1.28) for i in [0, 7152, 7878, 8604, 9329, 10056, 10782, 11508, 12232, 12958, 13683, 14410, 15136, 15861, 16587, 17312, 18038, 18764, 19491, 20215, 20941, 21667, 22392, 23118, 23843, 24569, - 25294, 26021, 26747, 27473, 28198, 28923, 29650, 30375, 31101, 31826, 32552, 33277, 34003, 34729, 35456, 36181, 36906, 37632, 38357, 39083, 39808, 40534, 41259, 41986, 42712]] - 直伤倍率4 = 1 # 最后爆炸攻击力 - 涂毒基础1 = [int(i*1.085*1.2797) for i in [0, 325, 358, 390, 424, 456, 489, 523, 555, 589, 621, 654, 688, 720, 753, 786, 817, 851, 883, 917, 951, 982, 1016, 1048, 1082, 1115, 1147, - 1181, 1212, 1247, 1280, 1312, 1346, 1377, 1412, 1445, 1476, 1511, 1542, 1576, 1610, 1641, 1675, 1707, 1741, 1775, 1806, 1840, 1872, 1906, 1939]] - 涂毒倍率1 = 1 # 冲击波攻击力 - 涂毒基础2 = [int(i*1.085*1.2789) for i in [0, 162, 178, 194, 211, 228, 244, 260, 277, 293, 310, 327, 342, 359, 376, 392, 409, 425, 441, 458, 475, 491, 507, 524, 541, - 557, 574, 590, 606, 623, 640, 656, 672, 689, 705, 722, 739, 754, 771, 788, 804, 821, 837, 853, 870, 887, 903, 919, 936, 953, 969]] - 涂毒倍率2 = 2 # 砖块攻击力 - 涂毒基础3 = [int(i*1.085*1.2793) for i in [0, 96, 107, 116, 127, 136, 147, 156, 166, 177, 185, 196, 205, 215, 226, 234, 244, 255, 265, 275, 284, 295, 304, 314, 323, - 334, 343, 353, 363, 374, 384, 392, 403, 413, 423, 433, 441, 452, 462, 471, 482, 491, 502, 512, 522, 532, 541, 551, 560, 570, 581]] - 涂毒倍率3 = 4 # 砖块爆炸攻击力 - 涂毒基础4 = [int(i*1.085*1.28) for i in [0, 714, 787, 860, 932, 1005, 1078, 1151, 1223, 1295, 1367, 1441, 1513, 1585, 1659, 1730, 1804, 1876, 1949, 2022, 2093, 2166, 2239, 2311, 2383, - 2456, 2529, 2602, 2674, 2748, 2819, 2892, 2963, 3037, 3110, 3181, 3255, 3327, 3400, 3473, 3546, 3618, 3690, 3762, 3836, 3907, 3980, 4053, 4125, 4198, 4271]] - 涂毒倍率4 = 1 # 最后爆炸攻击力 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return ( - (self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.基础3[self.等级] * self.直伤倍率3 * self.直伤倍率) - + (self.基础4[self.等级] * self.直伤倍率4 * self.直伤倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率) - + (self.涂毒基础3[self.等级] * self.涂毒倍率3 * self.涂毒倍率) - + (self.涂毒基础4[self.等级] * self.涂毒倍率4 * self.涂毒倍率)) * self.倍率 * (1 + self.TP成长 * self.TP等级) - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.直伤倍率2 = 0 - self.直伤倍率4 = 0 - self.直伤倍率1 = 1 - self.直伤倍率3 = 15 - self.涂毒倍率2 = 0 - self.涂毒倍率4 = 0 - self.涂毒倍率1 = 1 - self.涂毒倍率3 = 15 - self.倍率 *= 1.10 - self.CD *= 1.00 - if x == 1: - self.直伤倍率2 = 0 - self.直伤倍率4 = 0 - self.直伤倍率1 = 1 - self.直伤倍率3 = 15 - self.涂毒倍率2 = 0 - self.涂毒倍率4 = 0 - self.涂毒倍率1 = 1 - self.涂毒倍率3 = 15 - self.倍率 *= 1.18 - self.CD *= 1.00 - - -class 技能18(被动技能): - 名称 = '猛毒之伤' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.16 + 0.02 * self.等级, 5) - - -class 技能19(主动技能): - 名称 = '连环毒爆弹' - 备注 = '(秘制毒爆弹)' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 7.23职业平衡 - 基础1 = [int(i*1.085*1.1773) for i in [0, 20936, 23059, 25184, 27308, 29431, 31555, 33678, 35804, 37928, 40051, 42176, 44299, 46424, 48546, 50671, 52795, 54919, 57044, 59167, 61292, 63415, 65539, 67663, 69786, 71911, - 74033, 76158, 78283, 80407, 82531, 84654, 86779, 88902, 91026, 93150, 95274, 97398, 99522, 101647, 103770, 105895, 108019, 110141, 112266, 114389, 116514, 118638, 120761, 122887, 125010]] - 直伤倍率1 = 1.5 - 基础2 = [int(i*1.085*1.1773) for i in [0, 8958, 9868, 10777, 11687, 12594, 13505, 14412, 15322, 16230, 17140, 18049, 18959, 19866, 20777, 21684, 22594, 23502, 24412, 25320, 26231, 27138, 28048, 28956, 29866, 30773, - 31684, 32592, 33502, 34410, 35320, 36228, 37138, 38045, 38956, 39864, 40774, 41682, 42592, 43499, 44410, 45317, 46227, 47136, 48046, 48953, 49864, 50771, 51681, 52589, 53499]] - 直伤倍率2 = 1.4 - 中毒基础 = [int(i*1.085*1.177) for i in [0, 700, 771, 842, 914, 986, 1057, 1128, 1199, 1269, 1342, 1413, 1483, 1554, 1624, 1697, 1768, 1838, 1909, 1981, 2052, 2125, 2195, 2266, 2337, 2407, - 2480, 2550, 2621, 2692, 2763, 2835, 2906, 2977, 3048, 3118, 3190, 3263, 3333, 3404, 3475, 3546, 3618, 3688, 3760, 3831, 3901, 3973, 4044, 4115, 4186]] - 中毒倍率 = 1.4 - 涂毒基础1 = [int(i*1.085*1.1773) for i in [0, 2093, 2304, 2518, 2731, 2943, 3155, 3367, 3580, 3793, 4004, 4216, 4429, 4643, 4854, 5067, 5279, 5491, 5703, 5916, 6129, 6341, 6554, 6766, 6978, 7190, - 7403, 7615, 7828, 8041, 8253, 8464, 8678, 8890, 9102, 9314, 9526, 9740, 9953, 10164, 10376, 10589, 10802, 11013, 11226, 11438, 11652, 11863, 12076, 12288, 12500]] - 涂毒倍率1 = 1.5 - 涂毒基础2 = [int(i*1.085*1.1773) for i in [0, 965, 1063, 1161, 1260, 1357, 1455, 1553, 1652, 1750, 1847, 1945, 2043, 2141, 2239, 2339, 2436, 2534, 2632, 2730, 2827, 2926, 3024, 3122, 3220, - 3318, 3416, 3515, 3613, 3711, 3808, 3906, 4004, 4102, 4199, 4298, 4396, 4494, 4591, 4689, 4788, 4886, 4984, 5081, 5179, 5278, 5376, 5475, 5573, 5670, 5768]] - 涂毒倍率2 = 1.4 - CD = 40.0 - - def 等效百分比(self, 武器类型): - return ((self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.中毒基础[self.等级] * self.中毒倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率)) * self.倍率 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - self.CD *= 0.9 - - -class 技能20(主动技能): - 名称 = '毒龙轰天雷' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 7.23职业平衡 - 基础1 = [int(i*1.085*1.1863) for i in [0, 6938, 7642, 8347, 9050, 9753, 10458, 11162, 11866, 12569, 13274, 13978, 14681, 15384, 16090, 16793, 17497, 18200, 18905, 19609, 20312, 21015, 21721, 22424, 23128, 23832, 24536, 25240, 25943, 26647, 27352, 28055, 28760, 29463, 30167, 30871, - 31575, 32278, 32983, 33687, 34391, 35094, 35798, 36503, 37206, 37909, 38615, 39318, 40022, 40725, 41430, 42134, 42837, 43540, 44247, 44949, 45654, 46356, 47063, 47765, 48469, 49172, 49878, 50580, 51286, 51988, 52694, 53396, 54101, 54803, 55509]] - 直伤倍率1 = 1 - 基础2 = [int(i*1.085*1.1863) for i in [0, 6655, 7328, 8006, 8680, 9355, 10030, 10706, 11381, 12057, 12731, 13408, 14081, 14757, 15431, 16107, 16782, 17459, 18134, 18807, 19483, 20158, 20833, 21508, 22184, 22859, 23534, 24209, 24884, 25559, 26235, 26910, 27585, 28259, 28936, 29611, - 30285, 30960, 31637, 32311, 32987, 33662, 34336, 35012, 35687, 36362, 37037, 37713, 38388, 39062, 39737, 40413, 41089, 41764, 42438, 43115, 43788, 44465, 45139, 45814, 46489, 47166, 47840, 48516, 49191, 49865, 50541, 51215, 51891, 52567, 53242]] - 直伤倍率2 = 5 - 基础3 = [int(i*1.085*1.1862) for i in [0, 420, 464, 507, 549, 592, 635, 678, 720, 763, 806, 849, 892, 935, 977, 1019, 1063, 1105, 1148, 1189, 1234, 1277, 1320, 1360, 1405, 1448, 1489, 1532, 1576, 1620, 1661, 1703, 1747, 1790, 1832, 1874, - 1918, 1960, 2002, 2045, 2089, 2131, 2174, 2217, 2261, 2302, 2346, 2388, 2432, 2473, 2516, 2559, 2602, 2645, 2686, 2730, 2773, 2816, 2858, 2901, 2945, 2987, 3029, 3072, 3115, 3158, 3201, 3243, 3286, 3330, 3371]] - 直伤倍率3 = 10 - 中毒基础 = [int(i*1.085*1.1862) for i in [0, 280, 309, 339, 366, 394, 422, 451, 480, 509, 537, 566, 593, 623, 652, 680, 708, 738, 764, 794, 822, 851, 879, 909, 936, 965, 993, 1022, 1051, 1078, 1107, 1135, 1163, 1192, 1222, 1250, 1278, - 1306, 1335, 1364, 1393, 1421, 1449, 1476, 1506, 1535, 1564, 1593, 1621, 1648, 1678, 1706, 1736, 1763, 1792, 1819, 1848, 1877, 1906, 1935, 1962, 1991, 2019, 2049, 2076, 2105, 2133, 2161, 2190, 2220, 2248]] - 中毒倍率 = 10 - 涂毒基础1 = [int(i*1.085*1.1861) for i in [0, 693, 764, 834, 905, 974, 1046, 1116, 1186, 1255, 1328, 1397, 1466, 1537, 1609, 1679, 1748, 1819, 1891, 1960, 2030, 2101, 2173, 2242, 2311, 2382, 2455, 2522, 2593, 2664, 2735, 2804, 2875, 2946, 3017, 3086, - 3157, 3228, 3299, 3368, 3438, 3508, 3580, 3649, 3720, 3790, 3861, 3931, 4002, 4071, 4143, 4213, 4283, 4353, 4425, 4495, 4564, 4634, 4707, 4776, 4845, 4916, 4988, 5057, 5127, 5198, 5270, 5339, 5409, 5480, 5551]] - 涂毒倍率1 = 1 - 涂毒基础2 = [int(i*1.085*1.1865) for i in [0, 804, 888, 968, 1052, 1133, 1215, 1296, 1378, 1461, 1542, 1624, 1704, 1786, 1868, 1951, 2031, 2113, 2194, 2278, 2359, 2442, 2522, 2605, 2685, 2769, 2849, 2932, 3012, 3095, 3176, 3259, 3340, 3422, 3503, - 3586, 3667, 3750, 3832, 3913, 3994, 4077, 4159, 4240, 4321, 4403, 4486, 4567, 4649, 4730, 4811, 4894, 4976, 5057, 5140, 5221, 5303, 5385, 5467, 5549, 5630, 5712, 5794, 5876, 5957, 6039, 6120, 6203, 6284, 6366, 6447]] - 涂毒倍率2 = 5 - # 三觉加强(1.072) - CD = 45.0 - - def 等效百分比(self, 武器类型): - return ((self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.基础3[self.等级] * self.直伤倍率3 * self.直伤倍率) - + (self.中毒基础[self.等级] * self.中毒倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率)) * self.倍率 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -class 技能21(被动技能): - 名称 = '万毒噬心诀' - 备注 = '(BUFF)' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 60.0 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - # 技攻倍率不包含蛇拳x3 x4 x5 - - -class 技能22(主动技能): - 名称 = '禁技:万毒蛇窟' - 所在等级 = 85 - 等级上限 = 1 - 基础等级 = 1 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2054) for i in [0, 8908, 10974, 13040, 15104, 17171, 19235, 21301, 23368, 25433, 27500, 29564, 31631, 33696, 35762, 37827, 39893, 41957, 44024, 46090, 48156, 50222, 52287, 54353, 56420, 58484, - 60550, 62616, 64681, 66746, 68813, 70878, 72945, 75009, 77075, 79142, 81206, 83273, 85338, 87403, 89469, 91535, 93602, 95667, 97733, 99798, 101864, 103929, 105995, 108061, 110126]] - 直伤倍率 = 8 - 涂毒基础 = [int(i*1.085*1.2055) for i in [0, 890, 1097, 1305, 1512, 1717, 1924, 2130, 2336, 2544, 2749, 2957, 3162, 3369, 3576, 3783, 3991, 4196, 4403, 4610, 4815, 5022, 5228, 5436, 5642, 5848, - 6055, 6262, 6469, 6674, 6882, 7089, 7294, 7501, 7707, 7913, 8121, 8327, 8534, 8740, 8947, 9155, 9361, 9568, 9773, 9980, 10187, 10392, 10600, 10805, 11013]] - 涂毒倍率 = 8 - # 三觉加强(1.1487) - CD = 180.0 - - -class 技能23(主动技能): - 名称 = '万毒噬心诀x5' - 所在等级 = 85 - 等级上限 = 1 - 基础等级 = 1 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2054) for i in [0, 12636, 14333, 16031, 17727, 19423, 21122, 22819, 24516, 26214, 27911, 29608, 31307, 33003, 34702, 36398, 38097, 39793, 41490, 43188, 44885, 46583, 48282, 49977, 51674, - 53373, 55071, 56767, 58464, 60160, 61860, 63557, 65253, 66953, 68645, 70342, 72043, 73740, 75437, 77135, 78829, 80531, 82228, 83923, 85625, 87320, 89015, 90716, 92412, 94111, 95807]] - 涂毒基础 = [int(i*1.085*1.2046) for i in [0, 1265, 1432, 1602, 1771, 1940, 2111, 2281, 2448, 2620, 2789, 2958, 3130, 3296, 3468, 3639, 3807, 3980, 4146, 4318, 4488, 4655, 4827, 4996, 5166, - 5336, 5506, 5675, 5845, 6015, 6186, 6354, 6525, 6693, 6864, 7034, 7200, 7371, 7541, 7711, 7882, 8050, 8222, 8390, 8562, 8732, 8900, 9071, 9241, 9410, 9579]] - # 三觉加强(1.05) - CD = 0.1 - - -class 技能24(主动技能): - 名称 = '万毒噬心诀x4' - 所在等级 = 85 - 等级上限 = 1 - 基础等级 = 1 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2054) for i in [0, 8864, 10184, 11505, 12823, 14143, 15465, 16784, 18104, 19424, 20744, 22064, 23386, 24705, 26026, 27345, 28667, 29986, 31306, 32626, 33946, 35267, 36589, 37907, 39226, 40548, - 41869, 43188, 44508, 45826, 47149, 48470, 49789, 51112, 52426, 53746, 55070, 56390, 57709, 59030, 60347, 61671, 62991, 64309, 65633, 66951, 68269, 69593, 70912, 72233, 73552]] - 涂毒基础 = [int(i*1.085*1.2045) for i in [0, 888, 1017, 1150, 1281, 1413, 1545, 1677, 1807, 1941, 2073, 2204, 2338, 2468, 2601, 2734, 2864, 2999, 3129, 3262, 3394, 3523, 3657, 3790, 3922, - 4054, 4186, 4317, 4451, 4582, 4715, 4845, 4978, 5110, 5242, 5374, 5503, 5636, 5770, 5901, 6034, 6164, 6298, 6430, 6563, 6695, 6825, 6958, 7092, 7223, 7354]] - # 三觉加强(1.05) - CD = 0.1 - - -class 技能25(主动技能): - 名称 = '万毒噬心诀x3' - 所在等级 = 85 - 等级上限 = 1 - 基础等级 = 1 - # 7.23职业平衡 - 基础 = [int(i*1.085*1.2054) for i in [0, 6224, 7166, 8110, 9051, 9994, 10939, 11880, 12824, 13767, 14709, 15652, 16596, 17538, 18482, 19424, 20369, 21310, 22253, 23196, 24139, 25083, 26027, 26968, 27910, 28855, - 29799, 30740, 31683, 32624, 33570, 34514, 35455, 36401, 37339, 38282, 39229, 40171, 41113, 42057, 42997, 43943, 44886, 45827, 46773, 47714, 48655, 49601, 50543, 51487, 52429]] - 涂毒基础 = [int(i*1.085*1.2044) for i in [0, 624, 716, 811, 904, 998, 1093, 1187, 1280, 1375, 1469, 1563, 1659, 1752, 1847, 1942, 2036, 2132, 2224, 2319, 2413, 2506, 2601, 2696, 2790, 2884, - 2980, 3073, 3169, 3262, 3357, 3451, 3545, 3639, 3733, 3827, 3920, 4014, 4110, 4204, 4299, 4393, 4488, 4582, 4677, 4771, 4865, 4959, 5055, 5148, 5241]] - # 三觉加强(1.05) - CD = 0.1 - - -class 技能26(被动技能): - 名称 = '身化万毒' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能27(主动技能): - 名称 = '钻心毒爆' - 备注 = '(命中形态)' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 7.23职业平衡 - # 直伤1(命中敌人) - 基础1 = [int(i*1.085*1.1994) for i in [0, 28772, 31691, 34610, 37529, 40448, 43367, 46286, 49205, 52124, 55043, 57962, 60881, 63800, 66719, 69638, 72557, 75476, 78395, 81314, - 84233, 87152, 90071, 92990, 95909, 98828, 101747, 104666, 107585, 110504, 113423, 116341, 119260, 122179, 125098, 128017, 130936, 133855, 136774, 139693, 142612]] - 直伤倍率1 = 1 - # 直伤2(爆炸*5) - 基础2 = [int(i*1.085*1.1994) for i in [0, 6739, 7422, 8106, 8790, 9474, 10157, 10841, 11525, 12208, 12892, 13576, 14259, 14943, 15627, 16311, 16994, 17678, 18362, - 19045, 19729, 20413, 21096, 21780, 22464, 23147, 23831, 24515, 25199, 25882, 26566, 27250, 27933, 28617, 29301, 29984, 30668, 31352, 32035, 32719, 33403]] - 直伤倍率2 = 5 - # 出血(命中敌人) - 出血基础 = [int(i*1.085*1.1993) for i in [0, 9590, 10563, 11536, 12509, 13482, 14455, 15428, 16401, 17374, 18347, 19320, 20293, 21266, 22239, 23212, 24185, 25158, 26131, - 27104, 28077, 29050, 30023, 30996, 31969, 32942, 33915, 34888, 35861, 36834, 37807, 38780, 39753, 40726, 41699, 42672, 43645, 44618, 45591, 46564, 47537]] - 出血倍率 = 1 - # 中毒(爆炸*5) - 中毒基础 = [int(i*1.085*1.1993) for i in [0, 1684, 1855, 2026, 2197, 2368, 2539, 2710, 2881, 3052, 3223, 3394, 3564, 3735, 3906, 4077, 4248, 4419, - 4590, 4761, 4932, 5103, 5274, 5445, 5616, 5786, 5957, 6128, 6299, 6470, 6641, 6812, 6983, 7154, 7325, 7496, 7667, 7838, 8008, 8179, 8350]] - 中毒倍率 = 5 - # 灼伤(爆炸*5) - 灼伤基础 = [int(i*1.085*1.1993) for i in [0, 1684, 1855, 2026, 2197, 2368, 2539, 2710, 2881, 3052, 3223, 3394, 3564, 3735, 3906, 4077, 4248, 4419, - 4590, 4761, 4932, 5103, 5274, 5445, 5616, 5786, 5957, 6128, 6299, 6470, 6641, 6812, 6983, 7154, 7325, 7496, 7667, 7838, 8008, 8179, 8350]] - 灼伤倍率 = 5 - # 涂毒1(命中敌人) - 涂毒基础1 = [int(i*1.085*1.1994) for i in [0, 3836, 4225, 4614, 5003, 5393, 5782, 6171, 6560, 6949, 7339, 7728, 8117, 8506, 8895, 9285, 9674, 10063, 10452, 10841, - 11231, 11620, 12009, 12398, 12787, 13177, 13566, 13955, 14344, 14733, 15123, 15512, 15901, 16290, 16679, 17069, 17458, 17847, 18236, 18625, 19015]] - 涂毒倍率1 = 1 - # 涂毒2(爆炸*5) - 涂毒基础2 = [int(i*1.085*1.1996) for i in [0, 1010, 1113, 1216, 1318, 1421, 1523, 1626, 1728, 1831, 1933, 2036, 2138, 2241, 2344, 2446, 2549, 2651, - 2754, 2856, 2959, 3061, 3164, 3267, 3369, 3472, 3574, 3677, 3779, 3882, 3984, 4087, 4190, 4292, 4395, 4497, 4600, 4702, 4805, 4907, 5010]] - 涂毒倍率2 = 5 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return ((self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.出血基础[self.等级] * self.出血倍率) - + (self.中毒基础[self.等级] * self.中毒倍率) - + (self.灼伤基础[self.等级] * self.灼伤倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率)) * self.倍率 - - -class 技能28(主动技能): - 名称 = '万毒噬心诀:毒龙吞天' - 备注 = '(压制形态)' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 7.23职业平衡 - # 直伤(解除束缚) - 基础1 = [int(i*1.085*1.2054) for i in [0, 7125, 8777, 10429, 12081, 13734, 15386, 17038, 18690, 20343, 21995, 23647, 25299, 26951, 28604, 30256, 31908, 33560, 35213, - 36865, 38517, 40169, 41821, 43474, 45126, 46778, 48430, 50083, 51735, 53387, 55039, 56691, 58344, 59996, 61648, 63300, 64953, 66605, 68257, 69909, 71561]] - 直伤倍率1 = 1 - # 中毒(毒气) - 中毒基础 = [int(i*1.085*1.2054) for i in [0, 21375, 26332, 31288, 36245, 41202, 46159, 51115, 56072, 61029, 65985, 70942, 75899, 80855, 85812, 90769, 95725, 100682, 105639, 110595, - 115552, 120509, 125465, 130422, 135379, 140335, 145292, 150249, 155205, 160162, 165119, 170075, 175032, 179989, 184945, 189902, 194859, 199815, 204772, 209729, 214685]] - 中毒倍率 = 1 - # 直伤2(膝踢) - 基础2 = [int(i*1.085*1.2054) for i in [0, 28500, 35109, 41718, 48327, 54936, 61545, 68154, 74763, 81372, 87980, 94589, 101198, 107807, 114416, 121025, 127634, 134243, 140852, 147460, - 154069, 160678, 167287, 173896, 180505, 187114, 193723, 200332, 206941, 213549, 220158, 226767, 233376, 239985, 246594, 253203, 259812, 266421, 273029, 279638, 286247]] - 直伤倍率2 = 1 - # 直伤3(下劈) - 基础3 = [int(i*1.085*1.2054) for i in [0, 42751, 52664, 62577, 72491, 82404, 92318, 102231, 112144, 122058, 131971, 141884, 151798, 161711, 171624, 181538, 191451, 201364, 211278, 221191, - 231104, 241018, 250931, 260844, 270758, 280671, 290584, 300498, 310411, 320324, 330238, 340151, 350064, 359978, 369891, 379804, 389718, 399631, 409545, 419458, 429371]] - 直伤倍率3 = 1 - # 直伤4(毒蛇群) - 基础4 = [int(i*1.085*1.2054) for i in [0, 8906, 10971, 13037, 15102, 17167, 19232, 21298, 23363, 25428, 27494, 29559, 31624, 33689, 35755, 37820, 39885, 41950, 44016, - 46081, 48146, 50212, 52277, 54342, 56407, 58473, 60538, 62603, 64669, 66734, 68799, 70864, 72930, 74995, 77060, 79126, 81191, 83256, 85321, 87387, 89452]] - 直伤倍率4 = 8 - # 直伤5(最后一击) - 基础5 = [int(i*1.085*1.2054) for i in [0, 114003, 140439, 166874, 193310, 219745, 246181, 272616, 299052, 325488, 351923, 378359, 404794, 431230, 457666, 484101, 510537, 536972, 563408, 589843, - 616279, 642715, 669150, 695586, 722021, 748457, 774893, 801328, 827764, 854199, 880635, 907070, 933506, 959942, 986377, 1012813, 1039248, 1065684, 1092119, 1118555, 1144991]] - 直伤倍率5 = 1 - # 涂毒1(膝踢) - 涂毒基础1 = [int(i*1.085*1.2055) for i in [0, 4275, 5266, 6257, 7249, 8240, 9231, 10223, 11214, 12205, 13197, 14188, 15179, 16171, 17162, 18153, 19145, 20136, 21127, - 22119, 23110, 24101, 25093, 26084, 27075, 28067, 29058, 30049, 31041, 32032, 33023, 34015, 35006, 35997, 36989, 37980, 38971, 39963, 40954, 41945, 42937]] - 涂毒倍率1 = 1 - # 涂毒2(下劈) - 涂毒基础2 = [int(i*1.085*1.2054) for i in [0, 5700, 7021, 8343, 9665, 10987, 12309, 13630, 14952, 16274, 17596, 18917, 20239, 21561, 22883, 24205, 25526, 26848, 28170, - 29492, 30813, 32135, 33457, 34779, 36101, 37422, 38744, 40066, 41388, 42709, 44031, 45353, 46675, 47997, 49318, 50640, 51962, 53284, 54605, 55927, 57249]] - 涂毒倍率2 = 1 - # 涂毒3(毒蛇群) - 涂毒基础3 = [int(i*1.085*1.2051) for i in [0, 890, 1097, 1303, 1510, 1716, 1923, 2129, 2336, 2542, 2749, 2955, 3162, 3368, 3575, 3782, 3988, 4195, - 4401, 4608, 4814, 5021, 5227, 5434, 5640, 5847, 6053, 6260, 6466, 6673, 6879, 7086, 7293, 7499, 7706, 7912, 8119, 8325, 8532, 8738, 8945]] - 涂毒倍率3 = 8 - # 涂毒4(最后一击) - 涂毒基础4 = [int(i*1.085*1.2054) for i in [0, 11400, 14043, 16687, 19331, 21974, 24618, 27261, 29905, 32548, 35192, 37835, 40479, 43123, 45766, 48410, 51053, 53697, 56340, - 58984, 61627, 64271, 66915, 69558, 72202, 74845, 77489, 80132, 82776, 85419, 88063, 90707, 93350, 95994, 98637, 101281, 103924, 106568, 109211, 111855, 114499]] - 涂毒倍率4 = 1 - CD = 290.0 - - def 等效百分比(self, 武器类型): - return ((self.基础1[self.等级] * self.直伤倍率1 * self.直伤倍率) - + (self.中毒基础[self.等级] * self.中毒倍率) - + (self.基础2[self.等级] * self.直伤倍率2 * self.直伤倍率) - + (self.基础3[self.等级] * self.直伤倍率3 * self.直伤倍率) - + (self.基础4[self.等级] * self.直伤倍率4 * self.直伤倍率) - + (self.基础5[self.等级] * self.直伤倍率5 * self.直伤倍率) - + (self.涂毒基础1[self.等级] * self.涂毒倍率1 * self.涂毒倍率) - + (self.涂毒基础2[self.等级] * self.涂毒倍率2 * self.涂毒倍率) - + (self.涂毒基础3[self.等级] * self.涂毒倍率3 * self.涂毒倍率) - + (self.涂毒基础4[self.等级] * self.涂毒倍率4 * self.涂毒倍率)) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·街霸·女一觉序号 = 15 -归元·街霸·女二觉序号 = 22 -归元·街霸·女三觉序号 = 28 - -归元·街霸·女护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·街霸·女护石选项.append(i.名称) - -归元·街霸·女符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·街霸·女符文选项.append(i.名称) - - -class 归元·街霸·女角色属性(角色属性): - - 实际名称 = '归元·街霸·女' - 角色 = '格斗家(女)' - 职业 = '街霸' - - 武器选项 = ['爪'] - - 类型选择 = ['魔法百分比', '物理百分比'] - - 类型 = '魔法百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量', '智力'] - - 主BUFF = 9.50 - - 远古记忆 = 0 - - 死亡毒雾力智开关 = 0 - 毒伤结算丢失开关 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 站街力量(self): - return int(max(self.力量, self.智力)) - - def 站街智力(self): - return self.站街力量() - - def 面板力量(self): - return max(super().面板力量(), super().面板智力()) - - def 面板智力(self): - return self.面板力量() - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['万毒噬心诀x3'] - ].被动倍率 /= self.技能栏[self.技能序号['万毒噬心诀']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['万毒噬心诀x4'] - ].被动倍率 /= self.技能栏[self.技能序号['万毒噬心诀']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['万毒噬心诀x5'] - ].被动倍率 /= self.技能栏[self.技能序号['万毒噬心诀']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['万毒噬心诀x3']].等级 = self.技能栏[self.技能序号['万毒噬心诀']].等级 - self.技能栏[self.技能序号['万毒噬心诀x4']].等级 = self.技能栏[self.技能序号['万毒噬心诀']].等级 - self.技能栏[self.技能序号['万毒噬心诀x5']].等级 = self.技能栏[self.技能序号['万毒噬心诀']].等级 - self.技能栏[self.技能序号['禁技:万毒蛇窟']].等级 = self.技能栏[self.技能序号['万毒噬心诀']].等级 - - x = self.技能栏[self.技能序号['双重投掷']].等级 - self.技能栏[self.技能序号['抛沙']].直伤倍率 *= 1 + 0.30 + 0.02 * x - self.技能栏[self.技能序号['抛沙']].涂毒倍率 *= 2 - - self.技能栏[self.技能序号['街头风暴']].直伤倍率 *= 1 + 0.31 + 0.01 * x - self.技能栏[self.技能序号['街头风暴']].涂毒倍率 *= 2 - - def 伤害指数计算(self): - if self.死亡毒雾力智开关 == 1: - self.进图力量 += self.技能栏[self.技能序号['死亡毒雾']].力智加成() - self.进图智力 += self.技能栏[self.技能序号['死亡毒雾']].力智加成() - self.固定减防 += self.技能栏[self.技能序号['死亡毒雾']].防御减少() - for i in self.技能栏: - if i.是否主动 == 1: - i.涂毒倍率 *= (self.主BUFF - 1) - if self.装备检查('守护的抉择'): - if self.护石第一栏 in ['街头风暴', '爆碎砖袭', '连环毒爆弹', '毒龙轰天雷']: - self.技能栏[self.技能序号[self.护石第一栏]].涂毒倍率 /= 1.55 - if self.护石第二栏 in ['街头风暴', '爆碎砖袭', '连环毒爆弹', '毒龙轰天雷']: - self.技能栏[self.技能序号[self.护石第二栏]].涂毒倍率 /= 1.45 - super().伤害指数计算() - self.伤害指数 /= self.主BUFF - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - - # 涂毒丢失估算 - if self.毒伤结算丢失开关 == 1: - 蛇拳 = '' - 蛇拳次数 = 3 - for n in ['万毒噬心诀x3', '万毒噬心诀x4', '万毒噬心诀x5']: - if 技能释放次数[self.技能序号[n]] > 蛇拳次数: - 蛇拳次数 = 技能释放次数[self.技能序号[n]] - 蛇拳 = n - if 蛇拳次数 > 3: - self.技能栏[self.技能序号[蛇拳]].涂毒倍率 *= (蛇拳次数 - 2) / 蛇拳次数 - - for n in ['猛毒擒月炎', '毒雷引爆', '裂地飞沙', '伏虎霸王拳', '擒月炎', '天罗地网', '毒影针', '毒龙轰天雷', '连环毒爆弹', ]: - 次数 = 技能释放次数[self.技能序号[n]] - if 次数 > 1: - # 1秒余地 例如:输入20S,18S技能放两次,会丢失2秒 - 丢失涂毒时间 = ( - 次数 - 1) * self.技能栏[self.技能序号[n]].等效CD(self.武器类型, self.类型) - self.时间输入 + 3 + 1 - if 丢失涂毒时间 > 0: - # 接上面,丢失2秒,平均倍率为1-2/6=2/3,也即是6*2/3计算4秒涂毒伤害 - self.技能栏[self.技能序号[n]].涂毒倍率 *= 1 - 丢失涂毒时间 / (次数 * 3) - - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 霸王拳 - if self.技能栏[self.技能序号['狂·霸王拳']].等级 != 0: - if 技能总伤害[self.技能序号['伏虎霸王拳']] != 0: - temp = 技能总伤害[self.技能序号['伏虎霸王拳']] * \ - self.技能栏[self.技能序号['狂·霸王拳']].技能加成倍率(self.武器类型) - if self.装备检查('奔流不息之狂风'): - temp = temp / 0.7 - if self.装备检查('奔流不息之伽蓝'): - temp *= 0.7 - 技能总伤害[self.技能序号['伏虎霸王拳']] += temp - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 归元·街霸·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·街霸·女角色属性() - self.角色属性A = 归元·街霸·女角色属性() - self.角色属性B = 归元·街霸·女角色属性() - self.一觉序号 = 归元·街霸·女一觉序号 - self.二觉序号 = 归元·街霸·女二觉序号 - self.三觉序号 = 归元·街霸·女三觉序号 - self.护石选项 = deepcopy(归元·街霸·女护石选项) - self.符文选项 = deepcopy(归元·街霸·女符文选项) - - def 界面(self): - super().界面() - self.收招选择 = [] - - self.死亡毒雾力智开关 = QCheckBox('死亡毒雾效果', self.main_frame2) - self.死亡毒雾力智开关.resize(100, 20) - self.死亡毒雾力智开关.move(335, 420) - self.死亡毒雾力智开关.setStyleSheet(复选框样式) - self.死亡毒雾力智开关.setToolTip('包含力智和减防') - self.死亡毒雾力智开关.setChecked(False) - - self.毒伤结算丢失开关 = QCheckBox('毒伤结算补正', self.main_frame2) - self.毒伤结算丢失开关.resize(100, 20) - self.毒伤结算丢失开关.move(335, 450) - self.毒伤结算丢失开关.setStyleSheet(复选框样式) - self.毒伤结算丢失开关.setToolTip('计算结果将不计入部分未结算毒伤') - self.毒伤结算丢失开关.setChecked(False) - - self.毒雷个数数选择 = MyQComboBox(self.main_frame2) - for i in range(9): - self.毒雷个数数选择.addItem('毒雷引爆:' + str(i) + '颗') - self.毒雷个数数选择.setToolTip('包含冲击波次数') - self.毒雷个数数选择.setCurrentIndex(8) - self.毒雷个数数选择.resize(120, 20) - self.毒雷个数数选择.move(325, 480) - - self.毒雾中毒次数选择 = MyQComboBox(self.main_frame2) - for i in range(21): - self.毒雾中毒次数选择.addItem('毒雾中毒:' + str(i) + '次') - self.毒雾中毒次数选择.setCurrentIndex(10) - self.毒雾中毒次数选择.resize(120, 20) - self.毒雾中毒次数选择.move(325, 510) - - self.职业存档.append(('死亡毒雾力智开关', self.死亡毒雾力智开关, 0)) - self.职业存档.append(('毒伤结算丢失开关', self.毒伤结算丢失开关, 0)) - self.职业存档.append(('毒雷个数数选择', self.毒雷个数数选择, 1)) - self.职业存档.append(('毒雾中毒次数选择', self.毒雾中毒次数选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.死亡毒雾力智开关.isChecked(): - 属性.死亡毒雾力智开关 = 1 - 属性.技能栏[属性.技能序号['死亡毒雾']].自定义描述 = 1 - if self.毒伤结算丢失开关.isChecked(): - 属性.毒伤结算丢失开关 = 1 - 属性.技能栏[属性.技能序号['毒雷引爆']].倍率 *= self.毒雷个数数选择.currentIndex() - 属性.技能栏[属性.技能序号['死亡毒雾']].中毒倍率 *= self.毒雾中毒次数选择.currentIndex() diff --git a/Characters/归元·街霸·男.py b/Characters/归元·街霸·男.py deleted file mode 100644 index 3358d565..00000000 --- a/Characters/归元·街霸·男.py +++ /dev/null @@ -1,908 +0,0 @@ -from PublicReference.carry.base import * - -class 职业主动技能(主动技能): - 中毒 = [] - 中毒倍率 = 1.0 - 中毒叠加次数 = 1 - 出血 = [] - 出血倍率 = 1.0 - 出血叠加次数 = 1 - 灼伤 = [] - 灼伤倍率 = 1.0 - 灼伤叠加次数 = 1 - 感电 = [] - 感电倍率 = 1.0 - 感电叠加次数 = 1 - - 后街战术 = 1.0 - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - 异常叠加增伤 = 1.0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 * self.后街战术 * self.异常叠加增伤 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * self.后街战术 * self.异常叠加增伤 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 * self.后街战术 * self.异常叠加增伤 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 * self.后街战术 * self.异常叠加增伤 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 * self.后街战术 * self.异常叠加增伤 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 * self.后街战术 * self.异常叠加增伤 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 * self.后街战术 * self.异常叠加增伤 - if len(self.中毒) >= self.等级 and len(self.中毒) > 0: - 等效倍率 += self.中毒[self.等级] * self.中毒倍率 * self.中毒叠加次数 - if len(self.出血) >= self.等级 and len(self.出血) > 0: - 等效倍率 += self.出血[self.等级] * self.出血倍率 * self.出血叠加次数 - if len(self.灼伤) >= self.等级 and len(self.灼伤) > 0: - 等效倍率 += self.灼伤[self.等级] * self.灼伤倍率 * self.灼伤叠加次数 - if len(self.感电) >= self.等级 and len(self.感电) > 0: - 等效倍率 += self.感电[self.等级] * self.感电倍率 * self.感电叠加次数 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - -# class 主动技能(主动技能): -# 中毒基础 = 0 -# 中毒成长 = 0 -# 中毒倍率 = 1 -# 出血基础 = 0 -# 出血成长 = 0 -# 出血倍率 = 1 -# 灼伤基础 = 0 -# 灼伤成长 = 0 -# 灼伤倍率 = 1 -# 感电基础 = 0 -# 感电成长 = 0 -# 感电倍率 = 1 -# 基础2 = 0 -# 成长2 = 0 -# 攻击次数2 = 0 - -# def 等效百分比(self, 武器类型): -# if self.等级 == 0: -# return 0 -# else: -# return int((self.攻击次数 * (self.基础 + self.成长 * self.等级) -# + self.攻击次数2 * (self.基础2 + self.成长2 * self.等级) -# + self.中毒倍率 * (self.中毒基础 + self.中毒成长 * self.等级) -# + self.出血倍率 * (self.出血基础 + self.出血成长 * self.等级) -# + self.灼伤倍率 * (self.灼伤基础 + self.灼伤成长 * self.等级) -# + self.感电倍率 * (self.感电基础 + self.感电成长 * self.等级)) -# * (1 + self.TP成长 * self.TP等级) * self.倍率) - -# def 等效CD(self, 武器类型, 输出类型): -# return round(self.CD / self.恢复, 1) -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['罗网投掷'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(职业主动技能): - 名称 = '抛沙' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - 基础 = 751 - 成长 = 108 - #魔法武器攻击力:% - data0 = [int(x*1.245*1.085) for x in [0, 891, 994, 1103, 1213, 1321, 1427, 1534, 1642, 1751, 1854, 1964, 2069, 2179, 2284, 2395, 2500, 2606, 2713, 2820, 2930, 3035, 3141, 3250, 3357, 3465, 3572, 3681, 3789, 3894, 4003, 4111, 4220, 4325, 4432, 4541, 4648, 4756, 4859, 4970, 5078, 5186, 5290, 5402, 5508, 5611, 5719, 5828, 5929, 6040, 6149, 6258, 6367, 6472, 6580, 6688, 6794, 6899, 7010, 7116, 7223, 7331, 7439, 7545, 7653, 7761, 7868, 7976, 8080, 8190, 8298]] - 后街战术 = 1.5 # 后街战术 - CD = 3.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '毒瓶投掷' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 228 * 1.6 # 后街,下同 - # 成长 = 54 * 1.6 - # 中毒基础 = 232 - # 中毒成长 = 57 - # 灼伤基础 = 232 - # 灼伤成长 = 57 - - 后街战术 = 1.6 - #毒瓶魔法攻击力:% - data0 = [int(x*1.22*1.085) for x in [0, 328, 381, 433, 485, 537, 590, 644, 696, 748, 799, 854, 905, 958, 1010, 1062, 1114, 1167, 1219, 1273, 1325, 1377, 1430, 1481, 1533, 1586, 1638, 1692, 1745, 1796, 1848, 1902, 1954, 2007, 2059, 2110, 2163, 2216, 2269, 2321, 2373, 2425, 2477, 2530, 2583, 2636, 2688, 2739, 2791, 2844, 2898, 2950, 3002, 3054, 3108, 3160, 3213, 3265, 3317, 3370, 3421, 3473, 3527, 3579, 3631, 3684, 3736, 3788, 3841, 3893, 3947]] - #中毒攻击力 (魔法):% - 中毒 = [int(x*1.22*1.085) for x in [0, 346, 400, 455, 510, 566, 621, 677, 732, 787, 841, 896, 953, 1006, 1062, 1116, 1172, 1226, 1282, 1337, 1393, 1448, 1503, 1558, 1613, 1669, 1723, 1779, 1833, 1889, 1942, 1999, 2054, 2108, 2165, 2220, 2275, 2329, 2386, 2440, 2495, 2549, 2606, 2661, 2714, 2771, 2825, 2880, 2935, 2992, 3047, 3101, 3156, 3213, 3266, 3321, 3378, 3432, 3487, 3541, 3598, 3651, 3708, 3764, 3818, 3873, 3928, 3984, 4038, 4094, 4148]] - #灼伤攻击力 (魔法):% - 灼伤 = [int(x*1.22*1.085) for x in [0, 346, 400, 455, 510, 566, 621, 677, 732, 787, 841, 896, 953, 1006, 1062, 1116, 1172, 1226, 1282, 1337, 1393, 1448, 1503, 1558, 1613, 1669, 1723, 1779, 1833, 1889, 1942, 1999, 2054, 2108, 2165, 2220, 2275, 2329, 2386, 2440, 2495, 2549, 2606, 2661, 2714, 2771, 2825, 2880, 2935, 2992, 3047, 3101, 3156, 3213, 3266, 3321, 3378, 3432, 3487, 3541, 3598, 3651, 3708, 3764, 3818, 3873, 3928, 3984, 4038, 4094, 4148]] - - CD = 2.0 - TP成长 = 0.10 - TP上限 = 5 - - 投掷强化 = 0 - - def 等效百分比(self, 武器类型): - if self.投掷强化 == 1: - #[投掷强化]中毒攻击力 (魔法):% - self.中毒 = [int(x*1.22*1.085) for x in [0, 1166, 1349, 1537, 1722, 1908, 2094, 2280, 2464, 2650, 2837, 3023, 3208, 3395, 3580, 3766, 3951, 4138, 4322, 4509, 4696, 4880, 5068, 5252, 5437, 5623, 5810, 5995, 6180, 6368, 6554, 6738, 6924, 7110, 7296, 7481, 7669, 7852, 8039, 8224, 8410, 8596, 8782, 8967, 9153, 9340, 9525, 9710, 9897, 10082, 10268, 10454, 10641, 10826, 11011, 11197, 11382, 11570, 11755, 11940, 12127, 12311, 12497, 12682, 12870, 13056, 13241, 13428, 13613, 13798, 13983]] - self.后街战术 = 1 - # 灼伤是否还有不确定,是否=中毒的不确定 - # self.灼伤 = [0, 1166, 1349, 1537, 1722, 1908, 2094, 2280, 2464, 2650, 2837, 3023, 3208, 3395, 3580, 3766, 3951, 4138, 4322, 4509, 4696, 4880, 5068, 5252, 5437, 5623, 5810, 5995, 6180, 6368, 6554, 6738, 6924, 7110, 7296, 7481, 7669, 7852, 8039, 8224, 8410, 8596, 8782, 8967, 9153, 9340, 9525, 9710, 9897, 10082, 10268, 10454, 10641, 10826, 11011, 11197, 11382, 11570, 11755, 11940, 12127, 12311, 12497, 12682, 12870, 13056, 13241, 13428, 13613, 13798, 13983] - return super().等效百分比(武器类型) - - -class 技能3(职业主动技能): - 名称 = '擒月炎' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 基础 = 2003 - # 成长 = 216 - CD = 5.8 - TP成长 = 0.10 - TP上限 = 5 - 异常叠加增伤 = 1.6 - #扫腿魔法攻击力:% - data0 = [int(x*1.247*1.085) for x in [0, 405, 446, 482, 521, 558, 598, 635, 674, 711, 749, 787, 826, 864, 902, 941, 980, 1016, 1055, 1090, 1130, 1168, 1206, 1244, 1283, 1321, 1359, 1396, 1435, 1473, 1507, 1549, 1583, 1625, 1660, 1700, 1737, 1778, 1812, 1852, 1889, 1929, 1966, 2005, 2042, 2083, 2115, 2158, 2193, 2234, 2234, 2304, 2344, 2381, 2420, 2457, 2496, 2532, 2573, 2608, 2650, 2685, 2722, 2760, 2798, 2836, 2875, 2913, 2951, 2987, 3026]] - #后踢魔法攻击力:% 不可抓取敌人无后踢伤害 - data1 = [int(x*1.247*1.085) for x in [0, 405, 446, 482, 521, 558, 598, 635, 674, 711, 749, 787, 826, 864, 902, 941, 980, 1016, 1055, 1090, 1130, 1168, 1206, 1244, 1283, 1321, 1359, 1396, 1435, 1473, 1507, 1549, 1583, 1625, 1660, 1700, 1737, 1778, 1812, 1852, 1889, 1929, 1966, 2005, 2042, 2083, 2115, 2158, 2193, 2234, 2234, 2304, 2344, 2381, 2420, 2457, 2496, 2532, 2573, 2608, 2650, 2685, 2722, 2760, 2798, 2836, 2875, 2913, 2951, 2987, 3026]] - 攻击次数2 = 0 - #侧踢魔法攻击力:% - data2 = [int(x*1.247*1.085) for x in [0, 1474, 1615, 1751, 1889, 2030, 2165, 2304, 2445, 2582, 2718, 2857, 2994, 3133, 3274, 3409, 3549, 3688, 3824, 3963, 4105, 4240, 4380, 4517, 4653, 4792, 4931, 5069, 5208, 5347, 5483, 5624, 5761, 5899, 6038, 6177, 6314, 6450, 6591, 6728, 6868, 7005, 7143, 7281, 7420, 7558, 7699, 7835, 7971, 8113, 8113, 8378, 8514, 8651, 8792, 8929, 9065, 9204, 9341, 9480, 9614, 9756, 9895, 10030, 10170, 10307, 10445, 10586, 10721, 10858, 10999]] - 攻击次数3 = 1 - -class 技能4(被动技能): - 名称 = '爪精通' - 所在等级 = 25 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01) - - def 物理攻击力倍率(self, 武器类型): - return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01) - - def 魔法攻击力倍率(self, 武器类型): - return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01) - - -class 技能5(职业主动技能): - 名称 = '毒针投掷' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 303 * 1.9 # 后街,下同 - # 成长 = 29 * 1.9 - #毒针攻击力 (魔法):% - data0 = [int(x*1.15*1.085) for x in [0, 295, 325, 354, 384, 415, 444, 474, 503, 535, 564, 594, 625, 654, 684, 713, 745, 774, 803, 833, 862, 894, 923, 953, 982, 1013, 1043, 1074, 1104, 1133, 1162, 1192, 1223, 1253, 1282, 1312, 1342, 1372, 1402, 1432, 1463, 1492, 1521, 1553, 1582, 1612, 1641, 1672, 1702, 1731, 1762, 1791, 1821, 1851, 1881, 1911, 1941, 1971, 2001, 2032, 2061, 2091, 2121, 2150, 2181, 2211, 2240, 2270, 2299, 2331, 2360]] - #出血攻击力 (魔法):% - 出血 = [int(x*1.15*1.085) for x in [0, 258, 283, 309, 336, 362, 387, 415, 440, 466, 491, 518, 544, 570, 596, 623, 649, 675, 701, 728, 753, 780, 806, 832, 857, 883, 910, 936, 961, 989, 1014, 1041, 1067, 1093, 1120, 1146, 1171, 1198, 1223, 1249, 1276, 1302, 1327, 1355, 1380, 1408, 1433, 1459, 1486, 1512, 1537, 1563, 1589, 1615, 1641, 1668, 1694, 1721, 1746, 1773, 1799, 1825, 1851, 1878, 1903, 1929, 1954, 1981, 2007, 2033, 2060]] - - 后街战术 = 1.9 - # 感电基础 = 236 - # 感电成长 = 26 - - 投掷强化 = 0 - - CD = 3 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.投掷强化 == 1: - # 多重攻击状态下单枚毒针攻击力 (魔法):% - self.后街战术 = 1 - self.data0 = [int(x*1.15*1.085) for x in [0, 234, 259, 282, 306, 330, 353, 378, 400, 425, 449, 473, 497, 520, 543, 568, 592, 615, 640, 663, 688, 711, 734, 759, 783, 806, 831, 853, 878, 901, 924, 951, 973, 997, 1021, 1044, 1068, 1092, 1116, 1141, 1164, 1187, 1211, 1235, 1260, 1282, 1307, 1331, 1355, 1377, 1402, 1425, 1450, 1474, 1497, 1521, 1545, 1569, 1593, 1616, 1640, 1665, 1688, 1713, 1735, 1759, 1783, 1806, 1830, 1855, 1879]] - self.攻击次数 = 4 - self.出血 = [int(x*1.0*1.085) for x in [0, 354, 390, 426, 462, 498, 535, 570, 606, 643, 679, 713, 749, 786, 821, 857, 894, 930, 965, 1002, 1038, 1074, 1109, 1146, 1182, 1218, 1254, 1290, 1326, 1363, 1398, 1434, 1470, 1507, 1542, 1578, 1615, 1651, 1686, 1723, 1759, 1795, 1830, 1867, 1903, 1939, 1975, 2011, 2047, 2084, 2118, 2154, 2190, 2226, 2262, 2298, 2335, 2370, 2406, 2443, 2479, 2514, 2550, 2587, 2623, 2658, 2695, 2731, 2767, 2802, 2838]] - self.出血叠加次数 = 4 - return super().等效百分比(武器类型) - -class 技能6(职业主动技能): - 名称 = '砖块投掷' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - - 投掷强化 = 0 - # 基础 = 1200 - # 成长 = 126 - # 基础2 = 1972 - # 成长2 = 228 - - #砖块攻击力 (魔法):% - data0 = [int(x*1.22*1.085) for x in [0, 716, 790, 863, 937, 1009, 1082, 1155, 1229, 1301, 1374, 1446, 1518, 1592, 1664, 1737, 1810, 1884, 1956, 2030, 2103, 2174, 2247, 2319, 2393, 2467, 2541, 2612, 2686, 2758, 2830, 2904, 2975, 3049, 3123, 3196, 3269, 3342, 3413, 3486, 3559, 3632, 3706, 3778, 3852, 3923, 3997, 4070, 4142, 4215, 4286, 4360, 4434, 4507, 4579, 4653, 4725, 4799, 4871, 4942, 5016, 5090, 5163, 5236, 5309, 5381, 5455, 5526, 5599, 5672, 5745]] - #砖块碎片攻击力 (魔法):% - data1 = [int(x*1.22*1.085) for x in [0, 543, 596, 651, 706, 762, 818, 872, 926, 981, 1035, 1091, 1146, 1201, 1257, 1310, 1365, 1421, 1476, 1530, 1585, 1639, 1695, 1749, 1805, 1860, 1916, 1971, 2025, 2080, 2136, 2191, 2246, 2300, 2355, 2411, 2466, 2520, 2575, 2631, 2686, 2739, 2794, 2850, 2906, 2961, 3015, 3069, 3124, 3178, 3234, 3289, 3344, 3400, 3453, 3509, 3564, 3619, 3674, 3729, 3784, 3839, 3894, 3951, 4006, 4060, 4115, 4169, 4225, 4279, 4334]] - 攻击次数2 = 1 - #巨石攻击力 (魔法):% - data2 = [int(x*1.22*1.085) for x in [0, 1274, 1405, 1534, 1664, 1793, 1922, 2050, 2180, 2310, 2440, 2569, 2698, 2829, 2957, 3086, 3217, 3344, 3475, 3603, 3734, 3863, 3992, 4122, 4251, 4380, 4509, 4639, 4768, 4898, 5027, 5157, 5286, 5415, 5545, 5673, 5804, 5932, 6063, 6192, 6321, 6451, 6580, 6709, 6838, 6967, 7097, 7227, 7358, 7486, 7615, 7743, 7874, 8002, 8132, 8262, 8392, 8522, 8650, 8780, 8908, 9038, 9167, 9296, 9427, 9556, 9687, 9815, 9944, 10072, 10203]] - 攻击次数3 = 0 - #巨石碎块攻击力 (魔法):% - data3 = [int(x*1.22*1.085) for x in [0, 960, 1059, 1157, 1254, 1352, 1449, 1548, 1646, 1745, 1840, 1937, 2035, 2132, 2231, 2328, 2425, 2524, 2619, 2718, 2816, 2913, 3012, 3108, 3207, 3305, 3401, 3500, 3597, 3694, 3791, 3890, 3987, 4084, 4183, 4280, 4379, 4476, 4573, 4672, 4768, 4867, 4965, 5060, 5159, 5255, 5354, 5451, 5549, 5648, 5745, 5843, 5940, 6038, 6134, 6232, 6330, 6427, 6526, 6622, 6720, 6819, 6916, 7015, 7113, 7208, 7307, 7403, 7502, 7599, 7696]] - 攻击次数4 = 0 - - 后街战术 = 1.6 # 后街战术 - CD = 4.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.投掷强化 == 1: - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.攻击次数3 = 1 - self.攻击次数4 = 1 - self.后街战术 = 1 - return super().等效百分比(武器类型) - -class 技能7(职业主动技能): - 名称 = '伏虎霸王拳' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 1200 - # 成长 = 128 - #[伏虎霸王拳]攻击力 (魔法):% - data0 = [int(x*1.168*1.085) for x in [0, 1257, 1387, 1517, 1647, 1777, 1907, 2036, 2167, 2295, 2427, 2557, 2687, 2815, 2946, 3077, 3206, 3334, 3466, 3596, 3726, 3855, 3987, 4115, 4247, 4375, 4506, 4635, 4766, 4895, 5025, 5157, 5286, 5417, 5544, 5676, 5805, 5936, 6064, 6196, 6325, 6456, 6584, 6716, 6844, 6976, 7104, 7236, 7365, 7495, 7625, 7753, 7885, 8014, 8144, 8273, 8404, 8535, 8664, 8793, 8925, 9055, 9185, 9314, 9446, 9574, 9706, 9834, 9965, 10094, 10224]] - 攻击次数 = 3 - # 倍率 = 1.6 # 异常状态 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '挑衅' - 所在等级 = 35 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.02 * self.等级, 5) - - -class 技能9(职业主动技能): - 名称 = '螺旋滑铲' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 倍率 = 1.2 # 无法抓取 - # 基础 = 2758 - # 成长 = 318 - #攻击力 (魔法):% - data0 = [int(x*1.175*1.085) for x in [0, 3122, 3438, 3755, 4071, 4387, 4705, 5021, 5339, 5655, 5971, 6286, 6603, 6921, 7238, 7556, 7870, 8188, 8505, 8822, 9138, 9455, 9770, 10087, 10405, 10722, 11039, 11355, 11671, 11987, 12305, 12621, 12939, 13253, 13571, 13888, 14206, 14521, 14838, 15155, 15470, 15788, 16105, 16422, 16738, 17055, 17371, 17688, 18005, 18322, 18638, 18955, 19271, 19589, 19906, 20221, 20538, 20854, 21172, 21488, 21806, 22122, 22438, 22754, 23071, 23389, 23704, 24021, 24339, 24656, 24972]] - 攻击次数 = 3 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 1 - self.倍率 *= 3.62 - self.CD *= 0.9 - elif x == 1: - self.攻击次数 = 1 - self.倍率 *= 3.89 - self.CD *= 0.9 - - -class 技能10(职业主动技能): - 名称 = '罗网投掷' - 所在等级 = 35 - 等级上限 = 11 - 基础等级 = 1 - # 基础 = 1540 - # 成长 = 159 - data0 = [int(x*1.15*1.085) for x in [0, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540, 1540]] - CD = 17 - TP成长 = 0.10 - TP上限 = 3 - -class 技能11(职业主动技能): - 名称 = '毒雷引爆' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #毒气柱魔法攻击力:% - data0 = [int(x*1.198*1.085) for x in [0, 7630, 8405, 9177, 9952, 10726, 11500, 12272, 13046, 13821, 14595, 15368, 16143, 16918, 17693, 18466, 19240, 20013, 20787, 21562, 22334, 23109, 23882, 24657, 25432, 26207, 26980, 27754, 28528, 29302, 30075, 30850, 31623, 32398, 33171, 33945, 34720, 35494, 36269, 37041, 37815, 38590, 39364, 40138, 40911, 41685, 42460, 43234, 44007, 44782, 45556, 46331, 47104, 47878, 48651, 49426, 50201, 50973, 51748, 52521, 53296, 54070, 54845, 55618, 56392, 57167, 57941, 58714, 59489, 60262, 61037]] - #侧踢攻击力 (魔法):% - data1 = [int(x*1.198*1.085) for x in [0, 3887, 4281, 4675, 5070, 5464, 5857, 6252, 6647, 7042, 7434, 7829, 8224, 8617, 9014, 9407, 9800, 10197, 10590, 10983, 11379, 11773, 12168, 12561, 12956, 13350, 13745, 14139, 14534, 14927, 15321, 15716, 16111, 16504, 16900, 17293, 17688, 18082, 18477, 18871, 19265, 19660, 20053, 20447, 20842, 21237, 21629, 22026, 22419, 22813, 23208, 23603, 23995, 24390, 24785, 25180, 25573, 25970, 26363, 26756, 27152, 27546, 27939, 28335, 28729, 29124, 29517, 29911, 30306, 30700, 31095]] - 攻击次数2 = 1 - #中毒攻击力 (魔法):% - 中毒 = [int(x*1.198*1.085) for x in [0, 1919, 2113, 2309, 2504, 2697, 2893, 3088, 3281, 3476, 3671, 3865, 4059, 4256, 4450, 4644, 4839, 5034, 5230, 5424, 5618, 5813, 6007, 6201, 6398, 6592, 6786, 6981, 7176, 7369, 7564, 7760, 7954, 8150, 8344, 8539, 8734, 8928, 9123, 9317, 9511, 9706, 9902, 10094, 10291, 10486, 10680, 10875, 11071, 11264, 11459, 11654, 11849, 12043, 12239, 12432, 12627, 12822, 13016, 13211, 13405, 13602, 13797, 13991, 14185, 14380, 14575, 14769, 14964, 15159, 15352]] - - # 基础 = 6823 - # 成长 = 775 - # 攻击次数 = 1 - # 基础2 = 3535 - # 成长2 = 393 - # 攻击次数2 = 1 - # 中毒基础 = 1682 - # 中毒成长 = 196 - CD = 24 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.攻击次数 = 3 - self.中毒叠加次数 = 3 - self.中毒 = [int(x*0.87) for x in self.中毒] - self.data0 = [int(x*0.52) for x in self.data0] - elif x == 1: - self.攻击次数2 = 0 - self.攻击次数 = 3 - self.中毒叠加次数 = 3 - self.中毒 = [int(x*1.08) for x in self.中毒] - self.data0 = [int(x*0.52) for x in self.data0] - -class 技能12(被动技能): - 名称 = '狂·霸王拳' - 所在等级 = 40 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['伏虎霸王拳'] - 自定义描述 = 1 - - #[狂 · 霸王拳]附加魔法攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 630, 642, 654, 666, 678, 690, 702, 714, 726, 738, 750, 762, 774, 786, 798, 810, 822, 834, 846, 858, 870, 882, 894, 906, 918, 930, 942, 954, 966, 978, 990, 1002, 1014, 1026, 1038, 1050, 1062, 1074, 1086, 1098, 1110, 1122, 1134, 1146, 1158, 1170, 1182, 1194, 1206, 1218, 1230, 1242, 1254, 1266, 1278, 1290, 1302, 1314, 1326, 1338, 1350, 1362, 1374, 1386, 1398, 1410, 1422, 1434, 1446, 1458]] - - def 技能描述(self, 武器类型): - temp = '' - temp += '[伏虎霸王拳]的攻击次数变更为1次
'+ \ - '[狂·霸王拳]附加魔法攻击力' + \ - str(self.data0[self.等级]) + '%
'+ \ - '每个异常状态附加攻击力 (最多3个):20%' - return temp - - def 加成倍率(self, 武器类型): - return 1.0 - - def 技能加成倍率(self, 武器类型): - # 攻击次数变为1,叠3次异常 - return round((self.data0[self.等级]/100)/3*1.6,5) - # return round(5.18 + 0.12 * self.等级, 5) - - -class 技能13(职业主动技能): - 名称 = '血色风暴' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #毒针伤害 (魔法):% - data0 = [int(x*1.201*1.085) for x in [0, 976, 1076, 1175, 1273, 1373, 1471, 1571, 1669, 1767, 1868, 1966, 2065, 2166, 2264, 2364, 2463, 2561, 2661, 2759, 2860, 2958, 3056, 3156, 3254, 3353, 3454, 3552, 3652, 3750, 3850, 3949, 4047, 4147, 4246, 4345, 4446, 4544, 4643, 4742, 4841, 4939, 5038, 5138, 5236, 5336, 5435, 5534, 5633, 5731, 5832, 5931, 6030, 6130, 6228, 6327, 6426, 6524, 6624, 6722, 6821, 6921, 7019, 7121, 7219, 7317, 7417, 7516, 7616, 7714, 7813]] - 攻击次数 = 10 - #出血伤害 (魔法):% - 出血 = [int(x*1.201*1.085) for x in [0, 976, 1076, 1175, 1273, 1373, 1471, 1571, 1669, 1767, 1868, 1966, 2065, 2166, 2264, 2364, 2463, 2561, 2661, 2759, 2860, 2958, 3056, 3156, 3254, 3353, 3454, 3552, 3652, 3750, 3850, 3949, 4047, 4147, 4246, 4345, 4446, 4544, 4643, 4742, 4841, 4939, 5038, 5138, 5236, 5336, 5435, 5534, 5633, 5731, 5832, 5931, 6030, 6130, 6228, 6327, 6426, 6524, 6624, 6722, 6821, 6921, 7019, 7121, 7219, 7317, 7417, 7516, 7616, 7714, 7813]] - 出血叠加次数 = 10 - # 基础 = 8800 - # 成长 = 990 - # 出血基础 = 8800 - # 出血成长 = 990 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1 - self.出血叠加次数 += 1 - self.倍率 *= 1.09 - elif x == 1: - self.攻击次数 += 1 - self.出血叠加次数 += 1 - self.倍率 *= 1.09 - self.倍率 *= 1.16 - - -class 技能14(被动技能): - 名称 = '千手奥义' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['血色风暴', '天崩地裂', '爆破污桶', '千锁乱舞'] - 关联技能2 = ['抛沙', '毒瓶投掷', '毒针投掷', '擒月炎', '砖块投掷', '罗网投掷', '螺旋滑铲', - '伏虎霸王拳', '毒雷引爆', '暗街夺命锁', '飞沙走石', '燃火轰天炮', '逆道·爆狱', '逆道·幽链之界'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.065 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(0.92 + 0.02 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '天崩地裂' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - #地面爆炸魔法攻击力:% - data0 = [int(x*1.197*1.085) for x in [0, 19264, 23732, 28200, 32666, 37135, 41600, 46070, 50536, 55004, 59472, 63939, 68407, 72875, 77341, 81810, 86275, 90744, 95211, 99679, 104146, 108613, 113081, 117548, 122015, 126482, 130949, 135417, 139885, 144351, 148820, 153286, 157756, 162222, 166690, 171157, 175624, 180092, 184560, 189025, 193495]] - #石块落地魔法攻击力:% - data1 = [int(x*1.197*1.085) for x in [0, 27454, 33819, 40186, 46552, 52918, 59283, 65649, 72016, 78381, 84747, 91113, 97480, 103846, 110212, 116579, 122944, 129309, 135676, 142043, 148408, 154774, 161140, 167507, 173873, 180237, 186603, 192969, 199336, 205703, 212069, 218435, 224801, 231165, 237534, 243900, 250264, 256630, 262995, 269363, 275729]] - 攻击次数2 = 1 - #每秒灼伤攻击力 (魔法):% - 灼伤 = [int(x*1.197*1.085) for x in [0, 81, 97, 117, 136, 154, 172, 190, 210, 228, 248, 266, 284, 304, 323, 341, 359, 378, 395, 414, 434, 452, 469, 489, 508, 527, 545, 565, 583, 601, 619, 637, 657, 676, 693, 713, 731, 751, 768, 787, 807]] - #每秒中毒攻击力 (魔法):% - 中毒 = [int(x*1.197*1.085) for x in [0, 0, 0, 117, 136, 154, 172, 190, 210, 228, 248, 266, 284, 304, 323, 341, 359, 378, 395, 414, 434, 452, 469, 489, 508, 527, 545, 565, 583, 601, 619, 637, 657, 676, 693, 713, 731, 751, 768, 787, 807]] - #出血攻击力 (魔法):% - 出血 = [int(x*1.197*1.085) for x in [0, 0, 0, 0, 0, 0, 1039, 1151, 1262, 1374, 1486, 1599, 1710, 1822, 1933, 2045, 2156, 2267, 2381, 2493, 2604, 2715, 2826, 2938, 3050, 3162, 3273, 3386, 3496, 3608, 3720, 3832, 3944, 4055, 4166, 4278, 4389, 4502, 4612, 4726, 4836]] - - # 基础 = 35891 - # 成长 = 10833 - # 灼伤基础 = 372 - # 灼伤成长 = 111.5 - # 中毒基础 = 372 - # 中毒成长 = 111.5 - # 出血基础 = 372 - # 出血成长 = 111.5 - CD = 145 - - -class 技能16(职业主动技能): - 名称 = '爆破污桶' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 10613 - # 成长 = 1197 - # 基础2 = 13827 - # 成长2 = 1558 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 投掷强化 = 0 - - #木桶魔法伤害:% - data0 = [int(x*1.199*1.085) for x in [0, 11803, 13000, 14198, 15394, 16592, 17790, 18988, 20184, 21383, 22579, 23777, 24975, 26173, 27369, 28567, 29764, 30962, 32158, 33355, 34553, 35750, 36947, 38144, 39343, 40541, 41737, 42936, 44132, 45329, 46528, 47726, 48922, 50121, 51317, 52514, 53713, 54911, 56107, 57304, 58502, 59699, 60897, 62096, 63292, 64489, 65686, 66884, 68081, 69278, 70475]] - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self,武器类型): - if self.投掷强化 == 1: - #铁桶魔法伤害:% - self.data0 = [int(x*1.199) for x in [0, 15368, 16925, 18485, 20043, 21604, 23162, 24723, 26277, 27836, 29397, 30956, 32514, 34074, 35633, 37193, 38750, 40311, 41870, 43430, 44985, 46543, 48103, 49661, 51222, 52781, 54340, 55898, 57458, 59017, 60575, 62135, 63692, 65250, 66811, 68368, 69930, 71488, 73047, 74606, 76164, 77724, 79281, 80842, 82400, 83957, 85518, 87076, 88637, 90196, 91754]] - return super().等效百分比(武器类型) - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.32 - - -class 技能17(职业主动技能): - 名称 = '千锁乱舞' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 11905 - # 成长 = 1340 - # 出血基础 = 11905 - # 出血成长 = 1340 - - #魔法攻击力:% - data0 = [int(x*1.198*1.085) for x in [0, 2643, 2913, 3180, 3450, 3717, 3986, 4254, 4522, 4790, 5058, 5327, 5595, 5865, 6131, 6401, 6668, 6937, 7205, 7475, 7742, 8011, 8280, 8547, 8816, 9083, 9352, 9620, 9888, 10156, 10426, 10693, 10962, 11231, 11498, 11767, 12035, 12303, 12572, 12838, 13108, 13377, 13646, 13912, 14182, 14450, 14717, 14985, 15253, 15522, 15790, 16059, 16327, 16596, 16863, 17133, 17400, 17671, 17937, 18206, 18474, 18742, 19010, 19278, 19547, 19815, 20085, 20351, 20621, 20888, 21157]] - 攻击次数 = 5 - #出血攻击力 (魔法):% - 出血 = [int(x*1.198*1.085) for x in [0, 2643, 2913, 3180, 3450, 3717, 3986, 4254, 4522, 4790, 5058, 5327, 5595, 5865, 6131, 6401, 6668, 6937, 7205, 7475, 7742, 8011, 8280, 8547, 8816, 9083, 9352, 9620, 9888, 10156, 10426, 10693, 10962, 11231, 11498, 11767, 12035, 12303, 12572, 12838, 13108, 13377, 13646, 13912, 14182, 14450, 14717, 14985, 15253, 15522, 15790, 16059, 16327, 16596, 16863, 17133, 17400, 17671, 17937, 18206, 18474, 18742, 19010, 19278, 19547, 19815, 20085, 20351, 20621, 20888, 21157]] - 出血叠加次数 = 5 - - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1 - self.出血叠加次数 += 1 - # self.倍率 *= 1.2 - self.CD *= 0.91 - elif x == 1: - self.攻击次数 += 1 - self.出血叠加次数 += 1 - self.倍率 *= 1.07 - self.CD *= 0.91 - - -class 技能18(被动技能): - 名称 = '诡诈之道' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能19(职业主动技能): - 名称 = '暗街夺命锁' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 基础 = 33880 - # 成长 = 3820 - # 出血基础 = 8703 - # 出血成长 = 985 - - # 翻转地面魔法攻击力:% - # data0 = [0, 23545, 25934, 28323, 30712, 33099, 35488, 37877, 40267, 42655, 45042, 47432, 49821, 52210, 54597, 56986, 59375, 61765, 64153, 66540, 68929, 71319, 73707, 76095, 78484, 80873, 83262, 85650, 88039, 90428, 92817, 95205, 97592, 99983, 102372, 104761, 107148, 109536, 111925, 114315, 116703] - #对无法抓取的敌人的魔法攻击力:% - data0 = [int(x*1.197*1.085) for x in [0, 37672, 41494, 45317, 49138, 52960, 56781, 60604, 64425, 68248, 72068, 75891, 79713, 83534, 87356, 91180, 95000, 98822, 102645, 106467, 110288, 114109, 117931, 121753, 125575, 129397, 133220, 137041, 140862, 144685, 148507, 152329, 156152, 159972, 163793, 167615, 171437, 175260, 179081, 182904, 186726]] - # 地面冲撞爆炸魔法攻击力:% - # data1 = [0, 14128, 15561, 16993, 18426, 19860, 21293, 22726, 24160, 25592, 27026, 28458, 29892, 31326, 32757, 34190, 35624, 37058, 38491, 39925, 41358, 42791, 44225, 45659, 47090, 48523, 49957, 51389, 52823, 54257, 55688, 57122, 58556, 59989, 61423, 62856, 64290, 65722, 67155, 68589, 70021] - #出血攻击力 (魔法):% - 出血 = [int(x*1.197*1.085) for x in [0, 9418, 10372, 11328, 12283, 13240, 14195, 15150, 16106, 17061, 18017, 18972, 19929, 20884, 21840, 22794, 23750, 24704, 25661, 26616, 27571, 28527, 29483, 30439, 31392, 32350, 33304, 34259, 35214, 36172, 37127, 38082, 39037, 39994, 40948, 41902, 42860, 43814, 44769, 45725, 46682]] - - CD = 40 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.32 - - -class 技能20(职业主动技能): - 名称 = '飞沙走石' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 1427 - # 成长 = 161 - # 攻击次数 = 10 - # 基础2 = 8471 - # 成长2 = 956 - # 攻击次数2 = 2 - # 出血基础 = 13355 - # 出血成长 = 1511 - - #小石块魔法攻击力:% - data0 = [int(x*1.301*1.085) for x in [0, 1586, 1747, 1908, 2071, 2230, 2391, 2554, 2713, 2876, 3037, 3196, 3359, 3520, 3680, 3842, 4002, 4163, 4325, 4486, 4646, 4808, 4969, 5129, 5290, 5452, 5612, 5773, 5935, 6097, 6256, 6418, 6580, 6739, 6902, 7062, 7222, 7385, 7545, 7706, 7868]] - 攻击次数 = 10 - #巨型石块魔法攻击力:% - data1 = [int(x*1.301*1.085) for x in [0, 9425, 10380, 11337, 12292, 13248, 14206, 15161, 16117, 17074, 18030, 18985, 19943, 20899, 21854, 22811, 23766, 24722, 25680, 26635, 27591, 28546, 29503, 30459, 31415, 32373, 33328, 34285, 35240, 36196, 37152, 38109, 39065, 40020, 40977, 41933, 42888, 43846, 44801, 45757, 46714]] - 攻击次数2 = 2 - #出血攻击力 (魔法):% - 出血 = [int(x*1.301*1.085) for x in [0, 14881, 16389, 17899, 19409, 20920, 22429, 23939, 25450, 26958, 28468, 29976, 31487, 32998, 34506, 36017, 37527, 39036, 40545, 42054, 43564, 45075, 46585, 48094, 49605, 51114, 52623, 54132, 55642, 57153, 58662, 60173, 61682, 63192, 64700, 66210, 67721, 69231, 70740, 72250, 73761]] - #冲击波魔法攻击力:% - # data3 = [0, 9425, 10380, 11337, 12292, 13248, 14206, 15161, 16117, 17074, 18030, 18985, 19943, 20899, 21854, 22811, 23766, 24722, 25680, 26635, 27591, 28546, 29503, 30459, 31415, 32373, 33328, 34285, 35240, 36196, 37152, 38109, 39065, 40020, 40977, 41933, 42888, 43846, 44801, 45757, 46714] - - CD = 45 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.攻击次数 = 0 - self.攻击次数2 *= 2.6 - self.CD *= 0.9 - - -class 技能21(职业主动技能): - 名称 = '燃火轰天炮' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 109499.32 - # 成长 = 33063.86 - #铁管打击 (魔法):% - data0 = [int(x*1.213*1.085) for x in [0, 26895, 33134, 39370, 45608, 51843, 58079, 64317, 70555, 76791, 83026, 89265, 95506, 101738, 107973, 114215, 120446, 126685, 132924, 139159, 145396, 151636, 157869, 164109, 170345, 176582, 182820, 189056, 195291, 201529, 207766, 214002, 220240, 226476, 232712, 238951, 245186, 251424, 257663, 263898, 270133]] - 攻击次数 = 1 - #第1~2次爆炸 (魔法):% - data1 = [int(x*1.213*1.085) for x in [0, 15592, 19208, 22823, 26439, 30055, 33672, 37285, 40901, 44517, 48132, 51747, 55363, 58980, 62594, 66210, 69826, 73442, 77055, 80674, 84288, 87904, 91520, 95136, 98749, 102365, 105982, 109598, 113213, 116830, 120442, 124060, 127676, 131291, 134906, 138523, 142137, 145753, 149368, 152985, 156600]] - 攻击次数2 = 2 - #第3~5次爆炸 (魔法):% - data2 = [int(x*1.213*1.085) for x in [0, 7796, 9604, 11411, 13219, 15028, 16834, 18643, 20452, 22258, 24067, 25874, 27682, 29490, 31298, 33105, 34913, 36721, 38529, 40336, 42144, 43951, 45762, 47566, 49375, 51183, 52991, 54798, 56607, 58414, 60223, 62030, 63837, 65644, 67455, 69260, 71069, 72878, 74685, 76492, 78300]] - 攻击次数3 = 3 - - 异常叠加增伤 =1.75 - - CD = 180.0 - - -class 技能22(被动技能): - 名称 = '逆道·皆允' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能23(职业主动技能): - 名称 = '逆道·爆狱' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - 投掷强化 = 0 - # 基础 = 82114 - # 成长 = 9273 - # 攻击次数 = 1 - # 基础2 = 85125 - # 成长2 = 9610 - # 攻击次数2 = 0 - #木桶多段攻击力 (魔法):% - data0 = [int(x*1.199*1.085) for x in [0, 7311, 8053, 8795, 9536, 10278, 11020, 11762, 12503, 13245, 13987, 14729, 15470, 16212, 16954, 17696, 18437, 19179, 19921, 20663, 21404, 22146, 22888, 23630, 24371, 25113, 25855, 26597, 27338, 28080, 28822, 29564, 30305, 31047, 31789, 32531, 33272, 34014, 34756, 35498, 36239]] - 攻击次数 = 5 - #爆炸攻击力 (魔法):% - data1 = [int(x*1.199*1.085) for x in [0, 54836, 60399, 65962, 71526, 77089, 82652, 88215, 93778, 99341, 104904, 110467, 116031, 121594, 127157, 132720, 138283, 143846, 149409, 154973, 160536, 166099, 171662, 177225, 182788, 188351, 193915, 199478, 205041, 210604, 216167, 221730, 227293, 232856, 238420, 243983, 249546, 255109, 260672, 266235, 271798]] - 攻击次数2 = 1 - - def 等效百分比(self, 武器类型): - if self.投掷强化 == 1: - #金属桶多段攻击力 (魔法):% - self.data0 = [int(x*1.199*1.085) for x in [0, 8420, 9275, 10129, 10983, 11838, 12692, 13546, 14401, 15255, 16109, 16964, 17818, 18672, 19526, 20381, 21235, 22089, 22944, 23798, 24652, 25507, 26361, 27215, 28069, 28924, 29778, 30632, 31487, 32341, 33195, 34050, 34904, 35758, 36613, 37467, 38321, 39175, 40030, 40884, 41738]] - #连锁爆炸攻击力 (魔法):% - self.data1 = [int(x*1.199*1.085) for x in [0, 10526, 11594, 12661, 13729, 14797, 15865, 16933, 18001, 19069, 20137, 21205, 22272, 23340, 24408, 25476, 26544, 27612, 28680, 29748, 30815, 31883, 32951, 34019, 35087, 36155, 37223, 38291, 39358, 40426, 41494, 42562, 43630, 44698, 45766, 46834, 47902, 48969, 50037, 51105, 52173]] - self.攻击次数2 = 5 - #灼伤攻击力 (魔法):% - self.灼伤 = [int(x*1.199*1.085) for x in [0, 2105, 2318, 2532, 2745, 2959, 3173, 3386, 3600, 3813, 4027, 4241, 4454, 4668, 4881, 5095, 5308, 5522, 5736, 5949, 6163, 6376, 6590, 6803, 7017, 7231, 7444, 7658, 7871, 8085, 8298, 8512, 8726, 8939, 9153, 9366, 9580, 9793, 10007, 10221, 10434]] - self.灼伤叠加次数 = 5 - return super().等效百分比(武器类型) - - CD = 60.0 - - -class 技能24(职业主动技能): - 名称 = '逆道·幽链之界' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 276929 - # 成长 = 83592 - # 出血基础 = 2854 - # 出血成长 = 862 - # 中毒基础 = 2854 - # 中毒成长 = 862 - # 灼伤基础 = 2854 - # 灼伤成长 = 862 - - #锁链横扫攻击力 (魔法):% - data0 = [int(x*1.198*1.085) for x in [0, 11150, 13735, 16321, 18907, 21492, 24078, 26663, 29249, 31835, 34420, 37006, 39591, 42177, 44763, 47348, 49934, 52519, 55105, 57691, 60276, 62862, 65447, 68033, 70618, 73204, 75790, 78375, 80961, 83546, 86132, 88718, 91303, 93889, 96474, 99060, 101646, 104231, 106817, 109402, 111988]] - 攻击次数 = 5 - #锁链突刺攻击力 (魔法):% - data1 = [int(x*1.198*1.085) for x in [0, 18583, 22893, 27202, 31511, 35821, 40130, 44439, 48749, 53058, 57367, 61677, 65986, 70295, 74605, 78914, 83223, 87533, 91842, 96151, 100461, 104770, 109079, 113389, 117698, 122007, 126316, 130626, 134935, 139244, 143554, 147863, 152172, 156482, 160791, 165100, 169410, 173719, 178028, 182338, 186647]] - 攻击次数2 = 1 - #锁链旋转攻击力 (魔法):% - data2 = [int(x*1.198*1.085) for x in [0, 11150, 13735, 16321, 18907, 21492, 24078, 26663, 29249, 31835, 34420, 37006, 39591, 42177, 44763, 47348, 49934, 52519, 55105, 57691, 60276, 62862, 65447, 68033, 70618, 73204, 75790, 78375, 80961, 83546, 86132, 88718, 91303, 93889, 96474, 99060, 101646, 104231, 106817, 109402, 111988]] - 攻击次数3 = 10 - #建筑炸弹地面上攻击力 (魔法):% - data3 = [int(x*1.198*1.085) for x in [0, 55751, 68679, 81607, 94535, 107463, 120391, 133319, 146247, 159175, 172103, 185031, 197959, 210887, 223815, 236743, 249671, 262599, 275527, 288455, 301383, 314311, 327239, 340167, 353094, 366022, 378950, 391878, 404806, 417734, 430662, 443590, 456518, 469446, 482374, 495302, 508230, 521158, 534086, 547014, 559942]] - 攻击次数4 = 1 - #建筑炸弹爆炸攻击力 (魔法):% - data4 = [int(x*1.198*1.085) for x in [0, 118937, 146516, 174096, 201676, 229255, 256835, 284415, 311994, 339574, 367154, 394733, 422313, 449893, 477472, 505052, 532632, 560211, 587791, 615370, 642950, 670530, 698109, 725689, 753269, 780848, 808428, 836008, 863587, 891167, 918747, 946326, 973906, 1001486, 1029065, 1056645, 1084225, 1111804, 1139384, 1166964, 1194543]] - 攻击次数5 = 1 - #出血攻击力 (魔法):% - 出血 = [int(x*1.198*1.085) for x in [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]] - #中毒攻击力 (魔法):% - 中毒 = [int(x*1.198*1.085) for x in [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]] - #灼伤攻击力 (魔法):% - 灼伤 = [int(x*1.198*1.085) for x in [0, 3716, 4578, 5440, 6302, 7164, 8026, 8887, 9749, 10611, 11473, 12335, 13197, 14059, 14921, 15782, 16644, 17506, 18368, 19230, 20092, 20954, 21815, 22677, 23539, 24401, 25263, 26125, 26987, 27848, 28710, 29572, 30434, 31296, 32158, 33020, 33882, 34743, 35605, 36467, 37329]] - - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -归元·街霸·男一觉序号 = 0 -归元·街霸·男二觉序号 = 0 -归元·街霸·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 归元·街霸·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 归元·街霸·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 归元·街霸·男三觉序号 = 技能序号[i.名称] - -归元·街霸·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 归元·街霸·男护石选项.append(i.名称) - -归元·街霸·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 归元·街霸·男符文选项.append(i.名称) - - -class 归元·街霸·男角色属性(角色属性): - 实际名称 = '归元·街霸·男' - 角色 = '格斗家(男)' - 职业 = '街霸' - - 武器选项 = ['爪'] - - 类型选择 = ['物理百分比', '魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量', '智力'] - - 主BUFF = 1.79 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 霸王拳 - if self.技能栏[self.技能序号['狂·霸王拳']].等级 != 0: - if 技能总伤害[self.技能序号['伏虎霸王拳']] != 0: - temp = 技能总伤害[self.技能序号['伏虎霸王拳']] * \ - (self.技能栏[self.技能序号['狂·霸王拳']].技能加成倍率(self.武器类型)-1) - if self.装备检查('奔流不息之狂风'): - temp = temp / 0.7 - if self.装备检查('奔流不息之伽蓝'): - temp *= 0.7 - 技能总伤害[self.技能序号['伏虎霸王拳']] += temp - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 归元·街霸·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 归元·街霸·男角色属性() - self.角色属性A = 归元·街霸·男角色属性() - self.角色属性B = 归元·街霸·男角色属性() - self.一觉序号 = 归元·街霸·男一觉序号 - self.二觉序号 = 归元·街霸·男二觉序号 - self.三觉序号 = 归元·街霸·男三觉序号 - self.护石选项 = deepcopy(归元·街霸·男护石选项) - self.符文选项 = deepcopy(归元·街霸·男符文选项) - - def 界面(self): - super().界面() - self.毒瓶强化 = QCheckBox('强化毒瓶投掷', self.main_frame2) - self.毒瓶强化.resize(100, 20) - self.毒瓶强化.move(335, 400) - self.毒瓶强化.setStyleSheet(复选框样式) - self.毒瓶强化.setChecked(False) - - self.毒针强化 = QCheckBox('强化毒针投掷', self.main_frame2) - self.毒针强化.resize(100, 20) - self.毒针强化.move(335, 430) - self.毒针强化.setStyleSheet(复选框样式) - self.毒针强化.setChecked(False) - - self.砖块强化 = QCheckBox('强化砖块投掷', self.main_frame2) - self.砖块强化.resize(100, 20) - self.砖块强化.move(335, 460) - self.砖块强化.setStyleSheet(复选框样式) - self.砖块强化.setChecked(False) - - self.污桶强化 = QCheckBox('强化爆破污桶', self.main_frame2) - self.污桶强化.resize(100, 20) - self.污桶强化.move(335, 490) - self.污桶强化.setStyleSheet(复选框样式) - self.污桶强化.setChecked(True) - - self.爆狱强化 = QCheckBox('强化逆道爆狱', self.main_frame2) - self.爆狱强化.resize(100, 20) - self.爆狱强化.move(335, 520) - self.爆狱强化.setStyleSheet(复选框样式) - self.爆狱强化.setChecked(True) - - self.职业存档.append(('毒瓶强化', self.毒瓶强化, 0)) - self.职业存档.append(('毒针强化', self.毒针强化, 0)) - self.职业存档.append(('砖块强化', self.砖块强化, 0)) - self.职业存档.append(('污桶强化', self.污桶强化, 0)) - self.职业存档.append(('爆狱强化', self.爆狱强化, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.技能栏[属性.技能序号['毒瓶投掷']].投掷强化 = 1 if self.毒瓶强化.isChecked() else 0 - 属性.技能栏[属性.技能序号['毒针投掷']].投掷强化 = 1 if self.毒针强化.isChecked() else 0 - 属性.技能栏[属性.技能序号['砖块投掷']].投掷强化 = 1 if self.砖块强化.isChecked() else 0 - 属性.技能栏[属性.技能序号['爆破污桶']].投掷强化 = 1 if self.污桶强化.isChecked() else 0 - 属性.技能栏[属性.技能序号['逆道·爆狱']].投掷强化 = 1 if self.爆狱强化.isChecked() else 0 - # if self.毒瓶强化.isChecked(): - # 属性.技能栏[属性.技能序号['毒瓶投掷']].基础 = 0 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].成长 = 0 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].中毒基础 = 1034 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].中毒成长 = 184 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].灼伤基础 = 1034 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].灼伤成长 = 184 - # 属性.技能栏[属性.技能序号['毒瓶投掷']].投掷强化 - # if self.毒针强化.isChecked(): - # 属性.技能栏[属性.技能序号['毒针投掷']].基础 = 976 - # 属性.技能栏[属性.技能序号['毒针投掷']].成长 = 92 - # 属性.技能栏[属性.技能序号['毒针投掷']].出血基础 = 1276 - # 属性.技能栏[属性.技能序号['毒针投掷']].出血成长 = 144 - # 属性.技能栏[属性.技能序号['毒针投掷']].感电基础 = 0 - # 属性.技能栏[属性.技能序号['毒针投掷']].感电成长 = 0 - # if self.砖块强化.isChecked(): - # 属性.技能栏[属性.技能序号['砖块投掷']].攻击次数 = 0 - # 属性.技能栏[属性.技能序号['砖块投掷']].攻击次数2 = 1 - # 属性.技能栏[属性.技能序号['砖块投掷']].倍率 = 1 - # if self.污桶强化.isChecked(): - # 属性.技能栏[属性.技能序号['爆破污桶']].攻击次数 = 0 - # 属性.技能栏[属性.技能序号['爆破污桶']].攻击次数2 = 1 - # if self.爆狱强化.isChecked(): - # 属性.技能栏[属性.技能序号['逆道·爆狱']].攻击次数 = 0 - # 属性.技能栏[属性.技能序号['逆道·爆狱']].攻击次数2 = 1 - # 属性.技能栏[属性.技能序号['逆道·爆狱']].灼伤基础 = 1889 * 5 - # 属性.技能栏[属性.技能序号['逆道·爆狱']].灼伤成长 = 214 * 5 diff --git a/Characters/战斗·知源·小魔女.py b/Characters/战斗·知源·小魔女.py deleted file mode 100644 index 27772349..00000000 --- a/Characters/战斗·知源·小魔女.py +++ /dev/null @@ -1,623 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数1 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数2 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数3 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数4 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数5 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数6 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(职业主动技能): - 名称 = '别过来!' - 所在等级 = 5 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.22)for i in [0, 2441, 2688, 2936, 3184, 3431, 3679, 3927, 4174, 4422, 4670, 4917, 5165, 5413, 5661, 5908, 6156, 6404, 6651, 6899, 7147, 7394, 7642, 7890, 8137, 8385, 8633, 8880, 9128, 9376, 9623, 9871, 10119, 10366, 10614, 10862, - 11109, 11357, 11605, 11852, 12100, 12348, 12595, 12843, 13091, 13338, 13586, 13834, 14081, 14329, 14577, 14824, 15072, 15320, 15567, 15815, 16063, 16310, 16558, 16806, 17053, 17301, 17549, 17796, 18044, 18292, 18539, 18787, 19035, 19282, 19530]] - 攻击次数 = 3 - CD = 6 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能1(职业主动技能): - 名称 = '玫瑰藤蔓' - 所在等级 = 10 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - # 与站位相关,站位可能导致只能打一半 - data0 = [int(i*1.22)for i in [0, 533, 586, 640, 695, 748, 803, 857, 911, 965, 1019, 1074, 1127, 1181, 1236, 1289, 1344, 1398, 1451, 1506, 1560, 1615, 1668, 1722, 1777, 1830, 1885, 1939, 1992, - 2047, 2101, 2155, 2209, 2263, 2317, 2371, 2426, 2479, 2533, 2588, 2641, 2696, 2750, 2803, 2858, 2912, 2967, 3020, 3074, 3129, 3182, 3237, 3291, 3344, 3399, 3453, 3507, 3561, 3615, 3669, 3723]] - 攻击次数 = 4 - data1 = [int(i*1.072)for i in [0, 79, 87, 95, 103, 111, 119, 127, 135, 143, 151, 159, 167, 175, 183, 191, 199, 207, 215, 222, 230, 238, 246, 254, 262, 270, 278, 286, - 294, 302, 310, 318, 326, 334, 342, 350, 358, 367, 375, 383, 391, 399, 407, 415, 423, 431, 439, 447, 455, 463, 471, 479, 487, 495, 503, 511, 519, 527, 535, 543, 551]] - 攻击次数1 = 4 - CD = 5 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '疯狂乱抓' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.22)for i in [0, 792, 873, 952, 1033, 1114, 1194, 1274, 1354, 1435, 1516, 1595, 1676, 1757, 1837, 1918, 1997, 2078, 2159, 2239, 2319, 2399, 2480, 2561, 2640, 2721, 2802, 2882, 2963, 3042, 3123, 3204, - 3284, 3364, 3444, 3525, 3606, 3686, 3766, 3847, 3927, 4008, 4087, 4168, 4249, 4329, 4409, 4489, 4570, 4651, 4731, 4811, 4892, 4972, 5053, 5132, 5213, 5294, 5374, 5455, 5534, 5615, 5696, 5776, 5856, 5937, 6017]] - 攻击次数 = 2 - CD = 4 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能3(被动技能): - 名称 = '人偶操纵者' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 3 - 等级上限 = 50 - 自定义描述 = 1 - - 智力 = [0, 69, 73, 77, 81, 85, 90, 95, 100, 106, 112, 118, 124, 130, 137, 144, 152, 160, 168, 176, 184, 193, 202, 212, 221, 231, 241, 252, 262, 273, 284, - 296, 308, 320, 332, 344, 358, 371, 384, 398, 412, 426, 440, 456, 470, 486, 502, 518, 534, 550, 567, 581, 597, 613, 629, 645, 660, 676, 692, 708, 724] - - 额外智力 = 0 - - def 加成倍率(self, 武器类型): - return 1.0 - - def 加成智力(self): - return self.智力[self.等级] + self.额外智力 - - def 技能描述(self, 武器类型): - return "智力增加量:"+str(self.加成智力()) - - -class 技能4(被动技能): - 名称 = '邪恶的好奇心' - 所在等级 = 20 - 等级上限 = 20 - 学习间隔 = 20 - 等级上限 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + self.等级*0.15, 3) - - -class 技能5(被动技能): - 名称 = '小魔女的偏爱' - 所在等级 = 20 - 等级上限 = 1 - 学习间隔 = 3 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['疯狂乱抓', '疯熊火箭拳', '疯熊守护', '疯疯熊坠击', '变大吧!疯疯熊', '哇咔咔!', '咆哮吧!疯疯熊'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1, 3) - - -class 技能6(职业主动技能): - 名称 = '疯熊火箭拳' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.054)for i in [0, 3058, 3369, 3680, 3989, 4300, 4610, 4921, 5230, 5541, 5852, 6162, 6472, 6782, 7093, 7404, 7713, 8024, 8334, 8645, 8954, 9265, 9576, 9886, 10196, 10506, 10817, 11128, 11437, 11748, 12058, 12369, 12678, 12989, 13300, 13610, - 13920, 14230, 14541, 14852, 15161, 15472, 15782, 16093, 16403, 16713, 17024, 17334, 17644, 17955, 18265, 18576, 18885, 19196, 19507, 19817, 20127, 20437, 20748, 21058, 21368, 21679, 21989, 22300, 22609, 22920, 23231, 23541, 23851, 24161, 24472]] - 攻击次数 = 1 - CD = 6 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '蔷薇藤鞭' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.054)for i in [0, 2290, 2655, 3019, 3384, 3749, 4115, 4480, 4845, 5210, 5575, 5940, 6305, 6670, 7035, 7401, 7766, 8131, 8496, 8861, 9226, 9591, 9956, 10321, 10687, 11052, 11417, 11782, 12147, 12512, - 12877, 13242, 13607, 13973, 14338, 14703, 15068, 15433, 15798, 16163, 16528, 16893, 17259, 17624, 17989, 18354, 18719, 19084, 19449, 19813, 20178, 20543, 20909, 21274, 21639, 22004, 22369, 22734, 23099, 23464, 23829]] - 攻击次数 = 2 - CD = 10 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '火热的爱意' - 所在等级 = 25 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - data0 = [int(i*1.211)for i in [0, 985, 1142, 1299, 1456, 1613, 1771, 1928, 2085, 2242, 2399, 2556, 2713, 2870, 3027, 3184, 3341, 3498, 3655, - 3813, 3970, 4127, 4284, 4441, 4598, 4755, 4912, 5069, 5226, 5383, 5540, 5698, 5855, 6012, 6169, 6326, 6483, 6640, 6797, 6954, 7111]] - 攻击次数 = 3 - CD = 10 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '疯熊守护' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.251)for i in [0, 4286, 4722, 5157, 5592, 6026, 6461, 6897, 7332, 7766, 8201, 8636, 9072, 9506, 9941, 10376, 10812, 11246, 11681, 12116, 12550, 12986, 13421, 13856, 14290, 14725, 15161, 15596, 16030, 16465, - 16900, 17336, 17770, 18205, 18640, 19075, 19510, 19945, 20380, 20815, 21250, 21685, 22120, 22555, 22989, 23425, 23860, 24295, 24729, 25164, 25600, 26035, 26469, 26904, 27339, 27775, 28209, 28644, 29079, 29513, 29949]] - 攻击次数 = 5 - CD = 10 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '疯疯熊坠击' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.123)for i in [0, 7479, 8237, 8996, 9755, 10514, 11272, 12031, 12790, 13548, 14308, 15066, 15826, 16584, 17342, 18102, 18860, 19619, 20378, 21136, 21895, 22654, 23413, 24171, 24931, 25689, 26447, 27207, 27965, 28725, 29483, 30241, 31001, 31759, - 32518, 33277, 34036, 34794, 35553, 36312, 37070, 37830, 38588, 39346, 40106, 40864, 41624, 42382, 43140, 43900, 44658, 45417, 46176, 46935, 47693, 48452, 49211, 49969, 50729, 51487, 52245, 53005, 53763, 54522, 55281, 56040, 56799, 57557, 58316, 59075, 59834]] - 攻击次数 = 1 - CD = 15 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.40 - - -class 技能11(职业主动技能): - 名称 = '蔷薇囚狱' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.251)for i in [0, 674, 742, 811, 879, 948, 1016, 1085, 1153, 1221, 1290, 1358, 1427, 1495, 1563, 1632, 1700, 1769, 1837, 1906, 1974, 2042, 2111, 2179, 2248, 2316, 2385, 2453, 2521, - 2590, 2658, 2727, 2795, 2864, 2932, 3000, 3069, 3137, 3206, 3274, 3343, 3411, 3479, 3548, 3616, 3685, 3753, 3822, 3890, 3958, 4027, 4095, 4164, 4232, 4300, 4369, 4437, 4506, 4574, 4643, 4711]] - 攻击次数 = 6 - data1 = [int(i*1.251)for i in [0, 5058, 5571, 6084, 6598, 7111, 7624, 8137, 8650, 9164, 9677, 10190, 10703, 11216, 11729, 12243, 12756, 13269, 13782, 14295, 14809, 15322, 15835, 16348, 16861, 17374, 17888, 18401, 18914, 19427, - 19940, 20454, 20967, 21480, 21993, 22506, 23019, 23533, 24046, 24559, 25072, 25585, 26099, 26612, 27125, 27638, 28151, 28665, 29178, 29691, 30204, 30717, 31230, 31744, 32257, 32770, 33283, 33796, 34310, 34823, 35336]] - - 攻击次数1 = 1 - data2 = [int(i*1.251)for i in [0, 91, 101, 110, 119, 129, 138, 147, 157, 166, 175, 185, 194, 203, 213, 222, 231, 241, 250, 259, 269, 278, 287, 297, 306, 315, 325, 334, - 343, 353, 362, 371, 381, 390, 399, 409, 418, 427, 437, 446, 455, 465, 474, 483, 493, 502, 511, 521, 530, 539, 549, 558, 567, 577, 586, 595, 605, 614, 623, 633, 642]] - 攻击次数2 = 6+1 - CD = 20 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能12(职业主动技能): - 名称 = '死命召唤' - 所在等级 = 40 - 等级上限 = 11 - 学习间隔 = 2 - 等级精通 = 1 - data0 = [int(i*1.119)for i in [0, 12483, 14473, 16463, 18453, 20443, 22433, 24423, 26413, 28404, 30394, 32384, 34374, 36364, 38354, 40344, 42334, 44324, 46314, 48304, 50295, 52285, 54275, 56265, 58255, 60245, 62235, 64225, 66215, 68205, 70195, 72186, 74176, 76166, 78156, 80146, - 82136, 84126, 86116, 88106, 90096, 92086, 94077, 96067, 98057, 100047, 102037, 104027, 106017, 108007, 109997, 111987, 113977, 115968, 117958, 119948, 121938, 123928, 125918, 127908, 129898, 131888, 133878, 135868, 137859, 139849, 141839, 143829, 145819, 147809, 149799]] - 攻击次数 = 1 - CD = 7 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.16 - - -class 技能13(职业主动技能): - 名称 = '林中小屋' - 所在等级 = 45 - 等级上限 = 11 - 学习间隔 = 2 - 等级精通 = 1 - data0 = [int(i*1.0)for i in [0, 1493, 1645, 1796, 1948, 2100, 2251, 2403, 2554, 2706, 2857, 3009, 3160, 3312, 3464, 3615, 3767, 3918, 4070, 4221, 4373, 4524, 4676, 4828, 4979, 5131, 5282, 5434, 5585, 5737, 5888, 6040, 6192, 6343, 6495, - 6646, 6798, 6949, 7101, 7252, 7404, 7556, 7707, 7859, 8010, 8162, 8313, 8465, 8616, 8768, 8920, 9071, 9223, 9374, 9526, 9677, 9829, 9980, 10132, 10284, 10435, 10587, 10738, 10890, 11041, 11193, 11344, 11496, 11648, 11799, 11951]] - 攻击次数 = 4 - CD = 1 - - -class 技能14(职业主动技能): - 名称 = '变大吧!疯疯熊' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.241)for i in [0, 2107, 2321, 2535, 2749, 2963, 3177, 3390, 3604, 3818, 4032, 4246, 4460, 4673, 4887, 5101, 5315, 5529, 5743, 5956, 6170, 6384, 6598, 6812, 7026, 7239, 7453, 7667, 7881, 8095, 8309, 8522, 8736, 8950, 9164, 9378, - 9592, 9805, 10019, 10233, 10447, 10661, 10875, 11088, 11302, 11516, 11730, 11944, 12158, 12372, 12585, 12799, 13013, 13227, 13441, 13655, 13868, 14082, 14296, 14510, 14724, 14938, 15151, 15365, 15579, 15793, 16007, 16221, 16434, 16648, 16862]] - 攻击次数 = 6 - data1 = [int(i*1.241)for i in [0, 8431, 9286, 10141, 10997, 11852, 12708, 13563, 14418, 15274, 16129, 16984, 17840, 18695, 19550, 20406, 21261, 22116, 22972, 23827, 24682, 25538, 26393, 27248, 28104, 28959, 29814, 30670, 31525, 32381, 33236, 34091, 34947, 35802, - 36657, 37513, 38368, 39223, 40079, 40934, 41789, 42645, 43500, 44355, 45211, 46066, 46921, 47777, 48632, 49488, 50343, 51198, 52054, 52909, 53764, 54620, 55475, 56330, 57186, 58041, 58896, 59752, 60607, 61462, 62318, 63173, 64028, 64884, 65739, 66594, 67450]] - 攻击次数1 = 1 - CD = 45 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.25 - - -class 技能15(被动技能): - 名称 = '少女的爱' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级上限 = 30 - 自定义描述 = 1 - 智力 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, - 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892] - - 额外智力 = 0 - - def 加成倍率(self, 武器类型): - return 1.0 - - def 加成智力(self): - return self.智力[self.等级] + self.额外智力 - - def 技能描述(self, 武器类型): - return "智力增加量:"+str(self.加成智力()) - - -class 技能16(职业主动技能): - 名称 = '开幕!人偶剧场' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - data0 = [int(i*1.251)for i in [0, 54948, 67690, 80431, 93173, 105914, 118657, 131399, 144141, 156882, 169624, 182366, 195107, 207849, 220590, 233332, 246074, 258815, 271557, - 284299, 297040, 309782, 322525, 335267, 348008, 360750, 373491, 386233, 398975, 411716, 424458, 437200, 449941, 462683, 475425, 488166, 500908, 513650, 526392, 539134, 551876]] - 攻击次数 = 1 - CD = 170 - - -class 技能17(职业主动技能): - 名称 = '人偶戏法' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.25)for i in [0, 1256, 1383, 1511, 1638, 1765, 1893, 2021, 2148, 2275, 2402, 2531, 2658, 2785, 2913, 3040, 3167, 3295, 3423, - 3550, 3677, 3804, 3932, 4060, 4187, 4315, 4442, 4569, 4697, 4825, 4952, 5079, 5206, 5334, 5462, 5589, 5716, 5844, 5971, 6099, 6227]] - 攻击次数 = 4 - data1 = [int(i*1.25)for i in [0, 5024, 5534, 6044, 6553, 7064, 7574, 8084, 8593, 9103, 9613, 10123, 10632, 11142, 11652, 12161, 12671, 13182, 13692, 14201, - 14711, 15221, 15730, 16240, 16750, 17260, 17769, 18279, 18789, 19298, 19809, 20319, 20829, 21338, 21848, 22358, 22868, 23377, 23887, 24397, 24906]] - 攻击次数1 = 1 - CD = 45 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data1 = [int(i*2.24) for i in self.data1] - - -class 技能18(职业主动技能): - 名称 = '哇咔咔!' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.251)for i in [0, 2770, 3051, 3332, 3612, 3894, 4175, 4456, 4737, 5018, 5299, 5580, 5862, 6142, 6423, 6704, 6985, 7266, 7548, 7829, - 8110, 8391, 8671, 8952, 9233, 9515, 9796, 10077, 10358, 10639, 10920, 11200, 11482, 11763, 12044, 12325, 12606, 12887, 13168, 13450, 13731]] - 攻击次数 = 10 - CD = 40 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.22 - - -class 技能19(职业主动技能): - 名称 = '苦痛庭院' - 所在等级 = 75 - 等级上限 = 30 - 学习间隔 = 2 - 等级精通 = 40 - data0 = [int(i*1.25)for i in [0, 2512, 2767, 3022, 3277, 3531, 3786, 4042, 4297, 4552, 4807, 5061, 5316, 5571, 5826, 6081, - 6336, 6590, 6846, 7101, 7356, 7611, 7866, 8120, 8375, 8630, 8885, 9140, 9395, 9649, 9905, 10160, 10415, 10670, 10925]] - 攻击次数 = 9 - data1 = [int(i*1.25)for i in [0, 558, 615, 671, 727, 784, 841, 898, 955, 1012, 1067, 1124, 1181, 1238, 1294, 1351, - 1408, 1464, 1521, 1577, 1634, 1691, 1748, 1804, 1860, 1917, 1974, 2031, 2088, 2144, 2200, 2257, 2314, 2371, 2427]] - 攻击次数1 = 10 - data2 = [int(i*1.25)for i in [0, 22614, 24909, 27203, 29498, 31791, 34085, 36380, 38674, 40968, 43262, 45557, 47851, 50146, 52439, 54734, - 57028, 59323, 61616, 63911, 66205, 68500, 70794, 73088, 75382, 77677, 79971, 82266, 84559, 86853, 89148, 91442, 93736, 96030, 98325]] - 攻击次数2 = 1 - CD = 40 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.28 - self.CD *= 0.9 - - -class 技能20(被动技能): - 名称 = '冥月绽放' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 额外智力 = 0 - 自定义描述 = 1 - 智力 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, - 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540] - - 额外智力 = 0 - - def 加成倍率(self, 武器类型): - return round(1.22+0.02*self.等级, 3) - - def 加成智力(self): - return self.智力[self.等级] + self.额外智力 - - def 技能描述(self, 武器类型): - return '''智力增加量:{}
- 技能攻击力加成:{}%
- 属性抗性减少量:20*3 - '''.format(str(self.加成智力()), str(22+2*self.等级)) - - -class 技能21(职业主动技能): - 名称 = '咆哮吧!疯疯熊' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.25)for i in [0, 2094, 2306, 2519, 2731, 2944, 3156, 3369, 3581, 3794, 4006, 4219, 4431, 4644, 4856, 5069, 5281, 5494, 5706, 5919, 6131, 6344, 6556, 6769, 6981, 7193, 7406, 7618, 7831, 8043, 8256, 8468, 8681, 8893, 9106, 9318, - 9531, 9743, 9956, 10168, 10381, 10593, 10806, 11018, 11231, 11443, 11656, 11868, 12081, 12293, 12505, 12718, 12930, 13143, 13355, 13568, 13780, 13993, 14205, 14418, 14630, 14843, 15055, 15268, 15480, 15693, 15905, 16118, 16330, 16543, 16755]] - 攻击次数 = 24 - CD = 45 - - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *= 1.12*1.25 - - -class 技能22(职业主动技能): - 名称 = '欢迎光临人偶之森' - 所在等级 = 85 - 等级上限 = 60 - 学习间隔 = 5 - 等级精通 = 50 - data0 = [int(i*1.251)for i in [0, 6681, 8230, 9780, 11329, 12878, 14428, 15977, 17526, 19075, 20625, 22174, 23723, 25273, 26822, 28371, 29921, 31470, 33019, 34568, 36118, 37667, 39216, 40766, 42315, 43864, 45414, 46963, 48512, 50061, 51611, 53160, 54709, 56259, 57808, - 59357, 60907, 62456, 64005, 65554, 67104, 68653, 70202, 71752, 73301, 74850, 76400, 77949, 79498, 81047, 82597, 84146, 85695, 87245, 88794, 90343, 91892, 93442, 94991, 96540, 98090, 99639, 101188, 102738, 104287, 105836, 107385, 108935, 110484, 112033, 113583]] - 攻击次数 = 7 - data1 = [int(i*1.251)for i in [0, 23385, 28807, 34230, 39652, 45075, 50497, 55920, 61342, 66765, 72187, 77610, 83033, 88455, 93878, 99300, 104723, 110145, 115568, 120990, 126413, 131835, 137258, 142681, 148103, 153526, 158948, 164371, 169793, 175216, 180638, 186061, 191483, 196906, 202329, - 207751, 213174, 218596, 224019, 229441, 234864, 240286, 245709, 251131, 256554, 261976, 267399, 272822, 278244, 283667, 289089, 294512, 299934, 305357, 310779, 316202, 321624, 327047, 332470, 337892, 343315, 348737, 354160, 359582, 365005, 370427, 375850, 381272, 386695, 392118, 397540]] - 攻击次数1 = 2 - data2 = [int(i*1.251)for i in [0, 62359, 76819, 91279, 105739, 120199, 134660, 149119, 163579, 178040, 192500, 206960, 221420, 235880, 250340, 264801, 279260, 293720, 308181, 322641, 337102, 351561, 366021, 380482, 394942, 409402, 423862, 438322, 452782, 467243, 481702, 496162, 510623, 525083, 539543, - 554003, 568463, 582923, 597384, 611843, 626303, 640764, 655224, 669684, 684144, 698604, 713064, 727525, 741984, 756444, 770905, 785365, 799825, 814285, 828745, 843205, 857666, 872126, 886585, 901046, 915506, 929967, 944426, 958886, 973347, 987807, 1002267, 1016727, 1031187, 1045647, 1060108]] - 攻击次数2 = 1 - CD = 180 - - -class 技能23(被动技能): - 名称 = '不祥的微笑' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 自定义描述 = 1 - 额外智力 = 0 - - 智力 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, - 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - def 加成智力(self): - return self.智力[self.等级] + self.额外智力 - - def 技能描述(self, 武器类型): - - return '''智力增加量:{}
- 技能攻击力加成:{}% - '''.format(str(self.加成智力()), str(18+2*self.等级)) - - -class 技能24(职业主动技能): - 名称 = '挚爱囚笼' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.251)for i in [0, 12271, 13516, 14760, 16005, 17250, 18495, 19740, 20985, 22230, 23475, 24720, 25965, 27209, 28454, 29699, - 30944, 32189, 33434, 34679, 35924, 37169, 38414, 39658, 40903, 42148, 43393, 44638, 45883, 47128, 48373, 49618, 50863, 52107, 53352]] - 攻击次数 = 3 - data1 = [int(i*1.251)for i in [0, 4772, 5256, 5740, 6224, 6708, 7192, 7676, 8161, 8645, 9129, 9613, 10097, 10581, 11065, 11549, 12034, - 12518, 13002, 13486, 13970, 14454, 14938, 15422, 15907, 16391, 16875, 17359, 17843, 18327, 18811, 19295, 19780, 20264, 20748]] - 攻击次数1 = 6 - data2 = [int(i*1.251)for i in [0, 8180, 9010, 9840, 10670, 11500, 12330, 13160, 13990, 14820, 15650, 16480, 17310, 18139, 18969, 19799, - 20629, 21459, 22289, 23119, 23949, 24779, 25609, 26439, 27269, 28099, 28929, 29759, 30588, 31418, 32248, 33078, 33908, 34738, 35568]] - 攻击次数2 = 2 - CD = 60 - - -class 技能25(职业主动技能): - 名称 = '终幕!人偶剧场' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - data0 = [int(i*1.251)for i in [0, 4577, 5638, 6700, 7761, 8822, 9883, 10946, 12007, 13068, 14129, 15190, 16252, 17314, 18375, 19436, 20498, 21559, 22620, 23682, 24743, 25805, 26866, 27927, 28988, 30050, 31112, 32173, 33234, 34295, 35357, 36419, 37480, 38541, - 39602, 40664, 41725, 42787, 43848, 44909, 45971, 47032, 48094, 49155, 50217, 51278, 52339, 53400, 54462, 55524, 56585, 57646, 58707, 59769, 60831, 61892, 62953, 64014, 65076, 66137, 67199, 68260, 69321, 70383, 71444, 72505, 73567, 74629, 75690, 76751, 77812]] - 攻击次数 = 8 - data1 = [int(i*1.251)for i in [0, 18308, 22554, 26799, 31045, 35291, 39536, 43782, 48028, 52272, 56518, 60764, 65009, 69255, 73501, 77746, 81992, 86237, 90483, 94728, 98974, 103220, 107465, 111711, 115956, 120201, 124447, 128693, 132938, 137184, 141430, 145675, 149920, 154166, 158411, - 162657, 166903, 171148, 175394, 179639, 183885, 188130, 192376, 196622, 200867, 205113, 209359, 213603, 217849, 222095, 226340, 230586, 234832, 239077, 243322, 247568, 251813, 256059, 260305, 264550, 268796, 273042, 277287, 281532, 285778, 290024, 294269, 298515, 302761, 307005, 311251]] - 攻击次数1 = 3 - data2 = [int(i*1.251)for i in [0, 274633, 338316, 402000, 465683, 529366, 593049, 656732, 720416, 784099, 847782, 911465, 975148, 1038832, 1102515, 1166199, 1229882, 1293565, 1357249, 1420932, 1484615, 1548298, 1611981, 1675665, 1739348, 1803031, 1866714, 1930397, 1994081, 2057764, 2121447, 2185130, 2248813, 2312497, 2376180, - 2439863, 2503546, 2567230, 2630913, 2694596, 2758279, 2821962, 2885646, 2949329, 3013012, 3076695, 3140378, 3204062, 3267745, 3331428, 3395111, 3458794, 3522478, 3586161, 3649844, 3713527, 3777210, 3840894, 3904577, 3968260, 4031943, 4095627, 4159310, 4222993, 4286676, 4350359, 4414043, 4477726, 4541409, 4605092, 4668775]] - 攻击次数2 = 1 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - - -class 职业属性(角色属性): - - 实际名称 = '战斗·知源·小魔女' - 角色 = '魔法师(女)' - 职业 = '小魔女' - - 武器选项 = ['扫把'] - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.7 - - def __init__(self, 技能列表, 技能序号): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.智力 += self.技能栏[self.技能序号['人偶操纵者']].加成智力() - self.进图智力 += self.技能栏[self.技能序号['少女的爱']].加成智力() - self.智力 += self.技能栏[self.技能序号['冥月绽放']].加成智力() - self.火抗输入 -= 60 - self.光抗输入 -= 60 - self.冰抗输入 -= 60 - self.暗抗输入 -= 60 - - -class 战斗·知源·小魔女(角色窗口): - def 窗口属性输入(self): - 技能序号 = dict() - for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - - 一觉序号 = 0 - 二觉序号 = 0 - 三觉序号 = 0 - - for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - - 护石选项 = ['无'] - for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - - 符文选项 = ['无'] - for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1 and i.名称 != '爆裂弹': - 符文选项.append(i.名称) - self.初始属性 = 职业属性(技能列表, 技能序号) - self.角色属性A = 职业属性(技能列表, 技能序号) - self.角色属性B = 职业属性(技能列表, 技能序号) - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/战斗·神启·圣骑士.py b/Characters/战斗·神启·圣骑士.py deleted file mode 100644 index db7a6a9e..00000000 --- a/Characters/战斗·神启·圣骑士.py +++ /dev/null @@ -1,560 +0,0 @@ -from PublicReference.carry.base import * - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - data0 = [int(i*1.0) for i in [0, 1000, 1058, 1115, 1173, 1230, 1288, 1345, 1403, 1461, 1518, 1576, 1633, 1691, 1748, 1806, 1895, 1984, 2073, 2162, 2251, 2339, 2428, 2517, 2606, 2695, 2784, 2873, 2962, 3051, 3140, 3228, 3317, 3406, 3495, 3584, 3673, 3762, 3851, 3940, 4029, 4118, 4206, 4295, 4384, 4473, 4562, 4651, 4740, 4829, 4918, 5007, 5095, 5184, 5273, 5362, 5451, 5540, 5629, 5718, 5807, 5896, 5985, 6073, 6162, 6251, 6340, 6429, 6518, 6607, 6696, 6785, 6874, 6963, 7051, 7140, 7229, 7318, 7407, 7496, 7585, 7674, 7763, 7852, 7940, 8029, 8118, 8207, 8296, 8385, 8474, 8563, 8652, 8741, 8830, 8918, 9007, 9096, 9185, 9274, 9363, 9452, 9541, 9630, 9719, 9808, 9897, 9986, - 10075, 10164, 10253, 10342, 10431, 10520, 10609, 10698, 10787, 10876, 10965, 11054, 11143, 11232, 11321, 11410, 11499, 11588, 11677, 11766, 11855, 11944, 12033, 12122, 12211, 12300, 12389, 12478, 12567, 12656, 12745, 12834, 12923, 13012, 13101, 13190, 13279, 13368, 13457, 13546, 13635, 13724, 13813, 13902, 13991, 14080, 14169, 14258, 14347, 14436, 14525, 14614, 14703, 14792, 14881, 14970, 15059, 15148, 15237, 15326, 15415, 15504, 15593, 15682, 15771, 15860, 15949, 16038, 16127, 16216, 16305, 16394, 16483, 16572, 16661, 16750, 16839, 16928, 17017, 17106, 17195, 17284, 17373, 17462, 17551, 17640, 17729, 17818, 17907, 17996, 18085, 18174, 18263]] - 关联技能 = ['神罚之锤', '空斩打'] - - def 加成倍率(self, 武器类型): - return self.data0[self.等级]/1000 - - -class 技能1(职业主动技能): - 名称 = '空斩打' - 所在等级 = 1 - 等级上限 = 20 - 基础等级 = 10 - data0 = [int(i*1.0) for i in [0, 95, 105, 115, 126, 136, 147, 158, 168, 179, 189, 200, 210, 220, 231, 241, 252, 263, 273, 284, 294, 305, 315, 325, 336, 346, 357, 368, 378, 389, 399, 410, 420, 430, 441, 451, 462, 473, 483, 494, 504, 515, 525, 535, 546, 556, 567, 578, 588, 599, 609, 620, 630, 640, 651, 661, 672, 683, 693, 704, 714, 725, 735, 745, 756, 766, 777, 788, 798, 809, 819]] - CD = 2.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '落凤锤' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - # 当装备[神罚之锤]时,[落凤锤] : 可发动[雷霆粉碎] - data0 = [int(x*1.246) for x in [0, 2660, 2930, 3198, 3469, 3738, 4008, 4279, 4548, 4817, 5087, 5357, 5627, 5897, 6167, 6437, 6705, 6976, 7246, 7516, 7786, 8056, 8324, 8594, 8865, 9134, 9404, 9675, 9944, 10213, 10484, 10753, 11023, 11293, 11563, 11832, 12101, 12372, 12642, 12911, 13182]] - 攻击次数 = 2 - CD = 6.0 - - - -class 技能3(被动技能): - 名称 = '勇气恩赐' - 所在等级 = 15 - 等级上限 = 25 - 基础等级 = 15 - - def 加成倍率(self, 武器类型): - return (1.15 + (self.等级 - 15) * 0.02) if self.等级 >= 15 else (1 + self.等级 * 0.01) - - -class 技能4(职业主动技能): - 名称 = '光之复仇' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.24) for i in [0, 191, 210, 229, 249, 268, 288, 308, 327, 345, 365, 384, 404, 424, 443, 462, 482, 501, 520, 541, 560, 579, 599, 617, 636, 656, 676, 695, 715, 734, 753, 772, 793, 812, 831, 851, 869, 888, 908, 928, 947, 967, 986, 1005, 1025, 1045, 1064, 1084, 1103, 1121, 1141, 1160, 1180, 1200, 1219, 1238, 1258, 1277, 1297, 1316, 1336]] - 攻击次数 = 1 - CD = 0.2 - TP成长 = 0.10 - TP上限 = 5 - -class 技能5(职业主动技能): - 名称 = '纯白之刃' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.243) for i in [0, 1106, 1218, 1330, 1443, 1555, 1667, 1779, 1892, 2004, 2116, 2228, 2341, 2453, 2565, 2677, 2790, 2902, 3014, 3126, 3239, 3351, 3463, 3575, 3688, 3800, 3912, 4024, 4137, 4249, 4361, 4473, 4586, 4698, 4810, 4922, 5035, 5147, 5259, 5371, 5484, 5596, 5708, 5820, 5933, 6045, 6157, 6269, 6382, 6494, 6606, 6718, 6831, 6943, 7055, 7167, 7280, 7392, 7504, 7616, 7729, 7841, 7953, 8065, 8178, 8290, 8402, 8514, 8627, 8739, 8851]] - 攻击次数 = 1 - CD = 2.0 - TP成长 = 0.10 - TP上限 = 5 - -class 技能6(被动技能): - 名称 = '坚定信念' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 >= 10: - return (1.10 + (self.等级 - 10) * 0.015) - else: - return (1 + self.等级 * 0.01) - - -class 技能7(职业主动技能): - 名称 = '胜利之矛' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.23) for i in [0, 978, 1077, 1176, 1276, 1375, 1475, 1574, 1673, 1773, 1872, 1971, 2070, 2170, 2269, 2368, 2467, 2566, 2666, 2765, - 2865, 2964, 3063, 3163, 3262, 3361, 3460, 3560, 3659, 3758, 3857, 3956, 4056, 4155, 4255, 4354, 4453, 4553, 4652, - 4751, 4850, 4949, 5049, 5148, 5247, 5346, 5446, 5545, 5645, 5744, 5843, 5943, 6042, 6141, 6240, 6339, 6439, 6538, - 6637, 6736, 6835, 6935, 7035, 7134, 7233, 7333, 7432, 7531, 7630, 7729, 7829]] - 攻击次数 = 1 - data1 = [int(i*1.23) for i in [0, 1525, 1681, 1835, 1990, 2145, 2300, 2455, 2610, 2765, 2919, 3075, 3229, 3384, 3539, 3694, 3848, 4004, 4158, - 4313, 4468, 4623, 4777, 4933, 5087, 5242, 5397, 5552, 5706, 5862, 6016, 6171, 6326, 6481, 6635, 6791, 6945, 7100, - 7255, 7410, 7565, 7720, 7875, 8029, 8185, 8339, 8494, 8649, 8804, 8958, 9114, 9268, 9423, 9578, 9733, 9887, 10043, - 10197, 10352, 10507, 10662, 10816, 10972, 11126, 11281, 11436, 11591, 11745, 11901, 12055, 12210]] - 攻击次数2 = 1 - CD = 6.6 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '圣光十字' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.273) for i in [0, 1549, 1706, 1864, 2021, 2178, 2335, 2492, 2650, 2807, 2964, 3121, 3278, 3436, 3593, 3750, 3907, 4065, 4222, 4379, 4536, 4693, 4851, 5008, 5165, 5322, 5479, 5637, 5794, 5951, 6108, 6266, 6423, 6580, 6737, 6894, 7052, 7209, 7366, 7523, 7680, 7838, 7995, 8152, 8309, 8467, 8624, 8781, 8938, 9095, 9253, 9410, 9567, 9724, 9881, 10039, 10196, 10353, 10510, 10667, 10825, 10982, 11139, 11296, 11454, 11611, 11768, 11925, 12082, 12240, 12397]] - 攻击次数 = 1 - # 倍率1 = 1.158 # 三觉 - data1 = [int(i*1.273) for i in [0, 2041, 2247, 2455, 2662, 2869, 3076, 3283, 3490, 3697, 3905, 4111, 4318, 4525, 4733, 4940, 5146, 5354, 5561, 5768, 5975, 6182, 6389, 6596, 6803, 7010, 7217, 7425, 7632, 7838, 8045, 8253, 8460, 8666, 8874, 9081, 9288, 9495, 9702, 9909, 10116, 10324, 10530, 10737, 10945, 11152, 11359, 11565, 11773, 11980, 12187, 12394, 12601, 12808, 13015, 13222, 13429, 13636, 13844, 14051, 14257, 14465, 14672, 14879, 15085, 15293, 15500, 15707, 15915, 16121, 16328]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.2 - - -class 技能9(职业主动技能): - 名称 = '圣光沁盾' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(i*1.3) for i in [0, 3881, 4275, 4669, 5062, 5456, 5850, 6244, 6637, 7031, 7425, 7819, 8213, 8606, 9000, 9394, 9788, 10181, 10575, 10969, 11363, 11757, 12150, 12544, 12938, 13332, 13725, 14119, 14513, 14907, 15301, 15694, 16088, 16482, 16876, 17269, 17663, 18057, 18451, 18845, 19238, 19632, 20026, 20420, 20813, 21207, 21601, 21995, 22389, 22782, 23176, 23570, 23964, 24357, 24751, 25145, 25539, 25932, 26326, 26720, 27114]] - 攻击次数 = 1 - 倍率 = 1.09 # 三觉 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - -class 技能10(职业主动技能): - 名称 = '圣光琉璃碎' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 圣光球 光球魔法攻击力:[圣光球]攻击力的10%(1HIT) - data0 = [int(i*1.247) for i in [0, 789, 869, 949, 1029, 1109, 1189, 1269, 1350, 1430, 1510, 1590, 1670, 1750, 1830, 1910, 1990, 2070, 2150, 2231, - 2311, 2391, 2471, 2551, 2631, 2711, 2791, 2871, 2951, 3031, 3112, 3192, 3272, 3352, 3432, 3512, 3592, 3672, 3752, - 3832, 3912, 3993, 4073, 4153, 4233, 4313, 4393, 4473, 4553, 4633, 4713, 4794, 4874, 4954, 5034, 5114, 5194, 5274, - 5354, 5434, 5514, 5594, 5675, 5755, 5835, 5915, 5995, 6075, 6155, 6235, 6315]] - 攻击次数 = 10/100 - # 圣光球 爆炸魔法攻击力:[圣光球]攻击力的50%(1HIT) 粒子爆炸攻击力:[圣光球]攻击力的100%(5HIT) - data1 = [int(i*1.247) for i in [0, 1790, 1972, 2154, 2335, 2517, 2699, 2881, 3062, 3244, 3425, 3607, 3789, 3971, 4153, 4334, 4515, 4697, 4879, - 5061, 5243, 5425, 5605, 5787, 5969, 6151, 6333, 6515, 6696, 6877, 7059, 7241, 7423, 7605, 7786, 7968, 8149, 8331, - 8513, 8695, 8876, 9058, 9239, 9421, 9603, 9785, 9966, 10148, 10330, 10511, 10693, 10875, 11056, 11238, 11420, - 11602, 11783, 11965, 12146, 12328, 12510, 12692, 12874, 13055, 13236, 13418, 13600, 13782, 13964, 14145, 14326]] - 攻击次数2 = 100/100*5 + 50/100 - # 倍率2 = 5.5 - # 倍率 = 1 - CD = 14.4 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - elif x == 1: - self.倍率 *= 1.34 - - -class 技能11(职业主动技能): - 名称 = '圣光聚合' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.33) for i in [0, 422, 465, 507, 550, 593, 636, 679, 722, 764, 807, 850, 893, 936, 979, 1021, 1064, 1107, 1150, 1193, 1236, 1278, 1321, 1364, 1407, 1450, 1493, 1535, 1578, 1621, 1664, 1707, 1750, 1792, 1835, 1878, 1921, 1964, 2006, 2049, 2092, 2135, 2178, 2221, 2263, 2306, 2349, 2392, 2435, 2478, 2520, 2563, 2606, 2649, 2692, 2735, 2777, 2820, 2863, 2906, 2949]] - data1 = [int(i*1.33) for i in [0, 844, 930, 1015, 1101, 1187, 1272, 1358, 1444, 1529, 1615, 1701, 1786, 1872, 1958, 2043, 2129, 2215, 2300, 2386, 2472, 2557, 2643, 2729, 2814, 2900, 2986, 3071, 3157, 3243, 3328, 3414, 3500, 3585, 3671, 3756, 3842, 3928, 4013, 4099, 4185, 4270, 4356, 4442, 4527, 4613, 4699, 4784, 4870, 4956, 5041, 5127, 5213, 5298, 5384, 5470, 5555, 5641, 5727, 5812, 5898]] - data2 = [int(i*1.33) for i in [0, 3219, 3545, 3872, 4198, 4525, 4852, 5178, 5505, 5831, 6158, 6484, 6811, 7138, 7464, 7791, 8117, 8444, 8770, 9097, 9424, 9750, 10077, 10403, 10730, 11056, 11383, 11710, 12036, 12363, 12689, 13016, 13343, 13669, 13996, 14322, 14649, 14975, 15302, 15629, 15955, 16282, 16608, 16935, 17261, 17588, 17915, 18241, 18568, 18894, 19221, 19548, 19874, 20201, 20527, 20854, 21180, 21507, 21834, 22160, 22487]] - 攻击次数 = 1 - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 10.0 - TP成长 = 0.10 - TP上限 = 5 - -class 技能12(职业主动技能): - 名称 = '忏悔之锤' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.254) for i in [0, 4886, 5382, 5877, 6373, 6869, 7365, 7860, 8356, 8852, 9348, 9843, 10339, 10835, 11331, 11826, 12322, 12818, 13313, 13809, 14305, 14801, 15296, 15792, 16288, 16784, 17279, 17775, 18271, 18767, 19262, 19758, 20254, 20749, 21245, 21741, 22237, 22732, 23228, 23724, 24220, 24715, 25211, 25707, 26202, 26698, 27194, 27690, 28185, 28681, 29177, 29673, 30168, 30664, 31160, 31656, 32151, 32647, 33143, 33638, 34134, 34630, 35126, 35621, 36117, 36613, 37109, 37604, 38100, 38596, 39092]] - 攻击次数 = 1 - data1 = [int(i*1.254) for i in [0, 2033, 2239, 2445, 2652, 2858, 3064, 3271, 3477, 3683, 3889, 4096, 4302, 4508, 4715, 4921, 5127, 5333, 5540, 5746, 5952, 6158, 6365, 6571, 6777, 6984, 7190, 7396, 7602, 7809, 8015, 8221, 8428, 8634, 8840, 9046, 9253, 9459, 9665, 9872, 10078, 10284, 10490, 10697, 10903, 11109, 11316, 11522, 11728, 11934, 12141, 12347, 12553, 12760, 12966, 13172, 13378, 13585, 13791, 13997, 14203, 14410, 14616, 14822, 15029, 15235, 15441, 15647, 15854, 16060, 16266]] - 攻击次数2 = 1 - CD = 14.4 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.34 - self.CD *= 0.9 - - -class 技能13(职业主动技能): - 名称 = '正义审判' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.251) for i in [0, 575, 633, 691, 750, 808, 866, 925, 983, 1041, 1100, 1158, 1216, 1275, 1333, 1391, 1450, 1508, 1566, 1625, 1683, 1742, 1800, 1858, 1917, 1975, 2033, 2092, 2150, 2208, 2267, 2325, 2383, 2442, 2500, 2558, 2617, 2675, 2733, 2792, 2850, 2908, 2967, 3025, 3083, 3142, 3200, 3258, 3317, 3375, 3434, 3492, 3550, 3609, 3667, 3725, 3784, 3842, 3900, 3959, 4017, 4075, 4134, 4192, 4250, 4309, 4367, 4425, 4484, 4542, 4600]] - 攻击次数 = 16 - 倍率1 = 1 - data1 = [int(i*1.251) for i in [0, 9201, 10135, 11068, 12002, 12935, 13869, 14802, 15736, 16670, 17603, 18537, 19470, 20404, 21337, 22271, 23204, 24138, 25071, 26005, 26938, 27872, 28805, 29739, 30672, 31606, 32539, 33473, 34406, 35340, 36273, 37207, 38141, 39074, 40008, 40941, 41875, 42808, 43742, 44675, 45609, 46542, 47476, 48409, 49343, 50276, 51210, 52143, 53077, 54010, 54944, 55877, 56811, 57744, 58678, 59611, 60545, 61479, 62412, 63346, 64279, 65213, 66146, 67080, 68013, 68947, 69880, 70814, 71747, 72681, 73614]] - 攻击次数2 = 1 - 倍率2 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 8 - self.data1 = [int(x*2) for x in self.data1] - # self.倍率2 = 2 - elif x == 1: - self.攻击次数 = 8 - self.data1 = [int(x*2.16) for x in self.data1] - - -class 技能14(被动技能): - 名称 = '信念光环' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.015 + 0.02 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '天启之珠' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data0 = [int(i*1.244) for i in [0, 576, 710, 844, 978, 1111, 1245, 1379, 1512, 1646, 1780, 1914, 2047, 2181, 2315, 2449, 2582, 2716, 2850, 2984, 3117, 3251, 3385, 3519, 3652, 3786, 3920, 4054, 4187, 4321, 4455, 4589, 4722, 4856, 4990, 5124, 5257, 5391, 5525, 5659, 5792]] - 攻击次数 = 29 - data1 = [int(i*1.244) for i in [0, 19873, 24482, 29090, 33699, 38307, 42916, 47524, 52133, 56741, 61350, 65958, 70567, 75175, 79784, 84392, 89000, 93609, 98217, 102826, 107434, 112043, 116651, 121260, 125868, 130477, 135085, 139694, 144302, 148910, 153519, 158127, 162736, 167344, 171953, 176561, 181170, 185778, 190387, 194995, 199604]] - 攻击次数2 = 1 - 倍率 = 1.3 # 圣灵之槌 - CD = 145 - -class 技能16(职业主动技能): - 名称 = '圣光突袭' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.242) for i in [0, 1650, 1818, 1985, 2153, 2320, 2488, 2655, 2823, 2990, 3158, 3325, 3493, 3660, 3828, 3995, 4163, 4330, 4498, 4665, 4832, 5000, 5167, 5335, 5502, 5670, 5837, 6005, 6172, 6340, 6507, 6675, 6842, 7010, 7177, 7345, 7512, 7680, 7847, 8015, 8182, 8350, 8517, 8685, 8852, 9019, 9187, 9354, 9522, 9689, 9857, 10024, 10192, 10359, 10527, 10694, 10862, 11029, 11197, 11364, 11532, 11699, 11867, 12034, 12202, 12369, 12537, 12704, 12872, 13039, 13206]] - data1 = [int(i*1.242) for i in [0, 10985, 12099, 13214, 14328, 15443, 16557, 17672, 18786, 19901, 21015, 22129, 23244, 24358, 25473, 26587, 27702, 28816, 29931, 31045, 32160, 33274, 34388, 35503, 36617, 37732, 38846, 39961, 41075, 42190, 43304, 44419, 45533, 46647, 47762, 48876, 49991, 51105, 52220, 53334, 54449, 55563, 56678, 57792, 58906, 60021, 61135, 62250, 63364, 64479, 65593, 66708, 67822, 68937, 70051, 71165, 72280, 73394, 74509, 75623, 76738, 77852, 78967, 80081, 81196, 82310, 83425, 84539, 85653, 86768, 87882]] - 攻击次数 = 3 - 攻击次数2 = 1 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data1 = [int(x*1.36) for x in self.data1] - # self.倍率2 *= 1.36 - self.CD *= 0.9 - elif x == 1: - self.data1 = [int(x*1.49) for x in self.data1] - # self.倍率2 *= 1.49 - self.CD *= 0.9 - - -class 技能17(职业主动技能): - 名称 = '神圣之矛' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(i*1.242) for i in [0, 471, 519, 567, 615, 663, 711, 759, 806, 854, 902, 950, 998, 1046, 1094, 1142, 1189, 1237, 1285, 1333, 1381, 1429, 1477, 1525, 1572, 1620, 1668, 1716, 1764, 1812, 1860, 1908, 1955, 2003, 2051, 2099, 2147, 2195, 2243, 2290, 2338, 2386, 2434, 2482, 2530, 2578, 2626]] - 攻击次数 = 1 - data1 = [int(i*1.242) for i in [0, 1962, 2161, 2360, 2560, 2759, 2958, 3157, 3356, 3555, 3754, 3953, 4153, 4352, 4551, 4750, 4949, 5148, 5347, 5546, 5745, 5945, 6144, 6343, 6542, 6741, 6940, 7139, 7338, 7537, 7737, 7936, 8135, 8334, 8533, 8732, 8931, 9130, 9330, 9529, 9728, 9927, 10126, 10325, 10524, 10723, 10922]] - 攻击次数2 = 1 - data2 = [int(i*1.242) for i in [0, 5546, 6108, 6671, 7234, 7796, 8359, 8922, 9484, 10047, 10610, 11172, 11735, 12298, 12860, 13423, 13986, 14548, 15111, 15674, 16236, 16799, 17362, 17924, 18487, 19049, 19612, 20175, 20737, 21300, 21863, 22425, 22988, 23551, 24113, 24676, 25239, 25801, 26364, 26927, 27489, 28052, 28615, 29177, 29740, 30303, 30865]] - 攻击次数3 = 3 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.31 - - -class 技能18(职业主动技能): - 名称 = '神圣之光' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.241) for i in [0, 25717, 28326, 30935, 33544, 36153, 38763, 41372, 43981, 46590, 49199, 51808, 54417, 57026, 59635, 62244, 64853, 67462, 70071, 72680, 75289, 77898, 80507, 83116, 85725, 88334, 90943, 93553, 96162, 98771, 101380, 103989, 106598, 109207, 111816, 114425, 117034, 119643, 122252, 124861, 127470]] - CD = 20.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.35 - - -class 技能19(职业主动技能): - 名称 = '圣佑结界' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - - data0 = [int(i*1.245) for i in [0, 4322, 4761, 5200, 5638, 6077, 6515, 6954, 7392, 7831, 8270, 8708, 9147, 9585, 10024, 10462, 10901, 11340, 11778, 12217, 12655, 13094, 13532, 13971, 14409, 14848, 15287, 15725, 16164, 16602, 17041, 17479, 17918, 18357, 18795, 19234, 19672, 20111, 20549, 20988, 21427]] - data1 = [int(i*1.245) for i in [0, 21614, 23807, 26000, 28193, 30386, 32579, 34771, 36964, 39157, 41350, 43543, 45736, 47928, 50121, 52314, 54507, 56700, 58893, 61085, 63278, 65471, 67664, 69857, 72049, 74242, 76435, 78628, 80821, 83014, 85206, 87399, 89592, 91785, 93978, 96171, 98363, 100556, 102749, 104942, 107135]] - 攻击次数 = 2 - 攻击次数2 = 1 - 倍率 = 1.43 # 圣灵之槌 - CD = 40.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.攻击次数 = 0 - self.倍率 *= 1.78 - - -class 技能20(主动技能): - 名称 = '神罚之锤' - 备注 = '(一轮普通攻击,TP为基础精通)' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - 基础 = 977.0 * 1.05 * 1.246 - 成长 = 0.0 - CD = 2.0 - TP成长 = 0.10 - TP上限 = 3 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.24 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '神圣洗礼:信仰之翼' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data0 = [int(i*1.296) for i in [0, 2176, 2681, 3186, 3691, 4196, 4700, 5205, 5710, 6215, 6720, 7224, 7729, 8234, 8739, 9243, 9748, 10253, 10758, 11263, 11767, 12272, 12777, 13282, 13787, 14291, 14796, 15301, 15806, 16311, 16815, 17320, 17825, 18330, 18834, 19339, 19844, 20349, 20854, 21358, 21863]] - 攻击次数 = 15 - data1 = [int(i*1.296) for i in [0, 91430, 112631, 133832, 155033, 176234, 197435, 218637, 239838, 261039, 282240, 303441, 324642, 345844, 367045, 388246, 409447, 430648, 451849, 473051, 494252, 515453, 536654, 557855, 579056, 600258, 621459, 642660, 663861, 685062, 706263, 727465, 748666, 769867, 791068, 812269, 833470, 854672, 875873, 897074, 918275]] - 攻击次数2 = 1 - CD = 180 - - -class 技能22(被动技能): - 名称 = '神之代行者' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能23(职业主动技能): - 名称 = '神罚之锤:天怒' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.244) for i in [0, 61029, 67221, 73412, 79604, 85795, 91987, 98178, 104369, 110561, 116752, 122944, 129135, 135327, 141518, 147710, 153901, 160092, 166284, 172475, 178667, 184858, 191050, 197241, 203433, 209624, 215815, 222007, 228198, 234390, 240581, 246773, 252964, 259155, 265347, 271538, 277730, 283921, 290113, 296304, 302496, 308687, 314878, 321070, 327261, 333453, 339644, 345836, 352027, 358219, 364410, 370601, 376793, 382984, 389176, 395367, 401559, 407750, 413941, 420133, 426324, 432516, 438707, 444899, 451090, 457282, 463473, 469664, 475856, 482047, 488239]] - data1 = [int(i*1.244) for i in [0, 40686, 44814, 48941, 53069, 57197, 61324, 65452, 69579, 73707, 77835, 81962, 86090, 90218, 94345, 98473, 102601, 106728, 110856, 114983, 119111, 123239, 127366, 131494, 135622, 139749, 143877, 148004, 152132, 156260, 160387, 164515, 168643, 172770, 176898, 181025, 185153, 189281, 193408, 197536, 201664, 205791, 209919, 214046, 218174, 222302, 226429, 230557, 234685, 238812, 242940, 247067, 251195, 255323, 259450, 263578, 267706, 271833, 275961, 280088, 284216, 288344, 292471, 296599, 300727, 304854, 308982, 313109, 317237, 321365, 325492]] - 攻击次数2 = 1 - 基础 = 91395.8 - 成长 = 10319.2 - CD = 60.0 - - -class 技能24(职业主动技能): - 名称 = '生命礼赞:神威' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.241) for i in [0, 41386, 50983, 60579, 70176, 79773, 89370, 98967, 108563, 118160, 127757, 137354, 146951, 156547, 166144, 175741, 185338, 194935, 204531, 214128, 223725, 233322, 242919, 252516, 262112, 271709, 281306, 290903, 300500, 310096, 319693, 329290, 338887, 348484, 358080, 367677, 377274, 386871, 396468, 406064, 415661, 425258, 434855, 444452, 454048, 463645, 473242, 482839, 492436, 502033, 511629, 521226, 530823, 540420, 550017, 559613, 569210, 578807, 588404, 598001, 607597, 617194, 626791, 636388, 645985, 655581, 665178, 674775, 684372, 693969, 703565]] - 攻击次数 = 8 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -战斗·神启·圣骑士一觉序号 = 0 -战斗·神启·圣骑士二觉序号 = 0 -战斗·神启·圣骑士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 战斗·神启·圣骑士一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 战斗·神启·圣骑士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 战斗·神启·圣骑士三觉序号 = 技能序号[i.名称] - -战斗·神启·圣骑士护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 战斗·神启·圣骑士护石选项.append(i.名称) - -战斗·神启·圣骑士符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 战斗·神启·圣骑士符文选项.append(i.名称) - - -class 战斗·神启·圣骑士角色属性(角色属性): - - 实际名称 = '战斗·神启·圣骑士' - 角色 = '圣职者(男)' - 职业 = '圣骑士' - - 武器选项 = ['镰刀', '念珠', '战斧', '十字架'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.97 - - 远古记忆 = 0 - 反身空斩打 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['落凤锤']].等级 = self.技能栏[self.技能序号['神罚之锤']].等级 - self.技能栏[self.技能序号['空斩打']].倍率 *= (1 + 0.1 * self.技能栏[self.技能序号['神罚之锤']].TP等级) / \ - self.技能栏[self.技能序号['神之代行者']].加成倍率(self.武器类型) - if self.反身空斩打 == 0: - self.技能栏[self.技能序号['空斩打']].基础 += 1.246* 1.05 * 267 * self.技能栏[self.技能序号['神之代行者'] - ].加成倍率(self.武器类型) / (1 + 0.08 * self.技能栏[self.技能序号['空斩打']].TP等级) - else: - self.技能栏[self.技能序号['空斩打']].基础 += 1.246* 1.05 * (267+187) * self.技能栏[self.技能序号['神之代行者']].加成倍率( - self.武器类型) / (1 + 0.08 * self.技能栏[self.技能序号['空斩打']].TP等级) - - -class 战斗·神启·圣骑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 战斗·神启·圣骑士角色属性() - self.角色属性A = 战斗·神启·圣骑士角色属性() - self.角色属性B = 战斗·神启·圣骑士角色属性() - self.一觉序号 = 战斗·神启·圣骑士一觉序号 - self.二觉序号 = 战斗·神启·圣骑士二觉序号 - self.三觉序号 = 战斗·神启·圣骑士三觉序号 - self.护石选项 = deepcopy(战斗·神启·圣骑士护石选项) - self.符文选项 = deepcopy(战斗·神启·圣骑士符文选项) - - def 界面(self): - super().界面() - - self.反身空斩打 = QCheckBox('空斩打冲击波', self.main_frame2) - self.反身空斩打.resize(100, 20) - self.反身空斩打.move(335, 520) - self.反身空斩打.setStyleSheet(复选框样式) - self.反身空斩打.setToolTip('触发神圣冲击') - - self.职业存档.append(('反身空斩打', self.反身空斩打, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.反身空斩打.isChecked(): - 属性.反身空斩打 = 1 diff --git a/Characters/极诣·刃影.py b/Characters/极诣·刃影.py deleted file mode 100644 index 925dc380..00000000 --- a/Characters/极诣·刃影.py +++ /dev/null @@ -1,664 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(职业主动技能): - 名称 = '双重斩' - 所在等级 = 1 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,666, 733, 801, 869, 936, 1004, 1071, 1139, 1207, 1274, 1342, 1409, 1477, 1545, 1612, 1680, 1747, 1815, 1883, 1950, 2018, 2085, 2153, 2221, 2288, 2356, 2423, 2491, 2559, 2626, 2694, 2761, 2829, 2897, 2964, 3032, 3099, 3167, 3235, 3302, 3370, 3437, 3505, 3573, 3640, 3708, 3775, 3843, 3911, 3978, 4046, 4113, 4181, 4249, 4316, 4384, 4451, 4519, 4587, 4654, 4722, 4789, 4857, 4925, 4992, 5060, 5127, 5195, 5263, 5330] - 攻击次数 = 2 - # 基础 = 659.24 *2 - # 成长 = 6.75910912 *2 - CD = 4 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能1(职业主动技能): - 名称 = '鬼缚钉' - 备注 = '(TP为基础精通)' - 所在等级 = 5 - 等级上限 = 1 - 等级精通 = 1 - 基础等级 = 1 - # 与基础精通关联 - data0 = [0,431] - 攻击次数 = 1 - data1 = [0,1006] - 攻击次数2 = 1 - # 基础 = 431 + 1005.98 - # 成长 = 0 - CD = 7 - TP成长 = 0.10 - TP上限 = 3 - -class 技能2(被动技能): - 名称 = '孤勇之志' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.14 + 0.02 * self.等级, 5) - - def 独立攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.14 + 0.02 * self.等级, 5) - -class 技能3(职业主动技能): - 名称 = '冲击斩' - 所在等级 = 10 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 2357.721674 - # 成长 = 266.2974651 - data0 = [0,2624, 2891, 3157, 3423, 3689, 3956, 4222, 4488, 4755, 5021, 5287, 5554, 5820, 6086, 6352, 6619, 6885, 7151, 7418, 7684, 7950, 8216, 8483, 8749, 9015, 9282, 9548, 9814, 10080, 10347, 10613, 10879, 11146, 11412, 11678, 11944, 12211, 12477, 12743, 13010, 13276, 13542, 13808, 14075, 14341, 14607, 14874, 15140, 15406, 15672, 15939, 16205, 16471, 16738, 17004, 17270, 17536, 17803, 18069, 18335, 18602, 18868, 19134, 19401, 19667, 19933, 20199, 20466, 20732, 20998] - 攻击次数 = 1 - CD = 5 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = '回旋勾斩' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,1075, 1185, 1294, 1403, 1512, 1621, 1730, 1839, 1949, 2058, 2167, 2276, 2385, 2494, 2604, 2713, 2822, 2931, 3040, 3149, 3258, 3368, 3477, 3586, 3695, 3804, 3913, 4022, 4132, 4241, 4350, 4459, 4568, 4677, 4787, 4896, 5005, 5114, 5223, 5332, 5441, 5551, 5660, 5769, 5878, 5987, 6096, 6205, 6315, 6424, 6533, 6642, 6751, 6860, 6970, 7079, 7188, 7297, 7406, 7515, 7624, 7734, 7843, 7952, 8061, 8170, 8279, 8389, 8498, 8607] - data1 = [0,2659, 2929, 3198, 3468, 3738, 4008, 4278, 4547, 4817, 5087, 5357, 5627, 5896, 6166, 6436, 6706, 6976, 7245, 7515, 7785, 8055, 8324, 8594, 8864, 9134, 9404, 9673, 9943, 10213, 10483, 10753, 11022, 11292, 11562, 11832, 12102, 12371, 12641, 12911, 13181, 13451, 13720, 13990, 14260, 14530, 14799, 15069, 15339, 15609, 15879, 16148, 16418, 16688, 16958, 17228, 17497, 17767, 18037, 18307, 18577, 18846, 19116, 19386, 19656, 19925, 20195, 20465, 20735, 21005, 21274] - # 基础 = 965.8692185 + 2389.265284 - # 成长 = 109.1547049 + 269.7777778 - 攻击次数2 = 1 - CD = 8 - TP成长 = 0.08 - TP上限 = 5 -class 技能5(职业主动技能): - 名称 = '封喉丝' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 801.4126225 + 4009.318751 + 5128.008658 - # 成长 = 90.54910002 + 452.690818 + 578.9769879 - # 可抓取伤害 - # "0": "[0,892, 982, 1073, 1164, 1254, 1345, 1435, 1526, 1616, 1707, 1797, 1888, 1978, 2069, 2159, 2250, 2341, 2431, 2522, 2612, 2703, 2793, 2884, 2974, 3065, 3155, 3246, 3336, 3427, 3518, 3608, 3699, 3789, 3880, 3970, 4061, 4151, 4242, 4332, 4423, 4513, 4604, 4695, 4785, 4876, 4966, 5057, 5147, 5238, 5328, 5419, 5509, 5600, 5690, 5781, 5872, 5962, 6053, 6143, 6234, 6324, 6415, 6505, 6596, 6686, 6777, 6867, 6958, 7049, 7139] - # "1": "[0,4462, 4914, 5367, 5820, 6273, 6725, 7178, 7631, 8083, 8536, 8989, 9441, 9894, 10347, 10799, 11252, 11705, 12158, 12610, 13063, 13516, 13968, 14421, 14874, 15326, 15779, 16232, 16684, 17137, 17590, 18043, 18495, 18948, 19401, 19853, 20306, 20759, 21211, 21664, 22117, 22569, 23022, 23475, 23928, 24380, 24833, 25286, 25738, 26191, 26644, 27096, 27549, 28002, 28454, 28907, 29360, 29813, 30265, 30718, 31171, 31623, 32076, 32529, 32981, 33434, 33887, 34339, 34792, 35245, 35698] - # "2": "[0,4462, 4914, 5367, 5820, 6273, 6725, 7178, 7631, 8083, 8536, 8989, 9441, 9894, 10347, 10799, 11252, 11705, 12158, 12610, 13063, 13516, 13968, 14421, 14874, 15326, 15779, 16232, 16684, 17137, 17590, 18043, 18495, 18948, 19401, 19853, 20306, 20759, 21211, 21664, 22117, 22569, 23022, 23475, 23928, 24380, 24833, 25286, 25738, 26191, 26644, 27096, 27549, 28002, 28454, 28907, 29360, 29813, 30265, 30718, 31171, 31623, 32076, 32529, 32981, 33434, 33887, 34339, 34792, 35245, 35698] - # 无法抓取伤害 - data0 = [0,5707, 6286, 6865, 7444, 8023, 8602, 9181, 9760, 10339, 10918, 11497, 12076, 12655, 13234, 13813, 14392, 14971, 15549, 16128, 16707, 17286, 17865, 18444, 19023, 19602, 20181, 20760, 21339, 21918, 22497, 23076, 23655, 24234, 24813, 25392, 25971, 26550, 27129, 27708, 28287, 28866, 29445, 30024, 30603, 31182, 31761, 32340, 32919, 33498, 34077, 34656, 35235, 35814, 36393, 36972, 37551, 38130, 38709, 39288, 39867, 40446, 41025, 41604, 42183, 42762, 43341, 43920, 44499, 45078, 45657] - # 无法抓取 - # 基础 = 5128.0164 - # 成长 = 578.9769879 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '利刃旋风' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 772.7248804 + 1132.980861 + 371.9449761*5 - # 成长 = 87.27511962 + 127.9760766+ 42.02631579*5 - data0 = [0,860, 947, 1034, 1122, 1209, 1296, 1383, 1471, 1558, 1645, 1732, 1820, 1907, 1994, 2082, 2169, 2256, 2343, 2431, 2518, 2605, 2692, 2780, 2867, 2954, 3042, 3129, 3216, 3303, 3391, 3478, 3565, 3652, 3740, 3827, 3914, 4002, 4089, 4176, 4263, 4351, 4438, 4525, 4612, 4700, 4787, 4874, 4962, 5049, 5136, 5223, 5311, 5398, 5485, 5572, 5660, 5747, 5834, 5922, 6009, 6096, 6183, 6271, 6358, 6445, 6532, 6620, 6707, 6794, 6882] - 攻击次数 = 1 - data1 = [0,1261, 1389, 1517, 1645, 1773, 1901, 2029, 2157, 2285, 2413, 2541, 2669, 2797, 2925, 3053, 3180, 3308, 3436, 3564, 3692, 3820, 3948, 4076, 4204, 4332, 4460, 4588, 4716, 4844, 4972, 5100, 5228, 5356, 5484, 5612, 5740, 5868, 5996, 6124, 6252, 6380, 6508, 6636, 6764, 6892, 7020, 7148, 7276, 7403, 7531, 7659, 7787, 7915, 8043, 8171, 8299, 8427, 8555, 8683, 8811, 8939, 9067, 9195, 9323, 9451, 9579, 9707, 9835, 9963, 10091] - 攻击次数2 = 1 - data2 = [0,414, 456, 498, 540, 582, 624, 666, 708, 750, 792, 834, 876, 918, 960, 1002, 1044, 1086, 1128, 1170, 1212, 1254, 1296, 1339, 1381, 1423, 1465, 1507, 1549, 1591, 1633, 1675, 1717, 1759, 1801, 1843, 1885, 1927, 1969, 2011, 2053, 2095, 2137, 2179, 2221, 2263, 2305, 2347, 2389, 2431, 2473, 2515, 2557, 2600, 2642, 2684, 2726, 2768, 2810, 2852, 2894, 2936, 2978, 3020, 3062, 3104, 3146, 3188, 3230, 3272, 3314] - 攻击次数3 = 5 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '白牙落斩' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,6204, 6834, 7463, 8093, 8722, 9351, 9981, 10610, 11240, 11869, 12499, 13128, 13758, 14387, 15017, 15646, 16275, 16905, 17534, 18164, 18793, 19423, 20052, 20682, 21311, 21941, 22570, 23199, 23829, 24458, 25088, 25717, 26347, 26976, 27606, 28235, 28865, 29494, 30124, 30753, 31382, 32012, 32641, 33271, 33900, 34530, 35159, 35789, 36418, 37048, 37677, 38306, 38936, 39565, 40195, 40824, 41454, 42083, 42713, 43342, 43972, 44601, 45230, 45860, 46489, 47119, 47748, 48378, 49007, 49637] - # 基础 = 5574.569378 - # 成长 = 629.4497608 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '疾刃之影' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,5412, 5961, 6510, 7059, 7608, 8157, 8706, 9255, 9804, 10353, 10902, 11451, 12001, 12550, 13099, 13648, 14197, 14746, 15295, 15844, 16393, 16942, 17491, 18040, 18589, 19138, 19688, 20237, 20786, 21335, 21884, 22433, 22982, 23531, 24080, 24629, 25178, 25727, 26276, 26825, 27374, 27924, 28473, 29022, 29571, 30120, 30669, 31218, 31767, 32316, 32865, 33414, 33963, 34512, 35061, 35610, 36160, 36709, 37258, 37807, 38356, 38905, 39454, 40003, 40552, 41101, 41650, 42199, 42748, 43297] - # 基础 = 4862.907022 - # 成长 = 549.0547006 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '薄暮利刃' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 5674.294582 - # 成长 = 640.7293418 - data0 = [0,6315, 6956, 7597, 8237, 8878, 9519, 10160, 10800, 11441, 12082, 12723, 13363, 14004, 14645, 15286, 15926, 16567, 17208, 17848, 18489, 19130, 19771, 20411, 21052, 21693, 22334, 22974, 23615, 24256, 24897, 25537, 26178, 26819, 27459, 28100, 28741, 29382, 30022, 30663, 31304, 31945, 32585, 33226, 33867, 34508, 35148, 35789, 36430, 37070, 37711, 38352, 38993, 39633, 40274, 40915, 41556, 42196, 42837, 43478, 44119, 44759, 45400, 46041, 46681, 47322, 47963, 48604, 49244, 49885, 50526] - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - - -class 技能10(职业主动技能): - 名称 = '黑夜之花' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - # 基础 = 1324.369105 + 620.8339029*5 + 4438.772386 - # 成长 = 149.6021873 + 70.17088175*5 + 501.2276145 - data0 = [0,691, 761, 832, 902, 972, 1042, 1112, 1182, 1253, 1323, 1393, 1463, 1533, 1603, 1674, 1744, 1814, 1884, 1954, 2024, 2095, 2165, 2235, 2305, 2375, 2445, 2516, 2586, 2656, 2726, 2796, 2866, 2937, 3007, 3077, 3147, 3217, 3287, 3358, 3428, 3498, 3568, 3638, 3709, 3779, 3849, 3919, 3989, 4059, 4130, 4200, 4270, 4340, 4410, 4480, 4551, 4621, 4691, 4761, 4831, 4901, 4972, 5042, 5112, 5182, 5252, 5322, 5393, 5463, 5533] - 攻击次数 = 5 - data1 = [0,1474, 1624, 1773, 1923, 2072, 2222, 2372, 2521, 2671, 2820, 2970, 3120, 3269, 3419, 3568, 3718, 3868, 4017, 4167, 4316, 4466, 4616, 4765, 4915, 5064, 5214, 5364, 5513, 5663, 5812, 5962, 6111, 6261, 6411, 6560, 6710, 6859, 7009, 7159, 7308, 7458, 7607, 7757, 7907, 8056, 8206, 8355, 8505, 8655, 8804, 8954, 9103, 9253, 9403, 9552, 9702, 9851, 10001, 10150, 10300, 10450, 10599, 10749, 10898, 11048, 11198, 11347, 11497, 11646, 11796] - 攻击次数2 = 1 - data2 = [0,4940, 5441, 5942, 6444, 6945, 7446, 7947, 8449, 8950, 9451, 9952, 10453, 10955, 11456, 11957, 12458, 12960, 13461, 13962, 14463, 14964, 15466, 15967, 16468, 16969, 17470, 17972, 18473, 18974, 19475, 19977, 20478, 20979, 21480, 21981, 22483, 22984, 23485, 23986, 24488, 24989, 25490, 25991, 26492, 26994, 27495, 27996, 28497, 28998, 29500, 30001, 30502, 31003, 31505, 32006, 32507, 33008, 33509, 34011, 34512, 35013, 35514, 36016, 36517, 37018, 37519, 38020, 38522, 39023, 39524] - 攻击次数3 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '回旋十字斩' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 60 - - # 基础 = 1035.089542/1.5 - # 成长 = 116.8721805/1.5 - # 基础2 = 8745.892003/1.5 - # 成长2 = 987.6008202/1.5 - data0 = [0,768, 846, 924, 1001, 1079, 1157, 1235, 1313, 1391, 1469, 1547, 1625, 1703, 1781, 1859, 1937, 2015, 2093, 2170, 2248, 2326, 2404, 2482, 2560, 2638, 2716, 2794, 2872, 2950, 3028, 3106, 3184, 3262, 3339, 3417, 3495, 3573, 3651, 3729, 3807, 3885, 3963, 4041, 4119, 4197, 4275, 4353, 4431, 4508, 4586, 4664, 4742, 4820, 4898, 4976, 5054, 5132, 5210, 5288, 5366, 5444, 5522, 5600, 5677, 5755, 5833, 5911, 5989, 6067, 6145] - data1 = [0,6489, 7148, 7806, 8465, 9123, 9781, 10440, 11098, 11756, 12415, 13073, 13732, 14390, 15048, 15707, 16365, 17024, 17682, 18340, 18999, 19657, 20316, 20974, 21632, 22291, 22949, 23607, 24266, 24924, 25583, 26241, 26899, 27558, 28216, 28875, 29533, 30191, 30850, 31508, 32167, 32825, 33483, 34142, 34800, 35459, 36117, 36775, 37434, 38092, 38750, 39409, 40067, 40726, 41384, 42042, 42701, 43359, 44018, 44676, 45334, 45993, 46651, 47310, 47968, 48626, 49285, 49943, 50601, 51260, 51918] - 攻击次数 = 5 - 攻击次数2 = 1 - CD = 18 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 是否装备护石 = 0 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i*3.51) for i in self.data0] - self.data1 = [int(i*2.21) for i in self.data1] - # self.攻击次数 *= 3.51 - # self.攻击次数2 *= 2.21 - self.是否装备护石 = 1 - -class 技能12(被动技能): - 名称 = '刃之决意' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.02 * self.等级, 5) - - -class 技能13(职业主动技能): - 名称 = '夜之风' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,4172, 4596, 5019, 5442, 5866, 6289, 6712, 7135, 7559, 7982, 8405, 8829, 9252, 9675, 10099, 10522, 10945, 11369, 11792, 12215, 12639, 13062, 13485, 13909, 14332, 14755, 15179, 15602, 16025, 16449, 16872, 17295, 17718, 18142, 18565, 18988, 19412, 19835, 20258, 20682, 21105, 21528, 21952, 22375, 22798, 23222, 23645, 24068, 24492, 24915, 25338, 25762, 26185, 26608, 27032, 27455, 27878, 28301, 28725, 29148, 29571, 29995, 30418, 30841, 31265, 31688, 32111, 32535, 32958, 33381] - # 基础 = 5623.020335/1.5 - # 成长 = 634.9700957/1.5 - 攻击次数 = 3 - CD = 20 - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i* 4.05) for i in self.data0] - self.攻击次数 = 1 - - -class 技能14(职业主动技能): - 名称 = '秘术·心斩' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [0,25243, 27804, 30365, 32926, 35487, 38048, 40609, 43169, 45730, 48291, 50852, 53413, 55974, 58535, 61096, 63657, 66218, 68779, 71340, 73901, 76462, 79022, 81583, 84144, 86705, 89266, 91827, 94388, 96949, 99510, 102071, 104632, 107193, 109754, 112315, 114876, 117436, 119997, 122558, 125119, 127680, 130241, 132802, 135363, 137924, 140485, 143046, 145607, 148168, 150729, 153289, 155850, 158411, 160972, 163533, 166094, 168655, 171216, 173777, 176338, 178899, 181460, 184021, 186582, 189142, 191703, 194264, 196825, 199386, 201947] - # 基础 = 34147.01343/1.5 - # 成长 = 3717.48418/1.5 - CD = 40 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i* 1.30) for i in self.data0] - # self.倍率 *= 1.30 - self.CD *= 0.9 - - -class 技能15(被动技能): - 名称 = '收刀秘术' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03 + 0.015 * self.等级, 5) - -class 技能16(职业主动技能): - 名称 = '沉寂之狱' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data0 = [0,22353, 27536, 32720, 37903, 43087, 48270, 53454, 58637, 63820, 69004, 74187, 79371, 84554, 89737, 94921, 100104, 105288, 110471, 115655, 120838, 126021, 131205, 136388, 141572, 146755, 151938, 157122, 162305, 167489, 172672, 177856, 183039, 188222, 193406, 198589, 203773, 208956, 214139, 219323, 224506, 229690, 234873, 240057, 245240, 250423, 255607, 260790, 265974, 271157, 276340, 281524, 286707, 291891, 297074, 302258, 307441, 312624, 317808, 322991, 328175, 333358, 338542, 343725, 348908, 354092, 359275, 364459, 369642, 374825, 380009] - data1 = [0,47389, 58378, 69367, 80355, 91344, 102333, 113322, 124311, 135300, 146288, 157277, 168266, 179255, 190244, 201233, 212222, 223210, 234199, 245188, 256177, 267166, 278155, 289144, 300132, 311121, 322110, 333099, 344088, 355077, 366065, 377054, 388043, 399032, 410021, 421010, 431998, 442987, 453976, 464965, 475954, 486943, 497932, 508920, 519909, 530898, 541887, 552876, 563865, 574853, 585842, 596831, 607820, 618809, 629798, 640787, 651775, 662764, 673753, 684742, 695731, 706720, 717708, 728697, 739686, 750675, 761664, 772653, 783641, 794630, 805619] - 攻击次数2 = 1 - # 基础 = 17175.407 + 36398.086 - # 成长 = 5182.9665 + 10988.995 - CD = 145 - - def 等效百分比(self, 武器类型): - if self.等级 >= 9: - self.data1 = [int(x*1.1) for x in self.data1] - return super().等效百分比(武器类型) - -class 技能17(职业主动技能): - 名称 = '瞬影碎魂击' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - # 基础 = 5573.170944/1.5 + 2609.408438*3/1.5 + 13046.79426/1.5 - # 成长 = 629.3170944/1.5 + 294.6107003*3/1.5 + 1473.205742/1.5 - data0 = [0,4135, 4554, 4974, 5393, 5813, 6233, 6652, 7072, 7491, 7911, 8330, 8750, 9169, 9589, 10008, 10428, 10847, 11267, 11686, 12106, 12525, 12945, 13365, 13784, 14204, 14623, 15043, 15462, 15882, 16301, 16721, 17140, 17560, 17979, 18399, 18818, 19238, 19658, 20077, 20497, 20916, 21336, 21755, 22175, 22594, 23014, 23433, 23853, 24272, 24692, 25111, 25531, 25950, 26370, 26790, 27209, 27629, 28048, 28468, 28887, 29307, 29726, 30146, 30565, 30985, 31404, 31824, 32243, 32663, 33082] - data1 = [0,1936, 2132, 2328, 2525, 2721, 2918, 3114, 3311, 3507, 3703, 3900, 4096, 4293, 4489, 4686, 4882, 5078, 5275, 5471, 5668, 5864, 6060, 6257, 6453, 6650, 6846, 7043, 7239, 7435, 7632, 7828, 8025, 8221, 8418, 8614, 8810, 9007, 9203, 9400, 9596, 9792, 9989, 10185, 10382, 10578, 10775, 10971, 11167, 11364, 11560, 11757, 11953, 12150, 12346, 12542, 12739, 12935, 13132, 13328, 13525, 13721, 13917, 14114, 14310, 14507, 14703, 14899, 15096, 15292, 15489] - 攻击次数2 = 3 - data2 = [0,9680, 10662, 11644, 12627, 13609, 14591, 15573, 16555, 17537, 18519, 19501, 20483, 21466, 22448, 23430, 24412, 25394, 26376, 27358, 28340, 29322, 30304, 31287, 32269, 33251, 34233, 35215, 36197, 37179, 38161, 39143, 40126, 41108, 42090, 43072, 44054, 45036, 46018, 47000, 47982, 48964, 49947, 50929, 51911, 52893, 53875, 54857, 55839, 56821, 57803, 58786, 59768, 60750, 61732, 62714, 63696, 64678, 65660, 66642, 67625, 68607, 69589, 70571, 71553, 72535, 73517, 74499, 75481, 76463, 77446] - 攻击次数3 = 1 - CD = 25 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - self.CD *= 0.8 - - -class 技能18(职业主动技能): - 名称 = '追命索魂丝' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [0,27805, 30626, 33447, 36268, 39089, 41910, 44731, 47552, 50372, 53193, 56014, 58835, 61656, 64477, 67298, 70119, 72939, 75760, 78581, 81402, 84223, 87044, 89865, 92686, 95507, 98327, 101148, 103969, 106790, 109611, 112432, 115253, 118074, 120895, 123715, 126536, 129357, 132178, 134999, 137820, 140641, 143462, 146282, 149103, 151924, 154745, 157566, 160387, 163208, 166029, 168850, 171670, 174491, 177312, 180133, 182954, 185775, 188596, 191417, 194237, 197058, 199879, 202700, 205521, 208342, 211163, 213984, 216805, 219625, 222446] - data1 = [0,11916, 13125, 14334, 15543, 16752, 17961, 19170, 20379, 21588, 22797, 24006, 25215, 26424, 27633, 28842, 30051, 31259, 32468, 33677, 34886, 36095, 37304, 38513, 39722, 40931, 42140, 43349, 44558, 45767, 46976, 48185, 49394, 50603, 51812, 53021, 54230, 55439, 56647, 57856, 59065, 60274, 61483, 62692, 63901, 65110, 66319, 67528, 68737, 69946, 71155, 72364, 73573, 74782, 75991, 77200, 78409, 79618, 80826, 82035, 83244, 84453, 85662, 86871, 88080, 89289, 90498, 91707, 92916, 94125, 95334] - 攻击次数2 = 1 - # 基础 = 37476.13847/1.5 + 16060.55728/1.5 - # 成长 = 4231.32564/1.5 + 1813.414016/1.5 - CD = 50 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - - -class 技能19(被动技能): - 名称 = '无情夜行' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['沉寂之狱','黑曜真刃·破晓','秘术·雨夜终曲'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.9 - -class 技能20(职业主动技能): - 名称 = '秘术·曜夜斩' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [0,61301, 67520, 73740, 79959, 86178, 92397, 98616, 104835, 111054, 117273, 123492, 129711, 135930, 142149, 148368, 154587, 160806, 167025, 173244, 179463, 185682, 191901, 198120, 204339, 210558, 216777, 222997, 229216, 235435, 241654, 247873, 254092, 260311, 266530, 272749, 278968, 285187, 291406, 297625, 303844, 310063, 316282, 322501, 328720, 334939, 341158, 347377, 353596, 359815, 366034, 372253, 378472, 384692, 390911, 397130, 403349, 409568, 415787, 422006, 428225, 434444, 440663, 446882, 453101, 459320, 465539, 471758, 477977, 484196, 490415] - # 基础 = 55081.88836 - # 成长 = 6219.068581 - CD = 40 - 是否有护石 = 1 - 是否装备护石 = 0 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - self.是否装备护石 = 1 - - - -class 技能21(职业主动技能): - 名称 = '悬丝风暴' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [0,8451, 9308, 10165, 11023, 11880, 12737, 13595, 14452, 15309, 16167, 17024, 17882, 18739, 19596, 20454, 21311, 22168, 23026, 23883, 24740, 25598, 26455, 27313, 28170, 29027, 29885, 30742, 31599, 32457, 33314, 34171, 35029, 35886, 36743, 37601, 38458, 39316, 40173, 41030, 41888, 42745, 43602, 44460, 45317, 46174, 47032, 47889, 48746, 49604, 50461, 51319, 52176, 53033, 53891, 54748, 55605, 56463, 57320, 58177, 59035, 59892, 60749, 61607, 62464, 63322, 64179, 65036, 65894, 66751, 67608] - data1 = [0,12676, 13962, 15248, 16534, 17820, 19106, 20392, 21678, 22964, 24251, 25537, 26823, 28109, 29395, 30681, 31967, 33253, 34539, 35825, 37111, 38397, 39683, 40969, 42255, 43541, 44827, 46113, 47399, 48685, 49971, 51257, 52543, 53829, 55115, 56401, 57688, 58974, 60260, 61546, 62832, 64118, 65404, 66690, 67976, 69262, 70548, 71834, 73120, 74406, 75692, 76978, 78264, 79550, 80836, 82122, 83408, 84694, 85980, 87266, 88552, 89838, 91124, 92411, 93697, 94983, 96269, 97555, 98841, 100127, 101413] - 攻击次数2 = 1 - data2 = [0,23335, 25703, 28070, 30438, 32805, 35172, 37540, 39907, 42275, 44642, 47009, 49377, 51744, 54112, 56479, 58846, 61214, 63581, 65949, 68316, 70683, 73051, 75418, 77786, 80153, 82520, 84888, 87255, 89623, 91990, 94358, 96725, 99092, 101460, 103827, 106195, 108562, 110929, 113297, 115664, 118032, 120399, 122766, 125134, 127501, 129869, 132236, 134603, 136971, 139338, 141706, 144073, 146440, 148808, 151175, 153543, 155910, 158277, 160645, 163012, 165380, 167747, 170114, 172482, 174849, 177217, 179584, 181952, 184319, 186686] - 攻击次数3 = 1 - data3 = [0,2428, 2674, 2920, 3167, 3413, 3659, 3906, 4152, 4398, 4645, 4891, 5137, 5384, 5630, 5876, 6123, 6369, 6616, 6862, 7108, 7355, 7601, 7847, 8094, 8340, 8586, 8833, 9079, 9325, 9572, 9818, 10064, 10311, 10557, 10803, 11050, 11296, 11542, 11789, 12035, 12281, 12528, 12774, 13020, 13267, 13513, 13759, 14006, 14252, 14498, 14745, 14991, 15237, 15484, 15730, 15976, 16223, 16469, 16715, 16962, 17208, 17455, 17701, 17947, 18194, 18440, 18686, 18933, 19179, 19425] - 攻击次数4 = 14 - # 基础 = 7593.668262 + 11389.89633 + 20967.60766 + 2181.706539*14 - # 成长 = 857.3365231 + 1286.08453 + 2367.416268 + 246.3317384*14 - CD = 50 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.29 - self.CD *= 0.9 - - -class 技能22(职业主动技能): - 名称 = '黑曜真刃·破晓' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data0 = [0, 58618, 72210, 85803, 99395, 112988, 126580, 140173, 153766, 167358, 180951, 194543, 208136, 221729, 235321, 248914, 262506, 276099, 289692, 303284, 316877, 330469, 344062, 357654, 371247, 384840, 398432, 412025, 425617, 439210, 452803, 466395, 479988, 493580, 507173, 520765, 534358, 547951, 561543, 575136, 588728, 602321, 615914, 629506, 643099, 656691, 670284, 683877, 697469, 711062, 724654, 738247, 751839, 765432, 779025, 792617, 806210, 819802, 833395, 846988, 860580, 874173, 887765, 901358, 914951, 928543, 942136, 955728, 969321, 982913, 996506] - # 基础 = 45028.23 - # 成长 = 13591.962 - 攻击次数 = 3 - CD = 180 - - -class 技能23(被动技能): - 名称 = '夜色杀意' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能24(职业主动技能): - 名称 = '绚烂之舞' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - # 基础 = 11663.94258 + 4081.952153*10 + 17495.4067 + 46657.16746 - # 成长 = 1317.014354 + 461.0143541*10 + 1975.598086 + 5267.808612 - data0 = [0, 12981, 14298, 15615, 16932, 18249, 19566, 20882, 22199, 23516, 24833, 26150, 27467, 28784, 30101, 31418, 32735, 34052, 35369, 36686, 38003, 39320, 40637, 41954, 43270, 44587, 45904, 47221, 48538, 49855, 51172, 52489, 53806, 55123, 56440, 57757, 59074, 60391, 61708, 63025, 64342, 65659, 66975, 68292, 69609, 70926, 72243, 73560, 74877, 76194, 77511, 78828, 80145, 81462, 82779, 84096, 85413, 86730, 88047, 89363, 90680, 91997, 93314, 94631, 95948, 97265, 98582, 99899, 101216, 102533, 103850] - data1 = [0, 4543, 5004, 5465, 5926, 6387, 6848, 7309, 7769, 8230, 8691, 9152, 9613, 10074, 10535, 10996, 11457, 11918, 12379, 12840, 13301, 13762, 14222, 14683, 15144, 15605, 16066, 16527, 16988, 17449, 17910, 18371, 18832, 19293, 19754, 20215, 20676, 21136, 21597, 22058, 22519, 22980, 23441, 23902, 24363, 24824, 25285, 25746, 26207, 26668, 27129, 27589, 28050, 28511, 28972, 29433, 29894, 30355, 30816, 31277, 31738, 32199, 32660, 33121, 33582, 34042, 34503, 34964, 35425, 35886, 36347] - 攻击次数2 = 10 - data2 = [0, 19471, 21447, 23422, 25398, 27373, 29349, 31324, 33299, 35275, 37250, 39226, 41201, 43176, 45152, 47127, 49103, 51078, 53053, 55029, 57004, 58980, 60955, 62931, 64906, 66881, 68857, 70832, 72808, 74783, 76758, 78734, 80709, 82685, 84660, 86636, 88611, 90586, 92562, 94537, 96513, 98488, 100463, 102439, 104414, 106390, 108365, 110341, 112316, 114291, 116267, 118242, 120218, 122193, 124168, 126144, 128119, 130095, 132070, 134045, 136021, 137996, 139972, 141947, 143923, 145898, 147873, 149849, 151824, 153800, 155775] - 攻击次数3 = 1 - data3 = [0, 51925, 57192, 62460, 67728, 72996, 78264, 83531, 88799, 94067, 99335, 104602, 109870, 115138, 120406, 125673, 130941, 136209, 141477, 146745, 152012, 157280, 162548, 167816, 173083, 178351, 183619, 188887, 194155, 199422, 204690, 209958, 215226, 220493, 225761, 231029, 236297, 241565, 246832, 252100, 257368, 262636, 267903, 273171, 278439, 283707, 288974, 294242, 299510, 304778, 310046, 315313, 320581, 325849, 331117, 336384, 341652, 346920, 352188, 357455, 362723, 367991, 373259, 378527, 383794, 389062, 394330, 399598, 404865, 410133, 415401] - 攻击次数4 = 1 - CD = 60.0 - -class 技能25(职业主动技能): - 名称 = '秘术·雨夜终曲' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - # 对白牙 - data0 = [0, 46585, 57387, 68189, 78992, 89794, 100597, 111399, 122201, 133004, 143806, 154608, 165411, 176213, 187015, 197818, 208620, 219423, 230225, 241027, 251830, 262632, 273434, 284237, 295039, 305842, 316644, 327446, 338249, 349051, 359853, 370656, 381458, 392260, 403063, 413865, 424668, 435470, 446272, 457075, 467877, 478679, 489482, 500284, 511086, 521889, 532691, 543494, 554296, 565098, 575901, 586703, 597506, 608308, 619110, 629913, 640715, 651517, 662320, 673122, 683924, 694727, 705529, 716332, 727134, 737936, 748739, 759541, 770343, 781146, 791948] - data1 = [0, 116463, 143468, 170474, 197480, 224486, 251492, 278498, 305504, 332510, 359516, 386522, 413528, 440534, 467539, 494545, 521551, 548557, 575563, 602569, 629575, 656581, 683587, 710593, 737599, 764605, 791610, 818616, 845622, 872628, 899634, 926640, 953646, 980652, 1007658, 1034664, 1061670, 1088676, 1115681, 1142687, 1169693, 1196699, 1223705, 1250711, 1277717, 1304723, 1331729, 1358735, 1385741, 1412747, 1439752, 1466759, 1493764, 1520770, 1547776, 1574782, 1601788, 1628794, 1655800, 1682806, 1709812, 1736818, 1763824, 1790829, 1817835, 1844841, 1871847, 1898853, 1925859, 1952865, 1979871] - 攻击次数2 = 1 - # "2": "[163048, 200856, 238664, 276473, 314281, 352089, 389897, 427706, 465514, 503322, 541131, 578939, 616747, 654555, 692364, 730172, 767980, 805789, 843597, 881405, 919213, 957022, 994830, 1032638, 1070447, 1108255, 1146063, 1183871, 1221680, 1259488, 1297296, 1335105, 1372913, 1410721, 1448529, 1486338, 1524146, 1561954, 1599763, 1637571, 1675379, 1713188, 1750996, 1788804, 1826612, 1864421, 1902229, 1940037, 1977845, 2015654, 2053462, 2091270, 2129079, 2166887, 2204695, 2242504, 2280312, 2318120, 2355928, 2393737, 2431545, 2469353, 2507161, 2544970, 2582778, 2620586, 2658395, 2696203, 2734011, 2771820] - data2 = [0, 302803, 373019, 443234, 513449, 583665, 653880, 724096, 794311, 864526, 934742, 1004957, 1075173, 1145388, 1215603, 1285819, 1356034, 1426249, 1496465, 1566680, 1636896, 1707111, 1777326, 1847542, 1917757, 1987972, 2058188, 2128403, 2198619, 2268834, 2339049, 2409265, 2479480, 2549696, 2619911, 2690127, 2760342, 2830557, 2900773, 2970988, 3041203, 3111419, 3181634, 3251849, 3322065, 3392281, 3462496, 3532711, 3602926, 3673142, 3743357, 3813573, 3883788, 3954003, 4024219, 4094434, 4164650, 4234865, 4305080, 4375296, 4445511, 4515726, 4585942, 4656157, 4726372, 4796588, 4866804, 4937019, 5007234, 5077450, 5147665] - 攻击次数3 = 1 - # 对白牙 - # 基础 = 35782.96651 + 89457.89474 + 232587.0813 - # 成长 = 10802.00957 + 27005.07177 + 70215.98086 - 攻击次数 = 1 - CD = 290.0 - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能26(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['鬼缚钉'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -技能一觉序号 = 0 -技能二觉序号 = 0 -技能三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 技能一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 技能二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 技能三觉序号 = 技能序号[i.名称] - -技能护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 技能护石选项.append(i.名称) - -极诣·刃影符文选项 = ['无', '回旋勾斩', '封喉丝', '利刃旋风', '白牙落斩','疾刃之影', '薄暮利刃', '黑夜之花', '回旋十字斩', '夜之风', '秘术·心斩', '瞬影碎魂击', '追命索魂丝', '秘术·曜夜斩', '悬丝风暴'] - - -class 极诣·刃影角色属性(角色属性): - 实际名称 = '极诣·刃影' - 角色 = '鬼剑士(女)' - 职业 = '刃影' - - 武器选项 = ['太刀'] - - 类型选择 = ['物理固伤'] - - 类型 = '物理固伤' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2 - - 回旋十字斩形态开关 = 0 - 秘术曜夜斩收刀 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - if self.技能栏[self.技能序号['回旋十字斩']].是否装备护石 == 1: - if self.回旋十字斩形态开关 == 0: - self.技能栏[self.技能序号['回旋十字斩']].攻击次数2 = 0 - else: - self.技能栏[self.技能序号['回旋十字斩']].攻击次数 = 0 - if self.技能栏[self.技能序号['秘术·曜夜斩']].是否装备护石 == 1 and self.秘术曜夜斩收刀 == 1: - self.技能栏[self.技能序号['秘术·曜夜斩']].倍率 *= 1.05 - - - -class 极诣·刃影(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·刃影角色属性() - self.角色属性A = 极诣·刃影角色属性() - self.角色属性B = 极诣·刃影角色属性() - self.一觉序号 = 技能一觉序号 - self.二觉序号 = 技能二觉序号 - self.三觉序号 = 技能三觉序号 - self.护石选项 = deepcopy(技能护石选项) - self.符文选项 = deepcopy(极诣·刃影符文选项) - - def 界面(self): - - super().界面() - self.回旋十字斩形态开关 = QCheckBox('回旋十字斩空中施放', self.main_frame2) - self.回旋十字斩形态开关.resize(150, 20) - self.回旋十字斩形态开关.move(319, 360) - self.回旋十字斩形态开关.setStyleSheet(复选框样式) - self.回旋十字斩形态开关.setChecked(False) - - self.职业存档.append(('回旋十字斩形态开关', self.回旋十字斩形态开关, 0)) - - self.秘术曜夜斩收刀 = QCheckBox('秘术·曜夜斩收刀', self.main_frame2) - self.秘术曜夜斩收刀.resize(150, 20) - self.秘术曜夜斩收刀.move(319, 380) - self.秘术曜夜斩收刀.setStyleSheet(复选框样式) - self.秘术曜夜斩收刀.setChecked(False) - - self.职业存档.append(('秘术·曜夜斩收刀', self.秘术曜夜斩收刀, 0)) - - - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.回旋十字斩形态开关.isChecked(): - 属性.回旋十字斩形态开关 = 1 - if self.秘术曜夜斩收刀.isChecked(): - 属性.秘术曜夜斩收刀 = 1 diff --git a/Characters/极诣·剑影.py b/Characters/极诣·剑影.py deleted file mode 100644 index 846a2a54..00000000 --- a/Characters/极诣·剑影.py +++ /dev/null @@ -1,723 +0,0 @@ -from PublicReference.carry.base import * - -# 2020年7月22日 数组 - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '太刀': -# return round(self.CD / self.恢复 * 0.95, 1) - - -class 技能0(主动技能): - 名称 = '鬼步' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data1 = [int(i*1.173)for i in [0, 636, 701, 766, 830, 895, 959, 1024, 1089, 1153, 1218, 1282, 1347, 1412, 1476, 1541, 1606, 1670, 1735, 1799, 1864, 1929, 1993, 2058, 2122, 2187, 2252, 2316, 2381, 2445, 2510, 2575, 2639, 2704, 2768, 2833, - 2898, 2962, 3027, 3092, 3156, 3221, 3285, 3350, 3415, 3479, 3544, 3608, 3673, 3738, 3802, 3867, 3931, 3996, 4061, 4125, 4190, 4255, 4319, 4384, 4448, 4513, 4578, 4642, 4707, 4771, 4836, 4901, 4965, 5030, 5094]] - 攻击次数2 = 3 - #倍率 = 1 - CD = 5.0 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(主动技能): - 名称 = '鬼连斩' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data1 = [int(i*1.173)for i in [0, 516, 568, 621, 673, 726, 778, 830, 883, 935, 988, 1040, 1092, 1145, 1197, 1250, 1302, 1354, 1407, 1459, 1512, 1564, 1616, 1669, 1721, 1774, 1826, 1878, 1931, 1983, 2036, 2088, 2140, 2193, 2245, 2298, - 2350, 2402, 2455, 2507, 2560, 2612, 2664, 2717, 2769, 2822, 2874, 2926, 2979, 3031, 3084, 3136, 3188, 3241, 3293, 3346, 3398, 3450, 3503, 3555, 3608, 3660, 3712, 3765, 3817, 3870, 3922, 3974, 4027, 4079, 4132]] - #攻击次数2 = 1 - data2 = [int(i*1.173)for i in [0, 619, 682, 745, 808, 871, 934, 997, 1059, 1122, 1185, 1248, 1311, 1374, 1437, 1500, 1563, 1625, 1688, 1751, 1814, 1877, 1940, 2003, 2066, 2128, 2191, 2254, 2317, 2380, 2443, 2506, 2569, 2631, 2694, 2757, - 2820, 2883, 2946, 3009, 3072, 3135, 3197, 3260, 3323, 3386, 3449, 3512, 3575, 3638, 3700, 3763, 3826, 3889, 3952, 4015, 4078, 4141, 4203, 4266, 4329, 4392, 4455, 4518, 4581, 4644, 4707, 4769, 4832, 4895, 4958]] - #攻击次数3 = 1 - data3 = [int(i*1.173)for i in [0, 929, 1024, 1118, 1212, 1307, 1401, 1495, 1589, 1684, 1778, 1872, 1967, 2061, 2155, 2250, 2344, 2438, 2533, 2627, 2721, 2816, 2910, 3004, 3099, 3193, 3287, 3382, 3476, 3570, 3664, 3759, 3853, 3947, 4042, - 4136, 4230, 4325, 4419, 4513, 4608, 4702, 4796, 4891, 4985, 5079, 5174, 5268, 5362, 5457, 5551, 5645, 5740, 5834, 5928, 6022, 6117, 6211, 6305, 6400, 6494, 6588, 6683, 6777, 6871, 6966, 7060, 7154, 7249, 7343, 7437]] - #攻击次数4 = 1 - data4 = [int(i*1.173)for i in [0, 790, 869, 949, 1030, 1110, 1190, 1269, 1350, 1430, 1510, 1591, 1671, 1750, 1831, 1911, 1991, 2071, 2151, 2231, 2311, 2392, 2472, 2552, 2632, 2712, 2792, 2872, 2953, 3032, 3112, 3193, 3273, 3353, 3434, 3513, - 3593, 3673, 3754, 3834, 3913, 3994, 4074, 4154, 4235, 4314, 4394, 4474, 4555, 4635, 4715, 4795, 4875, 4955, 5036, 5116, 5195, 5275, 5356, 5436, 5516, 5597, 5676, 5756, 5837, 5917, 5997, 6076, 6157, 6237, 6317]] - 攻击次数5 = 3 - CD = 5.0 - TP成长 = 0.1 - TP上限 = 5 - 被动开关 = 0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] + self.data3[self.等级] + self.data4[self.等级] * self.攻击次数5 * self.被动开关) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(被动技能): - 名称 = '剑影太刀精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.0 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能3(主动技能): - 名称 = '幻鬼:一闪' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data1 = [int(i*1.173)for i in [0, 2131, 2348, 2564, 2780, 2997, 3213, 3429, 3645, 3862, 4078, 4294, 4511, 4727, 4943, 5159, 5376, 5592, 5808, 6024, 6241, 6457, 6673, 6890, 7106, 7322, 7538, 7755, 7971, 8187, 8404, 8620, 8836, 9052, 9269, 9485, 9701, 9918, - 10134, 10350, 10566, 10783, 10999, 11215, 11431, 11648, 11864, 12080, 12297, 12513, 12729, 12945, 13162, 13378, 13594, 13811, 14027, 14243, 14459, 14676, 14892, 15108, 15325, 15541, 15757, 15973, 16190, 16406, 16622, 16839, 17055]] - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = '幻鬼之力' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.02 * self.等级, 5) - - -class 技能5(主动技能): - 名称 = '鬼连牙' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data1 = [int(i*1.173)for i in [0, 3862, 4254, 4646, 5038, 5430, 5822, 6214, 6605, 6997, 7389, 7781, 8173, 8565, 8957, 9349, 9741, 10132, 10524, 10916, 11308, 11700, 12092, 12484, 12876, 13267, 13659, 14051, 14443, 14835, 15227, 15619, 16011, 16402, 16794, 17186, 17578, - 17970, 18362, 18754, 19146, 19537, 19929, 20321, 20713, 21105, 21497, 21889, 22281, 22673, 23064, 23456, 23848, 24240, 24632, 25024, 25416, 25808, 26199, 26591, 26983, 27375, 27767, 28159, 28551, 28943, 29334, 29726, 30118, 30510, 30902]] - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '幻鬼:连斩' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data1 = [int(i*1.162)for i in [0, 527, 580, 634, 687, 741, 794, 848, 901, 955, 1008, 1062, 1115, 1169, 1222, 1276, 1329, 1383, 1436, 1490, 1543, 1597, 1650, 1704, 1757, 1811, 1864, 1918, 1971, 2025, 2078, 2132, 2185, 2239, 2292, 2346, - 2399, 2453, 2506, 2560, 2613, 2667, 2720, 2774, 2827, 2881, 2934, 2988, 3041, 3095, 3148, 3202, 3255, 3309, 3362, 3416, 3469, 3523, 3576, 3630, 3683, 3737, 3790, 3844, 3897, 3951, 4004, 4058, 4111, 4165, 4218]] - data2 = [int(i*1.162)for i in [0, 703, 774, 845, 917, 988, 1059, 1131, 1202, 1273, 1345, 1416, 1487, 1559, 1630, 1701, 1773, 1844, 1915, 1987, 2058, 2129, 2201, 2272, 2343, 2415, 2486, 2557, 2629, 2700, 2771, 2842, 2914, 2985, 3056, 3128, - 3199, 3270, 3342, 3413, 3484, 3556, 3627, 3698, 3770, 3841, 3912, 3984, 4055, 4126, 4198, 4269, 4340, 4412, 4483, 4554, 4626, 4697, 4768, 4840, 4911, 4982, 5054, 5125, 5196, 5268, 5339, 5410, 5482, 5553, 5624]] - data3 = [int(i*1.162)for i in [0, 878, 968, 1057, 1146, 1235, 1324, 1413, 1503, 1592, 1681, 1770, 1859, 1948, 2037, 2127, 2216, 2305, 2394, 2483, 2572, 2662, 2751, 2840, 2929, 3018, 3107, 3197, 3286, 3375, 3464, 3553, 3642, 3732, 3821, - 3910, 3999, 4088, 4177, 4267, 4356, 4445, 4534, 4623, 4712, 4802, 4891, 4980, 5069, 5158, 5247, 5336, 5426, 5515, 5604, 5693, 5782, 5871, 5961, 6050, 6139, 6228, 6317, 6406, 6496, 6585, 6674, 6763, 6852, 6941, 7031]] - data4 = [int(i*1.162)for i in [0, 1406, 1548, 1691, 1834, 1976, 2119, 2262, 2404, 2547, 2690, 2832, 2975, 3118, 3260, 3403, 3546, 3688, 3831, 3974, 4116, 4259, 4402, 4544, 4687, 4830, 4972, 5115, 5258, 5400, 5543, 5685, 5828, 5971, 6113, 6256, - 6399, 6541, 6684, 6827, 6969, 7112, 7255, 7397, 7540, 7683, 7825, 7968, 8111, 8253, 8396, 8539, 8681, 8824, 8967, 9109, 9252, 9395, 9537, 9680, 9823, 9965, 10108, 10251, 10393, 10536, 10679, 10821, 10964, 11107, 11249]] - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] + self.data3[self.等级] + self.data4[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '共鸣:离魂一闪' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data1 = [int(i*1.173)for i in [0, 1626, 1791, 1956, 2121, 2286, 2451, 2616, 2781, 2946, 3111, 3276, 3441, 3606, 3771, 3936, 4101, 4266, 4431, 4596, 4761, 4926, 5091, 5256, 5421, 5586, 5750, 5915, 6080, 6245, 6410, 6575, 6740, 6905, 7070, 7235, 7400, - 7565, 7730, 7895, 8060, 8225, 8390, 8555, 8720, 8885, 9050, 9215, 9380, 9545, 9710, 9875, 10040, 10205, 10370, 10535, 10700, 10865, 11030, 11195, 11360, 11525, 11690, 11855, 12020, 12185, 12350, 12515, 12680, 12845, 13010]] - data2 = [int(i*1.173)for i in [0, 3794, 4179, 4564, 4949, 5334, 5719, 6104, 6489, 6874, 7259, 7644, 8029, 8414, 8799, 9184, 9569, 9954, 10339, 10724, 11109, 11494, 11879, 12264, 12649, 13034, 13418, 13803, 14188, 14573, 14958, 15343, 15728, 16113, 16498, 16883, 17268, - 17653, 18038, 18423, 18808, 19193, 19578, 19963, 20348, 20733, 21118, 21503, 21888, 22273, 22658, 23043, 23428, 23813, 24198, 24583, 24968, 25353, 25738, 26123, 26507, 26892, 27277, 27662, 28047, 28432, 28817, 29202, 29587, 29972, 30357]] - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '魂破斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.173)for i in [0, 6213, 6843, 7473, 8104, 8734, 9364, 9995, 10625, 11255, 11886, 12516, 13146, 13777, 14407, 15037, 15668, 16298, 16928, 17559, 18189, 18819, 19450, 20080, 20710, 21341, 21971, 22601, 23232, 23862, 24492, 25123, 25753, 26383, 27014, 27644, - 28274, 28905, 29535, 30165, 30796, 31426, 32056, 32687, 33317, 33947, 34578, 35208, 35838, 36469, 37099, 37729, 38360, 38990, 39620, 40251, 40881, 41511, 42142, 42772, 43402, 44033, 44663, 45293, 45924, 46554, 47184, 47815, 48445, 49075, 49706]] - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - self.CD *= 0.89 - elif x == 1: - self.倍率 *= 1.24 - self.CD *= 0.89 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '共鸣:鬼灵斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.173)for i in [0, 6957, 7663, 8369, 9075, 9781, 10487, 11193, 11898, 12604, 13310, 14016, 14722, 15428, 16134, 16840, 17545, 18251, 18957, 19663, 20369, 21075, 21781, 22487, 23192, 23898, 24604, 25310, 26016, 26722, 27428, 28133, 28839, 29545, 30251, 30957, - 31663, 32369, 33075, 33780, 34486, 35192, 35898, 36604, 37310, 38016, 38722, 39427, 40133, 40839, 41545, 42251, 42957, 43663, 44369, 45074, 45780, 46486, 47192, 47898, 48604, 49310, 50015, 50721, 51427, 52133, 52839, 53545, 54251, 54957, 55662]] - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '幻鬼:回天' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data1 = [int(i*1.173)for i in [0, 3208, 3534, 3859, 4185, 4510, 4836, 5161, 5487, 5812, 6138, 6463, 6789, 7114, 7440, 7765, 8091, 8416, 8742, 9067, 9393, 9718, 10044, 10369, 10695, 11020, 11346, 11671, 11997, 12322, 12648, 12973, 13299, 13624, 13950, 14275, 14601, - 14926, 15252, 15577, 15903, 16228, 16554, 16879, 17205, 17530, 17856, 18181, 18507, 18832, 19158, 19483, 19809, 20134, 20460, 20785, 21111, 21436, 21762, 22087, 22413, 22738, 23064, 23389, 23715, 24040, 24366, 24691, 25017, 25342, 25668]] - data2 = [int(i*1.173)for i in [0, 4812, 5301, 5789, 6277, 6765, 7254, 7742, 8230, 8718, 9207, 9695, 10183, 10671, 11160, 11648, 12136, 12624, 13113, 13601, 14089, 14577, 15066, 15554, 16042, 16530, 17019, 17507, 17995, 18484, 18972, 19460, 19948, 20437, 20925, 21413, - 21901, 22390, 22878, 23366, 23854, 24343, 24831, 25319, 25807, 26296, 26784, 27272, 27760, 28249, 28737, 29225, 29713, 30202, 30690, 31178, 31666, 32155, 32643, 33131, 33619, 34108, 34596, 35084, 35573, 36061, 36549, 37037, 37526, 38014, 38502]] - 攻击次数3 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数3 = 1.40 - elif x == 1: - self.攻击次数3 = 1.43 # 待测试 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '冥灵断魂斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data1 = [int(i*1.173)for i in [0, 18941, 20863, 22784, 24706, 26628, 28549, 30471, 32393, 34314, 36236, 38157, 40079, 42001, 43922, 45844, 47766, 49687, 51609, 53530, 55452, 57374, 59295, 61217, 63139, 65060, 66982, 68903, 70825, 72747, 74668, 76590, 78512, 80433, 82355, 84276, 86198, - 88120, 90041, 91963, 93884, 95806, 97728, 99649, 101571, 103493, 105414, 107336, 109257, 111179, 113101, 115022, 116944, 118866, 120787, 122709, 124630, 126552, 128474, 130395, 132317, 134239, 136160, 138082, 140003, 141925, 143847, 145768, 147690, 149612, 151533]] - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - elif x == 1: - self.倍率 *= 1.23 - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(主动技能): - 名称 = '冥夜鬼天杀' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.173)for i in [0, 12680, 15621, 18561, 21502, 24442, 27382, 30323, 33263, 36204, 39144, 42085, 45025, 47966, 50906, 53846, 56787, 59727, 62668, 65608, 68549, 71489, 74430, 77370, 80310, 83251, 86191, 89132, 92072, 95013, 97953, 100894, 103834, 106774, 109715, 112655, 115596, - 118536, 121477, 124417, 127358, 130298, 133239, 136179, 139119, 142060, 145000, 147941, 150881, 153822, 156762, 159703, 162643, 165583, 168524, 171464, 174405, 177345, 180286, 183226, 186167, 189107, 192047, 194988, 197928, 200869, 203809, 206750, 209690, 212631, 215571]] - 攻击次数2 = 4 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能13(被动技能): - 名称 = '鬼夜' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.035 + 0.02 * self.等级, 5) - - -class 技能14(主动技能): - 名称 = '幻鬼:奈落' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data1 = [int(i*1.173)for i in [0, 10573, 11645, 12718, 13791, 14863, 15936, 17009, 18081, 19154, 20227, 21299, 22372, 23444, 24517, 25590, 26662, 27735, 28808, 29880, 30953, 32026, 33098, 34171, 35244, 36316, 37389, 38461, 39534, 40607, 41679, 42752, 43825, 44897, 45970, - 47043, 48115, 49188, 50261, 51333, 52406, 53478, 54551, 55624, 56696, 57769, 58842, 59914, 60987, 62060, 63132, 64205, 65278, 66350, 67423, 68495, 69568, 70641, 71713, 72786, 73859, 74931, 76004, 77077, 78149, 79222, 80295, 81367, 82440, 83513, 84585]] - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.13 - self.CD *= 0.85 - elif x == 1: - self.倍率 *= 1.22 - self.CD *= 0.85 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能15(主动技能): - 名称 = '共鸣:聚渊' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*1.173)for i in [0, 2628, 2895, 3162, 3429, 3695, 3962, 4229, 4495, 4762, 5029, 5295, 5562, 5829, 6096, 6362, 6629, 6896, 7162, 7429, 7696, 7962, 8229, 8496, 8763, 9029, 9296, 9563, 9829, 10096, 10363, 10629, 10896, 11163, 11430, 11696, 11963, - 12230, 12496, 12763, 13030, 13296, 13563, 13830, 14097, 14363, 14630, 14897, 15163, 15430, 15697, 15963, 16230, 16497, 16764, 17030, 17297, 17564, 17830, 18097, 18364, 18631, 18897, 19164, 19431, 19697, 19964, 20231, 20497, 20764, 21031]] - data2 = [int(i*1.173)for i in [0, 10515, 11582, 12649, 13716, 14782, 15849, 16916, 17983, 19050, 20116, 21183, 22250, 23317, 24384, 25450, 26517, 27584, 28651, 29718, 30784, 31851, 32918, 33985, 35052, 36119, 37185, 38252, 39319, 40386, 41453, 42519, 43586, 44653, 45720, - 46787, 47853, 48920, 49987, 51054, 52121, 53187, 54254, 55321, 56388, 57455, 58521, 59588, 60655, 61722, 62789, 63855, 64922, 65989, 67056, 68123, 69190, 70256, 71323, 72390, 73457, 74524, 75590, 76657, 77724, 78791, 79858, 80924, 81991, 83058, 84125]] - data3 = [int(i*1.173)for i in [0, 13144, 14478, 15811, 17145, 18478, 19812, 21145, 22479, 23812, 25146, 26479, 27813, 29146, 30480, 31813, 33147, 34480, 35814, 37147, 38481, 39814, 41148, 42481, 43815, 45148, 46482, 47815, 49149, 50482, 51816, 53149, 54483, 55816, 57150, 58483, - 59817, 61150, 62484, 63817, 65151, 66484, 67818, 69151, 70485, 71818, 73152, 74485, 75819, 77152, 78486, 79819, 81153, 82486, 83820, 85154, 86487, 87821, 89154, 90488, 91821, 93155, 94488, 95822, 97155, 98489, 99822, 101156, 102489, 103823, 105156]] - 攻击次数4 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数4 = 1.23 * 1.20 - elif x == 1: - self.攻击次数4 = 1.36 * 1.20 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(主动技能): - 名称 = '幻鬼:大回天' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data1 = [int(i*1.173)for i in [0, 12620, 13900, 15180, 16461, 17741, 19021, 20302, 21582, 22862, 24143, 25423, 26703, 27984, 29264, 30544, 31825, 33105, 34385, 35666, 36946, 38226, 39506, 40787, 42067, 43347, 44628, 45908, 47188, 48469, 49749, 51029, 52310, 53590, 54870, - 56151, 57431, 58711, 59992, 61272, 62552, 63833, 65113, 66393, 67674, 68954, 70234, 71514, 72795, 74075, 75355, 76636, 77916, 79196, 80477, 81757, 83037, 84318, 85598, 86878, 88159, 89439, 90719, 92000, 93280, 94560, 95841, 97121, 98401, 99681, 100962]] - 攻击次数2 = 3 - 倍率 = 1 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 = 1.36 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能17(被动技能): - 名称 = '鬼咲' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能18(主动技能): - 名称 = '裂魂乱舞' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data1 = [int(i*1.173)for i in [0, 2658, 2927, 3197, 3467, 3736, 4006, 4276, 4545, 4815, 5085, 5354, 5624, 5894, 6163, 6433, 6703, 6972, 7242, 7511, 7781, 8051, 8320, 8590, 8860, 9129, 9399, 9669, 9938, 10208, 10478, 10747, 11017, 11287, 11556, 11826, 12096, - 12365, 12635, 12905, 13174, 13444, 13714, 13983, 14253, 14523, 14792, 15062, 15332, 15601, 15871, 16141, 16410, 16680, 16950, 17219, 17489, 17759, 18028, 18298, 18568, 18837, 19107, 19377, 19646, 19916, 20186, 20455, 20725, 20995, 21264]] - 攻击次数2 = 1 - data2 = [int(i*1.173)for i in [0, 7974, 8783, 9592, 10401, 11210, 12019, 12828, 13637, 14446, 15255, 16064, 16873, 17682, 18491, 19300, 20109, 20918, 21727, 22535, 23344, 24153, 24962, 25771, 26580, 27389, 28198, 29007, 29816, 30625, 31434, 32243, 33052, 33861, 34670, 35479, - 36288, 37097, 37906, 38715, 39524, 40333, 41142, 41951, 42760, 43569, 44378, 45187, 45996, 46805, 47614, 48423, 49232, 50041, 50850, 51659, 52468, 53277, 54086, 54895, 55704, 56513, 57322, 58131, 58940, 59749, 60558, 61367, 62176, 62985, 63794]] - 攻击次数3 = 1 - data3 = [int(i*1.173)for i in [0, 10632, 11711, 12789, 13868, 14946, 16025, 17104, 18182, 19261, 20340, 21418, 22497, 23576, 24654, 25733, 26812, 27890, 28969, 30047, 31126, 32205, 33283, 34362, 35441, 36519, 37598, 38677, 39755, 40834, 41913, 42991, 44070, 45149, 46227, - 47306, 48384, 49463, 50542, 51620, 52699, 53778, 54856, 55935, 57014, 58092, 59171, 60250, 61328, 62407, 63485, 64564, 65643, 66721, 67800, 68879, 69957, 71036, 72115, 73193, 74272, 75351, 76429, 77508, 78587, 79665, 80744, 81822, 82901, 83980, 85058]] - 攻击次数4 = 1 - data4 = [int(i*1.173)for i in [0, 6645, 7319, 7993, 8667, 9341, 10015, 10690, 11364, 12038, 12712, 13386, 14060, 14735, 15409, 16083, 16757, 17431, 18105, 18779, 19454, 20128, 20802, 21476, 22150, 22824, 23499, 24173, 24847, 25521, 26195, 26869, 27543, 28218, 28892, 29566, - 30240, 30914, 31588, 32263, 32937, 33611, 34285, 34959, 35633, 36307, 36982, 37656, 38330, 39004, 39678, 40352, 41027, 41701, 42375, 43049, 43723, 44397, 45071, 45746, 46420, 47094, 47768, 48442, 49116, 49791, 50465, 51139, 51813, 52487, 53161]] - 攻击次数5 = 2 - 护石倍率1 = 1 - data5 = [int(i*1.173)for i in [0, 18606, 20494, 22381, 24269, 26157, 28044, 29932, 31820, 33707, 35595, 37482, 39370, 41258, 43145, 45033, 46921, 48808, 50696, 52583, 54471, 56359, 58246, 60134, 62022, 63909, 65797, 67684, 69572, 71460, 73347, 75235, 77123, 79010, 80898, 82786, 84673, - 86561, 88448, 90336, 92224, 94111, 95999, 97887, 99774, 101662, 103549, 105437, 107325, 109212, 111100, 112988, 114875, 116763, 118650, 120538, 122426, 124313, 126201, 128089, 129976, 131864, 133752, 135639, 137527, 139414, 141302, 143190, 145077, 146965, 148853]] - 攻击次数6 = 1 - 护石倍率2 = 1 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.攻击次数3 = 0 - self.攻击次数4 = 0 - self.护石倍率1 = 2.11 - self.护石倍率2 = 2.3 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4 + self.data4[self.等级] * self.攻击次数5 * self.护石倍率1 + self.data5[self.等级] * self.攻击次数6 * self.护石倍率2) * self.倍率 - - -class 技能19(主动技能): - 名称 = '鬼隐·夜奈落' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data1 = [int(i*1.173)for i in [0, 18411, 22680, 26949, 31218, 35488, 39757, 44026, 48296, 52565, 56834, 61103, 65373, 69642, 73911, 78180, 82450, 86719, 90988, 95257, 99527, 103796, 108065, 112334, 116604, 120873, 125142, 129411, 133681, 137950, 142219, 146488, 150758, 155027, 159296, 163566, 167835, - 172104, 176373, 180643, 184912, 189181, 193450, 197720, 201989, 206258, 210527, 214797, 219066, 223335, 227604, 231874, 236143, 240412, 244681, 248951, 253220, 257489, 261758, 266028, 270297, 274566, 278836, 283105, 287374, 291643, 295913, 300182, 304451, 308720, 312990]] - data2 = [int(i*1.173)for i in [0, 18411, 22680, 26949, 31218, 35488, 39757, 44026, 48296, 52565, 56834, 61103, 65373, 69642, 73911, 78180, 82450, 86719, 90988, 95257, 99527, 103796, 108065, 112334, 116604, 120873, 125142, 129411, 133681, 137950, 142219, 146488, 150758, 155027, 159296, 163566, 167835, - 172104, 176373, 180643, 184912, 189181, 193450, 197720, 201989, 206258, 210527, 214797, 219066, 223335, 227604, 231874, 236143, 240412, 244681, 248951, 253220, 257489, 261758, 266028, 270297, 274566, 278836, 283105, 287374, 291643, 295913, 300182, 304451, 308720, 312990]] - data3 = [int(i*1.173)for i in [0, 18411, 22680, 26949, 31218, 35488, 39757, 44026, 48296, 52565, 56834, 61103, 65373, 69642, 73911, 78180, 82450, 86719, 90988, 95257, 99527, 103796, 108065, 112334, 116604, 120873, 125142, 129411, 133681, 137950, 142219, 146488, 150758, 155027, 159296, 163566, 167835, - 172104, 176373, 180643, 184912, 189181, 193450, 197720, 201989, 206258, 210527, 214797, 219066, 223335, 227604, 231874, 236143, 240412, 244681, 248951, 253220, 257489, 261758, 266028, 270297, 274566, 278836, 283105, 287374, 291643, 295913, 300182, 304451, 308720, 312990]] - data4 = [int(i*1.173)for i in [0, 67507, 83161, 98815, 114469, 130123, 145777, 161431, 177085, 192739, 208393, 224047, 239701, 255355, 271009, 286662, 302316, 317970, 333624, 349278, 364932, 380586, 396240, 411894, 427548, 443202, 458856, 474510, 490164, 505818, 521472, 537126, 552780, 568434, 584088, 599742, - 615395, 631049, 646703, 662357, 678011, 693665, 709319, 724973, 740627, 756281, 771935, 787589, 803243, 818897, 834551, 850205, 865859, 881513, 897167, 912821, 928475, 944128, 959782, 975436, 991090, 1006744, 1022398, 1038052, 1053706, 1069360, 1085014, 1100668, 1116322, 1131976, 1147630]] - CD = 180.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] + self.data3[self.等级] + self.data4[self.等级]) * self.倍率 - - -class 技能20(被动技能): - 名称 = '睥睨万物' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = '无式·极影剑' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data1 = [int(i*1.198)for i in [0, 4853, 5345, 5838, 6330, 6822, 7315, 7807, 8299, 8792, 9284, 9777, 10269, 10761, 11254, 11746, 12238, 12731, 13223, 13716, 14208, 14700, 15193, 15685, 16177, 16670, 17162, 17655, 18147, 18639, 19132, 19624, 20116, 20609, 21101, 21593, - 22086, 22578, 23071, 23563, 24055, 24548, 25040, 25532, 26025, 26517, 27010, 27502, 27994, 28487, 28979, 29471, 29964, 30456, 30949, 31441, 31933, 32426, 32918, 33410, 33903, 34395, 34887, 35380, 35872, 36365, 36857, 37349, 37842, 38334, 38826]] - 攻击次数2 = 5 - data2 = [int(i*1.198)for i in [0, 4853, 5345, 5838, 6330, 6822, 7315, 7807, 8299, 8792, 9284, 9777, 10269, 10761, 11254, 11746, 12238, 12731, 13223, 13716, 14208, 14700, 15193, 15685, 16177, 16670, 17162, 17655, 18147, 18639, 19132, 19624, 20116, 20609, 21101, 21593, - 22086, 22578, 23071, 23563, 24055, 24548, 25040, 25532, 26025, 26517, 27010, 27502, 27994, 28487, 28979, 29471, 29964, 30456, 30949, 31441, 31933, 32426, 32918, 33410, 33903, 34395, 34887, 35380, 35872, 36365, 36857, 37349, 37842, 38334, 38826]] - 攻击次数3 = 5 - data3 = [int(i*1.198)for i in [0, 24266, 26728, 29190, 31652, 34114, 36576, 39037, 41499, 43961, 46423, 48885, 51347, 53809, 56270, 58732, 61194, 63656, 66118, 68580, 71042, 73503, 75965, 78427, 80889, 83351, 85813, 88275, 90736, 93198, 95660, 98122, 100584, 103046, 105508, 107969, 110431, - 112893, 115355, 117817, 120279, 122740, 125202, 127664, 130126, 132588, 135050, 137512, 139973, 142435, 144897, 147359, 149821, 152283, 154745, 157206, 159668, 162130, 164592, 167054, 169516, 171978, 174439, 176901, 179363, 181825, 184287, 186749, 189211, 191672, 194134]] - 攻击次数4 = 1 - data4 = [int(i*1.198)for i in [0, 24266, 26728, 29190, 31652, 34114, 36576, 39037, 41499, 43961, 46423, 48885, 51347, 53809, 56270, 58732, 61194, 63656, 66118, 68580, 71042, 73503, 75965, 78427, 80889, 83351, 85813, 88275, 90736, 93198, 95660, 98122, 100584, 103046, 105508, 107969, 110431, - 112893, 115355, 117817, 120279, 122740, 125202, 127664, 130126, 132588, 135050, 137512, 139973, 142435, 144897, 147359, 149821, 152283, 154745, 157206, 159668, 162130, 164592, 167054, 169516, 171978, 174439, 176901, 179363, 181825, 184287, 186749, 189211, 191672, 194134]] - 攻击次数5 = 1 - data5 = [int(i*1.198)for i in [0, 8166, 8994, 9823, 10651, 11479, 12308, 13136, 13965, 14793, 15622, 16450, 17279, 18107, 18936, 19764, 20592, 21421, 22249, 23078, 23906, 24735, 25563, 26392, 27220, 28048, 28877, 29705, 30534, 31362, 32191, 33019, 33848, 34676, 35505, 36333, - 37161, 37990, 38818, 39647, 40475, 41304, 42132, 42961, 43789, 44617, 45446, 46274, 47103, 47931, 48760, 49588, 50417, 51245, 52074, 52902, 53730, 54559, 55387, 56216, 57044, 57873, 58701, 59530, 60358, 61186, 62015, 62843, 63672, 64500, 65329]] - 攻击次数6 = 0 - data6 = [int(i*1.198)for i in [0, 40830, 44973, 49115, 53257, 57399, 61542, 65684, 69826, 73968, 78111, 82253, 86395, 90537, 94680, 98822, 102964, 107106, 111249, 115391, 119533, 123675, 127818, 131960, 136102, 140244, 144387, 148529, 152671, 156813, 160956, 165098, 169240, 173382, 177525, 181667, - 185809, 189951, 194094, 198236, 202378, 206520, 210663, 214805, 218947, 223089, 227232, 231374, 235516, 239658, 243801, 247943, 252085, 256227, 260370, 264512, 268654, 272796, 276939, 281081, 285223, 289365, 293508, 297650, 301792, 305934, 310077, 314219, 318361, 322503, 326646]] - 攻击次数7 = 0 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4 + self.data4[self.等级] * self.攻击次数5 + self.data5[self.等级] * self.攻击次数6 + self.data6[self.等级] * self.攻击次数7) * self.倍率 - - -class 技能22(主动技能): - 名称 = '灭魂极影剑·止煞' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data1 = [int(i*1.178)for i in [0, 19897, 24512, 29126, 33740, 38354, 42968, 47582, 52196, 56810, 61424, 66038, 70652, 75266, 79880, 84494, 89108, 93722, 98336, 102950, 107564, 112178, 116792, 121406, 126020, 130634, 135248, 139862, 144476, 149090, 153704, 158318, 162932, 167546, 172160, 176774, 181388, - 186002, 190616, 195231, 199845, 204459, 209073, 213687, 218301, 222915, 227529, 232143, 236757, 241371, 245985, 250599, 255213, 259827, 264441, 269055, 273669, 278283, 282897, 287511, 292125, 296739, 301353, 305967, 310581, 315195, 319809, 324423, 329037, 333651, 338265]] - data2 = [int(i*1.178)for i in [0, 5685, 7003, 8321, 9640, 10958, 12276, 13594, 14913, 16231, 17549, 18868, 20186, 21504, 22822, 24141, 25459, 26777, 28096, 29414, 30732, 32051, 33369, 34687, 36005, 37324, 38642, 39960, 41279, 42597, 43915, 45233, 46552, 47870, 49188, 50507, - 51825, 53143, 54461, 55780, 57098, 58416, 59735, 61053, 62371, 63690, 65008, 66326, 67644, 68963, 70281, 71599, 72918, 74236, 75554, 76872, 78191, 79509, 80827, 82146, 83464, 84782, 86101, 87419, 88737, 90055, 91374, 92692, 94010, 95329, 96647]] - 攻击次数3 = 7 - data3 = [int(i*1.178)for i in [0, 19897, 24512, 29126, 33740, 38354, 42968, 47582, 52196, 56810, 61424, 66038, 70652, 75266, 79880, 84494, 89108, 93722, 98336, 102950, 107564, 112178, 116792, 121406, 126020, 130634, 135248, 139862, 144476, 149090, 153704, 158318, 162932, 167546, 172160, 176774, 181388, - 186002, 190616, 195231, 199845, 204459, 209073, 213687, 218301, 222915, 227529, 232143, 236757, 241371, 245985, 250599, 255213, 259827, 264441, 269055, 273669, 278283, 282897, 287511, 292125, 296739, 301353, 305967, 310581, 315195, 319809, 324423, 329037, 333651, 338265]] - data4 = [int(i*1.178)for i in [0, 17055, 21010, 24965, 28920, 32874, 36829, 40784, 44739, 48694, 52649, 56604, 60559, 64513, 68468, 72423, 76378, 80333, 84288, 88243, 92198, 96153, 100107, 104062, 108017, 111972, 115927, 119882, 123837, 127792, 131746, 135701, 139656, 143611, 147566, 151521, 155476, - 159431, 163386, 167340, 171295, 175250, 179205, 183160, 187115, 191070, 195025, 198979, 202934, 206889, 210844, 214799, 218754, 222709, 226664, 230618, 234573, 238528, 242483, 246438, 250393, 254348, 258303, 262258, 266212, 270167, 274122, 278077, 282032, 285987, 289942]] - 攻击次数5 = 7 - data5 = [int(i*1.178)for i in [0, 26530, 32682, 38834, 44986, 51138, 57290, 63442, 69594, 75746, 81898, 88051, 94203, 100355, 106507, 112659, 118811, 124963, 131115, 137267, 143419, 149571, 155723, 161875, 168027, 174179, 180331, 186483, 192635, 198787, 204939, 211091, 217243, 223395, 229547, 235699, - 241851, 248003, 254155, 260308, 266460, 272612, 278764, 284916, 291068, 297220, 303372, 309524, 315676, 321828, 327980, 334132, 340284, 346436, 352588, 358740, 364892, 371044, 377196, 383348, 389500, 395652, 401804, 407956, 414108, 420260, 426413, 432565, 438717, 444869, 451021]] - data6 = [int(i*1.178)for i in [0, 26530, 32682, 38834, 44986, 51138, 57290, 63442, 69594, 75746, 81898, 88051, 94203, 100355, 106507, 112659, 118811, 124963, 131115, 137267, 143419, 149571, 155723, 161875, 168027, 174179, 180331, 186483, 192635, 198787, 204939, 211091, 217243, 223395, 229547, 235699, - 241851, 248003, 254155, 260308, 266460, 272612, 278764, 284916, 291068, 297220, 303372, 309524, 315676, 321828, 327980, 334132, 340284, 346436, 352588, 358740, 364892, 371044, 377196, 383348, 389500, 395652, 401804, 407956, 414108, 420260, 426413, 432565, 438717, 444869, 451021]] - data7 = [int(i*1.178)for i in [0, 79591, 98048, 116504, 134960, 153416, 171872, 190328, 208784, 227240, 245696, 264153, 282609, 301065, 319521, 337977, 356433, 374889, 393345, 411801, 430258, 448714, 467170, 485626, 504082, 522538, 540994, 559450, 577906, 596363, 614819, 633275, 651731, 670187, 688643, 707099, 725555, - 744011, 762467, 780924, 799380, 817836, 836292, 854748, 873204, 891660, 910116, 928572, 947029, 965485, 983941, 1002397, 1020853, 1039309, 1057765, 1076221, 1094677, 1113134, 1131590, 1150046, 1168502, 1186958, 1205414, 1223870, 1242326, 1260782, 1279239, 1297695, 1316151, 1334607, 1353063]] - CD = 290.0 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] + self.data4[self.等级] * self.攻击次数5 + self.data5[self.等级] + self.data6[self.等级] + self.data7[self.等级]) * self.倍率 - - -class 技能23(被动技能): - 名称 = '鬼连斩:极' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 1 - 关联技能 = ['鬼连斩'] - - def 加成倍率(self, 武器类型): - return 1.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·剑影一觉序号 = 0 -极诣·剑影二觉序号 = 0 -极诣·剑影三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·剑影一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·剑影二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·剑影三觉序号 = 技能序号[i.名称] - -极诣·剑影护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·剑影护石选项.append(i.名称) - -极诣·剑影符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 15 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·剑影符文选项.append(i.名称) - - -class 极诣·剑影角色属性(角色属性): - - 实际名称 = '极诣·剑影' - 角色 = '鬼剑士(男)' - 职业 = '剑影' - - 武器选项 = ['太刀'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.00 - - 无式极影剑形态 = 0 - 符文鬼连斩倍率 = 1 - 鬼连斩极显示开关 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 武器基础(self): - temp = equ.get_equ_by_name(self.装备栏[11]) - - self.力量 += temp.力量 - self.智力 += temp.智力 - self.物理攻击力 += temp.魔法攻击力 - self.魔法攻击力 += temp.魔法攻击力 - self.独立攻击力 += temp.独立攻击力 - - if temp.所属套装 != '智慧产物': - self.物理攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '魔法') - self.魔法攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '魔法') - self.独立攻击力 += 锻造计算(temp.等级, temp.品质, self.武器锻造等级) - - def 技能等级加成(self, 加成类型, minLv, maxLv, lv, 可变=0): - lv = int(lv) - if self.装备描述 == 1: - if 加成类型 == "所有": - if minLv == maxLv: - return "Lv{} 技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 技能等级+{}
".format(minLv, maxLv, lv) - else: - if minLv == maxLv: - return "Lv{} 主动技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 主动技能等级+{}
".format(minLv, maxLv, lv) - else: - if self.远古记忆 > 0: - if minLv <= 15 and maxLv >= 15: - self.远古记忆 = min(20, self.远古记忆 + lv) - - if self.刀魂之卡赞 > 0: - if minLv <= 5 and maxLv >= 5: - self.刀魂之卡赞 = min(20, self.刀魂之卡赞 + lv) - - for i in self.技能栏: - if i.所在等级 >= minLv and i.所在等级 <= maxLv: - if 加成类型 == '所有': - # 鬼连斩极的等级加成非常特别,装备同时加成鬼连斩和鬼连斩极时,两者等级都+1,,只加成鬼连斩时,两者等级+1,只加成鬼连斩极时,只有鬼连斩等级+1 - if minLv > 15 and maxLv >= 30: - i.等级加成(lv) - elif i.名称 != '鬼连斩:极': - i.等级加成(lv) - else: - if i.是否主动 == 1: - i.等级加成(lv) - if 可变 > 0: - self.变换词条[可变 - 1] = [6, 2, 14 + - (2 if 可变 > 1 else 4), 14 + (8 if 可变 > 1 else 16)] - return '' - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['冥夜鬼天杀']].被动倍率 *= 1.1 - - if self.无式极影剑形态 == 0: - self.技能栏[self.技能序号['无式·极影剑']].攻击次数2 = 5 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数3 = 5 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数4 = 1 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数5 = 1 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数6 = 0 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数7 = 0 - if self.无式极影剑形态 == 1: - self.技能栏[self.技能序号['无式·极影剑']].攻击次数2 = 0 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数3 = 0 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数4 = 0 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数5 = 0 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数6 = 5 - self.技能栏[self.技能序号['无式·极影剑']].攻击次数7 = 1 - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - if self.技能栏[self.技能序号['鬼连斩:极']].等级 != 0 and 技能释放次数[self.技能序号['鬼连斩']] != 0 : - a = self.技能栏[self.技能序号['鬼连斩:极']] - b = self.技能栏[self.技能序号['鬼连斩']] - 技能释放次数[self.技能序号['鬼连斩:极']] = 技能释放次数[self.技能序号['鬼连斩']] - a.等级 = a.等级 + b.等级 - 1 - 等效百分比a = (b.data4[a.等级] * b.攻击次数5) * \ - (1 + b.TP成长 * b.TP等级) * b.倍率 / self.符文鬼连斩倍率 - 技能总伤害[self.技能序号['鬼连斩:极']] = (等效百分比a * self.伤害指数 * b.被动倍率) * 技能释放次数[self.技能序号['鬼连斩:极']] * \ - (1 + self.白兔子技能 * 0.20 + self.年宠技能 * 0.10 * - self.宠物次数[self.技能序号['鬼连斩']] / 技能释放次数[self.技能序号['鬼连斩']] + self.斗神之吼秘药 * 0.12) - if self.装备检查('奔流不息之狂风'): - 技能总伤害[self.技能序号['鬼连斩:极']] *= 0.7 - if self.鬼连斩极显示开关 == 0: - 技能总伤害[self.技能序号['鬼连斩']] += 技能总伤害[self.技能序号['鬼连斩:极']] - 技能总伤害[self.技能序号['鬼连斩:极']] = 0 - b.被动开关 = 1 - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 极诣·剑影(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·剑影角色属性() - self.角色属性A = 极诣·剑影角色属性() - self.角色属性B = 极诣·剑影角色属性() - self.一觉序号 = 极诣·剑影一觉序号 - self.二觉序号 = 极诣·剑影二觉序号 - self.三觉序号 = 极诣·剑影三觉序号 - self.护石选项 = deepcopy(极诣·剑影护石选项) - self.符文选项 = deepcopy(极诣·剑影符文选项) - - def 界面(self): - super().界面() - self.无式极影剑形态选择 = MyQComboBox(self.main_frame2) - self.无式极影剑形态选择.addItem('无式极影剑(共鸣)') - self.无式极影剑形态选择.addItem('无式极影剑(幻鬼)') - self.无式极影剑形态选择.setCurrentIndex(0) - self.无式极影剑形态选择.resize(130, 20) - self.无式极影剑形态选择.move(325, 330) - - self.鬼连斩极显示开关 = QCheckBox('鬼连斩极伤害独立显示', self.main_frame2) - self.鬼连斩极显示开关.resize(140, 20) - self.鬼连斩极显示开关.move(325, 360) - self.鬼连斩极显示开关.setStyleSheet(复选框样式) - self.鬼连斩极显示开关.setChecked(False) - - self.职业存档.append(('鬼连斩极显示开关', self.鬼连斩极显示开关, 0)) - self.职业存档.append(('无式极影剑形态选择', self.无式极影剑形态选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - - 属性.无式极影剑形态 = self.无式极影剑形态选择.currentIndex() - if self.鬼连斩极显示开关.isChecked(): - 属性.鬼连斩极显示开关 = 1 - - def 加载护石(self, 属性): - for k in range(3): - if self.护石栏[k].currentText() != '无': - try: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石() - except: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石( - self.护石类型选项[k].currentIndex()) - - 属性.护石第一栏 = self.护石栏[0].currentText() - 属性.护石第二栏 = self.护石栏[1].currentText() - 属性.护石第三栏 = self.护石栏[2].currentText() - - 属性.符文鬼连斩倍率 = 1 - for i in range(9): - if self.符文[i].currentText() != '无' and self.符文效果[i].currentText() != '无': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - if self.符文[i].currentText() == '鬼连斩': - 属性.符文鬼连斩倍率 *= 1 + \ - int(j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 diff --git a/Characters/极诣·剑魂.py b/Characters/极诣·剑魂.py deleted file mode 100644 index 4dee5a29..00000000 --- a/Characters/极诣·剑魂.py +++ /dev/null @@ -1,1580 +0,0 @@ -from PublicReference.carry.base import * - - -class 极诣·剑魂主动技能(主动技能): - hit数 = 0 # 太刀时所需参数,计算期望刺伤 - - def 额外刺伤层数(self, 武器类型): - return 0 - - def 穿云刺数量(self, 武器类型): - return 0 - - -class 极诣·剑魂流系技能(主动技能): - hit数 = 0 - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - def 额外刺伤层数(self, 武器类型): - return 0 - - def 穿云刺数量(self, 武器类型): - return 0 - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['里鬼剑术', '空中连斩'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(极诣·剑魂主动技能): - hit数 = 8 - 名称 = '里鬼剑术' - 备注 = '(一轮,TP为基础精通)' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 0.97 - 成长 = 0.03 - CD = 1.0 - TP成长 = 0.1 - TP上限 = 3 - 基础百分比 = {'短剑': 1004.68*1.085, '光剑': 890.19*1.085, - '巨剑': 1241.95*1.085, '钝器': 1225.24*1.085, '太刀': 1197.49*1.085} - data = {'短剑': 3, '光剑': 3, '巨剑': 2, '钝器': 4, '太刀': 4} - # 巨剑不蓄力441.19 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return self.基础百分比[武器类型] * (self.基础 + self.成长 * self.等级) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 穿云刺数量(self, 武器类型): - return self.data[武器类型] - - -class 技能2(被动技能): - 名称 = '武器奥义' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 关联技能 = ['无'] - - -class 技能3(被动技能): - 名称 = '光剑掌握' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['无'] - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['极鬼剑术暴风式','万剑归宗(终结)','万剑归宗(穿云刺)','万剑极诣开天斩'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return round(1.0 - 0.01 * self.等级, 5) - - -class 技能4(极诣·剑魂主动技能): - 名称 = '流心狂' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['流心刺', '流心跃', '流心升'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.20 + 0.02 * self.等级, 5) - - -class 技能5(被动技能): - 名称 = '无我剑气' - 所在等级 = 20 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能6(极诣·剑魂流系技能): - 名称 = '流心刺' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - 数据 = [int(x*1.085*1.162) for x in [0, 1111, 1223, 1336, 1449, 1562, 1675, 1787, 1900, 2014, 2127, 2239, 2352, 2465, 2578, 2691, 2803, 2916, 3029, 3142, 3254, 3367, 3479, 3592, 3705, 3818, 3931, 4044, 4156, 4268, 4381, 4494, 4607, 4720, 4833,4946, 5057, 5170, 5283, 5396, 5509, 5622, 5734, 5846, 5959, 6072, 6185, 6298, 6411, 6523, 6636, 6748, 6861, 6974, 7087, 7200, 7312, 7425, 7538, 7650, 7763, 7876, 7988, 8101, 8214, 8327, 8440, 8552, 8665, 8777, 8890]] - TP成长 = 0.10 - TP上限 = 5 - CD = 5.0 - - 武器倍率 = {'短剑': 2 + 1, '光剑': 4 * 0.63, '巨剑': 2 + - 1, '钝器': 2 * 1.25, '太刀': 4 * 0.63} - - def 等效百分比(self, 武器类型): - return self.武器倍率[武器类型] * self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = 4 - 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87] - 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - def 穿云刺数量(self, 武器类型): - return 2 - - -class 技能7(极诣·剑魂流系技能): - 名称 = '流心跃' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 数据 = [int(x*1.085*1.159) for x in [0, 4079, 4493, 4907, 5321, 5735, 6149, 6563, 6977, 7391, 7805, 8219, 8633, 9047, 9461, 9876, 10290, 10704, 11117, 11531, 11945, 12359, 12773, 13187, 13601, 14015, 14429, 14841, 15256, 15670, 16083, 16498, 16912, 17325, 17740, 18154, 18566, - 18981, 19394, 19809, 20224, 20637, 21051, 21466, 21879, 22292, 22707, 23120, 23534, 23948, 24362, 24776, 25190, 25604, 26018, 26432, 26846, 27260, 27676, 28089, 28503, 28918, 29330, 29744, 30158, 30572, 30986, 31400, 31814, 32228, 32642]] - TP成长 = 0.10 - TP上限 = 5 - CD = 7.0 - - 武器倍率 = {'短剑': 2 * 0.5, '光剑': 1, '巨剑': 1, '钝器': 1, '太刀': 2 * 0.5} - - # 钝器冲击波占比 0.271783561 钝器空中释放20%加成 - - def 等效百分比(self, 武器类型): - return self.武器倍率[武器类型] * self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = 2 - 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100] - 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - def 穿云刺数量(self, 武器类型): - return 2 - - -class 技能8(极诣·剑魂流系技能): - 名称 = '流心升' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 数据 = [int(x*1.085*1.162) for x in [0, 2789, 3071, 3357, 3639, 3922, 4205, 4488, 4771, 5053, 5335, 5621, 5904, 6186, 6469, 6752, 7036, 7317, 7602, 7886, 8168, 8450, 8735, 9016, 9300, 9583, 9867, 10150, 10432, 10714, 10999, 11282, 11564, 11847, 12131, 12414, 12696, - 12978, 13264, 13546, 13828, 14111, 14395, 14679, 14962, 15244, 15528, 15810, 16092, 16375, 16659, 16943, 17226, 17509, 17792, 18074, 18356, 18643, 18925, 19207, 19490, 19773, 20056, 20340, 20622, 20907, 21189, 21471, 21754, 22037, 22321]] - TP成长 = 0.10 - TP上限 = 5 - CD = 9.0 - - 武器倍率 = {'短剑': 1 + 1.1, '光剑': 3 * 0.8, - '巨剑': 1 + 1.1, '钝器': 1 + 1.1, '太刀': 3 * 0.8} - - def 等效百分比(self, 武器类型): - return self.武器倍率[武器类型] * self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = 3 - 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100,100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] - 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - def 穿云刺数量(self, 武器类型): - return 2 - - -class 技能9(极诣·剑魂主动技能): - 名称 = '破军升龙击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data1 = [int(x*1.085*1.162) for x in [0, 1253, 1380, 1508, 1635, 1761, 1889, 2016, 2142, 2270, 2397, 2525, 2651, 2778, 2906, 3033, 3160, 3287, 3414, 3542, 3669, 3797, 3924, 4050, 4178, 4305, 4432, 4559, 4687, 4814, 4940, 5068, 5195, 5324, 5447,5576, 5705, 5831, 5959, 6086, 6213, 6340, 6468, 6596, 6723, 6850, 6977, 7104, 7231, 7358, 7486, 7613, 7738, 7867, 7994, 8119, 8246, 8374, 8501, 8630, 8758, 8885, 9013, 9137, 9265, 9394, 9518, 9646, 9773, 9901, 10027]] - data2 = [int(x*1.085*1.162) for x in [0, 1935, 2130, 2325, 2522, 2719, 2915, 3109, 3306, 3503, 3699, 3897, 4093, 4287, 4486, 4681, 4877, 5074, 5270, 5465, 5661, 5858, 6054, 6251, 6445, 6644, 6839, 7036, 7233, 7429, 7623, 7820, 8017, 8213, 8410, 8604, 8801,8998, 9195, 9391, 9588, 9784, 9979, 10175, 10372, 10568, 10764, 10959, 11156, 11352, 11550, 11747, 11940, 12137, 12334, 12531, 12727, 12921, 13118, 13315, 13512, 13708, 13904, 14099, 14296, 14492, 14689, 14886, 15082, 15277, 15474]] - TP成长 = 0.10 - TP上限 = 5 - CD = 10.0 - - 冲撞倍率 = {'短剑': 2, '光剑': 4 * 0.89, '巨剑': 2, '钝器': 2, '太刀': 2} - 上斩倍率 = {'短剑': 1, '光剑': 1, '巨剑': 2, '钝器': 2, '太刀': 2} - - def 等效百分比(self, 武器类型): - return (self.冲撞倍率[武器类型] * self.data1[self.等级] + self.上斩倍率[武器类型] * self.data2[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 * (1.45 if 武器类型 == '短剑' else 1.0) - - # 极神剑术被动相关,短剑影响 - def 极神剑术占比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 * (1.45 if 武器类型 == '短剑' else 1.0) / self.等效百分比(武器类型) - - hit数 = 3 - 刺伤几率 = [0, 0, 0, 0, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, - 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970] - 可附加的刺伤数量 = [0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 1000 * self.可附加的刺伤数量[self.等级] - - -class 技能10(极诣·剑魂主动技能): - 名称 = '拔刀斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 数据 = [int(x*1.085*1.162) for x in [0, 6189, 6819, 7447, 8075, 8702, 9329, 9960, 10588, 11215, 11844, 12471, 13099, 13727, 14355, 14982, 15611, 16238, 16866, 17496, 18123, 18752, 19379, 20007, 20637, 21265, 21893, 22520, 23148, 23775, 24404, 25031, 25660, 26289, 26916, 27545,28172, 28800, 29429, 30056, 30683, 31313, 31941, 32569, 33198, 33826, 34453, 35082, 35708, 36338, 36965, 37593, 38221, 38849, 39478, 40106, 40734, 41361, 41991, 42617, 43246, 43875, 44502, 45130, 45758, 46386, 47016, 47643, 48270, 48899, 49526]] - TP成长 = 0.10 - TP上限 = 5 - CD = 15.0 - 武器倍率 = {'短剑': 1.4, '光剑': 1.3, '巨剑': 1.3, '钝器': 1.3, '太刀': 1.25} - - def 等效百分比(self, 武器类型): - return self.武器倍率[武器类型] * self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 拔刀奥义 - # 准备动作时间 -30% - # 短剑 : 剑气的拔刀斩攻击力比率 +28% - # 太刀 : 追加攻击的拔刀斩攻击力比率 +25% - # 钝器 : 追加攻击的拔刀斩攻击力比率 +26% - # 巨剑 : [巨剑精通]最大蓄气时[拔刀斩]攻击力增加量 +26% - # 光剑 : 追加攻击的拔刀斩攻击力比率 +26% - # 攻击成功时发动[神影手] (一次[拔刀斩]最多发动1次) - # 攻击范围 +20% - # 攻击力 +5% - 是否有护石 = 1 - 触发神影手 = 0 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.武器倍率 = {'短剑': 1.4 + 0.28, '光剑': 1.3 + 0.26, - '巨剑': 1.3 + 0.26, '钝器': 1.3 + 0.26, '太刀': 1.25 + 0.25} - self.倍率 *= 1.05 - self.触发神影手 = 1 - elif x == 1: - self.武器倍率 = {'短剑': 1.4 + 0.28, '光剑': 1.3 + 0.26, - '巨剑': 1.3 + 0.26, '钝器': 1.3 + 0.26, '太刀': 1.25 + 0.25} - self.倍率 *= 1.12 - self.触发神影手 = 1 - - def 护石描述(self, x): - if x == 0: - temp = "拔刀奥义" - temp += "

" - temp += "[拔刀斩]
" - temp += "准备动作时间 -30%
" - temp += "短剑 : 剑气的拔刀斩攻击力比率 +28%
" - temp += "太刀 : 追加攻击的拔刀斩攻击力比率 +25%
" - temp += "钝器 : 追加攻击的拔刀斩攻击力比率 +26%
" - temp += "巨剑 : [巨剑精通]最大蓄气时[拔刀斩]攻击力增加量 +26%
" - temp += "光剑 : 追加攻击的拔刀斩攻击力比率 +26%
" - temp += "
-护石附加效果:
" - temp += "攻击成功时发动[神影手] (一次[拔刀斩]最多发动1次)
" - temp += "攻击范围 +20%
" - temp += "攻击力 +5%" - elif x == 1: - temp = "拔刀奥义" - temp += "

" - temp += "[拔刀斩]
" - temp += "准备动作时间 -30%
" - temp += "短剑 : 剑气的拔刀斩攻击力比率 +28%
" - temp += "太刀 : 追加攻击的拔刀斩攻击力比率 +25%
" - temp += "钝器 : 追加攻击的拔刀斩攻击力比率 +26%
" - temp += "巨剑 : [巨剑精通]最大蓄气时[拔刀斩]攻击力增加量 +26%
" - temp += "光剑 : 追加攻击的拔刀斩攻击力比率 +26%
" - temp += "
-护石附加效果:
" - temp += "攻击成功时发动[神影手] (一次[拔刀斩]最多发动1次)
" - temp += "攻击范围 +20%
" - temp += "攻击力 +12%" - return temp - - hit数 = 2 - 刺伤几率 = [0, 0, 0, 0, 0, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] - 可附加的刺伤数量 = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, - 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] - 追加刺伤几率 = [0, 0, 0, 0, 0, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] - 追加可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] + self.追加刺伤几率[self.等级] / 100 * self.追加可附加的刺伤数量[self.等级] - - -class 技能11(极诣·剑魂主动技能): - 名称 = '破军斩龙击' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - TP成长 = 0.10 - TP上限 = 5 - CD = 25.0 - data1 = [int(x*1.085*1.162) for x in [0, 3159, 3479, 3800, 4121, 4440, 4761, 5082, 5402, 5722, 6046, 6363, 6685, 7007, 7327, 7646, 7968, 8288, 8609, 8928, 9250, 9571, 9890, 10212, 10533, 10854, 11173, 11495, 11814, 12135, 12456, 12777, 13096, 13417, 13738, 14059, 14378, - 14700, 15020, 15341, 15661, 15982, 16303, 16622, 16944, 17263, 17585, 17906, 18228, 18546, 18867, 19189, 19509, 19827, 20151, 20470, 20792, 21113, 21433, 21753, 22073, 22395, 22715, 23035, 23356, 23677, 23996, 24318, 24639, 24959, 25279]] - data2 = [int(x*1.085*1.162) for x in [0, 3791, 4176, 4560, 4945, 5330, 5715, 6098, 6485, 6868, 7254, 7637, 8023, 8408, 8792, 9176, 9559, 9946, 10332, 10715, 11101, 11485, 11870, 12254, 12639, 13024, 13409, 13793, 14178, 14563, 14948, 15332, 15717, 16099, 16487, 16871, - 17254, 17642, 18025, 18411, 18795, 19177, 19565, 19947, 20332, 20719, 21101, 21489, 21871, 22255, 22640, 23028, 23410, 23794, 24179, 24565, 24949, 25334, 25718, 26106, 26488, 26873, 27258, 27642, 28027, 28411, 28796, 29180, 29566, 29951, 30334]] - data3 = [int(x*1.085*1.162) for x in [0, 5687, 6266, 6840, 7417, 7995, 8572, 9149, 9728, 10304, 10883, 11457, 12034, 12612, 13189, 13767, 14342, 14919, 15497, 16073, 16650, 17228, 17806, 18384, 18959, 19536, 20114, 20691, 21268, 21844, 22421, 23000, 23575, 24151, 24730, 25305, - 25882, 26461, 27037, 27616, 28193, 28770, 29345, 29922, 30499, 31078, 31654, 32233, 32806, 33385, 33961, 34539, 35117, 35693, 36271, 36847, 37424, 38001, 38578, 39156, 39734, 40309, 40887, 41464, 42041, 42618, 43195, 43771, 44349, 44925, 45503]] - 数据 = [data1, data2, data3] - 次数 = [1, 1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = 4 - 刺伤几率 = [0, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] - 可附加的刺伤数量 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - def 穿云刺数量(self, 武器类型): - return 5 - - -class 技能12(极诣·剑魂主动技能): - 名称 = '猛龙断空斩' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - TP成长 = 0.10 - TP上限 = 5 - CD = 20.0 - data1 = [int(x*1.085*1.18393) for x in [0, 1854, 2043, 2231, 2419, 2608, 2796, 2984, 3171, 3360, 3548, 3736, 3924, 4114, 4302, 4490, 4677, 4867, 5055, 5241, 5431, 5619, 5807, 5995, 6184, 6372, 6560, 6748, 6937, 7125, 7313, 7501, 7690, 7877, 8065, 8254, 8442, - 8630, 8818, 9007, 9195, 9383, 9571, 9761, 9947, 10135, 10323, 10512, 10700, 10888, 11078, 11266, 11454, 11642, 11831, 12018, 12207, 12393, 12583, 12771, 12959, 13148, 13336, 13524, 13712, 13901, 14088, 14277, 14464, 14654, 14841]] - data2 = [int(x*1.085*1.18393) for x in [0, 2724, 3002, 3278, 3555, 3830, 4107, 4384, 4661, 4936, 5214, 5490, 5765, 6044, 6320, 6596, 6873, 7149, 7425, 7702, 7979, 8255, 8531, 8808, 9086, 9361, 9638, 9914, 10191, 10467, 10744, 11020, 11297, 11573, 11849, 12127, 12404, - 12679, 12955, 13233, 13508, 13785, 14062, 14339, 14614, 14891, 15168, 15445, 15720, 15997, 16274, 16550, 16828, 17103, 17380, 17657, 17932, 18209, 18486, 18763, 19038, 19315, 19592, 19869, 20144, 20422, 20698, 20973, 21251, 21528, 21804]] - 数据 = [data1, data2] - 次数 = [2, 2] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 * (1.25 if 武器类型 == '短剑' else 1.0) - - # 极神剑术被动相关,短剑影响 - def 极神剑术占比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 * (1.25 if 武器类型 == '短剑' else 1.0) / self.等效百分比(武器类型) - - # 猛龙过江 - # 巴恩的飓风强化 (学习[极 · 神剑术]后发动) - #- 移动时追击周围敌人 - # - 持续时间 +1秒 - #- 多段攻击次数上限 +5 - # - 攻击力 -57% - #- 突进上斩动作结束时生成旋风 - # - 大小 +80% - # - 多段攻击次数上限 +2次 - hit数 = 4 + 8 - 旋风攻击次数 = 4 * 2 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.hit数 = 4 + 11 * 3 - self.旋风攻击次数 = 11 * 3 * 0.43 - elif x == 1: - self.hit数 = 4 + 11 * 3 - self.旋风攻击次数 = 11 * 3 * 0.43 - self.倍率 *= 1.07 - - def 护石描述(self, x): - if x == 0: - temp = "猛龙过江" - temp += "

" - temp += "[猛龙断空斩]
" - temp += "巴恩的飓风强化 (学习[极 · 神剑术]后发动)
" - temp += "- 移动时追击周围敌人
" - temp += "- 持续时间 +1秒
" - temp += "- 多段攻击次数上限 +5
" - temp += "- 攻击力 -57%
" - temp += "- 突进上斩动作结束时生成旋风
" - temp += "
-护石附加效果:
" - temp += "巴恩的飓风追加强化
" - temp += "- 大小 +80%
" - temp += "- 多段攻击次数上限 +2次" - elif x == 1: - temp = "猛龙过江" - temp += "

" - temp += "[猛龙断空斩]
" - temp += "巴恩的飓风强化 (学习[极 · 神剑术]后发动)
" - temp += "- 移动时追击周围敌人
" - temp += "- 持续时间 +1秒
" - temp += "- 多段攻击次数上限 +5
" - temp += "- 攻击力 -57%
" - temp += "- 突进上斩动作结束时生成旋风
" - temp += "
-护石附加效果:
" - temp += "巴恩的飓风追加强化
" - temp += "- 大小 +80%
" - temp += "- 多段攻击次数上限 +2次
" - temp += "- 攻击力 +7%" - return temp - - -class 技能13(极诣·剑魂主动技能): - 名称 = '幻影剑舞' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - TP成长 = 0.10 - TP上限 = 5 - CD = 45.0 - 斩击倍率 = {'短剑': 12 * 0.9, '光剑': 24 * 0.75, - '巨剑': 12 * 1.5, '钝器': 12, '太刀': 24 * 0.75} - 剑气倍率 = {'短剑': 4 * 1.2, '光剑': 3, '巨剑': 3, '钝器': 4.2, '太刀': 3} - data1 = [int(x*1.085*1.1742) for x in [0, 689, 759, 830, 900, 970, 1041, 1110, 1180, 1251, 1319, 1389, 1459, 1531, 1601, 1669, 1740, 1811, 1882, 1951, 2021, 2089, 2160, 2231, 2301, 2371, 2440, 2511, 2582, 2651, 2721, 2791, 2860, 2931, 3001, 3071, - 3142, 3210, 3281, 3352, 3421, 3492, 3561, 3632, 3701, 3772, 3842, 3912, 3980, 4052, 4123, 4192, 4263, 4332, 4403, 4472, 4542, 4612, 4681, 4751, 4821, 4893, 4962, 5033, 5103, 5173, 5242, 5312, 5383, 5451, 5521]] - data2 = [int(x*1.085*1.1742) for x in [0, 2762, 3041, 3321, 3601, 3881, 4163, 4442, 4722, 5003, 5282, 5564, 5842, 6121, 6405, 6683, 6964, 7244, 7523, 7804, 8084, 8364, 8646, 8925, 9204, 9485, 9765, 10044, 10325, 10606, 10886, 11167, 11446, 11727, 12007, 12285, 12569, - 12847, 13126, 13408, 13688, 13968, 14248, 14526, 14809, 15089, 15369, 15649, 15929, 16209, 16489, 16769, 17049, 17330, 17610, 17888, 18172, 18451, 18729, 19011, 19290, 19572, 19851, 20131, 20413, 20692, 20972, 21253, 21531, 21811, 22093]] - - def 等效百分比(self, 武器类型): - return (self.斩击倍率[武器类型] * self.data1[self.等级] + self.剑气倍率[武器类型] * self.data2[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 极神剑术被动相关,武器倍率不影响 - def 极神剑术斩击占比(self, 武器类型): - return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 / self.等效百分比(武器类型) - - # 极神剑术被动相关,武器倍率不影响 - def 极神剑术剑气占比(self, 武器类型): - return self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 / self.等效百分比(武器类型) - - hit数 = 24 + 3 + 4 + 3 # 本体斩击:24 本体剑气:3 影子斩击:4 影子剑气:3 - 刺伤几率 = [0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, - 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35] - 可附加的刺伤数量 = [0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] * (24 + 3) - - def 穿云刺数量(self, 武器类型): - return 4 - - # 无形剑舞 - # 攻击范围 +25% - # 幻影斩击多段攻击次数 +8次 - # 施放过程中所受伤害 -90% - # 幻影斩击多段攻击次数 +5次 - 是否有护石 = 1 - 影子斩击次数 = 4 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.影子斩击次数 += 13 - self.hit数 += 13 - elif x == 1: - self.倍率 *= 1.06 - self.影子斩击次数 += 13 - self.hit数 += 13 - - def 护石描述(self, x): - if x == 0: - temp = "无形剑舞" - temp += "

" - temp += "[幻影剑舞]
" - temp += "攻击范围 +25%
" - temp += "幻影斩击多段攻击次数 +8次
" - temp += "
-护石附加效果:
" - temp += "施放过程中所受伤害 -90%
" - temp += "幻影斩击多段攻击次数 +5次" - elif x == 1: - temp = "无形剑舞" - temp += "

" - temp += "[幻影剑舞]
" - temp += "攻击范围 +25%
" - temp += "幻影斩击多段攻击次数 +8次
" - temp += "
-护石附加效果:
" - temp += "施放过程中所受伤害 -90%
" - temp += "幻影斩击多段攻击次数 +5次
" - temp += "- 攻击力 +6%" - return temp - - -class 技能14(极诣·剑魂主动技能): - 名称 = '极鬼剑术暴风式' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - CD = 145.0 - hit数 = 26 - data1 = [int(x*1.085*1.214) for x in [0, 3832, 4721, 5610, 6498, 7388, 8277, 9166, 10056, 10945, 11832, 12723, 13612, 14500, 15390, 16280, 17169, 18055, 18945, 19834, 20722, 21611, 22499, 23390, 24279, 25167, 26057, 26947, 27835, 28724, 29613, 30503, 31392, 32279, 33168, 34057, - 34947, 35836, 36723, 37613, 38501, 39391, 40280, 41170, 42059, 42947, 43836, 44726, 45615, 46503, 47390, 48281, 49170, 50058, 50948, 51838, 52725, 53614, 54503, 55393, 56282, 57171, 58060, 58949, 59838, 60725, 61613, 62505, 63392, 64282, 65171]] - data2 = [int(x*1.085*1.214) for x in [0, 1824, 2248, 2670, 3096, 3516, 3943, 4364, 4787, 5212, 5633, 6058, 6482, 6904, 7329, 7752, 8175, 8596, 9022, 9445, 9868, 10291, 10715, 11137, 11562, 11983, 12408, 12829, 13254, 13677, 14101, 14525, 14947, 15371, 15794, 16216, 16642, - 17062, 17488, 17910, 18334, 18756, 19181, 19605, 20027, 20451, 20873, 21297, 21721, 22144, 22567, 22991, 23413, 23840, 24260, 24684, 25107, 25530, 25954, 26376, 26801, 27224, 27647, 28070, 28492, 28917, 29340, 29764, 30186, 30610, 31032]] - data3 = [int(x*1.085*1.214) for x in [0, 7118, 8769, 10421, 12073, 13721, 15373, 17025, 18676, 20325, 21976, 23628, 25279, 26929, 28580, 30233, 31882, 33534, 35184, 36836, 38486, 40136, 41789, 43440, 45090, 46740, 48391, 50044, 51694, 53345, 54995, 56647, 58298, 59949, 61600, 63251, - 64901, 66551, 68204, 69852, 71505, 73156, 74806, 76456, 78108, 79758, 81411, 83061, 84712, 86364, 88013, 89665, 91316, 92967, 94619, 96267, 97920, 99571, 101220, 102872, 104523, 106175, 107826, 109476, 111127, 112780, 114428, 116080, 117731, 119382, 121031]] - 数据 = [data1, data2, data3] - 次数 = [1, 24, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * self.倍率 * 1.1 # Lv9以上时增加10%攻击力 - - -class 技能15(被动技能): - 名称 = '极鬼剑术斩铁式' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(0.995 + 0.03 + 0.02 * self.等级, 5) - - - - -class 技能16(极诣·剑魂主动技能): - 名称 = '极神剑术流星落' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 35.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.085*1.155) for x in [0, 2901, 3197, 3491, 3786, 4079, 4375, 4668, 4964, 5257, 5552, 5846, 6142, 6435, 6730, 7025, 7318, 7613, 7909, 8202, 8497, 8791, 9086, 9380, 9675, 9968, 10264, 10559, 10852, 11145, 11441, 11736, 12030, 12325, 12619, 12912, 13207,13502, 13798, 14091, 14386, 14679, 14975, 15271, 15564, 15859, 16153, 16445, 16741, 17037, 17331, 17625, 17920, 18213, 18509, 18803, 19098, 19392, 19687, 19979, 20275, 20571, 20864, 21159, 21452, 21745, 22041, 22337, 22632, 22926, 23218]] - data2 = [int(x*1.085*1.155) for x in [0, 533, 587, 643, 697, 750, 806, 860, 914, 968, 1022, 1078, 1130, 1186, 1240, 1294, 1348, 1403, 1455, 1509, 1565, 1618, 1671, 1729, 1783, 1835, 1890, 1944, 1998, 2052, 2108, 2161, 2216, 2270, 2324, 2378,2432, 2486, 2541, 2596, 2650, 2705, 2758, 2812, 2867, 2921, 2973, 3030, 3083, 3138, 3193, 3247, 3299, 3355, 3408, 3462, 3518, 3571, 3628, 3680, 3734, 3788, 3843, 3896, 3953, 4005, 4059, 4114, 4169, 4222, 4276]] - data3 = [int(x*1.085*1.155) for x in [0, 5804, 6394, 6982, 7570, 8162, 8749, 9338, 9928, 10516, 11104, 11696, 12282, 12870, 13462, 14050, 14638, 15229, 15816, 16404, 16996, 17582, 18171, 18762, 19350, 19938, 20529, 21116, 21704, 22294, 22883, 23470, 24062, 24650, 25237, 25828,26417, 27004, 27596, 28184, 28774, 29362, 29950, 30539, 31128, 31717, 32305, 32896, 33484, 34073, 34662, 35251, 35839, 36429, 37017, 37606, 38196, 38785, 39373, 39963, 40550, 41139, 41729, 42316, 42906, 43496, 44084, 44673, 45263, 45850, 46440]] - 数据 = [data1, data2, data3] - 次数 = [1, 38, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = sum(次数) - 流星之天剑刺伤层数 = 0 # 极神剑术被动相关 - 刺伤几率 = [0, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, - 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 176, 179, 182, 185, 188, 191, 194, 197, 200, 203, 206, 209, 212, 215, 218, 221, 224, 227, 230, 233, 236] - 可附加的刺伤数量 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] - - def 额外刺伤层数(self, 武器类型): - return min(self.刺伤几率[self.等级] / 100, 1) * self.可附加的刺伤数量[self.等级] + self.流星之天剑刺伤层数 - - # 流星审判 - # 跳跃冲击波攻击强制控制敌人1.5秒 - # 跳跃动作变更为无敌状态, 落地后增加1秒无敌时间 - # 投掷流星剑前置准备时间 -50% - # 流星剑间隔 -20% - # 流星剑数量 +9个 - # 流星剑和流星之天剑攻击范围 +55% - # 流星之天剑攻击力 +35% - # 流星之天剑强制控制时间 +60% - 是否有护石 = 1 - 流星之天剑倍率 = 1.0 # 极神剑术被动相关 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.hit数 += 9 - self.次数 = [1, 38 + 9, 1] - self.流星之天剑倍率 = 1.35 - elif x == 1: - self.hit数 += 9 - self.次数 = [1, 38 + 9, 1] - self.流星之天剑倍率 = 2.05 - - def 护石描述(self, x): - if x == 0: - temp = "流星审判" - temp += "

" - temp += "[极 · 神剑术 (流星落)]
" - temp += "跳跃冲击波攻击强制控制敌人1.5秒
" - temp += "跳跃动作变更为无敌状态, 落地后增加1秒无敌时间
" - temp += "投掷流星剑前置准备时间 -50%
" - temp += "流星剑间隔 -20%
" - temp += "流星剑数量 +9个
" - temp += "
-护石附加效果:
" - temp += "流星剑和流星之天剑攻击范围 +55%
" - temp += "流星之天剑攻击力 +35%
" - temp += "流星之天剑强制控制时间 +60%" - elif x == 1: - temp = "流星审判" - temp += "

" - temp += "[极 · 神剑术 (流星落)]
" - temp += "跳跃冲击波攻击强制控制敌人1.5秒
" - temp += "跳跃动作变更为无敌状态, 落地后增加1秒无敌时间
" - temp += "投掷流星剑前置准备时间 -50%
" - temp += "流星剑间隔 -20%
" - temp += "流星剑数量 +9个
" - temp += "
-护石附加效果:
" - temp += "流星剑和流星之天剑攻击范围 +55%
" - temp += "流星之天剑攻击力 +105%
" - temp += "流星之天剑强制控制时间 +60%" - return temp - - -class 技能17(极诣·剑魂主动技能): - 名称 = '破空拔刀斩' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - # 近距离百分比而非剑气 - 数据 = [int(x*1.085*1.155) for x in [0, 32083, 35337, 38590, 41846, 45099, 48357, 51611, 54865, 58121, 61375, 64629, 67885, 71141, 74394, 77649, 80903, 84157, 87414, 90667, 93922, 97178, 100432, 103688, 106942, 110197, 113452, - 116706, 119962, 123213, 126471, 129725, 132980, 136235, 139492, 142744, 146000, 149254, 152509, 155764, 159018, 162274, 165527, 168781, 172038, 175292, 178548, 181802, 185056, 188312, 191565]] - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - hit数 = 1 - 刺伤几率 = [0, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 100, 100, 100, 100, 100, 100, 100, 100, - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] - 可附加的刺伤数量 = [0, 3, 3, 3, 5, 5, 5, 7, 7, 7, 9, 9, 9, 11, 11, 11, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15] - - def 额外刺伤层数(self, 武器类型): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - # 破空一刀 - # 剑气攻击适用与近距离击打相同的攻击力 - # 准备动作时间 -40% - # 冷却时间 -10% - # 剑气生成后僵直 -20% - # 攻击力 +11% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.11 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.19 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "破空一刀" - temp += "

" - temp += "[破空拔刀斩]
" - temp += "剑气攻击适用与近距离击打相同的攻击力
" - temp += "准备动作时间 -40%
" - temp += "冷却时间 -10%
" - temp += "
-护石附加效果:
" - temp += "剑气生成后僵直 -20%
" - temp += "攻击力 +11%" - elif x == 1: - temp = "破空一刀" - temp += "

" - temp += "[破空拔刀斩]
" - temp += "剑气攻击适用与近距离击打相同的攻击力
" - temp += "准备动作时间 -40%
" - temp += "冷却时间 -10%
" - temp += "
-护石附加效果:
" - temp += "剑气生成后僵直 -20%
" - temp += "攻击力 +19%" - return temp - - -class 技能18(极诣·剑魂主动技能): - 名称 = '极神剑术破空斩' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - CD = 35.0 - 多段倍率 = {'短剑': 5, '光剑': 6, '巨剑': 5 * 1.08, '钝器': 5, '太刀': 6} - 爆炸倍率 = {'短剑': 1, '光剑': 1, '巨剑': 1.08, '钝器': 1, '太刀': 1} - data1 = [int(x*1.085*1.193) for x in [0, 4932, 5432, 5934, 6432, 6934, 7433, 7935, 8434, 8937, 9435, 9937, 10436, 10939, 11438, 11936, 12439, 12938, 13440, 13938, 14441, 14939, 15441, 15941, 16441, 16942, 17442, 17943, 18443, 18944, 19444, 19945, 20446, 20945, 21446, 21945,22448, 22947, 23449, 23948, 24450, 24948, 25450, 25950, 26450, 26950, 27450, 27952, 28452, 28953, 29452, 29954, 30455, 30954, 31454, 31954, 32454, 32956, 33456, 33957, 34459, 34957, 35458, 35959, 36458, 36959, 37459, 37961, 38460, 38960, 39461]] - data2 = [int(x*1.085*1.193) for x in [0, 16441, 18109, 19777, 21446, 23114, 24781, 26450, 28118, 29786, 31454, 33124, 34790, 36458, 38127, 39795, 41463, 43133, 44799, 46467, 48134, 49803, 51472, 53139, 54806, 56475, 58144, 59811, 61481, 63148, 64815, 66483, 68153, 69820, 71490, 73157, 74824,76492, 78159, 79829, 81495, 83166, 84833, 86501, 88168, 89838, 91504, 93174, 94842, 96510, 98177, 99846, 101512, 103183, 104850, 106516, 108186, 109853, 111521, 113188, 114859, 116525, 118195, 119862, 121530, 123197, 124868, 126534, 128203, 129870, 131539]] - def 等效百分比(self, 武器类型): - return (self.多段倍率[武器类型] * self.data1[self.等级] + self.爆炸倍率[武器类型] * self.data2[self.等级]) * self.倍率 - - # 极神剑术被动相关,巨剑蓄力会影响 - def 极神剑术占比(self, 武器类型): - return self.爆炸倍率[武器类型] * self.data2[self.等级] * self.倍率 / self.等效百分比(武器类型) - - hit数 = 7 - 刺伤几率 = [0, 530, 550, 570, 590, 610, 630, 650, 670, 690, 710, 730, 750, 770, 790, 810, 830, 850, 870, 890, 910, 930, 950, 970, 990, 1010, 1030, 1050, 1070, 1090, 1110, 1130, 1150, 1170, 1190, 1210, 1230,1250, 1270, 1290, 1310, 1330, 1350, 1370, 1390, 1410, 1430, 1450, 1470, 1490, 1510, 1530, 1550, 1570, 1590, 1610, 1630, 1650, 1670, 1690, 1710, 1730, 1750, 1770, 1790, 1810, 1830, 1850, 1870, 1890, 1910] - 可附加的刺伤数量 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] - - def 额外刺伤层数(self, 武器类型): - return min(self.刺伤几率[self.等级] / 1000, 1) * self.可附加的刺伤数量[self.等级] - - def 穿云刺数量(self, 武器类型): - return 4 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data2 = [x * 1.62 for x in self.data2] - - -class 技能19(极诣·剑魂主动技能): - 名称 = '极神剑术瞬斩' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - CD = 50.0 - data1 = [int(x*1.085*1.16) for x in [0, 13585, 14963, 16340, 17719, 19096, 20475, 21855, 23232, 24611, 25988, 27366, 28743, 30122, 31500, 32879, 34256, 35634, 37013, 38392, 39770, 41147, 42526, 43903, 45282, 46660, 48041, 49416, 50796, 52172, 53552, 54930, 56308, 57686, 59064, 60442, - 61820, 63201, 64576, 65956, 67333, 68712, 70088, 71469, 72846, 74223, 75602, 76980, 78357, 79736, 81116, 82494, 83872, 85250, 86628, 88006, 89384, 90762, 92140, 93517, 94896, 96273, 97653, 99032, 100409, 101787, 103166, 104543, 105923, 107300, 108678]] - data2 = [int(x*1.085*1.16) for x in [0, 2223, 2449, 2671, 2898, 3124, 3350, 3575, 3801, 4026, 4251, 4477, 4703, 4929, 5154, 5380, 5605, 5830, 6056, 6281, 6507, 6734, 6958, 7182, 7410, 7636, 7860, 8086, 8312, 8538, 8763, 8989, 9213, 9438, 9663, 9890, 10116, 10340, - 10567, 10792, 11017, 11243, 11468, 11695, 11921, 12144, 12371, 12597, 12819, 13047, 13273, 13499, 13725, 13950, 14174, 14400, 14625, 14850, 15077, 15304, 15527, 15753, 15978, 16204, 16430, 16655, 16882, 17108, 17331, 17558, 17784]] - data3 = [int(x*1.085*1.16) for x in [0, 37048, 40807, 44566, 48324, 52084, 55843, 59601, 63360, 67118, 70877, 74636, 78394, 82152, 85910, 89671, 93429, 97186, 100945, 104704, 108465, 112223, 115981, 119740, 123498, 127258, 131014, 134774, 138532, 142292, 146050, 149810, 153568, 157327, 161086, 164844, 168602, 172360, 176119, 179878, 183638, 187396, 191154, 194914, 198671, 202430, 206190, 209948, 213705, 217466, 221223, 224981, 228738, 232499, 236257, 240016, 243775, 247533, 251292, 255052, 258811, 262568, 266326, 270085, 273844, 277602, 281362, 285120, 288879, 292639, 296396]] - 数据 = [data1, data2, data3] - 次数 = [1, 5, 1] - hit数 = sum(次数) - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.32 - - -class 技能20(极诣·剑魂主动技能): - 名称 = '万剑归宗(终结)' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data1 = [int(x*1.085*1.214) for x in [0, 4545, 5604, 6660, 7711, 8768, 9825, 10876, 11934, 12987, 14039, 15100, 16152, 17204, 18258, 19317, 20371, 21423, 22477, 23538, 24590, 25642, 26699, 27751, 28809, 29865, 30919, 31971, 33031, 34084, 35136, 36188, 37250, 38301, 39354, 40409, - 41464, 42522, 43574, 44632, 45684, 46740, 47797, 48850, 49901, 50955, 52015, 53068, 54120, 55175, 56235, 57288, 58340, 59395, 60453, 61505, 62563, 63614, 64669, 65728, 66781, 67834, 68885, 69946, 71001, 72050, 73106, 74166, 75219, 76271, 77329]] - data2 = [int(x*1.085*1.214) for x in [0, 18168, 22383, 26599, 30814, 35020, 39236, 43451, 47668, 51877, 56094, 60308, 64523, 68731, 72945, 77162, 81376, 85588, 89803, 94018, 98226, 102440, 106656, 110871, 115086, 119296, 123511, 127724, 131933, 136151, 140365, 144579, 148793, 153005, 157219, 161433, 165644, 169858, 174074, 178288, 182503, 186712, 190927, 195142, 199354, 203568, 207782, 211997, 216207, 220421, 224636, 228851, 233061, 237276, 241491, 245701, 249916, 254131, 258345, 262560, 266771, 270985, 275199, 279409, 283624, 287838, 292053, 296269, 300479, 304696, 308906]] - 数据 = [data1, data2] - 次数 = [14, 2] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * self.倍率 - - # 该技能hit数不会触发太刀刺伤 - - -class 技能21(极诣·剑魂主动技能): - 名称 = '万剑归宗(穿云刺)' - 所在等级 = 85 - 等级上限 = 1 - 基础等级 = 1 - 数据 = [int(x*1.085*1.214) for x in [0, 982, 1208, 1437, 1664, 1890, 2117, 2347, 2573, 2801, 3029, 3255, 3483, 3710, 3938, 4166, 4393, 4620, 4848, 5075, 5303, 5530, 5758, 5986, 6213, 6441, 6667, 6894, 7122, 7349, 7578, 7805, 8032, 8261, 8488, 8714, 8942, 9171, - 9398, 9624, 9852, 10081, 10307, 10534, 10763, 10989, 11217, 11446, 11673, 11900, 12127, 12354, 12582, 12809, 13037, 13265, 13492, 13720, 13947, 14175, 14400, 14628, 14857, 15084, 15311, 15540, 15766, 15993, 16222, 16449, 16676]] - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - - # 该技能hit数不会触发太刀刺伤 - - -class 技能22(极诣·剑魂主动技能): - 名称 = '极神剑术无形斩' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - data1 = [int(x*1.085*1.16) for x in [0, 20213, 22264, 24315, 26365, 28416, 30467, 32517, 34568, 36619, 38669, 40720, 42771, 44821, 46872, 48923, 50973, 53024, 55075, 57125, 59176, 61227, 63278, 65328, 67379, 69430, 71480, 73531, 75582, 77632, 79683, 81734, 83784, 85835, 87886, 89936, 91987, 94038, 96088, 98139, 100190]] - data2 = [int(x*1.085*1.16) for x in [0, 2887, 3180, 3473, 3766, 4059, 4352, 4645, 4938, 5231, 5524, 5817, 6110, 6403, 6696, 6989, 7281, 7574, 7867, 8160, 8453, 8746, 9039, 9332, 9625, 9918, 10211, 10504, 10797, 11090, 11383, 11676, 11969, 12262, 12555, 12848, 13141, 13434, 13726, 14019, 14312]] - data3 = [int(x*1.085*1.16) for x in [0, 38502, 42408, 46314, 50220, 54126, 58032, 61938, 65844, 69750, 73656, 77563, 81469, 85375, 89281, 93187, 97093, 100999, 104905, 108811, 112717, 116623, 120529, 124435, 128341, 132247, 136153, 140059, 143965, 147871, 151777, 155684, 159590, 163496, 167402, 171308, 175214, 179120, 183026, 186932, 190838]] - 数据 = [data1, data2, data3] - 次数 = [1, 13, 1] - hit数 = sum(次数) - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能23(极诣·剑魂主动技能): - 名称 = '万剑极诣开天斩' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290 - data1 = [int(x*1.085*1.214) for x in [0, 43625, 53743, 63858, 73975, 84091, 94207, 104323, 114439, 124555, 134672, 144787, 154904, 165020, 175136, 185253, 195369, 205485, 215602, 225718, 235833, 245950, 256066, 266183, 276298, 286415, 296531, 306647, 316763, 326880, 336995, 347112, 357228, 367345, 377458, 387575, 397691, 407807, 417925, 428041, 438157]] - data2 = [int(x*1.085*1.214) for x in [0, 57049, 70278, 83507, 96737, 109965, 123193, 136422, 149651, 162880, 176109, 189338, 202567, 215796, 229025, 242253, 255482, 268712, 281941, 295170, 308398, 321627, 334856, 348086, 361314, 374542, 387771, 401000, 414229, 427458, 440687, 453914, 467145, 480373, 493601, 506832, 520060, 533288, 546519, 559746, 572974]] - data3 = [int(x*1.085*1.214) for x in [0, 7830, 9645, 11462, 13276, 15093, 16908, 18724, 20540, 22356, 24172, 25987, 27803, 29619, 31434, 33250, 35066, 36881, 38697, 40513, 42328, 44144, 45960, 47777, 49591, 51408, 53223, 55039, 56854, 58671, 60485, 62300, 64116, 65932, 67747, 69565, 71381, 73196, 75012, 76827, 78642]] - data4 = [int(x*1.085*1.214) for x in [0, 10738, 13228, 15718, 18209, 20699, 23189, 25680, 28169, 30659, 33150, 35639, 38130, 40620, 43109, 45600, 48091, 50581, 53071, 55561, 58051, 60541, 63031, 65521, 68011, 70502, 72992, 75482, 77973, 80462, 82953, 85442, 87931, 90423, 92912, 95401, 97894, 100382, 102872, 105364, 107853]] - data5 = [int(x*1.085*1.214) for x in [0, 134234, 165361, 196488, 227614, 258741, 289868, 320995, 352122, 383248, 414375, 445502, 476629, 507756, 538882, 570009, 601136, 632263, 663390, 694516, 725643, 756770, 787897, 819024, 850151, 881277, 912404, 943531, 974658, 1005785, 1036911, 1068037, 1099165, 1130292, 1161418, 1192546, 1223672, 1254798, 1285927, 1317053, 1348178]] - 数据 = [data1, data2, data3, data4, data5] - 次数 = [1, 1, 6, 5, 1] - hit数 = sum(次数) - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * self.倍率 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能24(被动技能): - 名称 = '极神剑术' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['拔刀斩', '破军斩龙击', '极鬼剑术暴风式', '破空拔刀斩', '极神剑术瞬斩', - '万剑归宗(终结)', '万剑归宗(穿云刺)', '极神剑术无形斩', '万剑极诣开天斩'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - # 基础值 40% - 暴风式冲击波 = [int(x*1.085*1.0) for x in [0, 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276]] - # 基础值 21% - 飓风 = [int(x*1.085*1.0) for x in [0, 0, 20, 40, 60, 80, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500, 520, 540, 560, 580, 600, 620, 640, 660, 680, 700, 720, 740, 760, 780, 800, 820, 840, 860, 880, 900, 920, 940, 960, 980, 1000, 1020, 1040, 1060, 1080, 1100, 1120, 1140, 1160, 1180, 1200, 1220, 1240, 1260, 1280, 1300, 1320, 1340, 1360, 1380]] - # 基础值 55% - 幻影斩击 = [int(x*1.085*1.0) for x in [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345]] - # 基础值 55% - 幻影剑气 = [int(x*1.085*1.0) for x in [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345]] - # 基础值 41% - 幻影钝器 = [int(x*1.085*1.0) for x in [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345]] - # 基础值 60% - 十字斩 = [int(x*1.085*1.0) for x in [0, 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168, 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240, 246, 252, 258, 264, 270, 276, 282, 288, 294, 300, 306, 312, 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378, 384, 390, 396, 402, 408, 414]] - # 流星之天剑 - 流星之天剑 = [int(x*1.085*1.15488) for x in [0, 3125, 3386, 3645, 3906, 4168, 4428, 4688, 4948, 5208, 5469, 5730, 5990, 6250, 6511, 6772, 7031, 7292, 7551, 7813, 8074, 8334, 8594, 8855, 9116, 9375, 9636, 9897, 10157, 10417, 10678, 10937, 11199, 11460, 11719, 11980, 12241, 6814, 6951, 7084, 7222, 7358, 7492, 7630, 7768, 7901, 8038, 8176, 8310, 8446, 8584, 8717, 8855, 8992, 9126, 9264, 9399, 9533, 9671, 9809, 9943, 10080, 10218, 10351, 10487, 10625, 10758, 10896, 11033, 11167, 11304]] - # 巨剑流星之天剑追加 - 巨剑流星之天剑 = [int(x*1.085*1.0) for x in [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80]] - # 钝器冲击波 - 钝器流星之天剑 = [int(x*1.085*1.155) for x in [0, 1936, 2100, 2263, 2424, 2589, 2752, 2916, 3080, 3241, 3406, 3569, 3733, 3896, 4058, 4222, 4385, 4548, 4712, 4874, 5038, 5202, 5365, 5529, 5691, 5855, 6018, 6181, 6345, 6507, 6670, 6834, 6999, 7163, 7324, 7488, 7652, 7815, 7979, 8141, 8304, 8468, 8631, 8796, 8957, 9121, 9285, 9448, 9611, 9774, 9937, 10100, 10264, 10427, 10590, 10753, 10917, 11081, 11244, 11407, 11570, 11733, 11897, 12060, 12222, 12386, 12549, 12715, 12878, 13040, 13204]] - # 太刀刺伤 - 刺伤几率 = [int(x*1.085*1.0) for x in [0, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]] - 可附加的刺伤数量 = [int(x*1.085*1.0) for x in [0, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12]] - # 光剑冲击波 - 光剑流星之天剑 = [int(x*1.085*1.155) for x in [0, 1296, 1494, 1691, 1888, 2085, 2283, 2478, 2676, 2874, 3070, 3268, 3465, 3662, 3860, 4057, 4253, 4450, 4648, 4844, 5042, 5240, 5435, 5633, 5829, 6027, 6224, 6421, 6618, 6816, 7012, 7209, 7407, 7603, 7801, 7998, 8194, 8392, 8589, 8786, 8983, 9181, 9377, 9575, 9773, 9968, 10166, 10363, 10560, 10757, 10955, 11150, 11348, 11546, 11742, 11940, 12136, 12334, 12532, 12727, 12925, 13122, 13319, 13516, 13714, 13909, 14107, 14305, 14501, 14699, 14896]] - - def 天剑刺伤层数(self): - return self.刺伤几率[self.等级] / 100 * self.可附加的刺伤数量[self.等级] - - def 附加倍率(self, 技能): - if 技能 == '破军升龙击': - return 0.40 + self.暴风式冲击波[self.等级] / 100 - elif 技能 == '猛龙断空斩': - return 0.21 + self.飓风[self.等级] / 1000 - elif 技能 == '幻影剑舞斩击': - return 0.55 + self.幻影斩击[self.等级] / 100 - elif 技能 == '幻影剑舞剑气': - return 0.55 + self.幻影剑气[self.等级] / 100 - elif 技能 == '幻影剑舞钝器': - return 0.41 + self.幻影钝器[self.等级] / 100 - elif 技能 == '极神剑术破空斩': - return 0.60 + self.十字斩[self.等级] / 100 - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '常规技能攻击力 +%.1f%%' % (22 + 2 * self.等级) + '
' - temp += '[破军升龙击]上斩:%.1f%%' % (self.附加倍率('破军升龙击') * 100) + '
' - temp += '[猛龙断空斩]突进斩击:%.1f%%' % (self.附加倍率('猛龙断空斩') * 100) + '
' - temp += '[幻影剑舞]斩击:%.1f%%' % (self.附加倍率('幻影剑舞斩击') * 100) + '
' - if 武器类型 == '钝器': - temp += '[幻影剑舞]钝器最后一击:%.1f%%' % (self.附加倍率('幻影剑舞钝器') - * 100) + '
' - else: - temp += '[幻影剑舞]剑气:%.1f%%' % (self.附加倍率('幻影剑舞剑气') * 100) + '
' - temp += '[极 · 神剑术 (破空斩)]爆炸:%.1f%%' % (self.附加倍率('极神剑术破空斩') - * 100) + '
' - temp += '流星之天剑攻击力:%.1f%%' % self.流星之天剑[self.等级] - return temp - - -class 技能25(被动技能): - 名称 = '无形剑意' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - 短剑流心刺 = [int(x*1.085*1.0) for x in [0, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, - 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147]] - 短剑流心刺空中 = [int(x*1.085*1.0) for x in [0, 13, 15, 16, 17, 19, 20, 21, 23, 24, 25, 27, 28, 29, 31, 32, 33, 35, 36, - 37, 39, 40, 41, 43, 44, 45, 47, 48, 49, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63, 64, 65]] - 太刀流心跃 = [int(x*1.085*1.0) for x in [0, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, - 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 20]] - 太刀流心升 = [int(x*1.085*1.0) for x in [0, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 34, - 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 58, 59]] - 钝器流心刺 = [int(x*1.085*1.0) for x in [0, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, - 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245]] - 巨剑流心刺下斩 = [int(x*1.085*1.0) for x in [0, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149]] - 巨剑流心刺旋风 = [int(x*1.085*1.0) for x in [0, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, - 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87]] - 巨剑流心刺空中 = [int(x*1.085*1.0) for x in [0, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, - 316, 320, 324, 328, 332, 336, 340, 344, 348, 352, 356, 360, 364, 368, 372, 376, 380, 384, 388, 392, 396]] - 光剑流心升 = [int(x*1.085*1.0) for x in [0, 48, 53, 58, 62, 67, 72, 77, 82, 86, 91, 96, 101, 106, 110, 115, 120, 125, 130, 134, 139, - 144, 149, 154, 158, 163, 168, 173, 178, 182, 187, 192, 197, 202, 206, 211, 216, 221, 226, 230, 235]] - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '常规技能攻击力 +%.1f%%' % (18 + 2 * self.等级) + '
' - if 武器类型 == '短剑': - temp += '短剑流心刺:%.1f%%' % self.短剑流心刺[self.等级] + '
' - temp += '短剑流心刺空中:%.1f%%' % self.短剑流心刺空中[self.等级] + ' x 3' - elif 武器类型 == '太刀': - temp += '太刀流心跃:%.1f%%' % self.太刀流心跃[self.等级] + ' x 5
' - temp += '太刀流心升:%.1f%%' % self.太刀流心升[self.等级] + ' x 4' - elif 武器类型 == '钝器': - temp += '钝器流心刺:%.1f%%' % self.钝器流心刺[self.等级] - elif 武器类型 == '巨剑': - temp += '巨剑流心刺下斩:%.1f%%' % self.巨剑流心刺下斩[self.等级] + '
' - temp += '巨剑流心刺旋风:%.1f%%' % self.巨剑流心刺旋风[self.等级] + ' x 3
' - temp += '巨剑流心刺空中:%.1f%%' % self.巨剑流心刺空中[self.等级] - elif 武器类型 == '光剑': - temp += '光剑流心升:%.1f%%' % self.光剑流心升[self.等级] - return temp - - -class 技能26(被动技能): - 名称 = '短剑精通' - 所在等级 = 15 - 等级上限 = 2 - 基础等级 = 1 - 关联技能 = ['所有'] - # 物理攻击力增加 - data1 = [0, 127, 142, 158, 173, 188, 203, 218, 233, 248, 263, 278, 293, 308, 323, 338, 353, 368, 383, 398, 413, 428, 443, 463, 483, 503, 523, 543, 563, 583, 603, 623, 643, 663, 683, 703, 723, 743, 763, 783, 803, 823, 843, 863, 883, 903, 923, 943, 963, 983, 1003, 1023, 1043, 1063, 1083, 1103, 1123, 1143, 1163, 1183, 1203, 1223, 1243, 1263, 1283, 1303, 1323, 1343, 1363, 1383, 1403] - # 魔法攻击力增加 - data2 = [0, 12, 26, 39, 51, 64, 77, 90, 103, 116, 129, 141, 154, 167, 180, 193, 206, 219, 231, 244, 257, 270, 283, 296, 309, 321, 334, 347, 360, 373, 386, 399, 411, 424, 437, 450, 463, 476, 489, 501, 514, 527, 540, 553, 566, 579, 591, 604, 617, 630, 643, 656, 669, 681, 694, 707, 720, 733, 746, 759, 771, 784, 797, 810, 823, 836, 849, 861, 874, 887, 900] - # [里 · 鬼剑术]剑气攻击力 - data3 = [0, 386, 399, 410, 422, 433, 443, 456, 466, 479, 489, 499, 512, 522, 536, 545, 555, 569, 579, 592, 602, 612, 625, 635, 648, 658, 669, 681, 692, 705, 715, 726, 738, 749, 761, 772, 782, 795, 805, 818, 828, 840, 852, 862, 875, 885, 897, 908, 920, 931, 942, 953, 965, 977, 988, 999, 1010, 1022, 1033, 1045, 1056, 1067, 1077, 1088, 1098, 1109, 1119, 1130, 1140, 1151, 1161] - - def 加成倍率(self, 武器类型): - if 武器类型 != '短剑': - return 1.0 - else: - return round(self.data1[self.等级] / 1000 + 1, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - if 武器类型 != '短剑': - return 1.0 - else: - return round(self.data2[self.等级] / 1000 + 1, 3) - - # [里 · 鬼剑术]剑气攻击力 一轮3段 - def 里鬼附加百分比(self, 武器类型): - if 武器类型 != '短剑': - return 0 - else: - return self.data3[self.等级] * 3 - - -class 技能27(被动技能): - 名称 = '太刀精通' - 所在等级 = 15 - 等级上限 = 2 - 基础等级 = 1 - 关联技能 = ['所有'] - - # 物理攻击力增加 - data1 = [0, 52, 67, 82, 97, 112, 127, 142, 157, 172, 187, 202, 217, 232, 247, 262, 277, 292, 307, 322, 337, 352, 367, 387, 407, 427, 447, 467, 487, 507, 527, 547, 567, 587, 607, 627, 647, 667, 687, 707, 727, 747, 767, 787, 807, 827, 847, 867, 887, 907, 927, 947, 967, 987, 1007, 1027, 1047, 1067, 1087, 1107, 1127, 1147, 1167, 1187, 1207, 1227, 1247, 1267, 1287, 1307, 1327] - # 魔法攻击力增加 - data2 = [0, 13, 28, 41, 54, 68, 82, 96, 109, 123, 137, 150, 164, 177, 191, 205, 219, 233, 245, 259, 273, 287, 301, 314, 328, 341, 355, 369, 382, 396, 410, 424, 437, 450, 464, 478, 492, 506, 520, 532, 546, 560, 574, 588, 601, 615, 628, 642, 656, 669, 683, 697, 711, 724, 737, 751, 765, 779, 793, 806, 819, 833, 847, 861, 874, 888, 902, 915, 929, 942, 956] - # 刺伤几率 - data3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, - 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 57, 58, 58, 59, 59, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 66, 66, 67, 67] - # 刺伤爆炸伤害(下限) - data4 = [int(x*1.085*1.162) for x in [0,0, 0, 0, 0, 0, 0, 0, 0, 0, 1778, 1889, 2001, 2112, 2221, 2332, 2441, 2554, 2664, 2775, 2884, 2997, 3107, 3220, 3327, 3440, 3547, 3660, 3772, 3883, 3993, 4103, 4213, 4326, 4435, 4549, 4658, 4771, 4883, 4993, 5106, 5216, 5329, 5441, 5553, 5666, 5776, 5889, 5998, 6112, 6221, 6333, 6447, 6556, 6669, 6781, 6893, 7004, 7116, 7227, 7339, 7452, 7567, 7683, 7802, 7922, 8044, 8167, 8293, 8421, 8551]] - # 刺伤爆炸伤害(上限) - data5 = [int(x*1.085*1.162) for x in [0,0, 0, 0, 0, 0, 0, 0, 0, 0, 12354, 13122, 13891, 14659, 15428, 16197, 16965, 17734, 18503, 19271, 20040, 20809, 21577, 22346, 23113, 23882, 24650, 25419, 26188, 26956, 27725, 28494, 29262, 30031, 30800, 31568, 32337, 33105, 33874, 34643, 35411, 36180, 36949, 37717, 38486, 39255, 40023, 40792, 41561, 42328, 43096, 43865, 44634, 45402, 46171, 46940, 47708, 48477, 49246, 50014, 50783, 51552, 52333, 53125, 53930, 54746, 55575, 56417, 57271, 58138, 59019]] - # 刺伤持续伤害 - data6 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 12, 12, 12, 13, 13, 13, 13, 13, 14, 14, 15, 15, 17, 17, 17, 18, - 18, 18, 18, 18, 19, 19, 21, 21, 21, 22, 22, 23, 23, 23, 23, 23, 24, 24, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33] - # [空中连斩]附加攻击力 - data7 = [0, 66, 70, 74, 78, 80, 85, 88, 93, 96, 99, 103, 106, 110, 114, 118, 121, 125, 128, 131, 135, 139, 143, 146, 150, 154, 156, 161, 165, 168, 171, 176, 179, 183, 188, 190, 194, 196, 200, 205, 209, 213, 259, 263, 268, 271, 276, 280, 285, 289, 294, 299, 303, 306, 311, 316, 320, 324, 329, 333, 338, 343, 348, 353, 358, 363, 368, 373, 378, 383, 388] - - def 加成倍率(self, 武器类型): - if 武器类型 != '太刀': - return 1.0 - else: - return round(self.data1[self.等级] / 1000 + 1, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - if 武器类型 != '太刀': - return 1.0 - else: - return round(self.data2[self.等级] / 1000 + 1, 3) - - def 刺伤概率(self, 武器类型): - if 武器类型 != '太刀': - return 0 - else: - return self.data3[self.等级] / 100 - - # 17层结算一次 - 刺伤层数 = 0 - 刺伤浮动 = 1 - - def 刺伤百分比(self, 武器类型): - if 武器类型 != '太刀': - return 0 - else: - return self.刺伤浮动 * self.刺伤层数 / 17 * self.data5[self.等级] - - # [空中连斩]附加攻击力 - def 太刀附加(self, 武器类型): - if 武器类型 != '太刀': - return 0 - else: - return self.data7[self.等级] - - -class 技能28(被动技能): - 名称 = '巨剑精通' - 所在等级 = 15 - 等级上限 = 2 - 基础等级 = 1 - 关联技能 = ['所有'] - - # 物理攻击力增加 - data1 = [0, 69, 84, 99, 114, 129, 144, 159, 174, 189, 204, 219, 234, 249, 264, 279, 294, 309, 324, 339, 354, 369, 384, 404, 424, 444, 464, 484, 504, 524, 544, 564, 584, 604, 624, 644, 664, 684, 704, 724, 744, 764, 784, 804, 824, 844, 864, 884, 904, 924, 944, 964, 984, 1004, 1024, 1044, 1064, 1084, 1104, 1124, 1144, 1164, 1184, 1204, 1224, 1244, 1264, 1284, 1304, 1324, 1344] - # 魔法攻击力增加 - data2 = [0, 14, 31, 46, 60, 75, 90, 106, 121, 136, 151, 165, 181, 196, 211, 226, 242, 257, 271, 286, 302, 317, 332, 347, 363, 377, 392, 407, 422, 438, 453, 468, 482, 498, 513, 528, 543, 559, 574, 588, 603, 618, 634, 649, 664, 679, 693, 709, 724, 739, 754, 770, 785, 799, 814, 830, 845, 860, 875, 891, 905, 920, 935, 950, 966, 981, 996, 1010, 1026, 1041, 1056] - # [里 · 鬼剑术]额外附加 - data3 = [0, 238, 300, 362, 424, 487, 549, 611, 673, 735, 798, 860, 922, 984, 1047, 1109, 1171, 1233, 1295, 1358, 1420, 1482, 1544, 1607, 1668, 1730, 1792, 1854, 1917, 1979, 2041, 2103, 2166, 2228, 2290, 2352, 2414, 2477, 2539, 2601, 2663, 2726, 2788, 2850, 2912, 2975, 3037, 3099, 3161, 3222, 3285, 3347, 3409, 3471, 3534, 3596, 3658, 3720, 3782, 3845, 3907, 3969, 4031, 4094, 4156, 4218, 4280, 4342, 4405, 4467, 4529] - - def 加成倍率(self, 武器类型): - if 武器类型 != '巨剑': - return 1.0 - else: - return round(self.data1[self.等级] / 1000 + 1, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - if 武器类型 != '巨剑': - return 1.0 - else: - return round(self.data2[self.等级] / 1000 + 1, 3) - - def 里鬼附加百分比(self, 武器类型): - if 武器类型 != '巨剑': - return 0 - else: - return self.data3[self.等级] - - -class 技能29(被动技能): - 名称 = '钝器精通' - 所在等级 = 15 - 等级上限 = 2 - 基础等级 = 1 - 关联技能 = ['所有'] - # 物理攻击力增加 - data1 = [0, 73, 88, 103, 118, 133, 148, 163, 178, 193, 208, 223, 238, 253, 268, 283, 298, 313, 328, 343, 358, 373, 388, 408, 428, 448, 468, 488, 508, 528, 548, 568, 588, 608, 628, 648, 668, 688, 708, 728, 748, 768, 788, 808, 828, 848, 868, 888, 908, 928, 948, 968, 988, 1008, 1028, 1048, 1068, 1088, 1108, 1128, 1148, 1168, 1188, 1208, 1228, 1248, 1268, 1288, 1308, 1328, 1348] - # 魔法攻击力增加 - data2 = [0, 14, 29, 44, 58, 73, 87, 102, 117, 132, 146, 160, 175, 189, 204, 219, 234, 248, 262, 277, 291, 306, 321, 336, 350, 364, 379, 393, 408, 423, 438, 452, 466, 481, 496, 510, 525, 540, 554, 568, 583, 598, 612, 627, 642, 657, 670, 685, 700, 714, 729, 744, 759, 772, 787, 802, 816, 831, 846, 861, 874, 889, 904, 918, 933, 948, 963, 976, 991, 1006, 1021] - - def 加成倍率(self, 武器类型): - if 武器类型 != '钝器': - return 1.0 - else: - return round(self.data1[self.等级] / 1000 + 1, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - if 武器类型 != '钝器': - return 1.0 - else: - return round(self.data2[self.等级] / 1000 + 1, 3) - - -class 技能30(被动技能): - 名称 = '光剑精通' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['所有'] - # 物理攻击力增加 - data1 = [0, 95, 110, 125, 140, 155, 170, 185, 200, 215, 230, 245, 260, 275, 290, 305, 320, 335, 350, 365, 380, 395, 410, 430, 450, 470, 490, 510, 530, 550, 570, 590, 610, 630, 650, 670, 690, 710, 730, 750, 770, 790, 810, 830, 850, 870, 890, 910, 930, 950, 970, 990, 1010, 1030, 1050, 1070, 1090, 1110, 1130, 1150, 1170, 1190, 1210, 1230, 1250, 1270, 1290, 1310, 1330, 1350, 1370] - # 魔法攻击力增加 - data2 = [0, 25, 38, 50, 63, 76, 88, 101, 113, 126, 139, 151, 164, 176, 189, 202, 214, 227, 239, 252, 265, 277, 290, 302, 315, 328, 340, 353, 365, 378, 391, 403, 416, 428, 441, 454, 66, 479, 491, 504, 517, 529, 542, 554, 567, 580, 592, 605, 617, 630, 630, 785, 800, 815, 831, 845, 860, 876, 890, 906, 921, 936, 951, 966, 981, 996, 1011, 1027, 1042, 1056, 1072] - - def 加成倍率(self, 武器类型): - if 武器类型 != '光剑': - return 1.0 - else: - return round(self.data1[self.等级] / 1000 + 1, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - if 武器类型 != '光剑': - return 1.0 - else: - return round(self.data2[self.等级] / 1000 + 1, 3) - - -class 技能31(极诣·剑魂主动技能): - hit数 = 2 - 名称 = '空中连斩' - 备注 = '(一刀,TP为基础精通)' - 所在等级 = 5 - 等级上限 = 11 - 基础等级 = 1 - CD = 1.0 - TP成长 = 0.1 - TP上限 = 3 - 数据 = [int(x*1.085*1.0) for x in [0, 180, 193, 204, 216, 228, 240, 253, 264, 276, 288, 300, 313, 324, 336, 348, 360, 373, 384, 396, 408, 420, 433, 444, 456, 468, 480, 493, 504, 516, 528, 540, 553, 564, 576, 588, 600, 613, 624, 636, 648, 660, 673, 684, 696, 708, 720, 733, 744, 756, 768, 780, 793, 804, 816, 828, 840, 853, 864, 876, 888, 900, 913, 924, 936, 948, 960, 973, 984, 996, 1008]] - - 太刀附加 = 0 - - def 等效百分比(self, 武器类型): - if 武器类型 != '太刀': - return self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - else: - return (self.数据[self.等级] - 100 + self.太刀附加) * (1 + self.TP成长 * self.TP等级) * self.倍率 * 2 * 1.5 - - def 穿云刺数量(self, 武器类型): - return 1 - - -class 技能32(被动技能): - 名称 = '神影手' - 所在等级 = 70 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['无'] - 百分比 = 3760 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·剑魂一觉序号 = 0 -极诣·剑魂二觉序号 = 21 -极诣·剑魂三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·剑魂一觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·剑魂三觉序号 = 技能序号[i.名称] - -极诣·剑魂护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·剑魂护石选项.append(i.名称) - -极诣·剑魂符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·剑魂符文选项.append(i.名称) - - -class 极诣·剑魂角色属性(角色属性): - - 实际名称 = '极诣·剑魂' - 角色 = '鬼剑士(男)' - 职业 = '剑魂' - - 武器选项 = ['光剑', '巨剑', '钝器', '太刀', '短剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - 武器类型 = '光剑' - - 主BUFF = 1.82 - - 刀魂之卡赞 = 0 - - 流心刺状态 = 0 - 流心跃状态 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能等级加成(self, 加成类型, minLv, maxLv, lv, 可变=0): - lv = int(lv) - if self.装备描述 == 1: - if 加成类型 == "所有": - if minLv == maxLv: - return "Lv{} 技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 技能等级+{}
".format(minLv, maxLv, lv) - else: - if minLv == maxLv: - return "Lv{} 主动技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 主动技能等级+{}
".format(minLv, maxLv, lv) - else: - if self.刀魂之卡赞 > 0: - if minLv <= 5 and maxLv >= 5: - self.刀魂之卡赞 = min(20, self.刀魂之卡赞 + lv) - - for i in self.技能栏: - if i.名称 not in ['太刀精通', '巨剑精通', '短剑精通', '钝器精通']: - if i.所在等级 >= minLv and i.所在等级 <= maxLv: - if 加成类型 == '所有': - i.等级加成(lv) - else: - if i.是否主动 == 1: - i.等级加成(lv) - if 可变 > 0: - self.变换词条[可变-1] = [6, 2, 14 + - (2 if 可变 > 1 else 4), 14 + (9 if 可变 > 1 else 17)] - return '' - - def 被动倍率计算(self): - - if self.技能栏[self.技能序号['武器奥义']].等级 != 0: - for i in ['太刀精通', '短剑精通', '巨剑精通', '光剑精通', '钝器精通']: - if self.技能栏[self.技能序号[i]].等级 != 0: - self.技能栏[self.技能序号[i] - ].等级 += (self.技能栏[self.技能序号['武器奥义']].等级 + 1) - if self.武器类型 not in i: - self.技能栏[self.技能序号[i]].关联技能 = ['无'] - - super().被动倍率计算() - - self.技能栏[self.技能序号['万剑归宗(穿云刺)'] - ].等级 = self.技能栏[self.技能序号['万剑归宗(终结)']].等级 - self.技能栏[self.技能序号['空中连斩'] - ].太刀附加 = self.技能栏[self.技能序号['太刀精通']].太刀附加(self.武器类型) - - if self.流心跃状态 == 1: - self.技能栏[self.技能序号['流心跃']].武器倍率['钝器'] = 1.2 # 空中增伤20% - - if self.流心刺状态 == 1: - self.技能栏[self.技能序号['流心刺']].武器倍率['短剑'] = 2 # 空中2段 - - self.技能栏[self.技能序号['流心刺']].武器倍率['太刀'] = 2 # 空中2段 - self.技能栏[self.技能序号['流心刺']].hit数 = 2 - - self.技能栏[self.技能序号['流心刺']].武器倍率['巨剑'] = 2 # 空中1段,伤害为200% - - self.技能栏[self.技能序号['流心刺']].武器倍率['光剑'] = 2 # 空中2段 - - 无形剑意 = self.技能栏[self.技能序号['无形剑意']] - if 无形剑意.等级 != 0: - 基础倍率 = 无形剑意.加成倍率(self.武器类型) - if self.武器类型 == '短剑': - self.技能栏[self.技能序号['流心刺']].被动倍率 /= 基础倍率 - if self.流心刺状态 == 1: - self.技能栏[self.技能序号['流心刺']].被动倍率 *= 1 + 3 * \ - (无形剑意.短剑流心刺空中[无形剑意.等级] / 100) / 2 # 空中2段 - else: - self.技能栏[self.技能序号['流心刺']].被动倍率 *= 1 + 2 * \ - (无形剑意.短剑流心刺[无形剑意.等级] / 100) / 3 # 地面2 + 1段 - - if self.武器类型 == '太刀': - self.技能栏[self.技能序号['流心跃']].被动倍率 /= 基础倍率 - self.技能栏[self.技能序号['流心升']].被动倍率 /= 基础倍率 - - self.技能栏[self.技能序号['流心跃']].hit数 += 5 - self.技能栏[self.技能序号['流心跃']].被动倍率 *= 1 + \ - (无形剑意.太刀流心跃[无形剑意.等级] / 100) * 5 / (2 * 0.5) - - self.技能栏[self.技能序号['流心升']].hit数 += 4 - self.技能栏[self.技能序号['流心升']].被动倍率 *= 1 + 4 * \ - (无形剑意.太刀流心升[无形剑意.等级] / 100) / (3 * 0.8) - - if self.武器类型 == '钝器': - self.技能栏[self.技能序号['流心刺']].被动倍率 /= 基础倍率 - self.技能栏[self.技能序号['流心刺']].被动倍率 *= 1 + \ - (无形剑意.钝器流心刺[无形剑意.等级] / 100) / (2 * 1.25) - - if self.武器类型 == '巨剑': - self.技能栏[self.技能序号['流心刺']].被动倍率 /= 基础倍率 - - if self.流心刺状态 == 1: - # 空中1段,伤害为200% - self.技能栏[self.技能序号['流心刺'] - ].被动倍率 *= (无形剑意.巨剑流心刺空中[无形剑意.等级] / 100) / 2 - else: - self.技能栏[self.技能序号['流心刺']].被动倍率 *= ((2 + 1) * ( - 无形剑意.巨剑流心刺下斩[无形剑意.等级] / 100) + (无形剑意.巨剑流心刺旋风[无形剑意.等级] / 100) * 3) / (2 + 1) - # 基础:地面2 + 1段 加成后:地面1段(200%伤害) + 下斩1段 + 旋风3段 - - if self.武器类型 == '光剑': - self.技能栏[self.技能序号['流心升']].被动倍率 /= 基础倍率 - self.技能栏[self.技能序号['流心升']].被动倍率 *= 1 + \ - (无形剑意.光剑流心升[无形剑意.等级] / 100) / (3 * 0.8) - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - - # 剑魂穿云刺数量计算 - if '/CD' in self.次数输入[self.技能序号['万剑归宗(穿云刺)']]: - 穿云刺数量 = 0 - for i in self.技能栏: - if i.是否主动 == 1: - if 技能释放次数[self.技能序号[i.名称]] <= 1: - 穿云刺数量 += i.穿云刺数量(self.武器类型) * 技能释放次数[self.技能序号[i.名称]] - else: - 穿云刺数量 += i.穿云刺数量(self.武器类型) * \ - int(技能释放次数[self.技能序号[i.名称]] * 0.6) - 技能释放次数[self.技能序号['万剑归宗(穿云刺)']] = eval(self.次数输入[self.技能序号['万剑归宗(穿云刺)']].replace('/CD', str(穿云刺数量))) - - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 剑魂特殊效果 - # 极神剑术 - if self.技能栏[self.技能序号['极神剑术']].等级 != 0: - - 极神剑术序号 = self.技能序号['极神剑术'] - 极神剑术 = self.技能栏[极神剑术序号] - - 伤害整合 = 0 - - 技能释放次数[极神剑术序号] = 1 - - a = self.技能序号['破军升龙击'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - temp = 技能总伤害[a] * b.极神剑术占比(self.武器类型) * 极神剑术.附加倍率('破军升龙击') - - 伤害整合 += temp / (0.7 if self.装备检查('奔流不息之狂风') else 1.0) - - a = self.技能序号['猛龙断空斩'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - temp = 技能总伤害[a] * b.极神剑术占比(self.武器类型) * \ - b.旋风攻击次数 * 极神剑术.附加倍率('猛龙断空斩') - - 伤害整合 += temp / (0.7 if self.装备检查('奔流不息之伽蓝') else 1.0) - - a = self.技能序号['幻影剑舞'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - temp = 技能总伤害[a] * b.极神剑术斩击占比(self.武器类型) * \ - b.影子斩击次数 * 极神剑术.附加倍率('幻影剑舞斩击') - if self.武器类型 != '钝器': - 剑气次数 = (4 if self.武器类型 == '短剑' else 3) - temp += 技能总伤害[a] * \ - b.极神剑术剑气占比(self.武器类型) * 剑气次数 * 极神剑术.附加倍率('幻影剑舞剑气') - else: - temp += 技能总伤害[a] * \ - b.极神剑术剑气占比(self.武器类型) * 4.2 * 极神剑术.附加倍率('幻影剑舞钝器') - - 伤害整合 += temp / (0.7 if (self.装备检查('奔流不息之岁月') - or self.装备检查('英明循环之生命')) else 1.0) - - a = self.技能序号['极神剑术破空斩'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - 技能总伤害[a] += 技能总伤害[a] * \ - b.极神剑术占比(self.武器类型) * 极神剑术.附加倍率('极神剑术破空斩') - # 该伤害统计在本体技能内 - - a = self.技能序号['极神剑术流星落'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - 倍率 = 技能总伤害[a] / b.等效百分比(self.武器类型) - temp = 倍率 * 3 * 极神剑术.流星之天剑[极神剑术.等级] * b.流星之天剑倍率 - if self.武器类型 == '太刀': - b.hit数 += 3 - b.流星之天剑刺伤层数 = 极神剑术.天剑刺伤层数() - elif self.武器类型 == '巨剑': - temp *= 1 + 极神剑术.巨剑流星之天剑[极神剑术.等级] / 100 - elif self.武器类型 == '钝器': - temp += 倍率 * 3 * 74 # 极神剑术.钝器流星之天剑[极神剑术.等级] - elif self.武器类型 == '光剑': - temp += 倍率 * 3 * 74 # 极神剑术.光剑流星之天剑[极神剑术.等级] - # 已知BUG,钝器光剑追加的额外天剑伤害极低,约只有74% - # if self.版本 == 'GF': - # 伤害整合 += temp / (1.2 if ('永恒不息之路[2]' in self.套装栏) else 1.0) - # else: - 伤害整合 += temp - - 技能总伤害[极神剑术序号] += 伤害整合 - - # 其它伤害 - 通用倍率 = 1.0 - - for name in ['光剑精通', '短剑精通', '巨剑精通', '太刀精通', '钝器精通', '无我剑气', '极鬼剑术斩铁式', '无形剑意']: - 通用倍率 *= self.技能栏[self.技能序号[name]].加成倍率(self.武器类型) - - 通用倍率 *= 1 + self.白兔子技能 * 0.20 + self.斗神之吼秘药 * 0.12 # 默认无宠物 - - # 里鬼附加伤害 - a = self.技能序号['里鬼剑术'] - b = self.技能栏[a] - if 技能总伤害[a] != 0: - 倍率 = 技能总伤害[self.技能序号['里鬼剑术']] / b.等效百分比(self.武器类型) / b.被动倍率 - if self.武器类型 == '巨剑': - 技能释放次数[self.技能序号['巨剑精通']] = 1 - 技能总伤害[self.技能序号['巨剑精通']] += self.技能栏[self.技能序号['巨剑精通'] - ].里鬼附加百分比(self.武器类型) * 通用倍率 * 倍率 - elif self.武器类型 == '短剑': - 技能释放次数[self.技能序号['短剑精通']] = 1 - 技能总伤害[self.技能序号['短剑精通']] += self.技能栏[self.技能序号['短剑精通'] - ].里鬼附加百分比(self.武器类型) * 通用倍率 * 倍率 - - # 太刀刺伤 - if self.武器类型 == '太刀': - - 总hit = 0 - - a = self.技能序号['太刀精通'] - b = self.技能栏[a] - - for i in self.技能栏: - if i.是否主动 == 1: - 释放次数 = 技能释放次数[self.技能序号[i.名称]] - 总hit += i.hit数 * 释放次数 - b.刺伤层数 += i.额外刺伤层数(self.武器类型) * 释放次数 - - b.刺伤层数 += 总hit * b.刺伤概率(self.武器类型) - - 技能释放次数[a] = 1 - 技能总伤害[a] = b.刺伤百分比(self.武器类型) * 通用倍率 * self.伤害指数 - - # 神影手 - if self.技能栏[self.技能序号['拔刀斩']].触发神影手 == 1 and 技能总伤害[self.技能序号['拔刀斩']] != 0: - - 技能释放次数[self.技能序号['神影手']] = 技能释放次数[self.技能序号['拔刀斩']] - - 神影手倍率 = 1.0 - - for name in ['光剑精通', '短剑精通', '巨剑精通', '太刀精通', '钝器精通']: - 神影手倍率 *= self.技能栏[self.技能序号[name]].加成倍率(self.武器类型) - - 比例 = self.技能栏[self.技能序号['神影手']].百分比 * self.伤害指数 * \ - 神影手倍率 / self.主BUFF / 技能单次伤害[self.技能序号['拔刀斩']] - - 技能总伤害[self.技能序号['神影手']] = 比例 * 技能总伤害[self.技能序号['拔刀斩']] - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - def 三觉屏蔽2(self): - if self.屏蔽三觉 == True: - temp = None - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= 1.045 + 0.005 * self.超卓之心等级 - if j.所在等级 == 100: - temp = j - if self.觉醒之抉择技能 == '万剑归宗(穿云刺)': - self.技能栏[self.技能序号['万剑归宗(穿云刺)']].被动倍率 *= 1.1 + 0.05 * temp.等级 - self.技能栏[self.技能序号['万剑归宗(终结)']].被动倍率 *= 1.1 + 0.05 * temp.等级 - -class 极诣·剑魂(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·剑魂角色属性() - self.角色属性A = 极诣·剑魂角色属性() - self.角色属性B = 极诣·剑魂角色属性() - self.一觉序号 = 极诣·剑魂一觉序号 - self.二觉序号 = 极诣·剑魂二觉序号 - self.三觉序号 = 极诣·剑魂三觉序号 - self.护石选项 = deepcopy(极诣·剑魂护石选项) - self.符文选项 = deepcopy(极诣·剑魂符文选项) - - def 界面(self): - super().界面() - - self.流心刺状态 = QCheckBox('空中释放流心刺', self.main_frame2) - self.流心刺状态.resize(120, 20) - self.流心刺状态.move(325, 595) - self.流心刺状态.setStyleSheet(复选框样式) - self.流心刺状态.setToolTip('除钝器外其它武器生效') - - self.流心跃状态 = QCheckBox('空中释放流心跃', self.main_frame2) - self.流心跃状态.resize(120, 20) - self.流心跃状态.move(325, 625) - self.流心跃状态.setStyleSheet(复选框样式) - self.流心跃状态.setToolTip('仅钝器生效') - - self.太刀刺伤浮动 = MyQComboBox(self.main_frame2) - for i in range(100, 136): - self.太刀刺伤浮动.addItem('太刀刺伤浮动:' + str(i) + '%') - self.太刀刺伤浮动.resize(135, 20) - self.太刀刺伤浮动.move(150, 620) - self.太刀刺伤浮动.setToolTip('默认刺伤为期望值') - - self.职业存档.append(('流心刺状态', self.流心刺状态, 0)) - self.职业存档.append(('流心跃状态', self.流心跃状态, 0)) - self.职业存档.append(('太刀刺伤浮动', self.太刀刺伤浮动, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.流心刺状态.isChecked(): - 属性.流心刺状态 = 1 - if self.流心跃状态.isChecked(): - 属性.流心跃状态 = 1 - 属性.技能栏[属性.技能序号['太刀精通']].刺伤浮动 = 1 + self.太刀刺伤浮动.currentIndex() * 0.01 diff --git a/Characters/极诣·契魔者.py b/Characters/极诣·契魔者.py deleted file mode 100644 index f575b418..00000000 --- a/Characters/极诣·契魔者.py +++ /dev/null @@ -1,707 +0,0 @@ -from PublicReference.carry.base import * - - -class 主动技能(主动技能): - - # 武器CD = {'短剑':1, '巨剑':1.1, '钝器':1.05, '太刀':0.95} - - # def 等效CD(self, 武器类型): - # return round(self.CD / self.恢复 * self.武器CD[武器类型], 1) - - data0 = [] - 次数 = [] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '唤魔蛇腹剑' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - - -class 技能1(主动技能): - 名称 = '蛇腹剑破' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.125) for x in[0, 660, 727, 794, 861, 928, 995, 1062, 1129, 1196, 1263, 1330, 1397, 1464, 1531, 1598, 1665, 1732, 1799, 1866, 1933, 2000, 2067, 2134, 2201, 2268, 2335, 2402, 2469, 2536, 2603, 2670, 2737, 2804, 2870, 2937, - 3004, 3071, 3138, 3205, 3272, 3339, 3406, 3473, 3540, 3607, 3674, 3741, 3808, 3875, 3942, 4009, 4076, 4143, 4210, 4277, 4344, 4411, 4478, 4545, 4612, 4679, 4746, 4813, 4880, 4947, 5014, 5081, 5148, 5215, 5282]] - data0 = [data1] - 次数 = [4] - - -class 技能2(主动技能): - 名称 = '蛇腹剑舞' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.191) for x in[0, 949, 1046, 1142, 1238, 1335, 1431, 1528, 1624, 1720, 1817, 1913, 2009, 2106, 2202, 2299, 2395, 2491, 2588, 2684, 2780, 2877, 2973, 3069, 3166, 3262, 3359, 3455, 3551, 3648, 3744, 3840, 3937, 4033, 4129, - 4226, 4322, 4419, 4515, 4611, 4708, 4804, 4900, 4997, 5093, 5190, 5286, 5382, 5479, 5575, 5671, 5768, 5864, 5960, 6057, 6153, 6250, 6346, 6442, 6539, 6635, 6731, 6828, 6924, 7020, 7117, 7213, 7310, 7406, 7502, 7599]] - data2 = [int(x*1.191) for x in[0, 900, 991, 1082, 1174, 1265, 1356, 1448, 1539, 1631, 1722, 1813, 1905, 1996, 2087, 2179, 2270, 2361, 2453, 2544, 2635, 2727, 2818, 2909, 3001, 3092, 3183, 3275, 3366, 3457, 3549, 3640, 3731, 3823, 3914, - 4005, 4097, 4188, 4279, 4371, 4462, 4553, 4645, 4736, 4827, 4919, 5010, 5101, 5193, 5284, 5375, 5467, 5558, 5649, 5741, 5832, 5923, 6015, 6106, 6197, 6289, 6380, 6471, 6563, 6654, 6745, 6837, 6928, 7019, 7111, 7202]] - data3 = [int(x*1.191) for x in[0, 1182, 1302, 1422, 1542, 1662, 1782, 1902, 2022, 2142, 2261, 2381, 2501, 2621, 2741, 2861, 2981, 3101, 3221, 3341, 3461, 3581, 3701, 3821, 3941, 4061, 4181, 4301, 4421, 4541, 4661, 4780, 4900, 5020, 5140, - 5260, 5380, 5500, 5620, 5740, 5860, 5980, 6100, 6220, 6340, 6460, 6580, 6700, 6820, 6940, 7060, 7180, 7299, 7419, 7539, 7659, 7779, 7899, 8019, 8139, 8259, 8379, 8499, 8619, 8739, 8859, 8979, 9099, 9219, 9339, 9459]] - data0 = [data1, data2, data3] - 次数 = [1, 1, 1] - - -class 技能3(主动技能): - 名称 = '蛇腹剑刺' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.213) for x in[0, 2103, 2317, 2530, 2744, 2957, 3170, 3384, 3597, 3811, 4024, 4238, 4451, 4664, 4878, 5091, 5305, 5518, 5732, 5945, 6158, 6372, 6585, 6799, 7012, 7226, 7439, 7652, 7866, 8079, 8293, 8506, 8720, 8933, 9146, 9360, 9573, 9787, - 10000, 10214, 10427, 10640, 10854, 11067, 11281, 11494, 11708, 11921, 12134, 12348, 12561, 12775, 12988, 13202, 13415, 13628, 13842, 14055, 14269, 14482, 14696, 14909, 15122, 15336, 15549, 15763, 15976, 16190, 16403, 16616, 16830]] - data2 = [int(x*1.213) for x in[0, 2837, 3125, 3413, 3701, 3989, 4277, 4565, 4852, 5140, 5428, 5716, 6004, 6292, 6580, 6868, 7156, 7443, 7731, 8019, 8307, 8595, 8883, 9171, 9459, 9747, 10034, 10322, 10610, 10898, 11186, 11474, 11762, 12050, 12338, 12625, 12913, - 13201, 13489, 13777, 14065, 14353, 14641, 14929, 15216, 15504, 15792, 16080, 16368, 16656, 16944, 17232, 17520, 17807, 18095, 18383, 18671, 18959, 19247, 19535, 19823, 20111, 20398, 20686, 20974, 21262, 21550, 21838, 22126, 22414, 22702]] - data0 = [data1, data2] - 次数 = [1, 1] - - -class 技能4(主动技能): - 名称 = '蛇腹剑缠' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.237) for x in[0, 2083, 2295, 2506, 2717, 2929, 3140, 3351, 3563, 3774, 3986, 4197, 4408, 4620, 4831, 5042, 5254, 5465, 5677, 5888, 6099, 6311, 6522, 6734, 6945, 7156, 7368, 7579, 7790, 8002, 8213, 8425, 8636, 8847, 9059, 9270, 9482, 9693, - 9904, 10116, 10327, 10538, 10750, 10961, 11173, 11384, 11595, 11807, 12018, 12230, 12441, 12652, 12864, 13075, 13286, 13498, 13709, 13921, 14132, 14343, 14555, 14766, 14978, 15189, 15400, 15612, 15823, 16034, 16246, 16457, 16669]] - data2 = [int(x*1.237) for x in[0, 1023, 1126, 1230, 1334, 1438, 1542, 1645, 1749, 1853, 1957, 2061, 2164, 2268, 2372, 2476, 2580, 2683, 2787, 2891, 2995, 3099, 3202, 3306, 3410, 3514, 3618, 3721, 3825, 3929, 4033, 4137, 4240, 4344, 4448, - 4552, 4656, 4759, 4863, 4967, 5071, 5175, 5278, 5382, 5486, 5590, 5694, 5797, 5901, 6005, 6109, 6213, 6317, 6420, 6524, 6628, 6732, 6836, 6939, 7043, 7147, 7251, 7355, 7458, 7562, 7666, 7770, 7874, 7977, 8081, 8185]] - data0 = [data1, data2] - 次数 = [1, 3] - - -class 技能5(主动技能): - 名称 = '蛇腹剑灭' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.231) for x in[0, 523, 576, 629, 683, 736, 789, 842, 895, 948, 1001, 1055, 1108, 1161, 1214, 1267, 1320, 1373, 1426, 1480, 1533, 1586, 1639, 1692, 1745, 1798, 1852, 1905, 1958, 2011, 2064, 2117, 2170, 2223, 2277, 2330, - 2383, 2436, 2489, 2542, 2595, 2648, 2702, 2755, 2808, 2861, 2914, 2967, 3020, 3074, 3127, 3180, 3233, 3286, 3339, 3392, 3445, 3499, 3552, 3605, 3658, 3711, 3764, 3817, 3870, 3924, 3977, 4030, 4083, 4136, 4189]] - data0 = [data1] - 次数 = [12] - - -class 技能6(被动技能): - 名称 = '魔剑控制' - 所在等级 = 30 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 20: - return round(1.000 + 0.015 * self.等级, 5) - else: - return round(1.300 + 0.025 * (self.等级 - 20), 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能7(主动技能): - 名称 = '血饮狂舞' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.222) for x in[0, 639, 704, 769, 834, 899, 964, 1029, 1094, 1159, 1224, 1289, 1353, 1418, 1483, 1548, 1613, 1678, 1743, 1808, 1873, 1938, 2003, 2067, 2132, 2197, 2262, 2327, 2392, 2457, 2522, 2587, 2652, 2717, 2782, 2846, - 2911, 2976, 3041, 3106, 3171, 3236, 3301, 3366, 3431, 3496, 3560, 3625, 3690, 3755, 3820, 3885, 3950, 4015, 4080, 4145, 4210, 4275, 4339, 4404, 4469, 4534, 4599, 4664, 4729, 4794, 4859, 4924, 4989, 5054, 5118]] - data2 = [int(x*1.222) for x in[0, 1647, 1814, 1981, 2149, 2316, 2483, 2650, 2817, 2984, 3152, 3319, 3486, 3653, 3820, 3987, 4154, 4322, 4489, 4656, 4823, 4990, 5157, 5325, 5492, 5659, 5826, 5993, 6160, 6327, 6495, 6662, 6829, 6996, 7163, 7330, 7498, - 7665, 7832, 7999, 8166, 8333, 8501, 8668, 8835, 9002, 9169, 9336, 9503, 9671, 9838, 10005, 10172, 10339, 10506, 10674, 10841, 11008, 11175, 11342, 11509, 11676, 11844, 12011, 12178, 12345, 12512, 12679, 12847, 13014, 13181]] - data0 = [data1, data2] - 次数 = [14, 1] - - # 猩红女王 - # 多段攻击次数 +100% - # 多段攻击力 -44% - # 冷却时间 -10% - # 范围 +20% - # 最后一击攻击力 +72% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [14 * 2 * 0.56, 1 + 0.72] - self.CD *= 0.9 - elif x == 1: - self.次数 = [14 * 2 * 0.56, 1 + 1.25] - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "猩红女王" - temp += "

" - temp += "[血饮狂舞]
" - temp += "多段攻击次数 +100%
" - temp += "多段攻击力 -44%
" - temp += "冷却时间 -10%
" - temp += "
-护石附加效果:
" - temp += "范围 +20%
" - temp += "最后一击攻击力 +72%" - elif x == 1: - temp = "猩红女王" - temp += "

" - temp += "[血饮狂舞]
" - temp += "多段攻击次数 +100%
" - temp += "多段攻击力 -44%
" - temp += "冷却时间 -10%
" - temp += "
-护石附加效果:
" - temp += "范围 +20%
" - temp += "最后一击攻击力 +125%" - return temp - - -class 技能8(主动技能): - 名称 = '碎魔剑' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.222) for x in[0, 1935, 2131, 2328, 2524, 2720, 2917, 3113, 3309, 3506, 3702, 3898, 4095, 4291, 4488, 4684, 4880, 5077, 5273, 5469, 5666, 5862, 6058, 6255, 6451, 6647, 6844, 7040, 7236, 7433, 7629, 7826, 8022, 8218, 8415, 8611, 8807, - 9004, 9200, 9396, 9593, 9789, 9985, 10182, 10378, 10574, 10771, 10967, 11163, 11360, 11556, 11753, 11949, 12145, 12342, 12538, 12734, 12931, 13127, 13323, 13520, 13716, 13912, 14109, 14305, 14501, 14698, 14894, 15091, 15287, 15483]] - data0 = [data1] - 次数 = [5] - - -class 技能9(主动技能): - 名称 = '群魔乱舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 22 - 基础 = 13855 - 成长 = 2595 - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - - # [蛇腹剑 : 破] - data1 = [int(x*1.1) for x in[0, 815, 945, 1075, 1205, 1335, 1465, 1595, 1726, 1856, 1986, 2116, 2246, 2376, 2506, 2636, 2766, 2896, 3026, 3156, 3286, 3416, 3546, 3676, 3806, 3936, 4066, 4196, 4326, 4456, - 4586, 4716, 4847, 4977, 5107, 5237, 5367, 5497, 5627, 5757, 5887, 6017, 6147, 6277, 6407, 6537, 6667, 6797, 6927, 7057, 7187, 7317, 7447, 7577, 7707, 7838, 7968, 8098, 8228, 8358, 8488]] - # [蛇腹剑 : 舞] - data2 = [int(x*1.1) for x in[0, 1087, 1261, 1434, 1607, 1781, 1954, 2127, 2301, 2474, 2648, 2821, 2994, 3168, 3341, 3515, 3688, 3861, 4035, 4208, 4382, 4555, 4728, 4902, 5075, 5248, 5422, 5595, 5769, 5942, 6115, - 6289, 6462, 6636, 6809, 6982, 7156, 7329, 7503, 7676, 7849, 8023, 8196, 8370, 8543, 8716, 8890, 9063, 9236, 9410, 9583, 9757, 9930, 10103, 10277, 10450, 10624, 10797, 10970, 11144, 11317]] - # [蛇腹剑 : 刺] - data3 = [int(x*1.1) for x in[0, 1631, 1891, 2151, 2411, 2671, 2931, 3191, 3452, 3712, 3972, 4232, 4492, 4752, 5012, 5272, 5532, 5792, 6052, 6312, 6573, 6833, 7093, 7353, 7613, 7873, 8133, 8393, 8653, 8913, 9173, 9433, - 9694, 9954, 10214, 10474, 10734, 10994, 11254, 11514, 11774, 12034, 12294, 12555, 12815, 13075, 13335, 13595, 13855, 14115, 14375, 14635, 14895, 15155, 15415, 15676, 15936, 16196, 16456, 16716, 16976]] - # [蛇腹剑 : 灭] - data4 = [int(x*1.1) for x in[0, 271, 315, 358, 401, 445, 488, 531, 575, 618, 662, 705, 748, 792, 835, 878, 922, 965, 1008, 1052, 1095, 1138, 1182, 1225, 1268, 1312, 1355, 1398, 1442, 1485, 1528, 1572, - 1615, 1659, 1702, 1745, 1789, 1832, 1875, 1919, 1962, 2005, 2049, 2092, 2135, 2179, 2222, 2265, 2309, 2352, 2395, 2439, 2482, 2525, 2569, 2612, 2656, 2699, 2742, 2786, 2829]] - # [血饮狂舞] - data5 = [int(x*1.1) for x in[0, 296, 343, 391, 438, 485, 533, 580, 627, 674, 722, 769, 816, 864, 911, 958, 1005, 1053, 1100, 1147, 1195, 1242, 1289, 1336, 1384, 1431, 1478, 1526, 1573, 1620, 1667, - 1715, 1762, 1809, 1857, 1904, 1951, 1998, 2046, 2093, 2140, 2188, 2235, 2282, 2330, 2377, 2424, 2471, 2519, 2566, 2613, 2661, 2708, 2755, 2802, 2850, 2897, 2944, 2992, 3039, 3086]] - data0 = [data1, data2, data3, data4, data5] - 次数 = [4, 3, 2, 12, 11] - - # 魔人大军 - # 幻影可使用技能增加[蛇腹剑 : 破]、 [蛇腹剑 : 舞]、 [蛇腹剑 : 刺] - # 敌人可承受攻击的幻影数量上限增加至8个 - # 寻敌范围 +10% - # 幻影攻击力 -28% - # 幻影可使用技能增加[蛇腹剑 : 灭]、 [血饮狂舞] - # 敌人可承受攻击的幻影数量上限增加至10个 - # 寻敌范围 +10% - # 幻影攻击力 -10% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 = 1.24 - elif x == 1: - self.倍率 = 1.34 - - def 护石描述(self, x): - if x == 0: - temp = "魔人大军" - temp += "

" - temp += "[群魔乱舞]
" - temp += "幻影可使用技能增加[蛇腹剑 : 破]、 [蛇腹剑 : 舞]、 [蛇腹剑 : 刺]
" - temp += "敌人可承受攻击的幻影数量增加至8个
" - temp += "寻敌范围 +10%
" - temp += "幻影攻击力 -28%
" - temp += "
-护石附加效果:
" - temp += "幻影可使用技能增加[蛇腹剑 : 灭]、 [血饮狂舞]
" - temp += "敌人可承受攻击的幻影数量上限增加至10个
" - temp += "寻敌范围 +10%
" - temp += "幻影攻击力 -10%" - elif x == 1: - temp = "魔人大军" - temp += "

" - temp += "[群魔乱舞]
" - temp += "幻影可使用技能增加[蛇腹剑 : 破]、 [蛇腹剑 : 舞]、 [蛇腹剑 : 刺]
" - temp += "敌人可承受攻击的幻影数量增加至8个
" - temp += "寻敌范围 +10%
" - temp += "幻影攻击力 -28%
" - temp += "
-护石附加效果:
" - temp += "幻影可使用技能增加[蛇腹剑 : 灭]、 [血饮狂舞]
" - temp += "敌人可承受攻击的幻影数量上限增加至10个
" - temp += "寻敌范围 +10%
" - temp += "幻影攻击力 -5%" - return temp - - -class 技能10(主动技能): - 名称 = '唤魔塔莫斯之袭' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.213) for x in[0, 983, 1083, 1183, 1283, 1382, 1482, 1582, 1682, 1782, 1881, 1981, 2081, 2181, 2281, 2380, 2480, 2580, 2680, 2780, 2879, 2979, 3079, 3179, 3278, 3378, 3478, 3578, 3678, 3777, 3877, 3977, 4077, 4177, 4276, - 4376, 4476, 4576, 4676, 4775, 4875, 4975, 5075, 5175, 5274, 5374, 5474, 5574, 5674, 5773, 5873, 5973, 6073, 6173, 6272, 6372, 6472, 6572, 6672, 6771, 6871, 6971, 7071, 7171, 7270, 7370, 7470, 7570, 7669, 7769, 7869]] - data2 = [int(x*1.213) for x in[0, 7730, 8515, 9299, 10083, 10868, 11652, 12436, 13221, 14005, 14789, 15573, 16358, 17142, 17926, 18711, 19495, 20279, 21064, 21848, 22632, 23416, 24201, 24985, 25769, 26554, 27338, 28122, 28907, 29691, 30475, 31259, 32044, 32828, 33612, - 34397, 35181, 35965, 36750, 37534, 38318, 39102, 39887, 40671, 41455, 42240, 43024, 43808, 44593, 45377, 46161, 46946, 47730, 48514, 49298, 50083, 50867, 51651, 52436, 53220, 54004, 54789, 55573, 56357, 57141, 57926, 58710, 59494, 60279, 61063, 61847]] - data3 = [int(x*1.213) for x in[0, 2967, 3268, 3569, 3870, 4171, 4472, 4773, 5074, 5376, 5677, 5978, 6279, 6580, 6881, 7182, 7483, 7784, 8085, 8386, 8687, 8988, 9289, 9590, 9891, 10192, 10494, 10795, 11096, 11397, 11698, 11999, 12300, 12601, 12902, 13203, 13504, - 13805, 14106, 14407, 14708, 15009, 15310, 15612, 15913, 16214, 16515, 16816, 17117, 17418, 17719, 18020, 18321, 18622, 18923, 19224, 19525, 19826, 20127, 20428, 20730, 21031, 21332, 21633, 21934, 22235, 22536, 22837, 23138, 23439, 23740]] - data0 = [data1, data2, data3] - 次数 = [8, 1, 1] - - # 塔莫斯的觉醒 - # 用除觉醒技之外的技能攻击时, 立即发动[唤魔 : 塔莫斯之袭] - #- 删除斩击攻击 - #- 塔莫斯出现在技能命中的敌人身边发动攻击 - #- 未命中的状态下无法使用该技能 - # - 攻击力 +29% - # 塔莫斯大小 +20% - # 攻击力 +10% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.39 - self.次数 = [8, 1, 0] - elif x == 1: - self.倍率 *= 1.48 - self.次数 = [8, 1, 0] - - def 护石描述(self, x): - if x == 0: - temp = "塔莫斯的觉醒" - temp += "

" - temp += "[唤魔 : 塔莫斯之袭]
" - temp += "用除觉醒技之外的技能攻击时, 立即发动[唤魔 : 塔莫斯之袭]
" - temp += "- 删除斩击攻击
" - temp += "- 塔莫斯出现在技能命中的敌人身边发动攻击
" - temp += "- 未命中的状态下无法使用该技能
" - temp += "- 攻击力 +29%
" - temp += "
-护石附加效果:
" - temp += "塔莫斯大小 +20%
" - temp += "攻击力 +10%" - elif x == 1: - temp = "塔莫斯的觉醒" - temp += "

" - temp += "[唤魔 : 塔莫斯之袭]
" - temp += "用除觉醒技之外的技能攻击时, 立即发动[唤魔 : 塔莫斯之袭]
" - temp += "- 删除斩击攻击
" - temp += "- 塔莫斯出现在技能命中的敌人身边发动攻击
" - temp += "- 未命中的状态下无法使用该技能
" - temp += "- 攻击力 +29%
" - temp += "
-护石附加效果:
" - temp += "塔莫斯大小 +20%
" - temp += "攻击力 +19%" - return temp - - -class 技能11(被动技能): - 名称 = '贪欲之燔祭' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能12(主动技能): - 名称 = '空绝斩千刃' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 倍率 = 1.1 # 三级效果 - CD = 145.0 - data1 = [int(x*1.191) for x in[0, 6948, 8559, 10171, 11782, 13393, 15005, 16616, 18227, 19838, 21450, 23061, 24672, 26283, 27895, 29506, 31117, 32729, 34340, 35951, 37562, 39174, 40785, 42396, 44007, 45619, 47230, 48841, 50453, 52064, 53675, 55286, 56898, 58509, 60120, 61732, - 63343, 64954, 66565, 68177, 69788, 71399, 73010, 74622, 76233, 77844, 79456, 81067, 82678, 84289, 85901, 87512, 89123, 90735, 92346, 93957, 95568, 97180, 98791, 100402, 102013, 103625, 105236, 106847, 108459, 110070, 111681, 113292, 114904, 116515, 118126]] - data2 = [int(x*1.191) for x in[0, 10690, 13169, 15647, 18126, 20605, 23084, 25563, 28042, 30521, 33000, 35479, 37957, 40436, 42915, 45394, 47873, 50352, 52831, 55310, 57789, 60267, 62746, 65225, 67704, 70183, 72662, 75141, 77620, 80099, 82577, 85056, 87535, 90014, 92493, 94972, 97451, 99930, - 102409, 104887, 107366, 109845, 112324, 114803, 117282, 119761, 122240, 124718, 127197, 129676, 132155, 134634, 137113, 139592, 142071, 144550, 147028, 149507, 151986, 154465, 156944, 159423, 161902, 164381, 166860, 169338, 171817, 174296, 176775, 179254, 181733]] - data3 = [int(x*1.191) for x in[0, 14966, 18436, 21907, 25377, 28848, 32318, 35788, 39259, 42729, 46200, 49670, 53141, 56611, 60082, 63552, 67022, 70493, 73963, 77434, 80904, 84375, 87845, 91315, 94786, 98256, 101727, 105197, 108668, 112138, 115609, 119079, 122549, 126020, 129490, 132961, 136431, - 139902, 143372, 146843, 150313, 153783, 157254, 160724, 164195, 167665, 171136, 174606, 178077, 181547, 185017, 188488, 191958, 195429, 198899, 202370, 205840, 209311, 212781, 216251, 219722, 223192, 226663, 230133, 233604, 237074, 240544, 244015, 247485, 250956, 254426]] - data4 = [int(x*1.191) for x in[0, 1679, 2069, 2458, 2848, 3238, 3627, 4017, 4406, 4796, 5185, 5575, 5964, 6354, 6743, 7133, 7522, 7912, 8302, 8691, 9081, 9470, 9860, 10249, 10639, 11028, 11418, 11807, 12197, 12586, 12976, 13366, 13755, 14145, 14534, 14924, 15313, - 15703, 16092, 16482, 16871, 17261, 17651, 18040, 18430, 18819, 19209, 19598, 19988, 20377, 20767, 21156, 21546, 21935, 22325, 22715, 23104, 23494, 23883, 24273, 24662, 25052, 25441, 25831, 26220, 26610, 26999, 27389, 27779, 28168, 28558]] - data5 = [int(x*1.191) for x in[0, 0, 0, 0, 0, 0, 2803, 3104, 3405, 3706, 4007, 4308, 4609, 4910, 5211, 5512, 5813, 6114, 6415, 6716, 7017, 7318, 7619, 7920, 8221, 8522, 8823, 9124, 9425, 9726, 10027, 10328, 10629, 10930, 11231, 11532, 11833, 12134, - 12435, 12736, 13037, 13338, 13639, 13940, 14241, 14542, 14843, 15144, 15445, 15746, 16047, 16348, 16649, 16950, 17251, 17552, 17853, 18154, 18455, 18756, 19057, 19358, 19659, 19960, 20261, 20562, 20863, 21164, 21465, 21766, 22067]] - data0 = [data1, data2, data3, data4, data5] - 次数 = [1, 1, 1, 7, 7] - - -class 技能13(主动技能): - 名称 = '唤魔逆天之普诺' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.191) for x in[0, 1302, 1435, 1567, 1699, 1831, 1963, 2095, 2228, 2360, 2492, 2624, 2756, 2888, 3021, 3153, 3285, 3417, 3549, 3681, 3814, 3946, 4078, 4210, 4342, 4474, 4607, 4739, 4871, 5003, 5135, 5267, 5400, 5532, 5664, - 5796, 5928, 6061, 6193, 6325, 6457, 6589, 6721, 6854, 6986, 7118, 7250, 7382, 7514, 7647, 7779, 7911, 8043, 8175, 8307, 8440, 8572, 8704, 8836, 8968, 9100, 9233, 9365, 9497, 9629, 9761, 9893, 10026, 10158, 10290, 10422]] - data2 = [int(x*1.191) for x in[0, 1085, 1195, 1305, 1416, 1526, 1636, 1746, 1856, 1966, 2076, 2187, 2297, 2407, 2517, 2627, 2737, 2847, 2958, 3068, 3178, 3288, 3398, 3508, 3618, 3729, 3839, 3949, 4059, 4169, 4279, 4389, 4500, 4610, 4720, - 4830, 4940, 5050, 5160, 5271, 5381, 5491, 5601, 5711, 5821, 5931, 6042, 6152, 6262, 6372, 6482, 6592, 6702, 6813, 6923, 7033, 7143, 7253, 7363, 7473, 7584, 7694, 7804, 7914, 8024, 8134, 8244, 8355, 8465, 8575, 8685]] - data3 = [int(x*1.191) for x in[0, 6427, 7079, 7731, 8383, 9035, 9687, 10339, 10991, 11643, 12296, 12948, 13600, 14252, 14904, 15556, 16208, 16860, 17512, 18164, 18816, 19468, 20120, 20772, 21424, 22076, 22729, 23381, 24033, 24685, 25337, 25989, 26641, 27293, 27945, 28597, - 29249, 29901, 30553, 31205, 31857, 32509, 33161, 33814, 34466, 35118, 35770, 36422, 37074, 37726, 38378, 39030, 39682, 40334, 40986, 41638, 42290, 42942, 43594, 44247, 44899, 45551, 46203, 46855, 47507, 48159, 48811, 49463, 50115, 50767, 51419]] - data0 = [data1, data2, data3] - 次数 = [5, 8, 1] - - # 魔人监狱 - # 克库斯和塔莫斯在角色前方出现并发动攻击 - #- 克库斯的攻击可以吸附敌人 - # - 塔莫斯终结爆炸攻击力 +8% - # 敌人被克库斯和塔莫斯击中时无法行动 - # 塔莫斯终结爆炸范围 +20% - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [5, 8, 1 + 0.08] - - elif x == 1: - self.次数 = [5, 8, 1 + 0.08 + 0.31] - - def 护石描述(self, x): - if x == 0: - temp = "魔人监狱" - temp += "

" - temp += "[唤魔 : 逆天之普诺]
" - temp += "克库斯和塔莫斯在角色前方出现并发动攻击
" - temp += "- 克库斯的攻击可以吸附敌人
" - temp += "- 塔莫斯终结爆炸攻击力 +8%
" - temp += "
-护石附加效果:
" - temp += "敌人被克库斯和塔莫斯击中时无法行动
" - temp += "塔莫斯终结爆炸范围 +20%" - elif x == 1: - temp = "魔人监狱" - temp += "

" - temp += "[唤魔 : 逆天之普诺]
" - temp += "克库斯和塔莫斯在角色前方出现并发动攻击
" - temp += "- 克库斯的攻击可以吸附敌人
" - temp += "- 塔莫斯终结爆炸攻击力 +8%
" - temp += "
-护石附加效果:
" - temp += "敌人被克库斯和塔莫斯击中时无法行动
" - temp += "塔莫斯终结爆炸范围 +20%
" - temp += "塔莫斯终结爆炸攻击力 +31%
" - return temp - - -class 技能14(主动技能): - 名称 = '汲血魔剑' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.191) for x in[0, 32119, 35377, 38636, 41894, 45153, 48411, 51670, 54928, 58187, 61445, 64704, 67962, 71221, 74479, 77738, 80996, 84255, 87513, 90772, 94030, 97289, - 100547, 103806, 107064, 110322, 113581, 116839, 120098, 123356, 126615, 129873, 133132, 136390, 139649, 142907, 146166, 149424, 152683, 155941, 159200]] - data0 = [data1] - 次数 = [1] - - # 魔血峥嵘 - # 施放蛇腹剑技能过程中, 可以强制中断并立即施放[汲血魔剑] - # - 施放[汲血魔剑]过程中, 可以强制中断并施放其他蛇腹剑技能 - # - 中断蛇腹剑技能施放[汲血魔剑]时删除施放动作 - # - 施放[蛇腹剑 : 缠]、 [弑神剑 : 极]、 [空绝斩 : 地裂]时无法强制中断 - # - 攻击力 +7% - # 范围 +20% - # 攻击力 +7% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1 + 0.07 + 0.07] - elif x == 1: - self.次数 = [1 + 0.07 + 0.15] - - def 护石描述(self, x): - if x == 0: - temp = "魔血峥嵘" - temp += "

" - temp += "[汲血魔剑]
" - temp += "施放蛇腹剑技能过程中, 可以强制中断并立即施放[汲血魔剑]
" - temp += "- 施放[汲血魔剑]过程中, 可以强制中断并施放其他蛇腹剑技能
" - temp += "- 中断蛇腹剑技能施放[汲血魔剑]时删除施放动作
" - temp += "- 施放[蛇腹剑 : 缠]、 [弑神剑 : 极]、 [空绝斩 : 地裂]时无法强制中断
" - temp += "- 攻击力 +7%
" - temp += "
-护石附加效果:
" - temp += "范围 +20%
" - temp += "攻击力 +7%" - elif x == 1: - temp = "魔血峥嵘" - temp += "

" - temp += "[汲血魔剑]
" - temp += "施放蛇腹剑技能过程中, 可以强制中断并立即施放[汲血魔剑]
" - temp += "- 施放[汲血魔剑]过程中, 可以强制中断并施放其他蛇腹剑技能
" - temp += "- 中断蛇腹剑技能施放[汲血魔剑]时删除施放动作
" - temp += "- 施放[蛇腹剑 : 缠]、 [弑神剑 : 极]、 [空绝斩 : 地裂]时无法强制中断
" - temp += "- 攻击力 +7%
" - temp += "
-护石附加效果:
" - temp += "范围 +20%
" - temp += "攻击力 +15%" - return temp - - -class 技能15(被动技能): - 名称 = '唤魔弑神剑' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - def 特殊倍率(self): - return round(1.38 + 0.02 * self.等级, 5) - - data = [0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, - 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19] - - def 次数加成(self): - return self.data[self.等级] - - -class 技能16(主动技能): - 名称 = '空绝斩地裂' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - CD = 40.0 - data1 = [int(x*1.191) for x in[0, 51106, 56291, 61476, 66661, 71845, 77030, 82215, 87400, 92584, 97769, 102954, 108139, 113324, 118508, 123693, 128878, 134063, 139247, 144432, 149617, 154802, 159986, 165171, 170356, 175541, 180725, 185910, 191095, 196280, 201464, 206649, 211834, 217019, 222203, 227388, - 232573, 237758, 242943, 248127, 253312, 258497, 263682, 268866, 274051, 279236, 284421, 289605, 294790, 299975, 305160, 310344, 315529, 320714, 325899, 331083, 336268, 341453, 346638, 351822, 357007, 362192, 367377, 372561, 377746, 382931, 388116, 393301, 398485, 403670, 408855]] - data0 = [data1] - 次数 = [1] - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - - -class 技能17(主动技能): - 名称 = '弑神剑极' - 备注 = '(无法抓取)' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - CD = 45.0 - data1 = [int(x*1.191) for x in[0, 56553, 62292, 68031, 73765, 79503, 85242, 90981, 96716, 102454, 108192, 113931, 119670, 125405, 131143, 136882, 142620, 148355, 154093, 159832, 165571, 171306, 177043, 182782, 188521, 194256, 199995, 205733, 211471, 217210, 222945, 228683, 234422, 240161, 245895, 251634, - 257372, 263111, 268846, 274585, 280322, 286061, 291796, 297535, 303273, 309012, 314746, 320485, 326224, 331962, 337701, 343436, 349174, 354912, 360651, 366386, 372125, 377864, 383601, 389336, 395075, 400814, 406552, 412287, 418025, 423764, 429502, 435237, 440976, 446714, 452453]] - data0 = [data1] - 次数 = [1] - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - self.CD *= 0.9 - - -class 技能18(主动技能): - 名称 = '弑神剑诸神献祭' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data1 = [int(x*1.227) for x in[0, 4288, 5282, 6276, 7271, 8265, 9259, 10254, 11248, 12242, 13237, 14231, 15225, 16220, 17214, 18208, 19203, 20197, 21191, 22186, 23180, 24174, 25169, 26163, 27157, 28151, 29146, 30140, 31134, 32129, 33123, 34117, 35112, 36106, 37100, 38095, - 39089, 40083, 41078, 42072, 43066, 44061, 45055, 46049, 47044, 48038, 49032, 50027, 51021, 52015, 53010, 54004, 54998, 55993, 56987, 57981, 58976, 59970, 60964, 61959, 62953, 63947, 64942, 65936, 66930, 67925, 68919, 69913, 70908, 71902, 72896]] - data2 = [int(x*1.227) for x in[0, 15892, 19578, 23263, 26948, 30633, 34319, 38004, 41689, 45375, 49060, 52745, 56430, 60116, 63801, 67486, 71172, 74857, 78542, 82227, 85913, 89598, 93283, 96968, 100654, 104339, 108024, 111710, 115395, 119080, 122765, 126451, 130136, 133821, 137507, 141192, 144877, - 148562, 152248, 155933, 159618, 163304, 166989, 170674, 174359, 178045, 181730, 185415, 189101, 192786, 196471, 200156, 203842, 207527, 211212, 214898, 218583, 222268, 225953, 229639, 233324, 237009, 240695, 244380, 248065, 251750, 255436, 259121, 262806, 266491, 270177]] - data3 = [int(x*1.227) for x in[0, 59373, 73140, 86908, 100676, 114443, 128211, 141978, 155746, 169514, 183281, 197049, 210817, 224584, 238352, 252120, 265887, 279655, 293423, 307190, 320958, 334726, 348493, 362261, 376029, 389796, 403564, 417332, 431099, 444867, 458635, 472402, 486170, 499938, 513705, 527473, - 541241, 555008, 568776, 582544, 596311, 610079, 623847, 637614, 651382, 665150, 678917, 692685, 706453, 720220, 733988, 747755, 761523, 775291, 789058, 802826, 816594, 830361, 844129, 857897, 871664, 885432, 899200, 912967, 926735, 940503, 954270, 968038, 981806, 995573, 1009341]] - data0 = [data1, data2, data3] - 次数 = [10, 3, 1] - - -class 技能19(被动技能): - 名称 = '魔源觉醒' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能20(主动技能): - 名称 = '蛇舞血轮剑' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - 基础 = 105546.60 - 成长 = 11917.40 - CD = 60.0 - data1 = [int(x*1.189) for x in[0, 11746, 12938, 14130, 15321, 16513, 17705, 18896, 20088, 21280, 22472, 23663, 24855, 26047, 27238, 28430, 29622, 30813, 32005, 33197, 34388, 35580, 36772, 37964, 39155, 40347, 41539, 42730, 43922, 45114, 46305, 47497, 48689, 49881, 51072, - 52264, 53456, 54647, 55839, 57031, 58222, 59414, 60606, 61798, 62989, 64181, 65373, 66564, 67756, 68948, 70139, 71331, 72523, 73715, 74906, 76098, 77290, 78481, 79673, 80865, 82056, 83248, 84440, 85631, 86823, 88015, 89207, 90398, 91590, 92782, 93973]] - data2 = [int(x*1.189) for x in[0, 70480, 77630, 84780, 91930, 99081, 106231, 113381, 120531, 127681, 134832, 141982, 149132, 156282, 163432, 170583, 177733, 184883, 192033, 199183, 206333, 213484, 220634, 227784, 234934, 242084, 249235, 256385, 263535, 270685, 277835, 284985, 292136, 299286, 306436, 313586, - 320736, 327887, 335037, 342187, 349337, 356487, 363638, 370788, 377938, 385088, 392238, 399388, 406539, 413689, 420839, 427989, 435139, 442290, 449440, 456590, 463740, 470890, 478040, 485191, 492341, 499491, 506641, 513791, 520942, 528092, 535242, 542392, 549542, 556693, 563843]] - data0 = [data1, data2] - 次数 = [4, 1] - - -class 技能21(主动技能): - 名称 = '弑神剑恶魔孤岛' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 基础 = 296448.00 - 成长 = 89516.00 - CD = 290.0 - data1 = [int(x*1.149) for x in[0, 10293, 12679, 15066, 17453, 19840, 22227, 24613, 27000, 29387, 31774, 34161, 36547, 38934, 41321, 43708, 46095, 48481, 50868, 53255, - 55642, 58029, 60415, 62802, 65189, 67576, 69963, 72349, 74736, 77123, 79510, 81897, 84283, 86670, 89057, 91444, 93831, 96217, 98604, 100991, 103378]] - data2 = [int(x*1.149) for x in[0, 231594, 285297, 339000, 392703, 446406, 500109, 553812, 607515, 661218, 714921, 768624, 822327, 876030, 929733, 983436, 1037139, 1090842, 1144545, 1198248, 1251952, - 1305655, 1359358, 1413061, 1466764, 1520467, 1574170, 1627873, 1681576, 1735279, 1788982, 1842685, 1896388, 1950091, 2003794, 2057497, 2111200, 2164903, 2218606, 2272309, 2326012]] - data0 = [data1, data2] - 次数 = [15, 1] - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·契魔者一觉序号 = 0 -极诣·契魔者二觉序号 = 0 -极诣·契魔者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·契魔者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·契魔者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·契魔者三觉序号 = 技能序号[i.名称] - -极诣·契魔者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·契魔者护石选项.append(i.名称) - -极诣·契魔者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·契魔者符文选项.append(i.名称) - - -class 极诣·契魔者角色属性(角色属性): - - 实际名称 = '极诣·契魔者' - 角色 = '鬼剑士(女)' - 职业 = '契魔者' - - 武器选项 = ['巨剑', '钝器', '太刀', '短剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.00 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - - x = self.技能栏[self.技能序号['唤魔弑神剑']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['血饮狂舞']].被动倍率 /= x - self.技能栏[self.技能序号['唤魔塔莫斯之袭']].被动倍率 /= x - - y = self.技能栏[self.技能序号['魔源觉醒']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['蛇腹剑缠']].被动倍率 *= (x + y - 1) / (x * y) - - 唤魔弑神剑 = self.技能栏[self.技能序号['唤魔弑神剑']] - self.技能栏[self.技能序号['血饮狂舞']].被动倍率 *= 唤魔弑神剑.特殊倍率() - self.技能栏[self.技能序号['唤魔塔莫斯之袭']].次数[1] = 唤魔弑神剑.特殊倍率() - self.技能栏[self.技能序号['唤魔塔莫斯之袭']].次数[0] = 8 + 唤魔弑神剑.次数加成() - - -class 极诣·契魔者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·契魔者角色属性() - self.角色属性A = 极诣·契魔者角色属性() - self.角色属性B = 极诣·契魔者角色属性() - self.一觉序号 = 极诣·契魔者一觉序号 - self.二觉序号 = 极诣·契魔者二觉序号 - self.三觉序号 = 极诣·契魔者三觉序号 - self.护石选项 = deepcopy(极诣·契魔者护石选项) - self.符文选项 = deepcopy(极诣·契魔者符文选项) diff --git a/Characters/极诣·暗殿骑士.py b/Characters/极诣·暗殿骑士.py deleted file mode 100644 index 9095199e..00000000 --- a/Characters/极诣·暗殿骑士.py +++ /dev/null @@ -1,693 +0,0 @@ -from PublicReference.carry.base import * - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '太刀': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '短剑': -# return round(self.CD / self.恢复 * 1.05, 1) -# if 武器类型 == '钝器': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '巨剑': -# return round(self.CD / self.恢复 * 1, 1) - - -class 技能0(主动技能): - 名称 = '暗影之矛' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.085*1.20) for i in [0, 300, 331, 361, 391, 422, 453, 483, 514, 545, 574, 605, 636, 666, 697, 727, 758, 788, 819, 850, 879, 910, 941, 971, 1002, 1033, 1062, 1093, 1124, 1155, 1185, 1215, 1246, 1276, 1307, 1338, 1367, - 1398, 1429, 1460, 1490, 1521, 1551, 1581, 1612, 1643, 1672, 1703, 1734, 1765, 1795, 1826, 1857, 1886, 1917, 1948, 1978, 2009, 2039, 2069, 2100, 2131, 2162, 2191, 2222, 2253, 2283, 2314, 2345, 2374, 2405]] - 攻击次数 = 8 - CD = 5.0 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(被动技能): - 名称 = '乌希尔的诅咒' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.10 + 0.02 * self.等级, 5) - - -class 技能2(主动技能): - 名称 = '暗影缠袭' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085*1.20) for i in [0, 85, 94, 103, 111, 120, 129, 138, 145, 155, 164, 173, 180, 189, 198, 206, 215, 224, 233, 241, 250, 259, 268, 276, 285, 294, 303, 310, 319, 328, 337, 345, 354, 363, 372, - 380, 389, 398, 407, 415, 424, 433, 442, 449, 458, 467, 476, 484, 493, 502, 511, 519, 528, 537, 546, 554, 563, 572, 581, 588, 597, 606, 615, 623, 632, 641, 650, 658, 667, 676, 685]] - 攻击次数 = 0 # 抓取不了建筑 - data1 = [int(i*1.085*1.20) for i in [0, 828, 912, 995, 1079, 1163, 1248, 1331, 1415, 1499, 1584, 1667, 1751, 1835, 1920, 2003, 2087, 2171, 2256, 2339, 2423, 2507, 2592, 2675, 2759, 2843, 2926, 3011, 3095, 3179, 3263, 3348, 3431, 3515, 3599, 3684, - 3767, 3851, 3935, 4020, 4103, 4187, 4271, 4354, 4439, 4523, 4607, 4690, 4775, 4859, 4943, 5026, 5111, 5195, 5279, 5362, 5447, 5531, 5615, 5698, 5782, 5867, 5951, 6035, 6118, 6203, 6287, 6371, 6454, 6539, 6623]] - 攻击次数2 = 4 # 受站位影响 - CD = 7.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '暗影漩涡' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085*1.20) for i in [0, 1365, 1504, 1642, 1781, 1918, 2057, 2195, 2334, 2473, 2611, 2750, 2888, 3027, 3166, 3304, 3443, 3581, 3720, 3857, 3996, 4135, 4273, 4412, 4550, 4689, 4828, 4966, 5105, 5243, 5382, 5520, 5659, 5798, 5935, 6074, - 6212, 6351, 6490, 6628, 6767, 6905, 7044, 7182, 7321, 7460, 7598, 7737, 7874, 8013, 8152, 8290, 8429, 8567, 8706, 8844, 8983, 9122, 9260, 9399, 9537, 9676, 9815, 9952, 10091, 10229, 10368, 10506, 10645, 10784, 10922]] - data1 = [int(i*1.085*1.20) for i in [0, 273, 300, 328, 355, 384, 411, 439, 466, 494, 521, 550, 577, 605, 632, 660, 688, 716, 743, 771, 798, 827, 854, 882, 909, 937, 964, 993, 1020, 1048, 1075, 1103, 1130, 1159, 1186, 1214, 1241, 1269, - 1297, 1325, 1353, 1380, 1409, 1436, 1464, 1491, 1519, 1546, 1575, 1602, 1630, 1657, 1685, 1712, 1741, 1768, 1796, 1823, 1851, 1878, 1907, 1934, 1962, 1989, 2018, 2045, 2073, 2100, 2128, 2155, 2184]] - 攻击次数2 = 6 - CD = 6.0 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = '汲魂之力' - 所在等级 = 25 - 等级上限 = 30 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.10 + 0.02 * self.等级, 5) - - -class 技能5(主动技能): - 名称 = '暗影禁锢' - 所在等级 = 25 - 等级上限 = 70 - 基础等级 = 41 - data0 = [int(i*1.085*1.20) for i in [0, 3879, 4272, 4666, 5060, 5453, 5847, 6241, 6633, 7027, 7421, 7814, 8208, 8602, 8994, 9388, 9782, 10175, 10569, 10963, 11356, 11750, 12144, 12536, 12930, 13324, 13717, 14111, 14505, 14898, 15292, 15686, 16080, 16472, 16866, 17260, 17653, - 18047, 18441, 18834, 19228, 19622, 20014, 20408, 20802, 21195, 21589, 21983, 22375, 22769, 23163, 23556, 23950, 24344, 24737, 25131, 25525, 25917, 26311, 26705, 27098, 27492, 27886, 28279, 28673, 29067, 29459, 29853, 30247, 30640, 31034]] - data1 = [int(i*1.085*1.20) for i in [0, 2585, 2848, 3111, 3373, 3635, 3897, 4160, 4423, 4684, 4947, 5209, 5472, 5735, 5996, 6259, 6521, 6784, 7046, 7308, 7571, 7833, 8096, 8357, 8620, 8882, 9145, 9408, 9669, 9932, 10194, 10457, 10720, 10981, 11244, 11506, 11769, - 12030, 12293, 12556, 12818, 13081, 13342, 13605, 13868, 14130, 14392, 14654, 14917, 15180, 15442, 15704, 15966, 16229, 16492, 16754, 17016, 17278, 17541, 17804, 18065, 18328, 18590, 18853, 19116, 19377, 19640, 19902, 20165, 20426, 20689]] - CD = 12 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '灵魂摄取' - 所在等级 = 30 - 等级上限 = 70 - 基础等级 = 41 - data0 = [int(i*1.085*1.20) for i in [0, 501, 551, 603, 653, 704, 754, 806, 856, 908, 958, 1009, 1060, 1111, 1161, 1213, 1263, 1315, 1365, 1416, 1466, 1518, 1568, 1620, 1670, 1721, 1772, 1823, 1873, 1925, 1975, 2027, 2077, 2128, 2178, 2230, - 2280, 2332, 2382, 2433, 2484, 2535, 2585, 2637, 2687, 2739, 2789, 2840, 2890, 2942, 2992, 3044, 3094, 3145, 3196, 3247, 3297, 3349, 3399, 3451, 3501, 3552, 3602, 3654, 3704, 3756, 3806, 3857, 3908, 3958, 4009]] - 攻击次数 = 10 - CD = 8 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '释魂飞弹' - 所在等级 = 30 - 等级上限 = 70 - 基础等级 = 26 - data0 = [int(i*1.085*1.24) for i in [0, 599, 694, 791, 886, 981, 1076, 1172, 1268, 1363, 1459, 1554, 1651, 1746, 1841, 1936, 2032, 2128, 2224, 2319, 2414, 2511, 2606, 2701, 2796, 2892, 2988, 3084, 3179, 3274, 3371, 3466, 3561, 3657, 3753, 3848, - 3944, 4039, 4134, 4231, 4326, 4421, 4517, 4613, 4708, 4804, 4899, 4994, 5091, 5186, 5281, 5377, 5473, 5568, 5664, 5759, 5854, 5951, 6046, 6141, 6237, 6333, 6428, 6524, 6619, 6714, 6811, 6906, 7001, 7097, 7193]] - 攻击次数 = 4 - CD = 5 - TP成长 = 0.14 - TP上限 = 3 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - if self.TP等级 >= 1: - return (self.data0[self.等级] * self.攻击次数 * 2) * (0.72 + self.TP成长 * self.TP等级) * self.倍率 - else: - return (self.data0[self.等级] * self.攻击次数 * 2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '魅影暗魂斩' - 所在等级 = 30 - 等级上限 = 70 - 基础等级 = 38 - data0 = [int(i*1.085*1.20) for i in [0, 1444, 1591, 1738, 1885, 2030, 2177, 2324, 2471, 2618, 2765, 2912, 3058, 3205, 3352, 3499, 3645, 3792, 3939, 4085, 4232, 4379, 4526, 4673, 4820, 4965, 5112, 5258, 5404, 5551, 5697, 5844, 5991, 6138, 6285, 6432, - 6579, 6724, 6871, 7018, 7165, 7312, 7459, 7604, 7751, 7898, 8045, 8192, 8339, 8486, 8632, 8779, 8925, 9072, 9219, 9366, 9513, 9659, 9804, 9951, 10098, 10244, 10391, 10538, 10684, 10831, 10978, 11125, 11271, 11418, 11565]] - data1 = [int(i*1.085*1.20) for i in [0, 1543, 1699, 1855, 2012, 2168, 2324, 2480, 2638, 2794, 2950, 3107, 3263, 3419, 3575, 3732, 3888, 4044, 4202, 4359, 4515, 4673, 4829, 4985, 5142, 5298, 5454, 5610, 5767, 5923, 6079, 6237, 6393, 6549, 6705, 6862, 7020, - 7177, 7333, 7489, 7646, 7802, 7958, 8114, 8272, 8428, 8584, 8741, 8897, 9053, 9209, 9366, 9522, 9681, 9837, 9993, 10149, 10307, 10463, 10619, 10776, 10932, 11088, 11244, 11401, 11557, 11713, 11871, 12027, 12183, 12342]] - 攻击次数 = 1 - 攻击次数2 = 4 - CD = 11.0 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '魔镜幻影阵' - 所在等级 = 35 - 等级上限 = 70 - 基础等级 = 36 - 基础 = 9239.657 - 成长 = 1043.343 - # 生成攻击力 - data0 = [int(i*1.085*1.20) for i in [0, 791, 870, 951, 1031, 1111, 1192, 1272, 1352, 1433, 1513, 1593, 1674, 1754, 1833, 1915, 1994, 2074, 2155, 2235, 2315, 2396, 2476, 2556, 2637, 2717, 2796, 2878, 2957, 3037, 3118, 3198, 3278, 3359, 3439, 3519, - 3600, 3680, 3760, 3841, 3920, 4000, 4081, 4161, 4241, 4322, 4402, 4482, 4563, 4643, 4723, 4804, 4883, 4963, 5044, 5124, 5204, 5285, 5365, 5445, 5526, 5606, 5686, 5767, 5847, 5926, 6007, 6087, 6167, 6248, 6328]] - # 幻镜攻击力 - data1 = [int(i*1.085*1.20) for i in [0, 791, 872, 951, 1031, 1112, 1192, 1272, 1353, 1433, 1513, 1594, 1674, 1754, 1835, 1915, 1994, 2075, 2155, 2236, 2316, 2396, 2477, 2557, 2637, 2718, 2798, 2878, 2959, 3039, 3118, 3199, 3279, 3360, 3440, 3520, - 3601, 3681, 3761, 3842, 3922, 4002, 4083, 4162, 4242, 4323, 4403, 4484, 4564, 4644, 4725, 4805, 4885, 4966, 5046, 5126, 5207, 5286, 5366, 5447, 5527, 5608, 5688, 5768, 5849, 5929, 6009, 6090, 6170, 6250, 6331]] - 攻击次数2 = 12 - CD = 15.0 - 倍率 = 1 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.21 - elif x == 1: - self.倍率 *= 1.30 - - def 护石描述(self, x): - if x == 0: - temp = "魔镜低鸣" - temp += "

" - temp += "[魔镜幻影阵]
" - temp += "防护罩持续时间内移动速度 +10%
" - temp += "镜阵攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "防护罩持续时间内移动速度 +5%
" - temp += "镜阵攻击力 +7%" - elif x == 1: - temp = "魔镜低鸣" - temp += "

" - temp += "[魔镜幻影阵]
" - temp += "防护罩持续时间内移动速度 +10%
" - temp += "镜阵攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "防护罩持续时间内移动速度 +5%
" - temp += "镜阵攻击力 +16%" - return temp - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '释魂狂怒' - 所在等级 = 35 - 等级上限 = 70 - 基础等级 = 36 - data0 = [int(i*1.085*1.24) for i in [0, 14715, 16207, 17701, 19193, 20686, 22178, 23672, 25164, 26658, 28150, 29643, 31136, 32629, 34121, 35615, 37107, 38601, 40093, 41586, 43078, 44572, 46064, 47558, 49050, 50543, 52036, 53529, 55021, 56515, 58007, 59501, 60993, 62486, 63978, 65472, - 66964, 68458, 69950, 71443, 72936, 74429, 75921, 77415, 78907, 80401, 81893, 83386, 84878, 86372, 87865, 89358, 90851, 92343, 93837, 95329, 96823, 98315, 99808, 101301, 102794, 104286, 105780, 107272, 108765, 110258, 111751, 113243, 114737, 116229, 117723]] - CD = 15 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '暗影囚杀' - 所在等级 = 40 - 等级上限 = 70 - 基础等级 = 33 - data0 = [int(i*1.085*1.20) for i in [0, 313, 345, 377, 409, 440, 473, 505, 537, 568, 600, 632, 664, 695, 727, 760, 792, 823, 855, 887, 919, 950, 982, 1015, 1047, 1078, 1110, 1142, 1174, 1205, 1237, 1269, 1302, 1333, 1365, 1397, 1429, - 1460, 1492, 1524, 1557, 1587, 1620, 1652, 1684, 1715, 1747, 1779, 1810, 1842, 1875, 1907, 1938, 1970, 2002, 2034, 2065, 2097, 2130, 2162, 2193, 2225, 2257, 2289, 2320, 2352, 2384, 2417, 2448, 2480, 2512]] - 攻击次数 = 14 - data1 = [int(i*1.085*1.20) for i in [0, 9525, 10492, 11457, 12424, 13391, 14357, 15324, 16289, 17256, 18223, 19189, 20156, 21121, 22088, 23055, 24021, 24988, 25953, 26920, 27887, 28853, 29820, 30785, 31752, 32719, 33685, 34652, 35617, 36584, 37551, 38517, 39484, 40449, 41416, - 42383, 43349, 44316, 45281, 46248, 47215, 48181, 49148, 50113, 51080, 52046, 53013, 53980, 54945, 55912, 56878, 57845, 58812, 59777, 60744, 61710, 62677, 63644, 64609, 65576, 66542, 67509, 68476, 69441, 70408, 71374, 72341, 73308, 74273, 75240, 76206]] - 攻击次数2 = 1 - # 护石 - data2 = [int(x*1.0) for x in data0] - 攻击次数3 = 0 - 护石黑暗气息 = 0 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 5 - self.攻击次数2 *= 1.52 - self.攻击次数3 = 4 - self.护石黑暗气息 = 1.32 - elif x == 1: - self.攻击次数 = 5 - self.攻击次数2 *= 1.52 - self.攻击次数3 = 4 - self.护石黑暗气息 = 2.31 - - def 护石描述(self, x): - if x == 0: - temp = "暗影囚狱" - temp += "

" - temp += "[暗影囚杀]
" - temp += "斩击多段攻击次数 -9次
" - temp += "最后一击强制控制敌人1.5秒
" - temp += "最后一击攻击力 +52%
" - temp += "
-护石附加效果:
" - temp += "最后一击控制结束时, 黑暗气息爆炸并造成多段伤害
" - temp += "- 黑暗气息的攻击力为多段攻击力的132%
" - temp += "- 多段攻击次数 : 4
" - temp += "斩击多段攻击速度 +20%" - elif x == 1: - temp = "暗影囚狱" - temp += "

" - temp += "[暗影囚杀]
" - temp += "斩击多段攻击次数 -9次
" - temp += "最后一击强制控制敌人1.5秒
" - temp += "最后一击攻击力 +52%
" - temp += "
-护石附加效果:
" - temp += "最后一击控制结束时, 黑暗气息爆炸并造成多段伤害
" - temp += "- 黑暗气息的攻击力为多段攻击力的231%
" - temp += "- 多段攻击次数 : 4
" - temp += "斩击多段攻击速度 +20%" - return temp - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 * self.护石黑暗气息) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(主动技能): - 名称 = '暗影盛宴' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.085*1.108) for i in [0, 1786, 1967, 2149, 2330, 2512, 2692, 2874, 3055, 3237, 3418, 3599, 3780, 3962, 4143, 4323, 4505, 4687, 4868, 5050, 5230, 5411, 5593, 5774, 5956, 6136, 6318, 6499, 6681, 6862, 7043, 7224, 7406, 7587, 7769, 7949, 8131, - 8312, 8494, 8675, 8855, 9037, 9219, 9400, 9582, 9762, 9943, 10125, 10306, 10488, 10668, 10850, 11031, 11213, 11394, 11575, 11756, 11938, 12119, 12299, 12481, 12663, 12844, 13026, 13206, 13387, 13569, 13751, 13932, 14112, 14294]] - 攻击次数 = 15 - # 护石数据 - data1 = [int(x*1.0) for x in data0] - 攻击次数2 = 0 - CD = 40 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = (2.25 + 5.19) * 0.5 - self.CD *= 0.84 - elif x == 1: - self.攻击次数2 = (2.25 + 7.59) * 0.5 - self.CD *= 0.84 - - def 护石描述(self, x): - if x == 0: - temp = "暗影聚合" - temp += "

" - temp += "[暗影盛宴]
" - temp += "发射剑气后, 生成并发射暗影球
" - temp += "- 暗影球攻击力为爆炸攻击力的225%
" - temp += "冷却时间 -16%
" - temp += "
-护石附加效果:
" - temp += "剑气爆炸攻击次数 +100%
" - temp += "多段攻击间隔 -50%
" - temp += "剑气爆炸攻击力 -50%
" - temp += "暗影球攻击力比率 +519%" - elif x == 1: - temp = "暗影聚合" - temp += "

" - temp += "[暗影盛宴]
" - temp += "发射剑气后, 生成并发射暗影球
" - temp += "- 暗影球攻击力为爆炸攻击力的225%
" - temp += "冷却时间 -16%
" - temp += "
-护石附加效果:
" - temp += "剑气爆炸攻击次数 +100%
" - temp += "多段攻击间隔 -50%
" - temp += "剑气爆炸攻击力 -50%
" - temp += "暗影球攻击力比率 +759%" - return temp - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(被动技能): - 名称 = '灵魂傀儡' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.055 + 0.015 * self.等级, 5) - - -class 技能14(主动技能): - 名称 = '末日杀戮' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 基础 = 48299.2 * 1.1 - 成长 = 14582 * 1.1 - # 刺击魔法攻击 - data0 = [int(i*1.085*1.20) for i in [0, 886, 1091, 1297, 1501, 1707, 1913, 2118, 2324, 2529, 2735, 2941, 3145, 3351, 3556, 3762, 3968, 4173, 4379, 4584, 4790, 4996, 5200, 5406, 5611, 5817, 6022, 6228, 6434, 6638, 6844, 7049, 7255, 7461, 7666, 7872, 8076, - 8282, 8488, 8693, 8899, 9104, 9310, 9515, 9721, 9927, 10131, 10337, 10542, 10748, 10954, 11159, 11365, 11569, 11775, 11981, 12186, 12392, 12597, 12803, 13009, 13214, 13420, 13624, 13830, 14035, 14241, 14447, 14652, 14858, 15062]] - 攻击次数 = 1 - # 魅影连击 - data1 = [int(i*1.085*1.20) for i in [0, 1778, 2190, 2602, 3015, 3427, 3839, 4251, 4665, 5077, 5489, 5902, 6314, 6726, 7138, 7551, 7963, 8375, 8787, 9200, 9612, 10024, 10438, 10850, 11262, 11674, 12087, 12499, 12911, 13324, 13736, 14148, 14560, 14974, 15386, 15798, 16211, - 16623, 17035, 17447, 17860, 18272, 18684, 19096, 19509, 19921, 20333, 20747, 21159, 21571, 21983, 22396, 22808, 23220, 23633, 24045, 24457, 24869, 25283, 25695, 26107, 26520, 26932, 27344, 27756, 28169, 28581, 28993, 29405, 29819, 30231]] - 攻击次数2 = 5 - # 最终一击 - data2 = [int(i*1.085*1.20) for i in [0, 7554, 9306, 11057, 12809, 14560, 16313, 18065, 19816, 21568, 23319, 25071, 26822, 28575, 30327, 32078, 33830, 35581, 37334, 39086, 40837, 42589, 44340, 46093, 47844, 49596, 51348, 53099, 54851, 56602, 58355, 60107, 61858, 63610, 65361, 67114, 68865, - 70617, 72369, 74120, 75872, 77623, 79376, 81128, 82879, 84631, 86382, 88135, 89887, 91638, 93390, 95141, 96893, 98644, 100397, 102149, 103900, 105652, 107403, 109156, 110908, 112659, 114411, 116162, 117914, 119665, 121418, 123170, 124921, 126673, 128424]] - 攻击次数3 = 5 - # 爆炸 - data3 = [int(i*1.085*1.20) for i in [0, 15338, 18895, 22451, 26009, 29565, 33122, 36678, 40236, 43792, 47349, 50906, 54463, 58020, 61576, 65133, 68689, 72247, 75803, 79360, 82918, 86474, 90031, 93587, 97144, 100701, 104258, 107814, 111371, 114929, 118485, 122042, 125598, 129156, 132712, 136269, 139825, - 143382, 146939, 150496, 154053, 157609, 161167, 164723, 168280, 171836, 175394, 178950, 182507, 186064, 189620, 193178, 196734, 200291, 203847, 207405, 210961, 214518, 218075, 221632, 225189, 228745, 232302, 235858, 239416, 242972, 246529, 250087, 253643, 257200, 260756]] - 攻击次数4 = 1 - CD = 145.0 - 倍率 = 1.1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * self.倍率 - - -class 技能15(主动技能): - 名称 = '魔影轰杀' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.085*1.32) for i in [0, 5453, 6006, 6560, 7113, 7666, 8219, 8773, 9327, 9879, 10433, 10986, 11539, 12092, 12646, 13199, 13752, 14305, 14859, 15413, 15965, 16519, 17072, 17626, 18178, 18732, 19285, 19838, 20391, 20945, 21499, 22051, 22605, 23158, 23712, 24264, - 24818, 25371, 25925, 26477, 27031, 27585, 28137, 28691, 29244, 29798, 30350, 30904, 31457, 32011, 32563, 33117, 33671, 34223, 34777, 35330, 35884, 36436, 36990, 37544, 38097, 38649, 39203, 39757, 40310, 40863, 41416, 41970, 42522, 43076, 43630]] - 攻击次数 = 4 - CD = 30.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 倍率 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.14 - elif x == 1: - self.倍率 *= 1.22 - - def 护石描述(self, x): - if x == 0: - temp = "暗影随行" - temp += "

" - temp += "[魔影轰杀]
" - temp += "魔影由追踪敌人变更为环绕在自身周围
" - temp += "- 再次按技能键时发射魔影技能
" - temp += "- 持续时间10秒 (持续时间结束时自动发射)
" - temp += "- 爆炸次数 -3次
" - temp += "- 魔影攻击力为爆炸攻击力的1%
" - temp += "爆炸攻击力 +5%
" - temp += "
-护石附加效果:
" - temp += "追踪范围 +200px
" - temp += "爆炸攻击力 +9%" - elif x == 1: - temp = "暗影随行" - temp += "

" - temp += "[魔影轰杀]
" - temp += "魔影由追踪敌人变更为环绕在自身周围
" - temp += "- 再次按技能键时发射魔影技能
" - temp += "- 持续时间10秒 (持续时间结束时自动发射)
" - temp += "- 爆炸次数 -3次
" - temp += "- 魔影攻击力为爆炸攻击力的1%
" - temp += "爆炸攻击力 +5%
" - temp += "
-护石附加效果:
" - temp += "追踪范围 +200px
" - temp += "爆炸攻击力 +17%" - return temp - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(主动技能): - 名称 = '死亡献祭' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(i*1.085*1.20) for i in [0, 1660, 1827, 1996, 2164, 2333, 2500, 2669, 2838, 3006, 3174, 3342, 3511, 3680, 3848, 4016, 4184, 4353, 4522, 4689, 4858, 5026, 5195, 5362, 5531, 5700, 5868, 6037, 6204, 6373, 6542, 6710, 6878, 7046, 7215, 7384, 7552, - 7720, 7889, 8057, 8226, 8393, 8562, 8731, 8899, 9067, 9235, 9404, 9573, 9741, 9909, 10077, 10246, 10415, 10582, 10751, 10919, 11088, 11255, 11424, 11593, 11761, 11930, 12097, 12266, 12435, 12603, 12771, 12939, 13108, 13277]] - 攻击次数 = 11 - data1 = [int(i*1.085*1.20) for i in [0, 19001, 20928, 22856, 24783, 26710, 28639, 30567, 32494, 34421, 36349, 38277, 40205, 42132, 44060, 45987, 47916, 49843, 51770, 53698, 55625, 57554, 59481, 61409, 63336, 65263, 67191, 69119, 71047, 72974, 74902, 76829, 78758, 80685, 82612, 84540, 86467, - 88396, 90323, 92251, 94178, 96105, 98034, 99962, 101889, 103816, 105744, 107672, 109600, 111527, 113455, 115382, 117311, 119238, 121165, 123093, 125020, 126949, 128876, 130804, 132731, 134658, 136587, 138514, 140442, 142369, 144297, 146225, 148153, 150080, 152007]] - 攻击次数2 = 1 - CD = 50.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 *= 1.31 - elif x == 1: - self.攻击次数2 *= 1.46 - - def 护石描述(self, x): - if x == 0: - temp = "无上祭品" - temp += "

" - temp += "[死亡献祭]
" - temp += "在前方召唤幻影, 替代自身生成魔法阵
" - temp += "增加以幻影为中心吸附敌人的功能
" - temp += "[死亡献祭]爆炸攻击力 +27%
" - temp += "
-护石附加效果:
" - temp += "幻影生成魔法阵时, 可以移动
" - temp += "[死亡献祭]爆炸攻击力 +4%" - elif x == 1: - temp = "无上祭品" - temp += "

" - temp += "[死亡献祭]
" - temp += "在前方召唤幻影, 替代自身生成魔法阵
" - temp += "增加以幻影为中心吸附敌人的功能
" - temp += "[死亡献祭]爆炸攻击力 +27%
" - temp += "
-护石附加效果:
" - temp += "幻影生成魔法阵时, 可以移动
" - temp += "[死亡献祭]爆炸攻击力 +19%" - return temp - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能17(主动技能): - 名称 = '天罚死光' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - 数据 = [int(i*1.085*1.32) for i in [0, 52556, 57887, 63219, 68550, 73882, 79215, 84546, 89878, 95209, 100541, 105872, 111205, 116537, 121868, 127200, 132531, 137864, 143196, 148527, 153859, 159190, 164522, 169855, 175186, 180518, 185849, 191181, 196514, 201845, 207177, 212508, 217840, 223171, 228504, 233836, - 239167, 244499, 249830, 255163, 260495, 265826, 271158, 276489, 281821, 287154, 292485, 297817, 303148, 308480, 313813, 319144, 324476, 329807, 335139, 340470, 345803, 351135, 356466, 361798, 367129, 372461, 377794, 383125, 388457, 393788, 399120, 404453, 409784, 415116, 420447]] - CD = 40.0 - # 蓄力倍率 - 倍率 = 1.1 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1 + 0.03 * 1.96 * 4 - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.倍率 - - -class 技能18(被动技能): - 名称 = '薄暮' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['暗影之矛', '暗影缠袭', '灵魂摄取', '魅影暗魂斩', '暗影禁锢', '暗影漩涡', '魔镜幻影阵', '暗影囚杀', '末日杀戮', - '魔影轰杀', '死亡献祭', '暗影盛宴', '天罚死光', '天罚之剑', '神罚·灭世裁决', '暗影绽放:死亡荆棘', '冥王降临:净土救赎'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.24 + 0.02 * self.等级, 5) - - -class 技能19(主动技能): - 名称 = '天罚之剑' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.085*1.11) for i in [0, 17407, 19172, 20939, 22705, 24470, 26237, 28002, 29768, 31535, 33300, 35066, 36833, 38598, 40364, 42130, 43896, 45662, 47428, 49194, 50959, 52726, 54492, 56257, 58024, 59790, 61555, 63322, 65087, 66853, 68620, 70385, 72152, 73917, 75683, 77450, 79215, - 80981, 82748, 84513, 86279, 88044, 89811, 91577, 93342, 95109, 96874, 98641, 100407, 102172, 103939, 105705, 107470, 109237, 111002, 112768, 114535, 116300, 118066, 119831, 121598, 123364, 125130, 126896, 128662, 130428, 132194, 133959, 135726, 137492, 139257]] - data1 = [int(i*1.085*1.11) for i in [0, 45626, 50256, 54885, 59513, 64142, 68772, 73400, 78029, 82658, 87287, 91916, 96544, 101173, 105802, 110431, 115060, 119689, 124317, 128947, 133576, 138204, 142833, 147463, 152091, 156720, 161348, 165978, 170607, 175235, 179864, 184494, 189122, 193751, 198379, 203009, - 207638, 212266, 216895, 221525, 226153, 230782, 235410, 240040, 244669, 249297, 253926, 258556, 263184, 267813, 272441, 277070, 281700, 286328, 290957, 295586, 300215, 304844, 309473, 314101, 318731, 323359, 327988, 332617, 337246, 341875, 346504, 351132, 355762, 360391, 365019]] - CD = 45 - 倍率 = 1.1 - # 护石倍率 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级]) * self.倍率 - - -class 技能20(主动技能): - 名称 = '神罚·灭世裁决' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(i*1.085*1.25) for i in [0, 9891, 12184, 14477, 16771, 19064, 21358, 23651, 25944, 28239, 30532, 32825, 35119, 37412, 39705, 42000, 44293, 46587, 48880, 51173, 53467, 55760, 58053, 60348, 62641, 64935, 67228, 69521, 71815, 74109, 76402, 78696, 80989, 83283, 85576, 87869, 90164, 92457, - 94750, 97044, 99337, 101631, 103924, 106217, 108512, 110805, 113098, 115392, 117685, 119978, 122273, 124566, 126860, 129153, 131446, 133740, 136033, 138326, 140621, 142914, 145208, 147501, 149794, 152089, 154382, 156675, 158969, 161262, 163556, 165849, 168142]] - 攻击次数 = 7 - data1 = [int(i*1.085*1.25) for i in [0, 69235, 85289, 101344, 117398, 133453, 149508, 165562, 181617, 197671, 213726, 229781, 245835, 261890, 277944, 293999, 310054, 326108, 342163, 358217, 374272, 390328, 406381, 422436, 438490, 454545, 470601, 486654, 502710, 518763, 534818, 550874, 566927, 582983, 599036, 615092, - 631147, 647201, 663256, 679309, 695365, 711418, 727474, 743529, 759583, 775638, 791691, 807747, 823802, 839856, 855911, 871965, 888020, 904075, 920129, 936184, 952238, 968293, 984348, 1000402, 1016457, 1032511, 1048566, 1064621, 1080675, 1096730, 1112784, 1128839, 1144894, 1160948, 1177003]] - CD = 180.0 - 倍率 = 1.1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级]) * self.倍率 - - -class 技能21(被动技能): - 名称 = '以身载灵' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = '暗影绽放:死亡荆棘' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085*1.209) for i in [0, 38764, 42693, 46623, 50553, 54483, 58413, 62343, 66273, 70203, 74133, 78063, 81993, 85923, 89853, 93783, 97713, 101643, 105573, 109502, 113432, 117362, 121292, 125222, 129152, 133082, 137012, 140942, 144872, 148802, 152732, 156662, 160592, 164522, 168452, 172382, - 176312, 180241, 184171, 188101, 192031, 195961, 199891, 203821, 207751, 211681, 215611, 219541, 223471, 227401, 231331, 235261, 239191, 243121, 247050, 250980, 254910, 258840, 262770, 266700, 270630, 274560, 278490, 282420, 286350, 290280, 294210, 298140, 302070, 306000, 309930]] - data1 = [int(i*1.085*1.209) for i in [0, 90448, 99618, 108788, 117958, 127128, 136298, 145467, 154637, 163807, 172977, 182147, 191317, 200487, 209656, 218826, 227996, 237166, 246336, 255506, 264676, 273846, 283015, 292185, 301355, 310525, 319695, 328865, 338035, 347204, 356374, 365544, 374714, 383884, 393054, 402224, - 411394, 420563, 429733, 438903, 448073, 457243, 466413, 475583, 484752, 493922, 503092, 512262, 521432, 530602, 539772, 548941, 558111, 567281, 576451, 585621, 594791, 603961, 613131, 622300, 631470, 640640, 649810, 658980, 668150, 677320, 686489, 695659, 704829, 713999, 723169]] - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级]) * self.倍率 - - -class 技能23(主动技能): - 名称 = '冥王降临:净土救赎' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.085*1.20) for i in [0, 11941, 14710, 17479, 20248, 23017, 25786, 28555, 31324, 34093, 36862, 39631, 42400, 45169, 47938, 50707, 53476, 56245, 59014, 61783, 64552, 67321, 70090, 72859, 75628, 78397, 81166, 83935, 86704, 89473, 92242, 95011, 97780, 100549, 103317, 106087, 108856, - 111624, 114393, 117162, 119931, 122700, 125469, 128238, 131007, 133776, 136545, 139314, 142083, 144852, 147621, 150390, 153159, 155928, 158697, 161466, 164235, 167004, 169773, 172542, 175311, 178080, 180849, 183618, 186387, 189156, 191925, 194694, 197463, 200232, 203001]] - 攻击次数 = 10 - data1 = [int(i*1.085*1.20) for i in [0, 278627, 343238, 407846, 472456, 537066, 601674, 666285, 730895, 795503, 860113, 924723, 989331, 1053942, 1118552, 1183162, 1247770, 1312381, 1376991, 1441599, 1506209, 1570819, 1635427, 1700038, 1764648, 1829256, 1893866, 1958476, 2023084, 2087695, 2152305, 2216913, 2281523, 2346134, 2410742, 2475352, - 2539962, 2604570, 2669180, 2733791, 2798399, 2863009, 2927619, 2992227, 3056838, 3121448, 3186058, 3250666, 3315276, 3379887, 3444495, 3509105, 3573715, 3638323, 3702934, 3767544, 3832152, 3896762, 3961372, 4025980, 4090591, 4155201, 4219809, 4284419, 4349030, 4413638, 4478248, 4542858, 4607466, 4672076, 4736687]] - CD = 290.0 - 关联技能 = ['无'] - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级]) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·暗殿骑士一觉序号 = 0 -极诣·暗殿骑士二觉序号 = 0 -极诣·暗殿骑士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·暗殿骑士一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·暗殿骑士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·暗殿骑士三觉序号 = 技能序号[i.名称] - -极诣·暗殿骑士护石选项 = [ - '无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·暗殿骑士护石选项.append(i.名称) - -极诣·暗殿骑士符文选项 = [ - '无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·暗殿骑士符文选项.append(i.名称) - - -class 极诣·暗殿骑士角色属性(角色属性): - 实际名称 = '极诣·暗殿骑士' - 角色 = '鬼剑士(女)' - 职业 = '暗殿骑士' - - 武器选项 = ['太刀', '短剑', '巨剑', '钝器'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.65 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 极诣·暗殿骑士(角色窗口): - - def 窗口属性输入(self): - self.初始属性 = 极诣·暗殿骑士角色属性() - self.角色属性A = 极诣·暗殿骑士角色属性() - self.角色属性B = 极诣·暗殿骑士角色属性() - self.一觉序号 = 极诣·暗殿骑士一觉序号 - self.二觉序号 = 极诣·暗殿骑士二觉序号 - self.三觉序号 = 极诣·暗殿骑士三觉序号 - self.护石选项 = deepcopy(极诣·暗殿骑士护石选项) - self.符文选项 = deepcopy(极诣·暗殿骑士符文选项) diff --git a/Characters/极诣·流浪武士.py b/Characters/极诣·流浪武士.py deleted file mode 100644 index c4e3e8d4..00000000 --- a/Characters/极诣·流浪武士.py +++ /dev/null @@ -1,725 +0,0 @@ -from PublicReference.carry.base import * - - -class 技能0(被动技能): - 名称 = '返本归元' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.16 + 0.04 * self.等级, 5) - - -class 技能1(被动技能): - 名称 = '三花聚顶' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.065 + 0.02 * self.等级, 5) - - -class 技能2(被动技能): - 名称 = '七星耀华' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '剑仙之境' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能4(主动技能): - 名称 = '四象引' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [0, 3928, 4331, 4714, 5118, 5520, 5912, 6314, 6718, 7120, 7511, 7913, 8306, 8700, 9102, 9504, 9897, 10300, 10702, 11104, 11490, 11889, 12292, 12686, 13087, 13489, 13882, 14285, 14685, 15068, 15473, 15875, 16278, 16669, 17073, 17474, 17867, - 18261, 18663, 19056, 19458, 19861, 20263, 20655, 21058, 21458, 21844, 22247, 22647, 23039, 23443, 23845, 24239, 24640, 25042, 25434, 25828, 26230, 26634, 27028, 27428, 27830, 28213, 28617, 29019, 29423, 29812, 30216, 30618, 31010, 31412] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(主动技能): - 名称 = '一花渡江' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [0, 1191, 1311, 1432, 1552, 1674, 1794, 1915, 2036, 2157, 2277, 2398, 2520, 2640, 2761, 2881, 3003, 3123, 3244, 3365, 3486, 3606, 3727, 3848, 3969, 4089, 4211, 4332, 4452, 4573, 4694, 4815, 4935, 5057, 5177, - 5298, 5418, 5540, 5660, 5781, 5902, 6023, 6144, 6264, 6386, 6506, 6627, 6747, 6869, 6989, 7110, 7230, 7352, 7473, 7593, 7715, 7835, 7956, 8076, 8198, 8318, 8439, 8559, 8681, 8801, 8922, 9043, 9164, 9285, 9405, 9527] - 攻击次数 = 3 - - def 等效百分比(self, 武器类型): - return self.攻击次数 * self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '樱落斩' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 463, 507, 556, 603, 656, 698, 750, 795, 842, 893, 936, 986, 1033, 1082, 1127, 1175, 1226, 1269, 1320, 1367, 1414, 1462, 1510, 1558, 1604, 1653, 1700, 1747, 1798, 1842, 1891, 1940, 1986, 2035, 2080, - 2130, 2177, 2223, 2272, 2319, 2366, 2414, 2464, 2507, 2559, 2606, 2655, 2701, 2747, 2798, 2842, 2891, 2937, 2985, 3036, 3079, 3130, 3177, 3225, 3270, 3319, 3368, 3414, 3462, 3509, 3557, 3608, 3651, 3702, 3750] - data2 = [0, 619, 680, 742, 805, 871, 933, 994, 1061, 1124, 1188, 1247, 1317, 1378, 1440, 1504, 1569, 1631, 1692, 1757, 1822, 1888, 1949, 2012, 2076, 2139, 2201, 2265, 2330, 2395, 2455, 2523, 2584, 2647, 2710, 2775, - 2839, 2899, 2965, 3027, 3093, 3156, 3221, 3282, 3345, 3408, 3472, 3536, 3601, 3662, 3728, 3792, 3853, 3917, 3979, 4045, 4106, 4170, 4234, 4299, 4363, 4427, 4490, 4551, 4616, 4678, 4743, 4810, 4869, 4934, 4997] - data3 = [0, 176, 194, 212, 229, 250, 266, 286, 303, 320, 338, 356, 375, 394, 410, 430, 447, 466, 485, 503, 519, 539, 556, 577, 595, 609, 630, 647, 666, 683, 701, 720, 739, 755, 775, 792, 812, - 830, 848, 865, 883, 900, 920, 936, 955, 974, 992, 1010, 1028, 1045, 1066, 1083, 1100, 1121, 1137, 1154, 1174, 1189, 1209, 1228, 1246, 1266, 1284, 1300, 1319, 1337, 1356, 1373, 1390, 1411, 1427] - data4 = [0, 1230, 1357, 1482, 1609, 1741, 1860, 1992, 2119, 2247, 2374, 2498, 2626, 2752, 2878, 3010, 3135, 3264, 3387, 3516, 3640, 3770, 3896, 4022, 4154, 4273, 4405, 4533, 4658, 4787, 4910, 5039, 5165, 5291, 5423, - 5550, 5676, 5802, 5927, 6055, 6183, 6309, 6434, 6566, 6687, 6819, 6944, 7072, 7203, 7324, 7455, 7578, 7707, 7836, 7962, 8090, 8214, 8341, 8467, 8595, 8724, 8847, 8979, 9099, 9231, 9359, 9484, 9615, 9736, 9867, 9993] - data0 = [data1, data2, data3, data4] - 次数 = [1, 1, 3, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '圆舞斩' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - CD = 11.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 2960, 3261, 3562, 3862, 4158, 4460, 4761, 5061, 5363, 5662, 5964, 6265, 6560, 6862, 7162, 7463, 7764, 8065, 8367, 8666, 8965, 9263, 9564, 9866, 10165, 10467, 10767, 11067, 11366, 11667, 11969, 12266, 12567, 12871, 13169, 13469, - 13768, 14071, 14370, 14671, 14973, 15273, 15572, 15869, 16170, 16471, 16772, 17074, 17374, 17675, 17970, 18271, 18572, 18873, 19174, 19474, 19776, 20077, 20376, 20672, 20976, 21275, 21574, 21877, 22178, 22478, 22778, 23077, 23379, 23678] - data2 = [0, 1774, 1956, 2134, 2314, 2496, 2675, 2854, 3036, 3214, 3394, 3578, 3755, 3933, 4116, 4297, 4474, 4657, 4837, 5015, 5195, 5376, 5553, 5736, 5916, 6094, 6277, 6456, 6635, 6816, 6997, 7175, 7356, 7535, 7713, 7896, 8076, - 8259, 8437, 8617, 8796, 8977, 9156, 9340, 9515, 9697, 9878, 10056, 10235, 10418, 10596, 10776, 10959, 11136, 11317, 11498, 11677, 11855, 12039, 12220, 12396, 12579, 12758, 12937, 13117, 13298, 13476, 13658, 13837, 14016, 14198] - data3 = [0, 1066, 1171, 1284, 1389, 1498, 1606, 1715, 1821, 1929, 2038, 2148, 2253, 2361, 2469, 2579, 2685, 2793, 2900, 3013, 3120, 3228, 3335, 3443, 3552, 3662, 3768, 3876, 3985, 4093, 4199, 4307, 4416, 4526, 4634, - 4742, 4849, 4956, 5062, 5172, 5280, 5389, 5496, 5606, 5713, 5820, 5927, 6035, 6143, 6253, 6362, 6469, 6575, 6688, 6794, 6903, 7012, 7120, 7227, 7335, 7444, 7551, 7658, 7768, 7876, 7983, 8090, 8200, 8308, 8415, 8521] - data0 = [data1, data2, data3] - 次数 = [1, 0, 1] - # 无法抓取敌人无冲撞攻击力 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '碎岩裂地掌' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - CD = 12.0 - 演出时间 = 0.5 - TP成长 = 0.10 - TP上限 = 5 - data0 = [0, 6371, 7014, 7661, 8307, 8954, 9600, 10248, 10893, 11542, 12186, 12833, 13478, 14126, 14770, 15418, 16061, 16711, 17354, 18006, 18650, 19295, 19942, 20588, 21235, 21878, 22527, 23169, 23817, 24462, 25112, 25757, 26405, 27048, 27696, 28340, - 28989, 29633, 30281, 30924, 31575, 32220, 32867, 33512, 34160, 34805, 35451, 36096, 36740, 37389, 38033, 38684, 39327, 39974, 40621, 41266, 41913, 42559, 43204, 43851, 44495, 45146, 45790, 46439, 47082, 47729, 48375, 49023, 49666, 50316, 50959] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '游龙掌' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - CD = 12.0 - 演出时间 = 1 - TP成长 = 0.10 - TP上限 = 5 - data0 = [0, 838, 927, 1016, 1096, 1184, 1273, 1362, 1444, 1533, 1622, 1708, 1789, 1876, 1967, 2053, 2139, 2229, 2312, 2401, 2487, 2575, 2659, 2747, 2838, 2923, 3004, 3094, 3183, 3268, 3355, 3445, 3528, 3615, 3702, 3791, - 3875, 3960, 4053, 4138, 4220, 4307, 4395, 4483, 4571, 4654, 4744, 4831, 4918, 4999, 5090, 5176, 5265, 5354, 5437, 5523, 5610, 5699, 5785, 5869, 5955, 6046, 6131, 6215, 6304, 6391, 6477, 6560, 6651, 6740, 6825] - - def 等效百分比(self, 武器类型): - # 攻击次数为10 - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 * 10 - - -class 技能10(主动技能): - 名称 = '乱花葬' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 24 - CD = 25.0 - 演出时间 = 1 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 320, 370, 421, 472, 523, 575, 625, 676, 727, 778, 830, 880, 931, 982, 1033, 1085, 1135, 1186, 1237, 1288, 1340, 1390, 1441, 1492, 1543, 1594, 1645, 1696, 1747, 1798, 1849, 1900, 1951, 2002, 2053, - 2104, 2155, 2205, 2257, 2308, 2359, 2410, 2460, 2512, 2563, 2614, 2665, 2715, 2767, 2818, 2868, 2920, 2970, 3022, 3073, 3123, 3175, 3225, 3277, 3328, 3378, 3430, 3480, 3532, 3583, 3633, 3685, 3735, 3787, 3838] - data2 = [0, 3184, 3692, 4199, 4707, 5215, 5723, 6231, 6739, 7246, 7754, 8261, 8769, 9277, 9784, 10292, 10801, 11308, 11816, 12323, 12831, 13339, 13846, 14354, 14861, 15370, 15878, 16385, 16893, 17401, 17908, 18416, 18923, 19431, 19940, 20447, - 20955, 21463, 21970, 22478, 22985, 23493, 24001, 24508, 25017, 25525, 26032, 26540, 27047, 27555, 28063, 28570, 29078, 29587, 30094, 30602, 31109, 31617, 32125, 32632, 33140, 33647, 34156, 34664, 35171, 35679, 36186, 36694, 37202, 37709, 38217] - data3 = [0, 515, 597, 679, 760, 842, 925, 1007, 1089, 1171, 1254, 1336, 1417, 1499, 1582, 1664, 1746, 1828, 1911, 1993, 2074, 2156, 2238, 2321, 2403, 2485, 2567, 2650, 2731, 2813, 2895, 2977, 3060, 3142, 3224, 3306, - 3388, 3470, 3552, 3634, 3717, 3799, 3881, 3963, 4044, 4127, 4209, 4291, 4373, 4456, 4538, 4620, 4701, 4783, 4866, 4948, 5030, 5112, 5195, 5277, 5358, 5440, 5523, 5605, 5687, 5769, 5852, 5934, 6016, 6097, 6179] - data4 = [0, 5074, 5882, 6692, 7500, 8308, 9118, 9926, 10736, 11544, 12353, 13162, 13971, 14780, 15589, 16398, 17207, 18015, 18825, 19633, 20443, 21251, 22059, 22869, 23677, 24487, 25295, 26105, 26913, 27722, 28531, 29340, 30149, 30958, 31766, 32576, - 33384, 34194, 35002, 35812, 36620, 37428, 38238, 39046, 39856, 40664, 41473, 42282, 43091, 43900, 44709, 45518, 46327, 47135, 47945, 48753, 49563, 50371, 51179, 51989, 52797, 53607, 54415, 55224, 56033, 56842, 57651, 58460, 59269, 60078, 60886] - data0 = [data1, data2, data3, data4] - 次数 = [6, 1, 5, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [6 + 4, 1, 5 + 4, 1] - elif x == 1: - self.次数 = [6 + 4, 1, 5 + 4, 1] - self.倍率 *= 1.07 - - def 护石描述(self, x): - if x == 0: - temp = "花无语" - temp += "

" - temp += "[乱花葬]
" - temp += "攻击范围 +25%
" - temp += "念气之花散开攻击效果强化
" - temp += "- 多段攻击次数 +80%
" - temp += "- 多段攻击间隔 -45%
" - temp += "
-护石附加效果:
" - temp += "前冲动作可以击退霸体状态的敌人
" - temp += "念气之花散开攻击时可以吸附敌人
" - temp += "多段攻击强化
" - temp += "- 多段攻击次数 +67%
" - temp += "- 多段攻击间隔 -40%" - elif x == 1: - temp = "花无语" - temp += "

" - temp += "[乱花葬]
" - temp += "攻击范围 +25%
" - temp += "念气之花散开攻击效果强化
" - temp += "- 多段攻击次数 +80%
" - temp += "- 多段攻击间隔 -45%
" - temp += "
-护石附加效果:
" - temp += "前冲动作可以击退霸体状态的敌人
" - temp += "念气之花散开攻击时可以吸附敌人
" - temp += "多段攻击强化
" - temp += "- 多段攻击次数 +67%
" - temp += "- 多段攻击间隔 -40%
" - temp += "攻击力 +7%" - return temp - - -class 技能11(主动技能): - 名称 = '回天璇鸣剑' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 20.0 - 演出时间 = 1 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 3132, 3433, 3778, 4099, 4400, 4699, 5045, 5345, 5665, 5989, 6312, 6611, 6911, 7258, 7579, 7878, 8224, 8523, 8824, 9167, 9468, 9791, 10089, 10436, 10733, 11057, 11380, 11702, 12002, 12303, 12646, 12946, 13268, 13615, 13915, 14212, - 14513, 14859, 15181, 15481, 15825, 16124, 16425, 16747, 17070, 17393, 17692, 18037, 18337, 18660, 18983, 19303, 19603, 19948, 20249, 20549, 20893, 21216, 21517, 21861, 22162, 22461, 22806, 23105, 23427, 23774, 24074, 24372, 24718, 25017] - data2 = [0, 9126, 10051, 10979, 11906, 12829, 13758, 14680, 15608, 16536, 17459, 18382, 19312, 20234, 21162, 22089, 23012, 23942, 24865, 25792, 26720, 27642, 28570, 29493, 30422, 31351, 32275, 33197, 34124, 35046, 35975, 36899, 37828, 38754, 39678, - 40605, 41529, 42456, 43385, 44308, 45236, 46159, 47087, 48014, 48938, 49862, 50791, 51713, 52640, 53568, 54492, 55420, 56342, 57270, 58199, 59122, 60046, 60972, 61901, 62826, 63753, 64678, 65603, 66525, 67455, 68378, 69304, 70233, 71156, 72085, 73008] - data0 = [data1, data2] - 次数 = [1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(主动技能): - 名称 = '湮烈掌' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 1589, 1750, 1911, 2072, 2233, 2396, 2557, 2718, 2879, 3040, 3201, 3363, 3524, 3686, 3847, 4008, 4169, 4331, 4492, 4653, 4814, 4975, 5136, 5298, 5459, 5620, 5781, 5942, 6105, 6266, 6428, 6589, 6750, 6911, 7073, 7234, - 7395, 7556, 7717, 7878, 8040, 8201, 8362, 8523, 8684, 8845, 9007, 9168, 9329, 9490, 9651, 9813, 9975, 10136, 10297, 10458, 10619, 10780, 10943, 11104, 11265, 11426, 11587, 11748, 11910, 12071, 12232, 12393, 12555, 12716] - data2 = [0, 11126, 12255, 13385, 14513, 15641, 16771, 17899, 19029, 20157, 21286, 22415, 23543, 24671, 25802, 26930, 28059, 29187, 30316, 31446, 32574, 33702, 34832, 35960, 37090, 38218, 39348, 40476, 41604, 42735, 43863, 44991, 46120, 47248, 48378, - 49507, 50635, 51764, 52893, 54021, 55151, 56279, 57409, 58537, 59665, 60796, 61924, 63053, 64181, 65309, 66440, 67568, 68697, 69825, 70954, 72083, 73212, 74341, 75470, 76598, 77727, 78857, 79986, 81114, 82242, 83371, 84501, 85629, 86758, 87886, 89016] - data0 = [data1, data2] - 次数 = [3, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1 + 3.11, 1 + 0.14] - elif x == 1: - self.次数 = [1 + 3.11, 1 + 0.27] - - def 护石描述(self, x): - if x == 0: - temp = "湮灭掌" - temp += "

" - temp += "[湮烈掌]
" - temp += "攻击范围 +25%
" - temp += "内劲被吸收至爆炸的时间 +1秒
" - temp += "内劲爆炸攻击强化
" - temp += "- 多段攻击次数 -2次
" - temp += "- 攻击力 +311%
" - temp += "- 大小 +50%
" - temp += "
-护石附加效果:
" - temp += "蓄气时间 -40%
" - temp += "内劲释放攻击力 +14%" - elif x == 1: - temp = "湮灭掌" - temp += "

" - temp += "[湮烈掌]
" - temp += "攻击范围 +25%
" - temp += "内劲被吸收至爆炸的时间 +1秒
" - temp += "内劲爆炸攻击强化
" - temp += "- 多段攻击次数 -2次
" - temp += "- 攻击力 +311%
" - temp += "- 大小 +50%
" - temp += "
-护石附加效果:
" - temp += "蓄气时间 -40%
" - temp += "内劲释放攻击力 +27%" - return temp - - -class 技能13(主动技能): - 名称 = '花舞千魂杀' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 10944, 12088, 13170, 14317, 15485, 16590, 17755, 18855, 19992, 21131, 22242, 23398, 24513, 25669, 26816, 27908, 29059, 30166, 31302, 32458, 33572, 34711, 35854, 36977, 38109, 39256, 40385, 41529, 42619, 43759, 44902, 46006, 47164, 48273, - 49419, 50556, 51679, 52838, 53958, 55085, 56229, 57333, 58469, 59605, 60728, 61868, 63016, 64119, 65266, 66393, 67607, 68751, 69892, 71035, 72156, 73279, 74440, 75572, 76684, 77829, 78965, 80093, 81248, 82379, 83504, 84639, 85796, 86935, 88055, 89212] - data2 = [0, 1504, 1661, 1816, 1971, 2131, 2286, 2444, 2595, 2753, 2912, 3062, 3221, 3374, 3532, 3691, 3842, 4001, 4153, 4307, 4466, 4620, 4775, 4934, 5094, 5245, 5404, 5558, 5718, 5866, 6025, 6181, 6333, 6492, 6643, 6801, - 6956, 7114, 7270, 7429, 7583, 7740, 7893, 8051, 8207, 8360, 8519, 8674, 8827, 8985, 9139, 9309, 9467, 9620, 9778, 9935, 10087, 10246, 10403, 10554, 10713, 10874, 11024, 11185, 11343, 11494, 11651, 11811, 11964, 12118, 12280] - data3 = [0, 6018, 6650, 7254, 7887, 8519, 9139, 9769, 10383, 11013, 11635, 12251, 12883, 13503, 14132, 14765, 15370, 16002, 16611, 17235, 17865, 18480, 19101, 19735, 20364, 20973, 21607, 22230, 22863, 23462, 24098, 24727, 25332, 25963, 26575, 27206, - 27827, 28460, 29092, 29705, 30325, 30956, 31568, 32192, 32824, 33439, 34066, 34698, 35303, 35934, 36557, 37222, 37854, 38475, 39104, 39735, 40349, 40980, 41612, 42218, 42846, 43478, 44100, 44732, 45359, 45975, 46607, 47238, 47859, 48473, 49120] - data0 = [data1, data2, data3] - 次数 = [1, 2, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1 + 1.19, 0, 0] - elif x == 1: - self.次数 = [1 + 1.33, 0, 0] - - def 护石描述(self, x): - if x == 0: - temp = "花飞万里" - temp += "

" - temp += "[花舞千魂杀]
" - temp += "攻击范围 +25%
" - temp += "删除剑插地攻击和最后下斩攻击
" - temp += "一闪攻击力 +100%
" - temp += "
-护石附加效果:
" - temp += "一闪攻击后僵直时间 -30%
" - temp += "一闪攻击后转换角色朝向
" - temp += "一闪攻击力 +19%" - elif x == 1: - temp = "花飞万里" - temp += "

" - temp += "[花舞千魂杀]
" - temp += "攻击范围 +25%
" - temp += "删除剑插地攻击和最后下斩攻击
" - temp += "一闪攻击力 +100%
" - temp += "
-护石附加效果:
" - temp += "一闪攻击后僵直时间 -30%
" - temp += "一闪攻击后转换角色朝向
" - temp += "一闪攻击力 +33%" - return temp - - -class 技能14(主动技能): - 名称 = '花开寒影' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - CD = 145 - data1 = [int(x*1.155) for x in [0, 6249, 7698, 9147, 10596, 12045, 13495, 14943, 16392, 17841, 19290, 20740, 22188, 23637, 25086, 26536, 27985, 29433, 30882, 32331, - 33781, 35229, 36678, 38127, 39578, 41027, 42476, 43924, 45374, 46823, 48272, 49721, 51169, 52619, 54068, 55517, 56966, 58415, 59864, 61313, 62762]] - data2 = [int(x*1.155) for x in [0, 960, 1184, 1406, 1630, 1853, 2075, 2297, 2522, 2744, 2967, 3190, 3413, 3636, 3858, 4082, 4305, 4527, 4751, 4974, - 5196, 5419, 5643, 5865, 6088, 6312, 6534, 6758, 6980, 7203, 7425, 7649, 7871, 8094, 8318, 8540, 8762, 8987, 9209, 9431, 9656]] - data3 = [int(x*1.155) for x in [0, 39767, 48987, 58209, 67431, 76652, 85873, 95095, 104316, 124891, 135036, 145178, 155322, 165466, 175609, 185753, 195895, 206040, 216182, 226326, 236471, - 246613, 256757, 266899, 277044, 287188, 297330, 307475, 317618, 327761, 337906, 348048, 358192, 368335, 378479, 388623, 398765, 408910, 419053, 429196, 439341]] - data0 = [data1, data2, data3] - 次数 = [1, 13, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能15(主动技能): - 名称 = '啸空十字斩' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 5188, 5715, 6241, 6767, 7294, 7820, 8346, 8872, 9399, 9926, 10451, 10978, 11504, 12030, 12555, 13082, 13609, 14135, 14661, 15187, 15714, 16238, 16765, 17292, 17818, 18344, 18871, 19397, 19924, 20449, 20977, 21504, 22030, 22556, 23082, - 23609, 24135, 24660, 25187, 25713, 26240, 26766, 27292, 27819, 28345, 28871, 29398, 29924, 30451, 30978, 31503, 32030, 32554, 33081, 33607, 34134, 34659, 35186, 35713, 36239, 36765, 37292, 37818, 38345, 38870, 39397, 39924, 40450, 40976, 41502] - data2 = [0, 6053, 6666, 7281, 7894, 8508, 9123, 9737, 10349, 10964, 11579, 12193, 12807, 13421, 14035, 14649, 15262, 15878, 16490, 17104, 17720, 18334, 18947, 19562, 20175, 20790, 21404, 22017, 22632, 23246, 23860, 24473, 25087, 25701, 26316, 26930, - 27543, 28158, 28771, 29386, 30000, 30613, 31228, 31842, 32456, 33070, 33683, 34297, 34913, 35527, 36140, 36755, 37369, 37984, 38596, 39210, 39825, 40439, 41053, 41667, 42281, 42894, 43508, 44123, 44736, 45351, 45965, 46580, 47192, 47806, 48421] - data3 = [0, 6918, 7619, 8321, 9022, 9725, 10425, 11128, 11830, 12533, 13233, 13936, 14637, 15338, 16041, 16742, 17444, 18145, 18848, 19550, 20251, 20953, 21656, 22356, 23059, 23760, 24462, 25164, 25866, 26567, 27268, 27971, 28674, 29374, 30076, 30779, - 31479, 32182, 32883, 33585, 34287, 34989, 35691, 36392, 37094, 37797, 38496, 39199, 39902, 40601, 41305, 42005, 42707, 43409, 44111, 44813, 45514, 46216, 46919, 47619, 48321, 49024, 49724, 50427, 51128, 51831, 52532, 53234, 53936, 54637, 55339] - data0 = [data1, data2, data3] - 次数 = [1, 1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1, 0, 1 + 0.88] - self.CD *= 0.80 - elif x == 1: - self.次数 = [1, 0, 1 + 0.88] - self.CD *= 0.80 - self.倍率 *= 1.09 - - def 护石描述(self, x): - if x == 0: - temp = "日落黄昏" - temp += "

" - temp += "[啸空十字斩]
" - temp += "删除垂直斩击
" - temp += "爆炸攻击力 +88%
" - temp += "冷却时间 -20%
" - temp += "
-护石附加效果:
" - temp += "爆炸攻击范围 +25%
" - temp += "水平斩击持续时间 +1.5秒
" - temp += "再次按技能键时, 立即引发爆炸" - elif x == 1: - temp = "日落黄昏" - temp += "

" - temp += "[啸空十字斩]
" - temp += "删除垂直斩击
" - temp += "爆炸攻击力 +88%
" - temp += "冷却时间 -20%
" - temp += "
-护石附加效果:
" - temp += "爆炸攻击范围 +25%
" - temp += "水平斩击持续时间 +1.5秒
" - temp += "再次按技能键时, 立即引发爆炸
" - temp += "攻击力 +9%" - return temp - - -class 技能16(主动技能): - 名称 = '如来神掌' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [0, 13098, 14427, 15758, 17085, 18414, 19741, 21073, 22399, 23730, 25061, 26386, 27715, 29043, 30374, 31703, 33030, 34362, 35687, 37018, 38348, 39676, 41004, 42331, 43664, 44993, 46319, 47650, 48977, 50307, 51632, 52965, 54294, 55622, 56953, 58281, - 59608, 60935, 62267, 63595, 64923, 66254, 67583, 68910, 70237, 71570, 72897, 74224, 75555, 76884, 78212, 79540, 80871, 82198, 83526, 84858, 86185, 87513, 88844, 90173, 91499, 92829, 94159, 95486, 96814, 98147, 99474, 100801, 102130, 103462, 104788] - data2 = [0, 19648, 21641, 23635, 25628, 27623, 29610, 31606, 33598, 35593, 37586, 39580, 41572, 43568, 45560, 47551, 49546, 51538, 53533, 55525, 57520, 59512, 61507, 63496, 65491, 67483, 69478, 71469, 73464, 75457, 77452, 79446, 81436, 83430, 85422, 87417, 89409, - 91405, 93397, 95392, 97380, 99375, 101367, 103361, 105354, 107350, 109343, 111337, 113329, 115319, 117313, 119306, 121302, 123295, 125289, 127281, 129276, 131268, 133259, 135251, 137247, 139238, 141234, 143226, 145220, 147214, 149204, 151198, 153192, 155187, 157178] - data0 = [data1, data2] - 次数 = [1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1 + 1.71 + 0.25, 0] - elif x == 1: - self.次数 = [1 + 1.71 + 0.45, 0] - - def 护石描述(self, x): - if x == 0: - temp = "如影随形" - temp += "

" - temp += " [如来神掌]
" - temp += "在地面施放时跳跃后发射掌风
" - temp += "掌风变更为无形状, 删除爆炸攻击
" - temp += "增加发射距离和速度
" - temp += "掌风发射准备时间 -50%
" - temp += "攻击范围 +50%
" - temp += "命中敌人时攻击力 +171%
" - temp += "
-护石附加效果:
" - temp += "可以在后跳过程中施放, 减少施放所需的最低高度
" - temp += "在地面施放时, 减少角色跳跃高度
" - temp += "施放掌风后的僵直时间 -30%
" - temp += "命中敌人时攻击力 +25%" - elif x == 1: - temp = "如影随形" - temp += "

" - temp += " [如来神掌]
" - temp += "在地面施放时跳跃后发射掌风
" - temp += "掌风变更为无形状, 删除爆炸攻击
" - temp += "增加发射距离和速度
" - temp += "掌风发射准备时间 -50%
" - temp += "攻击范围 +50%
" - temp += "命中敌人时攻击力 +171%
" - temp += "
-护石附加效果:
" - temp += "可以在后跳过程中施放, 减少施放所需的最低高度
" - temp += "在地面施放时, 减少角色跳跃高度
" - temp += "施放掌风后的僵直时间 -30%
" - temp += "命中敌人时攻击力 +45%" - return temp - - -class 技能17(主动技能): - 名称 = '莲花剑舞' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - CD = 40.0 - data1 = [0, 2717, 2992, 3268, 3545, 3819, 4095, 4370, 4647, 4921, 5197, 5473, 5749, 6023, 6300, 6575, 6852, 7129, 7404, 7677, 7954, 8229, 8503, 8783, 9058, 9332, 9606, 9882, 10157, 10433, 10712, 10986, 11260, 11538, 11811, 12087, 12362, - 12640, 12914, 13192, 13466, 13741, 14015, 14295, 14570, 14844, 15122, 15395, 15670, 15947, 16225, 16498, 16775, 17050, 17324, 17602, 17875, 18153, 18430, 18705, 18978, 19253, 19530, 19805, 20082, 20358, 20634, 20907, 21184, 21459, 21733] - data2 = [0, 4075, 4488, 4901, 5315, 5728, 6144, 6556, 6969, 7382, 7795, 8209, 8623, 9037, 9449, 9863, 10277, 10689, 11103, 11518, 11932, 12343, 12756, 13173, 13586, 13997, 14413, 14827, 15237, 15653, 16066, 16481, 16889, 17304, 17717, 18129, - 18545, 18958, 19373, 19784, 20198, 20614, 21027, 21438, 21853, 22268, 22678, 23093, 23508, 23921, 24333, 24749, 25162, 25574, 25988, 26401, 26816, 27228, 27642, 28055, 28470, 28882, 29295, 29709, 30123, 30536, 30949, 31365, 31774, 32189, 32603] - data3 = [0, 4075, 4488, 4901, 5315, 5728, 6144, 6556, 6969, 7382, 7795, 8209, 8623, 9037, 9449, 9863, 10277, 10689, 11103, 11518, 11932, 12343, 12756, 13173, 13586, 13997, 14413, 14827, 15237, 15653, 16066, 16481, 16889, 17304, 17717, 18129, - 18545, 18958, 19373, 19784, 20198, 20614, 21027, 21438, 21853, 22268, 22678, 23093, 23508, 23921, 24333, 24749, 25162, 25574, 25988, 26401, 26816, 27228, 27642, 28055, 28470, 28882, 29295, 29709, 30123, 30536, 30949, 31365, 31774, 32189, 32603] - data4 = [0, 16301, 17956, 19609, 21264, 22917, 24570, 26224, 27877, 29532, 31185, 32839, 34492, 36146, 37800, 39454, 41109, 42760, 44414, 46067, 47724, 49378, 51028, 52683, 54339, 55992, 57644, 59298, 60953, 62605, 64259, 65913, 67568, 69221, 70875, 72528, 74182, - 75836, 77490, 79142, 80796, 82451, 84106, 85759, 87411, 89067, 90717, 92371, 94028, 95682, 97335, 98989, 100644, 102296, 103949, 105603, 107255, 108910, 110564, 112217, 113872, 115528, 117179, 118832, 120485, 122140, 123793, 125448, 127103, 128757, 130410] - data0 = [data1, data2, data3, data4] - 次数 = [2, 2, 2, 2] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.33 - - -class 技能18(主动技能): - 名称 = '樱花劫' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - CD = 45.0 - data0 = [0, 64519, 71064, 77606, 84153, 90698, 97245, 103790, 110336, 116880, 123428, 129972, 136519, 143063, 149607, 156153, 162700, 169244, 175792, 182334, 188881, 195427, 201972, 208519, 215064, 221607, 228153, 234698, 241246, 247789, 254336, 260880, 267428, 273972, 280519, 287062, - 293608, 300152, 306699, 313244, 319789, 326335, 332881, 339427, 345973, 352516, 359064, 365608, 372150, 378697, 385242, 391788, 398335, 404880, 411424, 417972, 424516, 431063, 437607, 444152, 450696, 457244, 463788, 470334, 476878, 483425, 489971, 496516, 503062, 509608, 516153] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3 - self.CD *= 0.9 - - -class 技能19(主动技能): - 名称 = '飞花逐月' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data1 = [int(x*1.09723) for x in [0, 3322, 4092, 4862, 5633, 6403, 7173, 7944, 8711, 9483, 10254, 11024, 11793, 12563, 13335, 14105, 14873, 15646, 16413, 17184, 17956, 18724, 19496, 20267, 21033, 21806, 22576, 23345, 24116, 24886, 25657, 26426, 27196, 27966, 28737, 29508, - 30280, 31046, 31817, 32588, 33358, 34128, 34899, 35667, 36439, 37209, 37979, 38749, 39520, 40288, 41059, 41829, 42600, 43369, 44141, 44909, 45679, 46452, 47219, 47990, 48762, 49529, 50301, 51072, 51842, 52613, 53382, 54151, 54922, 55691, 56463]] - data2 = [int(x*1.09723) for x in [0, 69749, 85921, 102096, 118267, 134441, 150617, 166789, 182963, 199135, 215308, 231483, 247656, 263830, 280002, 296178, 312352, 328523, 344698, 360870, 377046, 393217, 409391, 425565, 441739, 457912, 474085, 490260, 506434, 522604, 538781, 554953, 571125, 587298, 603473, 619648, - 635821, 651995, 668167, 684340, 700515, 716687, 732860, 749034, 765208, 781385, 797555, 813728, 829901, 846076, 862249, 878423, 894598, 910768, 926942, 943113, 959290, 975463, 991637, 1007811, 1023985, 1040159, 1056329, 1072502, 1088676, 1104851, 1121025, 1137197, 1153372, 1169546, 1185715]] - data0 = [data1, data2] - 次数 = [23, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能20(主动技能): - 名称 = '落英惊鸿掌' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - data1 = [0, 10545, 11615, 12684, 13754, 14824, 15894, 16964, 18034, 19103, 20173, 21243, 22313, 23383, 24453, 25522, 26592, 27662, 28732, 29802, - 30871, 31941, 33011, 34081, 35151, 36221, 37290, 38360, 39430, 40500, 41570, 42639, 43709, 44779, 45849, 46919, 47989, 49058, 50128, 51198, 52268] - data2 = [0, 5272, 5807, 6342, 6877, 7412, 7947, 8482, 9017, 9551, 10086, 10621, 11156, 11691, 12226, 12761, 13296, 13831, 14366, 14901, 15435, - 15970, 16505, 17040, 17575, 18110, 18645, 19180, 19715, 20250, 20785, 21319, 21854, 22389, 22924, 23459, 23994, 24529, 25064, 25599, 26134] - data3 = [0, 73817, 81306, 88794, 96283, 103772, 111261, 118749, 126238, 133727, 141216, 148704, 156193, 163682, 171171, 178659, 186148, 193637, 201125, 208614, 216103, - 223592, 231080, 238569, 246058, 253547, 261035, 268524, 276013, 283501, 290990, 298479, 305968, 313456, 320945, 328434, 335923, 343411, 350900, 358389, 365878] - data0 = [data1, data2, data3] - 次数 = [1, 4, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能21(主动技能): - 名称 = '轻云出月风静夜' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290.0 - data0 = [int(x*1.095) for x in [0, 384840, 474079, 563317, 652556, 741794, 831033, 920271, 1009510, 1098748, 1187987, 1277225, 1366464, 1455702, 1544941, 1634179, 1723418, 1812656, 1901895, 1991133, 2080372, - 2169610, 2258849, 2348087, 2437326, 2526564, 2615803, 2705041, 2794280, 2883518, 2972757, 3061995, 3151234, 3240472, 3329711, 3418949, 3508188, 3597426, 3686665, 3775903, 3865142]] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能22(被动技能): - 名称 = '光剑掌握' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['无'] - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['花开寒影', '飞花逐月', '轻云出月风静夜'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return 0.9 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·流浪武士一觉序号 = 0 -极诣·流浪武士二觉序号 = 0 -极诣·流浪武士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·流浪武士一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·流浪武士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·流浪武士三觉序号 = 技能序号[i.名称] - -极诣·流浪武士护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·流浪武士护石选项.append(i.名称) - -极诣·流浪武士符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·流浪武士符文选项.append(i.名称) - - -class 极诣·流浪武士角色属性(角色属性): - - 实际名称 = '极诣·流浪武士' - 角色 = '鬼剑士(女)' - 职业 = '流浪武士' - - 武器选项 = ['光剑', '巨剑', '钝器', '太刀', '短剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.25 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 极诣·流浪武士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·流浪武士角色属性() - self.角色属性A = 极诣·流浪武士角色属性() - self.角色属性B = 极诣·流浪武士角色属性() - self.一觉序号 = 极诣·流浪武士一觉序号 - self.二觉序号 = 极诣·流浪武士二觉序号 - self.三觉序号 = 极诣·流浪武士三觉序号 - self.护石选项 = deepcopy(极诣·流浪武士护石选项) - self.符文选项 = deepcopy(极诣·流浪武士符文选项) diff --git a/Characters/极诣·狂战士.py b/Characters/极诣·狂战士.py deleted file mode 100644 index 7f6e0d82..00000000 --- a/Characters/极诣·狂战士.py +++ /dev/null @@ -1,788 +0,0 @@ -from PublicReference.carry.base import * - -极诣·狂战士等级 = 100 + 5 - - -class 技能0(主动技能): - 名称 = '崩山击' - 所在等级 = 10 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data1 = [int(x*1.202) for x in[0, 131, 144, 157, 170, 184, 197, 210, 224, 237, 250, 264, 277, 290, 303, 317, 330, 343, 357, 370, 383, 397, - 410, 423, 436, 450, 463, 476, 490, 503, 516, 529, 543, 556, 569, 583, 596, 609, 623, 636, 649, 662, 676, 689, - 702, 716, 729, 742, 756, 769, 782, 795, 809, 822, 835, 849, 862, 875, 888, 902, 915, 928, 942, 955, 968, 982, - 995, 1008, 1021, 1035, 1048]] - 攻击次数2 = 3.4 - data2 = [int(x*1.202) for x in[0, 736, 811, 886, 960, 1035, 1110, 1184, 1259, 1334, 1409, 1483, 1558, 1633, 1707, 1782, 1857, 1932, 2006, - 2081, 2156, 2231, 2305, 2380, 2455, 2529, 2604, 2679, 2754, 2828, 2903, 2978, 3052, 3127, 3202, 3277, 3351, - 3426, 3501, 3576, 3650, 3725, 3800, 3874, 3949, 4024, 4099, 4173, 4248, 4323, 4397, 4472, 4547, 4622, 4696, - 4771, 4846, 4921, 4995, 5070, 5145, 5219, 5294, 5369, 5444, 5518, 5593, 5668, 5742, 5817, 5892]] - 攻击次数3 = 1 - CD = 4.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(主动技能): - 名称 = '十字斩' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data0 = [int(x*1.166) for x in[0, 142, 157, 171, 186, 200, 215, 229, 244, 258, 273, 287, 302, 316, 330, 345, 359, 374, 388, 403, 417, 432, - 446, 461, 475, 490, 504, 519, 533, 548, 562, 577, 591, 606, 620, 635, 649, 664, 678, 692, 707, 721, 736, 750, - 765, 779, 794, 808, 823, 837, 852, 866, 881, 895, 910, 924, 939, 953, 968, 982, 997, 1011, 1026, 1040, 1055, - 1069, 1083, 1098, 1112, 1127]] - 攻击次数 = 1 - CD = 2.4 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(主动技能): - 名称 = '血之狂暴' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 是否有伤害 = 0 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 <= 20: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.9 + 0.015 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '血气唤醒' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.267 + 0.02 * self.等级, 5) - - -class 技能4(主动技能): - 名称 = '嗜魂之手' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data0 = [int(x*1.178) for x in[0, 1893, 2085, 2277, 2469, 2662, 2854, 3046, 3238, 3430, 3622, 3814, 4006, 4198, 4391, 4583, 4775, 4967, 5159, 5351, 5543, 5735, 5927, 6120, 6312, 6504, 6696, 6888, 7080, 7272, 7464, 7656, 7848, 8041, 8233, 8425, 8617, 8809, - 9001, 9193, 9385, 9577, 9770, 9962, 10154, 10346, 10538, 10730, 10922, 11114, 11306, 11499, 11691, 11883, 12075, 12267, 12459, 12651, 12843, 13035, 13228, 13420, 13612, 13804, 13996, 14188, 14380, 14572, 14764, 14956, 15149]] - 攻击次数 = 1 - CD = 4.8 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(主动技能): - 名称 = '怒气爆发' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data1 = [int(x*1.206) for x in[0, 318, 351, 383, 415, 448, 480, 512, 545, 577, 609, 642, 674, 706, 739, 771, 803, 836, 868, 901, 933, 965, - 998, 1030, 1062, 1095, 1127, 1159, 1192, 1224, 1256, 1289, 1321, 1353, 1386, 1418, 1450, 1483, 1515, 1547, - 1580, 1612, 1644, 1677, 1709, 1741, 1774, 1806, 1838, 1871, 1903, 1936, 1968, 2000, 2033, 2065, 2097, 2130, - 2162, 2194, 2227, 2259, 2291, 2324, 2356, 2388, 2421, 2453, 2485, 2518, 2550]] - 攻击次数2 = 10 - data2 = [int(x*1.206) for x in[0, 835, 920, 1005, 1089, 1174, 1259, 1344, 1428, 1513, 1598, 1683, 1767, 1852, 1937, 2022, 2107, 2191, 2276, - 2361, 2446, 2530, 2615, 2700, 2785, 2869, 2954, 3039, 3124, 3209, 3293, 3378, 3463, 3548, 3632, 3717, 3802, - 3887, 3971, 4056, 4141, 4226, 4310, 4395, 4480, 4565, 4650, 4734, 4819, 4904, 4989, 5073, 5158, 5243, 5328, - 5412, 5497, 5582, 5667, 5752, 5836, 5921, 6006, 6091, 6175, 6260, 6345, 6430, 6514, 6599, 6684]] - 攻击次数3 = 1 - CD = 12.8 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '嗜魂封魔斩' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data0 = [int(x*1.188) for x in[0, 8275, 9115, 9955, 10794, 11634, 12473, 13313, 14152, 14992, 15832, 16671, 17511, 18350, 19190, 20030, - 20869, 21709, 22548, 23388, 24227, 25067, 25907, 26746, 27586, 28425, 29265, 30105, 30944, 31784, 32623, - 33463, 34302, 35142, 35982, 36821, 37661, 38500, 39340, 40180, 41019, 41859, 42698, 43538, 44377, 45217, - 46057, 46896, 47736, 48575, 49415, 50255, 51094, 51934, 52773, 53613, 54452, 55292, 56132, 56971, 57811, - 58650, 59490, 60330, 61169, 62009, 62848, 63688, 64527, 65367, 66207]] - 攻击次数 = 1 - CD = 24.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '暴怒狂斩' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data1 = [int(x*1.184) for x in[0, 1054, 1161, 1268, 1375, 1482, 1589, 1696, 1803, 1910, 2017, 2124, 2231, 2338, 2445, 2552, 2659, 2766, 2873, - 2980, 3087, 3194, 3301, 3408, 3515, 3622, 3729, 3836, 3943, 4050, 4156, 4263, 4370, 4477, 4584, 4691, 4798, - 4905, 5012, 5119, 5226, 5333, 5440, 5547, 5654, 5761, 5868, 5975, 6082, 6189, 6296, 6403, 6510, 6617, 6724, - 6831, 6938, 7045, 7152, 7259, 7366, 7473, 7580, 7687, 7794, 7901, 8008, 8115, 8222, 8329, 8436]] - 攻击次数2 = 1 - data2 = [int(x*1.184) for x in[0, 307, 338, 369, 401, 432, 463, 494, 525, 557, 588, 619, 650, 682, 713, 744, 775, 806, 838, 869, 900, 931, - 962, 994, 1025, 1056, 1087, 1118, 1150, 1181, 1212, 1243, 1274, 1306, 1337, 1368, 1399, 1430, 1462, 1493, - 1524, 1555, 1586, 1618, 1649, 1680, 1711, 1742, 1774, 1805, 1836, 1867, 1898, 1930, 1961, 1992, 2023, 2054, - 2086, 2117, 2148, 2179, 2210, 2242, 2273, 2304, 2335, 2366, 2398, 2429, 2460]] - 攻击次数3 = 8 - data3 = [int(x*1.184) for x in[0, 1757, 1935, 2114, 2292, 2470, 2649, 2827, 3005, 3183, 3362, 3540, 3718, 3897, 4075, 4253, 4432, 4610, - 4788, 4966, 5145, 5323, 5501, 5680, 5858, 6036, 6215, 6393, 6571, 6750, 6928, 7106, 7284, 7463, 7641, 7819, - 7998, 8176, 8354, 8533, 8711, 8889, 9067, 9246, 9424, 9602, 9781, 9959, 10137, 10316, 10494, 10672, 10850, - 11029, 11207, 11385, 11564, 11742, 11920, 12099, 12277, 12455, 12633, 12812, 12990, 13168, 13347, 13525, - 13703, 13882, 14060]] - 攻击次数4 = 2 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 狂暴之怒 - # 删除下劈 - # 冷却时间 -10% - # 攻击力 +32% - # 可以取消最后一击的僵直, 直接施放转职后的技能 - # 攻击力 +14% - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.攻击次数3 *= 1.46 - self.攻击次数4 *= 1.46 - self.CD *= 0.9 - elif x == 1: - self.攻击次数2 = 0 - self.攻击次数3 *= 1.56 - self.攻击次数4 *= 1.56 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "狂暴之怒" - temp += "

" - temp += "[暴怒狂斩]
" - temp += "删除下劈
" - temp += "冷却时间 -10%
" - temp += "攻击力 +32%
" - temp += "
-护石附加效果:
" - temp += "可以取消最后一击的僵直, 直接施放转职后的技能。
" - temp += "攻击力 +14% " - elif x == 1: - temp = "狂暴之怒" - temp += "

" - temp += "[暴怒狂斩]
" - temp += "删除下劈
" - temp += "冷却时间 -10%
" - temp += "攻击力 +32%
" - temp += "
-护石附加效果:
" - temp += "可以取消最后一击的僵直, 直接施放转职后的技能。
" - temp += "攻击力 +24% " - return temp - - -class 技能8(主动技能): - 名称 = '嗜血' - 所在等级 = 35 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.01 * self.等级, 5) - - -class 技能9(主动技能): - 名称 = '血气之刃' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data0 = [int(x*1.198) for x in[0, 6379, 7026, 7674, 8321, 8968, 9615, 10262, 10910, 11557, 12204, 12851, 13499, 14146, 14793, 15440, 16087, - 16735, 17382, 18029, 18676, 19323, 19971, 20618, 21265, 21912, 22559, 23207, 23854, 24501, 25148, 25796, - 26443, 27090, 27737, 28384, 29032, 29679, 30326, 30973, 31620, 32268, 32915, 33562, 34209, 34857, 35504, - 36151, 36798, 37445, 38093, 38740, 39387, 40034, 40681, 41329, 41976, 42623, 43270, 43918, 44565, 45212, - 45859, 46506, 47154, 47801, 48448, 49095, 49742, 50390, 51037]] - 攻击次数 = 1 - CD = 16.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 嗜血战歌 - # 即使血刃未刺中敌人也会快速发生爆炸 - # 攻击力 +16% - # 爆炸范围 +20% - # 攻击力 +12% - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - elif x == 1: - self.倍率 *= 1.37 - - def 护石描述(self, x): - if x == 0: - temp = "嗜血战歌" - temp += "

" - temp += "[血气之刃]
" - temp += "即使血刃未刺中敌人也会快速发生爆炸
" - temp += "攻击力 +16%
" - temp += "
-护石附加效果:
" - temp += "爆炸范围 +20%
" - temp += "攻击力 +12%" - elif x == 1: - temp = "嗜血战歌" - temp += "

" - temp += "[血气之刃]
" - temp += "即使血刃未刺中敌人也会快速发生爆炸
" - temp += "攻击力 +16%
" - temp += "
-护石附加效果:
" - temp += "爆炸范围 +20%
" - temp += "攻击力 +21%" - return temp - - -class 技能10(主动技能): - 名称 = '崩山裂地斩' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔) + 1, 等级精通) - data1 = [int(x*1.202) for x in[0, 321, 354, 386, 419, 452, 484, 517, 550, 582, 615, 648, 680, 713, 745, 778, 811, 843, 876, 909, 941, 974, - 1007, 1039, 1072, 1104, 1137, 1170, 1202, 1235, 1268, 1300, 1333, 1366, 1398, 1431, 1463, 1496, 1529, 1561, - 1594, 1627, 1659, 1692, 1724, 1757, 1790, 1822, 1855, 1888, 1920, 1953, 1986, 2018, 2051, 2083, 2116, 2149, - 2181, 2214, 2247, 2279, 2312, 2345, 2377, 2410, 2442, 2475, 2508, 2540, 2573]] - 攻击次数2 = 1 - data2 = [int(x*1.202) for x in[0, 2144, 2362, 2579, 2797, 3014, 3232, 3449, 3667, 3885, 4102, 4320, 4537, 4755, 4972, 5190, 5408, 5625, - 5843, 6060, 6278, 6495, 6713, 6931, 7148, 7366, 7583, 7801, 8018, 8236, 8454, 8671, 8889, 9106, 9324, 9541, - 9759, 9976, 10194, 10412, 10629, 10847, 11064, 11282, 11499, 11717, 11935, 12152, 12370, 12587, 12805, 13022, - 13240, 13458, 13675, 13893, 14110, 14328, 14545, 14763, 14980, 15198, 15416, 15633, 15851, 16068, 16286, - 16503, 16721, 16939, 17156]] - 攻击次数3 = 1 - data3 = [int(x*1.202) for x in[0, 1376, 1515, 1655, 1794, 1934, 2074, 2213, 2353, 2492, 2632, 2772, 2911, 3051, 3190, 3330, 3470, 3609, - 3749, 3888, 4028, 4168, 4307, 4447, 4587, 4726, 4866, 5005, 5145, 5285, 5424, 5564, 5703, 5843, 5983, 6122, - 6262, 6401, 6541, 6681, 6820, 6960, 7099, 7239, 7379, 7518, 7658, 7797, 7937, 8077, 8216, 8356, 8495, 8635, - 8775, 8914, 9054, 9193, 9333, 9473, 9612, 9752, 9892, 10031, 10171, 10310, 10450, 10590, 10729, 10869, 11008]] - 攻击次数4 = 6 - CD = 32.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 血气狂涌 - # 血剑锤击地面的瞬间喷出岩浆 - # 冷却时间 -5% - # 攻击力 +9% - # 跳跃高度 +20% - # 范围 +20% - # 攻击力 +9% - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.18 - self.CD *= 0.95 - elif x == 1: - self.倍率 *= 1.26 - self.CD *= 0.95 - - def 护石描述(self, x): - if x == 0: - temp = "血气狂涌" - temp += "

" - temp += "[崩山裂地斩]
" - temp += "血剑锤击地面的瞬间喷出岩浆
" - temp += "冷却时间 -5%
" - temp += "攻击力 +9%
" - temp += "
-护石附加效果:
" - temp += "跳跃高度 +20%
" - temp += "范围 +20%
" - temp += "攻击力 +9%" - elif x == 1: - temp = "血气狂涌" - temp += "

" - temp += "[崩山裂地斩]
" - temp += "血剑锤击地面的瞬间喷出岩浆
" - temp += "冷却时间 -5%
" - temp += "攻击力 +9%
" - temp += "
-护石附加效果:
" - temp += "跳跃高度 +20%
" - temp += "范围 +20%
" - temp += "攻击力 +17%" - return temp - - -class 技能11(被动技能): - 名称 = '鲜血之忆' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.114 + 0.015 * self.等级, 5) - - def 独立攻击力倍率进图(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能12(主动技能): - 名称 = '魔狱血刹' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔 + 1), 等级精通) - data1 = [int(x*1.238) for x in[0, 6404, 7889, 9374, 10859, 12344, 13829, 15314, 16799, 18284, 19769, 21254, 22739, 24224, 25709, 27194, - 28679, 30164, 31649, 33134, 34619, 36104, 37589, 39074, 40559, 42044, 43529, 45014, 46499, 47984, 49469, - 50954, 52439, 53924, 55409, 56894, 58379, 59864, 61349, 62834, 64319, 65804, 67289, 68774, 70259, 71744, - 73229, 74714, 76199, 77684, 79169, 80654, 82139, 83624, 85109, 86594, 88079, 89564, 91049, 92534, 94019, - 95504, 96989, 98474, 99959, 101444, 102929, 104414, 105899, 107384, 108869]] - 攻击次数2 = 1 - data2 = [int(x*1.238) for x in[0, 908, 1118, 1329, 1540, 1750, 1961, 2171, 2382, 2593, 2803, 3014, 3224, 3435, 3646, 3856, 4067, 4277, 4488, - 4699, 4909, 5120, 5330, 5541, 5752, 5962, 6173, 6383, 6594, 6805, 7015, 7226, 7436, 7647, 7858, 8068, 8279, - 8489, 8700, 8911, 9121, 9332, 9542, 9753, 9964, 10174, 10385, 10595, 10806, 11017, 11227, 11438, 11648, - 11859, 12070, 12280, 12491, 12701, 12912, 13123, 13333, 13544, 13754, 13965, 14176, 14386, 14597, 14807, - 15018, 15229, 15439]] - 攻击次数3 = 27 - CD = 145 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(主动技能): - 名称 = '鲜血暴掠' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data1 = [int(x*1.204) for x in[0, 1808, 1991, 2175, 2358, 2542, 2725, 2908, 3092, 3275, 3459, 3642, 3826, 4009, 4193, 4376, 4559, 4743, 4926, - 5110, 5293, 5477, 5660, 5843, 6027, 6210, 6394, 6577, 6761, 6944, 7128, 7311, 7494, 7678, 7861, 8045, 8228, - 8412, 8595, 8779, 8962, 9145, 9329, 9512, 9696, 9879, 10063, 10246, 10430, 10613, 10796, 10980, 11163, 11347, - 11530, 11714, 11897, 12081, 12264, 12447, 12631, 12814, 12998, 13181, 13365, 13548, 13732, 13915, 14098, - 14282, 14465]] - 攻击次数2 = 1 - data2 = [int(x*1.204) for x in[0, 10246, 11286, 12325, 13365, 14404, 15444, 16483, 17523, 18562, 19602, 20641, 21681, 22720, 23760, 24799, - 25839, 26878, 27918, 28957, 29997, 31036, 32076, 33115, 34155, 35195, 36234, 37274, 38313, 39353, 40392, - 41432, 42471, 43511, 44550, 45590, 46629, 47669, 48708, 49748, 50787, 51827, 52866, 53906, 54945, 55985, - 57024, 58064, 59103, 60143, 61182, 62222, 63261, 64301, 65340, 66380, 67419, 68459, 69498, 70538, 71578, - 72617, 73657, 74696, 75736, 76775, 77815, 78854, 79894, 80933, 81973]] - 攻击次数3 = 1 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 血之连接 - # 施放过程中连接[崩山裂地斩]时, 血气爆炸的瞬间施放[崩山裂地斩] - # 攻击力 +14% - # 不抓取敌人也可以引发血气爆炸 - # 血气爆炸范围 +20% - # 攻击力 +6% - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - elif x == 1: - self.倍率 *= 1.29 - - def 护石描述(self, x): - if x == 0: - temp = "血之连接" - temp += "

" - temp += "[鲜血暴掠]
" - temp += "施放过程中连接[崩山裂地斩]时, 血气爆炸的瞬间施放[崩山裂地斩]
" - temp += "攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "不抓取敌人也可以引发血气爆炸
" - temp += "血气爆炸范围 +20%
" - temp += "攻击力 +6%" - elif x == 1: - temp = "血之连接" - temp += "

" - temp += "[鲜血暴掠]
" - temp += "施放过程中连接[崩山裂地斩]时, 血气爆炸的瞬间施放[崩山裂地斩]
" - temp += "攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "不抓取敌人也可以引发血气爆炸
" - temp += "血气爆炸范围 +20%
" - temp += "攻击力 +15%" - return temp - - -class 技能14(主动技能): - 名称 = '血气爆发' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔), 等级精通) + 1 - data1 = [int(x*1.207) for x in[0, 980, 1079, 1178, 1278, 1377, 1477, 1576, 1676, 1775, 1874, 1974, 2073, 2173, 2272, 2371, 2471, 2570, 2670, - 2769, 2869, 2968, 3067, 3167, 3266, 3366, 3465, 3565, 3664, 3763, 3863, 3962, 4062, 4161, 4261, 4360, 4459, - 4559, 4658, 4758, 4857, 4956, 5056, 5155, 5255, 5354, 5454, 5553, 5652, 5752, 5851, 5951, 6050, 6150, 6249, - 6348, 6448, 6547, 6647, 6746, 6846, 6945, 7044, 7144, 7243, 7343, 7442, 7542, 7641, 7740, 7840]] - 攻击次数2 = 20 - data2 = [int(x*1.207) for x in[0, 3631, 4000, 4368, 4737, 5105, 5474, 5842, 6211, 6579, 6947, 7316, 7684, 8053, 8421, 8790, 9158, 9527, - 9895, 10264, 10632, 11000, 11369, 11737, 12106, 12474, 12843, 13211, 13580, 13948, 14317, 14685, 15053, - 15422, 15790, 16159, 16527, 16896, 17264, 17633, 18001, 18370, 18738, 19106, 19475, 19843, 20212, 20580, - 20949, 21317, 21686, 22054, 22423, 22791, 23159, 23528, 23896, 24265, 24633, 25002, 25370, 25739, 26107, - 26475, 26844, 27212, 27581, 27949, 28318, 28686, 29055]] - 攻击次数3 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 血之漩涡 - # 将周围敌人吸附到中心点 - # 多段攻击间隔 -20% - # 血气喷射时间上限 -20% - # 冷却时间 -5% - # 攻击力 +6% - # 多段攻击间隔 -20% - # 血气喷射时间上限 -20% - # 攻击力 +11% - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.17 - self.CD *= 0.95 - elif x == 1: - self.倍率 *= 1.25 - self.CD *= 0.95 - - def 护石描述(self, x): - if x == 0: - temp = "血之漩涡" - temp += "

" - temp += "[血气爆发]
" - temp += "将周围敌人吸附到中心点
" - temp += "多段攻击间隔 -20%
" - temp += "血气喷射时间上限 -20%
" - temp += "冷却时间 -5%
" - temp += "攻击力 +6%
" - temp += "
-护石附加效果:
" - temp += "多段攻击间隔 -20%
" - temp += "血气喷射时间上限 -20%
" - temp += "攻击力 +11%" - elif x == 1: - temp = "血之漩涡" - temp += "

" - temp += "[血气爆发]
" - temp += "将周围敌人吸附到中心点
" - temp += "多段攻击间隔 -20%
" - temp += "血气喷射时间上限 -20%
" - temp += "冷却时间 -5%
" - temp += "攻击力 +6%
" - temp += "
-护石附加效果:
" - temp += "多段攻击间隔 -20%
" - temp += "血气喷射时间上限 -20%
" - temp += "攻击力 +19%" - return temp - - -class 技能15(被动技能): - 名称 = '汲血之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能16(主动技能): - 名称 = '浴血之怒' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔), 等级精通) + 1 - data0 = [int(x*1.204) for x in[0, 32861, 36195, 39529, 42863, 46197, 49530, 52864, 56198, 59532, 62866, 66199, 69533, 72867, 76201, 79535, - 82868, 86202, 89536, 92870, 96204, 99537, 102871, 106205, 109539, 112873, 116206, 119540, 122874, 126208, - 129542, 132876, 136209, 139543, 142877, 146211, 149545, 152878, 156212, 159546, 162880, 166214, 169547, - 172881, 176215, 179549, 182883, 186216, 189550, 192884, 196218, 199552, 202885, 206219, 209553, 212887, - 216221, 219554, 222888, 226222, 229556, 232890, 236224, 239557, 242891, 246225, 249559, 252893, 256226, - 259560, 262894]] - 攻击次数 = 1 - CD = 40.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 1.37 - - -class 技能17(主动技能): - 名称 = '致命血陨' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔), 等级精通) + 1 - data1 = [int(x*1.20) for x in[0, 8248, 9085, 9922, 10758, 11595, 12432, 13269, 14106, 14942, 15779, 16616, 17453, 18290, 19126, 19963, - 20800, 21637, 22473, 23310, 24147, 24984, 25821, 26657, 27494, 28331, 29168, 30005, 30841, 31678, 32515, - 33352, 34189, 35025, 35862, 36699, 37536, 38373, 39209, 40046, 40883, 41720, 42557, 43393, 44230, 45067, - 45904, 46741, 47577, 48414, 49251, 50088, 50925, 51761, 52598, 53435, 54272, 55109, 55945, 56782, 57619, - 58456, 59293, 60129, 60966, 61803, 62640, 63477, 64313, 65150, 65987]] - 攻击次数2 = 1 - data2 = [int(x*1.20) for x in[0, 10310, 11356, 12402, 13448, 14494, 15540, 16586, 17632, 18678, 19724, 20770, 21816, 22862, 23908, 24954, - 26000, 27046, 28092, 29138, 30184, 31230, 32276, 33322, 34368, 35414, 36460, 37506, 38552, 39598, 40644, - 41690, 42736, 43782, 44828, 45874, 46920, 47966, 49012, 50058, 51104, 52150, 53196, 54242, 55288, 56334, - 57380, 58426, 59472, 60518, 61564, 62610, 63656, 64702, 65748, 66794, 67840, 68886, 69932, 70978, 72024, - 73070, 74116, 75162, 76208, 77254, 78300, 79346, 80392, 81438, 82484]] - 攻击次数3 = 1 - data3 = [int(x*1.20) for x in[0, 22683, 24984, 27285, 29586, 31887, 34189, 36490, 38791, 41092, 43393, 45695, 47996, 50297, 52598, 54899, - 57201, 59502, 61803, 64104, 66405, 68707, 71008, 73309, 75610, 77911, 80213, 82514, 84815, 87116, 89417, - 91718, 94020, 96321, 98622, 100923, 103224, 105526, 107827, 110128, 112429, 114730, 117032, 119333, 121634, - 123935, 126236, 128538, 130839, 133140, 135441, 137742, 140044, 142345, 144646, 146947, 149248, 151550, - 153851, 156152, 158453, 160754, 163055, 165357, 167658, 169959, 172260, 174561, 176863, 179164, 181465]] - 攻击次数4 = 1 - CD = 50.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data3 = [x * 1.19 for x in self.data3] - self.倍率 *= 1.21 - self.CD *= 0.9 - - -class 技能18(主动技能): - 名称 = '血魔弑天' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔 + 1), 等级精通) - data1 = [int(x*1.201) for x in[0, 17450, 21496, 25543, 29589, 33635, 37682, 41728, 45775, 49821, 53868, 57914, 61960, 66007, 70053, 74100, - 78146, 82193, 86239, 90285, 94332, 98378, 102425, 106471, 110517, 114564, 118610, 122657, 126703, 130750, - 134796, 138842, 142889, 146935, 150982, 155028, 159075, 163121, 167167, 171214, 175260, 179307, 183353, - 187400, 191446, 195492, 199539, 203585, 207632, 211678, 215725, 219771, 223817, 227864, 231910, 235957, - 240003, 244050, 248096, 252142, 256189, 260235, 264282, 268328, 272375, 276421, 280467, 284514, 288560, - 292607, 296653]] - 攻击次数2 = 2 - data2 = [int(x*1.201) for x in[0, 42656, 52547, 62438, 72329, 82221, 92112, 102003, 111894, 121786, 131677, 141568, 151459, 161351, 171242, - 181133, 191025, 200916, 210807, 220698, 230590, 240481, 250372, 260263, 270155, 280046, 289937, 299828, - 309720, 319611, 329502, 339393, 349285, 359176, 369067, 378959, 388850, 398741, 408632, 418524, 428415, - 438306, 448197, 458089, 467980, 477871, 487762, 497654, 507545, 517436, 527327, 537219, 547110, 557001, - 566893, 576784, 586675, 596566, 606458, 616349, 626240, 636131, 646023, 655914, 665805, 675696, 685588, - 695479, 705370, 715261, 725153]] - 攻击次数3 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能19(被动技能): - 名称 = '血气界限' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能20(主动技能): - 名称 = '疯魔血魂斩' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔 + 1), 等级精通) - data1 = [int(x*1.204) for x in[0, 20368, 22434, 24500, 26567, 28633, 30699, 32766, 34832, 36898, 38965, 41031, 43097, 45164, 47230, 49297, - 51363, 53429, 55496, 57562, 59628, 61695, 63761, 65827, 67894, 69960, 72026, 74093, 76159, 78225, 80292, - 82358, 84424, 86491, 88557, 90623, 92690, 94756, 96822, 98889, 100955, 103021, 105088, 107154, 109220, 111287, - 113353, 115419, 117486, 119552, 121619, 123685, 125751, 127818, 129884, 131950, 134017, 136083, 138149, - 140216, 142282, 144348, 146415, 148481, 150547, 152614, 154680, 156746, 158813, 160879, 162945]] - 攻击次数2 = 1 - data2 = [int(x*1.204) for x in[0, 9505, 10469, 11433, 12398, 13362, 14326, 15290, 16255, 17219, 18183, 19148, 20112, 21076, 22040, 23005, - 23969, 24933, 25898, 26862, 27826, 28791, 29755, 30719, 31683, 32648, 33612, 34576, 35541, 36505, 37469, - 38433, 39398, 40362, 41326, 42291, 43255, 44219, 45184, 46148, 47112, 48076, 49041, 50005, 50969, 51934, - 52898, 53862, 54826, 55791, 56755, 57719, 58684, 59648, 60612, 61576, 62541, 63505, 64469, 65434, 66398, - 67362, 68327, 69291, 70255, 71219, 72184, 73148, 74112, 75077, 76041]] - 攻击次数3 = 5 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能21(主动技能): - 名称 = '血魔极道灭世' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((极诣·狂战士等级 - 所在等级) / 学习间隔 + 1), 等级精通) - data1 = [int(x*1.204) for x in[0, 8940, 11013, 13086, 15159, 17232, 19306, 21379, 23452, 25525, 27598, 29671, 31744, 33818, 35891, 37964, 40037, 42110, 44183, 46256, 48330, 50403, 52476, 54549, 56622, 58695, 60768, 62842, 64915, 66988, 69061, 71134, 73207, 75280, 77353, 79427, 81500, - 83573, 85646, 87719, 89792, 91865, 93939, 96012, 98085, 100158, 102231, 104304, 106377, 108451, 110524, 112597, 114670, 116743, 118816, 120889, 122963, 125036, 127109, 129182, 131255, 133328, 135401, 137475, 139548, 141621, 143694, 145767, 147840, 149913, 151986]] - data2 = [int(x*1.204) for x in[0, 16763, 20650, 24537, 28424, 32311, 36198, 40086, 43973, 47860, 51747, 55634, 59521, 63408, 67296, 71183, 75070, 78957, 82844, 86731, 90618, 94505, 98393, 102280, 106167, 110054, 113941, 117828, 121715, 125603, 129490, 133377, 137264, 141151, 145038, 148925, 152813, - 156700, 160587, 164474, 168361, 172248, 176135, 180022, 183910, 187797, 191684, 195571, 199458, 203345, 207232, 211120, 215007, 218894, 222781, 226668, 230555, 234442, 238329, 242217, 246104, 249991, 253878, 257765, 261652, 265539, 269427, 273314, 277201, 281088, 284975]] - data3 = [int(x*1.204) for x in[0, 44702, 55067, 65433, 75799, 86164, 96530, 106896, 117261, 127627, 137993, 148358, 158724, 169090, 179456, 189821, 200187, 210553, 220918, 231284, 241650, 252015, 262381, 272747, 283113, 293478, 303844, 314210, 324575, 334941, 345307, 355672, 366038, 376404, 386769, 397135, - 407501, 417867, 428232, 438598, 448964, 459329, 469695, 480061, 490426, 500792, 511158, 521523, 531889, 542255, 552621, 562986, 573352, 583718, 594083, 604449, 614815, 625180, 635546, 645912, 656277, 666643, 677009, 687375, 697740, 708106, 718472, 728837, 739203, 749569, 759934]] - data4 = [int(x*1.204) for x in[0, 7736, 9530, 11325, 13119, 14913, 16707, 18501, 20295, 22089, 23883, 25677, 27471, 29265, 31059, 32853, 34647, 36441, 38235, 40030, 41824, 43618, 45412, 47206, 49000, 50794, 52588, 54382, 56176, 57970, 59764, 61558, 63352, 65146, 66940, 68735, 70529, - 72323, 74117, 75911, 77705, 79499, 81293, 83087, 84881, 86675, 88469, 90263, 92057, 93851, 95645, 97440, 99234, 101028, 102822, 104616, 106410, 108204, 109998, 111792, 113586, 115380, 117174, 118968, 120762, 122556, 124350, 126145, 127939, 129733, 131527]] - data0 = [data1, data2, data3, data4] - 次数 = [5, 2, 1, 13] - CD = 290 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(4): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·狂战士一觉序号 = 0 -极诣·狂战士二觉序号 = 0 -极诣·狂战士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·狂战士一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·狂战士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·狂战士三觉序号 = 技能序号[i.名称] - -极诣·狂战士护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·狂战士护石选项.append(i.名称) - -极诣·狂战士符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·狂战士符文选项.append(i.名称) - - -class 极诣·狂战士角色属性(角色属性): - - 实际名称 = '极诣·狂战士' - 角色 = '鬼剑士(男)' - 职业 = '狂战士' - - 武器选项 = ['太刀', '钝器', '巨剑', '短剑'] - - 类型选择 = ['物理固伤'] - - 类型 = '物理固伤' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.160 - - 刀魂之卡赞 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 极诣·狂战士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·狂战士角色属性() - self.角色属性A = 极诣·狂战士角色属性() - self.角色属性B = 极诣·狂战士角色属性() - self.一觉序号 = 极诣·狂战士一觉序号 - self.二觉序号 = 极诣·狂战士二觉序号 - self.三觉序号 = 极诣·狂战士三觉序号 - self.护石选项 = deepcopy(极诣·狂战士护石选项) - self.符文选项 = deepcopy(极诣·狂战士符文选项) diff --git a/Characters/极诣·阿修罗.py b/Characters/极诣·阿修罗.py deleted file mode 100644 index 192be0e2..00000000 --- a/Characters/极诣·阿修罗.py +++ /dev/null @@ -1,741 +0,0 @@ -from PublicReference.carry.base import * - -class 技能0(主动技能): - 名称 = '波动刻印' - 备注 = '(一轮,TP为基础精通)' - 所在等级 = 15 - 等级上限 = 30 - 学习间隔 = 3 - 等级精通 = 20 - 基础 = 372*1.1*1.085 - CD = 1.0 - TP上限 = 3 - TP成长 = 0.1 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1.00 + 0.005 * self.等级, 5) - else: - return round(1.10 + 0.015 * (self.等级 - 20), 5) - - -class 技能1(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 等级 - 关联技能 = ['波动刻印'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能2(主动技能): - 名称 = '地裂·波动剑' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 1669.54 - #成长 = 188.48 - CD = 3.0 - TP成长 = 0.08 - TP上限 = 5 - data0 = [int(i*1.085*1.169*1.102) for i in [0, 1858, 2046, 2235, 2423, 2612, 2800, 2989, 3177, 3366, 3554, 3743, 3931, 4120, 4308, 4497, 4685, 4874, 5062, 5251, 5439, 5628, 5816, 6005, 6193, 6382, 6570, 6759, 6947, 7136, 7324, 7513, 7701, 7890, 8078, 8266, 8455, 8643, 8832, 9020, 9209, 9397, 9586, 9774, 9963, 10151, 10340, 10528, 10717, 10905, 11094, 11282, 11471, 11659, 11848, 12036, 12225, 12413, 12602, 12790, 12979, 13167, 13356, 13544, 13733, 13921, 14110, 14298, 14487, 14675, 14864]] - 攻击次数 = 1 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能3(主动技能): - 名称 = '鬼印珠' - 备注 = '(5印)' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 4485.24 * 1.003 - #成长 = 505.78 * 1.003 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.00*1.833) for i in [0, 111, 121, 133, 144, 156, 166, 178, 189, 201, 211, 223, 234, 246, 256, 268, 279, 291, 301, 313, 324, 335, 346, 358, 370, 380, 391, 403, 415, 425, 436, 448, 460, 470, 482, 493, 505, 515, 527, 538, 550, 560, 572, 583, 595, 605, 617, 628, 639, 650, 662, 673, 684, 695, 707, 718, 729, 740, 752, 763, 774, 785, 797, 809, 819, 830, 842, 854, 864, 876, 887]] - 攻击次数 = 18 - data1 = [int(i*1.085*1.00*1.833) for i in [0, 498, 550, 600, 650, 702, 752, 802, 854, 904, 954, 1006, 1056, 1106, 1157, 1208, 1258, 1309, 1360, 1410, 1461, 1512, 1562, 1613, 1663, 1714, 1765, 1815, 1866, 1917, 1967, 2018, 2069, 2119, 2169, 2221, 2271, 2321, 2373, 2423, 2473, 2525, 2575, 2625, 2677, 2727, 2777, 2829, 2879, 2929, 2981, 3031, 3081, 3132, 3183, 3233, 3284, 3335, 3385, 3436, 3487, 3537, 3588, 3638, 3689, 3740, 3790, 3841, 3892, 3942, 3993]] - 攻击次数2 = 1 - # 波动刻印增幅 5印 - 倍率 = 1+0.2 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(主动技能): - 名称 = '邪光斩' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 5445.00 - #成长 = 615.10 - CD = 10.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.00*1.1) for i in [0, 2020, 2226, 2431, 2636, 2840, 3046, 3251, 3456, 3660, 3866, 4071, 4276, 4481, 4687, 4891, 5096, 5301, 5507, 5711, 5916, 6121, 6327, 6531, 6736, 6942, 7147, 7352, 7556, 7762, 7967, 8172, 8376, 8582, 8787, 8992, 9197, 9403, 9607, 9812, 10017, 10223, 10427, 10632, 10837, 11043, 11248, 11452, 11657, 11863, 12068, 12272, 12477, 12683, 12888, 13093, 13299, 13503, 13708, 13913, 14119, 14323, 14528, 14733, 14939, 15144, 15348, 15553, 15759, 15964, 16168]] - 攻击次数 = 3 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(被动技能): - 名称 = '修罗邪光斩' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['邪光斩'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.45 + 0.05 * self.等级, 5) - - -class 技能6(主动技能): - 名称 = '波动爆发' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 3 - 等级精通 = 50 - #基础 = 4505.52 - #成长 = 854.50 - CD = 7.5 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.136*1.102) for i in [0, 5360, 6215, 7068, 7923, 8778, 9632, 10487, 11342, 12196, 13050, 13905, 14760, 15615, 16468, 17323, 18178, 19032, 19887, 20742, 21597, 22450, 23305, 24160, 25014, 25868, 26723, 27578, 28432, 29287, 30142, 30997, 31850, 32705, 33560, 34414, 35268, 36123, 36978, 37832, 38687, 39542, 40397, 41250, 42105, 42960, 43814, 44669, 45523, 46378, 47232, 48087, 48942, 49795, 50650, 51505, 52360, 53214, 54069, 54923, 55778, 56632, 57487, 58342, 59195, 60050, 60905, 61760, 62614, 63469, 64324]] - 攻击次数 = 1 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(被动技能): - 名称 = '挫折意志' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.13 + 0.02 * self.等级, 5) - - -class 技能8(主动技能): - 名称 = '冰刃·波动剑' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 4576.38 * 1.003 - #成长 = 517.63 * 1.003 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.0565*1.101) for i in [0, 566, 624, 681, 738, 795, 854, 912, 969, 1026, 1083, 1142, 1200, 1256, 1314, 1371, 1430, 1487, 1544, 1601, 1659, 1718, 1775, 1832, 1889, 1947, 2004, 2061, 2118, 2177, 2235, 2292, 2349, 2406, 2465, 2522, 2580, 2636, 2694, 2753, 2810, 2867, 2924, 2982, 3041, 3098, 3153, 3212, 3270, 3327, 3384, 3441, 3500, 3558, 3615, 3672, 3729, 3788, 3845, 3903, 3959, 4017, 4076, 4133, 4190, 4247, 4305, 4362, 4421, 4476, 4535]] - 攻击次数 = 9 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '杀意波动' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - #基础 = 570.95 - #成长 = 19.05 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.055*1.1) for i in [0, 295, 304, 314, 323, 333, 342, 352, 362, 371, 381, 390, 400, 409, 419, 428, 438, 448, 457, 467, 476]] - 攻击次数 = 2 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 1 - - -class 技能10(主动技能): - 名称 = '爆炎·波动剑' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 12157.50 * 0.993 - #成长 = 1371.18 * 0.993 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - data0 = [int(i*1.085*1.00*1.101) for i in [0, 4473, 4926, 5381, 5835, 6288, 6740, 7196, 7649, 8103, 8556, 9009, 9464, 9917, 10371, 10824, 11279, 11733, 12186, 12641, 13094, 13548, 14001, 14456, 14910, 15363, 15818, 16271, 16725, 17177, 17633, 18084, 18539, 18992, 19446, 19899, 20354, 20808, 21261, 21716, 22169, 22623, 23076, 23531, 23984, 24438, 24893, 25346, 25800, 26253, 26706, 27161, 27614, 28070, 28521, 28974, 29429, 29882, 30336, 30791, 31244, 31698, 32151, 32606, 33059, 33513, 33968, 34421, 34875, 35328, 35783]] - 攻击次数 = 3 - data1 = [int(i*1.085*1.00*1.101) for i in [0, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 66, 67, 68, 69, 70, 71, 72, 73]] - 攻击次数2 = 3 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '无双波' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 11427.86 - #成长 = 1290.17 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - # 数组后续调整,核实下来为原数据*攻击次数2 - data0 = [int(i*1.085*1.128*1.1*2) for i in [0, 6359, 7004, 7649, 8294, 8939, 9584, 10229, 10874, 11519, 12164, 12809, 13456, 14101, 14746, 15391, 16036, 16681, 17326, 17971, 18616, 19261, 19906, 20551, 21196, 21842, 22487, 23133, 23778, 24423, 25068, 25713, 26358, 27003, 27648, 28293, 28938, 29583, 30229, 30874, 31519, 32164, 32809, 33454, 34099, 34744, 35390, 36035, 36680, 37325, 37970, 38616, 39261, 39906, 40551, 41196, 41841, 42486, 43131, 43776, 44421, 45066, 45711, 46356, 47001, 47648, 48293, 48938, 49583, 50228, 50873]] - 攻击次数 = 1 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - elif x == 1: - self.倍率 *= 1.36 - - -class 技能12(主动技能): - 名称 = '邪光波动阵' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 13024.19 - #成长 = 1470.99 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - data0 = [int(i*1.085*1.169*1.102) for i in [0, 1450, 1597, 1744, 1891, 2038, 2185, 2332, 2479, 2626, 2774, 2921, 3068, 3215, 3362, 3509, 3656, 3803, 3950, 4098, 4245, 4392, 4539, 4686, 4833, 4980, 5127, 5274, 5422, 5569, 5716, 5863, 6010, 6157, 6304, 6451, 6598, 6746, 6893, 7040, 7187, 7334, 7481, 7628, 7775, 7922, 8070, 8217, 8364, 8511, 8658, 8805, 8952, 9099, 9246, 9394, 9541, 9688, 9835, 9982, 10129, 10276, 10423, 10570, 10718, 10865, 11012, 11159, 11306, 11453, 11600]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.169*1.102) for i in [0, 1325, 1460, 1594, 1729, 1863, 1998, 2132, 2267, 2401, 2536, 2670, 2805, 2939, 3074, 3208, 3343, 3477, 3612, 3746, 3881, 4015, 4150, 4284, 4419, 4553, 4688, 4822, 4957, 5091, 5226, 5360, 5495, 5629, 5764, 5898, 6033, 6167, 6302, 6436, 6571, 6705, 6840, 6974, 7109, 7243, 7378, 7512, 7647, 7781, 7916, 8050, 8185, 8319, 8454, 8588, 8723, 8857, 8992, 9126, 9261, 9395, 9530, 9664, 9799, 9933, 10068, 10202, 10337, 10471, 10606]] - 攻击次数2 = 7 - data3 = [int(i*1.085*1.169*1.102) for i in [0, 3770, 4152, 4535, 4917, 5300, 5682, 6065, 6447, 6830, 7212, 7595, 7977, 8360, 8742, 9125, 9507, 9890, 10272, 10654, 11037, 11419, 11802, 12184, 12567, 12949, 13332, 13714, 14097, 14479, 14862, 15244, 15627, 16009, 16392, 16774, 17157, 17539, 17922, 18304, 18687, 19069, 19452, 19834, 20217, 20599, 20982, 21364, 21747, 22129, 22512, 22894, 23277, 23659, 24042, 24424, 24806, 25189, 25571, 25954, 26336, 26719, 27101, 27484, 27866, 28249, 28631, 29014, 29396, 29779, 30161]] - 攻击次数3 = 1 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - self.CD *= 0.85 - 0.08 - elif x == 1: - self.倍率 *= 1.15 + 0.09 - self.CD *= 0.85 - 0.08 - - -class 技能13(主动技能): - 名称 = '不动明王阵' - 备注 = '(5印)' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - #基础 = 26424.63 * 0.98 - #成长 = 2989.34 * 0.98 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - data0 = [int(i*1.085*1.1285*3.668) for i in [0, 321, 354, 386, 420, 452, 484, 518, 550, 582, 615, 648, 680, 713, 745, 778, 811, 843, 877, 909, 941, 975, 1007, 1039, 1072, 1105, 1137, 1170, 1203, 1236, 1268, 1300, 1334, 1366, 1398, 1432, 1464, 1496, 1530, 1562, 1594, 1627, 1660, 1693, 1725, 1757, 1791, 1823, 1855, 1889, 1921, 1953, 1987, 2019, 2051, 2084, 2117, 2150, 2182, 2215, 2248, 2280, 2312, 2346, 2378, 2410, 2444, 2476, 2509, 2542, 2574]] - 攻击次数 = 15 - data1 = [int(i*1.085*1.1285*1.833) for i in [00, 4755, 5238, 5719, 6202, 6685, 7168, 7649, 8132, 8615, 9096, 9579, 10062, 10545, 11026, 11509, 11992, 12473, 12956, 13439, 13920, 14403, 14886, 15369, 15850, 16333, 16816, 17298, 17780, 18263, 18746, 19228, 19710, 20193, 20675, 21157, 21640, 22123, 22605, 23087, 23570, 24052, 24535, 25017, 25499, 25982, 26465, 26947, 27429, 27912, 28395, 28876, 29359, 29842, 30324, 30806, 31289, 31772, 32253, 32736, 33219, 33702, 34183, 34666, 35149, 35630, 36113, 36596, 37077, 37560, 38043]] - 攻击次数2 = 1 - # 5印不动增幅 - 倍率 = 1 + 0.2 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 15 - self.倍率 *= 1+0.16+0.09 - elif x == 1: - self.攻击次数 = 15 - self.倍率 *= 1+0.16+0.17 - -class 技能14(被动技能): - 名称 = '心眼' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 关联技能 = ['所有'] - 关联技能2 = ['地裂·波动剑'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 16: - return round(0.99 + 0.04 + 0.015 * self.等级, 5) - else: - return round(1.23 + 0.04 + 0.02 * (self.等级 - 16), 5) - - def 加成倍率2(self, 武器类型): - return self.地波加成() / self.加成倍率(武器类型) - - def 地波加成(self): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 16: - return round(1.105 + 0.04 + 0.015 * self.等级, 5) - else: - return round(1.345 + 0.04 + 0.02 * (self.等级 - 16), 5) - - -class 技能15(主动技能): - 名称 = '暗天波动眼' - 备注 = '(终结)' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - #基础 = 35457.01 - #成长 = 10704.25 - CD = 140.0 - data0 = [int(i*1.085*1.1794*1.1) for i in [0, 46161, 56865, 67569, 78274, 88978, 99682, 110386, 121091, 131795, 142499, 153203, 163908, 174612, 185316, 196021, 206725, 217429, 228133, 238838, 249542, 260246, 270951, 281655, 292359, 303063, 313768, 324472, 335176, 345879, 356583, 367288, 377992, 388696, 399401, 410105, 420809, 431513, 442218, 452922, 463626, 474330, 485035, 495739, 506443, 517148, 527852, 538556, 549260, 559965, 570669, 581373, 592077, 602782, 613486, 624190, 634895, 645598, 656302, 667006, 677710, 688415, 699119, 709823, 720527, 731232, 741936, 752640, 763345, 774049, 784753]] - 攻击次数 = 1 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(主动技能): - 名称 = '波动剑·光翼' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - #基础 = 1907.14 - #成长 = 575.82 - TP成长 = 0.08 - CD = 1.2 - data0 = [int(i*1.085*1.0563*1.1) for i in [0, 2482, 3059, 3635, 4210, 4786, 5362, 5938, 6513, 7089, 7666, 8241, 8817, 9392, 9969, 10545, 11120, 11696, 12272, 12848, 13423, 13999, 14576, 15151, 15727, 16302, 16879, 17455, 18030, 18606, 19182, 19758, 20333, 20909, 21486, 22061, 22637, 23212, 23789, 24365, 24940, 25516, 26092, 26668, 27244, 27820, 28396, 28971, 29547, 30124, 30699, 31275, 31850, 32427, 33002, 33578, 34154, 34730, 35306, 35881, 36457, 37034, 37609, 38185, 38760, 39337, 39913, 40488, 41064, 41640, 42216]] - 攻击次数 = 1 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能17(主动技能): - 名称 = '波动眼·天照' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - #基础 = 2301.63 - #成长 = 694.45 - TP成长 = 0.1 - CD = 2.5 - data0 = [int(i*1.085*1.0564*1.1) for i in [0, 599, 738, 877, 1015, 1154, 1293, 1432, 1571, 1710, 1849, 1988, 2127, 2265, 2404, 2543, 2682, 2821, 2960, 3099, 3238, 3377, 3515, 3654, 3793, 3932, 4071, 4210, 4349, 4488, 4627, 4765, 4904, 5043, 5182, 5321, 5460, 5599, 5738, 5877, 6016, 6154, 6293, 6432, 6571, 6710, 6850, 6989, 7128, 7267, 7404, 7543, 7683, 7822, 7961, 8100, 8239, 8378, 8517, 8655, 8794, 8933, 9072, 9211, 9350, 9489, 9628, 9767, 9905, 10044, 10183]] - 攻击次数 = 5 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能18(主动技能): - 名称 = '波动剑·闪枪' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - #基础 = 3975.32 - #成长 = 1199.99 - TP成长 = 0.1 - CD = 4.9 - data0 = [int(i*1.085*1.1966*1.1) for i in [0, 739, 910, 1082, 1253, 1424, 1597, 1768, 1939, 2110, 2281, 2453, 2625, 2796, 2968, 3139, 3310, 3481, 3654, 3825, 3996, 4168, 4339, 4510, 4683, 4854, 5025, 5196, 5368, 5539, 5711, 5883, 6054, 6225, 6396, 6568, 6740, 6911, 7083, 7254, 7425, 7596, 7769, 7940, 8111, 8282, 8454, 8625, 8797, 8969, 9140, 9311, 9482, 9655, 9826, 9997, 10169, 10340, 10511, 10684, 10855, 11026, 11197, 11369, 11540, 11712, 11884, 12055, 12226, 12397, 12569]] - 攻击次数 = 7 - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能19(主动技能): - 名称 = '波动剑·刺轮' - 备注 = '(含一轮平X)' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - #基础 = 4496.63 - #成长 = 1363.80 - CD = 1.0 - data0 = [int(i*1.085*1.0563*1.1) for i in [0, 940, 1159, 1376, 1595, 1813, 2030, 2249, 2467, 2686, 2903, 3122, 3340, 3557, 3776, 3994, 4213, 4430, 4649, 4867, 5086, 5303, 5521, 5740, 5957, 6176, 6394, 6613, 6830, 7048, 7267, 7484, 7703, 7921, 8140, 8357, 8576, 8794, 9011, 9230, 9448, 9667, 9884, 10103, 10321, 10539, 10757, 10975, 11194, 11411, 11630, 11848, 12066, 12284, 12502, 12721, 12938, 13157, 13375, 13593, 13811, 14030, 14247, 14465, 14684, 14902, 15120, 15338, 15557, 15774, 15992]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.0563*1.1) for i in [0, 1058, 1303, 1549, 1793, 2039, 2285, 2530, 2776, 3020, 3266, 3512, 3757, 4003, 4249, 4493, 4739, 4984, 5230, 5476, 5720, 5966, 6212, 6457, 6703, 6947, 7193, 7439, 7684, 7930, 8174, 8420, 8666, 8911, 9157, 9403, 9647, 9893, 10138, 10384, 10630, 10874, 11120, 11366, 11611, 11857, 12101, 12347, 12593, 12838, 13084, 13328, 13574, 13820, 14065, 14311, 14556, 14801, 15047, 15292, 15538, 15783, 16028, 16274, 16520, 16765, 17010, 17255, 17501, 17747, 17992]] - 攻击次数2 = 1 - data3 = [int(i*1.085*1.0563*1.1) for i in [0, 1175, 1448, 1720, 1993, 2266, 2539, 2812, 3084, 3357, 3629, 3902, 4175, 4447, 4720, 4993, 5266, 5539, 5810, 6083, 6356, 6629, 6902, 7174, 7447, 7720, 7993, 8266, 8537, 8810, 9083, 9356, 9629, 9901, 10174, 10447, 10720, 10993, 11264, 11537, 11810, 12083, 12356, 12628, 12901, 13174, 13447, 13720, 13991, 14264, 14537, 14810, 15083, 15355, 15628, 15901, 16174, 16447, 16718, 16991, 17264, 17537, 17810, 18082, 18355, 18628, 18901, 19173, 19445, 19718, 19991]] - 攻击次数3 = 1 - data4 = [int(i*1.085*1.0563*1.1) for i in [0, 270, 332, 395, 458, 520, 583, 646, 709, 771, 834, 897, 959, 1022, 1085, 1148, 1210, 1273, 1336, 1398, 1461, 1524, 1587, 1649, 1712, 1775, 1837, 1900, 1963, 2027, 2088, 2151, 2215, 2276, 2339, 2402, 2466, 2527, 2590, 2654, 2715, 2778, 2842, 2905, 2966, 3029, 3093, 3154, 3217, 3281, 3344, 3405, 3469, 3532, 3593, 3657, 3720, 3783, 3844, 3908, 3971, 4032, 4096, 4159, 4222, 4284, 4347, 4410, 4471, 4535, 4598]] - 攻击次数4 = 10 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 1 - - -class 技能20(主动技能): - 名称 = '极冰·裂波剑' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - #基础 = 17180.21 - #成长 = 1939.91 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - data0 = [int(i*1.085*1.05*1.101) for i in [0, 1835, 2021, 2208, 2393, 2580, 2766, 2954, 3138, 3324, 3512, 3696, 3884, 4070, 4254, 4442, 4628, 4815, 5000, 5187, 5373, 5558, 5745, 5931, 6119, 6303, 6491, 6677, 6861, 7049, 7235, 7422, 7607, 7794, 7980, 8166, 8352, 8538, 8726, 8912, 9096, 9284, 9470, 9657, 9842, 10029, 10215, 10400, 10587, 10773, 10961]] - 攻击次数 = 3 - data1 = [int(i*1.085*1.05*1.101) for i in [0, 2723, 2999, 3276, 3552, 3828, 4104, 4380, 4656, 4935, 5211, 5487, 5763, 6039, 6315, 6591, 6867, 7143, 7421, 7697, 7973, 8249, 8526, 8802, 9080, 9356, 9632, 9908, 10184, 10460, 10736, 11012, 11288, 11565, 11843, 12119, 12395, 12671, 12947, 13224, 13500, 13776, 14052, 14328, 14604, 14880, 15156, 15435, 15711, 15987, 16263]] - 攻击次数2 = 5 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i*1.53) for i in self.data0] - self.data1 = [int(i*1.11) for i in self.data1] - # self.倍率 *= 1.2309 - elif x == 1: - # self.倍率 *= 1.32349 - self.data0 = [int(i*1.53) for i in self.data0] - self.data1 = [int(i*1.24) for i in self.data1] - - -class 技能21(主动技能): - 名称 = '极炎·裂波剑' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - #基础 = 23087.13 * 1.009 - #成长 = 2606.72 * 1.009 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - data0 = [int(i*1.085) for i in [0,2968,3269,3570,3871,4172,4473,4774,5075,5376,5677,5978,6279,6580,6881,7182,7483,7784,8085,8386,8687,8988,9289,9590,9891,10192,10493,10794,11095,11396,11697,11998,12299,12600,12901,13202,13503,13804,14105,14406,14707,15008,15309,15610,15911,16212,16513,16814,17115,17416,17717,18018,18319,18620,18921,19222,19523,19824,20125,20426,20727]] - 攻击次数 = 8 - data1 = [int(i*1.085) for i in [0,5937,6539,7141,7743,8345,8947,9549,10151,10753,11355,11957,12559,13161,13763,14365,14967,15569,16171,16773,17375,17977,18579,19181,19783,20385,20987,21589,22191,22793,23395,23997,24599,25201,25803,26405,27007,27609,28211,28813,29415,30017,30619,31221,31823,32425,33027,33629,34231,34833,35435,36037,36639,37241,37843,38445,39047,39649,40251,40853,41455]] - 攻击次数2 = 4 - # 灼烧待定 - data2 = [int(i*1.085) for i in [0,100,110,120,130,140,150,160,170,180,190,200,210,220,230,240,250,260,270,280,290,300,310,320,330,340,350,360,370,380,390,400,410,420,430,440,450,460,470,480,490,500,510,520,530,540,550,560,570,580,590,600,610,620,630,640,650,660,670,680,690]] - 攻击次数3 = 12 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2+ self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.data1 = [int(i*(1+1.3+0.12)) for i in self.data1] - self.攻击次数3 = 4 - elif x == 1: - self.攻击次数 = 0 - self.data1 = [int(i*(1+1.3+0.28)) for i in self.data1] - self.攻击次数3 = 4 - - - -class 技能22(主动技能): - 名称 = '天雷·波动剑' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - #基础 = 65775.64 - #成长 = 7428.35 - CD = 40.0 - 是否有护石 = 1 - data0 = [int(i*1.085*1.1324*2.42) for i in [0, 5261, 5795, 6328, 6862, 7397, 7930, 8464, 8997, 9531, 10066, 10599, 11133, 11666, 12200, 12735, 13268, 13802, 14335, 14869, 15404, 15937, 16471, 17004, 17538, 18073, 18606, 19140, 19673, 20207, 20742, 21275, 21809, 22342, 22876, 23411, 23944, 24478, 25011, 25545, 26080, 26613, 27147, 27681, 28214, 28749, 29282, 29816, 30350, 30883, 31418, 31951, 32485, 33019, 33552, 34087, 34620, 35154, 35688, 36221, 36756, 37289, 37823, 38357, 38890, 39425, 39958, 40492, 41026, 41559, 42094]] - 攻击次数 = 5 - data1 = [int(i*1.085*1.1324*1.1) for i in [0, 14469, 15937, 17404, 18873, 20341, 21809, 23277, 24744, 26212, 27681, 29149, 30617, 32085, 33552, 35020, 36488, 37957, 39425, 40892, 42360, 43828, 45296, 46763, 48232, 49700, 51168, 52636, 54103, 55571, 57040, 58508, 59976, 61443, 62911, 64379, 65847, 67316, 68783, 70251, 71719, 73187, 74654, 76123, 77591, 79059, 80527, 81994, 83462, 84930, 86399, 87867, 89334, 90802, 92270, 93738, 95205, 96675, 98142, 99610, 101078, 102546, 104013, 105482, 106950, 108418, 109886, 111353, 112821, 114289, 115758]] - 攻击次数2 = 1 - data3 = [int(i*1.085*1.1324) for i in [0, 72, 80, 87, 94, 102, 109, 116, 124, 131, 138, 146, 153, 160, 168, 175, 182, 190, 197, 204, 212, 219, 226, 234, 241, 249, 256, 263, 271, 278, 285, 293, 300, 307, 315, 322, 329, 337, 344, 351, 359, 366, 373, 381, 388, 395, 403, 410, 417, 425, 432, 439, 447, 454, 461, 469, 476, 483, 491, 498, 505, 513, 520, 527, 535, 542, 549, 557, 564, 571, 579]] - 攻击次数3 = 6 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.data1 = [int(i*(1+4.4+0.8)) for i in self.data1] - self.攻击次数3 = 1 - - -class 技能23(主动技能): - 名称 = '雷神之息' - 备注 = '(1次)' - 是否主动 = 0 - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - #基础 = 3302.59 - #成长 = 624.43 - CD = 2.5 - 关联技能 = ['所有'] - data0 = [int(i*1.085*1.055*1.1) for i in [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 21, 21, 22, 22, 23, 24, 24, 25, 26, 26, 27, 28, 28, 29, 29, 30, 31, 31, 32, 33, 33, 34, 35, 35]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.055*1.1) for i in [0, 3917, 4541, 5165, 5790, 6414, 7039, 7663, 8288, 8912, 9537, 10161, 10785, 11410, 12034, 12659, 13283, 13908, 14532, 15156, 15781, 16405, 17030, 17654, 18279, 18903, 19528, 20152, 20776, 21401, 22025, 22648, 23273, 23897, 24522, 25146, 25771, 26395, 27019, 27644, 28268, 28893, 29517, 30142, 30766, 31391, 32015, 32639, 33264, 33888, 34513]] - 攻击次数2 = 1 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 2.5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.06 + 0.02 * self.等级, 5) - - -class 技能24(主动技能): - 名称 = '天雷·降魔杵' - 备注 = '(终结)' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - #基础 = 51915.63 * 0.999 - #成长 = 5865.91 * 0.999 - 攻击次数 = 1 - CD = 45.0 - 是否有护石 = 1 - # 终结攻击发动时的小型金刚杵 - data0 = [int(i*1.085*1.0563*1.1) for i in [0, 887, 978, 1068, 1159, 1248, 1339, 1428, 1519, 1608, 1698, 1789, 1879, 1968, 2058, 2149, 2239, 2329, 2418, 2509, 2599, 2689, 2779, 2870, 2960, 3050, 3140, 3231, 3321, 3410, 3500, 3591, 3681, 3770, 3861, 3950, 4041, 4131, 4221, 4310, 4401, 4491, 4582, 4671, 4762, 4852, 4942, 5031, 5122, 5212, 5302, 5392, 5482, 5572, 5662, 5752, 5842, 5933, 6023, 6113, 6204, 6294, 6384, 6473, 6563, 6654, 6744, 6833, 6923, 7014, 7104]] - 攻击次数 = 8*2 - data1 = [int(i*1.085*1.0563*1.389) for i in [0, 8885, 9786, 10688, 11589, 12489, 13392, 14294, 15195, 16095, 16997, 17900, 18801, 19703, 20603, 21504, 22407, 23309, 24209, 25110, 26012, 26915, 27815, 28716, 29618, 30519, 31419, 32322, 33224, 34125, 35025, 35927, 36830, 37731, 38631, 39533, 40434, 41337, 42239, 43139, 44040, 44942, 45845, 46745, 47646, 48548, 49449, 50349, 51252, 52154, 53055, 53955, 54857, 55760, 56661, 57561, 58463, 59364, 60267, 61167, 62069, 62970, 63872, 64775, 65675, 66576, 67478, 68381, 69279, 70182, 71084]] - 攻击次数2 = 1 - data3 = [int(i*1.085*1.0563*1.389) for i in [0, 24846, 27366, 29886, 32409, 34929, 37449, 39969, 42492, 45012, 47532, 50052, 52572, 55095, 57615, 60135, 62655, 65177, 67698, 70218, 72738, 75260, 77780, 80301, 82821, 85343, 87863, 90383, 92904, 95426, 97946, 100466, 102986, 105509, 108029, 110549, 113069, 115589, 118112, 120632, 123152, 125672, 128193, 130715, 133235, 135756, 138276, 140796, 143318, 145839, 148359, 150879, 153399, 155922, 158442, 160962, 163482, 166005, 168525, 171045, 173565, 176085, 178608, 181128, 183648, 186168, 188690, 191211, 193731, 196251, 198773]] - 攻击次数3 = 1 - # 感电部分待定 - data4 = [int(i*1.085*1.0563) for i in [0, 38, 42, 46, 49, 53, 57, 61, 65, 69, 72, 76, 80, 84, 88, 92, 96, 99, 103, 107, 111, 115, 119, 122, 126, 130, 134, 138, 142, 145, 149, 153, 157, 161, 165, 169, 172, 176, 180, 184, 188, 192, 195, 199, 203, 207, 211, 215, 218, 222, 226, 230, 234, 238, 242, 245, 249, 253, 257, 261, 265, 268, 272, 276, 280, 284, 288, 291, 295, 299, 303]] - 攻击次数4 = 16 - # 护石加成 = 1 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 # * self.护石加成 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data1 = [int(i*1.48) for i in self.data1] - self.data3 = [int(i*1.48) for i in self.data3] - # self.护石加成 *= 1.35628 - - -class 技能25(主动技能): - 名称 = '天雷·降魔杵(雷针)' - 备注 = '(1轮)' - 所在等级 = 80 - 等级上限 = 1 - 基础等级 = 1 - #基础 = 4952.01 - #成长 = 560.13 - CD = 2.5 - data0 = [int(i*1.085*1.0563*1.1) for i in [0, 887, 978, 1068, 1159, 1248, 1339, 1428, 1519, 1608, 1698, 1789, 1879, 1968, 2058, 2149, 2239, 2329, 2418, 2509, 2599, 2689, 2779, 2870, 2960, 3050, 3140, 3231, 3321, 3410, 3500, 3591, 3681, 3770, 3861, 3950, 4041, 4131, 4221, 4310, 4401, 4491, 4582, 4671, 4762, 4852, 4942, 5031, 5122, 5212, 5302, 5392, 5482, 5572, 5662, 5752, 5842, 5933, 6023, 6113, 6204, 6294, 6384, 6473, 6563, 6654, 6744, 6833, 6923, 7014, 7104]] - 攻击次数 = 6 - # 感电部分待定 - data1 = [int(i*1.085*1.0563*1.1) for i in [0, 38, 42, 46, 49, 53, 57, 61, 65, 69, 72, 76, 80, 84, 88, 92, 96, 99, 103, 107, 111, 115, 119, 122, 126, 130, 134, 138, 142, 145, 149, 153, 157, 161, 165, 169, 172, 176, 180, 184, 188, 192, 195, 199, 203, 207, 211, 215, 218, 222, 226, 230, 234, 238, 242, 245, 249, 253, 257, 261, 265, 268, 272, 276, 280, 284, 288, 291, 295, 299, 303]] - 攻击次数2 = 3 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 2.5 - - -class 技能26(主动技能): - 名称 = '雷神降世:裁决' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - #基础 = 115355.09 * 0.996 - #成长 = 34839.29 * 0.996 - CD = 180 - data0 = [int(i*1.085*1.1015*1.152) for i in [0, 8853, 10908, 12960, 15014, 17067, 19119, 21173, 23228, 25280, 27333, 29387, 31439, 33494, 35547, 37599, 39653, 41706, 43758, 45813, 47867, 49919, 51972, 54026, 56078, 58133, 60186, 62238, 64292, 66344, 68397, 70452, 72506, 74558, 76611, 78663, 80718, 82772, 84825, 86877, 88931, 90983, 93038, 95091, 97145, 99197, 101250, 103302, 105357, 107411, 109464]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.1015*1.152) for i in [0, 2303, 2835, 3368, 3903, 4436, 4971, 5504, 6039, 6572, 7106, 7640, 8174, 8708, 9242, 9776, 10310, 10842, 11378, 11910, 12446, 12978, 13514, 14046, 14579, 15114, 15647, 16182, 16715, 17249, 17783, 18317, 18851, 19385, 19919, 20453, 20985, 21521, 22053, 22589, 23121, 23657, 24189, 24722, 25257, 25790, 26325, 26858, 27393, 27926, 28460]] - 攻击次数2 = 25 - data3 = [int(i*1.085*1.1015*1.152) for i in [0, 17708, 21816, 25922, 30027, 34136, 38241, 42347, 46455, 50561, 54668, 58773, 62880, 66987, 71093, 75200, 79307, 83412, 87519, 91626, 95732, 99839, 103946, 108051, 112158, 116265, 120371, 124478, 128585, 132690, 136796, 140904, 145010, 149118, 153224, 157329, 161438, 165543, 169649, 173757, 177863, 181968, 186077, 190182, 194288, 198396, 202502, 206607, 210716, 214821, 218927]] - 攻击次数3 = 1 - data4 = [int(i*1.085*1.1015*1.152) for i in [0, 63458, 78173, 92888, 107601, 122318, 137033, 151748, 166463, 181179, 195893, 210606, 225323, 240038, 254753, 269468, 284181, 298898, 313613, 328328, 343043, 357759, 372473, 387186, 401903, 416618, 431333, 446048, 460761, 475478, 490193, 504908, 519623, 534336, 549053, 563766, 578483, 593198, 607913, 622628, 637341, 652058, 666773, 681488, 696203, 710916, 725633, 740346, 755063, 769778, 784493]] - 攻击次数4 = 1 - data5 = [int(i*1.085*1.1015*1.152) for i in [0, 98, 121, 144, 167, 190, 212, 235, 258, 281, 304, 327, 349, 372, 395, 418, 441, 463, 486, 509, 532, 555, 577, 600, 623, 646, 669, 692, 714, 737, 760, 783, 806, 828, 851, 874, 897, 920, 942, 965, 988, 1011, 1034, 1057, 1079, 1102, 1125, 1148, 1171, 1193, 1216]] - 攻击次数5 = 25 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4+ self.data5[self.等级] * self.攻击次数5) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能27(被动技能): - 名称 = '波动视界:慧眼' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能28(主动技能): - 名称 = '波动慧眼:无为法' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - #基础 = 121042.84 - #成长 = 13667.14 - CD = 60.0 - data0 = [int(i*1.085*1.1686*1.101) for i in [0, 6735, 7419, 8102, 8785, 9469, 10152, 10835, 11519, 12202, 12885, 13569, 14252, 14935, 15619, 16302, 16985, 17669, 18352, 19035, 19719, 20402, 21085, 21769, 22452, 23135, 23819, 24502, 25185, 25869, 26552, 27235, 27919, 28602, 29285, 29969, 30652, 31335, 32019, 32702, 33385]] - 攻击次数 = 5 - data1 = [int(i*1.085*1.1686*1.101) for i in [0, 101035, 111286, 121536, 131786, 142036, 152286, 162536, 172786, 183036, 193286, 203536, 213786, 224036, 234286, 244536, 254786, 265036, 275286, 285536, 295786, 306036, 316286, 326536, 336786, 347036, 357286, 367536, 377786, 388036, 398286, 408536, 418786, 429036, 439286, 449536, 459786, 470036, 480286, 490537, 500787]] - 攻击次数2 = 1 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能29(主动技能): - 名称 = '波动神诀:万空' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - #基础 = 359630.24 - #成长 = 108568.10 - CD = 290 - 关联技能 = ['无'] - data0 = [int(i*1.085*1.1480*1.102) for i in [0, 116714, 143778, 170842, 197906, 224970, 252035, 279099, 306163, 333227, 360291, 387355, 414420, 441484, 468548, 495612, 522676, 549740, 576805, 603869, 630933, 657997, 685061, 712125, 739190, 766254, 793318, 820382, 847446, 874511, 901575, 928639, 955703, 982767, 1009831, 1036896, 1063960, 1091024, 1118088, 1145152, 1172216, 1199281, 1226345, 1253409, 1280473, 1307537, 1334601, 1361666, 1388730, 1415794, 1442858, 1469922, 1496986, 1524051, 1551115, 1578179, 1605243, 1632307, 1659371, 1686436, 1713500, 1740564, 1767628, 1794692, 1821756, 1848821, 1875885, 1902949, 1930013, 1957077, 1984141]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.1480*1.102) for i in [0, 19452, 23963, 28473, 32984, 37495, 42005, 46516, 51027, 55537, 60048, 64559, 69070, 73580, 78091, 82602, 87112, 91623, 96134, 100644, 105155, 109666, 114176, 118687, 123198, 127709, 132219, 136730, 141241, 145751, 150262, 154773, 159283, 163794, 168305, 172816, 177326, 181837, 186348, 190858, 195369, 199880, 204390, 208901, 213412, 217922, 222433, 226944, 231455, 235965, 240476, 244987, 249497, 254008, 258519, 263029, 267540, 272051, 276561, 281072, 285583, 290094, 294604, 299115, 303626, 308136, 312647, 317158, 321668, 326179, 330690]] - 攻击次数2 = 6 - data3 = [int(i*1.085*1.1480*1.102) for i in [0, 58357, 71889, 85421, 98953, 112485, 126017, 139549, 153081, 166613, 180145, 193677, 207210, 220742, 234274, 247806, 261338, 274870, 288402, 301934, 315466, 328998, 342530, 356062, 369595, 383127, 396659, 410191, 423723, 437255, 450787, 464319, 477851, 491383, 504915, 518448, 531980, 545512, 559044, 572576, 586108, 599640, 613172, 626704, 640236, 653768, 667300, 680833, 694365, 707897, 721429, 734961, 748493, 762025, 775557, 789089, 802621, 816153, 829685, 843218, 856750, 870282, 883814, 897346, 910878, 924410, 937942, 951474, 965006, 978538, 992070]] - 攻击次数3 = 2 - data4 = [int(i*1.085*1.1480*1.102) for i in [0, 118058, 145434, 172810, 200186, 227562, 254938, 282314, 309690, 337066, 364442, 391818, 419194, 446570, 473946, 501322, 528698, 556074, 583450, 610826, 638202, 665578, 692954, 720330, 747706, 775082, 802458, 829834, 857210, 884586, 911962, 939338, 966714, 994090, 1021466, 1048842, 1076218, 1103594, 1130970, 1158346, 1185722, 1213098, 1240474, 1267850, 1295226, 1322602, 1349978, 1377354, 1404730, 1432106, 1459482, 1486858, 1514234, 1541610, 1568986, 1596362, 1623738, 1651114, 1678490, 1705866, 1733242, 1760618, 1787994, 1815370, 1842746, 1870122, 1897498, 1924874, 1952250, 1979626, 2007002]] - 攻击次数4 = 1 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·阿修罗一觉序号 = 15 -极诣·阿修罗二觉序号 = 26 -极诣·阿修罗三觉序号 = 29 - - -极诣·阿修罗护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·阿修罗护石选项.append(i.名称) - -极诣·阿修罗符文选项 = ['无', '邪光斩', '波动爆发', '冰刃·波动剑', '鬼印珠', '爆炎·波动剑', - '无双波', '邪光波动阵', '不动明王阵', '极冰·裂波剑', '极炎·裂波剑', '天雷·波动剑', '天雷·降魔杵'] - - -class 极诣·阿修罗角色属性(角色属性): - - 实际名称 = '极诣·阿修罗' - 角色 = '鬼剑士(男)' - 职业 = '阿修罗' - - 武器选项 = ['太刀', '钝器', '巨剑', '短剑'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.59 - - 远古记忆 = 0 - 刀魂之卡赞 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 伤害指数计算(self): - - self.技能栏[self.技能序号['波动剑·光翼']].等级 = self.技能栏[self.技能序号['暗天波动眼']].等级 - self.技能栏[self.技能序号['波动眼·天照']].等级 = self.技能栏[self.技能序号['暗天波动眼']].等级 - self.技能栏[self.技能序号['波动剑·闪枪']].等级 = self.技能栏[self.技能序号['暗天波动眼']].等级 - self.技能栏[self.技能序号['波动剑·刺轮']].等级 = self.技能栏[self.技能序号['暗天波动眼']].等级 - - self.技能栏[self.技能序号['波动剑·光翼']].TP等级 = self.技能栏[self.技能序号['地裂·波动剑']].TP等级 - self.技能栏[self.技能序号['波动眼·天照']].TP等级 = self.技能栏[self.技能序号['冰刃·波动剑']].TP等级 - self.技能栏[self.技能序号['波动剑·闪枪']].TP等级 = self.技能栏[self.技能序号['爆炎·波动剑']].TP等级 - - self.技能栏[self.技能序号['天雷·降魔杵(雷针)']].等级 = self.技能栏[self.技能序号['天雷·降魔杵']].等级 - self.技能栏[self.技能序号['天雷·降魔杵(雷针)']].倍率 = self.技能栏[self.技能序号['天雷·降魔杵']].倍率 - - super().伤害指数计算() - - -class 极诣·阿修罗(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·阿修罗角色属性() - self.角色属性A = 极诣·阿修罗角色属性() - self.角色属性B = 极诣·阿修罗角色属性() - self.一觉序号 = 极诣·阿修罗一觉序号 - self.二觉序号 = 极诣·阿修罗二觉序号 - self.三觉序号 = 极诣·阿修罗三觉序号 - self.护石选项 = deepcopy(极诣·阿修罗护石选项) - self.符文选项 = deepcopy(极诣·阿修罗符文选项) diff --git a/Characters/极诣·驭剑士.py b/Characters/极诣·驭剑士.py deleted file mode 100644 index 281b0d67..00000000 --- a/Characters/极诣·驭剑士.py +++ /dev/null @@ -1,1086 +0,0 @@ -from PublicReference.carry.base import * - - -class 极诣·驭剑士主动技能(主动技能): - # 武器CD = {'短剑':1, '巨剑':1.1, '钝器':1.05, '太刀':0.95} - - # def 等效CD(self, 武器类型): - # return round(self.CD / self.恢复 * self.武器CD[武器类型], 1) - - data0 = [] - 次数 = [] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['帝国剑术'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(极诣·驭剑士主动技能): - 名称 = '帝国剑术' - 备注 = '(TP为基础精通)' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 基础 = {'巨剑': 180 + 206 + 128, '太刀': 123 + 171 + 196, - '短剑': (70 + 75 + 82 + 87) * 2, '钝器': 103 + 154 + 180 + 78} - 成长 = 0 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 3 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return self.基础[武器类型] - - -class 技能2(被动技能): - 名称 = '毁灭之巨剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能2 = ['所有'] - - data1 = [0, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, - 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 330, 350, 370, 390, 410, 430, 450, 470, 490, 510] - data2 = [0, 162, 168, 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240, 246, 252, 258, 264, 270, - 276, 282, 288, 294, 300, 306, 312, 318, 324, 330, 336, 342, 348, 354, 360, 366, 372, 378, 384, 390, 396] - data3 = [0, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17, - 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26] - data4 = [0, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, - 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 57] - - def 加成倍率(self, 武器类型): - if 武器类型 != '巨剑': - return 1.0 - else: - return 1 + self.data2[self.等级] / 1000 - - def 加成倍率2(self, 武器类型): - return self.物理攻击力倍率(武器类型) - - def 物理攻击力倍率(self, 武器类型): - if 武器类型 != '巨剑': - return 1.0 - else: - return 1 + self.data1[self.等级] / 1000 - - # 破军圆舞斩 - def 额外倍率1(self): - return 1 + self.data3[self.等级] / 100 - - # 恶即斩终结 - def 额外倍率2(self): - return 1 + self.data4[self.等级] / 100 - - -class 技能3(被动技能): - 名称 = '波动之钝器精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能2 = ['所有'] - - data1 = [0, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, - 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 330, 350, 370, 390, 410, 430, 450, 470, 490, 510] - data2 = [0, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, - 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345, 350, 355, 360, 365, 370, 375, 380] - data3 = [0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] - data4 = [0, 11, 12, 14, 15, 16, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, - 37, 38, 39, 41, 42, 44, 45, 46, 48, 49, 50, 52, 53, 54, 56, 57, 58, 60, 61, 63, 64] - data5 = [0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 0, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] - - def 加成倍率(self, 武器类型): - if 武器类型 != '钝器': - return 1.0 - else: - return 1 + self.data2[self.等级] / 1000 - - def 加成倍率2(self, 武器类型): - return self.物理攻击力倍率(武器类型) - - def 物理攻击力倍率(self, 武器类型): - if 武器类型 != '钝器': - return 1.0 - else: - return 1 + self.data1[self.等级] / 1000 - - # 雷鸣千军破 - def 额外倍率1(self): - return 1 + self.data3[self.等级] / 100 - - # 幻剑术 - def 额外倍率2(self): - return 1 + self.data4[self.等级] / 100 - - # 穿云破空剑 - def 额外倍率3(self): - return 1 + self.data5[self.等级] / 100 - - -class 技能4(被动技能): - 名称 = '血影之太刀精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - - 关联技能2 = ['所有'] - 非关联技能2 = ['帝国剑术', '魔剑降临'] - - data1 = [int(x*1.0) for x in[0, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, - 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 330, 350, 370, 390, 410, 430, 450, 470, 490, 510]] - data2 = [int(x+2) for x in[0, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, - 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37]] - data3 = [int(x*1.0) for x in[0, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, - 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29]] - - def 加成倍率(self, 武器类型): - if 武器类型 != '太刀': - return 1.0 - else: - return 1 + self.data2[self.等级] / 100 - - def 加成倍率2(self, 武器类型): - return self.物理攻击力倍率(武器类型) - - def 物理攻击力倍率(self, 武器类型): - if 武器类型 != '太刀': - return 1.0 - else: - return 1 + self.data1[self.等级] / 1000 - - # 魔剑降临 - def 额外倍率1(self): - return 1 + self.data3[self.等级] / 100 - - 冷却关联技能 = ['所有'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '太刀': - return 1.0 - else: - return 0.9 - - -class 技能5(被动技能): - 名称 = '魔性之短剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能2 = ['所有'] - - data1 = [0, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, - 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 340, 360, 380, 400, 420, 440, 460, 480, 500, 520] - data2 = [0, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, - 270, 275, 280, 285, 290, 295, 300, 305, 310, 315, 320, 325, 330, 335, 340, 345, 350, 355, 360, 365, 370] - data3 = [0, 34, 35, 37, 38, 40, 41, 42, 44, 45, 47, 48, 50, 51, 53, 54, 56, 57, 58, 60, - 61, 63, 64, 66, 67, 69, 70, 71, 73, 74, 76, 77, 79, 80, 82, 83, 85, 86, 87, 88, 89] - data4 = [0, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, - 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235] - - def 加成倍率(self, 武器类型): - if 武器类型 != '短剑': - return 1.0 - else: - return 1 + self.data2[self.等级] / 1000 - - def 加成倍率2(self, 武器类型): - return self.物理攻击力倍率(武器类型) - - def 物理攻击力倍率(self, 武器类型): - if 武器类型 != '短剑': - return 1.0 - else: - return 1 + self.data1[self.等级] / 1000 - - def 魔剑奥义CD倍率(self): - return 1 - self.data3[self.等级] / 100 - - # 瞬影三绝斩异常伤害 - def 额外倍率1(self): - return 1 + self.data4[self.等级] / 100 - - -class 技能6(极诣·驭剑士主动技能): - 名称 = '魔剑降临' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - TP成长 = 0.1 - TP上限 = 5 - # 火 冰 光 暗 - data1 = [int(x*1.138) for x in [0, 84, 92, 101, 109, 118, 126, 135, 143, 152, 160, 169, 177, 186, 194, 203, 211, 220, 228, 237, 245, 254, 262, 271, 279, 288, 296, 305, 313, 322, 330, 339, 347, 356, 364, 372, 381, 389, 398, 406, 415, 423, 432, 440, 449, 457, 466, 474, 483, 491, 500, 508, 517, 525, 534, 542, 551, 559, 568, 576, 585, 593, 602, 610, 619, 627, 636, 644, 653, 661, 670]] - data2 = [int(x*1.138) for x in [0, 84, 92, 101, 109, 118, 126, 135, 143, 152, 160, 169, 177, 186, 194, 203, 211, 220, 228, 237, 245, 254, 262, 271, 279, 288, 296, 305, 313, 322, 330, 339, 347, 356, 364, 372, 381, 389, 398, 406, 415, 423, 432, 440, 449, 457, 466, 474, 483, 491, 500, 508, 517, 525, 534, 542, 551, 559, 568, 576, 585, 593, 602, 610, 619, 627, 636, 644, 653, 661, 670]] - data3 = [int(x*1.138) for x in [0, 24, 26, 29, 31, 34, 36, 38, 41, 43, 46, 48, 51, 53, 55, 58, 60, 63, 65, 68, 70, 72, 75, 77, 80, 82, 85, 87, 89, 92, 94, 97, 99, 102, 104, 106, 109, 111, 114, 116, 119, 121, 123, 126, 128, 131, 133, 136, 138, 140, 143, 145, 148, 150, 153, 155, 157, 160, 162, 165, 167, 170, 172, 174, 177, 179, 182, 184, 187, 189, 191]] - data4 = [int(x*1.138) for x in [0, 55, 61, 67, 72, 78, 84, 89, 95, 100, 106, 112, 117, 123, 129, 134, 140, 145, 151, 157, 162, 168, 174, 179, 185, 190, 196, 202, 207, 213, 219, 224, 230, 235, 241, 247, 252, 258, 264, 269, 275, 280, 286, 292, 297, 303, 309, 314, 320, 325, 331, 337, 342, 348, 354, 359, 365, 370, 376, 382, 387, 393, 399, 404, 410, 415, 421, 427, 432, 438, 444]] - data0 = [data1, data2, data3, data4] - 次数 = [0, 0, 0, 0] - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - - -class 技能7(极诣·驭剑士主动技能): - 名称 = '疾影斩' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.154) for x in [0, 2630, 2896, 3163, 3430, 3696, 3964, 4230, 4497, 4764, 5030, 5297, 5564, 5831, 6098, 6365, 6631, 6898, 7165, 7431, 7699, 7966, 8232, 8499, 8766, 9032, 9299, 9567, 9833, 10100, 10367, 10633, 10900, 11167, 11434, 11701, 11968, 12234, 12501, 12768, 13034, 13302, 13569, 13835, 14102, 14369, 14635, 14902, 15169, 15436, 15703, 15970, 16236, 16503, 16770, 17036, 17304, 17570, 17837, 18104, 18370, 18637, 18904, 19171, 19438, 19705, 19971, 20238, 20505, 20771, 21039]] - data0 = [data1] - 次数 = [1] - - -class 技能8(极诣·驭剑士主动技能): - 名称 = '幻剑术' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.184) for x in [0, 634, 698, 763, 828, 891, 956, 1020, 1085, 1150, 1213, 1278, 1342, 1407, 1471, 1535, 1600, 1664, 1729, 1792, 1857, 1922, 1986, 2050, 2114, 2179, 2244, 2308, 2372, 2436, 2501, 2566, 2630, 2694, 2758, 2823, 2888, 2951, 3016, 3080, 3145, 3210, 3273, 3338, 3402, 3467, 3531, 3595, 3660, 3724, 3789, 3853, 3917, 3982, 4046, 4110, 4174, 4239, 4304, 4368, 4432, 4496, 4561, 4626, 4690, 4754, 4818, 4883, 4948, 5011, 5076]] - data2 = [int(x*1.184) for x in [0, 158, 174, 190, 207, 223, 239, 255, 270, 287, 303, 319, 335, 351, 368, 384, 400, 416, 432, 448, 464, 480, 496, 512, 529, 545, 561, 577, 593, 609, 625, 641, 657, 673, 690, 706, 722, 738, 754, 770, 786, 802, 818, 834, 850, 867, 883, 899, 915, 931, 947, 963, 979, 995, 1011, 1028, 1044, 1060, 1076, 1092, 1109, 1124, 1140, 1156, 1172, 1189, 1205, 1221, 1237, 1253, 1270]] - data0 = [data1, data2] - - def __init__(self): - self.次数 = [6, 0] - - -class 技能9(极诣·驭剑士主动技能): - 名称 = '升龙剑' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.155) for x in [0, 693, 764, 834, 905, 975, 1046, 1116, 1187, 1257, 1328, 1397, 1468, 1538, 1609, 1679, 1750, 1820, 1890, 1961, 2031, 2102, 2172, 2243, 2312, 2383, 2453, 2524, 2594, 2665, 2735, 2806, 2876, 2947, 3017, 3088, 3158, 3229, 3298, 3369, 3439, 3510, 3580, 3650, 3721, 3791, 3862, 3932, 4003, 4073, 4144, 4213, 4284, 4354, 4425, 4495, 4566, 4636, 4707, 4777, 4848, 4918, 4989, 5059, 5130, 5199, 5270, 5340, 5410, 5481, 5551]] - data2 = [int(x*1.155) for x in [0, 1306, 1438, 1570, 1704, 1836, 1969, 2101, 2233, 2366, 2499, 2631, 2764, 2896, 3029, 3161, 3293, 3427, 3559, 3691, 3824, 3956, 4089, 4222, 4354, 4487, 4619, 4751, 4884, 5017, 5150, 5282, 5414, 5547, 5679, 5811, 5945, 6077, 6210, 6342, 6474, 6607, 6740, 6872, 7005, 7137, 7270, 7402, 7534, 7668, 7800, 7932, 8065, 8197, 8330, 8463, 8595, 8728, 8860, 8992, 9125, 9257, 9390, 9523, 9655, 9788, 9920, 10052, 10186, 10318, 10450]] - data0 = [data1, data2] - 次数 = [4, 1] - - -class 技能10(被动技能): - 名称 = '魔剑觉醒' - 所在等级 = 30 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.035 + 0.015 * self.等级, 5) - - -class 技能11(极诣·驭剑士主动技能): - 名称 = '穿云破空剑' - 备注 = '(不可抓取)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 26 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.194) for x in [0, 762, 884, 1005, 1127, 1249, 1370, 1491, 1612, 1734, 1856, 1977, 2099, 2221, 2342, 2464, 2586, 2707, 2829, 2950, 3071, 3193, 3314, 3436, 3558, 3679, 3801, 3922, 4044, 4166, 4287, 4409, 4530, 4651, 4773, 4894, 5016, 5138, 5259, 5381, 5503, 5624, 5746, 5868, 5989, 6110, 6231, 6353, 6475, 6596, 6718, 6840, 6961, 7083, 7204, 7326, 7448, 7569, 7690, 7812, 7933, 8055, 8176, 8298, 8420, 8541, 8663, 8785, 8906, 9028, 9150]] - data2 = [int(x*1.194) for x in [0, 510, 591, 673, 754, 835, 917, 998, 1080, 1161, 1243, 1324, 1406, 1487, 1569, 1650, 1731, 1812, 1894, 1975, 2056, 2138, 2219, 2301, 2382, 2464, 2545, 2627, 2708, 2790, 2870, 2952, 3033, 3115, 3196, 3277, 3359, 3440, 3522, 3603, 3685, 3766, 3848, 3929, 4010, 4091, 4173, 4254, 4336, 4417, 4498, 4580, 4661, 4743, 4824, 4906, 4987, 5069, 5150, 5231, 5312, 5394, 5475, 5557, 5638, 5719, 5801, 5882, 5964, 6045, 6127]] - data3 = [int(x*1.194) for x in [0, 599, 694, 790, 885, 981, 1076, 1171, 1267, 1363, 1458, 1553, 1650, 1745, 1840, 1935, 2031, 2127, 2222, 2318, 2413, 2509, 2604, 2700, 2795, 2890, 2987, 3082, 3177, 3272, 3369, 3464, 3559, 3654, 3750, 3846, 3941, 4037, 4132, 4228, 4323, 4419, 4514, 4610, 4706, 4801, 4896, 4991, 5088, 5183, 5278, 5374, 5470, 5565, 5660, 5756, 5851, 5947, 6043, 6138, 6233, 6329, 6425, 6520, 6615, 6710, 6807, 6902, 6997, 7093, 7189]] - data0 = [data1, data2, data3] - - def __init__(self): - self.次数 = [1, 8, 1] - - def 等效百分比(self, 武器类型): - return self.data1[self.等级] * self.次数[0] * self.倍率 + self.data2[self.等级] * (self.次数[1] + self.TP等级) * self.倍率 + self.data3[self.等级] * self.次数[2] * self.倍率 - - -class 技能12(极诣·驭剑士主动技能): - 名称 = '魔剑奥义' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 是否主动 = 0 - - # 火 冰 光 暗 - # 后续数组需要核对 - data1 = [int(x*1.0) for x in [0, 745, 820, 896, 971, 1047, 1123, 1198, 1274, 1349, 1425, 1501, 1576, 1652, 1727, 1803, 1879, 1954, 2030, 2105, 2181, 2257, 2332, 2408, 2483, 2559, 2634, 2710, 2786, 2861, 2937, 3012, 3088, 3164, 3239, 3315, 3390, 3466, 3542, 3617, 3693, 3768, 3844, 3920, 3995, 4071, 4146, 4222, 4298, 4373, 4449, 4524, 4600, 4676, 4751, 4827, 4902, 4978, 5053, 5129, 5205, 5280, 5356, 5431, 5507, 5583, 5658, 5734, 5809, 5885, 5961]] - data2 = [int(x*1.0) for x in [0, 820, 902, 986, 1068, 1152, 1235, 1318, 1401, 1484, 1568, 1651, 1734, 1817, 1900, 1983, 2067, 2149, 2233, 2316, 2399, 2483, 2565, 2649, 2731, 2815, 2897, 2981, 3065, 3147, 3231, 3313, 3397, 3480, 3563, 3647, 3729, 3813, 3896, 3979, 4062, 4145, 4228, 4312, 4395, 4478, 4561, 4644, 4728, 4810, 4894, 4976, 5060, 5144, 5226, 5310, 5392, 5476, 5558, 5642, 5726, 5808, 5892, 5974, 6058, 6141, 6224, 6307, 6390, 6474, 6557]] - data3 = [int(x*1.0) for x in [0, 820, 902, 986, 1068, 1152, 1235, 1318, 1401, 1484, 1568, 1651, 1734, 1817, 1900, 1983, 2067, 2149, 2233, 2316, 2399, 2483, 2565, 2649, 2731, 2815, 2897, 2981, 3065, 3147, 3231, 3313, 3397, 3480, 3563,3647, 3729, 3813, 3896, 3979, 4062, 4145, 4228, 4312, 4395, 4478, 4561, 4644, 4728, 4810, 4894, 4976, 5060, 5144, 5226, 5310, 5392, 5476, 5558, 5642, 5726, 5808, 5892, 5974, 6058, 6141, 6224, 6307, 6390, 6474, 6557]] - data4 = [int(x*1.0) for x in [0, 745, 820, 896, 971, 1047, 1123, 1198, 1274, 1349, 1425, 1501, 1576, 1652, 1727, 1803, 1879, 1954, 2030, 2105, 2181, 2257, 2332, 2408, 2483, 2559, 2634, 2710, 2786, 2861, 2937, 3012, 3088, 3164, 3239, 3315, 3390, 3466, 3542, 3617, 3693, 3768, 3844, 3920, 3995, 4071, 4146, 4222, 4298, 4373, 4449, 4524, 4600, 4676, 4751, 4827, 4902, 4978, 5053, 5129, 5205, 5280, 5356, 5431, 5507, 5583, 5658, 5734, 5809, 5885, 5961]] - data0 = [data1, data2, data3, data4] - 次数 = [0, 0, 0, 0] - - TP上限 = 5 - 短精CD = 1 - - def 等效CD(self, 武器类型, 输出类型): - if 武器类型 != '短剑': - return round(5 * (1 - 0.1 * self.TP等级), 1) - else: - return round(self.短精CD * 5 * (1 - 0.1 * self.TP等级), 2) - - -class 技能13(极诣·驭剑士主动技能): - 名称 = '破军旋舞斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 24 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - data1 = [int(x*1.0) for x in [0, 2203, 2554, 2906, 3256, 3608, 3959, 4310, 4662, 5013, 5364, 5715, 6067, 6418, 6770, 7120, 7471, 7823, 8174, 8526, 8877, 9228, 9579, 9930, 10282, 10633, 10984, 11335, 11687, 12038, 12390, 12741, 13091, 13443, 13794, 14146, 14497, 14848, 15199, 15550, 15902, 16253, 16605, 16955, 17307, 17658, 18010, 18361, 18711, 19063, 19414, 19766, 20117, 20468, 20819, 21170, 21522, 21873, 22225, 22575, 22927, 23278, 23630, 23981, 24331, 24683, 25034, 25386, 25737, 26089, 26439]] - data0 = [data1] - 次数 = [3] - 倍率 = 1.2 # 蓄力增加20% - - # 破空剑舞 - # 旋转攻击时向前方发射1道剑气 - # 剑气攻击力为[破军旋舞斩]整体攻击力的19% - # 剑气攻击范围 +30% - # 剑气攻击力 +14% - # 半月斩击范围 +30% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.33 - - def 护石描述(self, x): - if x == 0: - temp = "破空剑舞" - temp += "

" - temp += "[破军旋舞斩]
" - temp += "旋转攻击时向前方发射1道剑气
" - temp += "剑气攻击力为[破军旋舞斩]整体攻击力的19%
" - temp += "
-护石附加效果:
" - temp += "剑气攻击范围 +30%
" - temp += "剑气攻击力 +5%
" - temp += "半月斩击范围 +30%" - elif x == 1: - temp = "破空剑舞" - temp += "

" - temp += "[破军旋舞斩]
" - temp += "旋转攻击时向前方发射1道剑气
" - temp += "剑气攻击力为[破军旋舞斩]整体攻击力的19%
" - temp += "
-护石附加效果:
" - temp += "剑气攻击范围 +30%
" - temp += "剑气攻击力 +14%
" - temp += "半月斩击范围 +30%" - return temp - - -class 技能14(极诣·驭剑士主动技能): - 名称 = '瞬影三绝斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 基础 = 5922.08 - 成长 = 668.93 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.154) for x in [0, 2197, 2420, 2644, 2867, 3090, 3312, 3535, 3758, 3981, 4204, 4428, 4650, 4873, 5096, 5319, 5542, 5765, 5988, 6211, 6434, 6657, 6880, 7103, 7326, 7549, 7771, 7995, 8218, 8441, 8664, 8887, 9110, 9332, 9555, 9779, 10002, 10225, 10448, 10670, 10893, 11116, 11339, 11563, 11786, 12009, 12231, 12454, 12677, 12900, 13123, 13347, 13570, 13792, 14015, 14238, 14461, 14684, 14907, 15130, 15353, 15576, 15799, 16022, 16245, 16468, 16690, 16914, 17137, 17360, 17583]] - # 冰属性附加伤害,计算公式未知 - data2 = [int(x*1.154) for x in [0, 149, 165, 180, 195, 210, 230, 245, 260, 275, 290, 305, 320, 335, 355, 365, 385, 400, 415, 430, 445, 460, 475, 490, 510, 525, 540, 555, 570, 585, 600, 615, 630, 645, 665, 680, 695, 710, 725, 740, 755, 770, 785, 805, 820, 835, 850, 865, 880, 895, 910, 925, 945, 960, 975, 990, 1005, 1020, 1035, 1050, 1070, 1085, 1100, 1115, 1130, 1145, 1160, 1175, 1190, 1205, 1225]] - data0 = [data1] - 次数 = [3] - - -class 技能15(极诣·驭剑士主动技能): - 名称 = '雷鸣千军破' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.155) for x in [0, 409, 450, 492, 533, 575, 616, 658, 700, 741, 783, 824, 866, 908, 949, 990, 1031, 1073, 1115, 1156, 1198, 1239, 1281, 1323, 1364, 1406, 1447, 1489, 1530, 1571, 1613, 1654, 1696, 1738, 1779, 1821, 1862, 1904, 1946, 1987, 2029, 2070, 2111, 2153, 2194, 2236, 2277, 2319, 2361, 2402, 2444, 2486, 2527, 2569, 2610, 2651, 2693, 2734, 2776, 2817, 2859, 2901, 2942, 2984, 3025, 3067, 3109, 3150, 3191, 3232, 3274]] - data2 = [int(x*1.155) for x in [0, 506, 557, 609, 660, 711, 763, 814, 866, 917, 969, 1020, 1071, 1123, 1174, 1226, 1277, 1329, 1380, 1431, 1483, 1534, 1586, 1637, 1688, 1739, 1790, 1842, 1893, 1945, 1996, 2048, 2099, 2150, 2202, 2253, 2305, 2356, 2408, 2459, 2510, 2562, 2613, 2665, 2716, 2768, 2819, 2870, 2922, 2972, 3024, 3075, 3127, 3178, 3230, 3281, 3332, 3384, 3435, 3487, 3538, 3590, 3641, 3692, 3744, 3795, 3847, 3898, 3950, 4001, 4052]] - data3 = [int(x*1.155) for x in [0, 796, 877, 958, 1038, 1119, 1200, 1281, 1361, 1442, 1523, 1604, 1684, 1765, 1846, 1927, 2007, 2088, 2169, 2250, 2330, 2411, 2492, 2573, 2653, 2734, 2815, 2896, 2976, 3057, 3138, 3219, 3299, 3380, 3461, 3542, 3622, 3703, 3784, 3865, 3945, 4026, 4107, 4188, 4268, 4349, 4430, 4511, 4591, 4672, 4753, 4834, 4914, 4995, 5076, 5157, 5237, 5318, 5399, 5480, 5560, 5641, 5722, 5803, 5883, 5964, 6045, 6126, 6206, 6287, 6368]] - data0 = [data1, data1, data2, data3] - - def __init__(self): - self.次数 = [3, 8, 8, 0] - - def 等效百分比(self, 武器类型): - if 武器类型 == '钝器': - #temp = [] - #temp.append(self.次数[0] / 3) - # temp.append(self.次数[1]) - # temp.append(self.次数[2]) - # temp.append(1) - self.次数[0] /= 3 - self.次数[3] = 1 - # 钝器斩击只有一段,但是附带冲击波 - return super().等效百分比(武器类型) - - # 千雷轰鸣 - # 从地面召唤的巨剑数量 +25% - # 斩击和从地面召唤的巨剑斩击物理攻击力 +21% - # 巨剑冲击波攻击范围 +40% - 是否有护石 = 1 - 是否装备护石 = 0 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [3 * 1.07, 8 * 1.07 * 1.25, 8 * 1.25, 0] - self.是否装备护石 = 1 - elif x == 1: - self.次数 = [3 * 1.21, 8 * 1.21 * 1.25, 8 * 1.25, 0] - self.是否装备护石 = 1 - - def 护石描述(self, x): - if x == 0: - temp = "千雷轰鸣" - temp += "

" - temp += "[雷鸣千军破]
" - temp += "从地面召唤的巨剑数量 +25%
" - temp += "
-护石附加效果:
" - temp += "斩击和从地面召唤的巨剑斩击物理攻击力 +7%
" - temp += "巨剑冲击波攻击范围 +40%" - elif x == 1: - temp = "千雷轰鸣" - temp += "

" - temp += "[雷鸣千军破]
" - temp += "从地面召唤的巨剑数量 +25%
" - temp += "
-护石附加效果:
" - temp += "斩击和从地面召唤的巨剑斩击物理攻击力 +21%
" - temp += "巨剑冲击波攻击范围 +40%" - return temp - - -class 技能16(极诣·驭剑士主动技能): - 名称 = '恶即斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.0) for x in [0, 888, 978, 1069, 1158, 1249, 1339, 1429, 1519, 1609, 1699, 1790, 1879, 1970, 2060, 2150, 2240, 2330, 2420, 2510, 2600, 2690, 2781, 2870, 2961, 3051, 3141, 3231, 3321, 3411, 3502, 3591, 3682, 3772, 3862, 3952, 4043, 4132, 4223, 4312, 4403, 4493, 4583, 4673, 4764, 4853, 4944, 5034, 5124, 5214, 5304, 5394, 5485, 5574, 5665, 5755, 5845, 5935, 6026, 6115, 6206, 6295, 6386, 6476, 6566, 6656, 6747, 6836, 6927, 7016, 7107]] - data2 = [int(x*1.0) for x in [0, 7304, 8046, 8787, 9528, 10269, 11010, 11750, 12491, 13232, 13973, 14714, 15456, 16197, 16938, 17679, 18420, 19161, 19902, 20643, 21384, 22126, 22867, 23608, 24349, 25090, 25830, 26571, 27312, 28053, 28795, 29536, 30277, 31018, 31759, 32500, 33241, 33982, 34723, 35465, 36206, 36947, 37688, 38429, 39170, 39910, 40651, 41392, 42133, 42875, 43616, 44357, 45098, 45839, 46580, 47321, 48062, 48803, 49545, 50286, 51027, 51768, 52509, 53250, 53990, 54731, 55472, 56214, 56955, 57696, 58437]] - data0 = [data1, data2] - 次数 = [15, 1] - - # 斩恶者 - # 终结攻击前使用[驭剑术]时, 自动发动终结攻击 - # 连续斩击攻击力 +19% - # 冷却时间 -5% - # 多段攻击次数固定为最大值 - # 终结攻击力 +38% - # 连续斩击攻击范围 +30% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [15 * 1.19, 1.17] - self.CD *= 0.95 - elif x == 1: - self.次数 = [15 * 1.19, 1.38] - self.CD *= 0.95 - - def 护石描述(self, x): - if x == 0: - temp = "斩恶者" - temp += "

" - temp += "[恶即斩]
" - temp += "终结攻击前使用[驭剑术]时, 自动发动终结攻击
" - temp += "连续斩击攻击力 +19%
" - temp += "冷却时间 -5%
" - temp += "
-护石附加效果:
" - temp += "多段攻击次数固定为最大值
" - temp += "终结攻击力 +17%
" - temp += "连续斩击攻击范围 +30%" - elif x == 1: - temp = "斩恶者" - temp += "

" - temp += "[恶即斩]
" - temp += "终结攻击前使用[驭剑术]时, 自动发动终结攻击
" - temp += "连续斩击攻击力 +19%
" - temp += "冷却时间 -5%
" - temp += "
-护石附加效果:
" - temp += "多段攻击次数固定为最大值
" - temp += "终结攻击力 +38%
" - temp += "连续斩击攻击范围 +30%" - return temp - - -class 技能17(极诣·驭剑士主动技能): - 名称 = '极·驭剑术(时空斩)' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - CD = 145.0 - data1 = [int(x*1.154) for x in [0, 9714, 11968, 14220, 16472, 18726, 20978, 23231, 25484, 27736, 29990, 32242, 34495, 36748, 39000, 41253, 43506, 45758, 48011, 50264, 52517, 54770, 57022, 59275, 61528, 63781, 66033, 68286, 70539, 72791, 75045, 77297, 79550, 81803, 84055, 86309, 88561, 90813, 93067, 95319, 97571, 99825, 102077, 104330, 106583, 108835, 111089, 113341, 115594, 117847, 120099, 122352, 124605, 126858, 129110, 131363, 133616, 135869, 138121, 140374, 142627, 144880, 147132, 149385, 151638, 153890, 156144, 158396, 160649, 162902, 165154]] - data2 = [int(x*1.154) for x in [0, 19430, 23935, 28441, 32946, 37451, 41957, 46463, 50968, 55473, 59979, 64485, 68990, 73495, 78001, 82507, 87012, 91517, 96023, 100529, 105034, 109540, 114045, 118550, 123056, 127562, 132068, 136572, 141078, 145584, 150090, 154594, 159100, 163606, 168111, 172617, 177122, 181628, 186133, 190639, 195144, 199650, 204155, 208661, 213167, 217671, 222177, 226683, 231189, 235693, 240199, 244705, 249210, 253716, 258221, 262727, 267232, 271738, 276243, 280749, 285254, 289760, 294266, 298770, 303276, 307782, 312288, 316793, 321298, 325804, 330310]] - data0 = [data1, data2] - 次数 = [3, 1] - - -class 技能18(被动技能): - 名称 = '斩魂术' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(0.995 + 0.03 + 0.02 * self.等级, 5) - - -class 技能19(极诣·驭剑士主动技能): - 名称 = '裂刃天冲' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.154) for x in [0, 2909, 3204, 3499, 3794, 4090, 4385, 4680, 4975, 5270, 5566, 5861, 6156, 6450, 6746, 7041, 7336, 7631, 7927, 8222, 8517, 8812, 9108, 9403, 9698, 9992, 10288, 10583, 10878, 11173, 11469, 11764, 12059, 12354, 12650, 12945, 13240, 13534, 13830, 14125, 14420, 14715, 15010, 15306, 15601, 15896, 16191, 16487, 16782, 17076, 17371, 17667, 17962, 18257, 18552, 18848, 19143, 19438, 19733, 20029, 20324, 20619, 20913, 21209, 21504, 21799, 22094, 22390, 22685, 22980, 23275]] - data2 = [int(x*1.154) for x in [0, 454, 500, 547, 592, 639, 685, 730, 777, 823, 870, 915, 962, 1008, 1053, 1100, 1146, 1192, 1238, 1284, 1330, 1376, 1423, 1469, 1515, 1561, 1607, 1653, 1699, 1746, 1791, 1838, 1884, 1930, 1976, 2022, 2069, 2114, 2161, 2207, 2252, 2299, 2345, 2391, 2437, 2484, 2530, 2575, 2622, 2668, 2714, 2760, 2806, 2852, 2898, 2945, 2990, 3037, 3083, 3129, 3175, 3221, 3268, 3313, 3360, 3406, 3451, 3498, 3544, 3590, 3636]] - data3 = [int(x*1.154) for x in [0, 8000, 8812, 9624, 10435, 11248, 12059, 12870, 13682, 14494, 15306, 16117, 16930, 17741, 18552, 19364, 20176, 20988, 21799, 22610, 23423, 24234, 25046, 25858, 26670, 27481, 28292, 29105, 29916, 30728, 31539, 32351, 33163, 33974, 34787, 35598, 36410, 37221, 38033, 38845, 39656, 40469, 41280, 42091, 42903, 43715, 44527, 45338, 46150, 46962, 47773, 48585, 49397, 50209, 51020, 51831, 52644, 53455, 54267, 55078, 55890, 56702, 57513, 58326, 59137, 59949, 60760, 61572, 62384, 63195, 64007]] - data0 = [data1, data2, data3] - # 怪物高度低会变成[1,8,1] - 次数 = [1, 9, 1] - - # 穿云刃 - # 与魔法剑一起前冲并发动爆炸攻击 - #- 删除刺击和升空多段攻击 - # - 前冲爆炸攻击力为原爆炸攻击力的201% - # 按向前方向键时增加前冲范围 - # 前冲爆炸攻击范围 +30% - # 前冲爆炸攻击力 +27% - # 冷却时间 -5% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [0, 0, 2.01 + 0.11] - self.CD *= 0.95 - elif x == 1: - self.次数 = [0, 0, 2.01 + 0.27] - self.CD *= 0.95 - - def 护石描述(self, x): - if x == 0: - temp = "穿云刃" - temp += "

" - temp += "[裂刃天冲]
" - temp += "与魔法剑一起前冲并发动爆炸攻击
" - temp += "- 删除刺击和升空多段攻击
" - temp += "- 前冲爆炸攻击力为原爆炸攻击力的201%
" - temp += "
-护石附加效果:
" - temp += "按向前方向键时增加前冲范围
" - temp += "前冲爆炸攻击范围 +30%
" - temp += "前冲爆炸攻击力 +11%
" - temp += "冷却时间 -5%" - elif x == 1: - temp = "穿云刃" - temp += "

" - temp += "[裂刃天冲]
" - temp += "与魔法剑一起前冲并发动爆炸攻击
" - temp += "- 删除刺击和升空多段攻击
" - temp += "- 前冲爆炸攻击力为原爆炸攻击力的201%
" - temp += "
-护石附加效果:
" - temp += "按向前方向键时增加前冲范围
" - temp += "前冲爆炸攻击范围 +30%
" - temp += "前冲爆炸攻击力 +27%
" - temp += "冷却时间 -5%" - return temp - - -class 技能20(极诣·驭剑士主动技能): - 名称 = '幻剑阵' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(x*1.154) for x in [0, 3463, 3814, 4166, 4517, 4869, 5220, 5571, 5923, 6274, 6626, 6977, 7329, 7680, 8031, 8383, 8734, 9086, 9437, 9789, 10140, 10491, 10843, 11194, 11545, 11896, 12248, 12599, 12950, 13302, 13653, 14005, 14356, 14708, 15059, 15410, 15762, 16113, 16465, 16816, 17168, 17519, 17870, 18222, 18573, 18925, 19276, 19628, 19979, 20330, 20681, 21032, 21384, 21735, 22087, 22438, 22790, 23141, 23492, 23844, 24195, 24547, 24898, 25250, 25601, 25952, 26304, 26655, 27007, 27358, 27710]] - data2 = [int(x*1.154) for x in [0, 13854, 15260, 16666, 18071, 19476, 20882, 22288, 23693, 25099, 26505, 27910, 29315, 30721, 32127, 33532, 34938, 36344, 37749, 39154, 40560, 41966, 43371, 44777, 46182, 47588, 48993, 50399, 51805, 53210, 54615, 56021, 57427, 58832, 60238, 61644, 63050, 64454, 65860, 67266, 68671, 70077, 71483, 72888, 74293, 75699, 77105, 78510, 79916, 81321, 82727, 84132, 85538, 86944, 88350, 89755, 91160, 92566, 93971, 95377, 96783, 98189, 99593, 100999, 102405, 103810, 105216, 106622, 108027, 109432, 110838]] - data0 = [data1, data2] - 次数 = [4, 1] - - # 天衍剑 - # 在前方生成幻剑阵后落下强化魔剑并引发爆炸 - #- 删除幻剑移动攻击和强制控制效果 - # - 魔剑爆炸攻击力为终结攻击力的50%% - #- 魔剑爆炸造成4段攻击伤害 - # 魔剑爆炸攻击力 +12% - # 魔剑爆炸范围 +30% - # 魔剑爆炸攻击力 +14% - # 剑气移动速度 +30% - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [0, 0.50 * 4 * 1.18] - elif x == 1: - self.次数 = [0, 0.50 * 4 * 1.26] - - def 护石描述(self, x): - if x == 0: - temp = "天衍剑" - temp += "

" - temp += "[极 · 驭剑术 (幻剑阵)]
" - temp += "在前方生成幻剑阵后落下强化魔剑并引发爆炸
" - temp += "- 删除幻剑移动攻击和强制控制效果
" - temp += "- 魔剑爆炸攻击力为终结攻击力的50%
" - temp += "- 魔剑爆炸造成4段攻击伤害
" - temp += "魔剑爆炸攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "魔剑爆炸范围 +30%
" - temp += "魔剑爆炸攻击力 +6%
" - temp += "剑气移动速度 +30%" - elif x == 1: - temp = "天衍剑" - temp += "

" - temp += "[极 · 驭剑术 (幻剑阵)]
" - temp += "在前方生成幻剑阵后落下强化魔剑并引发爆炸
" - temp += "- 删除幻剑移动攻击和强制控制效果
" - temp += "- 魔剑爆炸攻击力为终结攻击力的50%
" - temp += "- 魔剑爆炸造成4段攻击伤害
" - temp += "魔剑爆炸攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "魔剑爆炸范围 +30%
" - temp += "魔剑爆炸攻击力 +14%
" - temp += "剑气移动速度 +30%" - return temp - - -class 技能21(极诣·驭剑士主动技能): - 名称 = '破剑阵' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - CD = 45.0 - data1 = [int(x*1.156) for x in [0, 1359, 1496, 1634, 1772, 1910, 2048, 2186, 2324, 2462, 2599, 2737, 2875, 3013, 3151, 3289, 3427, 3565, 3703, 3840, 3978, 4116, 4254, 4392, 4530, 4668, 4806, 4944, 5081, 5219, 5357, 5495, 5632, 5770, 5909, 6047, 6185, 6322, 6460, 6598, 6736, 6873, 7011, 7150, 7288, 7426, 7563, 7701, 7839, 7977, 8114, 8252, 8390, 8529, 8666, 8804, 8942, 9080, 9218, 9355, 9493, 9631, 9770, 9907, 10045, 10183, 10321, 10459, 10596, 10734, 10872]] - data2 = [int(x*1.156) for x in [0, 2718, 2993, 3270, 3545, 3821, 4096, 4372, 4648, 4924, 5199, 5475, 5751, 6027, 6303, 6578, 6854, 7130, 7406, 7681, 7957, 8232, 8509, 8785, 9060, 9336, 9611, 9888, 10163, 10439, 10714, 10990, 11266, 11542, 11818, 12093, 12370, 12645, 12921, 13196, 13472, 13748, 14024, 14299, 14575, 14851, 15127, 15403, 15678, 15954, 16230, 16506, 16781, 17057, 17332, 17609, 17885, 18160, 18436, 18711, 18988, 19263, 19539, 19814, 20090, 20366, 20642, 20918, 21193, 21470, 21745]] - data3 = [int(x*1.156) for x in [0, 19027, 20957, 22888, 24818, 26748, 28678, 30609, 32539, 34470, 36399, 38330, 40260, 42190, 44121, 46050, 47981, 49911, 51842, 53772, 55703, 57632, 59563, 61493, 63424, 65354, 67284, 69214, 71145, 73075, 75006, 76935, 78866, 80796, 82727, 84657, 86588, 88517, 90448, 92378, 94309, 96239, 98169, 100099, 102030, 103960, 105890, 107820, 109750, 111681, 113611, 115542, 117472, 119402, 121332, 123263, 125193, 127124, 129053, 130984, 132914, 134845, 136775, 138705, 140635, 142566, 144496, 146427, 148357, 150287, 152217]] - data4 = [int(x*1.156) for x in [0, 4878, 5373, 5869, 6364, 6858, 7353, 7849, 8344, 8838, 9333, 9829, 10323, 10818, 11313, 11809, 12303, 12798, 13293, 13788, 14283, 14778, 15273, 15768, 16263, 16758, 17252, 17748, 18243, 18738, 19232, 19728, 20223, 20718, 21212, 21708, 22203, 22697, 23192, 23688, 24183, 24677, 25172, 25668, 26162, 26657, 27152, 27648, 28142, 28637, 29132, 29628, 30122, 30617, 31112, 31607, 32102, 32597, 33092, 33587, 34082, 34577, 35071, 35567, 36062, 36557, 37051, 37547, 38042, 38536, 39031]] - data0 = [data1, data2, data3, data4] - 次数 = [7, 7, 1, 0] - 次数倍率 = [1, 1, 1, 1] - #强制中断时为 [0, 0, 0, 8] - - # 破剑阵 - # - 放置魔剑后, 立即拔出古代魔剑, 跳跃至空中后, 向地面使用下劈 - # - 终结爆炸攻击力 +250% - # - 驭剑术柔化时, 维持魔剑爆炸功能, 终结爆炸攻击力与柔化爆炸攻击力 +10% - # - 终结爆炸攻击力与柔化爆炸攻击力额外增加 24% - # - 终结爆炸与柔化爆炸范围 +10% - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.次数倍率 = [0, 0, 2.5 * 1.34, 1.34] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] * self.次数倍率[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能22(被动技能): - 名称 = '帝皇盟约' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.28 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能23(极诣·驭剑士主动技能): - 名称 = '飓风魔剑' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - CD = 25.0 - - # 魔剑奥义额外增伤 - 额外百分比 = 0 - 额外倍率 = 1 - 魔剑层数上限 = 5 - 魔剑增加量 = 0.03 - - data1 = [int(x*1.157) for x in [0, 406, 448, 489, 530, 570, 612, 653, 694, 736, 777, 818, 859, 901, 942, 983, 1025, 1066, 1107, 1148, 1190, 1230, 1271, 1313, 1354, 1395, 1436, 1478, 1519, 1560, 1602, 1643, 1684, 1726, 1767, 1808, 1849, 1890, 1931, 1972, 2014, 2055, 2096, 2137, 2179, 2220, 2261, 2303, 2344, 2385, 2426, 2468, 2509, 2550, 2591, 2632, 2673, 2714, 2756, 2797, 2838, 2880, 2921, 2962, 3004, 3045, 3086, 3127, 3169, 3210, 3250]] - data2 = [int(x*1.157) for x in [0, 7141, 7865, 8590, 9314, 10038, 10763, 11488, 12211, 12936, 13661, 14385, 15110, 15834, 16558, 17283, 18008, 18731, 19456, 20181, 20905, 21630, 22354, 23078, 23803, 24528, 25251, 25976, 26701, 27425, 28150, 28874, 29598, 30323, 31048, 31771, 32496, 33221, 33945, 34670, 35394, 36119, 36843, 37568, 38292, 39016, 39741, 40466, 41190, 41914, 42639, 43363, 44088, 44812, 45536, 46261, 46986, 47710, 48434, 49159, 49883, 50608, 51332, 52056, 52781, 53506, 54230, 54954, 55679, 56403, 57128]] - data0 = [data1, data2] - 次数 = [40, 1] - 次数倍率 = [1, 1] - # 飓风魔剑 - # - 向前方发射属性魔剑, 以命中的敌人为中心, 产生魔力的风暴, 造成伤害后爆炸 - # - 魔力风暴多段攻击力 +15% - #- 新增魔力风暴多段攻击聚怪功能 - #- 删除按住技能键的技能 - # - 魔力爆炸攻击力 +65% - # - [魔剑奥义]保存次数上限 -2次 - # - 每个魔剑阶段数额外增加量额外增加2% - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.次数倍率 = [1.15, 1.65] - # 魔剑奥义不吃护石加成 - # self.额外倍率 = 1.65 - self.魔剑层数上限 = 3 - self.魔剑增加量 = 0.05 - - def 等效百分比(self, 武器类型): - sum = self.额外百分比 * self.额外倍率 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] * self.次数倍率[i] - return sum * self.倍率 - - -class 技能24(极诣·驭剑士主动技能): - 名称 = '誓约之剑:雷沃汀' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data1 = [int(x*1.154) for x in [0, 96690, 119110, 141531, 163952, 186373, 208794, 231215, 253636, 276057, 298478, 320899, 343320, 365741, 388162, 410583, 433004, 455425, 477846, 500267, 522688, 545109, 567530, 589950, 612371, 634792, 657213, 679634, 702055, 724476, 746897, 769318, 791739, 814160, 836581, 859002, 881423, 903844, 926265, 948686, 971107, 993528, 1015949, 1038370, 1060790, 1083211, 1105632, 1128053, 1150474, 1172895, 1195316, 1217737, 1240158, 1262579, 1285000, 1307421, 1329842, 1352263, 1374684, 1397105, 1419526, 1441947, 1464368, 1486789, 1509210, 1531630, 1554051, 1576472, 1598893, 1621314, 1643735]] - data0 = [data1] - 次数 = [1] - - -class 技能25(被动技能): - 名称 = '剑心:魔剑觉醒' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能26(极诣·驭剑士主动技能): - 名称 = '极诣·驭剑术:聚魔剑' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60 - data1 = [int(x*1.159) for x in [0, 21626, 23820, 26014, 28208, 30402, 32596, 34790, 36984, 39178, 41373, 43567, 45761, 47955, 50149, 52343, 54537, 56731, 58925, 61119, 63313, 65507, 67701, 69895, 72089, 74283, 76477, 78671, 80865, 83059, 85253, 87447, 89641, 91835, 94029, 96223, 98417, 100611, 102805, 104999, 107193]] - data2 = [int(x*1.159) for x in [0, 6338, 6981, 7624, 8267, 8910, 9553, 10196, 10839, 11482, 12125, 12769, 13412, 14055, 14698, 15341, 15984, 16627, 17270, 17913, 18556, 19199, 19842, 20485, 21128, 21771, 22414, 23057, 23700, 24343, 24986, 25629, 26272, 26916, 27559, 28202, 28845, 29488, 30131, 30774, 31417]] - data3 = [int(x*1.159) for x in [0, 38031, 41889, 45748, 49606, 53464, 57322, 61181, 65039, 68897, 72755, 76614, 80472, 84330, 88189, 92047, 95905, 99763, 103622, 107480, 111338, 115196, 119055, 122913, 126771, 130629, 134488, 138346, 142204, 146063, 149921, 153779, 157637, 161496, 165354, 169212, 173070, 176929, 180787, 184645, 188503]] - data0 = [data1, data2, data3] - 次数 = [1, 4, 1] - - -class 技能27(极诣·驭剑士主动技能): - 名称 = '誓约之引:万剑之巅' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290.0 - data1 = [int(x*1.159) for x in [0, 15707, 19350, 22992, 26634, 30277, 33919, 37562, 41204, 44846, 48489, 52131, 55774, 59416, 63058, 66701, 70343, 73985, 77628, 81270, 84913, 88555, 92197, 95840, 99482, 103125, 106767, 110409, 114052, 117694, 121336, 124979, 128621, 132264, 135906, 139548, 143191, 146833, 150476, 154118]] - data2 = [int(x*1.159) for x in [0, 109954, 135451, 160947, 186444, 211941, 237437, 262934, 288431, 313928, 339424, 364921, 390418, 415914, 441411, 466908, 492404, 517901, 543398, 568895, 594391, 619888, 645385, 670881, 696378, 721875, 747371, 772868, 798365, 823861, 849358, 874855, 900352, 925848, 951345, 976842, 1002338, 1027835, 1053332, 1078828]] - data3 = [int(x*1.159) for x in [0, 9424, 11610, 13795, 15980, 18166, 20351, 22537, 24722, 26908, 29093, 31278, 33464, 35649, 37835, 40020, 42206, 44391, 46576, 48762 , 50947, 53133, 55318, 57504, 59689, 61875, 64060, 66245, 68431, 70616, 72802, 74987, 77173, 79358, 81543, 83729, 85914, 88100, 90285, 92471]] - data0 = [data1, data2, data3] - 次数 = [4, 1, 15] - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·驭剑士一觉序号 = 0 -极诣·驭剑士二觉序号 = 0 -极诣·驭剑士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·驭剑士一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·驭剑士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·驭剑士三觉序号 = 技能序号[i.名称] - -极诣·驭剑士护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·驭剑士护石选项.append(i.名称) - -极诣·驭剑士符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·驭剑士符文选项.append(i.名称) - - -class 极诣·驭剑士角色属性(角色属性): - - 实际名称 = '极诣·驭剑士' - 角色 = '鬼剑士(女)' - 职业 = '驭剑士' - - 武器选项 = ['巨剑', '短剑', '太刀', '钝器'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.71 - 武器类型 = '巨剑' - - 破剑阵开关 = 0 - 钻头蓄力开关 = 0 - 魔剑降临 = 0 - 魔剑堆叠层数 = 0 - 冰刀三绝斩倍率 = 1 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.技能栏[self.技能序号['雷鸣千军破']].是否装备护石 == 1: - if self.武器类型 == '钝器': - self.技能栏[self.技能序号['雷鸣千军破']].次数[3] = 1 - for i in ['血影之太刀精通', '魔性之短剑精通', '毁灭之巨剑精通', '波动之钝器精通']: - if self.武器类型 not in i: - self.技能栏[self.技能序号[i]].关联技能 = ['无'] - - super().被动倍率计算() - - if self.武器类型 == '巨剑': - temp = self.技能栏[self.技能序号['毁灭之巨剑精通']] - self.技能栏[self.技能序号['破军旋舞斩']].被动倍率 *= temp.额外倍率1() - 次数 = copy(self.技能栏[self.技能序号['恶即斩']].次数) - 次数[1] *= temp.额外倍率2() - self.技能栏[self.技能序号['恶即斩']].次数 = copy(次数) - elif self.武器类型 == '短剑': - temp = self.技能栏[self.技能序号['魔性之短剑精通']] - self.技能栏[self.技能序号['魔剑奥义']].被动倍率 *= (1 + 0.65 + 0.25) / 2 # 双魔剑平均值 - self.技能栏[self.技能序号['魔剑奥义']].短精CD = temp.魔剑奥义CD倍率() - # 1.3倍CD估算次数 - 次数输入 = copy(self.次数输入) - if '/CD' in 次数输入[self.技能序号['魔剑奥义']]: - 次数输入[self.技能序号['魔剑奥义']] = str(eval(次数输入[self.技能序号['魔剑奥义']].replace('/CD', str( - 2 * int(self.时间输入 / (self.技能栏[self.技能序号['魔剑奥义']].等效CD(self.武器类型, self.类型) * 1.3) + 1))))) - self.次数输入 = copy(次数输入) - elif self.武器类型 == '钝器': - temp = self.技能栏[self.技能序号['波动之钝器精通']] - self.技能栏[self.技能序号['幻剑术']].次数[1] = 6 * temp.额外倍率2() - self.技能栏[self.技能序号['穿云破空剑']].次数[2] = 1 * temp.额外倍率3() - self.技能栏[self.技能序号['雷鸣千军破']].被动倍率 *= temp.额外倍率1() - elif self.武器类型 == '太刀': - temp = self.技能栏[self.技能序号['血影之太刀精通']] - self.技能栏[self.技能序号['瞬影三绝斩']].攻击次数 *= 4 / 3 - self.技能栏[self.技能序号['帝国剑术']].被动倍率 *= 1.26 - self.技能栏[self.技能序号['魔剑降临']].被动倍率 *= temp.额外倍率1() - - # 降临选择 - self.技能栏[self.技能序号['魔剑降临']].次数 = [0, 0, 0, 0] - self.技能栏[self.技能序号['魔剑奥义']].次数 = [0, 0, 0, 0] - self.技能栏[self.技能序号['魔剑降临']].次数[self.魔剑降临] = 1 - self.技能栏[self.技能序号['魔剑奥义']].次数[self.魔剑降临] = 1 - - # 破剑阵瞬爆 - if self.破剑阵开关 == 1: - self.技能栏[self.技能序号['破剑阵']].次数 = [0, 0, 0, 8] - - # 飓风魔剑 - temp = self.技能栏[self.技能序号['飓风魔剑']] - if self.钻头蓄力开关 != 1: - temp.次数[0] = 30 * (1 + temp.魔剑增加量 * min(self.魔剑堆层数, temp.魔剑层数上限)) - temp.次数[1] = 1 * (1 + temp.魔剑增加量 * min(self.魔剑堆层数, temp.魔剑层数上限)) - else: - temp.次数[0] = 40 * (1 + temp.魔剑增加量 * min(self.魔剑堆层数, temp.魔剑层数上限)) - temp.次数[1] = 1 * (1 + temp.魔剑增加量 * min(self.魔剑堆层数, temp.魔剑层数上限)) - - temp.额外百分比 = min(self.魔剑堆层数, temp.魔剑层数上限) * \ - self.技能栏[self.技能序号['魔剑奥义']].等效百分比(self.武器类型) - if self.魔剑降临 == 3: - temp.额外百分比 += self.技能栏[self.技能序号['魔剑奥义'] - ].等效百分比(self.武器类型) * 10 * (0.09 + temp.等级/100) - - # 冰刀三绝斩 - if self.魔剑降临 == 1: - self.技能栏[self.技能序号['瞬影三绝斩']].被动倍率 *= self.冰刀三绝斩倍率 - - def 站街物理攻击力(self): - 站街物理攻击 = self.物理攻击力 - if self.技能栏[self.技能序号['帝皇盟约']].等级 != 0: - 站街物理攻击 *= self.技能栏[self.技能序号['帝皇盟约']].物理攻击力倍率(self.武器类型) - 站街物理攻击 = int(站街物理攻击) - for i in self.技能栏: - if i.名称 != '帝皇盟约': - try: - 站街物理攻击 *= i.物理攻击力倍率(self.武器类型) - except: - pass - return 站街物理攻击 - - def 面板物理攻击力(self): - 面板物理攻击 = self.物理攻击力 + self.进图物理攻击力 - if self.技能栏[self.技能序号['帝皇盟约']].等级 != 0: - 面板物理攻击 *= self.技能栏[self.技能序号['帝皇盟约']].物理攻击力倍率(self.武器类型) - 面板物理攻击 = int(面板物理攻击) - for i in self.技能栏: - if i.名称 != '帝皇盟约': - try: - 面板物理攻击 *= i.物理攻击力倍率(self.武器类型) - except: - pass - 面板物理攻击 *= (1 + self.百分比三攻) * (1 + self.年宠技能 * 0.10 + - self.斗神之吼秘药 * 0.12 + self.白兔子技能 * 0.20) - return 面板物理攻击 - - -class 极诣·驭剑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·驭剑士角色属性() - self.角色属性A = 极诣·驭剑士角色属性() - self.角色属性B = 极诣·驭剑士角色属性() - self.一觉序号 = 极诣·驭剑士一觉序号 - self.二觉序号 = 极诣·驭剑士二觉序号 - self.三觉序号 = 极诣·驭剑士三觉序号 - self.护石选项 = deepcopy(极诣·驭剑士护石选项) - self.符文选项 = deepcopy(极诣·驭剑士符文选项) - - def 护石判断(self): - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '飓风魔剑': - sign = 1 - if sign == 1: - self.钻头蓄力开关.setChecked(True) - self.钻头蓄力开关.setDisabled(True) - else: - self.钻头蓄力开关.setChecked(True) - self.钻头蓄力开关.setDisabled(False) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - self.魔剑降临选择 = MyQComboBox(self.main_frame2) - self.魔剑降临选择.addItem('魔剑降临:火') - self.魔剑降临选择.addItem('魔剑降临:冰') - self.魔剑降临选择.addItem('魔剑降临:光') - self.魔剑降临选择.addItem('魔剑降临:暗') - self.魔剑降临选择.setCurrentIndex(1) - self.魔剑降临选择.resize(120, 20) - self.魔剑降临选择.move(325, 420) - - self.魔剑堆层数选择 = MyQComboBox(self.main_frame2) - self.魔剑堆层数选择.addItem('魔剑堆:0层') - self.魔剑堆层数选择.addItem('魔剑堆:1层') - self.魔剑堆层数选择.addItem('魔剑堆:2层') - self.魔剑堆层数选择.addItem('魔剑堆:3层') - self.魔剑堆层数选择.addItem('魔剑堆:4层') - self.魔剑堆层数选择.addItem('魔剑堆:5层') - self.魔剑堆层数选择.setCurrentIndex(1) - self.魔剑堆层数选择.resize(120, 20) - self.魔剑堆层数选择.move(325, 450) - - self.破剑阵开关 = QCheckBox('破剑阵瞬爆', self.main_frame2) - self.破剑阵开关.resize(100, 20) - self.破剑阵开关.move(335, 490) - self.破剑阵开关.setStyleSheet(复选框样式) - self.破剑阵开关.setChecked(True) - - self.钻头蓄力开关 = QCheckBox('飓风魔剑蓄力', self.main_frame2) - self.钻头蓄力开关.resize(100, 20) - self.钻头蓄力开关.move(335, 520) - self.钻头蓄力开关.setStyleSheet(复选框样式) - self.钻头蓄力开关.setChecked(True) - - self.一觉CD = QCheckBox('时空斩CD-10%', self.main_frame2) - self.一觉CD.resize(100, 20) - self.一觉CD.move(335, 550) - self.一觉CD.setStyleSheet(复选框样式) - - self.冰刀三绝斩倍率 = MyQComboBox(self.main_frame2) - for i in range(61): - self.冰刀三绝斩倍率.addItem('冰三绝斩:'+str(i * 2)+'%') - self.冰刀三绝斩倍率.setCurrentIndex(7) - self.冰刀三绝斩倍率.resize(120, 20) - self.冰刀三绝斩倍率.move(325, 580) - self.冰刀三绝斩倍率.setToolTip('请根据自己实测选择') - - self.职业存档.append(('破剑阵开关', self.破剑阵开关, 0)) - self.职业存档.append(('钻头蓄力开关', self.钻头蓄力开关, 0)) - self.职业存档.append(('一觉CD', self.一觉CD, 0)) - self.职业存档.append(('魔剑降临选择', self.魔剑降临选择, 1)) - self.职业存档.append(('魔剑堆层数选择', self.魔剑堆层数选择, 1)) - self.职业存档.append(('冰刀三绝斩倍率', self.冰刀三绝斩倍率, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.破剑阵开关.isChecked(): - 属性.技能栏[属性.技能序号['破剑阵']].次数 = [0, 0, 0, 8] - - if self.钻头蓄力开关.isChecked(): - 属性.钻头蓄力开关 = 1 - - if self.一觉CD.isChecked(): - 属性.技能冷却缩减(1, 48, 0.10) - 属性.技能冷却缩减(55, 100, 0.10) - - 属性.魔剑堆层数 = self.魔剑堆层数选择.currentIndex() - 属性.魔剑降临 = self.魔剑降临选择.currentIndex() - 属性.冰刀三绝斩倍率 = self.冰刀三绝斩倍率.currentIndex() / 50 + 1 diff --git a/Characters/极诣·鬼泣.py b/Characters/极诣·鬼泣.py deleted file mode 100644 index 5e0bc9ca..00000000 --- a/Characters/极诣·鬼泣.py +++ /dev/null @@ -1,858 +0,0 @@ -from PublicReference.carry.base import * -from math import * - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '太刀': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '短剑': -# return round(self.CD / self.恢复 * 1.05, 1) - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['鬼影步'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(主动技能): - 名称 = '鬼斩' - 备注 = '(蓄力&噬灵鬼斩)' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 51 - CD = 6.0 - TP成长 = 0.08 - TP上限 = 5 - data1 = [0, 923, 1036, 1151, 1264, 1376, 1488, 1602, 1718, 1831, 1944, 2054, 2171, 2280, 2392, 2505, 2621, 2731, 2844, 2959, 3069, 3188, 3300, 3411, 3524, 3638, 3749, 3865, 3977, 4090, 4202, 4316, 4428, 4545, 4658, - 4769, 4881, 4994, 5109, 5220, 5334, 5445, 5558, 5673, 5785, 5898, 6013, 6125, 6238, 6353, 6465, 6578, 6691, 6806, 6915, 7032, 7143, 7256, 7372, 7484, 7596, 7710, 7823, 7934, 8049, 8160, 8271, 8384, 8500, 8612, 8727] - data2 = [0, 897, 1008, 1121, 1230, 1338, 1447, 1558, 1670, 1781, 1889, 1997, 2108, 2218, 2328, 2441, 2549, 2657, 2766, 2878, 2988, 3102, 3208, 3319, 3427, 3538, 3647, 3761, 3870, 3978, 4087, 4197, 4308, 4421, 4529, - 4638, 4746, 4858, 4968, 5079, 5190, 5298, 5406, 5518, 5629, 5737, 5849, 5957, 6065, 6179, 6288, 6396, 6507, 6620, 6727, 6838, 6949, 7057, 7169, 7281, 7388, 7498, 7608, 7716, 7829, 7939, 8046, 8156, 8270, 8376, 8490] - 额外倍率 = 0 # 噬灵鬼斩部分 - - def 等效百分比(self, 武器类型): - return self.倍率 * (self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) + self.data2[self.等级] * self.额外倍率) - - -class 技能2(被动技能): - 名称 = '刀魂之卡赞' - 是否主动 = 1 - 所在等级 = 5 - 等级上限 = 20 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.04 + 0.01 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '侵蚀之普戾蒙' - 是否主动 = 1 - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 2 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.01 * self.等级, 5) - - -class 技能4(被动技能): - 名称 = '太刀精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - data = [0, 13, 28, 41, 54, 68, 82, 96, 109, 123, 137, 150, 164, 177, 191, 205, 219, 233, 245, 259, 273, 287, 301, 314, 328, 341, 355, 369, 382, 396, 410, 424, 437, 450, 464, 478, - 492, 506, 520, 532, 546, 560, 574, 588, 601, 615, 628, 642, 656, 669, 683, 697, 711, 724, 737, 751, 765, 779, 793, 806, 819, 833, 847, 861, 874, 888, 902, 915, 929, 942, 956] - - def 加成倍率(self, 武器类型): - if 武器类型 == '太刀': - return self.data[self.等级] / 1000 + 1 - else: - self.关联技能 = ['无'] - return 1.0 - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能5(被动技能): - 名称 = '短剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - - data = [0, 12, 26, 39, 51, 64, 77, 90, 103, 116, 129, 141, 154, 167, 180, 193, 206, 219, 231, 244, 257, 270, 283, 296, 309, 321, 334, 347, 360, 373, 386, 399, 411, 424, 437, 450, - 463, 476, 489, 501, 514, 527, 540, 553, 566, 579, 591, 604, 617, 630, 643, 656, 669, 681, 694, 707, 720, 733, 746, 759, 771, 784, 797, 810, 823, 836, 849, 861, 874, 887, 900] - - def 加成倍率(self, 武器类型): - if 武器类型 == '短剑': - return self.data[self.等级] / 1000 + 1 - else: - self.关联技能 = ['无'] - return 1.0 - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能6(被动技能): - 名称 = '暗月降临' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['无'] - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '暗属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - if self.等级 <= 10: - return round(self.等级 * 3) - else: - return round(30 + (self.等级-10) * 5) - - -class 技能7(主动技能): - 名称 = '月光斩' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - CD = 4.0 - TP成长 = 0.08 - TP上限 = 5 - data1 = [0, 491, 539, 590, 640, 689, 739, 789, 838, 888, 939, 988, 1038, 1088, 1137, 1187, 1237, 1286, 1336, 1387, 1436, 1486, 1536, 1585, 1635, 1685, 1734, 1784, 1835, 1884, 1934, 1984, 2033, 2083, 2133, 2182, - 2233, 2283, 2332, 2382, 2431, 2481, 2531, 2580, 2630, 2681, 2730, 2780, 2830, 2879, 2929, 2979, 3028, 3078, 3129, 3178, 3228, 3278, 3327, 3377, 3427, 3476, 3526, 3577, 3626, 3676, 3726, 3775, 3825, 3875, 3924] - data2 = [0, 555, 612, 667, 724, 780, 837, 894, 950, 1007, 1062, 1119, 1175, 1231, 1288, 1344, 1401, 1456, 1513, 1569, 1625, 1681, 1738, 1795, 1851, 1908, 1965, 2020, 2077, 2133, 2190, 2245, 2302, 2359, 2414, 2471, - 2527, 2584, 2639, 2696, 2753, 2809, 2866, 2923, 2979, 3035, 3091, 3148, 3205, 3260, 3317, 3373, 3429, 3485, 3542, 3599, 3654, 3711, 3767, 3824, 3881, 3937, 3994, 4049, 4106, 4162, 4218, 4275, 4331, 4388, 4443] - data3 = [0, 780, 859, 939, 1017, 1097, 1175, 1254, 1334, 1414, 1492, 1572, 1651, 1729, 1809, 1887, 1967, 2047, 2126, 2204, 2284, 2363, 2442, 2521, 2601, 2681, 2758, 2838, 2917, 2996, 3076, 3154, 3234, 3313, 3391, - 3471, 3551, 3629, 3709, 3788, 3866, 3946, 4025, 4105, 4184, 4263, 4343, 4421, 4500, 4580, 4658, 4738, 4818, 4896, 4975, 5055, 5133, 5213, 5292, 5371, 5451, 5529, 5608, 5688, 5767, 5847, 5925, 6005, 6083, 6162, 6242] - 数据 = [data1, data2, data3] - 次数 = [1, 1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '鬼影步' - 备注 = '(一轮)' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 20 - 基础 = 361*1.085 - 成长 = 0 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 3 - - -class 技能9(被动技能): - 名称 = '噬灵鬼斩' - 所在等级 = 25 - 等级上限 = 5 - 基础等级 = 1 - 关联技能 = ['无'] - - def 加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(1.0 + 0.1 * self.等级, 5) - - -class 技能10(主动技能): - 名称 = '鬼影鞭' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 26 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085) for i in [0, 1211, 1405, 1598, 1792, 1985, 2178, 2371, 2565, 2758, 2951, 3145, 3337, 3531, 3724, 3918, 4111, 4304, 4497, 4690, 4884, 5077, 5271, 5463, 5657, 5850, 6044, 6237, 6429, 6623, 6816, 7010, 7203, 7396, 7589, 7783, 7976, 8169, 8363, 8555, 8749, 8942, 9136, 9329, 9522, 9715, 9908, 10102, 10295, 10489, 10681, 10875, 11068, 11262, 11455, 11647, 11841, 12034, 12228, 12421, 12615, 12807, 13001, 13194, 13387, 13581, 13773, 13967, 14160, 14354, 14547]] - data2 = [int(i*1.085) for i in [0, 2828, 3279, 3730, 4181, 4631, 5082, 5534, 5985, 6436, 6887, 7338, 7789, 8240, 8691, 9142, 9592, 10043, 10494, 10945, 11396, 11847, 12298, 12749, 13200, 13651, 14101, 14552, 15003, 15454, 15905, 16356, 16808, 17259, 17710, 18161, 18612, 19062, 19513, 19964, 20415, 20866, 21317, 21768, 22219, 22670, 23121, 23572, 24022, 24473, 24924, 25375, 25826, 26277, 26728, 27179, 27630, 28082, 28532, 28983, 29434, 29885, 30336, 30787, 31238, 31689, 32140, 32591, 33042, 33492, 33943]] - - 数据 = [data1, data2] - 次数 = [1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '冰霜之萨亚' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 39 - CD = 15.0 - TP上限 = 5 - 演出时间 = 5 - data0 = [int(i*1.085) for i in [0, 617, 679, 742, 805, 867, 930, 993, 1055, 1118, 1181, 1243, 1306, 1369, 1431, 1494, 1557, 1619, 1682, 1745, 1807, 1870, 1933, 1995, 2058, 2121, 2183, 2246, 2308, 2371, 2434, 2496, 2559, 2622, 2684, 2747, 2810, 2872, 2935, 2998, 3060, 3123, 3186, 3248, 3311, 3374, 3436, 3499, 3562, 3624, 3687, 3750, 3812, 3875, 3938, 3999, 4062, 4125, 4187, 4250, 4313, 4375, 4438, 4501, 4563, 4626, 4689, 4751, 4814, 4877, 4939]] - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]) * ceil(10 / (1 - 0.07 * self.TP等级)) * self.倍率 - - -class 技能12(主动技能): - 名称 = '死亡墓碑' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - CD = 18 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085) for i in [0, 901, 992, 1084, 1175, 1266, 1358, 1449, 1540, 1632, 1723, 1814, 1906, 1997, 2088, 2180, 2271, 2363, 2454, 2545, 2637, 2729, 2820, 2912, 3003, 3094, 3186, 3277, 3368, 3460, 3551, 3642, 3734, 3825, 3917, 4008, 4099, 4191, 4282, 4373, 4465, 4557, 4648, 4740, 4831, 4922, 5014, 5105, 5196, 5288, 5379, 5471, 5562, 5653, 5745, 5836, 5927, 6019, 6110, 6201, 6293, 6385, 6476, 6568, 6659, 6750, 6842, 6933, 7025, 7116, 7207]] - 数据 = [data1] - # 次数 = [18] - 次数 = [9] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(主动技能): - 名称 = '瘟疫之罗刹' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 37 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 5 - data1 = [int(i*1.085*1.051) for i in [0, 846, 932, 1019, 1105, 1190, 1276, 1362, 1448, 1534, 1620, 1705, 1791, 1877, 1964, 2050, 2135, 2221, 2307, 2393, 2479, 2565, 2650, 2736, 2822, 2909, 2995, 3081, 3166, 3252, 3338, 3424, 3510, 3596, 3681, 3767, 3854, 3940, 4026, 4111, 4197, 4283, 4369, 4455, 4541, 4626, 4712, 4799, 4885, 4971, 5057, 5142, 5228, 5314, 5400, 5486, 5571, 5657, 5744, 5830, 5916]] - - 数据 = [data1] - 次数 = [10] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.5 * 1.1 + 1.1 * 0.5 * 1.08 - elif x == 1: - self.倍率 *= 0.5 * 1.1 + 1.1 * 0.5 * 1.24 - - def 护石描述(self, x): - if x == 0: - temp = "无尽瘟疫" - temp += "

" - temp += "[瘟疫之罗刹]
" - temp += "施放时直接使罗刹分身附到敌人身上
" - temp += "- 不设置召唤领域
" - temp += "罗刹分身5秒内对附着的敌人造成持续伤害后爆炸
" - temp += "- 多段攻击次数 -5次
" - temp += "- 爆炸攻击力为腐蚀攻击力的500%
" - temp += "腐蚀攻击力 +10%
" - temp += "
-护石附加效果:
" - temp += "寻敌范围 +30%
" - temp += "爆炸攻击力 +8%" - elif x == 1: - temp = "无尽瘟疫" - temp += "

" - temp += "[瘟疫之罗刹]
" - temp += "施放时直接使罗刹分身附到敌人身上
" - temp += "- 不设置召唤领域
" - temp += "罗刹分身5秒内对附着的敌人造成持续伤害后爆炸
" - temp += "- 多段攻击次数 -5次
" - temp += "- 爆炸攻击力为腐蚀攻击力的500%
" - temp += "腐蚀攻击力 +10%
" - temp += "
-护石附加效果:
" - temp += "寻敌范围 +30%
" - temp += "爆炸攻击力 +24%" - return temp - - -class 技能14(主动技能): - 名称 = '鬼斩:狂怒' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.5 - data1 = [int(i*1.085*1.052) for i in [0, 9609, 10584, 11558, 12533, 13508, 14483, 15458, 16432, 17407, 18382, 19357, 20333, 21307, 22282, 23257, 24232, 25207, 26181, 27156, 28131, 29106, 30081, 31056, 32030, 33005, 33980, 34955, 35930, 36904, 37879, 38854, 39829, 40805, 41778, 42754, 43729, 44704, 45679, 46653, 47628, 48603, 49578, 50553, 51527, 52502, 53477, 54452, 55427, 56402, 57376, 58351, 59326, 60301, 61276, 62250, 63226, 64201, 65176, 66151, 67125, 68100, 69075, 70050, 71025, 71999, 72974, 73949, 74924, 75899, 76874]] - - 数据 = [data1] - 次数 = [1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - self.演出时间 = 1.2 - if x == 0: - self.倍率 *= 1.26 - elif x == 1: - self.倍率 *= 1.35 - - def 护石描述(self, x): - if x == 0: - temp = "灵魂呼啸" - temp += "

" - temp += "[鬼斩 : 狂怒]
" - temp += "地面攻击后发动上斩, 生成对前方造成持续伤害的灵魂旋风
" - temp += "- 灵魂旋风攻击力为[鬼斩 : 狂怒]攻击力的20%
" - temp += "
-护石附加效果:
" - temp += "灵魂旋风命中时将敌人聚到中心
" - temp += "灵魂旋风范围 +30%
" - temp += "灵魂旋风攻击力 +6%" - elif x == 1: - temp = "灵魂呼啸" - temp += "

" - temp += "[鬼斩 : 狂怒]
" - temp += "地面攻击后发动上斩, 生成对前方造成持续伤害的灵魂旋风
" - temp += "- 灵魂旋风攻击力为[鬼斩 : 狂怒]攻击力的20%
" - temp += "
-护石附加效果:
" - temp += "灵魂旋风命中时将敌人聚到中心
" - temp += "灵魂旋风范围 +30%
" - temp += "灵魂旋风攻击力 +15%" - return temp - - -class 技能15(主动技能): - 名称 = '鬼影闪' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085) for i in [0, 8041, 8857, 9673, 10488, 11304, 12120, 12936, 13752, 14568, 15384, 16199, 17015, 17831, 18647, 19463, 20279, 21095, 21910, 22726, 23542, 24358, 25173, 25989, 26804, 27620, 28436, 29252, 30068, 30884, 31700, 32515, 33331, 34147, 34963, 35779, 36595, 37410, 38226, 39042, 39858, 40674, 41490, 42306, 43121, 43937, 44753, 45569, 46385, 47201, 48017, 48832, 49648, 50463, 51279, 52095, 52911, 53726, 54542, 55358, 56174, 56990, 57806, 58622, 59437, 60253, 61069, 61885, 62701, 63517, 64332]] - - 数据 = [data1] - 次数 = [1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(主动技能): - 名称 = '冥炎之卡洛' - 备注 = '(一轮)' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 32 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085) for i in [0, 251, 277, 302, 328, 353, 378, 404, 429, 456, 481, 505, 531, 557, 582, 608, 633, 658, 684, 710, 735, 761, 785, 811, 837, 862, 887, 915, 940, 963, 991, 1015, 1042, 1067, 1092, 1117, 1143, 1170, 1194, 1220, 1244, 1271, 1296, 1323, 1348, 1373, 1399, 1424, 1450, 1475, 1502, 1526, 1552, 1577, 1604, 1630, 1655, 1680, 1704, 1729, 1757, 1782, 1807, 1832, 1859, 1884, 1910, 1935, 1960, 1986, 2011]] - - 数据 = [data1] - 次数 = [3] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能17(主动技能): - 名称 = '冥炎之卡洛(灼烧)' - 备注 = '(1秒3次)' - 所在等级 = 45 - 等级上限 = 1 - 基础等级 = 1 - CD = 1.0 - TP成长 = 0.10 - data1 = [int(i*1.085) for i in [0, 153, 170, 185, 201, 216, 232, 248, 263, 278, 294, 310, 326, 342, 357, 373, 387, 404, 421, 435, 452, 466, 482, 498, 513, 529, 545, 559, 575, 592, 606, 623, 638, 654, 670, 685, 700, 716, 732, 748, 763, 778, 795, 811, 826, 841, 858, 874, 887, 904, 920, 936, 950, 966, 983, 1000, 1012, 1028, 1044, 1061, 1076, 1092, 1108, 1121, 1137, 1154, 1170, 1185, 1201, 1216, 1233]] - 数据 = [data1] - 次数 = [3] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能18(主动技能): - 名称 = '冥炎剑' - 所在等级 = 45 - 等级上限 = 1 - 基础等级 = 1 - CD = 45.0 - TP成长 = 0.10 - data1 = [int(i*1.0858*1.053) for i in [0, 943, 1038, 1134, 1231, 1326, 1422, 1517, 1613, 1708, 1804, 1901, 1996, 2092, 2187, 2283, 2378, 2475, 2570, 2666, 2762, 2857, 2953, 3048, 3145, 3240, 3336, 3431, 3527, 3623, 3719, 3815, 3910, 4006, 4101, 4197, 4292, 4389, 4485, 4580, 4676, 4771, 4867, 4963, 5059, 5154, 5250, 5346, 5441, 5538, 5633, 5729, 5824, 5920, 6015, 6111, 6208, 6303, 6399, 6494, 6590, 6685, 6782, 6878, 6973, 7069, 7164, 7260, 7355, 7452, 7547]] - data2 = [int(i*1.085*1.053) for i in [0, 1381, 1520, 1661, 1801, 1941, 2081, 2222, 2361, 2502, 2642, 2783, 2922, 3063, 3203, 3342, 3483, 3623, 3763, 3903, 4044, 4183, 4324, 4464, 4604, 4744, 4884, 5024, 5164, 5305, 5444, 5585, 5725, 5865, 6005, 6146, 6285, 6425, 6566, 6705, 6846, 6986, 7126, 7266, 7407, 7546, 7687, 7827, 7967, 8107, 8247, 8387, 8527, 8668, 8807, 8948, 9088, 9228, 9368, 9509, 9648, 9788, 9929, 10068, 10209, 10349, 10490, 10629, 10770, 10910, 11050]] - data3 = [int(i*1.085*1.053) for i in [0, 2961, 3261, 3563, 3863, 4163, 4464, 4764, 5064, 5366, 5666, 5966, 6266, 6567, 6867, 7168, 7469, 7769, 8069, 8370, 8670, 8971, 9272, 9572, 9872, 10172, 10473, 10774, 11074, 11375, 11675, 11975, 12276, 12577, 12877, 13178, 13478, 13778, 14078, 14380, 14680, 14980, 15281, 15581, 15881, 16183, 16483, 16783, 17084, 17384, 17684, 17985, 18286, 18586, 18886, 19187, 19487, 19788, 20089, 20389, 20689, 20990, 21290, 21591, 21891, 22192, 22492, 22792, 23093, 23394, 23694]] - data4 = [int(i*1.085*1.053) for i in [0, 4810, 5298, 5786, 6274, 6762, 7250, 7737, 8226, 8714, 9202, 9690, 10178, 10666, 11154, 11642, 12130, 12618, 13106, 13594, 14082, 14570, 15058, 15546, 16035, 16522, 17010, 17498, 17987, 18474, 18962, 19450, 19938, 20427, 20914, 21402, 21890, 22379, 22866, 23354, 23842, 24331, 24818, 25306, 25794, 26283, 26771, 27258, 27746, 28235, 28723, 29210, 29698, 30186, 30675, 31163, 31650, 32138, 32627, 33115, 33602, 34090, 34579, 35067, 35554, 36042, 36531, 37019, 37507, 37994, 38483]] - - 数据 = [data1, data2, data3, data4] - 次数 = [2, 2, 2, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - elif x == 1: - self.倍率 *= 1.28 - - def 护石描述(self, x): - if x == 0: - temp = "速效冥炎" - temp += "

" - temp += "[冥炎剑]
" - temp += "施放时召唤冥炎剑立即斩击敌人
" - temp += "斩击攻击范围 +30%
" - temp += "斩击攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "按向前方向键时增加移动距离
" - temp += "斩击攻击力 +9%" - elif x == 1: - temp = "速效冥炎" - temp += "

" - temp += "[冥炎剑]
" - temp += "施放时召唤冥炎剑立即斩击敌人
" - temp += "斩击攻击范围 +30%
" - temp += "斩击攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "按向前方向键时增加移动距离
" - temp += "斩击攻击力 +17%" - return temp - - -class 技能19(被动技能): - 名称 = '恐惧光环' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - - -class 技能20(主动技能): - 名称 = '第七鬼神:邪神怖之拉修' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - CD = 140.0 - data1 = [int(i*1.085) for i in [0, 6684, 8234, 9784, 11334, 12885, 14434, 15984, 17534, 19085, 20635, 22184, 23734, 25284, 26835, 28385, 29934, 31484, 33035, 34585, 36135, 37685, 39234, 40785, 42335, 43885, 45435, 46985, 48535, 50085, 51635, 53186, 54735, 56285, 57835, 59385, 60936, 62486, 64035, 65585, 67136]] - data2 = [int(i*1.085) for i in [0, 9036, 11132, 13228, 15324, 17420, 19514, 21610, 23706, 25802, 27896, 29992, 32088, 34184, 36280, 38374, 40470, 42566, 44662, 46758, 48852, 50948, 53044, 55140, 57236, 59330, 61426, 63522, 65618, 67713, 69808, 71904, 74000, 76096, 78191, 80286, 82382, 84478, 86574, 88668, 90764]] - data3 = [int(i*1.085) for i in [0, 1800, 2217, 2634, 3051, 3469, 3886, 4304, 4721, 5139, 5556, 5973, 6390, 6808, 7225, 7643, 8060, 8478, 8895, 9312, 9729, 10147, 10564, 10982, 11399, 11817, 12234, 12651, 13069, 13486, 13904, 14321, 14739, 15156, 15574, 15990, 16408, 16825, 17243, 17660, 18078]] - - 数据 = [data1, data2, data3] - 次数 = [1.8, 1.8, 5] - 倍率 = 1.1 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能21(主动技能): - 名称 = '鬼斩:炼狱' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085*1.05) for i in [0, 1287, 1418, 1549, 1679, 1810, 1940, 2072, 2202, 2332, 2463, 2594, 2725, 2855, 2986, 3116, 3247, 3378, 3508, 3639, 3770, 3901, 4031, 4161, 4292, 4423, 4554, 4684, 4815, 4946, 5076, 5207, 5337, 5468, 5599, 5730, 5860, 5990, 6122, 6252, 6383, 6513, 6644, 6775, 6905, 7036, 7166, 7298, 7428, 7559, 7689, 7819, 7951, 8081, 8212, 8342, 8474, 8604, 8735, 8865, 8995, 9127, 9257, 9388, 9518, 9650, 9780, 9910, 10041, 10171, 10303]] - data2 = [int(i*1.085*1.05) for i in [0, 5007, 5516, 6024, 6532, 7040, 7548, 8057, 8565, 9072, 9580, 10088, 10597, 11105, 11613, 12121, 12629, 13138, 13645, 14153, 14661, 15169, 15678, 16186, 16694, 17202, 17710, 18219, 18726, 19234, 19742, 20250, 20759, 21267, 21775, 22283, 22791, 23298, 23807, 24315, 24823, 25331, 25839, 26348, 26856, 27364, 27871, 28379, 28888, 29396, 29904, 30412, 30920, 31429, 31937, 32444, 32952, 33460, 33969, 34477, 34985, 35493, 36001, 36510, 37018, 37525, 38033, 38541, 39050, 39558, 40066]] - data3 = [int(i*1.085*1.05) for i in [0, 4292, 4728, 5163, 5599, 6034, 6470, 6905, 7341, 7776, 8212, 8648, 9083, 9518, 9954, 10390, 10824, 11260, 11696, 12132, 12566, 13002, 13438, 13874, 14308, 14744, 15180, 15616, 16051, 16486, 16922, 17358, 17793, 18228, 18664, 19100, 19535, 19970, 20406, 20841, 21277, 21712, 22148, 22583, 23019, 23455, 23890, 24325, 24761, 25197, 25632, 26067, 26503, 26939, 27374, 27809, 28245, 28681, 29117, 29551, 29987, 30423, 30858, 31293, 31729, 32165, 32600, 33035, 33471, 33907, 34342]] - - 数据 = [data1, data2, data3] - 次数 = [1, 2, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [1, 2, 1.21 * (1 + 0.09 * 5)] - self.CD *= 0.9 - elif x == 1: - self.次数 = [1, 2, 1.43 * (1 + 0.09 * 5)] - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "刺骨炼狱" - temp += "

" - temp += "[鬼斩 : 炼狱]
" - temp += "冥界刀刃命中时, 对敌人附着持续造成伤害的冥炎
" - temp += "冥炎对敌人造成多段伤害后爆炸并消失
" - temp += "- 删除僵直功能
" - temp += "- 爆炸攻击力为原僵直解除时的爆炸攻击力
" - temp += "- 多段攻击力为爆炸攻击力的9%
" - temp += "
-护石附加效果:
" - temp += "冥炎爆炸攻击力 +21%
" - temp += "冷却时间 -10%" - elif x == 1: - temp = "刺骨炼狱" - temp += "

" - temp += "[鬼斩 : 炼狱]
" - temp += "冥界刀刃命中时, 对敌人附着持续造成伤害的冥炎
" - temp += "冥炎对敌人造成多段伤害后爆炸并消失
" - temp += "- 删除僵直功能
" - temp += "- 爆炸攻击力为原僵直解除时的爆炸攻击力
" - temp += "- 多段攻击力为爆炸攻击力的9%
" - temp += "
-护石附加效果:
" - temp += "冥炎爆炸攻击力 +43%
" - temp += "冷却时间 -10%" - return temp - - -class 技能22(主动技能): - 名称 = '冥祭之沼' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - data1 = [int(i*1.085*1.052) for i in [0, 16391, 18055, 19718, 21380, 23044, 24707, 26371, 28033, 29696, 31358, 33022, 34684, 36347, 38011, 39673, 41336, 43000, 44663, 46326, 47989, 49651, 51315, 52978, 54640, 56304, 57966, 59629, 61293, 62956, 64618, 66282, 67945, 69607, 71271, 72933, 74596, - 76259, 77922, 79586, 81249, 82912, 84575, 86238, 87900, 89564, 91226, 92889, 94551, 96215, 97878, 99542, 101205, 102867, 104531, 106193, 107856, 109519, 111182, 112846, 114508, 116171, 117835, 119498, 121160, 122824, 124486, 126149, 127813, 129475, 131138]] - 数据 = [data1] - 次数 = [1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - elif x == 1: - self.倍率 *= 1.28 - - def 护石描述(self, x): - if x == 0: - temp = "百鬼夜行" - temp += "

" - temp += "[冥祭之沼]
" - temp += "墓碑爆炸时对周围队友施加鬼神之力, 10秒内增加10%的攻击速度
" - temp += "爆炸攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "队友攻击速度 +5%
" - temp += "爆炸攻击力 +9%" - elif x == 1: - temp = "百鬼夜行" - temp += "

" - temp += "[冥祭之沼]
" - temp += "墓碑爆炸时对周围队友施加鬼神之力, 10秒内增加10%的攻击速度
" - temp += "爆炸攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "队友攻击速度 +5%
" - temp += "爆炸攻击力 +17%" - return temp - - -class 技能23(被动技能): - 名称 = '御鬼之极' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.20 + 0.02 * self.等级, 5) - - -class 技能24(主动技能): - 名称 = '幽魂之布雷德' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - CD = 40.0 - data1 = [int(i*1.085*1.051) for i in [0, 330, 364, 397, 431, 464, 499, 532, 566, 599, 632, 666, 699, 733, 767, 801, 834, 868, 901, 934, 968, 1001, 1036, 1069, 1103, 1136, 1170, 1203, 1237, 1270, 1303, 1338, 1371, 1405, 1438, 1472, 1505, 1539, 1572, 1606, 1640, 1673, 1707, 1740, 1774, 1807, 1841, 1875, 1909, 1942, 1975, 2009, 2042, 2076, 2109, 2143, 2177, 2211, 2244, 2277, 2311, 2344, 2378, 2411, 2446, 2479, 2513, 2546, 2580, 2613, 2646]] - data2 = [int(i*1.085*1.051) for i in [0, 3683, 4056, 4430, 4803, 5177, 5551, 5925, 6298, 6671, 7045, 7419, 7793, 8166, 8540, 8913, 9287, 9661, 10035, 10408, 10782, 11155, 11530, 11903, 12276, 12650, 13023, 13398, 13771, 14145, 14518, 14892, 15265, 15640, 16013, 16386, 16760, 17133, 17508, 17881, 18255, 18628, 19002, 19375, 19750, 20123, 20497, 20870, 21243, 21618, 21991, 22365, 22738, 23112, 23485, 23860, 24233, 24607, 24980, 25354, 25728, 26101, 26475, 26848, 27222, 27595, 27970, 28343, 28717, 29090, 29464]] - data3 = [int(i*1.085*1.051) for i in [0, 20717, 22818, 24920, 27022, 29123, 31225, 33327, 35429, 37531, 39633, 41734, 43836, 45938, 48039, 50141, 52243, 54344, 56446, 58549, 60650, 62752, 64854, 66955, 69057, 71159, 73260, 75362, 77464, 79565, 81668, 83770, 85871, 87973, 90074, 92176, 94278, 96379, 98481, 100583, 102684, 104787, 106889, 108990, 111092, 113194, 115295, 117397, 119499, 121600, 123702, 125805, 127906, 130008, 132110, 134211, 136313, 138415, 140516, 142618, 144720, 146821, 148924, 151026, 153127, 155229, 157331, 159432, 161534, 163635, 165737]] - 数据 = [data1, data2, data3] - 次数 = [8 * 4, 4, 1] - 解放 = 1 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * \ - self.次数[i] * (self.解放 if i == 0 else 1) - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.次数 = [6 * 4, 4 * 1.61, 1.41] - - -class 技能25(主动技能): - 名称 = '幽魂降临:式' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - CD = 45.0 - data1 = [int(i*1.085*1.05) for i in [0, 18254, 20105, 21958, 23810, 25661, 27513, 29365, 31218, 33069, 34921, 36773, 38624, 40476, 42329, 44181, 46032, 47884, 49736, 51588, 53440, 55292, 57144, 58995, 60848, 62700, 64551, 66403, 68255, 70107, 71959, 73811, 75663, 77514, 79366, 81219, 83071, 84922, 86774, 88626, 90477]] - data2 = [int(i*1.085*1.05) for i in [0, 27381, 30159, 32936, 35715, 38492, 41270, 44049, 46826, 49604, 52381, 55160, 57937, 60715, 63494, 66271, 69049, 71826, 74605, 77382, 80160, 82938, 85716, 88494, 91271, 94050, 96827, 99605, 102382, 105161, 107939, 110716, 113495, 116272, 119050, 121827, 124606, 127384, 130161, 132939, 135717]] - 数据 = [data1, data2] - 次数 = [1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - - -class 技能26(主动技能): - 名称 = '王者号令:吉格降临' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180.0 - data1 = [int(i*1.085*1.051) for i in [0, 16629, 20484, 24340, 28197, 32052, 35909, 39765, 43620, 47477, 51332, 55188, 59045, 62900, 66757, 70613, 74468, 78325, 82180, 86036, 89893, 93748, 97605, 101460, 105316, 109173, 113028, 116885, 120741, 124596, 128453, 132308, 136164, 140021, 143876, 147733, 151589, 155444, 159301, 163156, 167012, 170869, 174724, 178581, 182436, 186292, 190149, 194004, 197860, 201717, 205572, 209429, 213284, 217140, 220997, 224852, 228708, 232565, 236420, 240277, 244132, 247988, 251845, 255700, 259557, 263412, 267268, 271125, 274980, 278836, 282693]] - data2 = [int(i*1.085*1.051) for i in [0, 831, 1024, 1217, 1409, 1602, 1794, 1988, 2181, 2373, 2566, 2759, 2952, 3145, 3337, 3530, 3723, 3915, 4109, 4301, 4494, 4687, 4879, 5073, 5266, 5458, 5651, 5843, 6036, 6230, 6422, 6615, 6808, 7000, 7194, 7386, 7579, 7772, 7964, 8157, 8350, 8543, 8736, 8928, 9121, 9315, 9507, 9700, 9892, 10085, 10278, 10471, 10664, 10857, 11049, 11242, 11435, 11628, 11821, 12013, 12206, 12398, 12592, 12785, 12977, 13170, 13363, 13556, 13749, 13941, 14134]] - data3 = [int(i*1.085*1.051) for i in [0, 20786, 25605, 30426, 35245, 40066, 44885, 49706, 54525, 59346, 64166, 68986, 73806, 78626, 83446, 88266, 93086, 97906, 102726, 107545, 112366, 117185, 122006, 126825, 131646, 136465, 141286, 146105, 150926, 155745, 160566, 165386, 170206, 175026, 179846, 184666, 189486, 194306, 199125, 203946, 208765, 213586, 218405, 223226, 228045, 232866, 237685, 242506, 247325, 252146, 256965, 261786, 266606, 271426, 276246, 281066, 285886, 290705, 295526, 300345, 305166, 309985, 314806, 319625, 324446, 329265, 334086, 338905, 343726, 348545, 353366]] - data4 = [int(i*1.085*1.051) for i in [0, 33258, 40970, 48681, 56393, 64106, 71818, 79529, 87241, 94954, 102666, 110377, 118089, 125802, 133514, 141225, 148937, 156650, 164362, 172073, 179785, 187497, 195210, 202921, 210633, 218345, 226058, 233770, 241481, 249193, 256906, 264618, 272329, 280041, 287754, 295466, 303177, 310889, 318602, 326314, 334025, 341737, 349449, 357162, 364873, 372585, 380297, 388010, 395721, 403433, 411145, 418858, 426569, 434281, 441993, 449706, 457417, 465129, 472841, 480554, 488266, 495977, 503689, 511401, 519114, 526825, 534537, 542249, 549962, 557673, 565385]] - - 数据 = [data1, data2, data3, data4] - 次数 = [1, 15, 1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能27(被动技能): - 名称 = '鬼神冠冕' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能28(主动技能): - 名称 = '鬼神剑·黄泉摆渡' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - data1 = [int(i*1.085) for i in [0, 19558, 21542, 23526, 25511, 27495, 29479, 31463, 33448, 35431, 37416, 39400, 41385, 43368, 45353, 47337, 49322, 51305, 53290, 55274, 57258, 59242, 61227, 63211, 65195, 67179, 69164, 71147, 73131, 75116, 77100, 79084, 81068, 83053, 85036, 87021, 89005, 90990, 92973, 94958, 96942]] - data2 = [int(i*1.085) for i in [0, 9779, 10771, 11763, 12755, 13748, 14739, 15731, 16723, 17716, 18708, 19700, 20692, 21684, 22676, 23668, 24660, 25653, 26645, 27637, 28628, 29621, 30613, 31605, 32597, 33590, 34582, 35573, 36565, 37557, 38550, 39542, 40534, 41526, 42518, 43510, 44502, 45494, 46487, 47479, 48471]] - data3 = [int(i*1.085) for i in [0, 34227, 37699, 41172, 44644, 48116, 51589, 55061, 58533, 62006, 65478, 68950, 72423, 75895, 79367, 82840, 86312, 89784, 93257, 96729, 100202, 103674, 107146, 110619, 114091, 117563, 121036, 124508, 127980, 131453, 134925, 138397, 141870, 145342, 148814, 152288, 155760, 159233, 162705, 166177, 169650]] - data4 = [int(i*1.085) for i in [0, 2934, 3231, 3529, 3826, 4123, 4422, 4719, 5017, 5314, 5612, 5909, 6208, 6505, 6803, 7100, 7397, 7695, 7993, 8291, 8588, 8886, 9183, 9482, 9779, 10077, 10374, 10671, 10969, 11267, 11565, 11862, 12160, 12457, 12755, 13053, 13351, 13648, 13946, 14243, 14540]] - - 数据 = [data1, data2, data3, data4] - 次数 = [2, 1, 1, 5] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能29(主动技能): - 名称 = '黄泉之门:万鬼度灵' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290.0 - data1 = [int(i*1.085) for i in [0, 16612, 20463, 24316, 28168, 32020, 35872, 39725, 43576, 47429, 51281, 55132, 58985, 62837, 66689, 70541, 74394, 78245, 82097, 85950, 89801, 93654, 97506, 101358, 105210, 109062, 112914, 116766, 120619, 124470, 128323, 132175, 136026, 139879, 143731, 147583, 151435, 155288, 159139, 162992, 166844]] - data2 = [int(i*1.085) for i in [0, 99672, 122785, 145898, 169010, 192123, 215235, 238348, 261461, 284573, 307686, 330798, 353911, 377024, 400136, 423250, 446362, 469475, 492588, 515700, 538813, 561925, 585038, 608151, 631263, 654376, 677488, 700601, 723714, 746826, 769939, 793051, 816164, 839277, 862389, 885502, 908614, 931727, 954840, 977952, 1001065]] - data3 = [int(i*1.085) for i in [0, 4429, 5457, 6484, 7511, 8539, 9566, 10592, 11620, 12647, 13674, 14702, 15729, 16756, 17784, 18811, 19838, 20865, 21893, 22919, 23946, 24974, 26001, 27028, 28056, 29083, 30110, 31138, 32165, 33192, 34220, 35246, 36273, 37300, 38328, 39355, 40382, 41410, 42437, 43464, 44492]] - data4 = [int(i*1.085) for i in [0, 6229, 7673, 9118, 10563, 12007, 13452, 14896, 16341, 17785, 19230, 20675, 22119, 23563, 25008, 26453, 27897, 29341, 30786, 32231, 33676, 35119, 36564, 38009, 39454, 40898, 42342, 43787, 45232, 46676, 48120, 49565, 51010, 52454, 53899, 55343, 56788, 58232, 59677, 61122, 62566]] - - 数据 = [data1, data2, data3, data4] - 次数 = [1, 2, 15, 8] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.数据[i][self.等级] * self.次数[i] - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -极诣·鬼泣一觉序号 = 0 -极诣·鬼泣二觉序号 = 0 -极诣·鬼泣三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 极诣·鬼泣一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 极诣·鬼泣二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 极诣·鬼泣三觉序号 = 技能序号[i.名称] - -极诣·鬼泣护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 极诣·鬼泣护石选项.append(i.名称) - -极诣·鬼泣符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 极诣·鬼泣符文选项.append(i.名称) - - -class 极诣·鬼泣角色属性(角色属性): - - 实际名称 = '极诣·鬼泣' - 角色 = '鬼剑士(男)' - 职业 = '鬼泣' - - 武器选项 = ['太刀', '短剑'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.69 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.暗属性强化 += self.技能栏[self.技能序号['暗月降临']].属强加成() - - self.技能栏[self.技能序号['冥炎之卡洛(灼烧)']].等级 = self.技能栏[self.技能序号['冥炎之卡洛']].等级 - self.技能栏[self.技能序号['冥炎之卡洛(灼烧)'] - ].TP等级 = self.技能栏[self.技能序号['冥炎之卡洛']].TP等级 - self.技能栏[self.技能序号['冥炎剑']].等级 = self.技能栏[self.技能序号['冥炎之卡洛']].等级 - self.技能栏[self.技能序号['冥炎剑']].TP等级 = self.技能栏[self.技能序号['冥炎之卡洛']].TP等级 - - self.技能栏[self.技能序号['鬼斩']].额外倍率 = self.技能栏[self.技能序号['噬灵鬼斩']].加成倍率() - - -class 极诣·鬼泣(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 极诣·鬼泣角色属性() - self.角色属性A = 极诣·鬼泣角色属性() - self.角色属性B = 极诣·鬼泣角色属性() - self.一觉序号 = 极诣·鬼泣一觉序号 - self.二觉序号 = 极诣·鬼泣二觉序号 - self.三觉序号 = 极诣·鬼泣三觉序号 - self.护石选项 = deepcopy(极诣·鬼泣护石选项) - self.符文选项 = deepcopy(极诣·鬼泣符文选项) - - def 界面(self): - super().界面() - self.布雷德开关 = QCheckBox('刀阵:直接解放', self.main_frame2) - self.布雷德开关.setChecked(False) - self.布雷德开关.resize(120, 20) - self.布雷德开关.move(325, 450) - self.布雷德开关.setStyleSheet(复选框样式) - self.职业存档.append(('布雷德开关', self.布雷德开关, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.布雷德开关.isChecked(): - 属性.技能栏[属性.技能序号['幽魂之布雷德']].解放 = 0 diff --git a/Characters/极诣·黑暗武士.py b/Characters/极诣·黑暗武士.py deleted file mode 100644 index 501953fa..00000000 --- a/Characters/极诣·黑暗武士.py +++ /dev/null @@ -1,1546 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - 攻击次数 = 1 - 攻击次数2 = 0 - 攻击次数3 = 0 - 攻击次数4 = 0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 类型 = '物理' - 武器惩罚类型 = '物理百分比' - 计算CD = 0 - - def 等效CD(self, 武器类型, 输出类型, 恢复速度=1): - if self.计算CD != 0: - return round(self.计算CD, 1) - return round(self.CD / (1 if 恢复速度 == 0 else self.恢复) * 武器冷却惩罚(武器类型, self.武器惩罚类型, self.版本), 1) - - -class 技能0(职业主动技能): - 名称 = '挑击' - 类型 = '物理' - 所在等级 = 1 - 等级上限 = 20 - 基础等级 = 10 - # 基础 = 88.9 - # 成长 = 11.1 - CD = 2.0 - TP成长 = 0.08 - TP上限 = 5 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 105, 117, 128, 140, 151, 163, 175, 187, 198, 210, 222, 233, 245, 256, 268, 279, 292, 303, 315, 327, 338, 350, 361, 373, 384, 396, 408, 420, 432, 443, 455, 466, - 478, 489, 501, 512, 525, 537, 548, 560, 571, 583, 594, 606, 617, 629, 642, 653, 665, 676, 688, 699, 711, 722, 734, 746, 758, 770, 781, 793, 804, 816, 827, 839, 851, 862, 875, 886, 898, 909]] - - -class 技能1(职业主动技能): - 名称 = '暗影斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 577.673 - # 成长 = 65.327 - CD = 3.1 - TP成长 = 0.1 - TP上限 = 5 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 675, 744, 812, 881, 948, 1019, 1088, 1155, 1223, 1293, 1360, 1430, 1498, 1566, 1635, 1704, 1771, 1841, 1910, 1977, 2046, 2116, 2183, 2251, 2321, 2391, 2458, 2526, 2595, 2665, 2733, 2800, 2870, - 2937, 3008, 3075, 3144, 3212, 3280, 3351, 3420, 3487, 3554, 3625, 3692, 3761, 3829, 3899, 3968, 4036, 4104, 4172, 4240, 4309, 4380, 4447, 4514, 4585, 4654, 4720, 4790, 4856, 4927, 4995, 5063, 5131, 5200, 5270, 5340, 5406]] - - -class 技能2(职业主动技能): - 名称 = '黑暗十字斩' - 类型 = '物理' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 125.776 - # 成长 = 14.224 - # 攻击次数 = 2 - # 基础2 = 552.490 - # 成长2 = 52.531 - # 攻击次数3 = 1 - # 斩击物理攻击力:% - data0 = [int(x*1.05) for x in [0, 147, 162, 176, 191, 207, 222, 236, 251, 266, 281, 296, 311, 326, 341, 356, 371, 385, 400, 416, 431, 445, 460, 476, 490, 505, 520, 536, 550, 565, 580, 594, 610, 625, - 639, 654, 670, 685, 699, 714, 729, 744, 759, 774, 789, 804, 819, 834, 848, 863, 879, 894, 908, 923, 939, 953, 968, 983, 998, 1013, 1028, 1043, 1057, 1073, 1088, 1103, 1117, 1132, 1148, 1162, 1177]] - 攻击次数 = 2 - # 黑暗十字物理攻击力:% - data1 = [int(x*1.05) for x in [0, 646, 712, 777, 843, 909, 974, 1041, 1106, 1172, 1237, 1303, 1368, 1433, 1498, 1565, 1630, 1696, 1761, 1827, 1892, 1958, 2023, 2090, 2155, 2221, 2287, 2352, 2418, 2483, 2549, 2615, 2681, 2746, - 2812, 2877, 2943, 3008, 3074, 3140, 3206, 3271, 3337, 3402, 3468, 3534, 3599, 3666, 3731, 3797, 3862, 3928, 3993, 4059, 4124, 4191, 4256, 4322, 4387, 4453, 4518, 4583, 4648, 4715, 4781, 4846, 4912, 4977, 5043, 5108, 5174]] - 攻击次数2 = 1 - CD = 3.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能3(职业主动技能): - 名称 = '暗影·波动剑' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 628.98 - # 成长 = 71.020 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 735, 809, 884, 958, 1033, 1107, 1182, 1256, 1331, 1405, 1481, 1554, 1630, 1703, 1779, 1852, 1928, 2001, 2077, 2153, 2226, 2302, 2375, 2451, 2524, 2600, 2673, 2749, 2822, 2898, 2972, 3047, 3121, - 3196, 3270, 3345, 3419, 3494, 3568, 3644, 3717, 3793, 3868, 3942, 4017, 4091, 4166, 4240, 4316, 4389, 4465, 4538, 4614, 4687, 4763, 4836, 4912, 4985, 5061, 5135, 5210, 5284, 5359, 5433, 5508, 5582, 5657, 5733, 5807, 5882]] - CD = 3.1 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = '旋涡斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - 基础 = 622 - 成长 = 71 - 基础2 = 422 - 成长2 = 47.5 - 攻击次数3 = 3 - CD = 8 - TP成长 = 0 - TP上限 = 3 - - # 上斩魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 287, 316, 344, 374, 403, 432, 461, 490, 520, 548, 578, 607, 636, 665, 694, 723, 753, 781, 811, 840, 868, 898, 927, 957, 985, 1014, 1044, 1073, 1101, 1131, 1160, 1189, 1218, 1247, 1277, - 1305, 1335, 1364, 1393, 1422, 1451, 1481, 1509, 1538, 1568, 1597, 1625, 1655, 1684, 1714, 1742, 1771, 1801, 1830, 1859, 1888, 1917, 1946, 1975, 2004, 2034, 2062, 2092, 2121, 2150, 2179, 2208, 2238, 2266, 2295]] - 攻击次数 = 1 - # 下斩魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 441, 486, 530, 575, 621, 665, 710, 755, 799, 844, 889, 933, 979, 1024, 1068, 1113, 1158, 1202, 1247, 1293, 1337, 1382, 1427, 1471, 1516, 1561, 1605, 1651, 1696, 1740, 1785, 1830, 1874, 1919, - 1964, 2009, 2054, 2098, 2143, 2188, 2232, 2277, 2323, 2367, 2412, 2457, 2501, 2546, 2591, 2636, 2681, 2726, 2770, 2815, 2860, 2904, 2949, 2995, 3039, 3084, 3129, 3173, 3218, 3263, 3308, 3353, 3398, 3442, 3487, 3532]] - 攻击次数2 = 3 - # 暗黑波动魔法攻击力:% - data2 = [int(x*1.05) for x in [0, 492, 542, 592, 642, 693, 742, 792, 842, 891, 943, 992, 1043, 1092, 1142, 1193, 1242, 1293, 1342, 1392, 1443, 1492, 1542, 1593, 1643, 1693, 1742, 1792, 1843, 1893, 1943, 1992, 2043, 2093, - 2143, 2192, 2243, 2293, 2343, 2393, 2442, 2493, 2543, 2592, 2643, 2692, 2744, 2793, 2843, 2893, 2942, 2994, 3043, 3093, 3143, 3193, 3243, 3293, 3343, 3393, 3444, 3493, 3543, 3593, 3644, 3694, 3743, 3793, 3843, 3893, 3944]] - - # TP影响第二段攻击次数 - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * (self.攻击次数2+self.TP等级) - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * self.倍率 - - # def 等效百分比(self, 武器类型): - # if self.等级 == 0: - # return 0 - # else: - # return int((self.攻击次数 * (self.基础 + self.成长 * self.等级) + (self.攻击次数3+self.TP等级) * (self.基础2 + self.成长2 * self.等级))* self.倍率) - - -class 技能5(职业主动技能): - 名称 = '滑斩' - 类型 = '物理' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 749.347 - # 成长 = 84.653 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 876, 964, 1052, 1142, 1231, 1319, 1409, 1497, 1586, 1676, 1764, 1852, 1943, 2031, 2119, 2209, 2297, 2386, 2476, 2564, 2652, 2743, 2831, 2919, 3009, 3098, 3186, 3276, 3364, 3452, 3543, 3631, 3719, - 3809, 3898, 3986, 4076, 4164, 4253, 4343, 4431, 4519, 4610, 4698, 4786, 4876, 4964, 5053, 5143, 5231, 5319, 5410, 5498, 5588, 5676, 5765, 5855, 5943, 6031, 6122, 6210, 6298, 6388, 6476, 6565, 6655, 6743, 6831, 6922, 7010]] - CD = 3.0 - - -class 技能6(职业主动技能): - 名称 = '跃斩' - 类型 = '物理' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 654, 720, 788, 854, 920, 986, 1052, 1118, 1184, 1251, 1319, 1386, 1452, 1518, 1584, 1651, 1717, 1785, 1851, 1917, 1983, 2050, 2116, 2182, 2248, 2315, 2381, 2448, 2516, 2582, 2648, 2714, 2781, - 2848, 2914, 2980, 3046, 3112, 3178, 3245, 3311, 3379, 3445, 3511, 3577, 3644, 3711, 3779, 3845, 3911, 3977, 4044, 4110, 4176, 4242, 4308, 4375, 4442, 4508, 4574, 4640, 4706, 4772, 4842, 4908, 4974, 5040, 5106, 5172, 5238]] - # 装备钝器时, 冲击波物理攻击力:% - data1 = [int(x*1.05) for x in [0, 520, 575, 630, 686, 740, 796, 851, 906, 961, 1016, 1071, 1127, 1181, 1237, 1292, 1348, 1402, 1457, 1514, 1568, 1622, 1679, 1733, 1788, 1845, 1898, 1953, 2010, 2065, 2119, 2176, 2230, 2284, - 2340, 2396, 2450, 2506, 2561, 2618, 2671, 2727, 2784, 2837, 2892, 2948, 3002, 3058, 3114, 3168, 3222, 3278, 3333, 3388, 3443, 3499, 3555, 3610, 3666, 3720, 3776, 3830, 3886, 3941, 3996, 4051, 4107, 4161, 4217, 4271, 4327]] - 攻击次数2 = 0 - CD = 3.0 - # 钝器冲击波 - - def 等效百分比(self, 武器类型): - if 武器类型 == '钝器': - self.攻击次数2 = 1 - return super().等效百分比(武器类型) - # if self.等级 == 0: - # return 0 - # else: - # if 武器类型 != '钝器': - # return self.基础 + self.成长 * self.等级 - # else: - # return (self.基础 + self.成长 * self.等级) + (442.269 + 52.531 * self.等级) - - -class 技能7(职业主动技能): - 名称 = '跃地斩' - 类型 = '物理' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - # 基础 = 320.429 - # 成长 = 34.571 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 373, 411, 448, 486, 524, 562, 600, 637, 675, 713, 751, 789, 826, 864, 903, 941, 979, 1016, 1054, 1092, 1130, 1168, 1205, 1243, 1281, 1319, 1357, 1394, 1432, 1470, 1508, 1546, 1583, 1621, - 1659, 1698, 1736, 1773, 1811, 1849, 1887, 1925, 1962, 2000, 2038, 2076, 2114, 2151, 2189, 2227, 2265, 2303, 2340, 2378, 2416, 2455, 2493, 2531, 2568, 2606, 2644, 2682, 2720, 2757, 2795, 2833, 2871, 2909, 2946, 2984]] - 攻击次数 = 4 - CD = 4.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '冥光斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - # 基础 = 435.787 - # 成长 = 49.213 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 509, 561, 612, 664, 716, 768, 819, 870, 922, 974, 1026, 1077, 1129, 1180, 1233, 1284, 1336, 1387, 1439, 1491, 1544, 1594, 1645, 1697, 1749, 1802, 1852, 1905, 1955, 2008, 2060, 2111, 2163, - 2213, 2267, 2318, 2369, 2421, 2472, 2525, 2577, 2628, 2680, 2732, 2784, 2835, 2886, 2938, 2990, 3042, 3093, 3145, 3196, 3249, 3300, 3352, 3403, 3455, 3507, 3558, 3610, 3661, 3713, 3765, 3817, 3868, 3920, 3971, 4024, 4075]] - 攻击次数 = 2 - CD = 10.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '瞬影斩' - 类型 = '物理' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 1299.2 - # 成长 = 146.8 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 1518, 1673, 1827, 1981, 2136, 2289, 2443, 2598, 2752, 2906, 3060, 3214, 3368, 3523, 3677, 3830, 3985, 4139, 4293, 4448, 4601, 4755, 4910, 5064, 5219, 5372, 5526, 5681, 5835, 5989, 6143, 6297, 6451, 6606, - 6760, 6913, 7068, 7222, 7376, 7531, 7684, 7838, 7993, 8147, 8301, 8455, 8609, 8763, 8918, 9072, 9225, 9380, 9534, 9688, 9843, 9996, 10150, 10305, 10459, 10613, 10767, 10921, 11075, 11230, 11383, 11537, 11692, 11846, 12000, 12154]] - 攻击次数 = 2 - TP成长 = 0.1 - TP上限 = 5 - CD = 5 - - -class 技能10(职业主动技能): - 名称 = '暗月斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - # 基础 = 395.347 - # 成长 = 44.653 - # 基础2 = 427.633 - # 成长2 = 48.367 - # 攻击次数3 = 1 - # 月形斩击魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 462, 508, 557, 605, 649, 695, 743, 792, 836, 884, 930, 979, 1023, 1071, 1117, 1163, 1214, 1258, 1306, 1352, 1401, 1447, 1493, 1539, 1586, 1634, 1682, 1730, - 1775, 1821, 1869, 1917, 1961, 2010, 2056, 2100, 2148, 2197, 2245, 2291, 2335, 2384, 2430, 2476, 2524, 2570, 2617, 2665, 2713, 2759, 2808, 2852, 2902, 2946, 2995, 3043, 3087, 3133, 3182]] - # 单手上斩魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 500, 550, 601, 653, 704, 754, 804, 857, 907, 958, 1010, 1058, 1109, 1159, 1210, 1264, 1313, 1363, 1415, 1466, 1516, 1565, 1617, 1667, 1720, 1772, 1821, 1871, - 1922, 1974, 2024, 2073, 2127, 2174, 2228, 2279, 2327, 2379, 2430, 2480, 2533, 2581, 2633, 2684, 2736, 2787, 2837, 2885, 2938, 2988, 3039, 3091, 3142, 3194, 3247, 3295, 3345, 3396, 3448]] - 攻击次数2 = 1 - CD = 4.2 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '暗影三击剑' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 32 - # 基础 = 1822.806 - # 成长 = 346.194 - # 刺击下段魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 569, 660, 751, 842, 933, 1024, 1115, 1205, 1297, 1387, 1478, 1569, 1660, 1750, 1842, 1933, 2023, 2115, 2205, 2296, 2387, 2478, 2568, 2660, 2751, 2841, 2933, 3023, 3114, 3205, 3296, 3386, 3478, - 3568, 3659, 3751, 3841, 3932, 4023, 4114, 4204, 4296, 4386, 4477, 4568, 4659, 4750, 4841, 4932, 5022, 5114, 5204, 5295, 5385, 5477, 5567, 5658, 5750, 5840, 5931, 6022, 6113, 6203, 6295, 6385, 6476, 6567, 6658, 6749, 6840]] - # 刺击上段魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 569, 660, 751, 842, 933, 1024, 1115, 1205, 1297, 1387, 1478, 1569, 1660, 1750, 1842, 1933, 2023, 2115, 2205, 2296, 2387, 2478, 2568, 2660, 2751, 2841, 2933, 3023, 3114, 3205, 3296, 3386, 3478, - 3568, 3659, 3751, 3841, 3932, 4023, 4114, 4204, 4296, 4386, 4477, 4568, 4659, 4750, 4841, 4932, 5022, 5114, 5204, 5295, 5385, 5477, 5567, 5658, 5750, 5840, 5931, 6022, 6113, 6203, 6295, 6385, 6476, 6567, 6658, 6749, 6840]] - 攻击次数2 = 1 - # 刺击中段魔法攻击力:% - data2 = [int(x*1.05) for x in [0, 1139, 1321, 1503, 1685, 1867, 2049, 2230, 2412, 2594, 2775, 2957, 3138, 3320, 3502, 3684, 3866, 4048, 4229, 4411, 4593, 4774, 4956, 5138, 5319, 5502, 5684, 5865, 6047, 6229, 6410, 6592, 6774, 6955, 7137, - 7319, 7501, 7683, 7865, 8046, 8228, 8409, 8591, 8773, 8954, 9136, 9318, 9500, 9682, 9864, 10045, 10227, 10409, 10590, 10772, 10954, 11135, 11317, 11500, 11681, 11863, 12045, 12226, 12408, 12590, 12771, 12953, 13134, 13317, 13499, 13680]] - 攻击次数3 = 1 - CD = 8.4 - - -class 技能12(职业主动技能): - 名称 = '暗劲爆发' - 类型 = '物理' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 353.044 - # 成长 = 39.956 - # 基础2 = 389.933 - # 成长2 = 44.067 - # 攻击次数3 = 8 - # 冲击波物理攻击力:% - data0 = [int(x*1.05) for x in [0, 413, 455, 497, 539, 581, 623, 665, 707, 749, 791, 833, 875, 917, 959, 1001, 1043, 1085, 1127, 1169, 1210, 1252, 1294, 1336, 1378, 1420, 1462, 1504, 1546, 1588, 1630, 1672, 1714, 1756, 1798, - 1840, 1882, 1924, 1966, 2008, 2050, 2092, 2133, 2175, 2217, 2259, 2301, 2343, 2385, 2427, 2469, 2511, 2553, 2595, 2637, 2679, 2721, 2763, 2805, 2847, 2889, 2931, 2973, 3015, 3056, 3098, 3140, 3182, 3224, 3266, 3308]] - # 爆炸物理攻击力:% - data1 = [int(x*1.05) for x in [0, 456, 502, 548, 594, 641, 687, 733, 779, 825, 872, 919, 965, 1011, 1057, 1104, 1150, 1196, 1242, 1288, 1335, 1381, 1427, 1473, 1519, 1566, 1613, 1659, 1705, 1751, 1798, 1844, 1890, 1936, - 1982, 2029, 2075, 2121, 2167, 2213, 2260, 2307, 2353, 2399, 2445, 2492, 2538, 2584, 2630, 2676, 2723, 2769, 2815, 2861, 2907, 2954, 3000, 3047, 3093, 3140, 3186, 3232, 3278, 3324, 3371, 3417, 3463, 3509, 3555, 3602, 3648]] - 攻击次数2 = 8 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能13(职业主动技能): - 名称 = '邪影·波动剑' - 类型 = '魔法' - 武器惩罚类型 = '魔法固伤' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [100]*60 - # 前进时的魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 830, 914, 998, 1083, 1167, 1251, 1335, 1419, 1504, 1588, 1672, 1756, 1840, 1925, 2009, 2093, 2177, 2261, 2346, 2430, 2514, 2598, 2682, 2767, 2851, 2935, 3019, 3103, 3188, 3272, 3356, 3440, 3524, - 3608, 3693, 3777, 3861, 3945, 4029, 4114, 4198, 4282, 4366, 4450, 4535, 4619, 4703, 4787, 4871, 4956, 5040, 5124, 5208, 5292, 5377, 5461, 5545, 5629, 5713, 5798, 5882, 5966, 6050, 6134, 6219, 6303, 6387, 6471, 6555, 6640]] - 攻击次数2 = 3 - # 爆炸魔法攻击力:% - data2 = [int(x*1.05) for x in [0, 166, 183, 200, 216, 233, 250, 268, 285, 301, 318, 335, 352, 369, 385, 402, 419, 436, 453, 470, 487, 504, 521, 538, 554, 571, 588, 605, 622, 638, 655, 673, 690, 707, 723, - 740, 757, 774, 791, 807, 824, 841, 859, 876, 893, 909, 926, 943, 960, 977, 993, 1010, 1027, 1044, 1062, 1078, 1095, 1112, 1129, 1146, 1162, 1179, 1196, 1213, 1230, 1246, 1264, 1281, 1298, 1315, 1331]] - 攻击次数3 = 4 - # 基础 = 100.0 - # 成长 = 0 - # 基础2 = 709.810 - # 成长2 = 80.190 - # 攻击次数3 = 3 - # 基础3 = 141.905 - # 成长3 = 16.095 - # 攻击次数4 = 4 - CD = 7.0 - - -class 技能14(职业主动技能): - 名称 = '暗魂之手' - 类型 = '物理' - 武器惩罚类型 = '物理百分比' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 基础 = 1975-201 - # 成长 = 201 - # 基础2 = 1341-136 - # 成长2 = 136 - # 攻击次数3 = 1 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 2074, 2285, 2495, 2706, 2916, 3127, 3337, 3548, 3758, 3968, 4179, 4389, 4600, 4810, 5021, 5231, 5442, 5652, 5862, 6073, 6283, 6494, 6704, 6915, 7125, 7336, 7546, 7757, 7967, 8177, 8388, 8598, 8810, 9020, - 9231, 9441, 9652, 9862, 10072, 10283, 10493, 10704, 10914, 11125, 11335, 11546, 11756, 11967, 12177, 12387, 12598, 12808, 13019, 13229, 13440, 13650, 13861, 14071, 14281, 14492, 14702, 14913, 15123, 15334, 15544, 15755, 15965, 16176]] - # 喷发时物理攻击力:% - data1 = [int(x*1.05) for x in [0, 1408, 1551, 1694, 1836, 1979, 2122, 2265, 2408, 2550, 2694, 2837, 2980, 3123, 3266, 3408, 3551, 3694, 3837, 3980, 4122, 4265, 4408, 4552, 4695, 4837, 4980, 5123, 5266, 5409, 5551, 5694, 5837, - 5980, 6123, 6265, 6409, 6552, 6695, 6838, 6980, 7123, 7266, 7409, 7552, 7694, 7837, 7980, 8123, 8267, 8409, 8552, 8695, 8838, 8981, 9123, 9266, 9409, 9552, 9695, 9837, 9980, 10124, 10267, 10410, 10553, 10695, 10838, 10981]] - 攻击次数2 = 1 - CD = 6.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能15(职业主动技能): - 名称 = '突刺' - 类型 = '物理' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - # 基础 = 160.745 * 3 - # 成长 = 18.255 * 3 - # 攻击次数 = 3 - # 普通物理攻击力:% - data0 = [int(x*1.05) for x in [0, 188, 208, 227, 246, 265, 285, 303, 322, 341, 361, 380, 399, 418, 438, 457, 476, 495, 515, 533, 552, 571, 591, 610, 629, 649, 668, 687, 706, 726, 744, 763, 782, 802, 821, 840, - 859, 879, 898, 917, 936, 956, 974, 993, 1012, 1032, 1051, 1070, 1089, 1109, 1128, 1147, 1166, 1185, 1204, 1223, 1242, 1262, 1281, 1300, 1319, 1339, 1358, 1377, 1395, 1415, 1434, 1453, 1472, 1492, 1511]] - 攻击次数 = 3 - CD = 3 - TP上限 = 3 - TP成长 = -0.1 - - # 太/光加成 - def 等效百分比(self, 武器类型): - if 武器类型 == '光剑' or '太刀': - self.攻击次数 = 5 - self.data0 = [int(x*0.7) for x in self.data0] - self.攻击次数 = self.攻击次数 + 2*self.TP等级 - return super().等效百分比(武器类型) - # 等效倍率 = 0.0 - # if len(self.data0) >= self.等级 and len(self.data0) > 0: - # 等效倍率 += self.data0[self.等级] * (self.攻击次数 + 2*self.TP等级) - # return 等效倍率 * self.倍率 * (1 + self.TP成长 * self.TP等级) - - -class 技能16(职业主动技能): - 名称 = '暗影鞭' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 29 - # 基础 = 635.357 - # 成长 = 120.643 - # 基础2 = 1483.5 - # 成长2 = 281.5 - # 攻击次数3 = 1 - # 第1击魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 794, 921, 1047, 1174, 1301, 1427, 1554, 1681, 1807, 1934, 2061, 2187, 2314, 2441, 2567, 2694, 2820, 2947, 3074, 3200, 3327, 3455, 3581, 3708, 3835, 3961, 4088, 4214, 4341, 4468, 4594, 4721, 4848, - 4974, 5101, 5228, 5354, 5481, 5607, 5734, 5861, 5987, 6114, 6241, 6367, 6494, 6621, 6747, 6874, 7000, 7127, 7254, 7380, 7508, 7635, 7761, 7888, 8015, 8141, 8268, 8394, 8521, 8648, 8774, 8901, 9028, 9154, 9281, 9408, 9534]] - # 第2击魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 1853, 2149, 2444, 2741, 3036, 3332, 3627, 3923, 4218, 4514, 4809, 5105, 5400, 5696, 5991, 6286, 6582, 6878, 7174, 7469, 7765, 8060, 8356, 8651, 8947, 9242, 9538, 9833, 10129, 10424, 10721, 11016, 11312, 11607, 11903, - 12198, 12494, 12789, 13085, 13380, 13676, 13971, 14267, 14562, 14859, 15154, 15450, 15745, 16041, 16336, 16632, 16927, 17223, 17518, 17813, 18109, 18404, 18701, 18996, 19292, 19587, 19883, 20178, 20474, 20769, 21065, 21360, 21656, 21951, 22247]] - 攻击次数2 = 1 - CD = 8.4 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能17(职业主动技能): - 名称 = '灭魂封魔斩' - 类型 = '物理' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 3785.525 * 1.24 - # 成长 = 427.275 * 1.24 - # 物理攻击力:% - # 把前方敌人吸附到自身的近身处, 并对其进行无属性斩击。 - # 吸附的敌人越多, 斩击时造成的伤害就越大。 - data0 = [int(x*1.05) for x in [0, 4424, 4873, 5321, 5771, 6219, 6668, 7117, 7565, 8015, 8463, 8912, 9361, 9810, 10259, 10708, 11156, 11606, 12054, 12503, 12952, 13401, 13850, 14298, 14747, 15196, 15645, 16093, 16543, 16991, 17441, 17889, 18338, 18787, 19236, - 19684, 20134, 20582, 21032, 21480, 21928, 22378, 22826, 23275, 23724, 24173, 24621, 25071, 25519, 25969, 26417, 26866, 27315, 27764, 28212, 28662, 29110, 29559, 30008, 30456, 30906, 31354, 31803, 32252, 32701, 33150, 33599, 34047, 34497, 34945, 35394]] - # 若吸附的是领主、 稀有、 精英、 深渊、 人形怪敌人, 则敌人受到的伤害会更大 - 倍率 = 1.24 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能18(职业主动技能): - 名称 = '冥魂珠' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 293.811 - # 成长 = 33.189 - # 攻击次数 = 13 - # 基础2 = 668.514 - # 成长2 = 75.486 - # 攻击次数3 = 1 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 343, 378, 413, 447, 482, 518, 552, 587, 622, 656, 692, 727, 761, 796, 831, 865, 901, 936, 970, 1005, 1040, 1075, 1110, 1145, 1179, 1214, 1250, 1284, 1319, 1353, 1388, 1423, 1458, 1493, - 1528, 1562, 1597, 1633, 1667, 1702, 1737, 1771, 1807, 1842, 1876, 1911, 1946, 1980, 2016, 2051, 2085, 2120, 2155, 2190, 2225, 2260, 2294, 2329, 2365, 2399, 2434, 2469, 2503, 2538, 2574, 2608, 2643, 2678, 2712, 2748]] - 攻击次数 = 13 - # 冥魂珠爆炸魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 781, 860, 940, 1019, 1098, 1177, 1257, 1336, 1415, 1494, 1574, 1653, 1733, 1811, 1891, 1970, 2050, 2128, 2208, 2287, 2367, 2445, 2525, 2604, 2684, 2763, 2842, 2921, 3001, 3080, 3159, 3238, 3318, - 3397, 3477, 3555, 3635, 3714, 3794, 3872, 3952, 4031, 4111, 4190, 4269, 4348, 4428, 4507, 4586, 4665, 4745, 4824, 4904, 4982, 5062, 5141, 5221, 5299, 5379, 5459, 5538, 5618, 5696, 5776, 5855, 5935, 6013, 6093, 6172, 6252]] - 攻击次数2 = 1 - CD = 10.5 - # Tp每级增加攻击次数4 - TP成长 = 0.1 - TP上限 = 3 - - def 等效百分比(self, 武器类型): - self.攻击次数 = self.攻击次数 + 3 * self.TP等级 - return super().等效百分比(武器类型) - # if self.等级 == 0: - # return 0 - # else: - # return int(((self.攻击次数 + 3*self.TP等级) * (self.基础 + self.成长 * self.等级) + self.攻击次数3 * (self.基础2 + self.成长2 * self.等级)) * self.倍率) - - -class 技能19(职业主动技能): - 名称 = '暗影升龙击' - 类型 = '物理' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 3480.027 - 成长 = 392.973 - # 冲撞物理攻击力:% - data0 = [int(x*1.05) for x in [0, 945, 1041, 1136, 1233, 1328, 1424, 1520, 1616, 1712, 1808, 1904, 1999, 2096, 2191, 2287, 2384, 2479, 2575, 2671, 2767, 2862, 2959, 3054, 3150, 3247, 3342, 3438, 3534, 3630, 3725, - 3822, 3918, 4013, 4110, 4205, 4301, 4397, 4493, 4589, 4685, 4781, 4876, 4973, 5068, 5164, 5261, 5356, 5452, 5548, 5644, 5739, 5836, 5931, 6027, 6124, 6219, 6315, 6411, 6507, 6602, 6699, 6795, 6890, 6987, 7082]] - 攻击次数 = 1 - # 上斩物理攻击力:% - data1 = [int(x*1.05) for x in [0, 1422, 1566, 1710, 1854, 1998, 2143, 2287, 2432, 2576, 2720, 2864, 3008, 3153, 3297, 3441, 3586, 3730, 3875, 4018, 4162, 4307, 4451, 4595, 4740, 4884, 5028, 5172, 5316, 5461, 5605, - 5750, 5894, 6038, 6182, 6326, 6471, 6615, 6759, 6904, 7048, 7193, 7336, 7480, 7625, 7769, 7914, 8058, 8202, 8346, 8490, 8635, 8779, 8923, 9068, 9212, 9357, 9500, 9644, 9789, 9933, 10077, 10222, 10366, 10511, 10654]] - 攻击次数2 = 1 - # 下捶物理攻击力:% ~ % - data2 = [int(x*1.05) for x in [0, 1019, 1121, 1224, 1328, 1431, 1535, 1638, 1742, 1845, 1948, 2052, 2155, 2259, 2361, 2465, 2568, 2671, 2775, 2878, 2982, 3085, 3188, 3292, 3395, 3499, 3602, 3705, 3808, 3911, 4015, - 4118, 4222, 4325, 4429, 4532, 4635, 4739, 4842, 4946, 5048, 5151, 5255, 5358, 5462, 5565, 5669, 5772, 5875, 5979, 6082, 6186, 6288, 6391, 6495, 6598, 6702, 6805, 6909, 7012, 7115, 7219, 7322, 7426, 7529, 7632]] - 攻击次数3 = 1 - # 下捶冲击波物理攻击力:% - data3 = [int(x*1.05) for x in [0, 681, 751, 819, 888, 958, 1027, 1096, 1166, 1235, 1303, 1372, 1442, 1511, 1580, 1650, 1719, 1788, 1856, 1926, 1995, 2064, 2134, 2203, 2272, 2340, 2410, 2479, 2548, 2618, 2687, - 2756, 2825, 2894, 2963, 3032, 3102, 3171, 3240, 3310, 3378, 3447, 3516, 3586, 3655, 3724, 3794, 3862, 3931, 4001, 4070, 4139, 4208, 4278, 4346, 4415, 4485, 4554, 4623, 4692, 4762, 4830, 4899, 4969, 5038, 5107]] - 攻击次数4 = 1 - - CD = 10 - - -class 技能20(职业主动技能): - 名称 = '冥魂之陨' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 302, 334, 364, 395, 426, 457, 487, 519, 549, 580, 610, 642, 672, 702, 734, 764, 795, 826, 857, 887, 919, 949, 980, 1010, 1042, 1072, 1103, 1134, 1164, 1195, 1226, 1257, 1287, 1318, - 1349, 1380, 1410, 1442, 1472, 1503, 1534, 1565, 1595, 1626, 1657, 1687, 1718, 1749, 1780, 1810, 1842, 1872, 1903, 1934, 1965, 1995, 2027, 2057, 2087, 2118, 2149, 2180, 2210, 2242, 2272, 2303, 2334, 2365, 2395, 2427]] - 攻击次数 = 24 - CD = 21 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 24 * 1.14 - self.CD *= 0.9 - elif x == 1: - self.攻击次数 = 24 * 1.23 - self.CD *= 0.9 - - -class 技能21(职业主动技能): - 名称 = '破魂之刃' - 类型 = '物理' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 刺击物理攻击力:% - data0 = [int(x*1.05) for x in [0, 1243, 1369, 1495, 1621, 1748, 1874, 2000, 2126, 2252, 2378, 2505, 2631, 2757, 2883, 3009, 3135, 3262, 3388, 3514, 3640, 3766, 3892, 4019, 4145, 4271, 4397, 4523, 4649, 4776, 4902, 5028, - 5154, 5280, 5406, 5534, 5660, 5786, 5912, 6038, 6164, 6291, 6417, 6543, 6669, 6795, 6921, 7048, 7174, 7300, 7426, 7552, 7678, 7805, 7931, 8057, 8183, 8309, 8435, 8561, 8688, 8814, 8940, 9066, 9192, 9318, 9445, 9571, 9697]] - # 爆炸物理攻击力:% - data1 = [int(x*1.05) for x in [0, 6285, 6924, 7561, 8199, 8837, 9474, 10113, 10750, 11387, 12026, 12663, 13301, 13939, 14576, 15215, 15852, 16489, 17128, 17765, 18403, 19041, 19678, 20316, 20954, 21591, 22230, 22867, 23505, 24143, 24780, 25418, 26056, - 26693, 27332, 27969, 28607, 29245, 29882, 30520, 31158, 31795, 32433, 33071, 33709, 34347, 34984, 35622, 36260, 36897, 37535, 38173, 38811, 39449, 40086, 40724, 41362, 41999, 42637, 43275, 43913, 44550, 45188, 45826, 46464, 47101, 47739, 48377, 49015]] - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能22(职业主动技能): - 名称 = '凝魂波动阵' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 1875.171 - # 成长 = 211.829 - # 基础2 = 622.629 - # 成长2 = 70.371 - # 攻击次数3 = 7 - # 捶击物理攻击力:% - data0 = [int(x*1.05) for x in [0, 728, 801, 876, 949, 1024, 1097, 1171, 1245, 1319, 1392, 1467, 1540, 1615, 1688, 1762, 1836, 1910, 1983, 2058, 2132, 2205, 2280, 2353, 2428, 2501, 2575, 2649, 2723, 2796, 2871, 2944, 3018, 3092, - 3166, 3240, 3314, 3387, 3462, 3535, 3609, 3683, 3757, 3831, 3905, 3978, 4053, 4127, 4200, 4275, 4348, 4422, 4496, 4570, 4644, 4718, 4791, 4866, 4939, 5013, 5087, 5161, 5234, 5309, 5382, 5457, 5530, 5604, 5678, 5752, 5825]] - # 多段魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 728, 801, 876, 949, 1024, 1097, 1171, 1245, 1319, 1392, 1467, 1540, 1615, 1688, 1762, 1836, 1910, 1983, 2058, 2132, 2205, 2280, 2353, 2428, 2501, 2575, 2649, 2723, 2796, 2871, 2944, 3018, 3092, - 3166, 3240, 3314, 3387, 3462, 3535, 3609, 3683, 3757, 3831, 3905, 3978, 4053, 4127, 4200, 4275, 4348, 4422, 4496, 4570, 4644, 4718, 4791, 4866, 4939, 5013, 5087, 5161, 5234, 5309, 5382, 5457, 5530, 5604, 5678, 5752, 5825]] - 攻击次数2 = 7 - # 波动阵解除时的魔法攻击力:% - data2 = [int(x*1.05) for x in [0, 1464, 1612, 1761, 1909, 2058, 2206, 2355, 2503, 2652, 2800, 2949, 3098, 3247, 3395, 3543, 3692, 3840, 3989, 4137, 4286, 4434, 4583, 4731, 4880, 5028, 5178, 5326, 5475, 5623, 5771, 5920, 6068, 6217, - 6365, 6514, 6662, 6811, 6959, 7109, 7257, 7406, 7554, 7703, 7851, 7999, 8148, 8296, 8445, 8593, 8742, 8890, 9039, 9188, 9337, 9485, 9634, 9782, 9930, 10079, 10227, 10376, 10524, 10673, 10821, 10970, 11118, 11268, 11416, 11565, 11713]] - 攻击次数3 = 1 - # 扩散魔法攻击力:%,待定 原来没有 - data3 = [int(x*1.05) for x in [0, 287, 316, 345, 375, 403, 433, 462, 491, 520, 549, 579, 608, 637, 666, 695, 725, 754, 782, 812, 841, 870, 900, 928, 958, 987, 1016, 1045, 1074, 1104, 1133, 1161, 1191, 1220, 1250, 1279, - 1307, 1337, 1366, 1395, 1424, 1453, 1483, 1512, 1541, 1570, 1599, 1629, 1658, 1686, 1716, 1745, 1775, 1803, 1832, 1862, 1891, 1920, 1949, 1978, 2008, 2037, 2065, 2095, 2124, 2154, 2183, 2211, 2241, 2270, 2300]] - 攻击次数4 = 1 - CD = 21 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能23(职业主动技能): - 名称 = '破魂斩' - 类型 = '物理' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 物理攻击力:% - data0 = [int(x*1.05) for x in [0, 5927, 6529, 7131, 7732, 8334, 8934, 9536, 10138, 10739, 11340, 11942, 12543, 13145, 13747, 14347, 14949, 15551, 16152, 16753, 17354, 17956, 18558, 19159, 19760, 20362, 20963, 21565, 22166, 22767, 23369, 23970, 24572, 25173, - 25774, 26376, 26978, 27578, 28180, 28782, 29383, 29985, 30585, 31187, 31789, 32390, 32991, 33593, 34194, 34796, 35398, 35998, 36600, 37202, 37803, 38404, 39005, 39607, 40209, 40810, 41411, 42013, 42614, 43216, 43818, 44418, 45020, 45621, 46223, 46824, 47425]] - CD = 15 - TP成长 = 0.12 - TP上限 = 5 - - # def 等效百分比(self, 武器类型): - # return self.数据1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能24(职业主动技能): - 名称 = '冥炎破空斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 冥炎剑右斩击魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 1359, 1496, 1635, 1772, 1910, 2048, 2186, 2324, 2461, 2600, 2737, 2875, 3014, 3151, 3289, 3427, 3565, 3702, 3841, 3978, 4116, 4255, 4392, 4530, 4667, 4806, 4943, 5081, 5220, 5357, 5495, 5633, 5771, - 5908, 6047, 6185, 6322, 6461, 6598, 6736, 6874, 7012, 7149, 7287, 7426, 7563, 7701, 7839, 7977, 8114, 8253, 8391, 8528, 8667, 8804, 8942, 9080, 9218, 9356, 9493, 9632, 9769, 9907, 10045, 10183, 10320, 10459, 10597, 10734, 10873]] - # 冥炎剑左斩击魔法攻击力:% - data1 = [int(x*1.05) for x in [0, 2042, 2249, 2457, 2664, 2871, 3079, 3285, 3492, 3700, 3907, 4115, 4322, 4529, 4737, 4943, 5150, 5358, 5565, 5772, 5980, 6187, 6395, 6601, 6808, 7016, 7223, 7430, 7638, 7845, 8051, 8259, 8466, 8673, 8881, 9088, - 9296, 9503, 9709, 9917, 10124, 10331, 10539, 10746, 10953, 11160, 11367, 11575, 11782, 11989, 12197, 12404, 12611, 12818, 13025, 13232, 13440, 13647, 13855, 14062, 14268, 14476, 14683, 14890, 15098, 15305, 15512, 15720, 15926, 16134, 16341]] - # 冥炎剑上斩击魔法攻击力:% - data2 = [int(x*1.05) for x in [0, 4085, 4499, 4914, 5329, 5742, 6157, 6572, 6986, 7400, 7815, 8230, 8644, 9058, 9473, 9887, 10302, 10716, 11131, 11545, 11960, 12374, 12789, 13203, 13617, 14032, 14446, 14861, 15275, 15690, 16104, 16519, 16933, 17347, 17762, - 18177, 18591, 19005, 19420, 19835, 20249, 20663, 21078, 21492, 21906, 22321, 22736, 23150, 23564, 23979, 24394, 24807, 25222, 25637, 26052, 26465, 26880, 27295, 27710, 28123, 28538, 28953, 29366, 29781, 30196, 30611, 31024, 31439, 31854, 32269, 32682]] - # 冥炎攻击力:% - data3 = [int(x*1.05) for x in [0, 137, 150, 164, 177, 192, 206, 219, 233, 247, 261, 275, 289, 302, 316, 331, 344, 358, 372, 385, 400, 414, 427, 441, 456, 469, 483, 497, 510, 525, 539, 552, 566, 580, - 594, 608, 622, 635, 649, 664, 677, 691, 705, 718, 733, 747, 760, 774, 789, 802, 816, 830, 843, 858, 872, 885, 899, 912, 927, 941, 954, 968, 982, 996, 1010, 1024, 1037, 1052, 1066, 1079, 1093]] - 攻击次数 = 2 - 攻击次数2 = 2 - 攻击次数3 = 2 - 攻击次数4 = 8 - CD = 47.2 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数3 = 2 * 1.34 - self.攻击次数4 = 8 * 2.67 - elif x == 1: - self.攻击次数3 = 2 * 1.34 - self.攻击次数4 = 8 * 3.99 - - # def 等效百分比(self, 武器类型): - # return (self.数据1[self.等级] * self.攻击次数2 + self.数据2[self.等级] * self.攻击次数3 + self.数据3[self.等级] * self.攻击次数4 + self.数据4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能25(职业主动技能): - 名称 = '禁魂斩' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 魔法攻击力:% - data0 = [int(x*1.05) for x in [0, 7608, 8381, 9153, 9925, 10696, 11468, 12241, 13013, 13784, 14556, 15328, 16101, 16872, 17644, 18416, 19188, 19961, 20732, 21504, 22276, 23048, 23820, 24592, 25364, 26136, 26907, 27680, 28452, 29224, 29995, 30767, 31540, 32312, - 33083, 33855, 34627, 35400, 36171, 36943, 37715, 38487, 39260, 40031, 40803, 41575, 42347, 43119, 43891, 44663, 45435, 46206, 46979, 47751, 48523, 49294, 50066, 50839, 51611, 52382, 53154, 53926, 54699, 55470, 56242, 57014, 57786, 58559, 59330, 60102, 60874]] - CD = 21 - TP成长 = 0 - TP上限 = 5 - - -class 技能26(职业主动技能): - 名称 = '魔狱裂魂斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 捶击时物理攻击力:% - data0 = [int(x*1.05) for x in [0, 396, 436, 476, 517, 557, 596, 637, 677, 717, 757, 798, 838, 878, 919, 959, 999, 1038, 1079, 1119, 1159, 1199, 1240, 1280, 1320, 1361, 1401, 1441, 1481, 1521, 1561, 1601, 1642, 1682, 1722, - 1762, 1803, 1843, 1883, 1924, 1964, 2003, 2043, 2084, 2124, 2164, 2205, 2245, 2285, 2325, 2366, 2406, 2445, 2485, 2526, 2566, 2606, 2647, 2687, 2727, 2767, 2808, 2848, 2888, 2928, 2968, 3008, 3048, 3089, 3129, 3169]] - # 冲击波物理攻击力:% - data1 = [int(x*1.05) for x in [0, 2772, 3053, 3335, 3616, 3898, 4179, 4460, 4742, 5023, 5305, 5585, 5866, 6148, 6429, 6711, 6992, 7273, 7555, 7836, 8118, 8399, 8680, 8961, 9242, 9524, 9805, 10086, 10368, 10649, 10931, 11212, 11493, 11775, 12055, 12336, - 12618, 12899, 13181, 13462, 13743, 14025, 14306, 14588, 14869, 15149, 15431, 15712, 15994, 16275, 16556, 16838, 17119, 17401, 17682, 17963, 18245, 18525, 18807, 19088, 19369, 19651, 19932, 20214, 20495, 20776, 21058, 21339, 21620, 21901, 22182]] - # 黑暗气息攻击力:% - data2 = [int(x*1.05) for x in [0, 1943, 2139, 2336, 2534, 2731, 2927, 3125, 3322, 3519, 3716, 3913, 4111, 4307, 4505, 4702, 4898, 5096, 5293, 5489, 5687, 5884, 6082, 6278, 6475, 6673, 6869, 7067, 7264, 7460, 7658, 7855, 8052, 8249, 8446, 8644, - 8840, 9037, 9235, 9432, 9629, 9826, 10023, 10220, 10417, 10614, 10811, 11008, 11206, 11403, 11599, 11797, 11994, 12191, 12388, 12585, 12783, 12979, 13176, 13374, 13570, 13768, 13965, 14161, 14359, 14556, 14754, 14950, 15147, 15345, 15541]] - 攻击次数 = 1 - 攻击次数2 = 1 - 攻击次数3 = 6 - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能27(职业主动技能): - 名称 = '黑暗明王阵' - 类型 = '魔法' - 武器惩罚类型 = '魔法百分比' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 波动旋转魔法伤害:% - data0 = [int(x*1.05) for x in [0, 2058, 2267, 2476, 2685, 2888, 3104, 3308, 3515, 3724, 3936, 4145, 4352, 4563, 4769, 4979, 5187, 5398, 5603, 5815, 6022, 6231, 6443, 6651, 6860, 7063, 7278, 7482, 7691, 7900, 8109, 8318, 8528, 8737, 8942, 9156, - 9361, 9570, 9777, 9990, 10199, 10403, 10617, 10821, 11030, 11239, 11449, 11655, 11868, 12073, 12283, 12493, 12701, 12910, 13121, 13325, 13535, 13745, 13955, 14163, 14371, 14582, 14785, 14995, 15204, 15414, 15623, 15831, 16041, 16249, 16457]] - # 爆炸魔法伤害:% - data1 = [int(x*1.05) for x in [0, 4774, 5261, 5740, 6222, 6729, 7189, 7692, 8180, 8660, 9135, 9618, 10110, 10584, 11081, 11559, 12047, 12525, 13022, 13497, 13988, 14472, 14945, 15430, 15914, 16417, 16880, 17383, 17867, 18351, 18832, 19315, 19799, 20282, 20778, - 21243, 21741, 22225, 22720, 23186, 23670, 24168, 24637, 25139, 25618, 26105, 26581, 27077, 27549, 28043, 28527, 29006, 29492, 29973, 30456, 30956, 31435, 31918, 32395, 32881, 33365, 33845, 34350, 34829, 35313, 35795, 36280, 36763, 37241, 37730, 38218]] - 攻击次数 = 4 - 攻击次数2 = 1 - CD = 47.2 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能28(职业主动技能): - 名称 = '魔影剑舞' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 斩击物理攻击力:% - data0 = [int(x*1.05) for x in [0, 756, 834, 907, 985, 1062, 1139, 1215, 1292, 1369, 1446, 1520, 1597, 1675, 1750, 1827, 1905, 1981, 2059, 2135, 2211, 2287, 2365, 2441, 2517, 2595, 2671, 2747, 2825, 2900, 2977, 3054, 3130, 3207, - 3282, 3361, 3437, 3512, 3590, 3669, 3742, 3820, 3897, 3972, 4050, 4127, 4204, 4280, 4356, 4434, 4508, 4583, 4661, 4737, 4812, 4889, 4967, 5042, 5119, 5196, 5272, 5349, 5424, 5500, 5578, 5654, 5730, 5808, 5883, 5959, 6035]] - # 剑气物理攻击力:% - data1 = [int(x*1.05) for x in [0, 1811, 1993, 2183, 2365, 2550, 2730, 2916, 3103, 3284, 3462, 3654, 3836, 4019, 4207, 4388, 4570, 4750, 4938, 5122, 5304, 5496, 5673, 5855, 6042, 6228, 6407, 6593, 6776, 6965, 7146, 7327, 7515, 7695, 7883, 8061, - 8247, 8435, 8615, 8795, 8987, 9169, 9352, 9538, 9720, 9904, 10085, 10272, 10454, 10634, 10827, 11019, 11200, 11387, 11573, 11755, 11942, 12128, 12309, 12493, 12681, 12861, 13047, 13233, 13416, 13602, 13788, 13969, 14156, 14342, 14524]] - 攻击次数 = 13 - 护石斩击攻击力 = 1 - 护石锤击 = 0 - 护石冲击波 = 0 - 护石黑暗气息 = 0 - 护石升龙斩 = 0 - 攻击次数2 = 3 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 倍率 = 1 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.护石斩击攻击力 = 0.5 - self.攻击次数2 = 0 - # 锤击1次 - self.护石锤击 = 0.19 - # 冲击波1次 - self.护石冲击波 = 1.3 - # 黑暗气息6次 - self.护石黑暗气息 = 0.91 * 6 - self.护石升龙斩 = 0.96 - elif x == 1: - self.护石斩击攻击力 = 0.5 - self.攻击次数2 = 0 - self.护石锤击 = 0.19 - self.护石冲击波 = 1.3 - self.护石黑暗气息 = 0.91 * 6 - self.护石升龙斩 = 1.63 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 * self.护石斩击攻击力 + - self.data1[self.等级] * self.攻击次数2 + - self.data1[self.等级] * self.护石锤击 + - self.data1[self.等级] * self.护石冲击波 + - self.data1[self.等级] * self.护石黑暗气息 + - self.data1[self.等级] * self.护石升龙斩) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能29(职业主动技能): - 名称 = '幽魂剑' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 19 - data0 = [int(x*1.05) for x in [0, 216, 251, 286, 320, 355, 390, 424, 459, 492, 527, 562, 596, 631, 666, 700, 735, 770, 804, 839, 874, 908, 942, 977, 1011, 1046, 1080, 1115, 1150, 1184, 1219, 1254, 1288, 1323, 1358, - 1392, 1426, 1461, 1495, 1530, 1565, 1599, 1634, 1668, 1703, 1738, 1772, 1807, 1842, 1875, 1910, 1945, 1979, 2014, 2049, 2083, 2118, 2153, 2187, 2222, 2256, 2291, 2326, 2359, 2394, 2429, 2463, 2498, 2533, 2567, 2602]] - data1 = [int(x*1.05) for x in [0, 7156, 8297, 9437, 10579, 11719, 12860, 14002, 15142, 16283, 17424, 18565, 19705, 20847, 21988, 23128, 24270, 25410, 26551, 27692, 28833, 29974, 31115, 32256, 33396, 34538, 35678, 36819, 37961, 39101, 40242, 41383, 42524, 43664, - 44806, 45946, 47087, 48229, 49369, 50510, 51651, 52792, 53932, 55074, 56215, 57355, 58497, 59637, 60778, 61919, 63060, 64201, 65342, 66483, 67623, 68765, 69905, 71046, 72188, 73328, 74469, 75609, 76751, 77891, 79032, 80173, 81314, 82455, 83596, 84737, 85877]] - 攻击次数 = 33 - 攻击次数2 = 1 - CD = 45 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 6 - self.攻击次数2 = 2.27 - self.CD *= 0.89 - - -class 技能30(职业主动技能): - 名称 = '暗炎冥魂波' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(x*1.05) for x in [0, 3369, 3907, 4444, 4981, 5519, 6055, 6593, 7131, 7667, 8205, 8742, 9279, 9816, 10354, 10891, 11428, 11966, 12502, 13040, 13578, 14114, 14652, 15189, 15726, 16263, 16801, 17338, 17875, 18412, 18949, 19487, 20024, 20561, 21099, - 21635, 22173, 22710, 23247, 23785, 24322, 24859, 25396, 25934, 26471, 27008, 27546, 28082, 28620, 29157, 29694, 30232, 30769, 31306, 31843, 32381, 32918, 33455, 33993, 34529, 35067, 35604, 36141, 36679, 37216, 37753, 38290, 38828, 39365, 39902, 40440]] - 攻击次数 = 5 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 倍率 = 1 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.21 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.29 - self.CD *= 0.9 - - -class 技能31(职业主动技能): - 名称 = '斩龙破' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(x*1.05) for x in [0, 1825, 2010, 2196, 2380, 2566, 2751, 2936, 3122, 3306, 3491, 3677, 3862, 4048, 4233, 4417, 4603, 4788, 4973, 5159, 5343, 5529, 5714, 5899, 6085, 6270, 6454, 6640, 6825, 7011, 7196, 7380, 7566, 7751, 7936, 8122, - 8307, 8492, 8677, 8862, 9048, 9233, 9417, 9603, 9788, 9974, 10159, 10344, 10529, 10714, 10899, 11085, 11270, 11456, 11640, 11825, 12011, 12196, 12381, 12566, 12751, 12937, 13122, 13307, 13493, 13677, 13862, 14048, 14233, 14419, 14603]] - data1 = [int(x*1.05) for x in [0, 1825, 2010, 2196, 2380, 2566, 2751, 2936, 3122, 3306, 3491, 3677, 3862, 4048, 4233, 4417, 4603, 4788, 4973, 5159, 5343, 5529, 5714, 5899, 6085, 6270, 6454, 6640, 6825, 7011, 7196, 7380, 7566, 7751, 7936, 8122, - 8307, 8492, 8677, 8862, 9048, 9233, 9417, 9603, 9788, 9974, 10159, 10344, 10529, 10714, 10899, 11085, 11270, 11456, 11640, 11825, 12011, 12196, 12381, 12566, 12751, 12937, 13122, 13307, 13493, 13677, 13862, 14048, 14233, 14419, 14603]] - data2 = [int(x*1.05) for x in [0, 16632, 18319, 20007, 21694, 23381, 25069, 26756, 28442, 30130, 31817, 33504, 35192, 36879, 38567, 40254, 41941, 43629, 45316, 47003, 48691, 50378, 52065, 53753, 55440, 57127, 58815, 60502, 62189, 63877, 65564, 67251, 68939, 70626, 72314, - 74001, 75688, 77376, 79063, 80750, 82438, 84125, 85812, 87500, 89187, 90873, 92561, 94248, 95935, 97623, 99310, 100997, 102685, 104372, 106059, 107747, 109434, 111122, 112809, 114496, 116184, 117871, 119558, 121246, 122933, 124620, 126308, 127995, 129682, 131370, 133057]] - 攻击次数 = 1 - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.data2 = [int(i*0.274) for i in self.data2] - self.攻击次数3 = 6 - self.CD *= 0.9 - elif x == 1: - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.data2 = [int(i*0.29) for i in self.data2] - self.攻击次数3 = 6 - self.CD *= 0.9 - - -class 技能32(职业主动技能): - 名称 = '邪影升龙斩' - 武器惩罚类型 = '魔法固伤' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(x*1.05) for x in [0, 45763, 50406, 55048, 59691, 64335, 68977, 73620, 78263, 82905, 87548, 92191, 96833, 101476, 106118, 110761, 115404, 120047, 124690, 129333, 133975, 138618, 143261, 147903, 152546, 157188, 161831, 166474, 171116, 175760, 180403, 185045, 189688, 194331, 198973, - 203616, 208258, 212901, 217544, 222186, 226829, 231473, 236115, 240758, 245401, 250043, 254686, 259328, 263971, 268614, 273256, 277899, 282542, 287184, 291828, 296471, 301113, 305756, 310398, 315041, 319684, 324326, 328969, 333612, 338254, 342897, 347541, 352183, 356826, 361468, 366111]] - CD = 50 - 倍率 = 1 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 = 1.32 - - -class 技能33(职业主动技能): - 名称 = '超时空碎裂' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(x*1.134) for x in [0, 2453, 3021, 3592, 4160, 4728, 5297, 5866, 6434, 7004, 7572, 8142, 8711, 9279, 9847, 10417, 10985, 11553, 12122, 12690, 13260, 13830, 14398, 14966, 15536, 16104, 16672, 17241, 17811, 18379, 18948, 19516, 20085, 20655, 21223, - 21791, 22362, 22930, 23498, 24067, 24636, 25204, 25773, 26341, 26913, 27481, 28049, 28617, 29187, 29755, 30323, 30892, 31460, 32031, 32599, 33167, 33737, 34306, 34874, 35443, 36011, 36581, 37150, 37718, 38286, 38856, 39424, 39992, 40562, 41132, 41700]] - data1 = [int(x*1.134) for x in [0, 46605, 57411, 68219, 79026, 89833, 100639, 111446, 122252, 133059, 143867, 154676, 165481, 176288, 187096, 197902, 208710, 219517, 230321, 241129, 251937, 262743, 273550, 284358, 295166, 305972, 316779, 327587, 338393, 349200, 360006, 370812, 381620, 392427, - 403236, 414041, 424849, 435657, 446463, 457269, 468076, 478882, 489691, 500497, 511303, 522111, 532918, 543727, 554532, 565340, 576146, 586952, 597760, 608567, 619373, 630181, 640988, 651796, 662603, 673409, 684218, 695021, 705830, 716637, 727442, 738251, 749057, 759864, 770672, 781479, 792287]] - 攻击次数 = 19 - 攻击次数2 = 1 - CD = 180 - #基础 = 1793 - #成长 = 542 - #基础2 = 34095 - #成长2 = 10292 - - -class 技能34(被动技能): - 名称 = '暗·短剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - 数据1 = [0, 14, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 210, 225, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375, 390, 405, 420, 435, 450, 465, 480, 495, 510, 525, - 540, 555, 570, 585, 600, 615, 630, 645, 660, 675, 690, 705, 720, 735, 750, 765, 780, 795, 810, 825, 840, 855, 870, 885, 900, 915, 930, 945, 960, 975, 990, 1005, 1020, 1035, 1050] - 数据2 = [0, 12, 26, 39, 51, 64, 77, 90, 103, 116, 129, 141, 154, 167, 180, 193, 206, 219, 231, 244, 257, 270, 283, 296, 309, 321, 334, 347, 360, 373, 386, 399, 411, 424, 437, 450, - 463, 476, 489, 501, 514, 527, 540, 553, 566, 579, 591, 604, 617, 630, 643, 656, 669, 681, 694, 707, 720, 733, 746, 759, 771, 784, 797, 810, 823, 836, 849, 861, 874, 887, 900] - # 物理攻击 - - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '短剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.015, 5) - - # 魔法攻击 - def 加成倍率2(self, 武器类型): - if self.等级 == 0 or 武器类型 != '短剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.0129, 5) - - # 物理攻击力面板 - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '短剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.015, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '短剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.0129, 5) - - -class 技能35(被动技能): - 名称 = '暗·太刀精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - 数据1 = [0, 13, 26, 39, 52, 65, 78, 91, 104, 117, 130, 143, 156, 169, 182, 195, 208, 221, 234, 247, 260, 273, 286, 299, 312, 325, 338, 351, 364, 377, 390, 403, 416, 429, 442, 455, - 468, 481, 494, 507, 520, 533, 546, 559, 572, 585, 598, 611, 624, 637, 650, 663, 676, 689, 702, 715, 728, 741, 754, 767, 780, 793, 806, 819, 832, 845, 858, 871, 884, 897, 910] - 数据2 = [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, - 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732, 744, 756, 768, 780, 792, 804, 816, 828, 840] - - # 物理攻击 - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '太刀': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.013, 5) - - # 魔法攻击 - def 加成倍率2(self, 武器类型): - if self.等级 == 0 or 武器类型 != '太刀': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 物理攻击力面板 - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '太刀': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.013, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '太刀': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - -class 技能36(被动技能): - 名称 = '暗·巨剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - 数据1 = [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, - 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600] - 数据2 = [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, - 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600] - # 物理攻击 - - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '巨剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 魔法攻击 - def 加成倍率2(self, 武器类型): - if self.等级 == 0 or 武器类型 != '巨剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 物理攻击力面板 - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '巨剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '巨剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - -class 技能37(被动技能): - 名称 = '暗·钝器精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - 数据1 = [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, - 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732, 744, 756, 768, 780, 792, 804, 816, 828, 840] - 数据2 = [0, 12, 24, 36, 48, 60, 72, 84, 96, 108, 120, 132, 144, 156, 168, 180, 192, 204, 216, 228, 240, 252, 264, 276, 288, 300, 312, 324, 336, 348, 360, 372, 384, 396, 408, 420, - 432, 444, 456, 468, 480, 492, 504, 516, 528, 540, 552, 564, 576, 588, 600, 612, 624, 636, 648, 660, 672, 684, 696, 708, 720, 732, 744, 756, 768, 780, 792, 804, 816, 828, 840] - - # 物理攻击 - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '钝器': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 魔法攻击 - def 加成倍率2(self, 武器类型): - if self.等级 == 0 or 武器类型 != '钝器': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 物理攻击力面板 - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '钝器': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '钝器': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.00 + self.等级 * 0.012, 5) - - -class 技能38(被动技能): - 名称 = '暗·光剑精通' - 所在等级 = 15 - 等级上限 = 40 - 基础等级 = 30 - 关联技能 = ['所有'] - 数据1 = [0, 26, 40, 53, 66, 79, 92, 106, 119, 132, 145, 158, 172, 185, 198, 211, 224, 238, 251, 264, 277, 290, 304, 317, 330, 343, - 356, 370, 383, 396, 409, 422, 436, 449, 462, 475, 488, 502, 515, 528, 541, 554, 568, 581, 594, 607, 620, 634, 647, 660, 660] - 数据2 = [0, 26, 40, 53, 66, 79, 92, 106, 119, 132, 145, 158, 172, 185, 198, 211, 224, 238, 251, 264, 277, 290, 304, 317, 330, 343, - 356, 370, 383, 396, 409, 422, 436, 449, 462, 475, 488, 502, 515, 528, 541, 554, 568, 581, 594, 607, 620, 634, 647, 660, 660] - # 物理攻击 - - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.02 + self.等级 * 0.013, 5) - - # 魔法攻击 - def 加成倍率2(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.02 + self.等级 * 0.013, 5) - - # 物理攻击力面板 - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return round(1 + self.数据1[self.等级] / 1000, 5) - # return round(1.02 + self.等级 * 0.013, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '光剑': - return 1.0 - else: - return round(1 + self.数据2[self.等级] / 1000, 5) - # return round(1.02 + self.等级 * 0.013, 5) - - -class 技能39(被动技能): - 名称 = '时间停滞' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 <= 15: - return round(1.045 + 0.01 * self.等级, 5) - else: - return round(0.97 + 0.015 * self.等级, 5) - - -class 技能40(被动技能): - 名称 = '次元融合' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['无'] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '力量/智力+' + str(int(self.力智倍率() * 100 - 100)) + '%' - - def 力智倍率(self): - return round(1 + 0.02 * self.等级, 5) - # 每级2%力智 - - -class 技能41(被动技能): - 名称 = '自我觉醒' - 所在等级 = 75 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - return round(1.01 + 0.1 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.01 + self.等级 * 0.1, 5) - - # 魔法攻击力面板 - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.01 + self.等级 * 0.1, 5) - - -class 技能42(职业主动技能): - 名称 = '暗黑溯回斩' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - data0 = [int(i*1.05) for i in [0, 5173, 5698, 6222, 6747, 7272, 7797, 8322, 8846, 9371, 9896, 10421, 10946, 11470, 11995, 12520, 13045, 13570, 14094, 14619, 15144, 15669, 16194, 16718, 17243, 17768, 18293, 18818, 19342, 19867, 20392, 20917, 21442, 21966, - 22491, 23016, 23541, 24066, 24590, 25115, 25640, 26165, 26690, 27214, 27739, 28264, 28789, 29314, 29838, 30363, 30888, 31413, 31938, 32462, 32987, 33512, 34037, 34562, 35086, 35611, 36136, 36661, 37186, 37710, 38235, 38760, 39285, 39810, 40334, 40859]] - 攻击次数 = 8 - data1 = [int(i*1.05) for i in [0, 41384, 45582, 49780, 53978, 58177, 62375, 66574, 70772, 74970, 79169, 83367, 87566, 91764, 95962, 100161, 104359, 108558, 112756, 116954, 121153, 125351, 129550, 133748, 137946, 142145, 146343, 150542, 154740, 158938, 163137, 167335, 171534, 175732, 179930, - 184129, 188327, 192526, 196724, 200922, 205121, 209318, 213517, 217715, 221914, 226112, 230310, 234509, 238707, 242906, 247104, 251302, 255501, 259699, 263898, 268096, 272294, 276493, 280691, 284890, 289088, 293286, 297485, 301683, 305882, 310080, 314278, 318477, 322675, 326874]] - 攻击次数2 = 1 - - -class 技能43(被动技能): - 名称 = '时空主宰' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能44(职业主动技能): - 名称 = '时之止境:幻灭' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 关联技能 = ['无'] - CD = 290.0 - data0 = [int(i*1.135) for i in [0, 295574, 364113, 432652, 501191, 569730, 638269, 706808, 775347, 843886, 912425, 980964, 1049503, 1118042, 1186581, 1255120, 1323659, 1392198, 1460737, 1529276, 1597815, 1666354, 1734893, 1803432, 1871971, 1940510, 2009049, 2077588, 2146127, 2214666, 2283205, 2351744, 2420283, 2488822, 2557361, - 2625900, 2694439, 2762977, 2831516, 2900056, 2968595, 3037134, 3105673, 3174211, 3242750, 3311290, 3379829, 3448368, 3516906, 3585445, 3653984, 3722524, 3791063, 3859601, 3928140, 3996679, 4065219, 4133758, 4202296, 4270835, 4339374, 4407913, 4476453, 4544991, 4613530, 4682069, 4750608, 4819147, 4887686, 4956225, 5024764]] - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能45(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['挑击'] - 数据1 = [0, 1000, 1058, 1115, 1173, 1230, 1288, 1345, 1403, 1461, 1518, 1576, 1633, 1691, 1748, 1806, 1895, 1984, 2073, 2162, 2251, 2339, 2428, 2517, 2606, 2695, 2784, 2873, 2962, 3051, 3140, 3228, 3317, 3406, 3495, 3584, 3673, 3762, 3851, 3940, 4029, 4118, 4206, 4295, 4384, 4473, 4562, 4651, 4740, 4829, 4918, 5007, 5095, 5184, 5273, 5362, 5451, 5540, 5629, 5718, 5807, 5896, 5985, 6073, 6162, 6251, 6340, 6429, 6518, 6607, 6696, 6785, 6874, 6963, 7051, 7140, 7229, 7318, 7407, 7496, 7585, 7674, 7763, 7852, 7940, 8029, 8118, 8207, 8296, 8385, 8474, 8563, 8652, 8741, 8830, 8918, 9007, 9096, 9185, 9274, 9363, 9452, 9541, 9630, 9719, 9808, 9897, 9986, - 10075, 10164, 10253, 10342, 10431, 10520, 10609, 10698, 10787, 10876, 10965, 11054, 11143, 11232, 11321, 11410, 11499, 11588, 11677, 11766, 11855, 11944, 12033, 12122, 12211, 12300, 12389, 12478, 12567, 12656, 12745, 12834, 12923, 13012, 13101, 13190, 13279, 13368, 13457, 13546, 13635, 13724, 13813, 13902, 13991, 14080, 14169, 14258, 14347, 14436, 14525, 14614, 14703, 14792, 14881, 14970, 15059, 15148, 15237, 15326, 15415, 15504, 15593, 15682, 15771, 15860, 15949, 16038, 16127, 16216, 16305, 16394, 16483, 16572, 16661, 16750, 16839, 16928, 17017, 17106, 17195, 17284, 17373, 17462, 17551, 17640, 17729, 17818, 17907, 17996, 18085, 18174, 18263] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.数据1[self.等级] / 1000, 5) - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - - -黑暗武士二觉序号 = 0 -黑暗武士三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 85: - 黑暗武士二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 黑暗武士三觉序号 = 技能序号[i.名称] - -黑暗武士护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 黑暗武士护石选项.append(i.名称) - -黑暗武士符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.是否有伤害 == 1: - 黑暗武士符文选项.append(i.名称) - - -class 职业属性(角色属性): - - 实际名称 = '极诣·黑暗武士' - 角色 = '黑暗武士' - 职业 = '黑暗武士' - - 武器选项 = ['光剑', '太刀', '巨剑', '短剑', '钝器'] - - 类型选择 = ['物理百分比', '魔法百分比'] - - # 默认 - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量', '智力'] - - 主BUFF = 1.54 - - 远古记忆 = 0 - - # 计算CD - 排列技能 = ['无', '无', '无', '无', '无'] * 6 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - - self.排列CD计算() - - if self.远古记忆 > 0: - self.进图智力 += self.远古记忆 * 15 - - for i in ['暗·太刀精通', '暗·短剑精通', '暗·巨剑精通', '暗·光剑精通', '暗·钝器精通']: - if self.武器类型 not in i: - self.技能栏[self.技能序号[i]].关联技能 = ['无'] - - for i in self.技能栏: - if i.关联技能 != ['无']: - if i.关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - # 分物理魔法 调用武器精通的加成倍率 - if i.名称 in ['暗·太刀精通', '暗·短剑精通', '暗·巨剑精通', '暗·光剑精通', '暗·钝器精通']: - # if j.类型 == '物理': - if self.类型 == '物理百分比': - j.被动倍率 *= i.加成倍率(self.武器类型) - else: - j.被动倍率 *= i.加成倍率2(self.武器类型) - else: - j.被动倍率 *= i.加成倍率(self.武器类型) - else: - for k in i.关联技能: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率(self.武器类型) - - def 伤害指数计算(self): - - 防御 = max(self.防御输入 - self.固定减防, 0) * (1 - self.百分比减防) - 基准倍率 = 1.5 * self.主BUFF * (1 - 防御 / (防御 + 20000)) - - # 避免出现浮点数取整BUG - self.伤害增加 += 0.00000001 - - self.属性倍率计算() - - if self.计算自适应 == 1: - self.自适应计算() - - # self.希洛克武器提升() - - 面板1 = int((self.面板力量() / 250 + 1) * - (self.物理攻击力 + self.进图物理攻击力) * (1 + self.百分比三攻)) - 面板2 = int((self.面板智力() / 250 + 1) * - (self.魔法攻击力 + self.进图魔法攻击力) * (1 + self.百分比三攻)) - - 增伤倍率 = 1 + int(self.伤害增加 * 100) / 100 - 增伤倍率 *= 1 + self.暴击伤害 - 增伤倍率 *= 1 + self.最终伤害 - 增伤倍率 *= self.技能攻击力 - 增伤倍率 *= 1 + self.持续伤害 * self.持续伤害计算比例 - 增伤倍率 *= 1 + self.附加伤害 + self.属性附加 * self.属性倍率 - - temp = self.属性倍率 * 增伤倍率 * 基准倍率 / 100 * self.队友增幅系数 - # 7.8日,伤害数据压缩 - temp /= 1000 - - self.伤害指数1 = 面板1 * temp - self.伤害指数2 = 面板2 * temp - - def 排列CD计算(self): - # super().CD倍率计算() - for i in self.排列技能: - count = 0 - 总CD = 0 - 恢复速度 = 1 - # 大恍惚CD加速只加速15级以上的,15级以下无效,所以DK在拿15级以下的技能垫技能的时候,会造成整个下排CD加速无效的BUG - # 先检查是否存在等级<15,造成冷却恢复排列失效的 - if self.装备检查('拥抱晨曦之温暖') or self.装备检查('融化黑暗之温暖'): - for j in i: - if j != '无' and self.技能栏[self.技能序号[j]].所在等级 < 15: - 恢复速度 = 0 - for j in i: - if j != '无': - count += 1 - 总CD += self.技能栏[self.技能序号[j] - ].等效CD(self.武器类型, self.类型, 恢复速度) - if count != 0: - 计算CD = 总CD / count * 1.2 - for j in i: - if j != '无': - self.技能栏[self.技能序号[j]].计算CD = 计算CD - - def 技能单次伤害计算(self, y): - # y切装标记 - 技能单次伤害 = [] - for i in self.技能栏: - if i.是否有伤害 == 1 and self.技能切装[self.技能序号[i.名称]] != y: - # 分物理魔法 乘伤害指数 - if i.类型 == '物理': - 技能单次伤害.append(i.等效百分比(self.武器类型) * self.伤害指数1 * i.被动倍率) - else: - 技能单次伤害.append(i.等效百分比(self.武器类型) * self.伤害指数2 * i.被动倍率) - else: - 技能单次伤害.append(0) - return 技能单次伤害 - - def 站街力量(self): - return int(max(self.力量, self.智力) * self.技能栏[self.技能序号['次元融合']].力智倍率()) - - def 站街智力(self): - return self.站街力量() - - def 面板力量(self): - power = (self.力量 + int((self.力量 - self.基础力量) * self.系统奶系数 + self.系统奶基数) + - self.进图力量) * (1 + self.百分比力智) * self.技能栏[self.技能序号['次元融合']].力智倍率() - intelligence = (self.智力 + int((self.智力 - self.基础智力) * self.系统奶系数 + self.系统奶基数) + - self.进图智力) * (1 + self.百分比力智) * self.技能栏[self.技能序号['次元融合']].力智倍率() - return max(power, intelligence) - - def 面板智力(self): - return self.面板力量() - - -class 极诣·黑暗武士(角色窗口): - - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 黑暗武士二觉序号 - self.二觉序号 = 黑暗武士二觉序号 - self.三觉序号 = 黑暗武士三觉序号 - self.护石选项 = deepcopy(黑暗武士护石选项) - self.符文选项 = deepcopy(黑暗武士符文选项) - - def 界面(self): - super().界面() - - # for i in ([self.守门人属强] + self.希洛克套装按钮 + self.希洛克单件按钮 + self.希洛克装备图标 + self.希洛克武器词条): - # i.move(i.x() - 85, i.y() + 380) - - for i in [self.觉醒选择, self.一觉图片, self.二觉图片, self.一觉遮罩, self.二觉遮罩]: - i.move(-1000, -1000) - - for i in self.角色属性A.技能栏: - 序号 = self.角色属性A.技能序号[i.名称] - if i.所在等级 == 50: - self.等级调整[序号].clear() - for j in range(- i.基础等级, i.等级上限 - i.基础等级 + 1): - self.等级调整[序号].addItem(str(j)) - - 初始x = 310 - 初始y = 640 - self.技能排列 = QLabel(self.main_frame2) - self.技能排列.setPixmap( - QPixmap('./ResourceFiles/'+self.角色属性A.实际名称 + "/技能/skill.png")) - self.技能排列.resize(242, 293) - self.技能排列.move(初始x, 初始y) - - 技能名称 = ['无'] - for i in self.初始属性.技能栏: - if i.是否主动 == 1: - 技能名称.append(i.名称) - - self.技能排列 = [] - self.排列图片 = [] - for i in range(6): - temp = [] - temp2 = [] - for j in range(6): - temp.append(MyQComboBox(self.main_frame2)) - temp[j].resize(100, 22) - temp[j].addItems(技能名称) - temp[j].currentIndexChanged.connect( - lambda state, x=i, y=j: self.排列图片更改(x, y)) - if i == 0: - temp[j].move(310 + 110 * j, 440 + 28 * i) - else: - temp[j].move(310 + 110 * j, 450 + 28 * i) - temp2.append(QLabel(self.main_frame2)) - temp2[j].resize(26, 26) - temp2[j].setAlignment(Qt.AlignCenter) - if i == 0: - temp2[j].move(初始x + 10 + 39 * j, 初始y + 24 + 44 * i) - else: - temp2[j].move(初始x + 10 + 39 * j, 初始y + 39 + 44 * i) - self.技能排列.append(temp) - self.排列图片.append(temp2) - - self.清空排列按钮 = QPushButton('清空排列', self.main_frame2) - self.清空排列按钮.clicked.connect(lambda state: self.清空排列()) - self.清空排列按钮.move(850, 400) - self.清空排列按钮.resize(100, 20) - self.清空排列按钮.setStyleSheet(按钮样式) - - self.护甲精通选择 = MyQComboBox(self.main_frame2) - self.护甲精通选择.addItem('轻甲') - self.护甲精通选择.addItem('布甲') - self.护甲精通选择.addItem('重甲') - self.护甲精通选择.addItem('板甲') - self.护甲精通选择.resize(120, 20) - self.护甲精通选择.move(720, 400) - - self.职业存档.append(('护甲精通选择', self.护甲精通选择, 1)) - for i in range(6): - for j in range(6): - self.职业存档.append(('技能-{}-{}'.format(i, j), self.技能排列[i][j], 1)) - - def 清空排列(self): - - box = QMessageBox(QMessageBox.Warning, "提示", "是否清空排列?") - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr("确定"), QMessageBox.YesRole) - no = box.addButton(self.tr("取消"), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - for i in self.技能排列: - for j in i: - j.setCurrentIndex(0) - - def 排列图片更改(self, x, y): - 技能字典 = {} - for i in self.技能排列: - for j in i: - if j.currentText() != '无': - 技能字典[j.currentText()] = 技能字典.get(j.currentText(), 0) + 1 - - if self.技能排列[x][y].currentText() != '无': - self.排列图片[x][y].setPixmap( - self.技能图片[self.角色属性A.技能序号[self.技能排列[x][y].currentText()]]) - if 技能字典[self.技能排列[x][y].currentText()] > 1: - self.技能排列[x][y].setStyleSheet(下拉框样式_warn) - else: - self.技能排列[x][y].setStyleSheet(下拉框样式) - else: - self.排列图片[x][y].setPixmap(QPixmap('无')) - self.技能排列[x][y].setStyleSheet(下拉框样式) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - - 排列倍率 = [2, 1, 1.3, 1.5, 1.8, 2] - - for i in range(6): - for j in range(6): - if self.技能排列[i][j].currentText() != '无': - 属性.技能栏[属性.技能序号[self.技能排列[i][j].currentText()]].倍率 *= 排列倍率[i] - - 排列技能 = [] - for j in range(6): - temp = [] - for i in range(1, 6): - temp.append(self.技能排列[i][j].currentText()) - 排列技能.append(temp) - - 属性.排列技能 = deepcopy(排列技能) - - for i in 属性.技能栏: - if i.是否主动 == 1: - # if i.是否主动 == 1 and i.所在等级 >= 40 and i.名称 != '禁魂斩': - if 属性.类型 == '物理百分比': - i.类型 = '物理' - else: - i.类型 = '魔法' - - #防具类型 = '轻甲' - - 属性.护甲精通 = self.护甲精通选择.currentIndex() - if 属性.护甲精通 == 0: - 属性.防具类型 = '轻甲' - 属性.防具精通属性 = ['力量'] - elif 属性.护甲精通 == 1: - 属性.防具类型 = '布甲' - 属性.防具精通属性 = ['智力'] - elif 属性.护甲精通 == 2: - 属性.防具类型 = '重甲' - 属性.防具精通属性 = ['力量'] - elif 属性.护甲精通 == 3: - 属性.防具类型 = '板甲' - 属性.防具精通属性 = ['智力'] diff --git a/Characters/皓曦·帕拉丁.py b/Characters/皓曦·帕拉丁.py deleted file mode 100644 index 0bfd440f..00000000 --- a/Characters/皓曦·帕拉丁.py +++ /dev/null @@ -1,640 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -# 武器钝器 -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # def 等效CD(self, 武器类型): - # if 武器类型 == '钝器': - # return round(self.CD / self.恢复 * 1.05, 1) - -# 天使光翼 - - -class 技能0(被动技能): - 名称 = '天使光翼' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['信仰聚合神光惩戒', '神圣意志大天使降临', '神光耀世'] - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.90 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.90 + 0.02 * self.等级, 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.95 - -# 天使降临 - - -class 技能1(被动技能): - 名称 = '天使降临' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.08 + 0.01 * self.等级, 5) - else: - return round(0.98 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.08 + 0.01 * self.等级, 5) - else: - return round(0.98 + 0.02 * self.等级, 5) - -# 一觉被动 - - -class 技能2(被动技能): - 名称 = '荣耀之光' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105+0.015 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - -# 二觉被动 - - -class 技能3(被动技能): - 名称 = '戒律' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能4(职业主动技能): - 名称 = '普通攻击' - 备注 = '一轮' - 是否主动 = 0 - 关联技能 = ['无'] - 所在等级 = 1 - 基础等级 = 1 - 等级上限 = 20 - CD = 5 - 攻击次数 = 1.58+1.76+1.98+2.21 - 基础 = 936.3 - 8.9 - 成长 = 8.9 - - 攻击次数2 = 5 - 喷涌数据 = 0 - - TP成长 = 0.10 - TP上限 = 3 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int((self.攻击次数 * (self.基础 + self.成长 * self.等级) * (1 + self.TP成长 * self.TP等级) + self.攻击次数2 * self.喷涌数据) * self.倍率) - -# 神光冲击 - - -class 技能5(职业主动技能): - 名称 = '神光冲击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1596.7 - # 成长 = 180.3 - # 攻击力:% - data0 = [(i*1.085*1.0/1.126*1.1342*1.261*1.073) for i in [0, 1777, 1957, 2137, 2318, 2498, 2678, 2858, 3039, 3219, 3399, 3580, 3760, 3940, 4121, 4301, 4481, 4661, 4842, 5022, 5202, 5383, 5563, 5743, 5923, 6104, 6284, 6464, 6645, - 6825, 7005, 7186, 7366, 7546, 7726, 7907, 8087, 8267, 8448, 8628, 8808, 8988, 9169, 9349, 9529, 9710, 9890, 10070, 10251, 10431, 10611, 10791, 10972, 11152, 11332, 11513, 11693, 11873, 12053, 12234, 12414]] - CD = 4 - TP成长 = 0.10 - TP上限 = 5 - -# 神光连斩 - - -class 技能6(职业主动技能): - 名称 = '神光连斩' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 2109.7 - # 成长 = 238.3 - # 第1击攻击力:% - data0 = [(i*1.085*1.261*1.073) for i in [0, 1790, 1972, 2153, 2335, 2517, 2698, 2880, 3062, 3243, 3425, 3607, 3788, 3970, 4152, 4333, 4515, 4696, 4878, 5060, 5241, 5423, 5605, 5786, 5968, 6150, 6331, 6513, 6695, 6876, 7058, 7240, 7421, 7603, 7785, 7966, 8148, 8329, 8511, 8693, 8874, 9056, 9238, 9419, 9601, 9783, 9964, 10146, 10328, 10509, 10691, 10873, 11054, 11236, 11418, 11599, 11781, 11962, 12144, 12326, 12507]] - # 第2击攻击力:% - data1 = [(i*1.085*1.261*1.073) for i in [0, 1790, 1972, 2153, 2335, 2517, 2698, 2880, 3062, 3243, 3425, 3607, 3788, 3970, 4152, 4333, 4515, 4696, 4878, 5060, 5241, 5423, 5605, 5786, 5968, 6150, 6331, 6513, 6695, 6876, 7058, 7240, 7421, 7603, 7785, 7966, 8148, 8329, 8511, 8693, 8874, 9056, 9238, 9419, 9601, 9783, 9964, 10146, 10328, 10509, 10691, 10873, 11054, 11236, 11418, 11599, 11781, 11962, 12144, 12326, 12507]] - 攻击次数2 = 1 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - -# 圣盾突击 - - -class 技能7(职业主动技能): - 名称 = '圣盾突击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 基础 = 2756.7 - # 成长 = 311.3 - # 攻击力:% X 4 - data0 = [(i*1.085*1.263*1.073) for i in [0, 772, 851, 929, 1007, 1086, 1164, 1243, 1321, 1399, 1478, 1556, 1634, 1713, 1791, 1870, 1948, 2026, 2105, 2183, 2262, 2340, 2418, 2497, 2575, 2654, 2732, 2810, 2889, 2967, 3045, 3124, 3202, 3281, 3359, 3437, 3516, 3594, 3673, 3751, 3829, 3908, 3986, 4065, 4143, 4221, 4300, 4378, 4456, 4535, 4613, 4692, 4770, 4848, 4927, 5005, 5084, 5162, 5240, 5319, 5397]] - 攻击次数 = 4 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - - -# 神光喷涌 -class 技能8(职业主动技能): - 名称 = '神光喷涌' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 4451.9 - # 成长 = 503.1 - # 锤击攻击力:% - data0 = [(i*1.085*1.258*1.1) for i in [0, 924, 1019, 1112, 1205, 1300, 1393, 1487, 1581, 1675, 1768, 1863, 1956, 2050, 2144, 2238, 2331, 2426, 2519, 2612, 2707, 2800, 2894, 2988, 3082, 3175, 3270, 3363, 3457, 3551, 3645, 3738, 3833, 3926, 4019, 4114, 4207, 4301, 4395, 4489, 4583, 4677, 4770, 4865, 4958, 5052, 5146, 5240, 5333, 5427, 5521, 5614, 5709, 5802, 5896, 5990, 6084, 6177, 6272, 6365, 6459, 4594, 4660, 4726, 4792, 4857, 4923, 4989, 5055, 5120, 5186]] - # 喷涌的神光攻击力:% X 4 - data1 = [(i*1.085*1.258*1.1) for i in [0, 924, 1019, 1112, 1205, 1300, 1393, 1487, 1581, 1675, 1768, 1863, 1956, 2050, 2144, 2238, 2331, 2426, 2519, 2612, 2707, 2800, 2894, 2988, 3082, 3175, 3270, 3363, 3457, 3551, 3645, 3738, 3833, 3926, 4019, 4114, 4207, 4301, 4395, 4489, 4583, 4677, 4770, 4865, 4958, 5052, 5146, 5240, 5333, 5427, 5521, 5614, 5709, 5802, 5896, 5990, 6084, 6177, 6272, 6365, 6459, 4594, 4660, 4726, 4792, 4857, 4923, 4989, 5055, 5120, 5186]] - 攻击次数2 = 4 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - def 小型喷涌神光攻击力(self): - return int(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级)*0.1) - -# 神光盾击 - - -class 技能9(职业主动技能): - 名称 = '神光盾击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 4908.2 - # 成长 = 554.8 - # 第1击攻击力:% X 3 - data0 = [(i*1.085*1.261*1.1) for i in [0, 906, 998, 1090, 1182, 1274, 1366, 1457, 1549, 1641, 1733, 1825, 1917, 2009, 2101, 2193, 2285, 2377, 2469, 2561, 2653, 2745, 2837, 2929, 3021, 3112, 3204, 3296, 3388, 3480, 3572, 3664, 3756, 3848, 3940, 4032, 4124, 4216, 4308, 4400, 4492, 4584, 4676, 4767, 4859, 4951, 5043, 5135, 5227, 5319, 5411, 5503, 5595, 5687, 5779, 5871, 5963, 6055, 6147, 6239, 6331]] - 攻击次数 = 3 - # 第2击攻击力:% X 3 - data1 = [(i*1.085*1.261*1.1) for i in [0, 929, 1023, 1118, 1212, 1306, 1401, 1495, 1589, 1684, 1778, 1872, 1966, 2061, 2155, 2249, 2344, 2438, 2532, 2627, 2721, 2815, 2909, 3004, 3098, 3192, 3287, 3381, 3475, 3570, 3664, 3758, 3853, 3947, 4041, 4135, 4230, 4324, 4418, 4513, 4607, 4701, 4796, 4890, 4984, 5078, 5173, 5267, 5361, 5456, 5550, 5644, 5739, 5833, 5927, 6022, 6116, 6210, 6304, 6399, 6493]] - 攻击次数2 = 3 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - -# 烈光 - - -class 技能10(职业主动技能): - 名称 = '烈光' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 4966.2 - # 成长 = 560.8 - # 上挑攻击力:% - data0 = [(i*1.085*1.26*1.071) for i in [0, 2780, 3062, 3344, 3626, 3908, 4190, 4472, 4754, 5036, 5318, 5600, 5882, 6164, 6446, 6728, 7010, 7292, 7574, 7856, 8138, 8420, 8702, 8984, 9266, 9548, 9830, 10112, 10394, 10676, 10958, 11240, 11522, 11804, 12086, 12369, 12651, 12933, 13215, 13497, 13779, 14061, 14343, 14625, 14907, 15189, 15471, 15753, 16035, 16317, 16599, 16881, 17163, 17445, 17727, 18009, 18291, 18573, 18855, 19137, 19419, 19701]] - # 下砸攻击力:% - data1 = [(i*1.085*1.26*1.071) for i in [0, 2788, 3071, 3354, 3637, 3919, 4202, 4485, 4768, 5051, 5334, 5617, 5900, 6183, 6465, 6748, 7031, 7314, 7597, 7880, 8163, 8446, 8728, 9011, 9294, 9577, 9860, 10143, 10426, 10709, 10992, 11274, 11557, 11840, 12123, 12406, 12689, 12972, 13255, 13537, 13820, 14103, 14386, 14669, 14952, 15235, 15518, 15801, 16083, 16366, 16649, 16932, 17215, 17498, 17781, 18064, 18346, 18629, 18912, 19195, 19478, 19761]] - 攻击次数2 = 1 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - -# 神光闪耀 - - -class 技能11(职业主动技能): - 名称 = '神光闪耀' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 7816.3 - # 成长 = 882.7 - # 多段攻击力:% X 10 - data0 = [(i*1.085*1.259*1.07) for i in [0, 674, 743, 811, 880, 948, 1016, 1085, 1153, 1222, 1290, 1359, 1427, 1496, 1564, 1633, 1701, 1769, 1838, 1906, 1975, 2043, 2112, 2180, 2249, 2317, 2385, 2454, 2522, 2591, 2659, 2728, 2796, 2865, 2933, 3002, 3070, 3138, 3207, 3275, 3344, 3412, 3481, 3549, 3618, 3686, 3754, 3823, 3891, 3960, 4028, 4097, 4165, 4234, 4302, 4371, 4439, 4507, 4576, 4644, 4713, 4781, 4850, 4918, 4987, 5055, 5123, 5192, 5260, 5329, 5397]] - 攻击次数 = 10 - # 最后一击攻击力:% - data1 = [(i*1.085*1.259*1.07) for i in [0, 2891, 3185, 3478, 3771, 4065, 4358, 4651, 4945, 5238, 5531, 5825, 6118, 6411, 6705, 6998, 7292, 7585, 7878, 8172, 8465, 8758, 9052, 9345, 9638, 9932, 10225, 10518, 10812, 11105, 11399, 11692, 11985, 12279, 12572, 12865, 13159, 13452, 13745, 14039, 14332, 14625, 14919, 15212, 15506, 15799, 16092, 16386, 16679, 16972, 17266, 17559, 17852, 18146, 18439, 18732, 19026, 19319, 19613, 19906, 20199, 20493, 20786, 21079, 21373, 21666, 21959, 22253, 22546, 22839, 23133]] - 攻击次数2 = 1 - CD = 16 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 技能施放时间 = 2 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.24 + 0.09 - -# 神光闪影击 - - -class 技能12(职业主动技能): - 名称 = '神光闪影击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 10235.5 - # 成长 = 1155.5 - data0 = [(i*1.085*1.255*1.072) for i in [0, 530, 583, 637, 691, 745, 799, 852, 906, 960, 1014, 1067, 1121, 1175, 1229, 1283, 1336, 1390, 1444, 1498, 1552, 1605, 1659, 1713, 1767, 1820, 1874, 1928, 1982, 2036, 2089, 2143, 2197, 2251, 2304, 2358, 2412, 2466, 2520, 2573, 2627, 2681, 2735, 2788, 2842, 2896, 2950, 3004, 3057, 3111, 3165, 3219, 3273, 3326, 3380, 3434, 3488, 3541, 3595, 3649, 3703]] - 攻击次数 = 15 - data1 = [(i*1.085*1.255*1.072) for i in [0, 3526, 3884, 4242, 4599, 4957, 5315, 5673, 6031, 6388, 6746, 7104, 7462, 7819, 8177, 8535, 8893, 9251, 9608, 9966, 10324, 10682, 11039, 11397, 11755, 12113, 12471, 12828, 13186, 13544, 13902, 14259, 14617, 14975, 15333, 15691, 16048, 16406, 16764, 17122, 17479, 17837, 18195, 18553, 18911, 19268, 19626, 19984, 20342, 20699, 21057, 21415, 21773, 22131, 22488, 22846, 23204, 23562, 23919, 24277, 24635]] - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - - -# 神罚之锤 -class 技能13(职业主动技能): - 名称 = '神罚之锤' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 11383.6 - # 成长 = 1285.4 - data0 = [(i*1.085*1.26*1.071) for i in [0, 12762, 14056, 15351, 16646, 17941, 19235, 20530, 21825, 23120, 24414, 25709, 27004, 28298, 29593, 30888, 32183, 33477, 34772, 36067, 37361, 38656, 39951, 41246, 42540, 43835, 45130, 46424, 47719, 49014, 50309, 51603, 52898, 54193, 55488, 56782, 58077, 59372, 60666, 61961, 63256, 64551, 65845, 67140, 68435, 69729, 71024, 72319, 73614, 74908, 76203, 77498, 78793, 80087, 81382, 82677, 83971, 85266, 86561, 87856, 89150]] - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - elif x == 1: - self.倍率 *= 1.36 - - -# 神光之跃 -class 技能14(职业主动技能): - 名称 = '神光之跃' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 19198.4 - # 成长 = 2167.6 - data0 = [(i*1.085*1.258*1.073) for i in [0, 21521, 23705, 25888, 28071, 30255, 32438, 34622, 36805, 38988, 41172, 43355, 45538, 47722, 49905, 52089, 54272, 56455, 58639, 60822, 63005, 65189, 67372, 69556, 71739, 73922, 76106, 78289, 80472, 82656, 84839, 87023, 89206, 91389, 93573, 95756, 97939, 100123, 102306, 104490, 106673, 108856, 111040, 113223, 115406, 117590, 119773, 121957, 124140, 126323, 128507, 130690, 132873, 135057, 137240, 139424, 141607, 143790, 145974, 148157, 150340]] - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.32 - - -# 一觉 -class 技能15(职业主动技能): - 名称 = '信仰聚合神光惩戒' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 46241.6 - # 成长 = 13959.2 - data0 = [(i*1.085*1.261*1.06) for i in [0, 60638, 74699, 88760, 102821, 116882, 130943, 145004, 159065, 173126, 187187, 201248, 215309, 229370, 243431, 257492, 271553, 285614, 299675, 313736, 327797, 341858, 355919, 369980, 384041, 398102, 412163, 426224, 440285, 454346, 468407, 482468, 496529, 510590, 524651, 538712, 552773, 566834, 580895, 594956, 609017]] - CD = 145.0 - - -# 圣盾裁决 -class 技能16(职业主动技能): - 名称 = '圣盾裁决' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 14912.3 - # 成长 = 1683.7 - data0 = [(i*1.085*1.258*1.07) for i in [0, 16717, 18413, 20109, 21805, 23501, 25197, 26893, 28589, 30285, 31981, 33677, 35373, 37069, 38765, 40461, 42157, 43853, 45549, 47245, 48941, 50637, 52333, 54029, 55725, 57421, 59116, 60812, 62508, 64204, 65900, 67596, 69292, 70988, 72684, 74380, 76076, 77772, 79468, 81164, 82860]] - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - self.CD *= 0.90 - elif x == 1: - self.倍率 *= 1.33 - self.CD *= 0.90 - -# 破晓之光 - - -class 技能17(职业主动技能): - 名称 = '破晓之光' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 29092.3 - # 成长 = 3284.7 - data0 = [(i*1.085*1.26*1.072) for i in [0, 32613, 35922, 39230, 42539, 45848, 49156, 52465, 55774, 59082, 62391, 65699, 69008, 72317, 75625, 78934, 82243, 85551, 88860, 92168, 95477, 98786, 102094, 105403, 108712, 112020, 115329, 118637, 121946, 125255, 128563, 131872, 135181, 138489, 141798, 145107, 148415, 151724, 155032, 158341, 161650]] - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.11 - self.CD *= 0.90 - elif x == 1: - self.倍率 *= 1.19 - self.CD *= 0.90 - -# 神光回旋斩 择优 - - -class 技能18(职业主动技能): - 名称 = '神光回旋斩' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 基础 = 46139.6 - # 成长 = 5209.4 - data0 = [(i*1.085*1.26*1.071) for i in [0, 49688, 54729, 59770, 64811, 69852, 74892, 79933, 84974, 90015, 95056, 100097, 105138, 110178, 115219, 120260, 125301, 130342, 135383, 140424, 145465, 150505, 155546, 160587, 165628, 170669, 175710, 180751, 185791, 190832, 195873, 200914, 205955, 210996, 216037, 221078, 226118, 231159, 236200, 241241, 246282]] - CD = 40 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.2*6*1.14 - -# 神圣信约 - - -class 技能19(职业主动技能): - 名称 = '神圣信约' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 50250.4 - # 成长 = 5673.6 - data0 = [(i*1.085*1.261*1.071) for i in [0, 5111, 5630, 6149, 6667, 7186, 7705, 8223, 8742, 9260, 9779, 10298, 10816, 11335, 11853, 12372, 12891, 13409, 13928, 14446, 14965, 15484, 16002, 16521, 17039, 17558, 18077, 18595, 19114, 19633, 20151, 20670, 21188, 21707, 22226, 22744, 23263, 23781, 24300, 24819, 25337]] - 攻击次数 = 11 - CD = 45 - 是否有护石 = 1 - 蓄力 = 0 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0 and self.蓄力 == 0: - self.攻击次数 = 0 - self.攻击次数2 = 1 - self.data1 = [(i*11*1.32) for i in self.data0] - if x == 0 and self.蓄力 == 1: - self.攻击次数 = 0 - self.攻击次数2 = 1 - self.data1 = [(i*(11+0.23)*1.32) for i in self.data0] - -# 二觉 - - -class 技能20(职业主动技能): - 名称 = '神圣意志大天使降临' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 106483 - # 成长 = 32147 - data0 = [(i*1.085*1.261*1.06) for i in [0, 139642, 172022, 204403, 236784, 269165, 301546, 333926, 366307, 398688, 431069, 463450, 495830, 528211, 560592, 592973, 625354, 657734, 690115, 722496, 754877, 787258, 819638, 852019, 884400, 916781, 949162, 981542, 1013923, 1046304, 1078685, 1111066, 1143446, 1175827, 1208208, 1240589, 1272970, 1305350, 1337731, 1370112, 1402493]] - CD = 180 - - -class 技能21(被动技能): - 名称 = '超越之翼' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(职业主动技能): - 名称 = '神光耀世' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085*1.258*1.072) for i in [0, 9575, 10546, 11518, 12489, 13461, 14432, 15404, 16375, 17346, 18318, 19289, 20261, 21232, 22204, 23175, 24146, 25118, 26089, 27061, 28032, 29004, 29975, 30947, 31918, 32889, 33861, 34832, 35804, 36775, 37747, 38718, 39689, 40661, 41632, 42604, 43575, 44547, 45518, 46489, 47461]] - 攻击次数 = 4 - data1 = [int(i*1.085*1.258*1.072) for i in [0, 12767, 14062, 15357, 16653, 17948, 19243, 20538, 21834, 23129, 24424, 25719, 27015, 28310, 29605, 30900, 32195, 33491, 34786, 36081, 37376, 38672, 39967, 41262, 42557, 43853, 45148, 46443, 47738, 49034, 50329, 51624, 52919, 54215, 55510, 56805, 58100, 59396, 60691, 61986, 63281]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.258*1.072) for i in [0, 12767, 14062, 15357, 16653, 17948, 19243, 20538, 21834, 23129, 24424, 25719, 27015, 28310, 29605, 30900, 32195, 33491, 34786, 36081, 37376, 38672, 39967, 41262, 42557, 43853, 45148, 46443, 47738, 49034, 50329, 51624, 52919, 54215, 55510, 56805, 58100, 59396, 60691, 61986, 63281]] - 攻击次数3 = 6 - CD = 60 - -class 技能23(职业主动技能): - 名称 = '启示录:末日救赎' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - 关联技能 = ['无'] - CD = 290.0 - - data0 = [int(i*1.085*1.261*1.061) for i in [0, 36449, 44902, 53354, 61806, 70258, 78710, 87163, 95615, 104067, 112519, 120971, 129423, 137876, 146328, 154780, 163232, 171684, 180136, 188589, 197041, 205493, 213945, 222397, 230849, 239302, 247754, 256206, 264658, 273110, 281563, 290015, 298467, 306919, 315371, 323823, 332276, 340728, 349180, 357632, 366084]] - 攻击次数 = 1 - - data1 = [int(i*1.085*1.261*1.061) for i in [0, 10414, 12829, 15244, 17659, 20073, 22488, 24903, 27318, 29733, 32148, 34563, 36978, 39393, 41808, 44222, 46637, 49052, 51467, 53882, 56297, 58712, 61127, 63542, 65957, 68372, 70786, 73201, 75616, 78031, 80446, 82861, 85276, 87691, 90106, 92521, 94936, 97350, 99765, 102180, 104595]] - 攻击次数2 = 7 - - data2 = [int(i*1.085*1.261*1.061) for i in [0, 145799, 179608, 213417, 247226, 281034, 314843, 348652, 382460, 416269, 450078, 483886, 517695, 551504, 585312, 619121, 652930, 686739, 720547, 754356, 788165, 821973, 855782, 889591, 923399, 957208, 991017, 1024825, 1058634, 1092443, 1126252, 1160060, 1193869, 1227678, 1261486, 1295295, 1329104, 1362912, 1396721, 1430530, 1464338]] - 攻击次数3 = 1 - - data3 = [int(i*1.085*1.261*1.061) for i in [0, 15621, 19243, 22866, 26488, 30110, 33733, 37355, 40977, 44600, 48222, 51845, 55467, 59089, 62712, 66334, 69956, 73579, 77201, 80823, 84446, 88068, 91690, 95313, 98935, 102558, 106180, 109802, 113425, 117047, 120669, 124292, 127914, 131536, 135159, 138781, 142404, 146026, 149648, 153271, 156893]] - 攻击次数4 = 7 - - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '皓曦·帕拉丁' - 角色 = '守护者' - 职业 = '帕拉丁' - - 武器选项 = ['钝器'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '板甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.89 - - 蓄力神圣信约 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - - self.技能栏[self.技能序号['普通攻击'] - ].喷涌数据 = self.技能栏[self.技能序号['神光喷涌']].小型喷涌神光攻击力() - - if self.蓄力神圣信约 == 1: - # print(self.蓄力神圣信约) - self.技能栏[self.技能序号['神圣信约']].蓄力 = 1 - self.技能栏[self.技能序号['神圣信约']].装备护石(0) - - -class 皓曦·帕拉丁(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 护石判断(self): - sign = 0 - sign2 = 0 - for x in range(3): - if self.护石栏[x].currentText() == '神圣信约': - sign = 1 - if sign == 1: - # self.蓄力神圣信约.setChecked(False) - self.蓄力神圣信约.setEnabled(True) - self.蓄力神圣信约.setStyleSheet(复选框样式) - else: - self.蓄力神圣信约.setChecked(False) - self.蓄力神圣信约.setEnabled(False) - self.蓄力神圣信约.setStyleSheet(复选框样式) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - - self.蓄力神圣信约 = QCheckBox("蓄力-神圣信约", self.main_frame2) - self.蓄力神圣信约.setStyleSheet(复选框样式) - self.蓄力神圣信约.setChecked(False) - self.蓄力神圣信约.resize(120, 20) - self.蓄力神圣信约.move(325, 380) - - self.职业存档.append(('蓄力神圣信约', self.蓄力神圣信约, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.蓄力神圣信约.isChecked(): - 属性.蓄力神圣信约 = 1 - diff --git a/Characters/皓曦·混沌魔灵.py b/Characters/皓曦·混沌魔灵.py deleted file mode 100644 index f81815d9..00000000 --- a/Characters/皓曦·混沌魔灵.py +++ /dev/null @@ -1,929 +0,0 @@ -from PublicReference.carry.base import * - - -class 技能0(主动技能): - 名称 = '魔灵召唤:波拉斯' - 备注 = '(每秒DPS)' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 444.15 * 1.101 * 1.17 - 成长 = 13.94 * 1.101 * 1.17 - 攻击次数 = 12/4/20 - #数据1 = [0, 319, 362, 380, 397, 417, 435, 452, 470, 490, 509, 526, 546, 565, 583, 603, 622, 640, 658, 675, 694, 714, 733, 751, 770, 790, 806, 825, 845, 862, 880, 901, 919, 936, 956, 974, 993, 1011, 1031, 1050, 1065, 1086, 1104, 1122, 1142, 1161, 1179, 1199, 1216, 1235, 1254, 1272, 1290, 1309, 1327, 1346, 1366, 1384, 1403, 1422, 1440, 1458, 1477, 1495, 1514, 1532, 1550, 1571, 1590, 1608, 1626] - #攻击次数1 = 10 - #数据2 = [0, 1277, 1445, 1518, 1586, 1666, 1741, 1808, 1882, 1962, 2036, 2103, 2184, 2258, 2332, 2413, 2486, 2560, 2634, 2702, 2775, 2856, 2930, 3004, 3078, 3158, 3226, 3299, 3380, 3447, 3522, 3602, 3676, 3743, 3824, 3898, 3971, 4046, 4126, 4200, 4261, 4341, 4415, 4489, 4570, 4643, 4718, 4798, 4866, 4939, 5013, 5087, 5161, 5235, 5309, 5382, 5463, 5538, 5611, 5685, 5759, 5833, 5907, 5981, 6054, 6129, 6202, 6283, 6357, 6431, 6505] - #攻击次数2 = 2 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能1(主动技能): - 名称 = '魔灵召唤:瓦尔琪' - 备注 = '(每秒DPS)' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 328.09 * 1.102 * 1.173 - 成长 = 14.5 * 1.102 * 1.173 - 攻击次数 = 14/7/20 - #数据1 = [0, 177, 218, 235, 254, 273, 292, 310, 328, 347, 366, 384, 403, 422, 440, 458, 477, 496, 514, 533, 553, 570, 588, 608, 626, 644, 664, 682, 701, 719, 738, 757, 775, 794, 812, 830, 850, 868, 887, 905, 924, 943, 961, 979, 998, 1017, 1034, 1054, 1072, 1092, 1110, 1128, 1147, 1166, 1184, 1203, 1221, 1240, 1258, 1277, 1295, 1314, 1333, 1352, 1370, 1389, 1407, 1425, 1445, 1463, 1482] - #攻击次数1 = 11 - #数据2 = [0, 511, 558, 607, 655, 702, 750, 797, 846, 894, 942, 990, 1037, 1085, 1133, 1182, 1231, 1278, 1326, 1374, 1421, 1471, 1518, 1566, 1612, 1660, 1708, 1757, 1805, 1852, 1901, 1947, 1996, 2044, 2092, 2139, 2187, 2235, 2284, 2332, 2380, 2427, 2475, 2523, 2572, 2621, 2668, 2714, 2763, 2810, 2859, 2906, 2955, 3002, 3050, 3097, 3147, 3194, 3242, 3290, 3337, 3386, 3434, 3482, 3529, 3577, 3626, 3674, 3720, 3768, 3816] - #攻击次数2 = 3 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能2(被动技能): - 名称 = '魔灵血统' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.08 + 0.02 * self.等级, 5) - -class 技能3(被动技能): - 名称 = '力量法则' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['军团列阵', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', - '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸:亚丁降临', '绽放·终章', '盛宴·恶之祭典'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.085 + 0.015 * self.等级, 5) - -class 技能4(主动技能): - 名称 = '魔灵召唤:狂暴布洛克' - 备注 = '(每秒DPS)' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 506.41 * 1.101 * 1.173 - 成长 = 22.14 * 1.101 * 1.173 - 攻击次数 = 14/5.5/20 - #数据1 = [0, 724, 789, 859, 926, 994, 1061, 1129, 1196, 1263, 1331, 1399, 1466, 1533, 1600, 1671, 1740, 1807, 1875, 1941, 2009, 2078, 2147, 2214, 2279, 2346, 2415, 2484, 2552, 2619, 2686, 2753, 2823, 2890, 2957, 3025, 3093, 3160, 3227, 3295, 3362, 3430, 3497, 3565, 3636, 3704, 3771, 3838, 3904, 3972, 4041, 4109, 4176, 4244, 4311, 4379, 4448, 4515, 4583, 4650, 4718, 4786, 4855, 4922, 4990, 5057, 5124, 5192, 5260, 5327, 5394] - #攻击次数1 = 3 - #数据2 = [0, 651, 711, 773, 833, 895, 955, 1015, 1076, 1137, 1198, 1258, 1319, 1380, 1441, 1505, 1565, 1626, 1687, 1747, 1808, 1871, 1931, 1993, 2051, 2112, 2173, 2236, 2297, 2357, 2417, 2479, 2541, 2601, 2662, 2723, 2784, 2844, 2904, 2966, 3027, 3088, 3148, 3209, 3272, 3333, 3394, 3453, 3514, 3575, 3637, 3698, 3758, 3819, 3880, 3940, 4003, 4064, 4124, 4185, 4246, 4308, 4369, 4430, 4491, 4551, 4612, 4673, 4733, 4793, 4855] - #攻击次数2 = 3 - #数据3 = [0, 203, 221, 240, 259, 278, 297, 316, 335, 355, 373, 392, 410, 429, 448, 468, 487, 507, 525, 544, 563, 582, 600, 620, 638, 657, 676, 696, 715, 733, 752, 771, 790, 809, 828, 847, 866, 885, 905, 923, 941, 960, 979, 998, 1018, 1037, 1056, 1074, 1094, 1112, 1131, 1150, 1169, 1188, 1207, 1226, 1246, 1265, 1283, 1302, 1321, 1340, 1359, 1378, 1397, 1416, 1436, 1454, 1472, 1492, 1510] - #攻击次数3 = 8 - #出血数据4 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,10, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 13, 13, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 19, 19, 20, 20,20, 21, 21, 21, 22, 22, 24, 24, 25, 25, 25, 26, 26, 26, 27, 27, 27] - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能5(主动技能): - 名称 = '绝对魅力' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['魔灵召唤:波拉斯', '魔灵召唤:瓦尔琪', '魔灵召唤:狂暴布洛克', '魔灵召唤:假面杰森', '魔灵召唤:大画家芭芘', - '魔灵召唤:旋转小冯', '魔灵召唤:小吸血鬼夏伊', '魔灵召唤:大富翁鲁邦', '魔灵召唤:迪克老爹', '魔灵召唤:红心女王艾丽莎'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.035 + 0.012 * self.等级, 5) - - 自定义描述 = 1 - 描述 = '' - - def 技能描述(self, 武器类型): - temp = '' - temp += '加成倍率:%.1f%%' % (3.5 + 1.2 * self.等级) + '
' - temp += '关联技能:魔灵召唤系列,' - temp += self.描述 + ',魔灵(部分),毁灭突进(部分)' - return temp - -class 技能6(主动技能): - 名称 = '魔灵召唤:假面杰森' - 备注 = '(每秒DPS)' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 800.21 * 1.102 * 1.174 - 成长 = 34.68 * 1.102 * 1.174 - 攻击次数 = 8/7/20 - #数据1 = [0, 1418, 1547, 1682, 1814, 1947, 2079, 2211, 2344, 2476, 2609, 2741, 2874, 3005, 3137, 3277, 3409, 3542, 3674, 3806, 3938, 4074, 4207, 4338, 4467, 4599, 4731, 4868, 5000, 5133, 5264, 5396, 5532, 5665, 5797, 5929, 6062, 6194, 6326, 6458, 6591, 6723, 6855, 6988, 7127, 7259, 7392, 7520, 7652, 7784, 7920, 8052, 8185, 8317, 8449, 8582, 8717, 8850, 8982, 9114, 9247, 9382, 9514, 9647, 9779, 9912, 10044, 10175, 10308, 10440, 10572] - #攻击次数1 = 6 - #数据2 = [0, 284, 310, 337, 364, 390, 416, 442, 469, 496, 522, 548, 574, 600, 627, 655, 681, 708, 734, 761, 788, 815, 842, 868, 894, 921, 946, 974, 1000, 1027, 1053, 1079, 1106, 1133, 1160, 1186, 1212, 1238, 1265, 1292, 1319, 1345, 1371, 1398, 1426, 1452, 1479, 1504, 1531, 1557, 1584, 1610, 1637, 1663, 1690, 1716, 1743, 1770, 1797, 1823, 1849, 1877, 1903, 1930, 1956, 1982, 2009, 2035, 2062, 2088, 2114] - #攻击次数2 = 2 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能7(主动技能): - 名称 = '魔灵召唤:大画家芭芘' - 备注 = '(每秒DPS)' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 435.41 * 1.101 * 1.163 - 成长 = 18.88 * 1.101 * 1.163 - 攻击次数 = 14/5/20 - #数据1 = [0, 280, 307, 334, 360, 385, 412, 437, 464, 491, 517, 544, 569, 596, 622, 650, 676, 701, 727, 754, 780, 807, 833, 860, 885, 911, 938, 964, 991, 1016, 1043, 1069, 1095, 1122, 1148, 1175, 1202, 1227, 1254, 1280, 1305, 1332, 1359, 1384, 1412, 1437, 1464, 1490, 1517, 1543, 1569, 1595, 1622, 1648, 1674, 1700, 1726, 1752, 1779, 1805, 1832, 1859, 1885, 1911, 1937, 1963, 1990, 2016, 2042, 2068, 2093] - #攻击次数1 = 12 - #数据2 = [0, 365, 398, 432, 467, 500, 535, 569, 603, 637, 671, 706, 740, 773, 808, 843, 878, 911, 946, 979, 1013, 1049, 1083, 1116, 1149, 1183, 1217, 1252, 1286, 1319, 1355, 1388, 1423, 1456, 1491, 1526, 1560, 1594, 1629, 1662, 1696, 1730, 1764, 1798, 1833, 1868, 1901, 1935, 1969, 2003, 2038, 2072, 2105, 2139, 2174, 2207, 2242, 2276, 2310, 2345, 2379, 2414, 2447, 2481, 2516, 2550, 2584, 2619, 2651, 2686, 2719] - #攻击次数2 = 2 - #复制伤害数据3 = [0, 1184, 1293, 1406, 1517, 1626, 1738, 1848, 1959, 2072, 2182, 2292, 2404, 2514, 2624, 2739, 2850, 2961,3073, 3182, 3292, 3405, 3516, 3626, 3736, 3846, 3956, 4068, 4180, 4290, 4401, 4511, 4623, 4734, 4846, 4955,5066, 5177, 5290, 5400, 5512, 5622, 5732, 5843, 5959, 6069, 6179, 6287, 6398, 6510, 6622, 6732, 6844, 6953,7063, 7175, 7288, 7398, 7509, 7619, 7729, 7842, 7953, 8064, 8174, 8285, 8398, 8509, 8617, 8727, 8838] - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能8(主动技能): - 名称 = '魔灵召唤:旋转小冯' - 备注 = '(每秒DPS)' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 1444.80 * 1.105 * 1.18 - 成长 = 61.64 * 1.105 * 1.18 - 攻击次数 = 73/90/20 - #数据1 = [0, 190, 208, 227, 244, 262, 279, 297, 314, 332, 350, 368, 385, 403, 421, 440, 457, 476, 493, 511, 529, 547, 564, 582, 599, 617, 635, 653, 671, 689, 707, 725, 743, 760, 778, 796, 814, 833, 850, 867, 885, 903, 921, 938, 957, 975, 992, 1010, 1028, 1045, 1063, 1080, 1099, 1117, 1135, 1151, 1170, 1188, 1206, 1223, 1241, 1259, 1277, 1295, 1313, 1330, 1349, 1366, 1383, 1401, 1418] - #攻击次数1 = 9 * 5 - #数据2 = [0, 245, 268, 291, 314, 337, 360, 381, 404, 428, 451, 473, 497, 519, 543, 565, 589, 611, 635, 657, 680, 702, 725, 748, 771, 794, 817, 840, 863, 886, 908, 931, 954, 977, 1000, 1022, 1046, 1068, 1092, 1114, 1138, 1160, 1184, 1206, 1230, 1252, 1275, 1298, 1321, 1344, 1366, 1390, 1412, 1436, 1458, 1481, 1505, 1527, 1550, 1573, 1595, 1618, 1641, 1664, 1687, 1710, 1734, 1757, 1778, 1802, 1823] - #攻击次数2 = 3 * 6 - #数据3 = [0, 339, 371, 402, 436, 467, 499, 529, 562, 594, 626, 657, 689, 721, 752, 786, 817, 849, 880, 913, 943, 977, 1009, 1040, 1070, 1103, 1134, 1166, 1197, 1230, 1262, 1293, 1326, 1358, 1390, 1420, 1454, 1484, 1517, 1548, 1580, 1611, 1643, 1675, 1709, 1740, 1771, 1803, 1833, 1867, 1900, 1931, 1961, 1994, 2026, 2057, 2089, 2120, 2152, 2184, 2216, 2248, 2280, 2313, 2344, 2374, 2408, 2439, 2471, 2502, 2534] - #攻击次数3 = 1 * 10 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能9(主动技能): - 名称 = '魔灵召唤:小吸血鬼夏伊' - 备注 = '(每秒DPS)' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 711.37 * 1.103 * 1.171 - 成长 = 30.36 * 1.103 * 1.171 - 攻击次数 = 14/3/20 - #数据1 = [0, 507, 554, 602, 649, 697, 743, 791, 839, 887, 933, 982, 1029, 1076, 1123, 1173, 1220, 1267, 1315, 1363, 1409, 1458, 1506, 1553, 1599, 1645, 1694, 1742, 1788, 1837, 1885, 1931, 1979, 2028, 2075, 2121, 2169, 2217, 2264, 2313, 2359, 2407, 2453, 2501, 2552, 2598, 2644, 2691, 2740, 2787, 2834, 2882, 2930, 2976, 3025, 3071, 3120, 3167, 3214, 3262, 3309, 3357, 3405, 3452, 3500, 3547, 3596, 3643, 3689, 3736, 3783] - #攻击次数1 = 10 - #数据2 = [0, 543, 594, 645, 697, 747, 797, 848, 899, 950, 1001, 1051, 1103, 1153, 1204, 1256, 1307, 1358, 1409, 1460, 1510, 1563, 1614, 1665, 1713, 1763, 1814, 1867, 1917, 1968, 2019, 2070, 2120, 2172, 2222, 2273, 2324, 2375, 2427, 2479, 2527, 2579, 2629, 2680, 2734, 2784, 2834, 2885, 2935, 2986, 3038, 3089, 3139, 3191, 3241, 3291, 3344, 3393, 3443, 3495, 3545, 3598, 3649, 3700, 3750, 3802, 3852, 3903, 3954, 4003, 4054] - #攻击次数2 = 3 - #数据3 = [0, 1356, 1484, 1611, 1738, 1867, 1994, 2118, 2245, 2374, 2502, 2629, 2756, 2882, 3009, 3141, 3267, 3394, 3522, 3649, 3776, 3905, 4032, 4159, 4281, 4408, 4535, 4665, 4792, 4919, 5046, 5173, 5303, 5430, 5557, 5684, 5811, 5938, 6067, 6194, 6318, 6445, 6572, 6699, 6834, 6958, 7085, 7210, 7337, 7464, 7594, 7721, 7848, 7974, 8102, 8225, 8357, 8483, 8609, 8736, 8863, 8994, 9121, 9248, 9374, 9500, 9629, 9756, 9881, 10007, 10134] - #攻击次数3 = 1 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能10(主动技能): - 名称 = '魔灵召唤:大富翁鲁邦' - 备注 = '(每秒DPS)' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 1024.96 * 1.105 * 1.169 - 成长 = 38.23 * 1.105 * 1.169 - 攻击次数 = 18/5/20 - #data1 = [0, 528, 564, 600, 636, 673, 709, 745, 781, 817, 852, 890, 926, 962, 998, 1034, 1069, 1107, 1142, 1179, 1213, 1249, 1285, 1322, 1358, 1394, 1430, 1466, 1502, 1538, 1575, 1610, 1646, 1683, 1719, 1755, 1790, 1827, 1862, 1898, 1936, 1971, 2007, 2043, 2079, 2115, 2152, 2187, 2224, 2260, 2296, 2330, 2369, 2404, 2440, 2476, 2512, 2548, 2584, 2621, 2656, 2692, 2729, 2765, 2800, 2836, 2872, 2909, 2946, 2981, 3017] - #data2 = [0, 1163, 1242, 1321, 1400, 1480, 1559, 1639, 1717, 1797, 1875, 1958, 2038, 2117, 2196, 2275, 2354, 2435, 2514, 2593, 2669, 2749, 2828, 2908, 2987, 3067, 3145, 3226, 3305, 3384, 3464, 3542, 3622, 3702, 3782, 3860, 3938, 4019, 4097, 4177, 4260, 4338, 4416, 4494, 4574, 4654, 4733, 4811, 4892, 4970, 5049, 5128, 5210, 5287, 5367, 5445, 5525, 5606, 5684, 5765, 5844, 5922, 6004, 6082, 6160, 6237, 6317, 6398, 6479, 6557, 6637] - #data3 = [0, 1743, 1862, 1982, 2100, 2219, 2338, 2458, 2577, 2695, 2813, 2937, 3056, 3175, 3293, 3412, 3531, 3652, 3770, 3889, 4003, 4122, 4242, 4362, 4480, 4602, 4719, 4837, 4957, 5078, 5196, 5315, 5432, 5552, 5673, 5792, 5908, 6028, 6145, 6263, 6390, 6505, 6624, 6741, 6861, 6980, 7100, 7219, 7337, 7456, 7574, 7691, 7815, 7932, 8051, 8168, 8288, 8408, 8527, 8646, 8764, 8883, 9005, 9123, 9240, 9356, 9474, 9596, 9717, 9835, 9954] - #data4 = [0, 627, 671, 713, 755, 799, 842, 885, 927, 969, 1013, 1057, 1099, 1143, 1186, 1228, 1272, 1315, 1357, 1400, 1441, 1485, 1527, 1571, 1613, 1656, 1698, 1742, 1785, 1828, 1870, 1913, 1956, 1999, 2042, 2085, 2127, 2170, 2212, 2255, 2300, 2343, 2384, 2426, 2471, 2512, 2556, 2598, 2641, 2686, 2727, 2769, 2813, 2855, 2898, 2940, 2984, 3028, 3070, 3112, 3155, 3198, 3241, 3284, 3327, 3369, 3411, 3455, 3498, 3541, 3583] - #数据 = [data1, data2, data3, data4] - #次数 = [8, 4, 1, 1*5,] - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - - # def 等效百分比(self, 武器类型): - #sum = 0 - # for i in range(4): - #sum += self.数据[i][self.等级] * self.次数[i] - # return sum * self.倍率 - -class 技能11(主动技能): - 名称 = '魔灵召唤:迪克老爹' - 备注 = '(每秒DPS)' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 1179.84 * 1.105 * 1.175 - 成长 = 55.34 * 1.105 * 1.175 - 攻击次数 = 8/1.8/20 - #数据1 = [0, 680, 749, 818, 887, 957, 1025, 1094, 1163, 1232, 1301, 1370, 1439, 1508, 1577, 1646, 1715, 1784, 1853, 1922, 1991, 2060, 2129, 2198, 2267, 2336, 2405, 2474, 2543, 2612, 2680, 2750, 2819, 2888, 2957, 3026, 3094, 3164, 3233, 3302, 3371, 3440, 3508, 3578, 3647, 3715, 3785, 3853, 3923, 3992, 4061, 4129, 4199, 4268, 4337, 4406, 4475, 4543, 4613, 4682, 4751, 4820, 4889, 4958, 5027, 5096, 5164, 5234, 5302, 5371, 5441] - #攻击次数1 = 10 - #数据2 = [0, 1941, 2138, 2335, 2533, 2730, 2926, 3123, 3319, 3516, 3714, 3911, 4108, 4305, 4501, 4699, 4896, 5092, 5289, 5486, 5684, 5881, 6077, 6274, 6471, 6668, 6865, 7061, 7259, 7456, 7653, 7850, 8046, 8243, 8440, 8637, 8834, 9031, 9229, 9425, 9622, 9819, 10015, 10213, 10409, 10607, 10805, 11000, 11197, 11395, 11591, 11789, 11985, 12182, 12380, 12576, 12773, 12970, 13166, 13364, 13561, 13757, 13955, 14152, 14349, 14546, 14742, 14939, 15136, 15333, 15530] - #攻击次数2 = 2 - #数据3 = [0, 2448, 2696, 2945, 3193, 3442, 3690, 3938, 4186, 4434, 4684, 4931, 5180, 5429, 5676, 5925, 6174, 6422, 6670, 6918, 7167, 7415, 7663, 7912, 8160, 8408, 8657, 8906, 9153, 9402, 9650, 9898, 10147, 10395, 10643, 10892, 11140, 11389, 11637, 11885, 12134, 12382, 12631, 12879, 13127, 13375, 13624, 13872, 14120, 14369, 14617, 14865, 15114, 15362, 15611, 15859, 16107, 16356, 16603, 16853, 17101, 17348, 17598, 17846, 18094, 18342, 18590, 18839, 19087, 19336, 19584] - #攻击次数3 = 1 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能12(主动技能): - 名称 = '魔灵召唤:红心女王艾丽莎' - 备注 = '(每秒DPS)' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - 基础 = 1647.65 * 1.105 * 1.173 - 成长 = 76.20 * 1.105 * 1.173 - 攻击次数 = 12/1.8/20 - #数据1 = [0, 2293, 2525, 2759, 2991, 3223, 3455, 3688, 3921, 4154, 4387, 4619, 4851, 5083, 5317, 5549, 5781, 6015, 6247, 6479, 6712, 6945, 7177, 7410, 7643, 7875, 8108, 8339, 8573, 8806, 9038, 9271, 9504, 9735, 9968, 10202, 10434, 10666, 10899, 11131, 11363, 11597, 11830, 12062, 12294, 12527, 12759, 12992, 13225, 13458, 13690, 13922, 14155, 14387, 14621, 14853, 15086, 15318, 15550, 15783, 16016, 16249, 16480, 16714, 16946, 17178, 17411, 17645, 17876, 18109, 18342] - #攻击次数1 = 6*0.795 - #数据2 = [0, 2523, 2778, 3035, 3290, 3545, 3801, 4057, 4314, 4569, 4825, 5081, 5336, 5592, 5849, 6105, 6359, 6616, 6872, 7127, 7384, 7640, 7894, 8150, 8407, 8663, 8919, 9174, 9430, 9686, 9941, 10198, 10454, 10709, 10965, 11222, 11477, 11732, 11989, 12245, 12500, 12757, 13012, 13268, 13523, 13780, 14036, 14292, 14547, 14803, 15059, 15314, 15571, 15827, 16083, 16338, 16594, 16850, 17105, 17362, 17618, 17873, 18128, 18385, 18641, 18896, 19153, 19409, 19663, 19920, 20176] - #攻击次数2 = 3*0.795 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - -class 技能13(主动技能): - 名称 = '军团列阵' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 3 - 等级精通 = 60 - - data = [int(x*1.152) for x in [0, 4025, 4661, 5305, 5947, 6590, 7232, 7870, 8513, 9155, 9797, 10440, 11078, 11721, 12363, 13006, 13644, 14286, 14929, 15572, 16215, 16851, 17495, 18137, 18780, 19423, 20060, 20703, 21346, 21988, 22631, 23270, 23912, 24553, 25197, 25834,26477, 27120, 27763, 28405, 29042, 29685, 30328, 30971, 31614, 32251, 32893, 33537, 34178, 34821, 35460, 36102, 36743, 37387, 38025, 38667, 39310, 39953, 40595, 41233, 41875, 42518, 43161, 43804, 44441, 45084, 45727, 46369, 47008, 47650, 48292]] - 攻击次数 = 1 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.48 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能14(主动技能): - 名称 = '连锁共振' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 1 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - 关联技能 = ['魔灵召唤:波拉斯', '魔灵召唤:狂暴布洛克', '魔灵召唤:假面杰森', '魔灵召唤:旋转小冯', '魔灵召唤:迪克老爹'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 7: - return round(1.94 + 0.02 * self.等级, 5) - else: - return round(2.1 + 0 * (self.等级 - 7), 5) - -class 技能15(主动技能): - 名称 = '魔灵炸弹' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.146) for x in [0, 546, 602, 658, 715, 771, 828, 884, 940, 998, 1054, 1111, 1167, 1223, 1280, 1336, 1392, 1449, 1505, 1562, 1618, 1674, 1731, 1788, 1844, 1899, 1956, 2013, 2071, 2127, 2183, 2239, 2296, 2353, 2409, 2465, 2521,2578, 2634, 2690, 2746, 2804, 2860, 2916, 2972, 3029, 3086, 3141, 3197, 3254, 3311, 3368, 3425, 3481, 3538, 3594, 3651, 3707, 3763, 3820, 3876, 3932, 3988, 4045, 4102, 4158, 4214, 4271, 4327, 4383, 4439]] # jio踢 - 攻击次数1 = 1 - data2 = [int(x*1.146) for x in [0, 7621, 8393, 9166, 9940, 10711, 11486, 12258, 13032, 13805, 14578, 15351, 16124, 16897, 17669, 18443, 19216, 19990, 20763, 21538, 22309, 23085, 23855, 24626, 25401, 26174, 26948, 27721, 28496, 29270, 30043, 30815, 31588, 32359, 33133, 33905,34679, 35454, 36228, 37000, 37773, 38549, 39320, 40090, 40865, 41637, 42413, 43185, 43958, 44731, 45507, 46278, 47050, 47823, 48596, 49370, 50143, 50916, 51688, 52464, 53236, 54008, 54781, 55554, 56330, 57101, 57876, 58646, 59422, 60196, 60966]] # 大爹 - 攻击次数2 = 1 - data3 = [int(x*1.146) for x in [0, 6065, 6690, 7301, 7920, 8536, 9158, 9770, 10373, 10988, 11610, 12228, 12840, 13454, 14075, 14691, 15309, 15921, 16534, 17152, 17774, 18379, 19001, 19617, 20232, 20843, 21460, 22083, 22699, 23303, 23931, 24545, 25166, 25771, 26383, 27009, 27621,28235, 28851, 29465, 30091, 30702, 31305, 31929, 32545, 33170, 33774, 34400, 35014, 35625, 36244, 36853, 37465, 38094, 38697, 39319, 39932, 40562, 41166, 41782, 42390, 43022, 43633, 44244, 44857, 45486, 46101, 46710, 47321, 47944, 48553]] # 鸭子爆炸旋风5hit - 攻击次数3 = 1 - CD = 12 - 演出时间 = 1.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效百分比2(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能16(主动技能): - 名称 = '魔幻旋风' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.18) for x in [0, 787, 867, 946, 1026, 1106, 1186, 1266, 1346, 1426, 1505, 1585, 1665, 1745, 1825, 1905, 1985, 2064, 2144, 2224, 2304, 2384, 2464, 2544, 2623, 2703, 2783, 2863, 2943, 3023, 3103, 3182, 3262, 3342, 3422, 3502, 3582, 3662, 3741, 3821, 3901, 3981, 4061, 4141, 4221, 4300, 4380, 4460, 4540, 4620, 4700, 4780, 4859, 4939, 5019, 5099, 5179, 5259, 5339, 5418, 5498, 5578, 5658, 5738, 5818, 5898, 5977, 6057, 6137, 6217, 6297]] - 攻击次数1 = 1 - data2 = [int(x*1.18) for x in [0, 263, 289, 316, 343, 370, 396, 423, 450, 476, 503, 530, 557, 583, 610, 637, 663, 690, 717, 743, 770, 797, 824, 850, 877, 904, 930, 957, 984, 1011, 1037, 1064, 1091, 1117, 1144, 1171, 1197, 1224, 1251, 1278, 1304, 1331, 1358, 1384, 1411, 1438, 1465, 1491, 1518, 1545, 1571, 1598, 1625, 1651, 1678, 1705, 1732, 1758, 1785, 1812, 1838, 1865, 1892, 1919, 1945, 1972, 1999, 2025, 2052, 2079, 2105]] # 多段攻击 - 攻击次数2 = 14 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 2.52 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能17(主动技能): - 名称 = '毁灭突进' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.139) for x in [0, 2869, 3154, 3446, 3741, 4031, 4323, 4606, 4898, 5193, 5486, 5775, 6067, 6355, 6650, 6935, 7227, 7518, 7811, 8099, 8391, 8681, 8970, 9269, 9553, 9848, 10135, 10427, 10719, 11008, 11297, 11587, 11881, 12175, 12457, 12753, 13044, 13331, 13626, 13918, 14209, 14495, 14786, 15077, 15372, 15657, 15947, 16239, 16534, 16824, 17112, 17405, 17690, 17984, 18278, 18567, 18855, 19146, 19438, 19733, 20018, 20313, 20608, 20893, 21185, 21470, 21765, 22056, 22347, 22638, 22928]] # 突进和最后一击 - 攻击次数1 = 2 - data2 = [int(x*1.139) for x in [0, 80, 88, 96, 105, 113, 122, 129, 138, 145, 153, 162, 169, 179, 187, 194, 203, 211, 218, 227, 234, 243, 251, 260, 268, 276, 284, 292, 300, 308, 316, 324, 333, 341, 349, 357, 365, 373, 381, 390, 397, 406, 415, 422, 431, 439, 446, 455, 463, 470, 480, 488, 496, 504, 511, 520, 528, 536, 544, 552, 561, 569, 578, 585, 593, 601, 609, 617, 626, 634, 643]] - 攻击次数2 = 5 - data3 = [int(x*1.139) for x in [0, 242, 265, 289, 315, 339, 363, 387, 412, 436, 461, 485, 509, 534, 559, 583, 607, 632, 656, 680, 705, 729, 753, 779, 802, 826, 852, 876, 900, 925, 949, 973, 999, 1023, 1046, 1072, 1096, 1119, 1145, 1169, 1193, 1218, 1242, 1266, 1292, 1316, 1340, 1365, 1389, 1413, 1437, 1463, 1486, 1511, 1535, 1559, 1584, 1609, 1633, 1657, 1682, 1706, 1730, 1756, 1780, 1803, 1829, 1852, 1876, 1902, 1926]] - 攻击次数3 = 5 - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.88 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能18(主动技能): - 名称 = '翔空剑' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.181) for x in [0, 962, 1060, 1157, 1255, 1352, 1450, 1548, 1645, 1743, 1841, 1938, 2036, 2134, 2231, 2329, 2426, 2524, 2622, 2719, 2817, 2915, 3012, 3110, 3208, 3305, 3403, 3501, 3598, 3696, 3793, 3891, 3989, 4086, 4184, 4282, 4379, 4477, 4575, 4672, 4770, 4867, 4965, 5063, 5160, 5258, 5356, 5453, 5551, 5649, 5746, 5844, 5941, 6039, 6137, 6234, 6332, 6430, 6527, 6625, 6723, 6820, 6918, 7015, 7113, 7211, 7308, 7406, 7504, 7601, 7699]] - 攻击次数1 = 1 - data2 = [int(x*1.181) for x in [0, 1261, 1388, 1516, 1644, 1772, 1900, 2028, 2156, 2284, 2412, 2540, 2668, 2796, 2924, 3051, 3179, 3307, 3435, 3563, 3691, 3819, 3947, 4075, 4203, 4331, 4459, 4587, 4715, 4842, 4970, 5098, 5226, 5354, 5482, 5610, 5738, 5866, 5994, 6122, 6250, 6378, 6506, 6633, 6761, 6889, 7017, 7145, 7273, 7401, 7529, 7657, 7785, 7913, 8041, 8169, 8297, 8424, 8552, 8680, 8808, 8936, 9064, 9192, 9320, 9448, 9576, 9704, 9832, 9960, 10088]] - 攻击次数2 = 1 - data3 = [int(x*1.181) for x in [0, 947, 1043, 1139, 1235, 1331, 1427, 1523, 1619, 1715, 1811, 1907, 2004, 2100, 2196, 2292, 2388, 2484, 2580, 2676, 2772, 2868, 2964, 3060, 3157, 3253, 3349, 3445, 3541, 3637, 3733, 3829, 3925, 4021, 4117, 4213, 4310, 4406, 4502, 4598, 4694, 4790, 4886, 4982, 5078, 5174, 5270, 5367, 5463, 5559, 5655, 5751, 5847, 5943, 6039, 6135, 6231, 6327, 6423, 6520, 6616, 6712, 6808, 6904, 7000, 7096, 7192, 7288, 7384, 7480, 7576]] - 攻击次数3 = 1 - data4 = [int(x*1.181) for x in [0, 568, 626, 684, 741, 799, 857, 914, 972, 1030, 1087, 1145, 1203, 1261, 1318, 1376, 1434, 1491, 1549, 1607, 1664, 1722, 1780, 1837, 1895, 1953, 2011, 2068, 2126, 2184, 2241, 2299, 2357, 2414, 2472, 2530, 2588, 2645, 2703, 2761, 2818, 2876, 2934, 2991, 3049, 3107, 3164, 3222, 3280, 3338, 3395, 3453, 3511, 3568, 3626, 3684, 3741, 3799, 3857, 3915, 3972, 4030, 4088, 4145, 4203, 4261, 4318, 4376, 4434, 4491, 4549]] - 攻击次数4 = 1 - data5 = [int(x*1.181) for x in [0, 379, 417, 456, 494, 532, 571, 609, 648, 686, 725, 763, 802, 840, 879, 917, 956, 994, 1033, 1071, 1109, 1148, 1186, 1225, 1263, 1302, 1340, 1379, 1417, 1456, 1494, 1533, 1571, 1609, 1648, 1686, 1725, 1763, 1802, 1840, 1879, 1917, 1956, 1994, 2033, 2071, 2109, 2148, 2186, 2225, 2263, 2302, 2340, 2379, 2417, 2456, 2494, 2533, 2571, 2610, 2648, 2686, 2725, 2763, 2802, 2840, 2879, 2917, 2956, 2994, 3033]] - 攻击次数5 = 15 - data6 = [int(x*1.181) for x in [0, 1510, 1663, 1816, 1970, 2123, 2276, 2429, 2582, 2736, 2889, 3042, 3195, 3349, 3502, 3655, 3808, 3961, 4115, 4268, 4421, 4574, 4728, 4881, 5034, 5187, 5340, 5494, 5647, 5800, 5953, 6107, 6260, 6413, 6566, 6719, 6873, 7026, 7179, 7332, 7486, 7639, 7792, 7945, 8099, 8252, 8405, 8558, 8711, 8865, 9018, 9171, 9324, 9478, 9631, 9784, 9937, 10090, 10244, 10397, 10550, 10703, 10857, 11010, 11163, 11316, 11469, 11623, 11776, 11929, 12082]] - 攻击次数6 = 1 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.40 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4 + self.data5[self.等级] * (self.攻击次数5 + self.TP等级) + self.data6[self.等级] * self.攻击次数6) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - self.演出时间 += 0.32 - elif x == 1: - self.倍率 *= 1.23 + 0.09 - self.演出时间 += 0.32 - -class 技能19(主动技能): - 名称 = '碎灵屠戮' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(x*1.102) for x in [0, 7029, 7760, 8484, 9212, 9936, 10664, 11396, 12120, 12847, 13571, 14304, 15025, 15751, 16463, 17191, 17938, 18661, 19388, 20099, 20825, 21572, 22295, 23024, 23730, 24476, 25185, 25914, 26638, 27366, 28112, 28821, 29552, 30274, 31002, 31746, 32457, 33174, 33904, 34639, 35362, 36088, 36812, 37539, 38273, 38996, 39725, 40447, 41175, 41909, 42629, 43353, 44079, 44813, 45536, 46263, 46988, 47714, 48447, 49170, 49900, 50623, 51332, 52076, 52804, 53526, 54255, 54988, 55713, 56439, 57163]] - # 攻击次数1 = 1 - data2 = [int(x*1.102) for x in [0, 1634, 1795, 1956, 2117, 2278, 2438, 2598, 2759, 2920, 3082, 3242, 3404, 3565, 3731, 3892, 4045, 4207, 4368, 4534, 4695, 4849, 5012, 5171, 5340, 5493, 5661, 5820, 5982, 6144, 6298, 6465, 6625, 6788, 6948, 7103, 7269, 7433, 7592, 7751, 7913, 8075, 8236, 8396, 8554, 8717, 8876, 9038, 9201, 9359, 9521, 9684, 9845, 10003, 10165, 10325, 10488, 10650, 10807, 10970, 11129, 11290, 11459, 11613, 11773, 11936, 12096, 12256, 12417, 12578, 12738]] - #攻击次数2 = 1 - data3 = [int(x*1.102) for x in [0, 2996, 3293, 3593, 3894, 4191, 4490, 4788, 5088, 5388, 5687, 5982, 6285, 6584, 6888, 7188, 7479, 7779, 8078, 8382, 8682, 8973, 9273, 9571, 9879, 10171, 10476, 10775, 11073, 11374, 11666, 11971, 12267, 12570, 12867, 13161, 13464, 13767, 14064, 14360, 14662, 14961, 15261, 15558, 15855, 16156, 16455, 16754, 17053, 17350, 17652, 17951, 18250, 18547, 18847, 19146, 19446, 19745, 20042, 20342, 20641, 20940, 21247, 21539, 21838, 22137, 22436, 22733, 23034, 23331, 23631]] - #攻击次数3 = 1 - data4 = [int(x*1.102) for x in [0, 5046, 5557, 6068, 6582, 7093, 7605, 8118, 8629, 9142, 9653, 10163, 10676, 11188, 11699, 12213, 12724, 13237, 13748, 14259, 14773, 15282, 15795, 16307, 16818, 17330, 17843, 18355, 18867, 19378, 19890, 20403, 20915, 21426, 21938, 22449, 22962, 23474, 23985, 24498, 25009, 25521, 26032, 26545, 27055, 27570, 28080, 28593, 29105, 29616, 30128, 30640, 31151, 31665, 32176, 32687, 33199, 33712, 34224, 34736, 35246, 35759, 36271, 36780, 37295, 37805, 38318, 38830, 39343, 39854, 40365]] - #攻击次数4 = 1 - data5 = [int(x*1.102) for x in [0, 6463, 7117, 7771, 8428, 9083, 9738, 10396, 11049, 11704, 12361, 13016, 13671, 14329, 14982, 15638, 16294, 16949, 17604, 18262, 18915, 19572, 20227, 20882, 21538, 22193, 22850, 23505, 24159, 24815, 25471, 26126, 26783, 27438, 28092, 28748, 29405, 30059, 30716, 31371, 32025, 32681, 33337, 33992, 34649, 35303, 35960, 36615, 37270, 37925, 38582, 39238, 39891, 40548, 41203, 41858, 42515, 43169, 43826, 44481, 45137, 45793, 46446, 47104, 47759, 48413, 49070, 49725, 50379, 51037, 51692]] - #攻击次数5 = 1 - data6 = [int(x*1.102) for x in [0, 5853, 6447, 7042, 7635, 8228, 8822, 9416, 10009, 10604, 11196, 11789, 12386, 12979, 13573, 14166, 14759, 15353, 15947, 16542, 17135, 17729, 18322, 18917, 19510, 20104, 20698, 21291, 21886, 22479, 23073, 23668, 24261, 24854, 25447, 26042, 26637, 27229, 27824, 28417, 29010, 29606, 30198, 30791, 31386, 31979, 32573, 33168, 33761, 34355, 34948, 35543, 36137, 36729, 37324, 37919, 38510, 39106, 39699, 40294, 40888, 41480, 42073, 42668, 43263, 43855, 44450, 45043, 45638, 46231, 46824]] - #攻击次数6 = 1 - data7 = [int(x*1.102) for x in [0, 1769, 1949, 2129, 2309, 2488, 2669, 2846, 3027, 3205, 3387, 3565, 3746, 3925, 4103, 4283, 4463, 4643, 4823, 5002, 5181, 5360, 5541, 5720, 5899, 4438, 6258, 6438, 6618, 6797, 6978, 7157, 7338, 7516, 7694, 7874, 8054, 8234, 8414, 8594, 8772, 8952, 9130, 9312, 9490, 9671, 9850, 10029, 10208, 10388, 10570, 10748, 10928, 11108, 11286, 11466, 11645, 11826, 12004, 12185, 12364, 12543, 12722, 12904, 13082, 13263, 13441, 13621, 13799, 13980, 14159]] - #攻击次数7 = 1 - data8 = [int(x*1.102) for x in [0, 2181, 2403, 2622, 2845, 3066, 3286, 3508, 3728, 3951, 4171, 4393, 4614, 4835, 5056, 5277, 5498, 5720, 5940, 6163, 6383, 6605, 6825, 7046, 7269, 7488, 7710, 7930, 8152, 8373, 8596, 8817, 9038, 9261, 9480, 9702, 9924, 10144, 10366, 10588, 10809, 11029, 11249, 11472, 11693, 11914, 12134, 12356, 12578, 12799, 13021, 13239, 13462, 13683, 13904, 14126, 14346, 14568, 14788, 15012, 15231, 15454, 15675, 15896, 16119, 16338, 16560, 16782, 17004, 17225, 17444]] - #攻击次数8 = 1 - data9 = [int(x*1.102) for x in [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19]] - #攻击次数9 = 10 - data10 = [int(x*1.102) for x in [0, 3539, 3898, 4258, 4618, 4974, 5334, 5694, 6054, 6412, 6772, 7132, 7490, 7850, 8208, 8566, 8925, 9285, 9645, 10003, 10363, 10722, 11081, 11439, 11797, 12157, 12517, 12877, 13237, 13595, 13955, 14315, 14671, 15031, 15391, 15749, 16108, 16468, 16828, 17186, 17546, 17905, 18262, 18621, 18980, 19340, 19700, 20060, 20420, 20778, 21137, 21495, 21853, 22214, 22574, 22932, 23290, 23651, 24011, 24369, 24727, 25087, 25445, 25804, 26163, 26523, 26883, 27243, 27601, 27961, 28319]] - #攻击次数10 = 1 - data11 = [int(x*1.102) for x in [0, 471, 521, 568, 616, 663, 713, 761, 806, 854, 904, 951, 998, 1046, 1094, 1143, 1190, 1238, 1286, 1333, 1383, 1429, 1478, 1526, 1573, 1621, 1669, 1718, 1765, 1812, 1861, 1908, 1957, 2004, 2051, 2100, 2148, 2196, 2243, 2291, 2340, 2388, 2434, 2483, 2530, 2580, 2626, 2675, 2723, 2771, 2818, 2866, 2913, 2963, 3009, 3058, 3105, 3154, 3201, 3248, 3296, 3346, 3393, 3440, 3488, 3538, 3585, 3632, 3680, 3728, 3776]] - #攻击次数11 = 6 - data12 = [int(x*1.102) for x in [0, 1871, 2059, 2248, 2438, 2628, 2816, 3007, 3196, 3385, 3575, 3764, 3954, 4145, 4334, 4522, 4713, 4902, 5093, 5283, 5471, 5661, 5850, 6038, 6230, 6420, 6608, 6799, 6988, 7178, 7369, 7559, 7748, 7937, 8126, 8314, 8505, 8696, 8884, 9075, 9263, 9453, 9643, 9834, 10022, 10212, 10402, 10591, 10781, 10970, 11161, 11347, 11538, 11729, 11919, 12108, 12298, 12488, 12678, 12867, 13057, 13246, 13435, 13624, 13814, 14004, 14194, 14384, 14573, 14763, 14951]] - #攻击次数12 = 1 - data13 = [int(x*1.102) for x in [0, 5309, 5848, 6387, 6925, 7463, 8003, 8541, 9079, 9619, 10157, 10696, 11235, 11773, 12310, 12850, 13389, 13928, 14466, 15006, 15544, 16084, 16621, 17158, 17698, 18237, 18775, 19314, 19854, 20393, 20931, 21471, 22009, 22546, 23085, 23623, 24162, 24702, 25241, 25779, 26318, 26858, 27396, 27932, 28472, 29010, 29550, 30088, 30628, 31166, 31706, 32243, 32782, 33321, 33859, 34398, 34937, 35475, 36013, 36554, 37091, 37629, 38169, 38707, 39247, 39784, 40324, 40862, 41402, 41940, 42478]] - #攻击次数13 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.32 - 倍率1 = 1 - 倍率2 = 1 - - data = [data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13] - 次数 = [1, 1, 1, 1, 1, 1, 1, 1, 10, 1, 6, 1, 1] - - def 等效百分比(self, 武器类型): - sum = 0 - sum += self.data[0][self.等级] * self.次数[0] * self.倍率1 - for i in range(1, len(self.data)): - sum += self.data[i][self.等级] * self.次数[i] * self.倍率2 - return sum * (1 + self.TP成长 * self.TP等级) * self.倍率 - - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.25 + 0.09 - self.CD *= 0.9 - -class 技能20(主动技能): - 名称 = '聚灵升空剑' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.203)for i in [0, 2155, 2374, 2594, 2813, 3031, 3248, 3468, 3687, 3907, 4124, 4343, 4562, 4782, 4999, 5218, 5436, 5656, 5875, 6093, 6311, 6531, 6750, 6968, 7186, 7406, 7623, 7844, 8062, 8281, 8499, 8717, 8938, 9155, 9374, 9593, 9812, 10030, 10251, 10467, 10687, 10906, 11123, 11344, 11562, 11782, 11999, 12218, 12437, 12654, 12875, 13093, 13311, 13530, 13750, 13969, 14186, 14405, 14625, 14843, 15061, 15281, 15500, 15718, 15937, 16154, 16374, 16593, 16813, 17030, 17250]] - 攻击次数1 = 1 - data2 = [int(i*1.203)for i in [0, 2588, 2850, 3112, 3375, 3637, 3899, 4162, 4425, 4688, 4950, 5212, 5475, 5737, 5999, 6261, 6525, 6787, 7049, 7312, 7574, 7836, 8099, 8361, 8625, 8888, 9150, 9412, 9675, 9937, 10199, 10462, 10724, 10988, 11250, 11512, 11774, 12037, 12299, 12562, 12825, 13087, 13349, 13612, 13874, 14137, 14398, 14661, 14924, 15187, 15449, 15713, 15974, 16236, 16498, 16763, 17026, 17287, 17550, 17811, 18075, 18337, 18598, 18862, 19125, 19387, 19650, 19912, 20174, 20436, 20699]] - 攻击次数2 = 5 - data3 = [int(i*1.203)for i in [0, 6470, 7124, 7781, 8437, 9094, 9749, 10407, 11062, 11717, 12374, 13031, 13686, 14343, 14999, 15656, 16313, 16969, 17623, 18281, 18937, 19593, 20248, 20905, 21561, 22217, 22875, 23531, 24187, 24843, 25500, 26155, 26812, 27467, 28125, 28780, 29437, 30092, 30750, 31407, 32062, 32719, 33374, 34030, 34686, 35344, 35999, 36654, 37311, 37967, 38623, 39282, 39936, 40593, 41250, 41905, 42561, 43218, 43874, 44530, 45188, 45842, 46499, 47156, 47812, 48468, 49124, 49780, 50437, 51092, 51749]] - 攻击次数3 = 1 - CD = 40.0 - TP成长 = 0 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2.0#按X加速后 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * (self.攻击次数2 + self.TP等级) + self.data3[self.等级] * self.攻击次数3) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.23 + 0.08 - -class 技能21(被动技能): - 名称 = '魔能榨取' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 16: - return round(1.015 + 0.015 * self.等级, 5) - else: - return round(1.295 + 0.020 * (self.等级 - 16), 5) - -class 技能22(主动技能): - 名称 = '魔神百裂拳' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.173)for i in [0, 1822, 2245, 2666, 3091, 3512, 3934, 4356, 4779, 5201, 5625, 6045, 6470, 6892, 7314, 7737, 8158, 8582, 9004, 9428, 9848, 10271, 10694, 11116, 11538, 11961, 12384, 12807, 13230, 13652, 14074, 14496, 14919, 15341, 15764, 16186, 16609, 17032, 17455, 17877, 18299, 18721, 19144, 19567, 19989, 20412, 20834, 21258, 21679, 22101, 22523]] - 攻击次数1 = 12 - data2 = [int(i*1.173)for i in [0, 7286, 8978, 10665, 12356, 14045, 15737, 17425, 19118, 20805, 22497, 24185, 25877, 27567, 29256, 30948, 32635, 34328, 36015, 37708, 39394, 41087, 42775, 44466, 46154, 47846, 49539, 51226, 52919, 54606, 56298, 57985, 59678, 61365, 63057, 64745, 66437, 68124, 69816, 71509, 73195, 74888, 76576, 78268, 79955, 81648, 83335, 85027, 86715, 88407, 90094]] - 攻击次数2 = 3 - data3 = [int(i*1.173)for i in [0, 10931, 13467, 16001, 18536, 21072, 23607, 26141, 28677, 31212, 33746, 36282, 38816, 41351, 43888, 46422, 48956, 51493, 54027, 56562, 59096, 61632, 64167, 66703, 69237, 71771, 74307, 76843, 79376, 81911, 84448, 86982, 89517, 92052, 94587, 97122, 99657, 102191, 104728, 107263, 109797, 112332, 114866, 117402, 119937, 122472, 125007, 127542, 130077, 132612, 135147]] - 攻击次数3 = 1 - 攻击倍率 = 1.1#bb在场数量增伤 - CD = 145 - 演出时间 = 3.04#按X加速后 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - -class 技能23(主动技能): - 名称 = '黑暗冲击' - 备注 = '(无护石情况下,战士冲击波按照3个计算)' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.195)for i in [0, 1378, 1518, 1658, 1797, 1937, 2077, 2217, 2356, 2497, 2636, 2776, 2915, 3056, 3195, 3335, 3474, 3615, 3754, 3894, 4033, 4174, 4313, 4454, 4594, 4734, 4873, 5014, 5153, 5293, 5432, 5573, 5712, 5852, 5991, 6132, 6271, 6411, 6552, 6691, 6831, 6970, 7111, 7250, 7390, 7529, 7670, 7810, 7949, 8090, 8230]] - 攻击次数1 = 4 - data2 = [int(i*1.195)for i in [0, 1095, 1206, 1319, 1429, 1540, 1651, 1763, 1874, 1985, 2096, 2208, 2319, 2430, 2541, 2653, 2764, 2874, 2986, 3097, 3207, 3318, 3431, 3542, 3652, 3763, 3876, 3987, 4097, 4208, 4320, 4432, 4542, 4653, 4765, 4875, 4987, 5098, 5210, 5320, 5432, 5543, 5654, 5765, 5876, 5988, 6099, 6210, 6321, 6432, 6544]] - 攻击次数2 = 3 * 3 # 无护石情况下,战士冲击波按照3个bb计算,即3*3;有护石情况下,战士冲击波按照打满计算,即3*5 - data3 = [int(i*1.195)for i in [0, 2182, 2403, 2624, 2846, 3066, 3287, 3510, 3731, 3951, 4174, 4395, 4615, 4838, 5059, 5281, 5501, 5722, 5943, 6166, 6386, 6608, 6830, 7051, 7272, 7493, 7715, 7936, 8157, 8378, 8600, 8821, 9042, 9264, 9486, 9706, 9928, 10149, 10372, 10592, 10813, 11035, 11256, 11476, 11699, 11920, 12141, 12363, 12584, 12805, 13027]] - 攻击次数3 = 3 - CD = 30 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 8.72 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.攻击次数2 = 3 * 5 - self.倍率 *= 1.15 - self.演出时间 -= 7.07 - elif x == 1: - # self.攻击次数2 = 3 * 5 - self.倍率 *= 1.15 + 0.09 - self.演出时间 -= 7.07 - -class 技能24(主动技能): - 名称 = '午夜嘉年华' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data = [int(i*1.199)for i in [0, 1249, 1378, 1504, 1631, 1755, 1883, 2010, 2137, 2263, 2390, 2517, 2644, 2770, 2897, 3025, 3151, 3276, 3403, 3533, 3658, 3784, 3911, 4039, 4165, 4292, 4418, 4544, 4673, 4799, 4925, 5051, 5180, 5305, 5432, 5561, 5687, 5813, 5940, 6064, 6194, 6320, 6446, 6575, 6700, 6826, 6954, 7082, 7207, 7335, 7461, 8308, 8460, 8613, 8767, 8919, 9072, 9225, 9378, 9530, 9684, 9837, 9990, 10143, 10295, 10449, 10602, 10754, 10908, 11061, 11213]] - 攻击次数 = 31 - CD = 50.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3.8 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.09 - self.攻击次数 += 4 - self.演出时间 += 0.2 - elif x == 1: - self.倍率 *= 1.09 + 0.07 - self.攻击次数 += 4 - self.演出时间 += 0.2 - -class 技能25(被动技能): - 名称 = '亚丁之力' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - 关联技能 = ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', - '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸:亚丁降临', '绽放·终章', '盛宴·恶之祭典'] - 关联技能2 = ['魔灵召唤:波拉斯', '魔灵召唤:瓦尔琪', '魔灵召唤:狂暴布洛克', '魔灵召唤:假面杰森', '魔灵召唤:大画家芭芘', - '魔灵召唤:旋转小冯', '魔灵召唤:小吸血鬼夏伊', '魔灵召唤:大富翁鲁邦', '魔灵召唤:迪克老爹', '魔灵召唤:红心女王艾丽莎'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.28 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.14 + 0.02 * self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能26(主动技能): - 名称 = '绚丽耀光' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.183)for i in [0, 17419, 19187, 20954, 22721, 24489, 26256, 28023, 29791, 31558, 33325, 35093, 36859, 38627, 40394, 42161, 43929, 45696, 47463, 49231, 50997, 52765, 54533, 56299, 58066, 59834, 61601, 63368, 65136, 66903, 68670, 70438, 72205, 73972, 75738, 77507, 79273, 81040, 82809, 84575, 86342, 88111, 89877, 91644, 93412, 95179, 96946, 98714, 100481, 102248, 104015, 105783, 107550, 109317, 111085, 112851, 114619, 116387, 118153, 119921, 121687, 123455, 125223, 126989, 128757, 130525, 132291, 134059, 135826, 137593, 139361]] - 攻击次数1 = 1 - data2 = [int(i*1.183)for i in [0, 4064, 4477, 4889, 5302, 5714, 6127, 6539, 6951, 7363, 7776, 8188, 8601, 9013, 9425, 9837, 10250, 10662, 11075, 11487, 11899, 12312, 12724, 13137, 13549, 13962, 14374, 14786, 15198, 15611, 16023, 16436, 16848, 17260, 17672, 18085, 18497, 18910, 19322, 19734, 20146, 20559, 20971, 21384, 21796, 22209, 22620, 23033, 23445, 23858, 24270, 24683, 25095, 25507, 25919, 26332, 26744, 27157, 27569, 27981, 28393, 28806, 29218, 29631, 30043, 30455, 30867, 31280, 31692, 32105, 32517]] - 攻击次数2 = 10 - CD = 40.0 - 是否有护石 = 1 - 演出时间 = 1.76 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 1.3 - self.攻击次数2 *= 1.32 - self.演出时间 -= 0.72 - -class 技能27(主动技能): - 名称 = '魔灵乱舞' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data = [int(i*1.177)for i in [0, 5716, 6296, 6876, 7455, 8036, 8615, 9195, 9775, 10356, 10934, 11515, 12095, 12674, 13255, 13835, 14414, 14995, 15575, 16153, 16734, 17314, 17894, 18475, 19053, 19633, 20214, 20792, 21373, 21954, 22533, 23113, 23693, 24272, 24853, 25433, 26012, 26592, 27173, 27752, 28331, 28912, 29492, 30072, 30652, 31231, 31811, 32392, 32972, 33552, 34131, 34711, 35291, 35871, 36451, 37031, 37610, 38191, 38770, 39350, 39931, 40511, 41089, 41670, 42250, 42829, 43411, 43990, 44569, 45150, 45730]] - 攻击次数 = 12 - CD = 50.0 - 是否有护石 = 1 - 演出时间 = 3.16 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - -class 技能28(主动技能): - 名称 = '黑曜之眸:亚丁降临' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.201)for i in [0, 10855, 13371, 15886, 18404, 20922, 23440, 25955, 28475, 30989, 33506, 36025, 38544, 41060, 43579, 46094, 48610, 51128, 53647, 56165, 58681, 61195, 63713, 66232, 68749, 71267, 73787, 76298, 78817, 81337, 83852, 86371, 88891, 91403, 93921, 96438, 98956, 101475, 103991, 106506, 109026, 111541, 114061, 116581, 119095, 121615, 124130, 126646, 129165, 131681, 134200, 136718, 139231, 141749, 144267, 146785, 149304, 151822, 154335, 156852, 159369, 161889, 164406, 166924, 169438, 171957, 174475, 176992, 179511, 182028, 184541]] - 攻击次数1 = 11 - data2 = [int(i*1.201)for i in [0, 449, 553, 656, 762, 866, 970, 1074, 1177, 1281, 1385, 1490, 1594, 1698, 1802, 1906, 2010, 2113, 2219, 2323, 2427, 2531, 2635, 2740, 2843, 2947, 3051, 3155, 3259, 3363, 3468, 3572, 3676, 3779, 3884, 3988, 4092, 4197, 4301, 4405, 4508, 4612, 4716, 4820, 4925, 5030, 5133, 5237, 5341, 5445, 5550, 5654, 5758, 5862, 5966, 6070, 6173, 6278, 6382, 6486, 6590, 6695, 6800, 6904, 7007, 7111, 7215, 7319, 7423, 7528, 7632]] - 攻击次数2 = 20 - CD = 180 - 演出时间 = 7.28 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能29(被动技能): - 名称 = '黑色曜日' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - -class 技能30(主动技能): - 名称 = '绽放·终章' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.181)for i in [0, 32119, 35377, 38635, 41894, 45152, 48411, 51669, 54928, 58186, 61445, 64703, 67962, 71220, 74478, 77737, 80995, 84254, 87512, 90771, 94029, 97288, 100546, 103805, 107063, 110321, 113580, 116838, 120097, 123355, 126614, 129872, 133131, 136389, 139648, 142906, 146164, 149423, 152681, 155940, 159198, 162457, 165715, 168974, 172232, 175491, 178749, 182007, 185266, 188524, 191783]] - 攻击次数1 = 1 - data2 = [int(i*1.181)for i in [0, 20877, 22995, 25113, 27231, 29349, 31467, 33585, 35703, 37821, 39939, 42057, 44175, 46293, 48411, 50529, 52647, 54765, 56883, 59001, 61119, 63237, 65355, 67473, 69591, 71709, 73827, 75945, 78063, 80181, 82299, 84417, 86535, 88653, 90771, 92889, 95007, 97125, 99243, 101361, 103479, 105597, 107715, 109833, 111951, 114069, 116187, 118305, 120423, 122541, 124659]] - 攻击次数2 = 4 - data3 = [int(i*1.181)for i in [0, 856, 943, 1030, 1117, 1204, 1290, 1377, 1464, 1551, 1638, 1725, 1812, 1899, 1986, 2072, 2159, 2246, 2333, 2420, 2507, 2594, 2681, 2768, 2855, 2941, 3028, 3115, 3202, 3289, 3376, 3463, 3550, 3637, 3723, 3810, 3897, 3984, 4071, 4158, 4245, 4332, 4419, 4505, 4592, 4679, 4766, 4853, 4940, 5027, 5114]] - 攻击次数3 = 3*5 - CD = 60.0 - 演出时间 = 4.24 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能31(主动技能): - 名称 = '盛宴·恶之祭典' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data = [int(i*1.181)for i in [0, 450041, 554399, 658756, 763114, 867472, 971829, 1076187, 1180544, 1284902, 1389259, 1493617, 1597974, 1702332, 1806689, 1911047, 2015405, 2119762, 2224120, 2328477, 2432835, 2537192, 2641550, 2745907, 2850265, 2954622, 3058980, 3163337, 3267695, 3372053, 3476410, 3580768, 3685125, 3789483, 3893840, 3998198, 4102555, 4206913, 4311270, 4415628, 4519985]] - 攻击次数 = 1 - CD = 290.0 - 演出时间 = 6.72 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -技能一觉序号 = 0 -技能二觉序号 = 0 -技能三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 技能一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 技能二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 技能三觉序号 = 技能序号[i.名称] - -技能护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 技能护石选项.append(i.名称) - -皓曦·混沌魔灵符文选项 = ['无', '军团列阵', '魔幻旋风', '毁灭突进', '翔空剑', - '碎灵屠戮', '聚灵升空剑', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞'] - - -class 皓曦·混沌魔灵角色属性(角色属性): - 实际名称 = '皓曦·混沌魔灵' - 角色 = '守护者' - 职业 = '混沌魔灵' - - 武器选项 = ['太刀', '钝器', '巨剑', '短剑'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '重甲' - 防具精通属性 = ['智力'] - - 主BUFF = 2 - - 远古记忆 = 0 - - 黑暗冲击战士冲击波个数 = 0 - 绽放·终章战士黑炎个数 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - x = self.技能栏[self.技能序号['连锁共振']].TP等级 - self.技能栏[self.技能序号['魔灵召唤:波拉斯']].攻击次数 *= 1 + 0.1 * x - self.技能栏[self.技能序号['魔灵召唤:狂暴布洛克']].攻击次数 *= 1 + 0.1 * x - self.技能栏[self.技能序号['魔灵召唤:假面杰森']].攻击次数 *= 1 + 0.1 * x - self.技能栏[self.技能序号['魔灵召唤:旋转小冯']].攻击次数 *= 1 + 0.1 * x - self.技能栏[self.技能序号['魔灵召唤:迪克老爹']].攻击次数 *= 1 + 0.1 * x - - x = self.技能栏[self.技能序号['绝对魅力']].等级 - self.技能栏[self.技能序号['毁灭突进']].攻击次数2 *= 1.035 + 0.012 * x - self.技能栏[self.技能序号['毁灭突进']].攻击次数3 *= 1.035 + 0.012 * x - self.技能栏[self.技能序号['魔灵炸弹']].攻击次数2 *= 1.035 + 0.012 * x - self.技能栏[self.技能序号['魔灵炸弹']].攻击次数3 *= 1.035 + 0.012 * x - - if '碎灵屠戮' in [self.护石第一栏, self.护石第二栏, self.护石第三栏]: - self.技能栏[self.技能序号['碎灵屠戮']].倍率1 *= 1.035 + \ - 0.012 * x # 无碎灵屠戮护石,此条不生效 - self.技能栏[self.技能序号['绝对魅力']].描述 = '碎灵屠戮' - else: - self.技能栏[self.技能序号['绝对魅力']].描述 = '碎灵屠戮(部分)' - self.技能栏[self.技能序号['碎灵屠戮']].倍率2 *= 1.035 + 0.012 * x - - if '黑暗冲击' not in [self.护石第一栏, self.护石第二栏, self.护石第三栏]: - self.技能栏[self.技能序号['黑暗冲击']].攻击次数2 = (self.黑暗冲击战士冲击波个数 + 1)*3 - self.技能栏[self.技能序号['绽放·终章']].攻击次数3 = (self.绽放·终章战士黑炎个数 + 1)*3 - - def 技能总伤害计算(self, a, b): - # a次数 b单次伤害 - 技能总伤害 = [] - for i in self.技能栏: - index = self.技能序号[i.名称] - if i.是否有伤害 == 1 and a[index] != 0: - 技能总伤害.append(a[index] * b[index] * (1 - + self.白兔子技能 * 0.20 - # 宠物技能占比 = 宠物次数 / 释放次数 - + self.年宠技能 * 0.10 * \ - self.宠物次数[index] / a[index] - + self.斗神之吼秘药 * 0.12)) - else: - 技能总伤害.append(0) - - if self.第二次魔灵炸弹引爆的战士 != 0: - temp0 = self.技能栏[15].等效百分比2( - self.武器类型) * self.伤害指数 * self.技能栏[15].被动倍率 - temp1 = a[15] % 2 - temp2 = int(a[15]/2) - if temp1 != 0: - 技能总伤害[15] = (b[15] * (temp2+1) + temp0 * temp2) * (1 - + self.白兔子技能 * 0.20 - # 宠物技能占比 = 宠物次数 / 释放次数 - + self.年宠技能 * 0.10 * \ - self.宠物次数[index] / \ - a[index] - + self.斗神之吼秘药 * 0.12) - else: - 技能总伤害[15] = (b[15] * temp2 + temp0 * temp2) * (1 - + self.白兔子技能 * 0.20 - + self.年宠技能 * 0.10 * self.宠物次数[index] / a[ - index] # 宠物技能占比 = 宠物次数 / 释放次数 - + self.斗神之吼秘药 * 0.12) - return 技能总伤害 - - -class 皓曦·混沌魔灵(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 皓曦·混沌魔灵角色属性() - self.角色属性A = 皓曦·混沌魔灵角色属性() - self.角色属性B = 皓曦·混沌魔灵角色属性() - self.一觉序号 = 技能一觉序号 - self.二觉序号 = 技能二觉序号 - self.三觉序号 = 技能三觉序号 - self.护石选项 = deepcopy(技能护石选项) - self.符文选项 = deepcopy(皓曦·混沌魔灵符文选项) - - def 界面(self): - super().界面() - self.第二次魔灵炸弹引爆的战士选择 = MyQComboBox(self.main_frame2) - self.第二次魔灵炸弹引爆的战士选择.addItem('第二次魔灵炸弹引爆的战士 - 迪克老爹') - self.第二次魔灵炸弹引爆的战士选择.addItem('第二次魔灵炸弹引爆的战士 - 旋转小冯') - self.第二次魔灵炸弹引爆的战士选择.setCurrentIndex(2) - self.第二次魔灵炸弹引爆的战士选择.resize(250, 20) - self.第二次魔灵炸弹引爆的战士选择.move(322, 390) - - self.黑暗冲击战士冲击波个数选择 = MyQComboBox(self.main_frame2) - self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中1个') - self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中2个') - self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中3个') - self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中4个') - self.黑暗冲击战士冲击波个数选择.addItem('黑暗冲击战士冲击波 - 击中5个') - self.黑暗冲击战士冲击波个数选择.setCurrentIndex(2) - self.黑暗冲击战士冲击波个数选择.resize(250, 20) - self.黑暗冲击战士冲击波个数选择.move(322, 420) - - self.绽放·终章战士黑炎个数选择 = MyQComboBox(self.main_frame2) - self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中1个') - self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中2个') - self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中3个') - self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中4个') - self.绽放·终章战士黑炎个数选择.addItem('绽放·终章战士黑炎 - 击中5个') - self.绽放·终章战士黑炎个数选择.setCurrentIndex(4) - self.绽放·终章战士黑炎个数选择.resize(250, 20) - self.绽放·终章战士黑炎个数选择.move(322, 450) - - self.职业存档.append(('第二次魔灵炸弹引爆的战士选择', self.第二次魔灵炸弹引爆的战士选择, 1)) - self.职业存档.append(('黑暗冲击战士冲击波个数选择', self.黑暗冲击战士冲击波个数选择, 1)) - self.职业存档.append(('绽放·终章战士黑炎个数选择', self.绽放·终章战士黑炎个数选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.第二次魔灵炸弹引爆的战士 = self.第二次魔灵炸弹引爆的战士选择.currentIndex() - 属性.黑暗冲击战士冲击波个数 = self.黑暗冲击战士冲击波个数选择.currentIndex() - 属性.绽放·终章战士黑炎个数 = self.绽放·终章战士黑炎个数选择.currentIndex() diff --git a/Characters/皓曦·精灵骑士.py b/Characters/皓曦·精灵骑士.py deleted file mode 100644 index 1d2aa7b8..00000000 --- a/Characters/皓曦·精灵骑士.py +++ /dev/null @@ -1,754 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -# 武器巨剑 -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # def 等效CD(self, 武器类型): - # if 武器类型 == '巨剑': - # return round(self.CD / self.恢复 * 1.1, 1) - -# 骑士信念 - - -class 技能0(被动技能): - 名称 = '骑士信念' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天'] - - def CD缩减倍率(self, 武器类型): - return 0.9 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.02 * self.等级, 5) - -# 一觉被动 由于一觉二觉主动不受剑盾猛攻连锁BUFF加成,所以这里有个额外的加成,这个一绝被动加成吃两次 -# 例如:一绝被动=1.42,二觉受到的加成为1.42*1.42 - - -class 技能1(被动技能): - 名称 = '自然恩泽' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['所有'] - 关联技能2 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00+0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00+0.02 * self.等级, 5) - -# 二觉被动 - - -class 技能2(被动技能): - 名称 = '信仰鼓舞' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - -# 剑盾猛攻 一级默认13%,但测试实际为12.5%,游戏内显示每2级提高1%,但测试伤害实际为每级0.5% -# 剑盾猛攻本身不受剑盾猛攻连锁BUFF加成,一二觉也不受加成,剑盾强袭加成=(剑盾猛攻加成+5%)*连锁层数 - - -class 技能3(职业主动技能): - 名称 = '剑盾猛攻' - 所在等级 = 30 - 等级上限 = 16 - 基础等级 = 6 - # 挥盾物理攻击力:% - data0 = [(i*1.2378) for i in [0, 1180, 1453, 1727, 2000, 2274, 2548, 2821, 3095, - 3369, 3642, 3916, 4190, 4463, 4737, 5010, 5284, 5558, 5831, 6105, 6379]] - # 推进物理攻击力:% - # data1 = [0, 1266, 1560, 1854, 2147, 2441, 2735, 3029, 3322, 3616, 3910, 4204, 4497, 4791, 5085, 5378, 5672, 5966, 6260, 6553, 6847] - CD = 0.5 - 关联技能 = ['所有'] - 非关联技能 = ['剑盾猛攻', '剑盾强袭', '天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天'] - 关联技能2 = ['剑盾强袭'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.72 + 0.03 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.72 + 0.03 * self.等级+0.3, 5) - -# 盾挑 技能太多了,这个就不写上去了,Z,吃基础精通 -# class 技能7(职业主动技能): -# 名称 = '盾挑' -# 所在等级 = 1 -# 等级上限 = 20 -# 基础等级 = 10 -# 基础 = 89 -# 成长 = 11 -# CD = 2 -# TP成长 = 0.08 -# TP上限 = 5 - -# 强踢 - - -class 技能4(职业主动技能): - 名称 = '强踢' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - data0 = [(i*1.0) for i in [0, 762, 839, 916, 994, 1071, 1148, 1226, 1303, 1380, 1458, 1535, 1612, 1690, 1767, 1844, 1922, 1999, 2076, 2154, 2231, 2308, 2386, 2463, 2540, 2617, 2695, 2772, 2849, 2927, 3004, 3081, 3159, 3236, - 3313, 3391, 3468, 3545, 3623, 3700, 3777, 3855, 3932, 4009, 4087, 4164, 4241, 4319, 4396, 4473, 4551, 4628, 4705, 4783, 4860, 4937, 5015, 5092, 5169, 5247, 5324, 5401, 5478, 5556, 5633, 5710, 5788, 5865, 5942, 6020, 6097]] - # 基础 = 684.7 - # 成长 = 77.3 - CD = 5 - -# 盾击 - - -class 技能5(职业主动技能): - 名称 = '盾击' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - data0 = [(i*1.0) for i in [0, 327, 360, 393, 426, 459, 492, 526, 559, 592, 625, 658, 692, 725, 758, 791, 824, 857, 891, 924, 957, 990, 1023, 1057, 1090, 1123, 1156, 1189, 1222, 1256, 1289, 1322, 1355, 1388, 1421, 1455, - 1488, 1521, 1554, 1587, 1621, 1654, 1687, 1720, 1753, 1786, 1820, 1853, 1886, 1919, 1952, 1986, 2019, 2052, 2085, 2118, 2151, 2185, 2218, 2251, 2284, 2317, 2351, 2384, 2417, 2450, 2483, 2516, 2550, 2583, 2616]] - CD = 3 - -# 致命突刺 - - -class 技能6(职业主动技能): - 名称 = '致命突刺' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - # 基础 = 163.1 - # 成长 = 22.9 - data0 = [(i*1.0) for i in [0, 186, 210, 234, 256, 278, 303, 325, 348, 370, 394, 417, 438, 462, 485, 509, 530, 554, 576, 600, 622, 644, 668, 691, 714, 737, 759, 782, 804, 828, 851, 875, 897, 919, 943, 965, 988, - 1011, 1034, 1057, 1079, 1103, 1127, 1149, 1171, 1193, 1217, 1241, 1262, 1285, 1309, 1466, 1491, 1516, 1544, 1568, 1594, 1619, 1644, 1671, 1696, 1722, 1747, 1772, 1799, 1825, 1850, 1876, 1901, 1928, 1952]] - # 最大蓄气时物理攻击力:% - # data1 = [0, 234, 264, 292, 320, 348, 378, 406, 434, 463, 492, 520, 548, 576, 606, 636, 662, 693, 721, 750, 776, 805, 835, 864, 892, 921, 949, 978, 1006, 1035, 1064, 1093, 1121, 1149, 1178, 1207, 1234, 1264, 1294, 1321, 1349, 1377, 1408, 1436, 1463, 1493, 1522, 1550, 1577, 1605, 1636, 1833, 1864, 1896, 1928, 1960, 1992, 2023, 2056, 2089, 2120, 2153, 2184, 2217, 2248, 2281, 2312, 2345, 2379, 2409, 2440] - CD = 3 - -# 愤怒冲撞 - - -class 技能7(职业主动技能): - 名称 = '愤怒冲撞' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1895.9 - # 成长 = 214.1 - data0 = [(i*1.2839) for i in [0, 2396, 2639, 2883, 3125, 3368, 3612, 3856, 4098, 4341, 4585, 4827, 5071, 5314, 5557, 5800, 6044, 6287, 6530, 6773, 7017, 7259, 7503, 7746, 7990, 8232, 8475, 8719, 8961, 9205, 9448, 9692, 9934, 10178, 10421, 10664, 10907, 11151, 11393, 11637, 11880, 12124, 12366, 12609, 12853, 13095, 13339, 13582, 13826, 14068, 14312, 14555, 14798, 15041, 15285, 15527, 15771, 16014, 16258, 16500, 16743, 16987, 17229, 17473, 17716, 17960, 18202, 18446, 18689, 18932, 19175]] - CD = 9 - # 攻击倍率 = 1.23 - -# 破武之轮 - - -class 技能8(职业主动技能): - 名称 = '破武之轮' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1071.6 - # 成长 = 160.4 - # 挥剑物理攻击力:% - data0 = [(i*1.2378) for i in [0, 411, 491, 546, 599, 653, 701, 759, 809, 861, 914, 969, 1023, 1071, 1130, 1179, 1233, 1284, 1340, 1394, 1442, 1497, 1550, 1604, 1655, 1710, 1761, 1814, 1866, 1922, - 1974, 2027, 2082, 2132, 2184, 2237, 2292, 2345, 2396, 2447, 2502, 2556, 2609, 2664, 2715, 2766, 2817, 2873, 2927, 2979, 3035, 3083, 3137, 3191, 3245, 3296, 3350, 3403, 3456, 3509, 3562]] - # 剑气物理攻击力:% - data1 = [(i*1.2378) for i in [0, 821, 980, 1091, 1196, 1304, 1401, 1517, 1617, 1722, 1827, 1938, 2045, 2142, 2258, 2358, 2465, 2568, 2679, 2786, 2883, 2994, 3099, 3207, 3309, 3420, 3521, 3627, 3731, - 3842, 3948, 4053, 4164, 4262, 4368, 4472, 4583, 4689, 4790, 4893, 5003, 5111, 5216, 5327, 5430, 5531, 5634, 5745, 5852, 5957, 6068, 6165, 6272, 6381, 6488, 6591, 6698, 6805, 6911, 7017, 7123]] - 攻击次数2 = 1 - # TP成长 = 0.10 - # TP上限 = 5 - CD = 6 - -# 守护神鹿 - - -class 技能9(职业主动技能): - 名称 = '守护神鹿' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [(i*1.2427) for i in [0, 318, 350, 383, 415, 447, 480, 512, 545, 577, 610, 642, 674, 707, 739, 772, 804, 836, 869, 901, 934, 966, 997, 1031, 1062, 1096, 1127, 1159, 1192, 1224, 1257, 1289, 1322, 1354, 1386, 1419, 1451, 1484, 1516, 1548, 1581, 1613, 1646, 1678, 1710, 1743, 1775, 1808, 1840, 1872, 1905, 1937, 1970, 2002, 2035, 2067, 2098, 2132, 2163, 2196, 2228, 2260, 2293, 2325, 2358, 2390, 2422, 2455, 2487, 2520, 2552]] - 攻击次数 = 6 - # 基础 = 1466.4 - # 成长 = 165.6 - CD = 6 - # 攻击倍率 = 1.226 - -# 审判之盾 - - -class 技能10(职业主动技能): - 名称 = '审判之盾' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 挥舞物理攻击力:% - data0 = [(i*1.2444) for i in [0, 321, 353, 386, 419, 451, 484, 517, 549, 582, 614, 647, 680, 712, 745, 777, 810, 843, 875, 908, 941, 973, 1006, 1038, 1071, 1104, 1136, 1169, 1201, 1234, 1267, 1299, 1332, 1365, 1397, 1430, 1462, 1495, 1528, 1560, 1593, 1625, 1658, 1691, 1723, 1756, 1789, 1821, 1854, 1886, 1920, 1953, 1985, 2018, 2051, 2083, 2116, 2149, 2181, 2214, 2246, 2279, 2312, 2344, 2377, 2409, 2442, 2475, 2507, 2540, 2573]] - # 攻击审判状态的敌人时攻击力:% - data1 = [(i*1.2444) for i in [0, 224, 247, 270, 293, 316, 338, 361, 384, 407, 430, 453, 475, 498, 521, 544, 567, 589, 612, 635, 658, 681, 704, 727, 750, 773, 796, 819, 840, 863, 886, 909, 932, 955, 978, 1001, 1024, 1047, 1070, 1092, 1114, 1137, 1160, 1183, 1206, 1229, 1252, 1275, 1298, 1321, 1344, 1366, 1389, 1412, 1435, 1458, 1481, 1503, 1526, 1549, 1572, 1595, 1617, 1640, 1663, 1686, 1709, 1732, 1755, 1778, 1801]] - 攻击次数2 = 10 - # 基础 = 1910 - # 成长 = 216 - CD = 7 - # 攻击倍率 = 1.208 - -# 破甲冲击 - - -class 技能11(职业主动技能): - 名称 = '破甲冲击' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 基础 = 1621.8 - # 成长 = 183.2 - # 冲击波攻击力:% - data0 = [(i*1.2429) for i in [0, 2202, 2426, 2649, 2873, 3096, 3319, 3544, 3767, 3990, 4213, 4437, 4661, 4884, 5108, 5331, 5554, 5779, 6002, 6225, 6448, 6672, 6896, 7119, 7343, 7566, 7789, 8014, 8237, 8460, 8683, 8908, 9131, 9354, 9578, 9801, 10025, 10249, 10472, 10695, 10919, 11143, 11366, 11590, 11813, 12036, 12261, 12484, 12707, 12930, 13154, 13378, 13601, 13825, 14048, 14271, 14496, 14719, 14942, 15165, 15389, 15613, 15836, 16060, 16283, 16506, 16731, 16954, 17177, 17400, 17625]] - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.22 - -# 精灵之跃 蓄力提高15%伤害,默认一瞬间释放也提高3%,冲击波不受加成,一级刮痧技能就不写那么多了 - - -class 技能12(职业主动技能): - 名称 = '精灵之跃' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 2675.8 - # 成长 = 302.2 - # 冲撞物理攻击力:% - # 蓄气时攻击力增加率:15% - data0 = [(i*1.2110) for i in [0, 3126, 3445, 3762, 4079, 4396, 4713, 5031, 5348, 5665, 5982, 6300, 6618, 6935, 7252, 7569, 7886, 8204, 8521, 8838, 9156, 9474, 9791, 10108, 10425, 10742, 11060, 11377, 11694, 12012, 12329, 12647, 12964, 13281, 13598, 13915, 14233, 14550, 14868, 15185, 15502, 15820, 16137, 16454, 16771, 17088, 17406, 17724, 18041, 18358, 18675, 18993, 19310, 19627, 19944, 20262, 20580, 20897, 21214, 21531, 21849, 22166, 22483, 22800, 23117, 23436, 23753, 24070, 24387, 24704, 25022]] - CD = 7.5 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.05 - -# 神木刺击 - - -class 技能13(职业主动技能): - 名称 = '神木刺击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 2420.6 - # 成长 = 273.4 - data0 = [(i*1.2819) for i in [0, 3313, 3650, 3986, 4323, 4659, 4996, 5332, 5667, 6004, 6340, 6677, 7013, 7349, 7686, 8022, 8359, 8694, 9030, 9367, 9703, 10040, 10376, 10712, 11049, 11384, 11721, 12057, 12393, 12730, 13066, 13403, 13739, 14074, 14411, 14747, 15084, 15420, 15757, 16093, 16429, 16766, 17101, 17438, 17774, 18110, 18447, 18783, 19120, 19456, 19791, 20128, 20464, 20801, 21137, 21473, 21810, 22146, 22483, 22818, 23154, 23491, 23827, 24164, 24500, 24836, 25173, 25508, 25845, 26181, 26517]] - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.23 - -# 铁壁推进 持盾推进8秒,18hit,但一般学1级用来刮痧,这里就做1hit使用 - - -class 技能14(职业主动技能): - 名称 = '铁壁推进' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 367.4 - # 成长 = 41.6 - # 攻击力:% - data0 = [(i*1.1437) for i in [0, 409, 451, 493, 534, 575, 617, 659, 701, 742, 783, 825, 867, 908, 950, 991, 1033, 1075, 1116, 1157, 1199, 1241, 1283, 1324, 1365, 1407, 1449, 1490, 1532, 1573, 1615, 1657, 1698, 1739, 1781, - 1823, 1865, 1906, 1947, 1989, 2031, 2072, 2114, 2155, 2197, 2239, 2280, 2321, 2363, 2405, 2447, 2488, 2529, 2571, 2613, 2654, 2696, 2737, 2779, 2821, 2862, 2903, 2945, 2987, 3029, 3070, 3111, 3154, 3195, 3236, 3278]] - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - -# 自然束缚 - - -class 技能15(职业主动技能): - 名称 = '自然束缚' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 4000.3 - # 成长 = 451.7 - # 藤条捆绑的物理攻击力:% - data0 = [(i*1.2030) for i in [0, 2486, 2738, 2991, 3243, 3495, 3747, 3999, 4252, 4504, 4757, 5009, 5262, 5513, 5765, 6018, 6270, 6523, 6775, 7028, 7280, 7531, 7784, 8036, 8289, 8541, 8794, 9046, 9299, 9550, 9802, 10055, 10307, 10560, 10812, 11065, 11316, 11568, 11821, 12073, 12326, 12578, 12830, 13083, 13334, 13587, 13839, 14092, 14344, 14596, 14849, 15101, 15353, 15605, 15858, 16110, 16362, 16615, 16867, 17120, 17371, 17624, 17876, 18128, 18381, 18633, 18886, 19138, 19390, 19642, 19894]] - # 藤条拉回物理攻击力:% - data1 = [(i*1.2030) for i in [0, 2486, 2738, 2991, 3243, 3495, 3747, 3999, 4252, 4504, 4757, 5009, 5262, 5513, 5765, 6018, 6270, 6523, 6775, 7028, 7280, 7531, 7784, 8036, 8289, 8541, 8794, 9046, 9299, 9550, 9802, 10055, 10307, 10560, 10812, 11065, 11316, 11568, 11821, 12073, 12326, 12578, 12830, 13083, 13334, 13587, 13839, 14092, 14344, 14596, 14849, 15101, 15353, 15605, 15858, 16110, 16362, 16615, 16867, 17120, 17371, 17624, 17876, 18128, 18381, 18633, 18886, 19138, 19390, 19642, 19894]] - 攻击次数2 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.117 - -# 一刀两断 - - -class 技能16(职业主动技能): - 名称 = '一刀两断' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 3502.4 - # 成长 = 395.6 - # 战意攻击力: % - data0 = [(i*1.2210) for i in [0, 1718, 1894, 2068, 2243, 2417, 2591, 2766, 2940, 3114, 3289, 3463, 3639, 3813, 3987, 4162, 4336, 4510, 4685, 4859, 5035, 5209, 5383, 5558, 5732, 5907, 6081, 6255, 6430, 6604, 6778, 6954, 7128, 7303, 7477, 7651, 7826, 8000, 8174, 8349, 8523, 8699, 8873, 9047, 9222, 9396, 9570, 9745, 9919, 10095, 10269, 10443, 10618, 10792, 10967, 11141, 11315, 11490, 11664, 11838, 12014, 12188, 12363, 12537, 12711, 12886, 13060, 13234, 13410, 13584, 13759]] - # 敌人断开时伤害:% - data1 = [(i*1.2210) for i in [0, 2927, 3225, 3522, 3819, 4115, 4413, 4710, 5007, 5304, 5601, 5899, 6196, 6492, 6789, 7087, 7384, 7681, 7978, 8276, 8572, 8869, 9166, 9464, 9761, 10058, 10354, 10652, 10949, 11246, 11543, 11841, 12138, 12434, 12731, 13029, 13326, 13623, 13920, 14218, 14514, 14811, 15108, 15405, 15703, 16000, 16297, 16593, 16891, 17188, 17485, 17782, 18080, 18377, 18673, 18970, 19268, 19565, 19862, 20159, 20457, 20753, 21050, 21347, 21645, 21942, 22239, 22535, 22833, 23130, 23427]] - 攻击次数2 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.192 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [(i*3.42) for i in self.data0] - self.攻击次数2 = 0 - # self.倍率 *= 1.2653516366 - elif x == 1: - # self.倍率 *= 1.3467485255 - self.data0 = [(i*3.64) for i in self.data0] - self.攻击次数2 = 0 - -# 飓风旋枪 刺击2HIT,旋风10hit - - -class 技能17(职业主动技能): - 名称 = '飓风旋枪' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 7114.3 - # 成长 = 803.7 - # 刺击攻击力:% - data0 = [(i*1.2129) for i in [0, 2854, 3143, 3432, 3722, 4011, 4301, 4590, 4880, 5170, 5460, 5749, 6038, 6328, 6617, 6907, 7196, 7487, 7776, 8065, 8355, 8644, 8934, 9223, 9513, 9803, 10092, 10382, 10671, 10961, 11250, 11540, 11829, 12118, 12409, 12698, 12988, 13277, 13567, 13856, 14145, 14436, 14725, 15015, 15304, 15594, 15883, 16172, 16462, 16751, 17042, 17331, 17621, 17910, 18200, 18489, 18778, 19069, 19358, 19648, 19937, 20227, 20516, 20805, 21095, 21385, 21675, 21964, 22254, 22543, 22832]] - 攻击次数 = 2 - # 旋转攻击力:% - data1 = [(i*1.2129) for i in [0, 306, 338, 368, 400, 431, 462, 493, 525, 555, 587, 618, 649, 681, 712, 743, 774, 806, 836, 868, 898, 930, 961, 992, 1023, 1055, 1086, 1117, 1149, 1179, 1211, 1241, 1273, 1304, 1335, 1366, 1398, 1428, 1460, 1492, 1522, 1554, 1585, 1616, 1647, 1679, 1709, 1741, 1771, 1803, 1835, 1865, 1897, 1928, 1959, 1990, 2022, 2052, 2084, 2115, 2146, 2177, 2209, 2240, 2271, 2303, 2333, 2365, 2395, 2427, 2458]] - 攻击次数2 = 10 - CD = 25 - 演出时间 = 2 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.175 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # 护石是加算还是乘算待定 - self.data1 = [(i*1.49) for i in self.data1] - # self.倍率 *= 1.1714 - self.CD *= 0.90 - elif x == 1: - self.data1 = [(i*1.74) for i in self.data1] - # self.倍率 *= 1.258886811 - self.CD *= 0.90 - -# 天陨断空斩 - - -class 技能18(职业主动技能): - 名称 = '天陨断空斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 10129.2 - # 成长 = 1143.8 - # 旋转劈砍物理攻击力:% - data0 = [(i*1.2139) for i in [0, 1708, 1882, 2056, 2229, 2403, 2576, 2749, 2923, 3097, 3269, 3443, 3617, 3791, 3964, 4137, 4311, 4484, 4658, 4832, 5004, 5178, 5352, 5525, 5698, 5872, 6046, 6219, 6393, 6566, 6739, 6913, 7087, 7259, 7433, 7607, 7780, 7954, 8127, 8300, 8474, 8648, 8822, 8994, 9168, 9342, 9515, 9688, 9862, 10035, 10209, 10383, 10555, 10729, 10903, 11077, 11249, 11423, 11597, 11770, 11944, 12117, 12290, 12464, 12638, 12810, 12984, 13158, 13331, 13505, 13678]] - # 上劈物理攻击力:% - data1 = [(i*1.2139) for i in [0, 1314, 1447, 1581, 1715, 1848, 1981, 2115, 2248, 2382, 2515, 2648, 2782, 2916, 3049, 3182, 3316, 3449, 3583, 3716, 3849, 3983, 4116, 4250, 4383, 4517, 4650, 4784, 4917, 5050, 5184, 5317, 5451, 5584, 5718, 5851, 5984, 6118, 6252, 6385, 6518, 6652, 6785, 6919, 7052, 7185, 7319, 7453, 7586, 7719, 7852, 7986, 8120, 8253, 8386, 8520, 8654, 8787, 8920, 9053, 9187, 9321, 9454, 9587, 9720, 9855, 9988, 10121, 10254, 10388, 10522]] - 攻击次数2 = 1 - # 闪光下劈的物理攻击力:% - data2 = [(i*1.2139) for i in [0, 1972, 2172, 2372, 2573, 2773, 2972, 3173, 3373, 3573, 3774, 3973, 4173, 4374, 4574, 4774, 4975, 5174, 5374, 5575, 5775, 5975, 6176, 6375, 6575, 6776, 6976, 7176, 7377, 7576, 7776, 7977, 8177, 8377, 8577, 8777, 8977, 9178, 9378, 9577, 9778, 9978, 10178, 10379, 10579, 10778, 10979, 11179, 11379, 11580, 11780, 11979, 12180, 12380, 12580, 12781, 12981, 13180, 13381, 13581, 13781, 13982, 14181, 14381, 14582, 14782, 14982, 15183, 15382, 15582, 15783]] - 攻击次数3 = 1 - # 闪光下劈的冲击波物理攻击力:% - data3 = [(i*1.2139) for i in [0, 8153, 8981, 9808, 10635, 11463, 12290, 13117, 13945, 14772, 15599, 16427, 17254, 18081, 18909, 19736, 20563, 21391, 22218, 23046, 23873, 24700, 25528, 26355, 27182, 28010, 28837, 29664, 30492, 31319, 32146, 32974, 33801, 34628, 35456, 36283, 37110, 37938, 38765, 39592, 40420, 41247, 42074, 42902, 43729, 44556, 45384, 46211, 47038, 47865, 48692, 49519, 50347, 51174, 52001, 52829, 53656, 54483, 55311, 56138, 56965, 57793, 58620, 59447, 60275, 61102, 61929, 62757, 63584, 64411, 65239]] - 攻击次数4 = 1 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.233 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.data1 = [(i*2.3) for i in self.data1] - self.data2 = [(i*1.79) for i in self.data2] - self.data3 = [(i*1.14) for i in self.data3] - # self.倍率 *= 1.2053 - elif x == 1: - self.攻击次数 = 0 - self.data1 = [(i*2.3) for i in self.data1] - self.data2 = [(i*1.79) for i in self.data2] - self.data3 = [(i*1.27) for i in self.data3] - # self.倍率 *= 1.2859 - -# 一觉 1+4+1 hit - - -class 技能19(职业主动技能): - 名称 = '天马流星落' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 一斩物理攻击力:% - data0 = [(i*1.2440) for i in [0, 3646, 4491, 5337, 6183, 7029, 7874, 8720, 9565, 10411, 11258, 12103, 12949, 13794, 14640, 15485, 16331, 17177, 18023, 18868, 19714, 20559, 21405, 22252, 23097, 23943, 24788, 25634, 26479, 27325, 28171, 29017, 29862, 30708, 31553, 32399, 33246, 34091, 34937, 35782, 36628, 37473, 38319, 39165, 40011, 40856, 41702, 42547, 43393, 44240, 45085, 45931, 46776, 47622, 48467, 49313, 50159, 51005, 51850, 52696, 53541, 54387, 55233, 56079, 56924, 57770, 58616, 59461, 60307, 61153, 61999]] - # 二斩多段攻击物理攻击力:% - data1 = [(i*1.2440) for i in [0, 2150, 2650, 3149, 3647, 4147, 4645, 5145, 5643, 6143, 6641, 7141, 7639, 8139, 8637, 9136, 9635, 10134, 10633, 11132, 11631, 12130, 12629, 13128, 13626, 14126, 14624, 15124, 15622, 16122, 16620, 17120, 17618, 18118, 18616, 19115, 19614, 20113, 20612, 21111, 21610, 22109, 22608, 23107, 23606, 24105, 24603, 25103, 25601, 26101, 26599, 27099, 27597, 28097, 28595, 29094, 29593, 30092, 30591, 31090, 31589, 32088, 32587, 33086, 33585, 34084, 34582, 35082, 35580, 36080, 36578]] - 攻击次数2 = 4 - # 天马冲锋物理攻击力:% - data2 = [(i*1.2440) for i in [0, 36372, 44806, 53241, 61674, 70109, 78544, 86978, 95412, 103846, 112281, 120716, 129149, 137584, 146018, 154453, 162888, 171321, 179756, 188190, 196625, 205058, 213493, 221927, 230362, 238796, 247230, 255665, 264099, 272533, 280967, 289402, 297837, 306270, 314705, 323139, 331574, 340007, 348442, 356877, 365311, 373745, 382179, 390614, 399049, 407483, 415917, 424351, 432786, 441220, 449654, 458089, 466523, 474958, 483391, 491826, 500260, 508695, 517128, 525563, 533998, 542432, 550866, 559300, 567735, 576170, 584603, 593038, 601472, 609907, 618340]] - 攻击次数3 = 1 - CD = 145 - # 攻击倍率 = 1.201 - -# 生命审判 - - -class 技能20(职业主动技能): - 名称 = '生命审判' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 9299.1 - # 成长 = 1049.9 - # 爆炸物理攻击力:% - data0 = [(i*1.2430) for i in [0, 12146, 13379, 14611, 15843, 17075, 18308, 19540, 20772, 22004, 23238, 24470, 25702, 26934, 28166, 29399, 30631, 31863, 33095, 34329, 35561, 36793, 38025, 39258, 40490, 41722, 42954, 44186, 45420, 46652, 47884, 49116, 50349, 51581, 52813, 54045, 55279, 56511, 57743, 58975, 60207, 61440, 62672, 63904, 65136, 66369, 67602, 68834, 70066, 71299, 72531, 73763, 74995, 76228, 77460, 78692, 79925, 81157, 82390, 83622, 84854, 86086, 87319, 88551, 89783, 91015, 92249, 93481, 94713, 95945, 97177]] - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.237 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.08 - elif x == 1: - self.倍率 *= 1.08 + 0.09 - -# 壁垒突袭 - - -class 技能21(职业主动技能): - 名称 = '壁垒突袭' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 16225.2 - # 成长 = 1831.8 - # 盾牌击打攻击力:% - data0 = [(i*1.2430) for i in [0, 7184, 7912, 8641, 9370, 10099, 10828, 11557, 12286, 13015, 13743, 14472, 15201, 15930, 16659, 17388, 18117, 18844, 19573, 20302, 21031, 21760, 22489, 23218, 23947, 24675, 25404, 26133, 26862, 27591, 28320, 29049, 29778, 30506, 31235, 31964, 32693, 33422, 34151, 34880, 35609, 36337, 37066, 37795, 38524, 39253, 39982, 40711, 41440, 42168, 42897, 43626, 44355, 45084, 45813, 46542, 47271, 47999, 48728, 49457, 50186, 50915, 51644, 52373, 53101, 53830, 54559, 55288, 56017, 56746, 57475]] - # 盾牌破碎时攻击力:% - data1 = [(i*1.2430) for i in [0, 13341, 14695, 16048, 17402, 18756, 20109, 21463, 22816, 24170, 25523, 26877, 28231, 29585, 30938, 32292, 33646, 34999, 36353, 37706, 39060, 40413, 41767, 43120, 44474, 45827, 47181, 48534, 49888, 51241, 52595, 53948, 55302, 56657, 58010, 59364, 60717, 62071, 63424, 64778, 66131, 67485, 68838, 70192, 71545, 72899, 74253, 75606, 76960, 78313, 79667, 81020, 82374, 83728, 85082, 86435, 87789, 89143, 90496, 91850, 93203, 94557, 95910, 97264, 98617, 99971, 101324, 102678, 104031, 105385, 106738]] - 攻击次数2 = 1 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - # 攻击倍率 = 1.201 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data2 = [(i*0.34) for i in self.data1] - self.攻击次数3 = 1 - # self.倍率 *= 1.221 - elif x == 1: - self.data2 = [(i*0.47) for i in self.data1] - self.攻击次数3 = 1 - # self.倍率 *= 1.3055 - -# 剑盾强袭 - - -class 技能22(职业主动技能): - 名称 = '剑盾强袭' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 基础 = 22287.6 - # 成长 = 2516.4 - # [剑盾猛攻]连锁伤害额外增加量:+5% - data0 = [(i*1.2440) for i in [0, 29988, 33031, 36072, 39115, 42157, 45199, 48242, 51284, 54327, 57369, 60412, 63454, 66496, 69539, 72581, 75624, 78666, 81709, 84750, 87792, 90835, 93877, 96920, 99962, 103004, 106047, 109089, 112132, 115174, 118217, 121259, 124300, 127343, 130385, 133428, 136470, 139513, 142555, 145597, 148640]] - CD = 40 - # 攻击倍率 = 1.209 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - -# 自然之怒 1+6+1 hit - - -class 技能23(职业主动技能): - 名称 = '自然之怒' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 26353 - # 成长 = 2976 - # 盾牌攻击物理攻击力:% - data0 = [(i*1.2429) for i in [0, 5761, 6345, 6930, 7515, 8099, 8684, 9269, 9853, 10438, 11023, 11607, 12192, 12777, 13361, 13945, 14529, 15114, 15699, 16283, 16868, 17453, 18037, 18622, 19207, 19791, 20376, 20961, 21545, 22129, 22713, 23298, 23883, 24467, 25052, 25637, 26221, 26806, 27391, 27975, 28560, 29145, 29729, 30314, 30897, 31482, 32067, 32651, 33236, 33821, 34405, 34990, 35575, 36159, 36744, 37329, 37913, 38498, 39081, 39666, 40251, 40835, 41420, 42005, 42589, 43174, 43759, 44343, 44928, 45513, 46097]] - # 藤蔓多段攻击物理攻击力:% - data1 = [(i*1.2429) for i in [0, 2152, 2369, 2588, 2806, 3025, 3243, 3462, 3681, 3898, 4117, 4335, 4554, 4772, 4991, 5208, 5427, 5645, 5864, 6082, 6301, 6519, 6738, 6955, 7174, 7392, 7611, 7830, 8048, 8267, 8484, 8703, 8921, 9140, 9358, 9577, 9794, 10013, 10231, 10450, 10668, 10887, 11104, 11323, 11541, 11760, 11979, 12197, 12416, 12633, 12852, 13070, 13289, 13507, 13726, 13943, 14162, 14380, 14599, 14817, 15036, 15254, 15472, 15690, 15909, 16128, 16346, 16565, 16783, 17001, 17219]] - 攻击次数2 = 6 - # 藤蔓爆炸物理攻击力:% - data2 = [(i*1.2429) for i in [0, 14372, 15830, 17288, 18746, 20204, 21662, 23120, 24578, 26036, 27494, 28952, 30410, 31868, 33326, 34784, 36242, 37700, 39158, 40616, 42074, 43532, 44990, 46450, 47908, 49366, 50824, 52282, 53740, 55198, 56656, 58114, 59572, 61030, 62488, 63946, 65404, 66862, 68320, 69778, 71236, 72694, 74152, 75610, 77068, 78527, 79985, 81443, 82901, 84359, 85817, 87276, 88734, 90192, 91650, 93108, 94566, 96024, 97482, 98940, 100398, 101856, 103314, 104772, 106230, 107688, 109146, 110605, 112063, 113521, 114979]] - 攻击次数3 = 1 - CD = 45 - # 攻击倍率 = 1.203 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [(i*2.98) for i in self.data0] - # self.倍率 *= 1.3452212 - -# 二觉 3+1+5 hit - - -class 技能24(职业主动技能): - 名称 = '暮光之灵黄昏独角兽' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 76675 - # 成长 = 23148.2 - # 突击物理攻击力:% - data0 = [(i*1.2120) for i in [0, 7372, 9082, 10792, 12502, 14211, 15921, 17630, 19340, 21050, 22759, 24469, 26179, 27889, 29599, 31309, 33017, 34727, 36437, 38147, 39857, 41567, 43277, 44986, 46696, 48406, 50115, 51825, 53534, 55244, 56954, 58664, 60374, 62084, 63794, 65502, 67212, 68922, 70632, 72342, 74052, 75761, 77471, 79181, 80890, 82600, 84309, 86019, 87729, 89439, 91149, 92859, 94569, 96277, 97987, 99697, 101407, 103117, 104827, 106536, 108246, 109956, 111665, 113375, 115084, 116794, 118504, 120214, 121924, 123634, 125344]] - 攻击次数 = 3 - # 最后一击物理攻击力:% - data1 = [(i*1.2120) for i in [0, 88478, 108993, 129511, 150028, 170543, 191061, 211578, 232095, 252611, 273128, 293645, 314161, 334678, 355195, 375711, 396228, 416745, 437262, 457778, 478295, 498812, 519328, 539845, 560362, 580879, 601395, 621912, 642429, 662945, 683462, 703979, 724495, 745012, 765529, 786046, 806562, 827079, 847596, 868112, 888629, 909146, 929662, 950179, 970696, 991213, 1011729, 1032246, 1052763, 1073279, 1093796, 1114313, 1134829, 1155346, 1175863, 1196380, 1216896, 1237413, 1257930, 1278446, 1298963, 1319480, 1339996, 1360513, 1381030, 1401547, 1422063, 1442580, 1463097, 1483613, 1504130]] - 攻击次数2 = 1 - # 星光多段攻击物理攻击力:% - data2 = [(i*1.2120) for i in [0, 2457, 3027, 3596, 4166, 4736, 5306, 5876, 6446, 7016, 7586, 8156, 8726, 9296, 9866, 10436, 11005, 11575, 12145, 12714, 13284, 13854, 14424, 14994, 15564, 16134, 16704, 17274, 17844, 18414, 18984, 19554, 20124, 20694, 21264, 21834, 22404, 22974, 23544, 24114, 24684, 25253, 25823, 26393, 26962, 27532, 28102, 28672, 29242, 29812, 30382, 30952, 31522, 32092, 32662, 33232, 33802, 34371, 34941, 35511, 36081, 36651, 37221, 37791, 38361, 38931, 39501, 40071, 40641, 41211, 41781]] - 攻击次数3 = 5 - # 攻击倍率 = 1.231 - CD = 180 - - -class 技能25(被动技能): - 名称 = '生命的恩宠' - 所在等级 = 95 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能26(职业主动技能): - 名称 = '荆棘之城' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - data0 = [int(i*1.2340) for i in [0, 5910, 6510, 7110, 7709, 8309, 8908, 9508, 10108, 10707, 11307, 11907, 12506, 13106, 13706, 14305, 14905, 15504, 16104, 16704, 17303, 17903, 18503, 19102, 19702, 20302, 20901, 21501, 22101, 22700, 23300, 23899, 24499, 25099, 25698, 26298, 26898, 27497, 28097, 28697, 29296, 29896, 30495, 31095, 31695, 32294, 32894, 33494, 34093, 34693, 35293, 35892, 36492, 37092, 37691, 38291, 38890, 39490, 40090, 40689, 41289, 41889, 42488, 43088, 43688, 44287, 44887, 45486, 46086, 46686, 47285]] - 攻击次数 = 1 - data1 = [int(i*1.2340) for i in [0, 53196, 58593, 63990, 69386, 74783, 80180, 85577, 90973, 96370, 101767, 107164, 112561, 117957, 123354, 128751, 134148, 139544, 144941, 150338, 155735, 161131, 166528, 171925, 177322, 182718, 188115, 193512, 198909, 204305, 209702, 215099, 220496, 225893, 231289, 236686, 242083, 247480, 252876, 258273, 263670, 269067, 274463, 279860, 285257, 290654, 296050, 301447, 306844, 312241, 317637, 323034, 328431, 333828, 339225, 344621, 350018, 355415, 360812, 366208, 371605, 377002, 382399, 387795, 393192, 398589, 403986, 409382, 414779, 420176, 425573]] - 攻击次数2 = 1 - -class 技能27(职业主动技能): - 名称 = '生命之律·神木擎天' - 所在等级 = 100 - 等级上限 = 40 - 等级精通 = 30 - 基础等级 = 2 - 关联技能 = ['无'] - CD = 290.0 - data0 = [int(i*1.2550) for i in [0, 31260, 38509, 45758, 53006, 60255, 67504, 74753, 82002, 89250, 96499, 103749, 110998, 118246, 125495, 132744, 139993, 147242, 154490, 161739, 168988, 176237, 183486, 190734, 197983, 205232, 212481, 219730, 226979, 234228, 241477, 248726, 255974, 263223, 270472, 277721, 284970, 292218, 299467, 306716, 313965, 321214, 328463, 335712, 342961, 350210, 357458, 364707, 371956, 379205, 386454, 393703, 400951, 408200, 415449, 422698, 429947, 437195, 444444, 451694, 458943, 466191, 473440, 480689, 487938, 495187, 502435, 509684, 516933, 524182, 531431]] - 攻击次数 = 1 - data1 =[int(i*1.2550) for i in [0, 250085, 308075, 366067, 424057, 482048, 540039, 598030, 656020, 714012, 772002, 829993, 887984, 945975, 1003965, 1061957, 1119947, 1177938, 1235929, 1293920, 1351910, 1409902, 1467892, 1525883, 1583874, 1641865, 1699855, 1757847, 1815837, 1873828, 1931819, 1989810, 2047800, 2105791, 2163782, 2221773, 2279764, 2337755, 2395745, 2453736, 2511727, 2569718, 2627709, 2685700, 2743690, 2801681, 2859672, 2917663, 2975654, 3033645, 3091635, 3149626, 3207617, 3265608, 3323599, 3381590, 3439580, 3497571, 3555562, 3613553, 3671544, 3729535, 3787525, 3845516, 3903507, 3961498, 4019489, 4077480, 4135470, 4193461, 4251452]] - 攻击次数2 = 1 - data2 = [int(i*1.2550) for i in [0, 5209, 6417, 7625, 8834, 10042, 11250, 12458, 13666, 14874, 16083, 17291, 18499, 19707, 20915, 22123, 23331, 24540, 25748, 26956, 28164, 29372, 30580, 31789, 32996, 34205, 35413, 36621, 37829, 39037, 40245, 41454, 42662, 43870, 45078, 46286, 47494, 48702, 49911, 51118, 52327, 53535, 54743, 55951, 57159, 58368, 59576, 60784, 61992, 63200, 64408, 65617, 66824, 68033, 69241, 70449, 71657, 72865, 74073, 75282, 76490, 77698, 78906, 80114, 81322, 82530, 83739, 84946, 86155, 87363, 88571]] - 攻击次数3 = 6 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '皓曦·精灵骑士' - 角色 = '守护者' - 职业 = '精灵骑士' - - 武器选项 = ['太刀', '钝器', '巨剑', '短剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '板甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.03 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - # def 被动倍率计算(self): - # super().被动倍率计算() - # # self.技能栏[self.技能序号['天马流星落']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - # # self.技能栏[self.技能序号['暮光之灵黄昏独角兽']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - # # self.技能栏[self.技能序号['天马流星落']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型) - # # self.技能栏[self.技能序号['暮光之灵黄昏独角兽']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型) - # # self.技能栏[self.技能序号['生命之律·神木擎天']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - # # self.技能栏[self.技能序号['生命之律·神木擎天']].被动倍率 *= self.技能栏[self.技能序号['自然恩泽']].加成倍率(self.武器类型) - # self.技能栏[self.技能序号['剑盾强袭']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - # self.技能栏[self.技能序号['剑盾强袭']].被动倍率 *= 0.30 + self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - # self.技能栏[self.技能序号['剑盾猛攻']].被动倍率 /= self.技能栏[self.技能序号['剑盾猛攻']].加成倍率(self.武器类型) - - -class 皓曦·精灵骑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 护石判断(self): - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '一刀两断': - sign = 1 - if sign == 1: - self.先锋斩倍率.setEnabled(True) - self.先锋斩倍率.setStyleSheet(下拉框样式) - else: - self.先锋斩倍率.setEnabled(False) - self.先锋斩倍率.setStyleSheet(下拉框样式) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - - self.先锋斩倍率 = MyQComboBox(self.main_frame2) - for i in range(51): - self.先锋斩倍率.addItem('先锋斩:'+str(i * 2)+'%') - self.先锋斩倍率.setCurrentIndex(0) - self.先锋斩倍率.resize(105, 20) - self.先锋斩倍率.move(310, 420) - self.先锋斩倍率.setToolTip('请按实际情况选择') - - self.职业存档.append(('先锋斩倍率', self.先锋斩倍率, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.先锋斩倍率.isEnabled(): - 属性.技能栏[属性.技能序号['一刀两断']].倍率 *= self.先锋斩倍率.currentIndex() / 50 + 1 diff --git a/Characters/皓曦·龙骑士.py b/Characters/皓曦·龙骑士.py deleted file mode 100644 index 579338f4..00000000 --- a/Characters/皓曦·龙骑士.py +++ /dev/null @@ -1,766 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 技能0(被动技能): - 名称 = '基础精通' - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['龙人剑术', '普通攻击(一轮)'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(0.463 + 0.089 * self.等级, 5) - - -class 技能1(主动技能): - 名称 = '龙人剑术' - 备注 = '(TP为基础精通)' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 1159.00 * 1.05 * 1.210415 - 成长 = 0 - CD = 3.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能2(主动技能): - 名称 = '火焰吐息' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [(i*1.210046) for i in [0, 876, 964, 1054, 1142, 1231, 1320, 1408, 1498, 1587, 1675, 1764, 1854, 1942, 2031, 2120, 2209, 2298, 2386, 2475, 2565, 2653, 2742, 2831, 2919, 3009, 3098, 3186, 3275, 3364, 3453, 3542, 3630, 3720, 3809, 3897, 3986, 4076, 4164, 4253, 4342, 4431, 4520, 4608, 4697, 4787, 4875, 4964, 5053, 5141, 5231, 5320, 5408, 5497, 5587, 5675, 5764, 5852, 5942, 6031, 6119]] - 攻击次数 = 3 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '龙翼突袭' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [(i*1.209706) for i in [0, 1545, 1702, 1859, 2016, 2172, 2329, 2486, 2643, 2800, 2957, 3113, 3270, 3427, 3584, 3741, 3897, 4054, 4211, 4368, 4525, 4681, 4838, 4995, 5152, 5309, 5465, 5622, 5779, 5936, 6093, 6250, 6406, 6563, 6720, 6877, 7034, 7190, 7347, 7504, 7661, 7818, 7974, 8131, 8288, 8445, 8602, 8759, 8915, 9072, 9229, 9386, 9543, 9699, 9856, 10013, 10170, 10327, 10483, 10640, 10797, 10954, 11111, 11267, 11424, 11581, 11738, 11895, 12052, 12208, 12365]] - 攻击次数 = 1 - data1 = [(i*1.21016) for i in [0, 1399, 1541, 1683, 1825, 1967, 2109, 2251, 2393, 2535, 2677, 2819, 2961, 3103, 3245, 3387, 3529, 3671, 3813, 3955, 4097, 4239, 4381, 4523, 4665, 4807, 4949, 5091, 5233, 5375, 5517, 5659, 5801, 5943, 6085, 6227, 6369, 6511, 6653, 6795, 6937, 7079, 7221, 7363, 7505, 7647, 7789, 7931, 8073, 8215, 8357, 8499, 8641, 8783, 8925, 9067, 9209, 9351, 9493, 9635, 9777, 9919, 10061, 10203, 10345, 10487, 10629, 10771, 10913, 11055, 11197]] - 攻击次数2 = 1 - CD = 4.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(主动技能): - 名称 = '龙语召唤:阿斯特拉' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - data0 = [(i*1.210978) for i in [0, 2986, 3463, 3938, 4414, 4891, 5366, 5843, 6319, 6795, 7271, 7748, 8223, 8699, 9176, 9651, 10128, 10604, 11080, 11556, 12033, 12508, 12984, 13461, 13936, 14413, 14889, 15366, 15841, 16318, 16794]] - 攻击次数 = 1 - CD = 7.0 - 关联技能 = ['所有'] - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1.05 + 0.005 * self.等级, 5) - else: - return round(0.75 + 0.02 * self.等级, 5) - - def 独立攻击力倍率进图(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 20: - return round(1.05 + 0.005 * self.等级, 5) - else: - return round(0.75 + 0.02 * self.等级, 5) - - -class 技能5(主动技能): - 名称 = '爆破龙角' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [(i*1.208141) for i in [0, 1715, 1888, 2062, 2237, 2410, 2584, 2757, 2932, 3106, 3279, 3454, 3628, 3801, 3976, 4150, 4323, 4498, 4672, 4845, 5020, 5193, 5367, 5542, 5715, 5889, 6064, 6237, 6411, 6586, 6759, 6933, 7108, 7281, 7455, 7629, 7803, 7977, 8150, 8325, 8499, 8672, 8847, 9020, 9194, 9369, 9542, 9716, 9891, 10064, 10238, 10413, 10586, 10760, 10935, 11108, 11282, 11456, 11630, 11804, 11978]] - 攻击次数 = 1 - data1 = [(i*1.207952) for i in [0, 4001, 4406, 4813, 5218, 5625, 6030, 6436, 6842, 7248, 7654, 8060, 8466, 8872, 9277, 9684, 10089, 10496, 10901, 11306, 11713, 12118, 12525, 12930, 13337, 13742, 14148, 14554, 14960, 15366, 15772, 16178, 16584, 16989, 17396, 17801, 18208, 18613, 19019, 19425, 19831, 20237, 20643, 21049, 21455, 21860, 22267, 22672, 23079, 23484, 23890, 24296, 24702, 25108, 25514, 25920, 26326, 26731, 27138, 27543, 27950]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '龙拳(地面释放)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [(i*1.218204) for i in [0,1998, 2201, 2403, 2607, 2809, 3012, 3214, 3418, 3621, 3823, 4027, 4229, 4432, 4634, 4838, 5040, 5243, 5445, 5649, 5851, 6054, 6257, 6460, 6662, 6865, 7068, 7271, 7473, 7676, 7879, 8082, 8284, 8488, 8690, 8893, 9095, 9299, 9501, 9704, 9906, 10110, 10312, 10515, 10717, 10921, 11123, 11326, 11528, 11732, 11935, 12137, 12341, 12543, 12746, 12948, 13152, 13354, 13557, 13759, 13963]] - 攻击次数 = 1 - data1 = [(i*1.218133) for i in [0, 2998, 3302, 3606, 3911, 4214, 4518, 4822, 5127, 5431, 5735, 6040, 6344, 6648, 6952, 7257, 7560, 7864, 8168, 8473, 8777, 9081, 9386, 9690, 9994, 10297, 10602, 10906, 11210, 11514, 11819, 12123, 12427, 12731, 13036, 13340, 13643, 13948, 14252, 14556, 14860, 15165, 15469, 15773, 16077, 16382, 16686, 16989, 17293, 17598, 17902, 18206, 18511, 18815, 19119, 19423, 19728, 20031, 20335, 20639, 20944]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '龙拳(空中释放)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [(i*1.218269) for i in [0, 550, 607, 662, 718, 774, 830, 885, 941, 998, 1053, 1109, 1165, 1221, 1276, 1333, 1389, 1444, 1501, 1556, 1612, 1667, 1724, 1780, 1835, 1892, 1947, 2003, 2059, 2115, 2171, 2227, 2283, 2338, 2395, 2451, 2506, 2562, 2618, 2674, 2729, 2786, 2842, 2897, 2954, 3009, 3065, 3121, 3177, 3233, 3288, 3345, 3400, 3456, 3512, 3568, 3624, 3680, 3736, 3791, 3848]] - 攻击次数 = 1 - data1 = [(i*1.218074) for i in [0, 4957, 5460, 5963, 6466, 6969, 7472, 7975, 8478, 8980, 9484, 9987, 10490, 10993, 11495, 11998, 12501, 13005, 13508, 14010, 14513, 15016, 15519, 16023, 16525, 17028, 17531, 18034, 18536, 19040, 19543, 20046, 20549, 21051, 21554, 22058, 22561, 23064, 23566, 24069, 24572, 25076, 25579, 26081, 26584, 27087, 27590, 28092, 28596, 29099, 29602, 30105, 30607, 31110, 31614, 32117, 32620, 33122, 33625, 34128, 34632]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '龙之撕咬' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [(i*1.208623) for i in [0, 930, 1025, 1120, 1214, 1309, 1403, 1497, 1592, 1687, 1781, 1875, 1970, 2064, 2159, 2254, 2347, 2442, 2537, 2631, 2726, 2821, 2914, 3009, 3104, 3198, 3293, 3387, 3481, 3576, 3671, 3765, 3859, 3954, 4048, 4143, 4238, 4331, 4426, 4521, 4615, 4710, 4804, 4898, 4993, 5088, 5182, 5277, 5371, 5465, 5560, 5655, 5749, 5843, 5938, 6032, 6127, 6222, 6315, 6410, 6505]] - 攻击次数 = 6 - CD = 10 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '龙翼穿刺(2hit+踢击)' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [(i*1.210245) for i in [0, 119, 130, 142, 155, 167, 178, 190, 203, 215, 226, 239, 251, 263, 276, 287, 299, 311, 324, 335, 347, 360, 372, 383, 395, 408, 420, 431, 444, 456, 468, 479, 492, 504, 516, 529, 540, 552, 564, 577, 588, 600, 613, 625, 636, 648, 661, 673, 684, 697, 709, 721, 734, 745, 757, 769, 782, 793, 805, 818, 830]] - 攻击次数 = 2 - data1 = [(i*1.209936) for i in [0, 7269, 8006, 8744, 9481, 10218, 10956, 11693, 12431, 13168, 13906, 14643, 15380, 16118, 16855, 17593, 18330, 19067, 19805, 20542, 21280, 22017, 22755, 23492, 24229, 24967, 25704, 26442, 27179, 27917, 28654, 29391, 30129, 30866, 31604, 32341, 33079, 33816, 34553, 35291, 36028, 36766, 37503, 38241, 38978, 39715, 40453, 41190, 41928, 42665, 43402, 44140, 44877, 45615, 46352, 47090, 47827, 48564, 49302, 50039, 50777]] - 攻击次数2 = 1 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '龙翼穿刺(撕咬附着)' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [(i*1.209994) for i in [0, 7962, 8764, 9574, 10384, 11192, 11995, 12804, 13615, 14423, 15226, 16035, 16845, 17655, 18464, 19267, 20076, 20886, 21696, 22497, 23307, 24117, 24927, 25729, 26537, 27348, 28157, 28960, 29768, 30579, 31388, 32190, 33000, 33809, 34619, 35429, 36232, 37041, 37850, 38660, 39462, 40272, 41082, 41891, 42693, 43502, 44313, 45121, 45924, 46733, 47543, 48353, 49162, 49964, 50774, 51584, 52394, 53196, 54005, 54815, 55625]] - 攻击次数 = 1 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '飞龙斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [(i*1.21087) for i in [0, 2243, 2471, 2698, 2925, 3153, 3381, 3609, 3836, 4063, 4292, 4519, 4747, 4974, 5201, 5430, 5657, 5884, 6112, 6339, 6568, 6795, 7022, 7250, 7478, 7706, 7933, 8160, 8388, 8616, 8844, 9071, 9298, 9526, 9754, 9981, 10209, 10436, 10665, 10892, 11119, 11347, 11574, 11803, 12030, 12257, 12485, 12712, 12940, 13168, 13395, 13623, 13851, 14078, 14306, 14533, 14760, 14989, 15216, 15444, 15671]] - 攻击次数 = 2 - data1 = [(i*1.210964) for i in [0, 6589, 7256, 7925, 8594, 9262, 9931, 10600, 11268, 11936, 12604, 13273, 13942, 14610, 15279, 15947, 16615, 17284, 17952, 18621, 19290, 19957, 20626, 21295, 21963, 22632, 23300, 23968, 24637, 25305, 25974, 26643, 27311, 27980, 28647, 29316, 29985, 30653, 31322, 31991, 32658, 33327, 33995, 34664, 35333, 36001, 36669, 37337, 38006, 38675, 39343, 40012, 40680, 41348, 42017, 42685, 43354, 44023, 44691, 45359, 46028]] - 攻击次数2 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 3.25 - self.CD *= 0.9 - elif x == 1: - self.攻击次数 = 3.7 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(被动技能): - 名称 = '大胃王' - 所在等级 = 35 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.0 + 0.01 * self.等级, 5) - else: - return round(0.9 + 0.02 * self.等级, 5) - - -class 技能13(主动技能): - 名称 = '龙刃无双' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [(i*1.210019) for i in [0, 15232, 16778, 18324, 19869, 21415, 22960, 24505, 26051, 27596, 29142, 30687, 32233, 33777, 35323, 36869, 38414, 39960, 41505, 43050, 44596, 46141, 47687, 49232, 50777, 52323, 53868, 55414, 56959, 58505, 60050, 61595, 63141, 64686, 66232, 67778, 69322, 70868, 72413, 73959, 75504, 77049, 78595, 80140, 81686, 83231, 84777, 86322, 87867, 89413, 90958, 92504, 94050, 95594, 97140, 98685, 100231, 101777, 103321, 104867, 106412]] - 攻击次数 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - elif x == 1: - self.倍率 *= 1.37 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(主动技能): - 名称 = '魔龙之息(脱手)' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [(i * 1.215692*1.155) for i in [0, 1706, 1879, 2052, 2225, 2399, 2571, 2745, 2918, 3091, 3264, 3437, 3611, 3783, 3957, 4129, 4303, 4475, 4649, 4823, 4995, 5169, 5341, 5515, 5687, 5861, 6034, 6207, 6381, 6553, 6727, 6899, 7073, 7246, 7419, 7592, 7765, 7938, 8112, 8285, 8458, 8631, 8804, 8977, 9150, 9324, 9496, 9670, 9842, 10016, 10190, 10362, 10536, 10708, 10882, 11054, 11228, 11400, 11574, 11747, 11920]] - 攻击次数 = 13 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.30 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能15(主动技能): - 名称 = '魔龙之息(骑乘)' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [(i*1.215904*1.155) for i in [0, 1130, 1244, 1359, 1474, 1588, 1703, 1818, 1932, 2047, 2161, 2276, 2391, 2505, 2620, 2735, 2849, 2964, 3079, 3193, 3308, 3422, 3537, 3651, 3765, 3880, 3995, 4109, 4224, 4338, 4453, 4568, 4682, 4797, 4912, 5026, 5141, 5256, 5370, 5485, 5600, 5714, 5829, 5943, 6058, 6173, 6287, 6402, 6517, 6631, 6746, 6861, 6975, 7090, 7204, 7319, 7434, 7548, 7663, 7778, 7892]] - 攻击次数 = 23 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - 护石CD缩减 = 0 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.9 - self.攻击次数 = 25 - self.护石CD缩减 = 4 - elif x == 1: - self.倍率 *= 1.07 - self.CD *= 0.9 - self.攻击次数 = 25 - self.护石CD缩减 = 4 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - # 五秒是技能释放时间后才开始结算CD造成的 - return round((self.CD * 武器冷却惩罚(武器类型, 输出类型, self.版本)-self.护石CD缩减) / self.恢复 + 5, 1) - - -class 技能16(被动技能): - 名称 = '魔龙之力' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - - -class 技能17(主动技能): - 名称 = '魔龙之力(火球)' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - data0 = [(i*1.0) for i in [0, 935, 1084, 1233, 1383, 1532, 1681, 1830, 1979, 2128, 2278, 2427, 2576, 2725, 2874, 3023, 3172, 3322, 3471, 3620, 3769, 3918, 4067, 4217, 4366, 4515, 4664, 4813, 4962, 5112, 5261, 5410, 5559, 5708, 5857, 6006, 6156, 6305, 6454, 6603, 6752]] - 攻击次数 = 1 - CD = 3.0 - TP上限 = 0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能18(主动技能): - 名称 = '雷光嘶吼' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data0 = [(i*1.208969) for i in [0, 2480, 3054, 3630, 4204, 4780, 5354, 5930, 6504, 7080, 7655, 8230, 8805, 9380, 9956, 10530, 11106, 11680, 12256, 12830, 13406, 13980, 14556, 15130, 15706, 16280, 16856, 17430, 18006, 18581, 19156, 19731, 20306, 20882, 21456, 22032, 22606, 23182, 23756, 24332, 24906]] - 攻击次数 = 8 - data1 = [(i*1.208998) for i in [0, 44091, 54315, 64540, 74763, 84988, 95212, 105437, 115660, 125885, 136109, 146333, 156557, 166782, 177006, 187229, 197454, 207678, 217902, 228126, 238351, 248575, 258799, 269023, 279248, 289472, 299696, 309920, 320144, 330368, 340592, 350817, 361041, 371265, 381489, 391714, 401937, 412162, 422386, 432611, 442834]] - 攻击次数2 = 1 - CD = 145 - - def 等效百分比(self, 武器类型): - if self.等级 <= 8: - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * self.倍率 - else: - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 * 1.1) * self.倍率 - - -class 技能19(主动技能): - 名称 = '龙皇制裁' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [(i*1.207984) for i in [0, 23146, 25495, 27842, 30191, 32538, 34887, 37236, 39583, 41932, 44279, 46628, 48976, 51324, 53673, 56020, 58369, 60717, 63065, 65414, 67761, 70110, 72457, 74806, 77155, 79502, 81851, 84198, 86547, 88896, 91243, 93592, 95939, 98288, 100636, 102984, 105333, 107680, 110029, 112377, 114725, 117074, 119421, 121770, 124118, 126466, 128815, 131162, 133511, 135859, 138207, 140556, 142903, 145252, 147600, 149948, 152296, 154644, 156993, 159341, 161689]] - 攻击次数 = 1 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.32 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能20(主动技能): - 名称 = '魔龙天翔(脱手)' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [(i*1.201) for i in [0, 33015, 36364, 39713, 43062, 46413, 49762, 53111, 56461, 59810, 63159, 66510, 69859, 73208, 76557, 79907, 83256, 86605, 89955, 93304, 96653, 100003, 103352, 106701, 110050, 113400, 116749, 120098, 123448, 126797, 130146, 133497, 136846, 140195, 143544, 146894, 150244, 153593, 156943, 160292, 163641]] - 攻击次数 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.18 - elif x == 1: - self.倍率 *= 1.26 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能21(主动技能): - 名称 = '魔龙天翔(骑乘)' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [(i*1.201019) for i in [0, 12133, 13365, 14596, 15826, 17058, 18289, 19519, 20751, 21982, 23212, 24444, 25675, 26905, 28137, 29367, 30597, 31830, 33059, 34290, 35523, 36752, 37983, 39215, 40445, 41676, 42908, 44138, 45369, 46601, 47831, 49062, 50294, 51524, 52755, 53987, 55217, 56448, 57680, 58910, 60141]] - 攻击次数 = 1 - data1 = [(i*1.201014) for i in [0, 9437, 10394, 11351, 12310, 13267, 14224, 15181, 16139, 17097, 18054, 19011, 19968, 20926, 21883, 22841, 23798, 24755, 25713, 26670, 27627, 28585, 29543, 30501, 31458, 32415, 33373, 34330, 35288, 36245, 37202, 38160, 39117, 40075, 41032, 41989, 42946, 43905, 44862, 45819, 46776]] - 攻击次数2 = 3 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.31 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能22(被动技能): - 名称 = '龙神血脉' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.21 + 0.02 * self.等级, 5) - - -class 技能23(主动技能): - 名称 = '魔龙星落' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [(i*1.211005) for i in [0, 4142, 4562, 4983, 5403, 5823, 6243, 6663, 7084, 7504, 7924, 8344, 8765, 9185, 9605, 10025, 10445, 10866, 11286, 11706, 12126, 12547, 12967, 13387, 13807, 14227, 14648, 15068, 15488, 15908, 16328, 16750, 17170, 17590, 18010, 18431, 18851, 19271, 19691, 20111, 20532, 20952, 21372, 21792, 22213, 22633, 23053, 23473, 23893, 24314, 24734, 25154, 25574, 25995, 26415, 26835, 27255, 27675, 28096, 28516, 28936]] - 攻击次数 = 9 - data1 = [(i*1.210992) for i in [0, 24854, 27375, 29897, 32418, 34940, 37462, 39983, 42504, 45026, 47547, 50068, 52591, 55112, 57633, 60155, 62676, 65197, 67720, 70241, 72762, 75284, 77805, 80326, 82848, 85370, 87891, 90412, 92934, 95455, 97976, 100499, 103020, 105541, 108063, 110584, 113105, 115628, 118149, 120670, 123192, 125713, 128234, 130757, 133278, 135799, 138321, 140842, 143363, 145884, 148407, 150928, 153449, 155971, 158492, 161013, 163536, 166057, 168578, 171100, 173621]] - 攻击次数2 = 1 - CD = 40.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 = 1.37 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能24(主动技能): - 名称 = '征战无双' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [(i*1.216006*1.15) for i in [0, 26689, 29396, 32104, 34811, 37520, 40227, 42935, 45643, 48350, 51058, 53765, 56473, 59180, 61888, 64595, 67303, 70010, 72720, 75427, 78135, 80842, 83550, 86257, 88965, 91672, 94380, 97087, 99795, 102502, 105211, 107918, 110626, 113333, 116041, 118748, 121456, 124163, 126871, 129579, 132286, 134995, 137702, 140410, 143117, 145825, 148532, 151240, 153947, 156655, 159362, 162070, 164777, 167485, 170192, 172901, 175608, 178316, 181023, 183731, 186438]] - 攻击次数 = 1 - data1 = [(i*1.215992*1.15) for i in [0, 41159, 45335, 49511, 53686, 57862, 62038, 66213, 70389, 74564, 78740, 82916, 87091, 91267, 95443, 99618, 103794, 107970, 112145, 116321, 120497, 124672, 128847, 133024, 137199, 141374, 145551, 149726, 153901, 158078, 162253, 166428, 170605, 174780, 178955, 183132, 187307, 191482, 195659, 199834, 204009, 208185, 212361, 216536, 220712, 224888, 229063, 233239, 237415, 241590, 245766, 249941, 254117, 258293, 262468, 266644, 270820, 274995, 279171, 283347, 287522]] - 攻击次数2 = 1 - CD = 50.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 1.23 - self.倍率 = 1.16 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能25(主动技能): - 名称 = '龙神裁决:终末之光' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [(i*1.215001) for i in [0, 173732, 214019, 254304, 294591, 334877, 375162, 415449, 455734, 496020, 536307, 576592, 616878, 657164, 697450, 737735, 778022, 818308, 858593, 898880, 939165, 979452, 1019738, 1060023, 1100310, 1140595, 1180881, 1221168, 1261453, 1301739, 1342025, 1382311, 1422597, 1462883, 1503169, 1543454, 1583741, 1624027, 1664312, 1704599, 1744884, 1785171, 1825457, 1865742, 1906029, 1946314, 1986600, 2026887, 2067172, 2107458, 2147744, 2188030, 2228315, 2268602, 2308888, 2349173, 2389460, 2429745, 2470032, 2510318, 2550603, 2590890, 2631175, 2671461, 2711748, 2752033, 2792319, 2832605, 2872891, 2913177, 2953463]] - 攻击次数 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能26(被动技能): - 名称 = '龙血誓约' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能27(主动技能): - 名称 = '龙咆雷鸣' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.214998) for i in [0, 10824, 11923, 13021, 14119, 15217, 16315, 17414, 18512, 19610, 20708, 21806, 22905, 24003, 25101, 26199, 27297, 28395, 29494, 30592, 31690, 32788, 33886, 34985, 36083, 37181, 38279, 39377, 40476, 41574, 42672, 43770, 44868, 45966, 47065, 48163, 49261, 50359, 51457, 52556, 53654, 54752, 55850, 56948, 58047, 59145, 60243, 61341, 62439, 63537, 64636, 65734, 66832, 67930, 69028, 70127, 71225, 72323, 73421, 74519, 75618]] - 攻击次数 = 5 - data1 = [int(i*1.214986) for i in [0, 81187, 89423, 97660, 105896, 114133, 122369, 130605, 138842, 147078, 155315, 163551, 171787, 180024, 188260, 196497, 204733, 212969, 221206, 229442, 237679, 245915, 254151, 262388, 270624, 278861, 287097, 295333, 303570, 311806, 320043, 328279, 336515, 344752, 352988, 361225, 369461, 377698, 385934, 394170, 402407, 410643, 418880, 427116, 435352, 443589, 451825, 460062, 468298, 476534, 484771, 493007, 501244, 509480, 517716, 525953, 534189, 542426, 550662, 558898, 567135]] - 攻击次数2 = 1 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能28(主动技能): - 名称 = '龙神君临·虚空烬灭' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.237999) for i in [0, 43811, 53971, 64131, 74289, 84449, 94608, 104768, 114926, 125086, 135245, 145404, 155564, 165723, 175883, 186041, 196201, 206360, 216520, 226678, 236838, 246998, 257157, 267316, 277475, 287635, 297794, 307953, 318112, 328272, 338432, 348590, 358750, 368909, 379069, 389227, 399387, 409546, 419706, 429865, 440024, 450184, 460342, 470502, 480661, 490821, 500979, 511139, 521299, 531458, 541617, 551776, 561936, 572095, 582254, 592413, 602573, 612733, 622891, 633051, 643210, 653370, 663528, 673688, 683847, 694007, 704166, 714325, 724485, 734644, 744803]] - 攻击次数 = 1 - data1 = [int(i*1.238017) for i in [0, 21906, 26985, 32065, 37145, 42224, 47303, 52384, 57463, 62542, 67622, 72702, 77782, 82861, 87941, 93021, 98100, 103179, 108260, 113339, 118419, 123499, 128578, 133658, 138737, 143817, 148897, 153976, 159056, 164136, 169215, 174295, 179375, 184454, 189534, 194613, 199694, 204773, 209852, 214933, 220012, 225091, 230171, 235251, 240330, 245410, 250489, 255570, 260649, 265728, 270809, 275888, 280967, 286047, 291127, 296207, 301286, 306366, 311446, 316525, 321604, 326685, 331764, 336844, 341923, 347003, 352083, 357162, 362242, 367322, 372401]] - 攻击次数2 = 8 - data2 = [int(i*1.238004) for i in [0, 131435, 161913, 192392, 222869, 253347, 283825, 314303, 344781, 375259, 405736, 436214, 466693, 497170, 527648, 558126, 588604, 619082, 649560, 680037, 710516, 740994, 771471, 801949, 832427, 862905, 893383, 923861, 954338, 984817, 1015295, 1045772, 1076250, 1106728, 1137206, 1167684, 1198162, 1228639, 1259118, 1289596, 1320073, 1350551, 1381030, 1411507, 1441985, 1472463, 1502940, 1533419, 1563897, 1594374, 1624852, 1655331, 1685808, 1716286, 1746764, 1777241, 1807720, 1838198, 1868675, 1899153, 1929632, 1960109, 1990587, 2021065, 2051542, 2082021, 2112499, 2142976, 2173454, 2203933, 2234411]] - 攻击次数3 = 1 - data3 = [int(i*1.238011) for i in [0, 21906, 26985, 32065, 37145, 42224, 47303, 52384, 57463, 62542, 67622, 72702, 77782, 82861, 87941, 93021, 98100, 103179, 108260, 113339, 118419, 123499, 128578, 133658, 138737, 143817, 148897, 153976, 159056, 164136, 169215, 174295, 179375, 184454, 189534, 194613, 199694, 204773, 209852, 214933, 220012, 225091, 230171, 235251, 240330, 245410, 250489, 255570, 260649, 265728, 270809, 275888, 280967, 286047, 291127, 296207, 301286, 306366, 311446, 316525, 321604, 326685, 331764, 336844, 341923, 347003, 352083, 357162, 362242, 367322, 372401]] - 攻击次数4 = 4 - CD = 290.0 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2+ self.data2[self.等级] * self.攻击次数3+ self.data3[self.等级] * self.攻击次数4) * self.倍率 - -class 技能29(主动技能): - 名称 = '普通攻击(一轮)' - 所在等级 = 1 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 1114.6981 - 成长 = 0 - CD = 1 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - temp = i - if i.是否有伤害 == 1 and i.是否有护石 == 1 and i.所在等级 != 45 and i.所在等级 != 70: - 护石选项.append(i.名称) -护石选项.append('魔龙之息') -护石选项.append('魔龙天翔') - -符文选项 = ['无'] -for i in 技能列表: - temp = i - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.所在等级 != 48 and i.是否有伤害 == 1 and i.所在等级 != 45 and i.所在等级 != 70: - 符文选项.append(i.名称) -符文选项.append('魔龙之息') -符文选项.append('魔龙天翔') - - -class 职业角色属性(角色属性): - 实际名称 = '皓曦·龙骑士' - 角色 = '守护者' - 职业 = '龙骑士' - - 武器选项 = ['太刀', '钝器', '巨剑', '短剑'] - - 类型选择 = ['物理固伤'] - - 类型 = '物理固伤' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.850 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[17].等级 = self.技能栏[16].等级 - - if self.装备检查('守护的抉择'): - if self.护石第一栏 == '魔龙之息': - self.技能栏[self.技能序号['魔龙之息(脱手)']].CD *= 0.7 - self.技能栏[self.技能序号['魔龙之息(脱手)']].倍率 *= 1.55 - self.技能栏[self.技能序号['魔龙之息(骑乘)']].CD *= 0.7 - self.技能栏[self.技能序号['魔龙之息(骑乘)']].倍率 *= 1.55 - if self.护石第二栏 == '魔龙之息': - self.技能栏[self.技能序号['魔龙之息(脱手)']].CD *= 0.75 - self.技能栏[self.技能序号['魔龙之息(脱手)']].倍率 *= 1.45 - self.技能栏[self.技能序号['魔龙之息(骑乘)']].CD *= 0.75 - self.技能栏[self.技能序号['魔龙之息(骑乘)']].倍率 *= 1.45 - if self.护石第一栏 == '魔龙天翔': - self.技能栏[self.技能序号['魔龙天翔(脱手)']].CD *= 0.7 - self.技能栏[self.技能序号['魔龙天翔(脱手)']].倍率 *= 1.55 - self.技能栏[self.技能序号['魔龙天翔(骑乘)']].CD *= 0.7 - self.技能栏[self.技能序号['魔龙天翔(骑乘)']].倍率 *= 1.55 - if self.护石第二栏 == '魔龙天翔': - self.技能栏[self.技能序号['魔龙天翔(脱手)']].CD *= 0.75 - self.技能栏[self.技能序号['魔龙天翔(脱手)']].倍率 *= 1.45 - self.技能栏[self.技能序号['魔龙天翔(骑乘)']].CD *= 0.75 - self.技能栏[self.技能序号['魔龙天翔(骑乘)']].倍率 *= 1.45 - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - if i.是否有伤害 == 1 and i.名称 != '魔龙之息(骑乘)': - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - 技能释放次数.append(int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型) + 1 + i.基础释放次数)) - else: - 技能释放次数.append(eval(self.次数输入[self.技能序号[i.名称]])) - elif i.名称 == '魔龙之息(骑乘)': - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - # 计算CD时间为技能释放完毕后 - 技能释放次数.append(int((self.时间输入 - i.演出时间) / - (i.等效CD(self.武器类型, self.类型) + 5)+ 1 + i.基础释放次数)*3) - else: - 技能释放次数.append(eval(self.次数输入[self.技能序号[i.名称]])) - else: - 技能释放次数.append(0) - - return self.技能释放次数解析(技能释放次数) - -class 皓曦·龙骑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业角色属性() - self.角色属性A = 职业角色属性() - self.角色属性B = 职业角色属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 护石类型选项更新(self, x): - self.护石类型选项[x].clear() - if self.护石栏[x].currentText() != '无': - if self.护石栏[x].currentText() not in ['魔龙天翔', '魔龙之息']: - try: - self.护石类型选项[x].addItems( - self.初始属性.技能栏[self.初始属性.技能序号[self.护石栏[x].currentText()]].护石选项) - except: - self.护石类型选项[x].addItem('魔界') - self.护石栏[x].setCurrentIndex(0) - elif self.护石栏[x].currentText() in ['魔龙天翔', '魔龙之息']: - self.护石类型选项[x].addItem('魔界') - self.护石类型选项[x].addItem('圣痕') - else: - self.护石类型选项[x].addItem('魔界') - - def 加载护石(self, 属性): - for k in range(3): - if self.护石栏[k].currentText() != '无' and self.护石栏[k].currentText() != '魔龙之息' and self.护石栏[k].currentText() != '魔龙天翔': - try: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石() - except: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石( - self.护石类型选项[k].currentIndex()) - elif self.护石栏[k].currentText() == '魔龙之息': - if self.护石类型选项[k].currentText() == '魔界': - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(脱手)']].装备护石(0) - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(骑乘)']].装备护石(0) - elif self.护石类型选项[k].currentText() == '圣痕': - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(脱手)']].装备护石(1) - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(骑乘)']].装备护石(1) - elif self.护石栏[k].currentText() == '魔龙天翔': - if self.护石类型选项[k].currentText() == '魔界': - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(脱手)']].装备护石(0) - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(骑乘)']].装备护石(0) - elif self.护石类型选项[k].currentText() == '圣痕': - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(脱手)']].装备护石(1) - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(骑乘)']].装备护石(1) - - 属性.护石第一栏 = self.护石栏[0].currentText() - 属性.护石第二栏 = self.护石栏[1].currentText() - 属性.护石第三栏 = self.护石栏[2].currentText() - - for i in range(9): - if self.符文[i].currentText() != '无' and self.符文效果[i].currentText() != '无' and self.符文[i].currentText() != '魔龙之息' and self.符文[i].currentText() != '魔龙天翔': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - elif self.符文[i].currentText() == '魔龙之息': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(脱手)']].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(骑乘)']].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(脱手)']].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['魔龙之息(骑乘)']].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - elif self.符文[i].currentText() == '魔龙天翔': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(脱手)']].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(骑乘)']].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(脱手)']].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['魔龙天翔(骑乘)']].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 diff --git a/Characters/知源·元素师.py b/Characters/知源·元素师.py deleted file mode 100644 index 13ed56fa..00000000 --- a/Characters/知源·元素师.py +++ /dev/null @@ -1,610 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - # def 等效CD(self, 武器类型): - # if 武器类型 == '法杖': - # return round(self.CD / self.恢复 * 1.1, 1) - # if 武器类型 == '魔杖': - # return round(self.CD / self.恢复 * 1, 1) - - 脱手 = 1 - - def 实际技能次数(self, 输出时间, 武器类型, 输出类型): - - 技能CD = self.等效CD(武器类型, 输出类型) - # 能够打满的技能次数计算 - 技能次数 = int((输出时间 - self.演出时间) / - self.等效CD(武器类型, 输出类型) + 1 + self.基础释放次数) - 剩余时间 = 输出时间 - (技能次数 - 1 - self.基础释放次数) * \ - self.等效CD(武器类型, 输出类型) - 技能CD - (技能次数-1)*0.5 - # 最后一次技能小数点技能次数计算 - if 剩余时间 > 0 and 剩余时间 < self.演出时间: - 技能次数 += self.最后一次伤害估算(剩余时间) - return round(技能次数, 2) - - def 最后一次伤害估算(self, 剩余时间): - return 0 - - -class 技能0(职业主动技能): - 名称 = '烈焰冲击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.0) for i in [0, 2742, 3021, 3300, 3578, 3857, 4135, 4412, 4691, 4969, 5247, 5526, 5805, 6083, 6362, 6639, 6917, 7196, 7474, 7753, 8031, 8308, 8587, 8867, 9144, 9423, 9701, 9979, 10258, 10536, 10813, 11092, 11370, 11650, 11928, 12206, 12485, 12763, 13040, 13319, 13597, 13875, 14154, 14433, 14712, 14990, 15267, 15546, 15824, 16102, 16381, 16659, 16936, 17215, 17494, 17772, 18051, 18329, 18608, 18886, 19163, 19443, 19720, 19998, 20278, 20556, 20834, 21113, 21391, 21668, 21947]] - 攻击次数 = 1 - CD = 7.0 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.4 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(被动技能): - 名称 = '属性精通' - 所在等级 = 30 - 等级上限 = 15 - 基础等级 = 5 - 圣灵符文倍率 = 1.0 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + (0.30 + 0.02 * self.等级) * self.圣灵符文倍率, 5) - - -class 技能2(职业主动技能): - 名称 = '虚无之球' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.151) for i in [0, 379, 416, 457, 494, 532, 569, 609, 646, 685, 723, 763, 799, 839, 877, 916, 953, 993, 1031, 1068, 1109, 1146, 1185, 1222, 1262, 1299, 1338, 1376, 1416, 1452, 1491, 1530, 1568, 1605, 1645, 1682, 1721, 1758, 1799, 1837, 1875, 1914, 1952, 1990, 2027, 2067, 2104, 2144, 2182, 2221, 2258, 2297, 2335, 2374, 2411, 2452, 2489, 2527, 2567, 2604, 2643, 2680, 2721, 2757, 2795, 2835, 2873, 2911, 2949, 2988, 3027]] - 攻击次数 = 8 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 8.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(职业主动技能): - 名称 = '冰墙' - 学习间隔 = 2 - sp消耗 = 25 - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.159) for i in [0, 5858, 6451, 7043, 7636, 8235, 8825, 9418, 10011, 10609, 11202, 11795, 12388, 12981, 13578, 14171, 14763, 15356, 15955, 16547, 17140, 17733, 18329, 18922, 19515, 20108, 20706, 21299, 21892, 22485, 23082, 23675, 24267, 24860, 25459, 26049, 26642, 27235, 27833, 28426, 29019, 29612, 30209, 30802, 31395, 31987, 32586, 33179, 33771, 34364, 34960, 35553, 36146, 36739, 37337, 37930, 38523, 39116, 39713, 40306, 40899, 41491, 42086, 42680, 43273, 43866, 44463, 45057, 45650, 46246, 46838]] - 攻击次数 = 1 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 1.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(职业主动技能): - 名称 = '雷旋' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.152) for i in [0, 2809, 3093, 3380, 3668, 3953, 4237, 4522, 4808, 5092, 5377, 5664, 5948, 6233, 6518, 6804, 7089, 7374, 7658, 7944, 8229, 8513, 8800, 9085, 9369, 9656, 9941, 10225, 10510, 10796, 11080, 11365, 11651, 11935, 12221, 12507, 12793, 13079, 13364, 13648, 13933, 14220, 14503, 14789, 15075, 15359, 15644, 15931, 16215, 16500, 16785, 17069, 17355, 17641, 17925, 18211, 18496, 18780, 19068, 19353, 19640, 19923, 20209, 20493, 20779, 21064, 21348, 21633, 21920, 22205, 22489]] - 攻击次数 = 1 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 1.5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(职业主动技能): - 名称 = '天雷冲击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.155) for i in [0, 2680, 2952, 3224, 3496, 3768, 4039, 4312, 4584, 4856, 5128, 5399, 5672, 5943, 6216, 6487, 6759, 7031, 7303, 7575, 7847, 8118, 8391, 8663, 8935, 9207, 9478, 9751, 10022, 10295, 10566, 10838, 11110, 11382, 11654, 11926, 12198, 12470, 12742, 13014, 13286, 13557, 13830, 14101, 14374, 14645, 14917, 15189, 15461, 15733, 16005, 16277, 16549, 16821, 17093, 17365, 17636, 17909, 18180, 18453, 18724, 18996, 19268, 19540, 19812, 20084, 20356, 20628, 20900, 21172, 21444]] - 攻击次数 = 3 - 天雷攻击力增加率 = 1.55 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.5 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.天雷攻击力增加率 * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 1 - self.天雷攻击力增加率 = 5.93 - elif x == 1: - self.攻击次数 = 1 - self.天雷攻击力增加率 = 6.35 - - -class 技能6(职业主动技能): - 名称 = '极冰盛宴' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.154) for i in [0, 1307, 1439, 1571, 1704, 1837, 1969, 2101, 2234, 2367, 2499, 2632, 2764, 2896, 3030, 3162, 3294, 3427, 3560, 3692, 3825, 3957, 4090, 4223, 4355, 4487, 4621, 4753, 4885, 5018, 5150, 5283, 5416, 5548, 5680, 5814, 5946, 6078, 6211, 6344, 6476, 6609, 6741, 6874, 7006, 7139, 7271, 7404, 7537, 7669, 7801, 7934, 8067, 8199, 8332, 8464, 8597, 8730, 8862, 8994, 9128, 9260, 9392, 9525, 9657, 9790, 9923, 10055, 10187, 10321, 10453]] - 攻击次数 = 8 - CD = 19.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 4.7 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 最后一次伤害估算(self, 剩余时间): - if self.等级 == 0: - return 0 - 实际攻击次数 = int(剩余时间/self.演出时间*self.攻击次数) - 实际百分比 = ((self.data0[self.等级] * 实际攻击次数 * - (1 + self.TP成长 * self.TP等级))) * self.倍率 - return round(实际百分比/self.等效百分比(''), 2) - - -class 技能7(职业主动技能): - 名称 = '湮灭黑洞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data1 = [int(i*1.239) for i in [0, 854, 942, 1028, 1115, 1201, 1289, 1375, 1462, 1548, 1636, 1722, 1809, 1895, 1983, 2069, 2156, 2242, 2330, 2416, 2503, 2589, 2677, 2763, 2850, 2936, 3023, 3110, 3197, 3283, 3370, 3457, 3544, 3630, 3717, 3803, 3891, 3977, 4064, 4150, 4238, 4324, 4411, 4497, 4585, 4671, 4758, 4844, 4932, 5018, 5105, 5191, 5279, 5365, 5452, 5538, 5626, 5712, 5799, 5885, 5973, 6059, 6146, 6232, 6320, 6406, 6493, 6579, 6667, 6753, 6840]] - 攻击次数2 = 15 - data2 = [int(i*1.239) for i in [0, 4280, 4714, 5147, 5581, 6016, 6450, 6884, 7319, 7753, 8187, 8620, 9055, 9489, 9923, 10358, 10792, 11226, 11661, 12094, 12528, 12963, 13397, 13831, 14266, 14700, 15134, 15567, 16002, 16436, 16870, 17305, 17739, 18173, 18608, 19041, 19475, 19910, 20344, 20778, 21213, 21647, 22081, 22514, 22949, 23383, 23817, 24252, 24686, 25120, 25555, 25988, 26422, 26856, 27291, 27725, 28159, 28594, 29028, 29461, 29896, 30330, 30764, 31199, 31633, 32067, 32502, 32935, 33369, 33803, 34238]] - 攻击次数3 = 1 - CD = 35.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 6.2 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - self.演出时间 *= 0.6 - elif x == 1: - self.倍率 *= 1.37 - self.演出时间 *= 0.6 - - def 最后一次伤害估算(self, 剩余时间): - if self.等级 == 0: - return 0 - 实际攻击次数2 = int(剩余时间/self.演出时间*self.攻击次数2) - 实际攻击次数3 = 1 - 实际百分比 = ((self.data1[self.等级] * 实际攻击次数2 * (1 + self.TP成长 * self.TP等级)) + - (self.data2[self.等级] * 实际攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - return round(实际百分比/self.等效百分比(''), 2) - - -class 技能8(职业主动技能): - 名称 = '杰克降临' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data1 = [int(i*1.147) for i in [0, 3998, 4405, 4811, 5217, 5621, 6027, 6434, 6839, 7246, 7651, 8055, 8462, 8868, 9275, 9680, 10084, 10491, 10896, 11303, 11709, 12116, 12519, 12925, 13332, 13737, 14144, 14550, 14953, 15360, 15766, 16173, 16578, 16982, 17389, 17794, 18201, 18607, 19012, 19419, 19823, 20230, 20635, 21041, 21448, 21852, 22259, 22664, 23071, 23476, 23882, 24287, 24693, 25099, 25505, 25910, 26317, 26721, 27128, 27533, 27939, 28346, 28750, 29157, 29562, 29967, 30374, 30780, 31187, 31591, 31996]] - 攻击次数2 = 1 - data2 = [int(i*1.147) for i in [0, 15999, 17622, 19244, 20867, 22490, 24113, 25736, 27360, 28983, 30606, 32229, 33852, 35475, 37099, 38722, 40343, 41967, 43591, 45213, 46836, 48461, 50082, 51706, 53329, 54952, 56575, 58198, 59822, 61445, 63066, 64691, 66313, 67936, 69561, 71182, 72805, 74430, 76052, 77675, 79300, 80921, 82544, 84166, 85791, 87414, 89036, 90660, 92284, 93905, 95530, 97152, 98775, 100399, 102021, 103644, 105269, 106891, 108514, 110135, 111760, 113383, 115005, 116630, 118253, 119874, 121499, 123121, 124744, 126369, 127990]] - 攻击次数3 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.6 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 *= 0.1 * 4 - self.攻击次数3 *= 1.44 - elif x == 1: - self.攻击次数2 *= 0.1 * 4 - self.攻击次数3 *= 1.54 - - -class 技能9(职业主动技能): - 名称 = '元素之幕' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data1 = [int(i*1.151) for i in [0, 370, 406, 444, 483, 519, 557, 595, 632, 669, 708, 745, 782, 819, 857, 895, 931, 970, 1008, 1044, 1082, 1119, 1156, 1195, 1233, 1270, 1307, 1344, 1383, 1420, 1457, 1495, 1533, 1569, 1608, 1646, 1682, 1720, 1758, 1795, 1833, 1871, 1908, 1945, 1982, 2020, 2059, 2095, 2133, 2171, 2207, 2245, 2284, 2322, 2358, 2396, 2433, 2470, 2509, 2546, 2584, 2620, 2658, 2697, 2733, 2771, 2809, 2847, 2883, 2921, 2960]] - 攻击次数2 = 20 - data2 = [int(i*1.151) for i in [0, 11098, 12225, 13350, 14475, 15602, 16727, 17854, 18979, 20104, 21231, 22357, 23482, 24610, 25734, 26862, 27987, 29113, 30239, 31365, 32491, 33617, 34742, 35869, 36994, 38119, 39246, 40371, 41500, 42625, 43750, 44877, 46002, 47129, 48254, 49380, 50506, 51632, 52757, 53884, 55009, 56136, 57261, 58386, 59514, 60640, 61767, 62892, 64017, 65144, 66269, 67394, 68521, 69646, 70773, 71899, 73024, 74151, 75276, 76404, 77529, 78655, 79781, 80907, 82032, 83159, 84284, 85411, 86536, 87661, 88788]] - 攻击次数3 = 1 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3.0 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.95 - self.攻击次数2 *= 1 + 0.45 - self.攻击次数3 *= 1.17 - if x == 1: - self.CD *= 0.95 - self.攻击次数2 *= 1 + 0.45 - self.攻击次数3 *= 1.32 - - def 最后一次伤害估算(self, 剩余时间): - if self.等级 == 0: - return 0 - 实际攻击次数2 = int(剩余时间/self.演出时间*self.攻击次数2) - 实际攻击次数3 = 1 - 实际百分比 = ((self.data1[self.等级] * 实际攻击次数2 * (1 + self.TP成长 * self.TP等级)) + - (self.data2[self.等级] * 实际攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - return round(实际百分比/self.等效百分比(''), 2) - - -class 技能10(被动技能): - 名称 = '魔力增幅' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.075 + 0.015 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.075 + 0.015 * self.等级, 5) - - -class 技能11(职业主动技能): - 名称 = '陨星幻灭' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.157) for i in [0, 159, 196, 233, 270, 307, 344, 381, 418, 540, 575, 610, 646, 682, 718, 753, 789, 825, 861, 896, 932, 968, 1003, 1039, 1075, 1111, 1146, 1182, 1218, 1254, 1289, 1324, 1360, 1396, 1432, 1467, 1503, 1539, 1574, 1610, 1646, 1682, 1717, 1753, 1789, 1825, 1860, 1896, 1932, 1967, 2003, 2039, 2074, 2110, 2146, 2182, 2217, 2253, 2289, 2324, 2360, 2395, 2431, 2467, 2503, 2539, 2574, 2610, 2645, 2681, 2717]] - 攻击次数2 = 40 - data2 = [int(i*1.157) for i in [0, 638, 785, 932, 1080, 1228, 1375, 1523, 1672, 2162, 2300, 2442, 2584, 2727, 2871, 3014, 3156, 3301, 3443, 3584, 3729, 3871, 4014, 4157, 4300, 4442, 4584, 4727, 4871, 5014, 5156, 5298, 5441, 5584, 5728, 5870, 6012, 6154, 6298, 6440, 6583, 6727, 6870, 7012, 7154, 7298, 7441, 7583, 7727, 7870, 8012, 8155, 8298, 8441, 8582, 8727, 8869, 9012, 9155, 9296, 9440, 9581, 9725, 9868, 10010, 10154, 10295, 10439, 10582, 10725, 10868]] - 攻击次数3 = 40 - data3 = [int(i*1.157) for i in [0, 1275, 1570, 1865, 2160, 2455, 2750, 3046, 3345, 4324, 4600, 4883, 5169, 5454, 5742, 6028, 6311, 6601, 6885, 7168, 7457, 7742, 8028, 8313, 8600, 8884, 9168, 9454, 9742, 10029, 10312, 10595, 10881, 11168, 11456, 11740, 12023, 12309, 12596, 12880, 13166, 13455, 13740, 14024, 14308, 14597, 14881, 15166, 15454, 15739, 16025, 16310, 16595, 16881, 17164, 17453, 17737, 18023, 18309, 18592, 18879, 19163, 19450, 19737, 20020, 20309, 20590, 20878, 21163, 21450, 21737]] - 攻击次数4 = 5 - data4 = [int(i*1.157) for i in [0, 5101, 6279, 7459, 8638, 9822, 11000, 12186, 13379, 17294, 18400, 19533, 20675, 21816, 22968, 24112, 25245, 26405, 27542, 28670, 29829, 30967, 32111, 33254, 34401, 35537, 36674, 37818, 38966, 40115, 41248, 42381, 43525, 44672, 45825, 46959, 48092, 49235, 50383, 51519, 52665, 53819, 54958, 56096, 57234, 58387, 59526, 60664, 61817, 62956, 64099, 65239, 66380, 67525, 68656, 69812, 70948, 72094, 73237, 74368, 75517, 76651, 77799, 78946, 80081, 81235, 82361, 83512, 84654, 85799, 86947]] - 攻击次数5 = 5 - CD = 145.0 - 技能施放时间 = 1.44 - 脱手 = 0 - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))+(self.data3[self.等级] * self.攻击次数4 * (1 + self.TP成长 * self.TP等级))+(self.data4[self.等级] * self.攻击次数5 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - -class 技能12(职业主动技能): - 名称 = '元素震荡' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*1.151) for i in [0, 4673, 5149, 5622, 6097, 6572, 7046, 7519, 7996, 8469, 8943, 9416, 9892, 10366, 10842, 11315, 11789, 12262, 12739, 13212, 13688, 14161, 14636, 15109, 15585, 16058, 16532, 17007, 17482, 17955, 18431, 18904, 19379, 19853, 20328, 20801, 21277, 21750, 22223, 22699, 23172, 23647, 24120, 24596, 25069, 25545, 26019, 26493, 26966, 27442, 27915, 28390, 28865, 29339, 29812, 30289, 30762, 31236, 31711, 32185, 32659, 33135, 33608, 34082, 34557, 35032, 35505, 35981, 36454, 36929, 37402]] - 攻击次数2 = 3 - data2 = [int(i*1.151) for i in [0, 21038, 23172, 25307, 27442, 29577, 31711, 33845, 35981, 38114, 40248, 42383, 44516, 46652, 48786, 50920, 53055, 55190, 57325, 59457, 61593, 63727, 65861, 67996, 70131, 72264, 74400, 76534, 78670, 80803, 82937, 85073, 87205, 89341, 91475, 93609, 95744, 97879, 100012, 102146, 104282, 106416, 108551, 110685, 112821, 114953, 117087, 119223, 121356, 123492, 125626, 127760, 129894, 132030, 134164, 136297, 138433, 140567, 142701, 144835, 146971, 149104, 151240, 153374, 155506, 157642, 159776, 161912, 164045, 166181, 168315]] - 攻击次数3 = 1 - data3 = 0 - 攻击次数4 = 0 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 4.0 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 += 0.11 * 16 - elif x == 1: - self.攻击次数2 += 0.14 * 17 - - -class 技能13(职业主动技能): - 名称 = '圣灵水晶' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.15) for i in [0, 51418, 56634, 61850, 67067, 72284, 77501, 82715, 87932, 93148, 98366, 103582, 108798, 114014, 119232, 124447, 129663, 134879, 140095, 145312, 150529, 155746, 160962, 166178, 171393, 176611, 181827, 187043, 192259, 197477, 202693, 207910, 213124, 218341, 223558, 228775, 233991, 239207, 244425, 249641, 254856, 260072, 265288, 270504, 275722, 280938, 286155, 291371, 296589, 301803, 307020, 312236, 317452, 322670, 327886, 333102, 338319, 343533, 348751, 353967, 359184, 364400, 369617, 374834, 380050, 385265, 390481, 395699, 400915, 406131, 411347]] - 攻击次数 = 1 - CD = 40.0 - 演出时间 = 1.6 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.25 - self.演出时间 -= 4.2 - - -class 技能14(被动技能): - 名称 = '元素奥义' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '元素之门' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.151) for i in [0, 5398, 5947, 6494, 7042, 7589, 8141, 8681, 9230, 9777, 10326, 10878, 11420, 11972, 12519, 13068, 13615, 14162, 14709, 15257, 15799, 16350, 16898, 17445, 17996, 18543, 19093, 19637, 20187, 20734, 21283, 21833, 22373, 22924, 23471, 24021, 24568, 25117, 25662, 26211, 26758, 27308, 27859, 28406, 28949, 29494, 30047, 30588, 31141, 31688, 32236, 32785, 33332, 33884, 34426, 34978, 35520, 36069, 36614, 37163, 37709, 38262, 38810, 39357, 39906, 40451, 41000, 41540, 42094, 42639, 43188]] - 攻击次数 = 10 - CD = 45.0 - 演出时间 = 2.2 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - # 根据外门数量的攻击力最大增幅率110% - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 * 1.1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.攻击次数 = 1 * 13.25 - self.演出时间 *= 0.8 - - def 最后一次伤害估算(self, 剩余时间): - if self.等级 == 0: - return 0 - 实际攻击次数 = int((0 if (剩余时间-1) < 0 else (剩余时间-1)) / - (self.演出时间-1)*self.攻击次数) - 实际百分比 = ((self.data0[self.等级] * 实际攻击次数 * - (1 + self.TP成长 * self.TP等级))) * self.倍率 - return round(实际百分比/self.等效百分比(''), 2) - - -class 技能17(职业主动技能): - 名称 = '第六元素' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data1 = [int(i*1.151) for i in [0, 2458, 3029, 3598, 4168, 4735, 5309, 5876, 6446, 7016, 7586, 8155, 8726, 9295, 9865, 10432, 11006, 11572, 12145, 12713, 13283, 13858, 14426, 14996, 15563, 16138, 16705, 17275, 17845, 18415, 18983, 19555, 20123, 20693, 21260, 21833, 22400, 22970, 23541, 24111, 24680, 25254, 25821, 26391, 26961, 27531, 28100, 28673, 29241, 29811, 30378, 30951, 31518, 32088, 32658, 33228, 33798, 34370, 34940, 35508, 36080, 36650, 37220, 37790, 38360, 38928, 39501, 40070, 40640, 41207, 41780]] - 攻击次数2 = 20 - data2 = [int(i*1.151) for i in [0, 114681, 141273, 167868, 194459, 221054, 247648, 274238, 300833, 327427, 354017, 380612, 407205, 433800, 460395, 486987, 513579, 540174, 566766, 593361, 619952, 646544, 673139, 699731, 726326, 752920, 779512, 806107, 832702, 859293, 885886, 912480, 939073, 965669, 992256, 1018851, 1045446, 1072038, 1098634, 1125226, 1151818, 1178413, 1205005, 1231600, 1258194, 1284787, 1311381, 1337970, 1364565, 1391159, 1417751, 1444346, 1470941, 1497531, 1524125, 1550720, 1577312, 1603907, 1630498, 1657091, 1683687, 1710277, 1736872, 1763466, 1790056, 1816651, 1843244, 1869839, 1896432, 1923026, 1949619]] - 攻击次数3 = 1 - CD = 180.0 - 技能施放时间 = 4.23 - 脱手 = 0 - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - -class 技能16(职业主动技能): - 名称 = '圣灵符文' - 所在等级 = 75 - 等级上限 = 11 - 基础等级 = 1 - 是否有伤害 = 0 - 是否主动 = 1 - data1 = [int(i*1.0) for i in [0, 131, 144, 156, 169, 181, 194, 206, 219, 231, - 244, 256, 269, 281, 294, 306, 319, 331, 344, 356, 369]] - data2 = [int(i*1.0) for i in [0, 160, 174, 188, 201, 216, 229, 244, 257, 272, - 285, 299, 313, 327, 341, 355, 369, 383, 397, 411, 424]] - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '' - temp += '属性精通增幅:%.1f%%' % (self.data1[self.等级] / 10) + '
' - temp += '魔法秀增幅:%.1f%%' % (self.data2[self.等级] / 10) - return temp - - -class 技能18(职业主动技能): - 名称 = '魔法秀' - 所在等级 = 20 - 等级上限 = 15 - 基础等级 = 10 - 魔法秀数值 = [0, 22, 43, 65, 86, 108, 130, 151, 173, 194, 216, - 238, 259, 281, 302, 324, 346, 367, 389, 410, 432] - 是否有伤害 = 0 - 冷却关联技能 = ['冰墙', '元素之门', '元素之幕', '元素震荡', '圣灵水晶', '烈焰冲击', - '天雷冲击', '雷旋', '杰克降临', '湮灭黑洞', '极冰盛宴', '虚无之球', '光与暗的交响'] - - 圣灵符文倍率 = 1.0 - - def CD缩减倍率(self, 武器类型): - return round(1 - 0.001 * self.魔法秀数值[self.等级] * self.圣灵符文倍率, 3) - - -class 技能19(被动技能): - 名称 = '元素之源' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能20(职业主动技能): - 名称 = '光与暗的交响' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data1 = [int(i*1.151) for i in [0, 7853, 8650, 9447, 10244, 11040, 11837, 12634, 13430, 14227, 15024, 15821, 16617, 17414, 18211, 19008, 19804, 20601, 21398, 22194, 22991, 23788, 24585, 25381, 26178, 26975, 27771, 28568, 29365, 30162, 30958, 31755, 32552, 33349, 34145, 34942, 35739, 36536, 37332, 38129, 38926, 39722, 40519, 41316, 42113, 42909, 43706, 44503, 45300, 46096, 46893, 47690, 48486, 49283, 50080, 50877, 51673, 52470, 53267, 54063, 54860, 55657, 56454, 57250, 58047, 58844, 59641, 60437, 61234, 62031, 62828]] - 攻击次数2 = 15 - 脱手 = 0 - 技能施放时间 = 1.82 - CD = 60.0 - 演出时间 = 3.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能21(职业主动技能): - 名称 = '宇宙寂灭-冰火之歌' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data1 = [int(i*1.153) for i in [0, 263047, 324042, 385040, 446037, 507032, 568030, 629027, 690023, 751020, 812015, 873013, 934010, 995005, 1056003, 1116998, 1177995, 1238993, 1299988, 1360986, 1421983, 1482978, 1543976, 1604971, 1665968, 1726966, 1787961, 1848958, 1909954, 1970951, 2031949, 2092944, 2153941, 2214937, 2275934, 2336931, 2397927, 2458924, 2519921, 2580917, 2641914, 2702909, 2763907, 2824904, 2885900, 2946897, 3007892, 3068890, 3129887, 3190882, 3251880, 3312875, 3373872, 3434870, 3495865, 3556863, 3617860, 3678855, 3739853, 3800848, 3861845, 3922843, 3983838, 4044835, 4105831, 4166828, 4227826, 4288821, 4349818, 4410814, 4471811]] - 攻击次数2 = 1 - data2 = [int(i*1.153) for i in [0, 25052, 30861, 36670, 42480, 48289, 54098, 59907, 65716, 71526, 77335, 83144, 88953, 94762, 100572, 106381, 112190, 117999, 123808, 129618, 135427, 141236, 147045, 152854, 158664, 164473, 170282, 176091, 181900, 187710, 193519, 199328, 205137, 210946, 216756, 222565, 228374, 234183, 239993, 245802, 251611, 257420, 263229, 269038, 274848, 280657, 286466, 292275, 298084, 303894, 309703, 315512, 321321, 327130, 332940, 338749, 344558, 350367, 356176, 361986, 367795, 373604, 379413, 385222, 391032, 396841, 402650, 408459, 414268, 420077, 425887]] - 攻击次数3 = 7 - 脱手 = 0 - 技能施放时间 = 6.81 - 关联技能 = ['无'] - CD = 290.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·元素师一觉序号 = 0 -知源·元素师二觉序号 = 0 -知源·元素师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·元素师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·元素师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·元素师三觉序号 = 技能序号[i.名称] - -知源·元素师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·元素师护石选项.append(i.名称) - -知源·元素师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·元素师符文选项.append(i.名称) - - -class 知源·元素师角色属性(角色属性): - - 实际名称 = '知源·元素师' - 角色 = '魔法师(女)' - 职业 = '元素师' - - 武器选项 = ['魔杖', '法杖'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.85 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def CD倍率计算(self): - 圣灵符文 = self.技能栏[self.技能序号['圣灵符文']] - self.技能栏[self.技能序号['属性精通']].圣灵符文倍率 = 1 + 圣灵符文.data1[圣灵符文.等级] / 1000 - self.技能栏[self.技能序号['魔法秀']].圣灵符文倍率 = 1 + 圣灵符文.data2[圣灵符文.等级] / 1000 - super().CD倍率计算() - - def 空转时间(self, 不脱手时间, CD): - 空转时间 = 0 - if len(不脱手时间) == 0: - return 0 - if CD > max(不脱手时间): - return 0 - for item in 不脱手时间: - 空转时间 += max(item+0.5-CD, 0) - return 空转时间 - - def 技能释放次数计算(self): - 技能释放次数 = [] - - 不脱手时间 = [] - for i in self.技能栏: - if i.是否有伤害 == 1 and i.脱手 != 1 and self.次数输入[self.技能序号[i.名称]] and i.等效百分比(self.武器类型) * i.被动倍率 > 0: - 不脱手时间.append(i.技能施放时间) - - for i in self.技能栏: - if i.是否有伤害 == 1: - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - 空转时间 = self.空转时间(不脱手时间, i.等效CD(self.武器类型, self.类型)) - 技能释放次数.append(i.实际技能次数(self.时间输入-空转时间, self.武器类型, self.类型)) - elif self.次数输入[self.技能序号[i.名称]] != '0': - 技能释放次数.append(round(float(self.次数输入[self.技能序号[i.名称]]), 2)) - else: - 技能释放次数.append(0) - else: - 技能释放次数.append(0) - - return self.技能释放次数解析(技能释放次数) - - -class 知源·元素师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·元素师角色属性() - self.角色属性A = 知源·元素师角色属性() - self.角色属性B = 知源·元素师角色属性() - self.一觉序号 = 知源·元素师一觉序号 - self.二觉序号 = 知源·元素师二觉序号 - self.三觉序号 = 知源·元素师三觉序号 - self.护石选项 = deepcopy(知源·元素师护石选项) - self.符文选项 = deepcopy(知源·元素师符文选项) diff --git a/Characters/知源·元素爆破师.py b/Characters/知源·元素爆破师.py deleted file mode 100644 index db2666f8..00000000 --- a/Characters/知源·元素爆破师.py +++ /dev/null @@ -1,711 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 元素之力蓄力数量 = 0 - 关联技能4 = ['无'] - - # def 等效CD(self, 武器类型): - # if 武器类型 == '魔杖': - # return round(self.CD / self.恢复 * 1, 1) - # if 武器类型 == '法杖': - # return round(self.CD / self.恢复 * 1.1, 1) - - -class 职业被动技能(被动技能): - 关联技能4 = ['无'] - 元素之力蓄力数量 = 0 - - -class 技能0(职业被动技能): - 名称 = '元素循环' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能1(职业被动技能): - 名称 = '元素之力' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - 每层加成 = [0, 7, 8, 10, 11, 13, 14, 15, 17, 18, 20, 21, 22, 24, 25, 27, 28, 29, 31, 32, 34, 35, 36, 38, 39, 41, 42, 43, 45, 46, 48, 49, 50, 52, 53, - 55, 56, 57, 59, 60, 62, 63, 64, 66, 67, 69, 70, 71, 73, 74, 76, 77, 78, 80, 81, 83, 84, 85, 87, 88, 90, 91, 92, 94, 95, 97, 98, 99, 101, 102, 104] - 关联技能 = ['元素炮'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1+0.01*self.每层加成[self.等级]*5, 5) - - -class 技能2(职业主动技能): - 名称 = '元素环绕' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '所有属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (6 + self.等级 * 3) - - -class 技能3(职业被动技能): - 名称 = '元素融合' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['无'] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '所有属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (37 + self.等级 * 3) -# 要玩换装就自己手动给他调到满级 - - -class 技能4(职业被动技能): - 名称 = '元素爆发' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 16: - return round(1.015 + 0.015 * self.等级, 5) - else: - return round(1.255 + 0.020 * (self.等级 - 16), 5) - - -class 技能5(职业被动技能): - 名称 = '黑瞳' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - - -class 技能6(职业被动技能): - 名称 = '异瞳' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能7(职业主动技能): - 名称 = '元素炮' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 490 - 成长 = 10 - CD = 5.0 -# 元素炮吃两次被动的bug写在最下面的 -# -# 技能单次伤害计算 里 -# -# 啥时候修复了把那几个被动的二次加成删一删就好了 -# - - -class 技能8(职业主动技能): - 名称 = '属性变换' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 19 - 是否有伤害 = 1 - 是否主动 = 1 - data = [int(i*1.22)for i in [0, 254, 312, 371, 430, 489, 548, 606, 665, 724, 783, 842, 900, 959, 1018, 1077, 1136, 1194, 1253, 1312, 1371, 1430, 1488, 1547, 1606, 1665, 1724, 1782, 1841, 1900, 1959, 2018, 2077, 2135, 2194, 2253, - 2312, 2371, 2429, 2488, 2547, 2606, 2665, 2723, 2782, 2841, 2900, 2959, 3017, 3076, 3135, 3194, 3253, 3312, 3370, 3429, 3488, 3547, 3606, 3664, 3723, 3782, 3841, 3900, 3958, 4017, 4076, 4135, 4194, 4252, 4311]] - 攻击次数 = 1 - TP成长 = 0.08 - TP上限 = 5 - CD = 5.0 - 演出时间 = 5.0 - 关联技能 = ['元素炮', '魔球连射'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round((self.data[self.等级]*0.01) * (1+0.08 * self.TP等级), 5) - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(职业主动技能): - 名称 = '魔球连射' - 所在等级 = 5 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 108 - 成长 = 2 - 攻击次数 = 5 - CD = 2.4 - 演出时间 = 1.5 - - -class 技能10(职业主动技能): - 名称 = '地炎' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data = [int(i*1.258)for i in [0, 268, 295, 322, 349, 377, 404, 432, 459, 486, 513, 540, 568, 596, 622, 650, 676, 704, 732, 759, 786, 814, 840, 867, 895, 922, 950, 976, 1004, 1031, 1059, 1086, 1113, 1140, 1168, 1195, 1223, 1249, 1277, 1304, 1331, 1359, 1386, 1413, 1441, 1467, 1494, 1522, 1549, 1577, 1603, 1631, 1658, 1686, 1713, 1740, 1767, 1795, 1822, 1850, 1877, 1904, 1931, 1958, 1985, 2014, 2040, 2068, 2094, 2121, 2149]] - 攻击次数 = 9 - CD = 5 - TP成长 = 0.04 - TP上限 = 5 - 演出时间 = 1.8 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 -# 打满是12hit -# 实际上站位不对的话很容易丢3或6hit -# 跟游戏里对不上的话可以试试调整下站位再打沙袋 hit对上了的话伤害应该是一致的 - - -class 技能11(职业主动技能): - 名称 = '冰晶坠' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data = [int(i*1.173)for i in [0, 470, 517, 565, 613, 661, 708, 756, 804, 852, 900, 946, 994, 1042, 1090, 1138, 1185, 1233, 1281, 1329, 1376, 1424, 1472, 1519, 1567, 1614, 1662, 1710, 1758, 1805, 1853, 1901, 1949, 1997, 2044, 2091, - 2139, 2187, 2235, 2282, 2330, 2378, 2426, 2473, 2521, 2569, 2617, 2664, 2711, 2759, 2807, 2855, 2903, 2950, 2998, 3046, 3094, 3141, 3189, 3236, 3284, 3332, 3379, 3427, 3475, 3523, 3570, 3618, 3666, 3714, 3762]] - 攻击次数 = 7 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 1.5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 -# 随机丢1到2hit -# 打满是7hit - - -class 技能12(职业主动技能): - 名称 = '雷光链' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data = [int(i*1.226)for i in [0, 1141, 1257, 1373, 1487, 1604, 1720, 1835, 1951, 2067, 2183, 2298, 2415, 2531, 2647, 2762, 2878, 2994, 3109, 3226, 3341, 3456, 3573, 3689, 3805, 3920, 4036, 4152, 4268, 4384, 4499, 4615, 4731, 4847, 4963, 5078, 5194, 5310, 5426, 5541, 5658, 5773, 5889, 6005, 6121, 6237, 6353, 6468, 6584, 6700, 6816, 6931, 7047, 7164, 7279, 7395, 7511, 7626, 7742, 7858, 7975, 8089, 8205, 8321, 8438, 8553, 8669, 8785, 8900, 9016, 9132]] - 攻击次数 = 4 - CD = 12 - TP成长 = 0.20 - TP上限 = 5 - 演出时间 = 1.6 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(职业主动技能): - 名称 = '暗域扩张' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data = [int(i*1.217)for i in [0, 6475, 7133, 7789, 8446, 9104, 9761, 10418, 11074, 11732, 12389, 13046, 13703, 14360, 15017, 15675, 16330, 16988, 17646, 18301, 18959, 19616, 20273, 20930, 21587, 22244, 22902, 23558, 24215, 24872, 25529, 26186, 26843, 27501, 28157, 28814, 29472, 30127, 30785, 31443, 32099, 32756, 33413, 34070, 34728, 35384, 36042, 36699, 37356, 38013, 38669, 39327, 39985, 40640, 41298, 41955, 42611, 43269, 43926, 44583, 45240, 45897, 46554, 47210, 47868, 48525, 49182, 49839, 50496, 51153, 51811]] - 攻击次数 = 1 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.4 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(职业主动技能): - 名称 = '冰晶之浴' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [int(i*1.241)for i in [0, 477, 525, 574, 622, 671, 719, 768, 816, 864, 914, 961, 1010, 1059, 1106, 1156, 1204, 1252, 1301, 1349, 1398, 1446, 1494, 1543, 1592, 1640, 1689, 1738, 1785, 1834, 1883, 1931, 1980, 2028, 2076, 2125, 2173, 2222, 2271, 2318, 2367, 2416, 2464, 2513, 2561, 2610, 2658, 2706, 2755, 2803, 2852, 2900, 2950, 2997, 3045, 3094, 3142, 3192, 3239, 3289, 3337, 3384, 3434, 3482, 3531, 3579, 3627, 3676, 3724, 3773, 3821]] - 攻击次数 = 14 - CD = 12 - TP成长 = 0.0 - TP上限 = 1 - 演出时间 = 3.0 - - def 等效CD(self, 武器类型, 输出类型): - if self.TP等级 > 0: - return round((self.CD-3*0.8) / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - return round(self.CD / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能15(职业主动技能): - 名称 = '旋炎破' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.2408)for i in [0, 759, 836, 913, 990, 1067, 1144, 1221, 1298, 1375, 1453, 1529, 1607, 1683, 1761, 1837, 1915, 1991, 2069, 2145, 2223, 2299, 2377, 2454, 2531, 2608, 2685, 2762, 2839, 2916, 2993, 3071, 3147, 3225, 3301, 3379, 3455, 3533, 3609, 3687, 3764, 3841, 3918, 3995, 4072, 4149, 4226, 4303, 4380, 4457, 4534, 4611, 4688, 4765, 4842, 4919, 4996, 5074, 5150, 5228, 5304, 5382, 5458, 5536, 5612, 5690, 5766, 5844, 5920, 5998, 6075]] - 攻击次数1 = 6 - data2 = [int(i*1.2408)for i in [0, 3037, 3345, 3654, 3962, 4270, 4578, 4886, 5195, 5503, 5811, 6119, 6427, 6735, 7043, 7352, 7660, 7968, 8276, 8584, 8892, 9200, 9508, 9817, 10125, 10433, 10741, 11049, 11357, 11665, 11974, 12283, 12591, 12899, 13207, 13515, 13823, 14131, 14439, 14748, 15056, 15364, 15672, 15980, 16288, 16596, 16905, 17213, 17521, 17829, 18137, 18445, 18753, 19061, 19371, 19679, 19987, 20295, 20604, 20912, 21220, 21528, 21836, 22145, 22453, 22761, 23069, 23377, 23685, 23993, 24302]] - 攻击次数2 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2.0 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 1.15 - self.攻击次数2 *= 1.34 - elif x == 1: - self.攻击次数1 *= 1.30 - self.攻击次数2 *= 1.34 -# 下面这些是向前放的data -# 虽然向前还是原地放伤害都一样 带护石也一样( -# -# data1 = [0, 690, 760, 830, 900, 970, 1040, 1110, 1180, 1250, 1321, 1390, 1461, 1530, 1601, 1670, 1741, 1810, 1881, 1950, 2021, 2090, 2161, 2231, 2301, 2371, 2441, 2511, 2581, 2651, 2721, 2792, 2861, 2932, 3001, 3072, 3141, 3212, 3281, 3352, 3422, 3492, 3562, 3632, 3702, 3772, 3842, 3912, 3982, 4052, 4122, 4192, 4262, 4332, 4402, 4472, 4542, 4613, 4682, 4753, 4822, 4893, 4962, 5033, 5102, 5173, 5242, 5313, 5382, 5453, 5523] -# 攻击次数1 = 10 -# data2 = [0, 2761, 3041, 3322, 3602, 3882, 4162, 4442, 4723, 5003, 5283, 5563, 5843, 6123, 6403, 6684, 6964, 7244, 7524, 7804, 8084, 8364, 8644, 8925, 9205, 9485, 9765, 10045, 10325, 10605, 10886, 11167, 11447, 11727, 12007, 12287, 12567, 12847, 13127, 13408, 13688, 13968, 14248, 14528, 14808, 15088, 15369, 15649, 15929, 16209, 16489, 16769, 17049, 17329, 17610, 17890, 18170, 18450, 18731, 19011, 19291, 19571, 19851, 20132, 20412, 20692, 20972, 21252, 21532, 21812, 22093] -# 攻击次数2 = 0 -# - - -class 技能16(职业主动技能): - 名称 = '雷光屏障' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data = [int(i*1.239)for i in [0, 8424, 9279, 10134, 10990, 11844, 12699, 13554, 14408, 15263, 16118, 16973, 17826, 18681, 19536, 20391, 21246, 22101, 22955, 23810, 24665, 25520, 26374, 27229, 28084, 28938, 29793, 30648, 31502, 32358, 33213, 34068, 34922, 35777, 36632, 37486, 38341, 39196, 40051, 40905, 41760, 42615, 43470, 44325, 45180, 46035, 46889, 47744, 48598, 49452, 50307, 51162, 52016, 52872, 53727, 54582, 55436, 56291, 57146, 58000, 58855, 59710, 60564, 61419, 62274, 63129, 63984, 64839, 65694, 66548, 67403]] - 攻击次数 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.2 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 4 * (1 - 0.72) - elif x == 1: - self.攻击次数 *= 1.08 * 4 * (1 - 0.72) -# 现在这技能的护石有个bug -# -# 解除僵直时追加的感电解除攻击对部分怪物不生效(大部分建筑型 (包括沙袋 -# -# 沙袋会触发 所以护石加成按bug触发时的伤害写了 -# -# 啥时候bug修了 或者有人想看看没bug条件下的伤害 把下面那条抄上去覆盖下就好了 -# - # 护石bug修复后 - # self.攻击次数 *= (4 + 0.4) * (1 - 0.72) - - -class 技能17(职业主动技能): - 名称 = '黑暗禁域' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data = [int(i*1.22)for i in [0, 7957, 8764, 9571, 10379, 11185, 11993, 12800, 13608, 14415, 15222, 16030, 16837, 17645, 18451, 19258, 20066, 20873, 21681, 22488, 23295, 24103, 24910, 25718, 26524, 27331, 28139, 28946, 29753, 30561, 31368, 32176, 32983, 33789, 34598, 35404, 36212, 37019, 37826, 38634, 39441, 40249, 41055, 41863, 42670, 43478, 44284, 45092, 45899, 46707, 47514, 48320, 49129, 49935, 50744, 51550, 52358, 53165, 53972, 54780, 55586, 56394, 57201, 58009, 58815, 59624, 60430, 61238, 62045, 62852, 63660]] - 攻击次数 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 4.0 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能18(职业主动技能): - 名称 = '元素轰炸' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data1 = [int(i*1.241)for i in [0, 2783, 3065, 3347, 3630, 3912, 4194, 4477, 4759, 5041, 5324, 5606, 5888, 6171, 6453, 6735, 7019, 7300, 7583, 7866, 8147, 8430, 8713, 8994, 9277, 9560, 9841, 10124, 10407, 10688, 10971, 11254, 11535, 11818, 12101, 12383, 12666, 12948, 13230, 13513, 13795, 14077, 14360, 14642, 14924, 15207, 15489, 15771, 16054, 16336, 16618, 16900, 17183, 17465, 17748, 18031, 18313, 18595, 18878, 19160, 19442, 19725, 20006, 20289, 20572, 20853, 21136, 21419, 21700, 21983, 22266]] - 攻击次数1 = 1 - data2 = [int(i*1.241)for i in [0, 5566, 6131, 6695, 7260, 7824, 8389, 8955, 9519, 10084, 10649, 11213, 11777, 12343, 12907, 13471, 14037, 14602, 15166, 15731, 16296, 16860, 17425, 17990, 18554, 19119, 19684, 20249, 20814, 21378, 21943, 22508, 23072, 23637, 24202, 24767, 25331, 25897, 26461, 27025, 27591, 28155, 28719, 29284, 29849, 30415, 30979, 31544, 32109, 32673, 33237, 33803, 34367, 34931, 35498, 36062, 36626, 37191, 37756, 38320, 38885, 39450, 40014, 40579, 41144, 41709, 42274, 42838, 43403, 43968, 44532]] - 攻击次数2 = 1 - data3 = [int(i*1.241)for i in [0, 255, 281, 308, 334, 359, 386, 411, 437, 464, 489, 515, 541, 567, 594, 620, 645, 671, 697, 723, 750, 775, 801, 827, 853, 880, 905, 931, 957, 984, 1009, 1036, 1061, 1087, 1113, 1139, 1166, 1191, 1217, 1243, 1270, 1295, 1322, 1347, 1372, 1400, 1425, 1452, 1477, 1503, 1529, 1555, 1581, 1607, 1633, 1658, 1686, 1711, 1738, 1763, 1789, 1816, 1841, 1867, 1893, 1919, 1945, 1972, 1997, 2022, 2049]] - 攻击次数3 = 45 - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2.0 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.data3[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 += 2.26 - self.攻击次数2 += 1.45 + 0.31 - self.攻击次数3 = 0 - elif x == 1: - self.攻击次数1 += 2.26 + 0.27 - self.攻击次数2 += 1.45 + 0.46 - self.攻击次数3 = 0 - - -class 技能19(职业主动技能): - 名称 = '幻魔四重奏' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data = [int(i*1.24)for i in [0, 2031, 2501, 2973, 3444, 3914, 4385, 4857, 5328, 5799, 6271, 6741, 7212, 7684, 8155, 8626, 9097, 9568, 10039, 10510, 10981, 11452, 11922, 12394, 12865, 13336, 13808, 14279, 14749, 15221, 15692, 16163, 16634, 17106, 17576, 18047, 18518, 18989, 19460, 19932, 20402, 20873, 21345, 21816, 22287, 22757, 23229, 23700, 24171, 24643, 25114, 25584, 26056, 26526, 26997, 27469, 27940, 28410, 28882, 29353, 29824, 30295, 30767, 31237, 31708, 32180, 32651, 33122, 33594, 34064, 34534]] - 攻击次数 = 30 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 -# 千重奏的话 能有正常放五倍差不多 想看千重奏的伤害就自己去给他释放次数改成五倍 - - -class 技能20(职业主动技能): - 名称 = '元素浓缩球' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data1 = [int(i*1.197)for i in [0, 5113, 5632, 6151, 6670, 7189, 7707, 8226, 8745, 9264, 9783, 10302, 10820, 11339, 11859, 12377, 12896, 13414, 13933, 14452, 14971, 15490, 16009, 16527, 17046, 17566, 18084, 18603, 19122, 19640, 20160, 20679, 21197, 21716, 22234, 22753, 23273, 23791, 24310, 24829, 25347, 25867, 26386, 26904, 27423, 27942, 28460, 28980, 29498, 30018, 30536, 31054, 31574, 32093, 32611, 33130, 33649, 34168, 34687, 35206, 35725, 36243, 36761, 37281, 37800, 38318, 38837, 39356, 39875, 40394, 40913]] - 攻击次数1 = 1 - data2 = [int(i*1.197)for i in [0, 11932, 13143, 14353, 15565, 16775, 17986, 19195, 20406, 21617, 22828, 24039, 25249, 26459, 27670, 28881, 30092, 31302, 32513, 33722, 34934, 36144, 37355, 38566, 39776, 40988, 42197, 43408, 44619, 45829, 47041, 48251, 49461, 50671, 51882, 53093, 54304, 55515, 56724, 57935, 59146, 60357, 61568, 62778, 63988, 65199, 66410, 67620, 68831, 70042, 71253, 72463, 73673, 74884, 76095, 77306, 78517, 79726, 80937, 82147, 83358, 84569, 85780, 86990, 88200, 89411, 90622, 91833, 93044, 94253, 95464]] - 攻击次数2 = 1 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.0 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 1.32 - self.攻击次数2 *= 1 + 0.1 * 2 - if x == 1: - self.攻击次数1 *= 1.60 - self.攻击次数2 *= 1 + 0.1 * 2 - -# 划掉)我没这个护石 有没有人能帮我测测这个准不准啊(反正也没人用 就先这样了 - - # 准了准了 这护石描述把我看傻了 想破头也没想到加32%是加的第一段的32% 护石描述写错了 - - -class 技能21(职业主动技能): - 名称 = '元素幻灭' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*1.238)for i in [0, 25649, 28251, 30853, 33456, 36059, 38660, 41262, 43864, 46467, 49069, 51671, 54272, 56875, 59478, 62080, 64682, 67283, 69886, 72488, 75091, 77693, 80294, 82897, 85499, 88102, 90703, 93305, 95907, 98510, 101113, 103714, 106317, 108918, 111521, 114123, 116725, 119328, 121929, 124532, 127133, 129736, 132338, 134941, 137542, 140144, 142747, 145349, 147952, 150553, 153155, 155757, 158360, 160963, 163564, 166166, 168768, 171371, 173973, 176576, 179176, 181779, 184382, 186984, 189586, 192187, 194790, 197392, 199995, 202596, 205199]] - 攻击次数1 = 1 - data2 = [int(i*1.238)for i in [0, 1349, 1486, 1623, 1761, 1897, 2033, 2171, 2308, 2445, 2581, 2719, 2856, 2993, 3129, 3267, 3403, 3540, 3678, 3814, 3951, 4088, 4226, 4362, 4499, 4636, 4774, 4910, 5046, 5184, 5321, 5458, 5595, 5732, 5869, 6006, 6143, 6279, 6416, 6553, 6691, 6827, 6964, 7101, 7239, 7375, 7511, 7649, 7786, 7923, 8060, 8197, 8334, 8471, 8608, 8745, 8882, 9018, 9156, 9293, 9429, 9566, 9704, 9840, 9977, 10114, 10252, 10388, 10525, 10662, 10799]] - 攻击次数2 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.2 - - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data2[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 += 0.1 - self.攻击次数2 += 2.66 - elif x == 1: - self.攻击次数1 += 0.1 - self.攻击次数2 += 4.40 - - -class 技能22(职业主动技能): - 名称 = '元素禁域' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data = [int(i*1.197)for i in [0, 43828, 48275, 52720, 57168, 61615, 66060, 70507, 74954, 79399, 83846, 88293, 92739, 97186, 101633, 106078, 110525, 114972, 119418, 123865, 128310, 132757, 137204, 141649, 146097, 150544, 154989, 159436, 163883, 168328, 172775, 177223, 181668, 186115, 190561, 195007, 199454, 203900, 208347, 212794, 217240, 221686, 226133, 230579, 235026, 239473, 243918, 248365, 252811, 257257, 261704, 266151, 270597, 275044, 279490, 283936, 288383, 292829, 297276, 301722, 306169, 310615, 315061, 319508, 323954, 328401, 332848, 337294, 341740, 346187, 350632]] - 攻击次数 = 1 - CD = 40.0 - 演出时间 = 0.4 - 是否有护石 = 1 - 护石CD缩减 = 0 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.24 - # self.护石CD缩减 = 4 - - def 等效CD(self, 武器类型, 输出类型): - return max(round((self.CD * 武器冷却惩罚(武器类型, 输出类型, self.版本)-self.护石CD缩减) / self.恢复, 1), 1) - - -class 技能23(职业主动技能): - 名称 = '聚能魔炮' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data = [int(i*1.197)for i in [0, 55032, 60615, 66199, 71782, 77365, 82949, 88532, 94114, 99697, 105280, 110863, 116446, 122030, 127613, 133196, 138779, 144362, 149945, 155528, 161111, 166694, 172278, 177861, 183443, 189027, 194610, 200193, 205776, 211359, 216942, 222525, 228109, 233691, 239274, 244858, 250441, 256024, 261607, 267190, 272773, 278356, 283939, 289522, 295105, 300689, 306272, 311855, 317438, 323020, 328603, 334187, 339770, 345353, 350937, 356520, 362103, 367687, 373268, 378851, 384434, 390018, 395601, 401184, 406768, 412351, 417934, 423517, 429100, 434682, 440266]] - CD = 45.0 - 演出时间 = 1.5 - 是否有护石 = 1 - 攻击倍率 = 1.083 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.33 -# 要玩双响炮自己把释放次数乘个二 -# 带护石玩不了双响炮 - - -class 技能24(职业主动技能): - 名称 = '末日湮灭' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data1 = [int(i*1.197)for i in [0, 6872, 8466, 10060, 11654, 13248, 14842, 16436, 18029, 19624, 21217, 22810, 24404, 25999, 27592, 29186, 30780, 32374, 33968, 35561, 37155, 38748, 40343, 41937, 43530, 45125, 46718, 48312, 49907, 51499, 53093, 54688, 56281, 57875, 59469, 61063, 62657, 64251, 65844, 67437, 69032, 70626, 72219, 73814, 75407, 77001, 78595, 80188, 81782, 83376, 84970, 86564, 88158, 89752, 91346, 92939, 94534, 96126, 97720, 99315, 100908, 102502, 104096, 105690, 107284, 108878, 110471, 112065, 113659, 115253, 116846]] - 攻击次数1 = 1 - data2 = [int(i*1.197)for i in [0, 573, 705, 838, 971, 1103, 1236, 1368, 1502, 1634, 1767, 1900, 2032, 2165, 2299, 2432, 2565, 2697, 2830, 2963, 3095, 3228, 3361, 3494, 3627, 3759, 3892, 4026, 4158, 4291, 4424, 4557, 4690, 4822, 4955, 5087, 5220, 5353, 5486, 5619, 5751, 5885, 6018, 6150, 6283, 6416, 6549, 6682, 6814, 6947, 7080, 7212, 7345, 7478, 7612, 7745, 7877, 8010, 8143, 8275, 8409, 8541, 8674, 8807, 8939, 9072, 9204, 9339, 9471, 9604, 9737]] - 攻击次数2 = 11 - data3 = [int(i*1.197)for i in [0, 123720, 152409, 181098, 209787, 238476, 267164, 295853, 324542, 353232, 381921, 410610, 439298, 467987, 496676, 525365, 554054, 582743, 611431, 640120, 668809, 697499, 726188, 754877, 783565, 812254, 840943, 869632, 898321, 927010, 955698, 984387, 1013076, 1041766, 1070455, 1099144, 1127833, 1156521, 1185210, 1213899, 1242588, 1271277, 1299966, 1328654, 1357343, 1386033, 1414722, 1443411, 1472100, 1500788, 1529477, 1558166, 1586855, 1615544, 1644233, 1672921, 1701610, 1730300, 1758989, 1787678, 1816367, 1845055, 1873743, 1902432, 1931121, 1959810, 1988499, 2017188, 2045877, 2074565, 2103255]] - 攻击次数3 = 1 - - CD = 180.0 - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1)+(self.data2[self.等级] * self.攻击次数2)+(self.data3[self.等级] * self.攻击次数3)) * self.倍率 - - -class 技能25(职业主动技能): - 名称 = '聚魔轰击' - 所在等级 = 95 - 等级上限 = 11 - 基础等级 = 6 - data1 = [int(i*1.196)for i in [0, 5434, 5985, 6537, 7088, 7639, 8191, 8742, 9293, 9845, 10396, 10947, 11499, 12050, 12601, 13153, 13704, 14255, 14807, 15358, 15909, 16461, 17012, 17563, 18115, 18666, 19217, 19769, 20320, 20871, 21423, 21974, 22525, 23077, 23628, 24180, 24731, 25282, 25834, 26385, 26936]] - 攻击次数1 = 20 - CD = 60 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1) * self.倍率 - -class 技能26(职业主动技能): - 名称 = '启源·微观宇宙' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data1 = [int(i*1.197)for i in [0, 39550, 48721, 57892, 67063, 76234, 85405, 94576, 103747, 112918, 122089, 131260, 140431, 149602, 158773, 167944, 177115, 186286, 195457, 204628, 213799, 222970, 232141, 241312, 250483, 259654, 268825, 277996, 287167, 296339, 305510, 314681, 323852, 333023, 342194, 351365, 360536, 369707, 378878, 388049, 397220, 406391, 415562, 424733, 433904, 443075, 452246, 461417, 470588, 479759, 488930, 498101, 507272, 516443, 525614, 534785, 543956, 553127, 562298, 571469, 580641]] - 攻击次数1 = 1 - data2 = [int(i*1.197)for i in [0, 6591, 8120, 9648, 11177, 12705, 14234, 15762, 17291, 18819, 20348, 21876, 23405, 24933, 26462, 27990, 29519, 31047, 32576, 34104, 35633, 37161, 38690, 40218, 41747, 43275, 44804, 46332, 47861, 49389, 50918, 52446, 53975, 55503, 57032, 58560, 60089, 61617, 63146, 64674, 66203, 67731, 69260, 70788, 72317, 73845, 75374, 76902, 78431, 79959, 81488, 83016, 84545, 86073, 87602, 89130, 90659, 92187, 93716, 95245, 96773]] - 攻击次数2 = 12 - data3 = [int(i*1.197)for i in [0, 276850, 341047, 405244, 469442, 533639, 597836, 662033, 726231, 790428, 854625, 918822, 983020, 1047217, 1111414, 1175611, 1239808, 1304006, 1368203, 1432400, 1496597, 1560795, 1624992, 1689189, 1753386, 1817584, 1881781, 1945978, 2010175, 2074372, 2138570, 2202767, 2266964, 2331161, 2395359, 2459556, 2523753, 2587950, 2652148, 2716345, 2780542, 2844739, 2908936, 2973134, 3037331, 3101528, 3165725, 3229923, 3294120, 3358317, 3422514, 3486711, 3550909, 3615106, 3679303, 3743500, 3807698, 3871895, 3936092, 4000289, 4064487]] - 攻击次数3 = 1 - CD = 290 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return ((self.data1[self.等级] * self.攻击次数1)+(self.data2[self.等级] * self.攻击次数2)+(self.data3[self.等级] * self.攻击次数3)) * self.倍率 - - -class 技能27(职业被动技能): - 名称 = '元素禁断' - 所在等级 = 25 - 基础等级 = 5 - 等级上限 = 5 - - 关联技能 = ['无'] - - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['幻魔四重奏','末日湮灭','启源·微观宇宙'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.8 - - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·元素爆破师一觉序号 = 0 -知源·元素爆破师二觉序号 = 0 -知源·元素爆破师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·元素爆破师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·元素爆破师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·元素爆破师三觉序号 = 技能序号[i.名称] - -知源·元素爆破师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·元素爆破师护石选项.append(i.名称) - -知源·元素爆破师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·元素爆破师符文选项.append(i.名称) - - -class 知源·元素爆破师角色属性(角色属性): - 实际名称 = '知源·元素爆破师' - 角色 = '魔法师(男)' - 职业 = '元素爆破师' - - 武器选项 = ['魔杖', '法杖'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 2.07 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 伤害指数计算(self): - self.所有属性强化(self.技能栏[self.技能序号['元素环绕']].属强加成() + - self.技能栏[self.技能序号['元素融合']].属强加成()) - super().伤害指数计算() - - # def 技能单次伤害计算(self, y): - # #y切装标记 - # 技能单次伤害 = [] - # for i in self.技能栏: - # if i.是否主动 == 1 and i.名称 != '元素炮' : - # 技能单次伤害.append(i.等效百分比(self.武器类型) * self.伤害指数 * i.被动倍率) - # elif i.名称 == '元素炮': - # 技能单次伤害.append(i.等效百分比(self.武器类型) * self.伤害指数 * i.被动倍率* - # (1.0 + self.技能栏[self.技能序号['元素之力']].加成倍率(self.武器类型)*5)) - # else: - # 技能单次伤害.append(0) - # return 技能单次伤害 - - -class 知源·元素爆破师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·元素爆破师角色属性() - self.角色属性A = 知源·元素爆破师角色属性() - self.角色属性B = 知源·元素爆破师角色属性() - self.一觉序号 = 知源·元素爆破师一觉序号 - self.二觉序号 = 知源·元素爆破师二觉序号 - self.三觉序号 = 知源·元素爆破师三觉序号 - self.护石选项 = deepcopy(知源·元素爆破师护石选项) - self.符文选项 = deepcopy(知源·元素爆破师符文选项) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect( - lambda state, index=i: self.护石判断(index)) - self.地火hit = MyQComboBox(self.main_frame2) - for i in range(6, 13): - self.地火hit.addItem('地炎攻击次数:' + str(i)) - self.地火hit.setCurrentIndex(6) - self.地火hit.resize(140, 20) - self.地火hit.move(325, 505) - self.地火hit.setToolTip('打满为12hit') - - self.元素禁域减少CD = MyQComboBox(self.main_frame2) - for i in range(9): - self.元素禁域减少CD.addItem('元素禁域CD-' + str(i*0.5)+'s') - self.元素禁域减少CD.setCurrentIndex(8) - self.元素禁域减少CD.resize(140, 20) - self.元素禁域减少CD.move(325, 480) - - self.职业存档.append(('地火hit', self.地火hit, 1)) - self.职业存档.append(('元素禁域减少CD', self.元素禁域减少CD, 1)) - - def 护石判断(self, index): - if '元素禁域' in [self.护石栏[0].currentText(), self.护石栏[1].currentText(), self.护石栏[2].currentText()]: - self.元素禁域减少CD.setEnabled(True) - else: - self.元素禁域减少CD.setEnabled(False) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.技能栏[属性.技能序号['地炎']].攻击次数 = 6 + self.地火hit.currentIndex() - sign = 0 - for i in range(3): - if self.护石栏[i].currentText() == '元素禁域': - sign = 1 - if sign == 1: - 属性.技能栏[属性.技能序号['元素禁域']].护石CD缩减 = 0.5*self.元素禁域减少CD.currentIndex() diff --git a/Characters/知源·冰结师.py b/Characters/知源·冰结师.py deleted file mode 100644 index 642a0827..00000000 --- a/Characters/知源·冰结师.py +++ /dev/null @@ -1,960 +0,0 @@ -from math import * -from decimal import * -from os import X_OK - -from PublicReference.carry.base import * - -# class 主动技能(主动技能): - -# def 等效CD(self, 武器类型): -# if 武器类型 == '魔杖': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '法杖': -# return round(self.CD / self.恢复 * 1.1, 1) - -等级 = 100 + 5 - - -class 技能0(主动技能): - 名称 = '冰魄剑' - 所在等级 = 15 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 670, 736, 806, 877, 945, 1010, 1080, 1148, 1221, 1289, 1358, 1424, 1492, 1566, 1632, 1703, 1774, 1846, 1914, 1980, 2051, 2117, 2189, 2259, 2327, 2392, 2463, 2533, 2603, 2672, 2739, 2806, 2877, 2947, 3016, 3083, 3153, 3223, 3291, 3360, 3426, 3498, 3569, 3635, 3709, 3774, 3846, 3915, 3984, 4053, 4121, 4191, 4259, 4328, 4397, 4465, 4535, 4604, 4676, 4742, 4812, 4880, 4950, 5019, 5089, 5155, 5226, 5293, 5363, 5434] - 攻击次数 = 2 - data2 = [0, 801, 883, 967, 1046, 1130, 1213, 1297, 1380, 1465, 1548, 1631, 1711, 1794, 1878, 1960, 2045, 2130, 2211, 2295, 2374, 2457, 2542, 2625, 2710, 2793, 2875, 2959, 3038, 3123, 3206, 3286, 3372, 3451, 3534, 3618, 3700, 3785, 3864, 3947, 4032, 4112, 4198, 4277, 4360, 4450, 4535, 4615, 4698, 4780, 4862, 4944, 5028, 5111, 5196, 5275, 5358, 5443, 5524, 5609, 5691, 5777, 5856, 5938, 6024, 6105, 6189, 6272, 6356, 6436, 6519] - 攻击次数2 = 1 - 演出时间 = 1.0 - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.209*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率 - - def 技能形态改变(self): - self.攻击次数2 = 0 - - -class 技能1(被动技能): - 名称 = '冰武精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.01 * self.等级, 5) - - -class 技能2(主动技能): - 名称 = '寒冰连枪' - 所在等级 = 20 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 386, 425, 464, 503, 543, 582, 621, 660, 699, 739, 778, 817, 856, 895, 935, 974, 1013, 1052, 1091, 1131, 1170, 1209, 1248, 1287, 1327, 1366, 1405, 1444, 1483, 1522, 1562, 1601, 1640, 1679, 1718, 1758, 1797, 1836, 1875, 1914, 1954, 1993, 2032, 2071, 2110, 2150, 2189, 2228, 2267, 2306, 2346, 2385, 2424, 2463, 2502, 2542, 2581, 2620, 2659, 2698, 2738, 2777, 2816, 2855, 2894, 2933, 2973, 3012, 3051, 3090] - 攻击次数 = 5 - 演出时间 = 1.5 - CD = 3.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.208*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率 - - -class 技能3(主动技能): - 名称 = '冰魄旋枪' - 所在等级 = 25 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 266, 292, 319, 347, 373, 400, 427, 454, 481, 508, 534, 562, 589, 616, 643, 670, 697, 723, 751, 778, 804, 832, 859, 885, 912, 940, 966, 993, 1021, 1047, 1074, 1101, 1129, 1155, 1182, 1210, 1236, 1263, 1290, 1317, 1344, 1371, 1398, 1425, 1452, 1478, 1506, 1533, 1559, 1587, 1614, 1640, 1667, 1695, 1722, 1748, 1776, 1803, 1829, 1856, 1884, 1910, 1937, 1965, 1991, 2018, 2045, 2072, 2099, 2126] - 攻击次数 = 16 - 演出时间 = 1.5 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.159*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率 - - -class 技能4(主动技能): - 名称 = '冰霜之径' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '冰属性强化增加:' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (30 + self.等级 * 4) - - def 加成倍率(self, 武器类型): - return 1.0 - -class 技能5(被动技能): - 名称 = '冰之领悟' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return (1.02 + self.等级 * 0.01) - else: - return (1.12 + (self.等级 - 10) * 0.02) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return (1.02 + self.等级 * 0.01) - else: - return (1.12 + (self.等级 - 10) * 0.02) - - -class 技能6(主动技能): - 名称 = '冰魄之弓' - 所在等级 = 30 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 1433, 1579, 1724, 1870, 2015, 2161, 2306, 2452, 2597, 2743, 2888, 3033, 3178, 3324, 3469, 3615, 3760, 3906, 4051, 4197, 4343, 4488, 4634, 4779, 4925, 5069, 5215, 5360, 5506, 5651, 5797, 5942, 6088, 6233, 6379, 6524, 6670, 6815, 6960, 7106, 7251, 7397, 7542, 7688, 7833, 7979, 8124, 8270, 8415, 8561, 8706, 8852, 8996, 9142, 9287, 9433, 9579, 9724, 9870, 10015, 10161, 10306, 10452, 10597, 10743, 10887, 11033, 11178, 11324, 11469] - 攻击次数 = 3 - data2 = [0, 2171, 2392, 2612, 2833, 3053, 3274, 3493, 3714, 3934, 4155, 4375, 4596, 4816, 5036, 5256, 5477, 5697, 5918, 6138, 6359, 6579, 6799, 7019, 7240, 7460, 7681, 7901, 8122, 8341, 8562, 8782, 9003, 9223, 9444, 9664, 9885, 10104, 10325, 10545, 10766, 10986, 11207, 11427, 11647, 11867, 12088, 12308, 12529, 12749, 12970, 13190, 13410, 13630, 13851, 14071, 14292, 14512, 14733, 14952, 15173, 15393, 15614, 15834, 16055, 16275, 16496, 16715, 16935, 17156, 17376] - 攻击次数2 = 1 - 演出时间 = 1.5 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.202*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) - - -class 技能7(主动技能): - 名称 = '破冰飞刃' - 所在等级 = 30 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 262, 289, 315, 342, 369, 395, 422, 448, 475, 502, 528, 555, 582, 608, 635, 662, 688, 715, 741, 768, 795, 821, 848, 875, 901, 928, 955, 981, 1008, 1034, 1061, 1088, 1114, 1141, 1168, 1194, 1221, 1248, 1274, 1301, 1327, 1354, 1381, 1407, 1434, 1461, 1487, 1514, 1541, 1567, 1594, 1620, 1647, 1674, 1700, 1727, 1754, 1780, 1807, 1834, 1860, 1887, 1913, 1940, 1967, 1993, 2020, 2047, 2073, 2100] - 攻击次数 = 24 - 演出时间 = 1.0 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.213*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率 - - -class 技能8(被动技能): - 名称 = '水晶剑' - 所在等级 = 30 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['冰魄剑'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return (2.00 + (self.等级-1) * 0.02) - - -class 技能9(主动技能): - 名称 = '旋冰穿刺' - 所在等级 = 35 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 907, 999, 1091, 1183, 1275, 1367, 1459, 1551, 1643, 1735, 1827, 1920, 2012, 2104, 2196, 2288, 2380, 2472, 2564, 2656, 2748, 2840, 2932, 3024, 3116, 3208, 3300, 3392, 3485, 3577, 3669, 3761, 3853, 3945, 4037, 4129, 4221, 4313, 4405, 4497, 4589, 4681, 4773, 4865, 4957, 5049, 5142, 5234, 5326, 5418, 5510, 5602, 5694, 5786, 5878, 5970, 6062, 6154, 6246, 6338, 6430, 6522, 6614, 6707, 6799, 6891, 6983, 7075, 7167, 7259] - data2 = [0, 8166, 8995, 9823, 10652, 11480, 12309, 13137, 13966, 14794, 15623, 16451, 17280, 18108, 18937, 19765, 20594, 21422, 22251, 23079, 23908, 24736, 25565, 26394, 27222, 28051, 28879, 29708, 30536, 31365, 32193, 33022, 33850, 34679, 35507, 36336, 37164, 37993, 38821, 39650, 40478, 41307, 42135, 42964, 43792, 44621, 45449, 46278, 47106, 47935, 48763, 49592, 50420, 51249, 52077, 52906, 53734, 54563, 55391, 56220, 57048, 57877, 58705, 59534, 60363, 61191, 62020, 62848, 63677, 64505, 65334] - 攻击次数2 = 1 - 演出时间 = 1.5 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.187*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率 - - -class 技能10(主动技能): - 名称 = '冰魄锤击' - 所在等级 = 35 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 8365, 9214, 10063, 10911, 11760, 12609, 13458, 14306, 15155, 16004, 16852, 17701, 18550, 19398, 20247, 21096, 21945, 22793, 23642, 24491, 25339, 26188, 27037, 27885, 28734, 29583, 30432, 31280, 32129, 32978, 33826, 34675, 35524, 36372, 37221, 38070, 38919, 39767, 40616, 41465, 42313, 43162, 44011, 44860, 45708, 46557, 47406, 48254, 49103, 49952, 50800, 51649, 52498, 53347, 54195, 55044, 55893, 56741, 57590, 58439, 59287, 60136, 60985, 61834, 62682, 63531, 64380, 65228, 66077, 66926] - 攻击次数 = 1 - 攻击倍率 = 1.2 - 演出时间 = 1.0 - CD = 18.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.211*self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击倍率 *= 1.27 - if x == 1: - self.攻击倍率 *= 1.36 - - def 护石描述(self, x): - if x == 0: - temp = "冰魄延伸" - temp += "

" - temp += "[冰魄锤击]
" - temp += "普通施放时, 发动大范围寒冰冲击波
" - temp += "攻击力 +9%
" - temp += "强制中断其他技能后施放时攻击力 +18%
" - temp += "强制中断其他技能后施放时不产生寒冰冲击波
" - temp += "
-护石附加效果:
" - temp += "对可抓取的敌人造成和不可抓取的敌人同样的伤害
" - temp += "普通施放时寒冰冲击波范围 +15%
" - temp += "普通施放时攻击力 +6%
" - temp += "强制中断其他技能后施放时攻击力 +9%" - elif x == 1: - temp = "冰魄延伸" - temp += "

" - temp += "[冰魄锤击]
" - temp += "普通施放时, 发动大范围寒冰冲击波
" - temp += "攻击力 +9%
" - temp += "强制中断其他技能后施放时攻击力 +18%
" - temp += "强制中断其他技能后施放时不产生寒冰冲击波
" - temp += "
-护石附加效果:
" - temp += "对可抓取的敌人造成和不可抓取的敌人同样的伤害
" - temp += "普通施放时寒冰冲击波范围 +15%
" - temp += "普通施放时攻击力 +6%
" - temp += "强制中断其他技能后施放时攻击力 +18%" - return temp - - -class 技能11(主动技能): - 名称 = '极冰绽放' - 所在等级 = 40 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 777, 855, 934, 1013, 1092, 1171, 1250, 1328, 1407, 1486, 1565, 1644, 1723, 1801, 1880, 1959, 2038, 2117, 2196, 2274, 2353, 2432, 2511, 2590, 2669, 2747, 2826, 2905, 2984, 3063, 3142, 3221, 3299, 3378, 3457, - 3536, 3615, 3694, 3772, 3851, 3930, 4009, 4088, 4167, 4245, 4324, 4403, 4482, 4561, 4640, 4718, 4797, 4876, 4955, 5034, 5113, 5191, 5270, 5349, 5428, 5507, 5586, 5664, 5743, 5822, 5901, 5980, 6059, 6137, 6216] - 攻击倍率 = 1.95 - 攻击次数 = 4 - data2 = [0, 3433, 3782, 4130, 4478, 4827, 5175, 5523, 5872, 6220, 6568, 6917, 7265, 7613, 7962, 8310, 8658, 9007, 9355, 9703, 10052, 10400, 10748, 11097, 11445, 11793, 12142, 12490, 12839, 13187, 13535, 13884, 14232, 14580, 14929, 15277, 15625, - 15974, 16322, 16670, 17019, 17367, 17715, 18064, 18412, 18760, 19109, 19457, 19805, 20154, 20502, 20850, 21199, 21547, 21895, 22244, 22592, 22941, 23289, 23637, 23986, 24334, 24682, 25031, 25379, 25727, 26076, 26424, 26772, 27121, 27469] - 攻击倍率2 = 2.35 - 攻击次数2 = 1 - 演出时间 = 2.0 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.219*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数 + - self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率2 * self.攻击次数2) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击倍率 *= 1.11 - self.攻击倍率2 *= 1.23 - self.CD *= 0.90 - if x == 1: - self.攻击倍率 *= 1.11 - self.攻击倍率2 *= 1.38 - self.CD *= 0.90 - - def 护石描述(self, x): - if x == 0: - temp = "冰封制动" - temp += "

" - temp += "[极冰绽放]
" - temp += "删除指定魔法阵位置的功能
" - temp += "缩短魔法阵生成时间
" - temp += "攻击范围 +20%
" - temp += "攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "最后强击攻击力 +12%
" - temp += "冰柱破碎时的攻击力 +18%
" - temp += "每次攻击时发射[冰之技艺]的冰枪" - elif x == 1: - temp = "冰封制动" - temp += "

" - temp += "[极冰绽放]
" - temp += "删除指定魔法阵位置的功能
" - temp += "缩短魔法阵生成时间
" - temp += "攻击范围 +20%
" - temp += "攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "最后强击攻击力 +27%
" - temp += "冰柱破碎时的攻击力 +35%
" - temp += "每次攻击时发射[冰之技艺]的冰枪" - return temp - - -class 技能12(主动技能): - 名称 = '冰雪风暴' - 所在等级 = 45 - 等级上限 = 60 - 等级精通 = 50 - 学习间隔 = 2 - - data1 = [0, 1048, 1154, 1260, 1367, 1473, 1579, 1686, 1792, 1899, 2005, 2111, 2218, 2324, 2430, 2537, 2643, 2749, 2856, 2962, 3068, 3175, 3281, 3387, 3494, 3600, 3706, 3813, 3919, 4025, 4132, 4238, 4344, 4451, 4557, 4663, 4770, 4876, 4982, 5089, 5195, 5302, 5408, 5514, 5621, 5727, 5833, 5940, 6046, 6152, 6259, 6365, 6471, 6578, 6684, 6790, 6897, 7003, 7109, 7216, 7322, 7428, 7535, 7641, 7747, 7854, 7960, 8066, 8173, 8279, 8386] - 攻击次数 = 14 - 攻击倍率 = 1.0 - data2 = [0, 10233, 11272, 12310, 13348, 14386, 15425, 16463, 17501, 18539, 19577, 20616, 21654, 22692, 23730, 24769, 25807, 26845, 27883, 28921, 29960, 30998, 32036, 33074, 34113, 35151, 36189, 37227, 38265, 39304, 40342, 41380, 42418, 43457, 44495, 45533, 46571, 47609, 48648, 49686, 50724, 51762, 52801, 53839, 54877, 55915, 56953, 57992, 59030, 60068, 61106, 62145, 63183, 64221, 65259, 66297, 67336, 68374, 69412, 70450, 71489, 72527, 73565, 74603, 75641, 76680, 77718, 78756, 79794, 80833, 81871] - 攻击次数2 = 1 - 攻击倍率2 = 1.0 - 演出时间 = 2.5 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.214*(self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + - self.data2[self.等级] * self.攻击倍率2 * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 16 - self.攻击倍率2 *= 1.15 - if x == 1: - self.攻击次数 = 16 - self.攻击倍率2 *= 1.34 - - def 护石描述(self, x): - if x == 0: - temp = "冰龙升天破" - temp += "

" - temp += "[冰雪风暴]
" - temp += "变更为以施放者为中心生成1个巨大的寒气风暴
" - temp += "魔法阵范围 -50%
" - temp += "删除聚集敌人的功能
" - temp += "
-护石附加效果:
" - temp += "施放技能时直接召唤寒气风暴
" - temp += "多段攻击次数 +2次
" - temp += "爆炸攻击力 +15%" - elif x == 1: - temp = "冰龙升天破" - temp += "

" - temp += "[冰雪风暴]
" - temp += "变更为以施放者为中心生成1个巨大的寒气风暴
" - temp += "魔法阵范围 -50%
" - temp += "删除聚集敌人的功能
" - temp += "
-护石附加效果:
" - temp += "施放技能时直接召唤寒气风暴
" - temp += "多段攻击次数 +2次
" - temp += "爆炸攻击力 +34%" - return temp - - -class 技能13(被动技能): - 名称 = '冰封奥义' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - - -class 技能14(主动技能): - 名称 = '千旋冰轮破' - 所在等级 = 50 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 5 - - data1 = [0, 1055, 1300, 1544, 1790, 2035, 2279, 2524, 2768, 3014, 3259, 3503, 3748, 3992, 4237, 4483, 4727, 4972, 5217, 5461, 5707, 5952, 6196, 6441, 6685, 6930, 7176, 7420, 7665, 7910, 8154, 8399, 8645, 8889, 9134, 9378, 9623, 9869, 10113, 10358, 10602, 10847, 11092, 11337, 11582, 11827, 12071, 12316, 12560, 12806, 13051, 13295, 13540, 13785, 14030, 14275, 14520, 14764, 15009, 15253, 15499, 15744, 15988, 16233, 16477, 16722, 16968, 17212, 17457, 17702, 17946] - 攻击次数 = 40 - data2 = [0, 897, 1105, 1313, 1522, 1731, 1939, 2147, 2355, 2563, 2771, 2980, 3188, 3396, 3604, 3812, 4020, 4229, 4437, 4645, 4853, 5061, 5269, 5478, 5686, 5894, 6102, 6311, 6519, 6727, 6936, 7144, 7352, 7560, 7768, 7976, 8185, 8393, 8601, 8809, 9017, 9225, 9434, 9642, 9850, 10058, 10266, 10474, 10682, 10892, 11100, 11308, 11516, 11724, 11932, 12141, 12349, 12557, 12765, 12973, 13181, 13390, 13598, 13806, 14014, 14222, 14430, 14640, 14848, 15056, 15264] - 攻击次数2 = 24 - data3 = [0, 3144, 3875, 4604, 5333, 6062, 6792, 7521, 8250, 8979, 9709, 10439, 11168, 11897, 12627, 13356, 14085, 14814, 15544, 16274, 17003, 17733, 18462, 19191, 19920, 20649, 21379, 22109, 22838, 23568, 24297, 25026, 25755, 26484, 27214, 27943, 28673, 29403, 30132, 30861, 31590, 32319, 33049, 33778, 34508, 35238, 35967, 36696, 37425, 38154, 38884, 39613, 40342, 41073, 41802, 42531, 43260, 43989, 44719, 45448, 46177, 46908, 47637, 48366, 49095, 49825, 50554, 51283, 52012, 52743, 53472] - 攻击次数3 = 1 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return 1.209*(self.data1[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * self.倍率 - - -class 技能15(主动技能): - 名称 = '冰凌破' - 所在等级 = 60 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 2 - - data1 = [0, 775, 854, 933, 1011, 1090, 1169, 1247, 1326, 1405, 1483, 1562, 1641, 1719, 1798, 1877, 1956, 2034, 2113, 2192, 2270, 2349, 2428, 2506, 2585, 2664, 2742, 2821, 2900, 2979, 3057, 3136, 3215, 3293, 3372, 3451, 3529, 3608, 3687, 3765, 3844, 3923, 4002, 4080, 4159, 4238, 4316, 4395, 4474, 4552, 4631, 4710, 4788, 4867, 4946, 5025, 5103, 5182, 5261, 5339, 5418, 5497, 5575, 5654, 5733, 5811, 5890, 5969, 6048, 6126, 6205] - 攻击次数 = 25 - data2 = [0, 3693, 4068, 4443, 4817, 5192, 5567, 5942, 6316, 6691, 7066, 7440, 7815, 8190, 8565, 8939, 9314, 9689, 10063, 10438, 10813, 11188, 11562, 11937, 12312, 12687, 13061, 13436, 13811, 14185, 14560, 14935, 15310, 15684, 16059, 16434, 16808, 17183, 17558, 17933, 18307, 18682, 19057, 19432, 19806, 20181, 20556, 20930, 21305, 21680, 22055, 22429, 22804, 23179, 23553, 23928, 24303, 24678, 25052, 25427, 25802, 26177, 26551, 26926, 27301, 27675, 28050, 28425, 28800, 29174, 29549] - 攻击次数2 = 1 - 攻击倍率 = 1.0 - 演出时间 = 2.0 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.209*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数 + - self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数2) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击倍率 *= 1.22 - if x == 1: - self.攻击倍率 *= 1.31 - - def 护石描述(self, x): - if x == 0: - temp = "苍白之楔" - temp += "

" - temp += "[冰凌破]
" - temp += "[冰之印]开启后, 追踪并攻击有[冰封奥义]光环的敌人中最强的敌人(攻击开始后不再追踪敌人)
" - temp += "攻击力 +9%
" - temp += "
-护石附加效果:
" - temp += "追击时移动速度 +50%
" - temp += "攻击力 +13%" - elif x == 1: - temp = "苍白之楔" - temp += "

" - temp += "[冰凌破]
" - temp += "[冰之印]开启后, 追踪并攻击有[冰封奥义]光环的敌人中最强的敌人(攻击开始后不再追踪敌人)
" - temp += "攻击力 +9%
" - temp += "
-护石附加效果:
" - temp += "追击时移动速度 +50%
" - temp += "攻击力 +22%" - return temp - - -class 技能16(主动技能): - 名称 = '千里冰封' - 所在等级 = 70 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 2 - - data1 = [0, 10790, 11885, 12980, 14074, 15169, 16264, 17358, 18453, 19548, 20643, 21737, 22832, 23927, 25021, 26116, 27211, 28305, 29400, 30495, 31590, 32684, 33779, 34874, 35968, 37063, 38158, 39252, 40347, 41442, 42537, 43631, 44726, 45821, 46915, 48010, 49105, 50200, 51294, 52389, 53484, 54578, 55673, 56768, 57862, 58957, 60052, 61147, 62241, 63336, 64431, 65525, 66620, 67715, 68810, 69904, 70999, 72094, 73188, 74283, 75378, 76472, 77567, 78662, 79757, 80851, 81946, 83041, 84135, 85230, 86325] - 攻击次数 = 3 - 攻击倍率 = 1.0 - 演出时间 = 2.0 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return 1.27*self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 1 - self.攻击倍率 = 3.56 - if x == 1: - self.攻击次数 = 1 - self.攻击倍率 = 3.8 - - def 护石描述(self, x): - if x == 0: - temp = "冰凌花" - temp += "

" - temp += "[千里冰封]
" - temp += "同时生成所有冰刺
" - temp += "攻击次数变更为1次
" - temp += "发动速度 +50%
" - temp += "攻击力 +230%
" - temp += "
-护石附加效果:
" - temp += "[冰之印]开启时, 冰冻效果变更为强制控制2秒
" - temp += "攻击力 +26%" - elif x == 1: - temp = "冰凌花" - temp += "

" - temp += "[千里冰封]
" - temp += "同时生成所有冰刺
" - temp += "攻击次数变更为1次
" - temp += "发动速度 +50%
" - temp += "攻击力 +230%
" - temp += "
-护石附加效果:
" - temp += "[冰之印]开启时, 冰冻效果变更为强制控制2秒
" - temp += "攻击力 +50%" - return temp - - -class 技能17(被动技能): - 名称 = '冰之技艺' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['冰魄之弓', '破冰飞刃', '冰雪风暴', '千旋冰轮破', - '冰凌破', '千里冰封', '极冰领域', '永罪冰狱', '永劫:纳斯特隆德'] - 关联技能2 = ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.16 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.24 + 0.03 * self.等级, 5) - - def 冰针倍率(self, 武器类型): - return round(0.24 + 0.03 * self.等级, 5) - -# 按技能data无法与游戏中伤害对应,因此从一级起验证,结果按核对伤害手动增加29百分比 - - -class 技能18(主动技能): - 名称 = '碎冰破' - 所在等级 = 75 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 2 - - data1 = [0, 33412, 36802, 40191, 43581, 46971, 50360, 53750, 57140, 60529, 63919, 67309, 70698, 74088, 77478, 80867, 84257, 87647, 91036, 94426, 97816, 101205, 104595, 107985, 111374, 114764, 118154, 121543, 124933, 128323, 131712, 135102, 138492, 141881, 145271, 148661, 152050, 155440, 158830, 162219, 165609, 168999, 172388, 175778, 179168, 182557, 185947, 189337, 192726, 196116, 199506, 202895, 206285, 209675, 213064, 216454, 219844, 223233, 226623, 230013, 233402, 236792, 240182, 243571, 246961, 250351, 253740, 257130, 260520, 263909, 267299] - 攻击次数 = 1 - data2 = [0, 12165, 13399, 14633, 15867, 17102, 18336, 19570, 20804, 22038, 23272, 24507, 25741, 26975, 28209, 29443, 30677, 31912, 33146, 34380, 35614, 36848, 38082, 39317, 40551, 41785, 43019, 44253, 45487, 46722, 47956, 49190, 50424, 51658, 52893, 54127, 55361, 56595, 57829, 59063, 60298, 61532, 62766, 64000, 65234, 66468, 67703, 68937, 70171, 71405, 72639, 73873, 75108, 76342, 77576, 78810, 80044, 81278, 82513, 83747, 84981, 86215, 87449, 88683, 89918, 91152, 92386, 93620, 94854, 96088, 97323] - 攻击次数2 = 1 - 攻击倍率 = 1.2 - 演出时间 = 1.0 - CD = 40.0 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return 1.209*(self.data1[self.等级] * self.攻击倍率 * self.攻击次数 + - self.data2[self.等级] * self.攻击倍率 * self.攻击次数2 + 29) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.46 - - def 护石描述(self, x): - if x == 0: - temp = "碎冰破" - temp += "

" - temp += "[碎冰破]
" - temp += "向前方生成多个冰霜结晶
" - temp += "- 冰霜碎片攻击范围增加
" - temp += "冰霜碎片攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "碎冰破攻击速度 +50%
" - temp += "冰霜碎片攻击力 +34%
" - return temp[:-4] - - -class 技能19(主动技能): - 名称 = '极冰领域' - 所在等级 = 80 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 2 - - data = [0, 46248, 50939, 55631, 60323, 65014, 69706, 74398, 79089, 83781, 88474, 93166, 97857, 102549, 107241, 111932, 116624, 121316, 126007, 130700, 135392, 140084, 144775, 149467, 154159, 158850, 163542, 168234, 172926, 177618, 182310, 187002, 191693, 196385, 201077, 205768, 210460, 215153, 219844, 224536, 229228, 233919, 238611, 243303, 247994, 252686, 257379, 262071, 266762, 271454, 276146, 280837, 285529, 290221, 294912, 299605, 304297, 308989, 313680, 318372, 323064, 327755, 332447, 337139, 341831, 346523, 351215, 355907, 360598, 365290, 369982] - 攻击倍率 = 1.0 - 演出时间 = 0.65 - CD = 40.0 - - def 等效百分比(self, 武器类型): - return 1.214*self.data[self.等级] * self.攻击倍率 * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击倍率 *= 1.32 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "极冰领域" - temp += "

" - temp += "[极冰领域]
" - temp += "部分转职技能命中后可以强制中断并连接施放极冰领域
" - temp += "- 可中断技能列表与冰魄锤击相同
" - temp += "波动攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "波动攻击力 +18%
" - return temp[:-4] - - -class 技能20(主动技能): - 名称 = '永罪冰狱' - 所在等级 = 85 - 等级上限 = 40 - 等级精通 = 30 - 学习间隔 = 5 - - data1 = [0, 43095, 53088, 63081, 73074, 83067, 93061, 103054, 113047, 123040, 133033, 143026, 153019, 163012, 173006, 182999, 192992, 202985, 212978, 222971, 232964, 242957, 252951, 262944, 272937, 282930, 292923, 302916, 312909, 322902, 332896, 342889, 352882, 362875, 372868, 382861, 392854, 402848, 412841, 422834, 432827, 442820, 452813, 462806, 472799, 482793, 492786, 502779, 512772, 522765, 532758, 542751, 552744, 562738, 572731, 582724, 592717, 602710, 612703, 622696, 632689, 642683, 652676, 662669, 672662, 682655, 692648, 702641, 712635, 722628, 732621] - 攻击次数 = 1 - data2 = [0, 19147, 23587, 28027, 32467, 36907, 41347, 45787, 50227, 54667, 59107, 63547, 67987, 72426, 76866, 81306, 85746, 90186, 94626, 99066, 103506, 107946, 112386, 116826, 121266, 125706, 130146, 134586, 139026, 143466, 147906, 152346, 156786, 161226, 165666, 170106, 174546, 178986, 183426, 187866, 192306, 196746, 201186, 205626, 210066, 214505, 218945, 223385, 227825, 232265, 236705, 241145, 245585, 250025, 254465, 258905, 263345, 267785, 272225, 276665, 281105, 285545, 289985, 294425, 298865, 303305, 307745, 312185, 316625, 321065, 325505] - 攻击次数2 = 2 - data3 = [0,28803, 35482, 42162, 48841, 55520, 62199, 68878, 75557, 82236, 88916, 95595, 102274, 108953, 115632, 122311, 128991, 135670, 142349, 149028, 155707, 162386, 169065, 175745, 182424, 189103, 195782, 202461, 209140, 215819, 222499, 229178, 235857, 242536, 249215, 255894, 262573, 269253, 275932, 282611, 289290, 295969, 302648, 309327, 316007, 322686, 329365, 336044, 342723, 349402, 356081, 362761, 369440, 376119, 382798, 389477, 396156, 402836, 409515, 416194, 422873, 429552, 436231, 442910, 449590, 456269, 462948, 469627, 476306, 482985, 489664] - 攻击次数3 = 1 - CD = 180.0 - - def 等效百分比(self, 武器类型): - return 1.271*(self.data1[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * self.倍率 - - -class 技能21(被动技能): - 名称 = '冰霜之手' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = '极冰猎魔斩' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data1 = [0, 114676, 126310, 137943, 149577, 161211, 172845, 184479, 196113, 207746, 219380, 231014, 242648, 254282, 265915, 277549, 289183, 300817, 312451, 324085, 335718, 347352, 358986, 370620, 382254, 393888, 405521, 417155, 428789, 440423, 452057, 463690, 475324, 486958, 498592, 510226, 521860, 533493, 545127, 556761, 568395, 580029, 591662, 603296, 614930, 626564, 638198, 649832, 661465, 673099, 684733, 696367, 708001, 719635, 731268, 742902, 754536, 766170, 777804, 789437, 801071, 812705, 824339, 835973, 847607, 859240, 870874, 882508, 894142, 905776, 917410] - 攻击次数 = 1 - CD = 60.0 - def 等效百分比(self, 武器类型): - return 1.23*(self.data1[self.等级] * self.攻击次数) * self.倍率 - - -class 技能23(主动技能): - 名称 = '永劫:纳斯特隆德' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - - data1 = [0, 4031, 4966, 5900, 6835, 7770, 8705, 9640, 10575, 11509, 12444, 13379, 14314, 15249, 16183, 17118, 18053, 18988, 19923, 20857, 21792, 22727, 23662, 24597, 25531, 26466, 27401, 28336, 29271, 30205, 31140, 32075, 33010, 33945, 34879, 35814, 36749, 37684, 38619, 39554, 40488, 41423, 42358, 43293, 44228, 45162, 46097, 47032, 47967, 48902, 49836, 50771, 51706, 52641, 53576, 54510, 55445, 56380, 57315, 58250, 59184, 60119, 61054, 61989, 62924, 63859, 64793, 65728, 66663, 67598, 68533] - data2 = [0, 40313, 49661, 59009, 68357, 77705, 87053, 96401, 105750, 115098, 124446, 133794, 143142, 152490, 161838, 171186, 180534, 189882, 199230, 208578, 217926, 227274, 236623, 245971, 255319, 264667, 274015, 283363, 292711, 302059, 311407, 320755, 330103, 339451, 348799, 358147, 367495, 376844, 386192, 395540, 404888, 414236, 423584, 432932, 442280, 451628, 460976, 470324, 479672, 489020, 498368, 507717, 517065, 526413, 535761, 545109, 554457, 563805, 573153, 582501, 591849, 601197, 610545, 619893, 629241, 638590, 647938, 657286, 666634, 675982, 685330] - data3 = [0, 28219, 34763, 41306, 47850, 54394, 60937, 67481, 74025, 80568, 87112, 93655, 100199, 106743, 113286, 119830, 126374, 132917, 139461, 146005, 152548, 159092, 165636, 172179, 178723, 185267, 191810, 198354, 204898, 211441, 217985, 224528, 231072, 237616, 244159, 250703, 257247, 263790, 270334, 276878, 283421, 289965, 296509, 303052, 309596, 316140, 322683, 329227, 335770, 342314, 348858, 355401, 361945, 368489, 375032, 381576, 388120, 394663, 401207, 407751, 414294, 420838, 427382, 433925, 440469, 447013, 453556, 460100, 466643, 473187, 479731] - data4 = [0, 28219, 34763, 41306, 47850, 54394, 60937, 67481, 74025, 80568, 87112, 93655, 100199, 106743, 113286, 119830, 126374, 132917, 139461, 146005, 152548, 159092, 165636, 172179, 178723, 185267, 191810, 198354, 204898, 211441, 217985, 224528, 231072, 237616, 244159, 250703, 257247, 263790, 270334, 276878, 283421, 289965, 296509, 303052, 309596, 316140, 322683, 329227, 335770, 342314, 348858, 355401, 361945, 368489, 375032, 381576, 388120, 394663, 401207, 407751, 414294, 420838, 427382, 433925, 440469, 447013, 453556, 460100, 466643, 473187, 479731] - data5 = [0, 60470, 74492, 88514, 102536, 116558, 130580, 144602, 158625, 172647, 186669, 200691, 214713, 228735, 242757, 256779, 270801, 284824, 298846, 312868, 326890, 340912, 354934, 368956, 382978, 397000, 411022, 425045, 439067, 453089, 467111, 481133, 495155, 509177, 523199, 537221, 551244, 565266, 579288, 593310, 607332, 621354, 635376, 649398, 663420, 677442, 691465, 705487, 719509, 733531, 747553, 761575, 775597, 789619, 803641, 817664, 831686, 845708, 859730, 873752, 887774, 901796, 915818, 929840, 943862, 957885, 971907, 985929, 999951, 1013973, 1027995] - data6 = [0, 120940, 148984, 177029, 205073, 233117, 261161, 289205, 317250, 345294, 373338, 401382, 429426, 457471, 485515, 513559, 541603, 569648, 597692, 625736, 653780, 681824, 709869, 737913, 765957, 794001, 822045, 850090, 878134, 906178, 934222, 962266, 990311, 1018355, 1046399, 1074443, 1102488, 1130532, 1158576, 1186620, 1214664, 1242709, 1270753, 1298797, 1326841, 1354885, 1382930, 1410974, 1439018, 1467062, 1495106, 1523151, 1551195, 1579239, 1607283, 1635328, 1663372, 1691416, 1719460, 1747504, 1775549, 1803593, 1831637, 1859681, 1887725, 1915770, 1943814, 1971858, 1999902, 2027946, 2055991] - data7 = [0, 8062, 9932, 11801, 13671, 15541, 17410, 19280, 21150, 23019, 24889, 26758, 28628, 30498, 32367, 34237, 36106, 37976, 39846, 41715, 43585, 45454, 47324, 49194, 51063, 52933, 54803, 56672, 58542, 60411, 62281, 64151, 66020, 67890, 69759, 71629, 73499, 75368, 77238, 79108, 80977, 82847, 84716, 86586, 88456, 90325, 92195, 94064, 95934, 97804, 99673, 101543, 103413, 105282, 107152, 109021, 110891, 112761, 114630, 116500, 118369, 120239, 122109, 123978, 125848, 127718, 129587, 131457, 133326, 135196, 137066] - data8 = [0, 13437, 16553, 19669, 22785, 25901, 29017, 32133, 35250, 38366, 41482, 44598, 47714, 50830, 53946, 57062, 60178, 63294, 66410, 69526, 72642, 75758, 78874, 81990, 85106, 88222, 91338, 94454, 97570, 100686, 103802, 106918, 110034, 113150, 116266, 119382, 122498, 125614, 128730, 131846, 134962, 138078, 141194, 144310, 147426, 150542, 153658, 156774, 159890, 163006, 166122, 169239, 172355, 175471, 178587, 181703, 184819, 187935, 191051, 194167, 197283, 200399, 203515, 206631, 209747, 212863, 215979, 219095, 222211, 225327, 228443] - - data0 = [data1,data2,data3,data4,data5,data6,data7,data8] - - 次数 = [1,1,1,1,1,1,5,6] - - def 等效百分比(self, 武器类型): - sum = 0 - # sum = 252985 + self.等级 * 76385 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率*1.21 - CD = 290.0 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·冰结师一觉序号 = 0 -知源·冰结师二觉序号 = 0 -知源·冰结师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·冰结师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·冰结师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·冰结师三觉序号 = 技能序号[i.名称] - -知源·冰结师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·冰结师护石选项.append(i.名称) - -知源·冰结师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·冰结师符文选项.append(i.名称) - - -class 知源·冰结师角色属性(角色属性): - - 实际名称 = '知源·冰结师' - 角色 = '魔法师(男)' - 职业 = '冰结师' - - 武器选项 = ['魔杖', '法杖'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百力比' - 防具类型 = '皮甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.800 - - 远古记忆 = 0 - - 冰针显示开关 = 0 - 小冰轮次数 = 0 - 大冰轮次数 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - - if self.远古记忆 > 0: - self.进图智力 += self.远古记忆 * 15 - - self.冰属性强化 += self.技能栏[self.技能序号['冰霜之径']].属强加成() - self.技能栏[self.技能序号['千旋冰轮破']].攻击次数 = self.小冰轮次数 + 36 - self.技能栏[self.技能序号['千旋冰轮破']].攻击次数2 = self.大冰轮次数 + 20 - - for i in self.技能栏: - if i.关联技能 != ['无']: - if i.关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率(self.武器类型) - else: - for k in i.关联技能: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率(self.武器类型) - - if i.关联技能2 != ['无']: - if i.关联技能2 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率2(self.武器类型) - elif i.名称 != '冰之技艺': - for k in i.关联技能2: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率2(self.武器类型) - - if i.关联技能3 != ['无']: - if i.关联技能3 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率3(self.武器类型) - else: - for k in i.关联技能3: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率3(self.武器类型) - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 二觉被动冰针 - if self.技能栏[self.技能序号['冰之技艺']].等级 != 0: - - 冰之技艺序号 = self.技能序号['冰之技艺'] - - 技能释放次数[冰之技艺序号] = 1 - - if 技能总伤害[self.技能序号['冰魄剑']] != 0: - temp = 技能总伤害[self.技能序号['冰魄剑']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['冰魄剑']] += temp - - if 技能总伤害[self.技能序号['寒冰连枪']] != 0: - temp = 技能总伤害[self.技能序号['寒冰连枪']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['寒冰连枪']] += temp - - if 技能总伤害[self.技能序号['冰魄旋枪']] != 0: - temp = 技能总伤害[self.技能序号['冰魄旋枪']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.装备检查('奔流不息之银河'): - temp = temp / 0.7 - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['冰魄旋枪']] += temp - - if 技能总伤害[self.技能序号['旋冰穿刺']] != 0: - temp = 技能总伤害[self.技能序号['旋冰穿刺']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.装备检查('奔流不息之山川'): - temp = temp / 0.7 - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['旋冰穿刺']] += temp - - if 技能总伤害[self.技能序号['冰魄锤击']] != 0: - temp = 技能总伤害[self.技能序号['冰魄锤击']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.装备检查('奔流不息之山川'): - temp = temp / 0.7 - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['冰魄锤击']] += temp - - if 技能总伤害[self.技能序号['极冰绽放']] != 0: - temp = 技能总伤害[self.技能序号['极冰绽放']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.装备检查('奔流不息之伽蓝'): - temp = temp / 0.7 - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['极冰绽放']] += temp - - if 技能总伤害[self.技能序号['碎冰破']] != 0: - temp = 技能总伤害[self.技能序号['碎冰破']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['碎冰破']] += temp - - if 技能总伤害[self.技能序号['极冰猎魔斩']] != 0: - temp = 技能总伤害[self.技能序号['极冰猎魔斩']] * \ - self.技能栏[冰之技艺序号].冰针倍率(self.武器类型) - if self.冰针显示开关 == 1: - 技能总伤害[冰之技艺序号] += temp - else: - 技能总伤害[self.技能序号['极冰猎魔斩']] += temp - - if self.冰针显示开关 == 0: - for i in self.技能栏[冰之技艺序号].关联技能2: - self.技能栏[self.技能序号[i] - ].被动倍率 *= self.技能栏[冰之技艺序号].加成倍率2(self.武器类型) - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 知源·冰结师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·冰结师角色属性() - self.角色属性A = 知源·冰结师角色属性() - self.角色属性B = 知源·冰结师角色属性() - self.一觉序号 = 知源·冰结师一觉序号 - self.二觉序号 = 知源·冰结师二觉序号 - self.三觉序号 = 知源·冰结师三觉序号 - self.护石选项 = deepcopy(知源·冰结师护石选项) - self.符文选项 = deepcopy(知源·冰结师符文选项) - - def 界面(self): - super().界面() - self.冰针显示开关 = QCheckBox('冰针伤害独立显示', self.main_frame2) - self.冰针显示开关.resize(120, 20) - self.冰针显示开关.move(490, 420) - self.冰针显示开关.setStyleSheet(复选框样式) - self.冰针显示开关.setChecked(False) - - self.小冰轮次数选择 = MyQComboBox(self.main_frame2) - self.小冰轮次数选择.addItem('小冰轮击中36次') - self.小冰轮次数选择.addItem('小冰轮击中37次') - self.小冰轮次数选择.addItem('小冰轮击中38次') - self.小冰轮次数选择.addItem('小冰轮击中39次') - self.小冰轮次数选择.addItem('小冰轮击中40次') - self.小冰轮次数选择.addItem('小冰轮击中41次') - self.小冰轮次数选择.addItem('小冰轮击中42次') - self.小冰轮次数选择.setCurrentIndex(6) - self.小冰轮次数选择.resize(120, 20) - self.小冰轮次数选择.move(325, 420) - - self.大冰轮次数选择 = MyQComboBox(self.main_frame2) - self.大冰轮次数选择.addItem('大冰轮击中20次') - self.大冰轮次数选择.addItem('大冰轮击中21次') - self.大冰轮次数选择.addItem('大冰轮击中22次') - self.大冰轮次数选择.addItem('大冰轮击中23次') - self.大冰轮次数选择.addItem('大冰轮击中24次') - self.大冰轮次数选择.setCurrentIndex(2) - self.大冰轮次数选择.resize(120, 20) - self.大冰轮次数选择.move(325, 450) - - self.职业存档.append(('冰针显示开关', self.冰针显示开关, 0)) - self.职业存档.append(('小冰轮次数选择', self.小冰轮次数选择, 1)) - self.职业存档.append(('大冰轮次数选择', self.大冰轮次数选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if 属性.技能栏[self.角色属性A.技能序号['水晶剑']].等级 != 0: - 属性.技能栏[self.角色属性A.技能序号['冰魄剑']].技能形态改变() - - if self.冰针显示开关.isChecked(): - 属性.冰针显示开关 = 1 - - 属性.小冰轮次数 = self.小冰轮次数选择.currentIndex() - 属性.大冰轮次数 = self.大冰轮次数选择.currentIndex() diff --git a/Characters/知源·召唤师.py b/Characters/知源·召唤师.py deleted file mode 100644 index ae484a37..00000000 --- a/Characters/知源·召唤师.py +++ /dev/null @@ -1,677 +0,0 @@ -from PublicReference.carry.base import * - - -class 知源·召唤师主动技能(主动技能): - 秒伤基础 = 0 - 秒伤成长 = 0 - 秒伤倍率 = 1 - # def 等效CD(self, 武器类型): - # if 武器类型 == '法杖': - # return round(self.CD / self.恢复 * 1.10, 1) - # if 武器类型 == '魔杖': - # return round(self.CD / self.恢复 * 1.00, 1) - - def 秒伤百分比(self): - if self.等级 == 0: - return 0 - else: - return int((self.秒伤基础 + self.秒伤成长 * self.等级) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.秒伤倍率) - - -class 技能0(被动技能): - 名称 = '召唤兽强化' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 关联技能 = ['契约召唤:桑德尔', '契约召唤:袄索', '精灵召唤:亡魂默克尔', '精灵召唤:极光格雷林', '精灵召唤:火焰赫瑞克', '精灵召唤:冰影阿奎利斯', '契约召唤:路易斯', '精灵召唤:伊伽贝拉', - '契约召唤:牛头王库鲁塔', '契约召唤:征服者卡西利亚斯', '咒令:愤怒咆哮', '传说召唤:逆月者拉莫斯', '咒令:逆月之蚀', '必杀剑千鬼杀', '至高精灵王', '传说召唤:月蚀之影', '黑月之噬', '魔月·德拉里昂'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00+0.02*self.等级, 3) - - -class 技能1(被动技能): - 名称 = '心灵感应' - 所在等级 = 15 - 等级上限 = 16 - 基础等级 = 6 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03+0.02*self.等级, 3) - - -class 技能2(知源·召唤师主动技能): - 名称 = '精灵献祭' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - 基础 = 1903.9803*1.05*1.085 + 380.9019*8*1.05*1.085 + 1921.9019*1.05*1.085 + 1903.9803*1.05*1.085 - 成长 = 215.0196*1.05*1.085 + 43.0980*8*1.05*1.085 + 215.0196*1.05*1.085 + 215.0196*1.05*1.085 - CD = 20.0 - 演出时间 = 2 - TP成长 = 0.05 - TP上限 = 5 - - -class 技能3(知源·召唤师主动技能): - 名称 = '契约召唤:桑德尔' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 基础 = 1880.6458*1.0646*1.085 - 成长 = 212.3541*1.0646*1.085 - 秒伤基础 = 238.125 *1.0646*1.085+ 332.4583*1.085/1.5*1.0646 - 秒伤成长 = 26.875*1.0646*1.085 + 37.5416*1.085/1.5*1.0646 - 秒伤倍率 = (20 - 3.501361 * 2) / (20 - 1.65 * 2) - CD = 12 - 演出时间 = 1.65 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能4(知源·召唤师主动技能): - 名称 = '契约召唤:袄索' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 3099.189189*1.0646*1.085 - 成长 = 349.81081*1.0646*1.085 - 秒伤基础 = 83.56756*1.0646*1.085 + 211.1351*6*1.085/4*1.0646 - 秒伤成长 = 9.4324*1.0646*1.085 + 23.8648*6*1.085/4*1.0646 - 秒伤倍率 = 0.932241021 - CD = 15 - 演出时间 = 1.53 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能5(知源·召唤师主动技能): - 名称 = '精灵召唤:亡魂默克尔' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 360.3555*6*1.0646*1.085 - 成长 = 40.6444*6*1.0646*1.085 - 秒伤基础 = 107.8222*1.0646*1.085 + 163.5111*1.085/1.5 *1.0646+ 102.4222*4*1.085/7*1.0646 - 秒伤成长 = 12.1778 *1.0646*1.085 + 18.4888*1.085/1.5*1.0646 + 11.5778*4*1.085/7*1.0646 - 秒伤倍率 = (20 - 1.5013323 * 2) / (20 - 0.67 * 2) - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.67 - - -class 技能6(知源·召唤师主动技能): - 名称 = '精灵召唤:极光格雷林' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 2160.1778*1.0646*1.085 - 成长 = 243.8222*1.0646*1.085 - 秒伤基础 = 23.333*3*1.0646*1.085 + 102.3777*1.085/2*5*1.0646 - 秒伤成长 = 2.666*3 *1.0646*1.085 + 11.6222*1.085/2*5*1.0646 - 秒伤倍率 = (20 - 2.09 * 2) / (20 - 1 * 0.7) - CD = 15 - 演出时间 = 0.7 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(知源·召唤师主动技能): - 名称 = '精灵召唤:火焰赫瑞克' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 432.2444*1.0646*1.085 + 647.8444*1.0646*1.085 + 863.4444*1.0646*1.085 + 70.9333*3*1.0646*1.085 - 成长 = 48.7555*1.0646*1.085 + 73.1555*1.0646*1.085 + 97.5666*1.0646*1.085 + 8.0666*3*1.0646*1.085 - 秒伤基础 = 179.6666*1.0646*1.085 + 204.9111*1.085/1.5*1.0646 + 50.2/1.5*1.0646*1.085 - 秒伤成长 = 20.3333*1.0646*1.085 + 23.0888*1.085/1.5*1.0646 + 5.8/1.5*1.0646*1.085 - 秒伤倍率 = (20 - 1.65899 * 2) / (20 - 1 * 1.1) - CD = 15 - 演出时间 = 1.1 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(知源·召唤师主动技能): - 名称 = '精灵召唤:冰影阿奎利斯' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 基础 = 304.888*7*1.0646*1.085 - 成长 = 32.5111*7*1.0646*1.085 - 秒伤基础 = 22.3777*3 *1.0646*1.085 + 208.4888/2*1.0646*1.085 + 231.8888/5*3*1.0646*1.085 - 秒伤成长 = 2.622*3*1.0646*1.085 + 23.5111/2 *1.0646*1.085+ 26.1111/5*3*1.0646*1.085 - 秒伤倍率 = (20 - 1.98 * 2) / (20 - 1 * 0.817) - CD = 15 - 演出时间 = 0.817 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(知源·召唤师主动技能): - 名称 = '契约召唤:路易斯' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 基础 = 661.4047*1.0646*1.085 + 2647.6904*1.0646*1.085 - 成长 = 74.5952*1.0646*1.085 + 298.3095*1.0646*1.085 - 秒伤基础 = 165.3571*1.0646*1.085 + 109.5714/5*10*1.0646*1.085 + 174.2380/1.5*1.0646*1.085 + 228.1666/1.5*1.0646*1.085 - 秒伤成长 = 18.6428*1.0646*1.085 + 12.4285/5*10 *1.0646*1.085 + 19.7619/1.5*1.0646*1.085 + 25.8333/1.5*1.0646*1.085 - 秒伤倍率 = (20 - 9.22) / (20 - 0.6) - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.6 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.基础 *= 1.2779 - self.成长 *= 1.2779 - - elif x == 1: - self.基础 *= 1.3123 - self.成长 *= 1.3123 - - -class 技能10(知源·召唤师主动技能): - 名称 = '精灵召唤:伊伽贝拉' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - 基础 = 555.2820*1.3*8*1.0646*1.085 - 成长 = 62.7179*1.3*8*1.0646*1.085 - 秒伤基础 = 82.5641*1.3/0.6*1.0646*1.085 + 190.3846*1.3/3.1*3*1.0646*1.085 + 415.9230*1.3/5*3*1.0646*1.085 + 646.1025*1.3*4/9.3*1.0646*1.085 - 秒伤成长 = 9.4358*1.3/0.6 *1.0646*1.085 + 21.6153*1.3/3.1*3*1.0646*1.085 + 26.0769*1.3/5*3*1.0646*1.085 + 72.8974*1.3*4/9.3*1.0646*1.085 - 秒伤倍率 = (20 - 7.7) / (20 - 1.7) - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 1.7+1.0 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.秒伤基础 *= 0.5618*1.15*2 - self.秒伤成长 *= 0.5618*1.15*2 - self.基础 *= 1.15 - self.成长 *= 1.15 - - elif x == 1: - self.秒伤基础 *= 0.6069*1.15*2 - self.秒伤成长 *= 0.6069*1.15*2 - self.基础 *= 1.15 - self.成长 *= 1.15 - - -class 技能11(知源·召唤师主动技能): - 名称 = '束缚印记' - 所在等级 = 45 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 14368.5714*1.052*1.085 - 成长 = 1622.4285*1.052*1.085 - CD = 25 - - -class 技能12(知源·召唤师主动技能): - 名称 = '契约召唤:牛头王库鲁塔' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - 基础 = 1568.918*1.06469 + 2195.0540*1.06469 + 2823.2432*1.06469*1.085 - 成长 = 177.0810*1.06469 + 247.9459*1.06469 + 318.7567*1.06469*1.085 - 秒伤基础 = 403.4594*1.0646*1.085 + 651.4594/2*1.0646*1.085 + 1283.1351/3*1.0646*1.085 - 秒伤成长 = 45.5404*1.0646*1.085 + 73.5405/2 *1.0646*1.085 + 144.8648/3*1.0646*1.085 - 秒伤倍率 = (20 - 6.8505) / (20 - 1.83) - CD = 40 - 演出时间 = 1.83 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.秒伤基础 *= 1.23 - self.秒伤成长 *= 1.23 - self.基础 *= 1.23 - self.成长 *= 1.23 - self.CD *= 0.9 - - elif x == 1: - self.秒伤基础 *= 1.31 - self.秒伤成长 *= 1.31 - self.基础 *= 1.31 - self.成长 *= 1.31 - self.CD *= 0.9 - - -class 技能13(被动技能): - 名称 = '强击光环' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['精灵召唤:亡魂默克尔', '精灵召唤:极光格雷林', '精灵召唤:火焰赫瑞克', '精灵召唤:冰影阿奎利斯'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.15 - - -class 技能14(被动技能): - 名称 = '灵魂支配' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105+0.015*self.等级, 3) - - -class 技能15(知源·召唤师主动技能): - 名称 = '契约召唤:征服者卡西利亚斯' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 秒伤基础 = 1.051*(229.8*1.1426*1.06467*1.085 + 516.2666*1.1426/2*1.06467*1.085 + 1100.6666*1.1426/2*1.06467*1.085) - 秒伤成长 = 1.051*(69.2*1.1426*1.06467*1.085 + 155.7333*1.1426/1.9*1.06467*1.085 + 332.3333*1.1426/2*1.06467*1.085) - 秒伤倍率 = 0.77 - 演出时间 = 0 - CD = 145 - - -class 技能16(知源·召唤师主动技能): - 名称 = '必杀剑千鬼杀' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 基础 = 6190.6875*1.1426*1.06467*1.085 + 3714.4375*1.1426*5*1.06467*1.085 - 成长 = 1869.3125*1.1426*1.06467*1.085 + 1121.5625*1.1426*5*1.06467*1.085 - CD = 145 - 演出时间 = 3.47 # 9.1 - - -class 技能17(知源·召唤师主动技能): - 名称 = '精灵召唤:融合精灵海伊轮' - 所在等级 = 60 - 等级上限 = 11 - 基础等级 = 1 - 是否有伤害 = 0 - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '所有属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (20 + 2*self.等级) - - -class 技能18(知源·召唤师主动技能): - 名称 = '咒令:愤怒咆哮' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - 基础 = (3945.5*4*1.051*1.085 + 10522*1.051*1.085)*1.071 - 成长 = (445.5*4*1.051*1.085 + 1188*1.051*1.085)*1.071 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 2.3 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.124 - self.CD *= 0.9 - - elif x == 1: - self.倍率 *= 1.204 - self.CD *= 0.9 - - -class 技能19(被动技能): - 名称 = '蚀月附灵' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22+0.02*self.等级, 3) - - -class 技能20(知源·召唤师主动技能): - 名称 = '黑月之噬' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - 基础 = 32819.33333*1.054*1.085*1.065 - 成长 = 3705.66667*1.054*1.085*1.065 - CD = 40 - 是否有护石 = 1 - 是否带护石 = 0 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.18 - self.CD *= 0.90 - self.是否带护石 = 1 - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - -class 技能21(知源·召唤师主动技能): - 名称 = '传说召唤:月蚀之影' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - 基础 = 3828.583333*1.05*1.085*1.074 - 成长 = 432.416667*1.05*1.085*1.074 - 攻击次数 = 15.0 - 演出时间 = 3 - CD = 43 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.32 - self.演出时间 = 1.3 - - -class 技能22(知源·召唤师主动技能): - 名称 = '传说召唤:逆月者拉莫斯' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - 基础 = 1992.4*1.15*3*1.0646*1.085*1.052 - 成长 = 601.6*1.15*3*1.0646*1.085*1.052 - 秒伤基础 = 1.052*(717.6*1.15/3*2*1.0646*1.085 + 192.4*1.15/3*1.0646*1.085 + 335*1.15 /3*1.0646 + 430*1.15/3*1.0646*1.085 + 238.8*1.15/6 *1.0646*1.085 + 837.4*1.15/6*1.0646*1.085) - 秒伤成长 = 1.052*(216.4*1.15/3*2*1.0646*1.085 + 57.6*1.15/3 *1.0646*1.085 + 101*1.15 /3*1.0646 + 130*1.15/3*1.0646*1.085 + 72.2*1.15/6*1.0646*1.085 + 252.6*1.15/6*1.0646*1.085) - 演出时间 = 1.55 - 额外演出时间 = 0 - 秒伤倍率 = (20 - 4.500625 * 2) / (20 - 1.55 * 2) - CD = 10 - - -class 技能23(知源·召唤师主动技能): - 名称 = '咒令:逆月之蚀' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - 基础 = 1.052* (4782.4*1.15*1.0646*1.085 + 1912.5*1.15*5*1.0646*1.085 + 2733.2*1.15*7*1.0646*1.085 + 14346*1.15*1.0646*1.085) - 成长 = 1.052* (1443.7*1.15*1.0646*1.085 + 577.7*1.15*5 *1.0646*1.085 + 824.9*1.15*7*1.0646*1.085 + 4332*1.15*1.0646*1.085) - 演出时间 = 5.25 - CD = 180 - - -class 技能24(被动技能): - 名称 = '魔法秀' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 是否主动 = 1 - 关联技能 = ['无'] - 冷却关联技能 = ['咒令:愤怒咆哮', '精灵献祭'] - - 魔法秀数值 = [0, 22, 43, 65, 86, 108, 130, 151, 173, 194, 216, - 238, 259, 281, 302, 324, 324, 324, 324, 324, 324] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 - 0.001*self.魔法秀数值[self.等级], 3) - - -class 技能25(知源·召唤师主动技能): - 名称 = '鞭挞' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 32 - 基础 = 30.5612*1.05*1.085 + 46.8388*1.05*1.085 - 成长 = 113.7419*1.05*1.085 + 170.5806*1.05*1.085 - CD = 3 - TP成长 = 0.05 - TP上限 = 5 - - -class 技能26(知源·召唤师主动技能): - 名称 = '魔力印记' - 备注 = '(秒伤)' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - 基础 = 322*1.0522*1.085 - 成长 = 61*1.0522*1.085 - 攻击次数 = 2 - 演出时间 = 1 - - def 等效CD(self, 武器类型, 输出类型): - return 1 - - -class 技能27(知源·召唤师主动技能): - 名称 = '驱散魔法' - 所在等级 = 10 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 数据 = [0, 11, 15, 20, 25, 30, 35, 41, 47, 53, 60, - 67, 74, 82, 90, 98, 106, 115, 124, 133, 143] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '智力+' + str(self.智力加成()) - - def 智力加成(self): - return self.数据[self.等级] * 4 - - -class 技能28(知源·召唤师主动技能): - 名称 = '至高精灵王' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - 基础 = 2162*1.3*1.1844*1.085*1.081 - 成长 = 244*1.3*1.1844*1.085*1.081 - 攻击次数 = 9.0 - 基础2 = 1.081*(29185.8*1.3*1.1844*1.085) - 成长2 = 1.081*(295.2*1.3*1.1844*1.085) - 攻击次数2 = 1.0 - CD = 58 - 演出时间 = 2.3 - - -class 技能29(被动技能): - 名称 = '逆月' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18+0.02*self.等级, 3) - - -class 技能30(知源·召唤师主动技能): - 名称 = '魔月·德拉里昂' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 基础 = 1.065*(28837*1.1823*1.085 + 67288*1.1823*1.085 + 96125*1.1823*1.085) - 成长 = 1.065*(8706*1.1823*1.085 + 20313 *1.1823*1.085 + 29019*1.1823*1.085) - CD = 290 - 演出时间 = 5.7 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能31(被动技能): - 名称 = '绝对支配' - 所在等级 = 10 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['契约召唤:桑德尔', '契约召唤:袄索', '精灵召唤:亡魂默克尔', '精灵召唤:极光格雷林', '精灵召唤:火焰赫瑞克', '精灵召唤:冰影阿奎利斯', '契约召唤:路易斯', - '精灵召唤:伊伽贝拉', '契约召唤:牛头王库鲁塔', '契约召唤:征服者卡西利亚斯', '咒令:愤怒咆哮', '传说召唤:逆月者拉莫斯', '咒令:逆月之蚀', '必杀剑千鬼杀', '至高精灵王'] - - def 加成倍率(self, 武器类型): - return 1.045 if self.等级 > 0 else 1.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·召唤师一觉序号 = 0 -知源·召唤师二觉序号 = 0 -知源·召唤师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·召唤师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·召唤师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·召唤师三觉序号 = 技能序号[i.名称] - -知源·召唤师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·召唤师护石选项.append(i.名称) - -知源·召唤师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·召唤师符文选项.append(i.名称) - - -class 知源·召唤师角色属性(角色属性): - - 实际名称 = '知源·召唤师' - 角色 = '魔法师(女)' - 职业 = '召唤师' - - 武器选项 = ['法杖', '魔杖'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.790 - - 远古记忆 = 0 - 秒伤比率 = 1 - 觉醒选择状态 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 数据计算(self, x=0, y=-1): - if self.技能栏[self.技能序号['黑月之噬']].是否带护石 == 0: - self.技能栏[self.技能序号['黑月之噬']].基础 = 0 - self.技能栏[self.技能序号['黑月之噬']].成长 = 0 - - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 召唤物秒伤 - for i in self.技能栏: - if self.技能切装[self.技能序号[i.名称]] != y: - if i.是否有伤害 == 1 and i.是否主动 == 1: - if i.名称 == '传说召唤:逆月者拉莫斯': - 技能总伤害[self.技能序号[i.名称]] += self.秒伤比率 * i.秒伤百分比() * (self.时间输入 + i.额外演出时间 - i.演出时间 * 技能释放次数[self.技能序号[i.名称]]) * \ - self.伤害指数 * i.被动倍率 * \ - (1 + self.白兔子技能 * 0.20 + self.年宠技能 * 0.10 * - (10 / (self.时间输入 % 50)) + self.斗神之吼秘药 * 0.12) - else: - 技能总伤害[self.技能序号[i.名称]] += self.秒伤比率 * i.秒伤百分比() * (self.时间输入 - i.演出时间 * 技能释放次数[self.技能序号[i.名称]]) * \ - self.伤害指数 * i.被动倍率 * \ - (1+self.白兔子技能*0.20+self.年宠技能*0.10 * - (10 / (self.时间输入 % 50))+self.斗神之吼秘药*0.12) - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - def 伤害指数计算(self): - self.所有属性强化(self.技能栏[self.技能序号['精灵召唤:融合精灵海伊轮']].属强加成()) - self.进图智力 += self.技能栏[self.技能序号['驱散魔法']].智力加成() - if self.觉醒选择状态 == 2: - self.技能栏[self.技能序号['传说召唤:逆月者拉莫斯']].额外演出时间 += 2.25 - self.技能栏[self.技能序号['契约召唤:征服者卡西利亚斯']].演出时间 += 2.97 - elif self.觉醒选择状态 == 1: - self.技能栏[self.技能序号['契约召唤:征服者卡西利亚斯']].演出时间 -= 0 - super().伤害指数计算() - - -class 知源·召唤师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·召唤师角色属性() - self.角色属性A = 知源·召唤师角色属性() - self.角色属性B = 知源·召唤师角色属性() - self.一觉序号 = 知源·召唤师一觉序号 - self.二觉序号 = 知源·召唤师二觉序号 - self.三觉序号 = 知源·召唤师三觉序号 - self.护石选项 = deepcopy(知源·召唤师护石选项) - self.符文选项 = deepcopy(知源·召唤师符文选项) - - def 界面(self): - super().界面() - - self.秒伤比率 = MyQComboBox(self.main_frame2) - for i in range(9): - self.秒伤比率.addItem('AI期望:' + str(80 + i * 5) + '%') - self.秒伤比率.setCurrentIndex(4) - self.秒伤比率.resize(120, 20) - self.秒伤比率.move(325, 480) - self.秒伤比率.setToolTip( - 'AI期望为各召唤兽各技能百分比/CD总和\n\n各召唤兽AI输出时间单独计算\n\n时间输入 - 附灵演出时间 * 附灵次数') - - self.职业存档.append(('秒伤比率', self.秒伤比率, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.秒伤比率 = 0.8 + self.秒伤比率.currentIndex() * 0.05 - 属性.觉醒选择状态 = self.觉醒选择状态 diff --git a/Characters/知源·小魔女.py b/Characters/知源·小魔女.py deleted file mode 100644 index 85fe5bb0..00000000 --- a/Characters/知源·小魔女.py +++ /dev/null @@ -1,298 +0,0 @@ -from PublicReference.buffer.base import * - - -class 知源·小魔女技能0(被动技能): - 名称 = '人偶操纵者' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 31 - 额外智力 = 0 - 站街生效 = 1 - 智力 = [0, 69, 73, 77, 81, 85, 90, 95, 100, 106, 112, 118, 124, 130, 137, 144, 152, 160, 168, 176, 184, 193, 202, 212, 221, 231, 241, 252, 262, 273, 284, - 296, 308, 320, 332, 344, 358, 371, 384, 398, 412, 426, 440, 456, 470, 486, 502, 518, 534, 550, 567, 581, 597, 613, 629, 645, 660, 676, 692, 708, 724] - - def 智力加成(self): - return self.智力[self.等级] + self.额外智力 + self.进图加成 - - def 结算统计(self, context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 知源·小魔女技能1(主动技能): - 名称 = '小魔女的偏爱' - 所在等级 = 20 - 等级上限 = 40 - 基础等级 = 10 - 增幅倍率 = 0.15 - - def 结算统计(self, context): - buff = context.技能表['BUFF'] - if buff.是否启用 and context.偏爱独立计算: - values = buff.结算统计(context) - return [int(round(i * self.增幅倍率, 3)) for i in values] - return [0]*8 - - -class 知源·小魔女技能2(主动技能): - 名称 = '禁忌诅咒' - 所在等级 = 30 - 等级上限 = 40 - 基础等级 = 10 - BUFF力量per = 0 - BUFF智力per = 0 - BUFF物攻per = 0 - BUFF魔攻per = 0 - BUFF独立per = 0 - BUFF力量 = 0 - BUFF智力 = 0 - BUFF物攻 = 0 - BUFF魔攻 = 0 - BUFF独立 = 0 - 三攻 = [0, 34, 35, 37, 38, 39, 41, 42, 43, 45, 46, 47, 49, 50, 51, 53, 54, 55, 57, 58, - 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 84, 85, 87] - 力智 = [0, 131, 140, 149, 158, 167, 175, 184, 193, 202, 211, 220, 229, 238, 247, 256, 264, 273, 282, 291, - 300, 309, 318, 327, 336, 345, 353, 362, 371, 380, 389, 398, 407, 416, 425, 434, 442, 451, 460, 469, 478] - - def 结算统计(self, context=None): - 倍率 = self.适用数值 / 665 + 1 - - 偏爱 = context.技能表['小魔女的偏爱'] - if 偏爱.是否启用 and not context.偏爱独立计算: - 倍率 *= 1 + 偏爱.增幅倍率 - - temp = [0, 0, 0] # 智力,体力,精神 - temp.append( - int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per * 倍率, 3))) # 力量 - temp.append( - int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per * 倍率, 3))) # 智力 - temp.append( - int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per * 倍率, 3))) # 物攻 - temp.append( - int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per * 倍率, 3))) # 魔攻 - temp.append( - int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per * 倍率, 3))) # 独立 - - return temp - - def 技能面板(self): - temp = [] - temp.append(self.名称) - temp.append( - int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per, 0))) - temp.append( - int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per, 0))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per, 0))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per, 0))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per, 0))) - return temp - - -class 知源·小魔女技能3(主动技能): - 名称 = '死命召唤' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 24 - 增幅倍率 = 0.25 - - def 结算统计(self, context): - buff = context.技能表['BUFF'] - 偏爱 = context.技能表['小魔女的偏爱'] - if buff.是否启用: - values = buff.结算统计(context) - - if context.偏爱独立计算 and 偏爱.是否启用: - temps = 偏爱.结算统计(context) - for i in range(8): - values[i] += temps[i] - - return [int(round(i * self.增幅倍率)) for i in values] - return [0]*8 - - -class 知源·小魔女技能4(被动技能): - 名称 = '少女的爱' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 额外力智 = 0 - 力智 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, - 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892] - 三攻 = 22 - - def 力智加成(self): - return self.力智[self.等级] + self.额外力智 - - def 三攻加成(self): - if self.等级 > 0: - return self.三攻 + self.等级 - else: - return 0 - - def 结算统计(self, context): - return [self.力智加成(), 0, 0, self.力智加成(), self.力智加成(), 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 知源·小魔女技能5(觉醒技能): - 名称 = '开幕!人偶剧场' - pass - - -class 知源·小魔女技能6(被动技能): - 名称 = '冥月绽放' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 站街生效 = 1 - 智力 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, - 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540] - - def 智力加成(self): - return self.智力[self.等级] - - def 结算统计(self, context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 知源·小魔女技能7(主动技能): - 名称 = '人偶之森' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - - def 结算统计(self, context): - return [0]*8 - - -class 知源·小魔女技能8(被动技能): - 名称 = '不祥的微笑' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 站街生效 = 1 - 智力 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, - 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] - - def 智力加成(self): - return self.智力[self.等级] - - def 结算统计(self, context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 知源·小魔女技能9(三觉技能): - 名称 = '终幕!人偶剧场' - 关联技能 = ['人偶之森'] - pass - - -技能表 = {} -技能栏 = [] -i = 0 -while i >= 0: - try: - skill: 技能 = eval("知源·小魔女技能"+str(i)+"()") - skill.技能序号 = i - 名称 = skill.名称 - if skill.所在等级 == 30: - 名称 = 'BUFF' - elif skill.所在等级 == 50: - 名称 = '一次觉醒' - elif skill.所在等级 == 85: - 名称 = '二次觉醒' - elif skill.所在等级 == 100: - 名称 = '三次觉醒' - 技能表[名称] = skill - 技能栏.append(skill) - i += 1 - except: - i = -1 - - -class 知源·小魔女角色属性(辅助角色属性): - 实际名称 = '知源·小魔女' - 角色 = '魔法师(女)' - 职业 = '小魔女' - - 武器选项 = ['扫把'] - - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - def __init__(self): - super().__init__() - self.武器选项 = ['扫把'] - self.防具精通属性 = ['智力'] - self.类型选择 = ['智力'] - self.类型 = '智力' - self.技能表 = deepcopy(技能表) - self.技能栏 = list(self.技能表.values()) - self.buff_type = 1 - self.一觉序号 = self.技能表['一次觉醒'].技能序号 - self.二觉序号 = self.技能表['二次觉醒'].技能序号 - self.三觉序号 = self.技能表['三次觉醒'].技能序号 - 基础属性输入(self) - - def 系数数值站街(self): - return self.智力 - - def 系数数值进图(self): - return self.进图智力 - - def 专属词条计算(self): - - self.技能表['人偶操纵者'].等级加成(self.转职被动Lv) - self.技能表['人偶操纵者'].额外智力 += self.转职被动智力 - self.技能表['人偶操纵者'].进图加成 += self.被动进图加成 - - self.技能表['BUFF'].等级加成(self.BUFFLv) - self.技能表['BUFF'].BUFF力量per = self.BUFF力量per - self.技能表['BUFF'].BUFF智力per = self.BUFF智力per - self.技能表['BUFF'].BUFF物攻per = self.BUFF物攻per - self.技能表['BUFF'].BUFF魔攻per = self.BUFF魔攻per - self.技能表['BUFF'].BUFF独立per = self.BUFF独立per - self.技能表['BUFF'].BUFF力量 = self.BUFF力量 - self.技能表['BUFF'].BUFF智力 = self.BUFF智力 - self.技能表['BUFF'].BUFF物攻 = self.BUFF物攻 - self.技能表['BUFF'].BUFF魔攻 = self.BUFF魔攻 - self.技能表['BUFF'].BUFF独立 = self.BUFF独立 - - self.技能表['一次觉醒'].等级加成(self.一觉Lv) - self.技能表['一次觉醒'].一觉力智 = self.一觉力智 - self.技能表['一次觉醒'].一觉力智per = self.一觉力智per - - self.技能表['少女的爱'].等级加成(self.一觉被动Lv) - self.技能表['少女的爱'].额外力智 = self.一觉被动力智 - - def get_data(self): - buff_rate = 1.25 if self.技能表['死命召唤'].是否启用 else 1 - buff_rate *= 1.15 if self.技能表['小魔女的偏爱'].是否启用 else 1 - self.buff_rate = buff_rate - return super().get_data() - - -class 知源·小魔女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·小魔女角色属性() - self.登记属性 = deepcopy(self.初始属性) - - self.角色属性A = deepcopy(self.初始属性) - self.角色属性B = deepcopy(self.初始属性) - self.偏爱独立计算 = False - - def 界面(self): - super().界面() - self.偏爱显示 = QCheckBox("偏爱独立显示", self.main_frame2) - self.偏爱显示.resize(130, 20) - self.偏爱显示.move(32, 360) - self.偏爱显示.setStyleSheet(复选框样式) - - def exports_property(self, property): - super().exports_property(property) - property.偏爱独立计算 = self.偏爱显示.isChecked() diff --git a/Characters/知源·战斗法师.py b/Characters/知源·战斗法师.py deleted file mode 100644 index 4f983c50..00000000 --- a/Characters/知源·战斗法师.py +++ /dev/null @@ -1,747 +0,0 @@ -from PublicReference.carry.base import * - - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型, 输出类型): -# if 武器类型 == '矛': -# return round(self.CD / self.恢复 * 1.05, 1) -# if 武器类型 == '棍棒': -# return round(self.CD / self.恢复 * 0.95, 1) - - -class 技能0(被动技能): - 名称 = '尼巫的战斗术' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18+0.02*self.等级, 3) - - -class 技能1(被动技能): - 名称 = '炫纹' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.20+0.00*self.等级, 3) - - -class 技能2(被动技能): - 名称 = '矛精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['星纹陨爆','一骑当千碎霸','太古星河·殒灭'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.05 - - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '矛': - return 1.0 - if self.等级 <= 20: - return round(1.00+0.01*self.等级, 3) - if self.等级 > 20: - return round(0.80+0.02*self.等级, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能3(被动技能): - 名称 = '棍棒精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['星纹陨爆','一骑当千碎霸','太古星河·殒灭'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.95 - - def 加成倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '棍棒': - return 1.0 - if self.等级 <= 20: - return round(1.00+0.01*self.等级, 3) - if self.等级 > 20: - return round(0.80+0.02*self.等级, 3) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能4(主动技能): - 名称 = '炫纹发射' - 备注 = '(个数,TP为强化炫纹)' - 是否主动 = 0 - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - - data = [int(i * 1.1611) for i in [0, 242, 266, 293, 316, 342, 365, 390, 413, 439, 464, 490, 513, 538, 563, 587, 612, 638, 662, 686, 712, 735, 760, 784, 809, 835, 860, 883, 909, 932, 957, 980, 1007, 1032, 1057, 1081, 1105, 1131, 1154, 1181, 1205, 1229, 1252, 1278, 1302, 1326, 1351, 1377, 1402, 1426, 1451, 1476, 1500, 1523, 1551, 1574, 1599, 1623, 1648, 1671, 1697, 1721, 1748, 1771, 1796, 1819, 1845, 1870, 1893, 1920, 1944]] - - # 95被动,默认超大炫纹,倍率*1.5 - 倍率 = 1.5 - - CD = 0.25 - TP成长 = 0.10 - TP上限 = 1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(主动技能): - 名称 = '双重锤击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 第一击物理攻击力:%10.6 - data0 = [int(x*1.179) for x in[0, 456, 503, 553, 600, 645, 692, 739, 787, 834, 881, 926, 972, 1023, 1070, 1116, 1169, 1216, 1262, 1308, 1356, 1403, 1450, 1497, 1543, 1589, 1639, 1686, 1732, 1780, 1828, 1874, 1920, 1966, 2014, 2063, 2110, 2158, 2203, 2250, 2298, 2344, 2392, 2440, 2483, 2537, 2583, 2629, 2679, 2726, 2774, 2820, 2868, 2914, 2960, 3008, 3057, 3102, 3151, 3197, 3244, 3290, 3338, 3386, 3432, 3477, 3528, 3574, 3621, 3668, 3714]] - 攻击次数 = 1.0 - # 最后一击物理攻击力:% - data1 = [int(x*1.179) for x in[0, 1675, 1851, 2021, 2194, 2369, 2542, 2715, 2890, 3060, 3234, 3409, 3582, 3753, 3928, 4100, 4276, 4449, 4617, 4793, 4968, 5140, 5316, 5487, 5657, 5833, 6007, 6181, 6352, 6527, 6698, 6873, 7045, 7219, 7392, 7564, 7741, 7916, 8083, 8258, 8432, 8607, 8781, 8950, 9123, 9300, 9474, 9642, 9817, 9990, 10166, 10340, 10509, 10682, 10858, 11034, 11206, 11374, 11550, 11723, 11898, 12074, 12240, 12416, 12593, 12763, 12938, 13109, 13284, 13456, 13633]] - 攻击次数2 = 1.0 - # 冲击波独立物理攻击力:% - data2 = [int(x*1.179) for x in[0, 1280, 1410, 1543, 1675, 1807, 1941, 2070, 2203, 2336, 2473, 2603, 2736, 2868, 2998, 3131, 3262, 3395, 3528, 3658, 3791, 3923, 4060, 4189, 4325, 4455, 4586, 4718, 4849, 4986, 5116, 5244, 5380, 5510, 5648, 5779, 5907, 6042, 6173, 6305, 6437, 6573, 6701, 6833, 6967, 7094, 7235, 7365, 7493, 7630, 7761, 7894, 8025, 8159, 8286, 8420, 8555, 8684, 8823, 8952, 9080, 9218, 9347, 9478, 9612, 9741, 9877, 10007, 10141, 10272, 10409]] - 攻击次数2 = 1.0 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 1.1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '炫纹爆弹' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 直刺5.97 - data0 = [int(x*1.179) for x in[0, 1170, 1294, 1410, 1535, 1665, 1777, 1908, 2026, 2147, 2266, 2387, 2507, 2632, 2747, 2872, 2992, 3112, 3231, 3350, 3472, 3601, 3713, 3842, 3971, 4082, 4214, 4333, 4453, 4572, 4693, 4814, 4938, 5053, 5177, 5297, 5418, 5538, 5660, 5778, 5909, 6019, 6149, 6275, 6388, 6512, 6628, 6754, 6875, 6994, 7112, 7233, 7354, 7484, 7602, 7724, 7845, 7965, 8085, 8216, 8334, 8455, 8575, 8696, 8815, 8934, 9058, 9180, 9300, 9421, 9539]] - 攻击次数 = 1.0 - # 多段 - data1 = [int(x*1.179) for x in[0, 146, 159, 174, 190, 210, 225, 239, 251, 270, 281, 295, 320, 331, 343, 349, 375, 391, 400, 426, 429, 451, 465, 480, 496, 512, 531, 535, 560, 570, 586, 609, 616, 630, 639, 664, 680, 690, 710, 718, 735, 750, 771, 786, 801, 817, 826, 849, 855, 871, 896, 906, 919, 935, 950, 970, 986, 991, 1011, 1027, 1040, 1056, 1072, 1091, 1106, 1120, 1136, 1145, 1160, 1176, 1192]] - 攻击次数2 = 13.0 - # 爆炸 - data2 = [int(x*1.179) for x in[0, 3522, 3883, 4243, 4613, 4976, 5339, 5699, 6069, 6432, 6789, 7155, 7524, 7884, 8254, 8614, 8980, 9351, 9701, 10070, 10429, 10794, 11158, 11527, 11898, 12257, 12616, 12982, 13351, 13704, 14073, 14438, 14797, 15167, 15529, 15899, 16264, 16619, 16983, 17345, 17715, 18075, 18440, 18810, 19171, 19530, 19891, 20266, 20620, 20986, 21355, 21718, 22083, 22442, 22802, 23173, 23533, 23902, 24264, 24629, 24988, 25357, 25720, 26086, 26444, 26813, 27173, 27546, 27905, 28266, 28629]] - 攻击次数2 = 1.0 - 演出时间 = 12.0 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.6 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '碎霸' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data = [int(x*1.155) for x in[0, 4057, 4475, 4897, 5316, 5734, 6151, 6570, 6992, 7412, 7830, 8251, 8671, 9091, 9511, 9931, 10347, 10767, 11187, 11605, 12028, 12447, 12866, 13286, 13707, 14128, 14544, 14961, 15382, 15801, 16223, 16641, 17063, 17483, 17902, 18318, 18737, 19157, 19578, 20000, 20417, 20837, 21260, 21677, 22099, 22514, 22933, 23354, 23772, 24193, 24614, 25034, 25453, 25872, 26294, 26708, 27131, 27548, 27969, 28389, 28809, 29230, 29649, 30070, 30485, 30904, 31324, 31743, 32166, 32584, 33004]] - CD = 8 - 基础释放次数 = 0 - TP成长 = 0.10 - TP上限 = 5 - 额外倍率 = 0 - 触发概率 = 0 - - def 等效百分比(self, 武器类型): - return (1 + self.额外倍率 * self.触发概率) * self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '炫纹融合(旋转)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 成长有变化 整个技能需改 - data = [int(x*1.167) for x in[0, 279, 307, 336, 364, 393, 420, 448, 477, 505, 534, 562, 591, 619, 646, 675, 703, 732, 760, 789, 817, 846, 874, 901, 930, 958, 987, 1015, 1044, 1072, 1101, 1129, 1156, 1186, 1213, 1242, 1270, 1299, 1327, 1356, 1384, 1412, 1441, 1468, 1497, 1525, 1554, 1582, 1611, 1639, 1667, 1696, 1723, 1752, 1780, 1809, 1837, 1866, 1894, 1922, 1951, 1978, 2007, 2035, 2064, 2092, 2121, 2149, 2177, 2206, 2233]] - 攻击次数 = 15 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * self.倍率 - - -class 技能9(主动技能): - 名称 = '流星闪影击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [int(x*1.179) for x in[0, 9154, 10084, 11013, 11941, 12870, 13802, 14726, 15659, 16590, 17512, 18442, 19373, 20302, 21228, 22160, 23084, 24014, 24941, 25873, 26804, 27732, 28660, 29589, 30519, 31449, 32379, 33300, 34232, 35163, 36091, 37020, 37950, 38876, 39805, 40730, 41662, 42593, 43521, 44445, 45378, 46307, 47235, 48167, 49095, 50022, 50951, 51881, 52809, 53736, 54666, 55594, 56522, 57453, 58383, 59312, 60236, 61165, 62097, 63024, 63956, 64882, 65810, 66740, 67670, 68599, 69527, 70457, 71383, 72312, 73240]] - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.6 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '炫纹强压' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [int(x*1.05) for x in[0, 9768, 10759, 11750, 12741, 13732, 14723, 15714, 16705, 17696, 18687, 19678, 20669, 21660, 22651, 23642, 24633, 25624, 26615, 27606, 28597, 29588, 30579, 31570, 32561, 33552, 34543, 35534, 36525, 37516, 38507, 39498, 40489, 41480, 42471, 43462, 44453, 45444, 46435, 47426, 48417, 49408, 50399, 51390, 52381, 53372, 54363, 55354, 56345, 57336, 58328, 59319, 60310, 61301, 62292, 63284, 64275, 65266, 66257, 67248, 68239, 69230, 70221, 71212, 72203, 73194, 74185, 75176, 76167, 77158, 78149]] - CD = 17 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.4 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - self.CD *= 0.92 - - elif x == 1: - self.倍率 *= 1.31 - self.CD *= 0.92 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能11(主动技能): - 名称 = '强袭流星打' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data = [int(x*1.179) for x in[0, 10504, 11592, 12681, 13760, 14846, 15937, 17025, 18112, 19197, 20289, 21372, 22450, 23544, 24629, 25720, 26800, 27883, 28975, 30061, 31144, 32236, 33317, 34411, 35491, 36577, 37670, 38754, 39835, 40926, 42008, 43101, 44188, 45267, 46360, 47443, 48536, 49616, 50702, 51796, 52877, 53955, 55048, 56133, 57227, 58306, 59393, 60486, 61568, 62653, 63741, 64824, 65916, 67000, 68085, 69176, 70262, 71344, 72432, 73520, 74612, 75696, 76773, 77863, 78954, 80040, 81122, 82210, 83299, 84386, 85470]] - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 0.5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.05*1.13 - elif x == 1: - self.倍率 *= 1.05*1.22 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(主动技能): - 名称 = '煌龙偃月' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(x*1.179) for x in[0, 4188, 4619, 5058, 5487, 5921, 6353, 6787, 7217, 7656, 8087, 8520, 8954, 9384, 9819, 10255, 10687, 11122, 11551, 11984, 12418, 12853, 13284, 13720, 14151, 14583, 15020, 15451, 15884, 16320, 16752, 17179, 17620, 18050, 18482, 18917, 19348, 19779, 20219, 20650, 21082, 21515, 21948, 22378, 22815, 23249, 23684, 24115, 24546, 24983, 25413, 25847, 26283, 26715, 27145, 27583, 28014, 28445, 28880, 29310, 29743, 30182, 30612, 31044, 31478, 31912, 32341, 32783, 33213, 33641, 34077]] - 攻击次数 = 1.0 - data1 = [int(x*1.179) for x in[0, 1397, 1540, 1688, 1833, 1976, 2117, 2262, 2405, 2552, 2697, 2840, 2984, 3128, 3274, 3417, 3563, 3708, 3851, 3996, 4143, 4287, 4430, 4574, 4717, 4859, 5008, 5152, 5295, 5438, 5585, 5729, 5874, 6018, 6161, 6306, 6450, 6594, 6739, 6885, 7028, 7171, 7316, 7459, 7605, 7750, 7893, 8038, 8181, 8329, 8476, 8617, 8761, 8905, 9049, 9195, 9339, 9483, 9626, 9770, 9915, 10061, 10205, 10349, 10493, 10638, 10780, 10929, 11072, 11217, 11359]] - 攻击次数2 = 7.0 - data2 = [int(x*1.179) for x in[0, 5990, 6605, 7228, 7848, 8464, 9087, 9707, 10321, 10945, 11564, 12180, 12806, 13423, 14036, 14660, 15281, 15900, 16518, 17138, 17757, 18376, 18994, 19618, 20237, 20852, 21477, 22093, 22709, 23335, 23953, 24568, 25193, 25811, 26425, 27049, 27667, 28284, 28912, 29527, 30145, 30771, 31384, 32002, 32626, 33243, 33867, 34483, 35100, 35725, 36342, 36959, 37586, 38201, 38820, 39443, 40059, 40678, 41301, 41918, 42536, 43155, 43774, 44395, 45012, 45633, 46251, 46871, 47488, 48108, 48732]] - 攻击次数3 = 1.0 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 += 3 - self.data2 = [int(i*1.1) for i in self.data2] - elif x == 1: - self.攻击次数2 += 3 - self.data2 = [int(i*1.36) for i in self.data2] - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(主动技能): - 名称 = '煌龙乱舞' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(x*1.179) for x in[0, 1423, 1568, 1712, 1857, 2001, 2146, 2290, 2435, 2579, 2723, 2868, 3012, 3157, 3300, 3446, 3590, 3734, 3879, 4024, 4168, 4312, 4457, 4601, 4746, 4889, 5035, 5179, 5324, 5468, 5613, 5756, 5902, 6046, 6189, 6335, 6479, 6623, 6768, 6913, 7057, 7202, 7345, 7491, 7635, 7778, 7924, 8068, 8212, 8357, 8502, 8645, 8791, 8935, 9079, 9224, 9369, 9512, 9657, 9801, 9946, 10091, 10234, 10380, 10524, 10668, 10813, 10958, 11101, 11246, 11391]] - 攻击次数 = 5.0 - data1 = [int(x*1.179) for x in[0, 10679, 11762, 12844, 13928, 15012, 16096, 17179, 18263, 19346, 20428, 21512, 22595, 23680, 24763, 25847, 26929, 28012, 29096, 30179, 31263, 32347, 33431, 34513, 35597, 36680, 37763, 38847, 39929, 41013, 42097, 43181, 44264, 45346, 46430, 47513, 48597, 49680, 50765, 51848, 52931, 54014, 55097, 56181, 57264, 58347, 59431, 60515, 61598, 62681, 63765, 64847, 65931, 67014, 68098, 69182, 70266, 71348, 72431, 73515, 74598, 75682, 76764, 77850, 78932, 80015, 81099, 82182, 83266, 84348, 85432]] - 攻击次数2 = 1.0 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1 - self.data0 = [int(i*1.14) for i in self.data0] - self.data1 = [int(i*1.18) for i in self.data1] - elif x == 1: - self.攻击次数 += 1 - self.data0 = [int(i*1.14) for i in self.data0] - self.data1 = [int(i*1.29) for i in self.data1] - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(被动技能): - 名称 = '斗神意志' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05+0.02*self.等级, 3) - - -class 技能15(主动技能): - 名称 = '星纹陨爆' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data = [int(x*1.179) for x in[0, 55403, 68248, 81095, 93942, 106790, 119637, 132483, 145331, 158177, 171024, 183872, 196718, 209565, 222412, 235259, 248105, 260952, 273800, 286647, 299493, 312341, 325187, 338034, 350880, 363728, 376575, 389422, 402270, 415115, 427962, 440810, 453657, 466504, 479350, 492197, 505044, 517891, 530739, 543585, 556432, 569280, 582126, 594972, 607819, 620667, 633514, 646361, 659208, 672054, 684901, 697749, 710595, 723442, 736289, 749136, 761982, 774829, 787677, 800524, 813371, 826217, 839064, 851911, 864758, 877606, 890452, 903299, 916147, 928993, 941839]] - CD = 145.0 - 演出时间 = 2 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * self.倍率 - - -class 技能16(主动技能): - 名称 = '变身贝亚娜' - 备注 = '(一轮)' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - data0 = [int(x*1.0) for x in[0, 385, 475, 565, 655, 745, 834, 925, 1015, 1107, 1196, 1286, 1377, 1466, 1558, 1646, 1736, 1827, 1916, 2006, 2098, 2187, 2278, 2368, 2457, 2549, 2638, 2727, 2818, 2908, 2999, 3089, 3179, 3269, 3359, 3451, 3539, 3629, 3720, 3809, 3900, 3991, 4080, 4171, 4261, 4351, 4442, 4530, 4620, 4711, 4800, 4892, 4982, 5071, 5162, 5253, 5344, 5432, 5522, 5612, 5702, 5793, 5883, 5973, 6064, 6153, 6244, 6335, 6423, 6513, 6604]] - 攻击次数 = 2.0 - data1 = [int(x*1.0) for x in[0, 770, 949, 1130, 1309, 1491, 1670, 1850, 2031, 2211, 2391, 2572, 2751, 2932, 3113, 3292, 3472, 3652, 3834, 4013, 4192, 4374, 4554, 4734, 4913, 5094, 5275, 5456, 5634, 5815, 5995, 6177, 6355, 6535, 6717, 6897, 7077, 7256, 7437, 7618, 7799, 7977, 8158, 8338, 8520, 8698, 8878, 9060, 9240, 9419, 9599, 9780, 9961, 10140, 10320, 10501, 10681, 10861, 11041, 11221, 11403, 11582, 11762, 11942, 12123, 12302, 12483, 12663, 12844, 13023, 13204]] - 攻击次数2 = 1.0 - # 基本攻击第三段 - data2 = [int(x*1.0) for x in[0, 961, 1187, 1411, 1638, 1862, 2088, 2312, 2540, 2764, 2989, 3214, 3440, 3665, 3890, 4116, 4342, 4567, 4792, 5016, 5243, 5467, 5694, 5918, 6145, 6369, 6595, 6819, 7047, 7271, 7495, 7722, 7946, 8172, 8396, 8624, 8848, 9074, 9298, 9525, 9749, 9974, 10199, 10426, 10651, 10876, 11101, 11327, 11552, 11777, 12001, 12229, 12453, 12679, 12903, 13130, 13354, 13581, 13805, 14032, 14256, 14480, 14706, 14931, 15158, 15382, 15608, 15833, 16059, 16283, 16508]] - 攻击次数3 = 1.0 - CD = 1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2+self.data2[self.等级] * self.攻击次数3) * self.倍率 - - -class 技能17(主动技能): - 名称 = '变身贝亚娜苍天击' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - data = [int(x*1.179) for x in[0, 1446, 1785, 2123, 2461, 2799, 3138, 3474, 3816, 4156, 4492, 4829, 5169, 5507, 5845, 6186, 6525, 6862, 7202, 7540, 7878, 8217, 8557, 8895, 9233, 9572, 9909, 10248, 10589, 10926, 11266, 11604, 11942, 12280, 12620, 12959, 13295, 13637, 13975, 14312, 14650, 14990, 15328, 15666, 16006, 16343, 16684, 17023, 17360, 17699, 18037, 18375, 18714, 19054, 19394, 19731, 20070, 20408, 20746, 21087, 21425, 21763, 22101, 22441, 22777, 23116, 23458, 23793, 24133, 24471, 24810]] - CD = 1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * self.倍率 - - -class 技能18(主动技能): - 名称 = '变身贝亚娜天地碎霸' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - data0 = [int(x*1.179) for x in[0, 693, 856, 1018, 1181, 1344, 1656, 1834, 2014, 2192, 2371, 2552, 2729, 2910, 3088, 3266, 3445, 3625, 3802, 3982, 4159, 4340, 4518, 4696, 4877, 5056, 5234, 5413, 5591, 5771, 5950, 6126, 6306, 6485, 6663, 6842, 7020, 7198, 7380, 7559, 7737, 7917, 8094, 8274, 8452, 8630, 8810, 8989, 9167, 9346, 9524, 9705, 9884, 10061, 10242, 10420, 10599, 10776, 10957, 11134, 11313, 11490, 11671, 11849, 12030, 12208, 12387, 12566, 12744, 12923, 13102]] - 攻击次数 = 1.0 - data1 = [int(x*1.179) for x in[0, 3052, 3768, 4480, 5196, 5910, 7289, 8076, 8861, 9652, 10438, 11221, 12009, 12795, 13581, 14367, 15153, 15943, 16728, 17514, 18302, 19087, 19872, 20660, 21447, 22236, 23021, 23807, 24596, 25381, 26166, 26954, 27740, 28525, 29314, 30101, 30887, 31673, 32457, 33248, 34032, 34818, 35607, 36392, 37179, 37964, 38752, 39539, 40324, 41110, 41898, 42684, 43473, 44259, 45045, 45831, 46617, 47405, 48192, 48978, 49763, 50551, 51336, 52124, 52911, 53696, 54485, 55267, 56056, 56844, 57629]] - 攻击次数2 = 1.0 - CD = 7 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能19(主动技能): - 名称 = '闪击碎霸' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data = [int(x*1.179) for x in[0, 16576, 18257, 19937, 21619, 23303, 24987, 26665, 28348, 30029, 31711, 33390, 35074, 36756, 38438, 40117, 41801, 43485, 45165, 46846, 48528, 50210, 51892, 53569, 55254, 56938, 58614, 60296, 61982, 63663, 65341, 67023, 68707, 70388, 72067, 73749, 75435, 77115, 78794, 80478, 82162, 83842, 85523, 87204, 88886, 90570, 92247, 93931, 95614, 97291, 98974, 100659, 102341, 104021, 105699, 107381, 109068, 110743, 112427, 114109, 115794, 117471, 119156, 120835, 122520, 124201, 125880, 127564, 129247, 130925, 132605]] - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 0.9 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - self.CD *= 0.90 - - elif x == 1: - self.倍率 *= 1.24 - self.CD *= 0.90 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能20(主动技能): - 名称 = '流星雷连击' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data = [int(x*1.179) for x in[0, 27346, 30117, 32890, 35661, 38437, 41207, 43980, 46752, 49524, 52296, 55071, 57842, 60615, 63386, 66160, 68932, 71705, 74477, 77251, 80022, 82796, 85565, 88339, 91113, 93883, 96656, 99427, 102200, 104974, 107746, 110519, 113292, 116062, 118836, 121607, 124380, 127154, 129927, 132699, 135472, 138242, 141018, 143785, 146560, 149333, 152105, 154877, 157648, 160422, 163195, 165967, 168739, 171513, 174284, 177057, 179827, 182603, 185375, 188146, 190918, 193692, 196463, 199238, 202007, 204781, 207553, 210325, 213098, 215872, 218644]] - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.10 - elif x == 1: - self.倍率 *= 1.19 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能21(被动技能): - 名称 = '战灵潜能' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22+0.02*self.等级, 3) - - -class 技能22(主动技能): - 名称 = '炫纹簇' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(x*1.179) for x in[0, 5820, 6410, 7000, 7592, 8182, 8773, 9363, 9953, 10544, 11135, 11725, 12315, 12904, 13495, 14085, 14676, 15267, 15857, 16448, 17038, 17628, 18220, 18810, 19401, 19991, 20581, 21172, 21763, 22353, 22943, 23533, 24124, 24714, 25306, 25896, 26486, 27077, 27667, 28258, 28848, 29440, 30030, 30619, 31209, 31800, 32390, 32981, 33571, 34161, 34752, 35342, 35933, 36524, 37114, 37705, 38295, 38886, 39476, 40068, 40658, 41248, 41839, 42429, 43019, 43611, 44200, 44791, 45381, 45971, 46562]] - 攻击次数 = 7.0 - CD = 45 - 演出时间 = 1.3 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] *self.攻击次数* self.倍率 - - def 装备护石(self, x): - self.攻击次数 -=6 - self.倍率 *= 1+6.95+1.25 - - -class 技能23(主动技能): - 名称 = '使徒之舞' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(x*1.179) for x in[0, 1710, 1882, 2056, 2230, 2405, 2578, 2752, 2924, 3097, 3270, 3446, 3617, 3791, 3964, 4140, 4313, 4486, 4659, 4832, 5006, 5180, 5355, 5527, 5698, 5872, 6046, 6223, 6394, 6567, 6741, 6914, 7089, 7263, 7435, 7608, 7781, 7957, 8130, 8301, 8474, 8648, 8822, 8997, 9171, 9344, 9516, 9690, 9865, 10039, 10211, 10383, 10558, 10731, 10903, 11077, 11251, 11424, 11597, 11774, 11946, 12119, 12292, 12466, 12641, 12814, 12985, 13161, 13332, 13506, 13679]] - 攻击次数 = 3.0 - data1 = [int(x*1.179) for x in[0, 3421, 3767, 4115, 4461, 4807, 5155, 5501, 5848, 6196, 6544, 6889, 7237, 7582, 7929, 8276, 8624, 8971, 9319, 9667, 10013, 10358, 10705, 11053, 11400, 11748, 12094, 12441, 12786, 13134, 13483, 13828, 14175, 14524, 14871, 15216, 15565, 15909, 16257, 16605, 16952, 17300, 17646, 17991, 18338, 18687, 19033, 19381, 19727, 20076, 20422, 20768, 21114, 21462, 21808, 22157, 22502, 22852, 23198, 23543, 23891, 24238, 24586, 24931, 25279, 25625, 25973, 26318, 26666, 27014, 27361]] - 攻击次数2 = 1.0 - data2 = [int(x*1.179) for x in[0, 34210, 37676, 41141, 44605, 48070, 51551, 55016, 58480, 61962, 65442, 68893, 72373, 75821, 79303, 82766, 86248, 89714, 93193, 96658, 100124, 103589, 107053, 110534, 113999, 117480, 120946, 124409, 127875, 131339, 134821, 138284, 141751, 145231, 148712, 152161, 155641, 159090, 162572, 166052, 169516, 172982, 176462, 179912, 183393, 186873, 190323, 193819, 197269, 200748, 204214, 207679, 211145, 214625, 218072, 221570, 225020, 228500, 231982, 235430, 238910, 242375, 245858, 249320, 252785, 256251, 259732, 263181, 266662, 270143, 273607]] - 攻击次数3 = 1.0 - CD = 40 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.36801 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * self.倍率 - - -class 技能24(主动技能): - 名称 = '一骑当千碎霸' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(x*1.179) for x in[0, 55000, 67751, 80505, 93260, 106011, 118763, 131519, 144272, 157027, 169780, 182535, 195287, 208041, 220790, 233544, 246297, 259052, 271806, 284561, 297315, 310066, 322820, 335574, 348328, 361081, 373833, 386586, 399339, 412092, 424848, 437600, 450355, 463107, 475860, 488614, 501368, 514122, 526875, 539625, 552378, 565133, 577889, 590641, 603395, 616148, 628902, 641657, 654408, 667160, 679914, 692666, 705419, 718175, 730928, 743683, 756437, 769187, 781940, 794695, 807448, 820201, 832954, 845708, 858461, 871217, 883968, 896722, 909476, 922230, 934983]] - 攻击次数 = 1.0 - data1 = [int(x*1.179) for x in[0, 36666, 45169, 53671, 62174, 70677, 79178, 87677, 96181, 104683, 113186, 121688, 130188, 138693, 147195, 155696, 164200, 172702, 181207, 189707, 198208, 206711, 215213, 223716, 232219, 240718, 249223, 257725, 266228, 274729, 283230, 291734, 300235, 308740, 317239, 325741, 334246, 342746, 351249, 359753, 368254, 376758, 385258, 393761, 402264, 410766, 419267, 427769, 436270, 444774, 453275, 461780, 470281, 478783, 487287, 495788, 504293, 512793, 521296, 529800, 538298, 546800, 555302, 563806, 572308, 580810, 589311, 597814, 606317, 614819, 623323]] - 攻击次数2 = 1.0 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能25(主动技能): - 名称 = '炫纹之源:太古神光' - 所在等级 = 95 - 等级上限 = 60 - 基础等级 = 6 - data0 = [int(x*1.179) for x in[0, 100911, 111148, 121385, 131623, 141860, 152097, 162335, 172572, 182809, 193047, 203284, 213522, 223759, 233996, 244234, 254471, 264708, 274946, 285183, 295420, 305658, 315895, 326132, 336370, 346607, 356845, 367082, 377319, 387557, 397794, 408031, 418269, 428506, 438743, 448981, 459218, 469455, 479693, 489930, 500168, 510405, 520642, 530880, 541117, 551354, 561592, 571829, 582066, 592304, 602541, 612778, 623016, 633253, 643491, 653728, 663965, 674203, 684440, 694677, 704915, 715152, 725389, 735627, 745864, 756101, 766339, 776576, 786814, 797051, 807288]] - # 额外计算10次炫纹 - 炫纹倍率 = 0 - 炫纹次数 = 10 - CD = 58 - - def 等效百分比(self, 武器类型): - return int(self.攻击次数 * self.data0[self.等级]* self.倍率 + self.炫纹倍率 * self.炫纹次数) - - -class 技能26(被动技能): - 名称 = '太古之力' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18+0.02*self.等级, 3) - - -class 技能27(主动技能): - 名称 = '太古星河·殒灭' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(x*1.179) for x in[0, 12582, 15499, 18417, 21334, 24253, 27170, 30087, 33005, 35922, 38840, 41757, 44676, 47593, 50511, 53428, 56345, 59263, 62181, 65099, 68016, 70934, 73851, 76769, 79687, 82604, 85522, 88439, 91357, 94274, 97193, 100110, 103028, 105945, 108862, 111780, 114698, 117616, 120533, 123451, 126368, 129286, 132203, 135121, 138039, 140956, 143874, 146791, 149709, 152627, 155545, 158462, 161379, 164297, 167214, 170133, 173050, 175968, 178885, 181803, 184720, 187638, 190556, 193473, 196391, 199308, 202226, 205144, 208062, 210979, 213896]] - 攻击次数 = 4 - data1 = [int(x*1.179) for x in[0, 10066, 12399, 14733, 17067, 19401, 21736, 24070, 26404, 28738, 31072, 33406, 35740, 38075, 40409, 42743, 45076, 47410, 49744, 52079, 54413, 56747, 59081, 61415, 63749, 66083, 68418, 70752, 73086, 75420, 77753, 80087, 82422, 84756, 87090, 89424, 91758, 94092, 96426, 98761, 101095, 103429, 105763, 108097, 110430, 112765, 115099, 117433, 119767, 122101, 124435, 126769, 129104, 131438, 133772, 136106, 138440, 140774, 143108, 145442, 147776, 150110, 152444, 154778, 157112, 159447, 161781, 164115, 166449, 168783, 171117]] - 攻击次数2 = 5 - data2 = [int(x*1.179) for x in[0, 50329, 61998, 73669, 85339, 97010, 108681, 120350, 132021, 143692, 155362, 167032, 178703, 190373, 202044, 213714, 225384, 237055, 248725, 260396, 272066, 283736, 295407, 307078, 318747, 330418, 342089, 353759, 365430, 377100, 388770, 400441, 412112, 423781, 435452, 447122, 458793, 470464, 482133, 493804, 505475, 517145, 528815, 540486, 552156, 563827, 575498, 587167, 598838, 610508, 622179, 633849, 645519, 657190, 668861, 680530, 692201, 703872, 715542, 727213, 738883, 750553, 762224, 773894, 785564, 797235, 808905, 820576, 832247, 843916, 855587]] - 攻击次数3 = 1 - data3 = [int(x*1.179) for x in[0, 33552, 41332, 49113, 56893, 64673, 72453, 80234, 88014, 95794, 103574, 111355, 119135, 126916, 134695, 142476, 150256, 158037, 165816, 173597, 181377, 189158, 196937, 204718, 212498, 220279, 228059, 235839, 243620, 251400, 259180, 266960, 274741, 282521, 290302, 298081, 305862, 313642, 321423, 329202, 336983, 344763, 352544, 360323, 368104, 375884, 383665, 391444, 399225, 407005, 414786, 422565, 430346, 438126, 445907, 453687, 461467, 469248, 477028, 484809, 492588, 500369, 508149, 515930, 523709, 531490, 539270, 547051, 554830, 562611, 570391]] - 攻击次数4 = 1 - data4 = [int(x*1.179) for x in[0, 10066, 12399, 14733, 17067, 19401, 21736, 24070, 26404, 28738, 31072, 33406, 35740, 38075, 40409, 42743, 45076, 47410, 49744, 52079, 54413, 56747, 59081, 61415, 63749, 66083, 68418, 70752, 73086, 75420, 77753, 80087, 82422, 84756, 87090, 89424, 91758, 94092, 96426, 98761, 101095, 103429, 105763, 108097, 110430, 112765, 115099, 117433, 119767, 122101, 124435, 126769, 129104, 131438, 133772, 136106, 138440, 140774, 143108, 145442, 147776, 150110, 152444, 154778, 157112, 159447, 161781, 164115, 166449, 168783, 171117]] - 攻击次数5 = 15 - # 基础 = 9665*4 + 7733*5 + 38660 + 25772 + 7733*15 - # 成长 = 2917*4 + 2333*5 + 11669 + 7780 + 2333*15 - CD = 290 - 演出时间 = 5 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return int((self.攻击次数 * self.data0[self.等级] - +self.攻击次数2 * self.data1[self.等级] - +self.攻击次数3 * self.data2[self.等级] - +self.攻击次数4 * self.data3[self.等级] - +self.攻击次数5 * self.data4[self.等级] - )* self.倍率) - - -class 技能28(主动技能): - 名称 = '基本攻击' - 备注 = '(一轮,TP为基础精通)' - 所在等级 = 1 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 225.2*2.662/1.115*1.1 - 基础2 = 1.16 * 225.2*2.662/1.115*1.1 - 基础3 = 1.8 * 225.2*2.662/1.115*1.1 - CD = 1 - TP成长 = 0.10 - TP上限 = 3 - - -class 技能29(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['基本攻击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·战斗法师一觉序号 = 15 -知源·战斗法师二觉序号 = 0 -知源·战斗法师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 85: - 知源·战斗法师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·战斗法师三觉序号 = 技能序号[i.名称] - -知源·战斗法师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·战斗法师护石选项.append(i.名称) - -知源·战斗法师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·战斗法师符文选项.append(i.名称) - - -class 知源·战斗法师角色属性(角色属性): - - 实际名称 = '知源·战斗法师' - 角色 = '魔法师(女)' - 职业 = '战斗法师' - - 武器选项 = ['矛', '棍棒'] - - 类型选择 = ['物理百分比', '魔法百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量', '智力'] - - 主BUFF = 1.790 - - 远古记忆 = 0 - - 碎霸触发概率 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.武器类型 == '矛': - self.技能栏[self.技能序号['棍棒精通']].关联技能 = ['无'] - elif self.武器类型 == '棍棒': - self.技能栏[self.技能序号['矛精通']].关联技能 = ['无'] - for i in [16, 17, 18]: - self.技能栏[i].等级 = self.技能栏[15].等级 - if self.装备栏[11] == '歼灵灭魂矛': - self.技能栏[self.技能序号['碎霸']].触发概率 = self.碎霸触发概率 - super().被动倍率计算() - self.技能栏[self.技能序号['炫纹之源:太古神光'] - ].炫纹倍率 = self.技能栏[self.技能序号['炫纹发射']].等效百分比(self.武器类型) - - def 站街力量(self): - return int(max(self.力量, self.智力)) - - def 站街智力(self): - return self.站街力量() - - def 面板力量(self): - return max(super().面板力量(), super().面板智力()) - - def 面板智力(self): - return self.面板力量() - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - if i.是否有伤害 == 1: - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - 技能释放次数.append(int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型) + 1 + i.基础释放次数)) - elif self.次数输入[self.技能序号[i.名称]] != '0': - 技能释放次数.append(round(float(self.次数输入[self.技能序号[i.名称]]), 2)) - else: - 技能释放次数.append(0) - else: - 技能释放次数.append(0) - - if '闪击碎霸' in [self.护石第一栏, self.护石第二栏, self.护石第三栏]: - 技能释放次数[self.技能序号['碎霸']] += 技能释放次数[self.技能序号['闪击碎霸']] - - return self.技能释放次数解析(技能释放次数) - - def 武器基础(self): - temp = equ.get_equ_by_name(self.装备栏[11]) - - self.力量 += temp.力量 - self.智力 += temp.智力 - self.物理攻击力 += temp.物理攻击力 - self.魔法攻击力 += temp.物理攻击力 - self.独立攻击力 += temp.独立攻击力 - - if temp.所属套装 != '智慧产物': - self.物理攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '物理') - self.魔法攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '物理') - self.独立攻击力 += 锻造计算(temp.等级, temp.品质, self.武器锻造等级) - - -class 知源·战斗法师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·战斗法师角色属性() - self.角色属性A = 知源·战斗法师角色属性() - self.角色属性B = 知源·战斗法师角色属性() - self.一觉序号 = 知源·战斗法师一觉序号 - self.二觉序号 = 知源·战斗法师二觉序号 - self.三觉序号 = 知源·战斗法师三觉序号 - self.护石选项 = deepcopy(知源·战斗法师护石选项) - self.符文选项 = deepcopy(知源·战斗法师符文选项) - - def 界面(self): - super().界面() - self.碎霸概率 = MyQComboBox(self.main_frame2) - self.碎霸概率.resize(130, 20) - self.碎霸概率.move(320, 450) - for i in range(11): - self.碎霸概率.addItem('歼灵灭魂矛:' + str(i * 10) + '%') - self.碎霸概率.setCurrentIndex(1) - - self.职业存档.append(('碎霸概率', self.碎霸概率, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.碎霸触发概率 = round(self.碎霸概率.currentIndex() / 10, 2) diff --git a/Characters/知源·次元行者.py b/Characters/知源·次元行者.py deleted file mode 100644 index e09101f0..00000000 --- a/Characters/知源·次元行者.py +++ /dev/null @@ -1,929 +0,0 @@ -from PublicReference.carry.base import * - -等级 = 100 + 5 - - -class 职业主动技能(主动技能): - 攻击次数1 = 1 - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - 总倍率 = 1 - if not self.data1 == []: - 总倍率 += self.攻击次数1 * self.data1[self.等级] - if not self.data2 == []: - 总倍率 += self.攻击次数2 * self.data2[self.等级] - if not self.data3 == []: - 总倍率 += self.攻击次数3 * self.data3[self.等级] - 总倍率 *= (1 + self.TP成长 * self.TP等级) * self.倍率 - return 总倍率 - - -class 技能0(被动技能): - 名称 = '次元扭曲装置' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1.05 + 0.01 * self.等级, 5) - else: - return round(1.15 + 0.02 * (self.等级-10), 5) - - -class 技能1(被动技能): - 名称 = '乖离虚无' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['次元虚影', '次元跃迁', '次元离子束', '次元坠落', '次元万花镜', '次元粒子风暴', '次元时空磁场', '次元粒子波', - '次元思维聚爆', '次元奇点', '禁断之盛宴', '未明·次元崩坏'] # 次元系技能 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1. + 0.015 * self.等级, 5) - - -class 技能2(被动技能): - 名称 = '虚空之力' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '混沌源能石' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.17 + 0.02 * self.等级, 5) - - -class 技能4(职业主动技能): - 名称 = '次元坠落' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 1 - # 基础伤害 - 攻击次数1 = 1 - - data1 = [int(i*1.198) for i in [0, 444, 489, 534, 579, 624, 669, 714, 759, 804, 849, 894, 939, 984, 1029, 1074, 1119, 1165, 1210, 1255, 1300, 1345, 1390, 1435, 1480, 1525, 1570, 1615, 1660, 1705, 1750, 1795, 1840, 1885, 1930, 1976, 2021, 2066, 2111, 2156, 2201, 2246, 2291, 2336, 2381, 2426, 2471, 2516, 2561, 2606, 2651, 2696, 2741, 2787, 2832, 2877, 2922, 2967, 3012, 3057, 3102, 3147, 3192, 3237, 3282, 3327, 3372, 3417, 3462, 3507, 3552]] - data2 = [int(i*1.198) for i in [0, 1508, 1661, 1814, 1967, 2120, 2273, 2426, 2579, 2732, 2885, 3038, 3191, 3344, 3497, 3650, 3803, 3956, 4109, 4262, 4415, 4568, 4722, 4875, 5028, 5181, 5334, 5487, 5640, 5793, 5946, 6099, 6252, 6405, 6558, 6711, 6864, 7017, 7170, 7323, 7476, 7629, 7782, 7935, 8088, 8241, 8394, 8547, 8700, 8853, 9006, 9159, 9312, 9465, 9618, 9771, 9924, 10078, 10231, 10384, 10537, 10690, 10843, 10996, 11149, 11302, 11455, 11608, 11761, 11914, 12067]] - #基础 = 1549.886 - #成长 = 175.090 - - 攻击次数2 = 1 - # 30%概率触发箱子,额外伤害 - 攻击次数3 = 1 - data3 = [int(i*1.198) for i in [0, 1901, 2093, 2286, 2479, 2672, 2865, 3058, 3251, 3443, 3636, 3829, 4022, 4215, 4408, 4601, 4793, 4986, 5179, 5372, 5565, 5758, 5951, 6143, 6336, 6529, 6722, 6915, 7108, 7301, 7493, 7686, 7879, 8072, 8265, 8458, 8651, 8843, 9036, 9229, 9422, 9615, 9808, 10001, 10193, 10386, 10579, 10772, 10965, 11158, 11351, 11543, 11736, 11929, 12122, 12315, 12508, 12701, 12893, 13086, 13279, 13472, 13665, 13858, 14051, 14243, 14436, 14629, 14822, 15015, 15208]] - #基础2 = 1509.534 - #成长2 = 170.466 - TP成长 = 0.08 - TP上限 = 5 - CD = 4. - - -class 技能5(职业主动技能): - 名称 = '次元跃迁' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - data1 = [int(i*1.198) for i in [0, 5540, 6423, 7306, 8189, 9072, 9956, 10839, 11722, 12605, 13488, 14371, 15255, 16138, 17021, 17904, 18787, 19671, 20554, 21437, 22320, 23203, 24087, 24970, 25853, 26736, 27619, 28503, 29386, 30269, 31152]] - #基础 = 4154.954 - #成长 = 788.050 - 攻击次数1 = 1 - CD = 15.0 - CDdata = [15.0, 15.0, 14.8, 14.7, 14.5, 14.4, 14.2, 14.0, 13.9, 13.8, 13.6, 13.4, 13.3, 13.1, 13.0, - 12.8, 12.7, 12.5, 12.4, 12.2, 12.0, 11.9, 11.7, 11.6, 11.4, 11.3, 11.1, 11.0, 10.8, 10.7, 10.5] - - def 等效CD(self, 武器类型, 输出类型): - if self.等级 <= 30: - return round(self.CDdata[self.等级] / self.恢复, 1) - else: - return round(10.5 / self.恢复, 1) - - -class 技能6(职业主动技能): - 名称 = '次元虚影' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 1 - data1 = [int(i*1.197) for i in [0, 2959, 3259, 3559, 3859, 4160, 4460, 4760, 5060, 5360, 5661, 5961, 6261, 6561, 6861, 7162, 7462, 7762, 8062, 8362, 8663, 8963, 9263, 9563, 9864, 10164, 10464, 10764, 11064, 11365, 11665, 11965, 12265, 12565, 12866, 13166, 13466, 13766, 14066, 14367, 14667, 14967, 15267, 15567, 15868, 16168, 16468, 16768, 17069, 17369, 17669, 17969, 18269, 18570, 18870, 19170, 19470, 19770, 20071, 20371, 20671, 20971, 21271, 21572, 21872, 22172, 22472, 22773, 23073, 23373, 23673]] - #基础 = 2371.133 - #成长 = 267.834 - 攻击次数1 = 1 - TP成长 = 0.10 - TP上限 = 5 - CD = 5.0 - - -class 技能7(职业主动技能): - 名称 = '乖离禁忌之奈雅丽' - 备注 = '(近战普攻)' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 5 - data1 = [int(i*1.197) for i in [0, 910, 1002, 1093, 1186, 1279, 1370, 1463, 1555, 1647, 1740, 1832, 1925, 2017, 2108, 2201, 2294, 2385, 2478, 2570, 2662, 2755, 2847, 2940, 3032, 3123, 3216, 3309, 3400, 3493, 3585, 3677, 3770, 3862, 3955, 4047, 4138, 4231, 4324, 4415, 4508, 4600, 4692, 4785, 4877, 4970, 5062, 5153, 5246, 5337, 5430, 5523, 5615, 5707, 5800, 5892, 5985, 6077, 6168, 6261, 6352, 6445, 6538, 6630, 6722, 6815, 6907, 7000, 7091, 7183, 7276]] - #基础 = 729.662 - #成长 = 82.356 - 攻击次数1 = 1 - CD = 60. - TP成长 = 0.10 - TP上限 = 5 - 关联技能 = ["所有"] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '独立攻击力增加{:.1%}'.format(self.独立攻击力倍率进图(武器类型)-1) - - def 独立攻击力倍率进图(self, 武器类型): - return 1.10 - - def 加成倍率(self, 武器类型): - return 1.10 - - -class 技能8(职业主动技能): - 名称 = '次元离子束' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 不强化 - data1 = [int(i*1.198) for i in [0, 659, 726, 793, 859, 926, 993, 1060, 1127, 1194, 1261, 1328, 1394, 1461, 1528, 1595, 1662, 1729, 1796, 1863, 1929, 1996, 2063, 2130, 2197, 2264, 2331, 2398, 2465, 2531, 2598, 2665, 2732, 2799, 2866, 2933, 3000, 3066, 3133, 3200, 3267, 3334, 3401, 3468, 3535, 3601, 3668, 3735, 3802, 3869, 3936, 4003, 4070, 4137, 4203, 4270, 4337, 4404, 4471, 4538, 4605, 4672, 4738, 4805, 4872, 4939, 5006, 5073, 5140, 5207, 5274]] - #基础 = 3169.986 - #成长 = 357.901 - 攻击次数1 = 6 - # 强化 - data2 = [int(i*1.198) for i in [0, 5121, 5641, 6160, 6680, 7199, 7719, 8239, 8758, 9278, 9797, 10317, 10836, 11356, 11876, 12395, 12915, 13434, 13954, 14474, 14993, 15513, 16032, 16552, 17071, 17591, 18111, 18630, 19150, 19669, 20189, 20709, 21228, 21748, 22267, 22787, 23306, 23826, 24346, 24865, 25385, 25904, 26424, 26944, 27463, 27983, 28502, 29022, 29541, 30061, 30581, 31100, 31620, 32139, 32659, 33178, 33698, 34218, 34737, 35257, 35776, 36296, 36816, 37335, 37855, 38374, 38894, 39413, 39933, 40453, 40972]] - #基础2 = 4105.465 - #成长2 = 463.549 - 攻击次数2 = 1 - TP成长 = 0.10 - TP上限 = 5 - CD = 7. - - -class 技能9(职业主动技能): - 名称 = '次元万花镜' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 不强化 - data1 = [int(i*1.198) for i in [0, 2017, 2222, 2427, 2631, 2836, 3041, 3245, 3450, 3655, 3859, 4064, 4269, 4473, 4678, 4883, 5087, 5292, 5497, 5702, 5906, 6111, 6316, 6520, 6725, 6930, 7134, 7339, 7544, 7748, 7953, 8158, 8362, 8567, 8772, 8977, 9181, 9386, 9591, 9795, 10000, 10205, 10409, 10614, 10819, 11023, 11228, 11433, 11638, 11842, 12047, 12252, 12456, 12661, 12866, 13070, 13275, 13480, 13684, 13889, 14094, 14298, 14503, 14708, 14913, 15117, 15322, 15527, 15731, 15936, 16141]] - #基础 = 1616.371 - #成长 = 182.596 - 攻击次数1 = 4 - # 强化 - data2 = [int(i*1.198) for i in [0, 1619, 1784, 1948, 2112, 2277, 2441, 2605, 2770, 2934, 3098, 3263, 3427, 3591, 3756, 3920, 4084, 4249, 4413, 4577, 4742, 4906, 5070, 5235, 5399, 5563, 5728, 5892, 6056, 6221, 6385, 6549, 6714, 6878, 7042, 7207, 7371, 7535, 7700, 7864, 8028, 8193, 8357, 8521, 8686, 8850, 9014, 9178, 9343, 9507, 9671, 9836, 10000, 10164, 10329, 10493, 10657, 10822, 10986, 11150, 11315, 11479, 11643, 11808, 11972, 12136, 12301, 12465, 12629, 12794, 12958]] - #基础2 = 1297.444 - #成长2 = 146.593 - 攻击次数2 = 4 - TP成长 = 0.10 - TP上限 = 5 - CD = 12. - - -class 技能10(职业主动技能): - 名称 = '乖离魅魔之舞' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 不强化 - data1 = [int(i*1.197) for i in [0, 212, 234, 256, 277, 299, 320, 342, 364, 385, 407, 428, 450, 472, 493, 515, 536, 558, 580, 601, 623, 644, 666, 688, 709, 731, 752, 774, 796, 817, 839, 861, 882, 904, 925, 947, 969, 990, 1012, 1033, 1055, 1077, 1098, 1120, 1141, 1163, 1185, 1206, 1228, 1249, 1271, 1293, 1314, 1336, 1357, 1379, 1401, 1422, 1444, 1465, 1487, 1509, 1530, 1552, 1573, 1595, 1617, 1638, 1660, 1681, 1703]] - data2 = [int(i*1.197) for i in [0, 3622, 3989, 4357, 4724, 5092, 5459, 5827, 6194, 6562, 6929, 7297, 7664, 8032, 8399, 8767, 9134, 9502, 9869, 10237, 10604, 10972, 11339, 11707, 12074, 12442, 12809, 13177, 13544, 13912, 14279, 14647, 15014, 15382, 15749, 16117, 16484, 16852, 17219, 17587, 17954, 18322, 18689, 19057, 19424, 19792, 20159, 20527, 20894, 21262, 21629, 21997, 22364, 22732, 23099, 23467, 23834, 24202, 24569, 24937, 25304, 25672, 26039, 26407, 26774, 27142, 27509, 27877, 28244, 28612, 28979]] - #基础 = 5470.737 - #成长 = 617.995 - 攻击次数1 = 15 - 攻击次数2 = 1 - CD = 10. - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '次元粒子风暴' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 不强化 - data1 = [int(i*1.259) for i in [0, 2860, 3150, 3440, 3730, 4020, 4311, 4601, 4891, 5181, 5471, 5762, 6052, 6342, 6632, 6922, 7212, 7503, 7793, 8083, 8373, 8663, 8953, 9244, 9534, 9824, 10114, 10404, 10694, 10985, 11275, 11565, 11855, 12145, 12436, 12726, 13016, 13306, 13596, 13886, 14177, 14467, 14757, 15047, 15337, 15627, 15918, 16208, 16498, 16788, 17078, 17368, 17659, 17949, 18239, 18529, 18819, 19110, 19400, 19690, 19980, 20270, 20560, 20851, 21141, 21431, 21721, 22011, 22301, 22592, 22882]] - #基础 = 2314.648 - #成长 = 261.315 - 攻击次数1 = 3 - # 强化 - data2 = [int(i*1.259) for i in [0, 10953, 12064, 13175, 14286, 15397, 16509, 17620, 18731, 19842, 20953, 22065, 23176, 24287, 25398, 26509, 27620, 28732, 29843, 30954, 32065, 33176, 34288, 35399, 36510, 37621, 38732, 39844, 40955, 42066, 43177, 44288, 45399, 46511, 47622, 48733, 49844, 50955, 52067, 53178, 54289, 55400, 56511, 57623, 58734, 59845, 60956, 62067, 63178, 64290, 65401, 66512, 67623, 68734, 69846, 70957, 72068, 73179, 74290, 75402, 76513, 77624, 78735, 79846, 80957, 82069, 83180, 84291, 85402, 86513, 87625]] - #基础2 = 8863.268 - #成长2 = 1000.770 - 攻击次数2 = 1 - CD = 16. - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - self.攻击次数1 = 0 - self.攻击次数2 = 1 - elif x == 1: - self.倍率 *= 1.31 - self.攻击次数1 = 0 - self.攻击次数2 = 1 - - def 护石描述(self, x): - if x == 0: - temp = "边界之限" - temp += "

" - temp += "[次元 : 粒子风暴]
" - temp += "以次元边界效果发动 (不消耗次元石)
" - temp += "攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "爆炸速度 +50%
" - temp += "冲击波范围 +10%
" - temp += "攻击力 +10%" - elif x == 1: - temp = "边界之限" - temp += "

" - temp += "[次元 : 粒子风暴]
" - temp += "以次元边界效果发动 (不消耗次元石)
" - temp += "攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "爆炸速度 +50%
" - temp += "冲击波范围 +10%
" - temp += "攻击力 +19%" - return temp - - -class 技能12(职业主动技能): - 名称 = '次元时空磁场' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.198) for i in [0, 3857, 4248, 4639, 5031, 5422, 5813, 6205, 6596, 6987, 7379, 7770, 8161, 8553, 8944, 9335, 9727, 10118, 10509, 10901, 11292, 11683, 12075, 12466, 12857, 13249, 13640, 14031, 14423, 14814, 15205, 15597, 15988, 16379, 16771, 17162, 17553, 17945, 18336, 18727, 19118, 19510, 19901, 20292, 20684, 21075, 21466, 21858, 22249, 22640, 23032, 23423, 23814, 24206, 24597, 24988, 25380, 25771, 26162, 26554, 26945, 27336, 27728, 28119, 28510, 28902, 29293, 29684, 30076, 30467, 30858]] - #基础 = 3092.684 - #成长 = 349.684 - 攻击次数1 = 2 - TP成长 = 0.10 - TP上限 = 5 - CD = 15. - - -class 技能13(职业主动技能): - 名称 = '乖离异界蜂群' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 20 + 6 - data1 = [int(i*1.197) for i in [0, 797, 878, 959, 1040, 1121, 1202, 1283, 1364, 1445, 1526, 1607, 1688, 1769, 1849, 1930, 2011, 2092, 2173, 2254, 2335, 2416, 2497, 2578, 2659, 2740, 2821, 2902, 2983, 3064, 3144, 3225, 3306, 3387, 3468, 3549, 3630, 3711, 3792, 3873, 3954, 4035, 4116, 4197, 4278, 4359, 4439, 4520, 4601, 4682, 4763, 4844, 4925, 5006, 5087, 5168, 5249, 5330, 5411, 5492, 5573, 5653, 5734, 5815, 5896, 5977, 6058, 6139, 6220, 6301, 6382]] - data2 = [int(i*1.197) for i in [0, 169, 186, 204, 221, 238, 255, 273, 290, 307, 324, 341, 359, 376, 393, 410, 428, 445, 462, 479, 496, 514, 531, 548, 565, 583, 600, 617, 634, 651, 669, 686, 703, 720, 738, 755, 772, 789, 806, 824, 841, 858, 875, 893, 910, 927, 944, 961, 979, 996, 1013, 1030, 1047, 1065, 1082, 1099, 1116, 1134, 1151, 1168, 1185, 1202, 1220, 1237, 1254, 1271, 1289, 1306, 1323, 1340, 1357]] - #基础 = 13606.954 - #成长 = 1539.337 - 攻击次数1 = 20 - 攻击次数2 = 6 - CD = 25. - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 23 - self.倍率 *= 1.06 - self.CD *= 0.9 - elif x == 1: - self.攻击次数1 = 23 - self.倍率 *= 1.14 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "苦痛引导" - temp += "

" - temp += "[乖离 : 异界蜂群]
" - temp += "虫群数量 +3只
" - temp += "奈雅丽在地图上时, 奈雅丽代替施放者发动技能 (不消耗HP)
" - temp += "
-护石附加效果:
" - temp += "蜂群登场时间 -0.5秒
" - temp += "攻击力 +6%
" - temp += "冷却时间 -10%" - elif x == 1: - temp = "苦痛引导" - temp += "

" - temp += "[乖离 : 异界蜂群]
" - temp += "虫群数量 +3只
" - temp += "奈雅丽在地图上时, 奈雅丽代替施放者发动技能 (不消耗HP)
" - temp += "
-护石附加效果:
" - temp += "蜂群登场时间 -0.5秒
" - temp += "攻击力 +14%
" - temp += "冷却时间 -10%" - return temp - - -class 技能14(职业主动技能): - 名称 = '次元粒子波' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 一类裂隙 - data1 = [int(i*1.198) for i in [0, 1047, 1154, 1259, 1365, 1472, 1577, 1684, 1791, 1895, 2002, 2109, 2214, 2321, 2428, 2534, 2639, 2746, 2853, 2958, 3064, 3171, 3276, 3383, 3490, 3594, 3701, 3808, 3913, 4020, 4127, 4231, 4338, 4445, 4550, 4657, 4763, 4868, 4975, 5082, 5187, 5294, 5400, 5505, 5612, 5719, 5826, 5930, 6037, 6144, 6249, 6356, 6462, 6567, 6674, 6781, 6886, 6993, 7099, 7204, 7311, 7418, 7523, 7629, 7736, 7841, 7948, 8055, 8159, 8266, 8373]] - #基础 = 868.110 - #成长 = 97.900 - 攻击次数1 = 10 - # 二类裂隙 - data2 = [int(i*1.198) for i in [0, 742, 817, 893, 968, 1043, 1119, 1194, 1269, 1345, 1420, 1495, 1571, 1646, 1721, 1796, 1872, 1947, 2022, 2098, 2173, 2248, 2324, 2399, 2474, 2550, 2625, 2700, 2776, 2851, 2926, 3002, 3077, 3152, 3228, 3303, 3378, 3454, 3529, 3604, 3680, 3755, 3830, 3906, 3981, 4056, 4131, 4207, 4282, 4357, 4433, 4508, 4583, 4659, 4734, 4809, 4885, 4960, 5035, 5111, 5186, 5261, 5337, 5412, 5487, 5563, 5638, 5713, 5789, 5864, 5939]] - #基础2 = 622.557 - #成长2 = 70.401 - 攻击次数2 = 20 - CD = 40. - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.11 - self.倍率 *= 1.10 - elif x == 1: - self.倍率 *= 1.10 - self.倍率 *= 1.17 - - def 护石描述(self, x): - if x == 0: - temp = "重力爆炸" - temp += "

" - temp += "[次元 : 粒子波]
" - temp += "施放技能时将敌人聚拢到中心
" - temp += "攻击力 +11%
" - temp += "
-护石附加效果:
" - temp += "吸附范围 +20%
" - temp += "技能中心点设置时空爆雷, 造成[次元 : 粒子波]总攻击力10%的伤害" - elif x == 1: - temp = "重力爆炸" - temp += "

" - temp += "[次元 : 粒子波]
" - temp += "施放技能时将敌人聚拢到中心
" - temp += "攻击力 +17%
" - temp += "
-护石附加效果:
" - temp += "吸附范围 +20%
" - temp += "技能中心点设置时空爆雷, 造成[次元 : 粒子波]总攻击力10%的伤害" - return temp - - -class 技能15(职业主动技能): - 名称 = '乖离扭曲之恐惧' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 出现 - data1 = [int(i*1.211) for i in [0, 6430, 7921, 9412, 10903, 12394, 13885, 15377, 16868, 18359, 19850, 21341, 22832, 24323, 25814, 27305, 28796, 30288, 31779, 33270, 34761, 36252, 37743, 39234, 40725, 42216, 43708, 45199, 46690, 48181, 49672, 51163, 52654, 54145, 55636, 57127, 58619, 60110, 61601, 63092, 64583, 66074, 67565, 69056, 70547, 72039, 73530, 75021, 76512, 78003, 79494, 80985, 82476, 83967, 85458, 86950, 88441, 89932, 91423, 92914, 94405, 95896, 97387, 98878, 100370, 101861, 103352, 104843, 106334, 107825, 109316]] - #基础 = 4458.014 - #成长 = 1345.666 - 攻击次数1 = 1 - # 触须 - data2 = [int(i*1.211) for i in [0, 1397, 1722, 2046, 2370, 2694, 3018, 3342, 3666, 3991, 4315, 4639, 4963, 5287, 5611, 5936, 6260, 6584, 6908, 7232, 7556, 7880, 8205, 8529, 8853, 9177, 9501, 9825, 10150, 10474, 10798, 11122, 11446, 11770, 12094, 12419, 12743, 13067, 13391, 13715, 14039, 14364, 14688, 15012, 15336, 15660, 15984, 16308, 16633, 16957, 17281, 17605, 17929, 18253, 18578, 18902, 19226, 19550, 19874, 20198, 20522, 20847, 21171, 21495, 21819, 22143, 22467, 22792, 23116, 23440, 23764]] - #基础2 = 968.875 - #成长2 = 292.508 - 攻击次数2 = 22 - # 结束爆发 - data3 = [int(i*1.211) for i in [0, 25721, 31685, 37650, 43614, 49579, 55543, 61508, 67472, 73436, 79401, 85365, 91330, 97294, 103259, 109223, 115187, 121152, 127116, 133081, 139045, 145009, 150974, 156938, 162903, 168867, 174832, 180796, 186760, 192725, 198689, 204654, 210618, 216583, 222547, 228511, 234476, 240440, 246405, 252369, 258333, 264298, 270262, 276227, 282191, 288156, 294120, 300084, 306049, 312013, 317978, 323942, 329907, 335871, 341835, 347800, 353764, 359729, 365693, 371657, 377622, 383586, 389551, 395515, 401480, 407444, 413408, 419373, 425337, 431302, 437266]] - #基础3 = 17829.336 *1.1 - #成长3 = 5382.970 *1.1 - 攻击次数3 = 1 * 1.1 - CD = 145. - - -class 技能16(职业主动技能): - 名称 = '次元思维聚爆' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 持续伤害 - data1 = [int(i*1.198) for i in [0, 563, 620, 676, 733, 790, 848, 905, 962, 1019, 1076, 1133, 1190, 1248, 1305, 1362, 1419, 1476, 1533, 1589, 1646, 1704, 1761, 1818, 1875, 1932, 1989, 2046, 2103, 2161, 2218, 2275, 2332, 2389, 2446, 2502, 2559, 2617, 2674, 2731, 2788, 2845, 2902, 2959, 3017, 3074, 3131, 3188, 3245, 3302, 3359, 3415, 3473, 3530, 3587, 3644, 3701, 3758, 3815, 3873, 3930, 3987, 4044, 4101, 4158, 4215, 4273, 4329, 4386, 4443, 4500]] - #基础 = 451.063 - #成长 = 50.909 - 攻击次数1 = 1 - # 爆发伤害 - data2 = [int(i*1.198) for i in [0, 18181, 20025, 21870, 23714, 25558, 27403, 29247, 31092, 32936, 34781, 36625, 38469, 40314, 42159, 44003, 45847, 47691, 49536, 51381, 53225, 55069, 56913, 58759, 60603, 62447, 64291, 66135, 67981, 69825, 71669, 73513, 75359, 77203, 79047, 80891, 82735, 84581, 86425, 88269, 90113, 91958, 93803, 95647, 97491, 99335, 101180, 103025, 104869, 106713, 108558, 110402, 112247, 114091, 115936, 117780, 119624, 121469, 123313, 125158, 127002, 128846, 130691, 132536, 134380, 136224, 138069, 139913, 141758, 143602, 145446]] - #基础2 = 14580.815 - #成长2 = 1646.227 - 攻击次数2 = 1 - CD = 30. - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 *= 1.25 - self.CD *= 0.9 - elif x == 1: - self.攻击次数2 *= 1.25 - self.CD *= 0.9 - self.倍率 *= 1.08 - - def 护石描述(self, x): - if x == 0: - temp = "次元扭曲学说" - temp += "

" - temp += "[次元 : 思维聚爆]
" - temp += "没有敌人被[乖离 : 迷雾]附身的状态下也可以施放该技能 (在前方250px处发动)
" - temp += "最后爆炸攻击力 +25%
" - temp += "
-护石附加效果:
" - temp += "施放过程中发动[次元边界]时, 不消耗次元石
" - temp += "最后爆炸范围 +40%
" - temp += "冷却时间 -10%" - elif x == 1: - temp = "次元扭曲学说" - temp += "

" - temp += "[次元 : 思维聚爆]
" - temp += "没有敌人被[乖离 : 迷雾]附身的状态下也可以施放该技能 (在前方250px处发动)
" - temp += "最后爆炸攻击力 +25%
" - temp += "
-护石附加效果:
" - temp += "施放过程中发动[次元边界]时, 不消耗次元石
" - temp += "最后爆炸范围 +40%
" - temp += "冷却时间 -10%" - temp += "攻击力 +8%" - - -class 技能17(职业主动技能): - 名称 = '次元奇点' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - 是否有护石 = 1 - CD = 40. - 护石选项 = ['圣痕'] - - def 普通形态(self): - self.data1 = [int(i*1.198) for i in [0, 27341, 30115, 32889, 35663, 38437, 41211, 43984, 46758, 49532, 52306, 55080, 57854, 60627, 63401, 66175, 68949, 71723, 74497, 77270, 80044, 82818, 85592, 88366, 91139, 93913, 96687, 99461, 102235, 105009, 107782, 110556, 113330, 116104, 118878, 121652, 124425, 127199, 129973, 132747, 135521]] - self.data2 = [int(i*1.198) for i in [0, 31598, 34804, 38010, 41215, 44421, 47627, 50832, 54038, 57244, 60449, 63655, 66861, 70066, 73272, 76478, 79683, 82889, 86095, 89300, 92506, 95712, 98917, 102123, 105329, 108534, 111740, 114946, 118151, 121357, 124563, 127768, 130974, 134180, 137386, 140591, 143797, 147003, 150208, 153414, 156620]] - self.攻击次数1 = 1 - self.攻击次数2 = 1 - - def 强化形态(self): - self.data1 = [int(i*1.198) for i in [0, 7989, 8799, 9610, 10420, 11231, 12041, 12852, 13662, 14473, 15283, 16094, 16904, 17715, 18525, 19336, 20146, 20957, 21767, 22578, 23388, 24199, 25009, 25820, 26630, 27441, 28251, 29062, 29872, 30683, 31493, 32304, 33114, 33925, 34735, 35546, 36356, 37167, 37977, 38788, 39598]] - self.data2 = [int(i*1.198) for i in [0, 5326, 5866, 6406, 6947, 7487, 8027, 8568, 9108, 9648, 10189, 10729, 11269, 11810, 12350, 12890, 13431, 13971, 14511, 15052, 15592, 16132, 16673, 17213, 17753, 18294, 18834, 19374, 19915, 20455, 20995, 21536, 22076, 22616, 23157, 23697, 24237, 24778, 25318, 25858, 26399]] - self.攻击次数1 = 4 - self.攻击次数2 = 4 - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.9 - self.倍率 *= 1.30 - - def 护石无效化(self): - self.CD /= 0.9 - self.倍率 /= 1.30 - - def 护石描述(self, x): - if x == 0: - temp = "刻印咏唱" - temp += "

" - temp += "[次元 : 奇点]
" - temp += "删除施放动作,立即施放
" - temp += "普通使用时,不存在敌人时,能量领域也会生次元水晶
" - temp += "攻击力 +12%
" - temp += "
-护石附加效果:
" - temp += "普通使用时,能量领域一定范围内的无法抓取敌人进入控制状态,持续2秒
" - temp += "攻击力增加量额外增加 18%
" - temp += "冷却时间 -10%" - return temp - - -class 技能18(职业主动技能): - 名称 = '乖离禁锢' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*1.273) for i in [0, 33420, 36811, 40202, 43592, 46983, 50373, 53764, 57154, 60545, 63935, 67326, 70716, 74107, 77497, 80888, 84279, 87669, 91060, 94450, 97841, 101231, 104622, 108012, 111403, 114793, 118184, 121574, 124965, 128355, 131746, 135137, 138527, 141918, 145308, 148699, 152089, 155480, 158870, 162261, 165651, 169042, 172432, 175823, 179214, 182604, 185995, 189385, 192776, 196166, 199557, 202947, 206338, 209728, 213119, 216509, 219900, 223290, 226681, 230072, 233462, 236853, 240243, 243634, 247024, 250415, 253805, 257196, 260586, 263977, 267367]] - #基础 = 26846.910 - #成长 = 3031.118 - 攻击次数1 = 1 - CD = 50. - 是否有护石 = 1 - TP成长 = 0.10 - TP上限 = 5 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.07 - elif x == 1: - self.倍率 *= 1.15 - - def 护石描述(self, x): - if x == 0: - temp = "妥善安置" - temp += "

" - temp += "[乖离 : 禁锢]
" - temp += "[乖离 : 禁锢]命中时初始化[乖离 : 魅魔之舞]的冷却时间
" - temp += "
-护石附加效果:
" - temp += "技能命中后强制中断并施放其他奈雅丽技能时, 束缚效果不消失
" - temp += "攻击力 +7%" - elif x == 1: - temp = "妥善安置" - temp += "

" - temp += "[乖离 : 禁锢]
" - temp += "[乖离 : 禁锢]命中时初始化[乖离 : 魅魔之舞]的冷却时间
" - temp += "
-护石附加效果:
" - temp += "技能命中后强制中断并施放其他奈雅丽技能时, 束缚效果不消失
" - temp += "攻击力 +15%" - return temp - - -class 技能19(职业主动技能): - 名称 = '乖离沉沦' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - 是否有护石 = 1 - data1 = [int(i*1.197) for i in [0, 40782, 44919, 49056, 53194, 57331, 61468, 65606, 69743, 73880, 78017, 82155, 86292, 90429, 94567, 98704, 102841, 106979, 111116, 115253, 119391, 123528, 127665, 131803, 135940, 140077, 144214, 148352, 152489, 156626, 160764, 164901, 169038, 173176, 177313, 181450, 185588, 189725, 193862, 198000, 202137]] - #基础 = 32790.618 - #成长 = 3702.340 - 攻击次数1 = 1 - data2 = [int(i*1.197) for i in [0, 1359, 1497, 1634, 1772, 1910, 2048, 2186, 2324, 2462, 2600, 2738, 2875, 3013, 3151, 3289, 3427, 3565, 3703, 3841, 3979, 4116, 4254, 4392, 4530, 4668, 4806, 4944, 5082, 5220, 5357, 5495, 5633, 5771, 5909, 6047, 6185, 6323, 6461, 6598, 6736]] - #基础2 = 1090.657 - #成长2 = 123.333 - 攻击次数2 = 24 - CD = 45. - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3 - - def 护石描述(self, x): - if x == 0: - temp = "异界的断末魔" - temp += "

" - temp += "[乖离 : 沉沦]
" - temp += "技能变更为彼端的存在爆炸后给予1次伤害
" - temp += "变更后,攻击力为变更前总攻击力的110%
" - temp += "召唤媒介时,向媒介对象刻下印章,即使脱离爆炸范围,也会造成伤害
" - temp += "
-护石附加效果:
" - temp += "攻击力增加量额外增加 +20%" - return temp - - -class 技能20(职业主动技能): - 名称 = '禁断之盛宴' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - 迷雾data = [int(i*1.212) for i in [0, 6623, 8158, 9694, 11230, 12766, 14302, 15837, 17373, 18909, 20445, 21980, 23516, 25052, 26588, 28124, 29659, 31195, 32731, 34267, 35803, 37338, 38874, 40410, 41946, 43481, 45017, 46553, 48089, 49625, 51160, 52696, 54232, 55768, 57304, 58839, 60375, 61911, 63447, 64982, 66518]] - 炮击data = [int(i*1.212) for i in [0, 5519, 6799, 8078, 9358, 10638, 11918, 13198, 14477, 15757, 17037, 18317, 19597, 20877, 22156, 23436, 24716, 25996, 27276, 28556, 29835, 31115, 32395, 33675, 34955, 36234, 37514, 38794, 40074, 41354, 42634, 43913, 45193, 46473, 47753, 49033, 50313, 51592, 52872, 54152, 55432]] - 普通炮击data = [int(i*1.212) for i in [0, 3294, 4058, 4822, 5587, 6351, 7115, 7879, 8643, 9407, 10171, 10935, 11699, 12463, 13227, 13991, 14755, 15519, 16283, 17047, 17811, 18575, 19339, 20103, 20867, 21631, 22395, 23159, 23923, 24687, 25451, 26215, 26980, 27744, 28508, 29272, 30036, 30800, 31564, 32328, 33092]] - 强化炮击data = [int(i*1.212) for i in [0, 3088, 3804, 4520, 5236, 5953, 6669, 7385, 8101, 8817, 9533, 10250, 10966, 11682, 12398, 13114, 13830, 14547, 15263, 15979, 16695, 17411, 18127, 18844, 19560, 20276, 20992, 21708, 22424, 23141, 23857, 24573, 25289, 26005, 26722, 27438, 28154, 28870, 29586, 30302, 31019]] - 终结伤害 = [int(i*1.212) for i in [0, 109511, 134905, 160299, 185693, 211087, 236481, 261875, 287269, 312663, 338058, 363452, 388846, 414240, 439634, 465028, 490422, 515816, 541210, 566604, 591998, 617392, 642786, 668180, 693574, 718968, 744362, 769756, 795150, 820544, 845938, 871332, 896726, 922120, 947514, 972908, 998302, 1023696, 1049090, 1074484, 1099878]] - # 不强化 - # 10次迷雾伤害和13次炮击伤害 - 攻击次数1 = 10 - 攻击次数2 = 12 - # 强化后公共伤害部分 - # 18次强化炮击+1次终结伤害 - 攻击次数4 = 18 - 攻击次数5 = 1 - # 强化后可取消的部分 - 攻击次数3 = 10 # 10次普通炮击 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int((self.攻击次数1 * self.迷雾data[self.等级] + - self.攻击次数2 * self.炮击data[self.等级] + - self.攻击次数3 * self.普通炮击data[self.等级] + - self.攻击次数4 * self.强化炮击data[self.等级] + - self.攻击次数5 * self.终结伤害[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率) - CD = 180. - - -class 技能21(职业主动技能): - 名称 = '乖离:边缘之兽' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 10 - 脱手 = 1 - 技能施放时间 = 3 - - CD = 60.0 - # 韩服面板粗略计算 - data1 = [int(i*1.197) for i in [0, 160074, 176313, 192553, 208792, 225032, 241271, 257511, 273750, 289989, 306229, 322468, 338708, 354947, 371187, 387426, 403665, 419905, 436144, 452384, 468623, 484863, 501102, 517341, 533581, 549820, 566060, 582299, 598539, 614778, 631018, 647257, 663496, 679736, 695975, 712215, 728454, 744694, 760933, 777172, 793412, 809651, 825891, 842130, 858370, 874609, 890848, 907088, 923327, 939567, 955806, 972046, 988285, 1004525, 1020764, 1037003, 1053243, 1069482, 1085722, 1101961, 1118201, 1134440, 1150679, 1166919, 1183158, 1199398, 1215637, 1231877, 1248116, 1264355, 1280595]] - 攻击次数1 = 1 - - -class 技能22(被动技能): - 名称 = '古史记忆' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能23(职业主动技能): - 名称 = '未明·次元崩坏' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - 关联技能 = ['无'] - CD = 290.0 - 脱手 = 0 - 技能施放时间 = 6.5 - # 韩服面板粗略计算,忽略伤害结构 - data1 = [int(i*1.210) for i in [0, 62252, 76687, 91123, 105558, 119993, 134429, 148864, 163299, 177735, 192170, 206606, 221041, 235476, 249912, 264347, 278782, 293218, 307653, 322088, 336524, 350959, 365395, 379830, 394265, 408701, 423136, 437571, 452007, 466442, 480877, 495313, 509748, 524183, 538619, 553054, 567490, 581925, 596360, 610796, 625231, 639666, 654102, 668537, 682972, 697408, 711843, 726278, 740714, 755149, 769585, 784020, 798455, 812891, 827326, 841761, 856197, 870632, 885067, 899503, 913938, 928373, 942809, 957244, 971680, 986115, 1000550, 1014986, 1029421, 1043856, 1058292]] - 攻击次数1 = 1 - data2 = [int(i*1.210) for i in [0, 207508, 255626, 303743, 351861, 399979, 448097, 496215, 544333, 592451, 640568, 688686, 736804, 784922, 833040, 881158, 929276, 977394, 1025511, 1073629, 1121747, 1169865, 1217983, 1266101, 1314219, 1362336, 1410454, 1458572, 1506690, 1554808, 1602926, 1651044, 1699161, 1747279, 1795397, 1843515, 1891633, 1939751, 1987869, 2035986, 2084104, 2132222, 2180340, 2228458, 2276576, 2324694, 2372811, 2420929, 2469047, 2517165, 2565283, 2613401, 2661519, 2709636, 2757754, 2805872, 2853990, 2902108, 2950226, 2998344, 3046461, 3094579, 3142697, 3190815, 3238933, 3287051, 3335169, 3383286, 3431404, 3479522, 3527640]] - 攻击次数2 = 1 - data3 = [int(i*1.210) for i in [0, 36313, 44734, 53155, 61575, 69996, 78417, 86837, 95258, 103678, 112099, 120520, 128940, 137361, 145782, 154202, 162623, 171043, 179464, 187885, 196305, 204726, 213147, 221567, 229988, 238408, 246829, 255250, 263670, 272091, 280512, 288932, 297353, 305773, 314194, 322615, 331035, 339456, 347877, 356297, 364718, 373138, 381559, 389980, 398400, 406821, 415242, 423662, 432083, 440503, 448924, 457345, 465765, 474186, 482607, 491027, 499448, 507868, 516289, 524710, 533130, 541551, 549972, 558392, 566813, 575233, 583654, 592075, 600495, 608916, 617337]] - 攻击次数3 = 4 - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·次元行者一觉序号 = 0 -知源·次元行者二觉序号 = 0 -知源·次元行者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·次元行者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·次元行者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·次元行者三觉序号 = 技能序号[i.名称] - -知源·次元行者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·次元行者护石选项.append(i.名称) - -知源·次元行者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·次元行者符文选项.append(i.名称) - - -class 知源·次元行者角色属性(角色属性): - 实际名称 = '知源·次元行者' - 角色 = '魔法师(男)' - 职业 = '次元行者' - - 武器选项 = ['扫把', '矛', '魔杖', '法杖', '棍棒'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.850 - - 远古记忆 = 0 - - 坠落形态 = 0 - 离子束形态 = 0 - 万花镜形态 = 0 - 粒子风暴形态 = 0 - 粒子波形态 = 0 - 奇点形态 = 0 - 聚爆形态 = 0 - 装备奇点护石 = 0 - - 二觉形态 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - - if self.离子束形态 == 0: - self.技能栏[self.技能序号['次元离子束']].攻击次数1 = 6 - self.技能栏[self.技能序号['次元离子束']].攻击次数2 = 0 - if self.离子束形态 == 1: - self.技能栏[self.技能序号['次元离子束']].攻击次数1 = 0 - self.技能栏[self.技能序号['次元离子束']].攻击次数2 = 1 - - if self.坠落形态 == 0: - self.技能栏[self.技能序号['次元坠落']].攻击次数1 = 1 - self.技能栏[self.技能序号['次元坠落']].攻击次数2 = 1 - self.技能栏[self.技能序号['次元坠落']].攻击次数3 = 0 - if self.坠落形态 == 1: - self.技能栏[self.技能序号['次元坠落']].攻击次数1 = 0 - self.技能栏[self.技能序号['次元坠落']].攻击次数2 = 0 - self.技能栏[self.技能序号['次元坠落']].攻击次数3 = 1 - - if self.万花镜形态 == 0: - self.技能栏[self.技能序号['次元万花镜']].攻击次数1 = 4 - self.技能栏[self.技能序号['次元万花镜']].攻击次数2 = 0 - if self.万花镜形态 == 1: - self.技能栏[self.技能序号['次元万花镜']].攻击次数1 = 0 - self.技能栏[self.技能序号['次元万花镜']].攻击次数2 = 4 - - if self.粒子风暴形态 == 1: - self.技能栏[self.技能序号['次元粒子风暴']].攻击次数1 = 0 - self.技能栏[self.技能序号['次元粒子风暴']].攻击次数2 = 1 - if self.粒子风暴形态 == 0: - self.技能栏[self.技能序号['次元粒子风暴']].攻击次数1 = 3 - self.技能栏[self.技能序号['次元粒子风暴']].攻击次数2 = 0 - - if self.粒子波形态 == 0: - self.技能栏[self.技能序号['次元粒子波']].攻击次数1 = 10 - self.技能栏[self.技能序号['次元粒子波']].攻击次数2 = 20 - if self.粒子波形态 == 1: - self.技能栏[self.技能序号['次元粒子波']].攻击次数1 = 0 - self.技能栏[self.技能序号['次元粒子波']].攻击次数2 = 30 - - if self.聚爆形态 == 0: - self.技能栏[self.技能序号['次元思维聚爆']].攻击次数1 = 12 - if self.聚爆形态 == 1: - self.技能栏[self.技能序号['次元思维聚爆']].攻击次数1 = 1 - - if self.奇点形态 == 0: - self.技能栏[self.技能序号['次元奇点']].普通形态() - if self.奇点形态 == 1: - self.技能栏[self.技能序号['次元奇点']].强化形态() - - if self.二觉形态 == 0: # 不强化 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数1 = 10 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数2 = 12 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数3 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数4 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数5 = 0 - if self.二觉形态 == 1: # 强化:取消后摇 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数1 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数2 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数3 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数4 = 17 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数5 = 1 - if self.二觉形态 == 2: # 强化:不取消后摇 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数1 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数2 = 0 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数3 = 10 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数4 = 17 - self.技能栏[self.技能序号['禁断之盛宴']].攻击次数5 = 1 - - -class 知源·次元行者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·次元行者角色属性() - self.角色属性A = 知源·次元行者角色属性() - self.角色属性B = 知源·次元行者角色属性() - self.一觉序号 = 知源·次元行者一觉序号 - self.二觉序号 = 知源·次元行者二觉序号 - self.三觉序号 = 知源·次元行者三觉序号 - self.护石选项 = deepcopy(知源·次元行者护石选项) - self.符文选项 = deepcopy(知源·次元行者符文选项) - - def 护石判断(self): - sign = 0 - sign2 = 0 - for x in range(3): - if self.护石栏[x].currentText() == '次元粒子风暴': - sign = 1 - if sign == 1: - self.强化粒子风暴.setChecked(True) - self.强化粒子风暴.setEnabled(False) - self.强化粒子风暴.setStyleSheet(复选框样式) - else: - self.强化粒子风暴.setEnabled(True) - self.强化粒子风暴.setStyleSheet(复选框样式) - - def 界面(self): - super().界面() - - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - - self.坠落触发箱子 = QCheckBox("坠落触发箱子", self.main_frame2) - self.坠落触发箱子.setStyleSheet(复选框样式) - self.坠落触发箱子.setChecked(False) - self.坠落触发箱子.resize(120, 20) - self.坠落触发箱子.move(325, 380) - - self.离子束强化 = QCheckBox("强化离子束", self.main_frame2) - self.离子束强化.setStyleSheet(复选框样式) - self.离子束强化.setChecked(False) - self.离子束强化.resize(120, 20) - self.离子束强化.move(325, 405) - - self.强化万花镜 = QCheckBox("强化万花镜", self.main_frame2) - self.强化万花镜.setStyleSheet(复选框样式) - self.强化万花镜.setChecked(True) - self.强化万花镜.resize(120, 20) - self.强化万花镜.move(325, 430) - - self.强化粒子风暴 = QCheckBox("强化粒子风暴", self.main_frame2) - self.强化粒子风暴.setStyleSheet(复选框样式) - self.强化粒子风暴.setChecked(True) - self.强化粒子风暴.resize(120, 20) - self.强化粒子风暴.move(325, 455) - self.强化粒子风暴.setToolTip('选择粒子风暴护石时常驻为强化模式') - - self.强化粒子波 = QCheckBox("强化粒子波", self.main_frame2) - self.强化粒子波.setStyleSheet(复选框样式) - self.强化粒子波.setChecked(True) - self.强化粒子波.resize(120, 20) - self.强化粒子波.move(325, 480) - - self.聚爆是否瞬爆 = QCheckBox("聚爆取消持续伤害", self.main_frame2) - self.聚爆是否瞬爆.setStyleSheet(复选框样式) - self.聚爆是否瞬爆.setChecked(True) - self.聚爆是否瞬爆.resize(120, 20) - self.聚爆是否瞬爆.move(325, 505) - self.聚爆是否瞬爆.setToolTip('是否按C取消直接引爆') - - self.强化奇点 = QCheckBox("强化奇点", self.main_frame2) - self.强化奇点.setStyleSheet(复选框样式) - self.强化奇点.setChecked(True) - self.强化奇点.resize(120, 20) - self.强化奇点.move(325, 530) - self.强化奇点.setToolTip('') - - self.二觉形态选择 = MyQComboBox(self.main_frame2) - self.二觉形态选择.addItem('不强化二觉') - self.二觉形态选择.addItem('二觉:取消后摇') - self.二觉形态选择.addItem('二觉:保留后摇') - self.二觉形态选择.setCurrentIndex(2) - self.二觉形态选择.resize(120, 20) - self.二觉形态选择.move(325, 555) - - self.职业存档.append(('坠落触发箱子', self.坠落触发箱子, 0)) - self.职业存档.append(('离子束强化', self.离子束强化, 0)) - self.职业存档.append(('强化万花镜', self.强化万花镜, 0)) - self.职业存档.append(('强化粒子风暴', self.强化粒子风暴, 0)) - self.职业存档.append(('强化粒子波', self.强化粒子波, 0)) - self.职业存档.append(('聚爆是否瞬爆', self.聚爆是否瞬爆, 0)) - self.职业存档.append(('强化奇点', self.强化奇点, 0)) - self.职业存档.append(('二觉形态选择', self.二觉形态选择, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - - if self.坠落触发箱子.isChecked(): - 属性.坠落形态 = 1 - if self.离子束强化.isChecked(): - 属性.离子束形态 = 1 - if self.强化万花镜.isChecked(): - 属性.万花镜形态 = 1 - if self.强化粒子风暴.isChecked(): - 属性.粒子风暴形态 = 1 - if self.强化奇点.isChecked(): - 属性.奇点形态 = 1 - if self.强化粒子波.isChecked(): - 属性.粒子波形态 = 1 - if self.聚爆是否瞬爆.isChecked(): - 属性.聚爆形态 = 1 - 属性.二觉形态 = self.二觉形态选择.currentIndex() - diff --git a/Characters/知源·缔造者.py b/Characters/知源·缔造者.py deleted file mode 100644 index af4e993a..00000000 --- a/Characters/知源·缔造者.py +++ /dev/null @@ -1,764 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - 攻击次数 = 1 - 攻击次数1 = 0 - 攻击次数2 = 0 - 攻击次数3 = 0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数1 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数2 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数3 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(职业主动技能): - 名称 = '烈火燎原' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - data0 = [0, 11, 15, 20, 24, 29, 31, 35, 40, 44, 48, 53, 57, 61, 65, 69, 74, 78, 83, 85, 89, 94, 98, 102, 107, 110, 115, 119, 123, 128, 132, 137, 139, 143, 148, 152, 156, 160, 164, 169, 173, 177, 182, 186, 191, 193, 197, 202, 206, 210, 214, 218, 223, 227, 231, 236, 240, 242, 247, 251, 256, 260, 263, 268, 272, 277, 281, 285, 290, 294, 296] - data0=[(1+1.1244)*x*1.085*1.052 for x in data0] - - 攻击次数 = 1 - 能量 = 140 - 最小值 = 4 - CD = 5.0 - 持续秒数 = 6.0 - TP成长 = 0.08 - TP上限 = 5 - 硬直时长百分比 = 0 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 70 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] -# self.data0 = [0.5*x for x in data0] - - self.最小值 = 觉醒后能量消耗 - # self.基础 = self.基础 * 70 / 2 - # self.成长 = self.成长 * 70 / 2 - - -class 技能1(职业主动技能): - 名称 = '炽炎星陨' - 所在等级 = 1 - 等级上限 = 60 - 基础等级 = 50 - data0 = [0, 109, 148, 187, 226, 263, 302, 341, 380, 418, 457, 494, 534, 573, 611, 650, 687, 727, 765, 804, 842, 882, 920, 958, 996, 1035, 1075, 1113, 1151, 1189, 1228, 1267, 1306, 1344, 1382, 1420, 1460, 1498, 1537, 1574, 1614, 1653, 1691, 1730, 1768, 1808, 1845, 1884, 1922, 1961, 2001, 2038, 2076, 2115, 2155, 2193, 2232, 2269, 2308, 2347, 2386, 2424, 2462, 2500, 2540, 2579, 2617, 2655, 2693, 2733, 2771] - data0=[1.213*1.085*x*1.052 for x in data0] - - 攻击次数 = 1 - 能量 = 140 - 最小值 = 20 - CD = 5.0 - 持续秒数 = 1.0 - TP成长 = 0.08 - TP上限 = 5 - 硬直时长百分比 = 0 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 70 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 觉醒后能量消耗 - - -class 技能2(职业主动技能): - 名称 = '冰霜之球' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - data0 = [int(i*1.085*1.05) for i in [0, 78, 89, 100, 111, 124, 135, 146, 158, 169, 180, 193, 204, 215, 226, 238, 249, 260, 273, 284, 295, 307, 318, 329, 341, 353, 364, 375, 387, 398, 410, 422, 433, 444, 455, 467, 479, 490, 502, 513, 524, 536, 548, 559, 570, 582, 593, 604, 617, 628, 639, 651, 662, 673, 684, 697, 708, 719, 731, 742, 754, 766, 777, 788, 799, 811, 823, 834, 844, 856, 867]] - - - 攻击次数 = 6 - # 能量消耗值:20 - 能量 = 140 - 最小值 = 20 - CD = 10.0 - 持续秒数 = 3.0 - TP成长 = 0.08 - TP上限 = 5 - 硬直时长百分比 = 0 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 70 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 觉醒后能量消耗 - - -class 技能3(职业主动技能): - 名称 = '冰天震地' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - # 冰盘攻击力: - data0 = [0, 828, 950, 1071, 1191, 1313, 1433, 1555, 1675, 1797, 1917, 2038, 2160, 2281, 2401, 2523, 2643, 2764, 2885, 3007, 3127, 3247, 3368, 3489, 3611, 3731, 3853, 3973, 4094, 4214, 4337, 4457, 4578, 4699, 4821, 4941, 5063, 5183, 5304, 5424, 5547, 5667, 5788, 5909, 6030, 6150, 6273, 6393, 6514, 6634, 6754, 6877, 6997, 7118, 7239, 7360, 7480, 7603, 7723, 7844, 7964, 8086, 8207, 8328, 8449, 8570, 8690, 8813, 8933, 9054, 9174] - data0=[1.101*1.085*x*1.05 for x in data0] - - 攻击次数 = 1 - # 能量消耗值:40 - 能量 = 140 - 最小值 = 40 - CD = 10.0 - 持续秒数 = 1.0 - TP成长 = 0.08 - TP上限 = 5 - 硬直时长百分比 = 0 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 140 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 觉醒后能量消耗 - - -class 技能4(被动技能): - 名称 = '幻想之境' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1 + 0.01 * self.等级, 5) - else: - return round(1.1 + 0.015 * (self.等级 - 10), 5) - - def 独立攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能5(被动技能): - 名称 = '具象强化' - 所在等级 = 25 - 等级上限 = 40 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.025 * self.等级, 5) - - -class 技能6(职业主动技能): - 名称 = '烈焰飓风' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 烈焰飓风攻击力: - data0 = [0, 457, 503, 550, 596, 641, 689, 735, 782, 827, 873, 921, 967, 1014, 1059, 1107, 1153, 1200, 1245, 1291, 1339, 1385, 1430, 1477, 1524, 1571, 1616, 1663, 1709, 1757, 1802, 1848, 1895, 1942, 1987, 2034, 2080, 2127, 2174, 2220, 2266, 2312, 2360, 2405, 2452, 2498, 2545, 2591, 2637, 2684, 2730, 2776, 2823, 2869, 2916, 2961, 3009, 3055, 3102, 3147, 3193, 3241, 3287, 3334, 3379, 3425, 3473, 3519, 3565, 3611, 3659] - data0=[1.153*1.085*x*1.051 for x in data0] - - 攻击次数 = 12 - # 烈焰飓风持续时间:3秒 - # 能量消耗值:60 - 能量 = 140 - 最小值 = 60 - CD = 20 - 持续秒数 = 4.0 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0.05 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.85 - self.倍率 *= 1.0 - elif x == 1: - self.CD *= 0.85 - self.倍率 *= 1.09 - - -class 技能7(职业主动技能): - 名称 = '极冰护盾' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [0, 2901, 3195, 3490, 3783, 4079, 4373, 4667, 4961, 5256, 5551, 5844, 6138, 6433, 6728, 7022, 7316, 7611, 7905, 8200, 8494, 8787, 9083, 9377, 9672, 9965, 10259, 10555, 10848, 11143, 11437, 11733, 12026, 12320, 12615, 12908, 13204, 13498, 13793, 14086, 14382, 14676, 14969, 15264, 15559, 15854, 16147, 16441, 16736, 17030, 17325, 17619, 17913, 18208, 18503, 18797, 19090, 19385, 19680, 19974, 20268, 20562, 20858, 21151, 21446, 21740, 22035, 22329, 22623, 22917, 23211] - data0=[1.19*1.085*x*1.052 for x in data0] - 攻击次数 = 1 - - CD = 20.0 - 持续秒数 = 1.0 - 能量 = 140 - 最小值 = 60 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0.1 - - -class 技能8(职业主动技能): - 名称 = '超能旋风波' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [0, 375, 414, 450, 488, 527, 565, 603, 641, 680, 718, 757, 793, 832, 870, 908, 946, 985, 1023, 1060, 1099, 1137, 1174, 1212, 1251, 1289, 1327, 1365, 1404, 1442, 1480, 1517, 1555, 1593, 1631, 1670, 1708, 1746, 1784, 1823, 1861, 1898, 1936, 1975, 2013, 2050, 2089, 2127, 2166, 2203, 2241, 2279, 2317, 2355, 2394, 2432, 2470, 2508, 2547, 2585, 2621, 2660, 2698, 2736, 2774, 2813, 2851, 2890, 2927, 2965, 3003] - data0=[1.13*1.085 *x*1.051 for x in data0] - - 攻击次数 = 1 - CD = 25.0 - 持续秒数 = 5.0 - 能量 = 140 - 最小值 = 4 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.32 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 46 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 觉醒后能量消耗 - - -class 技能9(职业主动技能): - 名称 = '风暴漩涡' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [0, 1575, 1735, 1895, 2055, 2215, 2375, 2536, 2695, 2856, 3015, 3176, 3335, 3494, 3654, 3814, 3974, 4134, 4294, 4454, 4615, 4774, 4935, 5094, 5253, 5413, 5573, 5733, 5893, 6053, 6213, 6373, 6533, 6694, 6853, 7014, 7172, 7332, 7492, 7652, 7812, 7972, 8132, 8292, 8452, 8612, 8773, 8931, 9090, 9251, 9411, 9571, 9731, 9891, 10051, 10211, 10371, 10531, 10691, 10850, 11010, 11171, 11330, 11490, 11650, 11810, 11970, 12130, 12290, 12450, 12609] - data0=[1.101*1.085*x*1.05 for x in data0] - - 攻击次数 = 1 - - 能量 = 140 - 最小值 = 20 - CD = 25.0 - 持续秒数 = 5.0 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.85 - self.倍率 *= 1.22 - - def 觉醒模式(self, x): - if x == 1: - 觉醒后能量消耗 = 70 - self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 觉醒后能量消耗 - - -class 技能10(被动技能): - 名称 = '洞悉' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能11(职业主动技能): - 名称 = '末日虫洞' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 19 - # 行星碎片攻击力: - data0 = [0, 220, 255, 291, 326, 361, 397, 433, 467, 502, 537, 573, 608, 644, 679, 713, 749, 784, 819, 854, 891, 926, 960, 995, 1031, 1066, 1101, 1137, 1173, 1207, 1242, 1277, 1312, 1348, 1384, 1419, 1453, 1489, 1524, 1559, 1594, 1631, 1666, 1700, 1735, 1770, 1806, 1841, 1877, 1912, 1947, 1982, 2017, 2052, 2087, 2124, 2159, 2193, 2228, 2264, 2299, 2335, 2370, 2406, 2440, 2475, 2510, 2546, 2582, 2617, 2652] - # 虫洞大爆炸攻击力: - data1 = [0, 10778, 12497, 14215, 15934, 17651, 19371, 21089, 22807, 24525, 26242, 27962, 29681, 31398, 33117, 34835, 36554, 38272, 39991, 41708, 43428, 45145, 46864, 48582, 50300, 52019, 53738, 55455, 57174, 58892, 60611, 62329, 64047, 65765, 67485, 69202, 70921, 72638, 74358, 76077, 77794, 79512, 81231, 82950, 84668, 86387, 88104, 89822, 91542, 93260, 94978, 96696, 98415, 100134, 101851, 103570, 105288, 107007, 108725, 110444, 112161, 113881, 115598, 117317, 119035, 120753, 122472, 124191, 125908, 127627, 129347] - - - data0=[1.3*1.085*x*1.101 for x in data0] - data1=[1.3*1.085*x*1.101 for x in data1] - - 攻击次数 = 19 - 攻击次数1 = 1 - - CD = 45.0 - 持续秒数 = 3.0 - 能量 = 100 - 最小值 = 100 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - elif x == 1: - self.倍率 *= 1.28 - - -class 技能12(职业主动技能): - 名称 = '冰雪降临' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 16 - data0 = [ - int(1.0*1.085 * x) for x in [ - 0, 573, 664, 754, 846, 937, 1029, 1120, 1212, 1303, 1394, 1486, - 1577, 1669, 1760, 1851, 1943, 2034, 2126, 2217, 2308, 2400, 2491, - 2581, 2673, 2764, 2856, 2947, 3039, 3130, 3221, 3313, 3404, 3496, - 3587, 3678, 3770, 3861, 3953, 4044, 4135, 4227, 4318, 4410, 4500, - 4591, 4683, 4774, 4865, 4957, 5048, 5140, 5231, 5323, 5414, 5505, - 5597, 5688, 5780, 5871, 5962, 6054, 6145, 6237, 6327, 6418, 6510, - 6601, 6692, 6784, 6875 - ] - ] - - data0=[1.101*x*1.051 for x in data0] - - # 范围大小 1.2~1的倍率 - 倍率 = 1.2 - 攻击次数 = 21 - CD = 31.5 - 持续秒数 = 3.0 - 能量 = 100 - 最小值 = 50 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - 能量消耗 = 2 - self.data0 = [int(x * 能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 能量消耗 - self.倍率 *= 1.28 - self.持续秒数 = 0.5 - self.硬直时长百分比 = 0.15 - elif x == 1: - 能量消耗 = 2 - self.data0 = [int(x * 能量消耗 / self.最小值) for x in self.data0] - self.最小值 = 能量消耗 - self.倍率 *= 1.37 - self.持续秒数 = 0.5 - self.硬直时长百分比 = 0.15 - - -class 技能13(职业主动技能): - 名称 = '时空链接' - 所在等级 = 70 - 等级上限 = 60 - 基础等级 = 18 - data0 = [int(i*1.085) for i in[0, 823, 906, 990, 1074, 1156, 1240, 1324, 1407, 1491, 1575, 1658, 1742, 1824, 1908, 1992, 2075, 2159, 2243, 2327, 2409, 2493, 2576, 2660, 2744, 2827, 2911, 2995, 3077, 3161, 3245, 3328, 3412, 3496, 3579, 3663, 3745, 3829, 3913, 3996, 4080, 4164, 4247, 4331, 4414, 4497, 4581, 4665, 4748, 4832, 4916, 4998, 5082, 5165, 5249, 5333, 5417, 5500, 5584, 5666, 5750, 5834, 5917, 6001, 6085, 6168, 6252, 6335, 6418, 6502, 6586]] - 攻击次数 = 34 - CD = 54 - 持续秒数 = 5.0 - 能量 = 100 - 最小值 = 50 - TP成长 = 0.10 - TP上限 = 5 - 硬直时长百分比 = 0.05 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - - elif x == 1: - self.倍率 *= 1.32 - - -class 技能14(被动技能): - 名称 = '创世之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '时空禁制' - 所在等级 = 80 - 等级上限 = 60 - 基础等级 = 9 - # 多段攻击力: - data0 = [0, 779, 902, 1027, 1150, 1275, 1399, 1522, 1648, 1771, 1896, 2020, 2144, 2268, 2391, 2516, 2639, 2765, 2889, 3013, 3137, 3260, 3385, 3509, 3634, 3758, 3883, 4006, 4130, 4254, 4378, 4504, 4627, 4752, 4875, 4999, 5123, 5247, 5373, 5496, 5621, 5744, 5868, 5993, 6116, 6242, 6365, 6490, 6614, 6737, 6862, 6985, 7111, 7235, 7359, 7483, 7606, 7731, 7854, 7979, 8103, 8228, 8352, 8475, 8600, 8724, 8848, 8972, 9098, 9221, 9345] - # 最后一击爆炸攻击力: - data1 = [0, 23364, 27089, 30813, 34537, 38262, 41987, 45712, 49436, 53162, 56887, 60611, 64336, 68061, 71785, 75510, 79235, 82959, 86684, 90408, 94133, 97858, 101583, 105309, 109032, 112757, 116482, 120207, 123932, 127657, 131382, 135105, 138830, 142555, 146280, 150005, 153730, 157453, 161178, 164904, 168629, 172354, 176079, 179803, 183527, 187252, 190977, 194702, 198426, 202151, 205875, 209600, 213325, 217051, 220775, 224500, 228225, 231949, 235674, 239398, 243123, 246848, 250573, 254297, 258021, 261746, 265471, 269197, 272922, 276647, 280370] - - - - data0=[1.172*1.085*x*1.051 for x in data0] - data1=[1.172*1.085*x*1.051 for x in data1] - - 攻击次数 = 30 - 攻击次数1 = 1 - - CD = 45.0 - 持续秒数 = 7.0 - 能量 = 100 - 最小值 = 100 - 硬直时长百分比 = 0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.5 * 2.74 - - -class 技能16(职业主动技能): - 名称 = '创世' - 备注 = '(直接爆炸)' - 所在等级 = 85 - 等级上限 = 60 - 基础等级 = 5 - # 基础 = 84924.00 - # 成长 = 25632.0 - - data0 = [0, 19457, 23968, 28479, 32992, 37503, 42016, 46527, 51040, 55551, 60063, 64574, 69087, 73598, 78110, 82621, 87134, 91645, 96157, 100668, 105182, 109693, 114205, 118717, 123229, 127740, 132252, 136764, 141276, 145787, 150299, 154811, 159323, 163834, 168348, 172858, 177371, 181882, 186395, 190906, 195418, 199929, 204442, 208953, 213465, 217976, 222489, 227000, 231513, 236023, 240537, 245048, 249560, 254071, 258584, 263095, 267607, 272119, 276631, 281142, 285654, 290166, 294678, 299189, 303702, 308214, 312726, 317237, 321749, 326261, 330773] - data0=[1.15*1.085*x*1.052 for x in data0] - - 攻击次数 = 6 - CD = 180.0 - 持续秒数 = 1 - 能量 = 100 - 最小值 = 100 - 硬直时长百分比 = 0 - -# class 技能17(被动技能): -# 名称 = '卓越之力' -# 所在等级 = 95 -# 等级上限 = 40 -# 基础等级 = 4 -# -# def 加成倍率(self, 武器类型): -# if self.等级 == 0: -# return 1.0 -# else: -# return round(1.18 + 0.02 * self.等级, 5) -# -# -# class 技能18(被动技能): -# 名称 = '超卓之心' -# 所在等级 = 95 -# 等级上限 = 11 -# 基础等级 = 1 -# -# def 加成倍率(self, 武器类型): -# if self.等级 == 0: -# return 1.0 -# else: -# return round(1.045 + 0.005 * self.等级, 5) -# -# -# class 技能19(被动技能): -# 名称 = '觉醒之抉择' -# 所在等级 = 100 -# 等级上限 = 40 -# 基础等级 = 2 -# 关联技能 = ['无'] -# -# def 加成倍率(self, 武器类型): -# if self.等级 == 0: -# return 1.0 -# else: -# return round(1.10 + 0.05 * self.等级, 5) - - -class 技能17(被动技能): - 名称 = '天工开物' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '创世之光' - - 所在等级 = 95 - 等级上限 = 60 - 基础等级 = 6 - # 基础 = 84924.00 - # 成长 = 25632.0 - data0 = [0, 108124, 119092, 130060, 141030, 151998, 162969, 173937, 184907, 195875, 206846, 217814, 228782, 239752, 250720, 261691, 272659, 283630, 294597, 305568, 316536, 327507, 338475, 349442, 360413, 371381, 382352, 393320, 404290, 415258, 426229, 437197, 448164, 459135, 470103, 481074, 492042, 503012, 513980, 524951, 535919, 546887, 557857, 568825, 579796, 590764, 601735, 612702, 623673, 634641, 645609, 656580, 667547, 678518, 689486, 700457, 711424, 722395, 733363, 744331, 755302, 766269, 777240, 788208, 799179, 810147, 821117, 832085, 843053, 854024, 864992] - - data0=[1.191*1.085*x*1.051 for x in data0] - - 攻击次数 = 1 - CD = 60.0 - 持续秒数 = 3.5 - 能量 = 100 - 最小值 = 100 - 硬直时长百分比 = 0 - -# def 加成倍率(self, 武器类型): -# return 0.0 - - -class 技能19(职业主动技能): - 名称 = '时之终末:归烬' - - 所在等级 = 100 - 等级上限 = 60 - 基础等级 = 2 - # 基础 = 84924.00 - # 成长 = 25632.0 - data0 = [0, 11978, 14756, 17533, 20311, 23089, 25866, 28644, 31421, 34199, 36977, 39754, 42532, 45309, 48087, 50865, 53642, 56420, 59197, 61975, 64753, 67530, 70308, 73085, 75863, 78640, 81418, 84196, 86973, 89751, 92528, 95306, 98084, 100861, 103639, 106416, 109194, 111972, 114749, 117527, 120304, 123082, 125859, 128637, 131415, 134192, 136970, 139747, 142525, 145303, 148080, 150858, 153635, 156413, 159191, 161968, 164746, 167523, 170301, 173078, 175856, 178634, 181411, 184189, 186966, 189744, 192522, 195299, 198077, 200854, 203632] - 攻击次数 = 9 - data1 = [0, 251545, 309874, 368203, 426533, 484862, 543191, 601520, 659849, 718180, 776509, 834838, 893168, 951497, 1009826, 1068155, 1126484, 1184815, 1243144, 1301473, 1359803, 1418132, 1476461, 1534790, 1593119, 1651450, 1709779, 1768108, 1826438, 1884767, 1943096, 2001425, 2059754, 2118085, 2176414, 2234743, 2293073, 2351402, 2409731, 2468060, 2526389, 2584720, 2643049, 2701378, 2759708, 2818037, 2876366, 2934695, 2993024, 3051353, 3109684, 3168013, 3226343, 3284672, 3343001, 3401330, 3459659, 3517990, 3576319, 3634648, 3692978, 3751307, 3809636, 3867965, 3926294, 3984623, 4042954, 4101283, 4159613, 4217942, 4276271] - 攻击次数1 = 1 - - data0=[1.191*1.085*x for x in data0] - data1=[1.191*1.085*x for x in data1] - - CD = 290 - 持续秒数 = 6 - 能量 = 100 - 最小值 = 100 - 硬直时长百分比 = 0 - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能20(被动技能): - 名称 = '自我觉醒' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.11 - - def 独立攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.11 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - - -缔造者一觉序号 = 16 -缔造者二觉序号 = 16 -缔造者三觉序号 = 19 - -缔造者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 缔造者护石选项.append(i.名称) - -缔造者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 1 and i.所在等级 <= 80 and i.是否有伤害 == 1: - 缔造者符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '知源·缔造者' - 角色 = '缔造者' - 职业 = '缔造者' - - 武器选项 = ['魔杖', '法杖', '棍棒', '矛', '扫把'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.66 - - 远古记忆 = 0 - - 数据精算模式 = 0 - 觉醒模式 = 1 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能等级加成(self, 加成类型, minLv, maxLv, lv, 可变=0): - lv = int(lv) - - if self.装备描述 == 1: - if 加成类型 == "所有": - if minLv == maxLv: - return "Lv{} 技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 技能等级+{}
".format(minLv, maxLv, lv) - else: - if minLv == maxLv: - return "Lv{} 主动技能等级+{}
".format(minLv, lv) - else: - return "Lv{}-{} 主动技能等级+{}
".format(minLv, maxLv, lv) - else: - if self.远古记忆 > 0: - if minLv <= 15 and maxLv >= 15: - self.远古记忆 = min(20, self.远古记忆 + lv) - - for i in self.技能栏: - if i.所在等级 >= minLv and i.所在等级 <= maxLv: - if 加成类型 == '所有': - i.等级加成(lv) - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 6, 2, 14 + (2 if 可变 > 1 else 4), 14 + (9 if 可变 > 1 else 17) - ] - return '' - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - modelchange = '觉醒模式' in dir(i) - if modelchange and self.觉醒模式 == 1: - # print('hello') - i.觉醒模式(1) - if i.是否有伤害 == 1: - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - - 余数伤害时间 = ( - (int(i.能量 * - (1 + - (self.时间输入 * - (1 - i.硬直时长百分比)) / i.等效CD(self.武器类型, self.类型))) - - int( - int(i.能量 * - (1 + - (self.时间输入) / i.等效CD(self.武器类型, self.类型))) / - i.最小值) * i.最小值) / i.能量) * i.等效CD( - self.武器类型, self.类型) - 余数次数 = 0 - if 余数伤害时间 < i.持续秒数: - if 余数伤害时间 < 0.03: - 余数次数 = -1 - else: - 余数次数 = -1 + 余数伤害时间 / i.持续秒数 - else: - 余数次数 = 0 - if self.数据精算模式 == 1 and self.时间输入 != 1: - - 技能释放次数.append( - round( - int( - int(i.能量 * - (1 + (self.时间输入 * (1 - i.硬直时长百分比)) / - i.等效CD(self.武器类型, self.类型))) / i.最小值) - + 余数次数, 2)) - else: - 余数次数 = 0 - 技能释放次数.append( - round( - int( - int(i.能量 * - (1 + (self.时间输入 * (1 - i.硬直时长百分比)) / - i.等效CD(self.武器类型, self.类型))) / i.最小值) - + 余数次数, 2)) - - elif self.次数输入[self.技能序号[i.名称]] != '0': - 技能释放次数.append(round(float(self.次数输入[self.技能序号[i.名称]]), 2)) - else: - 技能释放次数.append(0) - else: - 技能释放次数.append(0) - - return self.技能释放次数解析(技能释放次数) - - -class 知源·缔造者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 缔造者一觉序号 - self.二觉序号 = 缔造者二觉序号 - self.三觉序号 = 缔造者三觉序号 - self.护石选项 = deepcopy(缔造者护石选项) - self.符文选项 = deepcopy(缔造者符文选项) - - def 界面(self): - super().界面() - self.数据精算模式 = QCheckBox('数据精算模式', self.main_frame2) - self.数据精算模式.resize(100, 20) - self.数据精算模式.move(335, 490) - self.数据精算模式.setStyleSheet(复选框样式) - self.数据精算模式.setChecked(True) - - self.觉醒模式 = QCheckBox('觉醒模式', self.main_frame2) - self.觉醒模式.resize(100, 20) - self.觉醒模式.move(335, 520) - self.觉醒模式.setStyleSheet(复选框样式) - self.觉醒模式.setChecked(True) - - self.职业存档.append(('觉醒模式', self.觉醒模式, 0)) - self.职业存档.append(('数据精算模式', self.数据精算模式, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.数据精算模式.isChecked(): - 属性.数据精算模式 = 1 - else: - 属性.数据精算模式 = 0 - - if self.觉醒模式.isChecked(): - 属性.觉醒模式 = 1 - else: - 属性.觉醒模式 = 0 diff --git a/Characters/知源·血法师.py b/Characters/知源·血法师.py deleted file mode 100644 index 827a9b48..00000000 --- a/Characters/知源·血法师.py +++ /dev/null @@ -1,512 +0,0 @@ -from PublicReference.carry.base import * - -# class 职业主动技能(职业主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '矛': -# return round(self.CD / self.恢复 * 1.05, 1) - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(被动技能): - 名称 = '鲜血融合' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - def 物理攻击力倍率进图(self, 武器类型): - if self.等级<= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.90 + 0.02 *self.等级 , 5) - def 加成倍率(self, 武器类型): - if self.等级<= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.90 + 0.02 *self.等级 , 5) - -class 技能1(被动技能): - 名称 = '血之共鸣' - 所在等级 = 20 - 等级上限 = 11 - 基础等级 = 1 - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.08 + 0.02 * self.等级, 5) - -class 技能2(被动技能): - 名称 = '血狱之力' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.105 + 0.015 * self.等级, 5) - -class 技能3(被动技能): - 名称 = '鲜血之殇' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - -class 技能4(被动技能): - 名称 = '血源之眼' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - -class 技能5(职业主动技能): - 名称 = '血蝠之袭' - 所在等级= 15 - 等级上限 =60 - 基础等级 =46 - #基础 = 3072.95454545 - #成长 = 347.62237762 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - data0 = [ int(i*1.1*1.085) for i in [0, 228, 251, 275, 297, 321, 344, 367, 390, 414, 436, 460, 483, 506, 529, 553, 575, 599, 622, 645, 668, 692, 715, 738, 761, 785, 807, 831, 854, 877, 900, 924, 946, 970, 993, 1016, 1039, 1063, 1085, 1109, 1132, 1155, 1178, 1202, 1225, 1248, 1271, 1295, 1317, 1341, 1364, 1387, 1410, 1434, 1456, 1480, 1503, 1526, 1549, 1573, 1595, 1619, 1642, 1665, 1688, 1712, 1735, 1758, 1781, 1805, 1827]] - 攻击次数 = 15 - -class 技能6(职业主动技能): - 名称 = '血翼突击' - 所在等级= 15 - 等级上限 =60 - 基础等级 =46 - #基础 = 2329.84763635444 - #成长 = 263.1339020924 - data0 = [ int(i*1.192*1.085) for i in [0, 2594, 2857, 3120, 3383, 3646, 3909, 4173, 4436, 4699, 4962, 5225, 5488, 5751, 6015, 6278, 6541, 6804, 7067, 7330, 7594, 7857, 8120, 8383, 8646, 8909, 9173, 9436, 9699, 9962, 10225, 10488, 10752, 11015, 11278, 11541, 11804, 12067, 12331, 12594, 12857, 13120, 13383, 13646, 13910, 14173, 14436, 14699, 14962, 15225, 15488, 15752, 16015, 16278, 16541, 16804, 17067, 17331, 17594, 17857, 18120, 18383, 18646, 18910, 19173, 19436, 19699, 19962, 20225, 20489, 20752]] - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - -class 技能7(职业主动技能): - 名称 = '鲜血长枪' - 所在等级= 20 - 等级上限 =60 - 基础等级 =43 - #基础 = 2993.1012727272 - #成长 = 337.716727272 - data0 = [ int(i*1.193*1.085*1.051) for i in [0, 1666, 1835, 2004, 2173, 2342, 2511, 2681, 2850, 3019, 3188, 3357, 3526, 3695, 3864, 4033, 4202, 4371, 4540, 4709, 4879, 5048, 5217, 5386, 5555, 5724, 5893, 6062, 6231, 6400, 6569, 6738, 6907, 7077, 7246, 7415, 7584, 7753, 7922, 8091, 8260, 8429, 8598, 8767, 8936, 9105, 9275, 9444, 9613, 9782, 9951, 10120, 10289, 10458, 10627, 10796, 10965, 11134, 11303, 11473, 11642, 11811, 11980, 12149, 12318, 12487, 12656, 12825, 12994, 13163, 13332]] - 攻击次数 = 2 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -class 技能8(职业主动技能): - 名称 = '血蝠之舞' - 所在等级 =25 - 等级上限 =60 - 基础等级 =41 - #基础 = 3293.18181818 - #成长 = 372.58741259 - data0 = [ int(i*1.3*1.085*1.053) for i in [0, 122, 135, 147, 159, 172, 185, 196, 209, 222, 234, 246, 259, 271, 284, 296, 308, 321, 334, 345, 358, 371, 383, 395, 408, 420, 433, 445, 457, 470, 483, 495, 507, 520, 532, 545, 557, 569, 582, 595, 606, 619, 632, 644, 656, 669, 681, 694, 706, 718, 731, 744, 755, 768, 781, 793, 805, 818, 830, 843, 855, 867, 880, 893, 905, 917, 930, 942, 955, 967, 979]] - 攻击次数 = 30 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -class 技能9(职业主动技能): - 名称 = '血腥狩猎' - 所在等级 =25 - 等级上限 =60 - 基础等级 =41 - #基础 = 4179 - #成长 = 472.5 - data0 = [ int(i*1.114*1.085*1.051) for i in [0, 931, 1025, 1120, 1214, 1309, 1403, 1498, 1592, 1687, 1781, 1876, 1970, 2065, 2159, 2254, 2348, 2443, 2537, 2632, 2726, 2821, 2915, 3010, 3104, 3199, 3293, 3388, 3482, 3577, 3671, 3766, 3860, 3955, 4049, 4144, 4238, 4333, 4427, 4522, 4616, 4711, 4805, 4900, 4994, 5089, 5183, 5278, 5372, 5467, 5561, 5656, 5750, 5845, 5939, 6034, 6128, 6223, 6317, 6412, 6506, 6601, 6695, 6790, 6884, 6979, 7073, 7168, 7262, 7357, 7451]] - 攻击次数 = 5 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '狱血之犬' - 所在等级= 30 - 等级上限 =60 - 基础等级 =38 - #基础 = 4162.87878788 - #成长 = 470.76223776 - #咬住敌人时物理攻击力:% - data0 = [ int(i*1.192*1.085) for i in [0, 331, 365, 398, 432, 465, 499, 533, 566, 600, 634, 667, 701, 735, 768, 802, 835, 869, 902, 935, 969, 1003, 1036, 1070, 1104, 1137, 1171, 1205, 1238, 1272, 1305, 1339, 1373, 1406, 1440, 1474, 1507, 1541, 1575, 1608, 1642, 1675, 1709, 1743, 1776, 1810, 1844, 1877, 1911, 1945, 1978, 2012, 2045, 2079, 2113, 2145, 2179, 2213, 2246, 2280, 2314, 2347, 2381, 2415, 2448, 2482, 2515, 2549, 2583, 2616, 2650]] - #撕咬多段攻击物理攻击力:% - data1 = [ int(i*1.192*1.085) for i in [0, 331, 365, 398, 432, 465, 499, 533, 566, 600, 634, 667, 701, 735, 768, 802, 835, 869, 902, 935, 969, 1003, 1036, 1070, 1104, 1137, 1171, 1205, 1238, 1272, 1305, 1339, 1373, 1406, 1440, 1474, 1507, 1541, 1575, 1608, 1642, 1675, 1709, 1743, 1776, 1810, 1844, 1877, 1911, 1945, 1978, 2012, 2045, 2079, 2113, 2145, 2179, 2213, 2246, 2280, 2314, 2347, 2381, 2415, 2448, 2482, 2515, 2549, 2583, 2616, 2650]] - 攻击次数2 = 13 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - -class 技能11(职业主动技能): - 名称 = '狱血之牙' - 所在等级= 30 - 等级上限 =60 - 基础等级 =38 - #基础 = 5281.5666666 - #成长 = 596.353846154 - data0 = [ int(i*1.2*1.085) for i in [0, 5878, 6474, 7071, 7667, 8263, 8861, 9456, 10052, 10649, 11245, 11842, 12438, 13034, 13631, 14227, 14823, 15420, 16016, 16612, 17210, 17805, 18402, 18998, 19594, 20191, 20787, 21383, 21980, 22576, 23172, 23769, 24365, 24962, 25559, 26154, 26751, 27347, 27943, 28540, 29136, 29732, 30329, 30925, 31522, 32118, 32714, 33311, 33908, 34503, 35100, 35696, 36292, 36889, 37485, 38082, 38678, 39274, 39871, 40467, 41063, 41660, 42257, 42852, 43449, 44045, 44642, 45238, 45834, 46431, 47027]] - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - 额外倍率 = 0 - 触发概率 = 0 - def 等效百分比(self, 武器类型): - return (1 + self.额外倍率 * self.触发概率) * super().等效百分比(武器类型) - -class 技能12(职业主动技能): - 名称 = '血腥炼狱' - 所在等级= 35 - 等级上限 =60 - 基础等级 =36 - #基础 = 9392.703939 - #成长 = 1061.7061888 - data0 = [ int(i*1.161*1.085*1.053) for i in [0, 1046, 1152, 1259, 1365, 1471, 1577, 1683, 1790, 1896, 2002, 2108, 2214, 2320, 2427, 2533, 2639, 2745, 2851, 2958, 3064, 3170, 3276, 3382, 3489, 3595, 3701, 3807, 3913, 4020, 4126, 4232, 4338, 4444, 4550, 4657, 4763, 4869, 4975, 5081, 5188, 5294, 5400, 5506, 5612, 5719, 5825, 5931, 6037, 6143, 6249, 6356, 6462, 6568, 6674, 6780, 6887, 6993, 7099, 7205, 7311, 7418, 7524, 7630, 7736, 7842, 7949, 8055, 8161, 8267, 8373]] - 攻击次数 = 10 - CD =18 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - # self.基础 *= 1.2 - # self.成长 *= 1.2 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.29 - # self.基础 *= 1.29 - # self.成长 *= 1.29 - self.CD *= 0.9 - -class 技能13(职业主动技能): - 名称 = '噬魂囚笼' - 所在等级= 40 - 等级上限 =60 - 基础等级 =33 - #数组不正确,但仅体现在游戏数据中,计算器最终得出结果无异常 - #基础 = 12175.36181818/31*30 - #成长 = 1333.46433566/31*30 - data0 = [ int(i*1.193*1.085*1.051) for i in [0, 437, 481, 526, 570, 615, 659, 703, 748, 792, 837, 881, 925, 970, 1014, 1059, 1103, 1147, 1192, 1236, 1281, 1325, 1369, 1414, 1458, 1502, 1547, 1591, 1636, 1680, 1724, 1769, 1813, 1858, 1902, 1946, 1991, 2035, 2080, 2124, 2168, 2213, 2257, 2302, 2346, 2390, 2435, 2479, 2523, 2568, 2612, 2657, 2701, 2745, 2790, 2834, 2879, 2923, 2967, 3012, 3056, 3101, 3145, 3189, 3234, 3278, 3323, 3367, 3411, 3456, 3500]] - 攻击次数 = 30 - CD =20 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - # self.基础 *= 1.2 - # self.成长 *= 1.2 - self.CD *= 0.82 - elif x == 1: - self.倍率 *= 1.29 - # self.基础 *= 1.29 - # self.成长 *= 1.29 - self.CD *= 0.82 - -class 技能14(职业主动技能): - 名称 = '狱血之噬' - 所在等级= 45 - 等级上限 =60 - 基础等级 =31 - #基础 = 23208.8198030 - #成长 = 2620.41055594 - #吸血物理攻击力:% - data0 = [ int(i*1.192*1.085*1.052) for i in [0, 25837, 28458, 31079, 33701, 36322, 38943, 41564, 44185, 46807, 49428, 52049, 54670, 57291, 59913, 62534, 65155, 67776, 70397, 73018, 75640, 78261, 80882, 83503, 86124, 88746, 91367, 93988, 96609, 99230, 101852, 104473, 107094, 109715, 112336, 114958, 117579, 120200, 122821, 125442, 128064, 130685, 133306, 135927, 138548, 141170, 143791, 146412, 149033, 151654, 154275, 156897, 159518, 162139, 164760, 167381, 170003, 172624, 175245, 177866, 180487, 183109, 185730, 188351, 190972, 193593, 196215, 198836, 201457, 204078, 206699]] - CD =40 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - # self.基础 *= 1.2 - # self.成长 *= 1.2 - elif x == 1: - self.倍率 *= 1.28 - # self.基础 *= 1.28 - # self.成长 *= 1.28 - -class 技能15(职业主动技能): - 名称 = '伯爵之歌' - 所在等级= 50 - 等级上限 =60 - 基础等级 =12 - # 基础 = 46649 - # 成长 = 14081 - #多段物理攻击力:% - data0 = [ int(i*1.223*1.085) for i in [0, 3036, 3740, 4445, 5148, 5853, 6556, 7261, 7965, 8668, 9373, 10076, 10781, 11485, 12189, 12893, 13597, 14301, 15005, 15709, 16414, 17117, 17822, 18525, 19230, 19934, 20638, 21342, 22046, 22750, 23455, 24158, 24863, 25566, 26271, 26975, 27679, 28383, 29087, 29791, 30495, 105760, 107882, 110002, 112124, 114245, 116367, 118488, 120609, 122731, 124852, 126973, 129094, 131216, 133337, 135458, 137579, 139701, 141822, 143943, 146064, 148186, 150307, 152428, 154550, 156671, 158793, 160913, 163035, 165156, 167278]] - 攻击次数 = 14 - #最终一击物理攻击力:% - data1 = [ int(i*1.223*1.085) for i in [0, 18218, 22443, 26667, 30892, 35116, 39341, 43565, 47790, 52014, 56238, 60463, 64687, 68912, 73136, 77361, 81585, 85810, 90035, 94259, 98484, 102708, 106933, 111157, 115382, 119606, 123831, 128055, 132280, 136505, 140729, 144954, 149178, 153403, 157627, 161852, 166076, 170301, 174525, 178750, 182975, 105760, 107882, 110002, 112124, 114245, 116367, 118488, 120609, 122731, 124852, 126973, 129094, 131216, 133337, 135458, 137579, 139701, 141822, 143943, 146064, 148186, 150307, 152428, 154550, 156671, 158793, 160913, 163035, 165156, 167278]] - 攻击次数2 = 1 - CD = 145 - -class 技能16(职业主动技能): - 名称 = '魔仆召唤:狱犬' - 所在等级= 60 - 等级上限 =40 - 基础等级 =23 - #数组不正确,但仅体现在游戏数据中,计算器最终得出结果无异常 - #基础 = 18037.9022727225 - #成长 = 2037.774650352 - #多段物理攻击力:% - data0 = [ int(i*1.174*1.085) for i in [0, 956, 1053, 1150, 1247, 1344, 1441, 1538, 1635, 1732, 1829, 1926, 2023, 2120, 2217, 2314, 2412, 2509, 2606, 2703, 2800, 2897, 2994, 3091, 3188, 3285, 3382, 3479, 3576, 3673, 3770, 3867, 3964, 4061, 4158, 4255, 4352, 4449, 4546, 4643, 4740, 4837, 4934, 5031, 5129, 5226, 5323, 5420, 5517, 5614, 5711, 5808, 5905, 6002, 6099, 6196, 6293, 6390, 6487, 6584, 6681, 6778, 6875, 6972, 7069, 7166, 7263, 7360, 7457, 7554, 7651]] - 攻击次数 = 21 - CD =25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.13 - # self.基础 *= 1.13 - # self.成长 *= 1.13 - self.CD *= 0.8 - elif x == 1: - self.倍率 *= 1.22 - # self.基础 *= 1.22 - # self.成长 *= 1.22 - self.CD *= 0.8 - -class 技能17(职业主动技能): - 名称 = '血翼绽放' - 所在等级= 70 - 等级上限 =40 - 基础等级 =18 - #基础 = 25260.95 - #成长 = 2852.003846153 - #蝙蝠群冲击波攻击力:% - data0 = [ int(i*1.265*1.085*1.053) for i in [0, 11245, 12386, 13527, 14667, 15808, 16949, 18090, 19231, 20372, 21512, 22653, 23794, 24935, 26076, 27217, 28358, 29498, 30639, 31780, 32921, 34062, 35203, 36343, 37484, 38625, 39766, 40907, 42048, 43188, 44329, 45470, 46611, 47752, 48893, 50034, 51174, 52315, 53456, 54597, 55738]] - #血气之翼物理攻击力:% - data1 = [ int(i*1.265*1.085*1.053) for i in [0, 16869, 18579, 20290, 22001, 23713, 25424, 27135, 28846, 30558, 32269, 33980, 35691, 37403, 39114, 40825, 42537, 44248, 45959, 47670, 49382, 51093, 52804, 54515, 56227, 57938, 59649, 61360, 63072, 64783, 66494, 68206, 69917, 71628, 73339, 75050, 76762, 78473, 80185, 81895, 83607]] - 攻击次数2 = 1 - CD =50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - # self.基础 *= 1.25 - # self.成长 *= 1.25 - elif x == 1: - self.倍率 *= 1.33 - # self.基础 *= 1.33 - # self.成长 *= 1.33 - -class 技能18(职业主动技能): - 名称 = '地狱冥犬' - 所在等级= 75 - 等级上限 =40 - 基础等级 =16 - #基础 = 30218.85 - #成长 = 5734.946153849 - #撕咬攻击力:% - data0 = [ int(i*1.227*1.085*1.05) for i in [0, 899, 1042, 1186, 1329, 1471, 1616, 1759, 1902, 2046, 2189, 2332, 2476, 2619, 2761, 2906, 3049, 3192, 3336, 3478, 3623, 3766, 3909, 4054, 4197, 4340, 4483, 4626, 4769, 4914, 5056, 5199, 5343, 5486, 5629, 5773, 5916, 6059, 6204, 6346, 6489, 6633, 6776, 6920, 7063, 7206, 7350, 7493, 7636, 7780, 7923, 8066, 8210, 8353, 8496, 8640, 8783, 8926, 9070, 9213, 9356, 9500, 9643, 9787, 9930, 10073, 10217, 10360, 10503, 10647, 10790]] - 攻击次数 = 20 - #冲向地面攻击力:% - data1 = [ int(i*1.227*1.085*1.05) for i in [0, 17984, 20851, 23718, 26586, 29453, 32320, 35188, 38055, 40922, 43789, 46655, 49522, 52390, 55257, 58124, 60992, 63859, 66726, 69594, 72461, 75327, 78194, 81061, 83928, 86796, 89663, 92530, 95398, 98265, 101132, 104000, 106866, 109732, 112600, 115467, 118334, 121202, 124069, 126936, 129804, 132670, 135538, 138405, 141272, 144139, 147006, 149873, 152740, 155608, 158475, 161342, 164209, 167076, 169943, 172811, 175678, 178545, 181412, 184279, 187146, 190013, 192881, 195748, 198615, 201482, 204349, 207216, 210084, 212951, 215818]] - 攻击次数2 = 1 - CD =30 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.29 - # self.基础 *= 1.29 - # self.成长 *= 1.29 - self.CD *= 0.9 - -class 技能19(职业主动技能): - 名称 = '死亡之握' - 所在等级= 80 - 等级上限 =40 - 基础等级 =13 - #基础 = 60756.9115151488 - #成长 = 6859.7572027936 - data0 = [ int(i*1.225*1.085*1.053) for i in [0, 67617, 74477, 81337, 88196, 95056, 101916, 108776, 115634, 122494, 129354, 136214, 143074, 149933, 156793, 163653, 170513, 177372, 184232, 191092, 197952, 204811, 211671, 218530, 225391, 232250, 239110, 245969, 252830, 259689, 266549, 273409, 280269, 287129, 293988, 300848, 307707, 314568, 321427, 328287, 335145]] - CD =50 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - # self.基础 *= 1.34 - # self.成长 *= 1.34 - -class 技能20(职业主动技能): - 名称 = '血界彼岸' - 所在等级= 85 - 等级上限 =40 - 基础等级 =5 - #基础 = 108898.72 - #成长 = 32796.96 - #多段攻击力:% - data0 = [ int(i*1.223*1.085) for i in [0, 2052, 2527, 3003, 3479, 3955, 4430, 4906, 5382, 5858, 6334, 6810, 7286, 7760, 8236, 8712, 9188, 9663, 10140, 10615, 11091, 11566, 12043, 12518, 12994, 13470, 13946, 14421, 14897, 15373, 15849, 16324, 16801, 17276, 17752, 18228, 18704, 19180, 19655, 20132, 20607]] - 攻击次数 = 35 - #最终一击攻击力:% - data1 = [ int(i*1.223*1.085) for i in [0, 69761, 85938, 102115, 118291, 134468, 150644, 166821, 182998, 199175, 215351, 231528, 247705, 263881, 280058, 296234, 312411, 328588, 344764, 360941, 377117, 393294, 409471, 425648, 441823, 458000, 474178, 490354, 506531, 522707, 538884, 555061, 571238, 587414, 603590, 619768, 635944, 652121, 668297, 684473, 700651]] - 攻击次数2 = 1 - CD = 180 - -class 技能21(职业主动技能): - 名称 = '血翼蔽空' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [ int(i*1.186*1.085*1.052) for i in [0, 116057, 127831, 139604, 151378, 163152, 174926, 186700, 198474, 210248, 222022, 233796, 245570, 257344, 269117, 280891, 292665, 304439, 316213, 327987, 339761, 351535, 363309, 375083, 386857, 398630, 410404, 422178, 433952, 445726, 457500, 469274, 481048, 492822, 504596, 516370, 528144, 539917, 551691, 563465, 575239, 587013, 598787, 610561, 622335, 634109, 645883, 657657, 669430, 681204, 692978, 704752, 716526, 728300, 740074, 751848, 763622, 775396, 787170, 798943, 810717, 822491, 834265, 846039, 857813, 869587, 881361, 893135, 904909, 916683, 928456]] - CD = 60.0 - -class 技能22(职业主动技能): - 名称 = '血域帷幕·陨灭' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [ int(i*1.192*1.085) for i in [0, 40404, 49773, 59142, 68512, 77881, 87250, 96619, 105988, 115357, 124727, 134096, 143465, 152834, 162203, 171573, 180942, 190311, 199680, 209049, 218418, 227788, 237157, 246526, 255895, 265264, 274634, 284003, 293372, 302741, 312110, 321479, 330849, 340218, 349587, 358956, 368325, 377694, 387064, 396433, 405802, 415171, 424540, 433910, 443279, 452648, 462017, 471386, 480755, 490125, 499494, 508863, 518232, 527601, 536970, 546340, 555709, 565078, 574447, 583816, 593186, 602555, 611924, 621293, 630662, 640031, 649401, 658770, 668139, 677508, 686877]] - - data1 = [ int(i*1.192*1.085) for i in [0, 4040, 4977, 5914, 6851, 7788, 8725, 9661, 10598, 11535, 12472, 13409, 14346, 15283, 16220, 17157, 18094, 19031, 19968, 20904, 21841, 22778, 23715, 24652, 25589, 26526, 27463, 28400, 29337, 30274, 31211, 32147, 33084, 34021, 34958, 35895, 36832, 37769, 38706, 39643, 40580, 41517, 42454, 43390, 44327, 45264, 46201, 47138, 48075, 49012, 49949, 50886, 51823, 52760, 53697, 54634, 55570, 56507, 57444, 58381, 59318, 60255, 61192, 62129, 63066, 64003, 64940, 65877, 66813, 67750, 68687]] - data2 = [ int(i*1.192*1.085) for i in [0, 282832, 348416, 414000, 479584, 545168, 610753, 676337, 741921, 807505, 873090, 938674, 1004258, 1069842, 1135427, 1201011, 1266595, 1332179, 1397764, 1463348, 1528932, 1594516, 1660100, 1725685, 1791269, 1856853, 1922437, 1988022, 2053606, 2119190, 2184774, 2250359, 2315943, 2381527, 2447111, 2512696, 2578280, 2643864, 2709448, 2775033, 2840617, 2906201, 2971785, 3037369, 3102954, 3168538, 3234122, 3299706, 3365291, 3430875, 3496459, 3562043, 3627628, 3693212, 3758796, 3824380, 3889965, 3955549, 4021133, 4086717, 4152301, 4217886, 4283470, 4349054, 4414638, 4480223, 4545807, 4611391, 4676975, 4742560, 4808144]] - 攻击次数 = 1 - 攻击次数2 = 20 - 攻击次数3 = 1 - CD = 290.0 - - def 加成倍率(self, 武器类型): - return 0.0 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·血法师一觉序号 = 0 -知源·血法师二觉序号 = 0 -知源·血法师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·血法师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·血法师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·血法师三觉序号 = 技能序号[i.名称] - -知源·血法师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·血法师护石选项.append(i.名称) - -知源·血法师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·血法师符文选项.append(i.名称) - -class 知源·血法师角色属性(角色属性): - - 实际名称 = '知源·血法师' - 角色 = '魔法师(男)' - 职业 = '血法师' - - 武器选项 = ['矛'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 狱血之牙触发概率 = 0 - - 主BUFF = 1.97 - - def 被动倍率计算(self): - if equ.get_equ_by_name(self.装备栏[11]).名称 == '歼灵灭魂矛': - self.技能栏[self.技能序号['狱血之牙']].触发概率 = self.狱血之牙触发概率 - super().被动倍率计算() - - def __init__(self): - 基础属性输入(self) - self.技能栏= deepcopy(技能列表) - self.技能序号= deepcopy(技能序号) - -class 知源·血法师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·血法师角色属性() - self.角色属性A = 知源·血法师角色属性() - self.角色属性B = 知源·血法师角色属性() - self.一觉序号 = 知源·血法师一觉序号 - self.二觉序号 = 知源·血法师二觉序号 - self.三觉序号 = 知源·血法师三觉序号 - self.护石选项 = deepcopy(知源·血法师护石选项) - self.符文选项 = deepcopy(知源·血法师符文选项) - - def 界面(self): - super().界面() - self.狱血之牙概率=MyQComboBox(self.main_frame2) - self.狱血之牙概率.resize(130,20) - self.狱血之牙概率.move(320,450) - for i in range(11): - self.狱血之牙概率.addItem('歼灵灭魂矛:' + str(i * 10) + '%') - self.狱血之牙概率.setCurrentIndex(1) - - self.职业存档.append(('狱血之牙概率', self.狱血之牙概率, 1)) - - def 输入属性(self, 属性, x = 0): - super().输入属性(属性, x) - 属性.狱血之牙触发概率 = round(self.狱血之牙概率.currentIndex() / 10, 2) diff --git a/Characters/知源·逐风者.py b/Characters/知源·逐风者.py deleted file mode 100644 index 542dd8c2..00000000 --- a/Characters/知源·逐风者.py +++ /dev/null @@ -1,520 +0,0 @@ -from PublicReference.carry.base import * - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(被动技能): - 名称 = '疾风之棍棒精通' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['万象风龙阵','无限风域','风之极·永坠'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 <= 20: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.80 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.9 - - -class 技能1(被动技能): - 名称 = '御风之力' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能2(被动技能): - 名称 = '风神诀' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '初始之风' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能4(被动技能): - 名称 = '风之意志' - 所在等级 = 30 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025+0.015*self.等级, 5) - - -class 技能5(职业主动技能): - 名称 = '狂风冲刺' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(x*1.0*1.085) for x in [0, 309, 341, 373, 404, 436, 466, 499, 531, 563, 593, 625, 658, 688, 720, 750, 782, 812, 845, 877, 909, 939, 972, 1004, 1035, 1066, 1097, 1130, 1161, 1192, 1224, 1256, 1285, 1318, 1350, 1381, 1412, 1443, 1476, 1508, 1538, 1570, 1603, 1633, 1665, 1697, 1728, 1760, 1790, 1822, 1854, 1884, 1916, 1949, 1980, 2011, 2043, 2075, 2106, 2138, 2169, 2201, 2231, 2264, 2296, 2326, 2357, 2388, 2421, 2453, 2484]] - # 打满是9次,操作有点反人类,常规6次 - 攻击次数 = 6 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '回风斩' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # hit 4 - #风击物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 690, 760, 830, 900, 971, 1041, 1110, 1181, 1250, 1321, 1390, 1461, 1532, 1600, 1671, 1741, 1811, 1881, 1951, 2022, 2091, 2161, 2231, 2302, 2372, 2442, 2512, 2581, 2652, 2721, 2792, 2863, 2932, 3003, 3071, 3142, 3212, 3282, 3353, 3423, 3493, 3562, 3632, 3703, 3773, 3843, 3913, 3984, 4052, 4123, 4193, 4263, 4334, 4403, 4474, 4543, 4613, 4684, 4753, 4824, 4894, 4964, 5035, 5104, 5174, 5244, 5314, 5384, 5455, 5525]] - 攻击次数 = 4 - CD = 5.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '朔风牵引' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - #逆风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 438, 481, 528, 572, 617, 662, 707, 750, 794, 839, 884, 928, 972, 1018, 1062, 1107, 1151, 1196, 1240, 1285, 1328, 1375, 1419, 1464, 1507, 1551, 1596, 1640, 1686, 1730, 1775, 1819, 1865, 1909, 1953, 1997, 2043, 2087, 2130, 2176, 2221, 2266, 2309, 2353, 2398, 2443, 2487, 2531, 2577, 2621, 2666, 2710, 2755, 2799, 2844, 2889, 2934, 2978, 3023, 3068, 3110, 3155, 3199, 3245, 3289, 3334, 3378, 3424, 3468, 3512]] - # 原作者做的是6hit,测试是9hit - 攻击次数 = 9 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '风鸣冲击' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - #爆炸物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 5232, 5765, 6294, 6826, 7357, 7886, 8417, 8949, 9480, 10011, 10541, 11073, 11603, 12135, 12666, 13196, 13727, 14258, 14789, 15319, 15851, 16381, 16913, 17444, 17973, 18504, 19036, 19567, 20097, 20628, 21160, 21690, 22222, 22752, 23283, 23814, 24346, 24875, 25408, 25938, 26469, 27000, 27532, 28060, 28592, 29123, 29654, 30184, 30715, 31247, 31777, 32309, 32839, 33370, 33901, 34433, 34962, 35494, 36025, 36556]] - CD = 8.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '游离之风' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - #旋风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 967, 1065, 1163, 1261, 1359, 1457, 1555, 1655, 1751, 1851, 1947, 2047, 2145, 2243, 2342, 2439, 2538, 2635, 2734, 2831, 2930, 3028, 3126, 3224, 3322, 3420, 3518, 3618, 3714, 3814, 3912, 4010, 4108, 4206, 4304, 4402, 4500, 4599, 4696, 4795, 4892, 4991, 5089, 5187, 5286, 5383, 5483, 5579, 5679, 5775, 5875, 5973, 6071, 6169, 6267, 6366, 6463, 6562, 6659, 6758, 6856, 6954, 7052, 7150, 7248, 7346, 7444, 7544, 7640, 7740]] - 攻击次数 = 4 - CD = 6.7 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '双翼风刃' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #旋风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 1939, 2136, 2333, 2529, 2726, 2923, 3119, 3317, 3514, 3710, 3907, 4104, 4300, 4497, 4694, 4891, 5088, 5285, 5481, 5678, 5875, 6071, 6268, 6466, 6662, 6859, 7056, 7252, 7449, 7645, 7842, 8040, 8237, 8433, 8630, 8827, 9023, 9220, 9416, 9614, 9811, 10008, 10204, 10401, 10597, 10794, 10991, 11189, 11385, 11582, 11778, 11975, 12172, 12368, 12565, 12763, 12960, 13156, 13353, 13549]] - 攻击次数 = 4 - CD = 14 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '风暴之眼' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #风暴物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 7911, 8711, 9516, 10318, 11121, 11923, 12725, 13528, 14330, 15132, 15936, 16738, 17541, 18343, 19145, 19948, 20750, 21553, 22356, 23157, 23962, 24762, 25567, 26368, 27171, 27973, 28776, 29578, 30381, 31182, 31987, 32787, 33592, 34393, 35196, 35998, 36801, 37604, 38406, 39210, 40012, 40815, 41616, 42420, 43221, 44025, 44826, 45629, 46431, 47234, 48037, 48840, 49641, 50445, 51246, 52050, 52851, 53654, 54457, 55259]] - CD = 16 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.28 - self.CD *= 0.90 - elif x == 1: - self.倍率 *= 1.28 + 0.09 - self.CD *= 0.90 - - -class 技能12(职业主动技能): - 名称 = '刃风' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #第1击攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 1889, 2081, 2273, 2464, 2656, 2848, 3039, 3231, 3423, 3614, 3807, 3999, 4190, 4382, 4574, 4765, 4957, 5149, 5340, 5532, 5723, 5915, 6107, 6298, 6490, 6683, 6873, 7066, 7258, 7449, 7641, 7833, 8024, 8216, 8408, 8599, 8791, 8983, 9174, 9366, 9559, 9750, 9942, 10134, 10325, 10517, 10708, 10900, 11092, 11283, 11475, 11667, 11858, 12050, 12243, 12433, 12626, 12818, 13009, 13201]] - 攻击次数 = 1 - #第2击攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 2329, 2564, 2800, 3037, 3273, 3509, 3746, 3982, 4217, 4454, 4690, 4927, 5163, 5399, 5636, 5872, 6107, 6344, 6580, 6817, 7053, 7289, 7526, 7762, 7997, 8234, 8470, 8707, 8943, 9179, 9416, 9651, 9887, 10124, 10360, 10597, 10833, 11069, 11306, 11541, 11777, 12014, 12250, 12487, 12723, 12959, 13196, 13431, 13667, 13904, 14140, 14376, 14613, 14849, 15084, 15321, 15557, 15794, 16030, 16266]] - 攻击次数2 = 1 - #空中切割攻击力:% - data2 = [int(x*1.0*1.085) for x in [0, 1163, 1282, 1399, 1518, 1636, 1755, 1872, 1990, 2109, 2226, 2345, 2463, 2581, 2699, 2817, 2935, 3053, 3172, 3289, 3408, 3526, 3643, 3762, 3880, 3999, 4116, 4235, 4353, 4471, 4589, 4707, 4825, 4943, 5062, 5179, 5298, 5416, 5533, 5652, 5770, 5889, 6006, 6125, 6243, 6360, 6479, 6597, 6715, 6833, 6952, 7069, 7187, 7306, 7423, 7542, 7660, 7779, 7896, 8014, 8133]] - 攻击次数3 = 1 - #地上切割攻击力:% - data3 = [int(x*1.0*1.085) for x in [0, 1746, 1923, 2100, 2277, 2455, 2632, 2809, 2986, 3163, 3340, 3518, 3695, 3872, 4049, 4226, 4403, 4580, 4758, 4935, 5112, 5289, 5466, 5643, 5822, 5999, 6176, 6353, 6530, 6707, 6884, 7062, 7239, 7416, 7593, 7770, 7947, 8125, 8302, 8479, 8656, 8833, 9010, 9187, 9365, 9542, 9719, 9896, 10073, 10250, 10427, 10605, 10782, 10959, 11136, 11313, 11490, 11669, 11846, 12023, 12200]] - 攻击次数4 = 1 - #凝缩爆炸攻击力:% - data4 = [int(x*1.0*1.085) for x in [0, 4394, 4841, 5287, 5732, 6178, 6624, 7071, 7516, 7962, 8408, 8853, 9299, 9746, 10191, 10637, 11083, 11530, 11975, 12421, 12867, 13312, 13758, 14205, 14651, 15096, 15542, 15988, 16433, 16880, 17326, 17772, 18217, 18663, 19110, 19555, 20001, 20447, 20893, 21338, 21785, 22231, 22676, 23122, 23568, 24015, 24460, 24906, 25352, 25797, 26244, 26690, 27136, 27581, 28027, 28474, 28919, 29365, 29811, 30257, 30702]] - 攻击次数5 = 1 - CD = 18 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能13(职业主动技能): - 名称 = '真空旋风破' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #龙卷风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 703, 775, 847, 919, 990, 1062, 1133, 1205, 1276, 1348, 1420, 1490, 1563, 1634, 1705, 1776, 1848, 1919, 1992, 2064, 2135, 2206, 2276, 2348, 2419, 2492, 2564, 2635, 2706, 2777, 2850, 2921, 2993, 3063, 3135, 3207, 3278, 3350, 3421, 3494, 3565, 3637, 3707, 3778, 3850, 3921, 3994, 4065, 4137, 4207, 4279, 4350, 4423, 4495, 4566, 4637, 4707, 4780, 4851, 4923]] - #爆炸物理攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 5638, 6209, 6782, 7354, 7925, 8498, 9070, 9643, 10214, 10786, 11358, 11931, 12502, 13076, 13647, 14218, 14790, 15361, 15935, 16506, 17079, 17651, 18224, 18795, 19366, 19939, 20511, 21083, 21654, 22228, 22799, 23370, 23941, 24515, 25087, 25659, 26232, 26804, 27376, 27947, 28519, 29091, 29663, 30234, 30808, 31380, 31951, 32522, 33096, 33667, 34240, 34811, 35385, 35956, 36526, 37099, 37671, 38244, 38815, 39389]] - 攻击次数 = 8 - 攻击次数2 = 1 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.085 - self.CD *= 0.8 - elif x == 1: - self.倍率 *= 1.175 - self.CD *= 0.8 - - -class 技能14(职业主动技能): - 名称 = '风暴之拳' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #重拳物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 17425, 19192, 20958, 22727, 24495, 26262, 28030, 29797, 31565, 33334, 35100, 36868, 38635, 40404, 42171, 43939, 45705, 47476, 49241, 51009, 52778, 54543, 56314, 58081, 59848, 61615, 63384, 65151, 66919, 68686, 70454, 72223, 73989, 75757, 77523, 79292, 81062, 82827, 84596, 86364, 88132, 89899, 91666, 93434, 95202, 96969, 98737, 100503, 102272, 104040, 105807, 107575, 109343, 111110, 112878, 114645, 116414, 118182, 119949, 121717]] - #风暴多段攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 1493, 1644, 1796, 1948, 2099, 2251, 2402, 2553, 2704, 2857, 3008, 3158, 3311, 3463, 3615, 3765, 3917, 4068, 4221, 4373, 4522, 4675, 4826, 4979, 5129, 5281, 5432, 5585, 5736, 5886, 6038, 6190, 6341, 6493, 6645, 6796, 6947, 7098, 7251, 7402, 7552, 7705, 7856, 8009, 8160, 8311, 8462, 8615, 8766, 8916, 9069, 9220, 9373, 9521, 9675, 9826, 9979, 10131, 10280, 10432]] - 攻击次数 = 1 - 攻击次数2 = 5 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] # 不确定对不对 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - elif x == 1: - self.倍率 *= 1.295 - - -class 技能15(职业主动技能): - 名称 = '万象风龙阵' - 所在等级 = 50 - 等级上限 = 60 - 基础等级 = 12 - #飓风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 496, 611, 726, 842, 956, 1072, 1187, 1303, 1561, 1687, 1815, 1939, 2063, 2193, 2320, 2445, 2574, 2698, 2826, 2954, 3079, 3209, 3334, 3460, 3586, 3713, 3842, 3969, 4094, 4221, 4347, 4475, 4602, 4727, 4856, 4980, 5107, 5236, 5361, 5488]] - #飓风爆炸攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 8940, 11015, 13089, 15163, 17235, 19309, 21383, 23456, 28083, 30366, 32643, 34926, 37206, 39487, 41769, 44052, 46330, 48611, 50893, 53175, 55455, 57736, 60018, 62298, 64578, 66861, 69140, 71422, 73702, 75984, 78266, 80545, 82826, 85107, 87388, 89667, 91949, 94231, 96511, 98793]] - 攻击次数 = 56 - 攻击次数2 = 4 - CD = 145 - - -class 技能16(职业主动技能): - 名称 = '疾风瞬影闪' - 所在等级 = 60 - 等级上限 = 60 - 基础等级 = 23 - #风之剑物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 2586, 2849, 3111, 3375, 3636, 3897, 4161, 4423, 4687, 4948, 5211, 5474, 5735, 5998, 6260, 6524, 6786, 7048, 7310, 7573, 7836, 8097, 8360, 8622, 8886, 9148, 9409, 9672, 9935, 10198, 10460, 10721, 10986, 11247, 11509, 11772, 12034, 12296, 12559, 12821]] - 攻击次数 = 8 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.18 - elif x == 1: - self.倍率 *= 1.18 + 0.09 - - -class 技能17(职业主动技能): - 名称 = '风卷残云' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 10+1 - #风暴物理攻击力:% - data0 = [int(i*1.085) for i in [0, 2398, 2642, 2885, 3128, 3372, 3615, 3858, 4102, 4345, 4588, 4832, 5075, 5318, 5562, 5805, 6049, 6292, 6535, 6779, 7022, 7265, 7509, 7752, 7995, 8239, 8482, 8725, 8969, 9212, 9455, 9699, 9943, 10185, 10429, 10673, 10915, 11159, 11403, 11645, 11889]] - #爆炸物理攻击力:% - data1 = [int(i*1.085) for i in [0, 7995, 8806, 9618, 10429, 11240, 12052, 12863, 13674, 14485, 15296, 16107, 16918, 17730, 18541, 19352, 20164, 20975, 21785, 22596, 23408, 24219, 25030, 25842, 26653, 27464, 28275, 29086, 29897, 30708, 31520, 32331, 33142, 33954, 34765, 35575, 36387, 37198, 38009, 38820, 39632]] - 攻击次数 = 10 - 攻击次数2 = 1 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] # 不确定是加算还是乘算 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - elif x == 1: - self.倍率 *= 1.22 + 0.08 - - -class 技能18(职业主动技能): - 名称 = '游龙惊风破' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 12+1 - #多段物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 2078, 2289, 2500, 2711, 2921, 3132, 3344, 3554, 3765, 3975, 4187, 4398, 4609, 4819, 5029, 5241, 5452, 5663, 5873, 6085, 6295, 6506, 6717, 6927, 7139, 7349, 7561, 7772, 7982, 8193, 8403, 8615, 8826, 9037, 9247, 9458, 9669, 9880, 10091, 10301]] - #爆炸物理攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 34271, 37748, 41225, 44701, 48177, 51656, 55132, 58608, 62086, 65562, 69038, 72517, 75993, 79469, 82946, 86423, 89899, 93377, 96854, 100331, 103807, 107283, 110761, 114238, 117714, 121192, 124668, 128144, 131623, 135099, 138575, 142053, 145529, 149005, 152484, 155960, 159436, 162913, 166390, 169866]] - 攻击次数 = 12 - 攻击次数2 = 1 - CD = 40 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.26 - - -class 技能19(职业主动技能): - 名称 = '九霄风雷' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 14+1 - # 低于100攻速且立即落地时,存在丢hit情况,hit数11-13 - # 携带CP后不存在丢hit - #多段物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 2023, 2227, 2435, 2639, 2845, 3050, 3255, 3461, 3667, 3871, 4077, 4282, 4487, 4693, 4897, 5103, 5309, 5513, 5719, 5925, 6129, 6335, 6541, 6745, 6951, 7156, 7361, 7567, 7771, 7977, 8183, 8388, 8594, 8799, 9003, 9209, 9414, 9620, 9826, 10030]] - #爆炸物理攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 42498, 46809, 51121, 55434, 59744, 64054, 68368, 72678, 76990, 81302, 85613, 89924, 94236, 98548, 102859, 107170, 111481, 115793, 120106, 124416, 128726, 133040, 137350, 141660, 145974, 150285, 154596, 158908, 163220, 167530, 171842, 176153, 180465, 184776, 189088, 193398, 197712, 202022, 206332, 210646]] - 攻击次数 = 14 - 攻击次数2 = 1 - CD = 45 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - self.CD *= 0.89 - - -class 技能20(职业主动技能): - 名称 = '无限风域' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #狂风物理攻击力:% - data0 = [int(x*1.0*1.085) for x in [0, 14403, 17744, 21083, 24424, 27764, 31103, 34443, 37783, 41122, 44463, 47803, 51143, 54483, 57824, 61162, 64503, 67843, 71183, 74523, 77863, 81202, 84543, 87883, 91224, 94562, 97903, 101243, 104582, 107923, 111264, 114603, 117942, 121283, 124622, 127962, 131302, 134642, 137982, 141323, 144662]] - #飞行攻击物理攻击力:% - data1 = [int(x*1.0*1.085) for x in [0, 5402, 6652, 7905, 9160, 10410, 11662, 12915, 14169, 15420, 16674, 17925, 19177, 20432, 21684, 22935, 24189, 25442, 26694, 27947, 29198, 30449, 31704, 32956, 34208, 35461, 36712, 37966, 39219, 40471, 41724, 42976, 44229, 45482, 46734, 47985, 49240, 50491, 51743, 52996, 54248]] - 攻击次数2 = 8 - #最后刺击物理攻击力:% - data2 = [int(x*1.0*1.085) for x in [0, 28806, 35486, 42168, 48846, 55526, 62206, 68886, 75568, 82248, 88926, 95605, 102286, 108966, 115647, 122326, 129006, 135686, 142366, 149046, 155726, 162406, 169086, 175766, 182446, 189125, 195806, 202486, 209167, 215846, 222525, 229206, 235886, 242566, 249247, 255925, 262605, 269286, 275966, 282645, 289326]] - 攻击次数3 = 1 - #最后爆炸物理攻击力:% - data3 = [int(x*1.0*1.085) for x in [0, 57614, 70975, 84333, 97694, 111055, 124414, 137774, 151134, 164494, 177853, 191214, 204574, 217933, 231294, 244653, 258014, 271374, 284733, 298094, 311452, 324812, 338174, 351534, 364892, 378252, 391614, 404971, 418332, 431694, 445051, 458412, 471772, 485131, 498492, 511852, 525212, 538571, 551932, 565292, 578651]] - 攻击次数4 = 1 - # 1+8+1+1 - CD = 180 - - -class 技能21(职业主动技能): - 名称 = '怒风狂涌' - 所在等级 = 95 - 等级上限 = 11 - 基础等级 = 6 - data0 = [int(i*1.085) for i in [0, 3788, 4172, 4557, 4941, 5324, 5708, 6094, 6478, 6862, 7246, 7631, 8015, 8399, 8783, 9168, 9553, 9937, 10321, 10706, 11090, 11473, 11857, 12242, 12626, 13011, 13395, 13780, 14164, 14548, 14933, 15317, 15701, 16085, 16471, 16855, 17239, 17622, 18007, 18391, 18775]] - 攻击次数 = 6 - data1 = [int(i*1.085) for i in [0, 8523, 9388, 10253, 11117, 11981, 12847, 13711, 14575, 15440, 16305, 17170, 18035, 18899, 19765, 20629, 21493, 22357, 23223, 24087, 24952, 25816, 26681, 27546, 28411, 29275, 30141, 31005, 31869, 32734, 33599, 34464, 35328, 36192, 37058, 37922, 38786, 39653, 40517, 41381, 42246]] - 攻击次数2 = 4 - data2 = [int(i*1.085) for i in [0, 56822, 62586, 68351, 74115, 79880, 85645, 91411, 97175, 102939, 108704, 114468, 120233, 125998, 131762, 137527, 143291, 149055, 154820, 160585, 166350, 172114, 177879, 183645, 189407, 195172, 200938, 206702, 212467, 218232, 223997, 229760, 235525, 241290, 247054, 252819, 258584, 264348, 270112, 275877, 281641]] - 攻击次数3 = 1 - - CD = 60 - - -class 技能22(职业主动技能): - 名称 = '风之极·永坠' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.085) for i in [0, 42799, 52724, 62649, 72574, 82498, 92423, 102348, 112273, 122197, 132122, 142047, 151971, 161896, 171821, 181746, 191670, 201595, 211520, 221445, 231369, 241294, 251219, 261144, 271068, 280993, 290918, 300843, 310767, 320692, 330617, 340542, 350466, 360391, 370316, 380241, 390165, 400090, 410015, 419940, 429864]] - data1 = [int(i*1.085) for i in [0, 64200, 79087, 93974, 108862, 123748, 138636, 153522, 168410, 183297, 198184, 213071, 227958, 242845, 257733, 272619, 287506, 302393, 317280, 332168, 347054, 361942, 376828, 391716, 406603, 421490, 436377, 451265, 466151, 481039, 495925, 510813, 525700, 540587, 555474, 570362, 585248, 600136, 615022, 629909, 644797]] - data2 = [int(i*1.085) for i in [0, 12840, 15817, 18795, 21772, 24749, 27726, 30704, 33681, 36659, 39636, 42614, 45591, 48569, 51547, 54523, 57500, 60478, 63455, 66433, 69411, 72388, 75366, 78343, 81320, 84297, 87275, 90252, 93230, 96207, 99185, 102162, 105140, 108117, 111094, 114071, 117049, 120026, 123004, 125982, 128959]] - 攻击次数 = 1 - 攻击次数2 = 1 - 攻击次数3 = 25 - - - CD = 290 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·逐风者一觉序号 = 0 -知源·逐风者二觉序号 = 0 -知源·逐风者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·逐风者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·逐风者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·逐风者三觉序号 = 技能序号[i.名称] - -知源·逐风者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·逐风者护石选项.append(i.名称) - -知源·逐风者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·逐风者符文选项.append(i.名称) - - -class 知源·逐风者角色属性(角色属性): - - 实际名称 = '知源·逐风者' - 角色 = '魔法师(男)' - 职业 = '逐风者' - - 武器选项 = ['棍棒'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.11 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 知源·逐风者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·逐风者角色属性() - self.角色属性A = 知源·逐风者角色属性() - self.角色属性B = 知源·逐风者角色属性() - self.一觉序号 = 知源·逐风者一觉序号 - self.二觉序号 = 知源·逐风者二觉序号 - self.三觉序号 = 知源·逐风者三觉序号 - self.护石选项 = deepcopy(知源·逐风者护石选项) - self.符文选项 = deepcopy(知源·逐风者符文选项) diff --git a/Characters/知源·魔道学者.py b/Characters/知源·魔道学者.py deleted file mode 100644 index fb6cb6d0..00000000 --- a/Characters/知源·魔道学者.py +++ /dev/null @@ -1,554 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 技能0(主动技能): - 名称 = '变异苍蝇拍' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*75606/11.83/5722*1.085) for i in [0, 5722, 6301, 6884, 7464, 8045, 8625, 9206, 9785, 10367, 10947, 11529, 12109, 12690, 13270, 13852, 14431, 15010, 15591, 16173, 16754, 17333, 17915, 18495, 19076, 19656, 20238, 20818, 21400, 21978, 22559, 23140, 23721, 24301, 24883, 25463, 26043, 26623, 27204, 27784, 28364, 28947, 29526, 30107, 30688, 31268, 31848, 32430, 33011, 33591, 34172, 34753, 35332, 35912, 36493, 37073, 37655, 38235, 38816, 39396, 39978, 40557, 41139, 41720, 42301, 42880, 43461, 44041, 44622, 45202, 45784]] - CD = 6.4 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(被动技能): - 名称 = '亲和法米利尔' - 所在等级 = 15 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.02 * self.等级, 5) - - -class 技能2(主动技能): - 名称 = '改良舒露露' - 备注 = '大成功' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 大成功 - data0 = [int(i*17949/2.51/6419*1.085) for i in [0, 6419, 7070, 7721, 8373, 9023, 9675, 10326, 10977, 11630, 12281, 12931, 13583, 14234, 14886, 15536, 16187, 16839, 17490, 18142, 18793, 19444, 20095, 20746, 21397, 22048, 22699, 23352, 24003, 24654, 25306, 25957, 26609, 27259, 27909, 28561,29212, 29864, 30515, 31166, 31819, 32470, 33122, 33773, 34421, 35074, 35725, 36376, 37028, 37679, 38331, 38982, 39633, 40286, 40937, 41586, 42237, 42888, 43541, 44192, 44843, 45495, 46146, 46798, 47449, 48099, 48750, 49401, 50053, 50704, 51355]] - CD = 16.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '熔岩药瓶失败' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 26 - data0 = [int(i*94167/11.83/6927*1.085) for i in [0, 6927, 8031, 9137, 10242, 11346, 12451, 13555, 14659, 15764, 16868, 17973, 19078, 20182, 21289, 22393, 23496, 24601, 25705, 26810, 27915, 29020, 30126, 31230, 32332, 33436, 34541, 35648, 36752, 37857, 38961, 40064, 41169, 42274, 43379, 44484,45589, 46694, 47798, 48902, 50006, 51111, 52216, 53320, 54425, 55530, 56635, 57738, 58843, 59948, 61053, 62157, 63262, 64366, 65471, 66575, 67679, 68784, 69889, 70994, 72099, 73203, 74308, 75411, 76516, 77621, 78725, 79830, 80934, 82040, 83143]] - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能24(主动技能): - 名称 = '熔岩药瓶成功' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 26 - data1 = [int(i*24417/11.83/1884*1.085) for i in [0, 1884, 2187, 2488, 2785, 3083, 3383, 3687, 3988, 4290, 4590, 4889, 5191, 5492, 5792, 6094, 6393, 6691, 6992, 7294, 7594, 7895, 8198, 8498, 8798, 9101, 9399, 9698, 9998, 10301, 10601, 10902, 11204, 11502, 11803, 12106, 12406, 12704, 13002, 13307, 13605, 13906, 14208, 14508, 14809, 15112, 15412, 15715, 16008, 16311, 16612, 16912, 17215, 17515, 17813, 18116, 18416, 18718, 19020, 19317, 19616, 19916, 20218, 20520, 20823, 21123, 21422, 21725, 22026, 22324, 22623]] - 攻击次数2 = 6 - data2 = [int(i*1.0*1218/11.83/103*1.085) for i in [0, 103, 120, 135, 152, 169, 184, 201, 218, 234, 250, 267, 284, 300, 316, 333, 349, 364, 382, 398, 415, 430, 446, 464, 481, 497, 512, 529, 546, 561, 578, 594, 611, 627, 644, 660, 677, 693, 709, 726, 742, 758, 775, 792, 807, 824, 841, 857, 873, 890, 906, 922, 939, 955, 972, 988, 1005, 1021, 1038, 1054, 1070, 1087, 1104, 1119, 1136, 1153, 1169, 1185, 1202, 1218, 1233]] - 攻击次数3 = 10 - - # 灼烧 - data3 = [int(i*1.0*1.085) for i in [0, 12, 14, 16, 18, 20, 22, 24, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 73, 75, 77, 79, 81, - 83, 85, 87, 89, 91, 93, 95, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 144]] - 攻击次数4 = 10 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(主动技能): - 名称 = '魔道酸雨云' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 26 - data1 = [int(i*2591/11.83/194*1.085) for i in [0, 194, 224, 254, 286, 316, 346, 377, 408, 438, 469, 501, 531, 562, 593, 625, 655, 686, 717, 747, 777, 807, 840, 869, 900, 931, 964, 992, 1024, 1054, 1085, 1116, 1148, 1178, 1209, 1239, 1270, 1299, 1331, 1363, 1393, 1423, 1455, 1487, 1517, 1547, 1579, 1608, 1639, 1671, 1700, 1732, 1762, 1792, 1822, 1854, 1886, 1917, 1946, 1978, 2010, 2040, 2070, 2102, 2131, 2162, 2192, 2225, 2253, 2286, 2315]] - 攻击次数2 = 36 - # 大成功闪电部分未加强 - data2 = [int(i*11759/11.83/994*1.085) for i in [0, 994, 1153, 1310, 1471, 1631, 1787, 1947, 2105, 2263, 2423, 2579, 2740, 2900, 3058, 3217, 3375, 3534, 3692, 3851, 4009, 4166, 4325, 4486, 4646, 4801, 4962, 5121, 5278, 5439, 5595, 5756, 5915, 6073, 6232, 6389, 6547, 6708, 6867, 7024, 7182, 7341, 7503, 7661, 7817, 7977, 8134, 8293, 8451, 8610, 8769, 8931, 9089, 9246, 9405, 9566, 9724, 9881, 10040, 10197, 10355, 10518, 10676, 10835, 10992, 11150, 11311, 11467, 11624, 11785, 11946]] - 攻击次数3 = 6 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(主动技能): - 名称 = '电鳗碰撞机' - 备注 = '大成功' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.0*1.085) for i in [0, 870, 959, 1048, 1136, 1226, 1314, 1402, 1490, 1578, 1666, 1756, 1844, 1933, 2020, 2109, 2196, 2287, 2374, 2463, 2552, 2640, 2728, 2815, 2906, 2994, 3082, 3170, 3259, 3346, 3436, 3524, 3613, 3700, 3790, 3878, 3966, 4055, 4144, 4232, 4319, 4409, 4496, 4586, 4673, 4763, 4850, 4939, 5027, 5116, 5204, 5293, 5382, 5470, 5558, 5646, 5736, 5823, 5912, 6000, 6089, 6176, 6266, 6354, 6443, 6531, 6620, 6708, 6795, 6886, 6974]] - 攻击次数2 = 14 - data2 = [int(i*1.0*1.085) for i in [0, 1370, 1509, 1648, 1787, 1928, 2067, 2205, 2345, 2484, 2623, 2762, 2901, 3040, 3179, 3318, 3457, 3596, 3736, 3874, 4013, 4153, 4292, 4430, 4569, 4709, 4849, 4988, 5127, 5266, 5405, 5545, 5683, 5822, 5961, 6099, 6238, 6378, 6518, 6657, 6795, 6935, 7074, 7213, 7352, 7491, 7630, 7770, 7910, 8047, 8186, 8326, 8464, 8603, 8743, 8882, 9020, 9160, 9300, 9439, 9578, 9717, 9856, 9995, 10135, 10273, 10412, 10552, 10691, 10831, 10971]] - 攻击次数3 = 1 - # 感电 - data3 = [int(i*1.0*1.085) for i in [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, - 17, 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 25, 25, 25, 26, 26, 27, 27, 27, 28, 28, 29, 29, 29, 30, 30, 31, 31, 31]] - 攻击次数4 = 5 - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 4.8 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.27 - - elif x == 1: - self.倍率 *= 1.36 - - -class 技能6(主动技能): - 名称 = '反重力装置' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 大成功 - data0 = [int(i*161550/11.83/12258*1.085) for i in [0, 12258, 13502, 14745, 15989, 17233, 18475, 19719, 20963, 22207, 23451, 24694, 25937, 27181, 28424, 29668, 30912, 32155, 33399, 34642, 35886, 37130, 38373, 39617, 40861, 42105, 43347, 44591, 45834, 47078, 48322, 49566, 50810, 52052, 53296, 54540, 55784, 57027, 58271, 59515, 60757, 62001, 63245, 64489, 65733, 66977, 68221, 69463, 70707, 71950, 73194, 74438, 75681, 76925, 78168, 79412, 80656, 81900, 83143, 84387, 85631, 86873, 88117, 89360, 90604, 91848, 93092, 94336, 95579, 96822, 98066]] - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '暴炎加热炉失败' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*11948/11.83/918*1.085) for i in [0, 918, 1010, 1105, 1198, 1291, 1384, 1478, 1571, 1665, 1758, 1851, 1943, 2036, 2130, 2222, 2316, 2409, 2504, 2596, 2689, 2782, 2875, 2969, 3062, 3156, 3248, 3342, 3435, 3528, 3622, 3715, 3807, 3900, 3994, 4087, 4179, 4273, 4366, 4461, 4553, 4647, 4739, 4833, 4927, 5020, 5113, 5205, 5299, 5393, 5487, 5579, 5673, 5764, 5858, 5951, 6044, 6138, 6230, 6325, 6418, 6511, 6604, 6696, 6790, 6884, 6977, 7070, 7164, 7256, 7351]] - 攻击次数 = 13 - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 2.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2768 - - elif x == 1: - self.倍率 *= 1.3655 - - -class 技能8(主动技能): - 名称 = '冰霜钻孔车失败' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data1 = [int(i*1.0*1.085) for i in [0, 922, 1016, 1109, 1203, 1297, 1391, 1483, 1577, 1672, 1765, 1858, 1952, 2046, 2140, 2233, 2327, 2421, 2514, 2608, 2702, 2795, 2889, 2983, 3076, 3170, 3264, 3358, 3451, 3544, 3639, 3733, 3825, 3919, 4013, 4106, 4199, 4293, 4387, 4481, 4573, 4668, 4762, 4855, 4948, 5042, 5137, 5230, 5323, 5417, 5511, 5604, 5699, 5792, 5885, 5979, 6073, 6167, 6260, 6354, 6448, 6541, 6635, 6729, 6823, 6915, 7009, 7103, 7198, 7289, 7383]] - 攻击次数2 = 9 - data2 = [int(i*1.0*1.085) for i in [0, 8306, 9150, 9992, 10836, 11677, 12521, 13363, 14207, 15050, 15891, 16735, 17578, 18420, 19263, 20107, 20947, 21791, 22634, 23477, 24320, 25162, 26005, 26848, 27691, 28533, 29377, 30219, 31061, 31904, 32748, 33591, 34433, 35276, 36118, 36961, 37804, 38647, 39489, 40332, 41175, 42018, 42862, 43704, 44546, 45389, 46233, 47074, 47918, 48762, 49602, 50445, 51289, 52132, 52974, 53817, 54659, 55503, 56345, 57188, 58032, 58874, 59715, 60559, 61403, 62244, 63087, 63930, 64773, 65615, 66459]] - 攻击次数3 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 2.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - - elif x == 1: - self.倍率 *= 1.32 - - -class 技能9(主动技能): - 名称 = '超级苍蝇拍' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.0*1.085) for i in [0, 27391, 30171, 32948, 35726, 38504, 41284, 44063, 46842, 49621, 52400, 55178, 57958, 60737, 63516, 66294, 69074, 71852, 74631, 77411, 80190, 82968, 85748, 88525, 91304, 94082, 96862, 99640, 102419, 105199, 107978, 110756, 113535, 116314, 119093, 121872, 124652, 127430, 130209, 132988, 135767, 138546, 141322, 144100, 146880, 149658, 152438, 155217, 157996, 160774, 163554, 166332, 169111, 171890, 174669, 177448, 180226, 183007, 185785, 188564, 191343, 194122, 196899, 199678, 202458, 205236, 208015, 210794, 213574, 216352, 219130]] - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - self.CD *= 0.9 - - elif x == 1: - self.倍率 *= 1.24 - self.CD *= 0.9 - - -class 技能10(被动技能): - 名称 = '成功预感' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1 + round(16 + 1.5 * (self.等级 - 16), 1) / 100 - - -class 技能11(主动技能): - 名称 = '技艺融合' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.13*1.085) for i in [0, 1704, 2100, 2496, 2893, 3287, 3684, 4079, 4475, 4870, 5266, 5660, 6058, 6452, 6849, 7243, 7639, 8033, 8430, 8825, 9221, 9617, 10012, 10408, 10804, 11198, 11595, 11991, 12384, 12782, 13177, 13571, 13966, 14364, 14757, 15154, 15550, 15944, 16341, 16737, 17131, 17528, 17923, 18320, 18715, 19111, 19504, 19902, 20296, 20691, 21088, 21483, 21878, 22275, 22670, 23065, 23461, 23857, 24251, 24648, 25042, 25438, 25836, 26229, 26626, 27021, 27417, 27811, 28208, 28603, 28999]] - 攻击次数2 = 22 - data2 = [int(i*1.13*1.085) for i in [0, 46315, 57054, 67795, 78534, 89273, 100014, 110754, 121494, 132233, 142972, 153713, 164453, 175191, 185933, 196672, 207412, 218151, 228891, 239631, 250370, 261112, 271851, 282590, 293331, 304069, 314810, 325549, 336288, 347031, 357770, 368509, 379248, 389988, 400728, 411467, 422209, 432948, 443687, 454427, 465167, 475906, 486646, 497387, 508127, 518866, 529605, 540344, 551086, 561825, 572566, 583305, 594044, 604785, 615525, 626264, 637003, 647743, 658485, 669224, 679964, 690702, 701442, 712182, 722921, 733664, 744403, 755141, 765881, 776621, 787361]] - 攻击次数3 = 1 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 * 1.1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(主动技能): - 名称 = '光电兔' - 备注 = '大成功' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*124475/11.83/9439*1.085) for i in [0, 9439, 10397, 11355, 12312, 13270, 14227, 15186, 16142, 17100, 18058, 19016, 19974, 20931, 21889, 22847, 23805, 24762, 25719, 26677, 27635, 28593, 29550, 30507, 31466, 32423, 33381, 34338, 35296, 36254, 37212, 38169, 39126, 40085, 41042, 42001, 42957, 43914, 44873, 45830, 46788, 47745, 48704, 49661, 50620, 51576, 52534, 53492, 54449, 55407, 56364, 57323, 58280, 59239, 60195, 61153, 62111, 63068, 64025, 64983, 65941, 66899, 67857, 68814, 69772, 70730, 71688, 72644, 73602, 74560, 75518]] - 攻击次数2 = 4 - data2 = [int(i*81071/11.83/5524*1.085) for i in [0, 5524, 6085, 6645, 7205, 7766, 8327, 8887, 9447, 10008, 10568, 11128, 11689, 12250, 12810, 13370, 13931, 14491, 15051, 15612, 16173, 16733, 17293, 17854, 18414, 18975, 19535, 20097, 20656, 21216, 21778, 22338, 22899, 23458, 24020, 24580, 25140, 25701, 26261, 26822, 27383, 27943, 28503, 29063, 29624, 30184, 30745, 31306, 31866, 32426, 32986, 33547, 34107, 34668, 35229, 35789, 36349, 36909, 37470, 38030, 38591, 39153, 39712, 40272, 40832, 41394, 41954, 42514, 43076, 43636, 44196]] - 攻击次数3 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 4 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.15 - - elif x == 1: - self.倍率 *= 1.23 - - -class 技能13(主动技能): - 名称 = '雪人刨冰' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - - data1 = [int(i*1.131*1.085) for i in [0, 2102, 2314, 2527, 2740, 2954, 3168, 3381, 3594, 3806, 4021, 4234, 4446, 4660, 4874, 5086, 5301, 5513, 5728, 5938, 6153, 6368, 6579, 6796, 7007, 7220, 7435, 7647, 7861, 8074, 8287, 8500, 8714, 8928, 9140, 9354, 9566, 9779, 9994, 10207, 10419, 10633, 10846, 11060, 11272, 11486, 11699, 11912, 12125, 12339, 12553]] - 攻击次数2 = 18 - - data2 = [int(i*1.131*1.085) for i in [0, 1295, 1427, 1560, 1690, 1822, 1952, 2083, 2218, 2349, 2480, 2610, 2742, 2873, 3006, 3137, 3269, 3399, 3531, 3662, 3796, 3927, 4058, 4189, 4320, 4453, 4584, 4716, 4847, 4980, 5111, 5243, 5374, 5504, 5637, 5767, 5899, 6030, 6163, 6295, 6426, 6556, 6688, 6818, 6952, 7084, 7214, 7345, 7476, 7608, 7739]] - 攻击次数3 = 13 - - data3 = [int(i*1.131*1.085) for i in [0, 17828, 19634, 21443, 23252, 25059, 26869, 28677, 30486, 32294, 34103, 35911, 37719, 39526, 41336, 43143, 44954, 46762, 48572, 50379, 52187, 53998, 55805, 57613, 59424, 61229, 63038, 64848, 66656, 68464, 70273, 72080, 73889, 75697, 77507, 79313, 81123, 82932, 84740, 86548, 88358, 90165, 91975, 93783, 95591, 97402, 99210, 101017, 102826, 104633, 106443]] - 攻击次数4 = 1 - - CD = 40.0 - 演出时间 = 4 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self): - self.倍率 *= 1.3 - - -class 技能14(被动技能): - 名称 = '贤者之石' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['魔道酸雨云', '电鳗碰撞机', '反重力装置', '熔岩药瓶成功'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能15(被动技能): - 名称 = '魔道学助手' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['变异苍蝇拍', '超级苍蝇拍', '改良舒露露', '技艺融合', '超级棒棒糖', - '光电兔', '雪人刨冰', '乌洛波洛斯之环', '糖果大作战精怪乐园', '糖果大作战捣蛋杰克'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.17 + 0.02 * self.等级, 5) - - -class 技能16(被动技能): - 名称 = '魔道学助手+苦涩棒棒糖' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['冰霜钻孔车失败', '暴炎加热炉失败', '熔岩药瓶失败'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.88 + 0.02 * self.等级, 5) - - -class 技能17(主动技能): - 名称 = '超级棒棒糖' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data1 = [int(i*1.141*1.085) for i in [0, 51736, 56983, 62233, 67479, 72729, 77977, 83227, 88475, 93725, 98971, 104221, 109469, 114718, 119966, 125215, 130462, 135715, 140960, 146210, 151458, 156707, 161954, 167204, 172452, 177701, 182950, 188198, 193446, 198695, 203942, 209192, 214440, 219690, 224939, 230188, 235433, 240683, 245931, 251181, 256430, 261679, 266925, 272174, 277422, 282673, 287920, 293169, 298418, 303666, 308916, 314163, 319413, 324660, 329909, 335157, 340408, 345655, 350905, 356151, 361399, 366649, 371898, 377147, 382396, 387643, 392891, 398141, 403389, 408637, 413887]] - 攻击次数2 = 1 - data2 = [int(i*1.141*1.085) for i in [0, 33077, 36433, 39788, 43144, 46499, 49856, 53211, 56565, 59921, 63277, 66632, 69989, 73342, 76700, 80053, 83410, 86765, 90121, 93480, 96834, 100190, 103546, 106902, 110255, 113614, 116967, 120323, 123678, 127034, 130388, 133745, 137099, 140457, 143810, 147167, 150523, 153878, 157235, 160590, 163948, 167301, 170658, 174014, 177369, 180724, 184081, 187436, 190792, 194147, 197503, 200858, 204213, 207570, 210925, 214279, 217636, 220992, 224348, 227704, 231058, 234416, 237770, 241128, 244482, 247839, 251193, 254549, 257905, 261262, 264615]] - 攻击次数3 = 1 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self): - self.倍率 *= 1.32 - self.CD *= 0.9 - - CD = 45.0 - 演出时间 = 0.5 - - -class 技能18(主动技能): - 名称 = '乌洛波洛斯之环' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data1 = [int(i*1.14*1.085) for i in [0, 2868, 3533, 4198, 4864, 5529, 6194, 6861, 7525, 8190, 8855, 9521, 10186, 10851, 11515, 12182, 12846, 13510, 14178, 14842, 15508, 16173, 16838, 17503, 18168, 18833, 19499, 20164, 20829, 21496, 22160, 22825, 23490, 24156, 24821, 25485, 26152, 26817, 27482, 28146, 28813, 29478, 30143, 30807, 31474, 32138, 32803, 33468, 34133, 34799, 35463, 36130, 36796, 37460, 38127, 38791, 39455, 40121, 40785, 41452, 42117, 42780, 43449, 44113, 44778, 45443, 46106, 46774, 47438, 48103, 48769]] - 攻击次数2 = 21 - data2 = [int(i*1.14*1.085) for i in [0, 2332, 2872, 3412, 3954, 4493, 5033, 5575, 6115, 6655, 7197, 7736, 8276, 8818, 9360, 9900, 10440, 10982, 11522, 12061, 12603, 13144, 13683, 14224, 14766, 15307, 15847, 16387, 16929, 17468, 18009, 18550, 19089, 19630, 20172, 20713, 21253, 21794, 22334, 22875, 23415, 23956, 24498, 25037, 25576, 26118, 26659, 27200, 27741, 28282, 28822, 29362, 29903, 30443, 30984, 31526, 32065, 32604, 33146, 33688, 34228, 34769, 35310, 35851, 36389, 36930, 37472, 38012, 38552, 39093, 39636]] - 攻击次数3 = 20 - data3 = [int(i*1.14*1.085) for i in [0, 72646, 89494, 106340, 123187, 140032, 156877, 173722, 190569, 207415, 224262, 241107, 257953, 274800, 291646, 308492, 325338, 342185, 359029, 375876, 392721, 409568, 426412, 443259, 460105, 476951, 493797, 510644, 527490, 544335, 561180, 578027, 594872, 611719, 628565, 645411, 662256, 679103, 695949, 712796, 729641, 746487, 763333, 780179, 797024, 813871, 830716, 847563, 864409, 881255, 898100, 914947, 931793, 948637, 965483, 982331, 999177, 1016022, 1032868, 1049714, 1066560, 1083406, 1100254, 1117099, 1133944, 1150790, 1167637, 1184483, 1201328, 1218174, 1235021]] - 攻击次数4 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3+self.data3[self.等级] * self.攻击次数4) * self.倍率 - - CD = 180.0 - - -class 技能19(主动技能): - 名称 = '魔法秀' - 所在等级 = 20 - 等级上限 = 15 - 基础等级 = 10 - 是否有伤害 = 0 - 冷却关联技能 = ['改良舒露露', '熔岩药瓶失败', '魔道酸雨云', '电鳗碰撞机', '暴炎加热炉失败', - '冰霜钻孔车失败', '反重力装置', '熔岩药瓶成功', '光电兔', '雪人刨冰', '糖果大作战捣蛋杰克'] - - 魔法秀数值 = [0, 22, 43, 65, 86, 108, 130, 151, 173, 194, 216, - 238, 259, 281, 302, 324, 346, 367, 389, 410, 432] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 - 0.001*self.魔法秀数值[self.等级], 3) - - -class 技能20(被动技能): - 名称 = '粉红糖果' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = '糖果大作战捣蛋杰克' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.131*1.085) for i in [0, 5463, 6017, 6571, 7125, 7680, 8233, 8788, 9342, 9897, 10450, 11005, 11559, 12113, 12667, 13222, 13776, 14330, 14885, 15439, 15993, 16547, 17102, 17655, 18210, 18764, 19319, 19872, 20427, 20981, 21535, 22089, 22644, 23198, 23752, 24306, 24861, 25414, 25969, 26524, 27078, 27632, 28186, 28741, 29294, 29849, 30403, 30958, 31511, 32066, 32620]] - 攻击次数 = 25 - # 基础 = 4909 - # 成长 = 554 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * self.倍率 - - -class 技能22(主动技能): - 名称 = '糖果大作战精怪乐园' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.141*1.085) for i in [0, 12317, 15173, 18029, 20886, 23742, 26597, 29454, 32310, 35167, 38022, 40879, 43735, 46591, 49447, 52303, 55160, 58016, 60872, 63728, 66584, 69441, 72296, 75153, 78009, 80865, 83721, 86577, 89434, 92290, 95146, 98002, 100858, 103715, 106570, 109427, 112283, 115140, 117995, 120851, 123708, 126564, 129421, 132276, 135132, 137989, 140845, 143701, 146557, 149414, 152270]] - 攻击次数 = 8 - # 基础 = 9461 - # 成长 = 2856 - # 攻击次数 = 8 - data2 = [int(i*1.141*1.085) for i in [0, 73904, 91040, 108178, 125314, 142452, 159588, 176726, 193862, 211000, 228136, 245274, 262411, 279548, 296686, 313822, 330960, 348096, 365234, 382370, 399508, 416644, 433782, 450918, 468056, 485193, 502330, 519468, 536604, 553742, 570878, 588016, 605152, 622290, 639426, 656564, 673700, 690838, 707975, 725112, 742249, 759386, 776524, 793660, 810798, 827934, 845072, 862208, 879346, 896482, 913620]] - # 基础2 = 56768 - # 成长2 = 17136 - 攻击次数3 = 1 - data3 = [int(i*1.141*1.085) for i in [0, 80062, 98627, 117192, 135757, 154323, 172888, 191453, 210018, 228583, 247148, 265713, 284278, 302844, 321409, 339974, 358539, 377105, 395670, 414234, 432800, 451365, 469930, 488495, 507061, 525626, 544191, 562756, 581321, 599887, 618452, 637016, 655582, 674147, 692712, 711277, 729843, 748408, 766973, 785538, 804103, 822669, 841233, 859798, 878364, 896929, 915494, 934059, 952625, 971190, 989755]] - # 基础3 = 61497 - # 成长3 = 18565 - 攻击次数4 = 4 - CD = 290.0 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数3+self.data3[self.等级] * self.攻击次数4) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能23(被动技能): - 名称 = '幸运棒棒糖' - 所在等级 = 25 - 等级上限 = 15 - 基础等级 = 5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.07 + 0.01 * self.等级, 5) - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -知源·魔道学者一觉序号 = 0 -知源·魔道学者二觉序号 = 0 -知源·魔道学者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 知源·魔道学者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 知源·魔道学者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 知源·魔道学者三觉序号 = 技能序号[i.名称] - -知源·魔道学者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 知源·魔道学者护石选项.append(i.名称) - -知源·魔道学者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 知源·魔道学者符文选项.append(i.名称) - - -class 知源·魔道学者角色属性(角色属性): - - 实际名称 = '知源·魔道学者' - 角色 = '魔法师(女)' - 职业 = '魔道学者' - - 武器选项 = ['魔杖', '法杖', '棍棒', '矛', '扫把'] - - 类型选择 = ['魔法固伤'] - - 类型 = '魔法固伤' - 防具类型 = '皮甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.92 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 知源·魔道学者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 知源·魔道学者角色属性() - self.角色属性A = 知源·魔道学者角色属性() - self.角色属性B = 知源·魔道学者角色属性() - self.一觉序号 = 知源·魔道学者一觉序号 - self.二觉序号 = 知源·魔道学者二觉序号 - self.三觉序号 = 知源·魔道学者三觉序号 - self.护石选项 = deepcopy(知源·魔道学者护石选项) - self.符文选项 = deepcopy(知源·魔道学者符文选项) diff --git a/Characters/神启·圣骑士.py b/Characters/神启·圣骑士.py deleted file mode 100644 index 841b5d86..00000000 --- a/Characters/神启·圣骑士.py +++ /dev/null @@ -1,271 +0,0 @@ -from PublicReference.buffer.base import * - - -class 神启·圣骑士技能0(被动技能): - 名称 = '启示圣歌' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 31 - 额外智力 = 0 - 站街生效 = 1 - 智力 = [0, 86, 90, 94, 98, 102, 107, 112, 117, 123, 129, 135, 141, 147, 154, 161, 169, 177, 185, 193, 201, 210, 219, 229, 238, 248, 258, 269, 279, 290, 301, - 313, 325, 337, 349, 361, 375, 388, 401, 415, 429, 443, 457, 473, 487, 503, 519, 535, 551, 567, 584, 598, 614, 630, 646, 662, 677, 693, 709, 725, 741] - - def 智力加成(self): - return self.智力[self.等级] + self.额外智力 + self.进图加成 - - def 结算统计(self,context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 神启·圣骑士技能1(主动技能): - 名称 = '勇气祝福' - 所在等级 = 30 - 等级上限 = 40 - 基础等级 = 10 - BUFF力量per = 0 - BUFF智力per = 0 - BUFF物攻per = 0 - BUFF魔攻per = 0 - BUFF独立per = 0 - BUFF力量 = 0 - BUFF智力 = 0 - BUFF物攻 = 0 - BUFF魔攻 = 0 - BUFF独立 = 0 - 三攻 = [0, 38, 40, 42, 43, 44, 46, 48, 49, 51, 52, 53, 55, 57, 58, 60, 61, 62, 64, 66, 68, 69, 70, 72, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 88, 90, 92, 93, 95, - 96, 98, 100, 101, 103, 104, 105, 107, 109, 110, 112, 113, 114, 116, 118, 119, 121, 122, 123, 126, 127, 129, 130, 131, 133, 135, 136, 138, 139, 140, 143, 144] - 力智 = [0, 148, 158, 169, 179, 189, 198, 208, 218, 228, 239, 249, 259, 269, 279, 290, 299, 309, 319, 329, 339, 349, 360, 370, 380, 390, 399, 409, 420, 430, 440, 450, 460, 470, 481, - 491, 500, 510, 520, 530, 541, 551, 561, 571, 581, 592, 601, 611, 621, 631, 641, 651, 662, 672, 682, 692, 701, 711, 722, 732, 742, 752, 762, 772, 783, 793, 802, 812, 822, 832, 843] - - def 结算统计(self,context): - 倍率 = self.适用数值 / 665 + 1 - temp = [0, 0, 0] # 智力,体力,精神 - temp.append(int(round( - (self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per * 倍率, 3))) # 力量 - temp.append(int(round( - (self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per * 倍率, 3))) # 智力 - temp.append(int(round( - (self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per * 倍率, 3))) # 物攻 - temp.append(int(round( - (self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per * 倍率, 3))) # 魔攻 - temp.append(int(round( - (self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per * 倍率, 3))) # 独立 - return temp - - def 技能面板(self): - temp = [] - temp.append(self.名称) - temp.append( - int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per))) - temp.append( - int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per))) - temp.append( - int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per))) - return temp - - -class 神启·圣骑士技能2(主动技能): - 名称 = '勇气圣歌' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 24 - 增幅倍率 = 0.15 - - def 结算统计(self,context): - buff = context.技能表['BUFF'] - if buff.是否启用: - values = buff.结算统计(context) - return [int(round(i * self.增幅倍率)) for i in values] - return [0]*8 - - -class 神启·圣骑士技能3(主动技能): - 名称 = '神光十字' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - 力智 = 72 - - def 力智加成(self): - return self.力智 + self.等级 * 6 - - def 结算统计(self,context): - return [0, 0, 0, self.力智加成(), self.力智加成(), 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 神启·圣骑士技能4(被动技能): - 名称 = '虔诚信念' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 额外力智 = 0 - 力智 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, - 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892] - 三攻 = 22 - - def 力智加成(self): - return self.力智[self.等级] + self.额外力智 - - def 三攻加成(self): - if self.等级 > 0: - return self.三攻 + self.等级 - else: - return 0 - - def 结算统计(self,context): - return [self.力智加成(), 0, 0, self.力智加成(), self.力智加成(), 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 神启·圣骑士技能5(觉醒技能): - 名称 = '圣光天启' - pass - - -class 神启·圣骑士技能6(被动技能): - 名称 = '大天使的庇护' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 站街生效 = 1 - 智力 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, - 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540] - - def 智力加成(self): - return self.智力[self.等级] - - def 结算统计(self,context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 神启·圣骑士技能7(主动技能): - 名称 = '救赎彼岸:惩戒圣枪' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - - def 结算统计(self,context): - return [0, 0, 0, 0, 0, 0, 0, 0] - - -class 神启·圣骑士技能8(被动技能): - 名称 = '圣天使之光' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 站街生效 = 1 - 智力 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, - 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] - - def 智力加成(self): - return self.智力[self.等级] - - def 结算统计(self,context): - return [self.智力加成(), 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 神启·圣骑士技能9(三觉技能): - 名称 = '祈愿·天使赞歌' - 关联技能 = ['救赎彼岸:惩戒圣枪'] - pass - - - - -技能表 = {} -技能栏 = [] -i = 0 -while i >= 0: - try: - skill: 技能 = eval("神启·圣骑士技能"+str(i)+"()") - skill.技能序号 = i - skill.技能表 = 技能表 - 名称 = skill.名称 - if skill.所在等级 == 30: - 名称 = 'BUFF' - elif skill.所在等级 == 50: - 名称 = '一次觉醒' - elif skill.所在等级 == 85: - 名称 = '二次觉醒' - elif skill.所在等级 == 100: - 名称 = '三次觉醒' - 技能表[名称] = skill - 技能栏.append(skill) - i += 1 - except: - i = -1 - - -class 神启·圣骑士角色属性(辅助角色属性): - 实际名称 = '神启·圣骑士' - 角色 = '圣职者(女)' - 职业 = '圣骑士' - - 武器选项 = ['十字架'] - - 防具类型 = '板甲' - 防具精通属性 = ['智力'] - - def __init__(self): - super().__init__() - self.武器选项 = ['十字架'] - self.防具精通属性 = ['智力'] - self.类型选择 = ['智力'] - self.类型 = '智力' - self.技能表 = deepcopy(技能表) - self.技能栏 = list(self.技能表.values()) - self.一觉序号 = self.技能表['一次觉醒'].技能序号 - self.二觉序号 = self.技能表['二次觉醒'].技能序号 - self.三觉序号 = self.技能表['三次觉醒'].技能序号 - 基础属性输入(self) - - def 专属词条计算(self): - - self.技能表['启示圣歌'].等级加成(self.转职被动Lv) - self.技能表['启示圣歌'].额外智力 += self.转职被动智力 - self.技能表['启示圣歌'].进图加成 += self.被动进图加成 - - self.技能表['BUFF'].等级加成(self.BUFFLv) - self.技能表['BUFF'].BUFF力量per = self.BUFF力量per - self.技能表['BUFF'].BUFF智力per = self.BUFF智力per - self.技能表['BUFF'].BUFF物攻per = self.BUFF物攻per - self.技能表['BUFF'].BUFF魔攻per = self.BUFF魔攻per - self.技能表['BUFF'].BUFF独立per = self.BUFF独立per - self.技能表['BUFF'].BUFF力量 = self.BUFF力量 - self.技能表['BUFF'].BUFF智力 = self.BUFF智力 - self.技能表['BUFF'].BUFF物攻 = self.BUFF物攻 - self.技能表['BUFF'].BUFF魔攻 = self.BUFF魔攻 - self.技能表['BUFF'].BUFF独立 = self.BUFF独立 - - self.技能表['一次觉醒'].等级加成(self.一觉Lv) - self.技能表['一次觉醒'].一觉力智 = self.一觉力智 - self.技能表['一次觉醒'].一觉力智per = self.一觉力智per - - self.技能表['虔诚信念'].等级加成(self.一觉被动Lv) - self.技能表['虔诚信念'].额外力智 = self.一觉被动力智 - - def 系数数值站街(self): - return self.智力 - - def 系数数值进图(self): - return self.进图智力 - - def get_data(self): - self.buff_rate = 1.15 if self.技能表['勇气圣歌'].是否启用 else 1 - return super().get_data() - - -class 神启·圣骑士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·圣骑士角色属性() - self.角色属性A = deepcopy(self.初始属性) - self.角色属性B = deepcopy(self.初始属性) diff --git a/Characters/神启·复仇者.py b/Characters/神启·复仇者.py deleted file mode 100644 index b974a404..00000000 --- a/Characters/神启·复仇者.py +++ /dev/null @@ -1,555 +0,0 @@ -from math import * -from PublicReference.carry.base import * - -# 技能后的倍率是魔化后的倍率 - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - 魔化 = 1.0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.魔化 - -class 技能0(职业主动技能): - 名称 = '恶魔之手' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - data0 = [int(x*1.2) for x in [0, 426, 469, 512, 555, 599, 642, 685, 728, 772, 815, 858, 901, 945, 988, 1031, 1074, 1117, 1161, 1204, 1247, 1290, - 1334, 1377, 1420, 1463, 1507, 1550, 1593, 1636, 1680, 1723, 1766, 1809, 1852, 1896, 1939, 1982, 2025, 2069, 2112, - 2155, 2198, 2242, 2285, 2328, 2371, 2415, 2458, 2501, 2544, 2587, 2631, 2674, 2717, 2760, 2804, 2847, 2890, 2933, - 2977, 3020, 3063, 3106, 3150, 3193, 3236, 3279, 3322, 3366, 3409]] - data1 = [int(x*1.2) for x in [0, 852, 938, 1025, 1111, 1198, 1284, 1371, 1457, 1544, 1630, 1717, 1803, 1890, 1976, 2062, 2149, 2235, 2322, 2408, - 2495, 2581, 2668, 2754, 2841, 2927, 3014, 3100, 3187, 3273, 3360, 3446, 3532, 3619, 3705, 3792, 3878, 3965, 4051, - 4138, 4224, 4311, 4397, 4484, 4570, 4657, 4743, 4830, 4916, 5002, 5089, 5175, 5262, 5348, 5435, 5521, 5608, 5694, - 5781, 5867, 5954, 6040, 6127, 6213, 6300, 6386, 6472, 6559, 6645, 6732, 6818]] - 攻击次数2 = 1 - 魔化 = 2.24 # 魔化 - CD = 6 * 1.6 - TP成长 = 0.08 - TP上限 = 5 - -class 技能1(职业主动技能): - 名称 = '死亡切割' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(x*1.2) for x in [0, 221, 243, 265, 288, 310, 333, 355, 378, 400, 422, 445, 467, 490, 512, 535, 557, 579, 602, 624, 647, 669, 692, 714, 736, 759, 781, 804, 826, 849, 871, 893, 916, 938, 961, 983, 1006, 1028, 1050, 1073, 1095, 1118, 1140, 1163, 1185, 1207, 1230, 1252, 1275, 1297, 1320, 1342, 1364, 1387, 1409, 1432, 1454, 1477, 1499, 1521, 1544, 1566, 1589, 1611, 1634, 1656, 1678, 1701, 1723, 1746, 1768]] - 攻击次数 = 6 - 魔化 = 2.25 # 魔化 - CD = 5 * 1.6 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(被动技能): - 名称 = '镰刀精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能3(职业主动技能): - 名称 = '裂地锤' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(x*1.101) for x in [0, 441, 487, 532, 577, 620, 668, 714, 759, 805, 852, 896, 943, 986, 1034, 1079, 1124, 1170, 1216, 1260, 1307, 1351, - 1397, 1444, 1488, 1534, 1582, 1625, 1670, 1716, 1761, 1809, 1852, 1899, 1942, 1990, 2036, 2081, 2127, 2174, 2218, - 2265, 2308, 2354, 2401, 2444, 2492, 2538, 2582, 2629, 2673, 2719, 2765, 2810, 2855, 2902, 2947, 2992, 3038, 3083, - 3128, 3176, 3221, 3266, 3312, 3357, 3402, 3448, 3494, 3539, 3585]] - 攻击次数 = 8 # 最高8hit 三觉优化 - CD = 5 * 1.55 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能4(被动技能): - 名称 = '恶魔诅咒' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['不朽战吼', '地狱之门', '厄运之轮', '恶魔之拳', '恶魔之手', '恶魔之握', '复仇之刺', '黑暗权能', - '回旋飞镰', '毁灭强击', '裂地锤', '末日浩劫', '死亡切割', '永堕:混沌弑神', '审判', '极恶洪流', '末日福音:毁灭之翼'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.03 * self.等级, 5) - - -class 技能5(职业主动技能): - 名称 = '回旋飞镰' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(x*1.131) for x in [0, 674, 733, 794, 861, 942, 995, 1056, 1131, 1190, 1251, 1311, 1385, 1446, 1507, 1574, 1634, 1694, 1768, 1829, 1903, 1964, 2031, 2091, 2150, 2211, 2286, 2353, 2414, 2481, 2540, 2601, 2668, 2729, 2804, 2863, 2932, 2990, 3051, 3119, 3179, 3260, 3320, 3388, 3447, 3508, 3575, 3636, 3697, 3764, 3838, 3898, 3965, 4026, 4093, 4154, 4214, 4282, 4341, 4415, 4475, 4543, 4603, 4671, 4731, 4797, 4858, 4933, 4993, 5060, 5121]] - 攻击次数 = 1 - data1 = [int(x*1.131) for x in [0, 396, 438, 480, 520, 558, 601, 643, 681, 723, 765, 807, 846, 888, 930, 970, 1012, 1054, 1093, 1135, 1174, 1216, 1256, 1298, 1340, 1382, 1421, 1461, 1503, 1544, 1584, 1626, 1667, 1708, 1748, 1789, 1830, 1872, 1914, 1954, 1996, 2034, 2076, 2116, 2158, 2200, 2240, 2282, 2324, 2364, 2402, 2444, 2485, 2527, 2567, 2609, 2651, 2691, 2733, 2772, 2814, 2854, 2896, 2937, 2978, 3019, 3061, 3100, 3142, 3182, 3224]] - 攻击次数2 = 6 # 最高6hit - 魔化 = 1.9 # 魔化 - CD = 10 * 1.5 - TP成长 = 0.10 - TP上限 = 5 - -class 技能6(职业主动技能): - 名称 = '复仇之刺' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(x*1.213) for x in [0, 2795, 3079, 3362, 3646, 3930, 4213, 4497, 4780, 5064, 5348, 5631, 5915, 6198, 6482, 6766, 7049, 7333, 7616, 7900, 8184, 8467, 8751, 9034, 9318, 9602, 9885, 10169, 10453, 10736, 11020, 11303, 11587, 11871, 12154, 12438, 12721, 13005, 13289, 13572, 13856, 14139, 14423, 14707, 14990, 15274, 15558, 15841, 16125, 16408, 16692, 16976, 17259, 17543, 17826, 18110, 18394, 18677, 18961, 19244, 19528, 19812, 20095, 20379, 20662, 20946, 21230, 21513, 21797, 22081, 22364]] - data1 = [int(x*1.213) for x in [0, 4072, 4484, 4897, 5312, 5724, 6137, 6550, 6963, 7375, 7789, 8203, 8616, 9029, 9441, 9855, 10267, 10680, 11095, 11507, 11921, 12333, 12746, 13160, 13573, 13986, 14400, 14812, 15225, 15638, 16051, 16467, 16879, 17291, 17705, 18117, 18529, 18943, 19358, 19771, 20184, 20595, 21010, 21421, 21836, 22250, 22662, 23074, 23489, 23900, 24313, 24729, 25141, 25555, 25967, 26380, 26793, 27206, 27620, 28033, 28446, 28858, 29272, 29684, 30096, 30512, 30924, 31338, 31750, 32163, 32577]] - 攻击次数2 = 1 - CD = 10 * 1.6 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '厄运之轮' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(x*1.25) for x in [0, 685, 754, 824, 894, 963, 1033, 1102, 1172, 1241, 1311, 1380, 1450, 1519, 1589, 1658, 1728, 1797, 1867, 1937, 2006, 2076, 2145, 2215, 2284, 2354, 2423, 2493, 2562, 2632, 2701, 2771, 2841, 2910, 2980, 3049, 3119, 3188, 3258, 3327, 3397, 3466, 3536, 3605, 3675, 3744, 3814, 3884, 3953, 4023, 4092, 4162, 4231, 4301, 4370, 4440, 4509, 4579, 4648, 4718, 4787, 4857, 4927, 4996, 5066, 5135, 5205, 5274, 5344, 5413, 5483]] - 攻击次数 = 6 - 魔化 = 2.34 - CD = 16 * 1.5 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.25 - elif x == 1: - self.倍率 *= 1.34 - - -class 技能8(职业主动技能): - 名称 = '恶魔之拳' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(x*1.24) for x in [0, 186, 205, 224, 243, 262, 281, 300, 319, 338, 357, 376, 395, 413, 432, 451, 470, 489, 508, 527, 546, 565, 584, 603, 622, 641, 660, 679, 698, 717, 735, 754, 773, 792, 811, 830, 849, 868, 887, 906, 925, 944, 963, 982, 1001, 1020, 1038, 1057, 1076, 1095, 1114, 1133, 1152, 1171, 1190, 1209, 1228, 1247, 1266, 1285, 1304, 1323, 1342, 1360, 1379, 1398, 1417, 1436, 1455, 1474, 1493]] - 攻击次数 = 10 - data1 = [int(x*1.24) for x in [0, 7217, 7950, 8682, 9414, 10146, 10879, 11611, 12343, 13075, 13807, 14540, 15272, 16004, 16736, 17469, 18201, 18933, 19665, 20398, 21130, 21862, 22594, 23327, 24059, 24791, 25523, 26256, 26988, 27720, 28452, 29185, 29917, 30649, 31381, 32114, 32846, 33578, 34310, 35042, 35775, 36507, 37239, 37971, 38704, 39436, 40168, 40900, 41633, 42365, 43097, 43829, 44562, 45294, 46026, 46758, 47491, 48223, 48955, 49687, 50420, 51152, 51884, 52616, 53349, 54081, 54813, 55545, 56277, 57010, 57742]] - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*1.1) for x in self.data0] - self.data1 = [int(x*1.25) for x in self.data1] - self.CD *= 0.85 - elif x == 1: - self.data0 = [int(x*1.1) for x in self.data0] - self.data1 = [int(x*1.37) for x in self.data1] - self.CD *= 0.85 - - -class 技能9(职业主动技能): - 名称 = '恶魔之握' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(x*1.25) for x in [0, 505, 557, 609, 660, 711, 763, 814, 866, 916, 968, 1020, 1071, 1123, 1173, 1225, 1277, 1328, 1379, 1431, 1482, 1534, 1584, 1636, 1688, 1739, 1790, 1842, 1893, 1945, 1995, 2047, 2099, 2150, 2201, 2252, 2304, 2356, 2406, 2458, 2510, 2561, 2613, 2663, 2715, 2767, 2818, 2869, 2920, 2972, 3024, 3074, 3126, 3178, 3229, 3280, 3331, 3383, 3435, 3485, 3537, 3589, 3640, 3691, 3742, 3794, 3846, 3896, 3948, 3999, 4051]] - 攻击次数 = 2 - data1 = [int(x*1.25) for x in [0, 10881, 11984, 13088, 14193, 15296, 16400, 17503, 18607, 19712, 20815, 21919, 23023, 24126, 25231, 26335, 27438, 28542, 29646, 30750, 31854, 32958, 34061, 35165, 36270, 37373, 38477, 39581, 40685, 41789, 42893, 43996, 45100, 46205, 47308, 48412, 49516, 50619, 51724, 52828, 53931, 55035, 56140, 57243, 58347, 59450, 60554, 61659, 62762, 63866, 64970, 66073, 67178, 68282, 69385, 70489, 71593, 72697, 73801, 74905, 76008, 77112, 78217, 79320, 80424, 81528, 82631, 83736, 84840, 85943, 87047]] - 攻击次数2 = 1 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - -class 技能10(职业主动技能): - 名称 = '黑暗权能' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(x*1.102) for x in [0, 625, 688, 752, 815, 878, 942, 1006, 1068, 1132, 1196, 1259, 1323, 1385, 1449, 1513, 1577, 1640, 1703, 1766, 1830, 1894, 1956, 2020, 2084, 2147, 2211, 2274, 2337, 2401, 2465, 2527, 2591, 2655, 2718, 2782, 2844, 2908, 2972, 3036, 3099, 3162, 3225, 3289, 3353, 3415, 3479, 3543, 3606, 3670, 3733, 3796, 3860, 3924, 3987, 4050, 4114, 4177, 4241, 4303, 4367, 4431, 4495, 4558, 4621, 4684, 4748, 4812, 4876, 4938, 5002]] - data1 = [int(x*1.102) for x in [0, 371, 408, 446, 484, 522, 559, 597, 635, 673, 709, 747, 785, 823, 860, 898, 936, 974, 1011, 1049, 1087, 1125, 1161, 1199, 1237, 1275, 1312, 1350, 1388, 1426, 1463, 1501, 1539, 1575, 1613, 1651, 1689, 1726, 1764, 1802, 1840, 1877, 1915, 1953, 1991, 2027, 2065, 2103, 2141, 2178, 2216, 2254, 2292, 2329, 2367, 2405, 2443, 2479, 2517, 2555, 2593, 2630, 2668, 2706, 2744, 2781, 2819, 2857, 2895, 2931, 2969]] - data2 = [int(x*1.102) for x in [0, 5884, 6480, 7078, 7673, 8271, 8868, 9466, 10062, 10658, 11255, 11852, 12450, 13046, 13644, 14239, 14837, 15434, 16030, 16628, 17224, 17821, 18418, 19016, 19612, 20210, 20805, 21402, 22000, 22596, 23194, 23790, 24387, 24984, 25582, 26178, 26774, 27371, 27968, 28566, 29162, 29759, 30356, 30953, 31550, 32146, 32743, 33340, 33937, 34534, 35132, 35727, 36325, 36922, 37518, 38116, 38711, 39309, 39906, 40503, 41100, 41698, 42293, 42891, 43488, 44084, 44682, 45277, 45875, 46472, 47069]] - 攻击次数 = 1 - 攻击次数2 = 32 - 攻击次数3 = 1 - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 42 - self.CD *= 0.9 - elif x == 1: - self.攻击次数2 = 42 * 1.09 - self.CD *= 0.9 - - -class 技能11(职业主动技能): - 名称 = '魔化:末日审判者' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data0 = [int(x*1.15) for x in [0, 822, 943, 1063, 1183, 1303, 1425, 1546, 1665, 1787, 1906, 2028, 2148, 2268, 2388, 2510, 2628, 2749, 2870, 2989, 3109, 3230, 3351, 3470, 3591, 3710, 3831, 3951, 4072, 4192, 4312, 4432, 4553, 4673, 4793, 4914, 5034, 5153, 5274, 5395, 5513]] - 攻击次数 = 2 - data1 = [int(x*1.15) for x in [0, 983, 1145, 1307, 1469, 1630, 1792, 1954, 2115, 2280, 2440, 2602, 2765, 2926, 3088, 3249, 3410, 3572, 3735, 3897, 4057, 4219, 4381, 4543, 4704, 4865, 5027, 5188, 5351, 5513, 5673, 5836, 5997, 6159, 6321, 6481, 6644, 6806, 6967, 7130, 7291]] - 攻击次数2 = 2 - data2 = [int(x*1.15) for x in [0, 1503, 1800, 2097, 2393, 2688, 2986, 3281, 3577, 3876, 4173, 4468, 4765, 5061, 5357, 5654, 5950, 6245, 6543, 6839, 7135, 7431, 7728, 8024, 8319, 8616, 8912, 9209, 9505, 9801, 10097, 10395, 10689, 10985, 11283, 11578, 11873, 12171, 12467, 12765, 13059]] - 攻击次数3 = 2 - data3 = [int(x*1.15) for x in [0, 1603, 1926, 2249, 2571, 2891, 3215, 3536, 3859, 4183, 4506, 4826, 5150, 5473, 5795, 6117, 6439, 6760, 7083, 7405, 7727, 8048, 8372, 8694, 9015, 9338, 9660, 9981, 10305, 10626, 10947, 11271, 11591, 11914, 12238, 12558, 12880, 13203, 13524, 13847, 14169]] - 攻击次数4 = 2 - - # 审判关联数据 - sp_data0 = [int(x*1.193) for x in [0, 8805, 10847, 12890, 14931, 16973, 19015, 21057, 23099, 25141, 27183, 29225, 31266, 33308, 35350, 37392, 39434, 41476, 43518, 45560, 47601, 49643, 51685, 53727, 55769, 57811, 59853, 61895, 63936, 65978, 68021, 70063, 72105, 74147, 76189, 78231, 80272, 82314, 84356, 86398, 88440]] - sp_data1 = [int(x*1.193) for x in [0, 25062, 30874, 36685, 42497, 48308, 54120, 59931, 65743, 71555, 77367, 83178, 88990, 94801, 100612, 106424, 112236, 118048, 123859, 129671, 135483, 141293, 147105, 152917, 158729, 164540, 170352, 176164, 181976, 187786, 193598, 199410, 205221, 211033, 216845, 222657, 228468, 234279, 240091, 245902, 251714]] - - CD = 1 - - 关联技能 = ['所有'] - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.15 - - -class 技能12(主动技能): - 名称 = '审判' - 所在等级 = 50 - 等级上限 = 1 - 基础等级 = 1 - data0 = 0 - data1 = 0 - 攻击次数2 = 1 - 魔化 = 1.1 # 魔化 - CD = 145 - - def 等效百分比(self, 武器类型): - return (self.data0 + self.data1) * self.倍率 * self.魔化 - - -class 技能13(被动技能): - 名称 = '恶魔唤醒' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['不朽战吼', '地狱之门', '厄运之轮', '恶魔之拳', '恶魔之手', '恶魔之握', '复仇之刺', '黑暗权能', - '回旋飞镰', '毁灭强击', '裂地锤', '末日浩劫', '死亡切割', '永堕:混沌弑神', '极恶洪流', '末日福音:毁灭之翼'] - 关联技能2 = ['魔化:末日审判者'] - 关联技能3 = ['审判'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.015 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.01 * self.等级, 5) - - def 加成倍率3(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能14(职业主动技能): - 名称 = '地狱之门' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(x*1.181) for x in [0, 1467, 1614, 1763, 1911, 2060, 2210, 2357, 2506, 2656, 2803, 2952, 3102, 3249, 3399, 3546, 3695, 3845, 3992, 4142, 4291, 4438, 4588, 4737, 4884, 5034, 5182, 5331, 5480, 5629, 5777, 5926, 6075, 6223, 6373, 6521, 6669, 6816, 6967, 7115, 7263, 7413, 7562, 7709, 7860, 8008, 8155, 8306, 8453, 8601, 8752, 8899, 9047, 9198, 9345, 9494, 9643, 9792, 9940, 10087, 10238, 10386, 10533, 10684, 10832, 10979, 11130, 11278, 11425, 11576, 11723]] - 攻击次数 = 8 - 倍率 = 1.5 # 魔化 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 9 - self.CD *= 0.88 - elif x == 1: - self.倍率 *= 1.08 - self.攻击次数 = 9 - self.CD *= 0.88 - - -class 技能15(职业主动技能): - 名称 = '末日浩劫' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(x*1.219) for x in [0, 20616, 22708, 24800, 26891, 28983, 31075, 33165, 35257, 37349, 39440, 41532, 43624, 45716, 47807, 49898, 51990, 54081, 56173, 58265, 60356, 62448, 64540, 66631, 68722, 70814, 72906, 74997, 77089, 79181, 81271, 83363, 85455, 87546, 89638, 91730, 93822, 95913, 98004, 100096, 102187, 104279, 106371, 108462, 110554, 112646, 114737, 116828, 118920, 121012, 123103, 125195, 127287, 129377, 131469, 133561, 135653, 137744, 139836, 141928, 144019, 146110, 148202, 150293, 152385, 154477, 156569, 158660, 160752, 162843, 164934]] - 倍率 = 1.35 # 魔化 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.08*1.1 - elif x == 1: - self.倍率 *= 1.08*1.18 - - -class 技能16(职业主动技能): - 名称 = '不朽战吼' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(x*1.23) for x in [0, 7700, 8482, 9263, 10044, 10826, 11608, 12388, 13170, 13951, 14733, 15515, 16295, 17077, 17858, 18640, 19421, 20201, 20983, 21763, 22545, 23327, 24108, 24890, 25670, 26452, 27234, 28015, 28796, 29577, 30359, 31140, 31920, 32702, 33483, 34264, 35045, 35827, 36609, 37389, 38171, 38952, 39734, 40514, 41296, 42078, 42859, 43641, 44420, 45202, 45984, 46764, 47546, 48327, 49109, 49891, 50671, 51453, 52235, 53016, 53797, 54578, 55360, 56141, 56921, 57703, 58484, 59266, 60047, 60828, 61610]] - 攻击次数 = 5 - data1 = [int(x*1.23) for x in [0, 2752, 3033, 3312, 3588, 3868, 4148, 4426, 4707, 4986, 5266, 5546, 5824, 6103, 6381, 6662, 6941, 7220, 7501, 7778, 8057, 8338, 8616, 8895, 9176, 9453, 9732, 10012, 10291, 10571, 10850, 11130, 11409, 11687, 11967, 12245, 12524, 12805, 13083, 13361, 13641, 13921, 14200, 14480, 14760, 15038, 15317, 15598, 15876, 16154, 16434, 16714, 16992, 17273, 17552, 17829, 18110, 18388, 18667, 18947, 19227, 19507, 19784, 20064, 20343, 20621, 20902, 21181, 21460, 21741, 22018]] - 攻击次数2 = 2 - CD = 40 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.29 - self.CD *= 0.86 - - -class 技能17(被动技能): - 名称 = '原罪之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.17 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '毁灭强击' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(x*1.231) for x in [0, 5066, 5580, 6094, 6609, 7123, 7636, 8150, 8664, 9179, 9692, 10206, 10720, 11235, 11749, 12262, 12776, 13291, 13805, 14318, 14832, 15346, 15861, 16375, 16888, 17402, 17917, 18431, 18945, 19458, 19973, 20487, 21001, 21514, 22028, 22543, 23057, 23571, 24084, 24599, 25113, 25627, 26140, 26655, 27169, 27683, 28197, 28710, 29225, 29739, 30253, 30768, 31281, 31795, 32309, 32823, 33337, 33851, 34365, 34879, 35394, 35907, 36421, 36935, 37450, 37964, 38477, 38991, 39505, 40020, 40533]] - 攻击次数 = 1 - data1 = [int(x*1.231) for x in [0, 23644, 26042, 28441, 30840, 33237, 35637, 38036, 40435, 42834, 45232, 47631, 50030, 52429, 54827, 57226, 59625, 62024, 64422, 66820, 69220, 71619, 74016, 76416, 78815, 81214, 83612, 86011, 88410, 90809, 93206, 95606, 98005, 100403, 102803, 105201, 107599, 109999, 112398, 114795, 117195, 119594, 121991, 124391, 126789, 129189, 131588, 133985, 136385, 138784, 141181, 143581, 145980, 148378, 150778, 153175, 155574, 157974, 160372, 162770, 165170, 167568, 169967, 172366, 174764, 177164, 179562, 181960, 184360, 186758, 189157]] - 攻击次数2 = 1 - data2 = [int(x*1.231) for x in [0, 1012, 1116, 1219, 1321, 1424, 1526, 1629, 1733, 1836, 1938, 2041, 2143, 2246, 2350, 2452, 2555, 2658, 2760, 2863, 2966, 3069, 3172, 3275, 3377, 3480, 3582, 3686, 3789, 3891, 3994, 4097, 4199, 4302, 4406, 4508, 4611, 4714, 4816, 4919, 5023, 5125, 5228, 5330, 5433, 5536, 5639, 5742, 5845, 5947, 6050, 6153, 6255, 6359, 6462, 6564, 6667, 6769, 6872, 6976, 7078, 7181, 7284, 7386, 7489, 7593, 7695, 7798, 7901, 8003, 8106]] - 攻击次数3 = 10 # 最低5 - 魔化 = 1.35 # 魔化 - CD = 45.0 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.35 - - -class 技能19(职业主动技能): - 名称 = '永堕:混沌弑神' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(x*1.15) for x in [0, 4013, 4944, 5875, 6805, 7736, 8667, 9597, 10528, 11459, 12389, 13320, 14251, 15181, 16112, 17043, 17974, 18904, 19835, 20766, 21696, 22627, 23558, 24488, 25419, 26350, 27280, 28211, 29142, 30073, 31003, 31934, 32865, 33795, 34726, 35657, 36587, 37518, 38449, 39380, 40310, 41241, 42172, 43102, 44033, 44964, 45894, 46825, 47756, 48686, 49617, 50548, 51479, 52409, 53340, 54271, 55201, 56132, 57063, 57993, 58924, 59855, 60786, 61716, 62647, 63578, 64508, 65439, 66370, 67300, 68231]] - 攻击次数 = 0 - data1 = [int(x*1.15) for x in [0, 2876, 3543, 4210, 4877, 5544, 6211, 6878, 7545, 8212, 8879, 9546, 10213, 10880, 11547, 12214, 12881, 13548, 14215, 14882, 15549, 16216, 16883, 17550, 18217, 18884, 19551, 20218, 20885, 21552, 22219, 22886, 23553, 24220, 24887, 25554, 26221, 26888, 27555, 28222, 28889, 29556, 30223, 30890, 31557, 32224, 32891, 33558, 34225, 34892, 35559, 36226, 36893, 37560, 38227, 38894, 39561, 40228, 40895, 41562, 42229, 42896, 43563, 44230, 44897, 45564, 46231, 46898, 47565, 48232, 48899]] - 攻击次数2 = 12 - data2 = [int(x*1.15) for x in [0, 7224, 8899, 10575, 12250, 13925, 15600, 17276, 18951, 20626, 22301, 23977, 25652, 27327, 29002, 30678, 32353, 34028, 35703, 37379, 39054, 40729, 42404, 44080, 45755, 47430, 49105, 50781, 52456, 54131, 55806, 57482, 59157, 60832, 62507, 64183, 65858, 67533, 69208, 70884, 72559, 74234, 75909, 77585, 79260, 80935, 82610, 84286, 85961, 87636, 89311, 90987, 92662, 94337, 96012, 97688, 99363, 101038, 102713, 104389, 106064, 107739, 109414, 111090, 112765, 114440, 116115, 117791, 119466, 121141, 122816]] - 攻击次数3 = 1 - data3 = [int(x*1.15) for x in [0, 17258, 21260, 25262, 29264, 33266, 37268, 41270, 45272, 49274, 53276, 57278, 61280, 65282, 69284, 73286, 77288, 81290, 85292, 89294, 93296, 97298, 101300, 105302, 109304, 113306, 117308, 121310, 125312, 129314, 133316, 137318, 141320, 145322, 149324, 153326, 157328, 161330, 165332, 169334, 173336, 177338, 181340, 185342, 189344, 193346, 197348, 201350, 205352, 209354, 213355, 217357, 221359, 225361, 229363, 233365, 237367, 241369, 245371, 249373, 253375, 257377, 261379, 265381, 269383, 273385, 277387, 281389, 285391, 289393, 293395]] - 攻击次数4 = 2 - 魔化 = 1.35 # 魔化 - CD = 180.0 - - def 等效百分比(self, 武器类型): - # 按X或Z - self.data3 = [int(x*1.35) for x in self.data3] - return super().等效百分比(武器类型) - - -class 技能20(被动技能): - 名称 = '光之影' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '极恶洪流' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(x*1.21) for x in [0, 8416, 9269, 10123, 10977, 11830, 12684, 13538, 14392, 15246, 16099, 16953, 17807, 18661, 19515, 20368, 21222, 22076, 22930, 23783, 24637, 25491, 26345, 27198, 28052, 28906, 29760, 30614, 31467, 32321, 33175, 34029, 34883, 35736, 36590, 37444, 38298, 39151, 40005, 40859, 41713, 42567, 43420, 44274, 45128, 45982, 46836, 47689, 48543, 49397, 50250, 51105, 51958, 52812, 53666, 54519, 55373, 56227, 57081, 57935, 58788, 59642, 60496, 61350, 62204, 63057, 63911, 64765, 65618, 66473, 67326]] - 攻击次数 = 3 - data1 = [int(x*1.21) for x in [0, 37871, 41713, 45554, 49397, 53239, 57081, 60923, 64765, 68607, 72449, 76291, 80133, 83975, 87817, 91659, 95501, 99343, 103185, 107027, 110869, 114711, 118553, 122395, 126237, 130079, 133921, 137763, 141605, 145448, 149289, 153131, 156973, 160816, 164657, 168499, 172341, 176183, 180025, 183867, 187710, 191551, 195393, 199235, 203078, 206919, 210761, 214603, 218446, 222287, 226129, 229972, 233814, 237655, 241497, 245340, 249182, 253023, 256865, 260708, 264550, 268391, 272234, 276076, 279917, 283759, 287602, 291444, 295285, 299127, 302970]] - 攻击次数2 = 1 - 攻击次数 = 3 - 攻击次数2 = 1 - CD = 60.0 - 魔化 = 1.3 - - def 等效百分比(self, 武器类型): - # [长按技能键时] 攻击力增加率 20% - self.倍率 *= 1.2 - return super().等效百分比(武器类型) - - -class 技能22(职业主动技能): - 名称 = '末日福音:毁灭之翼' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(x*1.246) for x in [0, 49219, 60632, 72046, 83459, 94872, 106285, 117699, 129112, 140525, 151938, 163352, 174765, 186178, 197591, 209005, 220418, 231831, 243244, 254658, 266071, 277484, 288897, 300311, 311724, 323137, 334550, 345964, 357377, 368790, 380203, 391617, 403030, 414443, 425856, 437270, 448683, 460096, 471509, 482923, 494336, 505749, 517162, 528576, 539989, 551402, 562816, 574229, 585642, 597055, 608469, 619882, 631295, 642708, 654122, 665535, 676948, 688361, 699775, 711188, 722601, 734014, 745428, 756841, 768254, 779667, 791081, 802494, 813907, 825320, 836734]] - 攻击次数 = 1 - data1 = [int(x*1.246) for x in [0, 24609, 30316, 36023, 41729, 47436, 53142, 58849, 64556, 70262, 75969, 81676, 87382, 93089, 98795, 104502, 110209, 115915, 121622, 127329, 133035, 138742, 144448, 150155, 155862, 161568, 167275, 172982, 178688, 184395, 190101, 195808, 201515, 207221, 212928, 218635, 224341, 230048, 235754, 241461, 247168, 252874, 258581, 264288, 269994, 275701, 281408, 287114, 292821, 298527, 304234, 309941, 315647, 321354, 327061, 332767, 338474, 344180, 349887, 355594, 361300, 367007, 372714, 378420, 384127, 389833, 395540, 401247, 406953, 412660, 418367]] - 攻击次数2 = 1 - data2 = [int(x*1.246) for x in [0, 61524, 75791, 90057, 104324, 118590, 132857, 147123, 161390, 175657, 189923, 204190, 218456, 232723, 246989, 261256, 275523, 289789, 304056, 318322, 332589, 346855, 361122, 375388, 389655, 403922, 418188, 432455, 446721, 460988, 475254, 489521, 503788, 518054, 532321, 546587, 560854, 575120, 589387, 603654, 617920, 632187, 646453, 660720, 674986, 689253, 703519, 717786, 732053, 746319, 760586, 774852, 789119, 803385, 817652, 831919, 846185, 860452, 874718, 888985, 903251, 917518, 931785, 946051, 960318, 974584, 988851, 1003117, 1017384, 1031650, 1045917]] - 攻击次数3 = 1 - data3 = [int(x*1.246) for x in [0, 110744, 136424, 162103, 187783, 213463, 239143, 264823, 290502, 316182, 341862, 367542, 393222, 418902, 444581, 470261, 495941, 521621, 547301, 572980, 598660, 624340, 650020, 675700, 701379, 727059, 752739, 778419, 804099, 829779, 855458, 881138, 906818, 932498, 958178, 983857, 1009537, 1035217, 1060897, 1086577, 1112257, 1137936, 1163616, 1189296, 1214976, 1240656, 1266335, 1292015, 1317695, 1343375, 1369055, 1394735, 1420414, 1446094, 1471774, 1497454, 1523134, 1548813, 1574493, 1600173, 1625853, 1651533, 1677213, 1702892, 1728572, 1754252, 1779932, 1805612, 1831291, 1856971, 1882651]] - 攻击次数4 = 1 - - CD = 290.0 - 魔化 = 1.4 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·复仇者一觉序号 = 12 -神启·复仇者二觉序号 = 19 -神启·复仇者三觉序号 = 22 - -神启·复仇者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·复仇者护石选项.append(i.名称) - -神启·复仇者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·复仇者符文选项.append(i.名称) - - -class 神启·复仇者角色属性(角色属性): - - 实际名称 = '神启·复仇者' - 角色 = '圣职者(男)' - 职业 = '复仇者' - - 武器选项 = ['镰刀'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '重甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.90 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - 一觉 = self.技能栏[self.技能序号['魔化:末日审判者']] - self.技能栏[self.技能序号['审判']].data0 = 一觉.sp_data0[一觉.等级] - self.技能栏[self.技能序号['审判']].data1 = 一觉.sp_data1[一觉.等级] - - -class 神启·复仇者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·复仇者角色属性() - self.角色属性A = 神启·复仇者角色属性() - self.角色属性B = 神启·复仇者角色属性() - self.一觉序号 = 神启·复仇者一觉序号 - self.二觉序号 = 神启·复仇者二觉序号 - self.三觉序号 = 神启·复仇者三觉序号 - self.护石选项 = deepcopy(神启·复仇者护石选项) - self.符文选项 = deepcopy(神启·复仇者符文选项) diff --git a/Characters/神启·巫女.py b/Characters/神启·巫女.py deleted file mode 100644 index ee27fca5..00000000 --- a/Characters/神启·巫女.py +++ /dev/null @@ -1,569 +0,0 @@ -from math import * -from PublicReference.carry.base import * - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# return round(self.CD / self.恢复 * 1.05, 1) -# #念珠1.05 - - -class 主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数1 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数2 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数3 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数4 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数5 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数6 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(主动技能): - 名称 = '罪业加身' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - #基础 = 2014 - 204.4468 - #成长 = 204.4468 - data0 = [int(i*1.085*1.0) for i in [0, 2014, 2220, 2424, 2628, 2832, 3037, 3242, 3446, 3651, 3854, 4059, 4263, 4468, 4672, 4877, 5080, 5285, 5492, 5695, 5900, 6104, 6308, 6514, 6718, 6922, 7126, 7331, 7535, 7740, 7944, 8148, 8352, 8557, 8762, 8966, - 9171, 9374, 9579, 9784, 9989, 10194, 10398, 10602, 10807, 11012, 11215, 11420, 11623, 11829, 12034, 12237, 12442, 12646, 12851, 13055, 13260, 13463, 13668, 13872, 14077, 14282, 14487, 14691, 14895, 15101, 15304, 15509, 15714, 15917, 16123]] - CD = 6.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能1(主动技能): - 名称 = '唤雷符' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - #基础 = 1721 - 174.644 - #成长 = 174.644 - data0 = [int(i*1.085*1.206) for i in [0, 1721, 1895, 2070, 2245, 2420, 2594, 2769, 2944, 3118, 3293, 3468, 3641, 3816, 3992, 4166, 4340, 4516, 4689, 4865, 5039, 5212, 5389, 5563, 5738, 5911, 6087, 6262, 6437, 6610, 6786, 6961, 7134, 7309, 7484, - 7660, 7834, 8008, 8182, 8357, 8532, 8707, 8880, 9055, 9231, 9405, 9580, 9754, 9930, 10104, 10278, 10452, 10628, 10802, 10977, 11151, 11325, 11502, 11676, 11849, 12025, 12200, 12374, 12548, 12723, 12897, 13073, 13248, 13422, 13596, 13771]] - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(主动技能): - 名称 = '念珠连射' - 备注 = '(TP为基础精通)' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - # 基础 = (9195.58 / 9.362) * 1.05 - 基础 = (83.97+98.96+112.99+129.97+143.97+166.99)*1.085 - # data0 = [ int(i*1.085*1.05) for i in [0, 4000, 5000, 5000, 5000, 5000, 5000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000]] - 成长 = 0 - CD = 1.0 - TP成长 = 0.1 - TP上限 = 3 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int( - (self.攻击次数 * (self.基础 + self.成长 * self.等级) + self.攻击次数2 * - (self.基础2 + self.成长2 * self.等级) + self.攻击次数3 * - (self.基础3 + self.成长3 * self.等级)) * - (1 + self.TP成长 * self.TP等级) * self.倍率) - - -class 技能3(主动技能): - 名称 = '木槵子经' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.085*1.119) for i in [0, 267, 295, 323, 350, 377, 404, 432, 459, 486, 513, 541, 567, 595, 621, 650, 677, 704, 731, 759, 786, 813, 840, 867, 895, 921, 949, 977, 1004, 1031, 1058, 1085, 1113, 1140, 1167, 1194, 1221, 1249, 1275, 1303, 1331, 1358, 1385, 1412, 1440, 1467, 1494, 1521, 1549, 1575, 1603, 1630, 1658, 1685, 1712, 1739, 1767, 1794, 1821, 1848, 1875, 1903, 1930, 1957, 1985, 2012, 2039, 2066, 2094, 2121, 2148]] - 攻击次数 = 6 - CD = 4.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能4(主动技能): - 名称 = '束灵符' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - #基础 = (2052 - 208.214) * 1.146 - #成长 = 208.214 * 1.146 - data0 = [int(i*1.085*1.211) for i in [0, 2352, 2590, 2829, 3067, 3306, 3545, 3783, 4022, 4261, 4499, 4738, 4976, 5215, 5454, 5692, 5931, 6169, 6408, 6647, 6885, 7124, 7363, 7601, 7840, 8078, 8317, 8556, 8794, 9033, 9272, 9510, 9749, 9987, 10226, 10465, 10703, 10942, 11180, 11419, 11658, 11896, 12135, 12374, 12612, 12851, 13089, 13328, 13567, 13805, 14044, 14283, 14521, 14760, 14998, 15237, 15476, 15714, 15953, 16191, 16430, 16669, 16907, 17146, 17385, 17623, 17862, 18100, 18339, 18578, 18816]] - CD = 7.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能5(主动技能): - 名称 = '驱邪咒' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - #基础 = (5100 - 519) * 1.05 - #成长 = 519 * 1.05 - data0 = [int(i*1.085*1.209) for i in [0, 268, 296, 323, 350, 377, 405, 432, 459, 487, 514, 541, 568, 596, 623, 650, 678, 705, 732, 759, 787, 814, 841, 869, 896, 923, 950, 978, 1005, 1032, 1059, 1087, 1114, 1141, 1169, 1196, 1223, 1250, 1278, 1305, 1332, 1360, 1387, 1414, 1441, 1469, 1496, 1523, 1550, 1578, 1605, 1632, 1660, 1687, 1714, 1741, 1769, 1796, 1823, 1851, 1878, 1905, 1932, 1960, 1987, 2014, 2041, 2069, 2096, 2123, 2151]] - 攻击次数 = 20 - CD = 12.0 - TP上限 = 5 - TP倍率 = [1, 1.238, 1.35, 1.46, 1.575, 1.688] - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int(self.data0[self.等级] * self.攻击次数* self.TP倍率[self.TP等级] * self.倍率) - - -class 技能6(被动技能): - 名称 = '祈雨祭' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能7(被动技能): - 名称 = '神术强化' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.05 + 0.015 * self.等级, 5) - else: - return round(1.00 + 0.02 * self.等级, 5) - - -class 技能8(主动技能): - 名称 = '和合之玉' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #基础 = (5233 - 531.108) * 1.09 - #成长 = 531.108 * 1.09 - data0 = [int(i*1.085*1.211) for i in [0, 3996, 4401, 4806, 5212, 5617, 6023, 6428, 6833, 7239, 7644, 8050, 8455, 8860, 9266, 9671, 10077, 10482, 10887, 11293, 11698, 12104, 12509, 12914, 13320, 13725, 14131, 14536, 14941, 15347, 15752, 16158, 16563, 16968, 17374, 17779, 18185, 18590, 18995, 19401, 19806, 20212, 20617, 21022, 21428, 21833, 22239, 22644, 23049, 23455, 23860, 24266, 24671, 25076, 25482, 25887, 26293, 26698, 27103, 27509, 27914, 28320, 28725, 29130, 29536, 29941, 30347, 30752, 31157, 31563, 31968]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.211) for i in [0, 1712, 1886, 2060, 2233, 2407, 2581, 2755, 2928, 3102, 3276, 3450, 3623, 3797, 3971, 4145, 4318, 4492, 4666, 4839, 5013, 5187, 5361, 5534, 5708, 5882, 6056, 6229, 6403, 6577, 6751, 6924, 7098, 7272, 7446, 7619, 7793, 7967, 8141, 8314, 8488, 8662, 8836, 9009, 9183, 9357, 9531, 9704, 9878, 10052, 10225, 10399, 10573, 10747, 10920, 11094, 11268, 11442, 11615, 11789, 11963, 12137, 12310, 12484, 12658, 12832, 13005, 13179, 13353, 13527, 13700]] - 攻击次数1 = 1 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能9(主动技能): - 名称 = '聚魂吸星符' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #基础 = (6004 - 609.629) * 1.106 - #成长 = 609.629 * 1.106 - data0 = [int(i*1.085*1.21) for i in [0, 349, 385, 420, 456, 491, 527, 563, 598, 634, 669, 705, 740, 776, 811, 847, 882, 918, 953, 989, 1024, 1060, 1095, 1131, 1166, 1202, 1237, 1273, 1308, 1344, 1379, 1415, 1450, 1486, 1521, 1557, 1592, 1628, 1663, 1699, 1734, 1770, 1805, 1841, 1876, 1912, 1947, 1983, 2018, 2054, 2089, 2125, 2160, 2196, 2231, 2267, 2302, 2338, 2373, 2409, 2444, 2480, 2515, 2551, 2586, 2622, 2657, 2693, 2728, 2764, 2799]] - 攻击次数 = 19 - # 技能写的20,测试17,写的19 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 22 - # self.倍率 *= 1.2964 - self.倍率 *= 1.12 - self.CD *= 0.95 - elif x == 1: - # self.倍率 *= 1.3779 - self.攻击次数 = 22 - self.倍率 *= 1.19 - self.CD *= 0.95 - - -class 技能10(主动技能): - 名称 = '龙魂之怒' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #基础 = (8116 - 823.406) * 1.103 - #成长 = 823.406 * 1.103 - data0 = [int(i*1.085*1.211) for i in [0, 8953, 9862, 10770, 11679, 12587, 13495, 14404, 15312, 16220, 17129, 18037, 18946, 19854, 20762, 21671, 22579, 23487, 24396, 25304, 26212, 27121, 28029, 28938, 29846, 30754, 31663, 32571, 33479, 34388, 35296, 36205, 37113, 38021, 38930, 39838, 40746, 41655, 42563, 43472, 44380, 45288, 46197, 47105, 48013, 48922, 49830, 50738, 51647, 52555, 53464, 54372, 55280, 56189, 57097, 58005, 58914, 59822, 60731, 61639, 62547, 63456, 64364, 65272, 66181, 67089, 67998, 68906, 69814, 70723, 71631]] - CD = 20.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能11(主动技能): - 名称 = '百八念珠' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #基础 = 13060 - 1326.25 - #成长 = 1326.25 - data0 = [int(i*1.085*1.211) for i in [0, 653, 720, 786, 852, 919, 984, 1051, 1117, 1184, 1250, 1316, 1383, 1449, 1516, 1582, 1648, 1713, 1780, 1846, 1913, 1979, 2046, 2111, 2179, 2244, 2311, 2377, 2443, 2510, 2576, 2643, 2709, 2775, - 2842, 2908, 2974, 3040, 3107, 3173, 3239, 3306, 3372, 3439, 3505, 3571, 3636, 3703, 3769, 3836, 3902, 3969, 4034, 4102, 4167, 4234, 4299, 4366, 4432, 4499, 4565, 4632, 4698, 4765, 4830, 4898, 4963, 5030, 5096, 5162, 5229]] - 攻击次数 = 20 - CD = 25.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.18 - self.CD *= 0.83 - elif x == 1: - self.倍率 *= 1.27 - self.CD *= 0.83 - - -class 技能12(主动技能): - 名称 = '不动珠箔阵' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #基础 = (16138 - 1635.567) * 1.107 - #成长 = 1635.567 * 1.107 - data0 = [int(i*1.085*1.21) for i in [0, 446, 491, 537, 582, 627, 673, 718, 763, 808, 854, 899, 944, 990, 1035, 1080, 1126, 1171, 1216, 1262, 1307, 1352, 1397, 1443, 1488, 1533, 1579, 1624, 1669, 1715, 1760, 1805, 1850, 1896, 1941, 1986, 2032, 2077, 2122, 2168, 2213, 2258, 2303, 2349, 2394, 2439, 2485, 2530, 2575, 2621, 2666, 2711, 2756, 2802, 2847, 2892, 2938, 2983, 3028, 3074, 3119, 3164, 3210, 3255, 3300, 3345, 3391, 3436, 3481, 3527, 3572]] - 攻击次数 = 24 - data1 = [int(i*1.085*1.21) for i in [0, 7144, 7869, 8594, 9319, 10044, 10769, 11493, 12218, 12943, 13668, 14393, 15118, 15842, 16567, 17292, 18017, 18742, 19467, 20192, 20916, 21641, 22366, 23091, 23816, 24541, 25265, 25990, 26715, 27440, 28165, 28890, 29614, 30339, 31064, 31789, 32514, 33239, 33964, 34688, 35413, 36138, 36863, 37588, 38313, 39037, 39762, 40487, 41212, 41937, 42662, 43386, 44111, 44836, 45561, 46286, 47011, 47736, 48460, 49185, 49910, 50635, 51360, 52085, 52809, 53534, 54259, 54984, 55709, 56434, 57158]] - 攻击次数1 = 1 - CD = 45.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.09 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.17 - self.CD *= 0.9 - - -class 技能13(主动技能): - 名称 = '神龙如意珠' - 备注 = '(1次)' - 是否主动 = 0 - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - #基础 = 526 - 83.947 - #成长 = 83.947 - data0 = [int(i*1.0) for i in [0, 526, 611, 694, 779, 862, 946, 1030, 1113, 1198, 1282, 1366, 1450, 1534, 1618, 1702, 1786, 1870, 1954, - 2038, 2121, 2207, 2290, 2374, 2458, 2542, 2626, 2710, 2794, 2878, 2962, 3046, 3130, 3213, 3298, 3382, 3466, 3550, 3634, 3718, 3802]] - CD = 0.5 - 关联技能 = ['所有'] - - def 等效CD(self, 武器类型, 输出类型): - return 0.5 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.115 + 0.015 * self.等级, 5) - - -class 技能14(主动技能): - 名称 = '神谕:神龙雷雨祭' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - #基础 = (45113 - 10407) * 1.102 - #成长 = 10407 * 1.102 - data0 = [int(i*1.085*1.21) for i in [0, 2167, 2670, 3173, 3676, 4178, 4681, 5184, 5686, 6189, 6692, 7194, 7697, 8200, 8703, 9205, 9708, 10211, 10713, 11216, 11719, 12222, 12724, 13227, 13730, 14232, 14735, 15238, 15740, 16243, 16746, 17249, 17751, 18254, 18757, 19259, 19762, 20265, 20768, 21270, 21773]] - 攻击次数 = 16 - data1 = [int(i*1.085*1.21) for i in [0, 14865, 18312, 21760, 25207, 28654, 32101, 35548, 38995, 42442, 45889, 49337, 52784, 56231, 59678, 63125, 66572, 70019, 73466, 76914, 80361, 83808, 87255, 90702, 94149, 97596, 101044, 104491, 107938, 111385, 114832, 118279, 121726, 125173, 128621, 132068, 135515, 138962, 142409, 145856, 149303]] - 攻击次数1 = 1 - CD = 140 - - -class 技能15(主动技能): - 名称 = '因果业火符' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - #基础 = (13346 - 1354.864) * 1.15 - #成长 = 1354.864 * 1.15 - data0 = [int(i*1.085*1.211) for i in [0, 1426, 1571, 1716, 1861, 2005, 2150, 2295, 2440, 2584, 2729, 2874, 3019, 3163, 3308, 3453, 3598, 3742, 3887, 4032, 4177, 4321, 4466, 4611, 4756, 4900, 5045, 5190, 5335, 5479, 5624, 5769, 5914, 6058, 6203, 6348, 6493, 6637, 6782, 6927, 7072, 7216, 7361, 7506, 7651, 7795, 7940, 8085, 8230, 8374, 8519, 8664, 8809, 8953, 9098, 9243, 9388, 9532, 9677, 9822, 9967, 10111, 10256, 10401, 10546, 10690, 10835, 10980, 11125, 11269, 11414]] - 攻击次数 = 7 - data1 = [int(i*1.085*1.211) for i in [0, 5378, 5923, 6469, 7014, 7560, 8106, 8651, 9197, 9742, 10288, 10834, 11379, 11925, 12470, 13016, 13562, 14107, 14653, 15198, 15744, 16290, 16835, 17381, 17926, 18472, 19018, 19563, 20109, 20654, 21200, 21746, 22291, 22837, 23382, 23928, 24474, 25019, 25565, 26110, 26656, 27202, 27747, 28293, 28839, 29384, 29930, 30475, 31021, 31567, 32112, 32658, 33203, 33749, 34295, 34840, 35386, 35931, 36477, 37023, 37568, 38114, 38659, 39205, 39751, 40296, 40842, 41387, 41933, 42479, 43024]] - 攻击次数1 = 1 - CD = 30.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.33 - - -class 技能16(主动技能): - 名称 = '夺命大念阵' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - #基础 = (24291 - 2464.235) * 1.052 - #成长 = 2464.235 * 1.052 - data0 = [int(i*1.085*1.211) for i in [0, 1826, 2011, 2196, 2381, 2566, 2752, 2937, 3122, 3307, 3493, 3678, 3863, 4048, 4234, 4419, 4604, 4789, 4975, 5160, 5345, 5530, 5716, 5901, 6086, 6271, 6457, 6642, 6827, 7012, 7198, 7383, 7568, 7753, 7939, 8124, 8309, 8494, 8680, 8865, 9050, 9235, 9421, 9606, 9791, 9976, 10162, 10347, 10532, 10717, 10903, 11088, 11273, 11458, 11644, 11829, 12014, 12199, 12385, 12570, 12755, 12940, 13126, 13311, 13496, 13681, 13867, 14052, 14237, 14422, 14608]] - 攻击次数 = 5 - data1 = [int(i*1.085*1.211) for i in [0, 16434, 18101, 19768, 21435, 23102, 24770, 26437, 28104, 29771, 31439, 33106, 34773, 36440, 38107, 39775, 41442, 43109, 44776, 46444, 48111, 49778, 51445, 53112, 54780, 56447, 58114, 59781, 61449, 63116, 64783, 66450, 68117, 69785, 71452, 73119, 74786, 76453, 78121, 79788, 81455, 83122, 84790, 86457, 88124, 89791, 91458, 93126, 94793, 96460, 98127, 99795, 101462, 103129, 104796, 106463, 108131, 109798, 111465, 113132, 114800, 116467, 118134, 119801, 121468, 123136, 124803, 126470, 128137, 129805, 131472]] - 攻击次数1 = 1 - CD = 50.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.32 - - -class 技能17(被动技能): - 名称 = '龙神之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - # 二觉被动双加成 - 关联技能2 = ['念珠连射'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02* self.等级, 5) - -class 技能18(主动技能): - 名称 = '退魔阴阳符' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - #基础 = (42399 - 4303.067) * 1.111 - #成长 = 4303.067 * 1.111 - data0 = [int(i*1.085*1.211) for i in [0, 471, 518, 566, 614, 662, 710, 757, 805, 853, 901, 949, 996, 1044, 1092, 1140, 1188, 1235, 1283, 1331, 1379, 1427, 1474, 1522, 1570, 1618, 1666, 1713, 1761, 1809, 1857, 1905, 1952, 2000, 2048, 2096, 2144, 2191, 2239, 2287, 2335, 2383, 2430, 2478, 2526, 2574, 2622, 2669, 2717, 2765, 2813, 2860, 2908, 2956, 3004, 3052, 3099, 3147, 3195, 3243, 3291, 3338, 3386, 3434, 3482, 3530, 3577, 3625, 3673, 3721, 3769]] - 攻击次数 = 1 - data1 = [int(i*1.085*1.211) for i in [0, 3886, 4281, 4675, 5069, 5464, 5858, 6252, 6647, 7041, 7435, 7830, 8224, 8618, 9013, 9407, 9801, 10196, 10590, 10984, 11379, 11773, 12167, 12562, 12956, 13350, 13745, 14139, 14533, 14928, 15322, 15716, 16110, 16505, 16899, 17293, 17688, 18082, 18476, 18871, 19265, 19659, 20054, 20448, 20842, 21237, 21631, 22025, 22420, 22814, 23208, 23603, 23997, 24391, 24786, 25180, 25574, 25969, 26363, 26757, 27152, 27546, 27940, 28335, 28729, 29123, 29518, 29912, 30306, 30700, 31095]] - 攻击次数1 = 12 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.32 - - -class 技能19(主动技能): - 名称 = '天坠阴阳玉' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - #基础 = (40585 - 4117.917) * 1.097 - #成长 = 4117.917 * 1.097 - data0 = [int(i*1.085*1.25) for i in [0, 3007, 3312, 3617, 3922, 4227, 4532, 4837, 5142, 5447, 5753, 6058, 6363, 6668, 6973, 7278, 7583, 7888, 8193, 8498, 8803, 9109, 9414, 9719, 10024, 10329, 10634, 10939, 11244, 11549, 11854, 12159, 12465, 12770, 13075, 13380, 13685, 13990, 14295, 14600, 14905, 15210, 15515, 15820, 16126, 16431, 16736, 17041, 17346, 17651, 17956, 18261, 18566, 18871, 19176, 19482, 19787, 20092, 20397, 20702, 21007, 21312, 21617, 21922, 22227, 22532, 22838, 23143, 23448, 23753, 24058]] - 攻击次数 = 3 - data1 = [int(i*1.085*1.25) for i in [0, 35519, 39122, 42726, 46329, 49932, 53536, 57139, 60743, 64346, 67950, 71553, 75156, 78760, 82363, 85967, 89570, 93173, 96777, 100380, 103984, 107587, 111190, 114794, 118397, 122001, 125604, 129208, 132811, 136414, 140018, 143621, 147225, 150828, 154431, 158035, 161638, 165242, 168845, 172448, 176052, 179655, 183259, 186862, 190466, 194069, 197672, 201276, 204879, 208483, 212086, 215689, 219293, 222896, 226500, 230103, 233706, 237310, 240913, 244517, 248120, 251723, 255327, 258930, 262534, 266137, 269741, 273344, 276947, 280551, 284154]] - 攻击次数1 = 1 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.倍率 *= 1.288 - self.攻击次数 = 0 - self.倍率 *= 1 + 0.43 + 0.18 - self.CD *= 0.86 - - -class 技能20(主动技能): - 名称 = '龙威如狱·龙恩如海' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #基础 = (92783 - 21518) * 1.1 - #成长 = 21518 * 1.1 - data0 = [int(i*1.085*1.211) for i in [0, 3402, 4191, 4980, 5769, 6558, 7347, 8136, 8925, 9714, 10503, 11292, 12081, 12870, 13659, 14448, 15237, 16026, 16815, 17604, 18393, 19182, 19971, 20760, 21549, 22338, 23127, 23917, 24706, 25495, 26284, 27073, 27862, 28651, 29440, 30229, 31018, 31807, 32596, 33385, 34174, 34963, 35752, 36541, 37330, 38119, 38908, 39697, 40486, 41275, 42064, 42853, 43642, 44431, 45220, 46009, 46798, 47587, 48376, 49165, 49954, 50743, 51532, 52321, 53110, 53899, 54688, 55477, 56266, 57055, 57844]] - 攻击次数 = 9 - data1 = [int(i*1.085*1.211) for i in [0, 5103, 6287, 7470, 8654, 9838, 11021, 12205, 13388, 14572, 15755, 16939, 18122, 19306, 20489, 21673, 22856, 24040, 25223, 26407, 27590, 28774, 29957, 31141, 32324, 33508, 34691, 35875, 37059, 38242, 39426, 40609, 41793, 42976, 44160, 45343, 46527, 47710, 48894, 50077, 51261, 52444, 53628, 54811, 55995, 57178, 58362, 59545, 60729, 61913, 63096, 64280, 65463, 66647, 67830, 69014, 70197, 71381, 72564, 73748, 74931, 76115, 77298, 78482, 79665, 80849, 82032, 83216, 84399, 85583, 86766]] - 攻击次数1 = 6 - data2 = [int(i*1.085*1.211) for i in [0, 40831, 50299, 59767, 69236, 78704, 88172, 97640, 107108, 116576, 126045, 135513, 144981, 154449, 163917, 173386, 182854, 192322, 201790, 211258, 220726, 230195, 239663, 249131, 258599, 268067, 277535, 287004, 296472, 305940, 315408, 324876, 334345, 343813, 353281, 362749, 372217, 381685, 391154, 400622, 410090, 419558, 429026, 438494, 447963, 457431, 466899, 476367, 485835, 495304, 504772, 514240, 523708, 533176, 542644, 552113, 561581, 571049, 580517, 589985, 599453, 608922, 618390, 627858, 637326, 646794, 656263, 665731, 675199, 684667, 694135]] - 攻击次数2 = 1 - CD = 180.0 - - -class 技能21(被动技能): - 名称 = '乾坤之境' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = '天泽神龙阵' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085*1.211) for i in [0, 6033, 6645, 7257, 7869, 8481, 9094, 9706, 10318, 10930, 11542, 12154, 12766, 13378, 13990, 14602, 15215, 15827, 16439, 17051, 17663, 18275, 18887, 19499, 20111, 20723, 21336, 21948, 22560, 23172, 23784, 24396, 25008, 25620, 26232, 26844, 27457, 28069, 28681, 29293, 29905, 30517, 31129, 31741, 32353, 32965, 33578, 34190, 34802, 35414, 36026, 36638, 37250, 37862, 38474, 39086, 39699, 40311, 40923, 41535, 42147, 42759, 43371, 43983, 44595, 45207, 45820, 46432, 47044, 47656, 48268]] - 攻击次数 = 10 - data1 = [int(i*1.085*1.211) for i in [0, 34079, 37536, 40994, 44451, 47908, 51366, 54823, 58280, 61738, 65195, 68652, 72110, 75567, 79024, 82482, 85939, 89396, 92854, 96311, 99768, 103226, 106683, 110140, 113598, 117055, 120512, 123970, 127427, 130884, 134342, 137799, 141256, 144714, 148171, 151628, 155086, 158543, 162001, 165458, 168915, 172373, 175830, 179287, 182745, 186202, 189659, 193117, 196574, 200031, 203489, 206946, 210403, 213861, 217318, 220775, 224233, 227690, 231147, 234605, 238062, 241519, 244977, 248434, 251891, 255349, 258806, 262263, 265721, 269178, 272635]] - 攻击次数1 = 1 - CD = 60.0 - -class 技能23(主动技能): - 名称 = '神龙之舞·天一' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290.0 - - data0 = [int(i*1.085*1.164) for i in [0, 18619, 22937, 27254, 31572, 35890, 40207, 44525, 48842, 53160, 57478, 61795, 66113, 70430, 74748, 79066, 83383, 87701, 92018, 96336, 100654, 104971, 109289, 113606, 117924, 122242, 126559, 130877, 135194, 139512, 143830, 148147, 152465, 156782, 161100, 165418, 169735, 174053, 178370, 182688, 187006, 191323, 195641, 199958, 204276, 208594, 212911, 217229, 221546, 225864, 230182, 234499, 238817, 243134, 247452, 251770, 256087, 260405, 264722, 269040, 273358, 277675, 281993, 286310, 290628, 294946, 299263, 303581, 307898, 312216, 316534]] - 攻击次数 = 5 - data1 = [int(i*1.085*1.164) for i in [0, 62065, 76457, 90849, 105241, 119633, 134025, 148417, 162809, 177201, 191593, 205985, 220377, 234769, 249161, 263553, 277945, 292337, 306729, 321121, 335513, 349905, 364297, 378689, 393081, 407473, 421865, 436257, 450649, 465041, 479433, 493825, 508217, 522609, 537001, 551393, 565785, 580177, 594569, 608961, 623353, 637745, 652137, 666529, 680921, 695313, 709705, 724097, 738489, 752881, 767273, 781665, 796057, 810449, 824841, 839233, 853625, 868017, 882409, 896801, 911193, 925585, 939977, 954369, 968761, 983153, 997545, 1011937, 1026329, 1040721, 1055113]] - 攻击次数1 = 1 - data2 = [int(i*1.085*1.164) for i in [0, 22166, 27306, 32446, 37586, 42726, 47866, 53006, 58146, 63286, 68426, 73566, 78706, 83846, 88986, 94126, 99266, 104406, 109546, 114686, 119826, 124966, 130106, 135246, 140386, 145526, 150666, 155806, 160946, 166086, 171226, 176366, 181506, 186646, 191786, 196926, 202066, 207206, 212346, 217486, 222626, 227766, 232906, 238046, 243186, 248326, 253466, 258606, 263746, 268886, 274026, 279166, 284306, 289446, 294586, 299726, 304866, 310006, 315146, 320286, 325426, 330566, 335706, 340846, 345986, 351126, 356266, 361406, 366546, 371686, 376826]] - 攻击次数2 = 7 - - - def 加成倍率(self, 武器类型): - return 0.0 - - - - -class 技能24(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['念珠连射'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·巫女一觉序号 = 0 -神启·巫女二觉序号 = 0 -神启·巫女三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 神启·巫女一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 神启·巫女二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 神启·巫女三觉序号 = 技能序号[i.名称] - -神启·巫女护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·巫女护石选项.append(i.名称) - -神启·巫女符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·巫女符文选项.append(i.名称) - - -class 神启·巫女角色属性(角色属性): - - 实际名称 = '神启·巫女' - 角色 = '圣职者(女)' - 职业 = '巫女' - - 武器选项 = ['念珠'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 2.08 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 神启·巫女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·巫女角色属性() - self.角色属性A = 神启·巫女角色属性() - self.角色属性B = 神启·巫女角色属性() - self.一觉序号 = 神启·巫女一觉序号 - self.二觉序号 = 神启·巫女二觉序号 - self.三觉序号 = 神启·巫女三觉序号 - self.护石选项 = deepcopy(神启·巫女护石选项) - self.符文选项 = deepcopy(神启·巫女符文选项) diff --git a/Characters/神启·异端审判者.py b/Characters/神启·异端审判者.py deleted file mode 100644 index 9e4be46c..00000000 --- a/Characters/神启·异端审判者.py +++ /dev/null @@ -1,601 +0,0 @@ -from math import * -from PublicReference.carry.base import * - -# 2020.7.3 数据有待修整 -# 2020.9.20 加入新护石,改为三觉版本 - -# 武器战斧 -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '战斧': -# return round(self.CD / self.恢复 * 1.1, 1) - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - 攻击次数4 = 0 - 攻击次数5 = 0 - 攻击次数6 = 0 - 攻击次数7 = 0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 战斧精通 -class 技能0(被动技能): - 名称 = '战斧精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1.05 + 0.01 * self.等级, 5) - else : - return round(0.95 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - -# 一觉被动 -class 技能1(被动技能): - 名称 = '异端烙印' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.075 + 0.015 * self.等级, 5) - - -# 二觉被动 -class 技能2(被动技能): - 名称 = '定罪法则' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - 关联技能2 = ['火焰精华']#此处删除神焰 - def 加成倍率2(self, 武器类型): - if self.等级 ==0: - return 1.0 - else: - return(round(1.073 + 0.017 * self.等级, 5)/ self.加成倍率(武器类型)) - 冷却关联技能 = ['火焰精华','神焰'] - def CD缩减倍率(self, 武器类型): - if self.等级 ==0: - return 1.0 - else: - return 0.85 - -# 三觉被动 -class 技能3(被动技能): - 名称 = '狂炎告解' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -# 惩戒十字 -class 技能4(职业主动技能): - 名称 = '惩戒十字' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - #基础 = 1186 + 1779 - 120 - 180 - #成长 = 300 - data0 = [ int(i*1.197*1.085) for i in [0,1198, 1321, 1442, 1564, 1685, 1809, 1929, 2052, 2173, 2296, 2416, 2540, 2660, 2783, 2903, 3027, 3147, 3268, 3391, 3512, 3634, 3755, 3878, 3999, 4121, 4243, 4365, 4486, 4610, 4730, 4853, 4973, 5097, 5217, 5340, 5461, 5584, 5704, 5825, 5948, 6069, 6191, 6313, 6435, 6556, 6679, 6800, 6922, 7043, 7166, 7287, 7410, 7531, 7654, 7774, 7898, 8018, 8141, 8261, 8383, 8505, 8626, 8749, 8870, 8992, 9113, 9236, 9357, 9479, 9601]] - 攻击次数 = 1 - data1 = [ int(i*1.197*1.085) for i in [0,1800, 1982, 2165, 2347, 2531, 2713, 2895, 3078, 3260, 3444, 3626, 3809, 3991, 4175, 4357, 4539, 4722, 4904, 5088, 5270, 5453, 5635, 5819, 6001, 6183, 6366, 6548, 6732, 6914, 7097, 7279, 7461, 7645, 7827, 8010, 8192, 8376, 8558, 8741, 8923, 9105, 9289, 9471, 9654, 9836, 10019, 10202, 10385, 10567, 10749, 10933, 11115, 11298, 11480, 11663, 11846, 12029, 12211, 12393, 12577, 12759, 12942, 13124, 13307, 13490, 13673, 13855, 14037, 14220, 14403]] - 攻击次数1 = 1 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -# 净化火焰瓶 -class 技能5(职业主动技能): - 名称 = '净化火焰瓶' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - #基础 = 2938 - 298 - #成长 = 298 - data0 = [ int(i*1.1043*1.085) for i in [0, 2938, 3236, 3535, 3833, 4131, 4429, 4727, 5025, 5323, 5621, 5920, 6218, 6516, 6814, 7112, 7410, 7708, 8007, 8305, 8603, 8901, 9199, 9497, 9795, 10094, 10392, 10690, 10988, 11286, 11584, 11882, 12180, 12479, 12777, 13075, 13373, 13671, 13969, 14267, 14566, 14864, 15162, 15460, 15758, 16056, 16354, 16653, 16951, 17249, 17547, 17845, 18143, 18441, 18739, 19038, 19336, 19634, 19932, 20230, 20528, 20826, 21125, 21423, 21721, 22019, 22317, 22615, 22913, 23212, 23510]] - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -# 裁决之击 -class 技能6(职业主动技能): - 名称 = '裁决之击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - #基础 = 4449 - 451.5 - #成长 = 451.5 - data0 = [ int(i*1.196*1.085) for i in [0,4449, 4901, 5352, 5803, 6256, 6707, 7158, 7609, 8060, 8512, 8964, 9415, 9866, 10319, 10770, 11222, 11673, 12123, 12577, 13027, 13478, 13930, 14382, 14833, 15285, 15736, 16188, 16640, 17090, 17541, 17993, 18445, 18896, 19348, 19799, 20252, 20703, 21154, 21604, 22058, 22508, 22960, 23411, 23862, 24315, 24766, 25217, 25669, 26121, 26573, 27023, 27474, 27927, 28378, 28829, 29281, 29732, 30184, 30636, 31086, 31537, 31990, 32441, 32892, 33344, 33795, 34247, 34699, 35150, 35600]] - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - #倍率 = 1*1.134,弃,2020年11月29日微调 - - -# 火焰精华 -class 技能7(职业主动技能): - 名称 = '火焰精华' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 29 - #基础 = 4315 - 688 - #成长 = 688 - data0 = [ int(i*1.0785*1.085) for i in [0, 4315, 5003, 5691, 6378, 7066, 7754, 8442, 9130, 9818, 10506, 11194, 11882, 12570, 13258, 13946, 14634, 15321, 16009, 16697, 17385, 18073, 18761, 19449, 20137, 20825, 21513, 22201, 22889, 23577, 24264, 24952, 25640, 26328, 27016, 27704, 28392, 29080, 29768, 30456, 31144, 31832, 32520, 33207, 33895, 34583, 35271, 35959, 36647, 37335, 38023, 38711, 39399, 40087, 40775, 41463, 42150, 42838, 43526, 44214, 44902, 45590, 46278, 46966, 47654, 48342, 49030, 49718, 50406, 51093, 51781]] - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - -# 神焰 -# 三觉版本改版,tp为基础精通 -class 技能8(主动技能): - 名称 = '神焰' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - 基础 = 2416*1.2028*1.085 - 成长 = 0 - CD = 10 - TP成长 = 0.10 - TP上限 = 3 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1.05 + 0.01 * self.等级, 2) - else: - return round(1.15 + 0.02 * (self.等级 - 10), 2) - -# 审判重击 -class 技能9(职业主动技能): - 名称 = '审判重击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #基础 = 2852 + 3032 - 290 - 307 - #成长 = 290 + 307 - data0 = [ int(i*1.1959*1.085) for i in [0,2852, 3143, 3432, 3721, 4012, 4301, 4590, 4879, 5168, 5458, 5748, 6037, 6326, 6617, 6906, 7196, 7486, 7775, 8064, 8353, 8642, 8933, 9222, 9511, 9801, 10091, 10380, 10671, 10960, 11249, 11538, 11827, 12118, 12407, 12696, 12986, 13275, 13564, 13855, 14145, 14434, 14723, 15012, 15303, 15592, 15881, 16170, 16460, 16749, 17039, 17330, 17619, 17908, 18197, 18486, 18777, 19066, 19355, 19645, 19934, 20224, 20513, 20804, 21093, 21382, 21671, 21962, 22251, 22540, 22829]] - 攻击次数 = 1 - data1 = [ int(i*1.1959*1.085) for i in [0,3032, 3338, 3646, 3953, 4261, 4570, 4877, 5185, 5492, 5799, 6107, 6414, 6723, 7031, 7337, 7645, 7953, 8260, 8569, 8877, 9183, 9491, 9798, 10106, 10415, 10722, 11030, 11338, 11644, 11952, 12259, 12568, 12876, 13182, 13490, 13798, 14105, 14413, 14722, 15028, 15336, 15643, 15951, 16259, 16566, 16875, 17183, 17489, 17797, 18104, 18412, 18721, 19027, 19335, 19643, 19950, 20258, 20565, 20874, 21181, 21488, 21796, 22104, 22411, 22719, 23028, 23334, 23642, 23949, 24257]] - 攻击次数2 = 1 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - #倍率 = round((1/1.081)*1.129,8),弃 - -# 神焰斩 -class 技能10(职业主动技能): - 名称 = '神焰斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - - #基础 = 1209 - 123 - #成长 = 123 - data0 = [ int(i*1.1389*1.085*1.051) for i in [0, 1209, 1332, 1455, 1578, 1700, 1823, 1946, 2069, 2191, 2314, 2437, 2560, 2682, 2805, 2928, 3051, 3173, 3296, 3419, 3542, 3664, 3787, 3910, 4033, 4155, 4278, 4401, 4524, 4647, 4769, 4892, 5015, 5138, 5260, 5383, 5506, 5629, 5751, 5874, 5997, 6120, 6242, 6365, 6488, 6611, 6733, 6856, 6979, 7102, 7224, 7347, 7470, 7593, 7715, 7838, 7961, 8084, 8206, 8329, 8452, 8575, 8697, 8820, 8943, 9066, 9188, 9311, 9434, 9557, 9679]] - 攻击次数 = 1 - - #基础2 = 10903 -1106 - #成长2 = 1106 - 攻击次数2 = 1 - data1 = [ int(i*1.137*1.085*1.051) for i in [0, 10903, 12009, 13116, 14222, 15328, 16434, 17540, 18646, 19753, 20859, 21965, 23071, 24177, 25284, 26390, 27496, 28602, 29708, 30814, 31921, 33027, 34133, 35239, 36345, 37451, 38558, 39664, 40770, 41876, 42982, 44089, 45195, 46301, 47407, 48513, 49619, 50726, 51832, 52938, 54044, 55150, 56256, 57363, 58469, 59575, 60681, 61787, 62893, 64000, 65106, 66212, 67318, 68424, 69531, 70637, 71743, 72849, 73955, 75061, 76168, 77274, 78380, 79486, 80592, 81698, 82805, 83911, 85017, 86123, 87229]] - # 默认武器处于点火状态,怪物处于焚烧状态,否则data1 = [0, 10889, 11994, 13099, 14204, 15308, 16413, 17518, 18623, 19727, 20832, 21937, 23042, 24146, 25251, 26356, 27461, 28565, 29670, 30775, 31880, 32984, 34089, 35194, 36299, 37403, 38508, 39613, 40718, 41823, 42927, 44032, 45137, 46242, 47346, 48451, 49556, 50661, 51765, 52870, 53975, 55080, 56184, 57289, 58394, 59499, 60603, 61708, 62813, 63918, 65022, 66127, 67232, 68337, 69441, 70546, 71651, 72756, 73860, 74965, 76070, 77175, 78280, 79384, 80489, 81594, 82699, 83803, 84908, 86013, 87118] - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 技能施放时间 = 1 - - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 = 1.29 - self.CD *= 0.85 - elif x == 1: - self.攻击次数 = 0 - self.攻击次数2 = 1.38 - self.CD *= 0.85 - -# 神焰洗礼 -class 技能11(职业主动技能): - 名称 = '神焰洗礼' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #基础 = 9139 - 928 - data0 = [ int(i*1.203*1.085*1.053) for i in [0,9139, 10067, 10996, 11922, 12850, 13777, 14705, 15631, 16559, 17486, 18412, 19340, 20269, 21196, 22124, 23050, 23978, 24905, 25831, 26759, 27687, 28615, 29543, 30469, 31397, 32324, 33251, 34178, 35106, 36032, 36961, 37888, 38816, 39743, 40670, 41597, 42525, 43451, 44379, 45307, 46235, 47162, 48089, 49016, 49944, 50870, 51798, 52725, 53654, 54581, 55508, 56435, 57363, 58289, 59217, 60144, 61072, 61998, 62927, 63854, 64782, 65708, 66636, 67563, 68491, 69417, 70345, 71273, 72201, 73127]] - #2020年11月29日微调 - #成长 = 928 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - - -# 神焰怒火 -class 技能12(职业主动技能): - 名称 = '神焰怒火' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - data0 = [ int(i*1.2027*1.085*1.053) for i in [0,1687, 1859, 2030, 2202, 2372, 2544, 2715, 2887, 3059, 3230, 3401, 3571, 3743, 3915, 4086, 4258, 4428, 4600, 4772, 4943, 5115, 5284, 5456, 5627, 5799, 5971, 6142, 6313, 6484, 6656, 6828, 6999, 7171, 7340, 7512, 7684, 7855, 8027, 8198, 8369, 8540, 8712, 8884, 9055, 9227, 9396, 9568, 9740, 9911, 10083, 10254, 10425, 10596, 10768, 10940, 11110, 11281, 11452, 11624, 11796, 11967, 12139, 12309, 12481, 12653, 12824, 12995, 13166, 13337, 13508]] - 攻击次数 = 5 - - data1 = [ int(i*1.20295*1.085*1.053) for i in [0,5627, 6200, 6770, 7340, 7912, 8483, 9055, 9625, 10197, 10768, 11338, 11910, 12481, 13052, 13623, 14195, 14765, 15336, 15908, 16479, 17050, 17621, 18193, 18763, 19333, 19906, 20475, 21047, 21618, 22189, 22760, 23331, 23903, 24473, 25045, 25616, 26187, 26758, 27329, 27900, 28471, 29043, 29614, 30185, 30756, 31327, 31898, 32469, 33041, 33611, 34183, 34753, 35323, 35895, 36466, 37038, 37608, 38180, 38751, 39321, 39893, 40464, 41035, 41606, 42178, 42748, 43319, 43891, 44462, 45033]] - 攻击次数2 = 1 - - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.CD *= 0.85 - self.攻击次数 += 2 - elif x == 1: - self.CD *= 0.85 - self.攻击次数 += 2 - self.倍率 *= 1.09 - - -# 行刑 -class 技能13(职业主动技能): - 名称 = '行刑' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #基础 = 23205 -2354.5 - #成长 = 2354.5 - data0 = [ int(i*1.14*1.085*1.052) for i in [0, 23205, 25560, 27914, 30268, 32622, 34977, 37331, 39685, 42039, 44394, 46748, 49102, 51456, 53810, 56165, 58519, 60873, 63227, 65582, 67936, 70290, 72644, 74998, 77353, 79707, 82061, 84415, 86770, 89124, 91478, 93832, 96187, 98541, 100895, 103249, 105603, 107958, 110312, 112666, 115020, 117375, 119729, 122083, 124437, 126791, 129146, 131500, 133854, 136208, 138563, 140917, 143271, 145625, 147980, 150334, 152688, 155042, 157396, 159751, 162105, 164459, 166813, 169168, 171522, 173876, 176230, 178584, 180939, 183293, 185647]] - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 是否装备护石 = 0 - - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.CD *= 0.9 - self.是否装备护石 = 1 - elif x == 1: - self.CD *= 0.9 - self.是否装备护石 = 2 - -#数据未录 -# 一觉 -class 技能14(职业主动技能): - 名称 = '火刑' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - #多段 - #基础 = 10371 - 678 *12 - #成长 = 678 - #前2 - #基础2 = 9712 + 29135 - 12 *(633+1901) - #成长2 = 633 +1901 - data0 = [ int(i*1.2239*1.085) for i in [0, 2735, 3368, 4003, 4638, 5271, 5906, 6541, 7174, 7809, 8442, 9077, 9712, 10345, 10980, 11613, 12248, 12883, 13516, 14151, 14784, 15419, 16054, 16687, 17322, 17955, 18590, 19225, 19858, 20493, 21127, 21761, 22396, 23030, 23664, 24299, 24932, 25567, 26201, 26835, 27470, 28104, 28738, 29372, 30006, 30641, 31275, 31909, 32543, 33178, 33812, 34446, 35081, 35714, 36349, 36983, 37617, 38252, 38885, 39520, 40155, 40788, 41423, 42057, 42691, 43326, 43959, 44594, 45229, 45862]] - 攻击次数 = 1 - data1 = [ int(i*1.2239*1.085) for i in [0, 8205, 10107, 12010, 13913, 15816, 17719, 19622, 21523, 23426, 25329, 27232, 29135, 31036, 32939, 34842, 36745, 38648, 40551, 42453, 44356, 46259, 48162, 50064, 51966, 53869, 55772, 57675, 59578, 61481, 63382, 65285, 67188, 69091, 70994, 72897, 74799, 76702, 78604, 80507, 82410, 84312, 86215, 88118, 90021, 91924, 93827, 95728, 97631, 99534, 101437, 103340, 105242, 107144, 109047, 110950, 112853, 114756, 116658, 118561, 120464, 122367, 124270, 126172, 128074, 129977, 131880, 133783, 135686, 137587]] - 攻击次数2= 1 - data2 = [ int(i*1.2239*1.085) for i in [0, 2920, 3597, 4276, 4953, 5630, 6307, 6985, 7662, 8339, 9016, 9694, 10371, 11049, 11727, 12404, 13081, 13758, 14435, 15113, 15790, 16467, 17146, 17823, 18500, 19177, 19855, 20532, 21209, 21886, 22563, 23241, 23919, 24596, 25274, 25951, 26628, 27305, 27983, 28660, 29337, 30015, 30693, 31370, 32047, 32724, 33402, 34079, 34756, 35433, 36111, 36789, 37466, 38143, 38821, 39498, 40175, 40852, 41530, 42207, 42884, 43563, 44240, 44917, 45594, 46271, 46949, 47626, 48303, 48980]] - 攻击次数3 = 15 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if self.等级 >=6: - self.攻击次数3 *= 1.1 - return super().等效百分比(武器类型) - CD = 145 - - -# 神焰漩涡,最大旋转 -class 技能15(职业主动技能): - 名称 = '神焰漩涡' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - data0 =[ int(i*1.203*1.085*1.053) for i in [0,1639, 1805, 1972, 2139, 2304, 2471, 2637, 2803, 2970, 3136, 3302, 3470, 3635, 3803, 3968, 4134, 4301, 4468, 4634, 4801, 4967, 5132, 5299, 5465, 5633, 5799, 5965, 6132, 6298, 6463, 6630, 6796, 6963, 7130, 7296, 7463, 7629, 7794, 7961, 8128, 8294, 8461, 8627, 8793, 8960, 9125, 9294, 9459, 9625, 9792, 9958, 10124, 10292, 10458, 10623, 10790, 10956, 11122, 11289, 11455, 11623, 11789, 11954, 12121, 12287, 12453, 12620, 12787, 12953, 13120]] - 攻击次数 = 9 - - data1 = [ int(i*1.203*1.085*1.053) for i in [0,3461, 3813, 4164, 4515, 4866, 5218, 5569, 5920, 6271, 6622, 6974, 7325, 7677, 8027, 8378, 8730, 9081, 9433, 9783, 10136, 10486, 10837, 11189, 11539, 11892, 12242, 12594, 12945, 13295, 13648, 13998, 14351, 14701, 15053, 15404, 15756, 16107, 16457, 16809, 17160, 17512, 17863, 18215, 18565, 18916, 19268, 19619, 19971, 20321, 20673, 21024, 21375, 21727, 22077, 22429, 22780, 23132, 23483, 23833, 24185, 24536, 24888, 25239, 25591, 25941, 26293, 26644, 26995, 27347, 27697]] - 攻击次数2 = 1 - - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 3 - self.攻击次数 *= 0.94 - self.攻击次数2 *= 1.14 - elif x == 1: - self.攻击次数 += 3 - self.攻击次数 *= 1.01###### - self.攻击次数2 *= 1.14 - -# 净化之焰 - -class 技能16(职业主动技能): - 名称 = '净化之焰' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - - #基础 = 28032 - 2844 - #成长 = 2844 - data0 = [ int(i*1.1953*1.085*1.05) for i in [0, 28032, 30875, 33719, 36563, 39407, 42251, 45095, 47938, 50782, 53626, 56470, 59314, 62158, 65001, 67845, 70689, 73533, 76377, 79221, 82064, 84908, 87752, 90596, 93440, 96284, 99127, 101971, 104815, 107659, 110503, 113347, 116190, 119034, 121878, 124722, 127566, 130410, 133254, 136097, 138941, 141785, 144629, 147473, 150317, 153160, 156004, 158848, 161692, 164536, 167380, 170223, 173067, 175911, 178755, 181599, 184443, 187286, 190130, 192974, 195818, 198662, 201506, 204349, 207193, 210037, 212881, 215725, 218569, 221412, 224256]] - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.19 - elif x == 1: - self.倍率 *= 1.27##### - -# 裁决轮回斩 -class 技能17(职业主动技能): - 名称 = '裁决轮回斩' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - - data0 = [ int(i*1.1959*1.085*1.051) for i in [0,2873, 3165, 3456, 3749, 4040, 4332, 4623, 4916, 5207, 5499, 5790, 6081, 6373, 6665, 6956, 7248, 7540, 7832, 8123, 8415, 8707, 8999, 9290, 9582, 9874, 10164, 10456, 10747, 11039, 11331, 11623, 11914, 12206, 12498, 12790, 13081, 13373, 13665, 13957, 14247, 14539, 14830, 15123, 15414, 15706, 15997, 16290, 16581, 16873, 17164, 17457, 17748, 18040, 18330, 18621, 18914, 19205, 19497, 19788, 20081, 20372, 20664, 20955, 21248, 21539, 21831, 22122, 22413, 22705, 22996]] - 攻击次数 = 3 - data1 = [ int(i*1.1959*1.085*1.051) for i in [0,45777, 50423, 55067, 59712, 64356, 68999, 73643, 78289, 82933, 87576, 92221, 96865, 101511, 106155, 110798, 115442, 120087, 124731, 129375, 134020, 138664, 143309, 147953, 152596, 157241, 161886, 166530, 171173, 175818, 180463, 185108, 189751, 194395, 199040, 203685, 208329, 212972, 217617, 222261, 226907, 231550, 236194, 240839, 245483, 250127, 254770, 259416, 264060, 268705, 273348, 277992, 282638, 287282, 291926, 296569, 301214, 305859, 310504, 315147, 319791, 324436, 329080, 333725, 338369, 343013, 347657, 352302, 356945, 361590, 366235]] - 攻击次数2 = 1 - - CD = 40 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - def 装备护石(self, x): - if x == 0: - self.攻击次数 -= 1 - self.攻击次数2 *= 1.26 - self.CD *= 0.92 - self.攻击次数 *= 1.37 - - - -# 车轮刑 -class 技能18(职业主动技能): - 名称 = '车轮刑' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - #基础 = (1872 - 190)*26 +12016 - 1219 - #成长 = 190 *26 + 1219 - data0 = [ int(i*1.203*1.085*1.052) for i in [0,1873, 2063, 2252, 2443, 2633, 2823, 3013, 3204, 3393, 3583, 3774, 3963, 4154, 4344, 4533, 4724, 4914, 5104, 5294, 5485, 5674, 5864, 6055, 6244, 6435, 6625, 6814, 7005, 7195, 7385, 7575, 7766, 7955, 8145, 8336, 8528, 8717, 8907, 9098, 9287, 9478, 9668, 9857, 10048, 10238, 10428, 10618, 10809, 10998, 11188, 11379, 11568, 11759, 11949, 12138, 12329, 12519, 12709, 12899, 13090, 13279, 13469, 13660, 13849, 14040, 14230, 14419, 14610, 14800, 14990]] - 攻击次数 = 1 - data1 = [ int(i*1.203*1.085*1.052) for i in [0,1873, 2063, 2252, 2443, 2633, 2823, 3013, 3204, 3393, 3583, 3774, 3963, 4154, 4344, 4533, 4724, 4914, 5104, 5294, 5485, 5674, 5864, 6055, 6244, 6435, 6625, 6814, 7005, 7195, 7385, 7575, 7766, 7955, 8145, 8336, 8528, 8717, 8907, 9098, 9287, 9478, 9668, 9857, 10048, 10238, 10428, 10618, 10809, 10998, 11188, 11379, 11568, 11759, 11949, 12138, 12329, 12519, 12709, 12899, 13090, 13279, 13469, 13660, 13849, 14040, 14230, 14419, 14610, 14800, 14990]] - 攻击次数2 = 25 - data2 = [ int(i*1.203*1.085*1.052) for i in [0,12021, 13242, 14460, 15681, 16900, 18119, 19340, 20559, 21779, 22998, 24219, 25437, 26658, 27878, 29096, 30317, 31536, 32756, 33975, 35196, 36415, 37635, 38855, 40073, 41294, 42512, 43733, 44953, 46173, 47392, 48612, 49832, 51050, 52271, 53491, 54710, 55930, 57149, 58369, 59590, 60809, 62028, 63248, 64468, 65687, 66907, 68128, 69346, 70567, 71785, 73005, 74225, 75445, 76665, 77884, 79105, 80323, 81544, 82762, 83982, 85203, 86422, 87642, 88861, 90082, 91300, 92521, 93741, 94959, 96180]] - 攻击次数3= 1 - CD = 45 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.31 - -# 二觉 -class 技能19(职业主动技能): - 名称 = '炎狱祭坛:炮烙' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #基础 = (33499 - 4030*5) *3 + 150746 - 18135*5 - data0 = [ int(i*1.202*1.085) for i in [0,17463, 21512, 25561, 29610, 33660, 37710, 41758, 45808, 49857, 53908, 57957, 62007, 66055, 70105, 74155, 78205, 82254, 86302, 90352, 94402, 98452, 102501, 106551, 110599, 114650, 118699, 122749, 126798, 130847, 134897]] - 攻击次数 = 3 - data1 = [ int(i*1.202*1.085) for i in [0,78584, 96806, 115029, 133252, 151474, 169696, 187921, 206142, 224365, 242588, 260810, 279033, 297255, 315478, 333701, 351922, 370145, 388367, 406590, 424814, 443037, 461259, 479482, 497704, 515927, 534150, 552371, 570594, 588816, 607039]] - 攻击次数2 = 1 - #成长 = 4030 *3 + 18135 - CD = 180 - #倍率 = round((1/1.127)*1.132,8) - -# 95 -class 技能20(职业主动技能): - 名称 = '补赎逆十字' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.2238*1.085) for i in [0,44324, 48821, 53317, 57814, 62311, 66807, 71304, 75801, 80298, 84794, 89291, 93788, 98284, 102781, 107278, 111774, 116271, 120768, 125264, 129761, 134258, 138755, 143251, 147748, 152245, 156741, 161238, 165735, 170231, 174728, 179225, 183721, 188218, 192715, 197211, 201708, 206205, 210702, 215198, 219695, 224192, 228688, 233185, 237682, 242178, 246675, 251172, 255668, 260165, 264662, 269159, 273655, 278152, 282649, 287145, 291642, 296139, 300635, 305132, 309629]] - 攻击次数 = 1 - data1 = [int(i*1.2238*1.085) for i in [0,55405, 61026, 66647, 72268, 77889, 83509, 89130, 94751, 100372, 105993, 111614, 117235, 122855, 128476, 134097, 139718, 145339, 150960, 156581, 162202, 167822, 173443, 179064, 184685, 190306, 195927, 201548, 207168, 212789, 218410, 224031, 229652, 235273, 240894, 246514, 252135, 257756, 263377, 268998, 274619, 280240, 285861, 291481, 297102, 302723, 308344, 313965, 319586, 325207, 330827, 336448, 342069, 347690, 353311, 358932, 364553, 370173, 375794, 381415, 387036]] - 攻击次数2 = 1 - data2 = [int(i*1.2238*1.085) for i in [0,554, 610, 666, 722, 778, 835, 891, 947, 1003, 1059, 1116, 1172, 1228, 1284, 1340, 1397, 1453, 1509, 1565, 1622, 1678, 1734, 1790, 1846, 1903, 1959, 2015, 2071, 2127, 2184, 2240, 2296, 2352, 2408, 2465, 2521, 2577, 2633, 2689, 2746, 2802, 2858, 2914, 2971, 3027, 3083, 3139, 3195, 3252, 3308, 3364, 3420, 3476, 3533, 3589, 3645, 3701, 3757, 3814, 3870]] - 攻击次数3 = 20 +20 - - CD = 60 - -# 三觉 -class 技能21(职业主动技能): - 名称 = '无间业火:罪灭神威' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.2239*1.085) for i in [0,37813, 46582, 55350, 64119, 72887, 81656, 90424, 99193, 107961, 116730, 125498, 134266, 143035, 151803, 160572, 169340, 178109, 186877, 195646, 204414, 213183, 221951, 230719, 239488, 248256, 257025, 265793, 274562, 283330, 292099, 300867, 309635, 318404, 327172, 335941, 344709, 353478, 362246, 371015, 379783, 388552, 397320, 406088, 414857, 423625, 432394, 441162, 449931, 458699, 467468, 476236, 485005, 493773, 502541, 511310, 520078, 528847, 537615, 546384, 555152]] - 攻击次数 = 1 - data1 = [int(i*1.2239*1.085) for i in [0,15125, 18632, 22140, 25647, 29155, 32662, 36169, 39677, 43184, 46692, 50199, 53706, 57214, 60721, 64228, 67736, 71243, 74751, 78258, 81765, 85273, 88780, 92287, 95795, 99302, 102810, 106317, 109824, 113332, 116839, 120347, 123854, 127361, 130869, 134376, 137883, 141391, 144898, 148406, 151913, 155420, 158928, 162435, 165942, 169450, 172957, 176465, 179972, 183479, 186987, 190494, 194002, 197509, 201016, 204524, 208031, 211538, 215046, 218553, 222061]] - 攻击次数2 = 10 - data2 = [int(i*1.2239*1.085) for i in [0,189069, 232912, 276754, 320596, 364438, 408281, 452123, 495965, 539807, 583650, 627492, 671334, 715176, 759019, 802861, 846703, 890545, 934388, 978230, 1022072, 1065914, 1109757, 1153599, 1197441, 1241284, 1285126, 1328968, 1372810, 1416653, 1460495, 1504337, 1548179, 1592022, 1635864, 1679706, 1723548, 1767391, 1811233, 1855075, 1898917, 1942760, 1986602, 2030444, 2074287, 2118129, 2161971, 2205813, 2249656, 2293498, 2337340, 2381182, 2425025, 2468867, 2512709, 2556551, 2600394, 2644236, 2688078, 2731920, 2775763]] - 攻击次数3 = 1 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能22(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['神焰'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级)*1.196, 5) - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·异端审判者一觉序号 = 0 -神启·异端审判者二觉序号 = 0 -神启·异端审判者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 神启·异端审判者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 神启·异端审判者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 神启·异端审判者三觉序号 = 技能序号[i.名称] - -神启·异端审判者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·异端审判者护石选项.append(i.名称) - -神启·异端审判者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·异端审判者符文选项.append(i.名称) - - -class 神启·异端审判者角色属性(角色属性): - 实际名称 = '神启·异端审判者' - 角色 = '圣职者(女)' - 职业 = '异端审判者' - - 武器选项 = ['战斧'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.93 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - if i.是否有伤害 == 1: - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - 技能释放次数.append(int((self.时间输入 - i.演出时间) / i.等效CD(self.武器类型,self.类型) + 1 + i.基础释放次数)) - elif self.次数输入[self.技能序号[i.名称]] != '0': - 技能释放次数.append(round(float(self.次数输入[self.技能序号[i.名称]]),2)) - else: - 技能释放次数.append(0) - else: - 技能释放次数.append(0) - - if '行刑' in [self.护石第一栏, self.护石第二栏, self.护石第三栏] and '/CD' in self.次数输入[self.技能序号['神焰']]: - 技能释放次数[self.技能序号['神焰']] += 技能释放次数[self.技能序号['行刑']] - - return self.技能释放次数解析(技能释放次数) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['火焰精华']].被动倍率 /= self.技能栏[self.技能序号['神焰']].加成倍率(self.武器类型) - if self.技能栏[self.技能序号['行刑']].是否装备护石 == 1: - self.技能栏[self.技能序号['行刑']].被动倍率 /= self.技能栏[self.技能序号['神焰']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['行刑']].被动倍率 *= 1 + (self.技能栏[self.技能序号['神焰']].加成倍率(self.武器类型) - 1) * 1.39 - elif self.技能栏[self.技能序号['行刑']].是否装备护石 == 2: - self.技能栏[self.技能序号['行刑']].被动倍率 /= self.技能栏[self.技能序号['神焰']].加成倍率(self.武器类型) - self.技能栏[self.技能序号['行刑']].被动倍率 *= 1 + (self.技能栏[self.技能序号['神焰']].加成倍率(self.武器类型) - 1) * 2.00 - - -class 神启·异端审判者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·异端审判者角色属性() - self.角色属性A = 神启·异端审判者角色属性() - self.角色属性B = 神启·异端审判者角色属性() - self.一觉序号 = 神启·异端审判者一觉序号 - self.二觉序号 = 神启·异端审判者二觉序号 - self.三觉序号 = 神启·异端审判者三觉序号 - self.护石选项 = deepcopy(神启·异端审判者护石选项) - self.符文选项 = deepcopy(神启·异端审判者符文选项) - diff --git a/Characters/神启·蓝拳圣使.py b/Characters/神启·蓝拳圣使.py deleted file mode 100644 index de5f9a63..00000000 --- a/Characters/神启·蓝拳圣使.py +++ /dev/null @@ -1,646 +0,0 @@ -from math import * -from PublicReference.carry.base import * - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型): -# if 武器类型 == '图腾': -# return round(self.CD / self.恢复 * 0.9, 1) -# if 武器类型 == '镰刀': -# return round(self.CD / self.恢复 * 0.95, 1) -# if 武器类型 == '战斧': -# return round(self.CD / self.恢复 * 1.1, 1) -# if 武器类型 == '十字架': -# return round(self.CD / self.恢复 * 1, 1) -# if 武器类型 == '念珠': -# return round(self.CD / self.恢复 * 0.95, 1) - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(职业主动技能): - 名称 = '直拳冲击' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - #第一击和第二击物理攻击力:% - data0 = [0, 273, 300, 328, 356, 384, 411, 439, 467, 495, 522, 550, 578, 605, 633, 661, 689, 716, 744, 772, 799, 827, 855, 883, 910, 938, 966, 993, 1021, 1049, 1077, 1104, 1132, 1160, 1188, 1215, 1243, 1271, 1298, 1326, 1354, 1382, 1409, 1437, 1465, 1492, 1520, 1548, 1576, 1603, 1631, 1659, 1686, 1714, 1742, 1770, 1797, 1825, 1853, 1881, 1908, 1936, 1964, 1991, 2019, 2047, 2075, 2102, 2130, 2158, 2185] - 攻击次数 = 2 - #最后一击物理攻击力:% - data1 = [0, 819, 902, 986, 1069, 1152, 1235, 1318, 1401, 1485, 1568, 1651, 1734, 1817, 1900, 1983, 2067, 2150, 2233, 2316, 2399, 2482, 2566, 2649, 2732, 2815, 2898, 2981, 3065, 3148, 3231, 3314, 3397, 3480, 3564, 3647, 3730, 3813, 3896, 3979, 4062, 4146, 4229, 4312, 4395, 4478, 4561, 4645, 4728, 4811, 4894, 4977, 5060, 5144, 5227, 5310, 5393, 5476, 5559, 5643, 5726, 5809, 5892, 5975, 6058, 6141, 6225, 6308, 6391, 6474, 6557] - 攻击次数2 = 1 - CD = 3.0 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能1(被动技能): - 名称 = '意念驱动' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 是否主动 = 1 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['泯灭神击','制裁:怒火疾风','正义执行:雷米迪奥斯的圣座'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.013 + 0.02 * self.等级, 5) - - def CD缩减倍率(self, 武器类型): - if 武器类型 == '图腾': - return 0.9 - else: - return 1.0 - - -class 技能2(被动技能): - 名称 = '技巧精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能2 = ['俯冲直拳','俯冲腹拳','俯冲翔拳'] - 关联技能3 = ['圣拳连击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - elif self.等级 <= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(1.10 + 0.015 * (self.等级 - 10), 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10, 5) - - def 加成倍率3(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.03, 5) - -class 技能3(职业主动技能): - 名称 = '圣拳锤击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 43 - # 直接攻击物理攻击力:% - data0 = [0, 269, 296, 323, 351, 378, 405, 433, 460, 487, 515, 542, 569, 597, 624, 651, 679, 706, 733, 761, 788, 815, 843, 870, 897, 925, 952, 979, 1007, 1034, 1061, 1089, 1116, 1143, 1171, 1198, 1225, 1252, 1280, 1307, 1334, 1362, 1389, 1416, 1444, 1471, 1498, 1526, 1553, 1580, 1608, 1635, 1662, 1690, 1717, 1744, 1772, 1799, 1826, 1854, 1881, 1908, 1936, 1963, 1990, 2018, 2045, 2072, 2099, 2127, 2154] - # 冲击波攻击力:% - data1 = [0, 2423, 2669, 2915, 3161, 3407, 3653, 3899, 4145, 4391, 4637, 4883, 5128, 5374, 5620, 5866, 6112, 6358, 6604, 6850, 7096, 7342, 7588, 7834, 8079, 8325, 8571, 8817, 9063, 9309, 9555, 9801, 10047, 10293, 10539, 10784, 11030, 11276, 11522, 11768, 12014, 12260, 12506, 12752, 12998, 13244, 13489, 13735, 13981, 14227, 14473, 14719, 14965, 15211, 15457, 15703, 15949, 16194, 16440, 16686, 16932, 17178, 17424, 17670, 17916, 18162, 18408, 18654, 18899, 19145, 19391] - 攻击次数2 = 1 - CD = 5.0 - TP成长 = 0.1 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = '俯冲翔拳' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1501.3778 * 1.1 * 1.169 - # 成长 = 169.2222 * 1.1 * 1.169 - #物理攻击力:% - data0 = [int(i*1.255) for i in [0, 1954, 2152, 2350, 2548, 2747, 2945, 3143, 3341, 3540, 3738, 3936, 4134, 4333, 4531, 4729, 4927, 5126, 5324, 5522, 5720, 5919, 6117, 6315, 6513, 6712, 6910, 7108, 7306, 7504, 7703, 7901, 8099, 8297, 8496, 8694, 8892, 9090, 9289, 9487, 9685, 9883, 10082, 10280, 10478, 10676, 10875, 11073, 11271, 11469, 11668, 11866, 12064, 12262, 12461, 12659, 12857, 13055, 13254, 13452, 13650, 13848, 14047, 14245, 14443, 14641, 14840, 15038, 15236, 15434, 15633]] - CD = 3.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能5(职业主动技能): - 名称 = '俯冲直拳' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1492.4667 * 1.1 * 1.173 - # 成长 = 168.5333 * 1.1 * 1.173 - #物理攻击力:% - data0 = [int(x*1.256) for x in [0, 1949, 2146, 2344, 2542, 2740, 2937, 3135, 3333, 3530, 3728, 3926, 4124, 4321, 4519, 4717, 4915, 5112, 5310, 5508, 5706, 5903, 6101, 6299, 6496, 6694, 6892, 7090, 7287, 7485, 7683, 7881, 8078, 8276, 8474, 8672, 8869, 9067, 9265, 9462, 9660, 9858, 10056, 10253, 10451, 10649, 10847, 11044, 11242, 11440, 11638, 11835, 12033, 12231, 12428, 12626, 12824, 13022, 13219, 13417, 13615, 13813, 14010, 14208, 14406, 14604, 14801, 14999, 15197, 15394, 15592]] - CD = 3.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '俯冲腹拳' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 基础 = 1630.0238 * 1.1 * 1.151 - # 成长 = 183.9761 * 1.1 * 1.151 - # 物理攻击力:% - data0 = [int(x*1.256) for x in [0, 2088, 2300, 2511, 2723, 2935, 3147, 3359, 3571, 3783, 3994, 4206, 4418, 4630, 4842, 5054, 5265, 5477, 5689, 5901, 6113, 6325, 6537, 6748, 6960, 7172, 7384, 7596, 7808, 8020, 8231, 8443, 8655, 8867, 9079, 9291, 9502, 9714, 9926, 10138, 10350, 10562, 10774, 10985, 11197, 11409, 11621, 11833, 12045, 12257, 12468, 12680, 12892, 13104, 13316, 13528, 13739, 13951, 14163, 14375, 14587, 14799, 15011, 15222, 15434, 15646, 15858, 16070, 16282, 16494, 16705]] - CD = 3.5 - TP成长 = 0.10 - TP上限 = 5 - - def 神圣反击百分比(self): - # 神圣反击倍率与腹拳一样,但在修炼场手动开只有80% - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 * 0.8 - - -class 技能7(职业主动技能): - 名称 = '瞬拳' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.255) for i in [0, 2098, 2311, 2524, 2737, 2950, 3163, 3376, 3589, 3802, 4015, 4228, 4441, 4654, 4867, 5080, 5293, 5505, 5718, 5931, 6144, 6357, 6570, 6783, 6996, 7209, 7422, 7635, 7848, 8061, 8274, 8487, 8700, 8912, 9125, 9338, 9551, 9764, 9977, 10190, 10403, 10616, 10829, 11042, 11255, 11468, 11681, 11894, 12107, 12320, 12532, 12745, 12958, 13171, 13384, 13597, 13810, 14023, 14236, 14449, 14662, 14875, 15088, 15301, 15514, 15727, 15939, 16152, 16365, 16578, 16791]] - data1 = [int(i*1.255) for i in [0, 524, 577, 631, 684, 737, 790, 844, 897, 950, 1003, 1057, 1110, 1163, 1216, 1270, 1323, 1376, 1429, 1482, 1536, 1589, 1642, 1695, 1749, 1802, 1855, 1908, 1962, 2015, 2068, 2121, 2175, 2228, 2281, 2334, 2387, 2441, 2494, 2547, 2600, 2654, 2707, 2760, 2813, 2867, 2920, 2973, 3026, 3080, 3133, 3186, 3239, 3292, 3346, 3399, 3452, 3505, 3559, 3612, 3665, 3718, 3772, 3825, 3878, 3931, 3984, 4038, 4091, 4144, 4197]] - # 基础 = 1667.6 * 1.13 - # 成长 = 188.4 * 1.13 - # 基础2 = 416.925 * 1.13 - # 成长2 = 47.075 * 1.13 - 攻击次数2 = 1 - CD = 4 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '圣拳连击' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - # 刺拳物理攻击力:% - data0 = [int(i*1.2554) for i in [0, 1050, 1156, 1263, 1369, 1476, 1582, 1689, 1796, 1902, 2009, 2115, 2222, 2328, 2435, 2541, 2648, 2754, 2861, 2968, 3074, 3181, 3287, 3394, 3500, 3607, 3713, 3820, 3926, 4033, 4140, 4246, 4353, 4459, 4566, 4672, 4779, 4885, 4992, 5098, 5205, 5312, 5418, 5525, 5631, 5738, 5844, 5951, 6057, 6164, 6270, 6377, 6484, 6590, 6697, 6803, 6910, 7016, 7123, 7229, 7336, 7442, 7549, 7655, 7762, 7869, 7975, 8082, 8188, 8295, 8401]] - # 直拳物理攻击力:% - data1 = [int(i*1.2554) for i in [0, 1283, 1413, 1544, 1674, 1804, 1934, 2064, 2195, 2325, 2455, 2585, 2716, 2846, 2976, 3106, 3236, 3367, 3497, 3627, 3757, 3888, 4018, 4148, 4278, 4408, 4539, 4669, 4799, 4929, 5060, 5190, 5320, 5450, 5580, 5711, 5841, 5971, 6101, 6232, 6362, 6492, 6622, 6752, 6883, 7013, 7143, 7273, 7404, 7534, 7664, 7794, 7924, 8055, 8185, 8315, 8445, 8575, 8706, 8836, 8966, 9096, 9227, 9357, 9487, 9617, 9747, 9878, 10008, 10138, 10268]] - # 摆拳物理攻击力:% - data2 = [int(i*1.2554) for i in [0, 1555, 1713, 1871, 2029, 2187, 2345, 2502, 2660, 2818, 2976, 3134, 3292, 3450, 3607, 3765, 3923, 4081, 4239, 4397, 4554, 4712, 4870, 5028, 5186, 5344, 5501, 5659, 5817, 5975, 6133, 6291, 6449, 6606, 6764, 6922, 7080, 7238, 7396, 7553, 7711, 7869, 8027, 8185, 8343, 8501, 8658, 8816, 8974, 9132, 9290, 9448, 9605, 9763, 9921, 10079, 10237, 10395, 10552, 10710, 10868, 11026, 11184, 11342, 11500, 11657, 11815, 11973, 12131, 12289, 12447]] - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '神圣反击' - 所在等级 = 30 - 等级上限 = 11 - 基础等级 = 1 - 俯冲腹拳倍率 = 0 - CD = 6 - def 等效百分比(self, 武器类型): - return (self.俯冲腹拳倍率+self.TP等级*303)*self.倍率 - - -class 技能10(职业主动技能): - 名称 = '破碎之锤' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - #物理攻击力:% - data0 = [int(i*1.232) for i in [0, 2634, 2902, 3169, 3436, 3704, 3971, 4238, 4505, 4773, 5040, 5307, 5575, 5842, 6109, 6377, 6644, 6911, 7178, 7446, 7713, 7980, 8248, 8515, 8782, 9050, 9317, 9584, 9851, 10119, 10386, 10653, 10921, 11188, 11455, 11723, 11990, 12257, 12524, 12792, 13059, 13326, 13594, 13861, 14128, 14396, 14663, 14930, 15197, 15465, 15732, 15999, 16267, 16534, 16801, 17069, 17336, 17603, 17870, 18138, 18405, 18672, 18940, 19207, 19474, 19742, 20009, 20276, 20543, 20811, 21078]] - #冲击波物理攻击力: - data1 = [int(i*1.232) for i in [0, 1756, 1934, 2112, 2291, 2469, 2647, 2825, 3003, 3182, 3360, 3538, 3716, 3894, 4073, 4251, 4429, 4607, 4785, 4964, 5142, 5320, 5498, 5676, 5855, 6033, 6211, 6389, 6567, 6746, 6924, 7102, 7280, 7458, 7637, 7815, 7993, 8171, 8349, 8528, 8706, 8884, 9062, 9240, 9419, 9597, 9775, 9953, 10131, 10310, 10488, 10666, 10844, 11022, 11201, 11379, 11557, 11735, 11913, 12092, 12270, 12448, 12626, 12804, 12983, 13161, 13339, 13517, 13695, 13874, 14052]] - 攻击次数2 = 1 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '旋涡重拳' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 旋转多段攻击力:% x 10 - data0 = [int(i*1.256) for i in [0, 474, 522, 571, 619, 667, 715, 763, 811, 860, 908, 956, 1004, 1052, 1100, 1149, 1197, 1245, 1293, 1341, 1389, 1438, 1486, 1534, 1582, 1630, 1678, 1726, 1775, 1823, 1871, 1919, 1967, 2015, 2064, 2112, 2160, 2208, 2256, 2304, 2353, 2401, 2449, 2497, 2545, 2593, 2642, 2690, 2738, 2786, 2834, 2882, 2931, 2979, 3027, 3075, 3123, 3171, 3220, 3268, 3316, 3364, 3412, 3460, 3509, 3557, 3605, 3653, 3701, 3749, 3797]] - 攻击次数 = 10 - # 最后一击攻击力:% - data1 = [int(i*1.256) for i in [0, 7121, 7843, 8566, 9288, 10010, 10733, 11455, 12178, 12900, 13623, 14345, 15068, 15790, 16512, 17235, 17957, 18680, 19402, 20125, 20847, 21570, 22292, 23014, 23737, 24459, 25182, 25904, 26627, 27349, 28072, 28794, 29516, 30239, 30961, 31684, 32406, 33129, 33851, 34574, 35296, 36018, 36741, 37463, 38186, 38908, 39631, 40353, 41076, 41798, 42520, 43243, 43965, 44688, 45410, 46133, 46855, 47578, 48300, 49022, 49745, 50467, 51190, 51912, 52635, 53357, 54079, 54802, 55524, 56247, 56969]] - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*1.4) for x in self.data0] - self.data1 = [int(x*1.2) for x in self.data1] - elif x == 1: - self.data0 = [int(x*1.4) for x in self.data0] - self.data1 = [int(x*1.35) for x in self.data1] - - -class 技能12(职业主动技能): - 名称 = '刺拳猛击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - #刺拳连击物理攻击力:% - data0 = [int(i*1.2565) for i in [0, 483, 532, 581, 630, 679, 728, 777, 826, 875, 924, 973, 1023, 1072, 1121, 1170, 1219, 1268, 1317, 1366, 1415, 1464, 1513, 1562, 1611, 1660, 1709, 1758, 1807, 1856, 1905, 1954, 2004, 2053, 2102, 2151, 2200, 2249, 2298, 2347, 2396, 2445, 2494, 2543, 2592, 2641, 2690, 2739, 2788, 2837, 2886, 2935, 2984, 3034, 3083, 3132, 3181, 3230, 3279, 3328, 3377, 3426, 3475, 3524, 3573, 3622, 3671, 3720, 3769, 3818, 3867]] - #最后锤击物理攻击力:% - data1 = [int(i*1.2565) for i in [0, 1443, 1589, 1736, 1882, 2028, 2175, 2321, 2468, 2614, 2760, 2907, 3053, 3200, 3346, 3493, 3639, 3785, 3932, 4078, 4225, 4371, 4517, 4664, 4810, 4957, 5103, 5250, 5396, 5542, 5689, 5835, 5982, 6128, 6274, 6421, 6567, 6714, 6860, 7007, 7153, 7299, 7446, 7592, 7739, 7885, 8031, 8178, 8324, 8471, 8617, 8764, 8910, 9056, 9203, 9349, 9496, 9642, 9788, 9935, 10081, 10228, 10374, 10521, 10667, 10813, 10960, 11106, 11253, 11399, 11545]] - #追击攻击物理攻击力:% - data2 = [int(i*1.2565) for i in [0, 938, 1033, 1128, 1223, 1318, 1413, 1509, 1604, 1699, 1794, 1889, 1984, 2080, 2175, 2270, 2365, 2460, 2555, 2651, 2746, 2841, 2936, 3031, 3127, 3222, 3317, 3412, 3507, 3602, 3698, 3793, 3888, 3983, 4078, 4173, 4269, 4364, 4459, 4554, 4649, 4744, 4840, 4935, 5030, 5125, 5220, 5315, 5411, 5506, 5601, 5696, 5791, 5886, 5982, 6077, 6172, 6267, 6362, 6457, 6553, 6648, 6743, 6838, 6933, 7028, 7124, 7219, 7314, 7409, 7504]] - 攻击次数 = 10 - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 10 - TP成长 = 0 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * (self.攻击次数 + self.TP等级) - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级) - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级) - return 等效倍率 * self.倍率 - -class 技能13(职业主动技能): - 名称 = '神圣组合拳' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - #第一击物理攻击力:% - data0 = [int(i*1.255) for i in [0, 2600, 2864, 3127, 3391, 3655, 3919, 4183, 4446, 4710, 4974, 5238, 5502, 5765, 6029, 6293, 6557, 6821, 7085, 7348, 7612, 7876, 8140, 8404, 8667, 8931, 9195, 9459, 9723, 9986, 10250, 10514, 10778, 11042, 11305, 11569, 11833, 12097, 12361, 12624, 12888, 13152, 13416, 13680, 13943, 14207, 14471, 14735, 14999, 15262, 15526, 15790, 16054, 16318, 16581, 16845, 17109, 17373, 17637, 17900, 18164, 18428, 18692, 18956, 19219, 19483, 19747, 20011, 20275, 20539, 20802]] - #第二击物理攻击力:% - data1 = [int(i*1.255) for i in [0, 3391, 3735, 4079, 4424, 4768, 5112, 5456, 5800, 6144, 6488, 6832, 7176, 7520, 7864, 8209, 8553, 8897, 9241, 9585, 9929, 10273, 10617, 10961, 11305, 11649, 11994, 12338, 12682, 13026, 13370, 13714, 14058, 14402, 14746, 15090, 15434, 15779, 16123, 16467, 16811, 17155, 17499, 17843, 18187, 18531, 18875, 19219, 19564, 19908, 20252, 20596, 20940, 21284, 21628, 21972, 22316, 22660, 23005, 23349, 23693, 24037, 24381, 24725, 25069, 25413, 25757, 26101, 26445, 26790, 27134]] - #第三击物理攻击力:% - data2 = [int(i*1.255) for i in [0, 5313, 5852, 6391, 6930, 7470, 8009, 8548, 9087, 9626, 10165, 10704, 11243, 11782, 12321, 12860, 13399, 13939, 14478, 15017, 15556, 16095, 16634, 17173, 17712, 18251, 18790, 19329, 19868, 20407, 20947, 21486, 22025, 22564, 23103, 23642, 24181, 24720, 25259, 25798, 26337, 26876, 27415, 27955, 28494, 29033, 29572, 30111, 30650, 31189, 31728, 32267, 32806, 33345, 33884, 34423, 34963, 35502, 36041, 36580, 37119, 37658, 38197, 38736, 39275, 39814, 40353, 40892, 41431, 41971, 42510]] - 攻击次数2 = 1 - 攻击次数3 = 1 - CD = 16 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.17 - elif x == 1: - self.倍率 *= 1.26 - - -class 技能14(职业主动技能): - 名称 = '极速飓风拳' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - #摆拳物理攻击力:% - data0 = [int(i*1.2558) for i in [0, 1747, 1924, 2101, 2278, 2455, 2633, 2810, 2987, 3164, 3342, 3519, 3696, 3873, 4051, 4228, 4405, 4582, 4759, 4937, 5114, 5291, 5468, 5646, 5823, 6000, 6177, 6355, 6532, 6709, 6886, 7064, 7241, 7418, 7595, 7772, 7950, 8127, 8304, 8481, 8659, 8836, 9013, 9190, 9368, 9545, 9722, 9899, 10077, 10254, 10431, 10608, 10785, 10963, 11140, 11317, 11494, 11672, 11849, 12026, 12203, 12381, 12558, 12735, 12912, 13089, 13267, 13444, 13621, 13798, 13976]] - #上勾拳物理攻击力:% - data1 = [int(i*1.2558) for i in [0, 7487, 8246, 9006, 9765, 10525, 11285, 12044, 12804, 13563, 14323, 15082, 15842, 16602, 17361, 18121, 18880, 19640, 20399, 21159, 21919, 22678, 23438, 24197, 24957, 25716, 26476, 27236, 27995, 28755, 29514, 30274, 31033, 31793, 32553, 33312, 34072, 34831, 35591, 36350, 37110, 37870, 38629, 39389, 40148, 40908, 41667, 42427, 43187, 43946, 44706, 45465, 46225, 46985, 47744, 48504, 49263, 50023, 50782, 51542, 52302, 53061, 53821, 54580, 55340, 56099, 56859, 57619, 58378, 59138, 59897]] - 攻击次数 = 10 - 攻击次数2 = 1 - CD = 45 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*0.97) for x in self.data0] - self.攻击次数 = 6 - self.攻击次数2 = 0 - self.CD /=3 - self.基础释放次数 = 2 - elif x == 1: - self.data0 = [int(x*1.04) for x in self.data0] - self.攻击次数 = 6 - self.攻击次数2 = 0 - self.CD /=3 - self.基础释放次数 = 2 - - -class 技能15(被动技能): - 名称 = '干涸之泉' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能16(职业主动技能): - 名称 = '泯灭神击' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 不明的1.1 - #第1击物理攻击力:% - data0 = [int(i*1.256) for i in [0, 6572, 8096, 9620, 11144, 12668, 14192, 15716, 17240, 18764, 20288, 21812, 23336, 24860, 26384, 27908, 29432, 30956, 32480, 34004, 35528, 37052, 38577, 40101, 41625, 43149, 44673, 46197, 47721, 49245, 50769, 52293, 53817, 55341, 56865, 58389, 59913, 61437, 62961, 64485, 66009, 67533, 69057, 70581, 72105, 73629, 75153, 76677, 78201, 79725, 81249, 82773, 84297, 85821, 87346, 88870, 90394, 91918, 93442, 94966, 96490, 98014, 99538, 101062, 102586, 104110, 105634, 107158, 108682, 110206, 111730]] - #第2击物理攻击力:% - data1 = [int(i*1.256) for i in [0, 10157, 12512, 14867, 17223, 19578, 21933, 24289, 26644, 28999, 31355, 33710, 36065, 38421, 40776, 43131, 45487, 47842, 50197, 52553, 54908, 57263, 59619, 61974, 64329, 66684, 69040, 71395, 73750, 76106, 78461, 80816, 83172, 85527, 87882, 90238, 92593, 94948, 97304, 99659, 102014, 104370, 106725, 109080, 111436, 113791, 116146, 118502, 120857, 123212, 125567, 127923, 130278, 132633, 134989, 137344, 139699, 142055, 144410, 146765, 149121, 151476, 153831, 156187, 158542, 160897, 163253, 165608, 167963, 170319, 172674]] - 攻击次数2 = 1 - #第3击物理攻击力:% - data2 = [int(i*1.256) for i in [0, 13144, 16192, 19240, 22288, 25337, 28385, 31433, 34481, 37529, 40577, 43625, 46673, 49721, 52769, 55817, 58865, 61913, 64961, 68009, 71057, 74105, 77154, 80202, 83250, 86298, 89346, 92394, 95442, 98490, 101538, 104586, 107634, 110682, 113730, 116778, 119826, 122874, 125923, 128971, 132019, 135067, 138115, 141163, 144211, 147259, 150307, 153355, 156403, 159451, 162499, 165547, 168595, 171643, 174692, 177740, 180788, 183836, 186884, 189932, 192980, 196028, 199076, 202124, 205172, 208220, 211268, 214316, 217364, 220412, 223460]] - 攻击次数3 = 1 - #第4击物理攻击力:% - data3 = [int(i*1.256) for i in [0, 29874, 36801, 43729, 50656, 57584, 64511, 71438, 78366, 85293, 92221, 99148, 106075, 113003, 119930, 126858, 133785, 140713, 147640, 154567, 161495, 168422, 175350, 182277, 189204, 196132, 203059, 209987, 216914, 223841, 230769, 237696, 244624, 251551, 258479, 265406, 272333, 279261, 286188, 293116, 300043, 306970, 313898, 320825, 327753, 334680, 341607, 348535, 355462, 362390, 369317, 376245, 383172, 390099, 397027, 403954, 410882, 417809, 424736, 431664, 438591, 445519, 452446, 459373, 466301, 473228, 480156, 487083, 494011, 500938, 507865]] - 攻击次数4 = 1 - # 不明的1.1 - # 倍率 = 1.1 - # 基础 = 40394 * 1.1 * 1.136 - # 成长 = 12198 * 1.1 * 1.136 - CD = 145.0 - - def 等效百分比(self, 武器类型): - if self.等级 >= 9: - self.倍率 *= 1.1 - return super().等效百分比(武器类型) - - - -class 技能17(职业主动技能): - 名称 = '破碎之拳' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - #连续物理攻击力:% - data0 = [int(i*1.255) for i in [0, 1576, 1736, 1896, 2056, 2216, 2375, 2535, 2695, 2855, 3015, 3175, 3335, 3495, 3655, 3815, 3975, 4135, 4295, 4454, 4614, 4774, 4934, 5094, 5254, 5414, 5574, 5734, 5894, 6054, 6214, 6373, 6533, 6693, 6853, 7013, 7173, 7333, 7493, 7653, 7813, 7973, 8133, 8293, 8452, 8612, 8772, 8932, 9092, 9252, 9412, 9572, 9732, 9892, 10052, 10212, 10372, 10531, 10691, 10851, 11011, 11171, 11331, 11491, 11651, 11811, 11971, 12131, 12291, 12450, 12610]] - 攻击次数 = 10 - #最后下勾拳物理攻击:% - data1 = [int(i*1.255) for i in [0, 3940, 4340, 4740, 5140, 5540, 5939, 6339, 6739, 7139, 7539, 7938, 8338, 8738, 9138, 9538, 9937, 10337, 10737, 11137, 11537, 11936, 12336, 12736, 13136, 13536, 13935, 14335, 14735, 15135, 15535, 15934, 16334, 16734, 17134, 17534, 17933, 18333, 18733, 19133, 19533, 19932, 20332, 20732, 21132, 21532, 21931, 22331, 22731, 23131, 23531, 23931, 24330, 24730, 25130, 25530, 25930, 26329, 26729, 27129, 27529, 27929, 28328, 28728, 29128, 29528, 29928, 30327, 30727, 31127, 31527]] - #爆炸物理攻击力:% - data2 = [int(i*1.255) for i in [0, 6568, 7234, 7900, 8567, 9233, 9899, 10566, 11232, 11898, 12565, 13231, 13897, 14564, 15230, 15896, 16563, 17229, 17895, 18562, 19228, 19894, 20561, 21227, 21893, 22560, 23226, 23892, 24559, 25225, 25891, 26558, 27224, 27890, 28557, 29223, 29889, 30556, 31222, 31888, 32555, 33221, 33887, 34554, 35220, 35886, 36553, 37219, 37885, 38552, 39218, 39885, 40551, 41217, 41884, 42550, 43216, 43883, 44549, 45215, 45882, 46548, 47214, 47881, 48547, 49213, 49880, 50546, 51212, 51879, 52545]] - # 基础 = 12525.9091 * 1.13 - # 成长 = 1414.0909 * 1.13 - # 基础2 = 3131.3636 * 1.13 - # 成长2 = 353.6363 * 1.13 - 攻击次数2 = 1 - # 基础3 = 5218.6363 * 1.13 - # 成长3 = 589.3636 * 1.13 - 攻击次数3 = 1 - CD = 35.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(1.3*x) for x in self.data0] - self.data2 = [int(1.28*x) for x in self.data2] - self.CD *= 0.88 - elif x == 1: - self.data0 = [int(1.3*x) for x in self.data0] - self.data2 = [int(1.78*x) for x in self.data2] - self.CD *= 0.88 - - -class 技能18(职业主动技能): - 名称 = '破坏之拳' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - #物理攻击力:% - data0 = [int(x*1.2563) for x in [0, 29387, 32368, 35350, 38331, 41312, 44294, 47275, 50256, 53238, 56219, 59200, 62182, 65163, 68144, 71126, 74107, 77088, 80070, 83051, 86032, 89014, 91995, 94976, 97958, 100939, 103920, 106902, 109883, 112864, 115846, 118827, 121808, 124790, 127771, 130752, 133734, 136715, 139696, 142678, 145659, 148640, 151622, 154603, 157584, 160566, 163547, 166528, 169510, 172491, 175472, 178454, 181435, 184416, 187398, 190379, 193360, 196342, 199323, 202304, 205286, 208267, 211248, 214230, 217211, 220192, 223174, 226155, 229136, 232118, 235099]] - #冲击波物理攻击力:% - data1 = [int(x*1.2563) for x in [0, 3265, 3596, 3927, 4259, 4590, 4921, 5252, 5584, 5915, 6246, 6577, 6909, 7240, 7571, 7902, 8234, 8565, 8896, 9227, 9559, 9890, 10221, 10552, 10884, 11215, 11546, 11878, 12209, 12540, 12871, 13203, 13534, 13865, 14196, 14528, 14859, 15190, 15521, 15853, 16184, 16515, 16846, 17178, 17509, 17840, 18171, 18503, 18834, 19165, 19496, 19828, 20159, 20490, 20822, 21153, 21484, 21815, 22147, 22478, 22809, 23140, 23472, 23803, 24134, 24465, 24797, 25128, 25459, 25790, 26122]] - 攻击次数2 = 1 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *=1.2 - # self.基础 *= 1.2 - # self.成长 *= 1.2 - elif x == 1: - self.倍率 *=1.28 - -class 技能19(职业主动技能): - 名称 = '仲裁怒击' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - #物理攻击力:% - data0 = [int(i*1.2557) for i in [0, 43904, 48358, 52812, 57266, 61720, 66174, 70629, 75083, 79537, 83991, 88445, 92899, 97353, 101807, 106261, 110715, 115169, 119623, 124078, 128532, 132986, 137440, 141894, 146348, 150802, 155256, 159710, 164164, 168618, 173072, 177527, 181981, 186435, 190889, 195343, 199797, 204251, 208705, 213159, 217613, 222067, 226521, 230976, 235430, 239884, 244338, 248792, 253246, 257700, 262154, 266608, 271062, 275516, 279970, 284425, 288879, 293333, 297787, 302241, 306695, 311149, 315603, 320057, 324511, 328965, 333419, 337874, 342328, 346782, 351236]] - #冲击波物理攻击力:% - data1 = [int(i*1.2557) for i in [0, 18816, 20725, 22634, 24542, 26451, 28360, 30269, 32178, 34087, 35996, 37905, 39814, 41722, 43631, 45540, 47449, 49358, 51267, 53176, 55085, 56994, 58902, 60811, 62720, 64629, 66538, 68447, 70356, 72265, 74174, 76083, 77991, 79900, 81809, 83718, 85627, 87536, 89445, 91354, 93263, 95171, 97080, 98989, 100898, 102807, 104716, 106625, 108534, 110443, 112351, 114260, 116169, 118078, 119987, 121896, 123805, 125714, 127623, 129532, 131440, 133349, 135258, 137167, 139076, 140985, 142894, 144803, 146712, 148620, 150529]] - 攻击次数2 =1 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *=1.36 - # self.基础 *= 1.36 - # self.成长 *= 1.36 - - -class 技能20(被动技能): - 名称 = '正义惩戒' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '超重拳' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.255) for i in [0, 14270, 15718, 17165, 18613, 20061, 21509, 22956, 24404, 25852, 27299, 28747, 30195, 31643, 33090, 34538, 35986, 37434, 38881, 40329, 41777, 43224, 44672, 46120, 47568, 49015, 50463, 51911, 53359, 54806, 56254, 57702, 59149, 60597, 62045, 63493, 64940, 66388, 67836, 69284, 70731, 72179, 73627, 75074, 76522, 77970, 79418, 80865, 82313, 83761, 85209, 86656, 88104, 89552, 90999, 92447, 93895, 95343, 96790, 98238, 99686, 101134, 102581, 104029, 105477, 106924, 108372, 109820, 111268, 112715, 114163]] - data1 = [int(i*1.255) for i in [0, 57081, 62872, 68663, 74454, 80245, 86036, 91827, 97618, 103409, 109199, 114990, 120781, 126572, 132363, 138154, 143945, 149736, 155527, 161318, 167109, 172899, 178690, 184481, 190272, 196063, 201854, 207645, 213436, 219227, 225018, 230808, 236599, 242390, 248181, 253972, 259763, 265554, 271345, 277136, 282927, 288718, 294508, 300299, 306090, 311881, 317672, 323463, 329254, 335045, 340836, 346627, 352418, 358208, 363999, 369790, 375581, 381372, 387163, 392954, 398745, 404536, 410327, 416118, 421908, 427699, 433490, 439281, 445072, 450863, 456654]] - 攻击次数2 = 1 - 基础 = 56623.16667 * 1.132 - 成长 = 6392.83333 * 1.132 - CD = 50.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - - -class 技能22(职业主动技能): - 名称 = '制裁:怒火疾风' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - #连续攻击物理攻击力:% - data0 = [int(i*1.255) for i in [0, 3558, 4383, 5208, 6033, 6858, 7683, 8509, 9334, 10159, 10984, 11809, 12634, 13459, 14284, 15109, 15935, 16760, 17585, 18410, 19235, 20060, 20885, 21710, 22535, 23361, 24186, 25011, 25836, 26661, 27486, 28311, 29136, 29962, 30787, 31612, 32437, 33262, 34087, 34912, 35737, 36562, 37388, 38213, 39038, 39863, 40688, 41513, 42338, 43163, 43989, 44814, 45639, 46464, 47289, 48114, 48939, 49764, 50589, 51415, 52240, 53065, 53890, 54715, 55540, 56365, 57190, 58015, 58841, 59666, 60491]] - 攻击次数 = 19 - #最后一击物理攻击力:% - data1 = [int(i*1.255) for i in [0, 5189, 6393, 7596, 8800, 10003, 11207, 12410, 13614, 14817, 16020, 17224, 18427, 19631, 20834, 22038, 23241, 24445, 25648, 26851, 28055, 29258, 30462, 31665, 32869, 34072, 35276, 36479, 37683, 38886, 40089, 41293, 42496, 43700, 44903, 46107, 47310, 48514, 49717, 50920, 52124, 53327, 54531, 55734, 56938, 58141, 59345, 60548, 61752, 62955, 64158, 65362, 66565, 67769, 68972, 70176, 71379, 72583, 73786, 74989, 76193, 77396, 78600, 79803, 81007, 82210, 83414, 84617, 85821, 87024, 88227]] - 攻击次数2 = 2 - #最后一击的爆炸物理攻击力:% - data2 = [int(i*1.255) for i in [0, 78589, 96813, 115036, 133260, 151484, 169707, 187931, 206155, 224379, 242602, 260826, 279050, 297273, 315497, 333721, 351944, 370168, 388392, 406615, 424839, 443063, 461286, 479510, 497734, 515957, 534181, 552405, 570628, 588852, 607076, 625299, 643523, 661747, 679970, 698194, 716418, 734641, 752865, 771089, 789312, 807536, 825760, 843983, 862207, 880431, 898654, 916878, 935102, 953325, 971549, 989773, 1007997, 1026220, 1044444, 1062668, 1080891, 1099115, 1117339, 1135562, 1153786, 1172010, 1190233, 1208457, 1226681, 1244904, 1263128, 1281352, 1299575, 1317799, 1336023]] - 攻击次数3 = 1 - # 基础 = 100940 * 1.192 - # 成长 = 30458 * 1.192 - CD = 180.0 - - -class 技能23(被动技能): - 名称 = '绝对正义' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能24(职业主动技能): - 名称 = '正义铁拳' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 下捶冲击波攻击力:% - data0 = [int(i*1.256) for i in [0, 22979, 25310, 27642, 29973, 32304, 34635, 36967, 39298, 41629, 43960, 46292, 48623, 50954, 53285, 55617, 57948, 60279, 62611, 64942, 67273, 69604, 71936, 74267, 76598, 78929, 81261, 83592, 85923, 88254, 90586, 92917, 95248, 97579, 99911, 102242, 104573, 106905, 109236, 111567, 113898, 116230, 118561, 120892, 123223, 125555, 127886, 130217, 132548, 134880, 137211, 139542, 141873, 144205, 146536, 148867, 151198, 153530, 155861, 158192, 160524, 162855, 165186, 167517, 169849, 172180, 174511, 176842, 179174, 181505, 183836]] - # 连续攻击攻击力:% x - data1 = [int(i*1.256) for i in [0, 1723, 1898, 2073, 2248, 2422, 2597, 2772, 2947, 3122, 3297, 3471, 3646, 3821, 3996, 4171, 4346, 4520, 4695, 4870, 5045, 5220, 5395, 5570, 5744, 5919, 6094, 6269, 6444, 6619, 6793, 6968, 7143, 7318, 7493, 7668, 7843, 8017, 8192, 8367, 8542, 8717, 8892, 9066, 9241, 9416, 9591, 9766, 9941, 10116, 10290, 10465, 10640, 10815, 10990, 11165, 11339, 11514, 11689, 11864, 12039, 12214, 12388, 12563, 12738, 12913, 13088, 13263, 13438, 13612, 13787]] - # 最后勾拳攻击力:% - data2 = [int(i*1.256) for i in [0, 57448, 63277, 69105, 74933, 80761, 86589, 92417, 98246, 104074, 109902, 115730, 121558, 127386, 133214, 139043, 144871, 150699, 156527, 162355, 168183, 174012, 179840, 185668, 191496, 197324, 203152, 208980, 214809, 220637, 226465, 232293, 238121, 243949, 249778, 255606, 261434, 267262, 273090, 278918, 284746, 290575, 296403, 302231, 308059, 313887, 319715, 325544, 331372, 337200, 343028, 348856, 354684, 360512, 366341, 372169, 377997, 383825, 389653, 395481, 401310, 407138, 412966, 418794, 424622, 430450, 436278, 442107, 447935, 453763, 459591]] - 攻击次数2 = 20 - 攻击次数3 = 1 - CD = 60.0 - - -class 技能25(职业主动技能): - 名称 = '正义执行:雷米迪奥斯的圣座' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.256) for i in [0, 159960, 197052, 234144, 271237, 308329, 345421, 382513, 419606, 456698, 493790, 530882, 567975, 605067, 642159, 679251, 716343, 753436, 790528, 827620, 864712, 901805, 938897, 975989, 1013081, 1050174, 1087266, 1124358, 1161450, 1198543, 1235635, 1272727, 1309819, 1346912, 1384004, 1421096, 1458188, 1495281, 1532373, 1569465, 1606557, 1643650, 1680742, 1717834, 1754926, 1792019, 1829111, 1866203, 1903295, 1940388, 1977480, 2014572, 2051664, 2088757, 2125849, 2162941, 2200033, 2237126, 2274218, 2311310, 2348402, 2385495, 2422587, 2459679, 2496771, 2533864, 2570956, 2608048, 2645140, 2682233, 2719325]] - data1 = [int(i*1.256) for i in [0, 239940, 295578, 351217, 406855, 462493, 518132, 573770, 629409, 685047, 740685, 796324, 851962, 907600, 963239, 1018877, 1074516, 1130154, 1185792, 1241431, 1297069, 1352707, 1408346, 1463984, 1519622, 1575261, 1630899, 1686538, 1742176, 1797814, 1853453, 1909091, 1964729, 2020368, 2076006, 2131645, 2187283, 2242921, 2298560, 2354198, 2409836, 2465475, 2521113, 2576751, 2632390, 2688028, 2743667, 2799305, 2854943, 2910582, 2966220, 3021858, 3077497, 3133135, 3188774, 3244412, 3300050, 3355689, 3411327, 3466965, 3522604, 3578242, 3633881, 3689519, 3745157, 3800796, 3856434, 3912072, 3967711, 4023349, 4078987]] - - # 基础 = 135155 / 1.1 - # 成长 = 40802 / 1.1 - # 基础2 = 202734 / 1.1 - # 成长2 = 61202 / 1.1 - 攻击次数2 = 1 - CD = 290.0 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·蓝拳圣使一觉序号 = 0 -神启·蓝拳圣使二觉序号 = 0 -神启·蓝拳圣使三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 神启·蓝拳圣使一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 神启·蓝拳圣使二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 神启·蓝拳圣使三觉序号 = 技能序号[i.名称] - -神启·蓝拳圣使护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·蓝拳圣使护石选项.append(i.名称) - -神启·蓝拳圣使符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·蓝拳圣使符文选项.append(i.名称) - - -class 神启·蓝拳圣使角色属性(角色属性): - - 实际名称 = '神启·蓝拳圣使' - 角色 = '圣职者(男)' - 职业 = '蓝拳圣使' - - 武器选项 = ['图腾', '战斧', '镰刀', '念珠', '十字架'] - - 类型选择 = ['物理百分比'] - - # 默认 - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.99 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - # 神圣反击倍率与腹拳一样,但在修炼场手动开只有80% - self.技能栏[self.技能序号['神圣反击']].俯冲腹拳倍率 = self.技能栏[self.技能序号['俯冲腹拳']].神圣反击百分比() - - -class 神启·蓝拳圣使(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·蓝拳圣使角色属性() - self.角色属性A = 神启·蓝拳圣使角色属性() - self.角色属性B = 神启·蓝拳圣使角色属性() - self.一觉序号 = 神启·蓝拳圣使一觉序号 - self.二觉序号 = 神启·蓝拳圣使二觉序号 - self.三觉序号 = 神启·蓝拳圣使三觉序号 - self.护石选项 = deepcopy(神启·蓝拳圣使护石选项) - self.符文选项 = deepcopy(神启·蓝拳圣使符文选项) diff --git a/Characters/神启·诱魔者.py b/Characters/神启·诱魔者.py deleted file mode 100644 index f24ca6d9..00000000 --- a/Characters/神启·诱魔者.py +++ /dev/null @@ -1,680 +0,0 @@ -from PublicReference.carry.base import * - -# 主动技能,单段攻击 - - -class 技能0(主动技能): - 名称 = '罪业加身' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 46 - data = [int(i*1.205*1.085) for i in [0, 2014, 2220, 2424, 2628, 2832, 3037, 3242, 3446, 3651, 3854, 4059, 4263, 4468, 4672, 4877, 5080, 5285, 5492, 5695, 5900, 6104, 6308, 6514, 6718, 6922, 7126, 7331, 7535, 7740, 7944, 8148, 8352, 8557, 8762, 8966, 9171, 9374, 9579, 9784, 9989, 10194, 10398, 10602, 10807, 11012, 11215, 11420, 11623, 11829, 12034, 12237, 12442, 12646, 12851, 13055, 13260, 13463, 13668, 13872, 14077, 14282, 14487, 14691, 14895, 15101, 15304, 15509, 15714, 15917, 16123]] - 攻击次数 = 1 - CD = 6.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,二段攻击 - - -class 技能1(主动技能): - 名称 = '双重切割' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data1 = [int(i*1.2019*1.085) for i in [0, 1065, 1172, 1280, 1387, 1497, 1605, 1712, 1821, 1928, 2038, 2145, 2253, 2360, 2468, 2576, 2685, 2792, 2901, 3009, 3117, 3224, 3333, 3440, 3549, 3657, 3764, 3873, 3982, 4090, 4197, 4305, 4412, 4522, 4629, 4737, 4844, 4953, 5061, 5170, 5277, 5385, 5493, 5601, 5709, 5816, 5926, 6034, 6142, 6249, 6357, 6466, 6574, 6681, 6789, 6896, 7007, 7114, 7222, 7329, 7437, 7545, 7653, 7762, 7869, 7979, 8086, 8194, 8301, 8410, 8518]] - 攻击次数1 = 1 - data2 = [int(i*1.2022*1.085) for i in [0, 1597, 1758, 1920, 2084, 2245, 2406, 2570, 2731, 2893, 3055, 3216, 3379, 3542, 3703, 3864, 4028, 4189, 4351, 4515, 4675, 4837, 5000, 5162, 5324, 5486, 5647, 5810, 5973, 6133, 6295, 6457, 6620, 6782, 6942, 7106, 7268, 7429, 7593, 7754, 7915, 8078, 8241, 8402, 8564, 8726, 8888, 9051, 9212, 9373, 9537, 9699, 9860, 10022, 10185, 10346, 10509, 10672, 10832, 10995, 11157, 11318, 11482, 11643, 11804, 11968, 12130, 12290, 12453, 12616, 12777]] - 攻击次数2 = 1 - CD = 6.0 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 武器精通,被动技能,满级前成长为1%,满级后2% - - -class 技能2(被动技能): - 名称 = '负罪者镰刀精通' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 <= 20: - return round(1.05 + 0.01 * self.等级, 5) - else: - return round(0.85 + 0.02 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 <= 20: - return round(1.05 + 0.01 * self.等级, 5) - else: - return round(0.85 + 0.02 * self.等级, 5) - -# 被动技能,满级前成长为1%,满级后2% - - -class 技能3(被动技能): - 名称 = '罪业诱惑' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.00 + 0.01 * self.等级, 5) - else: - return round(0.90 + 0.02 * self.等级, 5) - -# 主动技能,二段攻击 - - -class 技能4(主动技能): - 名称 = '断头台' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data1 = [int(i*1.242*1.085) for i in [0, 1648, 1815, 1982, 2150, 2316, 2483, 2651, 2818, 2985, 3153, 3320, 3487, 3654, 3821, 3988, 4156, 4323, 4490, 4658, 4825, 4991, 5159, 5326, 5493, 5661, 5828, 5995, 6162, 6329, 6496, 6664, 6831, 6998, 7166, 7333, 7499, 7667, 7834, 8001, 8169, 8336, 8503, 8671, 8837, 9004, 9172, 9339, 9506, 9674, 9841, 10007, 10175, 10342, 10509, 10677, 10844, 11011, 11179, 11345, 11512, 11680, 11847, 12014, 12182, 12349, 12516, 12683, 12850, 13017, 13185]] - 攻击次数1 = 1 - data2 = [int(i*1.242*1.085) for i in [0, 2534, 2791, 3049, 3305, 3563, 3820, 4077, 4334, 4592, 4848, 5106, 5363, 5620, 5877, 6134, 6391, 6649, 6905, 7163, 7420, 7677, 7934, 8192, 8448, 8706, 8963, 9220, 9477, 9735, 9991, 10249, 10506, 10762, 11020, 11276, 11534, 11791, 12048, 12305, 12563, 12819, 13077, 13334, 13591, 13848, 14106, 14362, 14620, 14877, 15134, 15391, 15649, 15905, 16163, 16419, 16677, 16934, 17191, 17448, 17706, 17962, 18220, 18477, 18734, 18991, 19249, 19505, 19763, 20020, 20277]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,二段攻击 - - -class 技能5(主动技能): - 名称 = '欲望之手' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data1 = [int(i*1.2028*1.085) for i in [0, 1632, 1796, 1962, 2128, 2293, 2459, 2625, 2790, 2956, 3122, 3287, 3452, 3618, 3784, 3949, 4115, 4280, 4446, 4612, 4777, 4943, 5108, 5274, 5439, 5605, 5770, 5936, 6103, 6267, 6433, 6599, 6765, 6929, 7094, 7260, 7426, 7593, 7757, 7923, 8088, 8255, 8421, 8584, 8750, 8916, 9082, 9248, 9413, 9578, 9745, 9911, 10074, 10240, 10406, 10572, 10738, 10903, 11068, 11235, 11401, 11566, 11730, 11895, 12062, 12228, 12392, 12558, 12725, 12891, 13056]] - 攻击次数1 = 1 - data2 = [int(i*1.2031*1.085) for i in [0, 2580, 2841, 3104, 3366, 3627, 3889, 4151, 4412, 4675, 4936, 5199, 5459, 5722, 5984, 6246, 6507, 6769, 7031, 7294, 7554, 7817, 8078, 8340, 8602, 8864, 9126, 9387, 9649, 9911, 10172, 10435, 10696, 10959, 11219, 11482, 11744, 12006, 12267, 12529, 12791, 13054, 13314, 13577, 13836, 14099, 14361, 14623, 14884, 15146, 15408, 15670, 15931, 16194, 16455, 16718, 16978, 17241, 17503, 17764, 18026, 18288, 18550, 18812, 19073, 19336, 19596, 19859, 20121, 20383, 20644]] - 攻击次数2 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,单段攻击 - - -class 技能6(主动技能): - 名称 = '傲慢之堕' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 27 - data = [int(i*1.2029*1.085) for i in [0, 4755, 5514, 6272, 7030, 7788, 8547, 9305, 10063, 10821, 11579, 12338, 13096, 13854, 14613, 15370, 16128, 16887, 17646, 18403, 19162, 19920, 20677, 21436, 22195, 22953, 23711, 24470, 25227, 25985, 26744, 27502, 28261, 29019, 29776, 30535, 31292, 32051, 32810, 33569, 34325, 35084, 35843, 36600, 37359, 38118, 38875, 39633, 40391, 41150, 41908, 42666, 43425, 44183, 44940, 45699, 46458, 47215, 47974, 48732, 49490, 50248, 51007, 51765, 52523, 53281, 54039, 54798, 55556, 56314, 57073]] - 攻击次数 = 1 - CD = 10.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,空中4段,落地1段 - - -class 技能7(主动技能): - 名称 = '屠戮回旋斩' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data1 = [int(i*1.2029*1.085 ) for i in [0, 828, 911, 995, 1079, 1163, 1247, 1331, 1416, 1500, 1583, 1666, 1752, 1835, 1919, 2002, 2088, 2171, 2255, 2339, 2424, 2507, 2590, 2674, 2758, 2844, 2927, 3011, 3095, 3179, 3262, 3347, 3431, 3515, 3599, 3684, 3767, 3850, 3935, 4019, 4103, 4186, 4270, 4355, 4439, 4523, 4607, 4691, 4774, 4858, 4941, 5027, 5111, 5195, 5278, 5363, 5446, 5529, 5615, 5699, 5782, 5866, 5951, 6034, 6119, 6202, 6287, 6370, 6454, 6537, 6624]] - 攻击次数1 = 4 - data2 = [int(i*1.2029*1.085) for i in [0, 3311, 3648, 3984, 4319, 4655, 4991, 5327, 5663, 5998, 6334, 6670, 7006, 7343, 7678, 8015, 8350, 8685, 9022, 9357, 9694, 10029, 10365, 10701, 11038, 11373, 11710, 12044, 12381, 12718, 13053, 13390, 13726, 14062, 14397, 14733, 15069, 15405, 15741, 16077, 16412, 16748, 17085, 17420, 17757, 18093, 18428, 18764, 19099, 19436, 19772, 20108, 20443, 20780, 21115, 21452, 21788, 22124, 22461, 22795, 23132, 23468, 23804, 24140, 24475, 24811, 25148, 25483, 25819, 26156, 26490]] - 攻击次数2 = 1 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,单段攻击 - - -class 技能8(主动技能): - 名称 = '怠惰之息' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data = [int(i*1.182*1.085) for i in [0, 7473, 8231, 8988, 9746, 10504, 11262, 12020, 12781, 13539, 14296, 15054, 15812, 16570, 17328, 18086, 18845, 19604, 20361, 21119, 21877, 22635, 23393, 24151, 24910, 25668, 26425, 27183, 27942, 28700, 29458, 30216, 30975, 31733, 32490, 33248, 34006, 34764, 35523, 36281, 37040, 37797, 38556, 39314, 40072, 40830, 41588, 42347, 43106, 43863, 44621, 45379, 46137, 46895, 47653, 48411, 49170, 49928, 50686, 51444, 52202, 52960, 53718, 54476, 55235, 55992, 56750, 57509, 58267, 59025, 59783]] - 攻击次数 = 1 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,二段攻击 - - -class 技能9(主动技能): - 名称 = '诱魔之手' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data1 = [int(i*1.203*1.085) for i in [0, 2655, 2925, 3194, 3463, 3733, 4003, 4272, 4542, 4811, 5081, 5350, 5619, 5889, 6158, 6427, 6697, 6966, 7235, 7506, 7775, 8045, 8314, 8583, 8853, 9122, 9391, 9661, 9930, 10199, 10469, 10739, 11009, 11278, 11547, 11817, 12086, 12355, 12625, 12894, 13163, 13433, 13702, 13971, 14242, 14511, 14781, 15050, 15319, 15589, 15858, 16127, 16397, 16666, 16935, 17205, 17474, 17745, 18014, 18283, 18553, 18822, 19091, 19361, 19630, 19899, 20169, 20438, 20707, 20978, 21247]] - 攻击次数1 = 1 - data2 = [int(i*1.203*1.085) for i in [0, 6196, 6825, 7454, 8083, 8712, 9341, 9968, 10597, 11226, 11855, 12484, 13113, 13742, 14369, 14998, 15627, 16256, 16885, 17514, 18141, 18770, 19399, 20028, 20657, 21286, 21915, 22542, 23171, 23800, 24429, 25058, 25687, 26315, 26943, 27572, 28201, 28830, 29459, 30088, 30716, 31344, 31973, 32602, 33231, 33860, 34488, 35116, 35745, 36374, 37003, 37632, 38261, 38889, 39517, 40146, 40775, 41404, 42033, 42661, 43290, 43918, 44547, 45176, 45805, 46434, 47062, 47691, 48319, 48948, 49577]] - 攻击次数2 = 1 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,基础攻击段数为9 -# 带魔界大战护石22段,减伤50.6%,护石倍率22/9*0.494=1.207555,护石减少15%冷却 -# 带圣痕护石22段,减伤46.7%,护石倍率22/9*0.533=1.302888,护石减少15%冷却 - - -class 技能10(主动技能): - 名称 = '贪婪之刺' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [int(i*1.349*1.085*1.052) for i in [0, 868, 955, 1045, 1132, 1220, 1308, 1396, 1483, 1573, 1661, 1748, 1837, 1924, 2012, 2102, 2190, 2277, 2366, 2454, 2541, 2630, 2718, 2806, 2893, 2982, 3069, 3157, 3245, 3334, 3422, 3510, 3598, 3685, 3775, 3863, 3951, 4039, 4127, 4214, 4303, 4391, 4479, 4568, 4655, 4743, 4831, 4919, 5006, 5096, 5183, 5271, 5361, 5448, 5536, 5625, 5713, 5800, 5889, 5976, 6064, 6154, 6241, 6329, 6417, 6505, 6592, 6681, 6768, 6857, 6945]] - 攻击次数 = 9 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 22/9*0.494 - self.CD *= 0.85 - elif x == 1: - self.攻击次数 *= 22/9*0.533 - self.CD *= 0.85 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,基础攻击段数为9 -# 带魔界大战护石15段,减伤26.56%,护石倍率15/9*0.7344=1.224 -# 带圣痕护石15段,减伤21.12%,护石倍率15/9*0.7888=1.31466 - - -class 技能11(主动技能): - 名称 = '杀戮战镰' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data = [int(i*1.203*1.085*1.055) for i in [0, 1281, 1412, 1542, 1672, 1801, 1931, 2061, 2192, 2322, 2452, 2581, 2712, 2842, 2973, 3102, 3232, 3363, 3493, 3624, 3753, 3883, 4012, 4143, 4273, 4403, 4532, 4663, 4793, 4923, 5053, 5183, 5313, 5444, 5573, 5704, 5833, 5964, 6094, 6224, 6353, 6483, 6613, 6744, 6873, 7004, 7133, 7264, 7395, 7524, 7655, 7784, 7915, 8045, 8175, 8305, 8435, 8564, 8695, 8824, 8955, 9084, 9214, 9345, 9475, 9605, 9735, 9864, 9996, 10125, 10256]] - 攻击次数 = 9 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 15/9*0.7344 - elif x == 1: - self.攻击次数 *= 15/9 * 0.7888 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,单段攻击 -# 带魔界大战护石增伤23%,护石倍率1+0.23=1.23 -# 带圣痕护石增伤31%,护石倍率1+0.31=1.31 - - -class 技能12(主动技能): - 名称 = '愤怒之袭' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data = [int(i*1.202*1.085*1.054) for i in [0, 19881, 21897, 23914, 25931, 27949, 29965, 31981, 33999, 36016, 38032, 40050, 42067, 44083, 46101, 48117, 50134, 52152, 54168, 56185, 58203, 60219, 62236, 64252, 66270, 68287, 70303, 72320, 74338, 76354, 78371, 80388, 82405, 84423, 86439, 88455, 90474, 92490, 94506, 96523, 98541, 100557, 102574, 104591, 106608, 108625, 110642, 112659, 114676, 116692, 118710, 120726, 122743, 124761, 126777, 128793, 130812, 132828, 134844, 136862, 138879, 140896, 142913, 144929, 146947, 148963, 150980, 152997, 155014, 157031, 159048]] - 攻击次数 = 1 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.23 - elif x == 1: - self.攻击次数 *= 1.31 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,一觉主动,多段攻击为15段多段伤害+1段爆炸伤害(多段攻击次数受站街攻速影响随机为14-17段) - - -class 技能13(主动技能): - 名称 = '净化之花' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.2027*1.085) for i in [0, 735, 905, 1075, 1246, 1416, 1588, 1757, 1928, 2098, 2270, 2439, 2611, 2780, 2952, 3122, 3293, 3462, 3633, 3805, 3975, 4145, 4316, 4485, 4657, 4827, 4998, 5168, 5340, 5509, 5680, 5850, 6019, 6192, 6362, 6532, 6702, 6874, 7043, 7215, 7385, 7555, 7726, 7897, 8066, 8237, 8409, 8579, 8749, 8920, 9089, 9261, 9432, 9602, 9772, 9944, 10113, 10284, 10454, 10625, 10796, 10966, 11137, 11306, 11477, 11646, 11819, 11989, 12160, 12329, 12501]] - 攻击次数1 = 15 - data2 = [int(i*1.203*1.085) for i in [0, 45069, 55518, 65969, 76421, 86871, 97321, 107773, 118223, 128673, 139125, 149575, 160026, 170477, 180929, 191379, 201830, 212282, 222731, 233182, 243634, 254083, 264533, 274986, 285435, 295885, 306338, 316787, 327237, 337690, 348139, 358591, 369042, 379491, 389943, 400394, 410843, 421295, 431746, 442195, 452647, 463098, 473548, 484000, 494451, 504902, 515352, 525803, 536254, 546704, 557156, 567606, 578056, 588507, 598959, 609408, 619859, 630311, 640760, 651211, 661663, 672113, 682563, 693015, 703466, 713915, 724367, 734818, 745267, 755719, 766170]] - 攻击次数2 = 1 - CD = 140 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - -# 被动技能,一觉被动,每级2%成长 - - -class 技能14(被动技能): - 名称 = '罪业宣告' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.04+0.02 * self.等级, 5) - -# 主动技能,二段攻击,第一段为无伤害判定 -# 带魔界大战护石增伤19%,护石倍率1+0.19=1.19 -# 带圣痕护石增伤28%,护石倍率1+0.28=1.28 - - -class 技能15(主动技能): - 名称 = '嫉妒之吻' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data = [int(i*1.203*1.085*1.051) for i in [0, 19205, 21155, 23102, 25051, 26999, 28947, 30895, 32844, 34792, 36741, 38690, 40638, 42587, 44534, 46483, 48431, 50381, 52328, 54277, 56225, 58174, 60121, 62070, 64019, 65968, 67916, 69864, 71813, 73760, 75709, 77657, 79607, 81554, 83503, 85452, 87400, 89348, 91296, 93246, 95194, 97142, 99090, 101039, 102986, 104935, 106884, 108833, 110782, 112729, 114678, 116626, 118574, 120522, 122472, 124420, 126368, 128317, 130265, 132214, 134161, 136110, 138059, 140008, 141955, 143904, 145852, 147800, 149749, 151698, 153647]] - 攻击次数 = 1 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.19 - elif x == 1: - self.攻击次数 *= 1.28 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,吸收为最高8段攻击,释放为4段 -# 带魔界大战护石吸收段数锁定4段,伤害+200%(换算为伤害不变,段数12段(0.5*3*8=12));释放伤害+8%(换算为伤害不变,段数4.32段(1.08*4=4.32) -# 带圣痕护石吸收段数锁定4段,伤害+200%(换算为伤害不变,段数12段(0.5*3*8=12));释放伤害+18%(换算为伤害不变,段数4.72段(1.18*4=4.72) - - -class 技能16(主动技能): - 名称 = '暴食之噬' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data1 = [int(i*1.2025*1.085*1.056) for i in [0, 810, 893, 974, 1057, 1139, 1222, 1303, 1386, 1468, 1551, 1632, 1715, 1797, 1879, 1961, 2044, 2127, 2209, 2291, 2374, 2455, 2538, 2620, 2703, 2784, 2867, 2949, 3032, 3113, 3196, 3278, 3359, 3442, 3524, 3607, 3688, 3771, 3853, 3935, 4017, 4100, 4182, 4264, 4346, 4429, 4511, 4593, 4676, 4759, 4840]] - 攻击次数1 = 8 - data2 = [int(i*1.203*1.085*1.056) for i in [0, 6485, 7143, 7801, 8460, 9118, 9776, 10433, 11091, 11749, 12407, 13066, 13723, 14381, 15039, 15698, 16355, 17012, 17672, 18330, 18987, 19645, 20304, 20962, 21620, 22277, 22936, 23593, 24251, 24908, 25567, 26225, 26883, 27542, 28200, 28858, 29516, 30173, 30831, 31489, 32147, 32805, 33463, 34121, 34779, 35437, 36097, 36752, 37410, 38069, 38728]] - 攻击次数2 = 4 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 12 - self.攻击次数2 = 4.32 - elif x == 1: - self.攻击次数1 = 12 - self.攻击次数2 = 4.72 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 主动技能,二段攻击 -# 带圣痕护石增伤29%,护石倍率1+0.29=1.29 - - -class 技能17(主动技能): - 名称 = '灵魂烙印:原罪冲击' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data1 = [int(i*1.202*1.085*1.053) for i in [0, 9308, 10254, 11198, 12143, 13088, 14032, 14977, 15920, 16863, 17810, 18754, 19698, 20643, 21587, 22532, 23477, 24420, 25366, 26310, 27254, 28200, 29144, 30089, 31032, 31975, 32920, 33867, 34810, 35755, 36699, 37644, 38587, 39532, 40477, 41422, 42366, 43311, 44255, 45199, 46144, 47088, 48033, 48978, 49921, 50868, 51811, 52754, 53699, 54643, 55588, 56534, 57478, 58423, 59366, 60310, 61255, 62200, 63145, 64089, 65034, 65979, 66921, 67866, 68811, 69755, 70699, 71644, 72590, 73535, 74478]] - 攻击次数1 = 1 - data2 = [int(i*1.202*1.085*1.053) for i in [0, 37237, 41016, 44794, 48572, 52350, 56128, 59905, 63684, 67462, 71241, 75017, 78796, 82574, 86352, 90130, 93908, 97685, 101463, 105242, 109018, 112797, 116575, 120352, 124131, 127908, 131686, 135464, 139243, 143021, 146798, 150576, 154355, 158132, 161909, 165687, 169465, 173243, 177022, 180798, 184577, 188355, 192133, 195910, 199689, 203466, 207245, 211023, 214802, 218578, 222357, 226135, 229911, 233690, 237467, 241246, 245023, 248803, 252578, 256358, 260135, 263914, 267690, 271470, 275246, 279026, 282803, 286580, 290358, 294137, 297915]] - 攻击次数2 = 1 - CD = 40 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 1.29 - self.攻击次数2 *= 1.29 - self.CD *= 0.9 - -# 单段技能,由75被动拆分,固定冷却时间2s,此处添加演出时间减少释放次数 - - -class 技能18(主动技能): - 名称 = '(光辉)智慧起源:原罪结晶' - 所在等级 = 75 - 等级上限 = 0 - 基础等级 = 0 - data = [int(i*1.218*1.085*1.052) for i in [0, 3793, 4398, 5004, 5608, 6213, 6818, 7422, 8028, 8632, 9237, 9842, 10447, 11052, 11657, 12261, 12867, 13471, 14076, 14681, 15286, 15891, 16495, 17100, 17705, 18310, 18915, 19520, 20124, 20730, 21334, 21939, 22544, 23149, 23754, 24358, 24963, 25568, 26173, 26778, 27383, 27987, 28593, 29197, 29802, 30407, 31012, 31617, 32221, 32826, 33432, 34036, 34641, 35246, 35850, 36456, 37060, 37665, 38270, 38875, 39480, 40085, 40689, 41295, 41899, 42504, 43109, 43714, 44319, 44923, 45528]] - 攻击次数 = 1 - CD = 2 - 演出时间 = 2 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 2 - -# 被动技能,由75被动拆分,每级成长2% - - -class 技能19(被动技能): - 名称 = '智慧起源:原罪结晶' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - -# 主动技能,刺击为单段伤害,散开为三段伤害。散开伤害根据罪业层数每层+3%,罪业层数最高为7,即散开为3*1.21段伤害 -# 带圣痕护石散开部分伤害增加54%,换算为攻击次数2 *= 1.54 - - -class 技能20(主动技能): - 名称 = '肋骨重塑:原罪战矛' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data1 = [int(i*1.202*1.085*1.051) for i in [0, 29112, 32065, 35017, 37971, 40924, 43878, 46831, 49785, 52738, 55692, 58645, 61598, 64552, 67505, 70458, 73412, 76365, 79319, 82271, 85224, 88178, 91131, 94086, 97039, 99993, 102946, 105898, 108852, 111805, 114759, 117712, 120665, 123619, 126572, 129525, 132478, 135433, 138386, 141339, 144293, 147246, 150200, 153152, 156105, 159059, 162012, 164966, 167919, 170874, 173825, 176779, 179733, 182686, 185640, 188593, 191546, 194500, 197452, 200406, 203359, 206313, 209266, 212219, 215174, 218127, 221080, 224033, 226986, 229940, 232893]] - 攻击次数1 = 1 - data2 = [int(i*1.202*1.085*1.051) for i in [0, 9704, 10688, 11672, 12656, 13641, 14626, 15610, 16595, 17579, 18563, 19548, 20531, 21517, 22502, 23486, 24470, 25455, 26439, 27423, 28407, 29393, 30377, 31361, 32346, 33331, 34314, 35299, 36284, 37268, 38253, 39237, 40221, 41206, 42190, 43175, 44159, 45144, 46129, 47112, 48097, 49082, 50066, 51051, 52035, 53019, 54004, 54988, 55972, 56958, 57942, 58927, 59910, 60895, 61880, 62863, 63848, 64834, 65817, 66802, 67786, 68770, 69755, 70739, 71725, 72709, 73693, 74678, 75661, 76646, 77631]] - 攻击次数2 = 3*1.21 - CD = 45.0 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 1 - self.攻击次数2 *= 1.54 - -# 主动技能,二觉主动,三段攻击 - - -class 技能21(主动技能): - 名称 = '失乐园' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data1 = [int(i*1.206*1.085) for i in [0, 20182, 24863, 29543, 34223, 38904, 43584, 48265, 52944, 57624, 62306, 66987, 71666, 76347, 81027, 85706, 90387, 95068, 99748, 104428, 109108, 113789, 118469, 123149, 127830, 132510, 137189, 141870, 146550, 151231, 155911, 160591, 165271, 169951, 174631, 179312, 183993, 188672, 193353, 198033, 202712, 207394, 212074, 216754, 221434, 226114, 230794, 235476, 240155, 244835, 249516, 254195, 258875, 263557, 268237, 272917, 277597, 282277, 286960, 291639, 296319, 301000, 305679, 310359, 315041, 319721, 324400, 329081, 333761, 338440, 343122]] - 攻击次数1 = 1 - data2 = [int(i*1.206*1.085) for i in [0, 40367, 49727, 59089, 68449, 77809, 87170, 96531, 105890, 115251, 124612, 133971, 143333, 152693, 162054, 171414, 180774, 190135, 199495, 208856, 218216, 227579, 236938, 246299, 255660, 265019, 274380, 283741, 293102, 302461, 311823, 321183, 330543, 339904, 349265, 358624, 367985, 377346, 386706, 396067, 405427, 414788, 424148, 433508, 442869, 452230, 461591, 470951, 480313, 489672, 499033, 508394, 517753, 527114, 536475, 545836, 555195, 564557, 573917, 583277, 592638, 601999, 611359, 620719, 630080, 639440, 648801, 658161, 667522, 676882, 686244]] - 攻击次数2 = 1 - data3 = [int(i*1.206*1.085) for i in [0, 74006, 91167, 108328, 125489, 142649, 159812, 176972, 194132, 211294, 228455, 245616, 262776, 279938, 297099, 314259, 331421, 348582, 365743, 382903, 400065, 417226, 434386, 451549, 468709, 485869, 503030, 520192, 537353, 554513, 571675, 588836, 605996, 623157, 640319, 657479, 674640, 691802, 708963, 726122, 743286, 760446, 777605, 794766, 811928, 829089, 846249, 863410, 880572, 897732, 914894, 932055, 949215, 966376, 983537, 1000699, 1017859, 1035020, 1052182, 1069342, 1086503, 1103664, 1120826, 1137986, 1155147, 1172309, 1189469, 1206631, 1223791, 1240952, 1258113]] - 攻击次数3 = 1 - CD = 180.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * self.倍率 - -# 被动技能,二觉被动,成长2% - - -class 技能22(被动技能): - 名称 = '原罪之初' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - -# 主动技能,6+1段攻击。1级11504%*6+46015%,2级12670%*6+50683%,3级13837%*6+55352%,4级15004%*6+60020%,5级16172%*6+64689% - - -class 技能23(主动技能): - 名称 = '至高之刑' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.218*1.085) for i in [0, 11504, 12670, 13837, 15004, 16172, 17339, 18506, 19673, 20840, 22007, 23174, 24341, 25508, 26676, 27843, 29009, 30176, 31343, 32511, 33678, 34845, 36011, 37178, 38346, 39513, 40680, 41847, 43015, 44181, 45348, 46515, 47682, 48850, 50017, 51184, 52350, 53517, 54685, 55852, 57019, 58186, 59353, 60520, 61687, 62854, 64021, 65189, 66356, 67522, 68689, 69856, 71024, 72191, 73358, 74525, 75691, 76859, 78026, 79193, 80360, 81527, 82695, 83861, 85028, 86195, 87363, 88530, 89697, 90864, 92030]] - 攻击次数 = 6 - data1 = [int(i*1.218*1.085) for i in [0, 46015, 50683, 55352, 60020, 64689, 69356, 74024, 78693, 83361, 88030, 92698, 97366, 102034, 106702, 111371, 116039, 120707, 125376, 130043, 134712, 139380, 144048, 148717, 153385, 158054, 162721, 167389, 172058, 176726, 181395, 186063, 190731, 195399, 200067, 204736, 209404, 214073, 218741, 223408, 228077, 232745, 237414, 242082, 246750, 251418, 256086, 260755, 265423, 270091, 274760, 279428, 284096, 288764, 293432, 298101, 302769, 307438, 312105, 316773, 321442, 326110, 330779, 335447, 340115, 344783, 349451, 354120, 358788, 363457, 368125]] - 攻击次数2 = 1 - CD = 60 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * self.倍率 -# 主动技能,单段攻击,1级354055%,2级436155%,3级518254% - - -class 技能24(主动技能): - 名称 = '原罪之翼·永息' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.206*1.085*1.05) for i in [0, 354055, 436155, 518254, 600354, 682454, 764554, 846653, 928753, 1010853, 1092953, 1175053, 1257152, 1339252, 1421352, 1503452, 1585552, 1667651, 1749751, 1831851, 1913951, 1996050, 2078150, 2160250, 2242350, 2324450, 2406549, 2488649, 2570749, 2652849, 2734948, 2817048, 2899148, 2981248, 3063348, 3145447, 3227547, 3309647, 3391747, 3473846, 3555946]] - 攻击次数 = 1 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数) * self.倍率 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·诱魔者一觉序号 = 0 -神启·诱魔者二觉序号 = 0 -神启·诱魔者三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 神启·诱魔者一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 神启·诱魔者二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 神启·诱魔者三觉序号 = 技能序号[i.名称] - -神启·诱魔者护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·诱魔者护石选项.append(i.名称) - -神启·诱魔者符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·诱魔者符文选项.append(i.名称) - - -class 神启·诱魔者角色属性(角色属性): - - 实际名称 = '神启·诱魔者' - 角色 = '圣职者(女)' - 职业 = '诱魔者' - - 武器选项 = ['镰刀'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '重甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.875 - BUFF属强 = 0 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['(光辉)智慧起源:原罪结晶'] - ].等级 = self.技能栏[self.技能序号['智慧起源:原罪结晶']].等级 - - def 伤害指数计算(self): - self.所有属性强化(self.BUFF属强) - super().伤害指数计算() - - -class 神启·诱魔者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·诱魔者角色属性() - self.角色属性A = 神启·诱魔者角色属性() - self.角色属性B = 神启·诱魔者角色属性() - self.一觉序号 = 神启·诱魔者一觉序号 - self.二觉序号 = 神启·诱魔者二觉序号 - self.三觉序号 = 神启·诱魔者三觉序号 - self.护石选项 = deepcopy(神启·诱魔者护石选项) - self.符文选项 = deepcopy(神启·诱魔者符文选项) - - def 护石判断(self): - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '暴食之噬': - sign = 1 - if sign == 1: - self.暴食段数选择.setEnabled(False) - self.暴食段数选择.setStyleSheet(下拉框样式) - else: - self.暴食段数选择.setEnabled(True) - self.暴食段数选择.setStyleSheet(下拉框样式) - - def 界面(self): - super().界面() - - self.BUFF.move(self.BUFF.x() - 18, self.BUFF.y()) - self.BUFF输入.move(self.BUFF输入.x() - 20, self.BUFF输入.y()) - self.BUFF输入.resize(40, 25) - self.BUFF.setToolTip( - trans('{最高值参考}:$value', - value='87.5%')) - self.BUFF输入.setToolTip( - trans('{最高值参考}:$value', - value='87.5%')) - - self.BUFF输入2 = QLineEdit(self.main_frame2) - self.BUFF输入2.setText(str(self.初始属性.BUFF属强)) - self.BUFF输入2.resize(40, 25) - self.BUFF输入2.move(self.BUFF输入.x() + 45, self.BUFF输入.y()) - self.BUFF输入2.setStyleSheet(输入框样式) - self.BUFF输入2.setAlignment(Qt.AlignCenter) - self.BUFF输入2.setToolTip('七宗罪Buff属强值') - - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - - self.手搓冷却 = QCheckBox('技能手搓冷却适用', self.main_frame2) - self.手搓冷却.resize(120, 20) - self.手搓冷却.move(320, 340) - self.手搓冷却.setStyleSheet(复选框样式) - - self.净化之花冷却Buff = QCheckBox('净化之花冷却Buff', self.main_frame2) - self.净化之花冷却Buff.resize(120, 20) - self.净化之花冷却Buff.move(320, 370) - self.净化之花冷却Buff.setStyleSheet(复选框样式) - - self.凈化之花多段段数选择 = MyQComboBox(self.main_frame2) - for i in range(19): - self.凈化之花多段段数选择.addItem('净化之花:' + str(i) + '+1段') - self.凈化之花多段段数选择.setCurrentIndex(15) - self.凈化之花多段段数选择.resize(120, 20) - self.凈化之花多段段数选择.move(320, 400) - - self.暴食段数选择 = MyQComboBox(self.main_frame2) - for i in range(9): - self.暴食段数选择.addItem('暴食之噬:' + str(i) + '+4段') - self.暴食段数选择.setCurrentIndex(8) - self.暴食段数选择.resize(120, 20) - self.暴食段数选择.move(320, 430) - - self.职业存档.append(('BUFF输入2', self.BUFF输入2, 2)) - self.职业存档.append(('手搓冷却', self.手搓冷却, 0)) - self.职业存档.append(('净化之花冷却Buff', self.净化之花冷却Buff, 0)) - self.职业存档.append(('凈化之花多段段数选择', self.凈化之花多段段数选择, 1)) - self.职业存档.append(('暴食段数选择', self.暴食段数选择, 1)) - - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.手搓冷却.isChecked(): - 属性.技能冷却缩减(10, 25, 0.01) - 属性.技能冷却缩减(30, 45, 0.02) - 属性.技能冷却缩减(50, 100, 0.05) - - if self.净化之花冷却Buff.isChecked(): - 属性.技能冷却缩减(1, 48, 0.10) - 属性.技能冷却缩减(55, 100, 0.10) - - 属性.技能栏[属性.技能序号['净化之花']].攻击次数1 = self.凈化之花多段段数选择.currentIndex() - - if self.暴食段数选择.isEnabled(): - 属性.技能栏[属性.技能序号['暴食之噬']].攻击次数1 = self.暴食段数选择.currentIndex() - - try: - self.BUFF全属强 = int(self.BUFF输入2.text()) - except: - self.BUFF全属强 = self.初始属性.BUFF属强 - 属性.BUFF属强 = self.BUFF全属强 diff --git a/Characters/神启·驱魔师.py b/Characters/神启·驱魔师.py deleted file mode 100644 index e98a4a93..00000000 --- a/Characters/神启·驱魔师.py +++ /dev/null @@ -1,847 +0,0 @@ -from PublicReference.carry.base import * -from math import * - - -class 主动技能(主动技能): - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - 魔化 = 1.0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.魔化 - - -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 数据 = [int(i*1.0) for i in [0, 1000, 1058, 1115, 1173, 1230, 1288, 1345, 1403, 1461, 1518, 1576, 1633, 1691, 1748, 1806, 1895, 1984, 2073, 2162, 2251, 2339, 2428, 2517, 2606, 2695, 2784, 2873, 2962, 3051, 3140, 3228, 3317, 3406, 3495, 3584, 3673, 3762, 3851, 3940, 4029, 4118, 4206, 4295, 4384, 4473, 4562, 4651, 4740, 4829, 4918, 5007, 5095, 5184, 5273, 5362, 5451, 5540, 5629, 5718, 5807, 5896, 5985, 6073, 6162, 6251, 6340, 6429, 6518, 6607, 6696, 6785, 6874, 6963, 7051, 7140, 7229, 7318, 7407, 7496, 7585, 7674, 7763, 7852, 7940, 8029, 8118, 8207, 8296, 8385, 8474, 8563, 8652, 8741, 8830, 8918, 9007, 9096, 9185, 9274, 9363, 9452, 9541, 9630, 9719, 9808, 9897, 9986, - 10075, 10164, 10253, 10342, 10431, 10520, 10609, 10698, 10787, 10876, 10965, 11054, 11143, 11232, 11321, 11410, 11499, 11588, 11677, 11766, 11855, 11944, 12033, 12122, 12211, 12300, 12389, 12478, 12567, 12656, 12745, 12834, 12923, 13012, 13101, 13190, 13279, 13368, 13457, 13546, 13635, 13724, 13813, 13902, 13991, 14080, 14169, 14258, 14347, 14436, 14525, 14614, 14703, 14792, 14881, 14970, 15059, 15148, 15237, 15326, 15415, 15504, 15593, 15682, 15771, 15860, 15949, 16038, 16127, 16216, 16305, 16394, 16483, 16572, 16661, 16750, 16839, 16928, 17017, 17106, 17195, 17284, 17373, 17462, 17551, 17640, 17729, 17818, 17907, 17996, 18085, 18174, 18263]] - 关联技能 = ['普通攻击', '空斩打'] - - def 加成倍率(self, 武器类型): - return self.数据[self.等级] / 1000 - - -class 技能1(主动技能): - 名称 = '普通攻击' - 备注 = '(一轮,TP为基础精通)' - 所在等级 = 1 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 224.69*1.085 - 成长 = 0 - 基础2 = 142.11*1.085 - 成长2 = 0 - 倍率 = 1.059 - CD = 2.0 - TP成长 = 0.10 - TP上限 = 3 - - -class 技能2(职业主动技能): - 名称 = '空斩打' - 所在等级 = 1 - 等级上限 = 20 - 基础等级 = 10 - data0 = [int(i*1.085*1.0) for i in [0, 95, 105, 115, 126, 136, 147, 158, 168, 179, 189, 200, 210, 220, 231, 241, 252, 263, 273, 284, 294, 305, 315, - 325, 336, 346, 357, 368, 378, 389, 399, 410, 420, 430, 441, 451, 462, 473, 483, 494, 504, 515, 525, 535, 546, 556, - 567, 578, 588, 599, 609, 620, 630, 640, 651, 661, 672, 683, 693, 704, 714, 725, 735, 745, 756, 766, 777, 788, 798, - 809, 819]] - CD = 2 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能3(职业主动技能): - 名称 = '落凤锤' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.085*1.212) for i in [0, 372, 409, 449, 485, 523, 560, 599, 637, 675, 712, 749, 788, 826, 862, 901, 938, 976, 1016, 1052, 1089, 1127, 1165, 1203, 1241, 1279, 1315, 1355, 1392, 1431, 1468, 1505, 1544, 1582, 1618, 1658, 1697, - 1733, 1771, 1808, 1846, 1885, 1921, 1961, 1997, 2036, 2075, 2111, 2149, 2187, 2224, 2263, 2300, 2339, 2375, 2414, 2452, 2489, 2527, 2565, 2602, 2641, 2678, 2715, 2753, 2791, 2828, 2867, 2904, 2944, 2980]] - data1 = [int(i*1.085*1.212) for i in [0, 1489, 1641, 1792, 1944, 2095, 2246, 2397, 2549, 2700, 2851, 3002, 3153, 3304, 3456, 3607, 3758, 3910, 4061, 4212, 4364, 4514, 4667, 4817, 4969, 5119, 5269, 5422, 5572, 5725, 5875, 6026, 6178, 6329, 6481, 6632, - 6783, 6935, 7085, 7237, 7387, 7539, 7690, 7842, 7992, 8144, 8295, 8447, 8598, 8750, 8901, 9051, 9202, 9354, 9504, 9657, 9807, 9958, 10110, 10260, 10413, 10564, 10716, 10867, 11018, 11169, 11319, 11472, 11622, 11775, 11925]] - 攻击次数2 = 1 - 倍率 = 1.2 # 转职 - CD = 6 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = '疾风打' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - - data0 = [int(i*1.085*1.224) for i in [0, 259, 287, 312, 339, 365, 391, 419, 446, 471, 498, 525, 551, 577, 604, 629, 657, 683, 710, 735, 763, 790, 815, 842, 868, 894, 921, 948, 973, 1000, 1028, 1053, 1080, 1107, 1132, 1160, 1186, - 1213, 1237, 1264, 1292, 1317, 1343, 1372, 1397, 1423, 1450, 1476, 1502, 1529, 1555, 1581, 1608, 1636, 1661, 1688, 1715, 1740, 1768, 1794, 1820, 1846, 1873, 1898, 1926, 1952, 1978, 2005, 2032, 2059, 2085]] - data1 = [int(i*1.085*1.224) for i in [0, 1476, 1626, 1777, 1926, 2076, 2227, 2377, 2526, 2674, 2824, 2975, 3125, 3275, 3423, 3574, 3724, 3873, 4023, 4173, 4324, 4474, 4623, 4773, 4924, 5073, 5223, 5372, 5522, 5673, 5823, 5971, 6121, 6272, 6422, 6572, - 6720, 6870, 7021, 7171, 7321, 7470, 7621, 7771, 7921, 8070, 8218, 8369, 8519, 8669, 8819, 8970, 9119, 9267, 9418, 9568, 9718, 9869, 10018, 10168, 10319, 10469, 10617, 10766, 10916, 11067, 11217, 11367, 11515, 11667, 11815]] - 攻击次数2 = 1 - - CD = 4.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能5(职业主动技能): - 名称 = '破魔符' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(x*1.224*1.085) for x in [0, 181, 200, 218, 236, 255, 272, 292, 310, 327, 348, 365, 383, 402, 420, 439, 457, 475, 494, 511, 532, 549, 567, 585, 604, 622, 641, 659, 677, 697, 715, 732, 752, 769, 788, 807, - 825, 844, 862, 881, 899, 917, 936, 953, 974, 991, 1009, 1027, 1046, 1064, 1083, 1101, 1119, 1137, 1157, 1174, 1193, 1212, 1230, 1248, 1266, 1286, 1304, 1322, 1341, 1358, 1378, 1396, 1413, 1434, 1451]] - 攻击次数 = 6 - CD = 2 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能6(被动技能): - 名称 = '潜龙' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - 普通攻击 = [int(i*1.085*1.0) for i in [0, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, - 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, 232, 236, 240, 244, - 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, 336]] - 普通攻击冲击波 = [int(i*1.085*1.0) for i in [0, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, - 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, - 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, - 880, 890]] - 巨旋风近身 = [int(i*1.085*1.0) for i in [0, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, - 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, - 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155, 157, 159, 161, 163]] - 巨旋风远程 = [int(i*1.085*1.0) for i in [0, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, - 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196, 200, 204, 208, 212, 216, 220, 224, 228, - 232, 236, 240, 244, 248, 252, 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, 296, 300, 304, 308, 312, 316]] - 巨旋风时间 = [int(i*1.085*1.0) for i in [0, 1300, 1350, 1400, 1450, 1500, 1550, 1600, 1650, 1700, 1750, 1800, 1850, 1900, 1950, 2000, 2050, 2100, 2150, - 2200, 2250, 2300, 2350, 2400, 2450, 2500, 2550, 2600, 2650, 2700, 2750, 2800, 2850, 2900, 2950, 3000, 3050, 3100, - 3150, 3200, 3250, 3300, 3350, 3400, 3450, 3500, 3550, 3600, 3650, 3700, 3750, 3800, 3850, 3900, 3950, 4000, 4050, - 4100, 4150, 4200, 4250, 4300, 4350, 4400, 4450, 4500, 4550, 4600, 4650, 4700, 4750]] - 空斩打 = [int(i*1.085*1.0) for i in [0, 40, 42, 45, 47, 50, 52, 55, 57, 60, 62, 65, 67, 70, 72, 75, 77, 80, 82, 85, 87, 90, 92, 95, 97, 100, 102, 105, - 107, 110, 112, 115, 117, 120, 122, 125, 127, 130, 132, 135, 137, 140, 142, 145, 147, 150, 152, 155, 157, 160, 162, - 165, 167, 170, 172, 175, 177, 180, 182, 185, 187, 190, 192, 195, 197, 200, 202, 205, 207, 210, 212]] - 空斩打剑气 = [int(i*1.085*1.0) for i in [0, 100, 104, 110, 114, 120, 124, 130, 134, 140, 144, 150, 154, 160, 164, 170, 174, 180, 184, 190, 194, 200, 204, 210, 214, 220, 224, 230, 234, 240, 244, 250, 254, 260, 264, - 270, 274, 280, 284, 290, 294, 300, 304, 310, 314, 320, 324, 330, 334, 340, 344, 350, 354, 360, 364, 370, 374, 380, 384, 390, 394, 400, 404, 410, 414, 420, 424, 430, 434, 440, 444]] - 无双击 = [int(i*1.085*1.0) for i in [0, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, - 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171, 174, 177, - 180, 183, 186, 189, 192, 195, 198, 201, 204, 207, 210, 213, 216, 219, 222, 225, 228, 231, 234, 237]] - 关联技能 = ['空斩打'] - 关联技能2 = ['断空捶击', '无双击'] - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '普通攻击的最后一击攻击力增加率:%.1f%%' % (self.普通攻击[self.等级]) + '
' - temp += '普通攻击的最后一击冲击波攻击力:%.1f%%' % (self.普通攻击冲击波[self.等级]) + '
' - temp += '[空斩打]攻击力增加率:%.1f%%' % (self.空斩打[self.等级]) + '
' - temp += '[空斩打]剑气攻击力:%.1f%%' % (self.空斩打剑气[self.等级]) + '
' - temp += '[空斩打]冲击波攻击力:%.1f%%' % (self.空斩打剑气[self.等级]) + '
' - temp += '[断空捶击]攻击力增加率:%.1f%%' % (self.无双击[self.等级]) + '
' - temp += '[巨旋风]近身攻击力增加率:%.1f%%' % (self.巨旋风近身[self.等级]) + '
' - temp += '[巨旋风]远程攻击力增加率:%.1f%%' % (self.巨旋风远程[self.等级]) + '
' - temp += '[巨旋风]存在时间增加量:%.1f' % (self.巨旋风时间[self.等级]/1000) + '秒
' - temp += '[疾空旋风破]回旋次数增加量:2次
' - temp += '[无双击]攻击力增加率:%.1f%%' % (self.无双击[self.等级]) - return temp - - def 加成倍率(self, 武器类型): - return 1 + (self.空斩打[self.等级]/100) - - def 加成倍率2(self, 武器类型): - return 1 + (self.无双击[self.等级]/100) - - -class 技能7(被动技能): - 名称 = '巨兵精通' - 所在等级 = 20 - 等级上限 = 40 - 基础等级 = 20 - 冷却关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + 0.01 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + 0.01 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + 0.01 * self.等级, 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.9 - - -class 技能8(职业主动技能): - 名称 = '断空捶击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085*1.224) for i in [0, 78, 87, 94, 103, 109, 118, 126, 135, 142, 151, 159, 166, 175, 181, 190, 199, 207, 214, 223, 230, 239, 246, 255, 261, 272, 279, 287, 295, 302, 311, 318, 327, 334, 343, - 350, 360, 366, 375, 382, 391, 398, 406, 415, 424, 432, 440, 447, 454, 463, 470, 479, 486, 496, 503, 512, 520, 527, 535, 542, 551, 558, 568, 576, 584, 591, 600, 606, 615, 622, 631]] - data1 = [int(i*1.085*1.224) for i in [0, 710, 782, 855, 928, 999, 1071, 1144, 1216, 1288, 1359, 1431, 1505, 1577, 1649, 1720, 1793, 1865, 1937, 2009, 2082, 2154, 2226, 2298, 2370, 2442, 2513, 2585, 2657, 2728, 2801, 2874, 2946, 3018, 3089, 3162, - 3234, 3307, 3379, 3451, 3523, 3595, 3667, 3739, 3812, 3884, 3956, 4028, 4101, 4172, 4244, 4316, 4389, 4462, 4533, 4605, 4677, 4750, 4822, 4893, 4966, 5038, 5111, 5183, 5254, 5326, 5399, 5472, 5544, 5615, 5687]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.224) for i in [0, 789, 869, 949, 1029, 1111, 1190, 1270, 1351, 1430, 1510, 1591, 1670, 1750, 1831, 1911, 1991, 2073, 2151, 2231, 2313, 2391, 2472, 2553, 2632, 2713, 2794, 2874, 2953, 3034, 3114, 3193, 3274, 3354, 3433, - 3514, 3595, 3675, 3755, 3835, 3915, 3995, 4075, 4155, 4235, 4315, 4396, 4478, 4556, 4636, 4718, 4797, 4877, 4958, 5037, 5117, 5199, 5278, 5358, 5439, 5518, 5598, 5679, 5758, 5838, 5918, 5998, 6079, 6160, 6240, 6319]] - 攻击次数3 = 1 - CD = 4.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能9(职业主动技能): - 名称 = '升天阵' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085*1.218) for i in [0, 1718, 1891, 2065, 2240, 2413, 2588, 2762, 2938, 3112, 3285, 3459, 3634, 3809, 3983, 4155, 4332, 4505, 4679, 4853, 5029, 5202, 5376, 5552, 5725, 5900, 6074, 6249, 6423, 6596, 6769, 6945, 7119, 7294, 7467, - 7643, 7817, 7990, 8165, 8340, 8514, 8688, 8864, 9036, 9210, 9384, 9560, 9733, 9908, 10081, 10257, 10431, 10605, 10779, 10954, 11129, 11301, 11475, 11651, 11824, 11999, 12173, 12348, 12521, 12696, 12871, 13045, 13219, 13394, 13569, 13742]] - 倍率 = 1.2 # 转职 - CD = 5 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = '黑暗切割' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.085*1.224) for i in [0, 760, 840, 918, 995, 1075, 1154, 1234, 1313, 1388, 1469, 1547, 1626, 1706, 1783, 1861, 1942, 2023, 2100, 2178, 2259, 2337, 2416, 2494, 2572, 2651, 2730, 2809, 2886, 2965, 3044, 3122, 3202, 3280, - 3357, 3437, 3515, 3595, 3673, 3751, 3829, 3909, 3988, 4066, 4145, 4226, 4305, 4382, 4461, 4540, 4619, 4697, 4776, 4854, 4934, 5013, 5092, 5170, 5248, 5328, 5406, 5484, 5564, 5642, 5722, 5799, 5877, 5956, 6035, 6114, 6194]] - data1 = [int(i*1.085*1.224) for i in [0, 1800, 1985, 2168, 2351, 2532, 2715, 2899, 3083, 3264, 3447, 3631, 3814, 3995, 4178, 4362, 4545, 4728, 4910, 5093, 5275, 5459, 5641, 5824, 6008, 6191, 6373, 6556, 6738, 6921, 7103, 7288, 7471, 7653, 7835, 8019, - 8202, 8385, 8567, 8750, 8932, 9116, 9298, 9481, 9665, 9848, 10030, 10213, 10395, 10578, 10761, 10945, 11126, 11309, 11493, 11676, 11858, 12042, 12224, 12407, 12591, 12773, 12955, 13138, 13321, 13504, 13686, 13870, 14052, 14236, 14418]] - 攻击次数2 = 1 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能11(职业主动技能): - 名称 = '朱雀符' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.085*1.211) for i in [0, 300, 331, 360, 391, 422, 453, 482, 513, 544, 575, 605, 635, 666, 697, 727, 757, 788, 819, 849, 879, 910, 941, 971, 1001, 1032, 1062, 1093, 1123, 1154, - 1184, 1215, 1245, 1276, 1306, 1338, 1368, 1397, 1427, 1457, 1488, 1518, 1549, 1581, 1611, 1642, 1672, 1703, 1733, 1764, 1794, 1825, 1855, 1886, 1916, 1947, 1977, 2008, 2038, 2069, 2099]] - 攻击次数 = 10 - CD = 6.5 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能12(职业主动技能): - 名称 = '星落打' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.085*1.211) for i in [0, 4888, 5384, 5880, 6376, 6870, 7368, 7863, 8359, 8856, 9351, 9847, 10344, 10839, 11335, 11830, 12327, 12823, 13318, 13815, 14312, 14806, 15302, 15798, 16294, 16790, 17286, 17783, 18278, 18773, 19270, 19765, 20262, 20759, 21254, - 21750, 22244, 22741, 23237, 23733, 24230, 24725, 25221, 25718, 26212, 26709, 27204, 27701, 28197, 28692, 29189, 29685, 30180, 30676, 31172, 31668, 32164, 32660, 33156, 33653, 34147, 34644, 35139, 35635, 36132, 36627, 37124, 37620, 38115, 38611, 39106]] - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能13(职业主动技能): - 名称 = '巨旋风' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 近身数据 = [int(i*1.085*1.224) for i in [0, 285, 314, 343, 372, 401, 430, 459, 488, 518, 547, 576, 605, 634, 663, 690, 720, 749, 778, 807, 836, 865, 894, 923, 952, 981, 1010, 1039, 1068, 1097, 1126, 1155, 1184, 1213, 1242, 1271, - 1300, 1329, 1356, 1385, 1414, 1443, 1472, 1501, 1530, 1559, 1588, 1617, 1646, 1675, 1704, 1735, 1764, 1793, 1822, 1851, 1880, 1908, 1937, 1966, 1995, 2023, 2052, 2081, 2110, 2139, 2168, 2197, 2226, 2255, 2284]] - 远程数据 = [int(i*1.085*1.224) for i in [0, 178, 197, 215, 232, 250, 269, 287, 304, 322, 340, 358, 377, 395, 413, 432, 449, 467, 485, 504, 521, 539, 557, 577, 595, 612, 630, 649, 667, 684, 702, 721, 739, 756, 775, 794, - 812, 830, 847, 866, 884, 901, 919, 938, 957, 975, 992, 1011, 1029, 1047, 1064, 1083, 1101, 1119, 1136, 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, 1336, 1355, 1373, 1391, 1409, 1427]] - 近身倍率 = 2 - 远程倍率 = 1 - 攻击间隔 = 0.3 - 持续时间 = 4 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.近身数据[self.等级] * self.近身倍率 + self.远程数据[self.等级] * floor(self.持续时间/self.攻击间隔) * self.远程倍率) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(被动技能): - 名称 = '驱魔之书' - 所在等级 = 30 - 等级上限 = 40 - 基础等级 = 10 - 关联技能 = ['真龙焚天', '式神封灵阵', '逆龙七杀', '逆鳞震', '灭魂符', '苍龙逐日', '式神:殇', '疾空旋风破', '落雷符', - '狂乱锤击', '疾风打', '朱雀符', '黑暗切割', '升天阵', '落凤锤', '破魔符', '式神灭却·合', '雷鸣怒海·火啸山崩'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.015 * self.等级, 5) - - -class 技能15(职业主动技能): - 名称 = '狂乱锤击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.085*1.212) for i in [0, 1038, 1143, 1249, 1354, 1459, 1564, 1670, 1775, 1880, 1985, 2090, 2196, 2301, 2406, 2511, 2617, 2723, 2828, - 2933, 3038, 3143, 3249, 3354, 3459, 3564, 3670, 3775, 3880, 3986, 4091, 4197, 4303, 4408, 4513, 4618, 4723, 4829, - 4934, 5039, 5144, 5250, 5355, 5460, 5565, 5670, 5776, 5881, 5986, 6093, 6198, 6303, 6409, 6514, 6619, 6724, 6830, - 6935, 7040, 7145, 7250, 7356, 7461, 7566, 7671, 7777, 7883, 7988, 8093, 8198, 8303]] - 攻击次数 = 4 - data1 = [int(i*1.085*1.212) for i in [0, 1223, 1347, 1471, 1596, 1718, 1843, 1967, 2091, 2216, 2340, 2463, 2587, 2711, 2836, 2960, 3084, 3208, 3332, - 3457, 3580, 3704, 3829, 3952, 4077, 4201, 4325, 4450, 4573, 4697, 4821, 4945, 5070, 5194, 5318, 5443, 5565, 5690, - 5814, 5938, 6063, 6187, 6310, 6434, 6558, 6683, 6807, 6931, 7055, 7178, 7303, 7427, 7551, 7676, 7799, 7923, 8048, - 8171, 8296, 8420, 8543, 8668, 8792, 8917, 9041, 9164, 9288, 9412, 9537, 9661, 9785]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.0) for i in [0, 897, 988, 1078, 1170, 1261, 1351, 1442, 1534, 1624, 1715, 1807, 1897, 1989, 2079, 2170, 2262, 2352, 2444, 2535, - 2625, 2716, 2808, 2898, 2990, 3081, 3171, 3263, 3353, 3445, 3536, 3626, 3718, 3809, 3899, 3990, 4082, 4173, 4263, - 4355, 4446, 4537, 4627, 4719, 4810, 4900, 4992, 5083, 5174, 5264, 5356, 5447, 5537, 5630, 5720, 5810, 5901, 5993, - 6083, 6175, 6266, 6357, 6448, 6538, 6630, 6721, 6811, 6903, 6994, 7084, 7176]] - 攻击次数3 = 1 - CD = 14 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能16(职业主动技能): - 名称 = '落雷符' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.085*1.125) for i in [0, 1237, 1363, 1489, 1614, 1740, 1864, 1990, 2116, 2242, 2368, 2493, 2618, 2744, 2869, 2995, 3120, 3245, 3372, - 3497, 3623, 3749, 3873, 3999, 4124, 4251, 4377, 4502, 4628, 4753, 4879, 5003, 5131, 5256, 5381, 5507, 5632, 5758, - 5883, 6008, 6136, 6260, 6386, 6511, 6637, 6763, 6888, 7015, 7140, 7264, 7390, 7516, 7642, 7767, 7891, 8019, 8144, - 8270, 8395, 8520, 8646, 8771, 8897, 9023, 9148, 9275, 9399, 9525, 9650, 9776, 9902]] - 攻击次数 = 8 - CD = 1 - # 1级CD 20 60级CD 15.714 - CD_list = [0, 20.0, 19.927, 19.855, 19.782, 19.709, 19.637, 19.564, 19.491, 19.419, 19.346, 19.274, 19.201, 19.128, 19.056, 18.983, 18.91, 18.838, 18.765, 18.692, 18.62, 18.547, 18.474, 18.402, 18.329, 18.257, 18.184, 18.111, 18.039, 17.966, - 17.893, 17.821, 17.748, 17.675, 17.603, 17.53, 17.457, 17.385, 17.312, 17.24, 17.167, 17.094, 17.022, 16.949, 16.876, 16.804, 16.731, 16.658, 16.586, 16.513, 16.44, 16.368, 16.295, 16.223, 16.15, 16.077, 16.005, 15.932, 15.859, 15.787, 15.714] - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD_list[self.等级] * self.CD / self.恢复, 1) - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1 - self.CD *= 0.85 - elif x == 1: - self.倍率 *= 1.19 - self.CD *= 0.85 - - -class 技能17(职业主动技能): - 名称 = '疾空旋风破' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.085*1.225) for i in [0, 848, 935, 1020, 1106, 1193, 1278, 1364, 1451, 1536, 1622, 1710, 1794, 1881, 1967, 2055, 2141, 2225, 2312, 2398, 2484, 2571, 2656, 2741, 2829, 2914, 3001, 3086, 3172, 3259, 3346, 3431, 3516, 3604, 3690, - 3776, 3862, 3947, 4034, 4119, 4206, 4292, 4377, 4464, 4550, 4636, 4722, 4810, 4894, 4980, 5068, 5154, 5240, 5325, 5411, 5499, 5584, 5670, 5755, 5841, 5928, 6015, 6100, 6185, 6273, 6358, 6446, 6531, 6615, 6704, 6789]] - data1 = [int(i*1.085*1.225) for i in [0, 1774, 1953, 2134, 2314, 2493, 2673, 2854, 3034, 3213, 3394, 3574, 3753, 3935, 4115, 4293, 4475, 4655, 4835, 5015, 5195, 5375, 5555, 5735, 5915, 6094, 6275, 6455, 6634, 6815, 6995, 7174, 7355, 7535, 7715, 7895, 8075, - 8255, 8435, 8615, 8795, 8975, 9155, 9335, 9514, 9695, 9875, 10054, 10235, 10415, 10595, 10775, 10955, 11135, 11315, 11495, 11675, 11855, 12035, 12215, 12397, 12575, 12755, 12936, 13116, 13295, 13475, 13657, 13835, 14015, 14197]] - 攻击次数 = 7 - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1 - self.倍率 *= 1.08 - self.CD *= 0.85 - elif x == 1: - self.攻击次数 += 1 - self.倍率 *= 1.17 - self.CD *= 0.85 - - -class 技能18(职业主动技能): - 名称 = '式神:殇' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.085*1.24) for i in [0, 933, 1028, 1123, 1217, 1311, 1407, 1500, 1596, 1690, 1785, 1881, 1974, 2070, 2164, 2258, 2354, 2448, 2543, 2637, - 2732, 2828, 2921, 3017, 3110, 3206, 3302, 3395, 3490, 3584, 3679, 3775, 3869, 3964, 4057, 4153, 4249, 4342, 4437, - 4531, 4627, 4723, 4816, 4911, 5005, 5100, 5195, 5290, 5385, 5478, 5574, 5668, 5763, 5857, 5952, 6048, 6141, 6237, - 6331, 6426, 6520, 6615, 6710, 6805, 6899, 6994, 7089, 7184, 7278, 7373, 7468]] - 攻击次数 = 14 - data1 = [int(i*1.085*1.24) for i in [0, 4130, 4549, 4969, 5387, 5807, 6225, 6645, 7063, 7483, 7901, 8322, 8740, 9159, 9577, 9997, 10416, 10836, 11254, - 11674, 12092, 12511, 12930, 13350, 13769, 14188, 14606, 15026, 15444, 15864, 16283, 16703, 17121, 17540, 17958, - 18379, 18797, 19217, 19635, 20055, 20473, 20893, 21311, 21731, 22150, 22569, 22987, 23408, 23826, 24245, 24663, - 25083, 25502, 25922, 26340, 26760, 27178, 27597, 28016, 28437, 28855, 29274, 29692, 30112, 30530, 30950, 31369, - 31789, 32207, 32626, 33044]] - 攻击次数2 = 1 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 = 4.79 - self.CD *= 0.95 - elif x == 1: - self.攻击次数 = 0 - self.攻击次数2 = 5.16 - self.CD *= 0.95 - - -class 技能19(职业主动技能): - 名称 = '无双击' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.085*1.161) for i in [0, 791, 870, 950, 1031, 1110, 1190, 1272, 1352, 1432, 1512, 1592, 1673, 1753, 1833, 1913, 1994, 2074, 2154, 2234, - 2314, 2396, 2475, 2555, 2636, 2715, 2795, 2877, 2956, 3036, 3117, 3196, 3277, 3358, 3437, 3517, 3599, 3679, 3758, - 3839, 3919, 3998, 4080, 4160, 4239, 4320, 4400, 4479, 4561, 4641, 4720, 4801, 4882, 4962, 5042, 5122, 5202, 5283, - 5363, 5443, 5523, 5603, 5683, 5764, 5844, 5924, 6004, 6084, 6165, 6246, 6325]] - data1 = [int(i*1.085*1.161) for i in [0, 10505, 11571, 12636, 13703, 14768, 15835, 16900, 17965, 19031, 20096, 21163, 22228, 23295, 24360, 25427, 26492, - 27558, 28623, 29689, 30755, 31820, 32887, 33952, 35018, 36083, 37151, 38216, 39282, 40347, 41413, 42478, 43545, - 44611, 45677, 46742, 47807, 48874, 49939, 51005, 52070, 53137, 54202, 55269, 56334, 57400, 58465, 59533, 60598, - 61663, 62729, 63794, 64860, 65925, 66993, 68058, 69124, 70189, 71256, 72321, 73388, 74453, 75519, 76584, 77649, - 78716, 79781, 80847, 81913, 82979, 84045]] - 攻击次数2 = 1 - CD = 40 - TP成长 = 0.10 - TP上限 = 5 - - -class 技能20(被动技能): - 名称 = '斗志散发' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.07 + 0.01 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '苍龙逐日' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data0 = [int(i*1.085*1.224) for i in [0, 43236, 53262, 63288, 73315, 83343, 93367, 103393, 113419, 123446, 133473, 143499, 153523, 163550, 173576, 183603, 193628, 203654, 213680, 223706, 233731, 243758, 253784, 263810, 273836, 283861, 293890, 303915, 313942, 323967, 333993, 344018, 354045, 364072, 374098, 384122, - 394148, 404175, 414202, 424228, 434252, 444278, 454305, 464332, 474359, 484385, 494409, 504436, 514463, 524489, 534515, 544540, 554566, 564593, 574619, 584645, 594670, 604696, 614722, 624749, 634775, 644802, 654827, 664852, 674880, 684906, 694933, 704958, 714985, 725009, 735036]] - CD = 145 - - def 等效百分比(self, 武器类型): - if self.等级 >= 9: - self.倍率 *= 1.1 - return super().等效百分比(武器类型) - - -class 技能22(职业主动技能): - 名称 = '灭魂符' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.085*1.224) for i in [0, 1596, 1759, 1921, 2082, 2245, 2407, 2570, 2730, 2893, 3055, 3218, 3379, 3542, 3703, 3867, 4028, 4190, 4350, 4516, - 4676, 4837, 5000, 5161, 5324, 5486, 5648, 5809, 5971, 6134, 6296, 6458, 6620, 6782, 6945, 7107, 7269, 7430, 7593, 7755, 7917]] - 攻击次数 = 10 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.26 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.35 - self.CD *= 0.9 - - -class 技能23(职业主动技能): - 名称 = '逆鳞震' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(i*1.085*1.224) for i in [0, 25800, 28416, 31037, 33649, 36270, 38887, 41507, 44128, 46741, 49363, 51980, 54597, 57211, 59832, 62448, 65069, 67682, 70302, 72923, 75537, 78156, 80772, 83393, 86007, 88627, 91244, 93864, 96484, 99096, 101718, 104336, 106954, 109569, 112188, 114805, 117421, - 120040, 122662, 125280, 127893, 130513, 133130, 135749, 138364, 140985, 143599, 146221, 148834, 151455, 154074, 156691, 159308, 161924, 164545, 167159, 169779, 172396, 175016, 177631, 180250, 182873, 185486, 188105, 190720, 193342, 195957, 198578, 201192, 203810, 206428]] - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - elif x == 1: - self.倍率 *= 1.28 - - -class 技能24(被动技能): - 名称 = '脉轮:式神' - 所在等级 = 75 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.34 + 0.02 * self.等级, 5) - - -class 技能25(被动技能): - 名称 = '式神之力' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.08 + 0.02 * self.等级, 5) - - def 物理攻击力倍率进图(self, 武器类型): - return self.加成倍率(武器类型) - - def 魔法攻击力倍率进图(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能26(职业主动技能): - 名称 = '逆龙七杀' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.085*1.159) for i in [0, 1267, 1397, 1525, 1655, 1783, 1912, 2040, 2169, 2297, 2426, 2555, 2684, 2813, 2941, 3069, 3198, 3327, 3455, 3585, 3714, 3843, 3971, 4099, 4228, 4356, 4485, 4614, 4743, 4871, 5001, 5128, 5257, 5387, 5515, - 5643, 5773, 5901, 6030, 6158, 6286, 6416, 6544, 6673, 6802, 6931, 7059, 7188, 7316, 7446, 7574, 7703, 7832, 7961, 8088, 8218, 8346, 8474, 8604, 8732, 8862, 8990, 9118, 9247, 9377, 9504, 9634, 9762, 9892, 10020, 10147]] - data1 = [int(i*1.085*1.159) for i in [0, 2538, 2793, 3050, 3309, 3567, 3823, 4080, 4339, 4596, 4853, 5110, 5369, 5625, 5883, 6140, 6399, 6655, 6912, 7169, 7428, 7684, 7941, 8198, 8457, 8714, 8971, 9228, 9487, 9744, 10001, 10259, 10517, 10774, 11029, 11288, 11546, - 11803, 12059, 12317, 12576, 12833, 13089, 13347, 13605, 13863, 14119, 14377, 14635, 14891, 15148, 15406, 15664, 15921, 16178, 16436, 16694, 16950, 17208, 17465, 17723, 17980, 18239, 18494, 18752, 19009, 19268, 19524, 19782, 20039, 20297]] - 攻击次数2 = 1 - data2 = [int(i*1.085*1.159) for i in [0, 3804, 4191, 4577, 4963, 5349, 5735, 6122, 6508, 6893, 7281, 7666, 8052, 8439, 8823, 9211, 9596, 9981, 10370, 10755, 11142, 11527, 11912, 12300, 12685, 13070, 13458, 13842, 14230, 14615, 15000, 15389, 15774, 16160, 16546, 16932, - 17319, 17704, 18090, 18477, 18862, 19250, 19635, 20021, 20408, 20793, 21179, 21565, 21951, 22338, 22724, 23109, 23496, 23881, 24267, 24655, 25040, 25427, 25812, 26198, 26585, 26970, 27356, 27743, 28128, 28516, 28901, 29287, 29674, 30059, 30446]] - 攻击次数3 = 1 - data3 = [int(i*1.085*1.159) for i in [0, 5073, 5589, 6103, 6618, 7133, 7648, 8162, 8677, 9192, 9707, 10222, 10737, 11252, 11766, 12281, 12795, 13311, 13825, 14340, 14855, 15369, 15884, 16398, 16914, 17428, 17945, 18458, 18974, 19488, 20003, 20517, 21032, 21547, 22062, 22577, - 23092, 23605, 24121, 24635, 25151, 25665, 26181, 26694, 27211, 27723, 28240, 28753, 29269, 29783, 30299, 30813, 31329, 31842, 32358, 32871, 33387, 33901, 34417, 34931, 35446, 35960, 36476, 36990, 37506, 38021, 38535, 39050, 39564, 40079, 40594]] - 攻击次数4 = 1 - data4 = [int(i*1.085*1.159) for i in [0, 6343, 6986, 7629, 8273, 8916, 9559, 10204, 10847, 11490, 12134, 12777, 13421, 14065, 14707, 15351, 15995, 16638, 17280, 17925, 18568, 19212, 19856, 20499, 21142, 21786, 22429, 23073, 23717, 24359, 25003, 25647, 26290, 26934, 27576, 28221, - 28865, 29508, 30152, 30795, 31438, 32082, 32724, 33369, 34013, 34654, 35299, 35943, 36585, 37230, 37872, 38516, 39161, 39803, 40447, 41092, 41733, 42377, 43021, 43664, 44308, 44951, 45594, 46239, 46883, 47525, 48168, 48812, 49456, 50099, 50742]] - 攻击次数5 = 1 - data5 = [int(i*1.085*1.159) for i in [0, 7610, 8382, 9155, 9928, 10700, 11471, 12244, 13017, 13788, 14560, 15333, 16105, 16876, 17648, 18421, 19194, 19966, 20738, 21509, 22283, 23055, 23827, 24599, 25371, 26142, 26915, 27689, 28460, 29231, 30004, 30776, 31549, 32321, 33093, 33865, - 34637, 35409, 36180, 36954, 37727, 38498, 39270, 40043, 40815, 41587, 42359, 43131, 43904, 44675, 45447, 46220, 46993, 47765, 48535, 49308, 50082, 50854, 51625, 52397, 53169, 53942, 54713, 55486, 56258, 57031, 57803, 58574, 59348, 60120, 60891]] - 攻击次数6 = 1 - data6 = [int(i*1.085*1.159) for i in [0, 26650, 29354, 32058, 34760, 37465, 40169, 42873, 45576, 48281, 50983, 53687, 56390, 59095, 61799, 64503, 67205, 69910, 72613, 75317, 78020, 80725, 83428, 86132, 88835, 91540, 94244, 96945, 99649, 102353, 105058, 107762, 110465, 113168, 115873, 118577, 121279,123983, 126688, 129390, 132094, 134798, 137503, 140207, 142910, 145612, 148317, 151020, 153724, 156428, 159133, 161835, 164539, 167242, 169947, 172650, 175354, 178057, 180762, 183465, 186169, 188873, 191575, 194279, 196983, 199687, 202391, 205095, 207798, 210502, 213206]] - 攻击次数7 = 1 - - CD = 50 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.04*1.24 - - -class 技能27(职业主动技能): - 名称 = '式神封灵阵' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.085*1.25) for i in [0, 2579, 2836, 3099, 3363, 3622, 3885, 4147, 4406, 4669, 4930, 5192, 5455, 5716, 5975, 6237, 6500, 6761, 7022, 7284, 7545, 7808, 8069, 8333, 8590, 8853, 9117, 9376, 9639, 9900, 10162, 10423, 10684, 10945, 11207, 11470, 11729,11990, 12254, 12513, 12776, 13037, 13299, 13562, 13823, 14085, 14344, 14609, 14870, 15127, 15391, 15654, 15915, 16177, 16438, 16699, 16960, 17224, 17483, 17746, 18007, 18267, 18530, 18791, 19050, 19314, 19575, 19838, 20100, 20363, 20624]] - data1 = [int(i*1.085*1.25) for i in [0, 25780, 28394, 31009, 33626, 36240, 38854, 41470, 44085, 46701, 49316, 51931, 54547, 57162, 59777, 62393, 65008, 67623, 70238, 72853, 75470, 78085, 80699, 83315, 85930, 88546, 91161, 93776, 96393, 99007, 101621, 104238, 106852, 109468, 112081, 114697, 117313,119929, 122543, 125159, 127775, 130390, 133004, 135620, 138236, 140852, 143466, 146081, 148697, 151313, 153927, 156543, 159159, 161774, 164388, 167004, 169620, 172235, 174848, 177464, 180080, 182695, 185310, 187926, 190540, 193157, 195771, 198387, 201003, 203618, 206234]] - 攻击次数 = 10 - 攻击次数2 = 1 - CD = 50 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.36 - self.CD *= 0.9 - - -class 技能28(职业主动技能): - 名称 = '真龙焚天' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(i*1.085*1.224) for i in [0, 2166, 2670, 3172, 3675, 4177, 4680, 5182, 5686, 6188, 6690, 7193, 7694, 8197, 8701, 9203, 9705, 10208, 10711, 11213, 11716, 12219, 12721, 13224, 13726, 14228, 14732, 15234, 15736, 16238, 16740, 17243, 17748, 18250, 18752, 19254, - 19757, 20260, 20763, 21265, 21767, 22269, 22772, 23274, 23777, 24279, 24783, 25285, 25787, 26289, 26793, 27297, 27799, 28301, 28803, 29306, 29810, 30311, 30813, 31315, 31818, 32321, 32824, 33327, 33829, 34332, 34835, 35337, 35840, 36342, 36845]] - data1 = [int(i*1.085*1.224) for i in [0, 30652, 37760, 44868, 51976, 59084, 66191, 73299, 80408, 87514, 94623, 101730, 108839, 115945, 123055, 130161, 137270, 144378, 151486, 158593, 165701, 172809, 179918, 187024, 194133, 201240, 208348, 215456, 222564, 229671, 236779, 243888, 250995, 258103, 265211, 272319, 279427, 286535, 293643, 300749, 307858, 314965, 322074, 329180, 336290, 343397, 350505, 357612, 364721, 371828, 378937, 386044, 393153, 400259, 407369, 414475, 421583, 428691, 435799, 442906, 450014, 457123, 464230, 471338, 478446, 485554, 492662, 499769, 506878, 513984, 521093]] - data2 = [int(i*1.085*1.261) for i in [0, 122708, 151164, 179618, 208073, 236527, 264982, 293436, 321890, 350345, 378800, 407254, 435710, 464163, 492619, 521072, 549528, 577981, 606435, 634889, 663345, 691799, 720254, 748708, 777163, 805617, 834070, 862526, 890980, 919435, 947891, 976345, 1004800, 1033253, 1061709, 1090162, 1118615, 1147070, 1175525, 1203981, 1232434, 1260889, 1289343, 1317798, 1346252, 1374707, 1403160, 1431616, 1460071, 1488526, 1516980, 1545434, 1573889, 1602343, 1630796, 1659251, 1687706, 1716162, 1744615, 1773071, 1801524, 1829979, 1858433, 1886888, 1915342, 1943797, 1972252, 2000707, 2029161, 2057616, 2086070]] - 攻击次数 = 30 - 攻击次数2 = 1 - 攻击次数3 = 0 - CD = 180.0 - - -class 技能29(被动技能): - 名称 = '式神之悟' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 非关联技能 = ['空斩打'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能30(职业主动技能): - 名称 = '式神灭却·合' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - - def 力驱形态(self): - self.data0 = [int(i*1.085*1.223) for i in [0, 19069, 21003, 22938, 24873, 26807, 28742, 30676, 32611, 34546, 36480, 38415, 40349, 42284, 44218, 46153, 48088, 50022, 51957, 53891, 55826, 57761, 59695, 61629, 63564, 65499, 67433, 69367, 71302, 73237, 75171, 77106, 79040, 80975, 82910, 84844, 86779, 88714, 90648, 92582, 94517, 96452, 98386, 100321, 102255, 104190, 106125, 108059, 109993, 111928, 113863, 115797, 117732, 119666, 121601, 123535, 125470, 127405, 129339, 131274, 133208, 135143, 137078, 139012, 140946, 142881, 144816, 146750, 148685, 150619, 152554]] - self.攻击次数 = 1 - self.data1 = [int(i*1.085*1.223) for i in [0, 9534, 10502, 11469, 12436, 13404, 14371, 15338, 16305, 17273, 18240, 19207, 20175, 21142, 22109, 23077, 24044, 25011, 25978, 26946, 27913, 28880, 29847, 30815, 31782, 32749, 33717, 34684, 35651, 36618, 37586, 38553, 39520, 40487, 41455, - 42422, 43389, 44357, 45324, 46291, 47259, 48226, 49193, 50160, 51128, 52095, 53062, 54030, 54997, 55964, 56931, 57899, 58866, 59833, 60800, 61768, 62735, 63702, 64669, 65637, 66604, 67571, 68539, 69506, 70473, 71441, 72408, 73375, 74343, 75310, 76277]] - self.攻击次数2 = 1 - self.data2 = [int(i*1.085*1.223) for i in [0, 28603, 31505, 34407, 37309, 40211, 43112, 46014, 48916, 51818, 54720, 57622, 60524, 63426, 66328, 69230, 72132, 75033, 77935, 80837, 83739, 86641, 89542, 92444, 95346, 98248, 101150, 104051, 106953, 109855, 112757, 115659, 118560, 121462, 124364, 127266, 130168, 133070, 135972, 138874, 141776, 144678, 147580, 150481, 153383, 156285, 159187, 162089, 164990, 167892, 170794, 173696, 176598, 179499, 182401, 185303, 188205, 191107, 194008, 196910, 199812, 202714, 205616, 208518, 211420, 214322, 217224, 220126, 223028, 225929, 228831]] - self.攻击次数3 = 1 - self.data3 = [int(i*1.085*1.223) for i in [0, 9534, 10502, 11469, 12436, 13404, 14371, 15338, 16305, 17273, 18240, 19207, 20175, 21142, 22109, 23077, 24044, 25011, 25978, 26946, 27913, 28880, 29847, 30815, 31782, 32749, 33717, 34684, 35651, 36618, 37586, 38553, 39520, 40487, 41455, - 42422, 43389, 44357, 45324, 46291, 47259, 48226, 49193, 50160, 51128, 52095, 53062, 54030, 54997, 55964, 56931, 57899, 58866, 59833, 60800, 61768, 62735, 63702, 64669, 65637, 66604, 67571, 68539, 69506, 70473, 71441, 72408, 73375, 74343, 75310, 76277]] - self.攻击次数4 = 4 - - def 法驱形态(self): - self.data0 = [int(i*1.085*1.224) for i in [0, 4304, 4741, 5178, 5614, 6051, 6488, 6924, 7361, 7798, 8234, 8671, 9108, 9544, 9981, 10418, 10854, 11291, 11728, 12164, 12601, 13038, 13474, 13911, 14348, 14784, 15221, 15658, 16095, 16531, 16968, 17404, 17841, 18278, 18714, 19151, - 19588, 20024, 20461, 20898, 21335, 21771, 22208, 22645, 23081, 23518, 23955, 24391, 24828, 25265, 25701, 26138, 26575, 27011, 27448, 27885, 28321, 28758, 29195, 29631, 30068, 30505, 30941, 31378, 31815, 32251, 32688, 33125, 33561, 33998, 34435]] - self.攻击次数 = 15 - self.data1 = [int(i*1.085*1.224) for i in [0, 27670, 30477, 33285, 36092, 38899, 41706, 44514, 47321, 50128, 52935, 55742, 58550, 61356, 64164, 66971, 69778, 72585, 75392, 78200, 81007, 83814, 86621, 89429, 92236, 95043, 97850, 100657, 103465, 106271, 109079, 111886, 114693, 117500, 120307, 123115, 125922, 128729, 131536, 134344, 137151, 139958, 142765, 145572, 148379, 151186, 153994, 156801, 159608, 162415, 165222, 168030, 170836, 173644, 176451, 179258, 182065, 184872, 187680, 190487, 193294, 196101, 198909, 201716, 204523, 207330, 210137, 212945, 215751, 218559, 221366]] - self.攻击次数2 = 1 - self.攻击次数3 = 0 - self.攻击次数4 = 0 - - 脉轮 = '烈焰' - CD = 60 - - def 等效百分比(self, 武器类型): - if self.脉轮 == '圣光': - self.法驱形态() - else: - self.力驱形态() - return super().等效百分比(武器类型) - - -class 技能31(职业主动技能): - 名称 = '雷鸣怒海·火啸山崩' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 基础 = 250972 - 成长 = 75764 - 攻击次数 = 1 - data0 = [int(x*1.224*1.085) for x in [0, 16337, 20125, 23913, 27701, 31490, 35278, 39066, 42854, 46643, 50431, 54219, 58007, 61796, 65584, 69372, 73160, 76949, 80737, 84525, 88313, 92101, 95890, 99678, 103466, 107254, 111043, 114831, 118619, 122407, 126196, 129984, 133772, 137560, 141349, 145137, 148925, 152713, 156502, 160290, 164078, 167866, 171655, 175443, 179231, 183019, 186807, 190596, 194384, 198172, 201960, 205749, 209537, 213325, 217113, 220902, 224690, 228478, 232266, 236055, 239843, 243631, 247419, 251208, 254996, 258784, 262572, 266361, 270149, 273937, 277725]] - 攻击次数 = 5 - data1 = [int(x*1.224*1.085) for x in [0, 9802, 12075, 14348, 16621, 18894, 21167, 23440, 25713, 27986, 30259, 32531, 34804, 37077, 39350, 41623, 43896, 46169, 48442, 50715, 52988, 55261, 57534, 59807, 62080, 64353, 66626, 68899, 71172, 73444, 75717, 77990, 80263, 82536, 84809, 87082, 89355, 91628, 93901, 96174, 98447, 100720, 102993, 105266, 107539, 109812, 112084, 114357, 116630, 118903, 121176, 123449, 125722, 127995, 130268, 132541, 134814, 137087, 139360, 141633, 143906, 146179, 148452, 150725, 152997, 155270, 157543, 159816, 162089, 164362, 166635]] - 攻击次数2 = 10 - data2 = [int(x*1.224*1.085) for x in [0, 16337, 20125, 23913, 27701, 31490, 35278, 39066, 42854, 46643, 50431, 54219, 58007, 61796, 65584, 69372, 73160, 76949, 80737, 84525, 88313, 92101, 95890, 99678, 103466, 107254, 111043, 114831, 118619, 122407, 126196, 129984, 133772, 137560, 141349, 145137, 148925, 152713, 156502, 160290, 164078, 167866, 171655, 175443, 179231, 183019, 186807, 190596, 194384, 198172, 201960, 205749, 209537, 213325, 217113, 220902, 224690, 228478, 232266, 236055, 239843, 243631, 247419, 251208, 254996, 258784, 262572, 266361, 270149, 273937, 277725]] - 攻击次数3 = 1 - data3 = [int(x*1.224*1.085) for x in [0, 130694, 161000, 191306, 221612, 251918, 282223, 312529, 342835, 373141, 403447, 433753, 464058, 494364, 524670, 554976, 585282, 615588, 645894, 676200, 706506, 736812, 767118, 797424, 827730, 858036, 888342, 918648, 948954, 979260, 1009566, 1039872, 1070177, 1100482, 1130788, 1161094, 1191400, 1221706, 1252012, 1282318, 1312624, 1342930, 1373236, 1403542, 1433848, 1464154, 1494460, 1524766, 1555072, 1585378, 1615684, 1645990, 1676296, 1706601, 1736907, 1767213, 1797518, 1827824, 1858130, 1888436, 1918742, 1949048, 1979354, 2009660, 2039966, 2070272, 2100578, 2130884, 2161190, 2191496, 2221802]] - 攻击次数4 = 1 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -神启·驱魔师一觉序号 = 0 -神启·驱魔师二觉序号 = 0 -神启·驱魔师三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 神启·驱魔师一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 神启·驱魔师二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 神启·驱魔师三觉序号 = 技能序号[i.名称] - -神启·驱魔师护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 神启·驱魔师护石选项.append(i.名称) - -神启·驱魔师符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 神启·驱魔师符文选项.append(i.名称) - - -class 神启·驱魔师角色属性(角色属性): - 实际名称 = '神启·驱魔师' - 角色 = '圣职者(男)' - 职业 = '驱魔师' - - 武器选项 = ['念珠', '战斧'] - - 主BUFF = 1.76 - - 防具类型 = '板甲' - - 反身空斩打 = 0 - 力法及精通 = 0 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['空斩打'] - ].倍率 *= (1 + 0.1 * self.技能栏[self.技能序号['普通攻击']].TP等级) - 潜龙 = self.技能栏[self.技能序号['潜龙']] - if self.技能栏[self.技能序号['潜龙']].等级 != 0: - self.技能栏[self.技能序号['普通攻击']].基础 += 潜龙.普通攻击冲击波[潜龙.等级] - self.技能栏[self.技能序号['普通攻击']].基础2 *= 1 + (潜龙.普通攻击[潜龙.等级] / 100) - self.技能栏[self.技能序号['巨旋风']].近身倍率 *= 1 + (潜龙.巨旋风近身[潜龙.等级] / 100) - self.技能栏[self.技能序号['巨旋风']].远程倍率 *= 1 + (潜龙.巨旋风远程[潜龙.等级] / 100) - self.技能栏[self.技能序号['巨旋风']].持续时间 += 潜龙.巨旋风时间[潜龙.等级] / 1000 - self.技能栏[self.技能序号['疾空旋风破']].攻击次数 += 2 - if self.反身空斩打 == 1: - self.技能栏[self.技能序号['空斩打']].被动倍率 *= 1 + 2 * (潜龙.空斩打剑气[潜龙.等级] / 100) - else: - self.技能栏[self.技能序号['空斩打']].被动倍率 *= 1 + (潜龙.空斩打剑气[潜龙.等级] / 100) - if self.力法及精通 == 0 or self.力法及精通 == 1: - self.技能栏[self.技能序号['真龙焚天']].攻击次数 = 0 - self.技能栏[self.技能序号['真龙焚天']].攻击次数2 = 0 - self.技能栏[self.技能序号['真龙焚天']].攻击次数3 = 1 - self.技能栏[self.技能序号['无双击']].倍率 *= 1.2 - if self.力法及精通 == 0 or self.力法及精通 == 1: - self.技能栏[self.技能序号['式神灭却·合']].脉轮 = '烈焰' - else: - self.技能栏[self.技能序号['式神灭却·合']].脉轮 = '圣光' - - -class 神启·驱魔师(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 神启·驱魔师角色属性() - self.角色属性A = 神启·驱魔师角色属性() - self.角色属性B = 神启·驱魔师角色属性() - self.一觉序号 = 神启·驱魔师一觉序号 - self.二觉序号 = 神启·驱魔师二觉序号 - self.三觉序号 = 神启·驱魔师三觉序号 - self.护石选项 = deepcopy(神启·驱魔师护石选项) - self.符文选项 = deepcopy(神启·驱魔师符文选项) - - def 界面(self): - super().界面() - - self.力法及精通选择 = MyQComboBox(self.main_frame2) - self.力法及精通选择.addItem('板甲力驱') - self.力法及精通选择.addItem('重甲力驱') - self.力法及精通选择.addItem('布甲法驱') - self.力法及精通选择.resize(120, 20) - self.力法及精通选择.move(325, 480) - - self.反身空斩打 = QCheckBox('空斩打冲击波', self.main_frame2) - self.反身空斩打.resize(100, 20) - self.反身空斩打.move(335, 520) - self.反身空斩打.setStyleSheet(复选框样式) - self.反身空斩打.setToolTip('触发潜龙冲击波') - - self.职业存档.append(('力法及精通选择', self.力法及精通选择, 1)) - self.职业存档.append(('反身空斩打', self.反身空斩打, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.反身空斩打.isChecked(): - 属性.反身空斩打 = 1 - 属性.力法及精通 = self.力法及精通选择.currentIndex() - if 属性.力法及精通 == 0: - 属性.防具类型 = '板甲' - 属性.类型 = '物理百分比' - 属性.防具精通属性 = '力量' - if 属性.力法及精通 == 1: - 属性.防具类型 = '重甲' - 属性.类型 = '物理百分比' - 属性.防具精通属性 = '力量' - if 属性.力法及精通 == 2: - 属性.防具类型 = '布甲' - 属性.类型 = '魔法百分比' - 属性.防具精通属性 = '智力' diff --git a/Characters/苍暮·战线佣兵.py b/Characters/苍暮·战线佣兵.py deleted file mode 100644 index 79a91aaf..00000000 --- a/Characters/苍暮·战线佣兵.py +++ /dev/null @@ -1,612 +0,0 @@ -from math import * -from PublicReference.carry.base import * -# 2021.4.7 韩测 - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 重剑精通 - - -class 技能0(被动技能): - 名称 = '重剑精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 <= 20: - return round(1.05 + 0.01 * self.等级, 5) - else: - return round(1.25 + 0.025 * (self.等级 - 20), 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -# 火药改良 -class 技能1(被动技能): - 名称 = '火药改良' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - return round(1 + 0.015 * self.等级, 5) - - -# 一觉被动 -class 技能2(被动技能): - 名称 = '终极火力' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.035 + 0.02 * self.等级, 5) - - -# 二觉被动 -class 技能3(被动技能): - 名称 = '无法者之歌' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -# 三觉被动 -class 技能4(被动技能): - 名称 = '铁血豪情' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -# 双重散射 -class 技能5(职业主动技能): - 名称 = '双重散射' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1725.5 - # 成长 = 195.9 - # 第1次射击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 1022, 1126, 1230, 1332, 1436, 1540, 1644, 1748, 1851, 1955, 2059, 2163, 2266, 2370, 2474, 2578, 2682, 2785, 2889, 2993, 3096, 3199, 3303, 3407, 3511, 3615, 3718, 3822, 3926, 4030, 4133, 4237, 4341, 4445, 4548, 4652, 4755, 4859, 4963, 5066, 5170, 5274, 5378, 5481, 5585, 5689, 5793, 5897, 6000, 6104, 6208, 6312, 6414, 6518, 6622, 6726, 6830, 6933, 7037, 7141, 7245, 7348, 7452, 7556, 7660, 7764, 7867, 7971, 8075, 8178]] - # 第2次射击攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 1533, 1688, 1844, 1999, 2156, 2311, 2466, 2622, 2777, 2933, 3089, 3245, 3400, 3555, 3711, 3866, 4023, 4178, 4333, 4489, 4644, 4800, 4956, 5111, 5267, 5422, 5578, 5733, 5889, 6045, 6200, 6356, 6511, 6666, 6822, 6978, 7134, 7289, 7445, 7600, 7755, 7912, 8067, 8223, 8378, 8533, 8689, 8845, 9001, 9156, 9311, 9467, 9622, 9779, 9934, 10089, 10245, 10400, 10556, 10712, 10868, 11023, 11178, 11334, 11489, 11646, 11801, 11956, 12112, 12267]] - 攻击次数2 = 1 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.114 - - -# 爆烈斩击 -class 技能6(职业主动技能): - 名称 = '爆烈斩击' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.085) for i in [0, 900, 991, 1083, 1175, 1266, 1358, 1449, 1540, 1632, 1723, 1814, 1906, 1997, 2088, 2180, 2271, 2363, 2454, 2545, 2637, 2728, 2819, 2911, 3002, 3093, 3185, 3276, 3367, 3459, 3550, 3641, 3733, 3825, 3917, 4008, 4099, 4191, 4282, 4373, 4465, 4556, 4647, 4739, 4830, 4921, 5013, 5104, 5195, 5287, 5378, 5469, 5561, 5652, 5744, 5835, 5926, 6018, 6109, 6200, 6292, 6384, 6475, 6567, 6658, 6749, 6841, 6932, 7023, 7115, 7206]] - data1 = [int(i*1.085) for i in [0, 2101, 2314, 2527, 2742, 2955, 3168, 3381, 3594, 3807, 4020, 4234, 4447, 4660, 4873, 5086, 5300, 5514, 5727, 5940, 6153, 6366, 6579, 6792, 7006, 7219, 7432, 7645, 7858, 8072, 8286, 8499, 8712, 8925, 9138, 9351, 9564, 9778, 9991, 10204, 10417, 10631, 10844, 11058, 11271, 11484, 11697, 11910, 12123, 12336, 12550, 12763, 12976, 13190, 13403, 13616, 13830, 14043, 14256, 14469, 14682, 14895, 15108, 15322, 15535, 15749, 15962, 16175, 16388, 16602, 16815]] - 攻击次数2 = 1 - # 基础 = 1962.4*1.189 - # 成长 = 221.3*1.189 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - ### - 倍率 = 1.157 - - -# 剑刃爆弹 -class 技能7(职业主动技能): - 名称 = '剑刃爆弹' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 基础 = 4061.333333 - 成长 = 451 - # 击退攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 595, 656, 716, 777, 837, 898, 958, 1019, 1079, 1139, 1200, 1260, 1321, 1381, 1442, 1503, 1562, 1623, 1683, 1744, 1804, 1865, 1925, 1986, 2046, 2106, 2167, 2227, 2288, 2348, 2409, 2470, 2529, 2590, 2650, 2711, 2771, 2832, 2893, 2953, 3014, 3073, 3134, 3194, 3255, 3316, 3376, 3437, 3497, 3557, 3617, 3678, 3739, 3799, 3860, 3920, 3981, 4040, 4101, 4162, 4222, 4283, 4343, 4404, 4464, 4524, 4585, 4645, 4706, 4766]] - # 爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 1687, 1859, 2031, 2202, 2373, 2544, 2715, 2886, 3058, 3229, 3400, 3572, 3743, 3914, 4086, 4257, 4428, 4599, 4770, 4941, 5114, 5285, 5456, 5627, 5798, 5969, 6140, 6312, 6483, 6655, 6826, 6997, 7168, 7340, 7511, 7682, 7853, 8024, 8196, 8367, 8539, 8710, 8881, 9052, 9223, 9394, 9566, 9738, 9909, 10080, 10251, 10422, 10593, 10765, 10936, 11107, 11279, 11450, 11621, 11793, 11964, 12135, 12306, 12477, 12648, 12821, 12992, 13163, 13334, 13505]] - 攻击次数2 = 3 - # 特殊灼伤攻击力:% - data2 = [int(i*1.0*1.085) for i in [0, 42, 46, 50, 55, 59, 64, 68, 72, 77, 81, 85, 89, 93, 98, 103, 107, 111, 116, 120, 124, 128, 132, 137, 142, 146, 150, 154, 159, 163, 167, 171, 176, 181, 185, 189, 193, 197, 202, 206, 210, 215, 219, 224, 228, 232, 236, 240, 245, 249, 254, 258, 263, 267, 271, 275, 279, 284, 288, 293, 297, 301, 306, 310, 314, 318, 322, 327, 332, 336, 340]] - # 灼烧次数待定 - 攻击次数3 = 7 - - CD = 12 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.124 - -# 广域散射 - - -class 技能8(职业主动技能): - 名称 = '广域散射' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 3084 - # 成长 = 351 - data0 = [int(i*1.0*1.085) for i in [0, 4576, 5040, 5504, 5968, 6433, 6897, 7362, 7826, 8290, 8754, 9218, 9683, 10147, 10611, 11075, 11540, 12004, 12469, 12933, 13397, 13861, 14325, 14789, 15253, 15719, 16183, 16647, 17111, 17575, 18039, 18504, 18968, 19432, 19896, 20361, 20825, 21289, 21754, 22218, 22682, 23146, 23610, 24074, 24540, 25004, 25468, 25932, 26396, 26860, 27325, 27789, 28253, 28718, 29182, 29646, 30110, 30575, 31039, 31503, 31967, 32431, 32895, 33361, 33825, 34289, 34753, 35217, 35681, 36145, 36610]] - - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.114 - -# G型火焰爆弹 - - -class 技能9(职业主动技能): - 名称 = 'G型火焰爆弹' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 3568.333333 - # 成长 = 392 - # 爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 5115, 5633, 6153, 6672, 7190, 7709, 8228, 8748, 9266, 9785, 10304, 10822, 11342, 11861, 12380, 12898, 13418, 13937, 14455, 14974, 15493, 16013, 16531, 17050, 17569, 18088, 18607, 19126, 19644, 20163, 20683, 21202, 21720, 22239, 22758, 23277, 23796, 24315, 24834, 25353, 25872, 26391, 26909, 27428, 27948, 28467, 28985, 29504, 30024, 30542, 31061, 31580, 32099, 32618, 33137, 33656, 34174, 34694, 35213, 35732, 36250, 36769, 37289, 37807, 38326, 38845, 39363, 39883, 40402, 40921]] - # 特殊灼伤攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 38, 42, 46, 49, 54, 58, 61, 65, 69, 74, 77, 81, 85, 88, 92, 97, 101, 104, 108, 112, 116, 120, 124, 128, 131, 135, 140, 143, 147, 151, 155, 159, 163, 167, 170, 174, 179, 183, 186, 190, 194, 197, 202, 206, 210, 213, 217, 222, 225, 229, 233, 237, 240, 245, 249, 253, 256, 260, 265, 268, 272, 276, 280, 284, 288, 292, 295, 299, 303, 308]] - 攻击次数2 = 7 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.166 - - -# 爆裂斩 -class 技能10(职业主动技能): - 名称 = '爆裂斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 6713.333333 - # 成长 = 757 - # 第一次爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 1941, 2138, 2335, 2532, 2729, 2926, 3123, 3320, 3516, 3714, 3911, 4108, 4305, 4501, 4699, 4896, 5093, 5290, 5486, 5684, 5881, 6077, 6275, 6471, 6669, 6866, 7062, 7260, 7456, 7653, 7851, 8047, 8245, 8441, 8638, 8836, 9032, 9230, 9426, 9623, 9821, 10017, 10214, 10411, 10608, 10806, 11002, 11199, 11396, 11593, 11790, 11987, 12184, 12381, 12578, 12775, 12972, 13169, 13365, 13563, 13760, 13957, 14154, 14350, 14548, 14745, 14942, 15139, 15335, 15533]] - # 第二次爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 2912, 3208, 3503, 3798, 4094, 4389, 4685, 4980, 5275, 5571, 5866, 6162, 6458, 6753, 7049, 7344, 7640, 7935, 8230, 8526, 8821, 9117, 9412, 9707, 10003, 10298, 10595, 10890, 11185, 11481, 11776, 12072, 12367, 12662, 12958, 13253, 13549, 13844, 14139, 14435, 14730, 15027, 15322, 15617, 15913, 16208, 16504, 16799, 17094, 17390, 17685, 17981, 18276, 18571, 18867, 19163, 19459, 19754, 20049, 20345, 20640, 20936, 21231, 21526, 21822, 22117, 22413, 22708, 23003, 23300]] - 攻击次数2 = 1 - # 第三次爆炸攻击力:% - data2 = [int(i*1.0*1.085) for i in [0, 4853, 5346, 5838, 6330, 6823, 7315, 7808, 8300, 8793, 9285, 9778, 10270, 10763, 11255, 11747, 12240, 12732, 13225, 13717, 14210, 14702, 15195, 15687, 16179, 16672, 17164, 17657, 18149, 18642, 19134, 19627, 20119, 20612, 21104, 21596, 22089, 22581, 23074, 23566, 24059, 24551, 25044, 25536, 26028, 26521, 27013, 27506, 27998, 28491, 28983, 29476, 29968, 30461, 30953, 31445, 31938, 32430, 32923, 33415, 33908, 34400, 34893, 35385, 35877, 36370, 36862, 37355, 37847, 38340, 38832]] - 攻击次数3 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.1 - - -# 爆弹罗网 -class 技能11(职业主动技能): - 名称 = '爆弹罗网' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - - # 射击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 563, 620, 676, 734, 791, 848, 905, 962, 1020, 1076, 1133, 1191, 1247, 1305, 1362, 1419, 1476, 1533, 1591, 1647, 1704, 1762, 1819, 1875, 1933, 1990, 2048, 2104, 2161, 2219, 2275, 2333, 2390, 2447, 2504, 2561, 2618, 2675, 2732, 2790, 2847, 2903, 2961, 3018, 3075, 3132, 3189, 3247, 3303, 3360, 3418, 3474, 3532, 3589, 3646, 3703, 3760, 3818, 3875, 3931, 3989, 4046, 4103, 4160, 4217, 4275, 4331, 4388, 4446, 4502]] - # 爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 1688, 1860, 2031, 2202, 2373, 2545, 2716, 2888, 3059, 3230, 3401, 3573, 3744, 3915, 4087, 4258, 4429, 4600, 4772, 4943, 5115, 5286, 5457, 5628, 5800, 5971, 6143, 6314, 6485, 6656, 6827, 6999, 7170, 7342, 7513, 7684, 7855, 8027, 8198, 8370, 8541, 8712, 8883, 9055, 9226, 9398, 9569, 9740, 9911, 10082, 10254, 10425, 10597, 10768, 10939, 11110, 11282, 11453, 11625, 11796, 11967, 12138, 12310, 12481, 12653, 12824, 12995, 13166, 13337, 13509]] - 攻击次数2 = 6 - # 特殊灼伤攻击力:% - data2 = [int(i*1.0*1.085) for i in [0, 80, 88, 97, 104, 112, 121, 129, 137, 145, 153, 162, 170, 177, 186, 194, 203, 210, 218, 227, 235, 243, 251, 259, 268, 276, 284, 292, 300, 309, 316, 324, 333, 341, 349, 357, 365, 374, 382, 390, 398, 406, 415, 422, 431, 439, 447, 455, 463, 471, 480, 488, 496, 504, 512, 521, 528, 537, 545, 553, 561, 569, 578, 586, 594, 602, 610, 618, 627, 634, 643]] - 攻击次数3 = 7 - - # 基础 = 425.8333333 + 57.33333333 * 7 - # 成长 = 48.5 + 7 * 7 - # 攻击次数 = 1 - - # 基础2 = 1278.833333 - # 成长2 = 145.5 - # 攻击次数2 = 6 - - CD = 25 # 韩测改动位置 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 技能施放时间 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 2 * 3.5 # 描述错误 - elif x == 1: - self.攻击次数2 = 2 * 3.8 # 描述错误,改动位置 - -# 裂地爆刃 - - -class 技能12(职业主动技能): - 名称 = '裂地爆刃' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 基础 = 9551 - # 成长 = 1076 - # ### - # 倍率 = 1.158 - - # 爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 14617, 16100, 17583, 19066, 20549, 22032, 23515, 24997, 26481, 27964, 29446, 30930, 32412, 33895, 35379, 36861, 38344, 39828, 41310, 42793, 44276, 45759, 47242, 48725, 50208, 51690, 53174, 54657, 56139, 57623, 59106, 60588, 62072, 63554, 65037, 66521, 68003, 69486, 70970, 72452, 73935, 75418, 76901, 78384, 79867, 81350, 82832, 84316, 85799, 87281, 88765, 90248, 91730, 93214, 94696, 96179, 97663, 99145, 100628, 102111, 103594, 105077, 106560, 108043, 109526, 111009, 112492, 113974, 115458, 116941]] - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.92 - self.倍率 *= 1.24 - elif x == 1: - self.CD *= 0.92 - self.倍率 *= 1.24*1.07 # 改动位置,待测试 - -# 惊喜大礼 - - -class 技能13(职业主动技能): - 名称 = '惊喜大礼' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 17084 - # 成长 = 1935 - # 爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 4244, 4675, 5105, 5537, 5967, 6398, 6828, 7259, 7689, 8120, 8550, 8982, 9412, 9843, 10273, 10704, 11134, 11565, 11996, 12427, 12857, 13288, 13718, 14149, 14579, 15010, 15441, 15872, 16302, 16733, 17163, 17594, 18024, 18455, 18886, 19317, 19747, 20178, 20608, 21039, 21469, 21900, 22331, 22762, 23192, 23623, 24053, 24484, 24914, 25345, 25776, 26207, 26637, 27068, 27498, 27929, 28359, 28791, 29222, 29652, 30083, 30513, 30944, 31374, 31805, 32236, 32667, 33097, 33528, 33958]] - 攻击次数 = 6 - - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - ### - # 倍率 = 1.124 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.89 - self.倍率 *= 1.07 - elif x == 1: - self.CD *= 0.89 - self.倍率 *= 1.15 # 改动位置 - - -# 一觉 -class 技能14(职业主动技能): - 名称 = 'G型烬灭榴弹' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 首次爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 5995, 7385, 8776, 10167, 11557, 12947, 14337, 15727, 17118, 18508, 19899, 21289, 22680, 24070, 25460, 26850, 28240, 29630, 31022, 32412, 33802, 35192, 36583, 37973, 39363, 40753, 42145, 43535, 44925, 46315, 47705, 49096, 50486, 51876, 53267, 54657, 56048, 57438, 58828, 60218, 61608, 62999, 64390, 65780, 67170, 68561, 69951, 71341, 72731, 74121, 75513, 76903, 78293, 79683, 81074, 82464, 83854, 85244, 86635, 88026, 89416, 90806, 92196, 93586, 94977, 96367, 97758, 99148, 100539, 101929]] - # 特殊灼伤攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 428, 527, 627, 725, 825, 924, 1024, 1123, 1223, 1321, 1421, 1520, 1620, 1718, 1818, 1917, 2017, 2116, 2216, 2314, 2414, 2513, 2613, 2711, 2811, 2910, 3010, 3109, 3209, 3307, 3407, 3506, 3606, 3704, 3804, 3903, 4003, 4102, 4201, 4300, 4400, 4499, 4599, 4699, 4797, 4897, 4996, 5096, 5194, 5294, 5393, 5493, 5592, 5692, 5790, 5890, 5989, 6089, 6187, 6287, 6386, 6486, 6585, 6685, 6783, 6883, 6982, 7082, 7180, 7280]] - 攻击次数2 = 7 - # 霰弹枪射击攻击力:% - data2 = [int(i*1.0*1.085) for i in [0, 5246, 6462, 7679, 8895, 10112, 11328, 12545, 13762, 14978, 16195, 17411, 18628, 19844, 21061, 22278, 23494, 24711, 25927, 27144, 28360, 29577, 30794, 32010, 33227, 34443, 35660, 36876, 38093, 39309, 40526, 41743, 42959, 44176, 45392, 46609, 47825, 49042, 50259, 51474, 52691, 53907, 55124, 56340, 57557, 58773, 59990, 61206, 62423, 63640, 64856, 66073, 67289, 68506, 69722, 70939, 72156, 73372, 74589, 75805, 77022, 78238, 79455, 80672, 81888, 83105, 84321, 85538, 86754, 87971, 89188]] - 攻击次数3 = 4 - # 最终爆炸攻击力:% - data3 = [int(i*1.0*1.085) for i in [0, 29979, 36930, 43882, 50834, 57785, 64737, 71688, 78640, 85593, 92543, 99496, 106448, 113399, 120351, 127302, 134254, 141206, 148157, 155109, 162061, 169012, 175965, 182915, 189868, 196820, 203771, 210723, 217674, 224626, 231578, 238529, 245481, 252433, 259384, 266336, 273287, 280240, 287192, 294143, 301095, 308047, 314998, 321950, 328901, 335853, 342805, 349756, 356708, 363659, 370612, 377564, 384515, 391467, 398419, 405370, 412322, 419273, 426225, 433177, 440128, 447080, 454033, 460984, 467936, 474887, 481839, 488791, 495742, 502694, 509645]] - 攻击次数4 = 1 - CD = 145 - # Lv3:[G型烬灭榴弹]攻击力增加10%,目前没有体现在技能面板上,后续需要确认 - 倍率 = 1.1 -# 完美击球 - - -class 技能15(职业主动技能): - 名称 = '完美击球' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 旋转爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 5463, 6018, 6572, 7126, 7681, 8235, 8789, 9343, 9897, 10452, 11006, 11561, 12115, 12669, 13224, 13777, 14331, 14886, 15440, 15995, 16549, 17103, 17658, 18212, 18767, 19320, 19874, 20429, 20983, 21538, 22092, 22646, 23201, 23755, 24310, 24863, 25417, 25972, 26526, 27081, 27635, 28189, 28744, 29298, 29852, 30406, 30960, 31515, 32069, 32624, 33178, 33732, 34287, 34841, 35394, 35949, 36503, 37058, 37612, 38166, 38721, 39275, 39830, 40383, 40937, 41492, 42046, 42601, 43155, 43709]] - # 最终爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 12748, 14042, 15335, 16628, 17921, 19215, 20509, 21801, 23095, 24388, 25682, 26975, 28268, 29562, 30855, 32148, 33441, 34735, 36029, 37321, 38615, 39908, 41202, 42496, 43788, 45082, 46375, 47669, 48962, 50255, 51549, 52842, 54135, 55428, 56722, 58016, 59308, 60602, 61895, 63189, 64482, 65775, 67069, 68362, 69655, 70949, 72242, 73536, 74828, 76122, 77415, 78709, 80002, 81295, 82589, 83882, 85175, 86469, 87762, 89056, 90349, 91642, 92936, 94229, 95523, 96815, 98109, 99402, 100696, 101989]] - 攻击次数2 = 1 - - 护石状态 = 0 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.data0 = [int(i*1.24) for i in self.data0] - # self.倍率 *= 1.24 - self.护石状态 = 1 - elif x == 1: - self.攻击次数2 = 0 - self.data0 = [int(i*1.34) for i in self.data0] - # self.倍率 *= 1.34#改动位置,具体待测试 - self.护石状态 = 1 - - def 等效CD(self, 武器类型, 输出类型): - if self.护石状态 == 0: - return round(self.CD / self.恢复, 1) - else: - return round(8.3 * 0.88, 1) - -# 夺命焰火 - - -class 技能16(职业主动技能): - 名称 = '夺命焰火' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - - # 第一次射击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 7700, 8481, 9262, 10043, 10824, 11605, 12386, 13167, 13948, 14729, 15511, 16292, 17073, 17854, 18635, 19417, 20198, 20979, 21760, 22541, 23323, 24104, 24885, 25666, 26447, 27228, 28009, 28790, 29571, 30352, 31134, 31915, 32696, 33477, 34258, 35040, 35821, 36602, 37383, 38164, 38946, 39727, 40508, 41289, 42070, 42852, 43632, 44413, 45194, 45975, 46757, 47538, 48319, 49100, 49881, 50663, 51444, 52225, 53006, 53787, 54569, 55350, 56131, 56912, 57693, 58475, 59255, 60036, 60817, 61598]] - # 第二次射击攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 11549, 12721, 13893, 15064, 16236, 17408, 18580, 19752, 20923, 22095, 23267, 24439, 25610, 26781, 27953, 29125, 30297, 31469, 32640, 33812, 34984, 36156, 37328, 38499, 39671, 40842, 42014, 43185, 44357, 45529, 46701, 47873, 49044, 50216, 51388, 52560, 53732, 54903, 56075, 57246, 58418, 59590, 60761, 61933, 63105, 64277, 65449, 66620, 67792, 68964, 70136, 71308, 72479, 73650, 74822, 75994, 77166, 78337, 79509, 80681, 81853, 83025, 84196, 85368, 86540, 87712, 88883, 90054, 91226, 92398]] - 攻击次数2 = 1 - # 最终射击攻击力:% - data2 = [int(i*1.0*1.085) for i in [0, 4812, 5300, 5789, 6277, 6765, 7253, 7742, 8230, 8718, 9205, 9694, 10182, 10670, 11158, 11647, 12135, 12623, 13111, 13600, 14088, 14576, 15064, 15553, 16041, 16529, 17017, 17506, 17994, 18482, 18970, 19459, 19947, 20435, 20923, 21412, 21900, 22388, 22876, 23365, 23853, 24341, 24829, 25317, 25805, 26293, 26781, 27270, 27758, 28246, 28734, 29223, 29711, 30199, 30687, 31176, 31664, 32152, 32640, 33129, 33617, 34105, 34593, 35082, 35570, 36058, 36546, 37035, 37523, 38011, 38499]] - 攻击次数3 = 4 - - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - ### - # 倍率 = 1.146 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.1 - self.攻击次数2 *= 1.23 - elif x == 1: - self.攻击次数 *= 1.1 - self.攻击次数2 *= 1.39 # 改动位置,具体待测试 - -# 爆弹华尔兹 - - -class 技能17(职业主动技能): - 名称 = '爆弹华尔兹' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 第一次爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in[0, 7924, 8729, 9532, 10336, 11141, 11944, 12748, 13552, 14356, 15160, 15964, 16767, 17572, 18376, 19179, 19984, 20788, 21591, 22395, 23200, 24003, 24807, 25612, 26415, 27219, 28023, 28827, 29631, 30435, 31239, 32043, 32847, 33650, 34455, 35259, 36062, 36867, 37671, 38474, 39278, 40083, 40886, 41690, 42495, 43298, 44102, 44906, 45710, 46514, 47318, 48122, 48926, 49730, 50533, 51338, 52142, 52945, 53750, 54554, 55358, 56161, 56966, 57770, 58573, 59378, 60182, 60985, 61789, 62594, 63397]] - 攻击次数 = 3 - # 第二次爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 7132, 7855, 8579, 9302, 10026, 10750, 11473, 12197, 12920, 13644, 14367, 15091, 15814, 16538, 17262, 17985, 18709, 19432, 20156, 20879, 21603, 22326, 23050, 23774, 24498, 25221, 25944, 26668, 27391, 28115, 28838, 29562, 30285, 31010, 31733, 32457, 33180, 33903, 34627, 35350, 36074, 36797, 37522, 38245, 38969, 39692, 40416, 41139, 41862, 42586, 43309, 44033, 44757, 45481, 46204, 46928, 47651, 48375, 49098, 49821, 50545, 51269, 51993, 52716, 53440, 54163, 54887, 55610, 56334, 57057]] - 攻击次数2 = 5 - - CD = 40 - ### - # 倍率 = 1.1 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 += 3 - self.data1 = [int(i*1.38) for i in self.data1] - # self.倍率 *= 1.38 - self.CD *= 0.9 -# 覆灭之枪 - - -class 技能18(职业主动技能): - 名称 = '覆灭之枪' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 射击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 74342, 81884, 89426, 96969, 104511, 112053, 119595, 127137, 134678, 142220, 149763, 157305, 164847, 172389, 179931, 187473, 195015, 202557, 210099, 217641, 225183, 232725, 240267, 247809, 255352, 262894, 270435, 277977, 285519, 293061, 300603, 308146, 315688, 323230, 330772, 338314, 345855, 353397, 360940, 368482, 376024, 383566, 391108, 398650, 406193, 413734, 421276, 428818, 436360, 443902, 451444, 458987, 466529, 474071, 481612, 489154, 496696, 504238, 511781, 519323, 526865, 534407, 541949, 549491, 557032, 564575, 572117, 579659, 587201, 594743]] - - CD = 50 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i*1.4) for i in self.data0] -# 二觉 - - -class 技能19(职业主动技能): - 名称 = '终焉:硝烟狂欢' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 88115.33333 - # 成长 = 26597.5 - # CTF地雷爆炸攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 15195, 18717, 22241, 25764, 29288, 32811, 36334, 39858, 43382, 46905, 50428, 53951, 57475, 60999, 64521, 68045, 71569, 75092, 78616, 82138, 85662, 89186, 92709, 96233, 99756, 103279, 106803, 110326, 113849, 117373, 120896, 124420, 127943, 131466, 134990, 138513, 142037, 145560, 149083, 152607, 156130, 159654, 163177, 166700, 170224, 173748, 177270, 180794, 184317, 187841, 191365, 194887, 198411, 201935, 205458, 208982, 212504, 216028, 219552, 223075, 226598, 230121, 233645, 237169, 240692, 244215, 247739, 251262, 254786, 258308]] - 攻击次数 = 4 - # 最后爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 7012, 8638, 10265, 11891, 13517, 15143, 16770, 18396, 20021, 21648, 23274, 24901, 26526, 28153, 29779, 31406, 33031, 34657, 36284, 37910, 39536, 41162, 42789, 44415, 46040, 47667, 49293, 50920, 52545, 54172, 55798, 57425, 59050, 60676, 62303, 63929, 65555, 67181, 68808, 70434, 72059, 73686, 75312, 76939, 78564, 80191, 81817, 83444, 85069, 86695, 88322, 89948, 91574, 93200, 94827, 96453, 98078, 99705, 101331, 102958, 104583, 106210, 107836, 109463, 111088, 112714, 114341, 115967, 117593, 119219]] - 攻击次数2 = 13 - CD = 180 -# 95 - - -class 技能20(职业主动技能): - 名称 = '铁腕爆弹' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085) for i in [0, 31294, 34469, 37645, 40820, 43994, 47169, 50344, 53519, 56694, 59869, 63043, 66218, 69393, 72568, 75743, 78918, 82093, 85267, 88443, 91618, 94792, 97967, 101142, 104316, 107492, 110667, 113842, 117016, 120191, 123367, 126541, 129716, 132891, 136065, 139241, 142416, 145590, 148765, 151940, 155115, 158290, 161465, 164640, 167814, 170989, 174165, 177339, 180514, 183689, 186863, 190038, 193214, 196389, 199563, 202738, 205913, 209088, 212263, 215438, 218612, 221787, 224963, 228137, 231312, 234487, 237662, 240836, 244012, 247187, 250361]] - 攻击次数 = 4 - CD = 60 - -# 三觉 - - -class 技能21(职业主动技能): - 名称 = '烽火硝烟·终末之征' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.085) for i in [0, 15779, 19439, 23098, 26757, 30416, 34076, 37735, 41394, 45053, 48713, 52372, 56031, 59690, 63350, 67009, 70667, 74326, 77986, 81645, 85304, 88963, 92623, 96282, 99941, 103600, 107260, 110919, 114578, 118237, 121897, 125556, 129215, 132873, 136533, 140192, 143851, 147510, 151170, 154829, 158488, 162147, 165807, 169466, 173125, 176784, 180444, 184103, 187762, 191421, 195080, 198739, 202398, 206057, 209717, 213376, 217035, 220694, 224354, 228013, 231672, 235331, 238991, 242650, 246309, 249968, 253628, 257287, 260945, 264604, 268263]] - 攻击次数 = 5 - data1 = [int(i*1.085) for i in [0, 315605, 388789, 461972, 535156, 608340, 681524, 754707, 827891, 901075, 974258, 1047442, 1120626, 1193810, 1266994, 1340178, 1413361, 1486545, 1559729, 1632913, 1706097, 1779281, 1852464, 1925648, 1998831, 2072015, 2145199, 2218383, 2291567, 2364751, 2437934, 2511118, 2584302, 2657486, 2730670, 2803854, 2877037, 2950221, 3023405, 3096589, 3169773, 3242957, 3316139, 3389323, 3462507, 3535691, 3608875, 3682059, 3755242, 3828426, 3901610, 3974794, 4047978, 4121162, 4194346, 4267529, 4340713, 4413898, 4487081, 4560264, 4633447, 4706631, 4779816, 4852999, 4926183, 4999367, 5072551, 5145735, 5218919, 5292102, 5365286]] - 攻击次数2 = 1 - CD = 290 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -苍暮·战线佣兵一觉序号 = 0 -苍暮·战线佣兵二觉序号 = 0 -苍暮·战线佣兵三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 苍暮·战线佣兵一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 苍暮·战线佣兵二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 苍暮·战线佣兵三觉序号 = 技能序号[i.名称] - -苍暮·战线佣兵护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 苍暮·战线佣兵护石选项.append(i.名称) - -苍暮·战线佣兵符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 苍暮·战线佣兵符文选项.append(i.名称) - - -class 苍暮·战线佣兵角色属性(角色属性): - 实际名称 = '苍暮·战线佣兵' - 角色 = '枪剑士' - 职业 = '战线佣兵' - - 武器选项 = ['重剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 苍暮·战线佣兵(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 苍暮·战线佣兵角色属性() - self.角色属性A = 苍暮·战线佣兵角色属性() - self.角色属性B = 苍暮·战线佣兵角色属性() - self.一觉序号 = 苍暮·战线佣兵一觉序号 - self.二觉序号 = 苍暮·战线佣兵二觉序号 - self.三觉序号 = 苍暮·战线佣兵三觉序号 - self.护石选项 = deepcopy(苍暮·战线佣兵护石选项) - self.符文选项 = deepcopy(苍暮·战线佣兵符文选项) - - def 护石判断(self): - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '爆弹罗网': - sign = 1 - if sign == 0: - self.爆弹罗网护石跳跃选项.setEnabled(False) - self.爆弹罗网护石跳跃选项.setStyleSheet(复选框样式) - self.爆弹罗网护石跳跃选项.setChecked(False) - else: - self.爆弹罗网护石跳跃选项.setEnabled(True) - self.爆弹罗网护石跳跃选项.setStyleSheet(复选框样式) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - self.爆弹罗网护石跳跃选项 = QCheckBox('爆弹罗网护石跳跃释放', self.main_frame2) - self.爆弹罗网护石跳跃选项.resize(140, 20) - self.爆弹罗网护石跳跃选项.move(320, 360) - self.爆弹罗网护石跳跃选项.setStyleSheet(复选框样式) - self.爆弹罗网护石跳跃选项.setToolTip('跳跃释放爆弹罗网,仅佩戴护石时生效') - self.职业存档.append(('爆弹罗网护石跳跃选项', self.爆弹罗网护石跳跃选项, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.爆弹罗网护石跳跃选项.isChecked(): - 属性.技能栏[属性.技能序号['爆弹罗网']].攻击次数 = 0 diff --git a/Characters/苍暮·暗刃.py b/Characters/苍暮·暗刃.py deleted file mode 100644 index 1c0fbf65..00000000 --- a/Characters/苍暮·暗刃.py +++ /dev/null @@ -1,739 +0,0 @@ -from math import * -from PublicReference.carry.base import * -# 2021.4.7 韩测 - - -class 主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - - 攻击次数4 = 0 - 攻击次数5 = 0 - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 长刀精通 - - -class 技能0(被动技能): - 名称 = '长刀精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.95 - -# 暗刃战略 - - -class 技能1(被动技能): - 名称 = '暗刃战略' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10 + 0.02 * self.等级, 5) - - -# 一觉被动 -class 技能2(被动技能): - 名称 = 'BG枪刃改造' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -# 二觉被动 -class 技能3(被动技能): - 名称 = 'BC精锐特训' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -# 三觉被动 -class 技能4(被动技能): - 名称 = '暮光战略' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -# 掩护射击 -class 技能5(主动技能): - 名称 = '掩护射击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.111*1.085)for i in [0,266, 293, 320, 347, 374, 402, 428, 455, 482, 509, 536, 563, 591, 617, 644, 671, 698, 725, 752, 780, 806, 833, 860, 887, 914, 941, 969, 995, 1022, 1049, 1077, 1103, 1130, 1158, 1184, 1211, 1238, 1266, 1292, 1319, 1347, 1373, 1400, 1427, 1455, 1481, 1508, 1536, 1562, 1589, 1616, 1644, 1670, 1697, 1725, 1751, 1778, 1805, 1833, 1859, 1886, 1914, 1940, 1967, 1994, 2022, 2048, 2075, 2103, 2129]] - 攻击次数 = 10 - # 基础 = 1847.755698 - # 成长 = 209.2273524 - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.105 - -# 捷影步 - - -class 技能6(主动技能): - 名称 = '捷影步' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.108*1.085) for i in [0,476, 524, 573, 621, 669, 718, 766, 814, 863, 911, 959, 1007, 1056, 1104, 1152, 1201, 1249, 1297, 1346, 1394, 1442, 1490, 1539, 1587, 1635, 1684, 1732, 1780, 1829, 1877, 1925, 1973, 2022, 2070, 2118, 2167, 2215, 2263, 2312, 2360, 2408, 2456, 2505, 2554, 2602, 2651, 2699, 2747, 2796, 2844, 2892, 2940, 2989, 3037, 3085, 3134, 3182, 3230, 3279, 3327, 3375, 3423, 3472, 3520, 3568, 3617, 3665, 3713, 3762, 3810]] - 攻击次数 = 5 - # 基础 = 1658.836937 - # 成长 = 187.6461134 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - ### - # 倍率 = 1.102 - -# 轮盘连射 - - -class 技能7(主动技能): - 名称 = '轮盘连射' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - # 上挑攻击力:% - data0 = [int(i*1.126*1.085) for i in [0, 1483, 1634, 1784, 1935, 2086, 2237, 2387, 2538, 2687, 2838, 2988, 3139, 3289, 3440, 3591, 3741, 3892, 4043, 4194, 4344, 4495, 4646, 4795, 4945, 5096, 5246, 5397, 5548, 5698, 5849, 6000, 6151, 6301, - 6452, 6603, 6752, 6902, 7053, 7203, 7354, 7505, 7655, 7806, 7957, 8108, 8258, 8409, 8560, 8710, 8859, 9010, 9160, 9311, 9462, 9612, 9763, 9914, 10065, 10215, 10366, 10517, 10667, 10816, 10967, 11117, 11268, 11419, 11569, 11720]] - 攻击次数 = 1 - # 下劈攻击力:% - data1 = [int(i*1.126*1.085) for i in [0, 1887, 2080, 2271, 2463, 2654, 2846, 3037, 3229, 3421, 3613, 3803, 3995, 4187, 4379, 4570, 4762, 4953, 5145, 5336, 5529, 5719, 5911, 6103, 6295, 6486, 6677, 6869, 7061, 7252, 7444, 7636, 7827, 8018, 8211, - 8402, 8594, 8784, 8977, 9168, 9360, 9552, 9743, 9934, 10126, 10318, 10510, 10700, 10892, 11084, 11276, 11467, 11659, 11850, 12042, 12233, 12426, 12618, 12808, 13000, 13192, 13383, 13575, 13766, 13958, 14149, 14342, 14534, 14724, 14915]] - # 攻击次数2 = 1 - # 三觉被动变更 - 攻击次数2 = 0 - - # 射击攻击力:% - data2 = [int(i*1.126*1.085) for i in [0, 222, 244, 267, 289, 313, 335, 358, 380, 403, 425, 448, 470, 493, 515, 539, 560, 584, 606, 629, 651, 673, 696, 718, 742, 763, 787, 808, 832, 853, 877, 900, 922, 945, 967, 990, - 1012, 1035, 1057, 1080, 1103, 1125, 1147, 1170, 1194, 1215, 1239, 1261, 1284, 1306, 1329, 1351, 1373, 1396, 1418, 1441, 1464, 1487, 1509, 1532, 1554, 1577, 1599, 1622, 1644, 1668, 1689, 1713, 1734, 1758]] - # 三觉被动变更 - # 攻击次数3 = 10 - 攻击次数3 = 3.72*3 - - - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - -# 剑刃突刺 -class 技能8(主动技能): - 名称 = '剑刃突刺' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - - # 突刺攻击力:% - data0 = [int(i*1.112*1.085) for i in [0,330, 364, 397, 430, 464, 498, 531, 564, 598, 631, 665, 699, 733, 765, 799, 833, 866, 900, 933, 966, 1000, 1034, 1067, 1100, 1134, 1167, 1201, 1235, 1267, 1301, 1335, 1369, 1402, 1435, 1469, 1502, 1536, 1570, 1602, 1636, 1670, 1703, 1737, 1771, 1803, 1837, 1871, 1905, 1938, 1971, 2005, 2038, 2072, 2106, 2138, 2172, 2206, 2239, 2273, 2307, 2339, 2373, 2407, 2441, 2473, 2507, 2541, 2574, 2608, 2642]] - 攻击次数 = 4 - # 终结横斩攻击力:% - data1 = [int(i*1.112*1.085) for i in [0,998, 1098, 1200, 1301, 1402, 1503, 1605, 1705, 1807, 1908, 2009, 2110, 2212, 2312, 2414, 2516, 2616, 2718, 2819, 2919, 3021, 3123, 3223, 3325, 3426, 3527, 3628, 3730, 3830, 3932, 4033, 4134, 4235, 4337, 4437, 4539, 4641, 4741, 4843, 4944, 5045, 5146, 5248, 5348, 5450, 5551, 5652, 5753, 5855, 5955, 6057, 6158, 6259, 6360, 6462, 6562, 6664, 6764, 6866, 6968, 7068, 7170, 7271, 7372, 7473, 7575, 7675, 7777, 7878, 7979]] - 攻击次数2 = 1 - # 终结射击攻击力:% - data2 = [int(i*1.112*1.085) for i in [0,320, 353, 386, 419, 451, 484, 515, 548, 581, 613, 646, 679, 712, 744, 776, 808, 841, 874, 907, 939, 972, 1005, 1036, 1069, 1102, 1134, 1167, 1200, 1232, 1264, 1297, 1329, 1362, 1395, 1427, 1460, 1493, 1524, 1557, 1590, 1622, 1655, 1688, 1720, 1753, 1785, 1817, 1850, 1883, 1915, 1948, 1981, 2012, 2045, 2078, 2110, 2143, 2176, 2208, 2241, 2273, 2305, 2338, 2371, 2403, 2436, 2469, 2501, 2533, 2566]] - 攻击次数3 = 3 - - CD = 6 - TP成长 = 0.10 - TP上限 = 5 - -# 潜行射击 - - -class 技能9(主动技能): - 名称 = '潜行射击' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.113*1.085) for i in [0,261, 287, 313, 340, 366, 393, 419, 445, 472, 498, 525, 552, 577, 604, 631, 657, 684, 709, 736, 763, 789, 816, 842, 868, 895, 922, 948, 974, 1000, 1027, 1054, 1080, 1106, 1133, 1159, 1186, 1213, 1238, 1265, 1291, 1318, 1345, 1370, 1397, 1424, 1450, 1477, 1503, 1529, 1556, 1582, 1609, 1635, 1661, 1688, 1715, 1741, 1767, 1794, 1820, 1847, 1872, 1899, 1926, 1952, 1979, 2006, 2031, 2058, 2085]] - # 十五次射击,正常模式位移距离较长,容易损失攻击次数,目前取12 - 攻击次数 = 12 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - -# 利刃旋斩 - - -class 技能10(主动技能): - 名称 = '利刃旋斩' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - - # 左右斩击攻击力:% - data0 = [int(i*1.112*1.085) for i in [0,515, 567, 620, 672, 724, 776, 829, 881, 933, 985, 1038, 1090, 1143, 1194, 1247, 1299, 1352, 1404, 1456, 1508, 1561, 1613, 1665, 1717, 1770, 1822, 1875, 1926, 1979, 2031, 2084, 2135, 2188, 2240, 2293, 2345, 2397, 2449, 2502, 2554, 2607, 2658, 2711, 2763, 2816, 2867, 2919, 2972, 3024, 3077, 3128, 3181, 3233, 3286, 3337, 3390, 3442, 3495, 3547, 3599, 3651, 3704, 3756, 3809, 3860, 3913, 3965, 4018, 4069, 4122]] - 攻击次数 = 2 - # 旋转斩击攻击力:% - data1 = [int(i*1.112*1.085) for i in [0,288, 318, 347, 376, 406, 435, 465, 493, 522, 552, 581, 611, 640, 669, 699, 727, 756, 786, 815, 845, 874, 903, 933, 961, 991, 1020, 1049, 1079, 1108, 1138, 1167, 1196, 1225, 1254, 1284, 1313, 1342, 1372, 1401, 1431, 1459, 1488, 1518, 1547, 1577, 1606, 1635, 1665, 1693, 1722, 1752, 1781, 1811, 1840, 1869, 1899, 1927, 1957, 1986, 2015, 2045, 2074, 2104, 2133, 2162, 2191, 2220, 2250, 2279, 2308]] - 攻击次数2 = 5 - # 最终旋斩攻击力:% - data2 = [int(i*1.112*1.085) for i in [0,1649, 1816, 1983, 2151, 2318, 2485, 2653, 2820, 2987, 3155, 3322, 3489, 3656, 3824, 3990, 4157, 4325, 4492, 4659, 4827, 4994, 5161, 5328, 5496, 5663, 5830, 5998, 6165, 6332, 6500, 6667, 6834, 7002, 7169, 7336, 7503, 7671, 7838, 8005, 8173, 8340, 8507, 8675, 8841, 9008, 9175, 9343, 9510, 9677, 9845, 10012, 10179, 10347, 10514, 10681, 10849, 11016, 11183, 11350, 11518, 11685, 11852, 12020, 12187, 12354, 12522, 12689, 12856, 13023, 13191]] - 攻击次数3 = 1 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - -# 游弹枪袭 - - -class 技能11(主动技能): - 名称 = '游弹枪袭' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(i*1.118*1.085) for i in [0,175, 192, 210, 227, 245, 262, 280, 297, 316, 334, 351, 369, 386, 404, 421, 439, 457, 475, 492, 510, 528, 545, 563, 581, 599, 616, 634, 651, 669, 686, 704, 723, 740, 758, 775, 793, 810, 828, 845, 864, 882, 899, 917, 934, 952, 969, 987, 1005, 1023, 1041, 1058, 1076, 1093, 1111, 1128, 1147, 1164, 1182, 1199, 1217, 1234, 1252, 1270, 1288, 1306, 1323, 1341, 1358, 1376, 1393]] - 攻击次数 = 30 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - -# 全方位射击 - - -class 技能12(主动技能): - 名称 = '全方位射击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - - # 周围射击攻击力:% - data0 = [int(i*1.122*1.085) for i in [0,365, 403, 440, 476, 514, 550, 587, 624, 661, 699, 735, 772, 810, 846, 886, 922, 959, 996, 1033, 1070, 1106, 1145, 1181, 1218, 1256, 1293, 1329, 1367, 1404, 1440, 1478, 1515, 1552, 1587, 1628, 1664, 1698, 1739, 1774, 1811, 1850, 1886, 1922, 1960, 1997, 2033, 2071, 2108, 2145, 2182, 2220, 2256, 2294, 2330, 2367, 2405, 2441, 2480, 2516, 2554, 2591, 2628, 2665, 2701, 2740, 2776, 2812, 2851, 2888, 2923]] - 攻击次数 = 15 - # 最终射击攻击力:% - data1 = [int(i*1.122*1.085) for i in [0, 609, 671, 733, 793, 856, 918, 979, 1041, 1102, 1165, 1229, 1290, 1351, 1412, 1474, 1537, 1598, 1660, 1720, 1782, 1844, 1906, 1969, 2031, 2093, 2155, 2215, 2278, 2340, 2401, 2463, 2524, 2586, 2649, 2709, 2771, 2834, 2895, 2958, 3021, 3082, 3144, 3204, 3266, 3329, 3390, 3452, 3513, 3575, 3635, 3699, 3761, 3823, 3885, 3947, 4008, 4071, 4133, 4193, 4255, 4316, 4378, 4442, 4503, 4565, 4625, 4688, 4751, 4812, 4874]] - 攻击次数2 = 6 - - - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 技能施放时间 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 0 - self.攻击次数 = 20 - self.data0 = [int(i*1.27 * 1.07) for i in self.data0] - self.CD *= 0.95 - elif x == 1: - self.攻击次数2 = 0 - self.攻击次数 = 20 - self.data0 = [int(i*1.27 * 1.16) for i in self.data0] - # self.倍率 = self.倍率 * 1.27 * 1.16#改动位置 - self.CD *= 0.95 - -# 回旋飞剑 - - -class 技能13(主动技能): - # 暂无数组 - 名称 = '回旋飞剑' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.117*1.085) for i in [0,607, 670, 731, 793, 855, 916, 979, 1038, 1102, 1163, 1225, 1286, 1349, 1410, 1472, 1535, 1594, 1655, 1717, 1780, 1841, 1904, 1966, 2028, 2089, 2152, 2211, 2274, 2334, 2397, 2457, 2520, 2583, 2643, 2707, 2766, 2828, 2891, 2952, 3014, 3076, 3137, 3200, 3260, 3322, 3382, 3445, 3508, 3569, 3631, 3693, 3755, 3817, 3879, 3939, 4001, 4062, 4124, 4185, 4248, 4310, 4372, 4433, 4494, 4555, 4618, 4679, 4741, 4804, 4864]] - 攻击次数 = 1 - data1 = [int(i*1.117*1.085) for i in [0,489, 540, 587, 637, 687, 737, 786, 837, 885, 936, 985, 1035, 1085, 1135, 1182, 1234, 1284, 1332, 1381, 1433, 1481, 1531, 1580, 1629, 1680, 1730, 1777, 1830, 1879, 1926, 1976, 2028, 2076, 2125, 2176, 2225, 2275, 2324, 2374, 2424, 2474, 2521, 2573, 2622, 2671, 2720, 2772, 2820, 2870, 2920, 2970, 3019, 3069, 3117, 3168, 3217, 3266, 3316, 3367, 3415, 3466, 3515, 3565, 3614, 3665, 3712, 3764, 3813, 3862, 3912]] - 攻击次数2 = 8 - data2 = [int(i*1.117*1.085) for i in [0,1306, 1438, 1572, 1704, 1837, 1970, 2103, 2235, 2370, 2500, 2633, 2765, 2899, 3030, 3163, 3296, 3429, 3560, 3694, 3826, 3959, 4090, 4224, 4356, 4489, 4623, 4754, 4886, 5021, 5153, 5286, 5416, 5551, 5683, 5815, 5949, 6080, 6212, 6347, 6479, 6610, 6742, 6877, 7009, 7140, 7274, 7407, 7539, 7673, 7804, 7937, 8069, 8203, 8335, 8467, 8600, 8733, 8865, 8998, 9131, 9264, 9396, 9530, 9661, 9794, 9927, 10060, 10191, 10324, 10457]] - 攻击次数3 = 5 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - - - - - -# 枪刃乱舞 -class 技能14(主动技能): - 名称 = '枪刃乱舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 斩击攻击力:% - data0 = [int(i*1.12*1.085) for i in [0, 418, 458, 504, 544, 587, 630, 671, 713, 756, 799, 842, 882, 927, 969, 1011, 1052, 1095, 1137, 1179, 1224, 1264, 1306, 1350, 1392, 1435, 1476, 1519, 1562, 1602, 1648, 1688, 1730, 1773, 1815, 1858, 1900, 1942, 1986, 2028, 2069, 2112, 2155, 2195, 2239, 2282, 2325, 2365, 2408, 2451, 2493, 2535, 2579, 2622, 2663, 2706, 2748, 2791, 2832, 2874, 2918, 2958, 3001, 3045, 3087, 3130, 3172, 3213, 3256, 3298, 3341]] - 攻击次数 = 10 - # 射击攻击力:% - data1 = [int(i*1.12*1.085) for i in [0, 288, 317, 347, 374, 406, 436, 463, 493, 523, 552, 581, 611, 639, 669, 699, 727, 756, 787, 816, 844, 874, 903, 933, 962, 990, 1021, 1048, 1079, 1109, 1137, 1166, 1197, 1226, 1253, 1284, 1313, 1340, 1372, 1400, 1429, 1458, 1489, 1518, 1547, 1576, 1604, 1636, 1663, 1694, 1722, 1750, 1782, 1810, 1839, 1868, 1899, 1926, 1957, 1986, 2014, 2046, 2074, 2102, 2132, 2163, 2191, 2220, 2251, 2277, 2309]] - 攻击次数2 = 15 - # 最终横斩攻击力:% - data2 = [int(i*1.12*1.085) for i in [0, 5450, 6002, 6557, 7110, 7662, 8215, 8770, 9321, 9873, 10426, 10979, 11533, 12086, 12640, 13191, 13746, 14298, 14852, 15406, 15958, 16510, 17063, 17617, 18171, 18722, 19276, 19829, 20381, 20934, 21487, 22041, 22593, 23147, 23699, 24251, 24804, 25357, 25911, 26464, 27018, 27569, 28122, 28674, 29229, 29782, 30334, 30887, 31442, 31994, 32548, 33100, 33654, 34207, 34760, 35313, 35864, 36418, 36970, 37525, 38078, 38630, 39182, 39737, 40289, 40843, 41394, 41949, 42502, 43053, 43607]] - 攻击次数3 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.80 # 加算 - self.data0 = [int(i*1.27) for i in self.data0] - self.data1 = [int(i*1.07) for i in self.data1] - self.data2 = [int(i*1.07) for i in self.data2] - elif x == 1: - self.CD *= 0.80 # 加算 - self.data0 = [int(i*1.50) for i in self.data0] - self.data1 = [int(i*1.07) for i in self.data1] - self.data2 = [int(i*1.07) for i in self.data2] - -# 血光斩 - - -class 技能15(主动技能): - 名称 = '血光斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 14496.06087 - # 成长 = 1636.743941 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - data0 = [int(i*1.125*1.085) for i in [0, 20826, 22939, 25051, 27164, 29278, 31390, 33503, 35615, 37728, 39841, 41954, 44067, 46179, 48292, 50405, 52517, 54631, 56744, 58856, 60969, 63081, 65195, 67308, 69420, 71533, 73645, 75758, 77872, 79984, 82097, 84209, 86322, 88435, 90548, 92661, 94773, 96886, 98999, 101112, 103225, 105338, 107450, 109563, 111675, 113789, 115902, 118014, 120127, 122239, 124353, 126466, 128578, 130691, 132803, 134916, 137030, 139142, 141255, 143367, 145480, 147593, 149706, 151819, 153932, 156044, 158157, 160270, 162383, 164496, 166608]] - - ### - # 倍率 = 1.105 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i*1.25) for i in self.data0] - elif x == 1: - self.data0 = [int(i*1.33) for i in self.data0] - - -# 一觉 -class 技能16(主动技能): - 名称 = '电光飞掠' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 34891.02857 - # 成长 = 10539.71429 - CD = 145 - - # 剑术攻击力:% - data0 = [int(i*1.109*1.085) for i in [0, 1802, 2220, 2637, 3055, 3473, 3891, 4309, 4727, 5145, 5562, 5980, 6398, 6816, 7234, 7652, 8070, 8487, 8905, 9323, 9741, 10159, 10577, 10995, 11411, 11829, 12247, 12665, 13083, 13501, 13919, 14336, 14754, 15172, 15590, 16008, 16426, 16844, 17261, 17679, 18097, 18515, 18933, 19351, 19769, 20186, 20604, 21022, 21440, 21858, 22276, 22694, 23111, 23529, 23947, 24365, 24783, 25201, 25619, 26036, 26454, 26872, 27290, 27708, 28126, 28544, 28960, 29378, 29796, 30214, 30632]] - 攻击次数 = 13 - # 射击攻击力:% - data1 = [int(i*1.109*1.085) for i in [0, 2196, 2705, 3215, 3724, 4233, 4742, 5251, 5760, 6269, 6780, 7289, 7798, 8307, 8816, 9325, 9834, 10344, 10853, 11362, 11871, 12381, 12890, 13399, 13908, 14418, 14927, 15436, 15945, 16454, 16963, 17472, 17983, 18492, 19001, 19510, 20019, 20528, 21037, 21547, 22056, 22566, 23075, 23584, 24093, 24602, 25111, 25621, 26130, 26639, 27148, 27657, 28167, 28676, 29186, 29695, 30204, 30713, 31222, 31731, 32240, 32751, 33260, 33769, 34278, 34787, 35296, 35805, 36314, 36824, 37333]] - 攻击次数2 = 16 - # 最终射击攻击力:% - # data2 = [0, 1703, 2098, 2494, 2889, 3284, 3680, 4075, 4470, 4866, 5261, 5656, 6051, 6447, 6842, 7237, 7633, 8027, 8422, 8818, 9213, 9608, 10004, 10399, 10794, 11190, 11585, 11980, 12376, 12771, 13166, 13562, 13957, 14351, 14747, 15142, 15537, 15933, 16328, 16723, 17119, 17514, 17908, 18304, 18698, 19093, 19489, 19884, 20279, 20675, 21070, 21465, 21861, 22256, 22651, 23046, 23442, 23837, 24232, 24628, 25022, 25417, 25813, 26208, 26603, 26999, 27394, 27789, 28185, 28580, 28975] - -# 近敌灭杀 - - -class 技能17(主动技能): - 名称 = '近敌灭杀' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 刺击攻击力:% - data0 = [int(i*1.122*1.085) for i in [0, 7595, 8366, 9136, 9907, 10678, 11448, 12219, 12989, 13760, 14531, 15301, 16071, 16842, 17613, 18383, 19153, 19924, 20695, 21466, 22235, 23006, 23777, 24548, 25319, 26088, 26859, 27630, 28401, 29170, 29941, 30712, 31483, 32252, 33023, 33794, 34565, 35335, 36105, 36876, 37647, 38418, 39188, 39958, 40729, 41500, 42270, 43041, 43811, 44582, 45352, 46123, 46893, 47664, 48435, 49205, 49976, 50746, 51517, 52287, 53058, 53829, 54599, 55369, 56140, 56911, 57681, 58451, 59222, 59993, 60764]] - # 射击攻击力:% - data1 = [int(i*1.122*1.085) for i in [0, 569, 628, 685, 743, 801, 859, 916, 975, 1032, 1090, 1147, 1206, 1263, 1321, 1379, 1436, 1494, 1551, 1610, 1667, 1726, 1783, 1841, 1898, 1957, 2014, 2072, 2130, 2188, 2245, 2304, 2361, 2419, 2476, 2535, 2592, 2650, 2708, 2766, 2823, 2882, 2939, 2997, 3055, 3112, 3170, 3227, 3286, 3343, 3401, 3459, 3517, 3574, 3633, 3690, 3748, 3806, 3864, 3921, 3980, 4037, 4095, 4152, 4211, 4268, 4326, 4384, 4442, 4499, 4558]] - - 攻击次数 = 1 - 攻击次数2 = 20 - - ### - # 倍率 = 1.105 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.85 - self.data1 = [int((1 + 0.35 * 1.2)*i) for i in self.data1] - elif x == 1: - self.CD *= 0.85 - self.data1 = [int((1 + 0.35 * 1.58)*i) for i in self.data1] - -# 大回旋坠斩,护石暂不考虑跳跃 -class 技能18(主动技能): - 名称 = '大回旋坠斩' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - - data0 = [int(i*1.113*1.085) for i in [0,1223, 1347, 1471, 1596, 1719, 1843, 1967, 2091, 2214, 2339, 2463, 2587, 2711, 2835, 2957, 3083, 3207, 3331, 3455, 3577, 3703, 3828, 3952, 4076, 4200, 4325, 4448, 4572, 4696, 4820, 4943, 5068, 5192, 5316, 5440, 5563, 5687, 5810, 5936, 6060, 6183, 6307, 6433, 6557, 6681, 6805, 6928, 7052, 7177, 7301, 7425, 7549, 7672, 7796, 7921, 8045, 8169, 8292, 8416, 8541, 8664, 8789, 8912, 9037, 9162, 9286, 9410, 9534, 9657, 9781]] - 攻击次数 = 10 - data1 = [int(i*1.113*1.085) for i in [0,1171, 1287, 1406, 1527, 1645, 1763, 1882, 2001, 2120, 2239, 2357, 2475, 2594, 2712, 2831, 2951, 3069, 3188, 3306, 3425, 3543, 3661, 3780, 3901, 4017, 4137, 4256, 4376, 4494, 4613, 4729, 4849, 4968, 5086, 5205, 5325, 5443, 5561, 5680, 5799, 5917, 6036, 6154, 6273, 6393, 6510, 6630, 6750, 6868, 6987, 7102, 7223, 7342, 7460, 7579, 7699, 7816, 7935, 8054, 8174, 8291, 8410, 8527, 8647, 8766, 8884, 9004, 9124, 9242, 9361]] - 攻击次数2 = 10 - data2 = [int(i*1.113*1.085) for i in [0,10134, 11161, 12189, 13217, 14243, 15274, 16300, 17328, 18357, 19384, 20412, 21441, 22468, 23497, 24525, 25552, 26582, 27610, 28636, 29665, 30691, 31722, 32749, 33776, 34805, 35832, 36859, 37889, 38917, 39945, 40973, 42001, 43029, 44057, 45084, 46113, 47140, 48168, 49196, 50225, 51252, 52280, 53307, 54336, 55364, 56392, 57421, 58449, 59476, 60504, 61530, 62561, 63588, 64615, 65644, 66671, 67701, 68728, 69756, 70784, 71812, 72840, 73868, 74896, 75925, 76952, 77979, 79010, 80036, 81064]] - 攻击次数3 = 1 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1 - self.攻击次数2 += 1 - self.倍率 *= 1.16 - elif x == 1: - self.攻击次数 += 1 - self.攻击次数2 += 1 - self.倍率 *= 1.23 # 改动位置 - -# 致命焰火 -class 技能19(主动技能): - 名称 = '致命焰火' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - - # 移动射击攻击力:% - data0 = [int(i*1.115*1.085) for i in [0, 2221, 2447, 2671, 2898, 3123, 3348, 3575, 3799, 4024, 4249, 4476, 4701, 4926, 5149, 5376, 5603, 5826, 6053, 6278, 6503, 6730, 6954, 7179, 7405, 7631, 7856, 8082, 8307, 8532, 8759, 8984, 9208, 9433, 9660, 9885, 10110, 10334, 10560, 10786, 11011, 11237, 11462, 11687, 11914, 12139, 12364, 12590, 12813, 13041, 13266, 13490, 13715, 13941, 14167, 14392, 14617, 14843, 15069, 15294, 15520, 15745, 15969, 16197, 16422, 16646, 16870, 17098, 17322, 17547, 17772]] - # 后方射击攻击力:% - data1 = [int(i*1.115*1.085) for i in [0, 2224, 2449, 2675, 2901, 3125, 3353, 3578, 3802, 4030, 4255, 4478, 4707, 4932, 5155, 5384, 5608, 5832, 6060, 6284, 6509, 6736, 6960, 7186, 7413, 7637, 7863, 8090, 8314, 8542, 8767, 8991, 9219, 9443, 9668, 9896, 10120, 10345, 10573, 10797, 11022, 11248, 11474, 11699, 11924, 12151, 12376, 12601, 12828, 13054, 13278, 13504, 13731, 13955, 14181, 14408, 14632, 14858, 15084, 15309, 15535, 15761, 15986, 16212, 16437, 16663, 16889, 17114, 17341, 17565, 17791]] - # 原地范围射击攻击力:% - data2 = [int(i*1.115*1.085) for i in [0, 3332, 3669, 4009, 4346, 4685, 5023, 5362, 5698, 6037, 6375, 6712, 7051, 7389, 7727, 8065, 8404, 8742, 9078, 9419, 9756, 10093, 10433, 10770, 11108, 11447, 11785, 12123, 12461, 12799, 13135, 13476, 13812, 14150, 14489, 14826, 15165, 15502, 15842, 16179, 16516, 16856, 17192, 17531, 17869, 18208, 18545, 18885, 19222, 19561, 19899, 20237, 20574, 20914, 21251, 21588, 21928, 22265, 22603, 22941, 23278, 23617, 23954, 24294, 24630, 24968, 25307, 25645, 25983, 26322, 26660]] - - 攻击次数 = 10 - 攻击次数2 = 15 - 攻击次数3 = 0 # 10 - CD = 40 - - ### - # 倍率 = 1.117 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.基础2 = self.基础3 - self.成长2 = self.成长3 - self.攻击次数2 = 10 # 猜测,否则提升过高 - self.倍率 *= 1.3 - self.CD *= 0.90 - - -# 碧波瞬斩 -class 技能20(主动技能): - 名称 = '碧波瞬斩' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - 攻击次数 = 3 - CD = 50 - data0 = [int(i*1.118*1.085) for i in [0, 21717, 23919, 26122, 28326, 30529, 32732, 34935, 37139, 39342, 41545, 43748, 45952, 48155, 50357, 52560, 54763, 56967, 59170, 61373, 63576, 65780, 67983, 70186, 72389, 74591, 76795, 78998, 81201, 83404, 85608, 87811, 90014, 92217, 94420, 96624, 98826, 101029, 103232, 105436, 107639, 109842, 112045, 114249, 116452, 118655, 120858, 123060, 125264, 127467, 129670, 131873, 134077, 136280, 138483, 140686, 142889, 145093, 147296, 149498, 151701, 153905, 156108, 158311, 160514, 162718, 164921, 167124, 169327, 171530, 173733]] - ### - # 倍率 = 1.104 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 1 - self.data0 = [int(i*2.51*1.6) for i in self.data0] - # self.倍率 *= 4.11#2.51*1.6 -# 二觉 - - -class 技能21(主动技能): - 名称 = '集结·暮光之翼' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - CD = 180 - # 剑术第1~4击攻击力:% - data0 = [int(i*1.111*1.085) for i in [0, 10282, 12667, 15051, 17436, 19819, 22204, 24588, 26973, 29357, 31741, 34125, 36510, 38895, 41279, 43663, 46047, 48432, 50816, 53200, 55584, 57969, 60353, 62738, 65121, 67506, 69891, 72275, 74660, 77043, 79428, 81812, 84197, 86580, 88965, 91349, 93734, 96119, 98502, 100887, 103271, 105656, 108040, 110424, 112808, 115193, 117577, 119962, 122345, 124730, 127115, 129499, 131883, 134267, 136652, 139036, 141421, 143804, 146189, 148573, 150958, 153342, 155726, 158111, 160495, 162880, 165263, 167648, 170032, 172417, 174801]] - 攻击次数 = 4 - # 射击攻击力:% - data1 = [int(i*1.111*1.085) for i in [0, 2493, 3071, 3648, 4227, 4804, 5383, 5960, 6539, 7116, 7695, 8272, 8851, 9428, 10007, 10584, 11163, 11741, 12319, 12897, 13475, 14053, 14631, 15209, 15787, 16365, 16943, 17521, 18099, 18677, 19255, 19833, 20411, 20989, 21567, 22145, 22724, 23301, 23880, 24457, 25036, 25613, 26192, 26769, 27348, 27925, 28504, 29081, 29660, 30237, 30816, 31393, 31972, 32549, 33128, 33705, 34284, 34862, 35440, 36018, 36596, 37174, 37752, 38330, 38908, 39486, 40064, 40642, 41220, 41798, 42376]] - 攻击次数2 = 11 - # 最终齐射攻击力:% - data2 = [int(i*1.111*1.085) for i in [0, 2742, 3377, 4014, 4650, 5285, 5921, 6557, 7193, 7828, 8465, 9100, 9736, 10371, 11008, 11644, 12279, 12915, 13551, 14187, 14822, 15459, 16094, 16730, 17365, 18002, 18637, 19273, 19910, 20545, 21181, 21816, 22453, 23088, 23724, 24359, 24996, 25631, 26267, 26904, 27539, 28175, 28810, 29447, 30082, 30718, 31353, 31990, 32625, 33261, 33898, 34533, 35169, 35804, 36441, 37076, 37712, 38348, 38984, 39619, 40255, 40892, 41527, 42163, 42798, 43435, 44070, 44706, 45342, 45978, 46613]] - 攻击次数3 = 20 - # 最终齐射爆炸攻击力:% - data3 = [int(i*1.111*1.085) for i in [0,13710, 16889, 20068, 23247, 26426, 29605, 32785, 35964, 39142, 42322, 45501, 48680, 51859, 55038, 58218, 61396, 64575, 67755, 70933, 74113, 77292, 80471, 83650, 86829, 90009, 93187, 96366, 99546, 102725, 105903, 109083, 112262, 115441, 118620, 121799, 124979, 128157, 131337, 134516, 137694, 140874, 144053, 147233, 150411, 153590, 156770, 159949, 163127, 166307, 169486, 172665, 175844, 179023, 182203, 185381, 188561, 191740, 194918, 198098, 201277, 204456, 207635, 210814, 213994, 217172, 220351, 223531, 226710, 229889, 233068]] - 攻击次数4 = 1 - - -# 95 - - -class 技能22(主动技能): - 名称 = '燃情协战' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 基础 = 1710*1.168 - # 成长 = 194*1.168 - data0 =[int(i*1.112*1.085) for i in[0,2224, 2450, 2676, 2902, 3127, 3353, 3579, 3805, 4030, 4256, 4482, 4708, 4932, 5158, 5384, 5610, 5835, 6061, 6287, 6513, 6738, 6964, 7190, 7416, 7641, 7867, 8093, 8319, 8544, 8769, 8995, 9221, 9446, 9672, 9898, 10124, 10349, 10575, 10801, 11027, 11252, 11478, 11704, 11930, 12155, 12381, 12606, 12831, 13057, 13283, 13509, 13734, 13960, 14186, 14412, 14637, 14863, 15089, 15315, 15540, 15766, 15992, 16218, 16442, 16668, 16894, 17120, 17345, 17571]] - 攻击次数 = 10 - data1 = [int(i*1.112*1.085) for i in[0,6674, 7350, 8028, 8705, 9382, 10059, 10737, 11413, 12090, 12767, 13445, 14122, 14798, 15475, 16153, 16830, 17507, 18184, 18861, 19538, 20215, 20892, 21570, 22246, 22923, 23600, 24278, 24955, 25632, 26308, 26985, 27663, 28340, 29017, 29694, 30371, 31048, 31725, 32402, 33080, 33756, 34433, 35110, 35788, 36465, 37142, 37818, 38496, 39173, 39850, 40527, 41205, 41881, 42558, 43235, 43913, 44590, 45266, 45943, 46620, 47298, 47975, 48652, 49328, 50006, 50683, 51360, 52037, 52714]] - # 基础2 = 5134*1.168 - # 成长2 = 580*1.168 - 攻击次数2 = 5 - data2 = [int(i*1.112*1.085) for i in[0,55616, 61259, 66900, 72543, 78185, 83827, 89469, 95112, 100753, 106396, 112038, 117680, 123322, 128965, 134606, 140249, 145891, 151533, 157175, 162818, 168459, 174102, 179744, 185386, 191028, 196671, 202312, 207955, 213597, 219239, 224881, 230524, 236165, 241808, 247450, 253092, 258734, 264377, 270020, 275661, 281304, 286946, 292588, 298230, 303873, 309514, 315157, 320799, 326441, 332083, 337726, 343367, 349010, 354652, 360294, 365936, 371579, 377220, 382863, 388505, 394147, 399789, 405432, 411073, 416716, 422358, 428000, 433642, 439285]] - # 基础3 = 42792*1.168 - # 成长3 = 4831*1.168 - 攻击次数3 = 1 - data3 = [int(i*1.112*1.085) for i in[0,3894, 4289, 4683, 5078, 5473, 5868, 6264, 6659, 7053, 7448, 7843, 8238, 8634, 9028, 9423, 9818, 10213, 10609, 11003, 11398, 11793, 12188, 12583, 12978, 13373, 13768, 14163, 14558, 14952, 15348, 15743, 16138, 16533, 16928, 17323, 17718, 18113, 18508, 18903, 19297, 19693, 20088, 20483, 20878, 21272, 21667, 22063, 22458, 22853, 23247, 23642, 24037, 24433, 24828, 25223, 25617, 26012, 26408, 26803, 27198, 27592, 27987, 28382, 28778, 29173, 29567, 29962, 30357, 30752]] - 攻击次数4 = 0 # 10 - data4 = [int(i*1.112*1.085) for i in[0,12051, 13274, 14496, 15719, 16941, 18163, 19387, 20609, 21832, 23054, 24276, 25500, 26722, 27944, 29167, 30390, 31612, 32835, 34057, 35279, 36503, 37725, 38947, 40170, 41393, 42616, 43838, 45060, 46283, 47506, 48728, 49951, 51173, 52395, 53619, 54841, 56063, 57286, 58509, 59732, 60954, 62176, 63399, 64622, 65844, 67067, 68289, 69512, 70735, 71957, 73179, 74402, 75625, 76847, 78070, 79292, 80516, 81738, 82960, 84183, 85405, 86628, 87851, 89073, 90295, 91518, 92741, 93963, 95186]] - 攻击次数5 = 0 # 6 - - CD = 60 - - - -# 三觉 -class 技能23(主动技能): - 名称 = '暮光密令:黎明决战' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.0*1.085) for i in [0,1401, 1726, 2051, 2377, 2701, 3026, 3351, 3675, 4000, 4326, 4651, 4976, 5301, 5625, 5950, 6276, 6601, 6925, 7250, 7575, 7899, 8226, 8551, 8875, 9200, 9525, 9849, 10174, 10500, 10825, 11149, 11474, 11800, 12124, 12450, 12775, 13099, 13424, 13749, 14074, 14398, 14724, 15049, 15374, 15699, 16024, 16349, 16674, 16999, 17323, 17648, 17973, 18299, 18623, 18949, 19274, 19598, 19923, 20249, 20573, 20898, 21223, 21547, 21872, 22197, 22524, 22848, 23173, 23498, 23822]] - 攻击次数 = 22 - data1 = [int(i*1.0*1.085) for i in [0,28902, 35605, 42307, 49008, 55709, 62413, 69114, 75815, 82519, 89220, 95921, 102624, 109326, 116029, 122730, 129432, 136135, 142836, 149537, 156241, 162942, 169643, 176347, 183048, 189750, 196451, 203154, 209856, 216557, 223260, 229962, 236663, 243365, 250068, 256769, 263472, 270174, 276875, 283578, 290279, 296982, 303684, 310385, 317088, 323790, 330491, 337195, 343896, 350597, 357300, 364002, 370703, 377406, 384108, 390809, 397512, 404213, 410916, 417618, 424319, 431022, 437724, 444425, 451127, 457830, 464531, 471233, 477936, 484638, 491339]] - 攻击次数2 = 2 - data2 = [int(i*1.0*1.085) for i in [0,24085, 29670, 35256, 40841, 46424, 52010, 57595, 63180, 68765, 74350, 79935, 85521, 91106, 96690, 102274, 107860, 113445, 119029, 124615, 130200, 135785, 141371, 146955, 152540, 158125, 163710, 169294, 174879, 180465, 186050, 191635, 197220, 202805, 208390, 213976, 219561, 225144, 230729, 236315, 241900, 247484, 253070, 258655, 264240, 269826, 275410, 280995, 286579, 292165, 297749, 303334, 308920, 314505, 320089, 325675, 331260, 336845, 342428, 348014, 353599, 359184, 364770, 370354, 375939, 381525, 387110, 392695, 398281, 403864, 409449]] - 攻击次数3 = 4 - data3 = [int(i*1.0*1.085) for i in [0,2890, 3560, 4230, 4901, 5571, 6242, 6912, 7581, 8251, 8922, 9592, 10262, 10933, 11603, 12272, 12943, 13613, 14283, 14954, 15624, 16295, 16965, 17634, 18304, 18975, 19645, 20315, 20986, 21656, 22325, 22996, 23666, 24336, 25007, 25677, 26348, 27017, 27688, 28357, 29028, 29698, 30368, 31039, 31708, 32380, 33049, 33719, 34389, 35060, 35730, 36399, 37071, 37740, 38412, 39081, 39751, 40421, 41091, 41762, 42431, 43103, 43772, 44442, 45113, 45782, 46454, 47123, 47794, 48463, 49134]] - 攻击次数4 = 16 - data4 = [int(i*1.0*1.085) for i in [0,154145, 189889, 225634, 261377, 297121, 332865, 368609, 404354, 440097, 475841, 511585, 547329, 583074, 618817, 654561, 690305, 726047, 761792, 797536, 833280, 869024, 904767, 940512, 976256, 1012000, 1047744, 1083487, 1119232, 1154976, 1190720, 1226464, 1262207, 1297952, 1333695, 1369439, 1405182, 1440927, 1476671, 1512415, 1548159, 1583902, 1619647, 1655391, 1691135, 1726879, 1762622, 1798367, 1834111, 1869855, 1905598, 1941342, 1977086, 2012830, 2048573, 2084317, 2120062, 2155806, 2191550, 2227293, 2263037, 2298781, 2334526, 2370270, 2406013, 2441757, 2477501, 2513246, 2548990, 2584733, 2620476]] - 攻击次数5 = 1 - CD = 290 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -苍暮·暗刃一觉序号 = 0 -苍暮·暗刃二觉序号 = 0 -苍暮·暗刃三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 苍暮·暗刃一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 苍暮·暗刃二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 苍暮·暗刃三觉序号 = 技能序号[i.名称] - -苍暮·暗刃护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 苍暮·暗刃护石选项.append(i.名称) - -苍暮·暗刃符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 苍暮·暗刃符文选项.append(i.名称) - - -class 苍暮·暗刃角色属性(角色属性): - 实际名称 = '苍暮·暗刃' - 角色 = '枪剑士' - 职业 = '暗刃' - - 武器选项 = ['长刀'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.85 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 苍暮·暗刃(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 苍暮·暗刃角色属性() - self.角色属性A = 苍暮·暗刃角色属性() - self.角色属性B = 苍暮·暗刃角色属性() - self.一觉序号 = 苍暮·暗刃一觉序号 - self.二觉序号 = 苍暮·暗刃二觉序号 - self.三觉序号 = 苍暮·暗刃三觉序号 - self.护石选项 = deepcopy(苍暮·暗刃护石选项) - self.符文选项 = deepcopy(苍暮·暗刃符文选项) - - def 护石判断(self): - if '/CD' not in self.次数输入[self.角色属性A.技能序号['大回旋坠斩']].currentText(): - if self.次数输入[self.角色属性A.技能序号['大回旋坠斩']].currentText() != '': - try: - 大回旋坠斩次数 = round( - float(self.次数输入[self.角色属性A.技能序号['大回旋坠斩']].currentText()), 2) - except: - pass - else: - 大回旋坠斩次数 = 1 - - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '大回旋坠斩' and 大回旋坠斩次数 != 0: - sign = 1 - if sign == 0: - self.大回旋护石跳跃选项.setEnabled(False) - self.大回旋护石跳跃选项.setStyleSheet(复选框样式) - self.大回旋护石跳跃选项.setChecked(False) - else: - self.大回旋护石跳跃选项.setEnabled(True) - self.大回旋护石跳跃选项.setStyleSheet(复选框样式) - - def 界面(self): - super().界面() - for i in range(3): - self.护石栏[i].currentIndexChanged.connect(lambda state: self.护石判断()) - self.次数输入[self.角色属性A.技能序号['大回旋坠斩']].currentIndexChanged.connect( - lambda state: self.护石判断()) - - self.大回旋护石跳跃选项 = QCheckBox('大回旋护石跳跃释放', self.main_frame2) - self.大回旋护石跳跃选项.resize(135, 20) - self.大回旋护石跳跃选项.move(320, 420) - self.大回旋护石跳跃选项.setStyleSheet(复选框样式) - self.大回旋护石跳跃选项.setToolTip('跳跃释放大回旋坠斩,仅佩戴护石时生效') - - # self.轮盘连射类型选项=MyQComboBox(self.main_frame2) - # self.轮盘连射类型选项.addItem('轮盘连射:非抓取') - # self.轮盘连射类型选项.addItem('轮盘连射:抓取') - # self.轮盘连射类型选项.resize(135,20) - # self.轮盘连射类型选项.move(320,360) - # self.轮盘连射类型选项.setToolTip('选择轮盘连射的形态') - - self.致命焰火方向选项 = MyQComboBox(self.main_frame2) - self.致命焰火方向选项.addItem('致命焰火方向:向后') - self.致命焰火方向选项.addItem('致命焰火方向:原地') - self.致命焰火方向选项.resize(135, 20) - self.致命焰火方向选项.move(320, 450) - self.致命焰火方向选项.setToolTip('选择致命焰火的形态') - - self.战术协作方向选项 = MyQComboBox(self.main_frame2) - self.战术协作方向选项.addItem('战术协作方向:原地') - self.战术协作方向选项.addItem('战术协作方向:向前') - self.战术协作方向选项.resize(135, 20) - self.战术协作方向选项.move(320, 540) - self.战术协作方向选项.setToolTip('选择燃情协战的形态') - - self.职业存档.append(('致命焰火方向选项', self.致命焰火方向选项, 1)) - self.职业存档.append(('战术协作方向选项', self.战术协作方向选项, 1)) - self.职业存档.append(('大回旋护石跳跃选项', self.大回旋护石跳跃选项, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.大回旋护石跳跃选项.isChecked(): - 属性.技能栏[属性.技能序号['大回旋坠斩']].攻击次数 = 0 - 属性.技能栏[属性.技能序号['大回旋坠斩']].攻击次数2 = 3*1.07 - - # if self.轮盘连射类型选项.currentIndex() == 1: - # 属性.技能栏[属性.技能序号['轮盘连射']].攻击次数2 = 0 - # 属性.技能栏[属性.技能序号['轮盘连射']].攻击次数3 = 10 - - if self.致命焰火方向选项.currentIndex() == 1: - 属性.技能栏[属性.技能序号['致命焰火']].攻击次数2 = 0 - 属性.技能栏[属性.技能序号['致命焰火']].攻击次数3 = 10 - - if self.战术协作方向选项.currentIndex() == 1: - 属性.技能栏[属性.技能序号['燃情协战']].攻击次数1 = 0 - 属性.技能栏[属性.技能序号['燃情协战']].攻击次数2 = 0 - 属性.技能栏[属性.技能序号['燃情协战']].攻击次数3 = 0 - 属性.技能栏[属性.技能序号['燃情协战']].攻击次数4 = 10 - 属性.技能栏[属性.技能序号['燃情协战']].攻击次数5 = 6 diff --git a/Characters/苍暮·源能专家.py b/Characters/苍暮·源能专家.py deleted file mode 100644 index 9ddbd90c..00000000 --- a/Characters/苍暮·源能专家.py +++ /dev/null @@ -1,843 +0,0 @@ -from math import * -from PublicReference.carry.base import * -# 2021.4.7 韩测 - - -class 职业主动技能(主动技能): - - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# 源力剑精通 - - -class 技能0(被动技能): - 名称 = '源力剑精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - 谍影专用倍率 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 <= 20: - return round(1 + (0.05 + 0.01 * self.等级) * self.谍影专用倍率, 5) - else: - return round(1 + (0.25 + 0.02 * (self.等级 - 20)) * self.谍影专用倍率, 5) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -# 细胞弱化 -class 技能1(被动技能): - 名称 = '细胞弱化' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - - -# 源能增幅一觉被动 -class 技能2(被动技能): - 名称 = '源能增幅' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -# 二觉被动 -class 技能3(被动技能): - 名称 = '源力汇聚' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -# 三觉被动 -class 技能4(被动技能): - 名称 = '奇点源核' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -# 源光斩 -class 技能5(职业主动技能): - 名称 = '源光斩' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - 攻击段数 = 2 - # 斩击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 1034, 1138, 1243, 1348, 1454, 1559, 1663, 1768, 1873, 1979, 2082, 2188, 2294, 2398, 2504, 2607, 2713, 2818, 2923, 3029, 3132, 3238, 3343, 3448, 3553, 3658, 3763, 3868, 3973, 4077, 4183, 4287, 4393, 4498, 4602, 4708, 4812, 4918, 5023, 5127, 5233, 5337, 5443, 5548, 5652, 5757, 5862, 5968, 6072, 6177, 6282, 6388, 6491, 6597, 6701, 6807, 6913, 7016, 7122, 7226, 7332, 7438, 7541, 7647, 7752, 7857, 7962, 8066, 8171, 8277]] - # 能量多段攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 175, 193, 211, 229, 246, 266, 284, 302, 319, 337, 355, 373, 392, 409, 427, 445, 463, 480, 498, 516, 534, 553, 570, 588, 606, 624, 641, 659, 677, 697, 715, 732, 750, 768, 786, 803, 821, 840, 858, 876, 893, 911, 929, 947, 964, 983, 1001, 1019, 1037, 1054, 1072, 1090, 1108, 1125, 1145, 1163, 1181, 1199, 1216, 1234, 1252, 1271, 1288, 1306, 1324, 1342, 1359, 1377, 1395, 1414]] - 攻击次数2 = 4 - CD = 5 - TP成长 = 0.08 - TP上限 = 5 - - -# 旋转源能波 -class 技能6(职业主动技能): - 名称 = '旋转源能波' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - 攻击段数 = 2 - # 波动攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 383, 424, 462, 501, 541, 579, 618, 658, 698, 735, 775, 814, 855, 892, 932, 971, 1008, 1048, 1088, 1128, 1166, 1205, 1244, 1285, 1323, 1362, 1401, 1439, 1479, 1519, 1558, 1596, 1636, 1674, 1713, 1753, 1793, 1832, 1870, 1909, 1950, 1989, 2027, 2066, 2106, 2143, 2183, 2223, 2263, 2301, 2339, 2380, 2418, 2458, 2496, 2536, 2574, 2615, 2653, 2693]] - # 源能波攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 545, 600, 657, 712, 767, 824, 879, 934, 990, 1045, 1100, 1157, 1213, 1268, 1324, 1380, 1434, 1490, 1545, 1600, 1656, 1711, 1767, 1824, 1879, 1934, 1991, 2046, 2101, 2157, 2212, 2266, 2322, 2378, 2434, 2490, 2545, 2600, 2657, 2712, 2767, 2823, 2878, 2933, 2991, 3046, 3101, 3156, 3211, 3266, 3323, 3378, 3433, 3489, 3544, 3599, 3657, 3712, 3767, 3824]] - 攻击次数2 = 4 - CD = 5 - TP成长 = 0.10 - TP上限 = 5 - -# 源能护盾,未提炼 - - -class 技能7(职业主动技能): - 名称 = '源能护盾' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(i*1.0*1.085) for i in [0, 3604, 3968, 4700, 5064, 5431, 5797, 6161, 6527, 6894, 7260, 7624, 7990, 8356, 8721, 9087, 9453, 9817, 10184, 10550, 10914, 11280, 11646, 12013, 12377, 12743, 13109, 13473, 13840, 14206, 14570, 14936, 15303, 15669, 16033, 16399, 16765, 17130, 17496, 17862, 18226, 18593, 18959, 19323, 19689, 20055, 20422, 20786, 21152, 21518, 21883, 22249, 22615, 22979, 23345, 23712, 24076, 24442, 24808, 25175, 25539, 25905, 26271, 26635, 27002, 27368, 27732, 28098, 28465, 28829]] - CD = 8 - TP成长 = 0.08 - TP上限 = 5 - - -# 镭射源能枪 -class 技能8(职业主动技能): - 名称 = '镭射源能枪' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - 攻击段数 = 2 - data0 = [int(i*1.0*1.085) for i in [0, 739, 814, 889, 965, 1039, 1115, 1190, 1265, 1340, 1415, 1489, 1565, 1640, 1716, 1791, 1866, 1942, 2015, 2091, 2166, 2241, 2316, 2392, 2466, 2542, 2617, 2692, 2766, 2842, 2917, 2992, 3067, 3143, 3218, 3292, 3368, 3442, 3518, 3593, 3669, 3743, 3819, 3894, 3968, 4043, 4119, 4193, 4269, 4344, 4419, 4494, 4569, 4645, 4719, 4795, 4870, 4945, 5020, 5096, 5169]] - 攻击次数 = 2 - data1 = [int(i*1.0*1.085) for i in [0, 2144, 2362, 2580, 2797, 3015, 3233, 3449, 3668, 3885, 4103, 4320, 4539, 4755, 4974, 5191, 5407, 5626, 5844, 6061, 6279, 6497, 6713, 6932, 7150, 7367, 7585, 7802, 8020, 8237, 8456, 8672, 8891, 9108, 9327, 9543, 9761, 9979, 10196, 10414, 10632, 10849, 11067, 11285, 11502, 11720, 11938, 12154, 12373, 12590, 12808, 13025, 13244, 13460, 13679, 13896, 14113, 14331, 14549, 14766, 14984]] - 攻击次数2 = 1 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - -# 源能波刃 -class 技能9(职业主动技能): - 名称 = '源能波刃' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - - # 斩击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 2219, 2444, 2670, 2896, 3122, 3346, 3571, 3797, 4022, 4248, 4472, 4698, 4925, 5150, 5376, 5600, 5825, 6051, 6276, 6500, 6726, 6951, 7178, 7403, 7628, 7853, 8078, 8305, 8530, 8755, 8980, 9205, 9432, 9657, 9882, 10107, 10332, 10558, 10782, 11008, 11233, 11458, 11685, 11910, 12136, 12361, 12587, 12812, 13036, 13262, 13487, 13712, 13938, 14163, 14389, 14614, 14840, 15064, 15289, 15516]] - # 吸附攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 1816, 1999, 2183, 2369, 2553, 2738, 2921, 3106, 3291, 3475, 3659, 3845, 4028, 4213, 4397, 4582, 4766, 4949, 5135, 5318, 5504, 5688, 5872, 6056, 6240, 6426, 6611, 6794, 6979, 7162, 7346, 7532, 7716, 7901, 8084, 8269, 8452, 8638, 8822, 9008, 9191, 9376, 9559, 9744, 9928, 10112, 10298, 10481, 10667, 10850, 11035, 11219, 11403, 11588, 11774, 11957, 12141, 12325, 12509, 12693]] - 攻击次数2 = 1 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - -# 能量飞鱼弹 - - -class 技能10(职业主动技能): - 名称 = '能量飞鱼弹' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.0*1.085) for i in [0, 4395, 4841, 5288, 5734, 6180, 6626, 7074, 7517, 7965, 8411, 8857, 9302, 9750, 10195, 10641, 11087, 11534, 11980, 12426, 12871, 13319, 13764, 14210, 14656, 15104, 15548, 15995, 16441, 16888, 17333, 17780, 18226, 18671, 19118, 19565, 20010, 20457, 20903, 21349, 21794, 22242, 22687, 23134, 23579, 24025, 24472, 24918, 25363, 25810, 26257, 26703, 27148, 27596, 28041, 28487, 28933, 29381, 29824, 30272, 30718]] - CD = 7.5 - TP成长 = 0.10 - TP上限 = 5 - -# 脉冲斩 - - -class 技能11(职业主动技能): - 名称 = '脉冲斩' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(i*1.0*1.085) for i in [0, 1375, 1514, 1653, 1793, 1933, 2072, 2211, 2352, 2490, 2631, 2769, 2909, 3049, 3187, 3329, 3467, 3608, 3747, 3886, 4026, 4165, 4305, 4444, 4583, 4723, 4863, 5002, 5142, 5283, 5423, 5561, 5702, 5840, 5980, 6120, 6258, 6399, 6537, 6678, 6817, 6955, 7096, 7234, 7376, 7515, 7656, 7794, 7934, 8073, 8213, 8353, 8491, 8631, 8771, 8910, 9050, 9189, 9329, 9470, 9608]] - 攻击次数 = 4 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - - -# 电磁领域 -class 技能12(职业主动技能): - 名称 = '电磁领域' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 攻击段数 = 3 - data0 = [int(i*1.0*1.085) for i in [0, 1139, 1255, 1372, 1488, 1603, 1718, 1834, 1950, 2065, 2181, 2297, 2413, 2529, 2644, 2760, 2876, 2991, 3107, 3223, 3339, 3453, 3569, 3686, 3802, 3918, 4033, 4149, 4265, 4381, 4495, 4611, 4727, 4844, 4959, 5075, 5191, 5307, 5421, 5537, 5653, 5769, 5886, 6001, 6117, 6232, 6348, 6463, 6579, 6695, 6811, 6925, 7043, 7158, 7274, 7389, 7505, 7621, 7737, 7851, 7967]] - 攻击次数 = 5 - data1 = [int(i*1.0*1.085) for i in [0, 2443, 2691, 2940, 3187, 3435, 3684, 3932, 4179, 4428, 4676, 4925, 5171, 5419, 5668, 5915, 6163, 6412, 6659, 6907, 7156, 7404, 7651, 7900, 8148, 8396, 8643, 8891, 9140, 9387, 9635, 9884, 10132, 10379, 10628, 10876, 11123, 11372, 11619, 11868, 12115, 12363, 12612, 12860, 13107, 13356, 13604, 13851, 14100, 14348, 14596, 14843, 15091, 15340, 15587, 15835, 16084, 16332, 16579, 16828, 17076]] - 攻击次数2 = 1 - CD = 20 - TP成长 = 0.10 - TP上限 = 5 - - -# 引力源光弹 -class 技能13(职业主动技能): - 名称 = '引力源光弹' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - - # 多段攻击力:% - data0 = [int(i*1.0*1.085) for i in [0,766, 842, 922, 999, 1077, 1155, 1233, 1310, 1388, 1466, 1543, 1622, 1699, 1777, 1855, 1932, 2011, 2090, 2166, 2245, 2321, 2400, 2478, 2555, 2633, 2711, 2789, 2867, 2946, 3023, 3102, 3178, 3257, 3334, 3412, 3489, 3568, 3644, 3723, 3799, 3878, 3958, 4034, 4113, 4191, 4268, 4346, 4425, 4501, 4580, 4656, 4735, 4812, 4890, 4967, 5047, 5125, 5202, 5280, 5358]] - 攻击次数 = 8 - # 爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 2163, 2384, 2602, 2821, 3040, 3260, 3480, 3700, 3919, 4139, 4359, 4578, 4798, 5017, 5236, 5457, 5677, 5897, 6115, 6335, 6555, 6776, 6993, 7213, 7433, 7652, 7872, 8091, 8310, 8531, 8751, 8971, 9189, 9409, 9629, 9850, 10069, 10288, 10508, 10727, 10947, 11167, 11384, 11605, 11825, 12044, 12263, 12483, 12702, 12922, 13143, 13362, 13581, 13801, 14021, 14241, 14459, 14680, 14900, 15119]] - 攻击次数2 = 1 - - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 技能施放时间 = 1 - - 是否装备护石 = 0 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.攻击次数2 = 1.28 - self.data1 = [int(i*1.28) for i in self.data1] - self.是否装备护石 = 1 - elif x == 1: - self.data1 = [int(i*1.60) for i in self.data1] - # self.攻击次数2 = 1.60 #修改位置 - self.是否装备护石 = 1 - - -# 光裂斩,护石取最大蓄气 -class 技能14(职业主动技能): - 名称 = '光裂斩' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 斩击攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 7562, 8329, 9096, 9865, 10632, 11400, 12166, 12933, 13701, 14467, 15236, 16004, 16769, 17537, 18305, 19073, 19840, 20607, 21374, 22141, 22909, 23677, 24445, 25211, 25978, 26746, 27513, 28281, 29049, 29814, 30582, 31350, 32117, 32885, 33653, 34419, 35186, 35954, 36721, 37490, 38256, 39023, 39791, 40558, 41325, 42094, 42862, 43627, 44395, 45162, 45928, 46698, 47464, 48231, 48999, 49766, 50535, 51301, 52068, 52836]] - # 能量多段攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 1006, 1108, 1211, 1313, 1416, 1517, 1622, 1725, 1824, 1926, 2030, 2132, 2235, 2337, 2440, 2542, 2645, 2745, 2848, 2950, 3053, 3155, 3258, 3360, 3463, 3565, 3667, 3768, 3871, 3973, 4076, 4178, 4281, 4383, 4486, 4587, 4690, 4792, 4895, 4996, 5099, 5201, 5305, 5407, 5507, 5610, 5714, 5816, 5919, 6021, 6124, 6226, 6326, 6429, 6531, 6634, 6736, 6839, 6941, 7044]] - 攻击次数2 = 5 - - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i*1.98*1.06) for i in self.data0] - # self.攻击次数 = 1.98 * 1.06 - self.攻击次数2 = 0 - elif x == 1: - self.data0 = [int(i*1.98*1.14) for i in self.data0] - # self.攻击次数 = 1.98 * 1.14#修改位置 - self.攻击次数2 = 0 - -# 光导裂地斩 - - -class 技能15(职业主动技能): - 名称 = '光导裂地斩' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 攻击段数 = 6 - # 基础 = 6247 - 633.5 - # 成长 = 633.5 - # 攻击次数 = 1 - - # 基础2 = 9512 - 965 - # 成长2 = 965 - # 攻击次数2 = 1 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - # 下劈攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 8626, 9501, 10377, 11251, 12127, 13002, 13879, 14753, 15629, 16505, 17379, 18254, 19130, 20005, 20879, 21757, 22630, 23506, 24382, 25257, 26131, 27009, 27882, 28758, 29634, 30509, 31383, 32259, 33135, 34009, 34886, 35761, 36635, 37510, 38387, 39261, 40136, 41013, 41886, 42762, 43638, 44514, 45388, 46265, 47140, 48014, 48890, 49766, 50640, 51516, 52392, 53265, 54142, 55017, 55892, 56768, 57644, 58518, 59394, 60269]] - # 上挑攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 13135, 14468, 15801, 17133, 18465, 19799, 21132, 22465, 23798, 25130, 26463, 27796, 29129, 30459, 31794, 33127, 34460, 35792, 37125, 38458, 39791, 41124, 42455, 43787, 45122, 46455, 47786, 49119, 50452, 51785, 53117, 54450, 55783, 57117, 58448, 59781, 61114, 62447, 63780, 65112, 66445, 67778, 69112, 70444, 71776, 73109, 74442, 75774, 77107, 78440, 79773, 81107, 82439, 83772, 85105, 86437, 87768, 89101, 90434, 91767]] - 攻击次数2 = 1 - - ### - # 倍率 = 1.121 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.17 - self.攻击次数2 *= 1.2 - elif x == 1: - self.攻击次数 *= 1.17 - self.攻击次数2 *= 1.33 # 修改位置 - - -# 一觉,非提炼 -class 技能16(职业主动技能): - 名称 = '超能场域' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 能量多段攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 765, 942, 1120, 1296, 1474, 1653, 1830, 2009, 2183, 2362, 2540, 2718, 2896, 3075, 3250, 3428, 3605, 3784, 3962, 4140, 4316, 4493, 4672, 4850, 5028, 5206, 5381, 5559, 5738, 5915, 6094, 6272, 6448, 6626, 6803, 6981, 7160, 7337, 7515, 7691]] - # 秒C的段数 - 攻击次数 = 14 - # 能量爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 38996, 48039, 57081, 66124, 75168, 84211, 93255, 102298, 122473, 132423, 142370, 152317, 162264, 172212, 182159, 192106, 202053, 212002, 221949, 231896, 241842, 251789, 261736, 271684, 281631, 291578, 301525, 311475, 321422, 331369, 341316, 351263, 361211, 371158, 381105, 391053, 401001, 410948, 420895, 430842]] - 攻击次数2 = 1 - CD = 145 - -# 能量禁锢 - - -class 技能17(职业主动技能): - 名称 = '能量禁锢' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - #多段攻击力:% - data0 = [int(i*1.0*1.085) for i in [0, 1072, 1181, 1293, 1401, 1509, 1619, 1727, 1836, 1945, 2055, 2164, 2273, 2381, 2491, 2599, 2707, 2817, 2926, 3036, 3144, 3253, 3362, 3471, 3579, 3689, 3798, 3908, 4016, 4124, 4234, 4344, 4454, 4563, 4671, 4781, 4889, 4997, 5107, 5215, 5326, 5434, 5543, 5652, 5761, 5870, 5979, 6087, 6198, 6306, 6414, 6524, 6632, 6742, 6850, 6959, 7069, 7178, 7286, 7397, 7505]] - 攻击次数 = 10 - data1 = [int(i*1.0*1.085) for i in [0, 4605, 5071, 5538, 6006, 6472, 6941, 7408, 7874, 8342, 8809, 9276, 9743, 10211, 10678, 11145, 11612, 12079, 12548, 13014, 13482, 13948, 14415, 14883, 15349, 15818, 16285, 16751, 17219, 17686, 18153, 18621, 19088, 19555, 20023, 20489, 20956, 21425, 21891, 22359, 22826, 23292, 23760, 24226, 24695, 25162, 25629, 26096, 26563, 27031, 27499, 27967, 28433, 28902, 29369, 29836, 30303, 30769, 31237, 31704, 32172]] - 攻击次数2 = 1 - ### - - # 爆炸次数 = 0 - 是否装备护石 = 0 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 14 * 0.8 # 14是测试结论 - self.是否装备护石 = 1 - # self.攻击次数2 += self.爆炸次数* 0.33 - elif x == 1: - self.攻击次数 = 14 * 0.89 # 修改位置 - self.是否装备护石 = 1 - # self.攻击次数2 += self.爆炸次数 *0.33 - - -# 离散能量波 - -class 技能18(职业主动技能): - 名称 = '离散能量波' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - - data0 = [0,2255, 2484, 2713, 2941, 3170, 3400, 3630, 3858, 4086, 4315, 4543, 4774, 5002, 5230, 5460, 5688, 5919, 6147, 6376, 6604, 6832, 7061, 7291, 7520, 7749, 7978, 8206, 8437, 8665, 8893, 9122, 9350, 9581, 9809, 10039, 10267, 10495, 10726, 10954, 11183, 11411, 11639, 11869, 12098, 12328, 12556, 12785, 13014, 13244, 13473, 13700, 13929, 14158, 14387, 14617, 14846, 15074, 15304, 15532, 15763] - 攻击次数 = 10 - - data1 = [0,9669, 10650, 11631, 12612, 13593, 14575, 15555, 16537, 17517, 18499, 19479, 20460, 21443, 22423, 23404, 24384, 25367, 26347, 27328, 28308, 29290, 30272, 31252, 32234, 33214, 34196, 35177, 36158, 37139, 38119, 39102, 40082, 41063, 42043, 43026, 44007, 44987, 45968, 46951, 47931, 48912, 49893, 50874, 51855, 52836, 53818, 54798, 55780, 56760, 57742, 58722, 59703, 60687, 61667, 62648, 63628, 64611, 65592, 66572, 67554] - 攻击次数2 = 1 - - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.9 - self.攻击次数 = 15 * 0.75 - self.攻击次数2 *= 1.4 - elif x == 1: - self.CD *= 0.9 - self.攻击次数 = 15 * 0.75 - self.攻击次数2 *= 1.66 # 修改位置 - -# 绝望圆舞 - - -class 技能19(职业主动技能): - 名称 = '绝望圆舞' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - # 攻击段数 = 8 - # 基础 = 38894.00 - 3946.60 - # 成长 = 3946.60 - CD = 40 - ### - # 倍率 = 1.121 - - # 乱舞攻击力:% X 8次 - data0 = [int(i*1.0*1.085) for i in [0, 4572, 5036, 5502, 5966, 6429, 6893, 7358, 7823, 8287, 8751, 9215, 9679, 10143, 10608, 11071, 11535, 11999, 12464, 12927, 13391, 13855, 14320, 14784, 15247, 15712, 16178, 16642, 17104, 17568, 18034, 18498, 18962, 19424, 19890, 20354, 20818, 21281, 21746, 22210, 22674, 23139, 23604, 24067, 24531, 24996, 25460, 25923, 26387, 26852, 27316, 27779, 28243, 28708, 29172, 29636, 30099, 30564, 31028, 31492, 31958]] - 攻击次数 = 8 - # 最后一击攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 15685, 17275, 18867, 20457, 22050, 23640, 25232, 26822, 28416, 30006, 31597, 33188, 34780, 36371, 37962, 39553, 41146, 42737, 44328, 45919, 47511, 49101, 50693, 52283, 53877, 55466, 57058, 58649, 60241, 61832, 63423, 65015, 66605, 68197, 69787, 71381, 72971, 74563, 76153, 77746, 79336, 80928, 82518, 84111, 85702, 87293, 88884, 90476, 92067, 93658, 95249, 96842, 98433, 100024, 101615, 103207, 104797, 106388, 107979, 109571]] - 攻击次数2 = 1 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - -# CEAB-2超能爆发,满蓄 - - -class 技能20(职业主动技能): - 名称 = 'CEAB-2超能爆发' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 攻击段数 = 1 - # 基础 = 44464.00 - 4510.92 - # 成长 = 4510.92 - # 爆炸攻击力: - # data0 = [0, 40341, 44434, 48526, 52619, 56710, 60803, 64895, 68988, 73081, 77173, 81266, 85359, 89451, 93544, 97636, 101729, 105822, 109914, 114007, 118099, 122192, 126285, 130377, 134470, 138562, 142655, 146748, 150840, 154933, 159025, 163118, 167211, 171303, 175396, 179488, 183581, 187673, 191765, 195858, 199950, 204043, 208136, 212228, 216321, 220413, 224506, 228599, 232691, 236784, 240876, 244969, 249062, 253154, 257247, 261340, 265432, 269525, 273617, 277710, 281803] - # 最大蓄气时的爆炸攻击力: - data0 = [int(i*1.0*1.085) for i in [0, 57209, 63013, 68816, 74622, 80425, 86229, 92033, 97838, 103641, 109445, 115249, 121053, 126857, 132660, 138464, 144269, 150073, 155877, 161679, 167483, 173289, 179093, 184898, 190701, 196505, 202309, 208112, 213917, 219720, 225524, 231329, 237133, 242937, 248739, 254543, 260348, 266152, 271956, 277762, 283565, 289369, 295172, 300977, 306781, 312584, 318388, 324193, 329997, 335800, 341603, 347408, 353212, 359016, 364820, 370624, 376429, 382232, 388036, 393841, 399645]] - - CD = 45 - ### - # 倍率 = 1.074 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.39 - self.CD *= 0.9 - -# 二觉,1.5秒后c - - -class 技能21(职业主动技能): - 名称 = '终焉:超世界崩坏' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 攻击段数 = 17 - - # 基础 = 1800 - 216.33333 * 5 - # 成长 = 216.33333 - # 攻击次数 = 6 - - # 基础2 = 168632 - 20286.5 *5 - # 成长2 = 20286.5 - # 攻击次数2 = 1 - # 多段攻击力:% - # 秒C6段,打满14次 - data0 = [int(i*1.0*1.085) for i in [0, 1260, 1549, 1842, 2136, 2429, 2719, 3012, 3304, 3597, 3889, 4180, 4473, 4765, 5057, 5350, 5644, 5933, 6227, 6520, 6812, 7103, 7396, 7688, 7980, 8273, 8564, 8857, 9148, 9441, 9735, 10024, 10317, 10611, 10903, 11195, 11487, 11779, 12072, 12364, 12656, 12948, 13240, 13532, 13825, 14119, 14408, 14701, 14995, 15287, 15579, 15870, 16163, 16455, 16747, 17040, 17332, 17623, 17916, 18209, 18501]] - 攻击次数 = 6 - # 爆炸攻击力:% - data1 = [int(i*1.0*1.085) for i in [0, 118077, 145459, 172840, 200220, 227602, 254982, 282363, 309745, 337125, 364504, 391886, 419267, 446647, 474029, 501409, 528790, 556172, 583552, 610933, 638314, 665695, 693075, 720456, 747836, 775217, 802599, 829979, 857360, 884741, 912122, 939502, 966884, 994265, 1021645, 1049024, 1076406, 1103787, 1131167, 1158549, 1185929, 1213310, 1240692, 1268072, 1295453, 1322834, 1350215, 1377595, 1404976, 1432356, 1459737, 1487119, 1514499, 1541880, 1569261, 1596642, 1624022, 1651404, 1678785, 1706165, 1733547]] - 攻击次数2 = 1 - CD = 180 - ### - # 倍率 = 1.1 - -# 95 - - -class 技能22(职业主动技能): - 名称 = '临界源能弹' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [int(i*1.085) for i in [0, 19967, 21992, 24018, 26043, 28069, 30094, 32120, 34146, 36172, 38198, 40224, 42249, 44274, 46300, 48326, 50351, 52377, 54403, 56429, 58455, 60479, 62505, 64531, 66557, 68583, 70608, 72634, 74660, 76686, 78710, 80736, 82762, 84788, 86814, 88840, 90865, 92891, 94917, 96942, 98967, 100993, 103019, 105045, 107071, 109097, 111122, 113147, 115173, 117199, 119224, 121250, 123276, 125302, 127328, 129354, 131378, 133404, 135430, 137456, 139481]] - 攻击次数 = 5 - data1 = [int(i*1.085) for i in [0, 110930, 122182, 133436, 144690, 155944, 167198, 178451, 189705, 200959, 212213, 223467, 234720, 245974, 257228, 268482, 279736, 290989, 302243, 313497, 324751, 336005, 347258, 358512, 369766, 381020, 392274, 403527, 414781, 426035, 437289, 448543, 459795, 471050, 482304, 493558, 504812, 516064, 527318, 538572, 549826, 561080, 572333, 583587, 594841, 606095, 617349, 628602, 639856, 651110, 662364, 673618, 684871, 696125, 707379, 718633, 729887, 741140, 752394, 763648, 774902]] - 攻击次数2 = 0 # 1 - CD = 60 - -# 三觉 - - -class 技能23(职业主动技能): - 名称 = '源能场域:黑暗边缘' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(i*1.085) for i in [0, 369810, 455564, 541317, 627071, 712824, 798578, 884331, 970084, 1055838, 1141590, 1227345, 1313097, 1398851, 1484604, 1570358, 1656111, 1741864, 1827618, 1913372, 1999125, 2084878, 2170632, 2256385, 2342139, 2427891, 2513645, 2599398, 2685152, 2770905, 2856658, 2942412, 3028165, 3113919, 3199672, 3285426, 3371179, 3456933, 3542686, 3628440, 3714192, 3799946, 3885699, 3971452, 4057206, 4142959, 4228713, 4314466, 4400219, 4485973, 4571726, 4657480, 4743234, 4828987, 4914739, 5000493, 5086247, 5172000, 5257753, 5343507, 5429260]] - 攻击次数 = 1 - CD = 290 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -苍暮·源能专家一觉序号 = 0 -苍暮·源能专家二觉序号 = 0 -苍暮·源能专家三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 苍暮·源能专家一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 苍暮·源能专家二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 苍暮·源能专家三觉序号 = 技能序号[i.名称] - -苍暮·源能专家护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 苍暮·源能专家护石选项.append(i.名称) - -苍暮·源能专家符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 苍暮·源能专家符文选项.append(i.名称) - - -class 苍暮·源能专家角色属性(角色属性): - 实际名称 = '苍暮·源能专家' - 角色 = '枪剑士' - 职业 = '源能专家' - - 武器选项 = ['源力剑'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 2.0 - - 远古记忆 = 0 - - 引力源光弹充能次数 = 0 - 能量禁锢爆炸次数 = 0 - 二觉多段次数 = 6 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.装备检查('谍影:超级核心'): - self.技能栏[self.技能序号['源力剑精通']].谍影专用倍率 = 2 - self.技能栏[self.技能序号['终焉:超世界崩坏']].攻击次数 = self.二觉多段次数 - super().被动倍率计算() - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - - # 能量禁锢护石 - if self.技能栏[self.技能序号['能量禁锢']].是否装备护石 == 1: - 技能单次伤害[self.技能序号['能量禁锢']] += (0.33*self.能量禁锢爆炸次数)*(self.技能栏[self.技能序号['能量禁锢']].基础2 + self.技能栏[self.技能序号['能量禁锢']].成长2 * self.技能栏[self.技能序号['能量禁锢']].等级)*( - 1 + self.技能栏[self.技能序号['能量禁锢']].TP成长 * self.技能栏[self.技能序号['能量禁锢']].TP等级) * self.技能栏[self.技能序号['能量禁锢']].倍率 * self.伤害指数*i.被动倍率 - - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # self.宠物次数[self.技能序号['引力源光弹']] = eval(self.宠物次数[self.技能序号['引力源光弹']].replace('num', str(技能释放次数[self.技能序号['引力源光弹']]))) - - # 引力源光弹护石 - if self.技能栏[self.技能序号['引力源光弹']].是否装备护石 == 1: - if self.宠物次数[self.技能序号['引力源光弹']] < self.引力源光弹充能次数: - 技能总伤害[self.技能序号['CEAB-2超能爆发']] += (技能单次伤害[self.技能序号['引力源光弹']] * 0.3 * self.引力源光弹充能次数 * ( - 1+self.白兔子技能*0.20 + self.年宠技能*0.10*self.宠物次数[self.技能序号['引力源光弹']]/self.引力源光弹充能次数+self.斗神之吼秘药*0.12)) - else: - 技能总伤害[self.技能序号['CEAB-2超能爆发']] += (技能单次伤害[self.技能序号['引力源光弹']] * 0.3 * self.引力源光弹充能次数 * ( - 1+self.白兔子技能*0.20 + self.年宠技能*0.10+self.斗神之吼秘药*0.12)) - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 苍暮·源能专家(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 苍暮·源能专家角色属性() - self.角色属性A = 苍暮·源能专家角色属性() - self.角色属性B = 苍暮·源能专家角色属性() - self.一觉序号 = 苍暮·源能专家一觉序号 - self.二觉序号 = 苍暮·源能专家二觉序号 - self.三觉序号 = 苍暮·源能专家三觉序号 - self.护石选项 = deepcopy(苍暮·源能专家护石选项) - self.符文选项 = deepcopy(苍暮·源能专家符文选项) - # QMessageBox.information(self, "提示", "4.7日测试服数据,仅供参考") - - def 引力源光弹充能次数判断(self, 警告, 选项变更): - 引力源光弹次数 = 0 - 超能爆发次数 = 0 - - if '/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText(): - try: - 引力源光弹次数 = int( - self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText()) - except: - 引力源光弹次数 = 100 - else: - 引力源光弹次数 = 100 - if '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText(): - try: - 超能爆发次数 = int( - self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText()) - except: - 超能爆发次数 = 100 - else: - 超能爆发次数 = 100 - - sign = 0 - for x in range(3): - if self.护石栏[x].currentText() == '引力源光弹' and 引力源光弹次数 != 0 and 超能爆发次数 != 0: - sign = 1 - - 充能次数上限 = 1 - if 引力源光弹次数 != 0 and 超能爆发次数 != 0 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText()): - if 超能爆发次数 >= 引力源光弹次数: - 充能次数上限 = 引力源光弹次数 - else: - 充能次数上限 = 超能爆发次数 - # self.引力源光弹护石选项.setCurrentIndex(充能次数上限) - if self.引力源光弹护石选项.currentIndex() > 充能次数上限 and sign == 1 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText()) and 警告 == 0: - self.引力源光弹护石选项.setCurrentIndex(充能次数上限) - if 选项变更 == 0: - QMessageBox.information(self, "错误", "输入的充能次数超过上限,已自动修正") - 警告 = 1 - elif self.引力源光弹护石选项.currentIndex() < 充能次数上限 and sign == 1 and ('/CD' not in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() or '/CD' not in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText()) and 选项变更 == 1: - self.引力源光弹护石选项.setCurrentIndex(充能次数上限) - 选项变更 = 0 - elif '/CD' in self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentText() and '/CD' in self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发']].currentText() and 选项变更 == 1: - self.引力源光弹护石选项.setCurrentIndex(1) - - if sign == 0: - self.引力源光弹护石选项.setEnabled(False) - self.引力源光弹护石选项.setStyleSheet(下拉框样式) - self.引力源光弹护石选项.setCurrentIndex(0) - else: - self.引力源光弹护石选项.setEnabled(True) - self.引力源光弹护石选项.setStyleSheet(下拉框样式) - flag1 = 0 - flag2 = 0 - flag3 = 0 - - def 能量禁锢爆炸次数判断(self, 警告): - 能量禁锢次数 = 0 - 能量飞鱼弹次数 = 0 - 源能护盾次数 = 0 - - if '/CD' not in self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentText(): - try: - 能量禁锢次数 = int(self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentText()) - except: - 能量禁锢次数 = 1 - else: - 能量禁锢次数 = 1 - if '/CD' not in self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText(): - try: - 能量飞鱼弹次数 = int( - self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText()) - - except: - 能量飞鱼弹次数 = 2 - else: - 能量飞鱼弹次数 = 2 - if '/CD' not in self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText(): - try: - 源能护盾次数 = int(self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText()) - except: - 源能护盾次数 = 2 - else: - 源能护盾次数 = 2 - - sign2 = 0 - for x in range(3): - if self.护石栏[x].currentText() == '能量禁锢' and 能量禁锢次数 != 0 and (能量飞鱼弹次数+源能护盾次数) != 0: - sign2 = 1 - - 护石 = [] - for i in range(3): - 护石.append(self.护石栏[i].currentText()) - if "能量禁锢" in 护石: - self.flag1 = 1 - elif "能量禁锢" not in 护石: - self.flag1 = 0 - if self.flag1 == 1 and self.flag2 == 0: - self.flag2 = 1 - self.flag3 = 1 - elif self.flag1 == 1 and self.flag2 == 1: - self.flag3 = 0 - if self.flag1 == 0 and self.flag2 == 1: - self.flag2 = 0 - if self.flag3 == 1: - 警告 = False - 护石 = [] - - if 能量禁锢次数 != 0: - if 能量禁锢次数 == 1: - if(能量飞鱼弹次数+源能护盾次数) >= 2: - self.能量禁锢护石选项.setCurrentIndex(2) - else: - self.能量禁锢护石选项.setCurrentIndex(能量飞鱼弹次数+源能护盾次数) - else: - self.能量禁锢护石选项.setCurrentIndex(2) - else: - self.能量禁锢护石选项.setCurrentIndex(0) - if (能量飞鱼弹次数+源能护盾次数) < (能量禁锢次数*2) and sign2 == 1 and 警告 == False and ('/CD' not in self.次数输入[self.角色属性A.技能序号['源能护盾']].currentText() and '/CD' not in self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentText()): - QMessageBox.information( - self, "错误", "能量飞鱼弹与源能护盾次数不足以为能量禁锢提供"+str(能量禁锢次数*2)+"次爆炸,建议修改技能及爆炸次数,若不修改则按输入的数值计算") - 警告 = True - - if sign2 == 0: - self.能量禁锢护石选项.setEnabled(False) - self.能量禁锢护石选项.setStyleSheet(下拉框样式) - self.能量禁锢护石选项.setCurrentIndex(0) - else: - self.能量禁锢护石选项.setEnabled(True) - self.能量禁锢护石选项.setStyleSheet(下拉框样式) - - def 界面(self): - super().界面() - - self.引力源光弹护石选项 = MyQComboBox(self.main_frame2) - for i in range(100): - self.引力源光弹护石选项.addItem('引力源光弹充能次数:'+str(i)) - self.引力源光弹护石选项.resize(160, 20) - self.引力源光弹护石选项.move(300, 480) - self.引力源光弹护石选项.setCurrentIndex(1) - self.引力源光弹护石选项.setToolTip( - '修改对CEAB-2进行充能的次数,每次CEAB-2上限一次,受宠物技能影响。仅佩戴引力源光弹护石时生效') - - for i in range(3): - self.护石栏[i].currentIndexChanged.connect( - lambda state: self.引力源光弹充能次数判断(警告=1, 选项变更=1)) - self.次数输入[self.角色属性A.技能序号['引力源光弹']].currentIndexChanged.connect( - lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=1)) - self.次数输入[self.角色属性A.技能序号['CEAB-2超能爆发'] - ].currentIndexChanged.connect(lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=1)) - self.引力源光弹护石选项.currentIndexChanged.connect( - lambda state: self.引力源光弹充能次数判断(警告=0, 选项变更=0)) - - self.能量禁锢护石选项 = MyQComboBox(self.main_frame2) - self.能量禁锢护石选项.addItem('能量禁锢爆炸次数:0') - self.能量禁锢护石选项.addItem('能量禁锢爆炸次数:1') - self.能量禁锢护石选项.addItem('能量禁锢爆炸次数:2') - self.能量禁锢护石选项.resize(160, 20) - self.能量禁锢护石选项.move(300, 390) - self.能量禁锢护石选项.setCurrentIndex(2) - self.能量禁锢护石选项.setToolTip('修改每次能量禁锢爆炸次数,与源能护盾、能量飞鱼弹释放次数关联,仅佩戴能量禁锢护石时生效') - # bldic = {True:1,False:0} - for i in range(3): - self.护石栏[i].currentIndexChanged.connect( - lambda state: self.能量禁锢爆炸次数判断(警告=True)) - - self.次数输入[self.角色属性A.技能序号['能量禁锢']].currentIndexChanged.connect( - lambda state: self.能量禁锢爆炸次数判断(警告=False)) - self.次数输入[self.角色属性A.技能序号['能量飞鱼弹']].currentIndexChanged.connect( - lambda state: self.能量禁锢爆炸次数判断(警告=False)) - self.次数输入[self.角色属性A.技能序号['源能护盾']].currentIndexChanged.connect( - lambda state: self.能量禁锢爆炸次数判断(警告=False)) - - # 临界源能弹蓄力判断 - - self.临界源能弹蓄力选项 = QCheckBox('临界源能弹蓄力释放', self.main_frame2) - self.临界源能弹蓄力选项.resize(160, 20) - self.临界源能弹蓄力选项.move(320, 540) - self.临界源能弹蓄力选项.setStyleSheet(复选框样式) - self.临界源能弹蓄力选项.setToolTip('蓄力释放临界源能弹') - self.临界源能弹蓄力选项.setChecked(True) - - self.二觉hit选项 = MyQComboBox(self.main_frame2) - for i in range(6, 15): - self.二觉hit选项.addItem('终焉:超世界崩坏多段次数:' + str(i)) - self.二觉hit选项.setCurrentIndex(0) - self.二觉hit选项.resize(160, 20) - self.二觉hit选项.move(300, 510) - self.二觉hit选项.setToolTip('秒C6+1,打满14+1') - - self.职业存档.append(('引力源光弹护石选项', self.引力源光弹护石选项, 1)) - self.职业存档.append(('能量禁锢护石选项', self.能量禁锢护石选项, 1)) - self.职业存档.append(('临界源能弹蓄力选项', self.临界源能弹蓄力选项, 0)) - self.职业存档.append(('二觉hit选项', self.二觉hit选项, 1)) - - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - - 属性.引力源光弹充能次数 = self.引力源光弹护石选项.currentIndex() - # 属性.技能栏[属性.技能序号['能量禁锢']].爆炸次数 = self.能量禁锢护石选项.currentIndex() - 属性.能量禁锢爆炸次数 = self.能量禁锢护石选项.currentIndex() - 属性.二觉多段次数 = self.二觉hit选项.currentIndex() +6 - - if self.临界源能弹蓄力选项.isChecked(): - 属性.技能栏[属性.技能序号['临界源能弹']].攻击次数 = 0 - 属性.技能栏[属性.技能序号['临界源能弹']].攻击次数2 = 1 diff --git a/Characters/苍暮·特工.py b/Characters/苍暮·特工.py deleted file mode 100644 index 8e4c3f57..00000000 --- a/Characters/苍暮·特工.py +++ /dev/null @@ -1,590 +0,0 @@ -from math import * -from PublicReference.carry.base import * -# 2021.4.7 韩测 - - -class 职业主动技能(主动技能): - 锁定护石 = 0 - 歼灭次数 = 0 - - -class 技能0(职业主动技能): - 名称 = '连续射击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data0 = [int(x*1.0*932/888) for x in [0, 888, 979, 1069, 1159, 1250, 1340, 1430, 1520, 1611, 1701, 1790, 1881, 1971, 2061, 2151, 2242, 2332, 2422, 2513, 2603, 2693, 2784, 2873, 2963, 3053, 3144, 3234, 3324, 3415, 3505, 3595, 3686, - 3776, 3865, 3955, 4046, 4136, 4226, 4317, 4407, 4497, 4587, 4678, 4768, 4857, 4948, 5038, 5128, 5219, 5309, 5399, 5489, 5580, 5670, 5760, 5851, 5940, 6030, 6120, 6211, 6301, 6391, 6482, 6572, 6662, 6753, 6843, 6932, 7022, 7113]] - 攻击次数1 = 2 - data1 = [int(x*1.0*1244/1185) for x in [0, 1185, 1305, 1426, 1546, 1666, 1786, 1907, 2027, 2147, 2268, 2388, 2508, 2628, 2749, 2869, 2989, 3109, 3230, 3351, 3470, 3591, 3711, 3831, 3951, 4072, 4192, 4312, 4432, 4553, 4674, 4793, 4914, - 5034, 5154, 5274, 5395, 5515, 5635, 5756, 5876, 5997, 6116, 6237, 6357, 6477, 6597, 6718, 6838, 6958, 7079, 7199, 7320, 7439, 7560, 7680, 7800, 7920, 8041, 8161, 8281, 8402, 8522, 8643, 8762, 8883, 9003, 9123, 9243, 9364, 9485]] - 攻击次数2 = 1 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - -class 技能1(被动技能): - 名称 = '特工秘技' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.1 + 0.02 * self.等级, 5) - - -class 技能2(职业主动技能): - 名称 = '双弦斩' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(x*1.0*1246/1187) for x in [0, 1187, 1307, 1427, 1548, 1668, 1788, 1909, 2030, 2149, 2270, 2391, 2512, 2631, 2752, 2873, 2993, 3113, 3234, 3354, 3474, 3595, 3715, 3836, 3956, 4077, 4197, 4318, 4438, 4558, 4679, 4800, 4919, - 5040, 5161, 5280, 5401, 5522, 5642, 5762, 5883, 6004, 6124, 6244, 6365, 6485, 6606, 6726, 6846, 6967, 7088, 7207, 7328, 7449, 7568, 7689, 7810, 7931, 8050, 8171, 8292, 8412, 8532, 8653, 8773, 8894, 9014, 9134, 9255, 9375, 9495]] - 攻击次数1 = 1 - data1 = [int(x*1.0*1869/1780) for x in [0, 1780, 1960, 2141, 2322, 2502, 2683, 2863, 3044, 3225, 3406, 3587, 3767, 3948, 4129, 4309, 4490, 4670, 4851, 5032, 5212, 5393, 5573, 5754, 5935, 6115, 6296, 6476, 6657, 6838, 7018, 7199, 7379, 7560, 7741, - 7921, 8102, 8282, 8463, 8644, 8824, 9006, 9186, 9367, 9548, 9728, 9909, 10089, 10270, 10451, 10631, 10812, 10992, 11173, 11354, 11534, 11715, 11895, 12076, 12257, 12437, 12618, 12798, 12979, 13160, 13340, 13521, 13701, 13882, 14063, 14243]] - 攻击次数2 = 1 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - -class 技能3(职业主动技能): - 名称 = '月光挥斩' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 数据 = [int(x*1.0*2143/2029) for x in [0, 2029, 2234, 2441, 2647, 2853, 3059, 3264, 3470, 3676, 3882, 4088, 4293, 4499, 4705, 4912, 5118, 5324, 5529, 5735, 5941, 6147, 6353, 6558, 6764, 6970, 7177, 7383, 7588, 7794, 8000, 8206, 8412, 8617, 8823, 9029, - 9235, 9441, 9647, 9853, 10059, 10265, 10471, 10676, 10882, 11088, 11294, 11500, 11705, 11912, 12118, 12324, 12530, 12735, 12941, 13147, 13353, 13559, 13764, 13970, 14176, 14383, 14589, 14795, 15000, 15206, 15412, 15618, 15824, 16029, 16235]] - 攻击次数 = 2 - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = '小太刀精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.040 + 0.01 * self.等级, 5) - if self.等级 > 10: - return round(1.150 + 0.02 * (self.等级 - 10), 5) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 <= 10: - return round(1.040 + 0.01 * self.等级, 5) - if self.等级 > 10: - return round(1.150 + 0.02 * (self.等级 - 10), 5) - - -class 技能5(职业主动技能): - 名称 = '满月斩' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(x*1.0*1332/1217) for x in [0, 1217, 1341, 1465, 1588, 1712, 1835, 1958, 2082, 2205, 2329, 2453, 2576, 2700, 2823, 2946, 3070, 3194, 3317, 3441, 3565, 3688, 3812, 3935, 4058, 4182, 4306, 4429, 4553, 4677, 4800, 4923, 5047, - 5170, 5294, 5418, 5541, 5665, 5788, 5912, 6035, 6158, 6282, 6406, 6529, 6653, 6777, 6900, 7023, 7147, 7270, 7394, 7518, 7641, 7765, 7889, 8012, 8135, 8259, 8382, 8506, 8630, 8753, 8877, 9001, 9123, 9247, 9370, 9494, 9618, 9741]] - 攻击次数1 = 3 - data1 = [int(x*1.0*4884/4465) for x in [0, 4465, 4917, 5371, 5823, 6277, 6729, 7182, 7636, 8088, 8542, 8994, 9447, 9900, 10353, 10807, 11259, 11712, 12165, 12618, 13071, 13524, 13977, 14430, 14883, 15336, 15789, 16241, 16695, 17148, 17601, 18054, 18506, 18960, - 19412, 19866, 20319, 20771, 21225, 21677, 22131, 22583, 23036, 23490, 23942, 24396, 24848, 25301, 25754, 26207, 26661, 27113, 27566, 28019, 28472, 28925, 29378, 29831, 30284, 30737, 31190, 31643, 32095, 32549, 33002, 33455, 33908, 34360, 34814, 35266, 35720]] - 攻击次数2 = 1 - CD = 15.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.8 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - -class 技能6(职业主动技能): - 名称 = '迅步突袭' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - 数据 = [int(x*1.0*2952/2695) for x in [0, 2695, 2968, 3241, 3515, 3788, 4062, 4335, 4608, 4883, 5157, 5429, 5703, 5977, 6250, 6523, 6797, 7070, 7344, 7617, 7890, 8164, 8438, 8711, 8984, 9258, 9532, 9804, 10078, 10352, 10624, 10898, 11172, 11445, 11719, - 11992, 12265, 12539, 12813, 13085, 13359, 13633, 13905, 14179, 14453, 14726, 14999, 15273, 15546, 15820, 16093, 16366, 16640, 16914, 17187, 17460, 17735, 18009, 18281, 18555, 18829, 19102, 19375, 19649, 19922, 20196, 20469, 20742, 21016, 21290, 21562]] - 攻击次数 = 1 - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - ### - # 倍率 = 1/1.072*1.103 - # 韩测加强 - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(职业主动技能): - 名称 = '月影秘步' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 数据 = [int(x*1.0) for x in [0, 837, 922, 1007, 1091, 1176, 1261, 1346, 1431, 1516, 1601, 1686, 1771, 1856, 1941, 2026, 2111, 2196, 2281, 2365, 2450, 2535, 2620, 2705, 2790, 2875, 2960, 3045, 3130, 3215, 3300, 3385, 3470, 3554, - 3639, 3724, 3809, 3894, 3979, 4064, 4149, 4234, 4319, 4404, 4489, 4574, 4659, 4744, 4828, 4913, 4998, 5083, 5168, 5253, 5338, 5423, 5508, 5593, 5678, 5763, 5848, 5933, 6017, 6102, 6187, 6272, 6357, 6442, 6527, 6612, 6697]] - 攻击次数 = 6 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.18 - self.CD *= 0.85 - elif x == 1: - self.倍率 *= 1.27 - self.CD *= 0.85 - - -class 技能8(职业主动技能): - 名称 = '锁定射击' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - 数据 = [int(x*1.0*1300/1210*1.1) for x in [0, 1210, 1332, 1455, 1578, 1701, 1823, 1946, 2069, 2191, 2314, 2437, 2560, 2683, 2806, 2928, 3051, 3174, 3296, 3419, 3542, 3665, 3787, 3910, 4033, 4156, 4279, 4402, 4524, 4646, 4769, 4892, 5015, - 5138, 5261, 5383, 5506, 5629, 5752, 5875, 5997, 6119, 6242, 6365, 6488, 6611, 6734, 6857, 6979, 7102, 7225, 7347, 7470, 7593, 7715, 7838, 7961, 8084, 8207, 8330, 8453, 8575, 8698, 8820, 8943, 9066, 9189, 9311, 9434, 9557, 9680]] - 攻击次数 = 1 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.6 - 4.2 - 锁定护石 = 0 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.05 - self.锁定护石 = 1 - elif x == 1: - self.倍率 *= 1.14 - self.锁定护石 = 1 - - -class 技能9(职业主动技能): - 名称 = '枪刃旋杀' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(x*1.0*1218/1160*1.102) for x in [0, 1160, 1278, 1395, 1514, 1632, 1749, 1867, 1985, 2102, 2221, 2338, 2456, 2574, 2691, 2809, 2926, 3045, 3163, 3280, 3398, 3515, 3633, 3752, 3869, 3987, 4104, 4222, 4340, 4458, 4576, 4694, - 4811, 4929, 5046, 5164, 5283, 5400, 5518, 5635, 5753, 5871, 5989, 6107, 6224, 6342, 6460, 6577, 6696, 6813, 6931, 7049, 7166, 7284, 7403, 7520, 7638, 7755, 7873, 7991, 8108, 8227, 8344, 8462, 8580, 8697, 8815, 8933, 9051, 9169, 9286]] - 攻击次数1 = 1 - data1 = [int(x*1.0*1044/994*1.102) for x in [0, 994, 1095, 1196, 1298, 1399, 1499, 1600, 1701, 1802, 1903, 2003, 2105, 2206, 2307, 2408, 2508, 2609, 2710, 2812, 2913, 3014, 3114, 3215, 3316, 3417, 3519, 3619, 3720, 3821, 3922, 4023, - 4123, 4225, 4326, 4427, 4528, 4628, 4729, 4830, 4931, 5033, 5133, 5234, 5335, 5436, 5537, 5637, 5739, 5840, 5941, 6042, 6143, 6243, 6344, 6446, 6547, 6648, 6748, 6849, 6950, 7051, 7152, 7253, 7354, 7455, 7556, 7657, 7757, 7858, 7960]] - 攻击次数2 = 17 - 数据3 = [int(x*1.0*5375/5119*1.102) for x in [0, 5119, 5639, 6157, 6677, 7197, 7715, 8235, 8755, 9274, 9793, 10313, 10832, 11352, 11870, 12390, 12910, 13428, 13948, 14468, 14987, 15506, 16026, 16545, 17065, 17583, 18103, 18623, 19142, 19661, 20181, 20700, 21219, 21739, - 22258, 22778, 23296, 23816, 24336, 24855, 25374, 25894, 26413, 26933, 27452, 27971, 28491, 29009, 29529, 30049, 30568, 31087, 31607, 32126, 32646, 33165, 33684, 34204, 34722, 35242, 35762, 36281, 36800, 37320, 37839, 38359, 38878, 39397, 39917, 40436, 40955]] - 攻击次数3 = 2 - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 4.5 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.数据3[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 *= 1.92 - self.攻击次数3 *= 0 - elif x == 1: - self.攻击次数2 *= 2.07 - self.攻击次数3 *= 0 - - -class 技能10(职业主动技能): - 名称 = '终极锁定' - 所在等级 = 60 - 等级上限 = 60 - 基础等级 = 23 - 数据 = [int(x*1.0*5564/5288*1.10) for x in [0, 5288, 5824, 6361, 6897, 7434, 7971, 8507, 9044, 9580, 10117, 10653, 11190, 11725, 12262, 12798, 13335, 13872, 14408, - 14945, 15481, 16018, 16554, 17091, 17627, 18164, 18701, 19237, 19774, 20310, 20847, 21383, 21920, 22456, 22992, 23528, 24065, 24602, 25138, 25675, 26211]] - 攻击次数 = 4 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.2 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.07 - self.CD *= 0.90 - self.攻击次数 += 0.6 - elif x == 1: - self.倍率 *= 1.16 - self.CD *= 0.90 - self.攻击次数 += 0.6 - - -class 技能11(被动技能): - 名称 = '使命觉悟' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025 + 0.02 * self.等级, 5) - - -class 技能12(职业主动技能): - 名称 = '噬血绝杀' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 数据 = [int(x*1.0*95112/90161) for x in [0, 29207, 35979, 42753, 49525, 56298, 63070, 69843, 76616, 83389, 90161, 96934, 103706, 110480, 117252, 124025, 130797, 137571, 144344, - 151116, 157889, 164661, 171435, 178207, 184980, 191752, 198526, 205298, 212071, 218843, 225616, 232389, 239162, 245934, 252707, 259480, 266253, 273025, 279798, 286570, 293344]] - 攻击次数 = 2 - 一觉减CD = 0 - 冷却关联技能 = ['所有'] - 暗杀目标加成 = 1.1 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.暗杀目标加成 * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def CD缩减倍率(self, 武器类型): - return round(1 - self.一觉减CD, 3) - - -class 技能13(职业主动技能): - 名称 = '月相轮舞' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(x*1.0*5100/4682*1.105) for x in [0, 4682, 5158, 5632, 6108, 6582, 7058, 7533, 8007, 8483, 8958, 9433, 9908, 10383, 10858, 11334, 11808, 12284, 12759, 13233, 13709, 14183, 14659, 15134, 15609, 16084, 16560, 17034, 17509, 17984, 18459, 18935, 19409, 19885, - 20360, 20835, 21310, 21784, 22260, 22735, 23210, 23685, 24161, 24635, 25111, 25585, 26061, 26536, 27010, 27486, 27960, 28436, 28911, 29386, 29861, 30337, 30811, 31286, 31761, 32236, 32712, 33186, 33662, 34137, 34612, 35087, 35561, 36037, 36512, 36987, 37462]] - 攻击次数1 = 2 - data1 = [int(x*1.0*5767/5294*1.105) for x in [0, 5294, 5832, 6368, 6906, 7442, 7980, 8517, 9054, 9591, 10128, 10666, 11202, 11740, 12277, 12814, 13351, 13888, 14425, 14963, 15500, 16037, 16574, 17111, 17648, 18185, 18723, 19259, 19797, 20334, 20871, 21408, 21945, - 22483, 23019, 23557, 24093, 24631, 25169, 25705, 26243, 26779, 27317, 27853, 28391, 28928, 29465, 30003, 30539, 31077, 31613, 32151, 32688, 33225, 33762, 34299, 34837, 35373, 35911, 36448, 36985, 37522, 38059, 38596, 39134, 39670, 40208, 40745, 41282, 41819, 42356]] - 攻击次数2 = 2 - 数据3 = [int(x*1.0*7210/6618*1.105) for x in [0, 6618, 7289, 7960, 8632, 9303, 9975, 10646, 11318, 11989, 12661, 13332, 14003, 14675, 15346, 16018, 16689, 17361, 18032, 18704, 19375, 20046, 20718, 21389, 22061, 22731, 23403, 24074, 24746, 25417, 26088, 26760, 27431, - 28103, 28774, 29446, 30117, 30789, 31460, 32131, 32803, 33474, 34146, 34817, 35489, 36160, 36832, 37503, 38174, 38846, 39517, 40189, 40860, 41532, 42203, 42875, 43546, 44217, 44889, 45560, 46232, 46902, 47574, 48245, 48917, 49588, 50259, 50931, 51602, 52274, 52945]] - 攻击次数3 = 2 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.0 - 护石选项 = ['魔界', '圣痕'] - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))+(self.数据3[self.等级] * self.攻击次数3 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.20 - self.CD *= 0.90 - elif x == 1: - self.倍率 *= 1.28 - self.CD *= 0.90 - - -class 技能14(职业主动技能): - 名称 = '月光镇魂曲' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(x*1.0*4834/4604*1.051) for x in [0, 4604, 5070, 5538, 6005, 6472, 6939, 7407, 7874, 8340, 8807, 9275, 9742, 10209, 10676, 11144, 11611, 12077, 12544, - 13012, 13479, 13946, 14413, 14881, 15347, 15814, 16281, 16749, 17216, 17683, 18150, 18617, 19084, 19551, 20018, 20486, 20953, 21420, 21887, 22353, 22821]] - 攻击次数1 = 9 - data1 = [int(x*1.0*18647/17759*1.051) for x in [0, 17759, 19560, 21362, 23164, 24966, 26768, 28569, 30371, 32173, 33975, 35776, 37577, 39379, 41181, 42983, 44785, 46586, - 48388, 50190, 51992, 53793, 55594, 57396, 59198, 61000, 62802, 64603, 66405, 68207, 70009, 71810, 73611, 75413, 77215, 79017, 80819, 82620, 84422, 86224, 88026]] - 攻击次数2 = 1 - CD = 40.0 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.攻击次数1 = 1.64*(9 - 3) - self.攻击次数2 *= 1.75 - - -class 技能15(被动技能): - 名称 = '冷酷杀意' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能16(职业主动技能): - 名称 = '毁灭狂欢' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(x*1.0*4993/4521*1.104) for x in [0, 4521, 4980, 5439, 5898, 6357, 6816, 7273, 7732, 8191, 8650, 9109, 9568, 10026, 10485, 10944, 11403, 11861, 12320, 12779, 13237, 13696, 14155, 14614, 15073, 15532, 15989, 16448, 16907, 17366, 17825, 18284, 18743, 19201, - 19660, 20119, 20577, 21036, 21495, 21953, 22412, 22871, 23330, 23789, 24248, 24707, 25164, 25623, 26082, 26541, 27000, 27459, 27917, 28376, 28835, 29294, 29752, 30211, 30669, 31128, 31587, 32046, 32505, 32964, 33423, 33880, 34339, 34798, 35257, 35716, 36175]] - 攻击次数1 = 9 - 暗杀目标追加攻击次数1 = 2 - data1 = [int(x*1.0*9693/8777*1.104) for x in [0, 8777, 9667, 10558, 11449, 12340, 13230, 14120, 15011, 15901, 16792, 17682, 18572, 19463, 20354, 21245, 22135, 23025, 23916, 24806, 25697, 26587, 27477, 28368, 29258, 30150, 31040, 31931, 32821, 33711, 34602, 35492, 36383, - 37273, 38163, 39055, 39945, 40836, 41726, 42616, 43507, 44397, 45288, 46178, 47068, 47959, 48850, 49741, 50631, 51521, 52412, 53302, 54193, 55083, 55973, 56864, 57755, 58646, 59536, 60426, 61317, 62207, 63098, 63988, 64878, 65769, 66659, 67551, 68441, 69332, 70222]] - 攻击次数2 = 1 - CD = 45.0 - 演出时间 = 1.5 - 歼灭次数 = 0 - 是否有护石 = 1 - ### - # 倍率 = 1 / 1.115 * 1.12 - # 韩测加强 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * (self.攻击次数1 + self.暗杀目标追加攻击次数1) * (1 + self.TP成长 * self.TP等级))+(self.data1[self.等级] * self.攻击次数2 * (1 + self.TP成长 * self.TP等级))) * self.倍率 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.33 - - -class 技能17(职业主动技能): - 名称 = '精准射击' - 技能图标顺序 = 5 - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 数据 = [int(x*1.0*5652/5211*1.1) for x in [0, 5211, 5740, 6270, 6798, 7327, 7855, 8384, 8912, 9442, 9971, 10499, 11028, 11556, 12086, 12615, 13143, 13672, 14200, 14729, 15258, 15787, 16316, 16844, 17373, 17901, 18431, 18960, 19488, 20017, 20545, 21075, 21603, 22132, - 22661, 23189, 23718, 24247, 24776, 25305, 25833, 26362, 26891, 27420, 27948, 28477, 29006, 29534, 30064, 30592, 31121, 31650, 32178, 32708, 33236, 33765, 34293, 34822, 35351, 35880, 36409, 36937, 37466, 37994, 38523, 39053, 39581, 40110, 40638, 41167, 41697]] - 攻击次数 = 1 - CD = 8.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 0.5 - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能18(职业主动技能): - 名称 = '月相天陨' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(x*1.0*4402/4174) for x in [0, 4174, 5142, 6110, 7078, 8046, 9014, 9982, 10950, 11918, 12886, 13854, 14822, 15790, 16758, 17726, 18694, 19662, 20630, 21597, 22566, 23534, 24502, 25470, 26438, 27406, 28374, 29342, 30310, 31277, 32246, 33214, 34182, 35150, - 36118, 37086, 38054, 39022, 39990, 40957, 41925, 42894, 43862, 44830, 45798, 46766, 47734, 48702, 49670, 50637, 51605, 52574, 53542, 54510, 55478, 56446, 57414, 58382, 59350, 60317, 61285, 62253, 63222, 64190, 65158, 66126, 67094, 68062, 69030, 69997, 70965]] - 攻击次数1 = 21 - data1 = [int(x*1.0*49783/47203) for x in [0, 47203, 58149, 69095, 80040, 90987, 101932, 112878, 123824, 134770, 145716, 156661, 167607, 178553, 189499, 200445, 211390, 222336, 233282, 244228, 255173, 266119, 277066, 288011, 298957, 309902, 320849, 331795, 342740, 353686, 364631, 375578, 386523, 397469, - 408415, 419361, 430307, 441252, 452198, 463143, 474090, 485036, 495981, 506927, 517873, 528819, 539765, 550710, 561657, 572602, 583548, 594493, 605439, 616386, 627331, 638277, 649222, 660169, 671114, 682060, 693006, 703952, 714898, 725843, 736789, 747734, 758681, 769627, 780572, 791518, 802464]] - 攻击次数2 = 1 - CD = 180.0 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1)+(self.data1[self.等级] * self.攻击次数2)) * self.倍率 - - -class 技能19(被动技能): - 名称 = '无暇' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能20(职业主动技能): - 名称 = '夜影迷踪' - 所在等级 = 95 - 等级上限 = 11 - 基础等级 = 6 - data0 = [int(x*1.0*54754/49942) for x in [0, 33135, 36496, 39858, 43219, 46581, 49942, 53304, 56665, 60027, 63389, 66751, 70112, 73474, 76835, 80197, 83558, 86919, 90281, 93643, 97004, 100365, 103727, 107090, 110451, 113812, 117173, 120536, 123897, 127258, 130619, 133982, 137343, 140704, 144065, - 147428, 150789, 154151, 157512, 160874, 164236, 167597, 170958, 174319, 177682, 181043, 184404, 187765, 191128, 194489, 197850, 201212, 204574, 207936, 211297, 214658, 218020, 221382, 224743, 228104, 231466, 234828, 238189, 241550, 244913, 248274, 251636, 254997, 258359, 261720, 265082]] - 攻击次数1 = 1 - data1 = [int(x*1.0*58404/53273) for x in [0, 35343, 38930, 42515, 46101, 49686, 53273, 56858, 60443, 64029, 67615, 71201, 74786, 78372, 81957, 85544, 89128, 92714, 96300, 99885, 103471, 107057, 110643, 114228, 117814, 121400, 124985, 128570, 132156, 135742, 139328, 142913, 146499, 150085, 153671, - 157255, 160842, 164427, 168014, 171598, 175184, 178770, 182356, 185941, 189526, 193113, 196698, 200284, 203869, 207456, 211041, 214627, 218212, 221797, 225384, 228968, 232555, 236140, 239727, 243311, 246898, 250483, 254069, 257654, 261240, 264826, 268412, 271997, 275582, 279168, 282753]] - 攻击次数2 = 1 - 数据3 = [int(x*1.0*69355/63260) for x in [0, 41971, 46228, 50486, 54745, 59003, 63260, 67518, 71777, 76035, 80292, 84550, 88808, 93067, 97325, 101582, 105840, 110098, 114356, 118614, 122872, 127131, 131389, 135646, 139904, 144162, 148420, 152677, 156935, 161193, 165453, 169710, 173968, 178226, - 182484, 186741, 190999, 195257, 199515, 203774, 208031, 212290, 216548, 220806, 225063, 229321, 233579, 237837, 242095, 246353, 250611, 254869, 259127, 263385, 267643, 271901, 276158, 280417, 284675, 288933, 293190, 297448, 301706, 305965, 310223, 314480, 318739, 322997, 327255, 331512, 335770]] - 攻击次数3 = 1 - CD = 60 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1)+(self.data1[self.等级] * self.攻击次数2)+(self.数据3[self.等级] * self.攻击次数3)) * self.倍率 - - -class 技能21(职业主动技能): - 名称 = '月夜:终极行动' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [int(x*1.0*32437/29533) for x in [0, 23975, 29533, 35093, 40653, 46213, 51771, 57331, 62891, 68450, 74009, 79568, 85128, 90687, 96247, 101806, 107366, 112924, 118485, 124044, 129603, 135162, 140722, 146282, 151841, 157400, 162959, 168520, 174078, 179638, 185197, 190757, 196316, 201875, - 207435, 212994, 218554, 224113, 229673, 235232, 240791, 246351, 251911, 257469, 263029, 268588, 274148, 279707, 285266, 290826, 296386, 301945, 307504, 313064, 318623, 324183, 329742, 335302, 340860, 346419, 351980, 357539, 363098, 368657, 374218, 379777, 385336, 390895, 396455, 402015, 407574]] - 攻击次数1 = 11 - data1 = [int(x*1.0*152919/139233) for x in [0, 113024, 139233, 165441, 191650, 217858, 244067, 270276, 296484, 322693, 348901, 375110, 401319, 427527, 453737, 479945, 506154, 532363, 558571, 584780, 610988, 637197, 663406, 689614, 715823, 742031, 768240, 794449, 820657, 846866, 873074, 899283, 925492, 951700, 977909, 1004117, - 1030326, 1056536, 1082744, 1108953, 1135161, 1161370, 1187579, 1213787, 1239996, 1266204, 1292414, 1318623, 1344831, 1371040, 1397248, 1423457, 1449666, 1475874, 1502083, 1528291, 1554500, 1580709, 1606917, 1633126, 1659334, 1685543, 1711752, 1737960, 1764169, 1790377, 1816586, 1842795, 1869003, 1895212, 1921421]] - 攻击次数2 = 1 - CD = 290 - - def 等效百分比(self, 武器类型): - return ((self.data0[self.等级] * self.攻击次数1)+(self.data1[self.等级] * self.攻击次数2)) * self.倍率 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -苍暮·特工一觉序号 = 0 -苍暮·特工二觉序号 = 0 -苍暮·特工三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 苍暮·特工一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 苍暮·特工二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 苍暮·特工三觉序号 = 技能序号[i.名称] - -苍暮·特工护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 苍暮·特工护石选项.append(i.名称) - -苍暮·特工符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 苍暮·特工符文选项.append(i.名称) - - -class 苍暮·特工角色属性(角色属性): - - 实际名称 = '苍暮·特工' - 角色 = '枪剑士' - 职业 = '特工' - - 武器选项 = ['小太刀'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.00 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - if i.名称 == '毁灭狂欢': - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - i.歼灭次数 += (int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型) + 1 + i.基础释放次数)) - else: - i.歼灭次数 += (eval(self.次数输入[self.技能序号[i.名称]])+i.基础释放次数) - for i in self.技能栏: - if i.是否有伤害 == 1 and i.名称 != '月影秘步' and i.名称 != '锁定射击': - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - 技能释放次数.append(int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型) + 1 + i.基础释放次数)) - else: - 技能释放次数.append(eval(self.次数输入[self.技能序号[i.名称]])) - elif i.名称 == '月影秘步': - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - # 计算CD时间为技能释放完毕后 - 技能释放次数.append(int((self.时间输入 - i.演出时间) / - (i.等效CD(self.武器类型, self.类型)+1) + 1 + i.基础释放次数)*3) - else: - 技能释放次数.append(eval(self.次数输入[self.技能序号[i.名称]])) - elif i.名称 == '锁定射击': - if '/CD' in self.次数输入[self.技能序号[i.名称]] and self.技能栏[self.技能序号['锁定射击']].锁定护石 == 1: - 技能释放次数.append(int(int((self.时间输入 - i.演出时间)/i.等效CD(self.武器类型, self.类型) + - 1 + i.基础释放次数) * 12)+(int(self.技能栏[self.技能序号['毁灭狂欢']].歼灭次数 * 6))) - elif '/CD' in self.次数输入[self.技能序号[i.名称]] and self.技能栏[self.技能序号['锁定射击']].锁定护石 == 0: - 技能释放次数.append( - int((self.时间输入 - i.演出时间)/i.等效CD(self.武器类型, self.类型) + 1 + i.基础释放次数) * 12) - else: - 技能释放次数.append(eval(self.次数输入[self.技能序号[i.名称]])) - else: - 技能释放次数.append(0) - - return self.技能释放次数解析(技能释放次数) - - -class 苍暮·特工(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 苍暮·特工角色属性() - self.角色属性A = 苍暮·特工角色属性() - self.角色属性B = 苍暮·特工角色属性() - self.一觉序号 = 苍暮·特工一觉序号 - self.二觉序号 = 苍暮·特工二觉序号 - self.三觉序号 = 苍暮·特工三觉序号 - self.护石选项 = deepcopy(苍暮·特工护石选项) - self.符文选项 = deepcopy(苍暮·特工符文选项) - - def 界面(self): - super().界面() - self.一觉减CD开关 = QCheckBox('一觉减CD Buff', self.main_frame2) - self.一觉减CD开关.setChecked(False) - self.一觉减CD开关.resize(120, 20) - self.一觉减CD开关.move(325, 400) - self.一觉减CD开关.setStyleSheet(复选框样式) - self.职业存档.append(('一觉减CD开关', self.一觉减CD开关, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.一觉减CD开关.isChecked(): - 属性.技能栏[属性.技能序号['噬血绝杀']].一觉减CD = 0.1 diff --git a/Characters/重霄·合金战士.py b/Characters/重霄·合金战士.py deleted file mode 100644 index bacd2b43..00000000 --- a/Characters/重霄·合金战士.py +++ /dev/null @@ -1,622 +0,0 @@ -from PublicReference.carry.base import * -from math import * - - -class 主动技能(主动技能): - 电弧能量充能 = 0 -# 等级 = 100 + 5 - - -# class 职业主动技能(主动技能): -# 技能施放时间 = 0.0 -# 脱手 = 1 -# data0 = [] -# data1 = [] -# data2 = [] -# data3 = [] - -# def 等效百分比(self, 武器类型): -# 等效倍率 = 0.0 -# if len(self.data0) >= self.等级 and len(self.data0) > 0: -# 等效倍率 += self.data0[self.等级] * self.攻击次数 -# if len(self.data1) >= self.等级 and len(self.data1) > 0: -# 等效倍率 += self.data1[self.等级] * self.攻击次数1 -# if len(self.data2) >= self.等级 and len(self.data2) > 0: -# 等效倍率 += self.data2[self.等级] * self.攻击次数2 -# if len(self.data3) >= self.等级 and len(self.data3) > 0: -# 等效倍率 += self.data3[self.等级] * self.攻击次数3 -# return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 -class 技能0(被动技能): - 名称 = '基础精通' - 倍率 = 1.0 - 所在等级 = 1 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['瞄准射击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能1(主动技能): - 名称 = '超频:压制' - 电弧能量充能 = 20 - 所在等级 = 5 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础 = 1625 - 165 - 成长 = 165 - 攻击次数 = 1 - # 学习诺维尔计划:涅磐后减少1秒 - CD = 6.0 - 1 - TP成长 = 0.1 - TP上限 = 7 - -class 技能2(主动技能): - 名称 = '烟尘弹' - 所在等级 = 10 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 409 - 42 - 成长 = 42 - 攻击次数 = 6 - CD = 6 - TP成长 = 0.08 - TP上限 = 7 - -class 技能3(被动技能): - 名称 = '合金战士自动手枪精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.13 + 0.02 * self.等级, 3) - - def 物理攻击力倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.13 + 0.02 * self.等级, 3) - -class 技能4(主动技能): - 名称 = '瞄准射击' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 130 - 成长 = 0 - 攻击次数 = 7 - CD = 3 - TP成长 = 0.10 - TP上限 = 3 - -class 技能5(被动技能): - 名称 = '弱点扫描' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.02 * self.等级, 3) - -class 技能6(主动技能): - 名称 = '枪托强击' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 4221 - 428 - 成长 = 428 - CD = 8 - TP成长 = 0.1 - TP上限 = 7 - -class 技能7(主动技能): - 名称 = '改装榴弹' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 3132 - 317 - 成长 = 317 - CD = 6 - TP成长 = 0.1 - TP上限 = 7 - -class 技能8(被动技能): - 名称 = '改造烟尘弹' - 所在等级 = 25 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['烟尘弹'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.2, 3) - -class 技能9(主动技能): - 名称 = '超频:重盾保卫' - 电弧能量充能 = 30 - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 6325 - 642 - 成长 = 642 - # 基础 = 6470 - 656 - # 成长 = 656 - CD = 6 - TP成长 = 0.1 - TP上限 = 7 - -class 技能10(主动技能): - 名称 = '磁力手雷' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 2011 - 204 - 成长 = 204 - 攻击次数 = 3 - CD = 12 - TP成长 = 0.1 - TP上限 = 7 - -class 技能11(主动技能): - 名称 = '三连霰弹' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 1016 - 103 - 成长 = 103 - 攻击次数 = 1 - 基础2 = 1524 - 155 - 成长2 = 155 - 攻击次数2 = 1 - 基础3 = 2540 - 258 - 成长3 = 258 - 攻击次数3 = 1 - CD = 8 - TP成长 = 0.1 - TP上限 = 7 - -class 技能12(主动技能): - 名称 = '爆裂飞踢' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 3233 - 328 - 成长 = 328 - 攻击次数 = 1 - 基础2 = 1212 - 123 - 成长2 = 123 - 攻击次数2 = 4 - CD = 15 - TP成长 = 0.1 - TP上限 = 7 - -class 技能13(主动技能): - 名称 = '超频:机械冲撞' - 电弧能量充能 = 30 - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - # 撞击 - 基础 = 4707 - 478 - 成长 = 478 - 攻击次数 = 1 - # 炮 - 基础2 = 3138 - 318 - 成长2 = 318 - 攻击次数2 = 1 - CD = 13 - TP成长 = 0.1 - TP上限 = 7 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.攻击次数2 = 0 - self.攻击次数 = 1+0.91+0.32 - -class 技能14(主动技能): - 名称 = '战略轰炸' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - # 榴弹 - 基础 = 1647 - 167 - 成长 = 167 - 攻击次数 = 3 - # 手榴弹 - 基础2 = 2471 - 251 - 成长2 = 251 - 攻击次数2 = 3 - CD = 20 - TP成长 = 0.1 - TP上限 = 7 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.攻击次数 += 2 - self.基础 *= 0.83 - self.成长 *= 0.83 - self.基础2 *= 1.29 - self.成长2 *= 1.29 - self.CD *= 0.9 - -class 技能15(主动技能): - 名称 = '雷达扫射' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 基础 = 1446 - 147 - 成长 = 147 - 攻击次数 = 15 - CD = 40 - TP成长 = 0.1 - TP上限 = 7 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.攻击次数 *= 1+0.14+0.17 - self.CD *= 0.95 - -class 技能16(被动技能): - 名称 = '机体复原' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.04 + 0.02 * self.等级, 3) - -class 技能17(主动技能): - 名称 = '电弧能量释放' - 所在等级 = 48 - 等级上限 = 1 - 基础等级 = 1 - 基础 = 8816 - 1406 - 成长 = 1406 - 攻击次数 = 1 - CD = 1 - -class 技能18(主动技能): - 名称 = '超频:全领域攻击' - 电弧能量充能 = 100 - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础 = 5230 - 成长 = 1577 - 攻击次数 = 1 - 基础2 = 2613 - 成长2 = 789 - 攻击次数2 = 8 - 基础3 = 26138 - 成长3 = 7889 - 攻击次数3 = 1 - CD = 145 - -class 技能19(主动技能): - 名称 = '超频:电流闪踢' - 电弧能量充能 = 50 - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 基础 = 17383 - 1764 - 成长 = 1764 - CD = 25 - TP成长 = 0.1 - TP上限 = 7 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.攻击次数 *= 1+0.15+0.16 - self.CD *= 0.9 - -class 技能20(主动技能): - 名称 = '堡垒轰击' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 基础 = 1314 - 133 - 成长 = 133 - 攻击次数 = 30 - CD = 50 - TP成长 = 0.1 - TP上限 = 7 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - # 变成充能类技能 - self.基础释放次数 = 2 - self.倍率 *= 1-0.43+0.13 - self.CD *= 0.5 - -class 技能21(主动技能): - 名称 = 'AT-SO步行者' - 备注 = '自动射击' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 基础 = 1022 - 104 - 成长 = 104 - 攻击次数 = 28*4 - CD = 40 - CD_min = 20 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.CD_min = 30 - # 增加持续时间 - self.攻击次数 *=30/20 - # 自爆 - self.攻击次数 += 5.6 - - -class 技能22(被动技能): - 名称 = '躯体重塑' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 3) - -class 技能23(主动技能): - 名称 = '炎神攻城炮' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 精通等级 = 30 - 基础 = 67684 - 6866 - 成长 = 6866 - CD = 45 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.倍率 *=1.25 - self.CD *= 0.9 - -class 技能24(主动技能): - 名称 = '超频:伊奎利斯-MR' - 电弧能量充能 = 100 - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础 = 7802 - 1809 - 成长 = 1809 - 攻击次数 = 20 - CD = 180 - -class 技能25(被动技能): - 名称 = '诺维尔计划:涅磐' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - -class 技能26(主动技能): - 名称 = '超频:音速瞬杀' - 电弧能量充能 = 70 - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 10 - - CD = 60 - - 基础 = 6349 - 644 - 成长 = 644 - 攻击次数 = 4 - - 基础2 = 38097 - 3864 - 成长2 = 3864 - 攻击次数2 =1 - - 基础3 = 63495 - 6441 - 成长3 = 6441 - 攻击次数3 = 1 - -class 技能27(主动技能): - 电弧能量充能 = 100 - 名称 = '超频:末世终结之战' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - 关联技能 = ['无'] - - CD = 290.0 - # 战场脉冲+落地冲击波 - 基础 = 41744 - 9679 - 成长 = 9679 - 攻击次数 = 2 - - 基础2 = 5218 - 1209 - 成长2 = 1209 - 攻击次数2 = 12 - - 基础3 = 20872 - 4839 - 成长3 = 4839 - 攻击次数3 = 3 - - 基础4 = 208720 - 48398 - 成长4 = 48398 - 攻击次数4 = 1 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int( - (self.攻击次数 * (self.基础 + self.成长 * self.等级) + self.攻击次数2 * - (self.基础2 + self.成长2 * self.等级) + self.攻击次数3 * - (self.基础3 + self.成长3 * self.等级) + self.攻击次数4 * - (self.基础4 + self.成长4 * self.等级)) * - (1 + self.TP成长 * self.TP等级) * self.倍率) - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - - -class 职业属性(角色属性): - 实际名称 = '重霄·合金战士' - 角色 = '神枪手(男)' - 职业 = '合金战士' - - 武器选项 = ['自动手枪'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2 - - def __init__(self, 技能列表, 技能序号): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['电弧能量释放']].等级 = self.技能栏[self.技能序号['机体复原']].等级 - - def 武器基础(self): - temp = equ.get_equ_by_name(self.装备栏[11]) - self.力量 += temp.智力 - self.智力 += temp.智力 - self.物理攻击力 += temp.魔法攻击力 - self.魔法攻击力 += temp.魔法攻击力 - self.独立攻击力 += temp.独立攻击力 - - if temp.所属套装 != '智慧产物': - self.物理攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '魔法') - self.魔法攻击力 += 武器计算(temp.等级, temp.品质, - self.强化等级[11], self.武器类型, '魔法') - self.独立攻击力 += 锻造计算(temp.等级, temp.品质, self.武器锻造等级) - - def 技能释放次数计算(self): - 技能释放次数 = [] - 充能 = 0 - for i in self.技能栏: - if i.是否有伤害 == 1: - s = self.次数输入[self.技能序号[i.名称]] - 次数 = 0 - if '/CD' in s: - if i.名称 == 'AT-SO步行者': - if self.时间输入 >= i.CD_min: - 次数 = self.时间输入 / max(i.等效CD(self.武器类型, self.类型),i.CD_min) - else: - 次数 = self.时间输入 / i.CD_min - else: - 次数 = int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型)) + 1 + i.基础释放次数 - else: - 次数 = round(float(s), 2) - 充能 += 次数 * i.电弧能量充能 - 技能释放次数.append(次数) - else: - 技能释放次数.append(0) - if '/CD' in self.次数输入[self.技能序号['电弧能量释放']]: - 技能释放次数[self.技能序号['电弧能量释放']] = int(充能/100) - return self.技能释放次数解析(技能释放次数) - -class 重霄·合金战士(角色窗口): - def 窗口属性输入(self): - 技能序号 = dict() - for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - - 一觉序号 = 0 - 二觉序号 = 0 - 三觉序号 = 0 - - for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - - 护石选项 = ['无'] - for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - - 符文选项 = ['无'] - for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1 and i.名称 != '爆裂弹': - 符文选项.append(i.名称) - self.初始属性 = 职业属性(技能列表, 技能序号) - self.角色属性A = 职业属性(技能列表, 技能序号) - self.角色属性B = 职业属性(技能列表, 技能序号) - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - diff --git a/Characters/重霄·弹药专家·女.py b/Characters/重霄·弹药专家·女.py deleted file mode 100644 index 35826bb2..00000000 --- a/Characters/重霄·弹药专家·女.py +++ /dev/null @@ -1,745 +0,0 @@ -from PublicReference.carry.base import * -from math import * - -等级 = 100 + 5 - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能0(被动技能): - 名称 = '单兵推进器' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['交叉射击', '聚合弹', '凝固汽油弹', '轻火力速射'] - 关联技能2 = ['爆裂弹'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + (10 + self.等级) / 100, 3) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + (2 * self.等级) / 100, 3) - - -class 技能1(被动技能): - 名称 = '兵器研究' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['EMP磁暴', '决战之日', '终解·制空霸权'] - - def 加成倍率(self, 武器类型): - return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) - - def 独立攻击力倍率(self, 武器类型): - return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 - 0.01 * self.等级, 3) - - -class 技能2(被动技能): - 名称 = '手雷精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['G35感电手雷', 'G18冰冻手雷'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.1 * self.等级, 3) - - -class 技能3(被动技能): - 名称 = '弹药改良' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['所有'] - 技能加成描述 = '' - 加成数值 = 1.0 - 关联技能2 = ['所有'] - - def 加成倍率(self, 武器类型): - return self.加成数值 - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.03 + min(10, self.等级) * 0.02 + max(0, self.等级 - 10) * 0.01 - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return self.技能加成描述 - - -class 技能4(职业主动技能): - 名称 = 'M18阔剑地雷' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.132)for i in [0, 700, 771, 842, 913, 984, 1055, 1126, 1197, 1268, 1340, 1411, 1482, 1553, 1624, 1695, 1766, 1837, 1908, 1979, 2050, 2121, 2192, 2263, 2334, 2406, 2477, 2548, 2619, 2690, 2761, 2832, 2903, 2974, - 3045, 3116, 3187, 3258, 3329, 3400, 3471, 3543, 3614, 3685, 3756, 3827, 3898, 3969, 4040, 4111, 4182, 4253, 4324, 4395, 4466, 4537, 4609, 4680, 4751, 4822, 4893, 4964, 5035, 5106, 5177, 5248, 5319, 5390, 5461, 5532, 5603]] - 攻击次数 = 3 - CD = 6.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能5(职业主动技能): - 名称 = 'G35感电手雷' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.142*1.063)for i in [0, 540, 595, 650, 705, 760, 815, 870, 924, 979, 1034, 1089, 1144, 1199, 1254, 1308, 1363, 1418, 1473, 1528, 1583, 1637, 1692, 1747, 1802, 1857, 1912, 1967, 2021, 2076, 2131, 2186, 2241, 2296, - 2350, 2405, 2460, 2515, 2570, 2625, 2680, 2734, 2789, 2844, 2899, 2954, 3009, 3063, 3118, 3173, 3228, 3283, 3338, 3393, 3447, 3502, 3557, 3612, 3667, 3722, 3777, 3831, 3886, 3941, 3996, 4051, 4106, 4160, 4215, 4270, 4325]] - 攻击次数 = 1 - data1 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14] - 攻击次数2 = 18 - CD = 3.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 基础释放次数 = 3 - - # def 等效CD(self, 武器类型, 输出类型): - # # 经过测试,手雷恢复速度无法享受技能冷却恢复加成 - # return round(self.CD, 1) - - -class 技能6(职业主动技能): - 名称 = '交叉射击' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.153)for i in [0, 1329, 1463, 1598, 1733, 1868, 2003, 2138, 2272, 2407, 2542, 2677, 2812, 2947, 3081, 3216, 3351, 3486, 3621, 3756, 3890, 4025, 4160, 4295, 4430, 4565, 4699, 4834, 4969, 5104, 5239, 5374, 5508, 5643, - 5778, 5913, 6048, 6183, 6317, 6452, 6587, 6722, 6857, 6992, 7126, 7261, 7396, 7531, 7666, 7801, 7935, 8070, 8205, 8340, 8475, 8610, 8744, 8879, 9014, 9149, 9284, 9419, 9553, 9688, 9823, 9958, 10093, 10228, 10362, 10497, 10632]] - 攻击次数 = 3 - CD = 8.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能7(职业主动技能): - 名称 = '爆裂弹' - 所在等级 = 30 - 等级上限 = 20 - 基础等级 = 10 - data0 = [int(i*1.157)for i in [0, 662, 768, 873, 978, 1084, 1189, 1294, 1400, - 1506, 1611, 1717, 1822, 1927, 2033, 2138, 2244, 2350, 2455, 2561, 2666]] - 攻击次数 = 1 - CD = 5.0 - - -class 技能8(职业主动技能): - 名称 = 'G18冰冻手雷' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.115*1.076)for i in [0, 666, 733, 801, 869, 936, 1004, 1071, 1139, 1207, 1274, 1342, 1409, 1477, 1545, 1612, 1680, 1747, 1815, 1883, 1950, 2018, 2085, 2153, 2220, 2288, 2356, 2423, 2491, 2558, 2626, 2694, 2761, - 2829, 2896, 2964, 3032, 3099, 3167, 3234, 3302, 3370, 3437, 3505, 3572, 3640, 3708, 3775, 3843, 3910, 3978, 4046, 4113, 4181, 4248, 4316, 4384, 4451, 4519, 4586, 4654, 4722, 4789, 4857, 4924, 4992, 5060, 5127, 5195, 5262, 5330]] - 攻击次数 = 1 - 基础释放次数 = 3 - CD = 4.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - # def 等效CD(self, 武器类型, 输出类型): - # # 经过测试,手雷恢复速度无法享受技能冷却恢复加成 - # return round(self.CD, 1) - - -class 技能9(职业主动技能): - 名称 = '聚合弹' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.216)for i in [0, 8804, 9698, 10591, 11484, 12377, 13271, 14164, 15057, 15951, 16844, 17737, 18630, 19524, 20417, 21310, 22203, 23097, 23990, 24883, 25776, 26670, 27563, 28456, 29349, 30243, 31136, 32029, 32922, 33816, 34709, 35602, 36495, 37389, - 38282, 39175, 40068, 40962, 41855, 42748, 43641, 44535, 45428, 46321, 47215, 48108, 49001, 49894, 50788, 51681, 52574, 53467, 54361, 55254, 56147, 57040, 57934, 58827, 59720, 60613, 61507, 62400, 63293, 64186, 65080, 65973, 66866, 67759, 68653, 69546, 70439]] - 攻击次数 = 1 - CD = 18.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能10(职业主动技能): - 名称 = 'C4飞弹' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.151)for i in [0, 8305, 9148, 9990, 10833, 11676, 12518, 13361, 14203, 15046, 15889, 16731, 17574, 18416, 19259, 20102, 20944, 21787, 22629, 23472, 24315, 25157, 26000, 26842, 27685, 28528, 29370, 30213, 31055, 31898, 32741, 33583, 34426, 35268, - 36111, 36954, 37796, 38639, 39481, 40324, 41167, 42009, 42852, 43694, 44537, 45380, 46222, 47065, 47907, 48750, 49593, 50435, 51278, 52120, 52963, 53806, 54648, 55491, 56333, 57176, 58019, 58861, 59704, 60546, 61389, 62232, 63074, 63917, 64759, 65602, 66445]] - 攻击次数 = 1 - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [i * 1.16 for i in self.data0] - elif 类型 == 1: - self.data0 = [i * 1.25 for i in self.data0] - - -class 技能11(职业主动技能): - 名称 = '凝固汽油弹' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.204)for i in [0, 9616, 10591, 11566, 12541, 13518, 14493, 15468, 16444, 17420, 18395, 19370, 20345, 21322, 22297, 23272, 24248, 25224, 26199, 27174, 28150, 29125, 30101, 31076, 32052, 33027, 34003, 34979, 35954, 36929, 37905, 38880, 39856, 40831, - 41806, 42783, 43758, 44733, 45710, 46685, 47660, 48635, 49610, 50587, 51562, 52537, 53513, 54489, 55464, 56439, 57414, 58391, 59366, 60341, 61317, 62292, 63268, 64244, 65219, 66194, 67170, 68145, 69121, 70096, 71072, 72048, 73023, 73998, 74973, 75949, 76925]] - 攻击次数 = 1 - data1 = [int(i*1.204)for i in [0, 50, 53, 59, 63, 69, 73, 79, 83, 89, 93, 98, 104, 108, 114, 118, 124, 128, 134, 137, 143, 148, 153, 159, 163, 169, 173, 178, 182, 188, 193, 198, 203, 208, - 214, 218, 223, 227, 233, 238, 243, 248, 253, 258, 262, 268, 273, 278, 283, 288, 293, 298, 302, 307, 312, 318, 323, 328, 333, 338, 343, 347, 352, 357, 363, 367, 373, 378, 383, 387, 392]] - 攻击次数2 = 15 - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [x * 1.31 for x in self.data0] - self.攻击次数2 = 0 - self.CD *= 0.94 - elif 类型 == 1: - self.data0 = [x * 1.40 for x in self.data0] - self.攻击次数2 = 0 - self.CD *= 0.94 - - -class 技能12(职业主动技能): - 名称 = '镭射狙击' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data0 = [int(i*1.161*1.056)for i in [0, 3351, 3691, 4031, 4371, 4711, 5051, 5391, 5731, 6071, 6411, 6752, 7092, 7432, 7772, 8112, 8452, 8792, 9132, 9472, 9812, 10152, 10492, 10832, 11172, 11512, 11852, 12192, 12532, 12872, 13212, 13552, 13892, 14232, 14572, - 14912, 15252, 15592, 15932, 16272, 16612, 16952, 17292, 17632, 17973, 18313, 18653, 18993, 19333, 19673, 20013, 20353, 20693, 21033, 21373, 21713, 22053, 22393, 22733, 23073, 23413, 23753, 24093, 24433, 24773, 25113, 25453, 25793, 26133, 26473, 26813]] - 攻击次数 = 5 - CD = 45.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [x * 0.26 for x in self.data0] - self.攻击次数 = 24 - self.技能施放时间 = 3.0 - elif 类型 == 1: - self.data0 = [x * 0.28 for x in self.data0] - self.攻击次数 = 24 - self.技能施放时间 = 3.0 - - -class 技能13(被动技能): - 名称 = '弹药强化' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - return 1.105 + self.等级 * 0.015 if self.等级 > 0 else 1 - - -class 技能14(职业主动技能): - 名称 = 'EMP磁暴' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data0 = [int(i*1.232)for i in [0, 11718, 14435, 17152, 19870, 22587, 25304, 28021, 30739, 33456, 36173, 38891, 41608, 44325, 47042, 49760, 52477, 55194, 57912, 60629, 63346, 66063, 68781, 71498, 74215, 76932, 79650, 82367, 85084, 87802, 90519, 93236, 95953, 98671, 101388, 104105, - 106823, 109540, 112257, 114974, 117692, 120409, 123126, 125844, 128561, 131278, 133995, 136713, 139430, 142147, 144864, 147582, 150299, 153016, 155734, 158451, 161168, 163885, 166603, 169320, 172037, 174755, 177472, 180189, 182906, 185624, 188341, 191058, 193776, 196493, 199210]] - 攻击次数 = 3 - data1 = [int(i*1.232)for i in [0, 585, 721, 857, 993, 1129, 1265, 1401, 1536, 1672, 1808, 1944, 2080, 2216, 2352, 2488, 2623, 2759, 2895, 3031, 3167, 3303, 3439, 3574, 3710, 3846, 3982, 4118, 4254, 4390, 4525, 4661, 4797, 4933, - 5069, 5205, 5341, 5477, 5612, 5748, 5884, 6020, 6156, 6292, 6428, 6563, 6699, 6835, 6971, 7107, 7243, 7379, 7514, 7650, 7786, 7922, 8058, 8194, 8330, 8466, 8601, 8737, 8873, 9009, 9145, 9281, 9417, 9552, 9688, 9824, 9960]] - 攻击次数2 = 20 - CD = 145.0 - - -class 技能15(职业主动技能): - 名称 = 'G61重力手雷' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(i*1.166*1.054)for i in [0, 6165, 6791, 7417, 8042, 8668, 9293, 9919, 10544, 11170, 11795, 12421, 13046, 13672, 14297, 14923, 15549, 16174, 16800, 17425, 18051, 18676, 19302, 19927, 20553, 21178, 21804, 22429, 23055, 23680, 24306, 24932, 25557, 26183, - 26808, 27434, 28059, 28685, 29310, 29936, 30561, 31187, 31812, 32438, 33063, 33689, 34315, 34940, 35566, 36191, 36817, 37442, 38068, 38693, 39319, 39944, 40570, 41195, 41821, 42446, 43072, 43698, 44323, 44949, 45574, 46200, 46825, 47451, 48076, 48702, 49327]] - 攻击次数 = 1 - data1 = [int(i*1.166*1.054)for i in [0, 205, 226, 247, 268, 288, 309, 330, 351, 372, 393, 414, 434, 455, 476, 497, 518, 539, 560, 580, 601, 622, 643, 664, 685, 705, 726, 747, 768, 789, 810, 831, 851, 872, 893, - 914, 935, 956, 977, 997, 1018, 1039, 1060, 1081, 1102, 1122, 1143, 1164, 1185, 1206, 1227, 1248, 1268, 1289, 1310, 1331, 1352, 1373, 1394, 1414, 1435, 1456, 1477, 1498, 1519, 1540, 1560, 1581, 1602, 1623, 1644]] - 攻击次数2 = 29 - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 技能施放时间 = 3 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [x * 2.16 for x in self.data0] - self.技能施放时间 = 0.5 - self.攻击次数2 = 5 - elif 类型 == 1: - self.data0 = [x * 2.34 for x in self.data0] - self.技能施放时间 = 0.5 - self.攻击次数2 = 5 - - -class 技能16(职业主动技能): - 名称 = '轻火力速射' - 脱手 = 0 - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(i*1.16)for i in [0, 1233, 1359, 1484, 1609, 1734, 1859, 1984, 2110, 2235, 2360, 2485, 2610, 2735, 2861, 2986, 3111, 3236, 3361, 3486, 3612, 3737, 3862, 3987, 4112, 4237, 4363, 4488, 4613, 4738, 4863, 4989, 5114, 5239, - 5364, 5489, 5614, 5740, 5865, 5990, 6115, 6240, 6365, 6491, 6616, 6741, 6866, 6991, 7116, 7242, 7367, 7492, 7617, 7742, 7867, 7993, 8118, 8243, 8368, 8493, 8618, 8744, 8869, 8994, 9119, 9244, 9370, 9495, 9620, 9745, 9870]] - 攻击次数 = 17 - CD = 30.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 技能施放时间 = 1 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data1 = [x * 0.6 for x in self.data0] - self.技能施放时间 = 1.5 - self.攻击次数2 = 6 - self.CD *= 0.95 - elif 类型 == 1: - self.data1 = [x * 0.82 for x in self.data0] - self.技能施放时间 = 1.5 - self.攻击次数2 = 6 - self.CD *= 0.95 - - -class 技能17(被动技能): - 名称 = '制空掌握' - 所在等级 = 75 - 等级上限 = 30 - 基础等级 = 11 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 3) - - -class 技能18(职业主动技能): - 名称 = '开火' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(i*1.139*1.052)for i in [0, 8299, 9141, 9982, 10824, 11666, 12508, 13350, 14192, 15034, 15876, 16718, 17560, 18402, 19244, 20086, 20928, 21770, 22612, 23453, 24295, 25137, 25979, 26821, 27663, 28505, 29347, 30189, 31031, 31873, 32715, 33557, 34399, 35241, - 36082, 36924, 37766, 38608, 39450, 40292, 41134, 41976, 42818, 43660, 44502, 45344, 46186, 47028, 47870, 48712, 49553, 50395, 51237, 52079, 52921, 53763, 54605, 55447, 56289, 57131, 57973, 58815, 59657, 60499, 61341, 62183, 63024, 63866, 64708, 65550, 66392]] - 攻击次数 = 6 - CD = 45.0 - 脱手 = 0 - 技能施放时间 = 1 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [x * 1.35 for x in self.data0] - - -class 技能19(职业主动技能): - 名称 = 'G96热压手雷' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [int(i*1.146*1.132)for i in [0, 42837, 47183, 51529, 55874, 60220, 64566, 68912, 73258, 77604, 81949, 86295, 90641, 94987, 99333, 103679, 108024, 112370, 116716, 121062, 125408, 129754, 134099, 138445, 142791, 147137, 151483, 155829, 160174, 164520, 168866, 173212, 177558, 181904, 186249, - 190595, 194941, 199287, 203633, 207979, 212324, 216670, 221016, 225362, 229708, 234054, 238399, 242745, 247091, 251437, 255783, 260129, 264474, 268820, 273166, 277512, 281858, 286204, 290549, 294895, 299241, 303587, 307933, 312279, 316624, 320970, 325316, 329662, 334008, 338354, 342699]] - 攻击次数 = 1 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, 类型): - if 类型 == 0: - self.data0 = [x * 1.29 for x in self.data0] - self.CD *= 0.9 - - -class 技能20(职业主动技能): - 名称 = '决战之日' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 技能施放时间 = 5 - - data0 = [int(i*1.182)for i in [0, 3284, 4046, 4808, 5570, 6331, 7093, 7855, 8616, 9378, 10140, 10902, 11663, 12425, 13187, 13949, 14710, 15472, 16234, 16995, 17757, 18519, 19281, 20042, 20804, 21566, 22328, 23089, 23851, 24613, 25374, 26136, 26898, 27660, 28421, - 29183, 29945, 30706, 31468, 32230, 32992, 33753, 34515, 35277, 36039, 36800, 37562, 38324, 39085, 39847, 40609, 41371, 42132, 42894, 43656, 44417, 45179, 45941, 46703, 47464, 48226, 48988, 49750, 50511, 51273, 52035, 52796, 53558, 54320, 55082, 55843]] - 攻击次数 = 40 - CD = 180.0 - - -class 技能21(被动技能): - 名称 = '单兵推进器-02X' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(职业主动技能): - 名称 = '空袭战略' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 10 - # 脱手 = 1 - # 技能施放时间 = 3 - 持续时间 = 6 - - CD = 60.0 - # 毛雷 - data0 = [int(i*1.152*1.075)for i in [0, 12509, 13778, 15047, 16316, 17585, 18854, 20123, 21392, 22661, 23930, 25199, 26468, 27737, 29006, 30275, 31544, 32814, 34083, 35352, 36621, 37890, 39159, 40428, 41697, 42966, 44235, 45504, 46773, 48042, 49311, 50580, 51849, 53118, - 54387, 55656, 56926, 58195, 59464, 60733, 62002, 63271, 64540, 65809, 67078, 68347, 69616, 70885, 72154, 73423, 74692, 75961, 77230, 78499, 79768, 81037, 82307, 83576, 84845, 86114, 87383, 88652, 89921, 91190, 92459, 93728, 94997, 96266, 97535, 98804, 100073]] - 攻击次数 = 6 - # # 电雷 - # data1 = [0,223,246,268,291,314,337,360,383,406,429,452,475,498,521,544,567,590,613,636,659] - # 攻击次数2 = 40*3 - # # 冰雷 - # data2 = [0,446,492,537,582,628,674,720,766,812,858,904,950,996,1042,1088,1134,1180,1226,1272,1318] - # 攻击次数3 = 20*3 - # 终结 - data1 = [int(i*1.152)for i in [0, 32166, 35429, 38693, 41956, 45219, 48482, 51746, 55009, 58272, 61536, 64799, 68062, 71325, 74589, 77852, 81115, 84378, 87642, 90905, 94168, 97432, 100695, 103958, 107221, 110485, 113748, 117011, 120274, 123538, 126801, 130064, 133328, 136591, 139854, - 143117, 146381, 149644, 152907, 156170, 159434, 162697, 165960, 169224, 172487, 175750, 179013, 182277, 185540, 188803, 192067, 195330, 198593, 201856, 205120, 208383, 211646, 214909, 218173, 221436, 224699, 227963, 231226, 234489, 237752, 241016, 244279, 247542, 250805, 254069, 257332]] - 攻击次数2 = 1 - - -class 技能23(职业主动技能): - 名称 = '终解·制空霸权' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - 关联技能 = ['无'] - CD = 290.0 - 脱手 = 0 - 技能施放时间 = 6.8 - data0 = [int(i*1.23)for i in [0, 17492, 21548, 25604, 29660, 33716, 37773, 41829, 45885, 49941, 53997, 58054, 62110, 66166, 70222, 74278, 78334, 82391, 86447, 90503, 94559, 98615, 102671, 106728, 110784, 114840, 118896, 122952, 127009, 131065, 135121, 139177, 143233, 147289, 151346, 155402, - 159458, 163514, 167570, 171626, 175683, 179739, 183795, 187851, 191907, 195963, 200020, 204076, 208132, 212188, 216244, 220301, 224357, 228413, 232469, 236525, 240581, 244638, 248694, 252750, 256806, 260862, 264918, 268975, 273031, 277087, 281143, 285199, 289256, 293312, 297368]] - 攻击次数 = 7 - data1 = [int(i*1.23)for i in [0, 57141, 70391, 83641, 96891, 110142, 123392, 136642, 149892, 163142, 176392, 189643, 202893, 216143, 229393, 242643, 255893, 269144, 282394, 295644, 308894, 322144, 335395, 348645, 361895, 375145, 388395, 401645, 414896, 428146, 441396, 454646, 467896, 481146, - 494397, 507647, 520897, 534147, 547397, 560648, 573898, 587148, 600398, 613648, 626898, 640149, 653399, 666649, 679899, 693149, 706399, 719650, 732900, 746150, 759400, 772650, 785900, 799151, 812401, 825651, 838901, 852151, 865402, 878652, 891902, 905152, 918402, 931652, 944903, 958153, 971403]] - 攻击次数2 = 5 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - - -class 职业属性(角色属性): - 实际名称 = '重霄·弹药专家·女' - 角色 = '神枪手(女)' - 职业 = '弹药专家' - - 武器选项 = ['手弩', '步枪'] - - 类型选择 = ['魔法固伤', '物理固伤'] - - 类型 = '魔法固伤' - 防具类型 = '皮甲' - 防具精通属性 = ['智力', '力量'] - - 超负荷属性 = 0 - - 主BUFF = 1.84 - - 远古记忆 = 0 - - 打桩模式 = 0 - - 补给输出形态选择 = 0 - - # 守门人四属强 = [0,0,0,0] - - def __init__(self, 技能列表, 技能序号): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能释放次数计算(self): - 技能释放次数 = [] - 技能消耗时间 = 0.0 - 爆裂弹间隔 = 0.115 - 每轮空射次数 = 12 + floor(0.5 * min(self.技能栏[self.技能序号['单兵推进器']].等级, 20)) - 每轮时间 = 爆裂弹间隔 * 每轮空射次数 + 1.05 - # 最大不脱手时间 = 0.0 - - 反应时间 = 0.0 - 释放时间系数 = 0.0 - 起落地时间 = 0.0 - CD延迟 = 0.0 - - if(self.打桩模式 == 0): - 反应时间 = 1.5 - 释放时间系数 = 1.0 - 起落地时间 = 1.5 - CD延迟 = 0.0 - - elif(self.打桩模式 == 1): - 反应时间 = 0.0 - 释放时间系数 = 0.0 - 起落地时间 = 1.0 - CD延迟 = 0.0 - - elif(self.打桩模式 == 2): - 反应时间 = 3.0 - 释放时间系数 = 2.0 - 起落地时间 = 3.0 - CD延迟 = 2.0 - - if (self.武器类型 != '手弩'): - 爆裂弹间隔 = 0.14 - 每轮空射次数 = 4 + floor(0.5 * min(self.技能栏[self.技能序号['单兵推进器']].等级, 20)) - 每轮时间 = 爆裂弹间隔 * 每轮空射次数 + 起落地时间 - - 爆裂弹位置 = self.技能序号['爆裂弹'] - - 最大不脱手时间 = 0 - for i in self.技能栏: - if i.是否有伤害 == 1 and i.脱手 != 1 and i.技能施放时间 > 最大不脱手时间 and self.次数输入[self.技能序号[i.名称]]: - 最大不脱手时间 = i.技能施放时间 + 0.5 - # print(最大不脱手时间) - - for i in self.技能栏: - if i.是否有伤害 == 1: - if i.名称 == '爆裂弹': - 技能释放次数.append(0) - else: - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - # 根据技能CD及最大不脱手时间得到技能空转的时间 - 最终CD = i.等效CD(self.武器类型, self.类型) - 空转时间 = 0 - if 最终CD < 最大不脱手时间: - 空转时间 = 最大不脱手时间 - 最终CD - # 计算不脱手时间 - # 技能无法释放次数 = int(最大不脱手时间/(i.等效CD(self.武器类型,self.类型))) - # print(技能无法释放次数) - # print(最大不脱手时间) - # print(int((self.时间输入 - 反应时间-最大不脱手时间) / (i.等效CD(self.武器类型,self.类型) + i.技能施放时间*释放时间系数 + CD延迟) + 1 + i.基础释放次数)) - # print(技能无法释放次数) - 技能次数 = max(0, int((self.时间输入 - 反应时间 - 空转时间) / - (最终CD + i.技能施放时间*释放时间系数 + CD延迟) + 1 + i.基础释放次数)) - 技能释放次数.append(技能次数) - # 技能释放次数.append(int((self.时间输入 - 反应时间) / (i.等效CD(self.武器类型) + i.技能施放时间*释放时间系数 + CD延迟) + 1 + i.基础释放次数)) - if i.脱手 == 1: - 技能消耗时间 += 技能次数 * 0.12 * 释放时间系数 - else: - 技能消耗时间 += 技能次数 * i.技能施放时间*释放时间系数 - elif self.次数输入[self.技能序号[i.名称]] != '0': - 技能释放次数.append( - round(float(self.次数输入[self.技能序号[i.名称]]), 2)) - if i.脱手 == 1: - 技能消耗时间 += int(self.次数输入[self.技能序号[i.名称]] - ) * 0.12 * 释放时间系数 - else: - 技能消耗时间 += int(self.次数输入[self.技能序号[i.名称]] - ) * i.技能施放时间 * 释放时间系数 - else: - 技能释放次数.append(0) - else: - 技能释放次数.append(0) - - # 填补补给占用时间,补给期间选择丢雷暂时不考虑空射 - # 追加补给选择丢雷对子弹的输出时间的影响 - # 技能消耗时间 += self.技能栏[self.技能序号['空袭战略']].持续时间() if self.补给输出形态选择 == 0 else 0 - # print(补给占用时间) - if '/CD' in self.次数输入[self.技能序号['爆裂弹']]: - 技能释放次数[爆裂弹位置] = max( - int(floor((self.时间输入 - 技能消耗时间) / 每轮时间) * 每轮空射次数), 0) - 技能释放次数[爆裂弹位置] += max(floor((self.时间输入 - 技能消耗时间 - 每轮时间 * - floor((self.时间输入 - 技能消耗时间) / 每轮时间) - 起落地时间/2) / 爆裂弹间隔), 0) - else: - 技能释放次数[爆裂弹位置] = int(float(self.次数输入[self.技能序号['爆裂弹']]) * 每轮空射次数) - - return self.技能释放次数解析(技能释放次数) - - def 预处理(self): - if self.超负荷属性 == 0: - self.技能栏[self.技能序号['弹药改良']].加成数值 = 1.1 - self.技能栏[self.技能序号['弹药改良']].自定义描述 = 0 - if self.超负荷属性 == 1: - self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '火属性强化增加:36' - self.火属性强化 += 36 - if self.超负荷属性 == 2: - self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '冰属性强化增加:36' - self.冰属性强化 += 36 - if self.超负荷属性 == 3: - self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '光属性强化增加:36' - self.光属性强化 += 36 - super().预处理() - - -class 重霄·弹药专家·女(角色窗口): - def 窗口属性输入(self): - 技能序号 = dict() - for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - - 一觉序号 = 0 - 二觉序号 = 0 - 三觉序号 = 0 - - for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - - 护石选项 = ['无'] - for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - - 符文选项 = ['无'] - for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1 and i.名称 != '爆裂弹': - 符文选项.append(i.名称) - self.初始属性 = 职业属性(技能列表, 技能序号) - self.角色属性A = 职业属性(技能列表, 技能序号) - self.角色属性B = 职业属性(技能列表, 技能序号) - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 界面2(self): - super().界面2() - - self.超负荷属性选择 = MyQComboBox(self.main_frame2) - self.超负荷属性选择.addItems(['超负荷装填:无', '超负荷装填:火', '超负荷装填:冰', '超负荷装填:光']) - self.超负荷属性选择.resize(120, 20) - self.超负荷属性选择.move(325, 420) - - # self.补给输出形态选择=MyQComboBox(self.main_frame2) - # self.补给输出形态选择.addItems(['输出丢雷','爆发丢技能']) - # self.补给输出形态选择.resize(120,20) - # self.补给输出形态选择.move(325,450) - - self.打桩模式 = MyQComboBox(self.main_frame2) - y = QLabel("打桩模式:", self.main_frame2) - y.move(500, self.height() - 63) - y.resize(70, 20) - y.setStyleSheet(标签样式) - self.打桩模式.addItems(['常规打桩', '桩逼模式', '手残模式']) - self.打桩模式.move(570, self.height() - 63) - self.打桩模式.resize(80, 20) - - self.职业存档.append(('超负荷属性选择', self.超负荷属性选择, 1)) - self.职业存档.append(('打桩模式', self.打桩模式, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.打桩模式 = self.打桩模式.currentIndex() - 属性.超负荷属性 = self.超负荷属性选择.currentIndex() - # 属性.补给输出形态选择 = self.补给输出形态选择.currentIndex() diff --git a/Characters/重霄·弹药专家·男.py b/Characters/重霄·弹药专家·男.py deleted file mode 100644 index b0226e8f..00000000 --- a/Characters/重霄·弹药专家·男.py +++ /dev/null @@ -1,702 +0,0 @@ -from math import * -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # 弹药技能不受武器CD惩罚 - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复, 1) - - -class 技能0(被动技能): - 名称 = '弹夹改装' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['交叉射击', '聚合弹', '凝固汽油弹', '高压电磁弹'] - 关联技能2 = ['爆裂弹','尼尔狙击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + (10 + self.等级) / 100, 3) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + (2 * self.等级) / 100, 3) - - -class 技能1(被动技能): - 名称 = '兵器研究' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 冷却关联技能 = ['交叉射击', 'M18阔剑地雷', 'C4飞弹', 'G18冰冻手雷', 'G35感电手雷', 'G61重力手雷', - 'G38ARG智能手雷', '爆裂弹', '聚合弹', '重火力支援', '尼尔狙击', '凝固汽油弹', '高压电磁弹'] - - def 加成倍率(self, 武器类型): - return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) - - def 物理攻击力倍率(self, 武器类型): - return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) - - def 魔法攻击力倍率(self, 武器类型): - return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 - 0.01 * self.等级, 3) - - -class 技能2(被动技能): - 名称 = '手雷精通' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['G35感电手雷', 'G18冰冻手雷'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.1 * self.等级, 3) - - -class 技能3(职业主动技能): - 名称 = 'M18阔剑地雷' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - # 基础 = 641.63 - # 成长 = 72.4 - data0 = [int(i*1.1213*1.054) for i in [0, 714, 786, 859, 931, 1003, 1076, 1148, 1221, 1293, 1365, 1438, 1510, 1583, 1655, 1728, 1800, 1872, 1945, 2017, 2090, 2162, 2235, 2307, 2379, 2452, 2524, 2597, 2669, 2742, 2814, 2886, 2959, 3031, 3104, 3176, 3248, 3321, 3393, 3466, 3538, 3611, 3683, 3755, 3828, 3900, 3973, 4045, 4118, 4190, 4262, 4335, 4407, 4480, 4552, 4624, 4697, 4769, 4842, 4914, 4987, 5059, 5131, 5204, 5276, 5349, 5421, 5494, 5566, 5638, 5711]] - 攻击次数 = 3 - CD = 6.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能4(职业主动技能): - 名称 = 'G35感电手雷' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.1514*3.0945) for i in [0,540,595,650,705,760,814,869,924,979,1034,1089,1144,1198,1253,1308,1363,1418,1473,1527,1582,1637,1692,1747,1802,1856,1911,1966,2021,2076,2131,2185,2240,2295,2350,2405,2460,2515,2569,2624,2679,2734,2789,2844,2898,2953,3008,3063,3118,3173,3227,3282,3337,3392,3447,3502,3557,3611,3666,3721,3776]] - data1 = [(0 if i ==0 else int(191 + i*22))for i in range(0,60)] - 攻击次数2 = 1 - - CD = 8.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 脱手 = 0 - 技能施放时间 = 0 - - - # def 等效CD(self, 武器类型, 输出类型): - # # 经过测试,手雷恢复速度无法享受技能冷却恢复加成 - # return round(self.CD, 1) - -class 技能5(职业主动技能): - 名称 = '交叉射击' - 脱手 = 0 - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.1833*1.052) for i in [0, 1417, 1561, 1704, 1848, 1992, 2136, 2279, 2423, 2567, 2711, 2854, 2998, 3142, 3286, 3429, 3573, 3717, 3861, 4004, 4148, 4292, 4436, 4579, 4723, 4867, 5011, 5154, 5298, 5442, 5586, 5729, 5873, 6017, 6161, 6304, 6448, 6592, 6736, 6879, 7023, 7167, 7311, 7454, 7598, 7742, 7886, 8029, 8173, 8317, 8461, 8604, 8748, 8892, 9036, 9179, 9323, 9467, 9611, 9754, 9898, 10042, 10186, 10329, 10473, 10617, 10761, 10904, 11048, 11192, 11336]] - 攻击次数 = 3 - 技能施放时间 = 0.3 - CD = 10.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能6(职业主动技能): - 名称 = '爆裂弹' - 所在等级 = 30 - 等级上限 = 20 - 学习间隔 = 3 - 等级精通 = 10 - # 基础 = 622.125 - # 成长 = 105.525 - data0 = [int(i*1.1601) for i in [0, 662, 768, 873, 978, 1084, 1189, 1294, 1400, 1506, 1611, 1717, 1822, 1927, 2033, 2138, 2244, 2350, 2455, 2561, 2666]] - # 子弹的额外倍率,但是存在浮动4-6hit,0.9暂定 - 倍率 = 1.37*0.91 - CD = 5.0 - - -class 技能7(职业主动技能): - 名称 = 'G18冰冻手雷' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.1567*3.175) for i in [0, 675, 744, 812, 881, 949, 1018, 1086, 1155, 1223, 1292, 1360, 1429, 1497, 1566, 1634, 1703, 1772, 1840, 1909, 1977, 2046, 2114, 2183, 2251, 2320, 2388, 2457, 2525, 2594, 2662, 2731, 2799, 2868, 2936, 3005, 3073, 3142, 3210, 3279, 3347, 3416, 3485, 3553, 3622, 3690, 3759, 3827, 3896, 3964, 4033, 4101, 4170, 4238, 4307, 4375, 4444, 4512, 4581, 4649, 4718, 4786, 4855, 4923, 4992, 5060, 5129, 5197, 5266, 5335, 5403]] - CD = 10.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - -class 技能8(职业主动技能): - 名称 = '聚合弹' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - # 基础 = 8206.58 - # 成长 = 926.53341 - data0 = [int(i*1.1847*1.053) for i in [0, 9129, 10056, 10982, 11908, 12834, 13760, 14687, 15613, 16539, 17465, 18392, 19318, 20244, 21170, 22096, 23023, 23949, 24875, 25801, 26728, 27654, 28580, 29506, 30432, 31359, 32285, 33211, 34137, 35064, 35990, 36916, 37842, 38768, 39695, 40621, 41547, 42473, 43399, 44326, 45252, 46178, 47104, 48031, 48957, 49883, 50809, 51735, 52662, 53588, 54514, 55440, 56367, 57293, 58219, 59145, 60071, 60998, 61924, 62850, 63776, 64703, 65629, 66555, 67481, 68407, 69334, 70260, 71186, 72112, 73038]] - CD = 18.0 - data1 = [(0 if i ==0 else int(4178+(i-1)*424)) for i in range(0,60)] - 攻击次数2 = 0 - data2 = [(0 if i ==0 else int(3249+(i-1)*330)) for i in range(0,60)] - 攻击次数3 = 0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if 武器类型 == '手弩': - self.攻击次数 = 0 - self.攻击次数2 = 1 - self.攻击次数3 = 3 - return super().等效百分比(武器类型) - - -class 技能9(职业主动技能): - 名称 = 'C4飞弹' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - # 基础 = 7122.49875 - # 成长 = 804.25125 - data0 = [int(i*1.1598*1.051) for i in [0, 7927, 8732, 9536, 10340, 11144, 11949, 12753, 13557, 14361, 15166, 15970, 16774, 17579, 18383, 19187, 19991, 20796, 21600, 22404, 23208, 24013, 24817, 25621, 26426, 27230, 28034, 28838, 29643, 30447, 31251, 32055, 32860, 33664, 34468, 35272, 36077, 36881, 37685, 38490, 39294, 40098, 40902, 41707, 42511, 43315, 44119, 44924, 45728, 46532, 47337, 48141, 48945, 49749, 50554, 51358, 52162, 52966, 53771, 54575, 55379, 56183, 56988, 57792, 58596, 59401, 60205, 61009, 61813, 62618, 63422]] - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.32 - - -class 技能10(职业主动技能): - 名称 = '凝固汽油弹' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - data0 = [int(i*1.1825) for i in [0, 9850, 10849, 11848, 12848, 13847, 14846, 15846, 16845, 17844, 18844, 19843, 20842, 21841, 22841, 23840, 24839, 25839, 26838, 27837, 28837, 29836, 30835, 31835, 32834, 33833, 34832, 35832, 36831, 37830, 38830, 39829, 40828, 41828, 42827, 43826, 44826, 45825, 46824, 47823, 48823, 49822, 50821, 51821, 52820, 53819, 54819, 55818, 56817, 57817, 58816, 59815, 60814, 61814, 62813, 63812, 64812, 65811, 66810, 67810, 68809, 69808, 70807, 71807, 72806, 73805, 74805, 75804, 76803, 77803, 78802]] - data1 = [int(i*1.00) for i in [0, 53, 58, 64, 69, 74, 80, 85, 91, 96, 101, 107, 112, 118, 123, 128, 134, 139, 145, 150, 155, 161, 166, 172, 177, 182, 188, 193, 199, 204, 209, 215, 220, 226, 231, 236, 242, 247, 253, 258, 263, 269, 274, 280, 285, 290, 296, 301, 307, 312, 317, 323, 328, 334, 339, 344, 350, 355, 361, 366, 371, 377, 382, 388, 393, 398, 404, 409, 415, 420, 425]] - 攻击次数2 = 15 - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [x * 1.31 for x in self.data0] - self.攻击次数2 = 0 - self.CD *= 0.94 - elif x == 1: - self.data0 = [x * 1.40 for x in self.data0] - self.攻击次数2 = 0 - self.CD *= 0.94 - - -class 技能11(主动技能): - 名称 = '尼尔狙击' - 脱手 = 0 - 技能施放时间 = 4 - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - # data0 = [int(i*1.1693*1.51798) for i in [0, 3360, 3701, 4042, 4383, 4724, 5065, 5406, 5747, 6088, 6429, 6770, 7110, 7451, 7792, 8133, 8474, 8815, 9156, 9497, 9838, 10179, 10520, 10861, 11202, 11542, 11883, 12224, 12565, 12906, 13247, 13588, 13929, 14270, 14611, 14952, 15293, 15633, 15974, 16315, 16656, 16997, 17338, 17679, 18020, 18361, 18702, 19043, 19384, 19724, 20065, 20406, 20747, 21088, 21429, 21770, 22111, 22452, 22793, 23134, 23475, 23815, 24156, 24497, 24838, 25179, 25520, 25861, 26202, 26543, 26884]] - 基础 = 5966 - 605 - 成长 = 605 - # 每次会附加一发子弹,不享受70和一觉被动 - 攻击次数 = 5 - CD = 45.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.技能施放时间 = 2 - self.倍率 *= 0.75*1.06 - self.攻击次数 += 3 - elif x == 1: - self.技能施放时间 = 2 - self.倍率 *= 0.75*1.09 - self.攻击次数 += 3 - - -class 技能12(被动技能): - 名称 = '弹药主宰' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 关联技能 = ['所有'] - 关联技能2 = ['爆裂弹'] - - def 加成倍率(self, 武器类型): - return 1.105 + self.等级 * 0.015 if self.等级 > 0 else 1 - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.3 - - -class 技能13(职业主动技能): - 名称 = '黑玫瑰特种战队' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - data0 = [int(i*1.2545*1.053) for i in [0, 1789, 2204, 2619, 3034, 3448, 3863, 4278, 4693, 5108, 5523, 5938, 6353, 6768, 7183, 7598, 8013, 8427, 8842, 9257, 9672, 10087, 10502, 10917, 11332, 11747, 12162, 12577, 12991, 13406, 13821, 14236, 14651, 15066, 15481, 15896, 16311, 16726, 17141, 17556, 17970, 18385, 18800, 19215, 19630, 20045, 20460, 20875, 21290, 21705, 22120, 22535, 22949, 23364, 23779, 24194, 24609, 25024, 25439, 25854, 26269, 26684, 27099, 27513, 27928, 28343, 28758, 29173, 29588, 30003, 30418]] - # 基础 = 1373.97702 - # 成长 = 415.33411 - 攻击次数 = 16 - # 基础2 = 242.389 - # 成长2 = 73.91189 - data1 = [int(i*1.2542*1.053) for i in [0, 318, 391, 465, 539, 613, 686, 760, 834, 908, 981, 1055, 1129, 1203, 1277, 1350, 1424, 1498, 1572, 1645, 1719, 1793, 1867, 1940, 2014, 2088, 2162, 2235, 2309, 2383, 2457, 2530, 2604, 2678, 2752, 2826, 2899, 2973, 3047, 3121, 3194, 3268, 3342, 3416, 3489, 3563, 3637, 3711, 3784, 3858, 3932, 4006, 4079, 4153, 4227, 4301, 4375, 4448, 4522, 4596, 4670, 4743, 4817, 4891, 4965, 5038, 5112, 5186, 5260, 5333, 5407]] - # 攻击次数2 = 90 10hit左右无法打到 - 攻击次数2 = 80 - CD = 145.0 - - -class 技能14(职业主动技能): - 名称 = 'G61重力手雷' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.177) for i in [0, 6265, 6901, 7536, 8172, 8808, 9443, 10079, 10715, 11350, 11986, 12622, 13257, 13893, 14529, 15164, 15800, 16436, 17071, 17707, 18342, 18978, 19614, 20249, 20885, 21521, 22156, 22792, 23428, 24063, 24699, 25335, 25970, 26606, 27241, 27877, 28513, 29148, 29784, 30420, 31055, 31691, 32327, 32962, 33598, 34234, 34869, 35505, 36141, 36776, 37412, 38047, 38683, 39319, 39954, 40590, 41226, 41861, 42497, 43133, 43768, 44404, 45040, 45675, 46311, 46947, 47582, 48218, 48853, 49489, 50125]] - data1 = [int(i*1.1766) for i in [0, 208, 230, 251, 272, 293, 314, 335, 357, 378, 399, 420, 441, 463, 484, 505, 526, 547, 569, 590, 611, 632, 653, 674, 696, 717, 738, 759, 780, 802, 823, 844, 865, 886, 908, 929, 950, 971, 992, 1014, 1035, 1056, 1077, 1098, 1119, 1141, 1162, 1183, 1204, 1225, 1247, 1268, 1289, 1310, 1331, 1353, 1374, 1395, 1416, 1437, 1458, 1480, 1501, 1522, 1543, 1564, 1586, 1607, 1628, 1649, 1670]] - 攻击次数 = 1 - 攻击次数2 = 29 - CD = 20.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*1.83) for x in self.data0] - self.技能施放时间 = 1.5 - self.攻击次数2 = 15 - # self.倍率 *= 1.18 - elif x == 1: - self.data0 = [int(x*2.01) for x in self.data0] - self.技能施放时间 = 1.5 - self.攻击次数2 = 15 - - -class 技能15(主动技能): - 名称 = '高压电磁弹' - 脱手 = 1 - 技能施放时间 = 1 - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - # data0 = [int(i*1.1814*1.0327) for i in [0, 1229, 1353, 1478, 1602, 1727, 1852, 1976, 2101, 2226, 2350, 2475, 2599, 2724, 2849, 2973, 3098, 3223, 3347, 3472, 3597, 3721, 3846, 3970, 4095, 4220, 4344, 4469, 4594, 4718, 4843, 4968, 5092, 5217, 5341, 5466, 5591, 5715, 5840, 5965, 6089, 6214, 6339, 6463, 6588, 6712, 6837, 6962, 7086, 7211, 7336, 7460, 7585, 7710, 7834, 7959, 8083, 8208, 8333, 8457, 8582, 8707, 8831, 8956, 9080, 9205, 9330, 9454, 9579, 9704, 9828]] - # 攻击次数 = 17 - 基础 = 25491 - 2587 - 成长 = 2587 - - CD = 30.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # self.基础2 = self.基础*0.22 - # self.成长2 = self.成长*0.22 - # self.攻击次数2 = 17 - self.CD *= 0.95 - self.倍率 *= 1.25 - elif x == 1: - # self.基础2 = self.基础*0.36 - # self.成长2 = self.成长*0.36 - # self.攻击次数2 = 17 - self.CD *= 0.95 - self.倍率 *= 1.33 - - -class 技能16(被动技能): - 名称 = '战地功勋' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 3) - - -class 技能17(职业主动技能): - 名称 = '重火力支援' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.187) for i in [0, 5169, 5693, 6217, 6742, 7266, 7790, 8315, 8839, 9363, 9888, 10412, 10936, 11461, 11985, 12509, 13034, 13558, 14083, 14607, 15131, 15656, 16180, 16704, 17229, 17753, 18277, 18802, 19326, 19850, 20375, 20899, 21423, 21948, 22472, 22996, 23521, 24045, 24569, 25094, 25618, 26143, 26667, 27191, 27716, 28240, 28764, 29289, 29813, 30337, 30862, 31386, 31910, 32435, 32959, 33483, 34008, 34532, 35056, 35581, 36105, 36630, 37154, 37678, 38203, 38727, 39251, 39776, 40300, 40824, 41349]] - 攻击次数 = 10 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self,x): - if x ==0: - self.倍率 *= 1.35 - - -class 技能18(职业主动技能): - 名称 = 'G38ARG智能手雷' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - # 基础 = 13127.83*1.127 - # 成长 = 1482.17*1.127 - data0 = [int(i*1.1534*1.052) for i in [0, 16468, 18139, 19809, 21480, 23151, 24821, 26492, 28163, 29833, 31504, 33175, 34846, 36516, 38187, 39858, 41528, 43199, 44870, 46541, 48211, 49882, 51553, 53223, 54894, 56565, 58235, 59906, 61577, 63248, 64918, 66589, 68260, 69930, 71601, 73272, 74942, 76613, 78284, 79955, 81625, 83296, 84967, 86637, 88308, 89979, 91649, 93320, 94991, 96662, 98332, 100003, 101674, 103344, 105015, 106686, 108357, 110027, 111698, 113369, 115039, 116710, 118381, 120051, 121722, 123393, 125064, 126734, 128405, 130076, 131746]] - 攻击次数 = 1 - # 基础2 = 3063.17*1.127 - # 成长2 = 345.83*1.127 - data1 = [int(i*1.1534*1.052) for i in [0, 3842, 4232, 4622, 5012, 5401, 5791, 6181, 6571, 6961, 7351, 7740, 8130, 8520, 8910, 9300, 9690, 10079, 10469, 10859, 11249, 11639, 12029, 12418, 12808, 13198, 13588, 13978, 14368, 14757, 15147, 15537, 15927, 16317, 16707, 17096, 17486, 17876, 18266, 18656, 19046, 19435, 19825, 20215, 20605, 20995, 21384, 21774, 22164, 22554, 22944, 23334, 23723, 24113, 24503, 24893, 25283, 25673, 26062, 26452, 26842, 27232, 27622, 28012, 28401, 28791, 29181, 29571, 29961, 30351, 30740]] - 攻击次数2 = 10 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self,x): - if x==0: - self.data0 = [int(i*4.22) for i in self.data0] - self.攻击次数2 = 0 - - -class 技能19(职业主动技能): - 名称 = '超新星核爆' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - data0 = [int(i*1.24*1.063) for i in [0, 71384, 87937, 104490, 121043, 137596, 154149, 170702, 187254, 203807, 220360, 236913, 253466, 270019, 286572, 303125, 319678, 336231, 352784, 369337, 385889, 402442, 418995, 435548, 452101, 468654, 485207, 501760, 518313, 534866, 551419, 567972, 584525, 601077, 617630, 634183, 650736, 667289, 683842, 700395, 716948, 733501, 750054, 766607, 783160, 799713, 816265, 832818, 849371, 865924, 882477, 899030, 915583, 932136, 948689, 965242, 981795, 998348, 1014900, 1031453, 1048006, 1064559, 1081112, 1097665, 1114218, 1130771, 1147324, 1163877, 1180430, 1196983, 1213536]] - data1 = [int(i*1.24*1.063) for i in [0, 2039, 2512, 2985, 3458, 3931, 4404, 4877, 5350, 5823, 6296, 6768, 7241, 7714, 8187, 8660, 9133, 9606, 10079, 10552, 11025, 11498, 11971, 12444, 12917, 13390, 13863, 14336, 14808, 15281, 15754, 16227, 16700, 17173, 17646, 18119, 18592, 19065, 19538, 20011, 20484, 20957, 21430, 21903, 22376, 22848, 23321, 23794, 24267, 24740, 25213, 25686, 26159, 26632, 27105, 27578, 28051, 28524, 28997, 29470, 29943, 30415, 30888, 31361, 31834, 32307, 32780, 33253, 33726, 34199, 34672]] - 攻击次数 = 1 - 攻击次数2 = 15 - 脱手 = 0 - 技能施放时间 = 1 - CD = 180.0 - - -class 技能20(被动技能): - 名称 = '赤诚之心' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 关联技能 = ['所有'] - 关联技能2 = ['交叉射击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.16 - -class 技能21(职业主动技能): - 名称 = '皇鹰特战队' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - data0 = [int(i*1.1295) for i in [0, 2206, 2430, 2654, 2878, 3102, 3326, 3550, 3774, 3998, 4222, 4445, 4669, 4893, 5117, 5341, 5565, 5789, 6013, 6237, 6460, 6684, 6908, 7132, 7356, 7580, 7804, 8028, 8252, 8476, 8699, 8923, 9147, 9371, 9595, 9819, 10043, 10267, 10491, 10715, 10938, 11162, 11386, 11610, 11834, 12058, 12282, 12506, 12730, 12953, 13177, 13401, 13625, 13849, 14073, 14297, 14521, 14745, 14969, 15192, 15416, 15640, 15864, 16088, 16312, 16536, 16760, 16984, 17207, 17431, 17655]] - 攻击次数 = 16 - data1 = [int(i*1.1295) for i in [0, 55174, 60771, 66369, 71966, 77563, 83161, 88758, 94356, 99953, 105550, 111148, 116745, 122343, 127940, 133537, 139135, 144732, 150330, 155927, 161524, 167122, 172719, 178316, 183914, 189511, 195109, 200706, 206303, 211901, 217498, 223096, 228693, 234290, 239888, 245485, 251083, 256680, 262277, 267875, 273472, 279070, 284667, 290264, 295862, 301459, 307057, 312654, 318251, 323849, 329446, 335044, 340641, 346238, 351836, 357433, 363030, 368628, 374225, 379823, 385420, 391017, 396615, 402212, 407810, 413407, 419004, 424602, 430199, 435797, 441394]] - 攻击次数2 = 1 - data2 = [int(i*1.1295) for i in [0, 8276, 9115, 9955, 10794, 11634, 12474, 13313, 14153, 14993, 15832, 16672, 17511, 18351, 19191, 20030, 20870, 21709, 22549, 23389, 24228, 25068, 25907, 26747, 27587, 28426, 29266, 30105, 30945, 31785, 32624, 33464, 34304, 35143, 35983, 36822, 37662, 38502, 39341, 40181, 41020, 41860, 42700, 43539, 44379, 45218, 46058, 46898, 47737, 48577, 49416, 50256, 51096, 51935, 52775, 53615, 54454, 55294, 56133, 56973, 57813, 58652, 59492, 60331, 61171, 62011, 62850, 63690, 64529, 65369, 66209]] - 攻击次数3 = 4 - # 基础 = 113194.2 - # 成长 = 12179.8 - CD = 60.0 - 脱手 = 0 - 技能施放时间 = 0.2 - - -class 技能22(职业主动技能): - 名称 = '赤魂风暴狙击' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - data0 = [int(i*1.1928) for i in [0, 3509, 4323, 5137, 5951, 6765, 7579, 8393, 9207, 10020, 10834, 11648, 12462, 13276, 14090, 14904, 15718, 16532, 17345, 18159, 18973, 19787, 20601, 21415, 22229, 23043, 23857, 24670, 25484, 26298, 27112, 27926, 28740, 29554, 30368, 31182, 31995, 32809, 33623, 34437, 35251, 36065, 36879, 37693, 38507, 39320, 40134, 40948, 41762, 42576, 43390, 44204, 45018, 45832, 46645, 47459, 48273, 49087, 49901, 50715, 51529, 52343, 53157, 53970, 54784, 55598, 56412, 57226, 58040, 58854, 59668]] - 攻击次数 = 12 - data1 = [int(i*1.1928) for i in [0, 147415, 181598, 215781, 249965, 284148, 318331, 352515, 386698, 420881, 455064, 489248, 523431, 557614, 591797, 625981, 660164, 694347, 728531, 762714, 796897, 831080, 865264, 899447, 933630, 967813, 1001997, 1036180, 1070363, 1104547, 1138730, 1172913, 1207096, 1241280, 1275463, 1309646, 1343829, 1378013, 1412196, 1446379, 1480563, 1514746, 1548929, 1583112, 1617296, 1651479, 1685662, 1719845, 1754029, 1788212, 1822395, 1856579, 1890762, 1924945, 1959128, 1993312, 2027495, 2061678, 2095861, 2130045, 2164228, 2198411, 2232595, 2266778, 2300961, 2335144, 2369328, 2403511, 2437694, 2471878, 2506061]] - 攻击次数2 = 1 - data2 = [int(i*1.1928) for i in [0, 52648, 64856, 77064, 89273, 101481, 113689, 125898, 138106, 150314, 162523, 174731, 186939, 199148, 211356, 223564, 235773, 247981, 260189, 272397, 284606, 296814, 309022, 321231, 333439, 345647, 357856, 370064, 382272, 394481, 406689, 418897, 431106, 443314, 455522, 467730, 479939, 492147, 504355, 516564, 528772, 540980, 553189, 565397, 577605, 589814, 602022, 614230, 626439, 638647, 650855, 663063, 675272, 687480, 699688, 711897, 724105, 736313, 748522, 760730, 772938, 785147, 797355, 809563, 821772, 833980, 846188, 858396, 870605, 882813, 895021]] - 攻击次数3 = 4 - data3 = [int(i*1.1928) for i in [0, 2807, 3459, 4110, 4761, 5412, 6063, 6714, 7365, 8016, 8667, 9319, 9970, 10621, 11272, 11923, 12574, 13225, 13876, 14527, 15179, 15830, 16481, 17132, 17783, 18434, 19085, 19736, 20387, 21038, 21690, 22341, 22992, 23643, 24294, 24945, 25596, 26247, 26898, 27550, 28201, 28852, 29503, 30154, 30805, 31456, 32107, 32758, 33410, 34061, 34712, 35363, 36014, 36665, 37316, 37967, 38618, 39270, 39921, 40572, 41223, 41874, 42525, 43176, 43827, 44478, 45130, 45781, 46432, 47083, 47734]] - 攻击次数4 = 3 - data4 = [int(i*1.1928) for i in [0, 12635, 15565, 18495, 21425, 24355, 27285, 30215, 33145, 36075, 39005, 41935, 44865, 47795, 50725, 53655, 56585, 59515, 62445, 65375, 68305, 71235, 74165, 77095, 80025, 82955, 85885, 88815, 91745, 94675, 97605, 100535, 103465, 106395, 109325, 112255, 115185, 118115, 121045, 123975, 126905, 129835, 132765, 135695, 138625, 141555, 144485, 147415, 150345, 153275, 156205, 159135, 162065, 164995, 167925, 170855, 173785, 176715, 179645, 182575, 185505, 188435, 191365, 194295, 197225, 200155, 203085, 206015, 208945, 211875, 214805]] - 攻击次数5 = 1 - CD = 290.0 - 脱手 = 0 - 技能施放时间 = 6.3 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - -class 技能23(被动技能): - 名称 = '弹药改良' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['所有'] - 关联技能2 = ['所有'] - #技能加成描述 = '' - #加成数值 = 1.0 - - def 加成倍率(self, 武器类型): - if (self.等级 < 10): - return 1.0 - else: - return round(1.23 + 0.01 * (self.等级-10), 3) - - #自定义描述 = 1 - - def 技能描述(self, 武器类型): - return self.技能加成描述 - - def 加成倍率2(self, 武器类型): - return 1.1 - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -重霄·弹药专家·男一觉序号 = 0 -重霄·弹药专家·男二觉序号 = 0 -重霄·弹药专家·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 重霄·弹药专家·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 重霄·弹药专家·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 重霄·弹药专家·男三觉序号 = 技能序号[i.名称] - -重霄·弹药专家·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 重霄·弹药专家·男护石选项.append(i.名称) - -重霄·弹药专家·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1 and i.名称 != '爆裂弹': - 重霄·弹药专家·男符文选项.append(i.名称) - - -class 重霄·弹药专家·男角色属性(角色属性): - - 实际名称 = '重霄·弹药专家·男' - 角色 = '神枪手(男)' - 职业 = '弹药专家' - - 武器选项 = ['手弩', '步枪'] - - 类型选择 = ['魔法百分比', '物理百分比'] - - 类型 = '魔法百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['智力', '力量'] - - 超负荷属性 = 0 - - 主BUFF = 1.84 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 技能释放次数计算(self): - 技能释放次数 = [] - 技能消耗时间 = 0.0 - 爆裂弹间隔 = 0.115 - 每轮射击次数 = 0.5 * \ - (17 + floor(0.5 * (min(self.技能栏[self.技能序号['弹夹改装']].等级, 20)-10))) - - if (self.武器类型 != '手弩'): - 爆裂弹间隔 = 0.14 - 每轮射击次数 = 0.5 * \ - (10 + floor(0.5 * (min(self.技能栏[self.技能序号['弹夹改装']].等级, 20)-9))) - - 狙击附加子弹 = 0 - - for i in self.技能栏: - if i.是否有伤害 == 1: - if i.名称 == '爆裂弹': - 技能释放次数.append(0) - else: - count = 0 - if '/CD' in self.次数输入[self.技能序号[i.名称]]: - count = int((self.时间输入) / (i.等效CD(self.武器类型, self.类型)+i.技能施放时间) + 1 + i.基础释放次数) - if i.脱手 == 1: - 技能消耗时间 += count * 0.2 - else: - 技能消耗时间 += count * i.技能施放时间 - elif self.次数输入[self.技能序号[i.名称]] != '0': - count = round(float(self.次数输入[self.技能序号[i.名称]]), 2) - else: - count = 0 - 技能释放次数.append(count) - if i.名称 == '尼尔狙击': - 狙击附加子弹 = count * i.攻击次数 - - else: - 技能释放次数.append(0) - - if '/CD' in self.次数输入[self.技能序号['爆裂弹']]: - 每轮射击时间 = 每轮射击次数 * 爆裂弹间隔 - 射击轮次 = int((self.时间输入-技能消耗时间)/每轮射击时间) - 技能释放次数[self.技能序号['爆裂弹']] = int(floor((self.时间输入-技能消耗时间-射击轮次*0.2)/爆裂弹间隔)) + round(狙击附加子弹/1.3,2) - else: - if self.次数输入[self.技能序号['爆裂弹']] != '0': - 技能释放次数[self.技能序号['爆裂弹']] = round( - float(self.次数输入[self.技能序号['爆裂弹']]), 2)*每轮射击次数 - else: - 技能释放次数[self.技能序号['爆裂弹']] = 0 - - return self.技能释放次数解析(技能释放次数) - - def 伤害指数计算(self): - super().伤害指数计算() - - #def 预处理(self): - # if self.超负荷属性 == 0: - # self.技能栏[self.技能序号['弹药改良']].加成数值 = 1.1 - # self.技能栏[self.技能序号['弹药改良']].自定义描述 = 0 - # if self.超负荷属性 == 1: - # self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '火属性强化增加:36' - # self.火属性强化 += 36 - # if self.超负荷属性 == 2: - # self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '冰属性强化增加:36' - # self.冰属性强化 += 36 - # if self.超负荷属性 == 3: - # self.技能栏[self.技能序号['弹药改良']].技能加成描述 = '光属性强化增加:36' - # self.光属性强化 += 36 - # super().预处理() - - -class 重霄·弹药专家·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 重霄·弹药专家·男角色属性() - self.角色属性A = 重霄·弹药专家·男角色属性() - self.角色属性B = 重霄·弹药专家·男角色属性() - self.一觉序号 = 重霄·弹药专家·男一觉序号 - self.二觉序号 = 重霄·弹药专家·男二觉序号 - self.三觉序号 = 重霄·弹药专家·男三觉序号 - self.护石选项 = deepcopy(重霄·弹药专家·男护石选项) - self.符文选项 = deepcopy(重霄·弹药专家·男符文选项) - - #def 输入属性(self, 属性, x=0): - # super().输入属性(属性, x) - # 属性.超负荷属性 = self.超负荷属性选择.currentIndex() - - - #def 界面2(self): - # super().界面2() - - # self.超负荷属性选择 = MyQComboBox(self.main_frame2) - # self.超负荷属性选择.addItems(['超负荷装填:无', '超负荷装填:火', '超负荷装填:冰', '超负荷装填:光']) - # self.超负荷属性选择.resize(120, 20) - # self.超负荷属性选择.move(325, 420) diff --git a/Characters/重霄·机械师·女.py b/Characters/重霄·机械师·女.py deleted file mode 100644 index bdbdf891..00000000 --- a/Characters/重霄·机械师·女.py +++ /dev/null @@ -1,872 +0,0 @@ -from PublicReference.carry.base import * - - -class 技能0(被动技能): - 名称 = '机械原理' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.085+0.015*self.等级, 5) - - -class 技能1(主动技能): - 名称 = 'G1科罗纳' - 备注 = '(秒伤)' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data0 = [int(i*1.194) for i in [0, 555, 620, 675, 730, 785, 845, 900, 960, 1015, 1075, 1135, 1190, 1250, 1305, 1365, 1420, 1475, 1530, 1590, 1645, 1710, 1770, 1825, 1880, 1935, 1995, 2050, 2110, 2165, 2225, 2285, 2340, 2400, - 2455, 2515, 2570, 2625, 2680, 2745, 2805, 2860, 2920, 2975, 3030, 3085, 3145, 3200, 3265, 3320, 3375, 3435, 3490, 3550, 3605, 3665, 3720, 3780, 3835, 3895, 3955, 4010, 4070, 4125, 4180, 4235, 4300, 4355, 4415, 4475, 4525]] - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(1, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.59+0.01*self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(主动技能): - 名称 = 'G2旋雷者' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.193) for i in [0, 558, 615, 671, 728, 785, 841, 898, 954, 1011, 1067, 1124, 1181, 1237, 1294, 1350, 1407, 1464, 1520, 1577, 1634, 1690, 1747, 1804, 1860, 1917, 1973, 2030, 2087, 2143, 2200, 2256, 2313, 2370, 2426, 2483, 2540, 2596, 2653, 2709, 2766, 2823, 2879, 2936, 2992, 3049, 3106, 3162, 3219, 3275, 3332, 3389, 3445, 3502, 3559, 3615, 3672, 3728, 3785, 3842, 3898, 3955, 4011, 4068, 4125, 4181, 4238, 4295, 4351, 4408, 4464]] - 攻击次数 = 4 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(6, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.50+0.01*self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '毒蛇炮' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data0 = [int(i*1.141) for i in [0, 80, 89, 98, 105, 114, 121, 130, 138, 146, 155, 163, 171, 179, 188, 196, 204, 213, 220, 228, 236, 245, 254, 261, 270, 278, 286, 294, 303, 311, 319, 328, 335, 344, 351, 360, 369, 376, 385, 393, 401, 409, 418, 426, 434, 441, 450, 459, 468, 475, 484, 491, 499, 508, 516, 525, 533, 541, 549, 558, 565, 574, 583, 590, 599, 606, 615, 623, 631, 640, 648]] - 攻击次数 = 30 - data1 = [int(i*1.0) for i in [0, 486, 535, 585, 633, 683, 732, 781, 831, 880, 929, 979, 1028, 1077, 1127, 1176, 1225, 1275, 1324, 1373, 1423, 1472, 1521, 1571, 1620, 1669, 1718, 1767, 1817, 1866, 1916, 1965, 2014, 2064, 2113, - 2162, 2212, 2261, 2310, 2360, 2409, 2458, 2508, 2557, 2606, 2656, 2704, 2754, 2803, 2852, 2902, 2951, 3000, 3050, 3099, 3148, 3198, 3247, 3296, 3346, 3395, 3444, 3494, 3543, 3592, 3642, 3691, 3740, 3789, 3838, 3888]] - 攻击次数2 = 0 - CD = 3.5 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = '电能转换' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - # 是否加成三觉的两个技能到时候自己加 - 关联技能 = ['毒蛇炮', '空战机械:狂风', '空投支援', '拦截机工厂', 'G0战争领主', 'HS12等离子体发生器', 'G4雷行者', 'GSP猎鹰科罗纳形态', - 'GSP猎鹰旋雷者形态', 'GSP猎鹰捕食者形态', '高压电磁场', '终结者:博尔特MX', '超时空光耀加农炮', 'G-X 星尘天穹', '空中射击', 'RX-78追击者', 'Ez-8自爆者'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.10+0.02*self.等级, 5) - - -class 技能5(主动技能): - 名称 = 'G3捕食者' - 备注 = '(秒伤)' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data0 = [int(i*1.195) for i in [0, 100, 110, 120, 130, 140, 151, 161, 171, 181, 191, 201, 211, 222, 232, 242, 252, 262, 272, 283, 293, 303, 313, 323, 333, 343, 354, 364, 374, 384, 394, 404, 414, 425, 435, 445, 455, 465, 475, 485, 495, 505, 515, 525, 535, 545, 555, 566, 576, 586, 596, 606, 616, 627, 637, 647, 657, 667, 677, 687, 698, 708, 718, 728, 738, 748, 758, 769, 779, 789, 799]] - 攻击次数 = 8 - CD = 1 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(1, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.50+0.017*self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = 'G1磁力弹' - 所在等级 = 30 - 等级上限 = 70 - 基础等级 = 43 - CD = 15 - - -# class 技能7(主动技能): -# 名称 = '自爆狂风' -# 备注 = '(自爆伤害)' -# 所在等级 = 35 -# 等级上限 = 60 -# 基础等级 = 36 -# data0 = [int(i*1.0) for i in [0, 2202, 2425, 2649, 2872, 3095, 3319, 3543, 3766, 3989, 4213, 4436, 4660, 4883, 5106, 5330, 5554, 5777, 6000, 6224, 6447, 6671, 6894, 7117, 7341, 7565, 7788, 8011, 8235, 8458, 8682, 8905, 9128, 9352, 9575, 9799, 10022, -# 10245, 10469, 10693, 10915, 11139, 11363, 11586, 11810, 12033, 12256, 12480, 12704, 12926, 13150, 13374, 13597, 13821, 14044, 14267, 14491, 14715, 14937, 15161, 15385, 15608, 15831, 16055, 16278, 16502, 16725, 16948, 17172, 17395, 17619]] -# CD = 25.5 -# TP成长 = 0.10 -# TP上限 = 5 -# 是否有护石 = 1 -# 演出时间 = 1.4 - -# 护石选项 = ['魔界', '圣痕'] - -# def 装备护石(self, x): -# if x == 0: -# self.倍率 *= 8.79 - -# elif x == 1: -# self.倍率 *= 9.24 - -# def 等效百分比(self, 武器类型): -# return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '空战机械:狂风' - # 备注 = '(机枪捣蛋模式, 秒伤)' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.135) for i in [0, 611, 674, 735, 797, 860, 922, 984, 1045, 1108, 1170, 1232, 1294, 1356, 1418, 1480, 1543, 1605, 1666, 1728, 1791, 1853, 1915, 1976, 2039, 2101, 2163, 2225, 2287, 2349, 2411, 2474, 2535, 2597, 2659, 2722, 2784, 2845, 2907, 2970, 3032, 3094, 3156, 3218, 3280, 3342, 3405, 3466, 3528, 3590, 3653, 3715, 3776, 3839, 3901, 3963, 4025, 4087, 4149, 4211, 4273, 4335, 4397, 4459, 4522, 4584, 4645, 4707, 4770, 4832, 4894]] - 攻击次数 = 3/3.352 - data1 = [int(i*1.135) for i in [0, 275, 303, 331, 358, 386, 415, 443, 470, 498, 526, 555, 582, 610, 638, 665, 694, 722, 750, 777, 805, 834, 861, 889, 917, 945, 973, 1001, 1029, 1057, 1085, 1113, 1141, 1168, 1196, 1225, 1253, 1280, 1308, 1336, 1364, 1392, 1420, 1448, 1475, 1504, 1532, 1560, 1587, 1615, 1644, 1671, 1699, 1727, 1755, 1783, 1811, 1839, 1866, 1895, 1923, 1951, 1978, 2006, 2035, 2063, 2090, 2118, 2146, 2174, 2202]] - 攻击次数2 = 6/3.523 - data2 = [int(i*1.135) for i in [0,2202, 2425, 2649, 2872, 3095, 3319, 3543, 3766, 3989, 4213, 4436, 4660, 4883, 5106, 5330, 5554, 5777, 6000, 6224, 6447, 6671, 6894, 7117, 7341, 7565, 7788, 8011, 8235, 8458, 8682, 8905, 9128, 9352, 9575, 9799, 10022, 10245, 10469, 10693, 10915, 11139, 11363, 11586, 11810, 12033, 12256, 12480, 12704, 12926, 13150, 13374, 13597, 13821, 14044, 14267, 14491, 14715, 14937, 15161, 15385, 15608, 15831, 16055, 16278, 16502, 16725, 16948, 17172, 17395, 17619]] - 攻击次数3 = 0 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - 装备护石 = 0 - - def 装备护石(self, x): - if x == 0: - self.装备护石 = 1 - self.演出时间 = 1.4 - self.攻击次数3 = 8.79 - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.CD = 30 - - elif x == 1: - self.装备护石 = 1 - self.演出时间 = 1.4 - self.攻击次数3 = 9.24 - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.CD = 30 - - def 等效CD(self, 武器类型, 输出类型): - if self.装备护石 == 1: - return super().等效CD(武器类型, 输出类型) - else: - return round(1, 1) - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2+ self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '空投支援' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.177) for i in [0, 912, 1005, 1098, 1190, 1283, 1376, 1468, 1561, 1654, 1747, 1838, 1931, 2025, 2116, 2209, 2302, 2395, 2487, 2579, 2673, 2766, 2857, 2951, 3043, 3135, 3228, 3321, 3414, 3505, 3599, 3692, 3783, 3876, 3969, 4062, 4154, 4247, 4340, 4433, 4524, 4618, 4710, 4802, 4896, 4988, 5081, 5172, 5266, 5359, 5450, 5544, 5636, 5729, 5821, 5914, 6007, 6100, 6192, 6285, 6377, 6469, 6563, 6655, 6748, 6840, 6933, 7026, 7117, 7211, 7303]] - 攻击次数 = 20 - CD = 40.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3.5 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.242 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.334 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '拦截机工厂' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data0 = [int(i*1.173) for i in [0, 160, 176, 193, 208, 225, 241, 258, 274, 291, 308, 324, 340, 356, 373, 389, 405, 421, 438, 454, 470, 487, 503, 520, 535, 552, 568, 585, 600, 617, 633, 650, 666, 682, 699, 715, 731, 747, 764, 780, 796, 812, 829, 846, 861, 878, 894, 911, 926, 943, 959, 976, 991, 1008, 1025, 1040, 1057, 1073, 1090, 1105, 1122, 1138, 1155, 1170, 1188, 1204, 1221, 1238, 1253, 1270, 1286]] - 攻击次数 = 110 - data1 = [int(i*1.173) for i in [0, 1205, 1327, 1450, 1572, 1695, 1817, 1940, 2062, 2184, 2306, 2428, 2550, 2672, 2794, 2918, 3041, 3163, 3285, 3407, 3529, 3651, 3774, 3896, 4019, 4141, 4263, 4385, 4508, 4631, 4753, 4875, 4997, 5120, 5242, 5364, 5486, 5609, 5731, 5853, 5975, 6098, 6220, 6343, 6466, 6588, 6710, 6832, 6954, 7076, 7198, 7321, 7444, 7566, 7689, 7811, 7933, 8055, 8177, 8300, 8422, 8544, 8667, 8789, 8911, 9033, 9156, 9279, 9401, 9523, 9644]] - 攻击次数2 = 6 - data2 =[int(i*1.173) for i in [0,21171, 23319, 25467, 27615, 29763, 31911, 34058, 36206, 38354, 40502, 42650, 44798, 46946, 49093, 51241, 53389, 55537, 57685, 59833, 61981, 64128, 66276, 68424, 70572, 72720, 74868, 77016, 79163, 81311, 83459, 85607, 87755, 89903, 92051, 94198, 96346, 98494, 100642, 102790, 104938, 107086, 109233, 111381, 113529, 115677, 117825, 119973, 122121, 124268, 126416, 128564, 130712, 132860, 135008, 137156, 139303, 141451, 143599, 145747, 147895, 150043, 152191, 154338, 156486, 158634, 160782, 162930, 165078, 167226, 155634]] - 攻击次数3 = 0 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 4.9 - - 光反应能量模块 = 0 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(i * 1.17) for i in self.data0] - self.data1 = [int(i * 1.17) for i in self.data1] - self.data2 = [int(i * 1.14) for i in self.data2] - self.攻击次数 = 120 - - elif x == 1: - self.data0 = [int(i * 1.25) for i in self.data0] - self.data1 = [int(i * 1.25) for i in self.data1] - self.data2 = [int(i * 1.22) for i in self.data2] - self.攻击次数 = 120 - - def 等效百分比(self, 武器类型): - if self.光反应能量模块 == 1: - self.攻击次数 = 0 - self.攻击次数2 = 0 - self.攻击次数3 = 1 - - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(被动技能): - 名称 = '光反应能量模块' - 所在等级 = 45 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['拦截机工厂'] - 倍率 = 1.0 - - def 技能描述(self, 武器类型): - temp = '' - temp += '将拦截机互相连结, 生成能量散热板
'+ \ - '能量散热板蓄积能量并向前方发射, 然后消失' - return temp - - def 加成倍率(self, 武器类型): - return self.倍率 - - -class 技能11(被动技能): - 名称 = 'G系扩张' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.025+0.02*self.等级, 5) - - -class 技能12(主动技能): - 名称 = 'G0战争领主' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - - data0 = [int(i*1.184) for i in [0, 539, 665, 790, 915, 1040, 1166, 1291, 1417, 1541, 1667, 1791, 1917, 2042, 2168, 2292, 2418, 2544, 2669, 2795, 2920, 3044, 3169, 3295, 3420, 3546, 3671, 3796, 3921, 4047, 4171, 4297, 4422, 4547, 4672, 4798, 4923, 5049, 5173, 5299, 5423, 5549, 5675, 5800, 5924, 6050, 6176, 6301, 6427, 6552, 6676, 6801, 6927, 7052, 7178, 7303, 7428, 7553, 7679, 7803, 7929, 8054, 8179, 8304, 8430, 8555, 8681, 8805, 8931, 9055, 9181]] - 攻击次数 = 30 - data1 = [int(i*1.184) for i in [0, 675, 832, 988, 1145, 1300, 1457, 1614, 1770, 1927, 2084, 2240, 2397, 2553, 2709, 2866, 3022, 3179, 3336, 3492, 3649, 3806, 3963, 4120, 4275, 4432, 4589, 4745, 4902, 5058, 5215, 5372, 5528, 5685, 5840, 5997, 6154, 6310, 6467, 6624, 6780, 6937, 7093, 7250, 7406, 7562, 7719, 7876, 8032, 8189, 8346, 8503, 8660, 8816, 8972, 9129, 9285, 9442, 9598, 9755, 9912, 10068, 10225, 10380, 10537, 10694, 10850, 11007, 11164, 11320, 11477]] - 攻击次数2 = 24 - data2 = [int(i*1.184) for i in [0, 2925, 3604, 4282, 4960, 5639, 6317, 6995, 7673, 8353, 9030, 9709, 10387, 11067, 11744, 12423, 13101, 13779, 14458, 15137, 15814, 16493, 17171, 17850, 18528, 19207, 19885, 20564, 21242, 21921, 22598, 23278, 23956, 24634, 25312, 25990, 26669, 27347, 28026, 28703, 29383, 30061, 30740, 31417, 32096, 32775, 33453, 34131, 34810, 35487, 36167, 36845, 37523, 38201, 38881, 39559, 40237, 40915, 41595, 42272, 42951, 43629, 44308, 44986, 45664, 46342, 47020, 47700, 48377, 49056, 49735]] - 攻击次数3 = 12 - CD = 145.0 - 一觉减CD = 0 - 冷却关联技能 = ['所有'] - 演出时间 = 7.1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3) * self.倍率 - - def CD缩减倍率(self, 武器类型): - return round(1 - self.一觉减CD, 3) - - -class 技能13(主动技能): - 名称 = 'HS12等离子体发生器' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data0 = [int(i*1.186) for i in [0, 17953, 19774, 21595, 23417, 25238, 27059, 28881, 30702, 32523, 34345, 36166, 37987, 39809, 41630, 43451, 45273, 47094, 48915, 50737, 52558, 54379, 56201, 58022, 59843, 61665, 63486, 65307, 67129, 68950, 70772, 72593, 74414, 76236, 78057, 79878, 81700, 83521, 85342, 87164, 88985, 90806, 92628, 94449, 96270, 98092, 99913, 101734, 103556, 105377]] - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 0.9 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.12 - - elif x == 1: - self.倍率 *= 1.21 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(主动技能): - 名称 = 'G4雷行者' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data0 = [int(i*1.194) for i in [0, 542, 597, 652, 706, 761, 817, 872, 927, 982, 1037, 1092, 1147, 1202, 1256, 1311, 1366, 1422, 1477, 1532, 1587, 1642, 1697, 1752, 1807, 1861, 1916, 1971, 2027, 2082, 2137, 2192, 2247, 2302, 2357, 2412, 2466, 2521, 2576, 2632, 2687, 2742, 2797, 2852, 2907, 2962, 3016, 3071, 3126, 3181, 3237, 3292, 3347, 3402, 3457, 3512, 3567, 3621, 3676, 3731, 3786, 3842, 3897, 3952, 4007, 4062, 4117, 4172, 4226, 4281, 4336]] - 攻击次数 = 48 - data1 = [int(i*1.194) for i in [0, 1117, 1231, 1344, 1458, 1570, 1685, 1798, 1912, 2024, 2138, 2252, 2365, 2478, 2592, 2705, 2819, 2932, 3046, 3158, 3273, 3386, 3499, 3612, 3726, 3840, 3953, 4066, 4180, 4293, 4407, 4520, 4634, 4746, 4861, 4974, 5087, 5200, 5315, 5427, 5541, 5654, 5768, 5881, 5995, 6108, 6221, 6334, 6449, 6562, 6675, 6788, 6903, 7015, 7129, 7242, 7356, 7469, 7583, 7696, 7809, 7923, 8037, 8149, 8263, 8376, 8491, 8603, 8717, 8830, 8943]] - 攻击次数2 = 3 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 7.3 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.12 - self.CD *= 0.9 - - elif x == 1: - self.倍率 *= 1.20 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能15(被动技能): - 名称 = 'GX主宰者' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['G0战争领主', '终结者:博尔特MX','G-X 星尘天穹','RX-78追击者'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 in [1, 2]: - return round(1.08+0.02*self.等级, 5) - if self.等级 == 3: - return round(1.15, 5) - if self.等级 == 4: - return round(1.20, 5) - if self.等级 >= 5: - return round(1.12+0.02*self.等级, 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.85 - -class 技能16(主动技能): - 名称 = 'GSP猎鹰科罗纳形态' - 备注 = '(GSP猎鹰)' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.191) for i in [0, 17356, 19117, 20878, 22638, 24399, 26160, 27921, 29682, 31442, 33203, 34964, 36725, 38486, 40246, 42007, 43768, 45529, 47290, 49051, 50811, 52572, 54333, 56094, 57855, 59615, 61376, 63137, 64898, 66659, 68419, 70180, 71941, 73702, 75463, 77223, 78984, 80745, 82506, 84267, 86027, 87788, 89549, 91310, 93071, 94831, 96592, 98353, 100114, 101875, 103636, 105396, 107157, 108918, 110679, 112440, 114200, 115961, 117722, 119483, 121244, 123004, 124765, 126526, 128287, 130048, 131808, 133569, 135330, 137091, 138852]] - CD = 15 - 基础释放次数 = 2 - 演出时间 = 1.3 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - self.CD *= 0.9 - - # def 等效CD(self, 武器类型, 输出类型): - # return round(self.CD, 1) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - -class 技能17(主动技能): - 名称 = 'GSP猎鹰旋雷者形态' - 备注 = '(GSP猎鹰)' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.192) for i in [0, 5787, 6374, 6961, 7548, 8135, 8722, 9309, 9897, 10484, 11071, 11658, 12245, 12832, 13419, 14006, 14593, 15181, 15768, 16355, 16942, 17529, 18116, 18703, 19290, 19877, 20465, 21052, 21639, 22226, 22813, 23400, 23987, 24574, 25161, 25749, 26336, 26923, 27510, 28097, 28684, 29271, 29858, 30445, 31033, 31620, 32207, 32794, 33381, 33968, 34555, 35142, 35729, 36317, 36904, 37491, 38078, 38665, 39252, 39839, 40426, 41013, 41601, 42188, 42775, 43362, 43949, 44536, 45123, 45710, 46297]] - 攻击次数 = 3 - CD = 15 - 基础释放次数 = 2 - 演出时间 = 1.6 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - self.CD *= 0.9 - - # def 等效CD(self, 武器类型, 输出类型): - # return round(self.CD, 1) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -class 技能18(主动技能): - 名称 = 'GSP猎鹰捕食者形态' - 备注 = '(GSP猎鹰)' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.192) for i in [0, 745, 821, 897, 972, 1048, 1123, 1198, 1274, 1350, 1426, 1501, 1577, 1652, 1728, 1803, 1879, 1955, 2031, 2106, 2182, 2257, 2333, 2408, 2485, 2560, 2636, 2711, 2787, 2862, 2938, 3014, 3090, 3165, 3241, 3316, 3392, 3467, 3543, 3619, 3695, 3770, 3845, 3921, 3996, 4072, 4148, 4224, 4299, 4375, 4450, 4526, 4601, 4678, 4753, 4829, 4904, 4980, 5055, 5131, 5207, 5283, 5358, 5434, 5509, 5585, 5660, 5736, 5812, 5888, 5963]] - 攻击次数 = 25 - CD = 15 - 基础释放次数 = 2 - 演出时间 = 2.8 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.314 - self.CD *= 0.9 - - # def 等效CD(self, 武器类型, 输出类型): - # return round(self.CD, 1) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -class 技能19(主动技能): - 名称 = '高压电磁场' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data0 = [int(i*1.197) for i in [0, 4041, 4451, 4861, 5270, 5680, 6091, 6501, 6910, 7321, 7730, 8141, 8550, 8960, 9371, 9780, 10190, 10600, 11010, 11421, 11830, 12240, 12650, 13060, 13471, 13879, 14290, 14701, 15110, 15520, 15930, 16340, 16751, 17159, 17570, 17980, 18390, 18800, 19209, 19620, 20030, 20440, 20850, 21259, 21670, 22081, 22489, 22900, 23309, 23720, 24130, 24539, 24950, 25359, 25769, 26180, 26589, 27000, 27409, 27819, 28230, 28639, 29050, 29458, 29869, 30280, 30689, 31099, 31508, 31919, 32330]] - 攻击次数 = 15 - CD = 50 - 演出时间 = 3.5 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.30 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -class 技能20(主动技能): - 名称 = '终结者:博尔特MX' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - - data0 = [int(i*1.192) for i in [0, 1877, 2312, 2748, 3183, 3619, 4054, 4489, 4924, 5360, 5796, 6231, 6666, 7101, 7537, 7972, 8408, 8842, 9278, 9714, 10149, 10585, 11019, 11455, 11890, 12326, 12762, 13196, 13632, 14067, 14503, 14938, 15374, 15809, 16244, 16680, 17115, 17551, 17986, 18421, 18856, 19292, 19728, 20163, 20598, 21033, 21469, 21904, 22340, 22774, 23210, 23646, 24081, 24517, 24951, 25387, 25822, 26258, 26694, 27128, 27564, 27999, 28435, 28870, 29305, 29740, 30176, 30612, 31047, 31482, 31917]] - 攻击次数 = 8 - data1 = [int(i*1.192) for i in [0, 4096, 5047, 5995, 6945, 7896, 8846, 9796, 10745, 11695, 12645, 13595, 14546, 15494, 16444, 17395, 18345, 19294, 20244, 21194, 22144, 23095, 24043, 24993, 25944, 26894, 27844, 28793, 29743, 30693, 31644, 32594, 33542, 34493, 35443, 36393, 37342, 38292, 39242, 40192, 41143, 42091, 43041, 43992, 44942, 45892, 46841, 47791, 48741, 49692, 50642, 51590, 52541, 53491, 54441, 55390, 56340, 57290, 58241, 59191, 60139, 61089, 62040, 62990, 63940, 64889, 65839, 66789, 67740, 68690, 69638]] - 攻击次数2 = 2 - data2 = [int(i*1.192) for i in [0, 2398, 2953, 3510, 4065, 4621, 5176, 5734, 6293, 6850, 7405, 7961, 8516, 9074, 9627, 10185, 10741, 11297, 11854, 12409, 12966, 13520, 14077, 14632, 15189, 15745, 16301, 16860, 17415, 17972, 18529, 19085, 19642, 20197, 20753, 21308, 21865, 22419, 22976, 23531, 24088, 24645, 25201, 25758, 26312, 26869, 27427, 27983, 28541, 29096, 29652, 30207, 30764, 31320, 31875, 32432, 32987, 33543, 34099, 34657, 35211, 35768, 36323, 36880, 37436, 37997, 38551, 39108, 39663, 40219, 40774]] - 攻击次数3 = 15 - data3 = [int(i*1.192) for i in [0, 2959, 3645, 4330, 5016, 5702, 6389, 7075, 7761, 8446, 9132, 9819, 10505, 11191, 11877, 12563, 13248, 13935, 14621, 15307, 15993, 16679, 17366, 18051, 18737, 19423, 20109, 20795, 21482, 22167, 22853, 23539, 24225, 24912, 25598, 26284, 26969, 27655, 28341, 29028, 29714, 30400, 31085, 31771, 32458, 33144, 33830, 34516, 35201, 35887, 36574, 37260, 37946, 38632, 39318, 40005, 40690, 41376, 42062, 42748, 43434, 44121, 44806, 45492, 46178, 46864, 47551, 48237, 48922, 49608, 50294]] - 攻击次数4 = 6 - data4 = [int(i*1.192) for i in [0, 30040, 37005, 43972, 50937, 57904, 64869, 71836, 78802, 85767, 92734, 99699, 106666, 113631, 120598, 127563, 134530, 141495, 148462, 155427, 162393, 169359, 176324, 183291, 190256, 197223, 204188, 211155, 218120, 225087, 232052, 239018, 245984, 252949, 259916, 266881, 273848, 280813, 287780, 294745, 301712, 308677, 315643, 322609, 329575, 336541, 343506, 350473, 357438, 364405, 371370, 378337, 385302, 392268, 399234, 406200, 413166, 420131, 427098, 434063, 441030, 447995, 454962, 461927, 468893, 475859, 482825, 489792, 496758, 503724, 510690]] - 攻击次数5 = 1 - data5 = [int(i*1.192) for i in [0, 230040, 37005, 43972, 50937, 57904, 64869, 71836, 78802, 85767, 92734, 99699, 106666, 113631, 120598, 127563, 134530, 141495, 148462, 155427, 162393, 169359, 176324, 183291, 190256, 197223, 204188, 211155, 218120, 225087, 232052, 239018, 245984, 252949, 259916, 266881, 273848, 280813, 287780, 294745, 301712, 308677, 315643, 322609, 329575, 336541, 343506, 350473, 357438, 364405, 371370, 378337, 385302, 392268, 399234, 406200, 413166, 420131, 427098, 434063, 441030, 447995, 454962, 461927, 468893, 475859, 482825, 489792, 496758, 503724, 510690]] - 攻击次数6 = 1 - CD = 180 - 演出时间 = 7.1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数2 + self.data2[self.等级] * self.攻击次数3 + self.data3[self.等级] * self.攻击次数4 + self.data4[self.等级] * self.攻击次数5 + self.data5[self.等级] * self.攻击次数6) * self.倍率 - - -class 技能21(被动技能): - 名称 = '微型制导' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = '超时空光耀加农炮' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 10 - 演出时间 = 1.5 - 基础等级 = 6 - CD = 60 - # 基础 = 6094.8 - # 成长 = 688.2 - data0 = [int(i*1.182) for i in [0,5653, 6226, 6800, 7373, 7947, 8520, 9094, 9667, 10241, 10814, 11388, 11961, 12535, 13108, 13682, 14255, 14829, 15402, 15976, 16549, 17123, 17696, 18270, 18843, 19417, 19990, 20564, 21137, 21711, 22284, 22858, 23431, 24005, 24578, 25152, 25725, 26299, 26872, 27446, 28019]] - data1 = [int(i*1.182) for i in [0,19785, 21793, 23800, 25807, 27814, 29822, 31829, 33836, 35843, 37851, 39858, 41865, 43872, 45880, 47887, 49894, 51901, 53909, 55916, 57923, 59930, 61938, 63945, 65952, 67959, 69967, 71974, 73981, 75988, 77996, 80003, 82010, 84017, 86025, 88032, 90039, 92046, 94054, 96061, 98068]] - 攻击次数 = 6 - # 基础2 = 17777.6 - # 成长2 = 2007.4 - 攻击次数2 = 4 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]* self.攻击次数 + self.data1[self.等级]* self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能23(主动技能): - 名称 = 'G-X 星尘天穹' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = 2 - CD = 290.0 - 演出时间 = 6.5 - 攻击次数 = 8 - 攻击次数2 = 7 - - data0 = [int(i*1.184) for i in [0,16341, 20131, 23920, 27710, 31499, 35288, 39078, 42867, 46657, 50446, 54235, 58025, 61814, 65604, 69393, 73182, 76972, 80761, 84551, 88340, 92129, 95919, 99708, 103498, 107287, 111077, 114866, 118655, 122445, 126234]] - data1 = [int(i*1.184) for i in [0,43578, 53683, 63788, 73893, 83998, 94103, 104208, 114313, 124418, 134524, 144629, 154734, 164839, 174944, 185049, 195154, 205259, 215364, 225469, 235574, 245679, 255785, 265890, 275995, 286100, 296205, 306310, 316415, 326520, 336625]] - - def 加成倍率(self, 武器类型): - return 0.0 - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]* self.攻击次数 + self.data1[self.等级]* self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能24(主动技能): - 名称 = '空中射击' - 备注 = '(秒伤,TP为基础精通)' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - data0 = [int(i) for i in [0, 102, 104, 106, 108, 110, 112, 114, 116, - 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 140]] - 攻击次数 = 1 - CD = 1 - TP成长 = 0.10 - TP上限 = 3 - - def 等效CD(self, 武器类型, 输出类型): - return round(1, 1) - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 / 0.115 * 1.6 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能25(被动技能): - 名称 = '基础精通' - 所在等级 = 1 - 倍率 = 1.0 - 等级上限 = 200 - 基础等级 = 100 - 关联技能 = ['空中射击'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) - - -class 技能26(主动技能): - 名称 = 'RX-78追击者' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - - data0 = [int(i*1.0) for i in [0, 667, 734, 802, 869, 936, 1003, 1071, 1140, 1207, 1275, 1343, 1410, 1477, 1546, 1613, 1680, 1749, 1817, 1884, 1952, 2020, 2087, 2155, 2222, 2290, 2359, 2426, 2494, 2561, 2629, 2696, 2763, - 2831, 2898, 2967, 3035, 3102, 3169, 3237, 3305, 3372, 3440, 3509, 3576, 3643, 3712, 3779, 3846, 3915, 3982, 4049, 4117, 4186, 4253, 4320, 4389, 4456, 4523, 4590, 4658]] - CD = 2.8 - TP成长 = 0.08 - TP上限 = 5 - 演出时间 = 0.7 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能27(主动技能): - 名称 = 'Ez-8自爆者' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - - data0 = [int(i*1.0) for i in [0, 2281, 2512, 2743, 2975, 3206, 3438, 3670, 3901, 4132, 4364, 4595, 4826, 5058, 5289, 5521, 5752, 5984, 6216, 6447, 6678, 6910, 7141, 7372, 7604, 7835, 8066, 8299, 8530, 8761, 8993, 9224, - 9456, 9687, 9917, 10150, 10380, 10611, 10845, 11075, 11306, 11538, 11769, 12000, 12232, 12463, 12695, 12926, 13158, 13390, 13621, 13852, 14084, 14315, 14546, 14778, 15009, 15240, 15473, 15704, 15935]] - CD = 7.5 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.6 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能28(主动技能): - 名称 = '机械引爆' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 5 - 关联技能 = ['RX-78追击者', 'Ez-8自爆者'] - CD = 3.5 - 演出时间 = 0.6 - 是否有伤害 = 0 - - def 加成倍率(self, 武器类型): - if self.等级 <= 4: - return round(1.30+0.02*self.等级, 5) - if self.等级 >= 5: - return round(1.40, 5) - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - temp = i - if i.是否有伤害 == 1 and i.是否有护石 == 1 and i.所在等级 <= 70: - 护石选项.append(i.名称) -护石选项.append('GSP猎鹰') -护石选项.append('高压电磁场') - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 70 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) -符文选项.append('GSP猎鹰') -符文选项.append('高压电磁场') - - -class 职业角色属性(角色属性): - - 实际名称 = '重霄·机械师·女' - 角色 = '神枪手(女)' - 职业 = '机械师' - - 武器选项 = ['自动手枪'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.850 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.装备检查('守护的抉择'): - if self.护石第一栏 == 'GSP猎鹰': - self.技能栏[self.技能序号['GSP猎鹰科罗纳形态']].CD *= 0.7 - self.技能栏[self.技能序号['GSP猎鹰科罗纳形态']].倍率 *= 1.55 - self.技能栏[self.技能序号['GSP猎鹰旋雷者形态']].CD *= 0.7 - self.技能栏[self.技能序号['GSP猎鹰旋雷者形态']].倍率 *= 1.55 - self.技能栏[self.技能序号['GSP猎鹰捕食者形态']].CD *= 0.7 - self.技能栏[self.技能序号['GSP猎鹰捕食者形态']].倍率 *= 1.55 - if self.护石第二栏 == 'GSP猎鹰': - self.技能栏[self.技能序号['GSP猎鹰科罗纳形态']].CD *= 0.75 - self.技能栏[self.技能序号['GSP猎鹰科罗纳形态']].倍率 *= 1.45 - self.技能栏[self.技能序号['GSP猎鹰旋雷者形态']].CD *= 0.75 - self.技能栏[self.技能序号['GSP猎鹰旋雷者形态']].倍率 *= 1.45 - self.技能栏[self.技能序号['GSP猎鹰捕食者形态']].CD *= 0.75 - self.技能栏[self.技能序号['GSP猎鹰捕食者形态']].倍率 *= 1.45 - if self.技能栏[self.技能序号['光反应能量模块']].等级 != 0: - self.技能栏[self.技能序号['拦截机工厂']].光反应能量模块 = 1 - self.技能栏[self.技能序号['拦截机工厂']].演出时间 = 1.7 - if self.装备检查('雷霆怒啸手枪'): - self.技能栏[self.技能序号['光反应能量模块']].倍率 *= 1.2 - super().被动倍率计算() - self.技能栏[self.技能序号['G1科罗纳']].被动倍率 *= 1+self.技能栏[self.技能序号['G2旋雷者'] - ].G系加成倍率()+self.技能栏[self.技能序号['G3捕食者']].G系加成倍率() - self.技能栏[self.技能序号['G2旋雷者']].被动倍率 *= 1+self.技能栏[self.技能序号['G1科罗纳'] - ].G系加成倍率()+self.技能栏[self.技能序号['G3捕食者']].G系加成倍率() - self.技能栏[self.技能序号['G3捕食者']].被动倍率 *= 1+self.技能栏[self.技能序号['G1科罗纳'] - ].G系加成倍率()+self.技能栏[self.技能序号['G2旋雷者']].G系加成倍率() - self.技能栏[self.技能序号['G1磁力弹']].基础 = self.技能栏[self.技能序号['G1科罗纳']].等效百分比( - self.武器类型)*0.2*1.717*10 - self.技能栏[self.技能序号['G1磁力弹']].被动倍率 = self.技能栏[self.技能序号['G1科罗纳']].被动倍率 - self.技能栏[self.技能序号['G1磁力弹']].等级 = self.技能栏[self.技能序号['G1科罗纳']].等级 - - # for i in [17, 18, 19]: - #self.技能栏[i].等级 = self.技能栏[17].等级 - #self.技能栏[self.技能序号['GSP猎鹰捕食者形态']].等级 = self.技能栏[self.技能序号['GSP猎鹰旋雷者形态']].等级 = self.技能栏[self.技能序号['GSP猎鹰科罗纳形态']].等级 - - -class 重霄·机械师·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业角色属性() - self.角色属性A = 职业角色属性() - self.角色属性B = 职业角色属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 护石类型选项更新(self, x): - self.护石类型选项[x].clear() - if self.护石栏[x].currentText() != '无': - if self.护石栏[x].currentText() != 'GSP猎鹰': - try: - self.护石类型选项[x].addItems( - self.初始属性.技能栏[self.初始属性.技能序号[self.护石栏[x].currentText()]].护石选项) - except: - self.护石类型选项[x].addItem('魔界') - self.护石栏[x].setCurrentIndex(0) - else: - self.护石类型选项[x].addItem('圣痕') - else: - self.护石类型选项[x].addItem('魔界') - - def 界面(self): - super().界面() - self.一觉减CD开关 = QCheckBox('ฅ一觉减CD Buffღ', self.main_frame2) - self.一觉减CD开关.setChecked(False) - self.一觉减CD开关.resize(120, 20) - self.一觉减CD开关.move(325, 400) - self.一觉减CD开关.setStyleSheet(复选框样式) - - self.职业存档.append(('一觉减CD开关', self.一觉减CD开关, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.一觉减CD开关.isChecked(): - 属性.技能栏[属性.技能序号['G0战争领主']].一觉减CD = 0.1 - - def 加载护石(self, 属性): - for k in range(3): - if self.护石栏[k].currentText() != '无' and self.护石栏[k].currentText() != 'GSP猎鹰': - try: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石() - except: - 属性.技能栏[self.角色属性A.技能序号[self.护石栏[k].currentText()]].装备护石( - self.护石类型选项[k].currentIndex()) - elif self.护石栏[k].currentText() == 'GSP猎鹰': - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰科罗纳形态']].装备护石(0) - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰旋雷者形态']].装备护石(0) - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰捕食者形态']].装备护石(0) - - 属性.护石第一栏 = self.护石栏[0].currentText() - 属性.护石第二栏 = self.护石栏[1].currentText() - 属性.护石第三栏 = self.护石栏[2].currentText() - - if self.复选框列表[7].isChecked(): - if 属性.技能栏[self.角色属性A.技能序号['空战机械:狂风']].装备护石 == 1: - 属性.技能栏[self.角色属性A.技能序号['空战机械:狂风']].CD *= 0.80 - - for i in range(9): - if self.符文[i].currentText() != '无' and self.符文效果[i].currentText() != '无' and self.符文[i].currentText() != 'GSP猎鹰': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].倍率 *= 1 + int( - j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文[i].currentText()]].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - elif self.符文[i].currentText() == 'GSP猎鹰': - for j in self.符文效果[i].currentText().split(','): - if '攻击' in j: - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰捕食者形态']].倍率 *= 1 + \ - int(j.replace('攻击', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰旋雷者形态']].倍率 *= 1 + \ - int(j.replace('攻击', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰科罗纳形态']].倍率 *= 1 + \ - int(j.replace('攻击', '').replace('%', '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰捕食者形态']].CD *= 1 + \ - int(j.replace('CD', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰旋雷者形态']].CD *= 1 + \ - int(j.replace('CD', '').replace('%', '')) / 100 - 属性.技能栏[self.角色属性A.技能序号['GSP猎鹰科罗纳形态']].CD *= 1 + \ - int(j.replace('CD', '').replace('%', '')) / 100 diff --git a/Characters/重霄·机械师·男.py b/Characters/重霄·机械师·男.py deleted file mode 100644 index dd155979..00000000 --- a/Characters/重霄·机械师·男.py +++ /dev/null @@ -1,611 +0,0 @@ -from PublicReference.carry.base import * - - -class 技能0(被动技能): - 名称 = '方舟反应堆' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.05+0.02*self.等级, 3) - - -class 技能1(主动技能): - 名称 = 'G1科罗纳' - 备注 = '(秒伤)' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - 数据 = [int(i*1.19) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]] - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(1, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.59+0.01*self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(主动技能): - 名称 = 'G2旋雷者' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 数据 = [int(i*1.0) for i in [0, 450, 496, 541, 587, 633, 679, 724, 770, 816, 861, 907, 953, 999, 1044, 1090, 1136, 1181, 1227, 1273, 1318, 1364, 1410, 1456, 1501, 1547, 1593, 1638, 1684, 1730, 1776, 1821, 1867, 1913, 1958, 2004, 2050, 2095, 2141, 2187, 2233, 2278, 2324, 2370, 2415, 2461, 2507, 2553, 2598, 2644, 2690, 2735, 2781, 2827, 2872, 2918, 2964, 3010, 3055, 3101, 3147, 3192, 3238, 3284, 3330, 3375, 3421, 3467, 3512, 3558, 3604]] - 攻击次数 = 3 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(6, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.50+0.01*self.等级, 5) - - def 等效百分比(self, 武器类型): - return self.数据[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '毒蛇炮' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - 数据1 = [int(i*1.19) for i in [0, 108, 119, 130, 141, 152, 163, 174, 185, 196, 207, 218, 229, 240, 251, 262, 273, 285, 295, 306, 317, 328, 339, 350, 361, 372, 384, 395, 405, 416, 427, 438, 449, 460, 471, 482, 494, 505, 515, 526, 537, 548, 559, 570, 581, 593, 604, 615, 625, 636, 647, 658, 669, 680, 691, 703, 714, 725, 735, 746, 757, 768, 779, 790, 802, 813, 824, 835, 845, 856, 867]] - 攻击次数1 = 30 - CD = 3.5 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 5.5 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能4(被动技能): - 名称 = '机械概论' - 所在等级 = 15 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者', '毒蛇炮', '空战机械:风暴', '空投支援', '拦截机工厂', - '盖波加之拳', 'EZ10反击者', 'EXSZero毒蛇炮', 'TN80终结者', 'TX-45特攻队', '超时空行军', 'HS1全息机械猎手', 'GW16-瓦尔德斯坦'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.085+0.015*self.等级, 3) - - -class 技能5(主动技能): - 名称 = 'RX78追击者' - 所在等级 = 5 - 等级上限 = 60 - 基础等级 = 50 - 数据1 = [int(i*1.191) for i in [0, 588, 647, 707, 767, 826, 886, 946, 1005, 1065, 1125, 1185, 1245, 1305, 1364, 1424, 1484, 1543, 1603, 1663, 1722, 1782, 1841, 1901, 1961, 2020, 2080, 2140, 2199, 2259, 2319, 2378, 2438, 2498, 2557, 2617, 2677, 2736, 2796, 2856, 2915, 2975, 3035, 3095, 3155, 3215, 3274, 3334, 3394, 3453, 3513, 3573, 3632, 3692, 3751, 3811, 3871, 3930, 3990, 4050, 4109, 4169, 4229, 4288, 4348, 4408, 4467, 4527, 4587, 4646, 4706]] - 攻击次数1 = 2 - CD = 2.5 - TP成长 = 0.08 - TP上限 = 5 - 演出时间 = 5.5 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能6(主动技能): - 名称 = 'Ez8自爆者' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - 数据1 = [int(i*1.1939) for i in [0, 2097, 2310, 2523, 2736, 2949, 3161, 3374, 3587, 3800, 4013, 4226, 4438, 4651, 4864, 5077, 5290, 5502, 5715, 5928, 6141, 6354, 6567, 6779, 6992, 7205, 7418, 7631, 7844, 8056, 8269, 8482, 8695, 8908, 9120, 9333, 9546, 9759, 9972, 10185, 10397, 10610, 10823, 11036, 11249, 11461, 11674, 11887, 12100, 12313, 12526, 12738, 12951, 13164, 13377, 13590, 13803, 14015, 14228, 14441, 14654, 14867, 15079, 15292, 15505, 15718, 15931, 16144, 16356, 16569, 16782]] - 攻击次数1 = 1 - CD = 6.5 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 5.5 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = 'G3捕食者' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 数据1 = [int(i*1.19) for i in [0, 116, 128, 140, 152, 164, 176, 187, 199, 211, 223, 235, 247, 258, 270, 282, 294, 306, 318, 330, 341, 353, 365, 377, 389, 401, 412, 424, 436, 448, 460, 472, 484, 495, 507, 519, 531, 543, 555, 566, 578, 590, 602, 614, 626, 638, 649, 661, 673, 685, 697, 709, 720, 732, 744, 756, 768, 780, 792, 803, 815, 827, 839, 851, 863, 874, 886, 898, 910, 922, 934]] - 攻击次数1 = 4 - CD = 1 - TP成长 = 0.10 - TP上限 = 5 - - def 等效CD(self, 武器类型, 输出类型): - return round(1, 1) - - def G系加成倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.48+0.01*self.等级, 3) - - def 等效百分比(self, 武器类型): - return self.数据1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = 'RX60陷阱追击者' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - 数据1 = [int(i*1.1737) for i in [0, 4808, 5296, 5784, 6272, 6760, 7248, 7735, 8223, 8711, 9199, 9687, 10175, 10663, 11150, 11638, 12126, 12614, 13102, 13590, 14078, 14565, 15053, 15541, 16029, 16517, 17005, 17493, 17980, 18468, 18956, 19444, 19932, 20420, 20908, 21395, 21883, 22371, 22859, 23347, 23835, 24323, 24810, 25298, 25786, 26274, 26762, 27250, 27738, 28225, 28713, 29201, 29689, 30177, 30665, 31153, 31640, 32128, 32616, 33104, 33592, 34080, 34568, 35055, 35543, 36031, 36519, 37007, 37495, 37983, 38470]] - 攻击次数1 = 1 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - 演出时间 = 2.5 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -# class 技能9(主动技能): -# 名称 = '护石风暴' -# 所在等级 = 35 -# 等级上限 = 60 -# 基础等级 = 36 -# 数据1 = [int(i*1) for i in [0, 346, 382, 416, 452, 487, 522, 557, 593, 627, 663, 698, 733, 768, 804, 838, 874, 909, 944, 979, 1015, 1049, 1085, 1120, 1155, 1190, 1225, 1260, 1295, 1331, 1365, 1401, 1436, 1471, 1506, 1542, 1576, 1612, 1647, 1682, 1717, 1753, 1787, 1823, 1858, 1893, 1928, 1964, 1998, 2034, 2069, 2104, 2139, 2175, 2209, 2245, 2280, 2315, 2350, 2385, 2420, 2455, 2491, 2525, 2561, 2596, 2631, 2666]] -# 攻击次数1 = 20*2.64 -# CD = 25.5 -# TP成长 = 0.10 -# TP上限 = 5 -# 是否有护石 = 1 -# 演出时间 = 3 - -# 护石选项 = ['魔界', '圣痕'] - -# def 装备护石(self, x): -# if x == 0: -# self.倍率 *= 1 -# elif x == 1: -# self.倍率 *= 1.0672 - -# def 等效百分比(self, 武器类型): -# return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能9(主动技能): - 名称 = '空战机械:风暴' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - 数据1 = [int(i*1.1142) for i in [0, 346, 382, 416, 452, 487, 522, 557, 593, 627, 663, 698, 733, 768, 804, 838, 874, 909, 944, 979, 1015, 1049, 1085, 1120, 1155, 1190, 1225, 1260, 1295, 1331, 1365, 1401, 1436, 1471, 1506, 1542, 1576, 1612, 1647, 1682, 1717, 1753, 1787, 1823, 1858, 1893, 1928, 1964, 1998, 2034, 2069, 2104, 2139, 2175, 2209, 2245, 2280, 2315, 2350, 2385, 2420, 2455, 2491, 2525, 2561, 2596, 2631, 2666]] - 攻击次数1 = 1.8738 - CD = 1.0 - TP成长 = 0.10 - TP上限 = 5 - 装备护石 = 0 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.演出时间 = 3 - self.倍率 *= 2.64 * 20 - self.攻击次数1 = 1 - self.CD *= 30 - self.装备护石 = 1 - elif x == 1: - self.演出时间 = 3 - self.倍率 *= 2.86 * 20 - self.攻击次数1 = 1 - self.CD *= 30 - self.装备护石 = 1 - - def 等效CD(self, 武器类型, 输出类型): - if self.装备护石 == 1: - return super().等效CD(武器类型, 输出类型) - else: - return round(1, 1) - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '空投支援' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - 数据1 = [int(i*1.1012) for i in [0, 704, 776, 847, 919, 990, 1062, 1133, 1205, 1276, 1348, 1419, 1490, 1562, 1633, 1705, 1776, 1848, 1919, 1991, 2062, 2134, 2205, 2277, 2348, 2420, 2491, 2563, 2634, 2706, 2777, 2849, 2920, 2992, 3063, 3135, 3206, 3278, 3349, 3421, 3492, 3564, 3635, 3707, 3778, 3850, 3921, 3992, 4064, 4135, 4207, 4278, 4350, 4421, 4493, 4564, 4636, 4707, 4779, 4850, 4922, 4993, 5065, 5136, 5208, 5279, 5351, 5422, 5494, 5565, 5637]] - 攻击次数1 = 20 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 2.5 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.21 - elif x == 1: - self.倍率 *= 1.30 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能11(主动技能): - 名称 = '拦截机工厂' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - 数据1 = [int(i*1.1859) for i in [0, 2658, 2928, 3197, 3467, 3737, 4006, 4276, 4546, 4815, 5085, 5355, 5625, 5894, 6164, 6434, 6703, 6973, 7243, 7512, 7782, 8052, 8321, 8591, 8861, 9130, 9400, 9670, 9940, 10209, 10479, 10749, 11018, 11288, 11558, 11827, 12097, 12367, 12636, 12906, 13176, 13446, 13715, 13985, 14255, 14524, 14794, 15064, 15333, 15603, 15873, 16142, 16412, 16682, 16952, 17221, 17491, 17761, 18030, 18300, 18570, 18839, 19109, 19379, 19648, 19918, 20188, 20458, 20727, 20997, 21267]] - 攻击次数1 = 8 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3 - - 护石选项 = ['魔界', '圣痕'] - - 光反应能量模块 = 0 - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.19 - elif x == 1: - self.倍率 *= 1.27 - - def 等效百分比(self, 武器类型): - if self.光反应能量模块 == 1: - self.数据1 = [int(i*1.1859) for i in [0, 23400, 25774, 28148, 30522, 32896, 35270, 37644, 40018, 42392, 44766, 47140, 49514, 51888, 54262, 56636, 59010, 61384, 63758, 66132, 68506, 70880, 73254, 75627, 78001, 80375, 82749, 85123, 87497, 89871, 92245, 94619, 96993, 99367, 101741, 104115, 106489, 108863, 111237, 113611, 115985, 118359, 120733, 123107, 125481, 127855, 130229, 132603, 134977, 137351, 139725, 142099, 144473, 146847, 149221, 151595, 153969, 156343, 158717, 161090, 163464, 165838, 168212, 170586, 172960, 175334, 177708, 180082, 182456, 184830, 187204]] - self.攻击次数1 = 1 - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能12(被动技能): - 名称 = '光反应能量模块' - 所在等级 = 45 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['拦截机工厂'] - 倍率 = 1.0 - - def 技能描述(self, 武器类型): - temp = '' - temp += '将拦截机互相连结, 生成能量散热板
'+ \ - '能量散热板蓄积能量并向前方发射, 然后消失' - return temp - - def 加成倍率(self, 武器类型): - return self.倍率 - -class 技能13(被动技能): - 名称 = '斗志之歌' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 < 17: - return round(1.01+0.015*self.等级, 3) - else: - return round(1.25+0.02*(self.等级-16), 3) - - -class 技能14(主动技能): - 名称 = '盖波加之拳' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 数据1 = [int(i*1.2373) for i in [0, 7568, 9323, 11079, 12834, 14589, 17978, 19909, 21839, 190160, 205600, 221048, 236504, 251944, 267392, 282832, 298280, 313720, 329168, 344608, 360056, 375496, 390952, 406392, 421840, 437280, 452728, 468168, 483616, 499056, 514504, 529952, 545400, 560840, 576288, 591728, 607176, 622616, 638064, 653504, 668952, 684400, 699848, 715288, 730736, 746176, 761624, 777064, 792512, 807952, 823408, 838848, 854296, 869736, 885184, 900624, 916072, 931512, 946960, 962400, 977856, 993304, 1008744, 1024192, 1039632, 1055080, 1070520, 1085968, 1101408, 1116856, 1132304]] - 攻击次数1 = 1 - CD = 145.0 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - - -class 技能15(主动技能): - 名称 = 'EZ10反击者' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - 数据1 = [int(i*1.1742) for i in [0, 7672, 8451, 9229, 10008, 10786, 11564, 12343, 13121, 13900, 14678, 15457, 16235, 17013, 17792, 18570, 19349, 20127, 20905, 21684, 22462, 23241, 24019, 24797, 25576, 26354, 27133, 27911, 28690, 29468, 30246, 31025, 31803, 32582, 33360, 34138, 34917, 35695, 36474, 37252, 38030, 38809, 39587, 40366, 41144, 41922, 42701, 43479, 44258, 45036, 45815]] - 攻击次数1 = 1 - 数据2 = [int(i*1.1742) for i in [0, 2557, 2817, 3076, 3336, 3595, 3854, 4114, 4373, 4633, 4892, 5152, 5411, 5671, 5930, 6190, 6449, 6709, 6968, 7228, 7487, 7747, 8006, 8265, 8525, 8784, 9044, 9303, 9563, 9822, 10082, 10341, 10601, 10860, 11120, 11379, 11639, 11898, 12158, 12417, 12676, 12936, 13195, 13455, 13714, 13974, 14233, 14493, 14752, 15012, 15271]] - 攻击次数2 = 3 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 1.5 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - elif x == 1: - self.倍率 *= 1.334 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能16(主动技能): - 名称 = 'EXSZero毒蛇炮' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - 数据1 = [int(i*1.1937) for i in [0, 383, 422, 461, 499, 538, 577, 616, 655, 694, 733, 772, 811, 849, 888, 927, 966, 1005, 1044, 1083, 1122, 1161, 1199, 1238, 1277, 1316, 1355, 1394, 1433, 1472, 1510, 1549, 1588, 1627, 1666, 1705, 1744, 1783, 1822, 1860, 1899, 1938, 1977, 2016, 2055, 2094, 2133, 2172, 2210, 2249, 2288]] - 攻击次数1 = 40 - 数据2 = [int(i*1.1937) for i in [0, 1542, 1698, 1855, 2011, 2168, 2324, 2481, 2637, 2794, 2950, 3107, 3263, 3419, 3576, 3732, 3889, 4045, 4202, 4358, 4515, 4671, 4828, 4984, 5141, 5297, 5454, 5610, 5766, 5923, 6079, 6236, 6392, 6549, 6705, 6862, 7018, 7175, 7331, 7488, 7644, 7801, 7957, 8114, 8270, 8426, 8583, 8739, 8896, 9052, 9209]] - 攻击次数2 = 19 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 3 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.19 - elif x == 1: - self.倍率 *= 1.273 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能17(被动技能): - 名称 = 'HS1机械助手' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - 冷却关联技能 = ['所有'] - 非冷却关联技能 = ['盖波加之拳', '超时空行军','GW16-瓦尔德斯坦'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18+0.02*self.等级, 3) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 0.85 - -class 技能18(主动技能): - 名称 = 'TN80终结者' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - 数据1 = [int(i*1.097*1.1936) for i in [0, 2616, 2882, 3147, 3413, 3678, 3944, 4209, 4474, 4739, 5005, 5270, 5535, 5801, 6066, 6332, 6597, 6863, 7128, 7394, 7659, 7925, 8190, 8455, 8721, 8986, 9252, 9517, 9783, 10048, 10314, 10579, 10845, 11110, 11375, 11641, 11906, 12172, 12437, 12703, 12968, 13234, 13499, 13765, 14030, 14295, 14561, 14826, 15092, 15357, 15623, 15888, 16154, 16419, 16685, 16950, 17215, 17481, 17746, 18012, 18277, 18543, 18808, 19074, 19338, 19604, 19869, 20135, 20400, 20665, 20931]] - 攻击次数1 = 18 - 数据2 = [int(i*1*1.1936) for i in [0, 9121, 10047, 10972, 11898, 12823, 13748, 14674, 15599, 16525, 17450, 18375, 19301, 20226, 21152, 22077, 23002, 23928, 24853, 25779, 26704, 27630, 28555, 29480, 30406, 31331, 32257, 33182, 34107, 35033, 35958, 36884, 37809, 38734, 39660, 40585, 41511, 42436, 43361, 44287, 45212, 46138, 47063, 47989, 48914, 49839, 50765, 51690, 52616, 53541, 54466, 55392, 56317, 57243, 58168, 59093, 60019, 60944, 61870, 62795, 63720, 64646, 65571, 66497, 67422, 68347, 69273, 70198, 71124, 72049, 72975]] - 攻击次数2 = 1 - CD = 40 - 演出时间 = 2 - 是否有护石 = 1 - 演出时间 = 3 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.352 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能19(主动技能): - 名称 = 'TX-45特攻队' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - 数据1 = [int(i*1.2150) for i in [0, 5891, 6489, 7087, 7684, 8282, 8880, 9477, 10075, 10673, 11271, 11868, 12466, 13064, 13661, 14259, 14857, 15455, 16052, 16650, 17248, 17845, 18443, 19041, 19639, 20236, 20834, 21432, 22029, 22627, 23225, 23823, 24420, 25018, 25616, 26213, 26811, 27409, 28007, 28604, 29202, 29800, 30397, 30995, 31593, 32191, 32788, 33386, 33984, 34581, 35179, 35777, 36375, 36972, 37570, 38168, 38765, 39363, 39961, 40559, 41156, 41754, 42352, 42949, 43547, 44145, 44742, 45340, 45938, 46536, 47133]] - 攻击次数1 = 2 - 数据2 = [int(i*1.2150) for i in [0, 7855, 8652, 9449, 10246, 11043, 11840, 12637, 13434, 14231, 15028, 15825, 16622, 17419, 18215, 19012, 19809, 20606, 21403, 22200, 22997, 23794, 24591, 25388, 26185, 26982, 27779, 28576, 29373, 30170, 30967, 31764, 32561, 33358, 34154, 34951, 35748, 36545, 37342, 38139, 38936, 39733, 40530, 41327, 42124, 42921, 43718, 44515, 45312, 46109, 46906, 47703, 48500, 49296, 50093, 50890, 51687, 52484, 53281, 54078, 54875, 55672, 56469, 57266, 58063, 58860, 59657, 60454, 61251, 62048, 62845]] - 攻击次数2 = 2 - 数据3 = [int(i*1.2150) for i in [0, 11783, 12978, 14174, 15369, 16565, 17760, 18955, 20151, 21346, 22542, 23737, 24933, 26128, 27323, 28519, 29714, 30910, 32105, 33301, 34496, 35691, 36887, 38082, 39278, 40473, 41669, 42864, 44059, 45255, 46450, 47646, 48841, 50037, 51232, 52427, 53623, 54818, 56014, 57209, 58404, 59600, 60795, 61991, 63186, 64382, 65577, 66772, 67968, 69163, 70359, 71554, 72750, 73945, 75140, 76336, 77531, 78727, 79922, 81118, 82313, 83508, 84704, 85899, 87095, 88290, 89485, 90681, 91876, 93072, 94267]] - 攻击次数3 = 1 - CD = 45 - 演出时间 = 1.5 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - self.倍率 *= 1.29 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2 + self.数据3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能20(主动技能): - 名称 = '超时空行军' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - 数据1 = [int(i*1.2050) for i in [0, 491, 606, 720, 834, 948, 1062, 1176, 1290, 1404, 1518, 1632, 1746, 1860, 1975, 2089, 2203, 2317, 2431, 2545, 2659, 2773, 2887, 3001, 3115, 3229, 3344, 3458, 3572, 3686, 3800, 3914, 4028, 4142, 4256, 4370, 4484, 4598, 4712, 4827, 4941, 5055, 5169, 5283, 5397, 5511, 5625, 5739, 5853, 5967, 6081, 6196, 6310, 6424, 6538, 6652, 6766, 6880, 6994, 7108, 7222, 7336, 7450, 7565, 7679, 7793, 7907, 8021, 8135, 8249, 8363]] - 攻击次数1 = 12 - 数据2 = [int(i*1.2050) for i in [0, 15743, 19393, 23044, 26695, 30345, 33996, 37646, 41297, 44948, 48598, 52249, 55899, 59550, 63201, 66851, 70502, 74153, 77803, 81454, 85104, 88755, 92406, 96056, 99707, 103357, 107008, 110659, 114309, 117960, 121611, 125261, 128912, 132562, 136213, 139864, 143514, 147165, 150815, 154466, 158117, 161767, 165418, 169068, 172719, 176370, 180020, 183671, 187322, 190972, 194623, 198273, 201924, 205575, 209225, 212876, 216526, 220177, 223828, 227478, 231129, 234779, 238430, 242081, 245731, 249382, 253033, 256683, 260334, 263984, 267635]] - 攻击次数2 = 9 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能21(被动技能): - 名称 = 'SOPHIA' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = 'HS1全息机械猎手' - 所在等级 = 95 - 等级上限 = 11 - 基础等级 = 6 - 数据1 = [int(i*1.1929) for i in [0, 120525, 132753, 144980, 157208, 169435, 181662, 193889, 206116, 218344, 230571, 242799, 255026, 267253, 279480, 291707, 303935, 316162, 328390, 340616, 352844, 365071, 377299, 389526, 401753, 413980, 426207, 438435, 450662, 462890, 475117, 487344, 499571, 511798, 524026, 536253, 548481, 560708, 572935, 585162, 597390, 609617, 621844, 634072, 646298, 658526, 670753, 682981, 695208, 707436, 719662, 731889, 744117, 756344, 768572, 780799, 793026, 805253, 817481, 829708, 841935, 854163, 866389, 878617, 890844, 903072, 915299, 927527, 939753, 951980, 964208]] - 攻击次数1 = 1 - CD = 60 - 演出时间 = 3 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能23(主动技能): - 名称 = 'GW16-瓦尔德斯坦' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 数据1 = [int(i*1.1811) for i in [0, 90262, 111193, 132123, 153053, 173984, 194914, 215845, 236775, 257706, 278636, 299567, 320497, 341428, 362358, 383289, 404219, 425149, 446080, 467010, 487941, 508871, 529802, 550732, 571663, 592593, 613524, 634454, 655385, 676315, 697245, 718176, 739106, 760037, 780967, 801898, 822828, 843759, 864689, 885620, 906550, 927481, 948411, 969341, 990272, 1011202, 1032133, 1053063, 1073994, 1094924, 1115855, 1136785, 1157716, 1178646, 1199576, 1220507, 1241437, 1262368, 1283298, 1304229, 1325159, 1346090, 1367020, 1387951, 1408881, 1429812, 1450742, 1471672, 1492603, 1513533, 1534464]] - 攻击次数1 = 1 - 数据2 = [int(i*1.1811) for i in [0, 3223, 3971, 4718, 5466, 6213, 6961, 7708, 8456, 9203, 9951, 10698, 11446, 12193, 12941, 13688, 14436, 15183, 15931, 16678, 17426, 18173, 18921, 19669, 20416, 21164, 21911, 22659, 23406, 24154, 24901, 25649, 26396, 27144, 27891, 28639, 29386, 30134, 30881, 31629, 32376, 33124, 33871, 34619, 35366, 36114, 36861, 37609, 38356, 39104, 39851, 40599, 41347, 42094, 42842, 43589, 44337, 45084, 45832, 46579, 47327, 48074, 48822, 49569, 50317, 51064, 51812, 52559, 53307, 54054, 54802]] - 攻击次数2 = 7 - 数据3 = [int(i*1.1811) for i in [0, 135393, 166789, 198185, 229580, 260976, 292372, 323768, 355163, 386559, 417955, 449350, 480746, 512142, 543537, 574933, 606329, 637724, 669120, 700516, 731912, 763307, 794703, 826099, 857494, 888890, 920286, 951681, 983077, 1014473, 1045868, 1077264, 1108660, 1140056, 1171451, 1202847, 1234243, 1265638, 1297034, 1328430, 1359825, 1391221, 1422617, 1454012, 1485408, 1516804, 1548200, 1579595, 1610991, 1642387, 1673782, 1705178, 1736574, 1767969, 1799365, 1830761, 1862156, 1893552, 1924948, 1956343, 1987739, 2019135, 2050531, 2081926, 2113322, 2144718, 2176113, 2207509, 2238905, 2270300, 2301696]] - 攻击次数3 = 1 - 数据4 = [int(i*1.1811) for i in [0, 14506, 17870, 21234, 24597, 27961, 31325, 34689, 38053, 41417, 44780, 48144, 51508, 54872, 58236, 61600, 64963, 68327, 71691, 75055, 78419, 81782, 85146, 88510, 91874, 95238, 98602, 101965, 105329, 108693, 112057, 115421, 118785, 122148, 125512, 128876, 132240, 135604, 138967, 142331, 145695, 149059, 152423, 155787, 159150, 162514, 165878, 169242, 172606, 175970, 179333, 182697, 186061, 189425, 192789, 196152, 199516, 202880, 206244, 209608, 212972, 216335, 219699, 223063, 226427, 229791, 233155, 236518, 239882, 243246, 246610]] - 攻击次数4 = 14 - CD = 290 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return (self.数据1[self.等级] * self.攻击次数1 + self.数据2[self.等级] * self.攻击次数2 + self.数据3[self.等级] * self.攻击次数3 + self.数据4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能24(被动技能): - 名称 = '机械引爆' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 5 - 是否主动 = 1 - 关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者', - '空投支援', '拦截机工厂', 'EZ10反击者', 'TX-45特攻队'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return 1.40 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业角色属性(角色属性): - - 实际名称 = '重霄·机械师·男' - 角色 = '神枪手(男)' - 职业 = '机械师' - - 武器选项 = ['自动手枪'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力'] - - 主BUFF = 1.850 - - 远古记忆 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.技能栏[self.技能序号['光反应能量模块']].等级 != 0: - self.技能栏[self.技能序号['拦截机工厂']].光反应能量模块 = 1 - if self.装备检查('雷霆怒啸手枪'): - self.技能栏[self.技能序号['光反应能量模块']].倍率 *= 1.2 - super().被动倍率计算() - self.技能栏[self.技能序号['G1科罗纳']].被动倍率 *= 1+self.技能栏[self.技能序号['G2旋雷者'] - ].G系加成倍率()+self.技能栏[self.技能序号['G3捕食者']].G系加成倍率() - self.技能栏[self.技能序号['G2旋雷者']].被动倍率 *= 1+self.技能栏[self.技能序号['G1科罗纳'] - ].G系加成倍率()+self.技能栏[self.技能序号['G3捕食者']].G系加成倍率() - self.技能栏[self.技能序号['G3捕食者']].被动倍率 *= 1+self.技能栏[self.技能序号['G1科罗纳'] - ].G系加成倍率()+self.技能栏[self.技能序号['G2旋雷者']].G系加成倍率() -class 重霄·机械师·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业角色属性() - self.角色属性A = 职业角色属性() - self.角色属性B = 职业角色属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/重霄·枪炮师·女.py b/Characters/重霄·枪炮师·女.py deleted file mode 100644 index a6505807..00000000 --- a/Characters/重霄·枪炮师·女.py +++ /dev/null @@ -1,773 +0,0 @@ -from PublicReference.carry.base import * - -等级 = 100 + 5 - - -class 主动技能(主动技能): - def 等效CD(self, 武器类型, 输出类型): - # 重火器精通取消除觉醒之外的技能惩罚 - if self.所在等级 not in [50, 85, 100]: - return round(self.CD / self.恢复, 1) - else: - return super().等效CD(武器类型, 输出类型) - - -class 技能0(主动技能): - 名称 = 'M3喷火器' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - data0 = [(i*1.051) for i in [0, 207, 228, 250, 270, 291, 313, 333, 355, 376, 396, 418, 439, 460, 481, 502, 523, 544, 566, 586, 607, 629, 649, 671, 692, 712, 734, 755, 776, 797, 818, 839, 860, 882, 902, 923, 945, 965, 987, - 1008, 1028, 1050, 1071, 1092, 1113, 1134, 1155, 1176, 1198, 1218, 1239, 1261, 1281, 1303, 1324, 1344, 1366, 1387, 1408, 1429, 1450, 1471, 1492, 1514, 1534, 1555, 1577, 1597, 1619, 1640, 1660]] - 攻击次数 = 14 - CD = 7.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (self.攻击次数 + (1 if self.TP等级 >= 5 else 0)) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(被动技能): - 名称 = '重火器精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['所有'] - 关联技能2 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.01 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率2(武器类型) - - -class 技能2(主动技能): - 名称 = '加农炮' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 1235 1169 - data0 = [(i*1.0565*1.051) for i in [0, 1062, 1169, 1278, 1385, 1492, 1601, 1708, 1817, 1924, 2031, 2140, 2247, 2356, 2463, 2570, 2679, 2786, 2895, 3002, 3109, 3218, 3325, 3433, 3541, 3648, 3757, 3864, 3972, 4080, 4187, 4295, 4403, - 4511, 4619, 4726, 4834, 4942, 5050, 5158, 5265, 5373, 5481, 5589, 5696, 5804, 5912, 6020, 6127, 6235, 6343, 6451, 6558, 6666, 6774, 6882, 6990, 7097, 7205, 7313, 7421, 7529, 7636, 7744, 7852, 7959, 8068, 8175, 8283, 8391, 8498]] - 攻击次数 = 2 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '反坦克炮' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 187 158 - data0 = [(i*1.1835*1.051) for i in [0, 144, 158, 172, 188, 202, 216, 230, 245, 260, 274, 289, 303, 318, 333, 348, 361, 376, 392, 405, 420, 435, 449, 464, 479, 492, 508, 523, 537, 551, 566, 581, 595, 610, - 624, 639, 654, 668, 683, 697, 712, 727, 741, 755, 771, 785, 799, 814, 828, 843, 858, 873, 886, 902, 917, 930, 945, 961, 974, 989, 1004, 1017, 1033, 1048, 1062, 1076, 1092, 1106, 1120, 1134, 1149]] - # 980 825 - data1 = [(i*1.1879*1.051) for i in [0, 750, 825, 902, 979, 1055, 1131, 1208, 1283, 1360, 1435, 1512, 1588, 1663, 1740, 1815, 1892, 1968, 2044, 2121, 2198, 2273, 2350, 2426, 2501, 2578, 2653, 2730, 2806, 2882, 2958, 3035, 3110, - 3187, 3263, 3339, 3416, 3491, 3568, 3644, 3720, 3796, 3872, 3948, 4025, 4100, 4176, 4253, 4329, 4406, 4481, 4558, 4634, 4710, 4786, 4863, 4938, 5014, 5090, 5166, 5243, 5318, 5395, 5472, 5548, 5624, 5700, 5776, 5852, 5928, 6004]] - 攻击次数2 = 3 - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] + self.data1[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = 'APG63' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.14 + 0.01 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能5(主动技能): - 名称 = '激光炮' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 3163 2693 - data0 = [(i*1.1745*1.052) for i in [0, 2444, 2693, 2940, 3188, 3436, 3684, 3933, 4180, 4429, 4677, 4924, 5173, 5420, 5669, 5917, 6164, 6413, 6660, 6909, 7157, 7405, 7653, 7900, 8149, 8397, 8645, 8893, 9140, 9389, 9637, 9885, 10133, 10380, 10629, 10877, - 11125, 11373, 11622, 11869, 12117, 12365, 12613, 12862, 13109, 13358, 13605, 13853, 14102, 14349, 14598, 14845, 15093, 15342, 15589, 15838, 16085, 16334, 16582, 16829, 17078, 17325, 17574, 17822, 18069, 18318, 18566, 18814, 19062, 19309, 19558]] - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(被动技能): - 名称 = '蓄电激光炮' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['激光炮'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.25+0.05 * self.等级, 5) - - -class 技能7(主动技能): - 名称 = '聚焦喷火器' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 263 224 - data0 = [(i*1.1741*1.052) for i in [0, 203, 224, 244, 265, 285, 306, 327, 347, 368, 389, 409, 430, 450, 471, 492, 512, 533, 554, 574, 595, 616, 636, 657, 677, 698, 719, 739, 760, 781, 801, 822, 842, 863, 884, 904, - 925, 946, 966, 987, 1008, 1028, 1049, 1069, 1090, 1111, 1131, 1152, 1173, 1193, 1214, 1234, 1255, 1276, 1296, 1317, 1338, 1358, 1379, 1398, 1419, 1440, 1460, 1481, 1502, 1522, 1543, 1563, 1584, 1605, 1625]] - 攻击次数 = 29 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = 'FM31榴弹发射器' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 1077 916 - data0 = [(i*1.1758*1.052) for i in [0, 831, 916, 1000, 1084, 1168, 1253, 1337, 1423, 1507, 1591, 1675, 1760, 1844, 1929, 2013, 2097, 2181, 2266, 2350, 2436, 2520, 2604, 2688, 2773, 2857, 2942, 3026, 3110, 3194, 3279, 3363, 3448, - 3532, 3616, 3700, 3786, 3870, 3955, 4039, 4123, 4207, 4292, 4376, 4461, 4545, 4629, 4713, 4799, 4883, 4968, 5052, 5135, 5220, 5304, 5389, 5473, 5558, 5642, 5724, 5808, 5891, 5975, 6057, 6141, 6223, 6307, 6390, 6474, 6556]] - 攻击次数 = 8 - CD = 15.0 - TP成长 = 0.20 - TP上限 = 1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.基础释放次数 = 4 - self.攻击次数 = 2 - self.倍率 *= 1.18 - self.CD *= float(4 / 15) - elif x == 1: - self.基础释放次数 = 4 - self.攻击次数 = 2 - self.倍率 *= 1.27 - self.CD *= float(4 / 15) - - def 护石描述(self, x): - if x == 0: - temp = "M102-CERM弹药" - temp += "

" - temp += "[FM-31榴弹发射器]
" - temp += "可以补充榴弹
" - temp += "榴弹冷却时间 : 4秒
" - temp += "长按技能键可以连续发射
" - temp += "攻击力 +18%
" - temp += "
-护石附加效果:
" - temp += "装弹数上限 +2 (学习强化技能后 +1)
" - temp += "爆炸范围 +20%" - elif x == 1: - temp = "M102-CERM弹药" - temp += "

" - temp += "[FM-31榴弹发射器]
" - temp += "可以补充榴弹
" - temp += "榴弹冷却时间 : 4秒
" - temp += "长按技能键可以连续发射
" - temp += "攻击力 +18%
" - temp += "
-护石附加效果:
" - temp += "装弹数上限 +2 (学习强化技能后 +1)
" - temp += "爆炸范围 +20%
" - temp += "攻击力 +9%" - return temp - - -class 技能9(主动技能): - 名称 = 'FM92mk2榴弹' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 1398 1190 - data0 = [(i*1.1748*1.052) for i in [0, 1080, 1190, 1299, 1410, 1519, 1628, 1739, 1848, 1957, 2068, 2177, 2286, 2396, 2506, 2615, 2725, 2835, 2945, 3054, 3163, 3274, 3383, 3492, 3603, 3712, 3821, 3932, 4041, 4151, 4260, 4370, 4480, - 4589, 4698, 4809, 4918, 5027, 5138, 5247, 5356, 5467, 5576, 5686, 5795, 5905, 6015, 6124, 6234, 6344, 6453, 6562, 6673, 6782, 6891, 7002, 7111, 7221, 7331, 7440, 7550, 7659, 7769, 7879, 7988, 8098, 8208, 8317, 8428, 8537, 8646]] - 攻击次数 = 8 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '量子爆弹' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 873 743 - data1 = [(i*1.1750*1.085) for i in [0, 675, 743, 812, 880, 949, 1016, 1085, 1154, 1222, 1291, 1359, 1428, 1497, 1565, 1634, 1701, 1770, 1838, 1907, 1976, 2044, 2113, 2181, 2250, 2317, 2386, 2455, 2523, 2592, 2660, 2729, 2798, - 2866, 2935, 3002, 3071, 3140, 3208, 3277, 3345, 3414, 3482, 3551, 3620, 3687, 3756, 3824, 3893, 3962, 4030, 4099, 4167, 4236, 4305, 4372, 4441, 4509, 4578, 4646, 4715, 4784, 4852, 4921, 4989, 5057, 5125, 5194, 5263, 5331, 5400]] - 攻击次数1 = 1 - # 10047 8550 - data2 = [(i*1.1751*1.085) for i in [0, 7762, 8550, 9337, 10125, 10913, 11701, 12487, 13275, 14063, 14850, 15638, 16426, 17212, 18000, 18788, 19576, 20363, 21151, 21938, 22725, 23513, 24301, 25089, 25876, 26663, 27451, 28238, 29026, 29814, 30602, 31388, 32176, 32964, - 33751, 34539, 35327, 36113, 36901, 37689, 38477, 39264, 40052, 40839, 41626, 42414, 43202, 43990, 44776, 45564, 46352, 47139, 47927, 48715, 49501, 50289, 51077, 51865, 52652, 53440, 54227, 55014, 55802, 56590, 57378, 58165, 58952, 59740, 60527, 61315, 62103]] - 攻击次数2 = 1 - - # 感电 - data3 = [(i*1.0) for i in [0, 10, 10, 10, 10, 10, 10, 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 18, 19, 19, 20, 21, 21, 22, 23, 23, 24, 25, 25, 26, 27, 27, 28, 29, 30, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 38, 39, 39, 40, 41, 41, - 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 50, 51, 52, 52, 53, 54, 54]] - 攻击次数3 = 10 - CD = 18.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 0 - self.攻击次数2 = 0.16 * 8 * 1.07 - self.攻击次数3 *= 0.16 * 8 * 1.07 - self.CD *= 0.9 - elif x == 1: - self.攻击次数1 = 0 - self.攻击次数2 = 0.16 * 8 * 1.14 - self.攻击次数3 *= 0.16 * 8 * 1.14 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "原力轰炸" - temp += "

" - temp += "[量子爆弹]
" - temp += "变更为地毯式轰炸
" - temp += "删除导弹物理攻击力
" - temp += "导弹大小 -65%
" - temp += "每次爆炸攻击力 -84%
" - temp += "爆炸次数 +7次
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "爆炸攻击力 +7%" - elif x == 1: - temp = "原力轰炸" - temp += "

" - temp += "[量子爆弹]
" - temp += "变更为地毯式轰炸
" - temp += "删除导弹物理攻击力
" - temp += "导弹大小 -65%
" - temp += "每次爆炸攻击力 -84%
" - temp += "爆炸次数 +7次
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "爆炸攻击力 +14%" - return temp - - -class 技能11(主动技能): - 名称 = 'X1压缩量子炮' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 23534 19226 - data0 = [(i*1.2241*1.065) for i in [0, 17455, 19226, 20996, 22767, 24538, 26310, 28081, 29851, 31622, 33393, 35164, 36934, 38705, 40476, 42247, 44018, 45789, 47560, 49331, 51101, 52872, 54643, 56414, 58184, 59956, 61727, 63498, 65269, 67039, 68810, 70581, 72352, 74122, 75893, - 77665, 79436, 81206, 82977, 84748, 86519, 88289, 90060, 91831, 93602, 95374, 97144, 98915, 100686, 102457, 104227, 105998, 107769, 109540, 111310, 113082, 114853, 116624, 118394, 120165, 121936, 123707, 125477, 127248, 129019, 130791, 132562, 134332, 136103, 137874, 139645]] - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1 - self.CD *= 0.88 - elif x == 1: - self.倍率 *= 1.18 - self.CD *= 0.88 - - def 护石描述(self, x): - if x == 0: - temp = "AC.X-1压缩量子炮" - temp += "

" - temp += "[X-1压缩量子炮]
" - temp += "立即发射并在最远射程处自动蓄气后爆炸
" - temp += "冷却时间 -12%
" - temp += "
-护石附加效果:
" - temp += "爆炸范围 +10%
" - temp += "攻击力 +10%" - elif x == 1: - temp = "AC.X-1压缩量子炮" - temp += "

" - temp += "[X-1压缩量子炮]
" - temp += "立即发射并在最远射程处自动蓄气后爆炸
" - temp += "冷却时间 -12%
" - temp += "
-护石附加效果:
" - temp += "爆炸范围 +10%
" - temp += "攻击力 +18%" - return temp - - -class 技能12(被动技能): - 名称 = '超温重火器' - 所在等级 = 48 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.04 + 0.02 * self.等级, 5) - - -class 技能13(主动技能): - 名称 = '远古粒子炮' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - # 19254 16400 - data1 = [(i*1.1740*1.05) for i in [0, 4618, 5689, 6760, 7831, 8902, 9973, 11044, 12115, 13186, 14258, 15329, 16400, 17471, 18542, 19613, 20684, 21755, 22826, 23897, 24968, 26039, 27110, 28181, 29252, 30323, 31394, 32465, 33536, 34607, 35678, 36749, 37820, 38891, - 39962, 41033, 42104, 43175, 44247, 45318, 46389, 47460, 48531, 49602, 50673, 51744, 52815, 53886, 54957, 56028, 57099, 58170, 59241, 60312, 61383, 62454, 63525, 64596, 65667, 66738, 67809, 68880, 69951, 71022, 72093, 73164, 74235, 75307, 76378, 77449, 78520]] - 攻击次数1 = 0 - # 22387 19069 - data2 = [(i*1.1740*1.05) for i in [0, 5370, 6615, 7861, 9106, 10352, 11597, 12843, 14088, 15334, 16579, 17823, 19069, 20314, 21560, 22805, 24051, 25296, 26542, 27787, 29033, 30278, 31524, 32769, 34013, 35259, 36504, 37750, 38995, 40241, 41486, 42732, 43977, 45223, - 46468, 47714, 48959, 50205, 51449, 52694, 53940, 55185, 56431, 57676, 58922, 60167, 61413, 62658, 63904, 65149, 66395, 67639, 68884, 70130, 71375, 72621, 73866, 75112, 76357, 77603, 78848, 80094, 81339, 82585, 83829, 85074, 86320, 87565, 88811, 90056, 91302]] - 攻击次数2 = 10 - CD = 145 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(主动技能): - 名称 = '等离子放射器' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 587 452 - data0 = [(i*1.2987*1.051) for i in [0, 411, 452, 494, 536, 577, 619, 660, 702, 744, 785, 827, 869, 910, 952, 994, 1035, 1077, 1119, 1160, 1202, 1244, 1285, 1327, 1369, 1410, 1452, 1493, 1535, 1577, 1618, 1661, 1703, 1744, - 1786, 1828, 1869, 1911, 1953, 1994, 2036, 2078, 2119, 2161, 2202, 2244, 2286, 2327, 2369, 2411, 2452, 2494, 2536, 2577, 2619, 2661, 2702, 2744, 2786, 2827, 2869, 2911, 2952, 2994, 3035, 3077, 3120, 3160, 3203, 3245, 3286]] - 攻击次数 = 37 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 1: - self.倍率 *= 0.94 - self.CD *= 0.60 - elif x == 0: - self.倍率 *= 0.85 - self.CD *= 0.60 - - def 护石描述(self, x): - if x == 1: - temp = "高功率等离子体发生器" - temp += "

" - temp += "[等离子放射器]
" - temp += "立即发射等离子放射器
" - temp += "发射位置残留电场
" - temp += "总攻击力 +8%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -40%
" - temp += "总攻击力 -23%" - elif x == 0: - temp = "高功率等离子体发生器" - temp += "

" - temp += "[等离子放射器]
" - temp += "立即发射等离子放射器
" - temp += "发射位置残留电场
" - temp += "总攻击力 +8%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -40%
" - temp += "总攻击力 -14%" - return temp - - -class 技能15(主动技能): - 名称 = 'FM92mk2SW榴弹' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 4143 3758 - data0 = [(i*1.1024*1.1) for i in [0, 3411, 3758, 4103, 4450, 4796, 5143, 5488, 5835, 6181, 6527, 6873, 7220, 7565, 7912, 8258, 8604, 8950, 9297, 9642, 9989, 10335, 10681, 11027, 11374, 11719, 12066, 12412, 12758, 13104, 13451, 13796, 14142, 14489, 14834, - 15181, 15527, 15873, 16219, 16566, 16911, 17258, 17604, 17950, 18296, 18643, 18988, 19335, 19681, 20027, 20373, 20720, 21066, 21412, 21758, 22105, 22450, 22797, 23143, 23489, 23835, 24182, 24527, 24873, 25220, 25565, 25912, 26258, 26604, 26950, 27297]] - 攻击次数 = 8 - # 205 186 - data1 = [(i*1.1022*1.1) for i in [0, 169, 186, 204, 221, 237, 255, 272, 289, 307, 323, 340, 358, 375, 393, 410, 426, 444, 461, 478, 496, 512, 530, 547, 564, 582, 599, 615, 633, 650, 667, 685, 701, 719, 736, - 753, 771, 788, 804, 822, 839, 857, 874, 890, 908, 925, 942, 960, 977, 993, 1011, 1028, 1046, 1063, 1079, 1097, 1114, 1131, 1149, 1166, 1182, 1200, 1217, 1235, 1252, 1268, 1286, 1303, 1320, 1338, 1355]] - 攻击次数2 = 24 - # 灼烧攻击力,在点TP之后删除 - data2 = [(i*1.0) for i in [0, 28, 31, 34, 36, 39, 42, 45, 48, 51, 53, 56, 59, 62, 65, 68, 70, 73, 76, 79, 82, 85, 87, 90, 93, 96, 99, 102, 104, 107, 110, 113, 116, 119, 121, 124, - 127, 130, 133, 136, 138, 141, 144, 147, 150, 153, 155, 158, 161, 164, 167, 170, 172, 175, 178, 181, 184, 187, 189, 192, 195, 198, 201, 204, 206, 209, 212, 215, 218, 221, 223]] - 攻击次数3 = 0 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]*self.攻击次数 + self.data1[self.等级]*self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.19 - self.CD *= 0.9 - elif x == 1: - self.倍率 *= 1.27 - self.CD *= 0.9 - - def 护石描述(self, x): - if x == 0: - temp = "MIBC诱导装置" - temp += "

" - temp += "[FM-92 mk2 SW榴弹]
" - temp += "删除长按技能键操作
" - temp += "诱导范围扩大为长按操作可调整的范围
" - temp += "攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "攻击力 +5%
" - elif x == 1: - temp = "MIBC诱导装置" - temp += "

" - temp += "[FM-92 mk2 SW榴弹]
" - temp += "删除长按技能键操作
" - temp += "诱导范围扩大为长按操作可调整的范围
" - temp += "攻击力 +14%
" - temp += "
-护石附加效果:
" - temp += "冷却时间 -10%
" - temp += "攻击力 +13%
" - return temp - - -class 技能16(被动技能): - 名称 = '重武装改造' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - - -class 技能17(主动技能): - 名称 = 'FSC7' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 2647 2249 - data1 = [(i*1.1770*1.052) for i in [0, 2042, 2249, 2457, 2663, 2871, 3078, 3285, 3492, 3700, 3906, 4113, 4320, 4528, 4736, 4942, 5150, 5357, 5564, 5771, 5979, 6185, 6393, 6600, 6806, 7015, 7223, 7429, 7636, 7844, 8050, 8258, 8465, 8672, 8879, 9087, - 9293, 9500, 9709, 9915, 10123, 10329, 10537, 10744, 10951, 11158, 11366, 11572, 11780, 11987, 12195, 12402, 12610, 12816, 13023, 13231, 13437, 13645, 13852, 14059, 14266, 14474, 14680, 14889, 15096, 15302, 15510, 15716, 15924, 16131, 16338]] - 攻击次数1 = 1 - # 5030 4274 - data2 = [(i*1.1769*1.052) for i in [0, 3880, 4274, 4668, 5061, 5454, 5848, 6242, 6635, 7030, 7423, 7818, 8210, 8603, 8998, 9391, 9785, 10179, 10573, 10965, 11359, 11753, 12147, 12541, 12934, 13329, 13721, 14116, 14509, 14902, 15297, 15690, 16083, 16477, 16871, - 17265, 17659, 18052, 18446, 18839, 19232, 19627, 20020, 20415, 20808, 21202, 21595, 21988, 22382, 22776, 23170, 23564, 23958, 24350, 24745, 25138, 25531, 25926, 26319, 26714, 27106, 27500, 27894, 28288, 28681, 29075, 29468, 29861, 30256, 30649, 31044]] - 攻击次数2 = 10 - CD = 40.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.64 - self.CD *= 0.45 - self.基础释放次数 = 1.0 - # self.恢复 = 1.0 - - -class 技能18(主动技能): - 名称 = 'PT15原始型压缩炮' - 备注 = '(向前)' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) + 1 - # 66219 56254 - data0 = [(i*1.1771*1.051) for i in [0, 51073, 56254, 61435, 66617, 71797, 76979, 82161, 87342, 92523, 97705, 102886, 108067, 113248, 118430, 123612, 128792, 133974, 139156, 144336, 149518, 154699, 159881, 165062, 170243, 175425, 180605, 185787, 190969, 196150, 201331, 206512, 211694, 216875, - 222056, 227238, 232420, 237600, 242782, 247963, 253144, 258326, 263507, 268689, 273869, 279051, 284233, 289413, 294595, 299777, 304958, 310139, 315320, 320502, 325683, 330864, 336046, 341228, 346408, 351590, 356771, 361952, 367134, 372315, 377497, 382677, 387859, 393041, 398221, 403403, 408585]] - CD = 45.0 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.35 - - -class 技能19(主动技能): - 名称 = '火力全开' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - # 1258 1071 - data1 = [(i*1.1746*1.05) for i in [0, 556, 684, 814, 943, 1071, 1201, 1329, 1459, 1588, 1716, 1846, 1974, 2104, 2232, 2361, 2491, 2619, 2749, 2877, 3007, 3135, 3264, 3394, 3522, 3652, 3780, 3909, 4038, 4167, 4297, 4425, 4554, - 4683, 4812, 4941, 5070, 5199, 5328, 5457, 5586, 5715, 5844, 5973, 6102, 6231, 6360, 6488, 6618, 6747, 6876, 7005, 7133, 7263, 7391, 7521, 7650, 7779, 7908, 8036, 8166, 8294, 8424, 8553, 8681, 8811, 8939, 9069, 9198, 9326, 9456]] - # 9364 7974 - data2 = [(i*1.1743*1.05) for i in [0, 4137, 5096, 6055, 7014, 7974, 8932, 9892, 10852, 11811, 12770, 13729, 14689, 15649, 16607, 17567, 18526, 19485, 20445, 21404, 22364, 23322, 24282, 25242, 26200, 27160, 28119, 29078, 30038, 30997, 31957, 32915, 33875, 34835, - 35793, 36753, 37712, 38672, 39631, 40590, 41550, 42508, 43468, 44428, 45387, 46346, 47305, 48265, 49223, 50183, 51143, 52102, 53061, 54020, 54980, 55940, 56898, 57858, 58817, 59776, 60736, 61695, 62654, 63613, 64573, 65533, 66491, 67451, 68410, 69369, 70329]] - # 5351 4557 - data3 = [(i*1.1742*1.05) for i in [0, 2364, 2912, 3460, 4008, 4557, 5105, 5653, 6200, 6748, 7298, 7845, 8393, 8941, 9489, 10038, 10586, 11134, 11682, 12230, 12779, 13327, 13875, 14423, 14971, 15520, 16068, 16616, 17164, 17712, 18261, 18809, 19357, 19905, 20453, - 21001, 21550, 22098, 22646, 23194, 23742, 24291, 24839, 25387, 25935, 26483, 27032, 27580, 28128, 28676, 29224, 29773, 30321, 30869, 31417, 31964, 32514, 33062, 33609, 34157, 34705, 35254, 35802, 36350, 36898, 37446, 37995, 38543, 39091, 39639, 40187]] - # 1114 949 - data4 = [(i*1.1739*1.05) for i in [0, 492, 606, 720, 835, 949, 1062, 1177, 1291, 1405, 1520, 1634, 1748, 1863, 1976, 2090, 2205, 2319, 2433, 2548, 2662, 2775, 2890, 3004, 3118, 3233, 3347, 3461, 3576, 3689, 3803, 3918, 4032, 4146, - 4261, 4375, 4489, 4604, 4717, 4831, 4946, 5060, 5174, 5289, 5403, 5516, 5631, 5745, 5859, 5974, 6088, 6202, 6317, 6430, 6544, 6659, 6773, 6887, 7002, 7116, 7229, 7344, 7458, 7572, 7687, 7801, 7915, 8030, 8143, 8257, 8372]] - # 786 670 - data5 = [(i*1.1731*1.05) for i in [0, 347, 427, 508, 589, 670, 750, 830, 912, 992, 1072, 1153, 1234, 1315, 1395, 1475, 1557, 1637, 1718, 1798, 1878, 1960, 2040, 2120, 2201, 2282, 2363, 2443, 2523, 2605, 2685, 2765, 2846, 2927, - 3008, 3088, 3168, 3249, 3330, 3410, 3491, 3571, 3653, 3733, 3813, 3894, 3975, 4056, 4136, 4216, 4298, 4378, 4458, 4539, 4619, 4701, 4781, 4861, 4942, 5023, 5103, 5184, 5264, 5346, 5426, 5506, 5587, 5668, 5749, 5829, 5909]] - # 1337 1138 - data6 = [(i*1.1749*1.05) for i in [0, 590, 728, 865, 1001, 1138, 1276, 1413, 1550, 1686, 1824, 1961, 2098, 2235, 2372, 2509, 2646, 2783, 2921, 3057, 3194, 3331, 3469, 3606, 3742, 3879, 4016, 4154, 4291, 4427, 4564, 4702, 4839, - 4976, 5112, 5250, 5387, 5524, 5661, 5798, 5935, 6072, 6209, 6347, 6483, 6620, 6757, 6895, 7032, 7168, 7305, 7443, 7580, 7717, 7853, 7991, 8128, 8265, 8402, 8539, 8676, 8813, 8950, 9088, 9224, 9361, 9498, 9636, 9773, 9909, 10046]] - # 66892 56958 - data7 = [(i*1.1744*1.05) for i in [0, 29549, 36402, 43254, 50106, 56958, 63811, 70663, 77515, 84367, 91220, 98072, 104924, 111776, 118629, 125481, 132333, 139185, 146038, 152890, 159741, 166593, 173445, 180298, 187150, 194002, 200854, 207707, 214559, 221411, 228263, 235116, 241968, 248820, 255672, - 262524, 269377, 276229, 283081, 289933, 296786, 303638, 310490, 317342, 324195, 331047, 337899, 344751, 351604, 358456, 365307, 372159, 379011, 385864, 392716, 399568, 406420, 413273, 420125, 426977, 433829, 440682, 447534, 454386, 461238, 468091, 474943, 481795, 488647, 495500, 502352]] - - data0 = [data1, data2, data3, data4, data5, data6, data7] - 次数 = [17, 4, 4, 47, 37, 40, 1] - # 次数可能有波动 - # 17 右上端辅助激光炮攻击力 - # 4 主激光炮攻击力 - # 4 左下端辅助激光炮攻击力 - # 47 左下端格林机枪攻击力 - # 37 右下端榴弹发射器攻击力 - # 40 火箭炮导弹爆炸攻击力 - # 1 火箭炮爆炸攻击力 - CD = 180.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(7): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能20(被动技能): - 名称 = 'Pandora_01' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = 'UHT-03爆炎喷火器' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通)+1 - CD = 60.0 - # 4920 4072 - data0 = [(i*1.2083*1.052) for i in [0, 3696, 4072, 4447, 4821, 5197, 5572, 5946, 6321, 6696, 7071, 7447, 7822, 8197, 8571, 8947, 9322, 9697, 10072, 10447, 10822, 11196, 11573, 11947, 12321, 12697, 13073, 13447, 13822, 14197, 14572, 14947, 15323, 15698, 16073, - 16448, 16823, 17197, 17572, 17949, 18322, 18698, 19073, 19448, 19823, 20198, 20573, 20948, 21323, 21699, 22072, 22447, 22823, 23198, 23574, 23948, 24323, 24698, 25073, 25449, 25823, 26198, 26574, 26949, 27323, 27700, 28073, 28449, 28823, 29200, 29573]] - 攻击次数 = 24 - - def 等效百分比(self, 武器类型): - - # sum = (3322.4 + self.等级 * 374.8) * 24 - # for i in range(4): - # sum += self.data0[i][self.等级] * self.次数[i] - # return sum * self.倍率 - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -class 技能22(主动技能): - 名称 = '制胜·最终兵器' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔 + 1), 等级精通) - 关联技能 = ['无'] - # 15927 - data1 = [(i*1.2090) for i in [0, 13174, 16230, 19286, 22340, 25396, 28452, 31506, 34562, 37616, 40672, 43728, 46782, 49838, 52894, 55948, 59003, 62059, 65114, 68169, 71226, 74280, 77335, 80391, 83445, 86501, 89556, 92611, 95667, 98722, 101777, 104832, 107888, 110943, 113998, 117054, - 120108, 123164, 126220, 129275, 132330, 135385, 138439, 141495, 144550, 147606, 150662, 153717, 156772, 159826, 162882, 165937, 168993, 172048, 175103, 178158, 181214, 184269, 187324, 190380, 193434, 196490, 199546, 202600, 205656, 208712, 211765, 214821, 217877, 220932, 223988]] - # 7964 - data2 = [(i*1.2090) for i in [0, 6587, 8115, 9643, 11170, 12698, 14226, 15753, 17281, 18808, 20336, 21864, 23391, 24919, 26447, 27974, 29501, 31029, 32557, 34085, 35613, 37140, 38668, 40196, 41722, 43250, 44778, 46306, 47833, 49361, 50888, 52416, 53944, 55471, 56999, - 58527, 60054, 61582, 63110, 64637, 66165, 67692, 69220, 70748, 72275, 73803, 75331, 76859, 78386, 79913, 81441, 82968, 84496, 86024, 87551, 89079, 90607, 92134, 93662, 95190, 96717, 98245, 99773, 101300, 102828, 104356, 105883, 107411, 108938, 110466, 111994]] - # 3982 - data3 = [(i*1.2125) for i in [0, 3294, 4058, 4822, 5585, 6349, 7113, 7877, 8641, 9404, 10168, 10932, 11696, 12460, 13224, 13987, 14751, 15515, 16278, 17042, 17806, 18570, 19334, 20098, 20861, 21625, 22389, 23153, 23917, 24681, 25444, 26208, 26972, 27736, 28500, - 29263, 30027, 30791, 31555, 32319, 33083, 33846, 34610, 35374, 36138, 36902, 37665, 38429, 39193, 39957, 40721, 41484, 42248, 43012, 43776, 44540, 45303, 46067, 46831, 47595, 48359, 49123, 49886, 50650, 51414, 52178, 52941, 53705, 54469, 55233, 55997]] - # 9556 - data4 = [(i*1.2089) for i in [0, 7905, 9738, 11572, 13404, 15238, 17071, 18904, 20737, 22570, 24403, 26237, 28069, 29903, 31736, 33569, 35402, 37235, 39068, 40901, 42735, 44568, 46401, 48235, 50067, 51900, 53734, 55567, 57400, 59233, 61066, 62899, 64733, 66566, 68399, - 70232, 72065, 73898, 75732, 77565, 79398, 81231, 83064, 84897, 86730, 88564, 90397, 92230, 94063, 95896, 97729, 99562, 101396, 103229, 105062, 106895, 108728, 110561, 112395, 114228, 116061, 117894, 119727, 121560, 123394, 125227, 127059, 128893, 130726, 132559, 134393]] - - data0 = [data1, data2, data3, data4] - 次数 = [5, 5, 10, 25] - CD = 290.0 - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - sum = 0 - # sum = 252985 + self.等级 * 76385 - for i in range(4): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - - 实际名称 = '重霄·枪炮师·女' - 角色 = '神枪手(女)' - 职业 = '枪炮师' - - 武器选项 = ['手炮'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.957 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 重霄·枪炮师·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/重霄·枪炮师·男.py b/Characters/重霄·枪炮师·男.py deleted file mode 100644 index 15157200..00000000 --- a/Characters/重霄·枪炮师·男.py +++ /dev/null @@ -1,586 +0,0 @@ -from PublicReference.carry.base import * - - -class 主动技能(主动技能): - def 等效CD(self, 武器类型, 输出类型): - # 重火器精通取消除觉醒之外的技能惩罚 - if self.所在等级 not in [50, 85, 100]: - return round(self.CD / self.恢复, 1) - else: - return super().等效CD(武器类型, 输出类型) - - -class 技能0(主动技能): - 名称 = 'M137格林机枪' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 51 - data0 = [int(i*1.074) for i in [0, 56, 62, 67, 73, 79, 84, 90, 96, 102, 107, 113, 119, 124, 130, 136, 141, 148, 153, 158, 165, 170, 175, 182, 187, 194, 199, 204, 211, 216, 221, 228, 233, 239, - 245, 250, 256, 262, 267, 273, 279, 285, 290, 296, 302, 307, 313, 319, 324, 331, 336, 341, 348, 353, 358, 365, 370, 376, 382, 387, 393, 399, 405, 410, 416, 422, 428, 433, 439, 445, 451]] - 攻击次数 = 30 - CD = 5.0 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(被动技能): - 名称 = '重火器精通' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['所有'] - 关联技能2 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 + 0.01 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率2(武器类型) - - -class 技能2(主动技能): - 名称 = '加农炮' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 44 - data0 = [int(i*1.05) for i in [0, 1277, 1406, 1536, 1665, 1795, 1924, 2054, 2185, 2313, 2442, 2572, 2703, 2831, 2960, 3091, 3221, 3349, 3480, 3609, 3739, 3867, 3998, 4127, 4257, 4386, 4516, 4645, 4775, 4904, 5034, 5163, 5294, 5424, - 5552, 5683, 5812, 5942, 6070, 6201, 6330, 6460, 6589, 6719, 6848, 6978, 7107, 7237, 7366, 7497, 7625, 7755, 7885, 8015, 8143, 8273, 8403, 8533, 8661, 8792, 8921, 9051, 9180, 9310, 9439, 9569, 9700, 9828, 9957, 10088, 10218]] - 攻击次数 = 2 - CD = 5.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '反坦克炮' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 44 - data1 = [int(i*1.053) for i in [0, 587, 646, 706, 766, 825, 885, 944, 1004, 1063, 1123, 1183, 1242, 1301, 1361, 1421, 1481, 1539, 1599, 1659, 1719, 1777, 1837, 1897, 1957, 2017, 2077, 2137, 2196, 2256, 2315, 2375, 2435, 2494, - 2553, 2613, 2673, 2733, 2791, 2851, 2911, 2971, 3029, 3089, 3149, 3209, 3268, 3328, 3387, 3447, 3506, 3566, 3626, 3685, 3744, 3804, 3864, 3924, 3983, 4042, 4102, 4162, 4222, 4280, 4340, 4400, 4460, 4519, 4578, 4638, 4698]] - data2 = [int(i*1.053) for i in [0, 2350, 2588, 2826, 3064, 3302, 3541, 3779, 4017, 4255, 4495, 4733, 4971, 5209, 5447, 5686, 5924, 6162, 6400, 6638, 6877, 7116, 7354, 7592, 7830, 8069, 8307, 8546, 8784, 9023, 9261, 9499, 9737, 9977, 10215, 10453, - 10691, 10929, 11168, 11406, 11644, 11882, 12120, 12359, 12598, 12836, 13074, 13313, 13551, 13789, 14027, 14265, 14504, 14742, 14980, 15219, 15459, 15697, 15935, 16173, 16411, 16650, 16888, 17126, 17364, 17602, 17841, 18080, 18318, 18556, 18795]] - - CD = 6.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] + self.data2[self.等级]) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(被动技能): - 名称 = '超动力补给包' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.09 + 0.01 * self.等级, 5) - - -class 技能5(主动技能): - 名称 = '激光炮' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 42 - data0 = [int(i*1.072) for i in [0, 3036, 3345, 3653, 3961, 4269, 4577, 4885, 5194, 5502, 5810, 6118, 6426, 6733, 7043, 7350, 7658, 7966, 8274, 8582, 8891, 9199, 9507, 9815, 10123, 10431, 10739, 11048, 11356, 11664, 11972, 12280, 12587, 12897, 13205, - 13512, 13820, 14128, 14436, 14745, 15053, 15361, 15669, 15977, 16285, 16594, 16902, 17210, 17518, 17826, 18134, 18443, 18751, 19059, 19366, 19674, 19982, 20291, 20599, 20907, 21215, 21523, 21831, 22140, 22448, 22756, 23064, 23372, 23680, 23989, 24297]] - CD = 7.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(被动技能): - 名称 = '蓄电激光炮' - 所在等级 = 25 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['激光炮'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.45 + 0.05 * self.等级, 5) - - -class 技能7(主动技能): - 名称 = '聚焦喷火器' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 39 - data0 = [int(i*1.051) for i in [0, 280, 307, 336, 365, 393, 422, 451, 480, 507, 536, 565, 593, 621, 650, 678, 706, 735, 763, 792, 819, 848, 877, 906, 933, 962, 991, 1018, 1047, 1076, 1104, 1132, 1162, 1190, 1218, 1247, - 1275, 1304, 1332, 1360, 1389, 1418, 1445, 1474, 1503, 1530, 1559, 1588, 1616, 1644, 1673, 1701, 1730, 1758, 1786, 1815, 1843, 1871, 1901, 1930, 1957, 1986, 2015, 2042, 2071, 2100, 2129, 2156, 2185, 2214, 2242]] - - 攻击次数 = 29 - CD = 12.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = 'FM31榴弹发射器' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 37 - data0 = [int(i*1.053) for i in [0, 2205, 2429, 2652, 2876, 3100, 3324, 3547, 3771, 3995, 4219, 4442, 4666, 4890, 5114, 5338, 5561, 5785, 6009, 6233, 6456, 6680, 6904, 7128, 7351, 7574, 7798, 8021, 8245, 8469, 8693, 8917, 9140, 9364, 9588, 9812, - 10035, 10259, 10483, 10707, 10930, 11154, 11378, 11602, 11825, 12049, 12273, 12497, 12721, 12944, 13168, 13392, 13616, 13839, 14063, 14287, 14511, 14734, 14958, 15182, 15406, 15629, 15853, 16077, 16301, 16524, 16748, 16972, 17196, 17420, 17643]] - - 攻击次数 = 4 - CD = 15.0 - TP成长 = 0.20 - TP上限 = 1 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 0.6 * 2 - elif x == 1: - self.倍率 *= 0.64 * 2 - - -class 技能9(主动技能): - 名称 = 'FM92刺弹炮' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 37 - data0 = [int(i*1.051) for i in [0, 2213, 2437, 2661, 2887, 3111, 3336, 3560, 3784, 4009, 4234, 4459, 4683, 4907, 5132, 5356, 5582, 5806, 6030, 6255, 6479, 6703, 6929, 7153, 7378, 7602, 7826, 8051, 8276, 8501, 8725, 8949, 9174, 9398, 9624, 9848, - 10072, 10297, 10521, 10745, 10971, 11195, 11420, 11644, 11868, 12093, 12318, 12543, 12767, 12991, 13216, 13440, 13664, 13890, 14114, 14339, 14563, 14787, 15012, 15237, 15462, 15686, 15910, 16135, 16359, 16585, 16809, 17033, 17258, 17482, 17707]] - - 攻击次数 = 5 - CD = 20.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '量子爆弹' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 34 - data1 = [int(i*1.061) for i in [0, 2697, 2971, 3244, 3518, 3792, 4066, 4339, 4613, 4886, 5161, 5434, 5708, 5981, 6255, 6528, 6803, 7076, 7350, 7623, 7897, 8171, 8445, 8718, 8992, 9265, 9540, 9813, 10087, 10360, 10634, 10907, 11182, 11455, 11729, 12002, - 12276, 12550, 12824, 13097, 13371, 13644, 13919, 14192, 14466, 14739, 15013, 15286, 15561, 15834, 16108, 16381, 16655, 16929, 17203, 17476, 17750, 18023, 18298, 18571, 18845, 19118, 19392, 19665, 19940, 20213, 20487, 20760, 21034, 21308, 21582]] - 攻击次数1 = 1 - data2 = [int(i*1.061) for i in [0, 8542, 9409, 10275, 11143, 12009, 12876, 13743, 14609, 15476, 16342, 17209, 18075, 18942, 19809, 20675, 21543, 22410, 23276, 24143, 25009, 25876, 26742, 27609, 28476, 29342, 30209, 31077, 31943, 32810, 33676, 34543, 35409, 36276, - 37143, 38009, 38876, 39742, 40609, 41477, 42343, 43210, 44076, 44943, 45809, 46676, 47543, 48409, 49276, 50142, 51009, 51877, 52743, 53610, 54476, 55343, 56210, 57076, 57943, 58809, 59676, 60542, 61409, 62277, 63143, 64010, 64877, 65743, 66610, 67476, 68343]] - 攻击次数2 = 1 - - # 感电 - data3 = [int(i*1.0) for i in [0, 12, 12, 13, 15, 15, 16, 17, 18, 19, 21, 22, 23, 24, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 35, 36, 38, 39, 40, 41, 42, 44, - 45, 45, 46, 47, 49, 50, 51, 52, 53, 55, 56, 56, 57, 58, 59, 61, 62, 63, 64, 66, 66, 67, 68, 69, 70, 72, 73, 74, 75, 76, 76, 78, 79, 80, 81, 83, 84, 85, 86]] - 攻击次数3 = 1 - - CD = 18.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 0 - self.攻击次数2 *= 0.21 * 8 - self.攻击次数3 *= 0.21 - elif x == 1: - self.攻击次数1 = 0 - self.攻击次数2 *= 0.20 * 9 - self.攻击次数3 *= 0.20 - - -class 技能11(主动技能): - 名称 = 'X1压缩量子炮' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 32 - data0 = [int(i*1.052) for i in [0, 25287, 27852, 30418, 32983, 35549, 38115, 40679, 43245, 45810, 48376, 50941, 53507, 56072, 58638, 61203, 63768, 66334, 68899, 71465, 74030, 76596, 79160, 81726, 84292, 86857, 89423, 91988, 94554, 97118, 99684, 102250, 104815, 107381, 109946, 112512, - 115076, 117642, 120207, 122773, 125339, 127904, 130470, 133034, 135600, 138165, 140731, 143296, 145862, 148428, 150992, 153558, 156123, 158689, 161254, 163820, 166386, 168950, 171516, 174081, 176647, 179212, 181778, 184343, 186908, 189474, 192039, 194605, 197170, 199736, 202301]] - - CD = 45.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1984 - elif x == 1: - self.倍率 *= 1.2768 - - -class 技能12(被动技能): - 名称 = '卫星定位' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.075 + 0.015 * self.等级, 5) - - -class 技能13(主动技能): - 名称 = '卫星射线' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.052) for i in [0, 4273, 5263, 6255, 7245, 8237, 9227, 10219, 11209, 12201, 13191, 14181, 15173, 16163, 17154, 18145, 19136, 20127, 21118, 22108, 23100, 24090, 25082, 26072, 27064, 28054, 29046, 30036, 31027, 32018, 33009, 34000, 34991, 35981, - 36973, 37963, 38955, 39945, 40937, 41927, 42918, 43909, 44900, 45891, 46882, 47872, 48864, 49854, 50846, 51836, 52826, 53818, 54808, 55800, 56790, 57782, 58772, 59763, 60754, 61745, 62736, 63727, 64717, 65709, 66699, 67691, 68681, 69673, 70663, 71654, 72645]] - 攻击次数1 = 1 - data2 = [int(i*1.052) for i in [0, 1593, 1962, 2333, 2703, 3072, 3442, 3811, 4181, 4550, 4920, 5290, 5659, 6029, 6398, 6768, 7137, 7507, 7876, 8247, 8617, 8986, 9356, 9725, 10095, 10464, 10834, 11204, 11573, 11943, 12312, 12682, 13051, 13421, 13790, - 14160, 14531, 14900, 15270, 15639, 16009, 16378, 16748, 17118, 17487, 17857, 18226, 18596, 18965, 19335, 19706, 20074, 20445, 20814, 21184, 21553, 21923, 22292, 22662, 23032, 23401, 23771, 24140, 24510, 24879, 25249, 25619, 25988, 26359, 26728, 27098]] - 攻击次数2 = 8.4 / 0.2 - CD = 145 - - def 等效百分比(self, 武器类型): - if self.等级 >= 9: - self.倍率 *= 1.1 - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能14(主动技能): - 名称 = '等离子放射器' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 24 - data0 = [int(i*1.05) for i in [0, 1707, 1881, 2053, 2227, 2401, 2573, 2747, 2920, 3094, 3266, 3440, 3613, 3787, 3959, 4133, 4306, 4480, 4652, 4826, 4999, 5172, 5346, 5519, 5693, 5865, 6039, 6212, 6386, 6558, 6732, 6905, 7079, 7251, 7425, - 7598, 7771, 7944, 8118, 8291, 8464, 8638, 8811, 8985, 9157, 9331, 9504, 9678, 9850, 10024, 10197, 10371, 10543, 10717, 10890, 11063, 11236, 11410, 11584, 11756, 11930, 12103, 12277, 12449, 12623, 12796, 12970, 13142, 13316, 13489, 13662]] - 攻击次数 = 12 - - CD = 30.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.16 - self.CD *= 0.88 - elif x == 1: - self.倍率 *= 1.25 - self.CD *= 0.88 - - -class 技能15(主动技能): - 名称 = 'FM92SW刺弹炮' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 19 - - data0 = [int(i*1.052) for i in [0, 29776, 32788, 35804, 38832, 41852, 44880, 47892, 50920, 53936, 56964, 59980, 63004, 66020, 69040, 72068, 75084, 78108, 81124, 84152, 87168, 90192, 93208, 96240, 99256, 102272, 105296, 108312, 111340, 114356, 117384, 120396, 123428, 126444, 129472, 132488, 135500, 138528, 141544, 144572, 147588, 150616, 153632, 156660, 159676, 162704, 165716, 168732, - 171760, 174776, 177804, 180820, 183848, 186864, 189892, 192904, 195932, 198948, 201964, 204992, 208008, 211036, 214052, 217080, 220096, 223120, 226136, 229164, 232180, 235200, 238224]] - - data0 = [(i*1.052) for i in [0, 7194, 7923, 8654, 9384, 10113, 10844, 11573, 12303, 13034, 13763, 14493, 15222, 15953, 16683, 17412, 18143, 18873, 19602, 20332, 21062, 21792, 22522, 23252, 23982, 24711, 25441, 26172, 26901, 27631, 28361, 29091, 29821, 30550, - 31281, 32010, 32740, 33471, 34200, 34930, 35659, 36390, 37120, 37849, 38580, 39309, 40039, 40770, 41499, 42229, 42958, 43689, 44419, 45148, 45879, 46608, 47338, 48069, 48798, 49528, 50257, 50988, 51718, 52447, 53178, 53907, 54637, 55367, 56097, 56827, 57556]] - 攻击次数 = 4 - data1 = [(i*1.052) for i in [0, 842, 928, 1013, 1098, 1184, 1270, 1355, 1440, 1525, 1612, 1697, 1782, 1867, 1954, 2039, 2124, 2209, 2296, 2381, 2466, 2551, 2637, 2723, 2808, 2894, 2979, 3065, 3150, 3236, 3321, 3406, 3492, 3578, - 3663, 3748, 3834, 3920, 4005, 4090, 4175, 4262, 4347, 4432, 4517, 4604, 4689, 4774, 4859, 4945, 5031, 5116, 5202, 5287, 5373, 5458, 5544, 5629, 5714, 5800, 5886, 5971, 6056, 6142, 6228, 6313, 6398, 6483, 6570, 6655, 6740]] - 攻击次数2 = 12 - # 灼烧攻击力,在点TP之后删除 - data2 = [(i*1.052) for i in [0, 28, 31, 34, 36, 39, 42, 45, 48, 51, 53, 56, 59, 62, 65, 68, 70, 73, 76, 79, 82, 85, 87, 90, 93, 96, 99, 102, 104, 107, 110, 113, 116, 119, 121, 124, - 127, 130, 133, 136, 138, 141, 144, 147, 150, 153, 155, 158, 161, 164, 167, 170, 172, 175, 178, 181, 184, 187, 189, 192, 195, 198, 201, 204, 206, 209, 212, 215, 218, 221, 223]] - 攻击次数3 = 0 - - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]*self.攻击次数 + self.data1[self.等级]*self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.23 - elif x == 1: - self.倍率 *= 1.305 - - -class 技能16(被动技能): - 名称 = '重火器改良' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.02 * self.等级, 5) - - -class 技能17(主动技能): - 名称 = '地脉震荡器' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 17 - - data1 = [int(i*1.05) for i in [0, 2376, 2617, 2858, 3099, 3341, 3581, 3822, 4063, 4304, 4546, 4787, 5028, 5268, 5510, 5751, 5992, 6233, 6475, 6716, 6956, 7197, 7438, 7680, 7921, 8162, 8403, 8645, 8885, 9126, 9367, 9608, 9850, 10091, 10332, 10572, - 10813, 11055, 11296, 11537, 11778, 12020, 12260, 12501, 12742, 12984, 13225, 13466, 13707, 13947, 14189, 14430, 14671, 14912, 15154, 15395, 15636, 15876, 16117, 16359, 16600, 16841, 17082, 17324, 17564, 17805, 18046, 18287, 18529, 18770, 19011]] - data2 = [int(i*1.05) for i in [0, 8317, 9160, 10005, 10848, 11692, 12535, 13380, 14223, 15067, 15911, 16755, 17598, 18443, 19286, 20130, 20973, 21818, 22661, 23505, 24348, 25193, 26037, 26880, 27725, 28568, 29412, 30256, 31100, 31943, 32787, 33631, 34475, 35318, - 36163, 37006, 37850, 38693, 39538, 40381, 41225, 42068, 42913, 43756, 44600, 45444, 46288, 47131, 47976, 48819, 49663, 50506, 51351, 52194, 53038, 53883, 54726, 55570, 56413, 57258, 58101, 58945, 59788, 60633, 61476, 62320, 63164, 64008, 64851, 65696, 66539]] - data3 = [int(i*1.05) for i in [0, 1781, 1962, 2143, 2324, 2505, 2686, 2867, 3048, 3229, 3410, 3589, 3770, 3951, 4132, 4313, 4494, 4675, 4856, 5037, 5217, 5397, 5578, 5759, 5940, 6121, 6302, 6483, 6664, 6845, 7025, 7206, 7387, 7568, 7749, - 7929, 8110, 8291, 8472, 8653, 8833, 9014, 9195, 9376, 9557, 9738, 9919, 10100, 10280, 10460, 10641, 10822, 11003, 11184, 11365, 11546, 11727, 11908, 12089, 12268, 12449, 12630, 12811, 12992, 13173, 13354, 13535, 13716, 13897, 14077, 14258]] - data4 = [int(i*1.05) for i in [0, 4158, 4580, 5002, 5423, 5846, 6268, 6690, 7111, 7533, 7955, 8378, 8798, 9221, 9643, 10065, 10486, 10908, 11330, 11753, 12174, 12596, 13018, 13440, 13862, 14283, 14706, 15128, 15550, 15971, 16393, 16815, 17238, 17658, 18081, - 18503, 18925, 19346, 19768, 20190, 20613, 21034, 21456, 21878, 22300, 22721, 23143, 23566, 23988, 24409, 24831, 25253, 25675, 26096, 26519, 26941, 27363, 27785, 28206, 28628, 29050, 29473, 29894, 30316, 30738, 31160, 31581, 32003, 32426, 32848, 33269]] - data5 = [int(i*1.05) for i in [0, 21981, 24212, 26441, 28671, 30902, 33131, 35361, 37592, 39822, 42051, 44282, 46512, 48741, 50972, 53202, 55432, 57662, 59892, 62122, 64351, 66582, 68812, 71043, 73272, 75502, 77733, 79963, 82192, 84422, 86653, 88882, 91112, 93343, 95573, 97802, - 100033, 102263, 104492, 106723, 108953, 111183, 113413, 115643, 117873, 120103, 122333, 124563, 126794, 129023, 131253, 133484, 135713, 137943, 140174, 142404, 144633, 146864, 149094, 151323, 153554, 155784, 158014, 160243, 162474, 164704, 166933, 169164, 171394, 173625, 175854]] - - data0 = [data1, data2, data3, data4, data5] - 次数 = [1, 1, 1, 6, 1] - - CD = 40.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3324 - - -class 技能18(主动技能): - 名称 = 'MSC7' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 14 - - data1 = [int(i*1.051) for i in [0, 5989, 6597, 7204, 7813, 8420, 9028, 9636, 10243, 10851, 11458, 12066, 12673, 13281, 13890, 14497, 15105, 15712, 16320, 16928, 17535, 18143, 18750, 19358, 19965, 20574, 21182, 21789, 22397, 23004, 23612, 24220, 24827, 25435, - 26042, 26651, 27258, 27866, 28474, 29081, 29689, 30296, 30904, 31511, 32119, 32728, 33335, 33943, 34550, 35158, 35766, 36373, 36981, 37588, 38196, 38803, 39412, 40020, 40627, 41235, 41842, 42450, 43058, 43665, 44273, 44880, 45489, 46096, 46704, 47312, 47919]] - data2 = [int(i*1.051) for i in [0, 53909, 59378, 64847, 70316, 75786, 81255, 86723, 92192, 97662, 103131, 108600, 114069, 119538, 125008, 130476, 135945, 141414, 146884, 152353, 157822, 163291, 168761, 174229, 179698, 185167, 190636, 196106, 201575, 207044, 212512, 217982, 223451, 228920, 234389, - 239859, 245328, 250797, 256265, 261734, 267204, 272673, 278142, 283611, 289081, 294549, 300018, 305487, 310956, 316426, 321895, 327364, 332832, 338302, 343771, 349240, 354709, 360179, 365648, 371117, 376585, 382054, 387524, 392993, 398462, 403931, 409401, 414870, 420338, 425807, 431277]] - - data0 = [data1, data2] - 次数 = [1, 1] - - CD = 45.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3320 - - -class 技能19(主动技能): - 名称 = '毁灭射线' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - - data1 = [int(i*1.052) for i in [0, 6677, 8226, 9774, 11323, 12871, 14420, 15968, 17517, 19066, 20614, 22163, 23711, 25260, 26808, 28357, 29905, 31454, 33003, 34551, 36100, 37648, 39197, 40745, 42294, 43842, 45391, 46939, 48488, 50037, 51585, 53134, 54682, 56231, 57779, - 59328, 60876, 62425, 63974, 65522, 67071, 68618, 70166, 71715, 73264, 74812, 76361, 77909, 79458, 81006, 82555, 84103, 85652, 87201, 88749, 90298, 91846, 93395, 94943, 96492, 98040, 99589, 101137, 102686, 104235, 105783, 107332, 108880, 110429, 111977, 113526]] - data2 = [int(i*1.052) for i in [0, 100170, 123397, 146625, 169854, 193082, 216309, 239537, 262765, 285994, 309221, 332449, 355677, 378905, 402132, 425361, 448589, 471817, 495044, 518272, 541501, 564728, 587956, 611184, 634412, 657639, 680868, 704096, 727324, 750551, 773779, 797007, 820236, 843463, 866691, 889919, - 913147, 936374, 959603, 982831, 1006059, 1029286, 1052514, 1075743, 1098971, 1122198, 1145426, 1168654, 1191881, 1215110, 1238338, 1261566, 1284793, 1308021, 1331249, 1354478, 1377705, 1400933, 1424161, 1447389, 1470616, 1493845, 1517073, 1540301, 1563528, 1586756, 1609985, 1633213, 1656440, 1679668, 1702896]] - data0 = [data1, data2] - 次数 = [10, 1] - - CD = 180.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能20(被动技能): - 名称 = '连锁卫星' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = 'MLDRS95发射器' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 7 - - data1 = [int(i*1.061) for i in [0, 1971, 2170, 2370, 2570, 2771, 2971, 3170, 3370, 3570, 3770, 3971, 4171, 4370, 4570, 4770, 4970, 5171, 5370, 5570, 5770, 5970, 6169, 6370, 6570, 6770, 6970, 7170, 7369, 7570, 7770, 7970, 8170, 8369, 8569, 8770, - 8970, 9170, 9369, 9569, 9769, 9970, 10170, 10370, 10569, 10769, 10969, 11170, 11370, 11569, 11769, 11969, 12169, 12370, 12569, 12769, 12969, 13169, 13369, 13570, 13769, 13969, 14169, 14369, 14568, 14769, 14969, 15169, 15369, 15568, 15768]] - data2 = [int(i*1.061) for i in [0, 88702, 97701, 106699, 115698, 124697, 133695, 142695, 151693, 160692, 169691, 178689, 187689, 196687, 205687, 214685, 223683, 232683, 241681, 250680, 259679, 268677, 277677, 286675, 295674, 304673, 313672, 322670, 331669, 340668, 349666, 358666, 367664, 376663, - 385662, 394660, 403660, 412658, 421658, 430656, 439654, 448654, 457652, 466652, 475650, 484648, 493648, 502646, 511645, 520644, 529643, 538641, 547640, 556639, 565638, 574637, 583635, 592634, 601633, 610631, 619631, 628629, 637629, 646627, 655625, 664625, 673623, 682623, 691621, 700619, 709619]] - data0 = [data1, data2] - 次数 = [15, 1] - - CD = 60.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -class 技能22(主动技能): - 名称 = '裂核轨道炮' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 308971.0 - # 成长 = 93275.0 - # 倍率 = 1.201 - - data1 = [int(i*1.0) for i in [0, 9662, 11902, 14143, 16383, 18624, 20864, 23105, 25345, 27586, 29826, 32067, 34307, 36548, 38787, 41029, 43268, 45509, 47749, 49990, 52230, 54471, 56712, 58952, 61193, 63433, 65674, 67914, 70155, 72395, 74636, 76876, 79117, 81357, 83598, 85838, - 88079, 90319, 92560, 94800, 97041, 99281, 101522, 103762, 106003, 108244, 110484, 112725, 114965, 117206, 119445, 121687, 123926, 126167, 128407, 130648, 132888, 135129, 137369, 139610, 141850, 144091, 146331, 148572, 150812, 153053, 155293, 157534, 159775, 162015, 164256]] - data2 = [int(i*1.0) for i in [0, 193242, 238051, 282862, 327671, 372482, 417291, 462100, 506911, 551720, 596531, 641340, 686151, 730960, 775770, 820580, 865389, 910199, 955009, 999819, 1044629, 1089439, 1134248, 1179058, 1223868, 1268678, 1313488, 1358297, 1403108, 1447917, 1492728, 1537537, 1582346, 1627157, 1671966, 1716777, - 1761586, 1806396, 1851206, 1896016, 1940826, 1985635, 2030445, 2075255, 2120065, 2164875, 2209685, 2254494, 2299304, 2344114, 2388924, 2433734, 2478543, 2523354, 2568163, 2612974, 2657783, 2702592, 2747403, 2792212, 2837023, 2881832, 2926642, 2971452, 3016262, 3061072, 3105881, 3150691, 3195501, 3240311, 3285121]] - data3 = [int(i*1.0) for i in [0, 24155, 29756, 35357, 40959, 46559, 52161, 57762, 63364, 68965, 74565, 80167, 85768, 91370, 96971, 102571, 108173, 113774, 119376, 124977, 130578, 136179, 141780, 147382, 152983, 158584, 164185, 169787, 175388, 180989, 186591, 192191, 197793, 203394, 208996, - 214597, 220197, 225799, 231400, 237002, 242603, 248203, 253805, 259406, 265008, 270609, 276210, 281811, 287413, 293014, 298615, 304216, 309817, 315419, 321020, 326622, 332222, 337823, 343425, 349026, 354628, 360228, 365829, 371431, 377032, 382634, 388234, 393836, 399437, 405038, 410640]] - - data0 = [data1, data2, data3] - - 次数 = [5, 1, 10] - - CD = 290.0 - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.次数)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -重霄·枪炮师·男一觉序号 = 0 -重霄·枪炮师·男二觉序号 = 0 -重霄·枪炮师·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 重霄·枪炮师·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 重霄·枪炮师·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 重霄·枪炮师·男三觉序号 = 技能序号[i.名称] - -重霄·枪炮师·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 重霄·枪炮师·男护石选项.append(i.名称) - -重霄·枪炮师·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 重霄·枪炮师·男符文选项.append(i.名称) - - -class 重霄·枪炮师·男角色属性(角色属性): - - 实际名称 = '重霄·枪炮师·男' - 角色 = '神枪手(男)' - 职业 = '枪炮师' - - 武器选项 = ['手炮'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '重甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.957 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - -class 重霄·枪炮师·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 重霄·枪炮师·男角色属性() - self.角色属性A = 重霄·枪炮师·男角色属性() - self.角色属性B = 重霄·枪炮师·男角色属性() - self.一觉序号 = 重霄·枪炮师·男一觉序号 - self.二觉序号 = 重霄·枪炮师·男二觉序号 - self.三觉序号 = 重霄·枪炮师·男三觉序号 - self.护石选项 = deepcopy(重霄·枪炮师·男护石选项) - self.符文选项 = deepcopy(重霄·枪炮师·男符文选项) diff --git a/Characters/重霄·漫游枪手·女.py b/Characters/重霄·漫游枪手·女.py deleted file mode 100644 index a694b32c..00000000 --- a/Characters/重霄·漫游枪手·女.py +++ /dev/null @@ -1,552 +0,0 @@ -from PublicReference.carry.base import * - - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能0(职业主动技能): - 名称 = '烟尘弹' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - 攻击次数 = 6 - CD = 6 - data0 =[0,406, 447, 488, 529, 570, 612, 653, 694, 735, 776, 817, 858, 900, 941, 982, 1023, 1064, 1105, 1146, 1188, 1229, 1270, 1311, 1352, 1394, 1435, 1477, 1518, 1559, 1600, 1641, 1682, 1723, 1765, 1806, 1847, 1888, 1929, 1970, 2011, 2053, 2094, 2135, 2176, 2217, 2258, 2299, 2342, 2383, 2424, 2465, 2506, 2547, 2588, 2630, 2671, 2712, 2753, 2794, 2835, 2876, 2918, 2959, 3000, 3041, 3082, 3123, 3164, 3207, 3248] - TP成长 = 0.08 - TP上限 = 7 - - -class 技能1(职业主动技能): - 名称 = '刺踢' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 物理攻击力:% - data0 = [int(i*1.235) for i in [0, 2321, 2556, 2793, 3027, 3262, 3499, 3733, 3970, 4205, 4439, 4676, 4912, 5149, 5383, 5618, 5855, 6089, 6326, 6561, 6795, 7032, 7267, 7504, 7738, 7973, 8210, 8444, 8681, 8916, 9154, 9389, 9623, 9860, 10095, 10331, 10566, 10801, 11037, 11272, 11508, 11744, 11978, 12215, 12450, 12685, 12921, 13156, 13391, 13627, 13863, 14099, 14333, 14569, 14805, 15040, 15275, 15511, 15746, 15982, 16218, 16452, 16688, 16924, 17160, 17395, 17630, 17867, 18103, 18338, 18574]] - CD = 4.4 - TP成长 = 0.08 - TP上限 = 5 - - -class 技能2(职业主动技能): - 名称 = '致命射击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1281.30 - # 成长 = 144.70 - CD = 6.2 - TP成长 = 0.1 - TP上限 = 5 - data0 = [int(i*1.193) for i in [0, 1599, 1760, 1923, 2085, 2248, 2409, 2572, 2734, 2896, 3058, 3221, 3382, 3545, 3707, 3870, 4031, 4194, 4356, 4518, 4680, 4843, 5004, 5167, 5329, 5492, 5653, 5816, 5978, 6140, 6302, 6465, 6626, 6789, 6951, 7114, 7275, 7438, 7600, 7762, 7924, 8087, 8248, 8411, 8573, 8735, 8897, 9060, 9222, 9384, 9546, 9709, 9870, 10033, 10195, 10357, 10519, 10682, 10845, 11006, 11169, 11331, 11492, 11655, 11818, 11979, 12142, 12304, 12467, 12628, 12791]] - 攻击次数 = 1 - -class 技能3(被动技能): - 名称 = '左轮奥义' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.0 + 0.02 * self.等级, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能4(被动技能): - 名称 = '花式枪术' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 10: - return round(1 + 0.01 * self.等级, 5) - else: - return round(1.1 + 0.02 * (self.等级 - 10), 5) - - -class 技能5(主动技能): - 名称 = '锁链截击' - 所在等级 = 25 - 学习间隔 = 3 - SP消耗 = 25 - 等级上限 = 60 - 学习上限 = 50 - 基础等级 = min(int((105 - 所在等级) / 学习间隔 + 1), 学习上限) - CD = 5.0 - data = [ - # 0 第1击多段攻击力 : % - [int(i*1.0) for i in [0, 556, 645, 734, 822, 911, 1000, 1089, 1177, 1266, 1355, 1444, 1532, 1621, 1710, 1799, 1887, 1976, 2065, 2154, 2242, 2331, 2420, 2509, 2597, 2686, 2775, 2863, 2952, 3041, - 3130, 3218, 3307, 3396, 3485, 3573, 3662, 3751, 3840, 3928, 4017, 4106, 4195, 4283, 4372, 4461, 4550, 4638, 4727, 4816, 4905, 4993, 5082, 5171, 5260, 5348, 5437, 5526, 5615, 5703, 5792]], - # 1 第2击攻击力 : % - [int(i*1.0) for i in [0, 834, 968, 1101, 1234, 1367, 1500, 1633, 1766, 1899, 2033, 2166, 2299, 2432, 2565, 2698, 2831, 2964, 3097, 3231, 3364, 3497, 3630, 3763, 3896, 4029, 4162, 4295, 4429, - 4562, 4695, 4828, 4961, 5094, 5227, 5360, 5494, 5627, 5760, 5893, 6026, 6159, 6292, 6425, 6558, 6692, 6825, 6958, 7091, 7224, 7357, 7490, 7623, 7757, 7890, 8023, 8156, 8289, 8422, 8555, 8688]], - # 2 第3击攻击力 : % - [int(i*1.0) for i in [0, 834, 968, 1101, 1234, 1367, 1500, 1633, 1766, 1899, 2033, 2166, 2299, 2432, 2565, 2698, 2831, 2964, 3097, 3231, 3364, 3497, 3630, 3763, 3896, 4029, 4162, 4295, 4429, - 4562, 4695, 4828, 4961, 5094, 5227, 5360, 5494, 5627, 5760, 5893, 6026, 6159, 6292, 6425, 6558, 6692, 6825, 6958, 7091, 7224, 7357, 7490, 7623, 7757, 7890, 8023, 8156, 8289, 8422, 8555, 8688]], - ] - - # index: 0 1 2 - rate = [1.000, 1.000, 1.000] - hits = [5.000, 1.000, 1.000] - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.hits)): - sum += self.data[i][self.等级] * self.rate[i] * self.hits[i] - return self.倍率 * sum - - -""" -数据描述(已匹配): -第1击多段攻击力 : % -第1击多段攻击间隔 : 0.2秒 -第2击攻击力 : % -第3击攻击力 : % -技能描述: - 使枪刃往垂直方向旋转, 并聚集周围的敌人。 施放技能时, 若再次激活技能键, 则可以将敌人推开; 若此时第二次激活技能键, 则可以将推开的敌人吸附到身边。 - #95被动新增: - 锁链截击 - 删除第一打的多段攻击力,使用时发动2,3打后向前方射击. - 射击攻击力为1打多段攻击力的一定比率. -""" - - -class 技能6(职业主动技能): - 名称 = '音速劫击' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - CD = 4.4 - TP成长 = 0.1 - TP上限 = 5 - data0 = [int(i*1.193) for i in [0, 1199, 1321, 1443, 1564, 1686, 1808, 1929, 2051, 2172, 2294, 2417, 2538, 2660, 2782, 2903, 3025, 3146, 3268, 3389, 3511, 3634, 3755, 3877, 3999, 4120, 4242, 4363, 4485, 4607, 4728, 4851, 4972, 5094, 5216, 5337, 5459, 5580, 5702, 5824, 5945, 6068, 6190, 6311, 6433, 6554, 6676, 6797, 6919, 7041, 7162, 7285, 7407, 7528, 7650, 7771, 7893, 8015, 8136, 8258, 8379, 8502, 8624, 8745, 8867, 8988, 9110, 9232, 9353, 9475, 9596]] - 攻击次数 = 3 - - -""" -#95被动新增: -音速截击 -突进攻击不再浮空,在突进攻击完成后向后射击. -射击攻击力为突进攻击力的一定比率. -""" - - -class 技能7(主动技能): - 名称 = '致命回射' - 所在等级 = 30 - 等级上限 = 1 - 基础等级 = 1 - CD = 12.5 - - -class 技能8(职业主动技能): - 名称 = '枪舞' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.193) for i in [0, 273, 301, 329, 357, 384, 412, 440, 468, 496, 523, 551, 579, 607, 635, 662, 690, 718, 746, 774, 801, 829, 857, 885, 913, 940, 968, 996, 1024, 1051, 1079, 1107, 1135, 1163, 1190, 1218, 1246, 1274, 1302, 1329, 1357, 1385, 1413, 1441, 1468, 1496, 1524, 1552, 1580, 1607, 1635, 1663, 1692, 1720, 1747, 1775, 1803, 1831, 1859, 1886, 1914, 1942, 1970, 1998, 2025, 2053, 2081, 2109, 2137, 2164, 2192]] - 攻击次数 = 20 - data1 = [int(i*1.193) for i in [0, 486, 536, 586, 635, 684, 734, 783, 833, 882, 931, 981, 1031, 1079, 1129, 1179, 1227, 1277, 1327, 1376, 1425, 1475, 1524, 1574, 1624, 1672, 1722, 1772, 1822, 1870, 1920, 1970, 2018, 2068, 2118, 2167, 2216, 2266, 2315, 2365, 2414, 2463, 2513, 2563, 2611, 2661, 2711, 2760, 2809, 2859, 2908, 2958, 3007, 3057, 3106, 3156, 3205, 3254, 3304, 3354, 3402, 3452, 3502, 3550, 3600, 3650, 3699, 3748, 3798, 3847, 3897]] - 攻击次数2 = 9 - CD = 17.6 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.CD *= 0.9 - self.攻击次数 = 0 - self.攻击次数2 *= (2 * 1.39) - elif x == 1: - self.CD *= 0.9 - self.攻击次数 = 0 - self.攻击次数2 *= (2 * 1.49) - -class 技能9(职业主动技能): - 名称 = '移动射击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data0 = [int(i*1.140) for i in [0, 487, 535, 585, 634, 683, 733, 782, 832, 881, 930, 980, 1030, 1078, 1128, 1178, 1227, 1276, 1325, 1375, 1424, 1473, 1523, 1573, 1621, 1671, 1721, 1770, 1819, 1868, 1918, 1968, 2016, 2066, 2116, 2164, 2214, 2264, 2313, 2362, 2412, 2461, 2511, 2559, 2609, 2659, 2707, 2757, 2807, 2856, 2905, 2955, 3004, 3054, 3102, 3152, 3202, 3252, 3300, 3350, 3399, 3448, 3498, 3547, 3597, 3646, 3695, 3745, 3795, 3843, 3893]] - 攻击次数 = 30 - CD = 24.3 - TP成长 = 0.10 - TP上限 = 5 - -class 技能10(职业主动技能): - 名称 = '多重射击' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data0 = [int(i*1.300) for i in [0, 2080, 2291, 2501, 2713, 2923, 3135, 3346, 3556, 3768, 3978, 4190, 4401, 4611, 4823, 5034, 5245, 5456, 5666, 5878, 6089, 6300, 6511, 6722, 6933, 7144, 7356, 7566, 7777, 7988, 8199, 8411, 8621, 8832, 9044, 9254, 9466, 9676, 9887, 10099, 10309, 10521, 10731, 10942, 11154, 11364, 11576, 11787, 11997, 12209, 12419, 12631, 12842, 13052, 13264, 13475, 13686, 13897, 14107, 14319, 14530, 14741, 14952, 15163, 15374, 15585, 15797, 16007, 16218, 16429, 16640]] - 攻击次数 = 5 - CD = 19.8 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 = 1.18 - elif x == 1: - self.倍率 = 1.27 - -class 技能11(职业主动技能): - 名称 = '双鹰回旋' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 第1次物理攻击力:% - data0 = [int(i*1.0) for i in [0, 519, 571, 624, 676, 729, 782, 834, 887, 940, 992, 1045, 1097, 1151, 1203, 1255, 1308, 1361, 1414, 1466, 1518, 1572, 1624, 1677, 1729, 1783, 1835, 1887, 1940, 1993, 2046, 2098, 2150, 2204, - 2256, 2309, 2361, 2415, 2467, 2519, 2572, 2625, 2678, 2730, 2782, 2836, 2888, 2940, 2993, 3046, 3099, 3151, 3203, 3257, 3309, 3362, 3414, 3468, 3520, 3572, 3625, 3678, 3731, 3783, 3835, 3889, 3941, 3994, 4046, 4100, 4152]] - # 第2次物理攻击力:% - data1 = [int(i*1.0) for i in [0, 530, 583, 637, 691, 745, 798, 852, 907, 960, 1014, 1067, 1121, 1176, 1229, 1283, 1336, 1390, 1445, 1498, 1552, 1605, 1659, 1714, 1767, 1821, 1874, 1928, 1983, 2036, 2090, 2143, 2197, 2251, - 2305, 2359, 2412, 2466, 2520, 2574, 2628, 2681, 2735, 2789, 2843, 2896, 2950, 3004, 3058, 3112, 3165, 3219, 3273, 3327, 3381, 3434, 3488, 3543, 3596, 3650, 3703, 3757, 3812, 3865, 3919, 3972, 4026, 4081, 4134, 4188, 4241]] - # 第3次物理攻击力:% - data2 = [int(i*1.0) for i in [0, 562, 619, 676, 733, 790, 847, 904, 962, 1019, 1076, 1133, 1190, 1247, 1303, 1360, 1417, 1474, 1532, 1589, 1646, 1703, 1760, 1817, 1874, 1931, 1988, 2046, 2103, 2160, 2217, 2274, 2331, 2388, - 2444, 2501, 2559, 2616, 2673, 2730, 2787, 2844, 2901, 2958, 3015, 3073, 3130, 3187, 3244, 3301, 3358, 3415, 3472, 3530, 3585, 3643, 3700, 3757, 3814, 3871, 3928, 3985, 4042, 4100, 4157, 4214, 4271, 4328, 4385, 4442, 4499]] - 攻击次数 = 14 - 攻击次数2 = 18 - 攻击次数3 = 32 - CD = 44.6 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 0 - self.攻击次数2 = 24 - self.攻击次数3 = 46 - # self.倍率 *= 1.15 - # self.倍率 /= 0.8 - elif x == 1: - self.攻击次数 = 0 - self.data1 = [int(i*1.2) for i in self.data1] - self.攻击次数2 = 24 - self.攻击次数3 = 46 - - -class 技能12(被动技能): - 名称 = '隐匿切割' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.065 + 0.02 * self.等级, 5) - - -class 技能13(职业主动技能): - 名称 = '血腥狂欢' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 向前斩击物理攻击力:% - data0 = [int(i*1.193) for i in [0, 2029, 2500, 2970, 3440, 3911, 4382, 4852, 5323, 5793, 6264, 6735, 7205, 7675, 8146, 8617, 9087, 9558, 10028, 10499, 10969, 11440, 11912, 12383, 12853, 13323, 13794, 14265, 14736, 15205, 15676, 16147, 16618, 17087, 17558, 18029, 18500, 18971, 19440, 19911, 20382]] - # 该次数存疑 - 攻击次数 = 24 - # 最后一击攻击力:% - data1 = [int(i*1.193) for i in [0, 6019, 7415, 8811, 10207, 11603, 12998, 14395, 15790, 17187, 18583, 19977, 21374, 22770, 24167, 25562, 26958, 28353, 29749, 31146, 32542, 33938, 35334, 36728, 38125, 39521, 40918, 42313, 43708, 45105, 46500, 47897, 49293, 50689, 52084, 53480, 54876, 56272, 57669, 59063, 60459]] - 攻击次数2 = 1 - CD = 145 - - -class 技能14(职业主动技能): - 名称 = '鲜血劫击' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 上升物理攻击力:% - data0 = [int(i*1.292) for i in [0, 7572, 8341, 9109, 9878, 10646, 11413, 12182, 12950, 13719, 14487, 15256, 16023, 16792, 17560, 18329, 19097, 19865, 20634, 21401, 22170, 22938, 23707, 24475, 25244, 26011, 26780, 27548, 28316, 29085, 29852, 30621, 31389, 32158, 32926, 33695, 34462, 35231, 35999, 36768, 37536, 38304, 39072, 39840, 40609, 41377, 42146, 42914, 43682, 44450, 45219, 45987, 46755, 47524, 48291, 49060, 49828, 50597, 51365, 52134, 52901, 53670, 54438, 55206, 55975, 56742, 57511, 58279, 59048, 59816, 60585]] - # [新月斩击]物理攻击力:% - data1 = [int(i*1.292) for i in [0, 8485, 9345, 10205, 11066, 11927, 12788, 13649, 14509, 15370, 16231, 17092, 17953, 18814, 19674, 20534, 21395, 22256, 23117, 23978, 24839, 25700, 26561, 27421, 28282, 29142, 30003, 30864, 31725, 32585, 33446, 34307, 35168, 36029, 36890, 37751, 38610, 39471, 40332, 41193, 42054, 42915, 43776, 44636, 45497, 46358, 47219, 48079, 48940, 49801, 50661, 51522, 52383, 53244, 54105, 54966, 55827, 56688, 57547, 58408, 59269, 60130, 60991, 61852, 62712, 63573, 64434, 65295, 66156, 67017, 67877]] - 攻击次数 = 1 - 攻击次数2 = 1 - CD = 25.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 += 1.47+0.25 - self.攻击次数2 = 0 - # self.倍率 *= 1.25 - elif x == 1: - self.攻击次数 += 1.47+0.44 - self.攻击次数2 = 0 - # self.倍率 *= 1.44 -class 技能15(职业主动技能): - 名称 = '压制射击' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 1254.33 - # 成长 = 141.67 - # 基础2 = 2789.17 - # 成长2 = 314.83 - # 前方乱射攻击力:% - data0 = [int(i*1.193) for i in [0, 1638, 1803, 1969, 2136, 2301, 2469, 2636, 2801, 2968, 3134, 3300, 3466, 3632, 3798, 3965, 4130, 4297, 4462, 4629, 4796, 4962, 5128, 5295, 5460, 5627, 5793, 5959, 6125, 6291, 6457, 6624, 6789, 6956, 7121, 7289, 7456, 7621, 7788, 7954, 8120]] - # 最后射击攻击力:% - data1 = [int(i*1.193) for i in [0, 3641, 4009, 4379, 4747, 5118, 5487, 5856, 6225, 6595, 6964, 7334, 7702, 8073, 8441, 8810, 9181, 9549, 9919, 10287, 10658, 11027, 11396, 11766, 12135, 12504, 12874, 13243, 13613, 13981, 14350, 14721, 15089, 15459, 15827, 16198, 16567, 16936, 17306, 17675, 18044]] - 攻击次数 = 20 - 攻击次数2 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.185 - self.攻击次数2 *= 1.50 - elif x == 1: - self.攻击次数 *= 1.185 - self.攻击次数2 *= 2.30 - - -class 技能16(被动技能): - 名称 = '枪刃改良' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - -class 技能17(职业主动技能): - 名称 = '死亡锁链' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - # 快速射击攻击力:% - data0 = [int(i*1.293) for i in [0, 5314, 6161, 7009, 7855, 8703, 9551, 10398, 11246, 12093, 12941, 13787, 14634, 15481, 16329, 17176, 18024, 18870, 19718, 20565, 21413, 22260, 23108, 23956, 24801, 25648, 26496, 27343, 28191, 29039, 29886, 30734, 31580, 32428, 33275, 34123, 34969, 35817, 36663, 37511, 38358]] - 攻击次数 = 5 - # 最终射击攻击力:% - data1 = [int(i*1.293) for i in [0, 15944, 18487, 21028, 23570, 26111, 28654, 31195, 33737, 36278, 38821, 41364, 43904, 46447, 48988, 51531, 54071, 56614, 59157, 61698, 64240, 66781, 69324, 71866, 74407, 76949, 79491, 82034, 84574, 87117, 89658, 92201, 94741, 97284, 99827, 102368, 104910, 107451, 109994, 112536, 115077]] - 攻击次数2 = 1 - CD = 40.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1 + 0.375 * 0.94 - -class 技能18(职业主动技能): - 名称 = '锁链切割' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 第1击攻击力:% - data0 = [int(i*1.298) for i in [0, 14483, 15953, 17423, 18892, 20362, 21830, 23300, 24770, 26239, 27708, 29178, 30647, 32117, 33587, 35055, 36525, 37994, 39464, 40934, 42402, 43872, 45342, 46811, 48280, 49750, 51219, 52689, 54159, 55627, 57097, 58566, 60036, 61505, 62974, 64444, 65914, 67382, 68852, 70322, 71791]] - 攻击次数 = 1 - # 第2击攻击力:% - data1 = [int(i*1.298) for i in [0, 14483, 15953, 17423, 18892, 20362, 21830, 23300, 24770, 26239, 27708, 29178, 30647, 32117, 33587, 35055, 36525, 37994, 39464, 40934, 42402, 43872, 45342, 46811, 48280, 49750, 51219, 52689, 54159, 55627, 57097, 58566, 60036, 61505, 62974, 64444, 65914, 67382, 68852, 70322, 71791]] - 攻击次数2 = 1 - # 第3击攻击力:% - data2 = [int(i*1.298) for i in [0, 19311, 21271, 23231, 25189, 27149, 29108, 31068, 33026, 34986, 36945, 38904, 40863, 42823, 44781, 46741, 48700, 50660, 52618, 54578, 56537, 58496, 60455, 62415, 64373, 66333, 68292, 70252, 72211, 74170, 76130, 78088, 80048, 82007, 83967, 85925, 87885, 89844, 91803, 93762, 95722]] - 攻击次数3 = 1 - CD = 45.0 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.34 - - -class 技能19(职业主动技能): - 名称 = '血舞祭' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data0 = [int(i*1.193) for i in [0, 122223, 150567, 178907, 207250, 235592, 263933, 292276, 320618, 348960, 377302, 405645, 433985, 462328, 490669, 519011, 547354, 575695, 604038, 632380, 660722, 689064, 717404, 745747, 774089, 802431, 830773, 859116, 887457, 915800, 944141, 972482, 1000825, 1029166, 1057509, 1085851, 1114193, 1142535, 1170878, 1199219, 1227561]] - CD = 180 - - def 等效百分比(self, 武器类型): - return self.data0[self.等级] * self.攻击次数 * self.倍率 - - -class 技能20(被动技能): - 名称 = '锁链意志' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - 关联技能 = ['所有'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(职业主动技能): - 名称 = '毁灭风暴' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - CD = 60.0 - # 合并数据 - # data0 = [int(i*1.00) for i in [0, 22175, 24426, 26677, 28928, 31179, 33430, 35681, 37932, 40183, 42434, 44685, 46936, 49187, 51438, 53689, 55940, 58191, 60442, 62693, 64944, 67195, 69446, 71697, 73948, 76199, 78450, 80701, 82952, 85203, 87454, 89705, 91956, 94207, 96458, 98709, 100960, 103211, 105462, 107713, 109964]] - # 攻击次数 = 3 - data0 = [int(i*1.193) for i in [0,4069, 4482, 4895, 5308, 5721, 6134, 6546, 6959, 7372, 7785, 8198, 8611, 9024, 9436, 9849, 10262, 10675, 11088, 11501, 11914, 12327, 12739, 13152, 13565, 13978, 14391, 14804, 15217, 15629, 16042, 16455, 16868, 17281, 17694, 18107, 18520, 18932, 19345, 19758, 20171, 20584, 20997, 21410, 21823, 22235, 22648, 23061, 23474, 23887, 24300, 24713, 25125, 25538, 25951, 26364, 26777, 27190, 27603, 28016, 28428, 28841, 29254, 29667, 30080, 30493, 30906, 31318, 31731, 32144, 32557]] - # 括号内为5个攻击的不同伤害倍率 - 攻击次数 = (1.03+1.06+1.09+1.12+1.15)*3 - data1 = [int(i*1.193) for i in [0,33269, 36644, 40020, 43395, 46770, 50145, 53520, 56896, 60271, 63646, 67021, 70396, 73771, 77147, 80522, 83897, 87272, 90647, 94023, 97398, 100773, 104148, 107523, 110899, 114274, 117649, 121024, 124399, 127774, 131150, 134525, 137900, 141275, 144650, 148026, 151401, 154776, 158151, 161526, 164902, 168277, 171652, 175027, 178402, 181777, 185153, 188528, 191903, 195278, 198653, 202029, 205404, 208779, 212154, 215529, 218905, 222280, 225655, 229030, 232405, 235780, 239156, 242531, 245906, 249281, 252656, 256032, 259407, 262782, 266157]] - 攻击次数2 = 1 - data2 = [int(i*1.193) for i in [0,2217, 2442, 2668, 2893, 3118, 3343, 3568, 3793, 4018, 4243, 4468, 4693, 4918, 5143, 5368, 5593, 5818, 6043, 6268, 6493, 6718, 6943, 7168, 7393, 7618, 7843, 8068, 8293, 8518, 8743, 8968, 9193, 9418, 9643, 9868, 10093, 10318, 10543, 10768, 10993, 11218, 11443, 11668, 11893, 12118, 12343, 12568, 12793, 13018, 13243, 13468, 13693, 13918, 14143, 14368, 14593, 14818, 15043, 15268, 15493, 15718, 15943, 16168, 16393, 16618, 16843, 17068, 17293, 17518, 17743]] - 攻击次数3 = 5 - -class 技能22(职业主动技能): - 名称 = '盛放·绯红花园' - 关联技能 = ['无'] - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - CD = 290.0 - data0 = [int(i*1.236) for i in [0,3571, 4400, 5228, 6056, 6884, 7713, 8541, 9369, 10197, 11026, 11854, 12682, 13510, 14339, 15167, 15995, 16823, 17652, 18480, 19308, 20136, 20965, 21793, 22621, 23449, 24278, 25106, 25934, 26762, 27591, 28419, 29247, 30075, 30904, 31732, 32560, 33388, 34217, 35045, 35873]] - 攻击次数 = 5 - data1 = [int(i*1.236) for i in [0,4464, 5500, 6535, 7570, 8606, 9641, 10676, 11711, 12747, 13782, 14817, 15853, 16888, 17923, 18959, 19994, 21029, 22065, 23100, 24135, 25171, 26206, 27241, 28277, 29312, 30347, 31382, 32418, 33453, 34488, 35524, 36559, 37594, 38630, 39665, 40700, 41736, 42771, 43806, 44842]] - 攻击次数2 = 6 - data2 = [int(i*1.236) for i in [0,7653, 9428, 11203, 12978, 14753, 16528, 18302, 20077, 21852, 23627, 25402, 27177, 28951, 30726, 32501, 34276, 36051, 37825, 39600, 41375, 43150, 44925, 46700, 48474, 50249, 52024, 53799, 55574, 57349, 59123, 60898, 62673, 64448, 66223, 67997, 69772, 71547, 73322, 75097, 76872]] - 攻击次数3 = 7 - data3 = [int(i*1.236) for i in [0,4464, 5500, 6535, 7570, 8606, 9641, 10676, 11711, 12747, 13782, 14817, 15853, 16888, 17923, 18959, 19994, 21029, 22065, 23100, 24135, 25171, 26206, 27241, 28277, 29312, 30347, 31382, 32418, 33453, 34488, 35524, 36559, 37594, 38630, 39665, 40700, 41736, 42771, 43806, 44842]] - 攻击次数4 = 6 - data4 = [int(i*1.236) for i in [0,6868, 8461, 10054, 11647, 13240, 14832, 16425, 18018, 19611, 21204, 22796, 24389, 25982, 27575, 29167, 30760, 32353, 33946, 35539, 37131, 38724, 40317, 41910, 43503, 45095, 46688, 48281, 49874, 51467, 53059, 54652, 56245, 57838, 59431, 61023, 62616, 64209, 65802, 67394, 68987]] - 攻击次数5 = 13 - data5 = [int(i*1.236) for i in [0,41671, 51334, 60997, 70660, 80323, 89986, 99649, 109311, 118974, 128637, 138300, 147963, 157626, 167289, 176952, 186615, 196278, 205941, 215604, 225267, 234930, 244593, 254255, 263918, 273581, 283244, 292907, 302570, 312233, 321896, 331559, 341222, 350885, 360548, 370211, 379874, 389537, 399199, 408862, 418525]] - 攻击次数6 = 3 - data6 = [int(i*1.236) for i in [0,2976, 3666, 4356, 5047, 5737, 6427, 7117, 7807, 8498, 9188, 9878, 10568, 11259, 11949, 12639, 13329, 14019, 14710, 15400, 16090, 16780, 17470, 18161, 18851, 19541, 20231, 20921, 21612, 22302, 22992, 23682, 24373, 25063, 25753, 26443, 27133, 27824, 28514, 29204, 29894]] - 攻击次数7 = 6 - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - - 实际名称 = '重霄·漫游枪手·女' - 角色 = '神枪手(女)' - 职业 = '漫游枪手' - - 武器选项 = ['左轮枪'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.25 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['致命回射']].基础 = self.技能栏[self.技能序号['致命射击']].等效百分比( - self.武器类型)*1.25 - self.技能栏[self.技能序号['致命回射']].被动倍率 = self.技能栏[self.技能序号['致命射击']].被动倍率 - - -class 重霄·漫游枪手·女(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) diff --git a/Characters/重霄·漫游枪手·男.py b/Characters/重霄·漫游枪手·男.py deleted file mode 100644 index caaa2c6d..00000000 --- a/Characters/重霄·漫游枪手·男.py +++ /dev/null @@ -1,563 +0,0 @@ -from PublicReference.carry.base import * - -class 职业主动技能(主动技能): - 技能施放时间 = 0.0 - 脱手 = 1 - data0 = [] - data1 = [] - data2 = [] - data3 = [] - data4 = [] - data5 = [] - data6 = [] - - def 等效百分比(self, 武器类型): - 等效倍率 = 0.0 - if len(self.data0) >= self.等级 and len(self.data0) > 0: - 等效倍率 += self.data0[self.等级] * self.攻击次数 - if len(self.data1) >= self.等级 and len(self.data1) > 0: - 等效倍率 += self.data1[self.等级] * self.攻击次数2 - if len(self.data2) >= self.等级 and len(self.data2) > 0: - 等效倍率 += self.data2[self.等级] * self.攻击次数3 - if len(self.data3) >= self.等级 and len(self.data3) > 0: - 等效倍率 += self.data3[self.等级] * self.攻击次数4 - if len(self.data4) >= self.等级 and len(self.data4) > 0: - 等效倍率 += self.data4[self.等级] * self.攻击次数5 - if len(self.data5) >= self.等级 and len(self.data5) > 0: - 等效倍率 += self.data5[self.等级] * self.攻击次数6 - if len(self.data6) >= self.等级 and len(self.data6) > 0: - 等效倍率 += self.data6[self.等级] * self.攻击次数7 - return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - # def 等效CD(self, 武器类型, 输出类型): - # return round(self.CD / self.恢复, 1) - - - -class 技能0(职业主动技能): - 名称 = '致命射击' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - # 基础 = 1044.9 - # 成长 = 118.1 - data0 = [int(i*1.2719) for i in [0, 1163, 1281, 1399, 1517, 1635, 1753, 1872, 1990, 2108, 2226, 2344, 2462, 2580, 2698, 2816, 2934, 3052, 3170, 3288, 3406, 3524, 3642, 3760, 3878, 3997, 4115, 4233, 4351, 4469, 4587, 4705, 4823, 4941, 5059, 5177, 5295, 5413, 5531, 5649, 5767, 5885, 6003, 6121, 6240, 6358, 6476, 6594, 6712, 6830, 6948, 7066, 7184, 7302, 7420, 7538, 7656, 7774, 7892, 8010, 8128]] - 攻击次数 = 1 - CD = 6.9 - TP成长 = 0.1 - TP上限 = 7 - - -class 技能1(被动技能): - 名称 = '左轮奥义' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - if self.等级 <= 10: - return round(1.1 + 0.01 * self.等级, 5) - else: - return round(1.2 + 0.02 * (self.等级 - 10), 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能2(被动技能): - 名称 = '花式枪术' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 10: - return round(1 + 0.01 * self.等级, 5) - else: - return round(1.1 + 0.02 * (self.等级 - 10), 5) - - -class 技能3(职业主动技能): - 名称 = '三连发' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - # 基础 = 475.2 - # 成长 = 53.8 - data0 = [int(i*1.098) for i in [0, 529, 583, 637, 690, 744, 798, 852, 905, 959, 1013, 1067, 1120, 1174, 1228, 1282, 1335, 1389, 1443, 1497, 1550, 1604, 1658, 1712, 1765, 1819, 1873, 1926, 1980, 2034, 2088, 2141, 2195, 2249, 2303, 2356, 2410, 2464, 2518, 2571, 2625, 2679, 2733, 2786, 2840, 2894, 2948, 3001, 3055, 3109, 3163, 3216, 3270, 3324, 3378, 3431, 3485, 3539, 3592, 3646, 3700]] - # 基础2 = 951.5 - # 成长2 = 107.5 - data1 = [int(i*1.098) for i in [0, 1059, 1166, 1274, 1381, 1489, 1596, 1704, 1811, 1919, 2026, 2134, 2241, 2349, 2456, 2564, 2671, 2779, 2886, 2994, 3101, 3209, 3316, 3424, 3531, 3639, 3746, 3853, 3961, 4068, 4176, 4283, 4391, 4498, 4606, 4713, 4821, 4928, 5036, 5143, 5251, 5358, 5466, 5573, 5681, 5788, 5896, 6003, 6111, 6218, 6326, 6433, 6541, 6648, 6756, 6863, 6970, 7078, 7185, 7293, 7400]] - 攻击次数2 = 2 - # 基础3 = 2380.3 - # 成长3 = 268.7 - data2 = [int(i*1.098) for i in [0, 2648, 2917, 3186, 3454, 3723, 3992, 4260, 4529, 4798, 5067, 5335, 5604, 5873, 6141, 6410, 6679, 6947, 7216, 7485, 7754, 8022, 8291, 8560, 8828, 9097, 9366, 9634, 9903, 10172, 10441, 10709, 10978, 11247, 11515, 11784, 12053, 12322, 12590, 12859, 13128, 13396, 13665, 13934, 14202, 14471, 14740, 15009, 15277, 15546, 15815, 16083, 16352, 16621, 16890, 17158, 17427, 17696, 17964, 18233, 18502]] - 攻击次数3 = 1 - CD = 8.0 - TP成长 = 0.1 - TP上限 = 7 - - -class 技能4(主动技能): - 名称 = '致命回射' - 所在等级 = 30 - 等级上限 = 1 - 基础等级 = 1 - CD = 13.86 - - -class 技能5(职业主动技能): - 名称 = '乱射' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 441.11 - # 成长 = 49.89 - data0 = [int(i*1.2382) for i in [0, 491, 541, 591, 641, 691, 740, 790, 840, 890, 940, 990, 1040, 1090, 1139, 1189, 1239, 1289, 1339, 1389, 1439, 1489, 1538, 1588, 1638, 1688, 1738, 1788, 1838, 1888, 1937, 1987, 2037, 2087, 2137, 2187, 2237, 2287, 2336, 2386, 2436, 2486, 2536, 2586, 2636, 2686, 2735, 2785, 2835, 2885, 2935, 2985, 3035, 3084, 3134, 3184, 3234, 3284, 3334, 3384, 3434, 3483, 3533, 3583, 3633, 3683, 3733, 3783, 3833, 3882, 3932]] - 攻击次数 = 20 - CD = 17.6 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0 = [int(x*1.14) for x in self.data0] - # self.基础 *= 1.14 - # self.成长 *= 1.14 - self.攻击次数 = 22 - elif x == 1: - self.data0 = [int(x*(1.14+0.08)) for x in self.data0] - # self.基础 *= 1.14 + 0.08 - # self.成长 *= 1.14 + 0.08 - self.攻击次数 = 22 - - -class 技能6(职业主动技能): - 名称 = '移动射击' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - # 基础 = 404.3 - # 成长 = 45.7 - data0 = [int(i*1.2267) for i in [0, 450, 496, 542, 588, 633, 679, 725, 770, 816, 862, 908, 953, 999, 1045, 1091, 1136, 1182, 1228, 1274, 1319, 1365, 1411, 1456, 1502, 1548, 1594, 1639, 1685, 1731, 1777, 1822, 1868, 1914, 1960, 2005, 2051, 2097, 2142, 2188, 2234, 2280, 2325, 2371, 2417, 2463, 2508, 2554, 2600, 2646, 2691, 2737, 2783, 2829, 2874, 2920, 2966, 3011, 3057, 3103, 3149]] - 攻击次数 = 30 - CD = 24.3 - TP成长 = 0.10 - TP上限 = 7 - - -class 技能7(职业主动技能): - 名称 = '多重射击' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - # 基础 = 1998.3 - # 成长 = 225.7 - data0 = [int(i*1.2028) for i in [0, 2224, 2450, 2675, 2902, 3127, 3352, 3578, 3804, 4030, 4255, 4481, 4706, 4933, 5158, 5384, 5609, 5836, 6061, 6287, 6512, 6738, 6964, 7189, 7415, 7640, 7867, 8092, 8318, 8543, 8770, 8995, 9221, 9446, 9673, 9898, 10124, 10349, 10574, 10801, 11026, 11252, 11477, 11704, 11929, 12155, 12380, 12607, 12832, 13058, 13283, 13510, 13735, 13960, 14186, 14411, 14638, 14863, 15089, 15314, 15541]] - 攻击次数 = 5 - CD = 19.8 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.data0=[int(x*6.1) for x in self.data0] - # self.基础 *= 6.1 - # self.成长 *= 6.1 - self.攻击次数 = 1 - elif x == 1: - self.data0=[int(x*(6.1+0.45)) for x in self.data0] - # self.基础 *= 6.1 + 0.45 - # self.成长 *= 6.1 + 0.45 - self.攻击次数 = 1 - - -class 技能8(职业主动技能): - 名称 = '双鹰回旋' - 备注 = '(20/24/37 & 34/54)' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - # 基础 = 460.85 - # 成长 = 52.15 - # 基础2 = 531 - # 成长2 = 53.9 - # 基础3 = 558 - # 成长3 = 56.6 - data0 = [int(i*1.00) for i in [0, 513, 565, 618, 670, 722, 774, 826, 878, 930, 982, 1035, 1087, 1139, 1191, 1243, 1295, 1347, 1399, 1452, 1504, 1556, 1608, 1660, 1712, 1764, 1816, 1869, 1921, 1973, 2025, 2077, 2129, 2181, 2233, 2286, 2338, 2390, 2442, 2494, 2546, 2598, 2651, 2703, 2755, 2807, 2859, 2911, 2963, 3015, 3068, 3120, 3172, 3224, 3276, 3328, 3380, 3432, 3485, 3537, 3589, 3641, 3693, 3745, 3797, 3849, 3902, 3954, 4006, 4058, 4110]] - data1 = [int(i*1.00) for i in [0, 531, 585, 639, 693, 747, 800, 854, 908, 962, 1016, 1070, 1124, 1178, 1232, 1286, 1340, 1393, 1447, 1501, 1555, 1609, 1663, 1717, 1771, 1825, 1879, 1933, 1986, 2040, 2094, 2148, 2202, 2256, 2310, 2364, 2418, 2472, 2526, 2579, 2633, 2687, 2741, 2795, 2849, 2903, 2957, 3011, 3065, 3119, 3172, 3226, 3280, 3334, 3388, 3442, 3496, 3550, 3604, 3658, 3712, 3765, 3819, 3873, 3927, 3981, 4035, 4089, 4143, 4197, 4251]] - data2 = [int(i*1.00) for i in [0, 558, 614, 671, 728, 784, 841, 898, 954, 1011, 1067, 1124, 1181, 1237, 1294, 1351, 1407, 1464, 1520, 1577, 1634, 1690, 1747, 1804, 1860, 1917, 1974, 2030, 2087, 2143, 2200, 2257, 2313, 2370, 2427, 2483, 2540, 2596, 2653, 2710, 2766, 2823, 2880, 2936, 2993, 3050, 3106, 3163, 3219, 3276, 3333, 3389, 3446, 3503, 3559, 3616, 3672, 3729, 3786, 3842, 3899, 3956, 4012, 4069, 4126, 4182, 4239, 4295, 4352, 4409, 4465]] - 攻击次数 = 16 - 攻击次数2 = 18 - 攻击次数3 = 29 - 攻击间隔 = 1 - CD = 44.6 - TP成长 = 0.05 - TP基础 = 5 - TP上限 = 7 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - self.攻击次数 = int((self.攻击次数 + (4 / 5) * self.TP等级) / self.攻击间隔) - self.攻击次数2 = int((self.攻击次数2 + (6 / 5) * self.TP等级) / self.攻击间隔) - self.攻击次数3 = int((self.攻击次数3 + (8 / 5) * self.TP等级) / self.攻击间隔) - - return super().等效百分比(武器类型) - # if self.等级 == 0: - # return 0 - # else: - # return int((攻击次数 * (self.基础 + self.成长 * self.等级) + 攻击次数2 * ( - # self.基础2 + self.成长2 * self.等级) + 攻击次数3 * ( - # self.基础3 + self.成长3 * self.等级)) * (1 + self.TP成长 * self.TP等级) * self.倍率) - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.09 # COLG百科 - #self.攻击间隔 = 0.7 - #self.攻击次数 = 0 - #self.基础2 *= 1.08 - #self.成长2 *= 1.08 - elif x == 1: - self.倍率 *= 1.09 + 0.07 # COLG百科 - #self.攻击间隔 = 0.7 - #self.攻击次数 = 0 - #self.基础2 *= 1.08 - #self.成长2 *= 1.08 - - -class 技能9(被动技能): - 名称 = '死亡印记' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.065 + 0.02 * self.等级, 5) - - -class 技能10(职业主动技能): - 名称 = '疯狂屠戮' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - # 基础 = 456.4 - # 成长 = 155.3 - # 基础2 = 422.6 - # 成长2 = 127.7 - # 基础3 = 787.2 - # 成长3 = 214.4 - data0 = [int(i*1.2292) for i in [0, 551, 678, 805, 934, 1061, 1189, 1317, 1445, 1572, 1700, 1828, 1955, 2084, 2211, 2339, 2467, 2594, 2722, 2850, 2978, 3105, 3233, 3361, 3488, 3617, 3744, 3872, 4000, 4127, 4255, 4383, 4511, 4638, 4766, 4894, 5021, 5150, 5277, 5405, 5533]] - 攻击次数 = 70 - # data1 = [0, 0, 39, 155, 194, 233, 272, 310, 349, 388, 427, 466, 504, 543, 582, 621, 660, 698, 737, 776, 815, 854, 892, 931, 970, 1009, 1047, 1086, 1125, 1164, 1203, 1241, 1280, 1319, 1358, 1397, 1435, 1474, 1513, 1552, 1591] - # data2 = [0, 20, 20, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25] - # data3 = [0, 30, 30, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35] - data1 = [int(i*1.2292) for i in [0, 969, 1194, 1418, 1643, 1868, 2093, 2317, 2542, 2767, 2992, 3216, 3441, 3666, 3891, 4115, 4340, 4565, 4790, 5015, 5239, 5464, 5689, 5914, 6138, 6363, 6588, 6813, 7037, 7262, 7487, 7712, 7936, 8161, 8386, 8611, 8836, 9060, 9285, 9510, 9735]] - 攻击次数2 = 25 - # data5 = [0, -400, -374, -348, -322, -297, -193, -167, -141, -116, -90, -64, -38, -12, 14, 40, 65, 91, 117, 143, 169, 195, 220, 246, 272, 298, 324, 350, 376, 401, 427, 453, 479, 505, 531, 557, 582, 608, 634, 660, 686] - # data6 = [0, 14, 14, 14, 14, 14, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18] - # data7 = [0, 21, 21, 21, 21, 21, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25] - data2 = [int(i*1.2292) for i in [0, 669, 824, 980, 1135, 1290, 1445, 1601, 1756, 1911, 2066, 2222, 2377, 2532, 2687, 2843, 2998, 3153, 3308, 3464, 3619, 3774, 3929, 4085, 4240, 4395, 4550, 4706, 4861, 5016, 5171, 5327, 5482, 5637, 5792, 5948, 6103, 6258, 6414, 6569, 6724]] - 攻击次数3 = 3 - # 攻击次数 = 3 - # 攻击次数2 = 70 - # 攻击次数3 = 25 - CD = 145 - - -class 技能11(职业主动技能): - 名称 = '死亡突袭' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - # 基础 = 6046.3 - # 成长 = 682.7 - data0 = [int(i*1.2170) for i in [0, 6729, 7412, 8095, 8778, 9460, 10143, 10826, 11508, 12191, 12874, 13557, 14239, 14922, 15605, 16288, 16970, 17653, 18336, 19019, 19701, 20384, 21067, 21749, 22432, 23115, 23798, 24480, 25163, 25846, 26529, 27211, 27894, 28577, 29260, 29942, 30625, 31308, 31991, 32673, 33356]] - 攻击次数 = 3 - CD = 30.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.22 - self.CD *= 0.90 - elif x == 1: - self.倍率 *= 1.22 + 0.09 - self.CD *= 0.90 - - -class 技能12(职业主动技能): - 名称 = '压制射击' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - # 基础 = 1378.5 - # 成长 = 155.5 - # 基础2 = 3061.2 - # 成长2 = 345.8 - data0 = [int(i*1.2094) for i in [0, 1533, 1689, 1844, 2000, 2155, 2311, 2467, 2622, 2778, 2933, 3089, 3244, 3400, 3556, 3711, 3867, 4022, 4178, 4334, 4489, 4645, 4800, 4956, 5111, 5267, 5423, 5578, 5734, 5889, 6045, 6201, 6356, 6512, 6667, 6823, 6978, 7134, 7290, 7445, 7601]] - data1 = [int(i*1.2094) for i in [0, 3407, 3753, 4099, 4445, 4790, 5136, 5482, 5828, 6173, 6519, 6865, 7211, 7556, 7902, 8248, 8594, 8939, 9285, 9631, 9976, 10322, 10668, 11014, 11359, 11705, 12051, 12397, 12742, 13088, 13434, 13780, 14125, 14471, 14817, 15163, 15508, 15854, 16200, 16545, 16891]] - 攻击次数 = 20 - 攻击次数2 = 1 - CD = 50.0 - TP成长 = 0.10 - TP上限 = 7 - 是否有护石 = 1 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 24 - self.data1 =[int(x*1.52) for x in self.data1] - # self.基础2 *= 1.52 - # self.成长2 *= 1.52 - elif x == 1: - self.攻击次数 = 24 - self.data1 =[int(x*(1.52+0.9)) for x in self.data1] - # self.基础2 *= 1.52 + 0.9 - # self.成长2 *= 1.52 + 0.9 - - -class 技能13(被动技能): - 名称 = '射击掌握' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能2 = ['致命射击'] - 冷却关联技能 = ['致命回射'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.22 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round((1.305 + 0.045 * self.等级)/(1.22 + 0.02 * self.等级), 5) - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1 - 0.235 - 0.015 * self.等级, 3) - -class 技能14(职业主动技能): - 名称 = '疾风骤雨' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data0 = [int(i*1.2440) for i in [0, 2312, 2547, 2781, 3016, 3250, 3485, 3720, 3954, 4189, 4423, 4658, 4893, 5127, 5362, 5596, 5831, 6066, 6300, 6535, 6769, 7004, 7239, 7473, 7708, 7942, 8177, 8412, 8646, 8881, 9115, 9350, 9585, 9819, 10054, 10289, 10523, 10758, 10992, 11227, 11462]] - # 基础 = 2059.4/1.126*1.136 - # 成长 = 232.6/1.126*1.136 - 攻击次数 = 24 - CD = 40.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.36275 - - -class 技能15(职业主动技能): - 名称 = '抹杀' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - # 基础 = 6679.7 - # 成长 = 754.3 - data0 = [int(i*1.2529) for i in [0, 7434, 8188, 8942, 9697, 10451, 11205, 11959, 12713, 13468, 14222, 14976, 15730, 16485, 17239, 17993, 18747, 19501, 20256, 21010, 21764, 22518, 23272, 24027, 24781, 25535, 26289, 27044, 27798, 28552, 29306, 30060, 30815, 31569, 32323, 33077, 33831, 34586, 35340, 36094, 36848]] - 攻击次数 = 7 - CD = 45.0 - 是否有护石 = 1 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.3338 - - -class 技能16(职业主动技能): - 名称 = '第七翼动' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - # 基础 = 5112.2 - # 成长 = 1543.8 - # 基础2 = 28489.4 - # 成长2 = 8600.6 - data0 = [int(i*1.25) for i in [0, 6657, 8200, 9744, 11288, 12832, 14375, 15919, 17463, 19006, 20550, 22094, 23637, 25181, 26725, 28269, 29812, 31356, 32900, 34443, 35987, 37531, 39074, 40618, 42162, 43706, 45249, 46793, 48337, 49880, 51424, 52968, 54511, 56055, 57599, 59143, 60686, 62230, 63774, 65317, 66861]] - data1 = [int(i*1.25) for i in [0, 37090, 45690, 54291, 62892, 71492, 80093, 88693, 97294, 105895, 114495, 123096, 131697, 140297, 148898, 157498, 166099, 174700, 183300, 191901, 200501, 209102, 217703, 226303, 234904, 243505, 252105, 260706, 269306, 277907, 286508, 295108, 303709, 312310, 320910, 329511, 338111, 346712, 355313, 363913, 372514]] - 攻击次数 = 13 - 攻击次数2 = 1 - CD = 180 - - -class 技能17(被动技能): - 名称 = '卓尔不群' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能18(职业主动技能): - 名称 = '爆燃突击' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - # 基础 = 9325.5 - # 成长 = 1053.5 - # 基础2 = 37304.4 - # 成长2 = 4212.2 - data0 = [int(i*1.2150) for i in [0, 10379, 11432, 12486, 13539, 14592, 15645, 16698, 17751, 18804, 19857, 20910, 21963, 23016, 24069, 25122, 26175, 27228, 28281, 29334, 30387, 31440, 32493, 33546, 34599, 35652, 36705, 37758, 38811, 39865, 40918, 41971, 43024, 44077, 45130, 46183, 47236, 48289, 49342, 50395, 51448]] - data1 = [int(i*1.2150) for i in [0, 41519, 45731, 49944, 54156, 58368, 62580, 66792, 71004, 75217, 79429, 83641, 87853, 92065, 96277, 100489, 104702, 108914, 113126, 117338, 121550, 125762, 129975, 134187, 138399, 142611, 146823, 151035, 155247, 159460, 163672, 167884, 172096, 176308, 180520, 184733, 188945, 193157, 197369, 201581, 205793]] - 攻击次数 = 6 - 攻击次数2 = 1 - CD = 60 - - -class 技能19(职业主动技能): - 名称 = '鹰眸·致命危机' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - # 基础 = 271532 - # 成长 = 81964 - data0 = [int(i*1.2047) for i in [0, 2062, 2540, 3018, 3497, 3975, 4453, 4931, 5409, 5887, 6366, 6844, 7322, 7800, 8278, 8757, 9235, 9713, 10191, 10669, 11147, 11626, 12104, 12582, 13060, 13538, 14016, 14495, 14973, 15451, 15929, 16407, 16885, 17364, 17842, 18320, 18798, 19276, 19754, 20233, 20711]] - 攻击次数 = 60 - data1 = [int(i*1.2047) for i in [0, 10605, 13064, 15523, 17983, 20442, 22901, 25360, 27819, 30278, 32738, 35197, 37656, 40115, 42574, 45033, 47493, 49952, 52411, 54870, 57329, 59788, 62248, 64707, 67166, 69625, 72084, 74543, 77003, 79462, 81921, 84380, 86839, 89298, 91758, 94217, 96676, 99135, 101594, 104053, 106513]] - 攻击次数2 = 6 - data2 = [int(i*1.2047) for i in [0, 10605, 13064, 15523, 17983, 20442, 22901, 25360, 27819, 30278, 32738, 35197, 37656, 40115, 42574, 45033, 47493, 49952, 52411, 54870, 57329, 59788, 62248, 64707, 67166, 69625, 72084, 74543, 77003, 79462, 81921, 84380, 86839, 89298, 91758, 94217, 96676, 99135, 101594, 104053, 106513]] - 攻击次数3 = 4 - data3 = [int(i*1.2047) for i in [0, 35350, 43548, 51745, 59942, 68139, 76337, 84534, 92731, 100928, 109125, 117323, 125520, 133717, 141914, 150112, 158309, 166506, 174703, 182900, 191098, 199295, 207492, 215689, 223886, 232084, 240281, 248478, 256675, 264873, 273070, 281267, 289464, 297661, 305859, 314056, 322253, 330450, 338647, 346845, 355042]] - 攻击次数4 = 1 - data4 = [int(i*1.2047) for i in [0, 53026, 65322, 77617, 89913, 102209, 114505, 126801, 139096, 151392, 163688, 175984, 188280, 200576, 212871, 225167, 237463, 249759, 262055, 274350, 286646, 298942, 311238, 323534, 335830, 348125, 360421, 372717, 385013, 397309, 409605, 421900, 434196, 446492, 458788, 471084, 483380, 495675, 507971, 520267, 532563]] - 攻击次数5 = 1 - data5 = [int(i*1.2047) for i in [0, 3535, 4355, 5174, 5994, 6814, 7634, 8453, 9273, 10093, 10913, 11732, 12552, 13372, 14191, 15011, 15831, 16651, 17470, 18290, 19110, 19929, 20749, 21569, 22389, 23208, 24028, 24848, 25668, 26487, 27307, 28127, 28946, 29766, 30586, 31406, 32225, 33045, 33865, 34684, 35504]] - 攻击次数6 = 10 - - CD = 290 - - def 加成倍率(self, 武器类型): - return 0.0 - - -class 技能20(职业主动技能): - 名称 = '烟尘弹' - 所在等级 = 10 - 等级上限 = 60 - 基础等级 = 48 - data0 = [int(i*1.00) for i in [0, 381, 420, 458, 497, 536, 574, 613, 651, 690, 729, 767, 806, 845, 883, 922, 961, 999, 1038, 1077, 1115, 1154, 1193, 1231, 1270, 1308, 1347, 1386, 1424, 1463, 1502, 1540, 1579, 1618, 1656, 1695, 1734, 1772, 1811, 1850, 1888, 1927, 1965, 2004, 2043, 2081, 2120, 2159, 2197, 2236, 2275, 2313, 2352, 2391, 2429, 2468, 2506, 2545, 2584, 2622, 2661]] - 攻击次数 = 6 - CD = 6 - TP成长 = 0.08 - TP上限 = 7 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -重霄·漫游枪手·男一觉序号 = 0 -重霄·漫游枪手·男二觉序号 = 0 -重霄·漫游枪手·男三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 重霄·漫游枪手·男一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 重霄·漫游枪手·男二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 重霄·漫游枪手·男三觉序号 = 技能序号[i.名称] - -重霄·漫游枪手·男护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 重霄·漫游枪手·男护石选项.append(i.名称) - -重霄·漫游枪手·男符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 重霄·漫游枪手·男符文选项.append(i.名称) - - -class 重霄·漫游枪手·男角色属性(角色属性): - - 实际名称 = '重霄·漫游枪手·男' - 角色 = '神枪手(男)' - 职业 = '漫游枪手' - - 武器选项 = ['左轮枪'] - - 类型选择 = ['物理百分比'] - - # 默认 - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.25 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['致命回射']].基础 = self.技能栏[self.技能序号['致命射击']].等效百分比( - self.武器类型)*1.5 - self.技能栏[self.技能序号['致命回射']].被动倍率 = self.技能栏[self.技能序号['致命射击']].被动倍率 - - -class 重霄·漫游枪手·男(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 重霄·漫游枪手·男角色属性() - self.角色属性A = 重霄·漫游枪手·男角色属性() - self.角色属性B = 重霄·漫游枪手·男角色属性() - self.一觉序号 = 重霄·漫游枪手·男一觉序号 - self.二觉序号 = 重霄·漫游枪手·男二觉序号 - self.三觉序号 = 重霄·漫游枪手·男三觉序号 - self.护石选项 = deepcopy(重霄·漫游枪手·男护石选项) - self.符文选项 = deepcopy(重霄·漫游枪手·男符文选项) diff --git a/Characters/隐夜·刺客.py b/Characters/隐夜·刺客.py deleted file mode 100644 index 99f240f9..00000000 --- a/Characters/隐夜·刺客.py +++ /dev/null @@ -1,680 +0,0 @@ -from PublicReference.carry.base import * - -class 主动技能(主动技能): - 收招倍率 = 0 - 收招倍率2 = 0 - 收招倍率3 = 0 - - -class 技能0(主动技能): - 名称 = '终结追击' - 所在等级 = 15 - 等级上限 = 30 - 基础等级 = 20 - 是否有伤害 = 0 - - def 终结追击倍率(self): - if self.等级 == 0: - return 0.0 - else: - return round(0.79 + 0.02 * self.等级, 5) - - -class 技能1(被动技能): - 名称 = '武器精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - data1 = [0, 36, 53, 70, 87, 104, 121, 138, 155, 172, 189, 206, 223, 240, 257, 274, 291, 308, 325, 342, 359, 387, 415, 443, 471, 499, 527, 555, 583, 611, 639, 667, 695, 723, 751, 779, 807, 835, - 863, 891, 919, 947, 975, 1003, 1031, 1059, 1087, 1115, 1143, 1171, 1199, 1227, 1255, 1283, 1311, 1339, 1367, 1395, 1423, 1451, 1479, 1507, 1535, 1563, 1591, 1619, 1647, 1675, 1703, 1731, 1759] - data2 = [0, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52, 55, 58, 61, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 100, 103, 106, 109, 112, 115, 118, - 121, 124, 127, 130, 133, 136, 139, 142, 145, 148, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 181, 184, 187, 190, 193, 196, 199, 202, 205, 208, 211, 214, 217] - data3 = [0, 22, 23, 25, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57, 59, 60, 61, 62, - 63, 65, 66, 67, 68, 69, 71, 72, 73, 74, 75, 77, 78, 79, 80, 82, 83, 84, 85, 86, 88, 89, 90, 91, 92, 94, 95, 96, 97, 98, 100, 101, 102, 103, 104, 106] - - def 加成倍率(self, 武器类型): - return round(1 + self.data1[self.等级] / 1000, 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - 冷却关联技能 = ['所有'] - - def CD缩减倍率(self, 武器类型): - if self.等级 == 0 or 武器类型 != '匕首': - return 1.0 - else: - return round(1 - self.data2[self.等级] / 1000, 5) - - def 终结追击倍率(self): - if self.等级 == 0: - return 1.0 - else: - return round(1 + self.data3[self.等级] / 100, 5) - - -class 技能2(被动技能): - 名称 = '月弧' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.095 + 0.02 * self.等级, 5) - - -class 技能3(被动技能): - 名称 = '极限追击' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.08 + 0.02 * self.等级, 5) - - def 物理攻击力倍率进图(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能4(主动技能): - 名称 = '双刃穿刺' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data = [0, 536, 589, 644, 698, 753, 806, 861, 916, 970, 1024, 1078, 1133, 1188, 1241, 1296, 1350, 1405, 1458, 1513, 1568, 1621, 1676, 1730, 1786, 1838, 1893, 1949, 2003, 2056, 2111, 2166, 2221, 2274, 2329, 2383, 2438, 2491, 2546, 2601, 2655, 2709, 2763, 2818, 2872, 2926, 2981, 3035, 3090, 3143, 3198, 3252, 3306, 3361, 3415, 3470, 3523, 3578, 3632, 3688, 3740, 3796, 3851, 3905, 3959, 4014, 4068, 4123, 4176, 4231, 4285] - # hit = 1 - data1 = [0, 803, 884, 966, 1047, 1128, 1210, 1291, 1375, 1456, 1537, 1619, 1700, 1781, 1863, 1944, 2025, 2108, 2189, 2271, 2352, 2433, 2515, 2596, 2677, 2759, 2841, 2922, 3004, 3085, 3166, 3249, 3330, 3412, 3493, 3575, 3657, 3738, 3819, 3901, 3982, 4064, 4145, 4226, 4309, 4390, 4471, 4553, 4634, 4715, 4797, 4878, 4959, 5043, 5124, 5206, 5287, 5368, 5450, 5531, 5612, 5694, 5776, 5858, 5939, 6020, 6102, 6183, 6264, 6346, 6427] - # hit = 1 - data2 = [0, 1071, 1179, 1289, 1397, 1506, 1614, 1723, 1831, 1941, 2049, 2158, 2266, 2375, 2483, 2594, 2700, 2811, 2919, 3028, 3136, 3245, 3354, 3463, 3571, 3680, 3788, 3897, 4005, 4115, 4223, 4333, 4441, 4550, 4658, 4768, 4876, 4985, 5093, 5202, 5310, 5420, 5528, 5637, 5745, 5855, 5962, 6073, 6181, 6290, 6398, 6507, 6615, 6724, 6833, 6942, 7050, 7159, 7267, 7376, 7484, 7595, 7703, 7812, 7920, 8029, 8137, 8247, 8355, 8464, 8572] - # hit = 1 - data3 = [0, 481, 531, 580, 629, 677, 726, 775, 824, 873, 921, 970, 1019, 1068, 1117, 1165, 1215, 1264, 1313, 1362, 1411, 1459, 1508, 1557, 1606, 1655, 1703, 1753, 1802, 1851, 1901, 1950, 1999, 2047, 2096, 2145, 2194, 2243, 2291, 2340, 2389, 2438, 2487, 2535, 2585, 2634, 2683, 2732, 2781, 2829, 2878, 2927, 2976, 3025, 3073, 3122, 3171, 3220, 3271, 3320, 3369, 3417, 3466, 3515, 3564, 3613, 3661, 3710, 3759, 3808, 3857] - # hit = 1 - 收招倍率 = 1 - TP成长 = 0.1 - TP上限 = 5 - CD = 7.0 - 演出时间 = 0.2 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级]+self.data1[self.等级]+self.data2[self.等级]) * self.攻击次数 + self.data3[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.187 - - -class 技能5(主动技能): - 名称 = '绝杀斩' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data = [0, 2202, 2425, 2648, 2872, 3096, 3320, 3543, 3765, 3989, 4213, 4437, 4660, 4884, 5107, 5330, 5554, 5778, 6001, 6224, 6448, 6671, 6895, 7118, 7341, 7565, 7789, 8012, 8236, 8458, 8682, 8906, 9130, 9354, 9575, 9799, 10023, 10247, 10471, 10695, 10916, 11140, 11364, 11588, 11812, 12033, 12257, 12481, 12705, 12929, 13153, 13374, 13598, 13822, 14046, 14270, 14492, 14715, 14939, 15163, 15387, 15611, 15833, 16056, 16280, 16504, 16728, 16950, 17174, 17397, 17621] - data1 = [0, 67, 72, 78, 86, 92, 99, 106, 113, 118, 126, 132, 140, 146, 153, 160, 165, 172, 179, 186, 192, 200, 205, 214, 219, 227, 233, 240, 247, 254, 259, 266, 273, 279, 287, 293, 301, 307, 313, 320, 327, 333, 341, 347, 352, 360, 366, 374, 380, 387, 394, 401, 406, 414, 420, 428, 434, 442, 448, 453, 461, 467, 474, 481, 488, 494, 502, 507, 515, 521, 528] - data2 = [0, 125, 137, 148, 162, 174, 188, 200, 214, 225, 239, 250, 263, 277, 288, 302, 313, 327, 340, 351, 365, 377, 390, 403, 416, 428, 440, 453, 465, 479, 491, 504, 517, 528, 542, 554, 567, 580, 594, 605, 619, 630, 643, 657, 668, 682, 693, 707, 720, 731, 745, 757, 770, 782, 796, 808, 820, 833, 845, 859, 871, 884, 897, 908, 922, 934, 947, 960, 974, 985, 999] - 收招倍率 = 1 - TP成长 = 0.1 - TP上限 = 5 - CD = 7.0 - 演出时间 = 0.2 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数 + (self.data1[self.等级] + self.data2[self.等级] * 3) * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.187 - - -class 技能6(主动技能): - 名称 = '旋舞斩' - 所在等级 = 20 - 等级上限 = 60 - 基础等级 = 43 - data = [0, 2086, 2299, 2510, 2722, 2933, 3145, 3357, 3568, 3781, 3992, 4204, 4416, 4627, 4839, 5050, 5262, 5475, 5686, 5898, 6109, 6321, 6533, 6744, 6957, 7168, 7380, 7592, 7803, 8015, 8226, 8438, 8651, 8862, 9074, 9285, 9497, 9709, 9920, 10133, 10344, 10556, 10768, 10979, 11191, 11405, 11616, 11828, 12040, 12251, 12463, 12674, 12887, 13099, 13310, 13522, 13733, 13945, 14157, 14368, 14581, 14792, 15004, 15216, 15427, 15639, 15850, 16063, 16275, 16486, 16698] - data1 = [0, 418, 459, 501, 544, 586, 629, 671, 713, 756, 798, 841, 883, 926, 967, 1009, 1052, 1094, 1137, 1179, 1222, 1264, 1306, 1349, 1391, 1434, 1476, 1517, 1560, 1602, 1645, 1687, 1730, 1772, 1815, 1857, 1899, 1942, 1984, 2026, 2068, 2110, 2153, 2195, 2238, 2280, 2323, 2365, 2408, 2450, 2492, 2535, 2576, 2619, 2661, 2703, 2746, 2788, 2831, 2873, 2916, 2958, 3001, 3043, 3084, 3127, 3169, 3212, 3254, 3296, 3339] - 收招倍率2 = 1 - TP成长 = 0.1 - TP上限 = 5 - CD = 7.0 - 演出时间 = 0.1 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数 + self.data1[self.等级] * self.收招倍率2) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.187 - - -class 技能7(主动技能): - 名称 = '旋刃' - 所在等级 = 25 - 等级上限 = 60 - 基础等级 = 41 - data = [0, 239, 265, 289, 313, 338, 361, 387, 411, 435, 461, 485, 509, 533, 557, 583, 607, 630, 655, 679, 705, 729, 753, 777, 802, 827, 851, 875, 899, 924, 949, 973, 997, 1023, 1046, 1070, 1095, 1120, 1145, 1169, 1192, 1217, 1242, 1267, 1291, 1314, 1339, 1364, 1389, 1413, 1437, 1462, 1486, 1510, 1535, 1560, 1584, 1608, 1632, 1657, 1682, 1707, 1730, 1754, 1779, 1804, 1829, 1853, 1876, 1902, 1926] - data1 = [0, 331, 365, 398, 432, 464, 498, 533, 567, 600, 633, 666, 700, 735, 769, 802, 835, 868, 902, 936, 971, 1003, 1037, 1070, 1104, 1138, 1170, 1205, 1239, 1272, 1306, 1339, 1372, 1407, 1441, 1474, 1508, 1541, 1574, 1608, 1643, 1676, 1709, 1743, 1776, 1810, 1844, 1878, 1911, 1945, 1978, 2012, 2045, 2079, 2113, 2147, 2180, 2214, 2247, 2280, 2315, 2349, 2382, 2415, 2449, 2482, 2517, 2551, 2584, 2617, 2651] - data2 = [0, 452, 497, 543, 589, 635, 679, 727, 773, 817, 864, 909, 956, 1001, 1047, 1093, 1139, 1185, 1231, 1277, 1321, 1368, 1413, 1459, 1506, 1551, 1598, 1643, 1689, 1735, 1781, 1826, 1873, 1919, 1963, 2010, 2055, 2101, 2147, 2193, 2240, 2285, 2331, 2377, 2423, 2467, 2514, 2559, 2605, 2652, 2697, 2743, 2789, 2835, 2880, 2927, 2972, 3019, 3065, 3109, 3156, 3201, 3247, 3293, 3339, 3385, 3431, 3477, 3522, 3569, 3613] - data3 = [0, 204, 225, 246, 267, 288, 309, 330, 349, 370, 391, 412, 433, 454, 475, 496, 517, 536, 557, 578, 599, 620, 641, 662, 683, 704, 724, 744, 765, 786, 807, 828, 849, 870, 890, 911, 932, 953, 974, 995, 1015, 1036, 1057, 1077, 1098, 1119, 1140, 1161, 1181, 1202, 1223, 1243, 1264, 1285, 1306, 1327, 1348, 1368, 1389, 1409, 1430, 1451, 1472, 1493, 1514, 1534, 1555, 1575, 1596, 1617, 1638] - 收招倍率 = 1 - TP成长 = 0.1 - TP上限 = 5 - CD = 8.0 - 演出时间 = 0.2 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] * 3 + self.data1[self.等级] * 3 + self.data2[self.等级] * 3) * self.攻击次数 + self.data3[self.等级] * 3 * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.164 - - -class 技能8(主动技能): - 名称 = '剑刃风暴' - 所在等级 = 30 - 等级上限 = 60 - 基础等级 = 38 - data = [0, 448, 495, 539, 585, 630, 676, 722, 768, 813, 858, 903, 950, 995, 1040, 1086, 1131, 1176, 1223, 1268, 1314, 1359, 1404, 1451, 1496, 1541, 1587, 1632, 1679, 1724, 1769, 1815, 1860, 1905, 1952, 1997, 2042, 2088, 2133, 2179, 2225, 2270, 2316, 2360, 2407, 2453, 2498, 2543, 2589, 2633, 2680, 2726, 2771, 2816, 2862, 2907, 2954, 2999, 3044, 3090, 3136, 3180, 3227, 3272, 3317, 3363, 3409, 3455, 3500, 3545, 3591] - data1 = [0, 898, 987, 1079, 1171, 1260, 1352, 1444, 1536, 1625, 1717, 1809, 1898, 1990, 2082, 2172, 2263, 2354, 2447, 2536, 2627, 2720, 2810, 2900, 2993, 3083, 3174, 3266, 3357, 3447, 3540, 3630, 3720, 3813, 3903, 3993, 4086, 4177, 4268, 4359, 4450, 4542, 4632, 4723, 4814, 4905, 4996, 5087, 5180, 5269, 5360, 5453, 5542, 5633, 5726, 5815, 5906, 5999, 6090, 6179, 6272, 6363, 6452, 6545, 6636, 6726, 6818, 6909, 7001, 7092, 7182] - 旋转次数 = 8 - 收招倍率 = 1 - CD = 12.0 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.5 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.旋转次数 * self.攻击次数 + self.data1[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.163 - - -class 技能9(主动技能): - 名称 = '螺旋穿刺' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [0, 657, 725, 792, 859, 925, 994, 1059, 1126, 1192, 1261, 1327, 1394, 1459, 1527, 1594, 1661, 1727, 1795, 1863, 1928, 1994, 2062, 2130, 2196, 2264, 2329, 2396, 2463, 2531, 2597, 2664, 2730, 2798, 2864, 2931, 3000, 3066, 3133, 3198, 3264, 3333, 3400, 3466, 3534, 3600, 3667, 3733, 3801, 3868, 3935, 4003, 4068, 4134, 4202, 4270, 4336, 4403, 4469, 4535, 4603, 4670, 4737, 4805, 4870, 4937, 5003, 5072, 5138, 5205, 5273] - data1 = [0, 2306, 2541, 2774, 3007, 3242, 3475, 3709, 3944, 4178, 4412, 4645, 4880, 5114, 5348, 5583, 5817, 6051, 6285, 6519, 6752, 6987, 7220, 7453, 7687, 7922, 8156, 8390, 8625, 8859, 9091, 9327, 9560, 9794, 10028, 10263, 10497, 10731, 10965, 11199, 11433, 11668, 11899, 12133, 12367, 12602, 12836, 13070, 13305, 13539, 13772, 14007, 14241, 14475, 14710, 14944, 15178, 15410, 15645, 15879, 16113, 16348, 16580, 16814, 17049, 17283, 17517, 17752, 17986, 18218, 18452] - data2 = [0, 1384, 1523, 1665, 1804, 1945, 2085, 2226, 2366, 2507, 2647, 2787, 2928, 3067, 3208, 3350, 3489, 3631, 3770, 3911, 4051, 4192, 4332, 4473, 4613, 4753, 4894, 5034, 5174, 5315, 5455, 5597, 5736, 5877, 6016, 6158, 6297, 6439, 6579, 6719, 6860, 7000, 7140, 7280, 7420, 7563, 7701, 7842, 7981, 8123, 8262, 8403, 8545, 8684, 8824, 8965, 9105, 9246, 9386, 9527, 9667, 9808, 9947, 10089, 10228, 10369, 10511, 10650, 10792, 10931, 11072] - 收招倍率 = 1 - 旋转次数 = 1 - 旋转倍率 = 1 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - # if x == 0: - # self.旋转倍率 = 2.25 - # elif x == 1: - # self.旋转倍率 = 2.91 - if x == 0: - self.旋转倍率 = (1-0.5)*1.25*3 - elif x == 1: - self.旋转倍率 = (1-0.5)*1.47*3 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] * self.旋转次数 * self.旋转倍率 + self.data[self.等级]+ self.data1[self.等级]) * self.攻击次数 + self.data2[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.167 - - -class 技能10(主动技能): - 名称 = '雷光刃影' - 所在等级 = 35 - 等级上限 = 60 - 基础等级 = 36 - data = [0, 4565, 5030, 5493, 5955, 6418, 6883, 7346, 7809, 8272, 8736, 9199, 9662, 10125, 10589, 11052, 11515, 11978, 12442, 12905, 13368, 13831, 14295, 14758, 15221, 15684, 16148, 16611, 17074, 17537, 18001, 18464, 18927, 19390, 19855, 20318, - 20780, 21243, 21708, 22171, 22634, 23097, 23560, 24024, 24487, 24950, 25413, 25877, 26340, 26803, 27266, 27730, 28193, 28656, 29119, 29583, 30046, 30509, 30972, 31436, 31899, 32362, 32825, 33289, 33752, 34215, 34678, 35143, 35605, 36068, 36531] - data1 = [0, 3044, 3353, 3661, 3970, 4279, 4588, 4897, 5206, 5514, 5823, 6132, 6442, 6750, 7059, 7367, 7676, 7985, 8295, 8603, 8912, 9221, 9529, 9838, 10148, 10456, 10765, 11074, 11382, 11691, 12001, 12310, 12618, 12927, 13236, 13544, 13854, - 14163, 14471, 14780, 15089, 15397, 15706, 16016, 16324, 16633, 16942, 17250, 17559, 17869, 18178, 18486, 18795, 19104, 19412, 19722, 20031, 20339, 20648, 20957, 21265, 21575, 21884, 22193, 22501, 22810, 23118, 23428, 23737, 24046, 24354] - data2 = [0, 1521, 1676, 1830, 1984, 2139, 2294, 2449, 2603, 2757, 2912, 3066, 3220, 3374, 3529, 3683, 3837, 3992, 4147, 4302, 4456, 4610, 4765, 4919, 5073, 5228, 5382, 5536, 5691, 5845, 6000, 6155, 6309, 6463, 6618, 6772, 6926, - 7081, 7235, 7389, 7544, 7698, 7852, 8008, 8162, 8317, 8471, 8625, 8780, 8934, 9088, 9242, 9397, 9551, 9705, 9861, 10015, 10170, 10324, 10478, 10633, 10787, 10941, 11096, 11250, 11404, 11559, 11714, 11868, 12023, 12177] - 收招倍率 = 1 - CD = 15.0 - TP成长 = 0.1 - TP上限 = 5 - 演出时间 = 0.3 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] + self.data1[self.等级]) * self.攻击次数 + self.data2[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.058 - - -class 技能11(主动技能): - 名称 = '疾风乱舞' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data = [0, 687, 756, 826, 896, 965, 1035, 1106, 1175, 1244, 1315, 1384, 1453, 1524, 1593, 1663, 1733, 1803, 1872, 1941, 2011, 2081, 2150, 2221, 2291, 2360, 2430, 2499, 2569, 2639, 2708, 2778, 2849, 2918, 2987, 3058, 3127, 3196, 3266, 3337, 3406, 3476, 3546, 3615, 3684, 3754, 3825, 3894, 3964, 4033, 4103, 4173, 4242, 4313, 4383, 4452, 4521, 4592, 4661, 4730, 4800, 4871, 4940, 5010, 5080, 5149, 5219, 5288, 5359, 5429, 5498] - data1 = [0, 684, 753, 823, 893, 962, 1031, 1100, 1170, 1239, 1308, 1378, 1447, 1516, 1586, 1655, 1725, 1794, 1864, 1933, 2002, 2073, 2142, 2211, 2281, 2350, 2420, 2490, 2559, 2628, 2697, 2767, 2836, 2905, 2975, 3044, 3113, 3183, 3253, 3322, 3392, 3461, 3530, 3599, 3669, 3738, 3807, 3877, 3946, 4015, 4085, 4156, 4225, 4295, 4364, 4433, 4502, 4572, 4641, 4710, 4780, 4850, 4919, 4989, 5058, 5127, 5196, 5266, 5335, 5404, 5474] - data2 = [0, 1230, 1355, 1479, 1603, 1728, 1853, 1978, 2102, 2228, 2353, 2477, 2602, 2727, 2852, 2976, 3102, 3227, 3351, 3476, 3600, 3725, 3849, 3974, 4100, 4224, 4349, 4474, 4599, 4723, 4848, 4974, 5098, 5223, 5348, 5473, 5597, 5721, 5846, 5970, 6096, 6221, 6346, 6470, 6595, 6720, 6846, 6970, 7095, 7220, 7344, 7469, 7594, 7719, 7842, 7968, 8093, 8217, 8342, 8467, 8592, 8716, 8841, 8967, 9091, 9216, 9341, 9466, 9590, 9715, 9841] - data3 = [0, 2305, 2539, 2772, 3006, 3240, 3473, 3708, 3942, 4176, 4408, 4642, 4876, 5111, 5343, 5578, 5812, 6045, 6279, 6513, 6747, 6980, 7215, 7449, 7683, 7916, 8150, 8384, 8617, 8852, 9086, 9320, 9553, 9787, 10021, 10255, 10488, 10723, 10957, 11190, 11424, 11658, 11892, 12124, 12360, 12594, 12828, 13060, 13294, 13528, 13761, 13995, 14230, 14464, 14697, 14931, 15165, 15399, 15632, 15867, 16101, 16335, 16568, 16802, 17036, 17269, 17504, 17738, 17972, 18205, 18439] - 收招倍率 = 1 - CD = 25.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 乱舞数 = 11 - 分身乱舞数 = 4 - 演出时间 = 0.6 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.分身乱舞数 *= 2.1 - self.收招倍率 *= 1.08 - self.CD *= 0.9 - elif x == 1: - self.分身乱舞数 *= 2.88 - self.收招倍率 *= 1.08 - self.CD *= 0.9 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级]*self.乱舞数 + self.data1[self.等级] * self.分身乱舞数 + self.data2[self.等级]) * self.攻击次数 + self.data3[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.11 - - -class 技能12(主动技能): - 名称 = '绝命瞬狱杀' - 所在等级 = 45 - 等级上限 = 60 - 基础等级 = 31 - data = [0, 1809, 1991, 2176, 2359, 2541, 2726, 2909, 3093, 3276, 3461, 3643, 3827, 4010, 4194, 4377, 4560, 4744, 4928, 5111, 5294, 5479, 5661, 5846, 6029, 6211, 6396, 6579, 6763, 6946, 7130, 7313, 7497, 7681, 7864, 8047, 8230, 8414, 8598, 8781, 8964, 9149, 9331, 9516, 9699, 9881, 10066, 10250, 10433, 10616, 10800, 10983, 11167, 11351, 11534, 11717, 11902, 12084, 12267, 12452, 12634, 12819, 13001, 13186, 13369, 13552, 13736, 13920, 14102, 14286, 14470] - data1 = [0, 2712, 2988, 3262, 3539, 3814, 4089, 4364, 4640, 4914, 5190, 5465, 5739, 6015, 6291, 6567, 6841, 7117, 7391, 7667, 7942, 8218, 8492, 8768, 9044, 9319, 9594, 9870, 10144, 10420, 10695, 10970, 11245, 11521, 11795, 12072, 12347, 12621, 12897, 13172, 13447, 13722, 13998, 14272, 14548, 14824, 15100, 15374, 15650, 15925, 16200, 16475, 16751, 17025, 17301, 17577, 17852, 18127, 18403, 18677, 18952, 19228, 19502, 19778, 20053, 20328, 20604, 20880, 21154, 21430, 21705] - data2 = [0, 3617, 3984, 4350, 4718, 5085, 5452, 5820, 6186, 6553, 6921, 7287, 7653, 8020, 8388, 8755, 9122, 9490, 9856, 10223, 10591, 10958, 11323, 11691, 12058, 12425, 12792, 13160, 13526, 13893, 14261, 14628, 14993, 15361, 15728, 16095, 16462, 16829, 17196, 17563, 17931, 18298, 18663, 19031, 19398, 19765, 20133, 20499, 20866, 21233, 21601, 21968, 22333, 22701, 23068, 23435, 23803, 24169, 24536, 24904, 25271, 25638, 26003, 26372, 26738, 27105, 27473, 27839, 28206, 28574, 28941] - data3 = [0, 4521, 4981, 5439, 5898, 6356, 6815, 7274, 7733, 8191, 8651, 9109, 9568, 10026, 10485, 10944, 11403, 11861, 12321, 12779, 13238, 13696, 14155, 14614, 15073, 15532, 15991, 16449, 16908, 17366, 17826, 18284, 18743, 19202, 19661, 20119, 20577, 21036, 21496, 21954, 22414, 22872, 23331, 23789, 24247, 24706, 25165, 25624, 26084, 26542, 27000, 27459, 27917, 28377, 28835, 29294, 29753, 30212, 30670, 31129, 31587, 32047, 32505, 32965, 33423, 33882, 34340, 34799, 35257, 35717, 36175] - data4 = [0, 2532, 2788, 3045, 3302, 3559, 3816, 4073, 4330, 4587, 4844, 5101, 5358, 5614, 5871, 6128, 6384, 6641, 6900, 7157, 7413, 7670, 7927, 8184, 8441, 8697, 8954, 9211, 9468, 9725, 9982, 10239, 10496, 10753, 11010, 11267, 11523, 11780, 12037, 12294, 12550, 12807, 13064, 13321, 13578, 13835, 14093, 14350, 14605, 14862, 15120, 15377, 15634, 15891, 16148, 16405, 16662, 16919, 17176, 17433, 17689, 17946, 18203, 18460, 18716, 18973, 19230, 19487, 19744, 20001, 20258] - 收招倍率 = 1 - CD = 45.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = 0.6 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.收招倍率 *= 1.4805 - elif x == 1: - self.收招倍率 *= 1.6356 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] + self.data1[self.等级] + self.data2[self.等级] + self.data3[self.等级]) * self.攻击次数 + self.data4[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.166 - - -class 技能13(主动技能): - 名称 = '月轮舞' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 基础 = 40326 - 成长 = 12177 - data = [0, 12381, 15252, 18124, 20994, 23866, 26739, 29609, 32479, 35350, 38223, 41094, 43965, 46837, 49709, 52579, 55450, 58322, 61192, 64065, 66937, 69807, 72677, 75548, 78421, 81292, 84163, 87035, 89907, 92777, 95648, 98520, 101390, 104263, 107135, 110005, 112875, 115746, 118619, 121490, 124361] - 攻击次数 = 5 - 演出时间 = 0.6 - CD = 145 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * self.倍率 * 1.205 - - def 等效CD(self, 武器类型, 输出类型): - if 武器类型 == '双剑': - return round(self.CD / self.恢复, 1) - else: - return round(self.CD / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - - -class 技能14(主动技能): - 名称 = '旋刃冲击' - 所在等级 = 60 - 等级上限 = 40 - 基础等级 = 23 - data = [0, 479, 528, 576, 625, 673, 723, 772, 820, 869, 917, 966, 1014, 1064, 1112, 1161, 1209, 1258, 1306, 1355, 1404, 1453, 1502, 1550, 1599, 1647, 1696, 1745, 1794, 1842, 1891, 1939, 1988, 2036, 2085, 2134, 2183, 2231, 2280, 2328, 2377, 2426, 2475, 2524, 2572, 2621, 2669, 2718, 2766, 2816, 2864, 2913, 2961, 3010, 3058, 3107, 3157, 3205, 3254, 3302, 3351, 3399, 3448, 3497, 3546, 3594, 3643, 3691, 3740, 3788, 3838] - data1 = [0, 537, 591, 646, 700, 754, 810, 864, 918, 973, 1027, 1081, 1135, 1192, 1246, 1301, 1355, 1409, 1463, 1518, 1573, 1627, 1682, 1736, 1790, 1845, 1899, 1954, 2009, 2063, 2117, 2171, 2227, 2281, 2335, 2391, 2445, 2499, 2554, 2608, 2662, 2717, 2772, 2826, 2881, 2935, 2989, 3043, 3098, 3154, 3209, 3263, 3317, 3371, 3426, 3480, 3535, 3590, 3644, 3698, 3753, 3807, 3861, 3917, 3971, 4025, 4079, 4135, 4189, 4243, 4299] - 攻击次数 = 29 - 收招倍率 = 5 - 收招倍率3 = 0 - CD = 30.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 35 - self.收招倍率 *= 0.2 - self.收招倍率3 = 30 - self.CD *= 0.89 - elif x == 1: - self.攻击次数 = 37.45 - self.收招倍率 *= 0.214 - self.收招倍率3 = 32.1 - self.CD *= 0.89 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数 + self.data1[self.等级] * self.收招倍率 + self.data[self.等级] * self.收招倍率3) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.257 - - -class 技能15(主动技能): - 名称 = '陨落螺旋刺' - 所在等级 = 70 - 等级上限 = 40 - 基础等级 = 18 - data = [0, 2273, 2504, 2734, 2965, 3194, 3426, 3657, 3886, 4118, 4349, 4578, 4810, 5040, 5270, 5501, 5732, 5962, 6193, 6424, 6654, 6884, 7116, 7346, 7576, 7808, 8039, 8268, 8499, 8731, 8960, 9191, 9423, 9652, 9883, 10115, 10344, 10575, 10804, 11036, 11267, 11497, 11728, 11959, 12189, 12420, 12651, 12881, 13112, 13343, 13573, 13803, 14035, 14265, 14495, 14726, 14957, 15187, 15418, 15649, 15880, 16109, 16341, 16570, 16801, 17033, 17262, 17493, 17725, 17955, 18185] - data1 = [0, 15911, 17527, 19141, 20756, 22369, 23983, 25598, 27212, 28828, 30442, 32056, 33670, 35284, 36898, 38513, 40126, 41742, 43356, 44971, 46584, 48199, 49813, 51428, 53041, 54657, 56271, 57886, 59499, 61114, 62728, 64343, 65956, 67572, 69186, 70801, 72414, 74029, 75643, 77256, 78872, 80487, 82101, 83714, 85329, 86943, 88558, 90171, 91787, 93401, 95016, 96629, 98244, 99858, 101472, 103086, 104702, 106316, 107930, 109544, 111159, 112773, 114387, 116001, 117617, 119231, 120845, 122459, 124074, 125687, 127301] - data2 = [0, 4546, 5008, 5468, 5930, 6391, 6852, 7313, 7775, 8236, 8696, 9158, 9620, 10080, 10542, 11002, 11465, 11926, 12386, 12849, 13309, 13770, 14233, 14693, 15154, 15617, 16077, 16538, 16999, 17461, 17923, 18383, 18844, 19306, 19767, 20228, 20688, 21151, 21611, 22073, 22535, 22995, 23457, 23917, 24379, 24841, 25301, 25764, 26225, 26685, 27148, 27608, 28069, 28531, 28992, 29453, 29914, 30375, 30837, 31298, 31759, 32219, 32682, 33143, 33603, 34066, 34526, 34987, 35450, 35910, 36372] - 倍率1 = 1 - 倍率2 = 1 - 收招倍率 = 1 - CD = 50.0 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - 演出时间 = -0.6 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率1 = 0 - self.倍率2 = 2.04 - elif x == 1: - self.倍率1 = 0 - self.倍率2 = 2.27 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] * 3 * self.倍率1 + self.data1[self.等级] * self.倍率2) * self.攻击次数 + self.data2[self.等级] * self.收招倍率) * self.倍率 * (1 + self.TP成长 * self.TP等级) * 1.166 - - -class 技能16(主动技能): - 名称 = '乱空杀' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - data = [0, 2645, 3066, 3489, 3911, 4332, 4755, 5176, 5598, 6020, 6442, 6863, 7286, 7708, 8129, 8552, 8973, 9395, 9815, 10237, 10659, 11081, 11502, 11925, 12347, 12768, 13191, 13612, 14034, 14456, 14878, 15299, 15722, 16144, 16565, 16988, 17409, 17831, 18254, 18675, 19097] - data1 = [0, 10583, 12270, 13959, 15646, 17333, 19019, 20706, 22395, 24082, 25769, 27457, 29142, 30831, 32518, 34205, 35893, 37581, 39267, 40954, 42642, 44329, 46017, 47705, 49392, 51078, 52765, 54453, 56141, 57828, 59515, 61201, 62889, 64577, 66264, 67951, 69640, 71325, 73013, 74700, 76389] - data2 = [0, 5291, 6135, 6979, 7822, 8666, 9508, 10353, 11197, 12040, 12884, 13728, 14571, 15415, 16259, 17103, 17947, 18791, 19633, 20476, 21320, 22164, 23007, 23851, 24696, 25539, 26383, 27227, 28070, 28914, 29758, 30600, 31443, 32287, 33132, 33975, 34819, 35663, 36506, 37350, 38194] - 收招倍率 = 1 - CD = 30.0 - 是否有护石 = 1 - 演出时间 = 0.2 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.17 - self.收招倍率 *= 1.17 - self.CD *= 0.89 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] * 6 + self.data1[self.等级]) * self.攻击次数 + self.data2[self.等级] * self.收招倍率) * self.倍率 * 1.187 - - -class 技能17(主动技能): - 名称 = '月影突袭' - 所在等级 = 80 - 等级上限 = 40 - 基础等级 = 13 - data = [0, 3861, 4254, 4646, 5037, 5429, 5820, 6212, 6605, 6996, 7388, 7780, 8172, 8562, 8954, 9347, 9739, 10131, 10522, 10914, 11306, 11699, 12091, 12481, 12873, 13265, 13657, 14048, 14441, 14833, 15225, 15616, 16007, 16399, 16792, 17184, 17576, 17967, 18358, 18750, 19142] - data1 = [0, 7723, 8508, 9291, 10075, 10858, 11642, 12425, 13210, 13993, 14776, 15560, 16344, 17127, 17910, 18695, 19479, 20261, 21046, 21829, 22613, 23397, 24180, 24964, 25746, 26531, 27314, 28098, 28883, 29665, 30449, 31233, 32017, 32799, 33584, 34368, 35150, 35935, 36718, 37502, 38284] - 收招倍率 = 1 - CD = 50.0 - 演出时间 = 0.6 - 是否有护石 = 1 - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 *= 1.35 - self.收招倍率 *= 1.35 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * 10 * self.攻击次数 + self.data1[self.等级] * self.收招倍率) * self.倍率 * 1.256 - - -class 技能18(主动技能): - 名称 = '天渊星狱' - 所在等级 = 85 - 等级上限 = 40 - 基础等级 = 5 - data = [0, 346, 426, 506, 586, 667, 747, 828, 907, 988, 1068, 1149, 1229, 1309, 1390, 1471, 1550, 1631, 1711, 1792, 1872, 1951, 2032, 2114, 2193, 2273, 2353, 2434, 2515, 2594, 2675, 2755, 2836, 2915, 2996, 3076, 3157, 3237, 3318, 3397, 3479, 3558, 3638, 3719, 3798, 3880, 3959, 4040, 4120, 4201, 4281, 4362, 4441, 4523, 4602, 4683, 4763, 4843, 4924, 5004, 5084, 5163, 5245, 5326, 5405, 5485, 5566, 5646, 5727, 5806, 5887] - data1 = [0, 80008, 98560, 117113, 135666, 154217, 172770, 191323, 209875, 228428, 246980, 265534, 284087, 302638, 321191, 339744, 358296, 376849, 395403, 413955, 432508, 451059, 469612, 488165, 506717, 525270, 543823, 562374, 580928, 599480, 618033, 636586, 655138, 673691, 692244, 710795, 729348, 747900, 766454, 785007, 803559, 822112, 840665, 859216, 877769, 896323, 914875, 933428, 951980, 970532, 989085, 1007637, 1026190, 1044743, 1063296, 1081849, 1100400, 1118953, 1137506, 1156058, 1174611, 1193164, 1211716, 1230270, 1248820, 1267374, 1285927, 1304479, 1323032, 1341585, 1360136] - data2 = [0, 16624, 20480, 24335, 28189, 32045, 35899, 39754, 43610, 47465, 51320, 55176, 59030, 62885, 66741, 70596, 74451, 78307, 82162, 86016, 89870, 93726, 97581, 101435, 105291, 109146, 113001, 116857, 120712, 124567, 128422, 132277, 136132, 139988, 143843, 147696, 151551, 155407, 159262, 163118, 166973, 170827, 174683, 178538, 182393, 186249, 190104, 193959, 197814, 201669, 205524, 209378, 213233, 217088, 220943, 224799, 228654, 232509, 236365, 240219, 244074, 247930, 251785, 255640, 259496, 263350, 267205, 271060, 274915, 278770, 282624] - 收招倍率 = 1 - CD = 180 - 演出时间 = 3 - - def 等效百分比(self, 武器类型): - return ((self.data[self.等级] * 8 + self.data1[self.等级]) * self.攻击次数 + self.data2[self.等级] * self.收招倍率) * self.倍率 * 1.187 - - -class 技能19(被动技能): - 名称 = '死亡风暴' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 22 - 关联技能 = ['无'] - data = [0, 419, 462, 505, 550, 592, 636, 679, 722, 767, 810, 854, 896, 940, 984, 1026, 1069, 1113, 1155, 1199, 1243, 1287, 1329, 1373, 1416, 1461, 1505, 1546, 1589, 1632, 1675, 1720, 1764, 1806, 1850, 1893, 1938, 1980, 2024, 2067, 2109, 2152, 2197, 2239, 2283, 2326, 2370, 2415, 2457, 2501, 2544, 2587, 2629, 2674, 2716, 2760, 2803, 2847, 2892, 2934, 2978, 3021, 3064, 3108, 3152, 3193, 3237, 3280, 3324, 3367, 3411] - 匕首数量 = 30 - 倍率 = 1 - - def 额外百分比(self): - return self.data[self.等级] * self.匕首数量 * self.倍率 * 1.247 - - -class 技能20(被动技能): - 名称 = '绝命时刻' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = '幻灭瞬杀' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 6 - data0 = [0, 13675, 15062, 16449, 17837, 19224, 20611, 21999, 23386, 24773, 26161, 27548, 28935, 30323, 31710, 33097, 34485, 35872, 37259, 38647, 40034, 41422, 42809, 44196, 45584, 46971, 48358, 49746, 51133, 52520, 53908, 55295, 56682, 58070, 59457, 60844, 62232, 63619, 65006, 66394, 67781] - 攻击次数 = 5 - data1 = [0, 13675, 15062, 16449, 17837, 19224, 20611, 21999, 23386, 24773, 26161, 27548, 28935, 30323, 31710, 33097, 34485, 35872, 37259, 38647, 40034, 41422, 42809, 44196, 45584, 46971, 48358, 49746, 51133, 52520, 53908, 55295, 56682, 58070, 59457, 60844, 62232, 63619, 65006, 66394, 67781] - 收招倍率 = 1 - CD = 60 - 演出时间 = 0.5 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.收招倍率) * self.倍率 * 1.167 - - -class 技能22(主动技能): - 名称 = '影·万古星辰' - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - data0 = [0, 16509, 20338, 24166, 27994, 31823, 35651, 39479, 43308, 47136, 50964, 54793, 58621, 62450, 66278, 70106, 73935, 77763, 81591, 85420, 89248, 93076, 96905, 100733, 104561, 108390, 112218, 116046, 119875, 123703, 127532, 131360, 135188, 139017, 142845, 146673, 150502, 154330, 158158, 161987, 165815] - 攻击次数 = 13 - data1 = [0, 42925, 52879, 62832, 72786, 82740, 92694, 102647, 112601, 122555, 132508, 142462, 152416, 162370, 172323, 182277, 192231, 202184, 212138, 222092, 232046, 241999, 251953, 261907, 271860, 281814, 291768, 301722, 311675, 321629, 331583, 341536, 351490, 361444, 371398, 381351, 391305, 401259, 411212, 421166, 431120] - 收招倍率 = 1 - CD = 290 - 演出时间 = 6 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级]* self.攻击次数 + self.data1[self.等级] * self.收招倍率) * self.倍率 * 1.189 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - - 实际名称 = '隐夜·刺客' - 角色 = '暗夜使者' - 职业 = '刺客' - - 武器选项 = ['匕首', '双剑'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 1.77 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - for i in self.技能栏: - if i.是否有伤害 == 1: - i.收招倍率 *= self.技能栏[0].终结追击倍率() - i.收招倍率2 *= self.技能栏[0].终结追击倍率() - if self.武器类型 == '双剑': - for i in self.技能栏: - if i.是否有伤害 == 1: - i.收招倍率 *= self.技能栏[1].终结追击倍率() * 3.25 - i.收招倍率2 *= self.技能栏[1].终结追击倍率() - if self.装备栏[11] == '血色舞会': - i.收招倍率 *= 1.4 - i.收招倍率2 *= 1.4 - if self.装备栏[11] == '一叶障目': - self.技能栏[self.技能序号['死亡风暴']].倍率 *= 1+0.32*self.技能伤害增加增幅 - if self.武器类型 == '匕首': - for i in self.技能栏: - if i.是否有伤害 == 1: - i.收招倍率 *= 4.25 - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 死亡风暴伤害 - if 技能总伤害[self.技能序号['剑刃风暴']] != 0: - 技能释放次数[self.技能序号['死亡风暴']] = 1 - 技能总伤害[self.技能序号['死亡风暴']] = 技能总伤害[self.技能序号['剑刃风暴']] * \ - self.技能栏[self.技能序号['死亡风暴']].额外百分比( - ) / self.技能栏[self.技能序号['剑刃风暴']].等效百分比(self.武器类型) - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 隐夜·刺客(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 界面(self): - super().界面() - self.收招选择 = [] - count = 0 - for i in self.初始属性.技能栏: - if i.是否有伤害 == 1: - if i.收招倍率 != 0: - self.收招选择.append(QCheckBox(i.名称 + '-收招', self.main_frame2)) - self.收招选择[count].resize(120, 20) - self.收招选择[count].move( - 335 + 135 * int(count / 7), 440 + 26 * (count % 7)) - self.收招选择[count].setStyleSheet(复选框样式) - self.收招选择[count].setChecked(True) - count += 1 - - self.旋舞斩收招次数 = MyQComboBox(self.main_frame2) - for i in range(8): - self.旋舞斩收招次数.addItem('旋舞斩收招次数:'+str(i)) - self.旋舞斩收招次数.resize(170, 20) - self.旋舞斩收招次数.move(600, 470) - self.旋舞斩收招次数.setToolTip('匕首最高7次,双剑最高6次') - - self.剑刃风暴旋转次数 = MyQComboBox(self.main_frame2) - for i in range(1, 11): - self.剑刃风暴旋转次数.addItem('剑刃风暴旋转次数:'+str(i)) - self.剑刃风暴旋转次数.resize(170, 20) - self.剑刃风暴旋转次数.move(600, 498) - self.剑刃风暴旋转次数.setToolTip('旋转次数最高10次') - self.剑刃风暴旋转次数.setCurrentIndex(8) - - self.螺旋穿刺旋转次数 = MyQComboBox(self.main_frame2) - for i in range(7): - self.螺旋穿刺旋转次数.addItem('螺旋穿刺旋转次数:'+str(i)) - self.螺旋穿刺旋转次数.resize(170, 20) - self.螺旋穿刺旋转次数.move(600, 526) - self.螺旋穿刺旋转次数.setToolTip('旋转次数最高6次,护石旋转次数为3倍') - - self.死亡风暴攻击次数 = MyQComboBox(self.main_frame2) - for i in range(1, 31): - self.死亡风暴攻击次数.addItem('死亡风暴攻击次数:'+str(i)) - self.死亡风暴攻击次数.resize(170, 20) - self.死亡风暴攻击次数.move(600, 554) - self.死亡风暴攻击次数.setToolTip('最高30次') - self.死亡风暴攻击次数.setCurrentIndex(27) - - self.职业存档.append(('旋舞斩收招次数', self.旋舞斩收招次数, 1)) - self.职业存档.append(('剑刃风暴旋转次数', self.剑刃风暴旋转次数, 1)) - self.职业存档.append(('螺旋穿刺旋转次数', self.螺旋穿刺旋转次数, 1)) - self.职业存档.append(('死亡风暴攻击次数', self.死亡风暴攻击次数, 1)) - num = 0 - for item in self.收招选择: - self.职业存档.append(('收招选择-{}'.format(num), item, 0)) - num += 1 - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - count = 0 - for i in 属性.技能栏: - if i.是否有伤害 == 1: - if i.收招倍率 != 0: - if not self.收招选择[count].isChecked(): - i.收招倍率 = 0 - i.收招倍率3 = 0 - count += 1 - - 属性.技能栏[属性.技能序号['旋舞斩']].收招倍率2 = self.旋舞斩收招次数.currentIndex() - 属性.技能栏[属性.技能序号['剑刃风暴']].旋转次数 = self.剑刃风暴旋转次数.currentIndex() + 1 - 属性.技能栏[属性.技能序号['螺旋穿刺']].旋转次数 = self.螺旋穿刺旋转次数.currentIndex() - 属性.技能栏[属性.技能序号['死亡风暴']].匕首数量 = self.死亡风暴攻击次数.currentIndex() + 1 diff --git a/Characters/隐夜·影舞者.py b/Characters/隐夜·影舞者.py deleted file mode 100644 index 2d4ec4e8..00000000 --- a/Characters/隐夜·影舞者.py +++ /dev/null @@ -1,579 +0,0 @@ -from PublicReference.carry.base import * - -等级 = 100 + 5 - -class 技能0(主动技能): - 名称 = '天诛' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.149*1.085) for i in [0, 492, 552, 615, 674, 733, 791, 851, 912, 971, 1029, 1091, 1149, 1211, 1271, 1327, 1391, 1449, 1505, 1568, 1626, 1687, 1746, 1806, 1867, 1923, 1982, 2046, 2102, 2163, 2223, 2282, 2343, 2401, 2461, 2521, 2582, 2642, 2699, 2758, 2821, 2878, 2940, 2998, 3055, 3119, 3179, 3235, 3295, 3354, 3418, 3475, 3534, 3595, 3654, 3713, 3773, 3830, 3894, 3954, 4010, 4071, 4131, 4193, 4250, 4309, 4370, 4427, 4487, 4550, 4607]] - 攻击次数1 = 2 - data2 = [int(i*1.149*1.085) for i in [0, 2060, 2309, 2559, 2809, 3051, 3303, 3550, 3802, 4048, 4298, 4543, 4794, 5043, 5289, 5538, 5788, 6036, 6286, 6529, 6781, 7028, 7281, 7525, 7776, 8022, 8274, 8520, 8768, 9018, 9268, 9519, 9761, 10014, 10260, 10512, 10758, 11007, 11253, 11503, 11753, 12001, 12248, 12500, 12746, 12996, 13242, 13492, 13740, 13987, 14236, 14486, 14734, 14984, 15230, 15480, 15729, 15979, 16221, 16473, 16723, 16972, 17222, 17467, 17717, 17966, 18217, 18459, 18711, 18958, 19210]] - 攻击次数2 = 1 - CD = 7 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(主动技能): - 名称 = '割喉' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.149*1.085) for i in [0, 1728, 1904, 2079, 2256, 2432, 2605, 2783, 2955, 3133, 3310, 3483, 3659, 3835, 4010, 4185, 4360, 4537, 4714, 4887, 5062, 5238, 5413, 5589, 5767, 5941, 6116, 6290, 6469, 6645, 6817, 6993, 7170, 7345, 7521, 7694, 7869, 8047, 8222, 8398, 8571, 8748, 8924, 9102, 9275, 9450, 9625, 9802, 9978, 10153, 10329, 10503, 10679, 10856, 11032, 11205, 11381, 11556, 11732, 11906, 12083, 12258, 12433, 12612, 12784, 12959, 13135, 13312, 13489, 13661, 13836]] - 攻击次数1 = 1 - data2 = [int(i*1.149*1.085) for i in [0, 864, 952, 1041, 1129, 1217, 1304, 1390, 1479, 1568, 1654, 1741, 1830, 1918, 2005, 2093, 2181, 2267, 2356, 2445, 2530, 2617, 2707, 2795, 2882, 2970, 3057, 3145, 3233, 3323, 3408, 3496, 3584, 3672, 3761, 3849, 3936, 4024, 4111, 4200, 4285, 4376, 4460, 4550, 4639, 4725, 4812, 4899, 4988, 5077, 5163, 5252, 5339, 5427, 5516, 5603, 5691, 5779, 5867, 5953, 6043, 6129, 6217, 6304, 6393, 6480, 6569, 6655, 6743, 6831, 6919]] - 攻击次数2 = 1 - CD = 6 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(被动技能): - 名称 = '暗杀教义' - 所在等级 = 15 - 等级上限 = 20 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.185 + 0.015 * self.等级, 5) - - -class 技能3(主动技能): - 名称 = '夺魂' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.149*1.085) for i in [0, 1638, 1805, 1971, 2138, 2304, 2470, 2636, 2802, 2970, 3137, 3301, 3467, 3635, 3800, 3966, 4134, 4299, 4466, 4632, 4797, 4965, 5132, 5296, 5463, 5631, 5794, 5962, 6128, 6294, 6461, 6628, 6796, 6960, 7126, 7293, 7458, 7626, 7793, 7957, 8123, 8292, 8457, 8623, 8791, 8955, 9122, 9289, 9454, 9621, 9788, 9952, 10121, 10287, 10451, 10618, 10785, 10951, 11118, 11282, 11447, 11616, 11782, 11950, 12117, 12282, 12449, 12613, 12780, 12948, 13114]] - 攻击次数 = 1 - CD = 3 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - -class 技能4(被动技能): - 名称 = '暗杀之匕首精通' - 所在等级 = 20 - 等级上限 = 30 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 20: - return round(1.0 + 0.015 * self.等级, 5) - else: - return round(1.3 + 0.025 * (self.等级 - 20), 5) - - def 物理攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能5(主动技能): - 名称 = '穿心' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.138*1.085) for i in [0, 2764, 3044, 3327, 3608, 3888, 4170, 4448, 4729, 5010, 5290, 5572, 5852, 6132, 6411, 6694, 6973, 7255, 7534, 7814, 8101, 8378, 8659, 8939, 9221, 9500, 9781, 10060, 10342, 10625, 10904, 11183, 11464, 11744, 12023, 12307, 12588, 12865, 13147, 13426, 13709, 13990, 14271, 14555, 14833, 15113, 15393, 15675, 15952, 16237, 16514, 16796, 17077, 17356, 17639, 17918, 18198, 18477, 18761, 19040, 19320, 19605, 19883, 20165, 20445, 20725, 21006, 21285, 21566, 21847, 22129]] - 攻击次数1 = 1 - data2 = [int(i*1.138*1.085) for i in [0, 1381, 1523, 1664, 1803, 1944, 2085, 2225, 2364, 2505, 2644, 2784, 2927, 3067, 3207, 3347, 3489, 3628, 3766, 3909, 4049, 4188, 4329, 4471, 4610, 4750, 4892, 5031, 5170, 5312, 5449, 5592, 5732, 5875, 6014, 6154, 6294, 6433, 6574, 6714, 6852, 6996, 7136, 7276, 7415, 7556, 7697, 7835, 7977, 8118, 8260, 8398, 8540, 8679, 8818, 8959, 9099, 9238, 9379, 9521, 9660, 9801, 9944, 10083, 10220, 10363, 10503, 10643, 10782, 10924, 11066]] - 攻击次数2 = 1 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能6(主动技能): - 名称 = '追命' - 备注 = '背击' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.149*1.085) for i in [0, 3467, 3817, 4171, 4523, 4874, 5223, 5577, 5928, 6279, 6631, 6984, 7335, 7686, 8039, 8392, 8739, 9092, 9443, 9799, 10150, 10502, 10854, 11204, 11558, 11907, 12259, 12611, 12962, 13314, 13665, 14020, 14369, 14722, 15075, 15423, 15775, 16128, 16481, 16832, 17184, 17535, 17888, 18240, 18591, 18945, 19294, 19646, 19995, 20347, 20702, 21051, 21407, 21754, 22108, 22458, 22810, 23164, 23515, 23867, 24218, 24570, 24920, 25272, 25624, 25976, 26329, 26679, 27032, 27384, 27735]] - 攻击次数 = 1 - # 背击时增加50% - 倍率 = 1.5 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能7(主动技能): - 名称 = '潜影刺击' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.113*1.085) for i in [0, 1099, 1211, 1323, 1432, 1546, 1658, 1768, 1879, 1992, 2102, 2215, 2326, 2437, 2549, 2660, 2770, 2883, 2997, 3106, 3217, 3331, 3441, 3553, 3667, 3778, 3888, 4000, 4112, 4223, 4335, 4447, 4558, 4670, 4781, 4891, 5004, 5118, 5227, 5338, 5452, 5561, 5672, 5786, 5896, 6009, 6120, 6232, 6343, 6456, 6565, 6679, 6790, 6900, 7012, 7124, 7235, 7347, 7459, 7570, 7682, 7793, 7903, 8016, 8130, 8241, 8351, 8464, 8577, 8685, 8798]] - 攻击次数1 = 2 - data2 = [int(i*1.113*1.085) for i in [0, 5278, 5815, 6348, 6884, 7422, 7958, 8490, 9030, 9566, 10101, 10636, 11172, 11709, 12242, 12778, 13315, 13851, 14385, 14921, 15457, 15994, 16527, 17063, 17600, 18133, 18670, 19206, 19742, 20277, 20812, 21348, 21885, 22420, 22957, 23493, 24029, 24563, 25099, 25635, 26169, 26705, 27242, 27778, 28311, 28848, 29384, 29922, 30454, 30990, 31528, 32061, 32596, 33135, 33670, 34204, 34741, 35277, 35815, 36348, 36884, 37421, 37957, 38491, 39027, 39563, 40098, 40633, 41170, 41706, 42240]] - 攻击次数2 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '刃舞' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.141*1.085) for i in [0, 263, 290, 320, 346, 374, 401, 426, 453, 483, 506, 535, 558, 587, 615, 643, 669, 696, 720, 749, 775, 804, 831, 858, 883, 911, 939, 963, 992, 1019, 1044, 1072, 1100, 1124, 1154, 1179, 1206, 1232, 1261, 1284, 1315, 1343, 1368, 1396, 1421, 1447, 1476, 1503, 1529, 1557, 1584, 1609, 1635, 1665, 1689, 1718, 1744, 1770, 1798, 1826, 1852, 1878, 1907, 1932, 1962, 1987, 2014, 2041, 2067, 2092, 2121]] - 攻击次数1 = 2 - data2 = [int(i*1.141*1.085) for i in [0, 4507, 4964, 5422, 5879, 6336, 6793, 7251, 7705, 8162, 8619, 9075, 9533, 9992, 10449, 10905, 11363, 11820, 12277, 12733, 13193, 13650, 14107, 14563, 15021, 15481, 15934, 16391, 16850, 17307, 17763, 18222, 18679, 19135, 19591, 20048, 20507, 20965, 21421, 21878, 22336, 22793, 23249, 23706, 24165, 24621, 25076, 25535, 25990, 26448, 26907, 27364, 27820, 28277, 28736, 29193, 29651, 30108, 30565, 31023, 31476, 31934, 32394, 32852, 33307, 33764, 34221, 34678, 35135, 35595, 36052]] - 攻击次数2 = 1 - CD = 15 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 *= 2 * 0.62 * 1.16 - self.攻击次数2 = 1 - elif x == 1: - self.攻击次数1 *= 2 * (0.62 * 1.3) - self.攻击次数2 *= 1.26 - - -class 技能9(主动技能): - 名称 = '影戮' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.141*1.085) for i in [0, 1813, 2001, 2179, 2365, 2552, 2737, 2916, 3101, 3286, 3468, 3654, 3837, 4024, 4204, 4388, 4574, 4758, 4939, 5124, 5310, 5492, 5677, 5863, 6049, 6227, 6412, 6597, 6783, 6962, 7147, 7333, 7519, 7700, 7887, 8072, 8251, 8435, 8620, 8807, 8985, 9171, 9357, 9542, 9721, 9910, 10095, 10274, 10458, 10645, 10830, 11011, 11196, 11380, 11566, 11744, 11932, 12117, 12297, 12481, 12669, 12853, 13035, 13219, 13405, 13592, 13771, 13955, 14141, 14320, 14505]] - 攻击次数1 = 4 - data2 = [int(i*1.141*1.085) for i in [0, 6517, 7182, 7841, 8504, 9164, 9827, 10486, 11150, 11811, 12469, 13132, 13793, 14458, 15116, 15779, 16441, 17098, 17760, 18425, 19084, 19746, 20407, 21069, 21729, 22392, 23055, 23717, 24375, 25036, 25701, 26360, 27022, 27684, 28341, 29005, 29666, 30329, 30989, 31651, 32312, 32971, 33634, 34298, 34960, 35617, 36279, 36942, 37601, 38264, 38927, 39588, 40248, 40909, 41571, 42232, 42893, 43555, 44216, 44877, 45538, 46203, 46862, 47525, 48185, 48847, 49508, 50170, 50831, 51490, 52153]] - 攻击次数2 = 1 - CD = 25 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = (4 + 3) * 0.74 * 1.13 - self.攻击次数2 = 1 - elif x == 1: - self.攻击次数1 = (4 + 3) * 0.74 * 1.26 - self.攻击次数2 = 1 - - -class 技能10(主动技能): - 名称 = '瞬杀' - 备注 = '背击' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.151*1.085) for i in [0, 23662, 26063, 28464, 30865, 33268, 35666, 38070, 40468, 42870, 45269, 47672, 50074, 52472, 54872, 57273, 59674, 62075, 64476, 66877, 69273, 71676, 74078, 76478, 78882, 81280, 83679, 86082, 88481, 90883, 93283, 95687, 98084, 100488, 102887, 105288, 107690, 110090, 112491, 114887, 117290, 119691, 122091, 124494, 126895, 129292, 131695, 134095, 136497, 138897, 141300, 143697, 146103, 148501, 150900, 153304, 155703, 158100, 160502, 162905, 165306, 167706, 170109, 172509, 174907, 177308, 179708, 182108, 184511, 186909, 189311]] - 攻击次数 = 1 - CD = 45 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.2 - elif x == 1: - self.倍率 *= 1.2 + 0.09 - - -class 技能11(被动技能): - 名称 = '暗杀之心' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - if self.等级 <= 20: - return round(1.03 + 0.02 * self.等级, 5) - else: - return round(1.43 + 0.021 * (self.等级 - 20), 5) - - -class 技能12(主动技能): - 名称 = '影斩·乱舞' - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - data1 = [int(i*1.147*1.085) for i in [0, 1423, 1751, 2082, 2410, 2741, 3070, 3401, 3731, 4060, 4389, 4718, 5049, 5380, 5709, 6039, 6367, 6698, 7028, 7358, 7688, 8016, 8346, 8675, 9006, 9337, 9666, 9996, 10324, 10654, 10985, 11315, 11645, 11973, 12303, 12633, 12963, 13294, 13624, 13952, 14281, 14611, 14942, 15271, 15602, 15932, 16261, 16590, 16920, 17250, 17581, 17909, 18240, 18568, 18899, 19230, 19559, 19888, 20218, 20549, 20877, 21207, 21538, 21866, 22197, 22528, 22856, 23186, 23516, 23845, 24175]] - 攻击次数1 = 21 - data2 = [int(i*1.147*1.085) for i in [0, 22347, 27529, 32710, 37892, 43076, 48256, 53440, 58620, 63804, 68986, 74167, 79350, 84531, 89713, 94896, 100077, 105258, 110442, 115623, 120805, 125987, 131170, 136351, 141533, 146715, 151897, 157081, 162261, 167444, 172627, 177808, 182991, 188172, 193354, 198537, 203718, 208899, 214083, 219264, 224445, 229628, 234809, 239992, 245174, 250355, 255538, 260720, 265902, 271085, 276265, 281449, 286631, 291813, 296993, 302178, 307359, 312540, 317723, 322905, 328086, 333269, 338450, 343632, 348815, 353996, 359179, 364361, 369542, 374725, 379906]] - # LV3级效果 - 攻击次数2 = 1.1 - CD = 145 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(主动技能): - 名称 = '绝命飞刃' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.142*1.085) for i in [0, 1445, 1592, 1737, 1886, 2032, 2180, 2324, 2469, 2617, 2765, 2909, 3057, 3203, 3350, 3495, 3643, 3793, 3936, 4085, 4229, 4378, 4523, 4670, 4815, 4963, 5109, 5257, 5403, 5549, 5697, 5845, 5989, 6136, 6284, 6428, 6577, 6720, 6868, 7016, 7161, 7308, 7455, 7601, 7749, 7895, 8040, 8188, 8335, 8482, 8627, 8771, 8921, 9067, 9213, 9359, 9507, 9654, 9800, 9945, 10097, 10240, 10384, 10532, 10681, 10828, 10974, 11120, 11267, 11412, 11560]] - 攻击次数1 = 1 - data2 = [int(i*1.142*1.085) for i in [0, 5781, 6367, 6951, 7540, 8123, 8712, 9298, 9883, 10469, 11055, 11641, 12227, 12815, 13403, 13990, 14575, 15161, 15747, 16332, 16918, 17506, 18093, 18678, 19264, 19849, 20437, 21024, 21610, 22198, 22785, 23369, 23956, 24541, 25127, 25716, 26301, 26890, 27473, 28059, 28645, 29232, 29818, 30405, 30990, 31581, 32164, 32751, 33336, 33924, 34510, 35095, 35681, 36268, 36853, 37440, 38027, 38614, 39202, 39785, 40374, 40960, 41545, 42131, 42719, 43305, 43890, 44476, 45061, 45651, 46236]] - 攻击次数2 = 1 - data3 = [int(i*1.142*1.085) for i in [0, 11560, 12731, 13905, 15076, 16250, 17423, 18594, 19765, 20939, 22113, 23283, 24459, 25631, 26804, 27975, 29150, 30321, 31496, 32667, 33840, 35012, 36183, 37355, 38530, 39704, 40872, 42046, 43222, 44393, 45564, 46739, 47909, 49085, 50256, 51430, 52601, 53772, 54947, 56121, 57293, 58464, 59637, 60808, 61983, 63156, 64330, 65499, 66674, 67847, 69021, 70191, 71363, 72537, 73708, 74883, 76054, 77229, 78400, 79572, 80746, 81922, 83089, 84264, 85436, 86607, 87782, 88955, 90126, 91297, 92472]] - 攻击次数3 = 1 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数3 = 1 * 1.44 - elif x == 1: - self.攻击次数3 = 1 * (1.44 + 0.14) - - -class 技能14(主动技能): - 名称 = '八荒影杀' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.14*1.085) for i in [0, 2554, 2813, 3073, 3334, 3593, 3852, 4110, 4371, 4630, 4890, 5147, 5404, 5666, 5924, 6186, 6443, 6701, 6962, 7222, 7481, 7739, 7998, 8257, 8517, 8778, 9035, 9296, 9554, 9814, 10074, 10332, 10590, 10851, 11108, 11372, 11629, 11889, 12147, 12407, 12666, 12922, 13183, 13443, 13702, 13961, 14219, 14481, 14740, 14999, 15258, 15516, 15775, 16035, 16296, 16552, 16813, 17072, 17333, 17591, 17852, 18107, 18368, 18627, 18887, 19145, 19405, 19665, 19924, 20185, 20443]] - 攻击次数1 = 1 - data2 = [int(i*1.14*1.085) for i in [0, 2554, 2813, 3073, 3334, 3593, 3852, 4110, 4371, 4630, 4890, 5147, 5404, 5666, 5924, 6186, 6443, 6701, 6962, 7222, 7481, 7739, 7998, 8257, 8517, 8778, 9035, 9296, 9554, 9814, 10074, 10332, 10590, 10851, 11108, 11372, 11629, 11889, 12147, 12407, 12666, 12922, 13183, 13443, 13702, 13961, 14219, 14481, 14740, 14999, 15258, 15516, 15775, 16035, 16296, 16552, 16813, 17072, 17333, 17591, 17852, 18107, 18368, 18627, 18887, 19145, 19405, 19665, 19924, 20185, 20443]] - 攻击次数2 = 8 - data3 = [int(i*1.14*1.085) for i in [0, 10221, 11257, 12296, 13329, 14368, 15407, 16441, 17479, 18516, 19553, 20591, 21625, 22664, 23700, 24735, 25775, 26811, 27847, 28885, 29920, 30959, 31995, 33032, 34069, 35109, 36143, 37181, 38218, 39253, 40292, 41331, 42365, 43403, 44437, 45476, 46515, 47548, 48587, 49623, 50660, 51697, 52733, 53772, 54808, 55845, 56883, 57916, 58955, 59992, 61028, 62066, 63103, 64139, 65175, 66214, 67251, 68287, 69325, 70361, 71400, 72435, 73473, 74510, 75543, 76582, 77621, 78657, 79693, 80729, 81766]] - 攻击次数3 = 1 - CD = 45.0 - 攻击倍率 = 1.11 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 1 * 2.46 - self.攻击次数2 = (8 - 1) * 1.476 # bug - self.攻击次数3 = 1 * 1.23 - elif x == 1: - self.攻击次数1 = 1 * (2.46 + 0.15) - self.攻击次数2 = (8 - 1) * (1.23 + 0.09) * 1.2 # 1.2为bug加成 - self.攻击次数3 = 1 * (1.23 + 0.09) - - -class 技能15(主动技能): - 名称 = '死亡连舞' - 备注 = '不可抓取' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.14*1.085) for i in [0, 2953, 3251, 3552, 3849, 4149, 4448, 4747, 5048, 5346, 5647, 5946, 6245, 6543, 6843, 7142, 7441, 7744, 8040, 8344, 8638, 8938, 9237, 9540, 9839, 10139, 10439, 10737, 11035, 11335, 11635, 11934, 12234, 12532, 12833, 13130, 13432, 13729, 14031, 14329, 14629, 14928, 15227, 15526, 15826, 16128, 16424, 16726, 17023, 17327, 17622, 17923, 18222, 18521, 18819, 19121, 19421, 19719, 20020, 20318, 20617, 20917, 21216, 21516, 21815, 22115, 22413, 22712, 23012, 23312, 23611]] - 攻击次数1 = 3 - data2 = [int(i*1.14*1.085) for i in [0, 34984, 38537, 42083, 45632, 49180, 52729, 56281, 59828, 63377, 66930, 70482, 74027, 77577, 81125, 84674, 88227, 91773, 95324, 98869, 102420, 105967, 109518, 113063, 116620, 120167, 123718, 127263, 130815, 134365, 137911, 141464, 145012, 148561, 152108, 155658, 159207, 162753, 166303, 169855, 173409, 176959, 180506, 184054, 187602, 191152, 194703, 198249, 201801, 205345, 208898, 212444, 215994, 219545, 223097, 226649, 230196, 233745, 237291, 240843, 244391, 247940, 251490, 255040, 258588, 262133, 265684, 269235, 272782, 276335, 279888]] - 攻击次数2 = 1 - CD = 40.0 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 *= (1.2 + 0.2) - self.CD *= 0.9 - - -class 技能16(被动技能): - 名称 = '潜行暗杀' - 所在等级 = 75 - 等级上限 = 20 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能17(主动技能): - 名称 = '剜心' - 备注 = '背击' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data = [int(i*1.141*1.085) for i in [0, 75332, 82973, 90617, 98256, 105900, 113543, 121188, 128829, 136468, 144114, 151755, 159399, 167044, 174686, 182325, 189971, 197610, 205255, 212897, 220538, 228181, 235822, 243467, 251110, 258748, 266392, 274035, 281677, 289321, 296964, 304604, 312246, 319889, 327532, 335174, 342818, 350460, 358103, 365747, 373390, 381030, 388673, 396315, 403958, 411598, 419240, 426884, 434525, 442170, 449812, 457452, 465097, 472739, 480384, 488028, 495665, 503308, 510952, 518595, 526239, 533878, 541519, 549164, 556806, 564449, 572090, 579732, 587374, 595021, 602661]] - CD = 45 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.24 - - -class 技能18(主动技能): - 名称 = '锁链' - 所在等级 = 85 - 等级上限 = 1 - #学习间隔 = 5 - #等级精通 = 30 - 基础等级 = 1 - data1 = [int(i*1.141*1.085) for i in [0, 2823, 3110, 3396, 3683, 3970, 4257, 4543, 4829, 5116, 5402, 5689, 5975, 6262, 6548, 6835, 7121, 7407, 7694, 7980, 8267, 8553, 8840, 9126, 9414, 9700, 9987, 10273, 10559, 10846, 11132, 11419, 11705, 11992, 12278, 12565, 12851, 13137, 13424, 13710, 13997, 14283, 14570, 14857, 15144, 15430, 15717, 16003, 16289, 16576, 16862, 17149, 17435, 17722, 18008, 18295, 18581, 18867, 19154, 19440, 19727, 20013, 20301, 20587, 20874, 21160, 21447, 21733, 22019, 22306, 22592]] - 攻击次数1 = 1 - data2 = [int(i*1.141*1.085) for i in [0, 11295, 12441, 13587, 14732, 15878, 17024, 18170, 19316, 20462, 21608, 22754, 23900, 25046, 26191, 27337, 28483, 29629, 30776, 31921, 33067, 34213, 35359, 36505, 37650, 38796, 39942, 41089, 42235, 43380, 44526, 45672, 46818, 47963, 49109, 50255, 51401, 52548, 53693, 54839, 55985, 57131, 58277, 59422, 60568, 61714, 62861, 64007, 65152, 66298, 67444, 68590, 69736, 70881, 72027, 73174, 74320, 75466, 76611, 77757, 78903, 80049, 81195, 82340, 83487, 84633, 85779, 86925, 88070, 89216, 90362]] - 攻击次数2 = 1 - CD = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能19(主动技能): - 名称 = '幽冥链狱:索命' - 备注 = '(不可抓取)' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.141*1.085) for i in [0, 2823, 3110, 3396, 3683, 3970, 4257, 4543, 4829, 5116, 5402, 5689, 5975, 6262, 6548, 6835, 7121, 7407, 7694, 7980, 8267, 8553, 8840, 9126, 9414, 9700, 9987, 10273, 10559, 10846, 11132, 11419, 11705, 11992, 12278, 12565, 12851, 13137, 13424, 13710, 13997, 14283, 14570, 14857, 15144, 15430, 15717, 16003, 16289, 16576, 16862, 17149, 17435, 17722, 18008, 18295, 18581, 18867, 19154, 19440, 19727, 20013, 20301, 20587, 20874, 21160, 21447, 21733, 22019, 22306, 22592]] - 攻击次数1 = 1 - #data2 = [0, 10686, 11770, 12854, 13938, 15022, 16106, 17190, 18274, 19359, 20443, 21527, 22611, 23695, 24779, 25863,26947, 28031, 29116, 30200, 31284, 32368, 33452, 34536, 35620, 36704, 37788, 38873, 39957, 41041, 42125,43209, 44293, 45377, 46461, 47545, 48629, 49714, 50798, 51882, 52966, 54050, 55134, 56218, 57302, 58386,59471, 60555, 61639, 62723, 63807, 64891, 65975, 67059, 68143, 69228, 70312, 71396, 72480, 73564, 74648,75732, 76816, 77900, 78985, 80069, 81153, 82237, 83321, 84405, 85489] - #攻击次数2 = 1 - data2 = [int(i*1.141*1.085) for i in [0, 109028, 134308, 159592, 184871, 210153, 235434, 260721, 286000, 311280, 336563, 361846, 387131, 412409, 437689, 462975, 488254, 513534, 538813, 564101, 589380, 614663, 639945, 665225, 690507, 715788, 741074, 766356, 791635, 816918, 842199, 867480, 892765, 918044, 943329, 968608, 993890, 1019173, 1044454, 1069735, 1095019, 1120300, 1145578, 1170859, 1196144, 1221428, 1246707, 1271990, 1297270, 1322552, 1347837, 1373117, 1398400, 1423680, 1448963, 1474244, 1499525, 1524808, 1550091, 1575371, 1600654, 1625934, 1651219, 1676499, 1701779, 1727063, 1752346, 1777622, 1802909, 1828192, 1853473]] - 攻击次数2 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能20(被动技能): - 名称 = '暗影禁忌' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 3 - 等级精通 = 30 - - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能21(主动技能): - 名称 = '影缚追魂锁' - 备注 = '背击' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.15*1.085) for i in [0, 5941, 6544, 7147, 7750, 8353, 8955, 9558, 10161, 10764, 11367, 11970, 12572, 13175, 13778, 14381, 14984, 15586, 16189, 16792, 17395, 17998, 18600, 19203, 19806, 20409, 21012, 21614, 22217, 22820, 23423, 24026, 24628, 25231, 25834, 26437, 27040, 27643, 28245, 28848, 29451, 30054, 30657, 31259, 31862, 32465, 33068, 33671, 34273, 34876, 35479, 36082, 36685, 37287, 37890, 38493, 39096, 39699, 40301, 40904, 41507, 42110, 42713, 43315, 43918, 44521, 45124, 45727, 46330, 46932, 47535]] - 攻击次数1 = 4 - data2 = [int(i*1.15*1.085) for i in [0, 95071, 104716, 114361, 124005, 133650, 143295, 152940, 162585, 172230, 181875, 191520, 201165, 210810, 220455, 230099, 239744, 249389, 259034, 268679, 278324, 287969, 297614, 307259, 316904, 326549, 336193, 345838, 355483, 365128, 374773, 384418, 394063, 403708, 413353, 422998, 432643, 442288, 451932, 461577, 471222, 480867, 490512, 500157, 509802, 519447, 529092, 538737, 548382, 558026, 567671, 577316, 586961, 596606, 606251, 615896, 625541, 635186, 644831, 654476, 664120, 673765, 683410, 693055, 702700, 712345, 721990, 731635, 741280, 750925, 760570]] - 攻击次数2 = 1 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - # def 等效百分比(self, 武器类型): - # return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 * self.攻击倍率) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能22(主动技能): - 名称 = '无间影狱·噬灭' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.15*1.085) for i in [0, 10454, 12878, 15302, 17726, 20150, 22575, 24999, 27423, 29847, 32271, 34696, 37120, 39544, 41968, 44392, 46816, 49241, 51665, 54089, 56513, 58937, 61362, 63786, 66210, 68634, 71058, 73482, 75907, 78331, 80755, 83179, 85603, 88028, 90452, 92876, 95300, 97724, 100148, 102573, 104997, 107421, 109845, 112269, 114694, 117118, 119542, 121966, 124390, 126814, 129239, 131663, 134087, 136511, 138935, 141360, 143784, 146208, 148632, 151056, 153480, 155905, 158329, 160753, 163177, 165601, 168025, 170450, 172874, 175298, 177722]] - data2 = [int(i*1.15*1.085) for i in [0, 62725, 77270, 91815, 106360, 120905, 135451, 149996, 164541, 179086, 193631, 208176, 222721, 237266, 251811, 266356, 280901, 295446, 309992, 324537, 339082, 353627, 368172, 382717, 397262, 411807, 426352, 440897, 455442, 469987, 484533, 499078, 513623, 528168, 542713, 557258, 571803, 586348, 600893, 615438, 629983, 644528, 659073, 673619, 688164, 702709, 717254, 731799, 746344, 760889, 775434, 789979, 804524, 819069, 833614, 848160, 862705, 877250, 891795, 906340, 920885, 935430, 949975, 964520, 979065, 993610, 1008155, 1022700, 1037246, 1051791, 1066336]] - data3 = [int(i*1.15*1.085) for i in [0, 125451, 154541, 183631, 212721, 241811, 270902, 299992, 329082, 358172, 387262, 416352, 445443, 474533, 503623, 532713, 561803, 590893, 619984, 649074, 678164, 707254, 736344, 765434, 794525, 823615, 852705, 881795, 910885, 939975, 969066, 998156, 1027246, 1056336, 1085426, 1114516, 1143606, 1172697, 1201787, 1230877, 1259967, 1289057, 1318147, 1347238, 1376328, 1405418, 1434508, 1463598, 1492688, 1521779, 1550869, 1579959, 1609049, 1638139, 1667229, 1696320, 1725410, 1754500, 1783590, 1812680, 1841770, 1870861, 1899951, 1929041, 1958131, 1987221, 2016311, 2045401, 2074492, 2103582, 2132672]] - data4 = [int(i*1.15*1.085) for i in [0, 31362, 38635, 45907, 53180, 60452, 67725, 74998, 82270, 89543, 96815, 104088, 111360, 118633, 125905, 133178, 140450, 147723, 154996, 162268, 169541, 176813, 184086, 191358, 198631, 205903, 213176, 220448, 227721, 234993, 242266, 249539, 256811, 264084, 271356, 278629, 285901, 293174, 300446, 307719, 314991, 322264, 329536, 336809, 344082, 351354, 358627, 365899, 373172, 380444, 387717, 394989, 402262, 409534, 416807, 424080, 431352, 438625, 445897, 453170, 460442, 467715, 474987, 482260, 489532, 496805, 504077, 511350, 518623, 525895, 533168]] - data0 = [data1,data2,data3,data4] - 次数 = [3,1,1,3] - CD = 290 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data0)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 * (1 + self.TP成长 * self.TP等级) - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '隐夜·影舞者' - 角色 = '暗夜使者' - 职业 = '影舞者' - - 武器选项 = ['匕首'] - - 类型选择 = ['物理百分比'] - - 类型 = '物理百分比' - 防具类型 = '皮甲' - 防具精通属性 = ['力量'] - - 主BUFF = 2.03 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['锁链']].等级 = self.技能栏[self.技能序号['幽冥链狱:索命']].等级 - - -class 隐夜·影舞者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 界面(self): - super().界面() - self.刃舞hit = MyQComboBox(self.main_frame2) - for i in range(2, 19): - self.刃舞hit.addItem('刃舞攻击次数:' + str(i)+' + 终结') - self.刃舞hit.setCurrentIndex(0) - self.刃舞hit.resize(200, 20) - self.刃舞hit.move(325, 505) - self.刃舞hit.setToolTip('打满为18hit') - - self.职业存档.append(('刃舞hit', self.刃舞hit, 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - 属性.技能栏[属性.技能序号['刃舞']].攻击次数1 = 2 + self.刃舞hit.currentIndex() diff --git a/Characters/隐夜·忍者.py b/Characters/隐夜·忍者.py deleted file mode 100644 index 5cab4e35..00000000 --- a/Characters/隐夜·忍者.py +++ /dev/null @@ -1,860 +0,0 @@ -from PublicReference.carry.base import * -import math - -等级 = 100 + 5 - - -# class 主动技能(主动技能): -# def 等效CD(self, 武器类型, 输出类型): -# return round(self.CD / self.恢复, 1) - - -class 技能0(主动技能): - 名称 = '火遁·豪火球之术' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.151) for i in [0, 109, 121, 130, 143, 153, 166, 176, 188, 197, 210, 220, 232, 243, 254, 264, 277, 287, 299, 309, 321, 331, 344, 354, 363, 375, 386, 398, 407, 420, 430, 442, 452, 465, 474, 487, 497, 509, 519, 531, 541, 553, 564, 576, 585, 598, 608, 620, 630, 642, 652, 665, 675, 687, 696, 709, 719, 731, 742, 754, 763, 776, 786, 798, 809, 820, 830, 843, 853, 862, 874]] - 攻击次数1 = 12 - data2 = [int(i*1.151) for i in [0, 438, 482, 526, 570, 616, 660, 703, 747, 792, 837, 881, 925, 970, 1014, 1059, 1103, 1148, 1191, 1235, 1280, 1325, 1369, 1413, 1457, 1503, 1547, 1591, 1635, 1678, 1724, 1768, 1812, 1857, 1902, 1946, 1990, 2035, 2079, 2124, 2167, 2211, 2256, 2300, 2345, 2389, 2434, 2478, 2523, 2567, 2612, 2655, 2699, 2744, 2789, 2833, 2877, 2921, 2967, 3011, 3055, 3099, 3143, 3188, 3232, 3276, 3321, 3366, 3410, 3454, 3499]] - 攻击次数2 = 1 - CD = 7.5 - # CD = 6.3 - 攻击倍率 = 1 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - -class 技能1(主动技能): - 名称 = '忍法:幻影手里剑' - 备注 = '(结印打满40hit)' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.151) for i in [0, 162, 179, 195, 212, 228, 245, 261, 278, 293, 311, 328, 343, 359, 376, 393, 410, 425, 442, 459, 475, 491, 508, 524, 541, 558, 573, 590, 607, 623, 639, 656, 673, 689, 706, 721, 739, 755, 771, 788, 805, 820, 837, 854, 869, 886, 903, 920, 936, 952, 968, 986, 1002, 1017, 1034, 1052, 1067, 1084, 1100, 1117, 1133, 1149, 1167, 1183, 1198, 1215, 1233, 1248, 1264, 1281, 1298]] - 攻击次数1 = 10 - data2 = [int(i*1.151) for i in [0, 162, 179, 195, 212, 228, 245, 261, 278, 293, 311, 328, 343, 359, 376, 393, 410, 425, 442, 459, 475, 491, 508, 524, 541, 558, 573, 590, 607, 623, 639, 656, 673, 689, 706, 721, 739, 755, 771, 788, 805, 820, 837, 854, 869, 886, 903, 920, 936, 952, 968, 986, 1002, 1017, 1034, 1052, 1067, 1084, 1100, 1117, 1133, 1149, 1167, 1183, 1198, 1215, 1233, 1248, 1264, 1281, 1298]] - 攻击次数2 = 10*2 - 攻击倍率2 = 0.5 - data3 = [int(i*1.151) for i in [0, 162, 179, 195, 212, 228, 245, 261, 278, 293, 311, 328, 343, 359, 376, 393, 410, 425, 442, 459, 475, 491, 508, 524, 541, 558, 573, 590, 607, 623, 639, 656, 673, 689, 706, 721, 739, 755, 771, 788, 805, 820, 837, 854, 869, 886, 903, 920, 936, 952, 968, 986, 1002, 1017, 1034, 1052, 1067, 1084, 1100, 1117, 1133, 1149, 1167, 1183, 1198, 1215, 1233, 1248, 1264, 1281, 1298]] - 攻击次数3 = 10 - 攻击倍率3 = 0.3 - 攻击倍率 = 1.0 - CD = 12.0 - # CD = 10.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 * self.攻击倍率2 + self.data3[self.等级] * self.攻击次数3 * self.攻击倍率3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - -class 技能2(主动技能): - 名称 = '火遁·飓风煞' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.183) for i in [0, 112, 124, 136, 146, 158, 168, 180, 193, 203, 215, 226, 238, 248, 259, 271, 283, 295, 306, 316, 327, 340, 351, 363, 374, 385, 396, 408, 420, 431, 442, 453, 465, 476, 488, 499, 510, 522, 533, 545, 557, 567, 579, 590, 602, 611, 625, 637, 647, 659, 669, 681, 693, 705, 717, 726, 738, 749, 761, 773, 785, 794, 806, 818, 829, 842, 851, 863, 874, 886, 898]] - 攻击次数1 = 25 - data2 = [int(i*1.183) for i in [0, 823, 906, 989, 1072, 1156, 1241, 1324, 1408, 1490, 1573, 1656, 1740, 1825, 1908, 1991, 2074, 2158, 2242, 2325, 2409, 2492, 2575, 2658, 2742, 2825, 2908, 2991, 3076, 3160, 3243, 3327, 3409, 3493, 3575, 3660, 3744, 3827, 3910, 3993, 4077, 4162, 4245, 4329, 4411, 4494, 4577, 4661, 4745, 4829, 4912, 4995, 5079, 5163, 5246, 5331, 5413, 5496, 5579, 5663, 5747, 5829, 5913, 5997, 6081, 6164, 6248, 6330, 6413, 6496, 6581]] - 攻击次数2 = 1 - CD = 17 - 攻击倍率 = 1.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - -class 技能3(被动技能): - 名称 = '苦无精通' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.23 + 0.01 * self.等级, 5) - - def 魔法攻击力倍率(self, 武器类型): - return self.加成倍率(武器类型) - - -class 技能4(被动技能): - 名称 = '烈焰印记' - 所在等级 = 25 - 等级上限 = 20 - 基础等级 = 10 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.3 + 0.01 * self.等级, 5) - - -class 技能5(主动技能): - 名称 = '火遁·螺旋手里剑' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.151) for i in [0, 170, 187, 203, 221, 238, 255, 273, 290, 308, 324, 341, 359, 376, 393, 411, 427, 445, 462, 479, 497, 514, 530, 548, 565, 583, 600, 616, 634, 651, 668, 686, 703, 719, 737, 754, 772, 789, 806, 824, 840, 857, 875, 892, 910, 926, 943, 961, 978, 995, 1013, 1029, 1047, 1064, 1081, 1099, 1116, 1132, 1150, 1167, 1184, 1202, 1219, 1236, 1253, 1270, 1288, 1305, 1321, 1339, 1356]] - 攻击次数1 = 15 - data2 = [int(i*1.151) for i in [0, 699, 771, 841, 912, 983, 1055, 1125, 1196, 1266, 1338, 1409, 1479, 1551, 1622, 1693, 1763, 1835, 1906, 1976, 2048, 2119, 2189, 2260, 2332, 2402, 2473, 2544, 2615, 2686, 2757, 2828, 2899, 2970, 3040, 3112, 3183, 3253, 3324, 3396, 3466, 3537, 3609, 3680, 3750, 3821, 3893, 3963, 4034, 4106, 4176, 4247, 4318, 4389, 4460, 4531, 4601, 4673, 4744, 4814, 4886, 4957, 5027, 5098, 5170, 5240, 5311, 5382, 5453, 5524, 5595]] - 攻击次数2 = 1 - CD = 12.0 - 攻击倍率 = 1.0 - TP成长 = 0 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.TP等级 == 0: - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * self.倍率 * self.攻击倍率 - else: - if self.TP等级 <= 5: - return (self.data1[self.等级] * (self.攻击次数1-self.TP等级*2-1) + (self.data2[self.等级] * (self.TP等级+1)) * self.攻击次数2) * self.倍率 * self.攻击倍率 - - # def 等效百分比(self, 武器类型): - # return (self.data1[self.等级] * (self.攻击次数1-self.TP等级*2-1) + (self.data2[self.等级] * (self.TP等级+1))* self.攻击次数2) - - -class 技能6(主动技能): - 名称 = '忍法:替身术' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 3 - 等级精通 = 50 - - data1 = [int(i*1.20) for i in [0, 1565, 1815, 2064, 2314, 2564, 2812, 3062, 3312, 3563, 3810, 4062, 4311, 4560, 4810, 5060, 5308, 5558, 5808, 6057, 6307, 6556, 6805, 7056, 7306, 7555, 7804, 8054, 8303, 8553, 8803, 9051, 9301, 9551, 9800, 10049, 10301, 10549, 10799, 11049, 11298, 11547, 11797, 12046, 12296, 12546, 12794, 13044, 13295, 13543, 13794, 14043, 14292, 14542, 14792, 15040, 15290, 15540, 15789, 16039, 16288, 16537, 16788, 17038, 17287, 17537, 17786, 18036, 18285, 18535, 18785]] - 攻击次数1 = 1 - data2 = [int(i*1.20) for i in [0, 939, 1089, 1238, 1389, 1538, 1689, 1837, 1987, 2138, 2286, 2437, 2587, 2736, 2886, 3034, 3185, 3336, 3485, 3634, 3784, 3934, 4084, 4233, 4384, 4532, 4682, 4833, 4981, 5132, 5281, 5432, 5581, 5731, 5881, 6029, 6180, 6330, 6479, 6629, 6779, 6928, 7079, 7228, 7378, 7527, 7677, 7827, 7976, 8127, 8275, 8426, 8576, 8724, 8875, 9024, 9174, 9324, 9474, 9623, 9773, 9923, 10074, 10222, 10372, 10523, 10671, 10822, 10970, 11121, 11271]] - 攻击次数2 = 1 - data3 = [int(i*1.20) for i in [0, 4133, 4791, 5450, 6109, 6768, 7427, 8086, 8744, 9404, 10062, 10721, 11380, 12037, 12698, 13355, 14016, 14673, 15334, 15992, 16649, 17310, 17967, 18628, 19285, 19944, 20603, 21260, 21922, 22578, 23240, 23896, 24555, 25214, 25873, 26532, 27190, 27849, 28508, 29167, 29826, 30485, 31143, 31803, 32461, 33120, 33779, 34438, 35097, 35755, 36415, 37073, 37733, 38391, 39049, 39709, 40367, 41027, 41685, 42345, 43003, 43660, 44321, 44978, 45639, 46296, 46955, 47614, 48273, 48932, 49590]] - 攻击次数3 = 1 - 攻击倍率 = 1.0 - CD = 25 - # CD = 26.2 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - -class 技能7(主动技能): - 名称 = '火遁·炎天道' - 备注 = '(地面释放)' - 所在等级 = 35 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.20) for i in [0, 228, 249, 276, 296, 319, 342, 366, 389, 412, 436, 457, 483, 504, 527, 549, 574, 598, 619, 645, 666, 690, 712, 735, 759, 782, 806, 827, 853, 874, 898, 918, 941, 966, 988, 1012, 1034, 1059, 1081, 1105, 1128, 1151, 1175, 1195, 1221, 1242, 1266, 1289, 1312, 1336, 1358, 1382, 1404, 1429, 1451, 1475, 1498, 1521, 1545, 1567, 1591, 1610, 1638, 1658, 1681, 1704, 1728, 1751, 1773, 1797, 1820]] # 地面爆炸 - 攻击次数1 = 1 - #空中data2 = [0, 377, 416, 454, 493, 530, 571, 608, 647, 683, 722, 760, 799, 837, 877, 914, 952, 991, 1028, 1067, 1105,1145, 1183, 1222, 1258, 1297, 1335, 1373, 1411, 1451, 1489, 1528, 1565, 1604, 1642, 1680, 1719, 1757, 1796,1834, 1871, 1909, 1948, 1986, 2025, 2063, 2102, 2140, 2179, 2216, 2255, 2294, 2333, 2370, 2407, 2446, 2484,2522, 2560, 2600, 2638, 2677, 2714, 2753, 2791, 2829, 2869, 2907, 2945, 2983, 3021] - #攻击次数2 = 1 - #data1 = [0, 567, 623, 682, 738, 795, 854, 912, 969, 1027, 1085, 1141, 1198, 1256, 1313, 1372, 1428, 1486, 1544, 1601,1659, 1717, 1772, 1830, 1888, 1946, 2003, 2062, 2118, 2175, 2234, 2291, 2348, 2406, 2462, 2520, 2578, 2636,2692, 2752, 2808, 2864, 2923, 2980, 3036, 3095, 3152, 3210, 3268, 3326, 3383, 3440, 3497, 3554, 3612, 3670,3727, 3784, 3842, 3900, 3957, 4015, 4071, 4128, 4186, 4244, 4302, 4360, 4416, 4474, 4533] - #攻击次数1 = 1 - data2 = [int(i*1.20) for i in [0, 454, 501, 547, 594, 639, 688, 733, 780, 823, 870, 916, 963, 1009, 1057, 1101, 1147, 1194, 1239, 1286, 1332, 1380, 1426, 1473, 1516, 1563, 1609, 1654, 1700, 1748, 1794, 1841, 1886, 1933, 1979, 2024, 2071, 2117, 2164, 2210, 2255, 2300, 2347, 2393, 2440, 2486, 2533, 2579, 2626, 2670, 2717, 2764, 2811, 2856, 2900, 2947, 2993, 3039, 3085, 3133, 3179, 3226, 3270, 3317, 3363, 3409, 3457, 3503, 3549, 3595, 3640]] - 攻击次数2 = 1 - data3 = [int(i*1.20) for i in [0, 4227, 4655, 5084, 5513, 5942, 6371, 6800, 7229, 7658, 8088, 8515, 8944, 9372, 9803, 10230, 10659, 11087, 11516, 11946, 12374, 12804, 13233, 13661, 14091, 14520, 14948, 15377, 15806, 16235, 16664, 17093, 17518, 17948, 18379, 18806, 19235, 19664, 20093, 20522, 20951, 21379, 21808, 22238, 22666, 23095, 23525, 23953, 24383, 24812, 25240, 25669, 26099, 26526, 26955, 27382, 27811, 28242, 28669, 29100, 29529, 29956, 30386, 30815, 31243, 31672, 32100, 32529, 32958, 33387, 33815]] # 火焰球爆炸 - 攻击次数3 = 1 - CD = 18 - 攻击倍率 = 1.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.1 - self.攻击次数3 = 1 * 1.08 - elif x == 1: - self.倍率 *= 1.1 + 0.08 - self.攻击次数3 = 1 * 1.08 - - -class 技能8(主动技能): - 名称 = '忍法:残影术' - 所在等级 = 35 - 等级上限 = 11 - 基础等级 = 1 - 是否有伤害 = 0 - 关联技能 = ['火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法:替身术', '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '火遁·冥炎业火阵', '八岐大蛇', - '火遁·风魔手里剑', '忍法:飞燕手里剑', '天照', '勾玉之火·镰鼬', '火炎灼空:草雉剑', '火源限界·八咫乌'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(0.98 + 0.02 * self.等级, 5) - - -class 技能9(主动技能): - 名称 = '火遁·蟾蜍油炎弹' - 所在等级 = 40 - 等级上限 = 60 - 基础等级 = 33 - data1 = [int(i*1.21) for i in [0, 191, 211, 229, 249, 269, 287, 307, 326, 346, 365, 384, 404, 424, 442, 462, 481, 500, 520, 539, 561, 578, 598, 619, 638, 656, 677, 696, 716, 734, 754, 774, 792, 812, 832, 851, 870, 889, 909, 929, 947, 967, 986, 1005, 1025, 1044, 1064, 1083, 1102, 1122, 1140, 1160, 1181, 1200, 1221, 1240, 1258, 1279, 1296, 1317, 1337, 1356, 1375, 1395, 1414, 1434, 1452, 1472, 1492, 1510, 1530]] - 攻击次数1 = 3 - data2 = [int(i*1.21) for i in [0, 763, 841, 920, 998, 1075, 1153, 1230, 1308, 1385, 1463, 1542, 1620, 1697, 1775, 1851, 1929, 2006, 2084, 2161, 2241, 2318, 2395, 2473, 2550, 2628, 2704, 2782, 2861, 2939, 3016, 3094, 3171, 3249, 3326, 3405, 3483, 3561, 3638, 3716, 3792, 3870, 3947, 4024, 4104, 4181, 4259, 4336, 4414, 4491, 4569, 4645, 4726, 4802, 4880, 4957, 5035, 5112, 5190, 5267, 5347, 5424, 5502, 5579, 5657, 5733, 5810, 5888, 5966, 6045, 6122]] - 攻击次数2 = 1 - data3 = [int(i*1.21) for i in [0, 6122, 6743, 7365, 7986, 8608, 9229, 9849, 10471, 11092, 11713, 12335, 12956, 13575, 14197, 14818, 15438, 16060, 16680, 17301, 17923, 18544, 19166, 19787, 20407, 21029, 21650, 22271, 22893, 23514, 24134, 24756, 25377, 25999, 26620, 27241, 27862, 28483, 29104, 29726, 30347, 30969, 31589, 32209, 32832, 33453, 34073, 34694, 35315, 35936, 36558, 37179, 37802, 38421, 39042, 39664, 40285, 40906, 41528, 42148, 42769, 43391, 44012, 44634, 45255, 45875, 46497, 47118, 47739, 48361, 48982]] - 攻击次数3 = 1 - CD = 25.0 - 攻击倍率 = 1.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.05 - self.攻击次数3 = 1 * 1.19 - self.CD *= 0.88 - elif x == 1: - self.倍率 *= 1.05 + 0.08 - self.攻击次数3 = 1 * 1.19 - self.CD *= 0.88 - - -class 技能10(主动技能): - 名称 = '忍法:六道轮回' - 所在等级 = 40 - 等级上限 = 11 - 基础等级 = 1 - 关联技能 = ['火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法:替身术', - '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照', '勾玉之火·镰鼬'] - 六道技能显示 = [] - CD = 30 - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - temp = '' - temp += "CD:" + str(self.CD)+"
" - temp += '加成倍率:80%
' - temp += '关联技能:' - try: - for i in range(len(self.六道技能显示) - 1): - temp += self.六道技能显示[i] + ',' - temp += self.六道技能显示[len(self.六道技能显示) - 1] - except: - temp += '无' - return temp - - def 加成倍率(self, 武器类型): - return 1.0 - - -class 技能11(主动技能): - 名称 = '火遁·炎舞天璇' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.213) for i in [0, 455, 500, 548, 594, 639, 685, 730, 778, 824, 869, 916, 962, 1008, 1054, 1100, 1147, 1192, 1239, 1284, 1330, 1379, 1424, 1470, 1515, 1561, 1608, 1655, 1699, 1747, 1792, 1838, 1884, 1931, 1977, 2023, 2068, 2115, 2160, 2207, 2255, 2299, 2346, 2391, 2438, 2484, 2530, 2576, 2623, 2668, 2714, 2759, 2808, 2853, 2899, 2946, 2991, 3037, 3084, 3130, 3176, 3222, 3267, 3315, 3360, 3407, 3452, 3499, 3544, 3590, 3637]] - 攻击次数1 = 8 - data2 = [int(i*1.213) for i in [0, 138, 150, 164, 178, 191, 205, 219, 234, 247, 261, 274, 289, 303, 316, 330, 344, 358, 371, 385, 400, 413, 427, 440, 455, 469, 481, 496, 510, 525, 539, 551, 566, 579, 594, 606, 621, 634, 649, 663, 675, 691, 703, 718, 730, 746, 759, 772, 787, 800, 815, 828, 842, 856, 869, 883, 896, 911, 925, 940, 952, 966, 981, 995, 1008, 1022, 1036, 1050, 1064, 1077, 1092]] - 攻击次数2 = 25 - data3 = [int(i*1.213) for i in [0, 3752, 4132, 4511, 4892, 5272, 5653, 6033, 6414, 6794, 7174, 7554, 7936, 8317, 8698, 9077, 9458, 9837, 10219, 10599, 10980, 11360, 11740, 12121, 12503, 12882, 13262, 13643, 14023, 14404, 14785, 15166, 15546, 15926, 16305, 16685, 17067, 17449, 17829, 18210, 18589, 18969, 19350, 19730, 20111, 20491, 20872, 21251, 21633, 22014, 22395, 22775, 23155, 23535, 23917, 24296, 24677, 25057, 25437, 25818, 26200, 26580, 26959, 27340, 27720, 28101, 28482, 28863, 29243, 29624, 30003]] - 攻击次数3 = 1 - # CD = 33.6 - CD = 40 - 攻击倍率 = 1.0 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 8 - 5 - self.攻击次数2 = 25 * 2.15 - self.CD *= 0.9 - elif x == 1: - self.攻击次数1 = 8 - 5 - self.攻击次数2 = 25 * (2.15 + 0.23) - self.CD *= 0.9 - - -class 技能12(被动技能): - 名称 = '暗炎残星' - 所在等级 = 45 - 等级上限 = 20 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.09 + 0.01 * self.等级, 5) - - -class 技能13(主动技能): - 名称 = '毕方之印' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - data1 = [int(i*1.0) for i in [0, 203, 235, 268, 300, 332, 365, 397, 429, 462, 494, 526, 559, 591, 623, 656, 688, 720, 753, 785, 817, 850, 882, 914, 947, 979, 1011, 1044, 1076, 1108, 1141, 1173, 1205, 1238, 1270, 1302, 1335, 1367, 1399, 1432, 1464, 1496, 1529, 1561, 1593, 1626, 1658, 1691, 1723, 1755, 1788, 1820, 1852, 1885, 1917, 1949, 1982, 2014, 2046, 2079, 2111, 2143, 2176, 2208, 2240, 2273, 2305, 2337, 2370, 2402, 2434]] - 攻击次数1 = 8 - data2 = [int(i*1.0) for i in [0, 423, 490, 557, 625, 692, 760, 827, 894, 962, 1029, 1096, 1164, 1231, 1299, 1366, 1433, 1501, 1568, 1635, 1703, 1770, 1838, 1905, 1972, 2040, 2107, 2174, 2242, 2309, 2377, 2444, 2511, 2579, 2646, 2713, 2781, 2848, 2916, 2983, 3050, 3118, 3185, 3252, 3320, 3387, 3455, 3522, 3589, 3657, 3724, 3791, 3859, 3926, 3994, 4061, 4128, 4196, 4263, 4330, 4398, 4465, 4533, 4600, 4667, 4735, 4802, 4869, 4937, 5004, 5072]] - 攻击次数2 = 1 - 攻击倍率 = 1.0 - # 爆炸攻击力 - # [0, 1014, 1176, 1338, 1499, 1661, 1823, 1985, 2146, 2308, 2470, 2631, 2793, 2955, 3116, 3278, 3440, 3602, 3763, 3925, 4087, 4248, 4410, 4572, 4733, 4895, 5057, 5219, 5380, 5542, 5704, 5865, 6027, 6189, 6350, 6512, 6674, 6836, 6997, 7159, 7321, 7482, 7644, 7806, 7967, 8129, 8291, 8453, 8614, 8776, 8938, 9099, 9261, 9423, 9584, 9746, 9908, 10070, 10231, 10393, 10555, 10716, 10878, 11040, 11201, 11363, 11525, 11687, 11848, 12010, 12172] - - 是否主动 = 0 - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '火属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (30 + 2 * self.等级) - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - def 等效CD(self, 武器类型, 输出类型): - return 1.0 - - -class 技能14(主动技能): - 名称 = '火遁·冥炎业火阵' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - #data1 = [0, 27341, 33687, 40028, 46370, 52709, 59053, 65397, 71737, 78078, 84421, 90761, 97102, 103446, 109787, 116126, 122469, 128813, 135153, 141494, 147835, 154178, 160518, 166861, 173204, 179543, 185887, 192228, 198569, 204911, 211251, 217594, 223936, 230279, 236618, 242961, 249300, 255646, 261987, 268329, 274669, 615050, 628926, 642810, 656687, 670567, 684449, 698329, 712209, 726088, 739970, 753851, 767728, 781612, 795489, 809371, 823248, 837131, 851009, 864885, 878771, 892648, 906531, 920408, 934289, 948170, 962047, 975928, 989814, 1003691, 1017570] - data1 = [(i*1.151) for i in [0, 4355, 5367, 6377, 7388, 8398, 9410, 10420, 11429, 12439, 13450, 14460, 15472, 16482, 17493, 18501, 19513, 20523, 21534, 22544, 23555, 24565, 25574, 26587, 27595, 28606, 29616, 30628, 31638, 32649, 33658, 34668, 35678, 36690, 37700, 38711, 39721, 40733, 41742, 42752, 43762, 44772, 45783, 46793, 47804, 48814, 49825, 50835, 51845, 52856, 53866, 54877, 55887, 56898, 57908, 58918, 59929, 60939, 61950, 62960, 63971, 64981, 65991, 67002, 68012, 69023, 70033, 71044, 72054, 73064, 74075]] - data2 = [(i*1.151) for i in [0, 5931, 7305, 8683, 10057, 11434, 12809, 14186, 15560, 16936, 18311, 19686, 21062, 22437, 23813, 25188, 26565, 27939, 29314, 30690, 32065, 33442, 34816, 36193, 37568, 38942, 40319, 41694, 43069, 44446, 45822, 47197, 48573, 49948, 51323, 52699, 54074, 55451, 56825, 58202, 59577, 60952, 62328, 63703, 65079, 66454, 67830, 69205, 70581, 71957, 73332, 74708, 76083, 77459, 78834, 80210, 81585, 82961, 84336, 85712, 87087, 88463, 89838, 91214, 92589, 93965, 95340, 96716, 98092, 99467, 100843]] - data3 = [(i*1.151) for i in [0, 8420, 10376, 12327, 14279, 16232, 18186, 20139, 22091, 24044, 25998, 27951, 29902, 31857, 33809, 35761, 37714, 39667, 41621, 43573, 45527, 47479, 49433, 51384, 53339, 55290, 57242, 59197, 61149, 63102, 65054, 67009, 68961, 70914, 72868, 74821, 76772, 78724, 80678, 82631, 84584, 86537, 88490, 90443, 92395, 94348, 96301, 98254, 100207, 102160, 104113, 106066, 108019, 109972, 111925, 113878, 115831, 117783, 119736, 121689, 123642, 125595, 127548, 129501, 131454, 133407, 135360, 137313, 139266, 141219, 143171]] - data4 = [(i*1.151) for i in [0, 9885, 12178, 14472, 16763, 19055, 21349, 23642, 25933, 28225, 30519, 32812, 35102, 37396, 39689, 41981, 44273, 46567, 48859, 51150, 53444, 55737, 58029, 60320, 62614, 64907, 67200, 69492, 71784, 74077, 76368, 78662, 80955, 83249, 85539, 87832, 90125, 92418, 94709, 97002, 99296, 101589, 103881, 106174, 108467, 110759, 113052, 115344, 117637, 119930, 122222, 124515, 126807, 129100, 131393, 133685, 135978, 138270, 140563, 142856, 145148, 147441, 149733, 152026, 154319, 156611, 158904, 161196, 163489, 165782, 168074]] - data5 = [(i*1.151) for i in [0, 1225, 1510, 1795, 2080, 2362, 2647, 2932, 3217, 3502, 3784, 4069, 4354, 4639, 4924, 5208, 5491, 5776, 6061, 6346, 6630, 6914, 7198, 7483, 7768, 8052, 8336, 8621, 8905, 9190, 9474, 9758, 10043, 10328, 10612, 10896, 11180, 11465, 11750, 12034, 12318, 12602, 12886, 13171, 13455, 13740, 14024, 14309, 14593, 14877, 15162, 15446, 15731, 16015, 16300, 16584, 16868, 17153, 17437, 17722, 18006, 18291, 18575, 18859, 19144, 19428, 19713, 19997, 20281, 20566, 20850]] - data6 = [(i*1.151) for i in [0, 0, 0, 846, 982, 1116, 1251, 1384, 1519, 1654, 1787, 1921, 2054, 2190, 2325, 2458, 2590, 2726, 2860, 2995, 3129, 3264, 3398, 3531, 3666, 3799, 3934, 4068, 4201, 4337, 4472, 4686, 4829, 4972, 5113, 5255, 5397, 5540, 5681, 5824, 5968, 6103, 6237, 6371, 6505, 6640, 6774, 6908, 7043, 7177, 7311, 7445, 7580, 7714, 7848, 7983, 8117, 8251, 8385, 8520, 8654, 8788, 8923, 9057, 9191, 9325, 9460, 9594, 9728, 9863, 9997]] - data = [data1, data2, data3, data4, data5, data6] - 次数 = [1, 1, 1, 1, 1, 1, 9] - CD = 145 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data)): - sum += self.data[i][self.等级] * self.次数[i] - return sum * self.倍率 * 1.1 - -# 地面释放 - - -class 技能15(主动技能): - 名称 = '忍法:飞燕手里剑' - 备注 = '(完全打满)' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - - data1 = [int(i*1.151) for i in [0, 88, 98, 105, 115, 123, 132, 140, 151, 159, 167, 178, 186, 194, 202, 213, 220, 230, 240, 249, 256, 264, 276, 283, 292, 301, 311, 318, 328, 338, 346, 354, 362, 371, 381, 390, 400, 408, 416, 426, 434, 443, 452, 461, 471, 479, 487, 496, 505, 514, 524, 533, 543, 553, 562, 571, 581, 591, 600, 609, 619, 629, 638, 647, 658, 667, 676, 685, 696, 705, 714]] - data2 = [int(i*1.151) for i in [0, 110, 121, 132, 142, 153, 165, 176, 188, 198, 210, 220, 232, 243, 254, 264, 276, 287, 299, 311, 321, 331, 343, 354, 366, 377, 388, 398, 410, 421, 433, 443, 453, 465, 476, 487, 498, 509, 520, 532, 544, 555, 566, 576, 586, 598, 609, 621, 631, 644, 655, 667, 679, 691, 704, 715, 727, 739, 751, 764, 775, 788, 799, 812, 824, 836, 848, 859, 872, 884, 896]] - data3 = [int(i*1.151) for i in [0, 62, 67, 76, 81, 88, 93, 99, 108, 114, 119, 127, 132, 140, 147, 151, 159, 164, 172, 178, 182, 189, 195, 202, 210, 215, 220, 227, 233, 240, 246, 253, 258, 266, 273, 279, 286, 291, 299, 305, 311, 316, 322, 330, 337, 341, 347, 354, 362, 368, 373, 380, 384, 390, 396, 401, 407, 413, 419, 425, 430, 436, 442, 448, 453, 459, 465, 471, 476, 482, 488]] - data4 = [int(i*1.151) for i in [0, 127, 138, 151, 164, 176, 189, 202, 213, 227, 240, 253, 264, 277, 291, 303, 316, 329, 341, 354, 367, 380, 392, 404, 418, 430, 443, 456, 468, 482, 494, 506, 519, 532, 544, 556, 570, 583, 595, 608, 621, 634, 647, 659, 671, 684, 698, 709, 721, 735, 748, 761, 774, 788, 801, 814, 827, 841, 854, 867, 881, 894, 908, 921, 934, 947, 961, 974, 987, 1001, 1014]] - data5 = [int(i*1.151) for i in [0, 440, 482, 527, 572, 617, 660, 705, 750, 794, 837, 884, 927, 972, 1015, 1061, 1105, 1149, 1195, 1239, 1282, 1328, 1372, 1417, 1460, 1504, 1550, 1593, 1638, 1684, 1727, 1772, 1816, 1862, 1905, 1950, 1995, 2038, 2082, 2127, 2172, 2216, 2260, 2306, 2349, 2394, 2437, 2484, 2527, 2571, 2615, 2659, 2703, 2747, 2790, 2834, 2878, 2922, 2966, 3008, 3052, 3096, 3140, 3184, 3228, 3272, 3315, 3359, 3403, 3447, 3491]] - data6 = [int(i*1.151) for i in [0, 366, 403, 441, 476, 514, 550, 586, 624, 661, 698, 735, 773, 810, 847, 885, 922, 959, 994, 1031, 1068, 1105, 1143, 1179, 1217, 1254, 1291, 1329, 1366, 1403, 1441, 1477, 1512, 1550, 1587, 1623, 1662, 1698, 1736, 1773, 1810, 1847, 1885, 1921, 1958, 1996, 2031, 2069, 2106, 2142, 2180, 2216, 2253, 2290, 2327, 2364, 2401, 2437, 2474, 2511, 2547, 2584, 2621, 2658, 2695, 2732, 2769, 2805, 2842, 2879, 2915]] - data7 = [int(i*1.151) for i in [0, 512, 563, 617, 668, 719, 771, 822, 874, 926, 978, 1030, 1082, 1134, 1187, 1238, 1290, 1342, 1394, 1445, 1496, 1549, 1600, 1653, 1704, 1756, 1806, 1861, 1911, 1965, 2015, 2068, 2119, 2172, 2223, 2274, 2326, 2376, 2431, 2481, 2534, 2585, 2638, 2689, 2742, 2793, 2845, 2895, 2949, 2999, 3052, 3103, 3154, 3206, 3258, 3308, 3360, 3411, 3463, 3514, 3566, 3616, 3668, 3719, 3771, 3823, 3874, 3926, 3976, 4028, 4079]] - - 次数 = [1,3,15,15,1,10,10] - - data0 = [data1,data2,data3,data4,data5,data6,data7] - - 攻击倍率 = 1 - CD = 30 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data0)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 * (1 + self.TP成长 * self.TP等级) - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.07 - elif x == 1: - self.倍率 *= 1.07 + 0.09 - - -class 技能16(主动技能): - 名称 = '火遁·风魔手里剑' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.172) for i in [0, 250, 274, 300, 325, 351, 375, 401, 426, 452, 477, 502, 527, 553, 578, 604, 629, 654, 680, 705, 731, 755, 781, 806, 832, 856, 882, 907, 933, 958, 984, 1008, 1034, 1060, 1085, 1111, 1135, 1161, 1186, 1212, 1236, 1262, 1287, 1313, 1338, 1363, 1388, 1414, 1439, 1465, 1490, 1515, 1541, 1566, 1592, 1616, 1642, 1667, 1693, 1717, 1743, 1768, 1794, 1819, 1844, 1869, 1895, 1921, 1946, 1971, 1996]] - 攻击次数1 = 15 - data2 = [int(i*1.172) for i in [0, 561, 618, 676, 732, 789, 846, 903, 960, 1017, 1073, 1131, 1188, 1244, 1302, 1359, 1416, 1472, 1530, 1587, 1643, 1701, 1758, 1814, 1871, 1929, 1985, 2042, 2100, 2157, 2213, 2270, 2328, 2384, 2441, 2499, 2555, 2612, 2670, 2726, 2783, 2840, 2898, 2954, 3011, 3069, 3125, 3182, 3239, 3296, 3353, 3410, 3466, 3524, 3581, 3638, 3695, 3752, 3809, 3865, 3923, 3980, 4036, 4094, 4151, 4207, 4264, 4322, 4379, 4435, 4493]] - 攻击次数2 = 10 - data3 = [int(i*1.172) for i in [0, 9360, 10309, 11259, 12209, 13159, 14108, 15058, 16007, 16957, 17906, 18856, 19806, 20756, 21706, 22654, 23604, 24554, 25504, 26453, 27403, 28353, 29303, 30251, 31201, 32151, 33101, 34050, 35000, 35950, 36899, 37848, 38798, 39748, 40698, 41648, 42597, 43546, 44496, 45446, 46395, 47345, 48295, 49245, 50193, 51143, 52093, 53043, 53992, 54942, 55892, 56841, 57790, 58740, 59690, 60640, 61590, 62539, 63489, 64438, 65388, 66337, 67287, 68237, 69187, 70136, 71085, 72035, 72985, 73934, 74884]] - 攻击次数3 = 1 - CD = 50 - 攻击倍率 = 1 - TP成长 = 0.10 - TP基础 = 5 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 0 - self.攻击次数2 = 10 + 10 - self.攻击次数3 = 1 * 1.14 - elif x == 1: - self.攻击次数1 = 0 - self.攻击次数2 = 10 + 10 - self.攻击次数3 = 1 * (1.14 + 0.16) - - -class 技能17(主动技能): - 名称 = '八尺琼勾玉' - 备注 = '来回两次伤害' - 所在等级 = 75 - 等级上限 = 1 - 基础等级 = 1 - data1 = [0, 740] - 攻击次数1 = 2 - data2 = [0, 820] - 攻击次数2 = 2 - data3 = [0, 850] - 攻击次数3 = 2 - CD = 3.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - def 等效CD(self, 武器类型, 输出类型): - # Will修改 - return round(self.CD / self.恢复, 1) - - -class 技能18(被动技能): - 名称 = '八咫镜' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.08 + 0.02 * self.等级, 5) - - -class 技能19(主动技能): - 名称 = '八岐大蛇' - 备注 = '(者皆阵结印)' - 所在等级 = 75 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.227) for i in [0, 2406, 2555, 2705, 2853, 3002, 3150, 3300, 3449, 3598, 3747, 3895, 4044, 4193, 4343, 4491, 4641, 4789, 4938, 5087, 5236, 5385, 5534, 5682, 5832, 5981, 6130, 6279, 6428, 6576, 6725, 6874, 7023, 7173, 7320, 7470, 7619, 7768, 7917, 8066, 8214, 8363, 8513, 8661, 8811, 8960, 9108, 9257, 9406, 9556, 9704, 9854, 10001, 10151, 10299, 10449, 10599, 10747, 10896, 11044, 11194, 11342, 11492, 11642, 11789, 11939, 12087, 12237, 12385, 12535, 12682]] - 攻击次数1 = 1 - data2 = [int(i*1.227) for i in [0, 2490, 2718, 2949, 3177, 3407, 3635, 3864, 4094, 4323, 4552, 4781, 5010, 5240, 5469, 5698, 5927, 6156, 6386, 6615, 6843, 7073, 7301, 7532, 7760, 7989, 8218, 8447, 8677, 8906, 9135, 9363, 9593, 9822, 10052, 10280, 10510, 10738, 10969, 11197, 11427, 11655, 11885, 12114, 12344, 12572, 12801, 13030, 13260, 13489, 13718, 13947, 14175, 14406, 14634, 14864, 15092, 15321, 15551, 15780, 16009, 16238, 16467, 16697, 16926, 17155, 17384, 17613, 17843, 18072, 18300]] - 攻击次数2 = 10 - data3 = [int(i*1.227) for i in [0, 389, 449, 510, 568, 628, 689, 747, 807, 866, 926, 986, 1045, 1105, 1163, 1224, 1284, 1342, 1403, 1463, 1521, 1582, 1640, 1700, 1761, 1819, 1879, 1940, 1998, 2058, 2118, 2177, 2237, 2296, 2356, 2415, 2475, 2535, 2593, 2654, 2714, 2772, 2833, 2892, 2951, 3012, 3070, 3130, 3191, 3249, 3309, 3369, 3428, 3488, 3548, 3607, 3666, 3726, 3786, 3845, 3905, 3965, 4023, 4084, 4143, 4202, 4263, 4322, 4381, 4442, 4501]] - 攻击次数3 = 22 - 攻击倍率 = 1.0 - CD = 43 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 0 - self.攻击次数2 = (10 + 1) * 1.74 - self.攻击次数3 = 0 - - -class 技能20(主动技能): - 名称 = '天照' - 备注 = '(者皆阵结印)' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.21) for i in [0, 3245, 3573, 3903, 4232, 4562, 4891, 5219, 5549, 5878, 6208, 6537, 6865, 7195, 7525, 7854, 8182, 8512, 8840, 9171, 9500, 9828, 10158, 10487, 10817, 11145, 11474, 11803, 12133, 12461, 12791, 13121, 13449, 13779, 14108, 14437, 14766, 15096, 15424, 15754, 16083, 16412, 16742, 17070, 17400, 17729, 18058, 18387, 18717, 19046, 19375, 19705, 20032, 20363, 20692, 21021, 21351, 21679, 22009, 22338, 22667, 22995, 23325, 23654, 23984, 24314, 24641, 24971, 25301, 25630, 25958]] - 攻击次数1 = 2 - data2 = [int(i*1.21) for i in [0, 3454, 3805, 4155, 4505, 4857, 5207, 5558, 5908, 6258, 6609, 6959, 7309, 7660, 8010, 8361, 8711, 9061, 9413, 9762, 10112, 10463, 10814, 11165, 11514, 11864, 12216, 12566, 12917, 13267, 13617, 13969, 14319, 14670, 15019, 15370, 15721, 16071, 16420, 16772, 17122, 17472, 17823, 18173, 18524, 18874, 19224, 19575, 19925, 20275, 20626, 20976, 21328, 21678, 22028, 22379, 22729, 23081, 23430, 23780, 24131, 24482, 24833, 25182, 25532, 25884, 26234, 26584, 26933, 27285, 27635]] - 攻击次数2 = 8 - 攻击倍率 = 1.06 # 者皆阵倍率 - # 攻击倍率 = 1.03 # 临兵斗倍率 - CD = 51 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数2 = 8 * 1.33 - self.CD *= 0.85 - - -class 技能21(主动技能): - 名称 = '开二觉平x' - 备注 = '一轮平x' - 所在等级 = 85 - 等级上限 = 1 - #学习间隔 = 5 - #等级精通 = 30 - 基础等级 = 1 - # 投掷火焰苦无 - data1 = [int(i*1.151) for i in [0, 232, 249, 265, 280, 297, 313, 329, 345, 361, 377, 393, 408, 424, 440, 457, 473, 488, 505, 521, 537, 552, 569, 585, 601, 616, 632, 648, 665, 680, 696, 712, 729, 744, 760, 777, 793, 809, 824, 840, 856, 872, 888, 904, 920, 937, 952, 968, 985, 1001, 1016, 1032, 1048, 1064, 1079, 1096, 1112, 1128, 1145, 1160, 1176, 1192, 1209, 1224, 1240, 1256, 1272, 1287, 1304, 1320, 1336]] - 攻击次数1 = 6 - # 火焰苦无爆炸 - data2 = [int(i*1.151) for i in [0, 305, 315, 326, 336, 347, 357, 368, 378, 389, 399, 408, 420, 431, 440, 452, 462, 471, 483, 494, 503, 513, 525, 534, 545, 557, 566, 576, 588, 597, 608, 618, 629, 639, 650, 660, 671, 681, 692, 702, 713, 723, 734, 744, 755, 765, 776, 786, 797, 807, 818, 827, 839, 849, 859, 870, 881, 890, 902, 912, 922, 932, 944, 953, 964, 975, 985, 995, 1007, 1016, 1027]] - 攻击次数2 = 6 - # 地面斩击 - data3 = [int(i*1.151) for i in [0, 969, 996, 1024, 1051, 1079, 1107, 1134, 1161, 1190, 1217, 1244, 1272, 1300, 1327, 1355, 1382, 1410, 1437, 1465, 1492, 1520, 1548, 1575, 1602, 1631, 1658, 1685, 1713, 1741, 1768, 1796, 1823, 1851, 1878, 1906, 1933, 1961, 1989, 2016, 2043, 2072, 2099, 2126, 2154, 2182, 2209, 2237, 2264, 2292, 2319, 2347, 2374, 2402, 2430, 2457, 2484, 2513, 2540, 2567, 2595, 2623, 2650, 2678, 2705, 2733, 2760, 2788, 2815, 2843, 2871]] - 攻击次数3 = 1.3 - # 攻击倍率3 = 0.65 - 攻击倍率 = 1 - CD = 1.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - def 等效CD(self, 武器类型, 输出类型): - # Will修改 - return round(self.CD / self.恢复, 1) - - -class 技能22(主动技能): - 名称 = '火炎灼空:草雉剑' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.151) for i in [0, 4544, 5599, 6653, 7706, 8760, 9814, 10867, 11921, 12975, 14028, 15082, 16137, 17191, 18244, 19298, 20352, 21405, 22459, 23514, 24568, 25621, 26676, 27730, 28783, 29837, 30891, 31944, 32998, 34052, 35105, 36159, 37214, 38268, 39321, 40375, 41429, 42482, 43536, 44590, 45643, 46697, 47752, 48805, 49859, 50913, 51967, 53020, 54074, 55128, 56181, 57235, 58290, 59345, 60398, 61452, 62506, 63559, 64613, 65667, 66720, 67774, 68829, 69883, 70936, 71990, 73044, 74097, 75151, 76205, 77258]] - 攻击次数1 = 1 - data2 = [int(i*1.151) for i in [0, 23026, 28366, 33704, 39044, 44383, 49722, 55061, 60401, 65739, 71079, 76418, 81758, 87097, 92437, 97776, 103115, 108455, 113793, 119133, 124472, 129811, 135150, 140491, 145829, 151169, 156507, 161847, 167186, 172525, 177865, 183204, 188545, 193883, 199223, 204561, 209901, 215240, 220579, 225918, 231258, 236596, 241936, 247277, 252615, 257955, 263294, 268633, 273972, 279312, 284650, 289990, 295328, 300668, 306007, 311348, 316686, 322026, 327366, 332704, 338044, 343382, 348722, 354061, 359400, 364739, 370080, 375418, 380758, 386097, 391436]] - 攻击次数2 = 3 - 攻击倍率 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 * self.攻击倍率 - - -class 技能23(被动技能): - 名称 = '三元刹' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能24(主动技能): - 名称 = '勾玉之火·镰鼬' - 备注 = '(者皆阵结印)' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.129) for i in [0, 9696, 10680, 11664, 12648, 13631, 14615, 15599, 16582, 17566, 18550, 19534, 20517, 21501, 22485, 23468, 24452, 25436, 26419, 27403, 28387, 29371, 30354, 31338, 32322, 33305, 34289, 35273, 36256, 37240, 38224, 39208, 40191, 41175, 42159, 43142, 44126, 45110, 46093, 47077, 48061, 49045, 50028, 51012, 51996, 52979, 53963, 54947, 55930, 56914, 57898, 58882, 59865, 60849, 61833, 62816, 63800, 64784, 65767, 66751, 67735, 68719, 69702, 70686, 71670, 72653, 73637, 74621, 75605, 76588, 77572]] - data2 = [int(i*1.129) for i in [0, 1293, 1424, 1555, 1686, 1817, 1949, 2080, 2211, 2342, 2473, 2604, 2736, 2867, 2998, 3129, 3260, 3391, 3523, 3654, 3785, 3916, 4047, 4178, 4310, 4441, 4572, 4703, 4834, 4965, 5097, 5228, 5359, 5490, 5621, 5752, 5883, 6015, 6146, 6277, 6408, 6539, 6670, 6802, 6933, 7064, 7195, 7326, 7457, 7589, 7720, 7851, 7982, 8113, 8244, 8376, 8507, 8638, 8769, 8900, 9031, 9162, 9294, 9425, 9556, 9687, 9818, 9949, 10081, 10212, 10343]] - data3 = [int(i*1.129) for i in [0, 45738, 50378, 55018, 59658, 64298, 68938, 73578, 78219, 82859, 87499, 92139, 96779, 101419, 106059, 110700, 115340, 119980, 124620, 129260, 133900, 138540, 143180, 147820, 152460, 157100, 161741, 166381, 171021, 175661, 180301, 184941, 189581, 194221, 198861, 203501, 208142, 212782, 217422, 222062, 226702, 231342, 235982, 240622, 245262, 249902, 254542, 259183, 263823, 268463, 273103, 277743, 282383, 287023, 291663, 296303, 300943, 305583, 310224, 314864, 319504, 324144, 328784, 333424, 338064, 342705, 347345, 351985, 356625, 361265, 365905]] - - data0 = [data1,data2,data3] - 次数 = [1,30,1] - - 攻击倍率 = 1.06 - - CD = 60 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data0)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 * (1 + self.TP成长 * self.TP等级) *self.攻击倍率 - # def 等效百分比(self, 武器类型): - # return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 * self.攻击倍率) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能25(主动技能): - 名称 = '火源限界·八咫乌' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - - data1 = [int(i*1.151) for i in [0, 5932, 7308, 8683, 10059, 11434, 12810, 14185, 15561, 16937, 18312, 19688, 21063, 22439, 23814, 25190, 26565, 27941, 29317, 30692, 32068, 33443, 34819, 36194, 37570, 38945, 40321, 41697, 43072, 44448, 45823, 47199, 48574, 49950, 51325, 52701, 54077, 55452, 56828, 58203, 59579, 60954, 62330, 63706, 65081, 66457, 67832, 69208, 70583, 71959, 73334, 74710, 76086, 77461, 78837, 80212, 81588, 82963, 84339, 85714, 87090, 88466, 89841, 91217, 92592, 93968, 95343, 96719, 98094, 99470, 100846]] - data2 = [int(i*1.151) for i in [0, 7627, 9396, 11164, 12933, 14701, 16470, 18238, 20007, 21776, 23544, 25313, 27081, 28850, 30618, 32387, 34156, 35924, 37693, 39461, 41230, 42998, 44767, 46536, 48304, 50073, 51841, 53610, 55378, 57147, 58916, 60684, 62453, 64221, 65990, 67758, 69527, 71296, 73064, 74833, 76601, 78370, 80139, 81907, 83676, 85444, 87213, 88981, 90750, 92519, 94287, 96056, 97824, 99593, 101361, 103130, 104899, 106667, 108436, 110204, 111973, 113741, 115510, 117279, 119047, 120816, 122584, 124353, 126121, 127890, 129659]] - data3 = [int(i*1.151) for i in [0, 177963, 219230, 260496, 301763, 343030, 384296, 425563, 466830, 508097, 549363, 590630, 631897, 673164, 714430, 755697, 796964, 838230, 879497, 920764, 962031, 1003297, 1044564, 1085831, 1127098, 1168364, 1209631, 1250898, 1292165, 1333431, 1374698, 1415965, 1457231, 1498498, 1539765, 1581032, 1622298, 1663565, 1704832, 1746099, 1787365, 1828632, 1869899, 1911165, 1952432, 1993699, 2034966, 2076232, 2117499, 2158766, 2200033, 2241299, 2282566, 2323833, 2365100, 2406366, 2447633, 2488900, 2530166, 2571433, 2612700, 2653967, 2695233, 2736500, 2777767, 2819034, 2860300, 2901567, 2942834, 2984100, 3025367]] - - data0 = [data1,data2,data3] - 次数 = [12,14,1] - - CD = 290.0 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data0)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 * (1 + self.TP成长 * self.TP等级) - - -class 技能26(被动技能): - 名称 = '忍术精通' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - 关联技能 = ['无'] - 冷却关联技能 = ['火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑','火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照','勾玉之火·镰鼬'] - - def CD缩减倍率(self, 武器类型): - return 0.8 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '隐夜·忍者' - 角色 = '暗夜使者' - 职业 = '忍者' - - 武器选项 = ['苦无'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '布甲' - 防具精通属性 = ['智力', '力量'] - - 主BUFF = 2.04 - - 远古记忆 = 0 - - 六道绑定技能 = [] - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - super().被动倍率计算() - self.技能栏[self.技能序号['毕方之印']].攻击次数1 = int(self.时间输入/2.5) - self.技能栏[self.技能序号['毕方之印']].攻击次数2 = math.ceil(self.时间输入 / 10) - 1 - self.火属性强化 += self.技能栏[self.技能序号['毕方之印']].属强加成() - self.技能栏[21].等级 = self.技能栏[22].等级 - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 六道伤害计算 - if self.技能栏[self.技能序号['忍法:六道轮回']].等级 != 0 and 技能释放次数[self.技能序号['忍法:六道轮回']] != 0: - self.技能栏[self.技能序号['忍法:六道轮回']].六道技能显示 = [] - 默认宠物技能 = ['火遁·炎天道', '火遁·蟾蜍油炎弹', - '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照'] -# if self.宠物次数[self.技能序号['忍法:六道轮回']] == 0 : -# self.宠物次数[self.技能序号['忍法:六道轮回']] = 0 -# else: -# self.宠物次数[self.技能序号['忍法:六道轮回']] = 1 - for i in self.六道绑定技能: - if 技能释放次数[self.技能序号[i]] != 0 and self.技能栏[self.技能序号[i]].等级 != 0: - if i in 默认宠物技能: - 技能总伤害[self.技能序号[i]] += 0.8 * 技能单次伤害[self.技能序号[i]] * ( - 1+self.白兔子技能*0.20+self.年宠技能*0.10*self.宠物次数[self.技能序号['忍法:六道轮回']]+self.斗神之吼秘药*0.12) * 技能释放次数[self.技能序号['忍法:六道轮回']] - 默认宠物技能.remove(i) - self.技能栏[self.技能序号['忍法:六道轮回']].六道技能显示.append(i) - else: - 技能总伤害[self.技能序号[i]] += 0.8 * 技能单次伤害[self.技能序号[i]] * \ - (1+self.白兔子技能*0.20 + self.斗神之吼秘药*0.12) * \ - 技能释放次数[self.技能序号['忍法:六道轮回']] - self.技能栏[self.技能序号['忍法:六道轮回']].六道技能显示.append(i) - else: - self.技能栏[self.技能序号['忍法:六道轮回']].自定义描述 = 0 - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 隐夜·忍者(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 载入配置(self, path='set'): - super().载入配置(path) - try: - setfile = open('./ResourceFiles/' + self.角色属性A.实际名称 + '/' + - path + '/skill5.ini', 'r', encoding='utf-8').readlines() - num = 0 - for i in range(len(self.可绑定技能)): - self.绑定技能次数[i].setCurrentIndex( - int(setfile[num].replace('\n', ''))) - num += 1 - except: - pass - - def 界面(self): - super().界面() - - self.六道绑定按钮 = [] - self.可绑定技能 = ['火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法:替身术', - '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照'] - self.绑定技能次数 = [] - - 水平间隔 = 210 - 竖直间隔 = 30 - - for i in range(len(self.可绑定技能)): - self.六道绑定按钮.append(QLabel(self.可绑定技能[i], self.main_frame2)) - self.六道绑定按钮[i].setAlignment(Qt.AlignCenter) - self.六道绑定按钮[i].resize(100, 20) - self.六道绑定按钮[i].move(325 + (i % 2) * 水平间隔, 420 + int(i / 2) * 竖直间隔) - self.六道绑定按钮[i].setStyleSheet(标签样式) - self.绑定技能次数.append(MyQComboBox(self.main_frame2)) - self.绑定技能次数[i].resize(48, 20) - self.绑定技能次数[i].move(440 + (i % 2) * 水平间隔, 420 + int(i / 2) * 竖直间隔) - self.绑定技能次数[i].addItem('0') - self.绑定技能次数[i].addItem('1') - self.绑定技能次数[i].addItem('2') - self.绑定技能次数[i].addItem('3') - self.职业存档.append((self.可绑定技能[i], self.绑定技能次数[i], 1)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) -# for i in range(len(self.可绑定技能)): -# if self.次数输入[self.角色属性A.技能序号[self.可绑定技能[i]]].currentIndex() != 0: -# self.绑定技能次数[i].setCurrentIndex(min(self.绑定技能次数[i].currentIndex(), self.次数输入[self.角色属性A.技能序号[self.可绑定技能[i]]].currentIndex() - 1)) - temp = [] - for i in range(len(self.可绑定技能)): - if self.绑定技能次数[i].currentIndex() == 1: - temp.append(self.可绑定技能[i]) - elif self.绑定技能次数[i].currentIndex() == 2: - temp.append(self.可绑定技能[i]) - temp.append(self.可绑定技能[i]) - elif self.绑定技能次数[i].currentIndex() == 3: - temp.append(self.可绑定技能[i]) - temp.append(self.可绑定技能[i]) - temp.append(self.可绑定技能[i]) - 属性.六道绑定技能 = deepcopy(temp) diff --git a/Characters/隐夜·死灵术士.py b/Characters/隐夜·死灵术士.py deleted file mode 100644 index 4220bf70..00000000 --- a/Characters/隐夜·死灵术士.py +++ /dev/null @@ -1,924 +0,0 @@ -from PublicReference.carry.base import * - -等级 = 100 + 5 - - -class 主动技能(主动技能): - def 等效CD(self, 武器类型, 输出类型): - if (self.所在等级 == 50 or self.所在等级 == 85 or self.所在等级 == 100) or 武器类型 != '手杖': - return round(self.CD / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - else: - return round(self.CD / self.恢复, 1) - - -class 技能0(主动技能): - 名称 = '暗魂波' - 所在等级 = 5 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - 基础等级 = min(int((等级 - 所在等级) / 学习间隔), 等级精通) - data1 = [int(i*1.0) for i in [0, 136, 149, 164, 176, 192, 206, 220, 233, 248, 261, 276, 285, 301, 316, 328, 345, 354, 371, 387, 397, 412, 429, 437, 453, 468, 480, 496, 509, 520, 537, 550, 565, 580, 592, 605, - 620, 636, 646, 663, 676, 687, 703, 718, 730, 746, 755, 770, 788, 800, 812, 828, 840, 854, 869, 881, 896, 911, 923, 937, 951, 964, 979, 994, 1008, 1020, 1035, 1047, 1062, 1078, 1089]] - 攻击次数1 = 3 - - data2 = [int(i*1.0) for i in [0, 566, 626, 679, 742, 797, 857, 910, 970, 1029, 1087, 1140, 1206, 1254, 1315, 1375, 1428, 1494, 1547, 1598, 1664, 1718, 1773, 1837, 1893, 1947, 2006, 2062, 2124, 2182, 2236, 2292, 2351, 2407, 2467, 2526, - 2581, 2637, 2700, 2751, 2812, 2874, 2926, 2980, 3046, 3096, 3160, 3217, 3270, 3334, 3389, 3439, 3504, 3565, 3618, 3676, 3731, 3791, 3848, 3904, 3962, 4020, 4077, 4132, 4191, 4250, 4309, 4368, 4421, 4477, 4544]] - 攻击次数2 = 1 - # 蓄力增伤35% - 倍率 = 1.35 - CD = 3.5 - TP成长 = 0.08 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能1(主动技能): - 名称 = '诅咒之箭' - 所在等级 = 15 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.197) for i in [0, 424, 466, 509, 552, 596, 638, 682, 724, 767, 811, 855, 897, 941, 983, 1026, 1069, 1113, 1155, 1199, 1241, 1285, 1327, 1372, 1414, 1457, 1500, 1543, 1586, 1628, 1672, 1715, 1758, 1801, 1844, - 1886, 1931, 1974, 2017, 2060, 2103, 2145, 2188, 2232, 2274, 2318, 2360, 2404, 2446, 2490, 2533, 2577, 2619, 2663, 2705, 2748, 2791, 2835, 2877, 2921, 2963, 3005, 3050, 3094, 3136, 3179, 3222, 3264, 3308, 3351, 3394]] - 攻击次数 = 5 - CD = 10 - TP成长 = 0.24 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能2(主动技能): - 名称 = '降临:尼古拉斯' - 备注 = '(蜘蛛团)' - 所在等级 = 15 - 等级上限 = 60 - 基础等级 = 46 - data1 = [int(i*1.0) for i in [0, 105, 114, 126, 135, 147, 158, 169, 179, 191, 200, 213, 222, 234, 243, 255, 263, 274, 285, 297, 306, 318, 327, 340, 349, 361, 371, 382, 393, 405, 414, 425, 435, - 447, 457, 468, 479, 489, 501, 511, 522, 533, 543, 555, 565, 575, 586, 596, 607, 618, 629, 640, 650, 661, 672, 683, 694, 704, 715, 726, 736, 748, 757, 769, 779, 791, 800, 812, 822, 834, 844]] - 攻击次数1 = 3 - # 攻击倍率 = [0, 2.196825, 2.38730, 2.59047, 2.793650, 2.996587] - CD = 1 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.TP等级 > 0: - # 变更形态后数组 - self.data1 = [int(i*1.0) for i in [0, 157, 172, 190, 204, 222, 236, 254, 269, 287, 301, 319, 334, 352, 366, 384, 395, 413, 427, 445, 460, 478, 492, 510, 524, 542, 557, 575, 589, 607, 622, 637, 654, 670, - 686, 702, 719, 734, 751, 767, 784, 799, 816, 832, 848, 863, 878, 895, 911, 928, 943, 960, 976, 992, 1008, 1025, 1040, 1057, 1073, 1090, 1104, 1122, 1136, 1154, 1169, 1187, 1201, 1219, 1234, 1252, 1266]] - self.攻击次数1 = 4 - return self.data1[self.等级] * self.攻击次数1 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能3(主动技能): - 名称 = '降临:尼古拉斯(艾克洛索)' - 所在等级 = 15 - 等级上限 = 1 - 基础等级 = 1 - data1 = [int(i*1.0) for i in [0, 208, 229, 251, 272, 294, 316, 337, 359, 379, 400, 423, 444, 466, 487, 508, 528, 549, 572, 593, 614, 636, 657, 678, 700, 721, 743, 764, 786, 808, 829, 851, 872, 894, 916, 937, 959, 980, - 1001, 1023, 1044, 1065, 1087, 1109, 1131, 1151, 1172, 1194, 1215, 1238, 1259, 1280, 1299, 1321, 1343, 1365, 1386, 1407, 1429, 1451, 1473, 1494, 1515, 1537, 1559, 1581, 1602, 1622, 1644, 1666, 1687]] - 攻击次数1 = 1 - data2 = [int(i*1.0) for i in [0, 623, 687, 753, 814, 880, 943, 1008, 1073, 1136, 1201, 1266, 1331, 1396, 1459, 1524, 1586, 1652, 1715, 1780, 1844, 1909, 1974, 2037, 2103, 2167, 2231, 2295, 2358, 2423, 2487, 2553, 2617, 2681, - 2746, 2809, 2874, 2939, 3003, 3067, 3132, 3197, 3261, 3325, 3390, 3454, 3518, 3582, 3647, 3711, 3777, 3841, 3904, 3969, 4033, 4097, 4161, 4225, 4290, 4355, 4420, 4484, 4548, 4612, 4676, 4740, 4805, 4868, 4933, 4998, 5063]] - 攻击次数2 = 1 - CD = 1 - TP成长 = 0.1 - - def 等效百分比(self, 武器类型): - if self.TP等级 > 0: - # 变更形态后数组 - self.data1 = [int(i*1.0) for i in [0, 277, 306, 335, 362, 391, 420, 449, 478, 505, 534, 563, 592, 620, 649, 678, 704, 733, 762, 791, 820, 848, 877, 905, 934, 962, 991, 1020, 1048, 1076, 1105, 1134, 1163, 1192, 1220, - 1249, 1278, 1307, 1334, 1363, 1392, 1421, 1450, 1478, 1507, 1535, 1564, 1592, 1621, 1650, 1679, 1708, 1734, 1763, 1792, 1820, 1849, 1878, 1907, 1936, 1964, 1993, 2021, 2050, 2078, 2107, 2136, 2164, 2192, 2221, 2250]] - self.攻击次数1 = 3 - # 变更形态后攻击次数为0 - self.攻击次数2 = 0 - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能4(主动技能): - 名称 = '驱使僵尸' - 备注 = '自爆' - 所在等级 = 20 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.254) for i in [0, 533, 585, 638, 692, 747, 801, 854, 909, 962, 1018, 1069, 1123, 1177, 1233, 1287, 1340, 1393, 1447, 1503, 1555, 1610, 1664, 1718, 1771, 1825, 1879, 1931, 1986, 2038, 2095, 2147, 2202, 2256, - 2309, 2364, 2417, 2473, 2527, 2581, 2632, 2687, 2742, 2796, 2849, 2905, 2955, 3010, 3065, 3117, 3172, 3225, 3277, 3334, 3388, 3444, 3495, 3550, 3605, 3659, 3711, 3764, 3819, 3873, 3928, 3982, 4033, 4086, 4140, 4195, 4249]] - 攻击次数 = 5 - CD = 8 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - # TP>3且加了buff,伤害会变得异常低,技能面板显示正常 - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能5(主动技能): - 名称 = '服从' - 备注 = '远程' - - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 是否有伤害 = 0 - 关联技能 = ['降临:尼古拉斯', '降临:尼古拉斯(艾克洛索)'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.0 + 0.04 * self.等级, 5) - - -class 技能6(被动技能): - 名称 = '黑暗之环' - 所在等级 = 20 - 等级上限 = 20 - 基础等级 = 10 - 关联技能 = ['无'] - - 自定义描述 = 1 - - def 技能描述(self, 武器类型): - return '暗属性强化+' + str(self.属强加成()) - - def 属强加成(self): - if self.等级 == 0: - return 0 - else: - return (48 + self.等级 * 3) - - -class 技能7(主动技能): - 名称 = '暗影蛛丝阵' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.197) for i in [0, 338, 373, 406, 439, 475, 509, 542, 577, 610, 646, 680, 713, 748, 782, 816, 851, 884, 920, 953, 987, 1022, 1056, 1089, 1125, 1159, 1191, 1226, 1260, 1295, 1328, 1362, 1398, 1432, 1465, - 1501, 1533, 1569, 1603, 1636, 1671, 1704, 1740, 1774, 1808, 1843, 1877, 1909, 1945, 1979, 2012, 2048, 2080, 2117, 2150, 2183, 2218, 2252, 2287, 2321, 2355, 2390, 2423, 2457, 2492, 2527, 2561, 2594, 2629, 2663, 2697]] - 攻击次数 = 19 - CD = 20 - TP成长 = 0.07 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.TP等级 > 0: - # 点TP后数据下降 - self.倍率 *= 0.9 - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能8(主动技能): - 名称 = '死亡之爪' - 所在等级 = 25 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.216) for i in [0, 2565, 2825, 3086, 3346, 3606, 3866, 4127, 4387, 4647, 4907, 5168, 5428, 5688, 5949, 6209, 6469, 6729, 6990, 7250, 7510, 7770, 8031, 8291, 8551, 8811, 9072, 9332, 9592, 9853, 10113, 10373, 10633, 10894, 11154, 11414, - 11674, 11935, 12195, 12455, 12716, 12976, 13236, 13496, 13757, 14017, 14277, 14537, 14798, 15058, 15318, 15578, 15839, 16099, 16359, 16620, 16880, 17140, 17400, 17661, 17921, 18181, 18441, 18702, 18962, 19222, 19483, 19743, 20003, 20263, 20524]] - 攻击次数 = 1 - CD = 7 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能9(主动技能): - 名称 = '死灵之怨' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.196) for i in [0, 316, 348, 379, 412, 444, 476, 508, 540, 572, 604, 637, 669, 700, 732, 765, 797, 829, 861, 893, 925, 958, 990, 1021, 1053, 1086, 1118, 1150, 1182, 1214, 1246, 1278, 1312, 1342, 1374, - 1407, 1439, 1471, 1503, 1535, 1567, 1599, 1633, 1665, 1695, 1727, 1761, 1793, 1824, 1856, 1888, 1920, 1954, 1986, 2016, 2048, 2082, 2114, 2146, 2178, 2210, 2242, 2274, 2307, 2337, 2369, 2403, 2435, 2467, 2497, 2531]] - 攻击次数 = 13 - CD = 10 - TP成长 = 0.10 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能10(主动技能): - 名称 = '百鬼夜行' - 备注 = '(自爆)' - 所在等级 = 30 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.205) for i in [0, 275, 302, 330, 359, 386, 414, 443, 470, 498, 527, 552, 580, 607, 636, 664, 691, 720, 748, 775, 804, 832, 859, 888, 916, 943, 972, 1000, 1027, 1056, 1082, 1109, 1136, 1166, 1193, 1220, - 1250, 1277, 1304, 1334, 1361, 1388, 1418, 1445, 1472, 1502, 1529, 1556, 1581, 1611, 1638, 1667, 1695, 1722, 1751, 1779, 1806, 1835, 1863, 1890, 1919, 1947, 1974, 2003, 2031, 2058, 2083, 2113, 2140, 2167, 2197]] - 攻击次数 = 14 - # 自爆增伤20% - 倍率 = 1.2 - CD = 10 - TP成长 = 0 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - if self.TP等级 == 0: - return self.data[self.等级] * self.攻击次数 * self.倍率 - else: - if self.TP等级 <= 3: - return self.data[self.等级] * (self.攻击次数 + (self.TP等级 + 1)) * self.倍率 - else: - if self.TP等级 <= 5: - return self.data[self.等级] * (self.攻击次数 + (self.TP等级 + 2)) * self.倍率 - - -class 技能11(被动技能): - 名称 = '黑魔法书:亡者之魂' - 所在等级 = 30 - 等级上限 = 10 - 基础等级 = 1 - 关联技能 = ['暗魂波', '诅咒之箭', '驱使僵尸', '暗影蛛丝阵', '死亡之爪', '死灵之怨', '百鬼夜行', '降临:暴君巴拉克', '暗击拳', '巴拉克强击', - '杀戮乱舞', '吸魂暗劲波', '巴拉克的野心', '降临:僵尸莱迪娅', '巴拉克的愤怒', '千魂祭', '死灵之缚', '怨噬之沼', '暗黑蛛丝引', '暴君极刑斩', '亡者君临:巴拉克之戮', '亡者之茧', '命运殇痕·摩罗斯之咒'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.21 + 0.015 * self.等级, 5) - - -class 技能12(主动技能): - 名称 = '降临:暴君巴拉克' - 备注 = '(3下平x+黑手)' - 所在等级 = 35 - 等级上限 = 60 - 等级精通 = 50 - 基础等级 = 36 - data1 = [int(i*1.187) for i in [0, 429, 441, 456, 469, 484, 499, 515, 531, 547, 564, 581, 599, 618, 637, 657, 677, 698, 719, 741, 763, 788, 812, 837, 863, 890, 918, 943, 971, 996, 1023, 1049, 1073, 1103, 1128, 1155, - 1181, 1208, 1234, 1262, 1287, 1313, 1340, 1366, 1394, 1419, 1444, 1471, 1499, 1526, 1550, 1578, 1605, 1630, 1656, 1684, 1710, 1735, 1763, 1790, 1816, 1843, 1869, 1896, 1921, 1948, 1974, 2000, 2028, 2055, 2081]] # 1 - 攻击次数1 = 1 - data2 = [int(i*1.187) for i in [0, 475, 489, 505, 521, 538, 554, 571, 588, 606, 626, 644, 665, 685, 706, 728, 751, 774, 798, 823, 848, 875, 902, 930, 958, 988, 1018, 1048, 1079, 1107, 1135, 1166, 1194, 1225, 1255, 1283, - 1312, 1341, 1373, 1401, 1429, 1459, 1488, 1519, 1549, 1578, 1606, 1635, 1665, 1694, 1726, 1753, 1782, 1811, 1841, 1871, 1900, 1930, 1959, 1988, 2016, 2046, 2076, 2106, 2134, 2164, 2194, 2224, 2253, 2282, 2310]] # 2 - 攻击次数2 = 1 - data3 = [int(i*1.187) for i in [0, 250, 257, 266, 274, 283, 291, 299, 309, 319, 329, 339, 349, 360, 371, 383, 396, 406, 419, 433, 446, 460, 474, 488, 503, 519, 536, 550, 566, 582, 598, 612, 629, 644, - 659, 674, 689, 706, 721, 735, 753, 766, 782, 798, 813, 830, 844, 859, 876, 890, 903, 921, 937, 953, 968, 983, 999, 1014, 1030, 1044, 1060, 1076, 1091, 1107, 1122, 1138, 1153, 1169, 1181, 1197, 1213]] - 攻击次数3 = 5 - data4 = [int(i*1.187) for i in [0, 571, 589, 608, 626, 646, 665, 686, 707, 728, 751, 775, 799, 824, 849, 875, 903, 930, 959, 988, 1019, 1051, 1083, 1116, 1152, 1187, 1224, 1257, 1294, 1329, 1363, 1398, 1436, 1468, 1503, - 1540, 1575, 1610, 1646, 1681, 1716, 1751, 1788, 1823, 1858, 1891, 1927, 1963, 1999, 2032, 2069, 2104, 2139, 2176, 2209, 2244, 2280, 2316, 2350, 2385, 2422, 2457, 2493, 2526, 2563, 2598, 2633, 2669, 2703, 2738, 2774]] # 4 - 攻击次数4 = 1 - CD = 1 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3 + self.data4[self.等级] * self.攻击次数4) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能13(主动技能): - 名称 = '暗击拳' - 备注 = '爆炸' - 所在等级 = 35 - 等级上限 = 1 - 基础等级 = 1 - data = [int(i*1.0) for i in [0, 996, 1027, 1058, 1091, 1124, 1159, 1196, 1231, 1271, 1309, 1350, 1391, 1434, 1478, 1525, 1572, 1621, 1671, 1722, 1775, 1830, 1888, 1946, 2005, 2068, 2131, 2193, 2253, 2316, 2375, 2438, 2499, 2559, - 2622, 2684, 2746, 2806, 2869, 2928, 2991, 3053, 3113, 3175, 3234, 3299, 3361, 3421, 3483, 3544, 3605, 3666, 3728, 3791, 3850, 3913, 3974, 4036, 4097, 4158, 4221, 4281, 4344, 4403, 4466, 4527, 4589, 4650, 4711, 4774, 4834]] - 攻击次数 = 1 - #data = [0, 1271, 1309, 1350, 1391, 1433, 1478, 1523, 1571, 1620, 1669, 1721, 1774, 1830, 1886, 1946, 2006, 2066,2130, 2198, 2265, 2333, 2408, 2483, 2558, 2636, 2719, 2794, 2876, 2951, 3026, 3109, 3184, 3266, 3341, 3420,3503, 3578, 3660, 3735, 3810, 3889, 3968, 4050, 4125, 4208, 4283, 4361, 4444, 4519, 4601, 4673, 4751, 4830,4909, 4988, 5066, 5145, 5224, 5303, 5378, 5456, 5535, 5614, 5693, 5771, 5850, 5929, 6008, 6086, 6161] - CD = 3.0 - TP成长 = 0.1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能14(主动技能): - 名称 = '巴拉克强击' - 所在等级 = 35 - 等级上限 = 1 - 基础等级 = 1 - data = [int(i*1.0) for i in [0, 1835, 1891, 1949, 2010, 2071, 2137, 2204, 2271, 2343, 2413, 2488, 2563, 2644, 2726, 2810, 2898, 2988, 3080, 3174, 3273, 3374, 3480, 3587, 3696, 3811, 3928, 4043, 4155, 4269, 4381, 4494, 4606, 4719, - 4834, 4947, 5062, 5173, 5288, 5399, 5513, 5627, 5739, 5853, 5966, 6081, 6196, 6307, 6422, 6534, 6648, 6759, 6873, 6988, 7099, 7213, 7328, 7441, 7555, 7666, 7781, 7894, 8009, 8119, 8234, 8346, 8460, 8574, 8687, 8799, 8914]] - 攻击次数 = 1 - CD = 2.0 - TP成长 = 0.1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能15(主动技能): - 名称 = '杀戮乱舞' - 所在等级 = 35 - 等级上限 = 1 - 基础等级 = 1 - data1 = [int(i*1.0) for i in [0, 996, 1027, 1058, 1091, 1124, 1159, 1196, 1231, 1271, 1309, 1350, 1391, 1434, 1478, 1525, 1572, 1621, 1671, 1722, 1775, 1830, 1888, 1946, 2005, 2068, 2131, 2193, 2253, 2316, 2375, 2438, 2499, 2559, - 2622, 2684, 2746, 2806, 2869, 2928, 2991, 3053, 3113, 3175, 3234, 3299, 3361, 3421, 3483, 3544, 3605, 3666, 3728, 3791, 3850, 3913, 3974, 4036, 4097, 4158, 4221, 4281, 4344, 4403, 4466, 4527, 4589, 4650, 4711, 4774, 4834]] - 攻击次数1 = 3 - CD = 7.0 - TP成长 = 0.1 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 2 - elif x == 1: - self.倍率 *= 2 + 0.08 - - -class 技能16(主动技能): - 名称 = '吸魂暗劲波' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*1.228) for i in [0, 1327, 1461, 1596, 1731, 1865, 2000, 2134, 2269, 2404, 2538, 2673, 2808, 2942, 3077, 3212, 3346, 3481, 3615, 3750, 3885, 4019, 4154, 4289, 4423, 4558, 4693, 4827, 4962, 5096, 5231, 5366, 5500, 5635, 5770, 5904, - 6039, 6174, 6308, 6443, 6577, 6712, 6847, 6981, 7116, 7251, 7385, 7520, 7655, 7789, 7924, 8058, 8193, 8328, 8462, 8597, 8732, 8866, 9001, 9136, 9270, 9405, 9539, 9674, 9809, 9943, 10078, 10213, 10347, 10482, 10617]] - 攻击次数1 = 2 - data2 = [int(i*1.228) for i in [0, 5977, 6583, 7190, 7796, 8403, 9009, 9615, 10222, 10828, 11435, 12041, 12647, 13254, 13860, 14467, 15073, 15679, 16286, 16892, 17499, 18105, 18712, 19318, 19924, 20531, 21137, 21744, 22350, 22956, 23563, 24169, 24776, 25382, 25988, 26595, - 27201, 27808, 28414, 29020, 29627, 30233, 30840, 31446, 32053, 32659, 33265, 33872, 34478, 35085, 35691, 36297, 36904, 37510, 38117, 38723, 39329, 39936, 40542, 41149, 41755, 42361, 42968, 43574, 44181, 44787, 45394, 46000, 46606, 47213, 47819]] - 攻击次数2 = 1 - CD = 35 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能17(主动技能): - 名称 = '巴拉克的野心' - 所在等级 = 40 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data1 = [int(i*0.954*1.1) for i in [0, 2090, 2302, 2514, 2726, 2938, 3150, 3362, 3574, 3786, 3998, 4210, 4422, 4634, 4846, 5058, 5270, 5482, 5694, 5906, 6118, 6330, 6542, 6754, 6966, 7178, 7390, 7602, 7814, 8026, 8238, 8450, 8662, 8874, 9087, 9299, 9511, 9723, - 9935, 10147, 10359, 10571, 10783, 10995, 11207, 11419, 11631, 11843, 12055, 12267, 12479, 12691, 12903, 13115, 13327, 13539, 13751, 13963, 14175, 14387, 14599, 14811, 15023, 15235, 15447, 15659, 15871, 16084, 16296, 16508, 16720]] - 攻击次数1 = 1 - data2 = [int(i*1.214*1.1) for i in [0, 7389, 8139, 8888, 9638, 10388, 11137, 11887, 12637, 13386, 14136, 14886, 15635, 16385, 17135, 17884, 18634, 19384, 20133, 20883, 21633, 22382, 23132, 23881, 24631, 25381, 26130, 26880, 27630, 28379, 29129, 29879, 30628, 31378, 32128, 32877, - 33627, 34377, 35126, 35876, 36626, 37375, 38125, 38875, 39624, 40374, 41124, 41873, 42623, 43373, 44122, 44872, 45622, 46371, 47121, 47871, 48620, 49370, 50120, 50869, 51619, 52369, 53118, 53868, 54617, 55367, 56117, 56866, 57616, 58366, 59115]] - 攻击次数2 = 1 - CD = 25 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # 游戏内bug 描述为1.18 小于理论提升,但是符合韩服数据 - self.倍率 *= 1.18 * 1.09 - self.CD *= 0.94 - elif x == 1: - # 游戏内bug 描述为1.18 小于理论提升,但是符合韩服数据 - self.倍率 *= 1.18 * 1.18 - self.CD *= 0.94 - - -class 技能18(被动技能): - 名称 = '巴拉克的盟约' - 所在等级 = 40 - 等级上限 = 10 - 基础等级 = 1 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.38 + 0.02 * self.等级, 5) - - -class 技能19(主动技能): - 名称 = '降临:僵尸莱迪娅' - 备注 = '(蓄力)' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - data = [int(i*1.1825*1.08) for i in [0, 453, 499, 545, 590, 635, 682, 729, 775, 819, 866, 912, 957, 1003, 1051, 1095, 1141, 1187, 1233, 1279, 1324, 1370, 1416, 1463, 1508, 1555, 1600, 1646, 1692, 1738, 1783, 1830, 1876, 1921, - 1967, 2013, 2060, 2106, 2150, 2199, 2243, 2290, 2334, 2382, 2425, 2472, 2519, 2566, 2612, 2655, 2703, 2747, 2795, 2840, 2885, 2931, 2978, 3025, 3069, 3116, 3161, 3208, 3252, 3299, 3346, 3391, 3437, 3482, 3530, 3574, 3621]] - 攻击次数 = 30 - # 蓄力增伤 - 倍率 = 1.3 - CD = 45 - TP成长 = 0.1 - TP上限 = 5 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * self.倍率 * (1 + self.TP成长 * self.TP等级) - - -class 技能20(主动技能): - 名称 = '巴拉克的愤怒' - 所在等级 = 45 - 等级上限 = 60 - 学习间隔 = 2 - 等级精通 = 50 - - - data1 = [int(i*1.098*1.1) for i in [0, 891, 981, 1072, 1162, 1253, 1343, 1434, 1524, 1614, 1705, 1795, 1886, 1976, 2067, 2157, 2247, 2338, 2428, 2519, 2609, 2700, 2790, 2880, 2971, 3061, 3152, 3242, 3333, 3423, 3514, 3604, 3694, - 3785, 3875, 3966, 4056, 4147, 4237, 4327, 4418, 4508, 4599, 4689, 4780, 4870, 4960, 5051, 5141, 5232, 5322, 5413, 5503, 5594, 5684, 5774, 5865, 5955, 6046, 6136, 6227, 6317, 6407, 6498, 6588, 6679, 6769, 6860, 6950, 7040, 7131]] - data2 = [int(i*1.098*1.1) for i in [0, 895, 985, 1076, 1167, 1258, 1349, 1439, 1530, 1621, 1712, 1803, 1894, 1984, 2075, 2166, 2257, 2348, 2438, 2529, 2620, 2711, 2802, 2892, 2983, 3074, 3165, 3256, 3346, 3437, 3528, 3619, 3710, - 3801, 3891, 3982, 4073, 4164, 4255, 4345, 4436, 4527, 4618, 4709, 4799, 4890, 4981, 5072, 5163, 5253, 5344, 5435, 5526, 5617, 5708, 5798, 5889, 5980, 6071, 6162, 6252, 6343, 6434, 6525, 6616, 6706, 6797, 6888, 6979, 7070, 7160]] - data3 = [int(i*1.098*1.1) for i in [0, 757, 834, 910, 987, 1064, 1141, 1218, 1294, 1371, 1448, 1525, 1602, 1679, 1755, 1832, 1909, 1986, 2063, 2139, 2216, 2293, 2370, 2447, 2524, 2600, 2677, 2754, 2831, 2908, 2984, 3061, 3138, - 3215, 3292, 3369, 3445, 3522, 3599, 3676, 3753, 3830, 3906, 3983, 4060, 4137, 4214, 4290, 4367, 4444, 4521, 4598, 4675, 4751, 4828, 4905, 4982, 5059, 5135, 5212, 5289, 5366, 5443, 5520, 5596, 5673, 5750, 5827, 5904, 5980, 6057]] - data4 = [int(i*1.098*1.1) for i in [0, 3218, 3545, 3871, 4198, 4524, 4851, 5177, 5504, 5830, 6157, 6483, 6810, 7136, 7463, 7789, 8116, 8442, 8769, 9095, 9422, 9748, 10075, 10401, 10728, 11054, 11381, 11707, 12034, 12360, 12687, 13013, 13340, 13666, 13993, - 14320, 14646, 14973, 15299, 15626, 15952, 16279, 16605, 16932, 17258, 17585, 17911, 18238, 18564, 18891, 19217, 19544, 19870, 20197, 20523, 20850, 21176, 21503, 21829, 22156, 22482, 22809, 23135, 23462, 23788, 24115, 24442, 24768, 25095, 25421, 25748]] - data5 = [int(i*1.098*1.1) for i in [0, 8059, 8877, 9695, 10512, 11330, 12148, 12965, 13783, 14601, 15418, 16236, 17054, 17871, 18689, 19507, 20324, 21142, 21960, 22777, 23595, 24413, 25230, 26048, 26866, 27683, 28501, 29319, 30136, 30954, 31772, 32589, 33407, 34225, - 35042, 35860, 36677, 37495, 38313, 39130, 39948, 40766, 41583, 42401, 43219, 44036, 44854, 45672, 46489, 47307, 48125, 48942, 49760, 50578, 51395, 52213, 53031, 53848, 54666, 55484, 56301, 57119, 57937, 58754, 59572, 60390, 61207, 62025, 62843, 63660, 64478]] - - data0 = [data1, data2, data3, data4, data5] - 次数 = [1, 1, 4, 1, 1] - - CD = 45 - TP成长 = 0.1 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - sum = 0 - for i in range(len(self.data0)): - sum += self.data0[i][self.等级] * self.次数[i] - return sum * self.倍率 * (1 + self.TP成长 * self.TP等级) - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - # 游戏内bug 描述为1.12 小于理论提升,但是符合韩服数据 - self.倍率 *= 1.12 * 1.05 - self.CD *= 0.89 - elif x == 1: - # 游戏内bug 描述为1.12 小于理论提升,但是符合韩服数据 - self.倍率 *= 1.12 * 1.13 - self.CD *= 0.89 - - -class 技能21(被动技能): - 名称 = '屠戮之惧' - 所在等级 = 48 - 等级上限 = 40 - 基础等级 = 20 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.075 + 0.015 * self.等级, 5) - - -class 技能22(主动技能): - 名称 = '千魂祭' - 所在等级 = 50 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.082) for i in [0, 625, 770, 916, 1061, 1206, 1351, 1496, 1641, 1786, 1931, 2077, 2222, 2367, 2512, 2657, 2802, 2947, 3092, 3238, 3383, - 3528, 3673, 3818, 3963, 4108, 4253, 4399, 4544, 4689, 4834, 4979, 5124, 5269, 5414, 5560, 5705, 5850, 5995, 6140, 6285]] - 攻击次数1 = 9 - data2 = [int(i*1.216) for i in [0, 1933, 2381, 2829, 3277, 3726, 4174, 4622, 5070, 5519, 5967, 6415, 6863, 7312, 7760, 8208, 8656, 9105, 9553, 10001, 10449, 10898, - 11346, 11794, 12242, 12691, 13139, 13587, 14035, 14484, 14932, 15380, 15828, 16277, 16725, 17173, 17621, 18070, 18518, 18966, 19414]] - 攻击次数2 = 13 - data3 = [int(i*1.216) for i in [0, 12565, 15478, 18392, 21305, 24219, 27133, 30046, 32960, 35874, 38787, 41701, 44614, 47528, 50442, 53355, 56269, 59183, 62096, 65010, 67923, - 70837, 73751, 76664, 79578, 82492, 85405, 88319, 91232, 94146, 97060, 99973, 102887, 105801, 108714, 111628, 114542, 117455, 120369, 123282, 126196]] - 攻击次数3 = 1 - CD = 145 - # 核对data未加强 - # 攻击倍率 = 1.066 - - def 技能描述(self, 武器类型): - temp = '' - temp += '降临:尼古拉斯, 降临:尼古拉斯(艾克洛索) Lv+5
' - temp += '降临:暴君巴拉克, 暗击拳, 巴拉克强击, 杀戮乱舞Lv+4' - return temp - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能23(主动技能): - 名称 = '死灵之缚' - 所在等级 = 60 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data = [int(i*1.189*1.076) for i in [0, 790, 869, 949, 1029, 1108, 1190, 1270, 1348, 1428, 1508, 1588, 1668, 1749, 1827, 1908, 1990, 2069, 2149, 2230, 2308, 2388, 2470, 2549, 2629, 2707, 2787, 2868, 2948, 3031, 3110, 3189, 3268, - 3349, 3429, 3510, 3589, 3668, 3748, 3829, 3909, 3988, 4069, 4148, 4227, 4310, 4390, 4470, 4548, 4629, 4709, 4788, 4869, 4950, 5028, 5108, 5188, 5268, 5350, 5430, 5508, 5590, 5670, 5749, 5829, 5909, 5988, 6068, 6148, 6229, 6309]] - 攻击次数 = 20 - CD = 30 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data[self.等级] * self.攻击次数) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数 = 20 * (0.3 + 0.99) - elif x == 1: - self.攻击次数 = 20 * (0.3 + 0.99 + 0.1) - - -class 技能24(主动技能): - 名称 = '怨噬之沼' - 所在等级 = 70 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data0 = [0, 6445, 7101, 7755, 8408, 9064, 9717, 10371, 11024, 11680, 12334, 12987, 13640, 14296, 14950, 15604, 16258, 16912, 17566, 18220, 18874, 19528, 20182, 20836, 21490, 22144, 22798, 23452, 24106, 24760, 25414, - 26068, 26722, 27376, 28030, 28684, 29338, 29992, 30646, 31300, 31954, 32608, 33262, 33916, 34570, 35224, 35878, 36532, 37186, 37840, 38494, 39148, 39802, 40456, 41110, 41764, 42418, 43072, 43726, 44380, 45034] - 攻击次数 = 1 - data1 = [0, 3221, 3551, 3877, 4204, 4531, 4857, 5184, 5511, 5840, 6167, 6493, 6820, 7147, 7474, 7801, 8128, 8455, 8782, 9109, 9436, 9763, 10090, 10417, 10744, 11071, 11398, 11725, 12052, 12379, 12706, 13033, - 13360, 13687, 14014, 14341, 14668, 14995, 15322, 15649, 15976, 16303, 16630, 16957, 17284, 17611, 17938, 18265, 18592, 18919, 19246, 19573, 19900, 20227, 20554, 20881, 21208, 21535, 21862, 22189, 22516] - 攻击次数1 = 3 - data2 = [0, 2148, 2367, 2584, 2801, 3020, 3237, 3457, 3674, 3893, 4110, 4327, 4547, 4764, 4983, 5201, 5419, 5637, 5855, 6073, 6291, 6509, 6727, 6945, 7163, 7381, 7599, 7817, 8035, 8253, 8471, 8689, - 8907, 9125, 9343, 9561, 9779, 9997, 10215, 10433, 10651, 10869, 11087, 11305, 11523, 11741, 11959, 12177, 12395, 12613, 12831, 13049, 13267, 13485, 13703, 13921, 14139, 14357, 14575, 14793, 15011] - 攻击次数2 = 3 - data3 = [0, 9669, 10652, 11632, 12615, 13595, 14575, 15558, 16538, 17520, 18500, 19483, 20463, 21443, 22426, 23407, 24388, 25369, 26350, 27331, 28312, 29293, 30274, 31255, 32236, 33217, 34198, 35179, 36160, 37141, - 38122, 39103, 40084, 41065, 42046, 43027, 44008, 44989, 45970, 46951, 47932, 48913, 49894, 50875, 51856, 52837, 53818, 54799, 55780, 56761, 57742, 58723, 59704, 60685, 61666, 62647, 63628, 64609, 65590, 66571, 67552] - 攻击次数3 = 1 - CD = 50 - TP成长 = 0.10 - TP上限 = 5 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data0[self.等级] * self.攻击次数 + self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2+self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['魔界', '圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.26 - elif x == 1: - self.倍率 *= 1.3 - - -class 技能25(主动技能): - 名称 = '暗黑蛛丝引' # 一部分伤害分给尼古拉斯了,约2.32765倍 - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 16 - data1 = [int(i*1.19*1.074) for i in [0, 5435, 5986, 6537, 7089, 7640, 8192, 8743, 9294, 9846, 10397, 10949, 11500, 12051, 12603, 13154, 13706, 14257, 14808, 15360, 15911, - 16463, 17014, 17565, 18117, 18668, 19219, 19771, 20322, 20874, 21425, 21976, 22528, 23079, 23631, 24182, 24733, 25285, 25836, 26388, 26939]] - 攻击次数1 = 1 - data2 = [int(i*1.19*1.074) for i in [0, 7246, 7982, 8717, 9452, 10187, 10922, 11658, 12393, 13128, 13863, 14598, 15333, 16069, 16804, 17539, 18274, 19009, 19745, 20480, 21215, - 21950, 22685, 23421, 24156, 24891, 25626, 26361, 27097, 27832, 28567, 29302, 30037, 30772, 31508, 32243, 32978, 33713, 34448, 35184, 35919]] - 攻击次数2 = 1 - data3 = [int(i*1.19*1.074) for i in [0, 905, 997, 1089, 1181, 1273, 1365, 1457, 1549, 1641, 1732, 1824, 1916, 2008, 2100, 2192, 2284, 2376, 2468, 2560, - 2651, 2743, 2835, 2927, 3019, 3111, 3203, 3295, 3387, 3479, 3570, 3662, 3754, 3846, 3938, 4030, 4122, 4214, 4306, 4398, 4489]] - 攻击次数3 = 6 - CD = 20 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.攻击次数1 = 0 - self.攻击次数2 = 0 - self.攻击次数3 = 6 * (1 + 3.53) - self.CD *= 0.9 - - -class 技能26(被动技能): - 名称 = '亡魂之息' - 所在等级 = 75 - 等级上限 = 40 - 基础等级 = 11 - 关联技能 = ['降临:尼古拉斯', '降临:尼古拉斯(艾克洛索)', '驱使僵尸', '暗影蛛丝阵', '死亡之爪', '死灵之怨', '百鬼夜行', - '降临:暴君巴拉克', '暗击拳', '巴拉克强击', '杀戮乱舞', '吸魂暗劲波', '巴拉克的野心', '降临:僵尸莱迪娅', - '巴拉克的愤怒', '千魂祭', '死灵之缚', '怨噬之沼', '暗黑蛛丝引', '暴君极刑斩', '亡者君临:巴拉克之戮', '亡者之茧', '命运殇痕·摩罗斯之咒'] - 关联技能2 = ['暗魂波', '诅咒之箭'] - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.16 + 0.02 * self.等级, 5) - - def 加成倍率2(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.31 + 0.02 * self.等级, 5) - - -class 技能27(主动技能): - 名称 = '暴君极刑斩' - 所在等级 = 80 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data = [int(i*1.136*1.082) for i in [0, 43448, 47856, 52264, 56671, 61079, 65487, 69895, 74303, 78710, 83118, 87526, 91934, 96342, 100750, 105157, 109565, 113973, 118381, 122789, 127196, - 131604, 136012, 140420, 144828, 149236, 153643, 158051, 162459, 166867, 171275, 175682, 180090, 184498, 188906, 193314, 197722, 202129, 206537, 210945, 215353]] - 攻击次数 = 1 - CD = 45 - 是否有护石 = 1 - - def 等效百分比(self, 武器类型): - return self.data[self.等级] * self.攻击次数 * (1 + self.TP成长 * self.TP等级) * self.倍率 - - 护石选项 = ['圣痕'] - - def 装备护石(self, x): - if x == 0: - self.倍率 *= 1.31 - - -class 技能28(主动技能): - 名称 = '亡者君临:巴拉克之戮' - 所在等级 = 85 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.189*1.072) for i in [0, 18411, 22681, 26949, 31219, 35489, 39758, 44028, 48297, 52566, 56835, 61105, 65376, 69644, 73914, 78182, 82452, 86722, 90990, 95261, 99530, 103799, - 108069, 112338, 116607, 120876, 125147, 129416, 133685, 137955, 142223, 146493, 150763, 155032, 159302, 163571, 167840, 172110, 176379, 180648, 184917]] - 攻击次数1 = 1 - data2 = [int(i*1.189*1.072) for i in [0, 2509, 3091, 3673, 4255, 4837, 5419, 6002, 6584, 7166, 7748, 8329, 8911, 9493, 10075, 10657, 11239, 11821, 12403, 12985, 13567, - 14149, 14731, 15313, 15895, 16477, 17060, 17642, 18224, 18805, 19387, 19969, 20550, 21132, 21714, 22296, 22878, 23460, 24042, 24624, 25206]] - 攻击次数2 = 11 - data3 = [int(i*1.189*1.072) for i in [0, 46029, 56704, 67377, 78051, 88725, 99397, 110071, 120745, 131419, 142093, 152766, 163440, 174113, 184787, 195461, 206134, 216808, 227482, 238156, 248829, - 259503, 270176, 280850, 291524, 302198, 312872, 323544, 334218, 344892, 355565, 366240, 376914, 387587, 398261, 408933, 419607, 430282, 440955, 451629, 462303]] - 攻击次数3 = 1 - CD = 180 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数1 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * (1 + self.TP成长 * self.TP等级) * self.倍率 - - -class 技能29(被动技能): - 名称 = '冥河之钥' - 所在等级 = 95 - 等级上限 = 40 - 基础等级 = 4 - - def 加成倍率(self, 武器类型): - if self.等级 == 0: - return 1.0 - else: - return round(1.18 + 0.02 * self.等级, 5) - - -class 技能30(主动技能): - 名称 = '亡者之茧' - 所在等级 = 95 - 等级上限 = 40 - 学习间隔 = 2 - 等级精通 = 30 - - data1 = [int(i*1.196*1.075) for i in [0, 4803, 5290, 5777, 6264, 6752, 7239, 7726, 8213, 8701, 9188, 9675, 10162, 10650, 11137, 11624, 12111, 12599, 13086, 13573, 14060, 14547, 15035, 15522, 16009, 16496, 16984, 17471, 17958, 18445, 18933, 19420, 19907, 20394, 20881, - 21369, 21856, 22343, 22830, 23318, 23805, 24292, 24779, 25267, 25754, 26241, 26728, 27216, 27703, 28190, 28677, 29164, 29652, 30139, 30626, 31113, 31601, 32088, 32575, 33062, 33550, 34037, 34524, 35011, 35499, 35986, 36473, 36960, 37447, 37935, 38422]] - 攻击次数 = 5 - data2 = [int(i*1.196*1.075) for i in [0, 56032, 61716, 67400, 73084, 78769, 84454, 90138, 95822, 101507, 107191, 112875, 118559, 124245, 129929, 135613, 141297, 146983, 152667, 158351, 164035, 169720, 175404, 181088, 186772, 192458, 198142, 203826, 209510, 215194, 220880, 226564, 232248, 237932, 243617, - 249302, 254986, 260670, 266355, 272039, 277723, 283407, 289093, 294777, 300461, 306145, 311831, 317515, 323199, 328883, 334568, 340252, 345936, 351621, 357306, 362990, 368674, 374358, 380042, 385728, 391412, 397096, 402780, 408465, 414150, 419834, 425518, 431203, 436887, 442571, 448255]] - 攻击次数2 = 1 - CD = 60.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数2) * self.倍率 - - -class 技能31(主动技能): - 名称 = '命运殇痕·摩罗斯之咒' - 所在等级 = 100 - 等级上限 = 40 - 学习间隔 = 5 - 等级精通 = 30 - - data1 = [int(i*1.197) for i in [0, 283901, 349736, 415568, 481400, 547233, 613065, 678899, 744732, 810564, 876396, 942228, 1008063, 1073895, 1139727, 1205560, 1271392, 1337226, 1403059, 1468891, 1534723, 1600555, 1666390, 1732222, 1798054, 1863887, 1929719, 1995553, 2061386, 2127218, 2193050, 2258882, 2324717, 2390549, 2456381, - 2522214, 2588046, 2653880, 2719713, 2785545, 2851377, 2917209, 2983044, 3048876, 3114708, 3180541, 3246373, 3312207, 3378040, 3443872, 3509704, 3575536, 3641371, 3707203, 3773035, 3838868, 3904700, 3970534, 4036367, 4102199, 4168031, 4233863, 4299698, 4365530, 4431362, 4497195, 4563027, 4628861, 4694694, 4760526, 4826358]] - 攻击次数 = 1 - CD = 290.0 - - 关联技能 = ['无'] - - def 加成倍率(self, 武器类型): - return 0.0 - - def 等效百分比(self, 武器类型): - return (self.data1[self.等级] * self.攻击次数) * self.倍率 - - -技能列表 = [] -i = 0 -while i >= 0: - try: - tem = eval('技能'+str(i)+'()') - tem.基础等级计算() - 技能列表.append(tem) - i += 1 - except: - i = -1 - -技能序号 = dict() -for i in range(len(技能列表)): - 技能序号[技能列表[i].名称] = i - -一觉序号 = 0 -二觉序号 = 0 -三觉序号 = 0 -for i in 技能列表: - if i.所在等级 == 50: - 一觉序号 = 技能序号[i.名称] - if i.所在等级 == 85: - 二觉序号 = 技能序号[i.名称] - if i.所在等级 == 100: - 三觉序号 = 技能序号[i.名称] - -护石选项 = ['无'] -for i in 技能列表: - if i.是否有伤害 == 1 and i.是否有护石 == 1: - 护石选项.append(i.名称) - -符文选项 = ['无'] -for i in 技能列表: - if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1: - if i.名称 not in ['降临:暴君巴拉克','暗击拳','巴拉克强击','杀戮乱舞']: - 符文选项.append(i.名称) - - -class 职业属性(角色属性): - 实际名称 = '隐夜·死灵术士' - 角色 = '暗夜使者' - 职业 = '死灵术士' - - 武器选项 = ['匕首', '手杖'] - - 类型选择 = ['魔法百分比'] - - 类型 = '魔法百分比' - 防具类型 = '轻甲' - 防具精通属性 = ['智力'] - - 主BUFF = 2.14 - - 远古记忆 = 0 - - 一觉Buff开关 = 0 - 王子显示开关 = 0 - 大巴显示开关 = 0 - - def __init__(self): - 基础属性输入(self) - self.技能栏 = deepcopy(技能列表) - self.技能序号 = deepcopy(技能序号) - - def 被动倍率计算(self): - if self.一觉Buff开关 == 1: - self.一觉提升技能1 = ['降临:尼古拉斯', '降临:尼古拉斯(艾克洛索)'] - self.一觉提升技能2 = ['降临:暴君巴拉克', - '暗击拳', '巴拉克强击', '杀戮乱舞'] - self.技能栏[self.技能序号['千魂祭']].自定义描述 = 1 - for i in self.一觉提升技能1: - x = self.技能栏[self.技能序号[i]] - x.等级 += 5 - for j in self.一觉提升技能2: - x = self.技能栏[self.技能序号[j]] - x.等级 += 4 - if self.大巴显示开关 == 0: - self.技能栏[self.技能序号['降临:暴君巴拉克']].备注 = '' - if self.王子显示开关 == 0: - self.技能栏[self.技能序号['降临:尼古拉斯']].备注 = '' - - if self.装备检查('守护的抉择'): - if self.护石第一栏 == '杀戮乱舞': - self.技能栏[self.技能序号['暗击拳']].CD *= 0.7 - self.技能栏[self.技能序号['暗击拳']].倍率 *= 1.55 - self.技能栏[self.技能序号['巴拉克强击']].CD *= 0.7 - self.技能栏[self.技能序号['巴拉克强击']].倍率 *= 1.55 - self.技能栏[self.技能序号['降临:暴君巴拉克']].倍率 *= 1.55 - if self.护石第二栏 == '杀戮乱舞': - self.技能栏[self.技能序号['暗击拳']].CD *= 0.75 - self.技能栏[self.技能序号['暗击拳']].倍率 *= 1.45 - self.技能栏[self.技能序号['巴拉克强击']].CD *= 0.75 - self.技能栏[self.技能序号['巴拉克强击']].倍率 *= 1.45 - self.技能栏[self.技能序号['降临:暴君巴拉克']].倍率 *= 1.45 - - super().被动倍率计算() - self.暗属性强化 += self.技能栏[self.技能序号['黑暗之环']].属强加成() - - self.技能栏[self.技能序号['降临:尼古拉斯(艾克洛索)'] - ].等级 = self.技能栏[self.技能序号['降临:尼古拉斯']].等级 - self.技能栏[self.技能序号['降临:尼古拉斯(艾克洛索)'] - ].TP等级 = self.技能栏[self.技能序号['降临:尼古拉斯']].TP等级 - - for i in [self.技能序号['暗击拳'], self.技能序号['巴拉克强击'], self.技能序号['杀戮乱舞']]: - self.技能栏[i].等级 = self.技能栏[self.技能序号['降临:暴君巴拉克']].等级 - self.技能栏[i].TP等级 = self.技能栏[self.技能序号['降临:暴君巴拉克']].TP等级 - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - if self.技能栏[self.技能序号['降临:暴君巴拉克']].等级 != 0 and self.大巴显示开关 == 0: - 技能总伤害[self.技能序号['降临:暴君巴拉克']] += 技能总伤害[self.技能序号['暗击拳']] + \ - 技能总伤害[self.技能序号['巴拉克强击']] + 技能总伤害[self.技能序号['杀戮乱舞']] - 技能总伤害[self.技能序号['暗击拳']] = 0 - 技能总伤害[self.技能序号['巴拉克强击']] = 0 - 技能总伤害[self.技能序号['杀戮乱舞']] = 0 - - if self.技能栏[self.技能序号['降临:尼古拉斯']].等级 != 0 and self.王子显示开关 == 0: - 技能总伤害[self.技能序号['降临:尼古拉斯']] += 技能总伤害[self.技能序号['降临:尼古拉斯(艾克洛索)']] - 技能总伤害[self.技能序号['降临:尼古拉斯(艾克洛索)']] = 0 - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - -class 隐夜·死灵术士(角色窗口): - def 窗口属性输入(self): - self.初始属性 = 职业属性() - self.角色属性A = 职业属性() - self.角色属性B = 职业属性() - self.一觉序号 = 一觉序号 - self.二觉序号 = 二觉序号 - self.三觉序号 = 三觉序号 - self.护石选项 = deepcopy(护石选项) - self.符文选项 = deepcopy(符文选项) - - def 界面(self): - super().界面() - self.一觉Buff开关 = QCheckBox('一觉Buff', self.main_frame2) - self.一觉Buff开关.resize(200, 20) - self.一觉Buff开关.move(335, 420) - self.一觉Buff开关.setStyleSheet(复选框样式) - self.一觉Buff开关.setChecked(True) - - self.王子显示开关 = QCheckBox('降临:尼古拉斯拆分显示', self.main_frame2) - self.王子显示开关.resize(200, 20) - self.王子显示开关.move(335, 450) - self.王子显示开关.setStyleSheet(复选框样式) - self.王子显示开关.setChecked(False) - - self.大巴显示开关 = QCheckBox('降临:暴君巴拉克拆分显示', self.main_frame2) - self.大巴显示开关.resize(200, 20) - self.大巴显示开关.move(335, 480) - self.大巴显示开关.setStyleSheet(复选框样式) - self.大巴显示开关.setChecked(False) - - self.职业存档.append(('一觉Buff开关', self.一觉Buff开关, 0)) - self.职业存档.append(('王子显示开关', self.王子显示开关, 0)) - self.职业存档.append(('大巴显示开关', self.大巴显示开关, 0)) - - def 输入属性(self, 属性, x=0): - super().输入属性(属性, x) - if self.一觉Buff开关.isChecked(): - 属性.一觉Buff开关 = 1 - if self.觉醒选择状态 == 1: - 属性.一觉Buff开关 = 0 - if self.王子显示开关.isChecked(): - 属性.王子显示开关 = 1 - if self.大巴显示开关.isChecked(): - 属性.大巴显示开关 = 1 - - def 强化觉醒选择(self, index): - self.觉醒选择状态 = index - if index == 1: - self.一觉遮罩透明度.setOpacity(0.0) - self.二觉遮罩透明度.setOpacity(0.5) - self.一觉Buff开关.setEnabled(False) - self.一觉Buff开关.setStyleSheet(复选框样式) - if index == 2: - self.一觉遮罩透明度.setOpacity(0.5) - self.二觉遮罩透明度.setOpacity(0.0) - self.一觉Buff开关.setEnabled(True) - self.一觉Buff开关.setStyleSheet(复选框样式) - - self.一觉遮罩.setGraphicsEffect(self.一觉遮罩透明度) - self.二觉遮罩.setGraphicsEffect(self.二觉遮罩透明度) diff --git a/PublicReference/__init__.py b/PublicReference/__init__.py deleted file mode 100644 index 33ab2128..00000000 --- a/PublicReference/__init__.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ------------------------------- -# File : logging -# DateTime : 2020/6/10 0010 17:21 -# Author : Chen Ji -# Email : fzls.zju@gmail.com -# ------------------------------- - -from .utils.common import * -import multiprocessing -from datetime import datetime - -process_name = multiprocessing.current_process().name -time_str = datetime.now().strftime('%Y_%m_%d_%H_%M_%S') -only_need_main_process_log = True -if not only_need_main_process_log or "MainProcess" in process_name: - fileHandler = logging.FileHandler("{0}/{1}_{2}_{3}.log".format( - log_directory, logger.name, process_name, time_str), - encoding="utf-8") - fileHandler.setFormatter(logFormatter) - fileHandler.setLevel(logging.DEBUG) - logger.addHandler(fileHandler) - -consoleHandler = logging.StreamHandler() -consoleHandler.setFormatter(logFormatter) -consoleHandler.setLevel(logging.INFO) -logger.addHandler(consoleHandler) diff --git a/PublicReference/buffer/base.py b/PublicReference/buffer/base.py deleted file mode 100644 index 6581f72f..00000000 --- a/PublicReference/buffer/base.py +++ /dev/null @@ -1,3450 +0,0 @@ -from ctypes import * - -from .panel import * -from .property import * -from PublicReference.choise.选项设置_buff import * -from PublicReference.common import * -from PublicReference.utils.common import * -from PublicReference.view.DialogRegister import DefaultDialogRegister -from PublicReference.equipment.冒险家名望 import * - - -class 角色窗口(窗口): - def __init__(self): - self.初始属性: 辅助角色属性 = None - self.护石选项 = [ - '无', 'BUFF力量、智力+2%', 'BUFF力量、智力+4%', 'BUFF力量、智力+6%', 'BUFF力量、智力+8%' - ] - self.登记启用 = False - super().__init__() - - store.bind(self, "登记启用", "/{type}/data/register_enable") - - def 称号描述(self): - temp = '' - temp += '' + trans( - self.称号.currentData()) + '
' - temp += 称号列表[self.称号.currentIndex()].装备描述_BUFF(self.角色属性B)[:-4] - temp += '
' - return temp - - def 宠物描述(self): - temp = '' - temp += '' + self.宠物.currentData( - ) + '
' - temp += 宠物列表[self.宠物.currentIndex()].装备描述_BUFF(self.角色属性B)[:-4] - temp += '
' - return temp - - def 界面(self): - self.setFixedSize(1120, 680) - self.窗口高度 = 680 - self.行高 = 30 - self.输出背景图片 = QPixmap(trans("./ResourceFiles/img/输出背景_BUFF.png")) - super().界面() - - def 界面1(self): - super().界面1() - # increase_counter(ga_category="buffer界面", name="装备/选择/打造") - - for i in 称号列表: - self.称号.addItem(trans(i.显示名称), i.名称) - - for i in 宠物列表: - self.宠物.addItem(trans(i.显示名称), i.名称) - - 标签 = QLabel(self.main_frame1) - 人物 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/职业.png") - 标签.setPixmap(人物) - 标签.resize(191, 523) - 标签.move(922 + int((191 - 人物.width()) / 2), 10) - - self.百变怪选项 = QCheckBox(trans('百变怪'), self.main_frame1) - self.百变怪选项.move(660, 613) - self.百变怪选项.resize(80, 24) - self.百变怪选项.setToolTip( - '{}'.format('仅在极速模式和套装模式下生效')) - self.百变怪选项.setStyleSheet(复选框样式) - - self.计算模式选择 = MyQComboBox(self.main_frame1) - self.计算模式选择.addItems(['计算模式:极速模式', '计算模式:套装模式', '计算模式:单件模式']) - self.计算模式选择.move(750, 613) - self.计算模式选择.resize(235, 24) - self.计算模式选择.setStyleSheet(下拉框样式) - self.计算模式选择.setToolTip('{}'.format( - trans( - '极速模式:533和3332(散搭) (不含智慧产物)

套装模式:533、3332(散搭)和3233(双防具) (不含智慧产物)

单件模式:所有组合 (不含百变怪)' - ))) - - self.切装模式选项 = QCheckBox(trans('一觉切1件装备'), self.main_frame1) - self.切装模式选项.move(875, 580) - self.切装模式选项.resize(105, 24) - self.切装模式选项.setToolTip('{}'.format( - trans('仅对极速/套装模式中的3332散搭组合生效

默认相同打造'))) - self.切装模式选项.setStyleSheet(复选框样式) - - self.神话排名选项 = QCheckBox(trans('神话排名模式'), self.main_frame1) - self.神话排名选项.move(990, 580) - self.神话排名选项.resize(100, 24) - self.神话排名选项.setToolTip('{}'.format( - trans('仅显示有神话的组合,且每件神话装备只会出现一次'))) - self.神话排名选项.setStyleSheet(复选框样式) - - self.最大使用线程数 = thread_num - self.线程数选择 = MyQComboBox(self.main_frame1) - self.线程数选择.move(660, 580) - self.线程数选择.resize(80, 24) - for i in range(thread_num, 0, -1): - self.线程数选择.addItem(trans('进程:') + str(i)) - if thread_num > 1: - self.线程数选择.setCurrentIndex(1) - - self.禁用存档 = QCheckBox(trans('禁用自动存档'), self.main_frame1) - self.禁用存档.move(990, 545) - self.禁用存档.resize(100, 24) - self.禁用存档.setStyleSheet(复选框样式) - - 重置按钮 = QPushButton(trans('全局重置'), self.main_frame1) - 重置按钮.clicked.connect(lambda state: self.全局重置()) - 重置按钮.move(880, 545) - 重置按钮.resize(100, 24) - 重置按钮.setStyleSheet(按钮样式) - - self.排行参数 = MyQComboBox(self.main_frame1) - self.排行参数.addItems(['提升率排行', '面板排行', '力智排行', '三攻排行']) - self.排行参数.move(770, 545) - self.排行参数.resize(100, 24) - - self.存档选择 = MyQComboBox(self.main_frame1) - self.存档选择.move(660, 545) - self.存档选择.resize(90, 24) - self.存档选择.currentIndexChanged.connect(lambda state: self.存档更换()) - - # 一键修正按钮添加 - self.一键站街设置输入.append(QLineEdit(self.main_frame1)) - self.一键站街设置输入[0].setAlignment(Qt.AlignCenter) - self.一键站街设置输入[0].setStyleSheet(输入框样式) - self.一键站街设置输入[0].resize(45, 24) - self.一键站街设置输入[0].move(750, 580) - - self.一键修正按钮 = QPushButton(trans('一键修正'), self.main_frame1) - self.一键修正按钮.clicked.connect(lambda state: self.一键修正()) - self.一键修正按钮.move(800, 580) - self.一键修正按钮.resize(70, 24) - self.一键修正按钮.setStyleSheet(按钮样式) - - 增幅选项 = [] - for i in range(12): - combo = self.装备打造选项[i + 12] - combo.currentIndexChanged.connect( - lambda: store.emit("/{type}/data/amplifies")) - 增幅选项.append(combo) - store.compute("/{type}/data/amplifies", - lambda: [i.currentIndex() for i in 增幅选项], None) - - def 界面2(self): - # increase_counter(ga_category="buffer界面", name="技能/符文/其它") - # 第二个布局界面 - self.main_frame2 = QWidget() - - # 技能等级、次数输入 - - self.护石第一栏 = MyQComboBox(self.main_frame2) - self.护石第二栏 = MyQComboBox(self.main_frame2) - self.护石第三栏 = MyQComboBox(self.main_frame2) - - self.等级调整 = [] - self.次数输入 = [] - - num = 0 - for skill in self.角色属性A.技能表.values(): - level_combo = MyQComboBox(self.main_frame2) - enable_combo = MyQComboBox(self.main_frame2) - - level_min = 0 if skill.所在等级 == 50 or skill.所在等级 == 85 else -skill.基础等级 - level_max = skill.等级上限 - skill.基础等级 + 1 - - for j in range(level_min, level_max): - level_combo.addItem(str(j)) - for j in range(2): - enable_combo.addItem(str(j)) - enable_combo.activated.connect( - lambda state, index=num: self.BUFF次数输入填写(index)) - self.等级调整.append(level_combo) - self.次数输入.append(enable_combo) - num += 1 - 横坐标 = 30 - 纵坐标 = 0 - 横坐标偏移量 = 60 - 纵坐标偏移量 = 30 - 词条框宽度 = 48 - 行高 = 20 - - counter = 0 - for i in trans(['契约满级', '等级调整', '是否适用']): - x = QLabel(i, self.main_frame2) - x.move(横坐标 + 横坐标偏移量 - 30 + 50 * counter, 纵坐标 + 5) - x.setStyleSheet(标签样式) - counter += 1 - - 纵坐标 += 20 - - num = 0 - for skill in self.角色属性A.技能表.values(): - x = QLabel(self.main_frame2) - x.setPixmap(self.技能图片[num]) - x.resize(28, 28) - tempstr = '' + \ - skill.名称 + skill.备注 + '
' - tempstr += '所在等级:' + str(skill.所在等级) + '
' - tempstr += '等级上限:' + str(skill.等级上限) + '
' - x.setToolTip(tempstr) - x.move(横坐标, 纵坐标 + 7) - 横坐标 += 40 - x = QLabel('Lv' + str(skill.基础等级), self.main_frame2) - x.resize(40, 28) - x.move(横坐标, 纵坐标 + 7) - x.setStyleSheet(标签样式) - 横坐标 += 40 - self.等级调整[num].resize(词条框宽度, 行高) - self.等级调整[num].move(横坐标, 纵坐标 + 10) - 横坐标 -= 80 - 纵坐标 += 纵坐标偏移量 - num += 1 - - 横坐标 = 横坐标 + 80 + 50 - 纵坐标 = 30 - - for i in range(len(self.角色属性A.技能表)): - self.次数输入[i].resize(词条框宽度, 行高) - self.次数输入[i].move(横坐标, 纵坐标) - 纵坐标 += 纵坐标偏移量 - - self.护石第一栏.addItems(self.护石选项) - self.护石第二栏.addItems(self.护石选项) - self.护石第三栏.addItems(self.护石选项) - self.护石栏 = [self.护石第一栏, self.护石第二栏, self.护石第三栏] - - 横坐标 = 395 - 纵坐标 = 20 - 行高 = 18 - x = QLabel(trans("护石") + "Ⅰ", self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.护石第一栏.move(横坐标, 纵坐标) - self.护石第一栏.resize(130, 行高) - - 横坐标 = 565 - 纵坐标 = 20 - x = QLabel(trans("护石") + "Ⅱ", self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.护石第二栏.move(横坐标, 纵坐标) - self.护石第二栏.resize(130, 行高) - - 横坐标 = 395 - 纵坐标 = 70 - 行高 = 18 - x = QLabel(trans("护石") + "Ⅲ", self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.护石第三栏.move(横坐标, 纵坐标) - self.护石第三栏.resize(130, 行高) - - self.辟邪玉选择 = [] - self.辟邪玉数值 = [] - x = QLabel(trans("辟邪玉选择"), self.main_frame2) - x.move(395, 115 + 5) - x.setStyleSheet(标签样式) - for i in range(4): - x = MyQComboBox(self.main_frame2) - for j in 辟邪玉列表: - # '[' + str(j.编号) + ']' + - x.addItem(j.名称) - x.resize(200, 20) - x.move(395, 140 + i * 25) - x.currentIndexChanged.connect( - lambda state, index=i: self.辟邪玉数值选项更新(index)) - self.辟邪玉选择.append(x) - y = MyQComboBox(self.main_frame2) - y.resize(80, 20) - y.move(615, 140 + i * 25) - self.辟邪玉数值.append(y) - - self.复选框列表 = [] - for i in 选项设置列表: - self.复选框列表.append(QCheckBox(trans(i.名称), self.main_frame2)) - - 横坐标 = 395 - 纵坐标 = 240 - - x = QLabel(trans("武器融合:"), self.main_frame2) - x.move(横坐标, 纵坐标 + 5) - x.resize(300, 20) - x.setStyleSheet(标签样式) - - self.希洛克武器选择 = MyQComboBox(self.main_frame2) - self.希洛克武器选择.addItems(['武器词条:无', '自适应最高值', '自选词条数值']) - self.希洛克武器选择.resize(120, 20) - self.希洛克武器选择.move(横坐标 + 60, 纵坐标 + 5) - self.希洛克武器选择.currentIndexChanged.connect( - lambda state: self.希洛克武器选择更新()) - 纵坐标 += 10 - self.武器融合属性A = MyQComboBox(self.main_frame2) - for j in 武器属性A列表: - self.武器融合属性A.addItem(j.固定属性描述) - self.武器融合属性A.resize(60, 20) - self.武器融合属性A.move(横坐标, 纵坐标 + 25) - - self.武器融合属性A1 = MyQComboBox(self.main_frame2) - self.武器融合属性A1.resize(90 + 75, 20) - self.武器融合属性A1.move(横坐标 + 110 - 50 + 5, 纵坐标 + 25) - - self.武器融合属性A2 = MyQComboBox(self.main_frame2) - self.武器融合属性A2.resize(50, 20) - self.武器融合属性A2.move(横坐标 + 205 + 20 + 10, 纵坐标 + 25) - self.武器融合属性A.currentIndexChanged.connect( - lambda: self.希洛克武器随机词条更新(self.武器融合属性A.currentIndex())) - - x = QLabel(trans("择优方向"), self.main_frame2) - x.move(横坐标 + 335, 纵坐标 + 15) - x.resize(300, 20) - x.setStyleSheet(标签样式) - - self.觉醒择优方向 = MyQComboBox(self.main_frame2) - self.觉醒择优方向.addItem('自选觉醒择优系数') - self.觉醒择优方向.addItem('续航向:觉醒0.7系数') - self.觉醒择优方向.addItem('爆发向:觉醒1.0系数') - self.觉醒择优方向.resize(138, 20) - self.觉醒择优方向.move(横坐标 + 300, 纵坐标 + 40) - self.觉醒择优方向.currentIndexChanged.connect( - lambda index: self.调整觉醒择优方向(index)) - - self.觉醒择优系数 = MyQComboBox(self.main_frame2) - self.觉醒择优系数.resize(138, 20) - self.觉醒择优系数.move(横坐标 + 440, 纵坐标 + 40) - for i in range(21): - self.觉醒择优系数.addItem(str(round(i / 10, 1))) - self.觉醒择优系数.setCurrentIndex(10) - - 纵坐标 = 纵坐标 + 30 - self.武器融合属性B = MyQComboBox(self.main_frame2) - for j in 武器属性B列表: - self.武器融合属性B.addItem(j.固定属性描述) - self.武器融合属性B.resize(60, 20) - self.武器融合属性B.move(横坐标, 纵坐标 + 25) - - self.武器融合属性B1 = MyQComboBox(self.main_frame2) - self.武器融合属性B1.resize(90 + 75, 20) - self.武器融合属性B1.move(横坐标 + 110 - 50 + 5, 纵坐标 + 25) - - self.武器融合属性B2 = MyQComboBox(self.main_frame2) - self.武器融合属性B2.resize(50, 20) - self.武器融合属性B2.move(横坐标 + 205 + 20 + 10, 纵坐标 + 25) - self.武器融合属性B.currentIndexChanged.connect( - lambda: self.希洛克武器随机词条更新(self.武器融合属性B.currentIndex(), 1)) - - 纵坐标 = 纵坐标 + 60 - 标签 = QLabel(trans('黑鸦遴选词条'), self.main_frame2) - 标签.setStyleSheet(标签样式 + 'QLabel{font-size:13px;}') - 标签.resize(410, 20) - 标签.move(横坐标, 纵坐标) - 标签.setAlignment(Qt.AlignCenter) - - 名称 = trans(['武  器', '戒  指', '辅助装备', '下  装']) - 纵坐标 = 纵坐标 + 25 - self.黑鸦词条选项 = [] - for i in range(4): - this_index = i - x = QLabel(名称[i], self.main_frame2) - x.setStyleSheet(标签样式 + - 'QLabel{font-size:13px;};text-align: justify;') - # x.setStyleSheet('text-align: justify') - x.resize(55, 20) - x.move(横坐标, 纵坐标 + i * 25) - tem = [] - tem.append(MyQComboBox(self.main_frame2)) - if i == 0: - tem[0].addItems(['无', '计算最高', '自选数值', '自选数值-觉醒']) - tem[0].resize(91, 20) - tem[0].move(横坐标 + 60, 纵坐标 + 25 * i) - tem[0].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦词条更新(index)) - else: - tem[0].addItems(['无', '计算最高', '自选数值']) - tem[0].resize(91, 20) - tem[0].move(横坐标 + 60, 纵坐标 + 25 * i) - tem[0].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦词条更新(index)) - tem.append(MyQComboBox(self.main_frame2)) - tem[1].resize(60, 20) - tem[1].move(横坐标 + 156, 纵坐标 + 25 * i) - - tem.append(MyQComboBox(self.main_frame2)) - tem[2].resize(90 + 75, 20) - tem[2].move(横坐标 + 266 - 50 + 5, 纵坐标 + 25 * i) - - tem.append(MyQComboBox(self.main_frame2)) - tem[3].resize(50, 20) - tem[3].move(横坐标 + 361 + 20 + 10, 纵坐标 + 25 * i) - if i > 0: - for item in 装备变换属性列表: - tem[1].addItem(item.固定属性描述) - tem[1].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦随机词条更新(index, 1)) - else: - for item in 武器变换属性列表: - tem[1].addItem(item.固定属性描述) - tem[1].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦随机词条更新(index)) - self.黑鸦词条选项.append(tem) - self.黑鸦词条更新(i) - - 横坐标 = 740 - 纵坐标 = 30 - self.希洛克套装按钮 = [] - self.希洛克单件按钮 = [] - self.希洛克遮罩透明度 = [] - self.希洛克选择状态 = [0] * 15 - - count = 0 - for i in 希洛克套装: - self.希洛克套装按钮.append(QPushButton(trans(i), self.main_frame2)) - self.希洛克套装按钮[count].setStyleSheet(按钮样式) - self.希洛克套装按钮[count].resize(50, 22) - self.希洛克套装按钮[count].move(横坐标, 纵坐标 + 3 + count * 40) - self.希洛克套装按钮[count].clicked.connect( - lambda state, index=(count + 1) * 100: self.希洛克选择(index)) - - for j in range(3): - 序号 = count * 3 + j - 图片 = QLabel(self.main_frame2) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/希洛克/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 + 60 + j * 30, 纵坐标 + count * 40) - self.希洛克遮罩透明度.append(QGraphicsOpacityEffect()) - self.希洛克遮罩透明度[序号].setOpacity(0.5) - - siroco_button = QPushButton(self.main_frame2) - siroco_button.setStyleSheet("background-color: rgb(0, 0, 0)") - siroco_button.resize(28, 28) - siroco_button.move(横坐标 + 60 + j * 30, 纵坐标 + count * 40) - siroco_button.setGraphicsEffect(self.希洛克遮罩透明度[序号]) - siroco_button.clicked.connect( - lambda state, index=序号: self.希洛克选择(index)) - self.希洛克单件按钮.append(siroco_button) - count += 1 - - 横坐标 = 395 - 纵坐标 = 480 - self.奥兹玛套装按钮 = [] - self.奥兹玛单件按钮 = [] - self.奥兹玛遮罩透明度 = [] - self.奥兹玛选择状态 = [0] * 25 - - T = deepcopy(self.初始属性) - - T.装备描述 = 1 - - count = 0 - for i in 奥兹玛套装: - self.奥兹玛套装按钮.append(QPushButton(trans(i), self.main_frame2)) - self.奥兹玛套装按钮[count].setStyleSheet(按钮样式) - self.奥兹玛套装按钮[count].resize(75, 22) - self.奥兹玛套装按钮[count].move(横坐标, 纵坐标 + 3 + count * 32) - self.奥兹玛套装按钮[count].clicked.connect( - lambda state, index=(count + 1) * 100: self.奥兹玛选择(index)) - - ozma = OzmaList[count] - - for j in range(5): - 序号 = count * 5 + j - 图片 = QLabel(self.main_frame2) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/奥兹玛/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - self.奥兹玛遮罩透明度.append(QGraphicsOpacityEffect()) - self.奥兹玛遮罩透明度[序号].setOpacity(0.5) - - tooltip = trans('{奥兹玛融合属性}:
') - tooltip += ozma(T) - tooltip = tooltip_trim(tooltip) - - ozma_button = QPushButton(self.main_frame2) - ozma_button.setStyleSheet("background-color: rgb(0, 0, 0)") - ozma_button.setToolTip(tooltip) - ozma_button.resize(28, 28) - ozma_button.move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - ozma_button.setGraphicsEffect(self.奥兹玛遮罩透明度[序号]) - ozma_button.clicked.connect( - lambda state, index=序号: self.奥兹玛选择(index)) - self.奥兹玛单件按钮.append(ozma_button) - count += 1 - - counter = 0 - for i in self.复选框列表: - i.setStyleSheet(复选框样式) - i.resize(180, 20) - i.move(930, 25 + counter * 28) - if counter < 1: - i.setChecked(True) - counter += 1 - - self.排行选项 = [] - for i in range(4): - self.排行选项.append(MyQComboBox(self.main_frame2)) - self.排行选项[0].setEditable(True) - for i in [ - 3000, 3500, 4000, 4500, 5000, 5500, 6000, 7000, 8000, 10000, - 12000, 15000, 20000 - ]: - self.排行选项[0].addItem(trans('C力智:') + str(i)) - self.排行选项[0].setCurrentIndex(4) - - self.排行选项[1].setEditable(True) - for i in [ - 2000, 2100, 2200, 2300, 2400, 2500, 2600, 2700, 2800, 2900, - 3000, 3100, 3200, 3300, 3400, 3500, 3600, 3700, 3800, 3900, - 4000, 4200, 4400, 4600, 4800, 5000 - ]: - self.排行选项[1].addItem(trans('C三攻:') + str(i)) - self.排行选项[1].setCurrentIndex(10) - - for i in ['物理百分比', '魔法百分比', '物理固伤', '魔法固伤']: - self.排行选项[2].addItem(i) - - for i in ['无系统奶', '希洛克系统奶', '黑鸦系统奶']: - self.排行选项[3].addItem(i) - - counter = 0 - for i in self.排行选项: - i.resize(100, 20) - i.move(990, 490 + counter * 28) - counter += 1 - - self.计算按钮2 = QPushButton(trans('开始计算'), self.main_frame2) - self.计算按钮2.clicked.connect(lambda state: self.计算()) - self.计算按钮2.move(990, 610) - self.计算按钮2.resize(100, 30) - self.计算按钮2.setStyleSheet(按钮样式) - - self.觉醒选择状态 = 2 - self.一觉遮罩透明度 = QGraphicsOpacityEffect() - self.一觉遮罩透明度.setOpacity(0.5) - self.二觉遮罩透明度 = QGraphicsOpacityEffect() - self.二觉遮罩透明度.setOpacity(0.0) - x = 250 - y = 230 - self.觉醒选择 = QLabel(self.main_frame2) - self.觉醒选择.setPixmap(QPixmap('./ResourceFiles/img/觉醒选择.png')) - self.觉醒选择.resize(120, 100) - self.觉醒选择.move(x, y - 20) - self.一觉图片 = QLabel(self.main_frame2) - self.一觉图片.setPixmap(self.技能图片[self.初始属性.一觉序号]) - self.一觉图片.resize(28, 28) - self.一觉图片.move(x + 7, y + 8) - self.二觉图片 = QLabel(self.main_frame2) - self.二觉图片.setPixmap(self.技能图片[self.初始属性.二觉序号]) - self.二觉图片.resize(28, 28) - self.二觉图片.move(x + 52, y + 8) - self.一觉遮罩 = QPushButton(self.main_frame2) - self.一觉遮罩.resize(38, 50) - self.一觉遮罩.move(x + 2, y + 5) - self.一觉遮罩.setStyleSheet( - "QPushButton{background-color:rgb(0,0,0);border:1px;border-radius:3px;}" - ) - self.一觉遮罩.setGraphicsEffect(self.一觉遮罩透明度) - self.一觉遮罩.clicked.connect(lambda state, index=1: self.强化觉醒选择(index)) - self.二觉遮罩 = QPushButton(self.main_frame2) - self.二觉遮罩.resize(38, 50) - self.二觉遮罩.move(x + 47, y + 5) - self.二觉遮罩.setStyleSheet( - "QPushButton{background-color:rgb(0,0,0);border:1px;border-radius:3px;}" - ) - self.二觉遮罩.setGraphicsEffect(self.二觉遮罩透明度) - self.二觉遮罩.clicked.connect(lambda state, index=2: self.强化觉醒选择(index)) - self.武器融合属性A.setEnabled(False) - self.武器融合属性A1.setEnabled(False) - self.武器融合属性A2.setEnabled(False) - self.武器融合属性A.setStyleSheet(下拉框样式) - self.武器融合属性A1.setStyleSheet(下拉框样式) - self.武器融合属性A2.setStyleSheet(下拉框样式) - # 武器融合属性B禁用 - self.武器融合属性B.setEnabled(False) - self.武器融合属性B1.setEnabled(False) - self.武器融合属性B2.setEnabled(False) - self.武器融合属性B.setStyleSheet(下拉框样式) - self.武器融合属性B1.setStyleSheet(下拉框样式) - self.武器融合属性B2.setStyleSheet(下拉框样式) - - def 界面3(self): - # increase_counter(ga_category="buffer界面", name="基础/细节/修正") - # 第三个布局界面 - self.main_frame3 = QWidget() - - self.属性设置输入 = [] - self.技能设置输入 = [] - - 宽度 = 43 - - 列名称1 = trans(["智力", "体力", "精神"]) - 行名称1 = trans([ - "工会属性", "训练官BUFF", "戒指", "婚房", "冒险团", "晶体契约", "收集箱", "勋章", "名称装饰卡", - "快捷栏纹章", "宠物装备-红", " 宠物装备-蓝 ", " 宠物装备-绿 ", "宠物附魔", "皮肤", - "站街修正", "进图修正", "登记修正", '' - ]) - - column_count = len(列名称1) - row_count = len(行名称1) - - 名称 = QLabel(trans("基础细节"), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(10, 5) - - for i in range(column_count): - 名称 = QLabel(列名称1[i], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(宽度, 25) - 名称.move(95 + i * (宽度 + 5), 5) - - Linelist = [[], [], []] - - for j in range(row_count): - 名称 = QLabel(行名称1[j], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(10, 35 + j * 30) - - for i in range(column_count): - Linelist[i].append(QLineEdit(self.main_frame3)) - Linelist[i][j].setAlignment(Qt.AlignCenter) - Linelist[i][j].setStyleSheet(输入框样式) - if 行名称1[j] != '': - Linelist[i][j].resize(宽度, 22) - Linelist[i][j].move(95 + i * (宽度 + 5), 35 + j * 30) - else: - Linelist[i][j].resize(0, 0) - - self.属性设置输入.extend(Linelist) - - 列名称2 = trans(["智力", "体力", "精神", "徽章智", "徽章体", "徽章精", "技能等级及选项"]) - 行名称2 = trans([ - "上衣", "下装", "头肩", "腰带", "鞋", "手镯", "项链", "戒指", "左槽", "右槽", "耳环", - "武器", "BUFF等级补正", "穿戴称号", "穿戴光环", "武器装扮", "时装", "宠物登记补正", "光环登记补正" - ]) - - self.列名称 = 列名称1 + 列名称2 - self.行名称 = 行名称1 + 行名称2 - - 名称 = QLabel(trans("附魔&徽章"), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(7 * 宽度, 5) - for i in range(7): - 名称 = QLabel(列名称2[i], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - if i == 6: - 名称.resize(150, 25) - else: - 名称.resize(宽度, 25) - 名称.move(90 + 7 * 宽度 + i * (宽度 + 5), 5) - - for j in range(19): - 名称 = QLabel(行名称2[j], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(7 * 宽度, 35 + j * 30) - - for i in range(6): - Linelist = [] - for j in range(19): - Linelist.append(QLineEdit(self.main_frame3)) - Linelist[j].setAlignment(Qt.AlignCenter) - Linelist[j].setStyleSheet(输入框样式) - Linelist[j].resize(宽度, 22) - Linelist[j].move(90 + 7 * 宽度 + i * (宽度 + 5), 35 + j * 30) - self.属性设置输入.append(Linelist) - - for j in range(19): - self.技能设置输入.append(MyQComboBox(self.main_frame3)) - self.技能设置输入[j].addItem('无') - self.技能设置输入[j].setStyleSheet(下拉框样式) - self.技能设置输入[j].resize(150, 22) - self.技能设置输入[j].move(90 + 7 * 宽度 + 6 * (宽度 + 5), 35 + j * 30) - - for j in [2, 3, 4]: - self.技能设置输入[j].addItems(['Lv1-30(主动)Lv+1', 'Lv1-50(主动)Lv+1']) - - self.技能设置输入[2].addItems(['Lv1-35(主动)Lv+1', 'Lv30-50(主动)Lv+1']) - self.技能设置输入[3].addItem('Lv30-50(主动)Lv+1') - - # 白金 - skills = [ - trans('{$name}Lv+1', name=i.名称) for i in self.角色属性A.技能表.values() - if i.所在等级 < 48 - ] - - for j in [8, 9]: - self.技能设置输入[j].addItems(skills) - - self.技能设置输入[12].addItems( - ['BUFFLv+1', 'BUFFLv+2', 'BUFFLv+3', 'BUFFLv+4']) - self.技能设置输入[13].addItems(['Lv1-50(主动)Lv+1', '一觉Lv+1', '一觉Lv+2']) - self.技能设置输入[14].addItems([ - 'Lv1-30(所有)Lv+1', 'Lv1-50(所有)Lv+1', 'Lv1-20(所有)Lv+1', - 'Lv20-30(所有)Lv+1', 'Lv1-80(所有)Lv+1' - ]) - - skills = [ - trans('{$name}Lv+1', name=i.名称) for i in self.角色属性A.技能表.values() - if i.所在等级 < 85 - ] - - skills_weapons = [ - trans('{$name}Lv+1', name=i.名称) for i in self.角色属性A.技能表.values() - if (i.所在等级 in [40, 45, 60, 70, 75, 80] and i.是否主动 == 1) - ] - - self.技能设置输入[15].addItems(skills_weapons) - self.技能设置输入[16].addItems(skills) - - self.技能设置输入[17].addItems(['BUFF力智+3%', 'BUFF三攻+3%', 'BUFF力智、三攻+3%']) - self.技能设置输入[18].addItem('BUFF力智+3%') - - if '智力' in self.角色属性A.类型: - self.修正列表名称 = trans([ - '转职被动智力', 'BUFF力智%', 'BUFF三攻%', '转职被动等级', '一觉被动力智', '一觉力智%', - '一觉力智' - ]) - else: - self.修正列表名称 = trans([ - '守护恩赐体精', 'BUFF力智%', 'BUFF三攻%', '守护恩赐等级', '信念光环体精', '一觉力智%', - '一觉力智' - ]) - - Linelist = [] - for i in range(len(self.修正列表名称)): - 名称 = QLabel(self.修正列表名称[i], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(90, 25) - 名称.move(170 + 7 * 宽度 + 9 * (宽度 + 5), 35 + i * 30) - Linelist.append(QLineEdit(self.main_frame3)) - Linelist[i].setAlignment(Qt.AlignCenter) - Linelist[i].setStyleSheet(输入框样式) - Linelist[i].resize(60, 25) - Linelist[i].move(270 + 7 * 宽度 + 9 * (宽度 + 5), 35 + i * 30) - self.属性设置输入.append(Linelist) - - count = 0 - self.时装选项 = [] - for i in trans(['头部', '帽子', '脸部', '胸部', '上衣', '腰带', '下装', '鞋']): - 名称 = QLabel(i, self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(90, 25) - 名称.move(170 + 7 * 宽度 + 9 * (宽度 + 5), 255 + count * 30) - self.时装选项.append(MyQComboBox(self.main_frame3)) - self.时装选项[count].addItems(['高级', '节日', '稀有', '神器']) - self.时装选项[count].resize(60, 22) - self.时装选项[count].move(270 + 7 * 宽度 + 9 * (宽度 + 5), - 255 + count * 30) - self.时装选项[count].currentIndexChanged.connect( - lambda state, index=count: self.时装选项更新(index)) - count += 1 - - self.时装选项.append(MyQComboBox(self.main_frame3)) - self.时装选项[8].addItems( - format_range("{}[8]", trans(['高级套装', '节日套装', '稀有套装', '神器套装']))) - self.时装选项[8].resize(160, 22) - self.时装选项[8].move(170 + 7 * 宽度 + 9 * (宽度 + 5), 260 + count * 30) - self.时装选项[8].currentIndexChanged.connect( - lambda state, index=8: self.时装选项更新(index)) - - self.计算按钮3 = QPushButton(trans('开始计算'), self.main_frame3) - self.计算按钮3.clicked.connect(lambda state: self.计算()) - self.计算按钮3.move(990, 610) - self.计算按钮3.resize(100, 30) - self.计算按钮3.setStyleSheet(按钮样式) - - def 界面5(self): - # increase_counter(ga_category="buffer界面", name="自选装备计算") - # 第五个布局 - self.main_frame5 = QWidget() - 标签 = QLabel(trans('单件选择'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(240, 25) - 标签.move(70, 20) - - 标签 = QLabel(trans('锁定'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(70, 25) - 标签.move(10, 20) - - self.图片显示 = [] - - count = 0 - - self.装备锁定 = [] - self.自选装备 = [] - self.自选装备结果 = [] - self.self_selects = [] - - def equips_getter(): - return [i.currentData() for i in self.自选装备] - - def equips_setter(value): - self.self_selects = value - - store.compute("/{type}/memory/equips", equips_getter, equips_setter) - - for i in 部位列表: - 锁定选择 = QCheckBox(i, self.main_frame5) - 锁定选择.setStyleSheet(复选框样式) - 锁定选择.resize(70, 22) - 锁定选择.move(10, 50 + 30 * count) - self.装备锁定.append(锁定选择) - - combo = MyQComboBox(self.main_frame5) - combo.resize(220, 22) - combo.move(90, 50 + 30 * count) - - self.自选装备.append(combo) - - combo.currentIndexChanged.connect( - lambda _: store.emit("/{type}/memory/equips")) - combo.currentIndexChanged.connect( - lambda index, part=count: self.自选装备更改(part)) - for j in equ.get_equ_list(): - if j.部位 == i: - if i == '武器': - if j.类型 in self.角色属性A.武器选项: - combo.addItem(j.名称) - else: - combo.addItem(j.名称) - count += 1 - - self.计算标识 = 1 - 标签 = QLabel(trans('批量选择'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(160, 25) - 标签.move(330, 20) - - 套装类型 = ['防具', '首饰', '特殊', '上链左', '镯下右', '环鞋指'] - count = 0 - self.自选套装 = [] - for i in 套装类型: - combo = MyQComboBox(self.main_frame5) - 套装名称 = [] - for j in equ.get_suit_list(): - if j.名称 not in 套装名称 and j.类型 == i: - 套装名称.append(j.名称) - combo.addItems(套装名称) - combo.resize(160, 22) - combo.move(330, 50 + 30 * count) - combo.activated.connect( - lambda state, index=count: self.自选套装更改(index)) - self.自选套装.append(combo) - count += 1 - - self.神话部位选项 = MyQComboBox(self.main_frame5) - self.神话部位选项.addItems(['神话部位:无', '神话部位:上衣', '神话部位:手镯', '神话部位:耳环']) - self.神话部位选项.resize(160, 22) - self.神话部位选项.move(330, 50 + 30 * count) - self.神话部位选项.activated.connect(lambda state: self.神话部位更改()) - - count += 1 - - self.自选装备栏选项 = MyQComboBox(self.main_frame5) - - # 自行设定自选装备栏数量,最大值为20,最小值为1,默认为6 - column_count = store.get("/{type}/data/self-select/column-count", 6) - column_count = min(max(column_count, 1), 20) - - self.last_select_column = 0 - - for i in range(column_count): - self.自选装备栏选项.addItem('{}:{}'.format(trans('自选装备栏'), i)) - self.自选装备栏选项.setCurrentIndex(-1) - self.自选装备栏选项.resize(160, 22) - self.自选装备栏选项.move(330, 50 + 30 * count) - self.自选装备栏选项.activated.connect(lambda state: self.自选装备栏更改(state)) - - count += 1 - # 一键修正按钮添加 - self.一键站街设置输入.append(QLineEdit(self.main_frame5)) - self.一键站街设置输入[1].setAlignment(Qt.AlignCenter) - self.一键站街设置输入[1].setStyleSheet(输入框样式) - self.一键站街设置输入[1].resize(45, 24) - self.一键站街设置输入[1].move(330, 50 + 30 * count) - - self.一键修正按钮 = QPushButton(trans('一键修正'), self.main_frame5) - self.一键修正按钮.clicked.connect(lambda state: self.一键修正(1)) - self.一键修正按钮.move(330 + 60, 50 + 30 * count) - self.一键修正按钮.resize(80, 24) - self.一键修正按钮.setStyleSheet(按钮样式) - - 标签 = QLabel(trans('辟邪玉提升率(理论值仅供参考)'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(200, 25) - 标签.move(525, 20) - - self.辟邪玉提升率1 = [] - self.辟邪玉提升率2 = [] - count = 0 - for i in 辟邪玉列表: - if i.名称 != '无': - if i.间隔 < 1: - temp = trans(i.名称) + '+' + str(i.最大值) + '%' - else: - temp = trans(i.名称) + '+' + str(i.最大值) - self.辟邪玉提升率1.append(QLabel(temp, self.main_frame5)) - self.辟邪玉提升率1[count].setAlignment(Qt.AlignCenter) - self.辟邪玉提升率1[count].setStyleSheet(标签样式) - self.辟邪玉提升率1[count].resize(180, 25) - self.辟邪玉提升率1[count].move(500, 50 + 30 * count) - self.辟邪玉提升率2.append(QLabel('0.00%', self.main_frame5)) - self.辟邪玉提升率2[count].setAlignment(Qt.AlignCenter) - self.辟邪玉提升率2[count].setStyleSheet(标签样式) - self.辟邪玉提升率2[count].resize(60, 25) - self.辟邪玉提升率2[count].move(690, 50 + 30 * count) - count += 1 - - 初始x = 805 - 初始y = 20 - 图片显示 = QLabel(self.main_frame5) - 图片显示.setPixmap(self.输出背景图片) - 图片显示.setAlignment(Qt.AlignTop) - 图片显示.resize(268, 546) - 图片显示.move(初始x, 初始y + 11) - 人物 = QLabel(self.main_frame5) - 图片 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/人物.png") - 人物.setPixmap(图片) - 人物.move(初始x + 90 + int(45 - 图片.width() / 2), 初始y + 40) - 人物.resize(90, 90) - 人物.setAlignment(Qt.AlignTop) - - self.提升率显示 = QLabel(self.main_frame5) - self.提升率显示.setStyleSheet( - "QLabel{color:rgb(255,255,255);font-size:25px}") - self.提升率显示.resize(250, 36) - self.提升率显示.move(初始x + 10, 初始y + 517) - self.提升率显示.setAlignment(Qt.AlignCenter) - - 偏移量 = 187 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - - for i in range(12): - self.图片显示.append(QLabel(self.main_frame5)) - self.图片显示[i].setMovie(equ.get_img_by_name(self.self_selects[i])) - self.图片显示[i].resize(26, 26) - self.图片显示[i].move(初始x + 10 + x坐标[i], 初始y + 31 + y坐标[i]) - self.图片显示[i].setAlignment(Qt.AlignCenter) - - self.面板显示 = [] - for i in range(11): - self.面板显示.append(QLabel(self.main_frame5)) - const = 139 - self.面板显示[0].move(初始x + 20, 初始y + const + 10) - - const += 36 - count = 0 - for i in [2, 3, 4, 5, 6, 7]: - self.面板显示[i].move(初始x + 20, 初始y + const + count * 18) - count += 1 - - count = 0 - for i in [8, 9, 10]: - self.面板显示[i].move(初始x + 155, 初始y + const + count * 18) - count += 1 - - for i in range(len(self.面板显示)): - self.面板显示[i].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - self.面板显示[i].resize(100, 18) - self.面板显示[i].setAlignment(Qt.AlignLeft if i not in - [2, 8] else Qt.AlignCenter) - - self.词条显示 = [] - for i in range(12): - self.词条显示.append(QLabel(self.main_frame5)) - - j = 315 + 初始y - for i in self.词条显示: - i.setStyleSheet("QLabel{font-size:12px;color:rgb(104,213,237)}") - i.move(8 + 初始x, j) - i.resize(300, 18) - i.setAlignment(Qt.AlignLeft) - j += 18 - - # self.总伤害 = QLabel(self.main_frame5) - # self.总伤害.setStyleSheet("QLabel{color:rgb(255,255,255);font-size:25px}") - # self.总伤害.resize(600, 36) - # self.总伤害.move(200, 517 + 初始y) - # self.总伤害.setAlignment(Qt.AlignCenter) - - self.套装名称显示 = [] - for i in range(9): - self.套装名称显示.append(QLabel(self.main_frame5)) - self.套装名称显示[i].move(132 + 初始x, 138 + 180 + 20 * i + 初始y) - self.套装名称显示[i].resize(132, 18) - self.套装名称显示[i].setAlignment(Qt.AlignCenter) - - 自选计算按钮 = QPushButton(trans('查看详情'), self.main_frame5) - 自选计算按钮.clicked.connect(lambda state: self.自选计算()) - 自选计算按钮.move(995, 610) - 自选计算按钮.resize(80, 28) - 自选计算按钮.setStyleSheet(按钮样式) - - self.基准值 = [] - - 设置基准值 = QPushButton(trans('设为基准'), self.main_frame5) - 设置基准值.clicked.connect(lambda state: self.基准值设置()) - 设置基准值.move(900, 610) - 设置基准值.resize(80, 28) - 设置基准值.setStyleSheet(按钮样式) - - 清空基准值 = QPushButton(trans('清空基准'), self.main_frame5) - 清空基准值.clicked.connect(lambda state: self.基准值设置(1)) - 清空基准值.move(805, 610) - 清空基准值.resize(80, 28) - 清空基准值.setStyleSheet(按钮样式) - - 换装选项 = QCheckBox(trans('启用登记'), self.main_frame5) - - 换装选项.toggled.connect(lambda checked: self.启用换装登记(checked)) - 换装选项.move(320, 340) - 换装选项.resize(70, 28) - 换装选项.setStyleSheet(复选框样式) - - 换装设置 = QPushButton(trans('登记设置'), self.main_frame5) - 换装设置.clicked.connect(lambda _: self.换装设置()) - 换装设置.move(390, 340) - 换装设置.resize(80, 28) - 换装设置.setStyleSheet(按钮样式) - - 名望设置 = QPushButton('名望细节', self.main_frame5) - 名望设置.clicked.connect(lambda _: self.名望设置()) - 名望设置.move(710, 610) - 名望设置.resize(80, 28) - 名望设置.setStyleSheet(按钮样式) - - def 名望设置(self): - increase_counter(ga_category="buffer详细功能使用", name="名望") - - def createClient(): - store.set("/fame/temp/property", self) - # 设置图标和背景 临时做法 - store.const("/app/window/icon", self.icon) - store.const("/app/window/background_image", self.主背景图片) - store.watch("/fame/event/changed", lambda _, : self.自选计算(1)) - client = 名望窗口() - client.初始化() - return client - - DefaultDialogRegister.showDialog("base_fame({})".format(type(self)), - createClient, self) - - def 自选装备栏更改(self, index): - if self.计算标识 == 0: - return - - self.计算标识 = 0 - - data = store.get("/{type}/data/self_select/equips", []) - length = len(self.自选装备) - column_index = store.get("/{type}/data/self_select/column_index") - - defaultData = [0] * length - - while column_index >= len(data): - data.append(defaultData) - - if column_index != index: - data[column_index] = [i.currentIndex() for i in self.自选装备] - - column = data[index] if index < len(data) else defaultData - for i in range(length): - self.自选装备[i].setCurrentIndex(column[i]) - store.set("/{type}/data/self_select/column_index", index) - store.set("/{type}/data/self_select/equips", data) - - self.计算标识 = 1 - self.自选计算(1) - - def 启用换装登记(self, checked): - self.登记启用 = checked - self.自选计算(1) - - def 换装设置(self): - increase_counter(ga_category="buffer详细功能使用", name="切装") - - def createClient(): - store.compute("/{type}/temp/property_a", lambda: self.角色属性A) - # 换装更新事件 - store.watch("/{type}/event/register_changed", - lambda _, : self.自选计算(1)) - # 设置图标和背景 临时做法 - store.const("/app/window/icon", self.icon) - store.const("/app/window/background_image", self.主背景图片) - client = 登记窗口() - client.初始化() - return client - - DefaultDialogRegister.showDialog("panel({})".format(type(self)), - createClient, self) - - def 时装选项更新(self, index): - if index == 8: - count = 0 - for i in self.时装选项: - if count != 8: - i.setCurrentIndex(self.时装选项[8].currentIndex()) - count += 1 - return - else: - 智力, 体力, 精神 = 0, 0, 0 - 套装字典 = {'高级': 0, '节日': 0, '稀有': 0, '神器': 0} - for i in range(8): - 套装字典[self.时装选项[i].currentData()] = 套装字典.get( - self.时装选项[i].currentData(), 0) + 1 - # 套装属性 - 神器 = 套装字典['神器'] - 稀有 = 套装字典['稀有'] + 神器 - if 套装字典['高级'] >= 3: - 智力 += 10 - 体力 += 10 - 精神 += 10 - if 稀有 >= 3 and 神器 < 3: - 智力 += 40 - 体力 += 40 - 精神 += 40 - if 套装字典['神器'] >= 3: - 智力 += 50 - 体力 += 50 - 精神 += 50 - if 套装字典['高级'] >= 8: - 智力 += 10 - 体力 += 10 - 精神 += 10 - if 套装字典['节日'] >= 8: - 智力 += 25 - 体力 += 25 - 精神 += 25 - if 稀有 >= 8 and 神器 < 8: - 智力 += 40 - 体力 += 40 - 精神 += 40 - if 套装字典['神器'] >= 8: - 智力 += 50 - 体力 += 50 - 精神 += 50 - 数据 = [45, 45, 55, 65] - 智力 += 数据[self.时装选项[0].currentIndex()] # 头部 - 精神 += 数据[self.时装选项[0].currentIndex()] # 头部 - 智力 += 数据[self.时装选项[1].currentIndex()] # 帽子 - 精神 += 数据[self.时装选项[1].currentIndex()] # 帽子 - 数据 = [0, 0, 55, 65] - 体力 += 数据[self.时装选项[5].currentIndex()] # 腰带 - 数据 = [45, 45, 55, 65] - 体力 += 数据[self.时装选项[7].currentIndex()] # 鞋子 - - 数据 = [0, 20, 0, 0] - 智力 += 数据[self.时装选项[6].currentIndex()] # 下装 - 体力 += 数据[self.时装选项[6].currentIndex()] # 下装 - 精神 += 数据[self.时装选项[6].currentIndex()] # 下装 - - self.属性设置输入[3][16].setText(str(智力)) - self.属性设置输入[4][16].setText(str(体力)) - self.属性设置输入[5][16].setText(str(精神)) - - def 希洛克武器选择更新(self): - if self.希洛克武器选择.currentIndex() != 2: - # 武器融合属性A禁用 - self.武器融合属性A.setEnabled(False) - self.武器融合属性A1.setEnabled(False) - self.武器融合属性A2.setEnabled(False) - self.武器融合属性A.setStyleSheet(下拉框样式) - self.武器融合属性A1.setStyleSheet(下拉框样式) - self.武器融合属性A2.setStyleSheet(下拉框样式) - # 武器融合属性B禁用 - self.武器融合属性B.setEnabled(False) - self.武器融合属性B1.setEnabled(False) - self.武器融合属性B2.setEnabled(False) - self.武器融合属性B.setStyleSheet(下拉框样式) - self.武器融合属性B1.setStyleSheet(下拉框样式) - self.武器融合属性B2.setStyleSheet(下拉框样式) - else: - # 武器融合属性A启用 - self.武器融合属性A.setEnabled(True) - self.武器融合属性A1.setEnabled(True) - self.武器融合属性A2.setEnabled(True) - self.武器融合属性A.setStyleSheet(下拉框样式) - self.武器融合属性A1.setStyleSheet(下拉框样式) - self.武器融合属性A2.setStyleSheet(下拉框样式) - # 武器融合属性B启用 - self.武器融合属性B.setEnabled(True) - self.武器融合属性B1.setEnabled(True) - self.武器融合属性B2.setEnabled(True) - self.武器融合属性B.setStyleSheet(下拉框样式) - self.武器融合属性B1.setStyleSheet(下拉框样式) - self.武器融合属性B2.setStyleSheet(下拉框样式) - - def 调整觉醒择优方向(self, index): - if index < 1: - self.觉醒择优系数.setVisible(True) - else: - self.觉醒择优系数.setVisible(False) - self.觉醒择优系数.setCurrentText(str(1.0 if index > 1 else 0.7)) - - def 希洛克武器随机词条更新(self, index, x=0): - if x == 0: - self.武器融合属性A1.clear() - self.武器融合属性A2.clear() - - if index == 0: - return - - 属性A = 武器属性A列表[index] - - for item in 属性A.range(): - self.武器融合属性A2.addItem(item) - self.武器融合属性A1.addItem(属性A.随机属性描述) - - elif x == 1: - self.武器融合属性B1.clear() - self.武器融合属性B2.clear() - - if index == 0: - return - - 属性B = 武器属性B列表[index] - - for item in 属性B.range(): - self.武器融合属性B2.addItem(item) - self.武器融合属性B1.addItem(属性B.随机属性描述) - - def 黑鸦词条更新(self, index): - if self.黑鸦词条选项[index][0].currentIndex() < 2: - for i in range(1, 4): - self.黑鸦词条选项[index][i].setEnabled(False) - self.黑鸦词条选项[index][i].setStyleSheet(下拉框样式) - elif index == 0 and self.黑鸦词条选项[index][0].currentIndex() == 3: - for i in range(1, 4): - self.黑鸦词条选项[0][i].setEnabled(False) - self.黑鸦词条选项[0][i].setStyleSheet(下拉框样式) - else: - for i in range(1, 4): - self.黑鸦词条选项[index][i].setEnabled(True) - self.黑鸦词条选项[index][i].setStyleSheet(下拉框样式) - - def 黑鸦随机词条更新(self, i, x=0): - index = self.黑鸦词条选项[i][1].currentIndex() - self.黑鸦词条选项[i][2].clear() - self.黑鸦词条选项[i][3].clear() - if index == 0: - return - - 装备属性 = 武器变换属性列表[index] if x == 0 else 装备变换属性列表[index] - temp = 装备属性.最大值 - while temp >= 装备属性.最小值: - if 装备属性.间隔 / 10 >= 1: - self.黑鸦词条选项[i][3].addItem(str(int(temp))) - else: - self.黑鸦词条选项[i][3].addItem(str(temp) + '%') - temp -= 装备属性.间隔 - self.黑鸦词条选项[i][2].addItem(装备属性.随机属性描述) - - def BUFF次数输入填写(self, x, skill=None): - if self.次数输入[x].currentIndex() == 2: - self.次数输入[x].setEditable(True) - self.次数输入[x].clearEditText() - self.次数输入[x].setStyleSheet(下拉框样式) - else: - self.次数输入[x].setEditable(False) - - def 批量选择(self, index): - if index == 1: - if self.全选状态 == 1: - self.全选状态 = 0 - else: - self.全选状态 = 1 - if sum(self.装备选择状态[74:244]) == 170: - self.批量选择(0) - - for i in equ.get_equ_list(): - if i.部位 != '武器': - if i.品质 != '神话' or index == 0 or self.全选状态 == 0: - self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) - elif i.类型 in self.角色属性A.武器选项: - self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) - - self.装备图标点击事件(74, index) - - def 基准值设置(self, x=0): - self.基准值.clear() - if x == 0: - A = deepcopy(self.初始属性) - self.输入属性(A) - A.穿戴装备(self.self_selects) - - self.关闭排行窗口() - self.排行数据.clear() - self.排行数据.append(self.self_selects + [0] + A.套装栏 + ['无']) - self.输出界面(0, '基准值', 自选计算模式=True) - self.基准值 = deepcopy(self.自选计算数据) - self.自选计算(1) - - def 载入配置(self, path='set'): - filepath = './ResourceFiles/{}/{}/'.format(self.角色属性A.实际名称, path) - if os.path.exists(os.path.join( - filepath, "page_1.json")) or os.path.exists( - os.path.join(filepath, "store.json")): - self.载入json(path) - return - else: - # 如果不存在任何存档则载入重置存档 - self.载入json(path='reset') - - def 设置技能选项(self, num, info): - - try: - self.等级调整[num].setCurrentIndex(info['level']) - except Exception as e: - logger.error(e) - pass - - try: - self.次数输入[num].setCurrentIndex(info['count']) - except Exception as e: - logger.error(e) - - def 获取技能选项(self, num): - info = {} - try: - info['level'] = self.等级调整[num].currentIndex() - except Exception as e: - info['level'] = 0 - logger.error(e) - - try: - info['count'] = self.次数输入[num].currentIndex() - except Exception as e: - info['count'] = 0 - logger.error(e) - return info - - def 载入旧版json(self, path='set', page=[0, 1, 2, 3, 4]): - filepath = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, path) - - if 0 in page: - # 第一页(装备/选择/打造) - try: - filename = 'page_1.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.set("/{type}/data/title", set_data['称号']) - store.set("/{type}/data/pet", set_data['宠物']) - store.set('/{type}/data/compute_mode', set_data["计算模式"]) - store.set('/{type}/data/ditto_checked', set_data["百变怪"]) - store.set('/{type}/data/myth_top_checked', set_data['神话排名勾选']) - store.set('/{type}/data/awakening_switch_checked', - set_data['切装模式选项']) - store.set('/{type}/data/thread_count', set_data['线程数量']) - store.set("/{type}/data/equip_checked", set_data['装备勾选']) - store.set("/{type}/data/equip_forges", set_data['装备打造']) - except Exception as error: - logger.error(error) - - if 1 in page: - # 第二页(技能/符文/药剂) - try: - filename = 'page_2.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - - store.set("/{type}/data/awakening_binding", set_data['觉醒选择']) - store.set("/{type}/data/talismans", set_data['护石栏']) - store.set("/{type}/data/consumables", set_data['药剂勾选']) - - skills = {} - 技能选项 = set_data['技能选项'] - for key in 技能选项.keys(): - skills[key] = { - 'level': 技能选项[key]['等级'], - 'count': 技能选项[key]['次数'] - } - store.set("/{type}/data/skill", skills) - - store.set("/{type}/data/weapon_fusion", [ - set_data['武器融合属性A'], set_data['武器融合属性A2'], - set_data['武器融合属性B'], set_data['武器融合属性B2'] - ]) - store.set("/{type}/data/siroco_weapon", set_data['希洛克武器选择']) - store.set("/{type}/data/jude_effects", set_data['辟邪玉效果']) - store.set('/{type}/data/jude_values', set_data['辟邪玉数值']) - store.set('/{type}/data/top_options', set_data['排行选项']) - store.set('/{type}/data/black_purgatory', set_data['黑鸦选择']) - if '希洛克选择' in set_data: - store.set('/{type}/data/siroco', set_data['希洛克选择']) - if '奥兹玛选择' in set_data: - store.set('/{type}/data/ozma', set_data['奥兹玛选择']) - except Exception as error: - logger.error(error) - - if 2 in page: - # 第三页(基础/细节/修正) - try: - filename = 'page_3.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - - store.set("/{type}/data/avatar", set_data['时装选项']) - store.set("/{type}/data/detail_values", set_data['细节数值']) - store.set("/{type}/data/detail_options", set_data['细节选项']) - except Exception as error: - logger.error(error) - - if 3 in page: - # 第四页(神话属性修正) - try: - filename = 'page_4.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.set("/{type}/data/myth_properties", set_data['神话属性修正']) - except Exception as error: - logger.error(error) - if 4 in page: - # 第五页(自选装备计算) - try: - filename = 'page_5.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.set("/{type}/data/self_select/equips", - [set_data['自选装备']]) - store.set("/{type}/data/self_select/column_index", 0) - store.set("/{type}/data/self_select/locked", set_data['装备锁定']) - except Exception as error: - logger.error(error) - - def 载入json(self, path='set', page=[0, 1, 2, 3, 4]): - - filepath = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, path) - - filename = os.path.join(filepath, "store.json") - - if os.path.exists(filename): - try: - set_data = {} - with open(filename, encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.imports(set_data) - except Exception as error: - logger.error(error) - else: - self.载入旧版json(path, page) - - if 0 in page: - try: - self.称号.setCurrentIndex(store.get("/{type}/data/title", 0)) - except Exception as error: - logger.error(error) - try: - self.宠物.setCurrentIndex(store.get("/{type}/data/pet", 0)) - except Exception as error: - logger.error(error) - try: - self.计算模式选择.setCurrentIndex( - store.get("/{type}/data/compute_mode", 1)) - except Exception as error: - logger.error(error) - try: - self.百变怪选项.setChecked( - store.get("/{type}/data/ditto_checked", 1)) - except Exception as error: - logger.error(error) - try: - self.神话排名选项.setChecked( - store.get("/{type}/data/myth_top_checked", 0)) - except Exception as error: - logger.error(error) - try: - self.切装模式选项.setChecked( - store.get("/{type}/data/awakening_switch_checked", 1)) - except Exception as error: - logger.error(error) - try: - self.线程数选择.setCurrentIndex( - store.get("/{type}/data/thread_count", 12)) - except Exception as error: - logger.error(error) - - try: - self.批量选择(0) - num = 0 - data = store.get("/{type}/data/equip_checked", []) - for i in data: - if i == 1: - self.装备图标点击事件(num, 1) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/equip_forges", []) - for i in data: - self.装备打造选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - - if 1 in page: - try: - try: - self.强化觉醒选择(store.get('/{type}/data/awakening_binding')) - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get('/{type}/data/talismans') - - for i in data: - self.护石栏[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get('/{type}/data/consumables') - for i in data: - self.复选框列表[num].setChecked(i) - num += 1 - except Exception as error: - logger.error(error) - - data = store.get('/{type}/data/skill', {}) - - num = 0 - for skill in self.角色属性A.技能表.values(): - try: - self.设置技能选项(num, data[skill.名称]) - except Exception as error: - logger.error(error) - num += 1 - try: - self.觉醒择优系数.setCurrentText( - str( - store.get("/{type}/data/awakening_coefficient", - 1.0))) - except Exception as error: - logger.error(error) - - try: - self.觉醒择优方向.setCurrentIndex( - store.get("/{type}/data/awakening_direction", 0)) - except Exception as error: - logger.error(error) - - data = store.get('/{type}/data/weapon_fusion', [0, 0, 0, 0]) - - try: - self.武器融合属性A.setCurrentIndex(data[0]) - except Exception as error: - logger.error(error) - try: - self.武器融合属性A2.setCurrentIndex(data[1]) - except Exception as error: - logger.error(error) - try: - self.武器融合属性B.setCurrentIndex(data[2]) - except Exception as error: - logger.error(error) - try: - self.武器融合属性B2.setCurrentIndex(data[3]) - except Exception as error: - logger.error(error) - - try: - self.希洛克武器选择.setCurrentIndex( - store.get('/{type}/data/siroco_weapon')) - except Exception as error: - logger.error(error) - try: - data = store.get('/{type}/data/jude_effects') - num = 0 - for i in data: - self.辟邪玉选择[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get('/{type}/data/jude_values') - num = 0 - for i in data: - self.辟邪玉数值[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get('/{type}/data/top_options') - num = 0 - for i in data: - self.排行选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get('/{type}/data/black_purgatory') - x = 0 - for i in data: - y = 0 - for j in i: - self.黑鸦词条选项[x][y].setCurrentIndex(j) - y += 1 - x += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/siroco", [0] * 15) - self.希洛克选择(0, 1) - num = 0 - for i in data: - if i == 1: - self.希洛克选择(num) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/ozma", [0] * 25) - self.奥兹玛选择(0, 1) - num = 0 - for i in data: - if i == 1: - self.奥兹玛选择(num) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - if 2 in page: - try: - try: - num = 0 - data = store.get("/{type}/data/avatar") - for i in data: - self.时装选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - x = 0 - data = store.get("/{type}/data/detail_values") - for i in data: - y = 0 - for j in i: - try: - self.属性设置输入[x][y].setText(j) - except Exception as e: - logger.error(e) - y += 1 - x += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/detail_options") - for i in data: - self.技能设置输入[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 3 in page: - try: - num = 0 - data = store.get("/{type}/data/myth_properties") - for i in data: - self.神话属性选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - if 4 in page: - try: - try: - num = 0 - index = store.get('/{type}/data/self_select/column_index', - 0) - self.自选装备栏选项.setCurrentIndex(index) - self.自选装备栏更改(index) - except Exception as error: - logger.error(error) - - try: - num = 0 - data = store.get('/{type}/data/self_select/locked') - for i in data: - self.装备锁定[num].setChecked(i) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - def 奥兹玛选择(self, index, x=0): - super().奥兹玛选择(index, x) - store.emit("/{type}/data/ozma") - - def 希洛克选择(self, index, x=0): - super().希洛克选择(index, x) - store.emit("/{type}/data/siroco") - - def exports_store(self, page=[0, 1, 2, 3, 4]): - if 0 in page: - # 第一页(装备/选择/打造) - try: - store.set('/{type}/data/title', self.称号.currentIndex()) - store.set("/{type}/memory/title", self.称号.currentData()) - store.set('/{type}/data/pet', self.宠物.currentIndex()) - store.set('/{type}/memory/pet', self.宠物.currentData()) - store.set('/{type}/data/compute_mode', - self.计算模式选择.currentIndex()) - store.set('/{type}/data/ditto_checked', self.百变怪选项.isChecked()) - - store.set('/{type}/data/myth_top_checked', - self.神话排名选项.isChecked()) - store.set('/{type}/data/awakening_switch_checked', - self.切装模式选项.isChecked()) - store.set('/{type}/data/thread_count', - self.线程数选择.currentIndex()) - store.set('/{type}/data/equip_checked', self.装备选择状态) - store.set('/{type}/data/equip_forges', - [i.currentIndex() for i in self.装备打造选项]) - except Exception as error: - logger.error(error) - - if 1 in page: - # 第二页(技能/符文/药剂) - try: - - store.set('/{type}/data/awakening_binding', self.觉醒选择状态) - store.set('/{type}/data/talismans', - [i.currentIndex() for i in self.护石栏]) - store.set('/{type}/data/consumables', - [i.isChecked() for i in self.复选框列表]) - - skills = {} - num = 0 - for skill in self.角色属性A.技能表.values(): - skills[skill.名称] = self.获取技能选项(num) - num += 1 - store.set('/{type}/data/skill', skills) - - data = [ - self.武器融合属性A.currentIndex(), - self.武器融合属性A2.currentIndex(), - self.武器融合属性B.currentIndex(), - self.武器融合属性B2.currentIndex(), - ] - - store.set("/{type}/data/weapon_fusion", data) - - store.set("/{type}/data/siroco_weapon", - self.希洛克武器选择.currentIndex()) - - store.set("/{type}/data/jude_effects", - [i.currentIndex() for i in self.辟邪玉选择]) - store.set("/{type}/data/jude_values", - [i.currentIndex() for i in self.辟邪玉数值]) - - store.set("/{type}/data/black_purgatory", - [[j.currentIndex() for j in i] for i in self.黑鸦词条选项]) - - store.set("/{type}/data/top_options", - [i.currentIndex() for i in self.排行选项]) - - store.set("/{type}/data/awakening_coefficient", - float(self.觉醒择优系数.currentText())) - store.set("/{type}/data/awakening_direction", - self.觉醒择优方向.currentIndex()) - store.set("/{type}/data/siroco", self.希洛克选择状态) - store.set("/{type}/data/ozma", self.奥兹玛选择状态) - except Exception as error: - logger.error(error) - - if 2 in page: - # 第三页(基础/细节/修正) - try: - # 时装选项 - store.set("/{type}/data/avatar", - [i.currentIndex() for i in self.时装选项]) - store.set("/{type}/memory/avatar", - [i.currentData() for i in self.时装选项]) - # 细节数值 - store.set("/{type}/data/detail_values", - [[j.text() for j in i] for i in self.属性设置输入]) - # 细节选项 - store.set("/{type}/data/detail_options", - [i.currentIndex() for i in self.技能设置输入]) - - except Exception as error: - logger.error(error) - - if 3 in page: - # 第四页(神话属性修正) - try: - # 神话属性修正 - store.set("/{type}/data/myth_properties", - [i.currentIndex() for i in self.神话属性选项]) - except Exception as error: - logger.error(error) - - if 4 in page: - # 第五页(自选装备计算) - try: - data = store.get("/{type}/data/self_select/equips", []) - column_index = self.自选装备栏选项.currentIndex() - length = len(self.自选装备) - while column_index >= len(data): - data.append([0] * length) - - data[column_index] = [i.currentIndex() for i in self.自选装备] - - store.set("/{type}/data/self_select/equips", data) - store.set('/{type}/data/self_select/column_index', - column_index) - store.set("/{type}/data/self_select/locked", - [i.isChecked() for i in self.装备锁定]) - except Exception as error: - logger.error(error) - - def 保存json(self, path='set', page=[0, 1, 2, 3, 4]): - self.exports_store(page) - try: - filepath = './ResourceFiles/{}/{}/store.json'.format( - self.角色属性A.实际名称, path) - set_data = store.exports( - lambda i: str.startswith(i, "/buffer/data")) - with open(filepath, "w", encoding='utf-8') as fp: - json.dump(set_data, fp, ensure_ascii=False, indent=4) - fp.close() - except Exception as error: - logger.error(error) - - def 保存配置(self, path='set'): - if self.禁用存档.isChecked(): - return - self.保存json(path) - - # 一键修正计算 - def 一键修正(self, x=0): - increase_counter(ga_category="buffer详细功能使用", name="一键修正") - sign = -1 - try: - if self.一键站街设置输入[0].text() != '' or self.一键站街设置输入[1].text() != '': - sign = 1 - except Exception as e: - logger.error(e) - pass - if sign == -1: - QMessageBox.information(self, "错误", "请在按钮左侧输入站街数值") - return - - if x == 0: - if self.组合计算(2) == 0: - QMessageBox.information(self, "错误", "请勾选齐全身上穿戴的装备") - return - if self.组合计算(2) > 1: - QMessageBox.information(self, "错误", "请勿勾选身上未穿戴的装备") - return - - self.修正套装计算(x) - self.角色属性B = deepcopy(self.初始属性) - self.输入属性(self.角色属性B) - self.角色属性B.穿戴装备(self.有效穿戴组合[0]) - self.角色属性B.排行系数 = 1 - self.角色属性B.装备属性计算() - - self.面板修正(self.角色属性B, x) - - def 面板修正(self, 属性, x): - 数据 = 0 - 数据 = to_int(self.一键站街设置输入[x].text()) - if 数据 is None: - QMessageBox.information(self, "错误", "站街面板输入格式错误,已重置为空") - self.一键站街设置输入[x].setText('') - 数据 = 0 - - if 数据 == 0: - QMessageBox.information(self, "错误", "请输入站街面板") - return - self.站街面板修正(属性, 数据) - self.click_window(2) - QMessageBox.information( - self, "自动修正计算完毕", "仅对站街修正进行了修改,使面板与输入一致
请自行核对其它页面 非智力/体力/精神条目") - - def click_window(self, index, info=''): - if info != '': - increase_counter(ga_category="界面使用情况", name=info) - self.保存json(self.存档位置, page=[self.当前页面]) - self.当前页面 = index - - if self.stacked_layout.currentIndex() != index: - self.stacked_layout.setCurrentIndex(index) - for i in self.window_btn: - i.setStyleSheet(页签样式) - self.window_btn[index].setStyleSheet(页签样式_选中) - - if index == 3: - count1 = 0 - count2 = 0 - num = 0 - width = 1100 - height = 680 - page4_height = 0 - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.品质 == '神话': - if self.装备选择状态[j] == 1 or temp.名称 in self.self_selects: - self.神话属性图片[num].move( - int(width / 7 * (count1 % 7 + 0.42)), - int(height / 5.2 * (count2 + 0.05)) - 3) - for i in range(4): - self.神话属性选项[num * 4 + i].move( - int(width / 7 * (count1 % 7) + 6), - int(height / 5.2 * (count2 + 0.05)) - 3 + - i * 22 + 32) - count1 += 1 - if count1 % 7 == 0: - count2 += 1 - page4_height += 1 - else: - self.神话属性图片[num].move(-1000, -1000) - for i in range(4): - self.神话属性选项[num * 4 + i].move(-1000, -1000) - num += 1 - page4_height = max(ceil(page4_height / 7) * 130, height) - self.main_frame4.setMinimumSize(width, page4_height) - if index == 4: - self.自选计算(1) - - def 神话数量判断(self, x=0): - count = 0 - for j in equ.get_equ_id_list(): - if equ.get_equ_by_id(j).品质 == '神话': - if self.装备选择状态[j] == 1: - count += 1 - if x == 0: - return count == 0 - else: - return count - - def 站街面板修正(self, 属性, 输入面板, x=0, append=True): - i = ['智力', '体力', '精神'].index(属性.类型) - 修正前面板 = int(属性.站街系数) - 修正后面板 = 输入面板 - 修正前面板 - if append: - 修正面板 = to_int(self.属性设置输入[i][15 + x].text(), 0) - 修正后面板 += 修正面板 - self.属性设置输入[i][15 + x].setText(str(int(修正后面板))) - - def exports_property(self, property): - num = 0 - for skill in property.技能表.values(): - skill.等级 = skill.基础等级 + int(self.等级调整[num].currentData()) - skill.是否启用 = self.次数输入[num].currentIndex() - num += 1 - - property.排行系数 = self.排行参数.currentIndex() - # print(self.排行选项[0].currentText()) - # print(self.排行选项[0].currentData()) - property.C力智 = int(''.join( - filter(str.isdigit, self.排行选项[0].currentText()))) - property.C三攻 = int(''.join( - filter(str.isdigit, self.排行选项[1].currentText()))) - property.排行类型 = self.排行选项[2].currentData() - - if self.排行选项[3].currentIndex() == 0: - pass - elif self.排行选项[3].currentIndex() == 1: - property.系统奶系数 = 1.35 - property.系统奶基数 = 7664 - elif self.排行选项[3].currentIndex() == 2: - property.系统奶系数 = 2.31 - property.系统奶基数 = 4581 - - if self.初始属性.技能表['三次觉醒'].是否启用: - if self.觉醒选择状态 == 1: - property.技能表['三次觉醒'].关联技能 = [property.技能表['一次觉醒'].名称] - elif self.觉醒选择状态 == 2: - property.技能表['三次觉醒'].关联技能 = [property.技能表['二次觉醒'].名称] - - count = 0 - for i in equ.get_equ_list(): - if i.品质 == '神话': - i.属性1选择_BUFF = self.神话属性选项[count * 4 + 0].currentIndex() - i.属性2选择_BUFF = self.神话属性选项[count * 4 + 1].currentIndex() - i.属性3选择_BUFF = self.神话属性选项[count * 4 + 2].currentIndex() - i.属性4选择_BUFF = self.神话属性选项[count * 4 + 3].currentIndex() - count += 1 - - property.护石栏 = [i.currentIndex() for i in self.护石栏] - - if self.护石第一栏.currentData() != '无': - property.护石第一栏 = self.护石第一栏.currentData() - - if self.护石第二栏.currentData() != '无': - property.护石第二栏 = self.护石第二栏.currentData() - - if self.护石第三栏.currentData() != '无': - property.护石第三栏 = self.护石第三栏.currentData() - - def 换装计算(self, AWAKE: 辅助角色属性 = None) -> 辅助角色属性: - if not self.登记启用: - return None - if AWAKE is None: - AWAKE = self.角色属性A - - 装备 = store.clone("/{type}/data/register/equips", self.self_selects) - 装备打造 = store.clone("/{type}/data/register/amplifies", [-1] * 12) - 奥兹玛选择状态 = store.clone("/{type}/data/register/ozma", [0] * 25) - 希洛克选择状态 = store.clone("/{type}/data/register/siroco", [0] * 15) - 黑鸦词条 = store.clone("/{type}/data/register/black_purgatory", - [[0] * 4] * 4) - 武器融合选项 = store.clone("/{type}/data/register/weapon_fusion", [0] * 4) - 站街面板 = store.get("/{type}/data/register/display_power") - - BUFF = deepcopy(self.初始属性) - - for i in range(len(装备)): - if 装备[i] == '无': - 装备[i] = self.self_selects[i] - if 装备打造[i] == -1: - 装备打造[i] = self.装备打造选项[i + 12].currentIndex() - - for i in range(4): - if 黑鸦词条[i][0] == 0 or 黑鸦词条[i][1] == 0: - 黑鸦词条[i] = deepcopy(AWAKE.黑鸦词条[i]) - 黑鸦词条[i][0] == 2 - - BUFF.黑鸦词条 = 黑鸦词条 - if 希洛克选择状态 is None or len(希洛克选择状态) == 0 or sum(希洛克选择状态) == 0: - 希洛克选择状态 = self.希洛克选择状态 - BUFF.希洛克选择状态 = 希洛克选择状态 - - if 奥兹玛选择状态 is None or len(奥兹玛选择状态) == 0 or sum(奥兹玛选择状态) == 0: - 奥兹玛选择状态 = self.奥兹玛选择状态 - BUFF.奥兹玛选择状态 = 奥兹玛选择状态 - self.登记希洛克 = 希洛克选择状态 - self.登记奥兹玛 = 奥兹玛选择状态 - if 武器融合选项[0] == 0: - 武器融合选项[0] = AWAKE.残香词条[0] - 武器融合选项[1] = AWAKE.残香词条[1] - - if 武器融合选项[2] == 0: - 武器融合选项[2] = AWAKE.残香词条[2] - 武器融合选项[3] = AWAKE.残香词条[3] - BUFF.希洛克武器词条 = 2 - BUFF.残香词条 = 武器融合选项 - - self.exports_property(BUFF) - - self.辟邪玉属性计算(BUFF) - - if sum(希洛克选择状态) == 3: - BUFF.武器词条触发 = 1 - - for i in range(len(self.复选框列表)): - if self.复选框列表[i].isChecked(): - 选项设置列表[i].适用效果(BUFF) - - 称号列表[self.称号.currentIndex()].城镇属性_BUFF(BUFF) - if BUFF.称号触发: - 称号列表[self.称号.currentIndex()].触发属性(BUFF) - - 宠物列表[self.宠物.currentIndex()].城镇属性_BUFF(BUFF) - - for i in range(12): - BUFF.是否增幅[i] = 1 - BUFF.强化等级[i] = 装备打造[i] - BUFF.改造等级[i] = 装备打造[i] - BUFF.武器锻造等级 = self.装备打造选项[36].currentIndex() - BUFF.类型 = self.装备打造选项[37].currentData() - - self.是否计算 = 1 - - self.基础属性(BUFF) - - BUFF.穿戴装备(装备) - - if 站街面板 is not None: - 站街属性 = deepcopy(BUFF) - - 站街属性.排行系数 = 1 - 站街属性.装备属性计算() - - self.站街面板修正(站街属性, 站街面板, 2, False) - - BUFF.预计算() - AWAKE.替换技能(BUFF.技能表['BUFF'], 'BUFF') - return BUFF - - def 自选计算(self, 输出=0): - if 输出 == 0: - self.保存配置(self.存档位置) - self.关闭排行窗口() - self.排行数据.clear() - - self.角色属性A = deepcopy(self.初始属性) - - self.输入属性(self.角色属性A) - - if self.是否计算 != 1: - self.click_window(1) - return - - 装备 = self.self_selects - C = self.站街计算(装备) - - B = deepcopy(self.角色属性A) - B.穿戴装备(装备) - B.预计算() - - self.换装计算(B) - - if 输出 != 0: - D = deepcopy(self.初始属性) - self.输入属性(D) - D.双装备模式 = 0 - 伤害列表 = [] - for i in 辟邪玉列表: - i.当前值 = i.最大值 - temp = deepcopy(D) - i.穿戴属性(temp) - temp.穿戴装备(装备) - 伤害列表.append(temp.BUFF计算(0)) - - 辟邪玉提升率 = [] - for i in range(1, len(伤害列表)): - if 伤害列表[0] != 0: - 辟邪玉提升率.append(伤害列表[i] / 伤害列表[0] - 1) - else: - 辟邪玉提升率.append(0) - - 提升率排序 = copy(辟邪玉提升率) - 提升率排序.sort(reverse=True) - - for i in range(len(辟邪玉提升率)): - temp = str('%.2f' % (辟邪玉提升率[i] * 100)) + '%' - self.辟邪玉提升率2[i].setText(temp) - x = 提升率排序.index(辟邪玉提升率[i]) / len(辟邪玉提升率) * 10 - 2 - y = 1 / (1 + math.exp(-x)) - if SkinVersion == 'None': - 颜色 = (0, 0, 0) - else: - 颜色 = (int(255 - 80 * y), int(245 - 100 * y), - int(0 + 150 * y)) - self.辟邪玉提升率1[i].setStyleSheet( - 'QLabel{font-size:12px;color:rgb' + str(颜色) + '}') - self.辟邪玉提升率2[i].setStyleSheet( - 'QLabel{font-size:12px;color:rgb' + str(颜色) + '}') - - 合计力量 = 0 - 合计智力 = 0 - 合计物攻 = 0 - 合计魔攻 = 0 - 合计独立 = 0 - - 总数据 = B.compute() - - for data in 总数据: - if sum(data) > 0: - 合计力量 += data[3] - 合计智力 += data[4] - 合计物攻 += data[5] - 合计魔攻 += data[6] - 合计独立 += data[7] - 总奶量 = '' - # tempstr = '' - if 合计力量 == 合计智力: - 总奶量 += trans('力智') + '+' + str(round(合计力量)) - else: - 总奶量 += '力量+' + str(round(合计力量)) - 总奶量 += ',智力+' + str(round(合计智力)) - - if 合计物攻 == 合计魔攻 and 合计魔攻 == 合计独立: - 总奶量 += ',' + trans('三攻') + '+' + str(round(合计物攻)) - else: - 总奶量 += ',物攻+' + str(round(合计物攻)) - 总奶量 += ',魔攻+' + str(round(合计魔攻)) - 总奶量 += ',独立+' + str(round(合计独立)) - # self.总伤害.setText(str(tempstr)) - - 提升率 = B.提升率计算(总数据) - - x = B.BUFF面板() - y = B.一觉面板() - self.角色属性B = deepcopy(B) - tempstr = self.装备描述_BUFF计算(B) - 图片列表 = self.获取装备图片(装备) - for i in range(12): - self.图片显示[i].setToolTip(tempstr[i]) - self.图片显示[i].setMovie(图片列表[i]) - - self.面板显示[0].setText(trans('站街') + ':' + str(int(C.系数数值站街()))) - self.面板显示[1].setText('') - self.面板显示[3].setText(trans('力量') + ':' + str(x[1])) - self.面板显示[4].setText(trans('智力') + ':' + str(x[2])) - self.面板显示[5].setText(trans('物攻') + ':' + str(x[3])) - self.面板显示[6].setText(trans('魔攻') + ':' + str(x[4])) - self.面板显示[7].setText(trans('独立') + ':' + str(x[5])) - - self.面板显示[9].setText(trans('力量') + ':' + str(y[1])) - self.面板显示[10].setText(trans('智力') + ':' + str(y[2])) - - skill_buff = B.技能表['BUFF'] - skill_awake = B.技能表['一次觉醒'] - - tempstr = [] - tempstr.append( - trans('BUFF力量%') + ' :' + to_percent(skill_buff.BUFF力量per)) - tempstr.append( - trans('BUFF智力%') + ' :' + to_percent(skill_buff.BUFF智力per)) - tempstr.append( - trans('BUFF物攻%') + ' :' + to_percent(skill_buff.BUFF物攻per)) - tempstr.append( - trans('BUFF魔攻%') + ' :' + to_percent(skill_buff.BUFF魔攻per)) - tempstr.append( - trans('BUFF独立%') + ' :' + to_percent(skill_buff.BUFF独立per)) - tempstr.append( - trans('一觉力智') + ' :' + str(int(round(skill_awake.一觉力智, 0)))) - tempstr.append(trans('一觉力智%') + ' :' + to_percent(skill_awake.一觉力智per)) - tempstr.append(str(总奶量)) - - # if self.角色属性B.希洛克武器词条 == 1: - # 武器词条最高值 = self.角色属性B.自适应最高值 - # 武器属性A = 武器属性A列表[武器词条最高值[0]] - # 武器属性B = 武器属性B列表[武器词条最高值[1]] - # tempstr.append("属性1:" +""+武器属性A.固定属性描述 + '') - # if self.角色属性B.武器词条触发 == 1: - # tempstr.append("属性2:" +""+武器属性B.固定属性描述 + '') - - if self.角色属性B.希洛克武器词条 == 1: - 武器词条最高值 = self.角色属性B.自适应最高值 - 武器属性A = 武器属性A列表[武器词条最高值[0]] - 武器属性B = 武器属性B列表[武器词条最高值[1]] - # tempstr += '

' + "属性1:" +""+武器属性A.固定属性描述 + ',' + 武器属性A.随机属性描述 + str(武器属性A.最大值)+ ('%' if 武器属性A.间隔 / 10 < 1 else '') - temp = trans("残香") + " " + trans( - 武器属性A.固定属性描述) + '' - if self.角色属性B.武器词条触发 == 1: - # tempstr += "| 属性2:" +""+武器属性B.固定属性描述 + ',' + 武器属性B.随机属性描述 + str(武器属性B.最大值)+ ('%' if 武器属性B.间隔 / 10
" + trans( - 武器属性B.固定属性描述) + '
' - tempstr.append(temp) - - if self.角色属性B.黑鸦词条[0][0] == 1 or self.角色属性B.黑鸦词条[1][ - 0] == 1 or self.角色属性B.黑鸦词条[2][0] == 1 or self.角色属性B.黑鸦词条[3][ - 0] == 1: - temp = trans("黑鸦") - if self.角色属性B.黑鸦词条[0][0] == 1: - if self.角色属性B.武器变换属性自适应 > 0: - 黑鸦武器 = 武器变换属性列表[self.角色属性B.武器变换属性自适应] - temp += " {}:".format( - trans('武器')) + "" + trans( - 黑鸦武器.固定属性描述) + '' - else: - temp += " {}:".format( - trans('武器')) + "" + trans( - '觉醒') + '' - if self.角色属性B.黑鸦词条[1][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[0]] - temp += " {}:".format( - trans('戒指')) + "" + trans( - 黑鸦.固定属性描述) + '' - - tempstr.append(temp) - - temp = trans("黑鸦") - if self.角色属性B.黑鸦词条[2][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[1]] - temp += " {}:".format( - trans('辅助')) + "" + trans( - 黑鸦.固定属性描述) + '' - if self.角色属性B.黑鸦词条[3][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[2]] - temp += " {}:".format( - trans('下装')) + "" + trans( - 黑鸦.固定属性描述) + '' - tempstr.append(temp) - - count = len(tempstr) - - for i in range(len(self.词条显示)): - value = tempstr[i] if i < count else '' - self.词条显示[i].setText(value) - - for i in self.套装名称显示: - i.setText('') - - self.套装名称显示[0].setText(trans(装备[11])) - self.套装名称显示[0].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - - 套装名称 = copy(self.角色属性B.套装栏) - - 神话所在套装 = [] - for i in range(11): - if equ.get_equ_by_name(装备[i]).品质 == '神话': - 神话所在套装.append(equ.get_equ_by_name(装备[i]).所属套装) - - 套装 = [] - 套装件数 = [] - 套装属性 = [] - for i in range(len(套装名称)): - temp = 套装名称[i].split('[')[0] - if temp not in 套装: - 套装.append(trans(temp)) - 套装件数.append([]) - 套装属性.append('') - if len(套装名称[i].split('[')) > 1: - 件数 = 套装名称[i].split('[')[1].split(']')[0] - 套装件数[套装.index(trans(temp))].append(件数) - 套装属性[套装.index( - trans(temp) - )] += '' + 套装名称[ - i] + '
' + equ.get_suit_by_name( - 套装名称[i]).装备描述_BUFF(self.角色属性B)[:-4] + '

' - - self.角色属性B.装备描述 = 1 - - sirocos = [] - - temp = '' - - for i in range(15): - if self.希洛克选择状态[i] == 1: - siroco = SirocoList[i // 3] - if siroco not in sirocos: - siroco.set_character(self.角色属性B) - sirocos.append(siroco) - siroco.fuse(i % 3) - for siroco in sirocos: - temp += siroco.compute() - self.角色属性B.装备描述 = 0 - 套装属性.append(temp) - - for i in range(len(希洛克套装)): - count = self.希洛克选择状态[i * 3 + 0] + \ - self.希洛克选择状态[i * 3 + 1] + self.希洛克选择状态[i * 3 + 2] - if count > 1: - 套装.append("{}-{}".format(trans('希洛克'), trans(希洛克套装[i]))) - 套装件数.append([count]) - - for i in range(len(套装)): - if len(套装件数[i]) > 0: - self.套装名称显示[i + 1].setText( - trans(套装[i]) + '[' + str(max(套装件数[i])) + ']') - else: - self.套装名称显示[i + 1].setText(trans(套装[i])) - if 套装[i] in 神话所在套装: - self.套装名称显示[i + 1].setStyleSheet( - "QLabel{font-size:12px;color:rgb(226,150,146)}") - else: - self.套装名称显示[i + 1].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - self.套装名称显示[i + 1].setToolTip(套装属性[i][:-4]) - - if len(self.基准值) != 0: - self.提升率显示.setText(self.对比输出(提升率, self.基准值[0], 1, 1)) - else: - self.提升率显示.setText(str(round(提升率, 2)) + '%') - self.自选计算数据 = [提升率, 总数据] - - if 输出 == 0: - self.排行数据.append(装备 + [0] + 套装 + ['无']) - self.输出界面(0, 自选计算模式=True) - - def 站街计算(self, 装备名称, 套装名称=None): - C = deepcopy(self.角色属性A) - C.穿戴装备(装备名称, 套装名称) - C.装备属性计算(x=1) - C.站街计算() - return C - - def 对比输出(self, A, B, x=0, y=0): - if B == 0: - return str(A) - if x == 0: - temp = int(A - B) - if temp == 0: - if y == 1: - return '不变' - return '-' - elif temp > 0: - return '+' + str( - temp) + '' - else: - return '' + str( - temp) + '' - else: - temp = round((A / B - 1) * 100, 2) - if temp == 0: - if y == 1: - return '不变' - return '-' - elif temp > 0: - return '+' + str( - '%.2f' % temp) + '%' - else: - return '' + str( - '%.2f' % temp) + '%' - - def 输出界面(self, index, name='', 自选计算模式=False): - 装备名称 = [] - 套装名称 = [] - 百变怪 = self.排行数据[index][-1] - for i in range(12): - 装备名称.append(self.排行数据[index][i]) - - if not 自选计算模式: - for i in range(13, len(self.排行数据[index]) - 1): - 套装名称.append(self.排行数据[index][i]) - - C = self.站街计算(装备名称) - - self.角色属性B = deepcopy(self.角色属性A) - self.角色属性B.穿戴装备(装备名称, 套装名称) - # 登记 Start - self.角色属性B.预计算(自动切装=not 自选计算模式) - - if self.登记启用 and 自选计算模式: - 登记属性 = self.换装计算(self.角色属性B) - 登记装备 = 登记属性.装备栏 - - # self.输入属性(self.角色属性B) - self.角色属性B.切换详情 = '换装详情:
' + '
'.join( - [' , '.join(登记装备[i:i + 4]) for i in range(0, len(登记装备), 4)]) - # 登记 end - - # 最大输出界面限制 - if len(self.输出窗口列表) >= 10: - del self.输出窗口列表[0] - - 输出窗口 = QWidget() - 输出窗口.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - 输出窗口.setFixedSize(788, 546) - pox_y = 18 - pox_y2 = 11 - temp = '' - if name == '': - temp += trans('详细数据') + ' 仅供参考 带节奏死个' + ' ' + get_mac_address() - else: - temp += name - # temp += '(最多显示前18个技能)'+"装备版本:"+self.角色属性A.版本 + " 增幅版本:" + self.角色属性A.增幅版本 - 输出窗口.setWindowTitle(temp) - 输出窗口.setWindowIcon(self.icon) - QLabel(输出窗口).setPixmap(self.输出背景图片) - 人物 = QLabel(输出窗口) - 图片 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/人物.png") - 人物.setPixmap(图片) - 人物.move(90 + int(45 - 图片.width() / 2), 40 - pox_y2) - 人物.resize(90, 90) - 人物.setAlignment(Qt.AlignTop) - - y = self.角色属性B.一觉面板() - x = self.角色属性B.BUFF面板() - - 面板显示 = [] - for i in range(11): - 面板显示.append(QLabel(输出窗口)) - 面板显示[0].setText(trans('站街') + ':' + str(int(C.系数数值站街()))) - - 面板显示[3].setText(trans('力量') + ':' + str(x[1])) - 面板显示[4].setText(trans('智力') + ':' + str(x[2])) - 面板显示[5].setText(trans('物攻') + ':' + str(x[3])) - 面板显示[6].setText(trans('魔攻') + ':' + str(x[4])) - 面板显示[7].setText(trans('独立') + ':' + str(x[5])) - - 面板显示[9].setText(trans('力量') + ':' + str(y[1])) - 面板显示[10].setText(trans('智力') + ':' + str(y[2])) - - const = 139 - 面板显示[0].move(35, const - pox_y2 + 10) - - const += 36 - count = 0 - for i in [2, 3, 4, 5, 6, 7]: - 面板显示[i].move(35, const + count * 18 - pox_y2) - count += 1 - - count = 0 - for i in [8, 9, 10]: - 面板显示[i].move(165, const + count * 18 - pox_y2) - count += 1 - - for i in range(len(面板显示)): - 面板显示[i].setStyleSheet("QLabel{font-size:12px;color:white;}") - 面板显示[i].resize(100, 18) - 面板显示[i].setAlignment(Qt.AlignLeft) - - skill_buff = self.角色属性B.技能表['BUFF'] - skill_awake = self.角色属性B.技能表['一次觉醒'] - - tempstr = [] - tempstr.append( - trans('BUFF力量%') + ' :' + to_percent(skill_buff.BUFF力量per)) - tempstr.append( - trans('BUFF智力%') + ' :' + to_percent(skill_buff.BUFF智力per)) - tempstr.append( - trans('BUFF物攻%') + ' :' + to_percent(skill_buff.BUFF物攻per)) - tempstr.append( - trans('BUFF魔攻%') + ' :' + to_percent(skill_buff.BUFF魔攻per)) - tempstr.append( - trans('BUFF独立%') + ' :' + to_percent(skill_buff.BUFF独立per)) - tempstr.append( - trans('一觉力智') + ' :' + str(int(round(skill_awake.一觉力智, 0)))) - tempstr.append(trans('一觉力智%') + ' :' + to_percent(skill_awake.一觉力智per)) - - j = 318 - for i in tempstr: - templab = QLabel(输出窗口) - templab.setText(i) - templab.setStyleSheet( - "QLabel{font-size:12px;color:rgb(104,213,237)}") - templab.move(20, j - pox_y2) - templab.resize(305, 18) - templab.setAlignment(Qt.AlignLeft) - j += 18 - - 位置 = 313 - 间隔 = 20 - 适用称号名称 = QLabel(self.称号.currentData(), 输出窗口) - 适用称号名称.setStyleSheet("QLabel{font-size:12px;color:rgb(255,255,255)}") - 适用称号名称.move(114, 位置 - pox_y2) - 适用称号名称.resize(150, 18) - 适用称号名称.setAlignment(Qt.AlignCenter) - 位置 += 间隔 - 适用称号名称.setToolTip(self.称号描述()) - - 适用宠物名称 = QLabel(self.宠物.currentData(), 输出窗口) - 适用宠物名称.setStyleSheet("QLabel{font-size:12px;color:rgb(255,255,255)}") - 适用宠物名称.move(114, 位置 - pox_y2) - 适用宠物名称.resize(150, 18) - 适用宠物名称.setAlignment(Qt.AlignCenter) - 位置 += 间隔 - 适用宠物名称.setToolTip(self.宠物描述()) - - 适用中的套装 = QLabel(trans(装备名称[11]), 输出窗口) - 适用中的套装.setStyleSheet("QLabel{font-size:12px;color:rgb(255,255,255)}") - 适用中的套装.move(132, 位置 - pox_y2) - 适用中的套装.resize(132, 18) - 适用中的套装.setAlignment(Qt.AlignCenter) - - 神话所在套装 = '无' - for i in range(11): - temp = equ.get_equ_by_name(装备名称[i]) - if temp.品质 == '神话': - 神话所在套装 = temp.所属套装 - - 套装 = [] - 套装件数 = [] - 套装属性 = [] - - 套装名称 = copy(self.角色属性B.套装栏) - - for i in range(len(套装名称)): - temp = 套装名称[i].split('[')[0] - if temp not in 套装: - 套装.append(temp) - 套装件数.append([]) - 套装属性.append('') - if len(套装名称[i].split('[')) > 1: - 件数 = 套装名称[i].split('[')[1].split(']')[0] - 套装件数[套装.index(temp)].append(件数) - 套装属性[套装.index( - temp - )] += '' + 套装名称[ - i] + '
' + equ.get_suit_by_name( - 套装名称[i]).装备描述_BUFF(self.角色属性B)[:-4] + '

' - - E = deepcopy(self.初始属性) - - sirocos = [] - - temp = '' - - for i in range(15): - if self.希洛克选择状态[i] == 1: - siroco = SirocoList[i // 3] - if siroco not in sirocos: - siroco.set_character(E) - sirocos.append(siroco) - siroco.fuse(i % 3) - for siroco in sirocos: - temp += siroco.compute() - - 套装属性.append(temp) - - for i in range(len(希洛克套装)): - count = self.希洛克选择状态[i * 3 + 0] + \ - self.希洛克选择状态[i * 3 + 1] + self.希洛克选择状态[i * 3 + 2] - if count > 1: - 套装.append("{}-{}".format(trans('希洛克'), trans(希洛克套装[i]))) - 套装件数.append([count]) - - for i in range(len(套装)): - 位置 += 间隔 - 适用套装名称 = QLabel(输出窗口) - if len(套装件数[i]) > 0: - 适用套装名称.setText(trans(套装[i]) + '[' + str(max(套装件数[i])) + ']') - else: - 适用套装名称.setText(trans(套装[i])) - 适用套装名称.move(132, 位置 - pox_y2) - 适用套装名称.resize(132, 18) - 适用套装名称.setAlignment(Qt.AlignCenter) - if 套装[i] in 神话所在套装: - 适用套装名称.setStyleSheet( - "QLabel{font-size:12px;color:rgb(226,150,146)}") - else: - 适用套装名称.setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 适用套装名称.setToolTip(套装属性[i][:-4]) - - 实际技能等级 = [] - - 技能表 = self.角色属性B.技能表.values() - - for skill in 技能表: - 实际技能等级.append(skill.等级) - - if len(self.基准值) != 0: - 显示模式 = 1 - else: - 显示模式 = 0 - - count = 0 - - 统计详情 = self.角色属性B.compute() - - for 详情 in 统计详情: - if sum(详情) != 0: - count += 1 - - self.行高 = 30 - if count > 0: - self.行高 = min(int(440 / count), 30) - j = -1 - - num = 0 - for skill in 技能表: - if skill.是否启用 and sum(统计详情[num]) != 0: - j += 1 - 每行详情 = [] - for k in range(11): - 每行详情.append(QLabel(输出窗口)) - - # 图片 - 每行详情[0].setPixmap(self.技能图片[num]) - 每行详情[0].move(302, 50 + j * self.行高 - pox_y) - 每行详情[0].resize(28, min(28, self.行高 - 2)) - # 等级 - 每行详情[1].setText('Lv.' + str(实际技能等级[num])) - 每行详情[1].move(337, 50 + j * self.行高 - pox_y) - 每行详情[1].resize(30, min(28, self.行高)) - - for k in range(8): - 详情 = str(int(统计详情[num][k])) - if 显示模式 == 1: - 详情 = self.对比输出(统计详情[num][k], self.基准值[1][num][k]) - if 详情 == '0' or 详情 == 0: - 详情 = '' - 每行详情[k + 2].setText(详情) - 每行详情[k + 2].move(370 + k * 40, 50 + j * self.行高 - pox_y) - 每行详情[k + 2].resize(50, min(28, self.行高)) - if hasattr(skill, "适用数值") and skill.适用数值 != 0: - 每行详情[10].setText("(" + str(round(skill.适用数值)) + ")") - 每行详情[10].setStyleSheet( - "QLabel{font-size:12px;color:rgb(104,213,237)}") - 每行详情[10].move(710, 50 + j * self.行高 - pox_y) - 每行详情[10].resize(50, min(28, self.行高)) - - for l in range(1, 10): - if self.登记启用 and skill.名称 in BUFF影响技能 and 自选计算模式: - 每行详情[l].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,0,0)}") - else: - 每行详情[l].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 每行详情[l].setAlignment(Qt.AlignCenter) - - num += 1 - - 合计力量 = 0 - 合计智力 = 0 - 合计物攻 = 0 - 合计魔攻 = 0 - 合计独立 = 0 - - 基准值合计力量 = 0 - 基准值合计智力 = 0 - 基准值合计物攻 = 0 - 基准值合计魔攻 = 0 - 基准值合计独立 = 0 - - for i in range(len(统计详情)): - if 显示模式 == 1: - 基准值合计力量 += self.基准值[1][i][3] - 基准值合计智力 += self.基准值[1][i][4] - 基准值合计物攻 += self.基准值[1][i][5] - 基准值合计魔攻 += self.基准值[1][i][6] - 基准值合计独立 += self.基准值[1][i][7] - 合计力量 += 统计详情[i][3] - 合计智力 += 统计详情[i][4] - 合计物攻 += 统计详情[i][5] - 合计魔攻 += 统计详情[i][6] - 合计独立 += 统计详情[i][7] - tempstr = '' - if 显示模式 == 1: - 对比力量 = self.对比输出(合计力量, 基准值合计力量, 0, 1) - 对比智力 = self.对比输出(合计智力, 基准值合计智力, 0, 1) - 对比物攻 = self.对比输出(合计物攻, 基准值合计物攻, 0, 1) - 对比魔攻 = self.对比输出(合计魔攻, 基准值合计魔攻, 0, 1) - 对比独立 = self.对比输出(合计独立, 基准值合计独立, 0, 1) - if 对比力量 == 对比智力: - tempstr += trans('力智') + 对比力量 - else: - tempstr += '力量' + 对比力量 - tempstr += ',智力' + 对比智力 - - if 对比物攻 == 对比魔攻 and 对比魔攻 == 对比独立: - tempstr += ',' + trans('三攻') + 对比物攻 - else: - tempstr += ',物攻' + 对比物攻 - tempstr += ',魔攻' + 对比魔攻 - tempstr += ',独立' + 对比独立 - else: - if 合计力量 == 合计智力: - tempstr += trans('力智') + '+' + str(round(合计力量)) - else: - tempstr += '力量+' + str(round(合计力量)) - tempstr += ',智力+' + str(round(合计智力)) - - if 合计物攻 == 合计魔攻 and 合计魔攻 == 合计独立: - tempstr += ',' + trans('三攻') + '+' + str(round(合计物攻)) - else: - tempstr += ',物攻+' + str(round(合计物攻)) - tempstr += ',魔攻+' + str(round(合计魔攻)) - tempstr += ',独立+' + str(round(合计独立)) - if self.角色属性B.切换详情 != '无': - tempstr += '

' + self.角色属性B.切换详情 - - if self.角色属性B.希洛克武器词条 == 1: - 武器词条最高值 = self.角色属性B.自适应最高值 - 武器属性A = 武器属性A列表[武器词条最高值[0]] - 武器属性B = 武器属性B列表[武器词条最高值[1]] - # tempstr += '

' + "属性1:" +""+武器属性A.固定属性描述 + ',' + 武器属性A.随机属性描述 + str(武器属性A.最大值)+ ('%' if 武器属性A.间隔 / 10 < 1 else '') - tempstr += "

" + trans("残香") +""+ \ - "" + trans(武器属性A.固定属性描述) + '' - if self.角色属性B.武器词条触发 == 1: - # tempstr += "| 属性2:" +""+武器属性B.固定属性描述 + ',' + 武器属性B.随机属性描述 + str(武器属性B.最大值)+ ('%' if 武器属性B.间隔 / 10 < 1 else '') - tempstr += " | " + "" + trans( - 武器属性B.固定属性描述) + '' - - if self.角色属性B.黑鸦词条[0][0] == 1 or self.角色属性B.黑鸦词条[1][ - 0] == 1 or self.角色属性B.黑鸦词条[2][0] == 1 or self.角色属性B.黑鸦词条[3][ - 0] == 1: - tempstr += "

" + trans("黑鸦") - if self.角色属性B.黑鸦词条[0][0] == 1: - if self.角色属性B.武器变换属性自适应 > 0: - 黑鸦武器 = 武器变换属性列表[self.角色属性B.武器变换属性自适应] - tempstr += " {}:".format( - trans('武器')) + "" + trans( - 黑鸦武器.固定属性描述) + '' - else: - tempstr += " {}:".format( - trans('武器')) + "" + trans( - '觉醒') + '' - if self.角色属性B.黑鸦词条[1][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[0]] - tempstr += " {}:".format( - trans('戒指')) + "" + trans( - 黑鸦.固定属性描述) + '' - if self.角色属性B.黑鸦词条[2][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[1]] - tempstr += " {}:".format( - trans('辅助')) + "" + trans( - 黑鸦.固定属性描述) + '' - if self.角色属性B.黑鸦词条[3][0] == 1: - 黑鸦 = 装备变换属性列表[self.角色属性B.防具变换属性自适应[2]] - tempstr += " {}:".format( - trans('下装')) + "" + trans( - 黑鸦.固定属性描述) + '' - - 合计 = QLabel(输出窗口) - 合计.setStyleSheet("QLabel{color:rgb(104,213,237);font-size:15px}") - 合计.setText(tempstr) - if self.登记启用 and 自选计算模式: - 合计.setStyleSheet("QLabel{color:rgb(104,213,237);font-size:12px}") - 合计.resize(450, 300) - 合计.move(280, 30 + j * self.行高 - pox_y2) - 合计.setAlignment(Qt.AlignCenter) - - 初始x = 10 - 初始y = 31 - - 图片列表 = self.获取装备图片(self.排行数据[index]) - - 提升率 = self.角色属性B.提升率计算(统计详情) - - 提升率显示 = QLabel(输出窗口) - - 提升率显示.setStyleSheet("QLabel{color:rgb(255,255,255);font-size:25px}") - if 显示模式 == 1: - 提升率显示.setText(self.对比输出(提升率, self.基准值[0], 1, 1)) - else: - 提升率显示.setText(str(round(提升率, 2)) + '%') - 提升率显示.resize(250, 36) - 提升率显示.move(10, 517 - pox_y2) - 提升率显示.setAlignment(Qt.AlignCenter) - - 图片列表 = self.获取装备图片(self.排行数据[index]) - 偏移量 = 187 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - - tempstr = self.装备描述_BUFF计算(self.角色属性B) - - for i in range(12): - x = 初始x + x坐标[i] - y = 初始y + y坐标[i] - pox_y2 - 装备图标 = QLabel(输出窗口) - 装备图标.setMovie(图片列表[i]) - 装备图标.resize(26, 26) - 装备图标.move(x, y) - 装备图标.setAlignment(Qt.AlignCenter) - 装备 = equ.get_equ_by_name(self.角色属性B.装备栏[i]) - if self.角色属性B.装备栏[i] == 百变怪: - 图标遮罩 = QLabel(输出窗口) - 图标遮罩.setStyleSheet("QLabel{background-color:rgba(0,0,0,0.5)}") - 图标遮罩.resize(26, 26) - 图标遮罩.move(x, y) - 图标遮罩.setToolTip(tempstr[i]) - else: - 装备图标.setToolTip(tempstr[i]) - - for i in range(12): - 装备 = equ.get_equ_by_name(self.角色属性B.装备栏[i]) - 打造状态 = QLabel(输出窗口) - if 装备.所属套装 != '智慧产物': - 打造状态.setText('+' + str(self.角色属性B.强化等级[i])) - if self.角色属性B.是否增幅[i] == 1: - 打造状态.setStyleSheet( - "QLabel{color:rgb(228,88,169);font-size:12px;font-weight:Bold}" - ) - else: - 打造状态.setStyleSheet( - "QLabel{color:rgb(25,199,234);font-size:12px;font-weight:Bold}" - ) - - else: - 打造状态.setText('+' + str(self.角色属性B.改造等级[i])) - 打造状态.setStyleSheet( - "QLabel{color:rgb(249,141,62);font-size:12px;font-weight:Bold;}" - ) - - 打造状态.move(初始x + x坐标[i] + 13, 初始y + y坐标[i] - 8 - pox_y2) - - 装备 = equ.get_equ_by_name(self.角色属性B.装备栏[11]) - if 装备.所属套装 != '智慧产物' and self.角色属性B.武器锻造等级 != 0: - 打造状态 = QLabel(输出窗口) - 打造状态.setText('+' + str(self.角色属性B.武器锻造等级)) - 打造状态.setStyleSheet( - "QLabel{color:rgb(232,104,24);font-size:12px;font-weight:Bold}" - ) - 打造状态.move(初始x + x坐标[11] + 13, 初始y + y坐标[11] + 20 - pox_y2) - - if self.登记启用 and 自选计算模式: - # 登记装备图表显示 - 偏移量 = 80 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, - 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - 图片列表2 = self.获取装备图片(登记装备, self.登记希洛克, self.登记奥兹玛) - - def compare(i): - if 登记装备[i] != self.排行数据[index][i]: - return False - if i == 2: - if self.角色属性A.黑鸦词条[3][0] != self.角色属性B.黑鸦词条[3][0]: - return False - elif i == 7: - if self.角色属性A.黑鸦词条[1][0] != self.角色属性B.黑鸦词条[1][0]: - return False - elif i == 9: - if self.角色属性A.黑鸦词条[2][0] != self.角色属性B.黑鸦词条[2][0]: - return False - elif i == 11: - if self.角色属性A.黑鸦词条[0][0] != self.角色属性B.黑鸦词条[0][0]: - return False - return True - - for i in range(len(登记装备)): - x = 初始x + x坐标[i] + 600 - y = 初始y + y坐标[i] - pox_y2 + 200 - 装备图标 = QLabel(输出窗口) - 装备图标.setMovie(图片列表2[i]) - 装备图标.resize(26, 26) - 装备图标.move(x, y) - 装备图标.setAlignment(Qt.AlignCenter) - - if compare(i): - 图标遮罩 = QLabel(输出窗口) - 图标遮罩.setStyleSheet( - "QLabel{background-color:rgba(0,0,0,0.8)}") - 图标遮罩.resize(26, 26) - 图标遮罩.move(x, y) - try: - self.exports_store() - 更新人物名望() - # TODO: 重新布局 - 总名望 = store.get("/fame/temp_result") - 名望详情 = store.get("/fame/temp_result/detail") - if 总名望 > 0: - bmi = pow(提升率, 2) / 1e5 / pow((总名望 / 1e4 - 0.5), 3) - templabel = QLabel(输出窗口) - templabel.setText("名望 {}({})".format(str(总名望), - str(round(bmi, 2)))) - templabel.setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - templabel.move(130, 110) - templabel.resize(100, 42) - templabel.setToolTip( - '系数计算公式:bmi = pow(提升率,2) / 1e5 / pow((总名望 / 1e4 - 0.5), 3)
' - + str(名望详情)) - - except Exception as e: - logger.error(e) - - 输出显示 = MainWindow(输出窗口) - self.输出窗口列表.append(输出显示) - 输出显示.show() - - def 辟邪玉显示(self, x=0): - temp = '' - num = 0 - for i in range(4): - k = self.辟邪玉选择[i].currentIndex() - if k > 0: - temp += trans('{$name}$value
', - name=辟邪玉列表[k].简称, - value=self.辟邪玉数值[i].currentData()) - num += 1 - 辟邪玉颜色 = 颜色[{4: '史诗', 3: '传说', 2: '神器', 1: '稀有'}.get(num, '稀有')] - if x == 0: - return 辟邪玉颜色 - else: - if num == 0: - return '' - else: - return trans('{辟邪玉}:
$effect
', - color=辟邪玉颜色, - effect=temp[:-4]) - - def 装备描述_BUFF计算(self, property): - tempstr = [] - 希洛克选择状态 = [0] * 3 - for i in range(len(self.希洛克选择状态)): - 希洛克选择状态[i % 3] += self.希洛克选择状态[i] - 奥兹玛选择状态 = [0] * 5 - for i in range(len(self.奥兹玛选择状态)): - 奥兹玛选择状态[i % 5] += self.奥兹玛选择状态[i] - for i in range(12): - 装备 = equ.get_equ_by_name(property.装备栏[i]) - tempstr.append( - trans( - ' {$name}
', - color=颜色[装备.品质], - name=装备.名称)) - if 装备.所属套装 != '无': - if 装备.所属套装 != '智慧产物': - y = ' ' + 装备.所属套装 - else: - try: - y = ' ' + 装备.所属套装2 - except Exception as e: - y = ' ' - else: - y = ' ' - if i == 11: - y += ' ' + 装备.类型 - - tempstr[i] += trans('{Lv}$level {$rarity} {$name}', - level=装备.等级, - rarity=装备.品质, - name=y) - if i < 5: - x = property.防具精通计算(i) - tempstr[i] += trans('
{防具精通}: ') - for n in property.防具精通属性: - if n != '体力': - tempstr[i] += n + ' +' + str(2 * x) + ' ' - else: - tempstr[i] += n + ' +' + str(x) + ' ' - - if 装备.所属套装 != '智慧产物': - if property.强化等级[i] != 0: - if i in [9, 10]: - tempstr[i] += trans( - '
+$value {强化}:', - value=property.强化等级[i]) - tempstr[i] += trans('{四维} +$value ', - value=左右计算(100, 装备.品质, - property.强化等级[i])) - - if property.武器锻造等级 != 0: - if i == 11: - tempstr[i] += trans( - '
+$value {锻造} ', - value=property.武器锻造等级) - tempstr[i] += trans("{四维} +$value ", - value=锻造四维(装备.等级, 装备.品质, - property.武器锻造等级)) - - if property.是否增幅[i] == 1: - value = 增幅计算(装备.等级, 装备.品质, property.强化等级[i], property.增幅版本) - if tempstr[i] != '': - tempstr[i] += '
' - tempstr[i] += trans('+$value {增幅}:', - value=property.强化等级[i]) - if '体力' in property.类型: - tempstr[i] += trans('{异次元体力} +$value', - value=value) - elif '精神' in property.类型: - tempstr[i] += trans('{异次元精神} +$value
', - value=value) - elif '智力' in property.类型: - tempstr[i] += trans('{异次元智力} +$value
', - value=value) - - if tempstr[i] != '': - tempstr[i] += '
' - if 装备.所属套装 != '智慧产物': - weapon_index = property.黑鸦词条[0][0] - ring_index = property.黑鸦词条[1][0] - left_index = property.黑鸦词条[2][0] - pants_index = property.黑鸦词条[3][0] - - # 下装 - if i == 2 and pants_index != 0: - tempstr[i] += 装备.装备描述_变换属性_BUFF(property) - if pants_index == 1: - tempstr[i] += self.黑鸦属性描述(property.防具变换属性自适应[2], 0, 1) - else: - tempstr[i] += self.黑鸦属性描述(property.黑鸦词条[3][1], - property.黑鸦词条[3][2], 1) - - # 戒指 - elif i == 7 and ring_index != 0: - tempstr[i] += 装备.装备描述_变换属性_BUFF(property) - if ring_index == 1: - tempstr[i] += self.黑鸦属性描述(property.防具变换属性自适应[0], 0, 1) - else: - tempstr[i] += self.黑鸦属性描述(property.黑鸦词条[1][1], 0, 1) - - # 辅助装备 - elif i == 9 and left_index != 0: - tempstr[i] += 装备.装备描述_变换属性_BUFF(property) - if left_index == 1: - tempstr[i] += self.黑鸦属性描述(property.防具变换属性自适应[1], 0, 1) - else: - tempstr[i] += self.黑鸦属性描述(property.黑鸦词条[2][1], - property.黑鸦词条[2][2], 1) - - # 武器 - elif i == 11 and weapon_index != 0: - - tempstr[i] += 装备.装备描述_变换属性_BUFF(property) - - # 当遴选为觉醒时 - add_awake = weapon_index == 3 or (weapon_index == 1 and - property.武器变换属性自适应 == 0) - - # 自选觉醒 - if add_awake: - tempstr[i] += 'Lv50 技能等级+2
' - tempstr[i] += 'Lv85 技能等级+2
' - tempstr[i] += 'Lv100 技能等级+2
' - - if weapon_index > 0: - if weapon_index == 1 and property.武器变换属性自适应 != 0: - tempstr[i] += self.黑鸦属性描述(property.武器变换属性自适应, 0) - elif weapon_index == 2: - tempstr[i] += self.黑鸦属性描述(property.黑鸦词条[0][0], - property.黑鸦词条[0][2]) - - if 装备.名称 == '世界树之精灵': - tempstr[i] += 'Lv50 技能等级+2
' - - else: - tempstr[i] += 装备.装备描述_BUFF(property) - - property.装备描述 = 1 - - 部位 = 部位列表[i] - - 希洛克title = trans('{希洛克融合属性}:
') - - if 希洛克选择状态[0] == 1 and 部位 == '下装': - # tempstr[i]+='
' - tempstr[i] += 希洛克title - tempstr[i] += BUFF增加(property, BUFF力智per=1.03) - elif 希洛克选择状态[1] == 1 and 部位 == '戒指': - # tempstr[i]+='
' - tempstr[i] += 希洛克title - tempstr[i] += 觉醒增加(property, 一觉力智per=1.03) - elif 希洛克选择状态[2] == 1 and 部位 == '辅助装备': - # tempstr[i]+='
' - tempstr[i] += 希洛克title - tempstr[i] += 被动增加(property, 被动进图加成=80) - if self.角色属性B.希洛克武器词条 > 0 and i == 11: - - # tempstr[i]+='
' - tempstr[i] += 希洛克title - - if self.角色属性B.希洛克武器词条 == 1: - 武器词条最高值 = self.角色属性B.自适应最高值 - 武器属性A = 武器属性A列表[武器词条最高值[0]] - 武器属性B = 武器属性B列表[武器词条最高值[1]] - elif self.角色属性B.希洛克武器词条 == 2: - 武器属性A = 武器属性A列表[self.武器融合属性A.currentIndex()] - 武器属性B = 武器属性B列表[self.武器融合属性B.currentIndex()] - - tempstr[i] += trans("{属性1}:$a,$b$c$d
",\ - a = 武器属性A.固定属性描述,\ - b = 武器属性A.随机属性描述,\ - c = 武器属性A.最大值,\ - d = '%' if 武器属性A.间隔 / 10 < 1 else '') - if self.角色属性B.武器词条触发 == 1: - tempstr[i] += trans("{属性2}:$a,$b$c$d
",\ - a = 武器属性B.固定属性描述,\ - b = 武器属性B.随机属性描述,\ - c = 武器属性B.最大值,\ - d = '%' if 武器属性B.间隔 / 10 < 1 else '') - - if 部位 in 奥兹玛部位列表: - index = 奥兹玛部位列表.index(部位) - cur = -1 - for j in range(0, 5): - if self.奥兹玛选择状态[j * 5 + index] == 1: - cur = j - break - if cur > 0: - tempstr[i] += trans( - '{奥兹玛融合属性}:
') - tempstr[i] += str(OzmaList[cur](property)) - property.装备描述 = 0 - - tempstr[i] = tooltip_trim(tempstr[i]) - tempstr[i] += '
' - - return tempstr - - def 黑鸦属性描述(self, index, value=0, x=0): - 变换属性 = 武器变换属性列表[index] if x == 0 else 装备变换属性列表[index] - value = 变换属性.最大值 - 变换属性.间隔 * value - if value // 10 < 1: - value = str(value) + "%" - return "{},,{}{}
".format( - 变换属性.固定属性描述, 变换属性.随机属性描述, value) - - def 黑鸦属性计算(self, 属性: 辅助角色属性): - for i in range(4): - if self.黑鸦词条选项[i][0].currentIndex() == 2: - if i == 0: - 武器属性 = 武器变换属性列表[self.黑鸦词条选项[i][1].currentIndex()] - 武器属性数值 = self.黑鸦词条选项[i][3].currentText().replace('%', '') - 武器属性.当前值 = int(武器属性数值 if 武器属性数值 != '' else 0) - 武器属性.变换属性(属性) - else: - 装备属性 = 装备变换属性列表[self.黑鸦词条选项[i][1].currentIndex()] - 装备属性数值 = self.黑鸦词条选项[i][3].currentText().replace('%', '') - 装备属性.当前值 = int(装备属性数值 if 装备属性数值 != '' else 0) - 装备属性.变换属性(属性) - - def 输入属性(self, 属性: 辅助角色属性, x=0): - - self.exports_property(属性) - - if x == 0: - self.辟邪玉属性计算(属性) - - if sum(self.希洛克选择状态) == 3: - 属性.武器词条触发 = 1 - - 属性.希洛克武器词条 = self.希洛克武器选择.currentIndex() - - if 属性.希洛克武器词条 == 2: - 属性.残香词条 = [ - self.武器融合属性A.currentIndex(), - self.武器融合属性A2.currentIndex(), - self.武器融合属性B.currentIndex(), - self.武器融合属性B2.currentIndex() - ] - - for i in range(len(self.复选框列表)): - if self.复选框列表[i].isChecked(): - 选项设置列表[i].适用效果(属性) - - 称号列表[self.称号.currentIndex()].城镇属性_BUFF(属性) - if 属性.称号触发: - 称号列表[self.称号.currentIndex()].触发属性(属性) - - 宠物列表[self.宠物.currentIndex()].城镇属性_BUFF(属性) - - for i in range(12): - 属性.是否增幅[i] = self.装备打造选项[i].currentIndex() - 属性.强化等级[i] = self.装备打造选项[i + 12].currentIndex() - 属性.改造等级[i] = self.装备打造选项[i + 24].currentIndex() - 属性.武器锻造等级 = self.装备打造选项[36].currentIndex() - 属性.类型 = self.装备打造选项[37].currentData() - self.是否计算 = 1 - - if self.切装模式选项.isChecked() and self.计算模式选择.currentIndex( - ) != 2 and 属性.技能表['BUFF'].是否启用 and 属性.技能表['一次觉醒'].是否启用: - 属性.双装备模式 = 1 - pass - - 黑鸦词条 = [] - for i in range(4): - temp = [ - self.黑鸦词条选项[i][0].currentIndex(), - self.黑鸦词条选项[i][1].currentIndex(), - self.黑鸦词条选项[i][3].currentIndex(), - ] - 黑鸦词条.append(temp) - 属性.黑鸦词条 = 黑鸦词条 - - 属性.希洛克选择状态 = self.希洛克选择状态 - - 属性.奥兹玛选择状态 = self.奥兹玛选择状态 - - 属性.觉醒择优系数 = float(self.觉醒择优系数.currentText()) - - self.基础属性(属性) - - def 技能加成判断(self, name, 属性): - if name == 'Lv1-30(主动)Lv+1': - 属性.技能等级加成('主动', 1, 30, 1) - return - if name == 'Lv1-50(主动)Lv+1': - 属性.技能等级加成('主动', 1, 50, 1) - return - if name == 'Lv1-35(主动)Lv+1': - 属性.技能等级加成('主动', 1, 35, 1) - return - if name == 'Lv30-50(主动)Lv+1': - 属性.技能等级加成('主动', 30, 50, 1) - return - if name == 'Lv1-30(所有)Lv+1': - 属性.技能等级加成('所有', 1, 30, 1) - return - if name == 'Lv1-50(所有)Lv+1': - 属性.技能等级加成('所有', 1, 50, 1) - return - if name == 'Lv1-20(所有)Lv+1': - 属性.技能等级加成('所有', 1, 20, 1) - return - if name == 'Lv20-30(所有)Lv+1': - 属性.技能等级加成('所有', 20, 30, 1) - return - if name == 'Lv1-80(所有)Lv+1': - 属性.技能等级加成('所有', 1, 80, 1) - return - - if name == '一觉Lv+1': - 属性.一觉Lv += 1 - return - if name == '一觉Lv+2': - 属性.一觉Lv += 2 - return - if name == 'BUFFLv+1': - 属性.BUFFLv += 1 - return - if name == 'BUFFLv+2': - 属性.BUFFLv += 2 - return - if name == 'BUFFLv+3': - 属性.BUFFLv += 3 - return - if name == 'BUFFLv+4': - 属性.BUFFLv += 4 - return - for skill in 属性.技能表.values(): - if name == skill.名称 + 'Lv+1': - skill.等级加成(1) - return - if name == 'BUFF力智+3%': - 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - if name == 'BUFF三攻+3%': - 属性.BUFF增加(BUFF物攻per=1.03, BUFF魔攻per=1.03, BUFF独立per=1.03) - if name == 'BUFF力智、三攻+3%': - 属性.BUFF增加(BUFF力量per=1.03, - BUFF智力per=1.03, - BUFF物攻per=1.03, - BUFF魔攻per=1.03, - BUFF独立per=1.03) - - def 基础属性(self, 属性): - for i in range(3): - for j in range(16): - if self.属性设置输入[i][j].text() != '': - try: - float(self.属性设置输入[i][j].text()) - except Exception as e: - logger.error(e) - QMessageBox.information( - self, "错误", self.行名称[j + 17 if i > 2 else j] + - ":" + self.列名称[i] + " 输入格式错误,已重置为空") - self.属性设置输入[i][j].setText('') - for i in range(3, 9): - for j in range(17): - if self.属性设置输入[i][j].text() != '': - try: - float(self.属性设置输入[i][j].text()) - except Exception as e: - logger.error(e) - QMessageBox.information( - self, "错误", self.行名称[j + 17 if i > 2 else j] + - ":" + self.列名称[i] + " 输入格式错误,已重置为空") - self.属性设置输入[i][j].setText('') - - temp = [] - for j in range(len(self.属性设置输入[9])): - - if self.属性设置输入[9][j].text() != '' and j in [1, 2, 5]: - try: - temp.append(float(self.属性设置输入[9][j].text()) / 100) - - if temp[-1] > 1 or temp[-1] < -.2: - QMessageBox.information( - self, "错误", - self.修正列表名称[j] + " 输入数值超出[-20,100],已重置为空") - temp[-1] = 0.0 - self.属性设置输入[9][j].setText('') - except Exception as e: - temp.append(0.0) - QMessageBox.information(self, "错误", - self.修正列表名称[j] + " 输入格式错误,已重置为空") - self.属性设置输入[9][j].setText('') - elif self.属性设置输入[9][j].text() != '' and j in [0, 3, 4, 6]: - try: - temp.append(int(self.属性设置输入[9][j].text())) - except Exception as e: - temp.append(0.0) - QMessageBox.information(self, "错误", - self.修正列表名称[j] + " 输入格式错误,已重置为空") - self.属性设置输入[9][j].setText('') - else: - temp.append(0.0) - # 神话补正 - if 属性.类型 == '智力': - 属性.转职被动智力 += int(temp[0]) - 属性.一觉被动力智 += int(temp[4]) - else: - 属性.守护恩赐体精 += int(temp[0]) - 属性.信念光环体精 += int(temp[4]) - - 属性.BUFF力量per *= 1 + temp[1] - 属性.BUFF智力per *= 1 + temp[1] - 属性.BUFF物攻per *= 1 + temp[2] - 属性.BUFF魔攻per *= 1 + temp[2] - 属性.BUFF独立per *= 1 + temp[2] - 属性.转职被动Lv += int(temp[3]) - 属性.一觉力智per *= 1 + temp[5] - 属性.一觉力智 += int(temp[6]) - for i in [0, 3, 6]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 3 and j == 12: - 属性.BUFF适用面板 += int(self.属性设置输入[i][j].text()) - continue - if i == 0 and j in [1, 9, 16]: - 属性.进图智力 += int(self.属性设置输入[i][j].text()) - else: - 属性.智力 += int(self.属性设置输入[i][j].text()) - for j in range(17, 19): - if self.属性设置输入[i][j].text() != '': - 属性.BUFF补正力智 += int(self.属性设置输入[i][j].text()) - for i in [1, 4, 7]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 4 and j == 12: - 属性.BUFF适用面板 += int(self.属性设置输入[i][j].text()) - continue - if i == 1 and j in [1, 9, 16]: - 属性.进图体力 += int(self.属性设置输入[i][j].text()) - else: - 属性.体力 += int(self.属性设置输入[i][j].text()) - for j in range(17, 19): - if self.属性设置输入[i][j].text() != '': - 属性.BUFF补正体力 += int(self.属性设置输入[i][j].text()) - for i in [2, 5, 8]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 5 and j == 12: - 属性.BUFF适用面板 += int(self.属性设置输入[i][j].text()) - continue - if i == 2 and j in [1, 9, 16]: - 属性.进图精神 += int(self.属性设置输入[i][j].text()) - else: - 属性.精神 += int(self.属性设置输入[i][j].text()) - for j in range(17, 19): - if self.属性设置输入[i][j].text() != '': - 属性.BUFF补正精神 += int(self.属性设置输入[i][j].text()) - for i in self.技能设置输入: - self.技能加成判断(i.currentData(), 属性) - 属性.护石计算() diff --git a/PublicReference/buffer/panel.py b/PublicReference/buffer/panel.py deleted file mode 100644 index 1464cf84..00000000 --- a/PublicReference/buffer/panel.py +++ /dev/null @@ -1,572 +0,0 @@ -from PublicReference.utils.common import to_int -from PublicReference.view.Page import Page -from PyQt5.QtWidgets import QLabel, QGraphicsOpacityEffect - -from PublicReference.equipment.buff.武器融合_buff import * -from PublicReference.equipment.buff.黑鸦_buff import 装备变换属性列表, 武器变换属性列表 -from PublicReference.utils.constant import * -from PublicReference.equipment.equ_list import * - - -class 登记窗口(Page): - def __init__(self): - super().__init__() - - def 初始化(self): - self.初始化 = True - self.初始化UI() - self.初始化 = False - - def 初始化UI(self): - icon = store.get("/app/window/icon") - bgImg = store.get("/app/window/background_image") - self.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - self.setFixedSize(960, 560) - self.setWindowTitle("登记设置") - self.setWindowIcon(icon) - backgroundColorLabel = QLabel(self) - backgroundColorLabel.resize(self.width(), self.height()) - backgroundColorLabel.setStyleSheet( - "QLabel{background-color:rgba(50,50,50,1)}") - graphicsEffect = QGraphicsOpacityEffect() - graphicsEffect.setOpacity(0.1) - backgroundImageLabel = QLabel(self) - backgroundImageLabel.setPixmap(bgImg) - backgroundImageLabel.move(0, int((self.height() - 1230) / 6)) - backgroundImageLabel.setGraphicsEffect(graphicsEffect) - borderLabel = QLabel(self) - borderLabel.resize(self.width() - 4, self.height() - 2) - borderLabel.move(2, -1) - borderLabel.setStyleSheet("QLabel{border:1px solid black}") - - yesButton = QPushButton("应用", self) - yesButton.move(700, 500) - yesButton.resize(80, 24) - yesButton.setStyleSheet(按钮样式) - yesButton.clicked.connect(lambda _: self.设置换装()) - - cancelButton = QPushButton("取消", self) - cancelButton.move(790, 500) - cancelButton.resize(80, 24) - cancelButton.setStyleSheet(按钮样式) - cancelButton.clicked.connect(lambda _: self.closeWindow()) - - resetButton = QPushButton("全部重置", self) - resetButton.move(700, 460) - resetButton.resize(170, 24) - resetButton.setStyleSheet(按钮样式) - resetButton.clicked.connect(lambda _: self.reset()) - - self.初始化自选装备UI() - self.初始化奥兹玛UI() - self.初始化希洛克UI() - self.初始化遴选UI() - self.初始化残香UI() - - def showEvent(self, event): - self.初始化数据() - return super().showEvent(event) - - def 初始化数据(self): - self.初始化装备() - self.初始化希洛克() - self.初始化奥兹玛() - self.初始化遴选() - - def 初始化装备(self): - equips = store.first("/buffer/data/register/equips", - "/buffer/memory/equips") - amplifies = store.first("/buffer/data/register/amplifies", - "/buffer/data/amplifies") - for 部位 in range(len(equips)): - self.自选装备[部位].setCurrentText(equips[部位]) - self.自选增幅选项[部位].setCurrentIndex(amplifies[部位]) - - self.站街面板输入.setText( - str(store.get('/buffer/data/register/display_power', ''))) - - def 初始化希洛克(self): - sirocos = store.first("/buffer/data/register/siroco", - "/buffer/data/siroco") - for i in range(len(sirocos)): - self.希洛克选择(i, sirocos[i]) - weapon_fusion = store.first("/buffer/data/register/weapon_fusion", - "/buffer/data/weapon_fusion", [0] * 4) - self.武器融合属性A.setCurrentIndex(weapon_fusion[0]) - self.武器融合属性A2.setCurrentIndex(weapon_fusion[1]) - self.武器融合属性B.setCurrentIndex(weapon_fusion[2]) - self.武器融合属性B2.setCurrentIndex(weapon_fusion[3]) - - def 初始化奥兹玛(self): - ozmas = store.first("/buffer/data/register/ozma", "/buffer/data/ozma") - for i in range(len(ozmas)): - self.奥兹玛选择(i, ozmas[i]) - - def 初始化遴选(self): - black_purgatory = store.first("/buffer/data/register/black_purgatory", - "/buffer/data/black_purgatory") - for i in range(len(black_purgatory)): - self.黑鸦词条[i][1].setCurrentIndex(black_purgatory[i][1]) - if len(black_purgatory[i]) > 3: - self.黑鸦词条[i][3].setCurrentIndex(black_purgatory[i][3]) - - def reset(self): - store.delete("^/buffer/data/register/.*$") - self.初始化数据() - - def 设置换装(self): - if self.初始化: - return - 自选 = [] - 增幅 = [] - 黑鸦 = [] - - for i in range(len(self.自选装备)): - equip = self.自选装备[i].currentText() - 自选.append(equip) - 增幅.append(self.自选增幅选项[i].currentIndex() if equip != '无' else -1) - for i in range(len(self.黑鸦词条)): - 黑鸦.append([ - 2, - self.黑鸦词条[i][1].currentIndex(), - self.黑鸦词条[i][3].currentIndex(), - ]) - - store.set("/buffer/data/register/equips", 自选) - store.set("/buffer/data/register/siroco", self.希洛克选择状态) - store.set("/buffer/data/register/ozma", self.奥兹玛选择状态) - store.set("/buffer/data/register/black_purgatory", 黑鸦) - store.set("/buffer/data/register/amplifies", 增幅) - store.set("/buffer/data/register/amplifies", 增幅) - store.set("/buffer/data/register/weapon_fusion", [ - self.武器融合属性A.currentIndex(), - self.武器融合属性A2.currentIndex(), - self.武器融合属性B.currentIndex(), - self.武器融合属性B2.currentIndex(), - ]) - - store.set('/buffer/data/register/display_power', - to_int(self.站街面板输入.text())) - - store.emit("/buffer/event/register_changed") - self.closeWindow() - - def 初始化自选装备UI(self): - count = 0 - self.装备锁定 = [] - self.自选装备 = [] - self.自选增幅选项 = [] - - propertyA = store.get("/buffer/temp/property_a") - - 标签 = QLabel('锁定', self) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(70, 25) - 标签.move(20, 20) - - 标签 = QLabel('单件选择', self) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(240, 25) - 标签.move(70, 20) - - for i in 部位列表: - - lock = QCheckBox(i, self) - lock.setStyleSheet(复选框样式) - lock.resize(70, 22) - lock.move(20, 50 + 30 * count) - self.装备锁定.append(lock) - - x = MyQComboBox(self) - for j in range(32): - x.addItem(str(j)) - x.resize(55, 20) - x.move(90, 50 + 30 * count) - self.自选增幅选项.append(x) - - combo = MyQComboBox(self) - - self.自选装备.append(combo) - combo.resize(220, 22) - combo.move(150, 50 + 30 * count) - combo.addItem("无") - for j in equ.get_equ_list(): - if j.部位 == i: - if i == '武器': - if j.类型 in propertyA.武器选项: - combo.addItem(j.名称) - else: - combo.addItem(j.名称) - count += 1 - x = 400 - y = 20 - - 标签 = QLabel(trans('批量选择'), self) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(160, 25) - 标签.move(x, y) - - 套装类型 = ['防具', '首饰', '特殊', '上链左', '镯下右', '环鞋指'] - count = 0 - self.自选套装 = [] - for i in 套装类型: - self.自选套装.append(MyQComboBox(self)) - 套装名称 = [] - for j in equ.get_suit_list(): - if j.名称 not in 套装名称 and j.类型 == i: - 套装名称.append(j.名称) - y += 30 - self.自选套装[count].addItems(套装名称) - self.自选套装[count].resize(160, 22) - self.自选套装[count].move(400, y) - self.自选套装[count].activated.connect( - lambda state, index=count: self.自选套装更改(index)) - count += 1 - - y += 30 - - 神话部位选项 = MyQComboBox(self) - 神话部位选项.addItems(['神话部位:无', '神话部位:上衣', '神话部位:手镯', '神话部位:耳环']) - 神话部位选项.resize(160, 22) - 神话部位选项.move(400, y) - 神话部位选项.activated.connect(lambda index: self.神话部位更改(index)) - - y += 30 - - label = QLabel('站街面板', self) - label.setAlignment(Qt.AlignCenter) - label.setStyleSheet(标签样式) - label.resize(60, 25) - label.move(x, y) - - self.站街面板输入 = QLineEdit(self) - self.站街面板输入.move(x + 60, y) - self.站街面板输入.resize(70, 24) - self.站街面板输入.setStyleSheet(输入框样式) - - y += 30 - - add = QPushButton('打造↑', self) - add.clicked.connect(lambda state: self.批量打造(1)) - add.move(x, y) - add.resize(40, 24) - add.setStyleSheet(按钮样式) - - minus = QPushButton('打造↓', self) - minus.clicked.connect(lambda state: self.批量打造(-1)) - minus.move(x + 60, y) - minus.resize(40, 24) - minus.setStyleSheet(按钮样式) - - reset = QPushButton('重置', self) - reset.clicked.connect(lambda state: self.初始化装备()) - reset.move(x + 120, y) - reset.resize(40, 24) - reset.setStyleSheet(按钮样式) - - def 批量打造(self, offset): - for i in range(len(self.自选增幅选项)): - y = max(min(self.自选增幅选项[i].currentIndex() + offset, 31), 0) - self.自选增幅选项[i].setCurrentIndex(y) - pass - - def 自选套装更改(self, index): - name = self.自选套装[index].currentText() - for i in range(11): - if self.装备锁定[i].isChecked(): - continue - x = 0 - for j in equ.get_equ_list(): - if j.部位 == 部位列表[i]: - x += 1 - if j.所属套装2 == name: - self.自选装备[i].setCurrentIndex(x) - break - elif j.所属套装 == name and j.品质 != '神话': - self.自选装备[i].setCurrentIndex(x) - break - - def 神话部位更改(self, index): - 部位 = [-1, 0, 5, 8] - 序号 = 部位[index] - if 序号 != -1: - 当前 = equ.get_equ_by_name(self.自选装备[序号].currentText()) - x = 0 - for i in equ.get_equ_list(): - if 当前.部位 == i.部位: - x += 1 - if i.品质 == '神话' and i.所属套装 == 当前.所属套装: - self.自选装备[序号].setCurrentIndex(x) - for k in [0, 5, 8]: - if k != 序号: - 当前 = equ.get_equ_by_name(self.自选装备[k].currentText()) - if 当前.品质 == '神话': - x = 0 - for i in equ.get_equ_list(): - if 当前.部位 == i.部位: - x += 1 - if i.品质 == '史诗' and i.所属套装 == 当前.所属套装: - self.自选装备[k].setCurrentIndex(x) - pass - - def 初始化奥兹玛UI(self): - 横坐标 = 640 - 纵坐标 = 50 - 名称 = ['阿斯特罗斯', '贝利亚斯', '雷德梅恩', '罗什巴赫', '泰玛特'] - self.奥兹玛套装按钮 = [] - self.奥兹玛单件按钮 = [] - self.奥兹玛遮罩透明度 = [] - self.奥兹玛选择状态 = [0] * 25 - count = 0 - for i in 名称: - self.奥兹玛套装按钮.append(QPushButton(i, self)) - self.奥兹玛套装按钮[count].setStyleSheet(按钮样式) - self.奥兹玛套装按钮[count].resize(75, 22) - self.奥兹玛套装按钮[count].move(横坐标, 纵坐标 + 3 + count * 32) - self.奥兹玛套装按钮[count].clicked.connect( - lambda state, index=count: self.奥兹玛套装选择(index)) - for j in range(5): - 序号 = count * 5 + j - 图片 = QLabel(self) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/奥兹玛/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - self.奥兹玛遮罩透明度.append(QGraphicsOpacityEffect()) - self.奥兹玛遮罩透明度[序号].setOpacity(0.5) - self.奥兹玛单件按钮.append(QPushButton(self)) - self.奥兹玛单件按钮[序号].setStyleSheet( - "background-color: rgb(0, 0, 0)") - self.奥兹玛单件按钮[序号].resize(28, 28) - self.奥兹玛单件按钮[序号].move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - self.奥兹玛单件按钮[序号].setGraphicsEffect(self.奥兹玛遮罩透明度[序号]) - self.奥兹玛单件按钮[序号].clicked.connect( - lambda state, index=序号: self.奥兹玛选择(index)) - count += 1 - - def 初始化希洛克UI(self): - 横坐标 = 700 - 纵坐标 = 250 - 名称 = trans(['奈克斯', '暗杀者', '卢克西', '守门人', '洛多斯']) - self.希洛克套装按钮 = [] - self.希洛克单件按钮 = [] - self.希洛克遮罩透明度 = [] - self.希洛克选择状态 = [0] * 15 - count = 0 - for i in 名称: - self.希洛克套装按钮.append(QPushButton(i, self)) - self.希洛克套装按钮[count].setStyleSheet(按钮样式) - self.希洛克套装按钮[count].resize(75, 22) - self.希洛克套装按钮[count].move(横坐标, 纵坐标 + 3 + count * 32) - self.希洛克套装按钮[count].clicked.connect( - lambda state, index=count: self.希洛克套装选择(index)) - for j in range(3): - 序号 = count * 3 + j - 图片 = QLabel(self) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/希洛克/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - self.希洛克遮罩透明度.append(QGraphicsOpacityEffect()) - self.希洛克遮罩透明度[序号].setOpacity(0.5) - self.希洛克单件按钮.append(QPushButton(self)) - self.希洛克单件按钮[序号].setStyleSheet( - "background-color: rgb(0, 0, 0)") - self.希洛克单件按钮[序号].resize(28, 28) - self.希洛克单件按钮[序号].move(横坐标 + 60 + j * 30 + 20, 纵坐标 + count * 32) - self.希洛克单件按钮[序号].setGraphicsEffect(self.希洛克遮罩透明度[序号]) - self.希洛克单件按钮[序号].clicked.connect( - lambda state, index=序号: self.希洛克选择(index)) - count += 1 - - def 初始化残香UI(self): - x = 400 - y = 320 - - 标签 = QLabel('残香属性', self) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(240, 25) - 标签.move(x, y) - - y += 30 - - self.武器融合属性A = MyQComboBox(self) - for j in 武器属性A列表: - self.武器融合属性A.addItem(j.固定属性描述) - self.武器融合属性A.resize(60, 20) - self.武器融合属性A.move(x, y) - - self.武器融合属性A1 = MyQComboBox(self) - self.武器融合属性A1.resize(90 + 75, 20) - self.武器融合属性A1.move(x + 110 - 50 + 5, y) - - self.武器融合属性A2 = MyQComboBox(self) - self.武器融合属性A2.resize(50, 20) - self.武器融合属性A2.move(x + 205 + 20 + 10, y) - self.武器融合属性A.currentIndexChanged.connect( - lambda: self.希洛克武器融合词条更新(self.武器融合属性A.currentIndex())) - - y += 30 - self.武器融合属性B = MyQComboBox(self) - for j in 武器属性B列表: - self.武器融合属性B.addItem(j.固定属性描述) - self.武器融合属性B.resize(60, 20) - self.武器融合属性B.move(x, y) - - self.武器融合属性B1 = MyQComboBox(self) - self.武器融合属性B1.resize(90 + 75, 20) - self.武器融合属性B1.move(x + 110 - 50 + 5, y) - - self.武器融合属性B2 = MyQComboBox(self) - self.武器融合属性B2.resize(50, 20) - self.武器融合属性B2.move(x + 205 + 20 + 10, y) - self.武器融合属性B.currentIndexChanged.connect( - lambda: self.希洛克武器融合词条更新(self.武器融合属性B.currentIndex(), 1)) - - y += 30 - - tips = QLabel("提示:当选择无时,将按穿戴装备的设置", self) - tips.move(x, y) - tips.resize(240, 24) - tips.setStyleSheet("QLabel{font-size:12px;color:rgb(211,167,106)}") - - def 初始化遴选UI(self): - 横坐标 = 30 - 纵坐标 = 420 - - 名称 = ['武器', '戒指', '辅助装备', '下装'] - self.黑鸦词条 = [] - - title = QLabel("黑鸦遴选词条", self) - title.setAlignment(Qt.AlignCenter) - title.setStyleSheet(标签样式) - title.resize(400, 25) - title.move(横坐标, 纵坐标) - - 纵坐标 += 25 - - for i in range(4): - x = QLabel(名称[i], self) - x.setStyleSheet(标签样式 + - 'QLabel{font-size:13px;};text-align: justify;') - # x.setStyleSheet('text-align: justify') - x.resize(55, 20) - x.move(横坐标, 纵坐标 + i * 25) - tem = [] - tem.append(MyQComboBox(self)) - """ - 只允许自选,为了保持兼容不移除 - """ - tem[0].addItems(['自选数值']) - tem[0].resize(0, 0) - tem[0].move(横坐标 + 60, 纵坐标 + 25 * i) - tem[0].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦词条更新(index)) - - tem.append(MyQComboBox(self)) - tem[1].resize(60, 20) - tem[1].move(横坐标 + 156 - 91, 纵坐标 + 25 * i) - - tem.append(MyQComboBox(self)) - tem[2].resize(90 + 75, 20) - tem[2].move(横坐标 + 266 - 50 + 5 - 91, 纵坐标 + 25 * i) - - tem.append(MyQComboBox(self)) - tem[3].resize(50, 20) - tem[3].move(横坐标 + 361 + 20 + 10 - 91, 纵坐标 + 25 * i) - for item in 装备变换属性列表: - tem[1].addItem(item.固定属性描述) - tem[1].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦随机词条更新(index)) - - self.黑鸦词条.append(tem) - self.黑鸦词条更新(i) - - def 希洛克套装选择(self, index): - count = 1 - for i in range(index * 3, index * 3 + 3): - count &= self.希洛克选择状态[i] - count ^= 1 - for i in range(index * 3, index * 3 + 3): - self.希洛克选择(i, count) - - def 希洛克选择(self, index, value=-1): - if value == -1: - value = self.希洛克选择状态[index] ^ 1 - if value == 0: - self.希洛克遮罩透明度[index].setOpacity(0.5) - elif value == 1: - for i in range(5): - 序号 = i * 3 + index % 3 - if self.希洛克选择状态[序号] == 1: - self.希洛克遮罩透明度[序号].setOpacity(0.5) - self.希洛克选择状态[序号] = 0 - self.希洛克遮罩透明度[index].setOpacity(0) - - self.希洛克选择状态[index] = value - - def 奥兹玛套装选择(self, index): - count = 1 - for i in range(index * 5, index * 5 + 5): - count &= self.奥兹玛选择状态[i] - count ^= 1 - for i in range(index * 5, index * 5 + 5): - self.奥兹玛选择(i, count) - - def 奥兹玛选择(self, index, value=-1): - if value == -1: - value = self.奥兹玛选择状态[index] ^ 1 - if value == 0: - self.奥兹玛遮罩透明度[index].setOpacity(0.5) - elif value == 1: - for i in range(5): - 序号 = i * 5 + index % 5 - if self.奥兹玛选择状态[序号] == 1: - self.奥兹玛遮罩透明度[序号].setOpacity(0.5) - self.奥兹玛选择状态[序号] = 0 - self.奥兹玛遮罩透明度[index].setOpacity(0) - self.奥兹玛选择状态[index] = value - - def 希洛克武器融合词条更新(self, index, x=0): - if x == 0: - self.武器融合属性A1.clear() - self.武器融合属性A2.clear() - 属性A = 武器属性A列表[index] - self.武器融合属性A2.addItems(属性A.range()) - self.武器融合属性A1.addItem(属性A.随机属性描述) - elif x == 1: - self.武器融合属性B1.clear() - self.武器融合属性B2.clear() - 属性B = 武器属性B列表[index] - self.武器融合属性B2.addItems(属性B.range()) - self.武器融合属性B1.addItem(属性B.随机属性描述) - - def 黑鸦词条更新(self, index): - for i in range(1, 4): - self.黑鸦词条[index][i].setEnabled(True) - self.黑鸦词条[index][i].setStyleSheet(下拉框样式) - - def 黑鸦随机词条更新(self, i): - index = self.黑鸦词条[i][1].currentIndex() - self.黑鸦词条[i][2].clear() - self.黑鸦词条[i][3].clear() - if index == 0: - return - 变换属性 = 武器变换属性列表[index] if i == 0 else 装备变换属性列表[index] - - temp = 变换属性.最大值 - while temp >= 变换属性.最小值: - if 变换属性.间隔 / 10 >= 1: - self.黑鸦词条[i][3].addItem(str(int(temp))) - else: - self.黑鸦词条[i][3].addItem(str(temp) + '%') - temp -= 变换属性.间隔 - self.黑鸦词条[i][2].addItem(变换属性.随机属性描述) diff --git a/PublicReference/buffer/property.py b/PublicReference/buffer/property.py deleted file mode 100644 index 3bb308e6..00000000 --- a/PublicReference/buffer/property.py +++ /dev/null @@ -1,938 +0,0 @@ -from ctypes import * - -from PublicReference.common import * -from PublicReference.equipment.buff.宠物_buff import * -from PublicReference.equipment.buff.武器融合_buff import * -from PublicReference.equipment.buff.称号_buff import * -from PublicReference.equipment.buff.融合_奥兹玛_buff import OzmaList -from PublicReference.equipment.buff.融合_希洛克_buff import SirocoList -from PublicReference.equipment.buff.辟邪玉_buff import * -from PublicReference.equipment.buff.黑鸦_buff import * -from PublicReference.equipment.buff.护石_buff import * -from PublicReference.equipment.buff.描述_buff import * -from PublicReference.utils.common import to_int - - -class 技能: - 名称 = '' - 备注 = '' - 所在等级 = 0 - 等级上限 = 0 - 等级 = 0 - 基础等级 = 0 - 是否主动 = 0 - 站街生效 = 0 - 等级溢出 = 0 - - 是否启用 = 1 - 技能序号 = 0 - 技能表 = {} - - def 等级加成(self, x): - if self.等级 != 0: - if self.等级 + x > self.等级上限: - self.等级 = self.等级上限 - if self.基础等级 != self.等级上限: - self.等级溢出 = 1 - else: - self.等级 += x - - def 结算统计(self, context=None): - return [0, 0, 0, 0, 0, 0, 0, 0] - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - -class 被动技能(技能): - 是否主动 = 0 - 进图加成 = 0 - - -class 主动技能(技能): - 是否主动 = 1 - 适用数值 = 0 - - -class 觉醒技能(主动技能): - 所在等级 = 50 - 等级上限 = 40 - 基础等级 = 12 - 一觉力智 = 0 - 一觉力智per = 0 - # 28 原力智 941 测试修改为 939 - 力智 = [ - 0, 43, 57, 74, 91, 111, 131, 153, 176, 201, 228, 255, 284, 315, 346, - 379, 414, 449, 487, 526, 567, 608, 651, 696, 741, 789, 838, 888, 939, - 993, 1047, 1103, 1160, 1219, 1278, 1340, 1403, 1467, 1533, 1600, 1668 - ] - - def 结算统计(self, context, compute_3rd_awake=False): - if not compute_3rd_awake and self.名称 in context.技能表['三次觉醒'].关联技能: - return [0] * 8 - 倍率 = self.适用数值 / 750 + 1 - x = (self.力智[self.等级] + self.一觉力智) * 倍率 - values = [ - 0, 0, 0, - int(round(x * self.一觉力智per)), - int(round(x * self.一觉力智per)), 0, 0, 0 - ] - return values - # 智力 体力 精神 力量 智力 物攻 魔攻 独立 - - def 技能面板(self): - temp = [] - temp.append(self.名称) - temp.append( - int(round((self.力智[self.等级] + self.一觉力智) * self.一觉力智per, 0))) - temp.append( - int(round((self.力智[self.等级] + self.一觉力智) * self.一觉力智per, 0))) - return temp - - -class 三觉技能(主动技能): - 所在等级 = 100 - 等级上限 = 40 - 基础等级 = 2 - 绑定一觉力智per = 1.08 - 绑定二觉力智per = 0.23 - 关联技能 = [] - - def 结算统计(self, context): - 技能表 = context.技能表 - awake = 技能表['一次觉醒'] - if awake.是否启用: - values = awake.结算统计(context, True) - 倍率 = self.加成倍率(awake.名称 in self.关联技能) - return [int(round(i * 倍率)) for i in values] - return [0] * 8 - - def 加成倍率(self, bind_awake): - if bind_awake: - return round(1.08 + self.等级 * 0.01, 2) - else: - return round(0.23 + self.等级 * 0.01, 2) - - -BUFF影响技能 = ['勇气祝福', '勇气圣歌', '荣誉祝福', '禁忌诅咒', '死命召唤'] - - -class 辅助角色属性(属性): - 职业分类 = 'BUFF' - C力智 = 5000 - C三攻 = 3000 - 系统奶系数 = 0 - 系统奶基数 = 0 - 排行类型 = '物理百分比' - - 类型 = '固伤' - - 称号触发 = False - - 排行系数 = 0 - 站街系数 = 0 - - 百分比体精 = 0.0 - - 被动进图加成 = 0 - 守护恩赐体精 = 0 - 转职被动智力 = 0 - - 转职被动Lv = 0 - 一觉被动Lv = 0 - - BUFFLv = 0 - BUFF力量per = 1 - BUFF智力per = 1 - BUFF物攻per = 1 - BUFF魔攻per = 1 - BUFF独立per = 1 - 一觉Lv = 0 - 一觉力智 = 0 - 一觉力智per = 1 - - BUFF力量 = 0 - BUFF智力 = 0 - BUFF物攻 = 0 - BUFF魔攻 = 0 - BUFF独立 = 0 - - 一觉被动力智 = 0 - 信念光环体精 = 0 - - BUFF适用面板 = 0 - BUFF补正力智 = 0 - BUFF补正体力 = 0 - BUFF补正精神 = 0 - - 一觉序号 = 0 - 二觉序号 = 0 - 三觉序号 = 0 - 双装备模式 = 0 - 切换详情 = '无' - - 次数输入 = [] - # 是否为输出装备描述 - 装备描述 = 0 - - 希洛克武器词条 = 0 - 自适应最高值 = [] - 武器词条触发 = 0 - 产物升级 = 0 - - def __init__(self): - super().__init__() - self.次数输入 = [] - self.残香词条 = [0] * 4 - self.黑鸦词条 = [[0] * 4] * 4 - self.希洛克选择状态 = [0] * 15 - self.奥兹玛选择状态 = [0] * 25 - self.自适应最高值 = [] - self.技能表 = {} - self.觉醒择优系数 = 1.0 - self.武器词条触发 = 0 - self.buff_type = 0 - self.buff_rate = 1 - self.护石栏 = [0] * 3 - - def get_data(self): - buff = self.技能表['BUFF'] - awake = self.技能表['一次觉醒'] - - other_power = 0 - other_attack = 0 - - ignores = ['BUFF', '一次觉醒', '三次觉醒', '死命召唤', '勇气圣歌'] - - for i in self.技能表.keys(): - if i not in ignores: - skill = self.技能表[i] - data = skill.结算统计(self) - other_power += data[3] - other_attack += data[5] - - in_int_data = (ctypes.c_int * 12)() - in_int_data[0] = self.buff_type - in_int_data[1] = int(buff.适用数值) - in_int_data[2] = buff.等级 - in_int_data[3] = int(buff.BUFF力量) - in_int_data[4] = int(buff.BUFF物攻) - in_int_data[5] = int(awake.适用数值) - in_int_data[6] = awake.等级 - in_int_data[7] = int(awake.一觉力智) - in_int_data[8] = int(other_power) - in_int_data[9] = int(other_attack) - in_int_data[10] = int(self.C力智) - in_int_data[11] = int(self.C三攻) - - third_awake = self.技能表['三次觉醒'] - - awake_rate = 1 - if third_awake.是否启用: - awake_rate = third_awake.加成倍率(awake.名称 in third_awake.关联技能) - awake_rate = awake_rate + 1 if awake_rate < 1 else awake_rate - - awake_rate = awake_rate if awake.是否启用 else 0 - - buff_rate = self.buff_rate if buff.是否启用 else 0 - - in_double_data = (ctypes.c_double * 8)() - in_double_data[0] = self.觉醒择优系数 - in_double_data[1] = buff_rate - in_double_data[2] = buff.BUFF力量per - in_double_data[3] = buff.BUFF物攻per - in_double_data[4] = awake_rate - in_double_data[5] = awake.一觉力智per - in_double_data[6] = self.系统奶系数 - in_double_data[7] = self.系统奶基数 - return in_int_data, in_double_data - - def 穿戴装备(self, 装备, 套装=None): - self.装备栏 = 装备 - self.套装栏 = 套装 - if 套装 is None or len(套装) == 0: - self.套装栏 = equ.get_suits_by_equips(装备) - self.武器类型 = equ.get_equ_by_name(self.装备栏[11]).类型 - - def 力智固定加成(self, x=0): - return 力智固定加成(self, x) - - def 体精固定加成(self, x=0): - return 体精固定加成(self, x) - - def BUFF增加(self, - BUFFLv=0, - BUFF力量=0, - BUFF智力=0, - BUFF力量per=1, - BUFF智力per=1, - BUFF物攻=0, - BUFF魔攻=0, - BUFF独立=0, - BUFF物攻per=1, - BUFF魔攻per=1, - BUFF独立per=1): - return BUFF增加(self, BUFFLv, BUFF力量, BUFF智力, BUFF力量per, BUFF智力per, - BUFF物攻, BUFF魔攻, BUFF独立, BUFF物攻per, BUFF魔攻per, BUFF独立per) - - def 被动增加(self, - 守护恩赐体精=0, - 转职被动Lv=0, - 转职被动智力=0, - 信念光环Lv=0, - 信念光环体精=0, - 一觉被动Lv=0, - 一觉被动力智=0): - if 信念光环Lv > 0 and 一觉被动Lv == 0: - 一觉被动Lv = 信念光环Lv - return 被动增加(self, 转职被动Lv, 转职被动智力, 守护恩赐体精, 信念光环体精, 一觉被动Lv, 一觉被动力智) - - def 觉醒增加(self, 一觉Lv=0, 一觉力智=0, 一觉力智per=1): - return 觉醒增加(self, 一觉Lv, 一觉力智, 一觉力智per) - - def 系数数值站街(self): - pass - - def 系数数值进图(self): - pass - - def 防具精通计算(self, i): - temp = equ.get_equ_by_name(self.装备栏[i]) - if temp.所属套装 != '智慧产物': - return 精通体力(temp.等级, temp.品质, self.强化等级[i], 部位列表[i]) - else: - return 精通体力(temp.等级, temp.品质, self.改造等级[i], 部位列表[i]) - - def 装备基础(self): - for i in range(5): - # 精通 - temp = equ.get_equ_by_name(self.装备栏[i]) - x = self.防具精通计算(i) - if '智力' in self.防具精通属性: - self.智力 += x * 2 - if '体力' in self.防具精通属性: - self.体力 += x - if '精神' in self.防具精通属性: - self.精神 += x * 2 - # 装备属性 - self.智力 += temp.智力['板甲'] - self.体力 += temp.体力['板甲'] - self.精神 += temp.精神['板甲'] - - for i in [9, 10]: - temp = equ.get_equ_by_name(self.装备栏[i]) - if temp.所属套装 != '智慧产物': - x = 左右计算(temp.等级, temp.品质, self.强化等级[i]) - self.智力 += x - self.体力 += x - self.精神 += x - for i in range(12): - temp = equ.get_equ_by_name(self.装备栏[i]) - if self.是否增幅[i] and temp.所属套装 != '智慧产物': - x = 增幅计算(temp.等级, temp.品质, self.强化等级[i], self.增幅版本) - if '智力' in self.类型: - self.智力 += x - if '体力' in self.类型: - self.体力 += x - if '精神' in self.类型: - self.精神 += x - for i in [5, 6, 7, 8, 9, 10]: - temp = equ.get_equ_by_name(self.装备栏[i]) - self.智力 += temp.智力 - self.体力 += temp.体力 - self.精神 += temp.精神 - - temp = equ.get_equ_by_name(self.装备栏[11]) - if temp.所属套装 != '智慧产物': - 四维 = 锻造四维(temp.等级, temp.品质, self.武器锻造等级) - self.智力 += temp.智力 + 四维 - self.体力 += temp.体力 + 四维 - self.精神 += temp.精神 + 四维 - - def 单技能等级加成(self, 名称, lv): - if self.装备描述 == 1: - return "{} Lv +{}
".format(名称, lv) - else: - for i in self.技能表.keys(): - if i == 名称: - self.技能表[i].等级加成(lv) - return '' - - def 等级溢出判断(self, 装备, 套装): - self.穿戴装备(装备, 套装) - self.装备属性计算() - temp = [] - for skill in self.技能表.values(): - if skill.等级溢出 == 1: - temp.append(skill.名称) - return temp - - def 技能等级加成(self, 加成类型, min, max, lv, 可变=0): - lv = int(lv) - if self.装备描述 == 1: - if 加成类型 == "所有": - if min == max: - return "Lv{} 技能等级+{}
".format(min, lv) - else: - return "Lv{}-{} 技能等级+{}
".format(min, max, lv) - else: - if min == max: - return "Lv{} 主动技能等级+{}
".format(min, lv) - else: - return "Lv{}-{} 主动技能等级+{}
".format(min, max, lv) - else: - for skill in self.技能表.values(): - if skill.所在等级 >= min and skill.所在等级 <= max: - if 加成类型 == '所有': - skill.等级加成(lv) - else: - if skill.是否主动 == 1: - skill.等级加成(lv) - # if 可变 > 0: - # self.变换词条[可变-1] = [6,2,14 + (2 if 可变 > 1 else 4), 14 + (9 if 可变 > 1 else 17)] - - return '' - - def 提升率计算(self, 总数据, x=0): - - 力量合计 = 0 - 智力合计 = 0 - 物攻合计 = 0 - 魔攻合计 = 0 - 独立合计 = 0 - - for i in 总数据: - 力量合计 += i[3] - 智力合计 += i[4] - 物攻合计 += i[5] - 魔攻合计 += i[6] - 独立合计 += i[7] - - x1 = ( - (self.C力智 + - (self.C力智 - 950) * self.系统奶系数 + self.系统奶基数) / 250 + 1) * self.C三攻 - - if self.排行类型 == '物理百分比': - a = 力量合计 - b = 物攻合计 - elif self.排行类型 == '魔法百分比': - a = 智力合计 - b = 魔攻合计 - elif self.排行类型 == '物理固伤': - a = 力量合计 - b = 独立合计 - elif self.排行类型 == '魔法固伤': - a = 智力合计 - b = 独立合计 - - x2 = ((self.C力智 + - (self.C力智 - 950) * self.系统奶系数 + self.系统奶基数 + a) / 250 + - 1) * (self.C三攻 + b) - return [x2 / x1 * 100, int(self.站街系数), a, b][x] - - def 适用数值计算(self): - self.专属词条计算() - for skill in self.技能表.values(): - if skill.是否启用: - 结算 = skill.结算统计(self) - self.智力 += 结算[0] - self.体力 += 结算[1] - self.精神 += 结算[2] - - self.进图智力 += self.智力 - self.进图体力 += self.体力 - self.进图精神 += self.精神 - - self.进图体力 *= 1 + self.百分比体精 - self.进图精神 *= 1 + self.百分比体精 - - 进图 = 0 - BUFF补正 = 0 - if self.类型 == '智力': - 进图 = self.进图智力 - BUFF补正 = self.BUFF补正力智 - elif self.类型 == '体力': - 进图 = self.进图体力 - BUFF补正 = self.BUFF补正体力 - elif self.类型 == '精神': - 进图 = self.进图精神 - BUFF补正 = self.BUFF补正精神 - self.技能表['一次觉醒'].适用数值 = 进图 - self.技能表['BUFF'].适用数值 = 进图 + BUFF补正 - return 进图 - - # 返回可能的组合列表 - def 装备替换(self, 属性: 属性) -> 属性: - 套装栏 = [] - for i in 属性.套装栏: - 套装栏.append(i.split('[')[0]) - if len(套装栏) < 7 or self.排行系数 == 1: - return [deepcopy(属性)] - - 匹配1 = [防具套装, 上链左套装, 上链左套装, 镯下右套装, 镯下右套装, 环鞋指套装, 环鞋指套装] - 匹配0 = [防具套装, 上链左套装, 防具套装, 镯下右套装, 防具套装, 环鞋指套装, 防具套装] - 匹配 = [防具套装, 防具套装, 防具套装, 首饰套装, 首饰套装, 特殊套装, 特殊套装] - - count = [] - count2 = 0 - - for i in range(7): - # 3332散搭 - if 套装栏[i] in 匹配1[i]: - count.append(1) - elif 套装栏[i] in 匹配0[i]: - count.append(0) - else: - count.append(-9) - # 3233双防具 - if 套装栏[i] in 匹配[i]: - count2 += 1 - - sumcount = sum(count) - - if sumcount == 7: - x1 = deepcopy(属性) - x2 = deepcopy(属性) - x3 = deepcopy(属性) - x4 = deepcopy(属性) - num = 0 - index = [6, 5, 7] - for i in [x2, x3, x4]: - i.装备栏[num * 2] = equ.get_equ_by_index( - equ.get_equ_by_name(i.装备栏[1]).所属套装, '史诗', - equ.get_equ_by_name(i.装备栏[num * 2]).部位).名称 - i.套装栏[2 * num + 2] = i.套装栏[2 * num + 2].replace( - equ.get_equ_by_name(i.装备栏[index[num]]).所属套装, - equ.get_equ_by_name(i.装备栏[1]).所属套装) - i.切换详情 = trans(equ.get_equ_by_name( - i.装备栏[num * 2]).部位) + ':' + trans( - x1.装备栏[num * 2]) + ' → ' + trans(i.装备栏[num * 2]) - num += 1 - return [x1, x2, x3, x4] - elif sumcount == 6: - index = count.index(0) - 部位 = {2: 6, 4: 5, 6: 7} - x1 = deepcopy(属性) - x2 = deepcopy(属性) - x2.装备栏[index - 2] = equ.get_equ_by_index( - equ.get_equ_by_name(x2.装备栏[部位[index]]).所属套装, '史诗', - equ.get_equ_by_name(x2.装备栏[index - 2]).部位).名称 - x2.套装栏[index] = x2.套装栏[index].replace( - equ.get_equ_by_name(x2.装备栏[1]).所属套装, - equ.get_equ_by_name(x2.装备栏[部位[index]]).所属套装) - x2.切换详情 = trans(equ.get_equ_by_name( - x2.装备栏[index - 2]).部位) + ':' + trans( - x1.装备栏[index - 2]) + ' → ' + trans(x2.装备栏[index - 2]) - return [x1, x2] - elif count2 == 7 and 套装栏[1] != 套装栏[2]: - x1 = deepcopy(属性) - x2 = deepcopy(属性) - x3 = deepcopy(属性) - x4 = deepcopy(属性) - x5 = deepcopy(属性) - 两件套名称 = 属性.套装栏[2].split('[')[0] - 三件套名称 = 属性.套装栏[1].split('[')[0] - x2.套装栏[1] = x2.套装栏[1].replace(三件套名称, 两件套名称) - x3.套装栏[1] = x3.套装栏[1].replace(三件套名称, 两件套名称) - x4.套装栏[1] = x4.套装栏[1].replace(三件套名称, 两件套名称) - x5.套装栏[2] = x5.套装栏[2].replace(两件套名称 + '[2]', 三件套名称 + '[5]') - 可更换部位 = [] - 不可更换部位 = [] - for i in range(5): - if equ.get_equ_by_name(属性.装备栏[i]).所属套装 == 三件套名称: - 可更换部位.append(i) - else: - 不可更换部位.append(i) - x2.装备栏[可更换部位[0]] = equ.get_equ_by_index(两件套名称, '史诗', - 部位列表[可更换部位[0]]).名称 - x3.装备栏[可更换部位[1]] = equ.get_equ_by_index(两件套名称, '史诗', - 部位列表[可更换部位[1]]).名称 - x4.装备栏[可更换部位[2]] = equ.get_equ_by_index(两件套名称, '史诗', - 部位列表[可更换部位[2]]).名称 - x5.装备栏[不可更换部位[0]] = equ.get_equ_by_index(三件套名称, '史诗', - 部位列表[不可更换部位[0]]).名称 - x5.装备栏[不可更换部位[1]] = equ.get_equ_by_index(三件套名称, '史诗', - 部位列表[不可更换部位[1]]).名称 - - x2.切换详情 = trans(部位列表[可更换部位[0]]) + ':' + trans( - 属性.装备栏[可更换部位[0]]) + ' → ' + trans(x2.装备栏[可更换部位[0]]) - x3.切换详情 = trans(部位列表[可更换部位[1]]) + ':' + trans( - 属性.装备栏[可更换部位[1]]) + ' → ' + trans(x3.装备栏[可更换部位[1]]) - x4.切换详情 = trans(部位列表[可更换部位[2]]) + ':' + trans( - 属性.装备栏[可更换部位[2]]) + ' → ' + trans(x4.装备栏[可更换部位[2]]) - x5.切换详情 = trans(属性.套装栏[2]) + ' → ' + trans(x5.套装栏[2]) - return [x1, x2, x3, x4, x5] - else: - return [deepcopy(属性)] - - def 希洛克计算(self, 希洛克选择状态=None): - - if 希洛克选择状态 is None: - 希洛克选择状态 = self.希洛克选择状态 - - sirocos = [] - - for i in range(15): - if 希洛克选择状态[i] == 1: - siroco = SirocoList[i // 3] - if siroco not in sirocos: - siroco.set_character(self) - sirocos.append(siroco) - siroco.fuse(i % 3) - - for siroco in sirocos: - siroco.compute() - - # 自选词条 - if self.希洛克武器词条 == 2: - 武器融合属性A = 武器属性A列表[self.残香词条[0]] - 武器融合属性A数值 = 武器融合属性A.最大值 - 武器融合属性A.间隔 * self.残香词条[1] - 武器融合属性A.当前值 = int(武器融合属性A数值) - 武器融合属性A.融合属性(self) - if sum(希洛克选择状态) == 3: - 武器融合属性B = 武器属性B列表[self.残香词条[2]] - - 武器融合属性B数值 = 武器融合属性B.最大值 - 武器融合属性B.间隔 * self.残香词条[3] - 武器融合属性B.当前值 = int(武器融合属性B数值) - 武器融合属性B.融合属性(self) - - def 奥兹玛计算(self, 奥兹玛选择状态=None): - if 奥兹玛选择状态 is None: - 奥兹玛选择状态 = self.奥兹玛选择状态 - - for i in range(25): - if 奥兹玛选择状态[i] == 1: - func = OzmaList[i // 5] - func(self) - return - - # 仅计算自选黑鸦遴选词条 - def 黑鸦计算(self, 黑鸦词条=None): - if 黑鸦词条 is None: - 黑鸦词条 = self.黑鸦词条 - - for i in range(0, 4): - # 自选词条 - if 黑鸦词条[i][0] == 2: - 属性列表 = 装备变换属性列表 if i > 0 else 武器变换属性列表 - 装备属性 = 属性列表[黑鸦词条[i][1]] - value = 黑鸦词条[i][2] - if isinstance(value, int): - value = 装备属性.最大值 - 黑鸦词条[i][2] * 装备属性.间隔 - else: - value = 装备属性.当前值 - 装备属性.当前值 = value - 装备属性.变换属性(self) - - def compute(self, match=None, handle=None): - if match is None: - - def match(skill): - return skill.是否启用 - - if handle is None: - - def handle(skill, values): - return values - - data = [] - for skill in self.技能表.values(): - values = skill.结算统计(self) if match(skill) else [0] * 8 - values = handle(skill, values) - data.append(values) - self.awake_computed = False - return data - - def 预计算(self, 自动切装=False): - if self.双装备模式 == 1 and 自动切装: - # 用于计算一觉 - temp = deepcopy(self) - # 拷贝数据,并修改装备,返回可能的组合 - 数据列表 = [] - 切换列表 = [] - 替换属性_temp = [] - 可能组合 = self.装备替换(temp) - for 一觉计算属性 in 可能组合: - 一觉计算属性.装备属性计算() - 一觉计算属性.适用数值计算() - 替换属性_temp.append(一觉计算属性) - 一觉计算属性.awake_computed = False - 一觉 = 一觉计算属性.技能表['一次觉醒'] - 三觉 = 一觉计算属性.技能表['三次觉醒'] - 数据 = 三觉.结算统计(一觉计算属性)[3] - if 一觉.名称 not in 三觉.关联技能: - 数据 += 一觉.结算统计(一觉计算属性)[3] - 一觉计算属性.awake_computed = False - 数据列表.append(数据) # 3是力量属性 一觉力智都是相等的 - 切换列表.append(一觉计算属性.切换详情) - # 取一觉最大值,并修改数据 - a = max(数据列表) - 序号 = 数据列表.index(a) - if 序号 != 0: - temp = '

' - 一觉 = self.技能表['一次觉醒'] - 三觉 = self.技能表['三次觉醒'] - b = int(数据列表[0]) - c = int(a) - int(b) - if 一觉.名称 not in 三觉.关联技能: - temp += trans(一觉.名称) + '+' - temp += "{}:{}->{}(+{})".format(trans(三觉.名称), b, a, c) - else: - temp = '' - # 计算现有装备BUFF - self.装备属性计算() - # 一觉属性替换 - 替换属性 = 替换属性_temp[序号] - self.一觉Lv = 替换属性.一觉Lv - self.一觉力智 = 替换属性.一觉力智 - self.一觉力智per = 替换属性.一觉力智per - - P = deepcopy(self) - 适用数值 = P.适用数值计算() - 适用数值补正 = 替换属性.技能表['一次觉醒'].适用数值 - 适用数值 - - self.自适应计算() - self.适用数值计算() - - self.技能表['一次觉醒'].等级 = 替换属性.技能表['一次觉醒'].等级 - self.技能表['二次觉醒'].等级 = 替换属性.技能表['二次觉醒'].等级 - self.技能表['三次觉醒'].等级 = 替换属性.技能表['三次觉醒'].等级 - self.技能表['一次觉醒'].适用数值 += 适用数值补正 - self.切换详情 = 切换列表[序号] + temp - - else: - self.装备属性计算() - self.自适应计算() - self.适用数值计算() - - def 自适应计算(self): - - try: - temp = deepcopy(self) - temp.适用数值计算() - - in_pre_range = (ctypes.c_int * 6)() - if self.希洛克武器词条 == 1: - in_pre_range[0] = 1 - in_pre_range[1] = 1 - - for i in range(4): - if self.黑鸦词条[i][0] == 1: - in_pre_range[i + 2] = 1 - in_int_data, in_double_data = temp.get_data() - preferred.cal_index_buff(in_pre_range, in_int_data, in_double_data) - - if self.希洛克武器词条 == 1: - a = in_pre_range[0] - b = in_pre_range[1] - self.自适应最高值 = [a, b] - self.武器属性输入(a, b) - - if self.黑鸦词条[0][0] == 1: - self.武器变换属性自适应 = in_pre_range[2] - self.黑鸦武器输入(in_pre_range[2]) - - self.防具变换属性自适应 = in_pre_range[3:] - self.黑鸦属性输入(in_pre_range[3:]) - pass - except Exception as e: - self.旧版自适应计算() - pass - - def 旧版自适应计算(self): - - # 黑鸦词条计算 - 黑鸦选择 = [0, 0, 0, 0] - for i in range(4): - if self.黑鸦词条[i][0] == 1: - 黑鸦选择[i] = 1 - # 武器词条自适应计算 - if self.希洛克武器词条 == 1: - 词条提升率 = [] - for i in range(len(武器属性组合)): - temp = deepcopy(self) - # 总数据 = [] - 武器属性A = 武器属性组合[i][0] - 武器属性B = 武器属性组合[i][1] - temp.武器属性输入(武器属性A, 武器属性B) - - 提升率 = temp.择优提升率计算() - 词条提升率.append(提升率) - a = max(词条提升率) - 序号 = 词条提升率.index(a) - self.自适应最高值 = 武器属性组合[序号] - self.武器属性输入(self.自适应最高值[0], self.自适应最高值[1]) - - # 先择优黑鸦防具部分 - if 黑鸦选择[1] + 黑鸦选择[2] + 黑鸦选择[3] > 0: - 词条提升率 = [] - for i in range(len(防具变换属性组合)): - temp = deepcopy(self) - # 总数据 = [] - temp.黑鸦属性输入(防具变换属性组合[i]) - 提升率 = temp.择优提升率计算() - 词条提升率.append(提升率) - a = max(词条提升率) - 序号 = 词条提升率.index(a) - self.防具变换属性自适应 = 防具变换属性组合[序号] - self.黑鸦属性输入(self.防具变换属性自适应) - - # 再择优武器部分 - if 黑鸦选择[0] > 0: - 词条提升率 = [] - for i in range(7): - temp = deepcopy(self) - # 总数据 = [] - temp.黑鸦武器输入(i) - if temp.实际名称 == 'BUFF·神启·圣骑士': - if i == 0: - temp.是否加觉醒 = 1 - else: - temp.是否加觉醒 = 0 - 提升率 = temp.择优提升率计算() - 词条提升率.append(提升率) - a = max(词条提升率) - 序号 = 词条提升率.index(a) - self.武器变换属性自适应 = 序号 - self.黑鸦武器输入(序号) - if 序号 == 0 and self.实际名称 == 'BUFF·神启·圣骑士': - self.是否加觉醒 = 1 - - def 替换技能(self, skill, name): - skill.技能表 = self.技能表 - self.技能表[name] = skill - - def 武器属性输入(self, index_a, index_b): - 武器属性A = 武器属性A列表[index_a] - 武器属性A.当前值 = int(武器属性A.最大值) - 武器属性A.融合属性(self) - if self.武器词条触发 == 1: - 武器属性B = 武器属性B列表[index_b] - 武器属性B.当前值 = int(武器属性B.最大值) - 武器属性B.融合属性(self) - else: - index_b = 0 - self.残香词条 = [index_a, 0, index_b, 0] - - def 黑鸦属性输入(self, indices): - for i in range(1, 4): - if self.黑鸦词条[i][0] == 1: - index = indices[i - 1] - 装备属性 = 装备变换属性列表[index] - 装备属性.当前值 = int(装备属性.最大值) - 装备属性.变换属性(self) - self.黑鸦词条[i] = [1, index, 装备属性.最大值] - - def 黑鸦武器输入(self, index): - if self.黑鸦词条[0][0] == 1: - if index > 0: - 黑鸦武器 = 武器变换属性列表[index] - 黑鸦武器.当前值 = int(黑鸦武器.最大值) - 黑鸦武器.变换属性(self) - self.黑鸦词条[0] = [1, index, 黑鸦武器.最大值] - else: - self.技能等级加成('所有', 50, 50, 2) - self.技能等级加成('所有', 85, 85, 2) - self.技能等级加成('所有', 100, 100, 2) - if self.装备检查('世界树之精灵'): - self.技能等级加成('所有', 50, 50, 2) - - def 择优提升率计算(self): - 总数据 = [] - self.适用数值计算() - if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用: - if self.实际名称 == 'BUFF·神启·圣骑士': - if self.是否加觉醒 == 1: - self.技能表['一次觉醒'].适用数值 += self.一觉切装加二觉增加体精 - - def handle(skill, values): - if skill.所在等级 in [50, 100]: - values = [int(round(i * self.觉醒择优系数)) for i in values] - return values - - self.compute(None, handle) - - return self.提升率计算(总数据) - - def 结果返回(self, x, 总数据): - if x == 0: - return self.提升率计算(总数据) - elif x == 1: - return 总数据 - elif x == 2: - return self.提升率计算(总数据, self.排行系数) - - def BUFF计算(self, x=0): - self.预计算(自动切装=True) - 总数据 = self.compute() - return self.结果返回(x, 总数据) - - def 装备属性计算(self, x=0): - self.装备基础() - # self.专属词条计算() - - equips = [equ.get_equ_by_name(i) for i in self.装备栏] - suits = [equ.get_suit_by_name(i) for i in self.套装栏] - - for equip in equips: - equip.城镇属性_BUFF(self) - equip.BUFF属性(self) - - 觉醒词条 = self.黑鸦词条[0][0] - - # 黑鸦武器觉醒词条 - if 觉醒词条 == 3 and equip.部位 == '武器': - self.技能等级加成('所有', 50, 50, 2) - self.技能等级加成('所有', 85, 85, 2) - self.技能等级加成('所有', 100, 100, 2) - if equip.名称 == '世界树之精灵' and 觉醒词条 > 0: - self.技能等级加成('所有', 50, 50, -2) - self.技能等级加成('所有', 85, 85, -2) - self.技能等级加成('所有', 100, 100, -2) - if 觉醒词条 > 1: - self.技能等级加成('所有', 50, 50, 2) - - for suit in suits: - suit.城镇属性_BUFF(self) - suit.BUFF属性(self) - - self.黑鸦计算() - self.希洛克计算() - self.奥兹玛计算() - - if self.排行系数 == 1 or x: - P = deepcopy(self) - P.站街计算() - self.站街系数 = P.系数数值站街() - - if x: - return - - for equip in equips: - equip.进图属性_BUFF(self) - - for suit in suits: - suit.进图属性_BUFF(self) - - def 专属词条计算(self): - pass - - def 站街计算(self): - self.专属词条计算() - - for skill in self.技能表.values(): - if skill.站街生效 == 1: - skill.进图加成 = 0 - 结算 = skill.结算统计(self) - self.智力 += 结算[0] - self.体力 += 结算[1] - self.精神 += 结算[2] - - def 护石计算(self): - indices = self.护石栏 - for i in indices: - Talismans(self, i) - - def BUFF面板(self): - return self.技能表['BUFF'].技能面板() - - def 一觉面板(self): - return self.技能表['一次觉醒'].技能面板() diff --git a/PublicReference/carry/base.py b/PublicReference/carry/base.py deleted file mode 100644 index 5c814df1..00000000 --- a/PublicReference/carry/base.py +++ /dev/null @@ -1,6186 +0,0 @@ -from PublicReference.equipment.equ_list import * -from PublicReference.equipment.称号 import * -from PublicReference.equipment.宠物 import * -from PublicReference.equipment.辟邪玉 import * -from PublicReference.equipment.武器融合 import * -from PublicReference.equipment.冒险家名望 import * -from PublicReference.choise.选项设置 import * -from PublicReference.choise.细节选项 import * -from PublicReference.common import * -from PublicReference.utils.uniqueCode import get_mac_address -import operator - -from PublicReference.utils.common import format_range, to_percent - -等级 = 100 - - -class 技能: - 名称 = '' - 备注 = '' - 所在等级 = 0 - 等级上限 = 0 - 等级 = 0 - 基础等级 = 0 - 等级溢出 = 0 - 自定义描述 = 0 - 学习间隔 = 1 - 等级精通 = 60 - 基础等级 = 0 - - 关联技能 = ['无'] - 关联技能2 = ['无'] - 关联技能3 = ['无'] - 非关联技能 = ['无'] - 非关联技能2 = ['无'] - 非关联技能3 = ['无'] - 冷却关联技能 = ['无'] - 冷却关联技能2 = ['无'] - 冷却关联技能3 = ['无'] - 非冷却关联技能 = ['无'] - 非冷却关联技能2 = ['无'] - 非冷却关联技能3 = ['无'] - - 版本 = 装备版本 - - def 等级加成(self, x): - if self.等级 != 0: - if self.等级 + x > self.等级上限: - self.等级 = self.等级上限 - if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: - self.等级溢出 = 1 - else: - self.等级 += x - - def 基础等级计算(self): - pass - - -class 主动技能(技能): - # 只扩展了技能的三条属性,第一条技能hit默认1,2、3条hit默认为0,需要手动赋值 - # 如果需要继续扩展,可以在各自职业类内继承后自行扩展,同时需要重写下等效百分比函数 - # 固伤在填写基础及成长的时候需要注意,技能面板/独立得到的成长及数值需要*100 - 基础 = 0.0 - 成长 = 0.0 - 攻击次数 = 1.0 - 基础2 = 0.0 - 成长2 = 0.0 - 攻击次数2 = 0.0 - 基础3 = 0.0 - 成长3 = 0.0 - 攻击次数3 = 0.0 - CD = 0.0 - TP成长 = 0.0 - TP上限 = 0 - TP等级 = 0 - 是否主动 = 1 - 是否有伤害 = 1 - 恢复 = 1.0 - 倍率 = 1.0 - 被动倍率 = 1.0 - 基础释放次数 = 0 - 演出时间 = 0 - 是否有护石 = 0 - 护石选项 = ['魔界'] - - def 等效百分比(self, 武器类型): - if self.等级 == 0: - return 0 - else: - return int( - (self.攻击次数 * (self.基础 + self.成长 * self.等级) + self.攻击次数2 * - (self.基础2 + self.成长2 * self.等级) + self.攻击次数3 * - (self.基础3 + self.成长3 * self.等级)) * - (1 + self.TP成长 * self.TP等级) * self.倍率) - - def 等效CD(self, 武器类型, 输出类型): - return round(self.CD / self.恢复 * 武器冷却惩罚(武器类型, 输出类型, self.版本), 1) - - def 基础等级计算(self): - if self.基础等级 == 0: - # 契约等级+5 - self.基础等级 = min(int((等级 + 5 - self.所在等级) / self.学习间隔 + 1), - self.等级精通) - - -class 被动技能(技能): - 是否主动 = 0 - 是否有伤害 = 0 - 关联技能 = ['所有'] - - def 基础等级计算(self): - if self.基础等级 == 0: - # 契约等级+5 - self.基础等级 = min(int((等级 + 5 - self.所在等级) / self.学习间隔 + 1), - self.等级精通) - - -符文效果选项 = [ - '无', - trans('{攻击}+5%,CD+3%'), 'CD-4%', - trans('{攻击}+3%'), - trans('{攻击}-3%,CD-6%'), - trans('{攻击}+3%,CD+2%'), 'CD-3%', - trans('{攻击}+2%'), - trans('{攻击}-2%,CD-4%'), - trans('{攻击}+2%,CD+1%'), 'CD-2%', - trans('{攻击}+1%'), - trans('{攻击}-1%,CD-3%'), - trans('{攻击}+6%,CD+4%'), 'CD-5%', - trans('{攻击}+4%'), - trans('{攻击}-4%,CD-7%') -] - -刀魂之卡赞数据 = [ - 0, 31, 40, 48, 58, 67, 79, 90, 103, 116, 131, 145, 161, 178, 194, 212, 230, - 250, 270, 292, 313 -] - - -class 角色属性(属性): - # region 属性变量 - 职业分类 = '输出' - 主BUFF = 1.0 - 系统奶系数 = 0 - 系统奶基数 = 0 - 年宠技能 = False - 白兔子技能 = False - 斗神之吼秘药 = False - 称号触发 = False - - 屏蔽三觉 = False - - 超卓之心等级 = 1 - 觉醒之抉择技能 = '' - - 物理攻击力 = 65 - 魔法攻击力 = 65 - 独立攻击力 = 1045 - 火属性强化 = 13 - 冰属性强化 = 13 - 光属性强化 = 13 - 暗属性强化 = 13 - - 进图物理攻击力 = 0 - 进图魔法攻击力 = 0 - 进图独立攻击力 = 0 - 进图属强 = 0 - - # 红阵,远古记忆 -1表示没有该技能 - 远古记忆 = -1 - 刀魂之卡赞 = -1 - - 百分比力智 = 0.0 - 百分比三攻 = 0.0 - 伤害增加 = 0.0 - 黄字 = 0.0 # 冲突属性 - 附加伤害 = 0.0 - 属性附加 = 0.0 - 暴击伤害 = 0.0 - 暴伤 = 0.0 # 冲突属性 - 最终伤害 = 0.0 - 技能攻击力 = 1.0 - 技能攻击力累加 = 0.0 - # 技能攻击力显示 = 1.0 - 持续伤害 = 0.0 - 加算冷却缩减 = 0.0 - 百分比减防 = 0.0 - 固定减防 = 0 - 词条提升率 = [0] * 6 - 词条选择 = [] - - # 队友增幅系数 - 队友增幅系数 = 1.0 - - 防御输入 = 0 - 火抗输入 = 0 - 冰抗输入 = 0 - 光抗输入 = 0 - 暗抗输入 = 0 - - 攻击速度 = 0.00 - 移动速度 = 0.00 - 施放速度 = 0.00 - 命中率 = 0.0 - 回避率 = 0.0 - 物理暴击率 = 0.00 - 魔法暴击率 = 0.00 - - 自适应选项 = [0] * 2 - 自适应描述 = ['无'] * 2 - - 时间输入 = 0 - 次数输入 = [] - 宠物次数 = [] - 技能切装 = [] - 装备切装 = [] - 开启切装 = 0 - 切装修正 = [] - - 转甲选项 = 0 - - 希洛克武器词条 = 0 - 武器词条触发 = 0 - - # 0英雄 1传说 - 角色熟练度 = 0 - # 0 1 2 3 4 5 6 - 技能栏空位 = 6 - # 0数学期望 1黄字+35% 2暴伤+35% 3白字+35% 4终伤+35% 5三攻+35% - 命运的抉择 = 0 - # 0数学期望 123456 - 天命无常 = 0 - # 0数学期望 1 HP高于70% 2 HP在70~30% 3 HP低于30% - 悲剧的残骸 = 0 - # 0数学期望 1 5%属性附加 2 10%技能攻击力 3 15%技能攻击力 - 先知者的预言 = 0 - # 0无霸体状态 1 霸体状态 2 无伤状态 - 贫瘠沙漠的遗产 = 1 - # 0数学期望 1 7效果 2 77效果 3 777效果 - 幸运三角 = 0 - # 0过充电状态 1过负荷状态 - 擎天战甲 = 0 - # 0.00~1.00 - 持续伤害计算比例 = 0 - # 0 120+ 1 120-100 2 100-80 3 80-60 4 60-40 5 40- - 军神的隐秘遗产 = 0 - # 0太极天帝剑:阳 1太极天帝剑:阴 - 太极天帝剑 = 0 - # 0绿色生命的面容:无 1绿色生命的面容:阴暗面 - 绿色生命的面容 = 1 - # 0噙毒手套:中毒 1噙毒手套:未中毒 - 噙毒手套 = 0 - - 攻击属性 = 0 - 产物升级 = 0 - - # 是否为图内状态 - 状态 = 0 - # 是否为输出装备描述 - 装备描述 = 0 - - # 辟邪玉属性 - 附加伤害增加增幅 = 1.0 - 属性附加伤害增加增幅 = 1.0 - 技能伤害增加增幅 = 1.0 - 暴击伤害增加增幅 = 1.0 - 伤害增加增幅 = 1.0 - 最终伤害增加增幅 = 1.0 - 力量智力增加增幅 = 1.0 - 物理魔法攻击力增加增幅 = 1.0 - 所有属性强化增加 = 1.0 - - # 0武器,1首饰,2特殊,3防具 - 变换词条 = [ - # 原词条类型,原词条数值,可洗最小值,可洗最大值,择优不考虑觉醒 - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0] - ] - 计算自适应 = 1 - # 计算自适应方式 = 0 - 输出提升率 = 0 - - def getskillinfo(self): - return self.技能栏 - - # endregion - - # region 词条属性 - def 附加伤害加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{附加伤害} +$value
', value=to_percent(x)) - else: - self.附加伤害 += self.附加伤害增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 3, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 三攻固定加成(self, x=0, y=0, z=0): - if self.装备描述 == 1: - return trans('{物攻/魔攻/独立} +$value
', value=x) - else: - if y == 0 or z == 0: - y = x - z = x - self.物理攻击力 += x - self.魔法攻击力 += y - self.独立攻击力 += z - return '' - - def 力智固定加成(self, x=0, y=0): - if self.装备描述 == 1: - return trans('{力量、智力} +$value
', value=x) - else: - if y == 0: - y = x - self.力量 += x - self.智力 += y - return '' - - def 持续伤害加成(self, x): - if self.装备描述 == 1: - return trans('{持续伤害} +$value
', value=to_percent(x)) - else: - self.持续伤害 += x - return '' - - def 属性附加加成(self, x): - if self.装备描述 == 1: - return trans('{属性附加伤害} +$value
', value=to_percent(x)) - else: - self.属性附加 += self.属性附加伤害增加增幅 * x - return '' - - def 技能攻击力加成(self, x, 辟邪玉加成=1,适用累加=1): - if self.装备描述 == 1: - return trans('{技能攻击力} +$value
', value=to_percent(x)) - if 适用累加 == 0: - self.技能攻击力 *= 1 + self.技能伤害增加增幅 * x if 辟邪玉加成 == 1 else x - else: - self.技能攻击力累加 += x - if self.技能攻击力累加 <= 2: - self.技能攻击力 *= 1 + self.技能伤害增加增幅 * x if 辟邪玉加成 == 1 else x - else: - self.技能攻击力 *= 1 + (self.技能伤害增加增幅*(2+x-self.技能攻击力累加)+self.技能攻击力累加-2) if self.技能攻击力累加 - x < 2 or 辟邪玉加成 == 1 else x - return '' - - def 暴击伤害加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{暴击伤害} +$value
', value=to_percent(x)) - else: - self.暴击伤害 += self.暴击伤害增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 4, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 伤害增加加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{伤害增加} +$value
', value=to_percent(x)) - else: - self.伤害增加 += self.伤害增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 2, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 最终伤害加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{最终伤害} +$value
', value=to_percent(x)) - else: - self.最终伤害 += self.最终伤害增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 5, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 百分比力智加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{力量、智力} +$value
', value=to_percent(x)) - else: - self.百分比力智 += self.力量智力增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 0, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 百分比三攻加成(self, x, 可变=0, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{物攻、魔攻、独立} +$value
', value=to_percent(x)) - else: - self.百分比三攻 += self.物理魔法攻击力增加增幅 * x if 辟邪玉加成 == 1 else x - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 1, - round(x * 100), - round(x * 100) + (2 if 可变 > 1 else 4), - round(x * 100) + (8 if 可变 > 1 else 16) - ] - return '' - - def 火属性强化加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans("{火属性强化} +$value
", value=x) - else: - if self.状态 == 0: - self.火属性强化 += self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x - else: - self.火属性强化 += int(self.所有属性强化增加 * x) - return '' - - def 冰属性强化加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans("{冰属性强化} +$value
", value=x) - else: - if self.状态 == 0: - self.冰属性强化 += self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x - else: - self.冰属性强化 += int(self.所有属性强化增加 * x) - return '' - - def 光属性强化加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans("{光属性强化} +$value
", value=x) - else: - if self.状态 == 0: - self.光属性强化 += self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x - else: - self.光属性强化 += int(self.所有属性强化增加 * x) - return '' - - def 暗属性强化加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans("{暗属性强化} +$value
", value=x) - else: - if self.状态 == 0: - self.暗属性强化 += self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x - else: - self.暗属性强化 += int(self.所有属性强化增加 * x) - return '' - - def 所有属性强化加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans("{所有属性强化} +$value
", value=x) - else: - if self.状态 == 0: - temp = self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x - else: - temp = int(self.所有属性强化增加 * x) - self.所有属性强化(temp) - return '' - - def 攻击速度增加(self, x): - if self.装备描述 == 1: - return trans("{攻击速度} +$value
", value=to_percent(x, 2)) - else: - self.攻击速度 += x - return '' - - def 移动速度增加(self, x): - if self.装备描述 == 1: - return trans("{移动速度} +$value
", value=to_percent(x, 2)) - else: - self.移动速度 += x - return '' - - def 施放速度增加(self, x): - if self.装备描述 == 1: - return trans("{释放速度} +$value
", value=to_percent(x, 2)) - else: - self.施放速度 += x - return '' - - def 命中率增加(self, x): - if self.装备描述 == 1: - return trans("{命中率} +$value
", value=to_percent(x, 1)) - else: - self.命中率 += x - return '' - - def 物理暴击率增加(self, x): - if self.装备描述 == 1: - return trans("{物理暴击率} +$value
", value=to_percent(x)) - else: - self.物理暴击率 += x - return '' - - def 魔法暴击率增加(self, x): - if self.装备描述 == 1: - return trans("{魔法暴击率} +$value
", value=to_percent(x)) - else: - self.魔法暴击率 += x - return '' - - def 技能等级加成(self, 加成类型, minLv, maxLv, lv, 可变=0): - lv = int(lv) - if self.装备描述 == 1: - label = trans('技能等级' if 加成类型 == '所有' else '主动技能等级') - if minLv == maxLv: - return ("Lv{} {}+{}
").format(minLv, label, lv) - return ("Lv{}-{} {}+{}
").format(minLv, maxLv, label, lv) - else: - if self.远古记忆 > 0: - if minLv <= 15 and maxLv >= 15: - self.远古记忆 = min(20, self.远古记忆 + lv) - - if self.刀魂之卡赞 > 0: - if minLv <= 5 and maxLv >= 5: - self.刀魂之卡赞 = min(20, self.刀魂之卡赞 + lv) - - for i in self.技能栏: - if i.所在等级 >= minLv and i.所在等级 <= maxLv: - if 加成类型 == '所有': - i.等级加成(lv) - else: - if i.是否主动 == 1: - i.等级加成(lv) - if 可变 > 0: - self.变换词条[可变 - 1] = [ - 6, 2, 14 + (2 if 可变 > 1 else 4), 14 + (8 if 可变 > 1 else 16) - ] - return '' - - def 武器装扮等级加成(self, Lv, lv): - lv = int(lv) - for i in self.技能栏: - if i.所在等级 == Lv and i.是否主动 == 1 and i.名称 not in [ - "念兽龙虎啸", "风雷啸", "圣灵符文", "神圣之光" - ]: - i.等级加成(lv) - - def 技能冷却缩减(self, min, max, x): - if self.装备描述 == 1: - label = trans('技能') - if min == max: - return ("Lv{} {}CD -{}
").format(min, label, to_percent(x)) - else: - return ("Lv{}-{} {}CD -{}
").format(min, max, label, - to_percent(x)) - else: - for i in self.技能栏: - if i.所在等级 >= min and i.所在等级 <= max: - if i.是否有伤害 == 1: - i.CD *= (1 - x) - return '' - - def 技能恢复加成(self, min, max, x): - if self.装备描述 == 1: - label = trans('技能恢复') - if min == max: - return "Lv{} {}+{}%
".format(min, label, round(x * 100)) - else: - return "Lv{}-{} {}+{}%
".format(min, max, label, - round(x * 100)) - else: - for i in self.技能栏: - if i.所在等级 >= min and i.所在等级 <= max: - if i.是否有伤害 == 1: - i.恢复 += x - return '' - - def 进图属强加成(self, x, 辟邪玉加成=1): - if self.装备描述 == 1: - return trans('{进图属性强化} +$value
', value=x) - else: - self.进图属强 += int(self.所有属性强化增加 * x if 辟邪玉加成 == 1 else x) - return '' - - def 技能倍率加成(self, lv, x): - if self.装备描述 == 1: - return trans("Lv$level {技能攻击力} +$value
", - level=lv, - value=to_percent(x)) - else: - for i in self.技能栏: - if i.所在等级 == lv: - if i.是否有伤害 == 1: - i.倍率 *= (1 + x * self.技能伤害增加增幅) - return '' - - def 单技能修改(self, 名称, 倍率, CD): - if self.装备描述 == 1: - tem = "" - if 倍率 != 1: - tem += trans("[{$name}]{攻击力} +$value
", - name=名称, - value=to_percent(倍率 - 1)) - if CD != 1: - tem += trans("[{$name}]{CD} +$value
", - name=名称, - value=to_percent(CD - 1)) - return tem - else: - for i in self.技能栏: - if i.是否有伤害 == 1: - if i.名称 == 名称: - i.倍率 *= 倍率 - i.CD *= CD - return '' - - def 所有属性强化(self, x): - self.火属性强化 += x - self.冰属性强化 += x - self.光属性强化 += x - self.暗属性强化 += x - - # endregion - - # region 面板计算 - def 防具精通计算(self, i): - temp = equ.get_equ_by_name(self.装备栏[i]) - if temp.等级 == 100: - if temp.所属套装 != '智慧产物': - return 精通计算(temp.等级, temp.品质, self.强化等级[i], 部位列表[i]) - else: - return 精通计算(temp.等级, temp.品质, self.改造等级[i], 部位列表[i]) - elif temp.等级 > 85: - 计算等级 = temp.等级 - if temp.所属套装 == '兵法之神': - if self.装备检查('过往时光的轮回'): - 计算等级 = 100 - return 精通计算(计算等级, temp.品质, self.强化等级[i], 部位列表[i]) - else: - 计算等级 = temp.等级 - if temp.所属套装 == '战术之王的御敌': - if self.装备检查('战术之王的战术指挥棒'): - 计算等级 = 100 - elif temp.所属套装 == '魔战无双': - if self.装备检查('聚魔漩涡'): - 计算等级 = 100 - x = 精通计算(计算等级, temp.品质, self.强化等级[i], 部位列表[i]) - if self.转甲选项 == 1: - return round(x, 2) - else: - return round(0.4 * x, 2) - - def 站街力量(self): - return int(self.力量) - - def 站街智力(self): - return int(self.智力) - - def 面板力量(self): - return (self.力量 + int((self.力量 - self.基础力量) * self.系统奶系数 + self.系统奶基数) - + self.进图力量) * (1 + self.百分比力智) - - def 面板智力(self): - return (self.智力 + int((self.智力 - self.基础智力) * self.系统奶系数 + self.系统奶基数) - + self.进图智力) * (1 + self.百分比力智) - - def 站街物理攻击力倍率(self): - 站街物理攻击倍率 = 1.0 - for i in self.技能栏: - try: - 站街物理攻击倍率 *= i.物理攻击力倍率(self.武器类型) - except: - pass - return 站街物理攻击倍率 - - def 站街魔法攻击力倍率(self): - 站街魔法攻击倍率 = 1.0 - for i in self.技能栏: - try: - 站街魔法攻击倍率 *= i.魔法攻击力倍率(self.武器类型) - except: - pass - return 站街魔法攻击倍率 - - def 站街独立攻击力倍率(self): - 站街独立攻击倍率 = 1.0 - for i in self.技能栏: - try: - 站街独立攻击倍率 *= i.独立攻击力倍率(self.武器类型) - except: - pass - return 站街独立攻击倍率 - - def 站街物理攻击力(self): - return self.物理攻击力 * self.站街物理攻击力倍率() - - def 站街魔法攻击力(self): - return self.魔法攻击力 * self.站街魔法攻击力倍率() - - def 站街独立攻击力(self): - return self.独立攻击力 * self.站街独立攻击力倍率() - - def 面板物理攻击力(self): - 面板物理攻击 = (self.物理攻击力 + self.进图物理攻击力) * (1 + self.百分比三攻) * ( - 1 + self.年宠技能 * 0.10 + self.斗神之吼秘药 * 0.12 + self.白兔子技能 * 0.20) - for i in self.技能栏: - try: - 面板物理攻击 *= i.物理攻击力倍率进图(self.武器类型) - except: - pass - return 面板物理攻击 * self.站街物理攻击力倍率() - - def 面板魔法攻击力(self): - 面板魔法攻击 = (self.魔法攻击力 + self.进图魔法攻击力) * (1 + self.百分比三攻) * ( - 1 + self.年宠技能 * 0.10 + self.斗神之吼秘药 * 0.12 + self.白兔子技能 * 0.20) - for i in self.技能栏: - try: - 面板魔法攻击 *= i.魔法攻击力倍率进图(self.武器类型) - except: - pass - return 面板魔法攻击 * self.站街魔法攻击力倍率() - - def 面板独立攻击力(self): - 面板独立攻击 = (self.独立攻击力 + self.进图独立攻击力) * (1 + self.百分比三攻) - for i in self.技能栏: - try: - 面板独立攻击 *= i.独立攻击力倍率进图(self.武器类型) - except: - pass - return 面板独立攻击 * self.站街独立攻击力倍率() - - def 面板系数计算(self): - if self.类型 == '物理百分比': - return int((self.面板力量() / 250 + 1) * (self.物理攻击力 + self.进图物理攻击力) * - (1 + self.百分比三攻)) - elif self.类型 == '魔法百分比': - return int((self.面板智力() / 250 + 1) * (self.魔法攻击力 + self.进图魔法攻击力) * - (1 + self.百分比三攻)) - elif self.类型 == '物理固伤': - return int((self.面板力量() / 250 + 1) * (self.独立攻击力 + self.进图独立攻击力) * - (1 + self.百分比三攻)) - elif self.类型 == '魔法固伤': - return int((self.面板智力() / 250 + 1) * (self.独立攻击力 + self.进图独立攻击力) * - (1 + self.百分比三攻)) - - def 力智计算(self): - return max(self.面板力量(), self.面板智力()) - - # endregion - - # region 输出计算 - def 加算冷却计算(self): - for i in self.技能栏: - if i.是否有伤害 == 1: - i.CD *= (1 - self.加算冷却缩减) - - def CD倍率计算(self): - for i in self.技能栏: - if i.冷却关联技能 != ['无']: - if i.冷却关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD *= i.CD缩减倍率(self.武器类型) - else: - for k in i.冷却关联技能: - self.技能栏[self.技能序号[k]].CD *= i.CD缩减倍率(self.武器类型) - if i.非冷却关联技能 != ['无']: - if i.非冷却关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD /= i.CD缩减倍率(self.武器类型) - else: - for k in i.非冷却关联技能: - self.技能栏[self.技能序号[k]].CD /= i.CD缩减倍率(self.武器类型) - if i.冷却关联技能2 != ['无']: - if i.冷却关联技能2 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD *= i.CD缩减倍率2(self.武器类型) - else: - for k in i.冷却关联技能2: - self.技能栏[self.技能序号[k]].CD *= i.CD缩减倍率2(self.武器类型) - if i.非冷却关联技能2 != ['无']: - if i.非冷却关联技能2 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD /= i.CD缩减倍率2(self.武器类型) - else: - for k in i.非冷却关联技能2: - self.技能栏[self.技能序号[k]].CD /= i.CD缩减倍率2(self.武器类型) - if i.冷却关联技能3 != ['无']: - if i.冷却关联技能3 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD *= i.CD缩减倍率3(self.武器类型) - else: - for k in i.冷却关联技能3: - self.技能栏[self.技能序号[k]].CD *= i.CD缩减倍率3(self.武器类型) - if i.非冷却关联技能3 != ['无']: - if i.非冷却关联技能3 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.CD /= i.CD缩减倍率3(self.武器类型) - else: - for k in i.非冷却关联技能3: - self.技能栏[self.技能序号[k]].CD /= i.CD缩减倍率3(self.武器类型) - - def 被动倍率计算(self): - if self.远古记忆 > 0: - self.进图智力 += self.远古记忆 * 15 - if self.刀魂之卡赞 > 0: - self.进图力量 += 刀魂之卡赞数据[self.刀魂之卡赞] - self.进图智力 += 刀魂之卡赞数据[self.刀魂之卡赞] - for i in self.技能栏: - i.被动倍率 = 1 - for i in self.技能栏: - if i.关联技能 != ['无']: - if i.关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率(self.武器类型) - else: - for k in i.关联技能: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率(self.武器类型) - if i.非关联技能 != ['无']: - if i.非关联技能 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 /= i.加成倍率(self.武器类型) - else: - for k in i.非关联技能: - self.技能栏[self.技能序号[k]].被动倍率 /= i.加成倍率(self.武器类型) - - if i.关联技能2 != ['无']: - if i.关联技能2 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率2(self.武器类型) - else: - for k in i.关联技能2: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率2(self.武器类型) - - if i.非关联技能2 != ['无']: - if i.非关联技能2 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 /= i.加成倍率2(self.武器类型) - else: - for k in i.非关联技能2: - self.技能栏[self.技能序号[k]].被动倍率 /= i.加成倍率2(self.武器类型) - - if i.关联技能3 != ['无']: - if i.关联技能3 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= i.加成倍率3(self.武器类型) - else: - for k in i.关联技能3: - self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率3(self.武器类型) - - if i.非关联技能3 != ['无']: - if i.非关联技能3 == ['所有']: - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 /= i.加成倍率3(self.武器类型) - else: - for k in i.非关联技能3: - self.技能栏[self.技能序号[k]].被动倍率 /= i.加成倍率3(self.武器类型) - - def 属性倍率计算(self): - # 火、冰、光、暗 - self.属性倍率组 = [] - self.属性倍率组.append(1.05 + 0.0045 * int(self.火属性强化 - self.火抗输入)) - self.属性倍率组.append(1.05 + 0.0045 * int(self.冰属性强化 - self.冰抗输入)) - self.属性倍率组.append(1.05 + 0.0045 * int(self.光属性强化 - self.光抗输入)) - self.属性倍率组.append(1.05 + 0.0045 * int(self.暗属性强化 - self.暗抗输入)) - if self.攻击属性 == 0: - self.属性倍率 = max(self.属性倍率组) - elif self.攻击属性 == 1: - self.属性倍率 = self.属性倍率组[0] - elif self.攻击属性 == 2: - self.属性倍率 = self.属性倍率组[1] - elif self.攻击属性 == 3: - self.属性倍率 = self.属性倍率组[2] - elif self.攻击属性 == 4: - self.属性倍率 = self.属性倍率组[3] - - def 伤害指数计算(self): - - 防御 = max(self.防御输入 - self.固定减防, 0) * (1 - self.百分比减防) - 基准倍率 = 1.5 * self.主BUFF * (1 - 防御 / (防御 + 200 * 等级)) - - # 避免出现浮点数取整BUG - self.伤害增加 += 0.00000001 - - self.属性倍率计算() - - # if sum(self.自适应选项) != 0: - if self.计算自适应 == 1: - self.自适应计算() - - # self.希洛克武器提升() - - 面板 = self.面板系数计算() - - 增伤倍率 = 1 + int(self.伤害增加 * 100) / 100 - 增伤倍率 *= 1 + self.暴击伤害 - 增伤倍率 *= 1 + self.最终伤害 - 增伤倍率 *= self.技能攻击力 - 增伤倍率 *= 1 + self.持续伤害 * self.持续伤害计算比例 - 增伤倍率 *= 1 + self.附加伤害 + self.属性附加 * self.属性倍率 - - self.伤害指数 = 面板 * self.属性倍率 * 增伤倍率 * 基准倍率 / 100 * self.队友增幅系数 - - # 7.8日,伤害数据压缩 - self.伤害指数 /= 1000 - - def 伤害计算(self, x=0): - if 切装模式 == 1 and self.切装判断(): - temp = self.装备替换() - A = temp[0].数据计算(1, 1) # 身上装备计算 - B = temp[1].数据计算(1, 0) # 切装装备计算 - self.预处理() - for i in range(len(self.技能栏)): - self.技能栏[i] = deepcopy(temp[self.技能切装[i]].技能栏[i]) - C = [] - 总伤害 = 0 - for i in range(len(A)): - C.append(A[i] if (self.技能切装[int(i / 4)] == 0) else B[i]) - if i % 4 == 1: - 总伤害 += C[i] - if x == 0: - return 总伤害 - else: - for i in range(int(len(A) / 4)): - if 总伤害 != 0: - C[i * 4 + 3] = C[i * 4 + 1] / 总伤害 * 100 - else: - C[i * 4 + 3] = 0 - return C - else: - self.技能切装 = [0] * len(self.技能栏) - # if self.计算自适应 == 1: - # self.择优拷贝 = deepcopy(self) - # self.择优拷贝.计算自适应 = 0 - return self.数据计算(x) - - def 技能释放次数解析(self, 技能释放次数): - for i in range(len(self.技能栏)): - if '/CD' in self.次数输入[i]: - 技能释放次数[i] = eval(self.次数输入[i].replace('/CD', str(技能释放次数[i]))) - if type(self.宠物次数[i]) == type('str'): - self.宠物次数[i] = eval(self.宠物次数[i].replace( - 'num', str(技能释放次数[i]))) - return 技能释放次数 - - def 技能释放次数计算(self): - 技能释放次数 = [] - for i in self.技能栏: - if i.是否有伤害 == 1: - s = self.次数输入[self.技能序号[i.名称]] - if '/CD' in s: - 技能释放次数.append( - int((self.时间输入 - i.演出时间) / - i.等效CD(self.武器类型, self.类型)) + 1 + i.基础释放次数) - else: - 技能释放次数.append(round(float(s), 2)) - else: - 技能释放次数.append(0) - - return self.技能释放次数解析(技能释放次数) - - def 技能单次伤害计算(self, y): - # y切装标记 - 技能单次伤害 = [] - for i in self.技能栏: - if i.是否有伤害 == 1 and self.技能切装[self.技能序号[i.名称]] != y: - 技能单次伤害.append(i.等效百分比(self.武器类型) * self.伤害指数 * i.被动倍率) - else: - 技能单次伤害.append(0) - return 技能单次伤害 - - def 技能总伤害计算(self, a, b): - # a次数 b单次伤害 - 技能总伤害 = [] - for i in self.技能栏: - index = self.技能序号[i.名称] - if i.是否有伤害 == 1 and a[index] != 0: - 技能总伤害.append(a[index] * b[index] * ( - 1 + self.白兔子技能 * 0.20 + self.年宠技能 * 0.10 * - self.宠物次数[index] / a[index] # 宠物技能占比 = 宠物次数 / 释放次数 - + self.斗神之吼秘药 * 0.12)) - else: - 技能总伤害.append(0) - return 技能总伤害 - - def 数据返回(self, x, a, b): - # a次数 b伤害 - 总伤害 = sum(b) - if x == 0: - # 伤害数据,用于排序 - return 总伤害 - elif x == 1: - # 详细数据,用于展示 四个数据一组 - # 0次数 1总伤害 2平均伤害 3占比 - data = [] - for i in range(len(self.技能栏)): - data.append(a[i]) - data.append(b[i]) - if a[i] != 0: - data.append(b[i] / a[i]) - else: - data.append(b[i]) - if 总伤害 != 0: - data.append(b[i] / 总伤害 * 100) - else: - data.append(0) - return data - - def 数据计算(self, x=0, y=-1): - self.预处理() - # 初步计算 - 技能释放次数 = self.技能释放次数计算() - 技能单次伤害 = self.技能单次伤害计算(y) - 技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害) - - # 返回结果 - return self.数据返回(x, 技能释放次数, 技能总伤害) - - def 装备词条计算(self): - # 初始化 以防和自选冲突 - self.变换词条 = [ - # 原词条类型,原词条数值,可洗最小值,可洗最大值,择优不考虑觉醒 - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0], - [0, 0, 0, 0] - ] - if 调试开关 == 0: - for i in range(12): - temp = equ.get_equ_by_name(self.装备栏[i]) - temp.城镇属性(self) - temp.变换属性(self) - if temp.所属套装 == '智慧产物' and self.产物升级 == 1: - temp.产物升级(self) - # 添加可洗属性 - - for i in self.套装栏: - equ.get_suit_by_name(i).城镇属性(self) - # print(self.变换词条) - # 进图触发属强向下取整 - self.状态 = 1 - for i in range(12): - equ.get_equ_by_name(self.装备栏[i]).进图属性(self) - - for i in self.套装栏: - equ.get_suit_by_name(i).进图属性(self) - self.状态 = 0 - self.黑鸦词条扣除() - # print(self.黑鸦词条) - # 冲突属性计算 - self.伤害增加加成(self.黄字) - self.暴击伤害加成(self.暴伤) - - def 预处理(self): - self.装备属性计算() - self.三觉屏蔽1() - self.所有属性强化(self.进图属强) - self.CD倍率计算() - self.加算冷却计算() - self.被动倍率计算() - self.三觉屏蔽2() - self.伤害指数计算() - - def 装备属性计算(self): - self.装备基础() - self.装备词条计算() - - def 其它属性计算(self): - for i in range(12): - equ.get_equ_by_name(self.装备栏[i]).其它属性(self) - - for i in self.套装栏: - equ.get_suit_by_name(i).其它属性(self) - - # endregion - - # region 择优相关 - def 词条提示上下限计算(self, 词条范围, 词条数值): - 词条提升率 = [[0, 0]] * 6 - - if 0 in 词条范围: - # 百分比力智 - 最高提升 = 0 - x = self.面板系数计算() - self.百分比力智加成(词条数值[0]) - 最高提升 = round(self.面板系数计算() / x - 1, 8) - self.百分比力智加成(-词条数值[0]) - - 最低提升 = 0 - self.百分比力智加成(self.择优极限[0] - 词条数值[0]) - x = self.面板系数计算() - self.百分比力智加成(词条数值[0]) - 最低提升 = round(self.面板系数计算() / x - 1, 8) - self.百分比力智加成(-self.择优极限[0]) - - 词条提升率[0] = [最低提升, 最高提升] - - if 1 in 词条范围: - 最高提升 = 0 - x = 1 + self.百分比三攻 - self.百分比三攻加成(词条数值[1]) - 最高提升 = round((1 + self.百分比三攻) / x - 1, 8) - self.百分比三攻加成(-词条数值[1]) - - 最低提升 = 0 - self.百分比三攻加成(self.择优极限[1] - 词条数值[1]) - x = 1 + self.百分比三攻 - self.百分比三攻加成(词条数值[1]) - 最低提升 = round((1 + self.百分比三攻) / x - 1, 8) - self.百分比三攻加成(-self.择优极限[1]) - - 词条提升率[1] = [最低提升, 最高提升] - - if 2 in 词条范围: - 最高提升 = 0 - x = 1 + int(self.伤害增加 * 100) / 100 - self.伤害增加加成(词条数值[2]) - 最高提升 = round((1 + int(self.伤害增加 * 100) / 100) / x - 1, 8) - self.伤害增加加成(-词条数值[2]) - - 最低提升 = 0 - self.伤害增加加成(self.择优极限[2] - 词条数值[2]) - x = 1 + int(self.伤害增加 * 100) / 100 - self.伤害增加加成(词条数值[2]) - 最低提升 = round((1 + int(self.伤害增加 * 100) / 100) / x - 1, 8) - self.伤害增加加成(-self.择优极限[2]) - - 词条提升率[2] = [最低提升, 最高提升] - - if 3 in 词条范围: - 最高提升 = 0 - x = 1 + self.附加伤害 + self.属性附加 * self.属性倍率 - self.附加伤害加成(词条数值[3]) - 最高提升 = round((1 + self.附加伤害 + self.属性附加 * self.属性倍率) / x - 1, 8) - self.附加伤害加成(-词条数值[3]) - - 最低提升 = 0 - self.附加伤害加成(self.择优极限[3] - 词条数值[3]) - x = 1 + self.附加伤害 + self.属性附加 * self.属性倍率 - self.附加伤害加成(词条数值[3]) - 最低提升 = round((1 + self.附加伤害 + self.属性附加 * self.属性倍率) / x - 1, 8) - self.附加伤害加成(-self.择优极限[3]) - - 词条提升率[3] = [最低提升, 最高提升] - - if 4 in 词条范围: - 最高提升 = 0 - x = 1 + self.暴击伤害 - self.暴击伤害加成(词条数值[4]) - 最高提升 = round((1 + self.暴击伤害) / x - 1, 8) - self.暴击伤害加成(-词条数值[4]) - - 最低提升 = 0 - self.暴击伤害加成(self.择优极限[4] - 词条数值[4]) - x = 1 + self.暴击伤害 - self.暴击伤害加成(词条数值[4]) - 最低提升 = round((1 + self.暴击伤害) / x - 1, 8) - self.暴击伤害加成(-self.择优极限[4]) - - 词条提升率[4] = [最低提升, 最高提升] - - if 5 in 词条范围: - 最高提升 = 0 - x = 1 + self.最终伤害 - self.最终伤害加成(词条数值[5]) - 最高提升 = round((1 + self.最终伤害) / x - 1, 8) - self.最终伤害加成(-词条数值[5]) - - 最低提升 = 0 - self.最终伤害加成(self.择优极限[5] - 词条数值[5]) - x = 1 + self.最终伤害 - self.最终伤害加成(词条数值[5]) - 最低提升 = round((1 + self.最终伤害) / x - 1, 8) - self.最终伤害加成(-self.择优极限[5]) - - 词条提升率[5] = [最低提升, 最高提升] - - return 词条提升率 - - def 词条修改(self, x): - self.百分比力智加成(x) - self.百分比三攻加成(x) - self.伤害增加加成(x) - self.附加伤害加成(x) - self.暴击伤害加成(x) - self.最终伤害加成(x) - - def 基础提升率计算(self): - 词条基数 = [ - 250 + self.力智计算(), - 1 + self.百分比三攻, - 100 * (1 + self.伤害增加), - 1 + self.附加伤害 + self.属性附加 * self.属性倍率, - 1 + self.暴击伤害, - 1 + self.最终伤害, - ] - self.词条修改(0.01) - 词条提升后数值 = [ - 250 + self.力智计算(), - 1 + self.百分比三攻, - 100 * (1 + self.伤害增加), - 1 + self.附加伤害 + self.属性附加 * self.属性倍率, - 1 + self.暴击伤害, - 1 + self.最终伤害, - ] - self.词条修改(-0.01) - - return [词条基数, 词条提升后数值] - - def 词条提升率计算(self, 词条范围, 词条数值, y=0): - - 词条提升率 = [0] * 6 - - if 0 in 词条范围: - # 百分比力智 - x = self.面板系数计算() - self.百分比力智加成(词条数值[0]) - 词条提升率[0] = round(self.面板系数计算() / x - 1, 8) - self.百分比力智加成(-词条数值[0]) - - if 1 in 词条范围: - # 百分比三攻 - x = 1 + self.百分比三攻 - self.百分比三攻加成(词条数值[1]) - 词条提升率[1] = round((1 + self.百分比三攻) / x - 1, 8) - self.百分比三攻加成(-词条数值[1]) - - if 2 in 词条范围: - # 伤害增加 - x = 1 + int(self.伤害增加 * 100) / 100 - self.伤害增加加成(词条数值[2]) - 词条提升率[2] = round((1 + int(self.伤害增加 * 100) / 100) / x - 1, 8) - self.伤害增加加成(-词条数值[2]) - - if 3 in 词条范围: - # 附加伤害 - x = 1 + self.附加伤害 + self.属性附加 * self.属性倍率 - self.附加伤害加成(词条数值[3]) - 词条提升率[3] = round((1 + self.附加伤害 + self.属性附加 * self.属性倍率) / x - 1, - 8) - self.附加伤害加成(-词条数值[3]) - - if 4 in 词条范围: - # 暴击伤害 - x = 1 + self.暴击伤害 - self.暴击伤害加成(词条数值[4]) - 词条提升率[4] = round((1 + self.暴击伤害) / x - 1, 8) - self.暴击伤害加成(-词条数值[4]) - - if 5 in 词条范围: - # 最终伤害 - x = 1 + self.最终伤害 - self.最终伤害加成(词条数值[5]) - 词条提升率[5] = round((1 + self.最终伤害) / x - 1, 8) - self.最终伤害加成(-词条数值[5]) - - if y == 1: - self.词条提升率 = copy(词条提升率) - - # for k in range(6): - # if 词条提升率[k] == max(词条提升率): - # 词条属性列表[k].加成属性(self, 词条数值[k]) - # return k - tem = [] - 最小词条 = 0 - for k in range(6): - if 词条提升率[k] == max(词条提升率): - # 词条属性列表[k].加成属性(self, 词条数值[k]) - tem.append(k) - 待排序提升率 = [] - for i in tem: - 待排序提升率.append([i, self.择优极限[i]]) - 待排序提升率.sort(key=lambda x: round(x[1], 2), reverse=False) - self.择优极限 = [round(self.择优极限[i] - 词条数值[i], 3) for i in range(6)] - 最小词条 = 待排序提升率[0][0] - 词条属性列表[最小词条].加成属性(self, 词条数值[最小词条]) - return 最小词条 - - def 自适应计算(self, x=0): - # print(self.计算自适应方式) - if self.黑鸦武器择优模式 == 0: - self.择优词条 = [[round(self.变换词条[0][3] / 100, 2)] * 6, - [round(self.变换词条[1][3] / 100, 2)] * 6, - [round(self.变换词条[2][3] / 100, 2)] * 6, - [round(self.变换词条[3][3] / 100, 2)] * 6, [0.1] * 6, - [0.05] * 6, [0.08, 0.08, 0.07, 0.08, 0, 0.08], - [0, 0.05, 0.05, 0, 0.05, 0]] - else: - self.择优词条 = [[round(0.16, 2)] * 6, - [round(self.变换词条[1][3] / 100, 2)] * 6, - [round(self.变换词条[2][3] / 100, 2)] * 6, - [round(self.变换词条[3][3] / 100, 2)] * 6, [0.1] * 6, - [0.05] * 6, [0.08, 0.08, 0.07, 0.08, 0, 0.08], - [0, 0.05, 0.05, 0, 0.05, 0]] - self.是否择优 = self.词条是否择优() - self.择优结果 = [[0, 0]] * len(self.择优词条) - # print(self.择优词条) - # self.是否择优 = self.词条是否择优() - # print(self.是否择优) - # print(self.计算自适应方式) - # if self.计算自适应方式 == 0: - # self.贪心自适应() - # else: - # self.全局自适应() - if self.输出提升率 != 0: - self.择优提升率计算() - else: - try: - self.全局自适应() - except Exception as error: - logger.error(error) - self.贪心自适应() - for i in range(len(self.择优结果)): - # 词条属性列表[self.择优结果[i][0]].加成属性(self,self.择优结果[i][1]) - if i < 4: - self.黑鸦词条[i].append("") - if self.择优结果[i][1] != 0: - self.黑鸦词条[i][4] = ( - trans("觉醒Lv+2 ") - if i == 0 and self.择优结果[i][1] == 0.16 else '') + trans( - 黑鸦武器属性列表[self.择优结果[i][0]].描述) + '+' + str( - round(self.择优结果[i][1] * 100)) + '%' - if i == 4: - if self.是否择优[i] == 0: - self.词条提升率 = [0] * 6 - else: - self.词条选择.clear() - self.词条选择.append(self.择优结果[i][0]) - if i == 5: - if self.是否择优[i] != 0: - self.词条选择.append(self.择优结果[i][0]) - if i == 6: - self.自适应描述[0] = '{}%{}'.format( - int(self.择优结果[i][1] * 100), - trans(词条属性列表[self.择优结果[i][0]].描述)) - if i == 7: - self.自适应描述[1] = '{}%{}'.format( - int(self.择优结果[i][1] * 100), - trans(词条属性列表[self.择优结果[i][0]].描述)) - - def 计算择优范围(self, d): - index = [] - for i in range(6): - if d[i] != 0: - index.append(i) - if len(index) == 0: - index.append(0) - return index - - def 择优提升率计算(self): - - up = self.基础提升率计算() - - data_array = [[0 for i in range(6)] for i in range(8)] - - for i in range(8): - for j in range(6): - data_array[i][j] = self.择优词条[i][j] * ( - up[1][j] - up[0][j]) * self.是否择优[i] * 100 - try: - self.全局自适应() - except: - self.贪心自适应() - k = [up[0][0], up[0][1], up[0][2], up[0][3], up[0][4], up[0][5]] - k[self.择优结果[0][0]] += data_array[0][self.择优结果[0][0]] - k[self.择优结果[1][0]] += data_array[1][self.择优结果[1][0]] - k[self.择优结果[2][0]] += data_array[2][self.择优结果[2][0]] - k[self.择优结果[3][0]] += data_array[3][self.择优结果[3][0]] - k[self.择优结果[4][0]] += data_array[4][self.择优结果[4][0]] - k[self.择优结果[5][0]] += data_array[5][self.择优结果[5][0]] - k[self.择优结果[6][0]] += data_array[6][self.择优结果[6][0]] - k[self.择优结果[7][0]] += data_array[7][self.择优结果[7][0]] - max_data = k[0] * k[1] * int(k[2]) * k[3] * k[4] * k[5] - - rangelist = [self.计算择优范围(i) for i in data_array] - - path = './详细数据' - if not os.path.exists(path): - os.makedirs(path) - result_path = os.path.join( - path, '{}-{}.csv'.format(self.实际名称, - time.strftime('%m-%d-%H-%M-%S'))) - wf = open(result_path, 'w', encoding='gbk') - wf.write('黑鸦武器,黑鸦戒指,黑鸦左槽,黑鸦下装,残香10%,残香5%,宠物装备,光环,系数,伤害\n') - increase_counter(ga_category="carry详细功能使用", name="输出择优数据") - for a1 in rangelist[0]: - for a2 in rangelist[1]: - for a3 in rangelist[2]: - for a4 in rangelist[3]: - for a5 in rangelist[4]: - for a6 in rangelist[5]: - for a7 in rangelist[6]: - for a8 in rangelist[7]: - k = [ - up[0][0], up[0][1], up[0][2], - up[0][3], up[0][4], up[0][5] - ] - k[a1] += data_array[0][a1] - k[a2] += data_array[1][a2] - k[a3] += data_array[2][a3] - k[a4] += data_array[3][a4] - k[a5] += data_array[4][a5] - k[a6] += data_array[5][a6] - k[a7] += data_array[6][a7] - k[a8] += data_array[7][a8] - rate = k[0] * k[1] * int( - k[2] - ) * k[3] * k[4] * k[5] / max_data - damage = int(rate * self.输出提升率) - wf.write( - '{},{},{},{},{},{},{},{},{:.8},{}\n' - .format( - '无' if len(rangelist[0]) == 1 - else 词条属性列表[a1].描述, - '无' if len(rangelist[1]) == 1 - else 词条属性列表[a2].描述, - '无' if len(rangelist[2]) == 1 - else 词条属性列表[a3].描述, - '无' if len(rangelist[3]) == 1 - else 词条属性列表[a4].描述, - '无' if len(rangelist[4]) == 1 - else 词条属性列表[a5].描述, - '无' if len(rangelist[5]) == 1 - else 词条属性列表[a6].描述, - '无' if len(rangelist[6]) == 1 - else 词条属性列表[a7].描述, - '无' if len(rangelist[7]) == 1 - else 词条属性列表[a8].描述, rate, - damage)) - os.startfile(result_path) - - def 全局自适应(self): - x = 6 - y = 8 - data_array = ((ctypes.c_double * x) * (y + 1))() # 提升值数组 - index = (ctypes.c_int * y)() # 索引 - - up = self.基础提升率计算() - - # 第一行为词条基础 - for j in range(x): - data_array[0][j] = up[0][j] - - # 后续8行为可选词条 - for i in range(y): - for j in range(x): - data_array[i + 1][j] = self.择优词条[i][j] * ( - up[1][j] - up[0][j]) * self.是否择优[i] * 100 - - preferred.cal_index(data_array, byref(index)) - - for i in range(y): - if self.是否择优[i] != 0: - self.择优结果[i] = [index[i], self.择优词条[i][index[i]]] - 词条属性列表[self.择优结果[i][0]].加成属性(self, self.择优结果[i][1]) - - def 贪心自适应(self): - # self.全局自适应() - # return - # self.择优词条 = [ - # [round(self.变换词条[0][3]/100,2)]*6, - # [round(self.变换词条[1][3]/100,2)]*6, - # [round(self.变换词条[2][3]/100,2)]*6, - # [round(self.变换词条[3][3]/100,2)]*6, - # [0.1]*6, - # [0.05]*6, - # [0.07,0,0.07,0.08,0,0,0], - # [0,0.05,0.05,0,0.05,0,0] - # ] - self.择优范围 = [] - for item in self.择优词条: - 词条数值 = item - 计算范围 = [] - for i in range(6): - if 词条数值[i] != 0: - 计算范围.append(i) - self.择优范围.append(计算范围) - 贪心排序 = [] - 自由择优 = [] - 条件择优 = [] - 条件择优结果 = [] - count = 1 - self.择优极限 = [0] * 6 - for i in range(len(self.择优词条)): - if self.是否择优[i] == 1: - 词条数目 = len(list(filter(lambda x: x != 0, self.择优词条[i]))) - 贪心排序.append([count, max(self.择优词条[i]), 词条数目]) - self.择优极限 = [ - round(self.择优极限[j] + self.择优词条[i][j], 3) for j in range(6) - ] - if 词条数目 == 6: - 自由择优.append(count) - else: - 条件择优.append(count) - # 说明存在非全部择优的情况 - count += 1 - - # 贪心排序 = [ - # [1,round(self.变换词条[0][3]/100,2),6], - # [2,round(self.变换词条[1][3]/100,2),6], - # [3,round(self.变换词条[2][3]/100,2),6], - # [4,round(self.变换词条[3][3]/100,2),6], - # [5,0.1,6], - # [6,0.05,6], - # [7,0.08,3], - # [8,0.05,3] - # ] - 贪心排序.sort(key=lambda x: round(x[1], 2), reverse=True) - 贪心排序.sort(key=lambda x: int(x[2]), reverse=True) - - # print(self.择优词条) - # print(条件择优) - # self.自适应1 = 0 - # self.自适应2 = 0 - # if self.自适应选项[0] !=0: - # self.自适应1 = 1 - # if self.自适应选项[1] !=0: - # self.自适应2 = 1 - - # self.择优极限 = [0]*6 - # for item in 贪心排序: - # self.择优极限累计(item[0]) - # print(self.择优极限) - - for item in 贪心排序: - 条件择优结果 = [] - # 每次择优完计算非完全择优的每一个最高最低收益 - for temp in 条件择优: - if self.是否择优[temp - 1] == 1: - 词条数值 = self.择优词条[temp - 1] - 上下限 = self.词条提示上下限计算(self.择优范围[temp - 1], 词条数值) - 下限提升最高 = max([上下限[i][0] for i in range(len(上下限))]) - index = 0 - # tem = [] - 待排序提升率 = [] - for i in range(6): - if 上下限[i][0] == 下限提升最高: - # tem.append(i) - 待排序提升率.append([i, self.择优极限[i]]) - 待排序提升率.sort(key=lambda x: round(x[1], 2), reverse=False) - index = 待排序提升率[0][0] - del 上下限[index] - if 下限提升最高 >= max([上下限[i][1] for i in range(len(上下限))]): - self.是否择优[temp - 1] = 0 - 词条属性列表[index].加成属性(self, 词条数值[index]) - # 条件择优结果.append('{}%{}'.format(int(词条数值[index] * 100), 词条属性列表[index].描述)) - self.择优极限 = [ - round(self.择优极限[i] - 词条数值[i], 3) for i in range(6) - ] - self.择优结果[temp - 1] = [index, 词条数值[index]] - # else: - # 条件择优结果.append('') - # else: - # 条件择优结果.append('') - # for i in range(len(条件择优)): - # if 条件择优结果[i]!='': - # self.自适应描述[i]= 条件择优结果[i] - self.择优计算(item[0]) - - def 择优计算(self, index): - for i in range(1, 5): - if index == i and self.是否择优[index - 1] != 0: - 词条数值 = self.择优词条[index - 1] - res = self.词条提升率计算(self.择优范围[index - 1], 词条数值) - self.择优结果[index - 1] = [res, 词条数值[res]] - # self.黑鸦词条[i-1].append("") - # self.黑鸦词条[i-1][4] = 黑鸦武器属性列表[res].描述 +'+' +str(self.变换词条[i-1][3])+'%' - # print(self.黑鸦词条) - return - # 残香词条1-10% - if index == 5: - if self.是否择优[index - 1] != 0: - # self.词条选择.clear() - 词条数值 = self.择优词条[index - 1] - res = self.词条提升率计算(self.择优范围[index - 1], 词条数值, 1) - self.择优结果[index - 1] = [res, 词条数值[res]] - # self.词条选择.append(res) - # print(self.词条选择) - return - # 残香词条2 - if index == 6: - if self.是否择优[index - 1] != 0: - 词条数值 = self.择优词条[index - 1] - res = self.词条提升率计算(self.择优范围[index - 1], self.择优词条[index - 1]) - self.择优结果[index - 1] = [res, 词条数值[res]] - # self.词条选择.append(self.词条提升率计算(self.择优范围[index-1], self.择优词条[index-1])) - return - # 宠物红色装备词条 - if index == 7: - if self.是否择优[index - 1] != 0: # 宠物 - 词条数值 = self.择优词条[index - 1] - res = self.词条提升率计算(self.择优范围[index - 1], 词条数值) - self.择优结果[index - 1] = [res, 词条数值[res]] - # self.自适应描述[0] = '{}%{}'.format(int(词条数值[res] * 100), 词条属性列表[res].描述) - self.是否择优[index - 1] = 0 - return - # 光环词条 - if index == 8: - if self.是否择优[index - 1] != 0: # 光环 - 词条数值 = self.择优词条[index - 1] - res = self.词条提升率计算(self.择优范围[index - 1], 词条数值) - self.择优结果[index - 1] = [res, 词条数值[res]] - # self.自适应描述[1] = '{}%{}'.format(5, 词条属性列表[res].描述) - self.是否择优[index - 1] = 0 - return - - def 词条是否择优(self): - temp = [0] * 8 - for i in range(4): - if self.黑鸦词条[i][0] == 1 and self.变换词条[i][1] != 0: - temp[i] = 1 - # 残香词条1-10% - if self.希洛克武器词条 != 0: - temp[4] = 1 - if self.希洛克武器词条 == 1 and self.武器词条触发 == 1: - temp[5] = 1 - if self.自适应选项[0] != 0: - temp[6] = 1 - if self.自适应选项[1] != 0: - temp[7] = 1 - return temp - - def 自适应输出(self): - temp = '' - if self.自适应选项[0] != 0: # 宠物 - temp += trans('{宠物}:$value', value=self.自适应描述[0]) - if self.自适应选项[1] != 0: # 光环 - if temp != '': - temp += '|' - temp += trans('{光环}:$value', value=self.自适应描述[1]) - return temp - - def 黑鸦词条扣除(self): - for i in range(4): - self.黑鸦词条[i].append("") - if self.黑鸦词条[i][0] != 0 and self.变换词条[i][1] != 0: - self.黑鸦词条变更(self.变换词条[i], -1) - if self.黑鸦词条[i][0] == 2 and self.变换词条[i][1]: - temp = [ - self.黑鸦词条[i][1], - (14 if self.变换词条[i][0] == 6 else self.变换词条[i][1]) + - self.黑鸦词条[i][2], 0, 0 - ] - self.黑鸦词条变更(temp, 1) - self.黑鸦词条[i][4] = 黑鸦武器属性列表[temp[0]].描述 + '+' + str( - (14 if self.变换词条[i][0] == 6 else self.变换词条[i][1]) + - self.黑鸦词条[i][2]) + ('' if temp[0] == 6 else '%') - if self.黑鸦词条[i][0] == 3 and self.变换词条[i][1]: - self.黑鸦词条[i][4] = "" - temp = [6, 2, 0, 0] - self.黑鸦词条变更([6, 2, 0, 0]) - self.黑鸦词条[i][4] += 黑鸦武器属性列表[temp[0]].描述 + '+' + '2' - self.黑鸦词条[i][4] += '
' - temp = [self.黑鸦词条[i][1], self.黑鸦词条[i][2], 0, 0] - self.黑鸦词条变更(temp, 1) - self.黑鸦词条[i][4] += 黑鸦武器属性列表[temp[0]].描述 + '+' + str( - self.黑鸦词条[i][2]) + '%' - if self.黑鸦词条[0][0] == 1 and self.黑鸦武器择优模式 == 1 and self.变换词条[0][1] != 0: - self.技能等级加成('所有', 50, 50, 2) - self.技能等级加成('所有', 85, 85, 2) - self.技能等级加成('所有', 100, 100, 2) - - def 黑鸦词条变更(self, 变换词条, 增减=1): - # print(变换词条) - if 变换词条[0] == 6: - 黑鸦武器属性列表[变换词条[0]].加成属性(self, 增减 * 变换词条[1]) - else: - 黑鸦武器属性列表[变换词条[0]].加成属性(self, 增减 * 变换词条[1] / 100) - - # endregion - - # region 功能函数 - def 装备检查(self, 装备名称): - for i in self.装备栏: - if i == 装备名称: - return True - return False - - def 切装判断(self): - for i in self.装备切装: - if i != '无': - return True - return False - - def 装备替换(self): - Q = deepcopy(self) - P = deepcopy(self) - - temp = list(P.装备栏) - - for i in range(12): - if P.装备切装[i] != '无': - temp[i] = P.装备切装[i] - - P.装备栏 = tuple(temp) - - P.适用套装计算() - - P.武器类型 = equ.get_equ_by_name(P.装备栏[11]).类型 - P.力量 += P.切装修正[0] - P.智力 += P.切装修正[1] - P.物理攻击力 += P.切装修正[2] - P.魔法攻击力 += P.切装修正[3] - P.独立攻击力 += P.切装修正[4] - P.所有属性强化加成(P.切装修正[5]) - - return [Q, P] - - def 三觉屏蔽1(self): - if self.屏蔽三觉 == True: - for i in self.技能栏: - if i.所在等级 >= 95: - if i.所在等级 == 95 and i.是否主动 == 0: - self.超卓之心等级 = i.等级 - 3 - else: - i.倍率 = 0 - - def 三觉屏蔽2(self): - if self.屏蔽三觉 == True: - temp = None - for j in self.技能栏: - if j.是否有伤害 == 1: - j.被动倍率 *= 1.045 + 0.005 * self.超卓之心等级 - if j.所在等级 == 100: - temp = j - self.技能栏[self.技能序号[self.觉醒之抉择技能]].被动倍率 *= 1.1 + 0.05 * temp.等级 - - # endregion - - -class 角色窗口(窗口): - def __init__(self): - super().__init__() - - # region 界面分页 - def 界面(self): - count = 0 - for i in self.角色属性A.技能栏: - if i.是否有伤害 == 1: - count += 1 - self.窗口高度 = max(55 + 30 * count, 680) - self.setFixedSize(1120, 680) - self.输出背景图片 = QPixmap(trans('./ResourceFiles/img/输出背景.png')) - self.职业存档 = [] - super().界面() - - def 界面1(self): - super().界面1() - # increase_counter(ga_category="carry界面", name="界面/选择/打造") - - for i in 称号列表: - self.称号.addItem(trans(i.显示名称), i.名称) - - for i in 宠物列表: - self.宠物.addItem(trans(i.显示名称), i.名称) - - 标签 = QLabel(trans('装备条件设置'), self.main_frame1) - 标签.move(940, 5) - 标签.resize(170, 20) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - self.装备条件选择.clear() - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems(['角色熟练度:英雄', '角色熟练度:传说']) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - for i in range(0, 7): - self.装备条件选择[-1].addItem(trans('{技能栏空位}:$value', value=i)) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans([ - '命运的抉择:数学期望', '命运的抉择:黄字+10%', '命运的抉择:暴伤+10%', '命运的抉择:终伤+10%', - '命运的抉择:三攻+10%', '命运的抉择:技攻+10%' - ])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans([ - '骰子:数学期望', '骰子:1点', '骰子:2点', '骰子:3点', '骰子:4点', '骰子:5点', '骰子:6点' - ])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans([ - '悲剧的残骸:数学期望', '悲剧的残骸:HP高于70%', '悲剧的残骸:HP70-30%', - '悲剧的残骸:HP低于30%' - ])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans( - ['先知者预言:数学期望', '先知者预言:属白+5%', '先知者预言:技攻+10%', '先知者预言:技攻+15%'])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans(['贫瘠沙漠的遗产:无', '贫瘠沙漠的遗产:霸体', '贫瘠沙漠的遗产:无伤'])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans(['幸运三角:数学期望', '幸运三角:7效果', '幸运三角:77效果', '幸运三角:777效果'])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems(['擎天战甲:过充电状态', '擎天战甲:过负荷状态']) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - for i in range(101): - self.装备条件选择[-1].addItem(trans('{持续伤害适用}$value%', value=100 - i)) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems( - trans([ - '军神的隐秘遗产:120%以上', '军神的隐秘遗产:120-100%', '军神的隐秘遗产:100-80%', - '军神的隐秘遗产:80-60%', '军神的隐秘遗产:60-40%', '军神的隐秘遗产:40%以下' - ])) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems(['太极天帝剑:阳', '太极天帝剑:阴']) - self.装备条件选择.append(MyQComboBox(self.main_frame1)) - self.装备条件选择[-1].addItems(['{噙毒手套}:中毒', '{噙毒手套}:未中毒']) - # self.装备条件选择.append(MyQComboBox(self.main_frame1)) - # self.装备条件选择[-1].addItems(['绿色生命的面容:无', '绿色生命的面容:阴暗面']) - for i in range(len(self.装备条件选择)): - self.装备条件选择[i].resize(170, 20) - self.装备条件选择[i].move(940, 30 + 28 * i) - - self.百变怪选项 = QCheckBox(trans('百变怪'), self.main_frame1) - self.百变怪选项.move(660, 613) - self.百变怪选项.resize(80, 24) - self.百变怪选项.setToolTip('{}'.format( - trans("仅在极速模式和套装模式下生效"))) - self.百变怪选项.setStyleSheet(复选框样式) - - self.计算模式选择 = MyQComboBox(self.main_frame1) - self.计算模式选择.addItems(['计算模式:极速模式', '计算模式:套装模式', '计算模式:单件模式']) - self.计算模式选择.move(750, 613) - self.计算模式选择.resize(235, 24) - self.计算模式选择.setStyleSheet(下拉框样式) - self.计算模式选择.setToolTip('{}'.format( - trans( - '极速模式:533和3332(散搭) (不含智慧产物)

套装模式:533、3332(散搭)和3233(双防具) (不含智慧产物)

单件模式:所有组合 (不含百变怪)' - ))) - - self.最大使用线程数 = thread_num - - # 一键修正按钮添加 - 一键站街修正名称 = trans(['站街力智', '站街三攻', '站街属强']) - for i in range(len(一键站街修正名称)): - 名称 = QLabel(一键站街修正名称[i], self.main_frame1) - 名称.setAlignment(Qt.AlignCenter) - 名称.move(940 + i * 57, 394) - 名称.resize(52, 25) - 名称.setStyleSheet(标签样式) - self.一键站街设置输入.append(QLineEdit(self.main_frame1)) - self.一键站街设置输入[i].setAlignment(Qt.AlignCenter) - self.一键站街设置输入[i].setStyleSheet(输入框样式) - self.一键站街设置输入[i].resize(52, 22) - self.一键站街设置输入[i].move(940 + i * 57, 424) - - 一键修正按钮 = QPushButton(trans('一键修正面板细节'), self.main_frame1) - 一键修正按钮.clicked.connect(lambda state: self.一键修正(0)) - 一键修正按钮.move(940, 450) - 一键修正按钮.resize(166, 25) - 一键修正按钮.setStyleSheet(按钮样式) - - # self.单套择优方式选项 = MyQComboBox(self.main_frame1) - # self.单套择优方式选项.move(940, 30 + 28 * 12) - # self.单套择优方式选项.resize(170,20) - # self.单套择优方式选项.addItem('单套择优方式:局部择优') - # self.单套择优方式选项.addItem('单套择优方式:全局择优') - # self.单套择优方式选项.setToolTip('排行榜及自选采用局部择优方式\n该选项仅适用于查看详情\n局部择优与全局择优大多数情况下一致\n少数情况下会有0.1%不到的差距') - - x = 1006 - y = 485 - 宽度 = 100 - 高度 = 20 - 间隔 = 4 - self.红色宠物装备 = QCheckBox(trans('宠物装备择优'), self.main_frame1) - self.红色宠物装备.move(x, y) - self.红色宠物装备.resize(宽度, 高度) - self.红色宠物装备.setStyleSheet(复选框样式) - self.红色宠物装备.setToolTip('{}'.format( - trans('7%黄字,8%力智,8%白字,8%三攻取最高值'))) - self.红色宠物装备.stateChanged.connect(lambda state: self.下拉框禁用( - self.红色宠物装备, self.细节选项输入[0][11], 下拉框样式_detail)) - - self.光环自适应 = QCheckBox(trans('光环词条择优'), self.main_frame1) - self.光环自适应.move(x, y + (高度 + 间隔) * 1) - self.光环自适应.resize(宽度, 高度) - self.光环自适应.setStyleSheet(复选框样式) - self.光环自适应.setToolTip('{}'.format( - trans('5%黄字,5%暴伤,5%三攻取最高值'))) - self.光环自适应.stateChanged.connect(lambda state: self.下拉框禁用( - self.光环自适应, self.细节选项输入[1][13], 下拉框样式_detail)) - - self.禁用存档 = QCheckBox(trans('禁用自动存档'), self.main_frame1) - self.禁用存档.move(x, y + (高度 + 间隔) * 2) - self.禁用存档.resize(宽度, 高度) - self.禁用存档.setStyleSheet(复选框样式) - - self.神话排名选项 = QCheckBox(trans('神话排名模式'), self.main_frame1) - self.神话排名选项.move(x, y + (高度 + 间隔) * 3) - self.神话排名选项.resize(宽度, 高度) - self.神话排名选项.setToolTip('{}'.format( - trans('仅显示有神话的组合,且每件神话装备只会出现一次'))) - self.神话排名选项.setStyleSheet(复选框样式) - - self.显示选项 = QCheckBox(trans('亿为单位显示'), self.main_frame1) - self.显示选项.move(x, y + (高度 + 间隔) * 4) - self.显示选项.resize(宽度, 高度) - self.显示选项.setStyleSheet(复选框样式) - - x = 910 - y = 485 - 宽度 = 90 - 高度 = 20 - 间隔 = 4 - 重置按钮 = QPushButton(trans('全局重置'), self.main_frame1) - 重置按钮.clicked.connect(lambda state: self.全局重置()) - 重置按钮.move(x, y) - 重置按钮.resize(宽度, 高度) - 重置按钮.setStyleSheet(按钮样式) - - self.线程数选择 = MyQComboBox(self.main_frame1) - self.线程数选择.move(x, y + (高度 + 间隔) * 1) - self.线程数选择.resize(宽度, 高度) - for i in range(thread_num, 0, -1): - self.线程数选择.addItem(trans('{进程}:$value', value=i)) - if thread_num > 1: - self.线程数选择.setCurrentIndex(1) - - self.存档选择 = MyQComboBox(self.main_frame1) - self.存档选择.move(x, y + (高度 + 间隔) * 2) - self.存档选择.resize(宽度, 高度) - self.存档选择.currentIndexChanged.connect(lambda state: self.存档更换()) - - self.智慧产物限制 = MyQComboBox(self.main_frame1) - self.智慧产物限制.move(x, y + (高度 + 间隔) * 3) - self.智慧产物限制.resize(宽度, 高度) - for i in range(1, 12): - self.智慧产物限制.addItem(trans('改造≤$件').format(i)) - self.智慧产物限制.setCurrentIndex(2) - self.智慧产物限制.setToolTip('{}'.format( - trans('不计智慧产物武器以及轮回SS'))) - - self.攻击属性选项 = MyQComboBox(self.main_frame1) - self.攻击属性选项.move(x, y + (高度 + 间隔) * 4) - self.攻击属性选项.resize(宽度, 高度) - self.攻击属性选项.addItems(format_range('攻击属性:{}', - ['全', '火', '冰', '光', '暗'])) - - def 界面2(self): - # 第二个布局界面 - # increase_counter(ga_category="carry界面", name="技能/符文/药剂") - # 技能等级、TP、次数输入、宠物次数 - self.BUFF输入 = QLineEdit(self.main_frame2) - self.时间输入 = MyQComboBox(self.main_frame2) - - self.护石栏 = [] - for i in range(3): - self.护石栏.append(MyQComboBox(self.main_frame2)) - self.符文 = [] - self.符文效果 = [] - - self.觉醒选择状态 = 2 - - self.等级调整 = [] - self.TP输入 = [] - self.次数输入 = [] - self.宠物次数 = [] - self.奶量buff输入 = [] - - if 切装模式 == 1: - self.技能切装 = [] - - count = 0 - for i in self.角色属性A.技能栏: - i.等级 = i.基础等级 - self.等级调整.append(MyQComboBox(self.main_frame2)) - self.等级调整[count].currentIndexChanged.connect( - lambda state, index=count: self.等级调整标注(index)) - count += 1 - if i.是否有伤害 == 1 and i.TP上限 != 0: - self.TP输入.append(MyQComboBox(self.main_frame2)) - else: - self.TP输入.append('') - if i.是否有伤害 == 1: - self.次数输入.append(MyQComboBox(self.main_frame2)) - self.宠物次数.append(MyQComboBox(self.main_frame2)) - if 切装模式 == 1: - temp = QCheckBox(self.main_frame2) - temp.setStyleSheet(复选框样式) - # temp.setStyleSheet("QCheckBox:{background-color:transparent}") - self.技能切装.append(temp) - else: - self.次数输入.append('') - self.宠物次数.append('') - if 切装模式 == 1: - self.技能切装.append('') - - for i in self.角色属性A.技能栏: - 序号 = self.角色属性A.技能序号[i.名称] - if i.所在等级 == 50 or i.所在等级 == 85: - for j in range(i.等级上限 - i.基础等级 + 1): - self.等级调整[序号].addItem(str(j)) - else: - for j in range(-i.基础等级, i.等级上限 - i.基础等级 + 1): - self.等级调整[序号].addItem(str(j)) - - if i.是否有伤害 == 1 and i.TP上限 != 0: - for j in range(i.TP上限 + 1): - self.TP输入[序号].addItem(str(j)) - - if i.是否有伤害 == 1: - self.次数输入[序号].setMaxVisibleItems(15) - self.次数输入[序号].addItem('/CD') - self.宠物次数[序号].setMaxVisibleItems(15) - for j in range(11): - self.次数输入[序号].addItem(str(j)) - self.宠物次数[序号].addItem(str(j)) - self.次数输入[序号].addItem('填写') - self.次数输入[序号].activated.connect( - lambda state, index=序号: self.次数输入填写(index)) - self.宠物次数[序号].addItem('填写') - self.宠物次数[序号].activated.connect( - lambda state, index=序号: self.宠物次数填写(index)) - - # 三觉强化选择 - self.一觉遮罩透明度 = QGraphicsOpacityEffect() - self.一觉遮罩透明度.setOpacity(0.5) - self.二觉遮罩透明度 = QGraphicsOpacityEffect() - self.二觉遮罩透明度.setOpacity(0.0) - - 横坐标 = 10 - 纵坐标 = 0 - 横坐标偏移量 = 60 - 纵坐标偏移量 = 30 - 词条框宽度 = 48 - 行高 = 20 - - counter = 0 - for i in trans(["契约满级", "等级调整", "TP等级", "释放次数", "宠物次数"]): - x = QLabel(i, self.main_frame2) - x.move(横坐标 + 横坐标偏移量 - 30 + 50 * counter, 纵坐标 + 5) - x.setStyleSheet(标签样式) - counter += 1 - - 纵坐标 += 20 - - skill_sort = self.技能列表显示排序(self.角色属性A.技能栏) - - for i in skill_sort: - if i.是否有伤害 == 1: - x = QLabel(self.main_frame2) - x.setPixmap(self.技能图片[self.角色属性A.技能序号[i.名称]]) - x.resize(28, 28) - tempstr = trans( - '{$name}
', - name=i.名称) - if i.备注 is not None and i.备注 != '': - tempstr += trans('{$value}

', value=i.备注) - else: - tempstr += '
' - tempstr += trans('{所在等级}:$level
', level=i.所在等级) - tempstr += trans('{等级上限}:$limit', limit=i.等级上限) - if i.是否主动 == 1: - tempstr += trans('
{百分比}:$value%', - value=int(i.等效百分比(self.角色属性A.武器类型))) - if i.TP上限 != 0: - tempstr += trans('
{TP成长}:$value', - value=to_percent(i.TP成长)) - tempstr += trans('
{TP上限}:$value', value=i.TP上限) - tempstr += '
' - x.setToolTip(tempstr) - x.move(横坐标, 纵坐标 + 7) - 横坐标 += 40 - x = QLabel('Lv' + str(i.基础等级), self.main_frame2) - x.resize(40, 28) - x.move(横坐标, 纵坐标 + 7) - x.setStyleSheet(标签样式) - 横坐标 += 40 - self.等级调整[self.角色属性A.技能序号[i.名称]].resize(词条框宽度, 行高) - self.等级调整[self.角色属性A.技能序号[i.名称]].move(横坐标, 纵坐标 + 10) - 横坐标 -= 80 - 纵坐标 += 纵坐标偏移量 - - 横坐标 = 横坐标 + 80 + 50 - 纵坐标 = 30 - - for i in skill_sort: - if i.是否有伤害 == 1: - if i.TP上限 != 0: - self.TP输入[self.角色属性A.技能序号[i.名称]].resize(词条框宽度, 行高) - self.TP输入[self.角色属性A.技能序号[i.名称]].move(横坐标, 纵坐标) - 纵坐标 += 纵坐标偏移量 - - 横坐标 = 横坐标 + 50 - 纵坐标 = 30 - - for i in skill_sort: - if i.是否有伤害 == 1: - self.次数输入[self.角色属性A.技能序号[i.名称]].resize(词条框宽度, 行高) - self.次数输入[self.角色属性A.技能序号[i.名称]].move(横坐标, 纵坐标) - self.宠物次数[self.角色属性A.技能序号[i.名称]].resize(词条框宽度, 行高) - self.宠物次数[self.角色属性A.技能序号[i.名称]].move(横坐标 + 50, 纵坐标) - if 切装模式 == 1: - self.技能切装[self.角色属性A.技能序号[i.名称]].move( - 横坐标 + 55 + 词条框宽度, 纵坐标 + 5) - 纵坐标 += 纵坐标偏移量 - - 横坐标 = 横坐标 + 130 - 纵坐标 = 20 - - for i in skill_sort: - if i.是否有伤害 == 0: - x = QLabel(self.main_frame2) - x.setPixmap(self.技能图片[self.角色属性A.技能序号[i.名称]]) - x.resize(28, 28) - tempstr = trans( - '{$name}
', - name=i.名称) - if i.备注 is not None and i.备注 != '': - tempstr += trans('{$value}

', value=i.备注) - else: - tempstr += '
' - tempstr += trans('{所在等级}:$level
', level=i.所在等级) - tempstr += trans('{等级上限}:$limit', limit=i.等级上限) - tempstr += '
' - x.setToolTip(tempstr) - x.move(横坐标, 纵坐标 + 7) - 横坐标 += 40 - x = QLabel('Lv' + str(i.基础等级), self.main_frame2) - x.resize(40, 28) - x.move(横坐标, 纵坐标 + 7) - x.setStyleSheet(标签样式) - 横坐标 += 40 - self.等级调整[self.角色属性A.技能序号[i.名称]].resize(词条框宽度, 行高) - self.等级调整[self.角色属性A.技能序号[i.名称]].move(横坐标, 纵坐标 + 10) - 横坐标 -= 80 - 纵坐标 += 纵坐标偏移量 - - x = 横坐标 + 20 - y = 纵坐标 + 60 - self.觉醒选择 = QLabel(self.main_frame2) - self.觉醒选择.setPixmap(QPixmap('./ResourceFiles/img/觉醒选择.png')) - self.觉醒选择.resize(120, 100) - self.觉醒选择.move(x, y - 20) - - self.BUFF = QLabel(self.main_frame2) - self.BUFF.setPixmap( - QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/技能/BUFF.png")) - self.BUFF.resize(28, 28) - self.BUFF.move(x - 2, y - 40) - self.BUFF.setToolTip( - trans('{最高值参考}:$value', - value=to_percent(self.角色属性A.主BUFF - 1))) - - self.BUFF输入.setText(str('%.1f' % ((self.角色属性A.主BUFF - 1) * 100))) - self.BUFF输入.resize(50, 25) - self.BUFF输入.move(x + 38, y - 38) - self.BUFF输入.setStyleSheet(输入框样式) - self.BUFF输入.setAlignment(Qt.AlignCenter) - - self.一觉图片 = QLabel(self.main_frame2) - self.一觉图片.setPixmap(self.技能图片[self.一觉序号]) - self.一觉图片.resize(28, 28) - self.一觉图片.move(x + 7, y + 8) - self.二觉图片 = QLabel(self.main_frame2) - self.二觉图片.setPixmap(self.技能图片[self.二觉序号]) - self.二觉图片.resize(28, 28) - self.二觉图片.move(x + 52, y + 8) - self.一觉遮罩 = QPushButton(self.main_frame2) - self.一觉遮罩.resize(38, 50) - self.一觉遮罩.move(x + 2, y + 5) - self.一觉遮罩.setStyleSheet( - "QPushButton{background-color:rgb(0,0,0);border:1px;border-radius:3px;}" - ) - self.一觉遮罩.setGraphicsEffect(self.一觉遮罩透明度) - self.一觉遮罩.clicked.connect(lambda state, index=1: self.强化觉醒选择(index)) - self.二觉遮罩 = QPushButton(self.main_frame2) - self.二觉遮罩.resize(38, 50) - self.二觉遮罩.move(x + 47, y + 5) - self.二觉遮罩.setStyleSheet( - "QPushButton{background-color:rgb(0,0,0);border:1px;border-radius:3px;}" - ) - self.二觉遮罩.setGraphicsEffect(self.二觉遮罩透明度) - self.二觉遮罩.clicked.connect(lambda state, index=2: self.强化觉醒选择(index)) - - for i in range(3): - self.护石栏[i].addItems(self.护石选项) - self.护石类型选项 = [] - - for i in range(9): - self.符文.append(MyQComboBox(self.main_frame2)) - self.符文[i].addItems(self.符文选项) - self.符文效果.append(MyQComboBox(self.main_frame2)) - self.符文效果[i].addItems(符文效果选项) - - 横坐标 = 480 - 纵坐标 = 20 - 行高 = 18 - x = QLabel(trans("{护石}Ⅰ"), self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - y = MyQComboBox(self.main_frame2) - y.move(横坐标 + 65, 纵坐标) - y.resize(65, 行高) - self.护石类型选项.append(y) - 纵坐标 += 21 - self.护石栏[0].move(横坐标, 纵坐标) - self.护石栏[0].resize(130, 行高) - self.护石栏[0].currentIndexChanged.connect( - lambda state, index=0: self.护石类型选项更新(index)) - 纵坐标 += 25 - for i in range(3): - tempstr = trans("{符文}$value{选择}:", value=i + 1) - x = QLabel(tempstr, self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.符文[i].move(横坐标, 纵坐标) - self.符文[i].resize(130, 行高) - self.符文[i].activated.connect( - lambda state, index=i: self.符文技能更改(index)) - 纵坐标 += 21 - self.符文效果[i].move(横坐标, 纵坐标) - self.符文效果[i].resize(130, 行高) - self.符文效果[i].activated.connect( - lambda state, index=i: self.符文效果更改(index)) - 纵坐标 += 25 - - 横坐标 = 650 - 纵坐标 = 20 - x = QLabel(trans("{护石}Ⅱ"), self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - y = MyQComboBox(self.main_frame2) - y.move(横坐标 + 65, 纵坐标) - y.resize(65, 行高) - self.护石类型选项.append(y) - 纵坐标 += 21 - self.护石栏[1].move(横坐标, 纵坐标) - self.护石栏[1].resize(130, 行高) - self.护石栏[1].currentIndexChanged.connect( - lambda state, index=1: self.护石类型选项更新(index)) - 纵坐标 += 25 - for i in range(3, 6): - tempstr = trans("{符文}$value{选择}:", value=i + 1) - x = QLabel(tempstr, self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.符文[i].move(横坐标, 纵坐标) - self.符文[i].resize(130, 行高) - 纵坐标 += 21 - self.符文效果[i].move(横坐标, 纵坐标) - self.符文效果[i].resize(130, 行高) - 纵坐标 += 25 - - 横坐标 = 820 - 纵坐标 = 20 - x = QLabel(trans("{护石}Ⅲ"), self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - y = MyQComboBox(self.main_frame2) - y.move(横坐标 + 65, 纵坐标) - y.resize(65, 行高) - self.护石类型选项.append(y) - 纵坐标 += 21 - self.护石栏[2].move(横坐标, 纵坐标) - self.护石栏[2].resize(130, 行高) - self.护石栏[2].currentIndexChanged.connect( - lambda state, index=2: self.护石类型选项更新(index)) - 纵坐标 += 25 - for i in range(6, 9): - tempstr = trans("{符文}$value{选择}:", value=i + 1) - x = QLabel(tempstr, self.main_frame2) - x.move(横坐标, 纵坐标) - x.setStyleSheet(标签样式) - 纵坐标 += 21 - self.符文[i].move(横坐标, 纵坐标) - self.符文[i].resize(130, 行高) - 纵坐标 += 21 - self.符文效果[i].move(横坐标, 纵坐标) - self.符文效果[i].resize(130, 行高) - 纵坐标 += 25 - - for i in range(3): - self.护石类型选项[i].addItem('魔界') - self.护石类型选项[i].addItem('圣痕') - self.护石类型选项[i].currentIndexChanged.connect( - lambda state, index=i: self.护石描述更新(index)) - - self.复选框列表 = [] - self.复选框列表list = [] - - for i in 选项设置列表: - if (觉醒开关 == 0 or "·" not in self.初始属性.实际名称) and i.名称 == '屏蔽三觉': - continue - self.复选框列表.append(QCheckBox(trans(i.名称), self.main_frame2)) - self.复选框列表list.append(i.名称) - - 奶量buff力智label = QLabel(trans("奶量buff力智"), self.main_frame2) - 奶量buff力智label.setStyleSheet(标签样式) - 奶量buff力智label.setAlignment(Qt.AlignCenter) - - 偏移 = (35 if self.初始属性.远古记忆 != -1 else 0) + (35 if self.初始属性.刀魂之卡赞 != -1 - else 0) + 35 - 奶量buff力智label.move(970, 24 + counter * 80 + 10 + 偏移) - 奶量buff力智输入框 = QLineEdit(self.main_frame2) - 奶量buff力智输入框.setStyleSheet(文本框样式黄) - 奶量buff力智输入框.move(1050, 21 + counter * 80 + 10 + 偏移) - 奶量buff力智输入框.resize(50, 20) - self.奶量buff输入.append(奶量buff力智输入框) - - 奶量buff三攻label = QLabel(trans("奶量buff三攻"), self.main_frame2) - 奶量buff三攻label.setStyleSheet(标签样式) - 奶量buff三攻label.setAlignment(Qt.AlignCenter) - 奶量buff三攻label.move(970, 24 + counter * 80 + 40 + 偏移) - 奶量buff三攻输入框 = QLineEdit(self.main_frame2) - 奶量buff三攻输入框.setStyleSheet(文本框样式黄) - 奶量buff三攻输入框.move(1050, 15 + counter * 80 + 45 + 偏移) - 奶量buff三攻输入框.resize(50, 20) - self.奶量buff输入.append(奶量buff三攻输入框) - - counter = 0 - - for i in self.复选框列表: - i.setStyleSheet(复选框样式) - i.resize(125, 20) - i.move(980, 10 + counter * 24) - if counter < 7 and 调试开关 == 0: - i.setChecked(True) - counter += 1 - - sign = 0 - if self.初始属性.远古记忆 != -1: - i = QLabel(self.main_frame2) - i.setPixmap(QPixmap('./ResourceFiles/img/远古记忆.png')) - i.resize(28, 28) - i.move(1000, 15 + counter * 24) - self.远古记忆 = MyQComboBox(self.main_frame2) - self.远古记忆.currentIndexChanged.connect( - lambda state, index=100: self.等级调整标注(index)) - for i in range(12): - self.远古记忆.addItem(str(i)) - self.远古记忆.resize(50, 20) - self.远古记忆.move(1035, 19 + counter * 24) - sign = 30 - - if self.初始属性.刀魂之卡赞 != -1: - i = QLabel(self.main_frame2) - i.setPixmap(QPixmap('./ResourceFiles/img/刀魂之卡赞.png')) - i.resize(28, 28) - i.move(1000, 15 + sign + counter * 24) - self.刀魂之卡赞 = MyQComboBox(self.main_frame2) - self.刀魂之卡赞.currentIndexChanged.connect( - lambda state, index=200: self.等级调整标注(index)) - for i in range(12): - self.刀魂之卡赞.addItem(str(i)) - self.刀魂之卡赞.resize(50, 20) - self.刀魂之卡赞.move(1035, 19 + sign + counter * 24) - - x = QLabel(trans("{攻击目标}:"), self.main_frame2) - x.move(660, self.height() - 62) - x.resize(70, 20) - x.setStyleSheet(标签样式) - self.攻击目标 = MyQComboBox(self.main_frame2) - for i in 攻击目标: - self.攻击目标.addItem(i[0]) - self.攻击目标.move(730, self.height() - 63) - self.攻击目标.resize(110, 20) - x = QLabel(trans("{时间输入}:"), self.main_frame2) - x.move(850, self.height() - 62) - x.resize(70, 20) - x.setStyleSheet(标签样式) - self.时间输入.addItems( - ['1', '10', '15', '20', '25', '30', '45', '50', '60']) - self.时间输入.setEditable(True) - self.时间输入.move(920, self.height() - 63) - self.时间输入.resize(50, 20) - - self.技能存档选择 = MyQComboBox(self.main_frame2) - self.技能存档选择.move(990, self.height() - 105) - self.技能存档选择.resize(110, 20) - self.技能存档选择.currentIndexChanged.connect(lambda state: self.技能存档更换()) - - self.计算按钮2 = QPushButton(trans('开始计算'), self.main_frame2) - self.计算按钮2.clicked.connect(lambda state: self.计算()) - self.计算按钮2.move(990, self.height() - 70) - self.计算按钮2.resize(110, 30) - self.计算按钮2.setStyleSheet(按钮样式) - - def 界面3(self): - # increase_counter(ga_category="carry界面", name="基础/细节/修正") - # 第三个布局界面 - self.属性设置输入 = [] - self.细节选项输入 = [] - - self.列名称 = [] - self.行名称 = [] - - 名称 = QLabel(trans(表头名称1), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(10, 文本框间隔) - - m = -1 - for i in 列名称1: - m += 1 - 名称 = QLabel(trans(i), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - if i == "选项": - 名称.resize(文本框宽度 * 2 + 5, 25) - else: - 名称.resize(文本框宽度, 25) - 名称.move(95 + m * (文本框宽度 + 5), 文本框间隔) - self.列名称.append(i) - - n = -1 - for j in 行名称1.keys(): - n += 1 - 名称 = QLabel(trans(j), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - if 行名称1[j] == 1: - 名称.setStyleSheet(标签样式_2) - else: - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(10, 文本框间隔 + 30 + n * 30) - self.行名称.append(j) - - m = -1 - for i in 列名称1: - m += 1 - templist = [] - n = -1 - for j in 行名称1.keys(): - n += 1 - if i == "选项": - templist.append(MyQComboBox(self.main_frame3)) - templist[n].resize(文本框宽度 * 2 + 5, 22) - templist[n].setStyleSheet(下拉框样式_detail) - if 行1选项[j][0] != -1: - templist[n].addItem('无') - for s_id in 行1选项[j]: - templist[n].addItem(细节选项列表[s_id].描述) - else: - templist[n].setDisabled(True) - else: - templist.append(QLineEdit(self.main_frame3)) - if 行名称1[j] == 1: - templist[n].setStyleSheet(文本框样式黄) - else: - templist[n].setStyleSheet(文本框样式白) - templist[n].resize(文本框宽度, 22) - templist[n].setAlignment(Qt.AlignCenter) - templist[n].move(95 + m * (文本框宽度 + 5), 文本框间隔 + 30 + n * 30 + 2) - if i == "选项": - self.细节选项输入.append(templist) - else: - self.属性设置输入.append(templist) - - 名称 = QLabel(trans(表头名称2), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(160 + (len(列名称1) + 1) * 文本框宽度, 文本框间隔) - - m = -1 - for i in 列名称2: - m += 1 - 名称 = QLabel(trans(i), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - if i == "技能": - 名称.resize(155, 25) - elif i == "选项": - 名称.resize(文本框宽度 * 2 + 5, 25) - else: - 名称.resize(文本框宽度, 25) - 名称.move(245 + (len(列名称1) + 1) * 文本框宽度 + m * (文本框宽度 + 5), 文本框间隔) - self.列名称.append(trans(i)) - if i == "选项": - m += 1 - - n = -1 - for j in 行名称2.keys(): - n += 1 - 名称 = QLabel(trans(j), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - if 行名称2[j] == 1: - 名称.setStyleSheet(标签样式_2) - else: - 名称.setStyleSheet(标签样式) - 名称.resize(80, 25) - 名称.move(160 + (len(列名称1) + 1) * 文本框宽度, 文本框间隔 + 30 + n * 30) - self.行名称.append(trans(j)) - count = len(self.细节选项输入) - m = -1 - for i in 列名称2: - m += 1 - templist = [] - n = -1 - for j in 行名称2.keys(): - n += 1 - if i == "选项": - templist.append(MyQComboBox(self.main_frame3)) - templist[n].resize(文本框宽度 * 2 + 5, 22) - templist[n].setStyleSheet(下拉框样式_detail) - if 行2选项[j][0] != -1: - templist[n].addItem('无') - templist[n].setPlaceholderText("增伤词条选择") - templist[n].currentIndexChanged.connect( - lambda state, index=templist[n]: self.细节增伤选项颜色更新( - index)) - for s_id in 行2选项[j]: - templist[n].addItem(细节选项列表[s_id].描述) - else: - templist[n].setDisabled(True) - elif i == "技能": - templist.append(MyQComboBox(self.main_frame3)) - templist[n].resize(155, 22) - templist[n].setStyleSheet(下拉框样式_detail) - cur = 行2技能[j][0] - if cur == -1: - templist[n].setDisabled(True) - pass - elif cur in [100, 999]: - templist[n].addItem('无') - if cur == 999: - skills = [ - i.名称 for i in self.角色属性A.技能栏 if i.所在等级 <= 85 - ] - else: - skills = [ - i.名称 for i in self.角色属性A.技能栏 - if i.所在等级 <= 70 and i.所在等级 not in [48, 50] - ] - if self.角色属性A.实际名称 == '极诣·黑暗武士': - skills.append('幽魂剑') - if self.角色属性A.实际名称 == '知源·缔造者': - skills.append('末日虫洞') - - for skill_name in skills: - templist[n].addItem( - trans('{$name}Lv+1', name=skill_name), - skill_name + "Lv+1") - else: - templist[n].addItem('无') - for s_id in 行2技能[j]: - templist[n].addItem(细节选项列表[s_id].描述) - else: - templist.append(QLineEdit(self.main_frame3)) - if 行名称2[j] == 1: - templist[n].setStyleSheet(文本框样式黄) - else: - templist[n].setStyleSheet(文本框样式白) - templist[n].resize(文本框宽度, 22) - templist[n].setAlignment(Qt.AlignCenter) - templist[n].move( - 245 + (len(列名称1) + 1) * 文本框宽度 + m * (文本框宽度 + 5), - 文本框间隔 + 30 + n * 30 + 2) - if i in ["选项", "技能"]: - self.细节选项输入.append(templist) - m += 1 - else: - self.属性设置输入.append(templist) - - self.修正列表名称 = [ - trans('力智') + '%', - trans('三攻') + '%', - trans('黄字'), - trans('白字'), - trans('属白'), - trans('暴伤'), - trans('终伤'), - trans('技攻') - ] - - 距离 = 30 - templist = [] - - for i in range(len(self.修正列表名称)): - 名称 = QLabel(self.修正列表名称[i], self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(50, 25) - 名称.move(距离 + i * 55, 570) - templist.append(QLineEdit(self.main_frame3)) - templist[i].setAlignment(Qt.AlignCenter) - templist[i].setStyleSheet(文本框样式白) - templist[i].resize(50, 22) - templist[i].move(距离 + i * 55, 610) - self.属性设置输入.append(templist) - - count = 0 - self.时装选项 = [] - for i in ['头部', '帽子', '脸部', '胸部', '上衣', '腰带', '下装', '鞋']: - 名称 = QLabel(trans(i), self.main_frame3) - 名称.setAlignment(Qt.AlignCenter) - 名称.setStyleSheet(标签样式) - 名称.resize(50, 25) - 名称.move(520 + count * 55, 570) - self.时装选项.append(MyQComboBox(self.main_frame3)) - self.时装选项[count].setStyleSheet(下拉框样式_detail) - self.时装选项[count].addItems(['高级', '节日', '稀有', '神器']) - self.时装选项[count].resize(50, 22) - self.时装选项[count].move(520 + count * 55, 610) - self.时装选项[count].currentIndexChanged.connect( - lambda state, index=count: self.时装选项更新(index)) - count += 1 - - self.时装选项.append(MyQComboBox(self.main_frame3)) - self.时装选项[8].setStyleSheet(下拉框样式_detail) - self.时装选项[8].addItems([ - trans('高级套装') + '[8]', - trans('节日套装') + '[8]', - trans('稀有套装') + '[8]', - trans('神器套装') + '[8]' - ]) - self.时装选项[8].resize(100, 22) - self.时装选项[8].move(990, 570) - self.时装选项[8].currentIndexChanged.connect( - lambda state, index=8: self.时装选项更新(index)) - - self.计算按钮3 = QPushButton(trans('开始计算'), self.main_frame3) - self.计算按钮3.clicked.connect(lambda state: self.计算()) - self.计算按钮3.move(990, 610) - self.计算按钮3.resize(110, 30) - self.计算按钮3.setStyleSheet(按钮样式) - - def 界面5(self): - # increase_counter(ga_category="carry界面", name="自选装备计算") - # 第五个布局 - 标签 = QLabel(trans('单件选择'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(240, 25) - 标签.move(70, 20) - - 标签 = QLabel(trans('锁定'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(70, 25) - 标签.move(10, 20) - - self.图片显示 = [] - - count = 0 - self.自选装备 = [] - self.自选装备结果 = [] - if 切装模式 == 1: - self.装备切装 = [] - self.切装修正属性 = [] - self.装备锁定 = [] - for i in 部位列表: - 锁定选择 = QCheckBox(trans(i), self.main_frame5) - 锁定选择.setStyleSheet(复选框样式) - 锁定选择.resize(70, 22) - 锁定选择.move(10, 50 + 30 * count) - self.装备锁定.append(锁定选择) - - combo = MyQComboBox(self.main_frame5) - - combo.resize(220, 22) - combo.move(90, 50 + 30 * count) - combo.currentIndexChanged.connect( - lambda state, index=count: self.自选装备更改(index)) - if 切装模式 == 1: - temp = QCheckBox(self.main_frame5) - temp.setStyleSheet(复选框样式) - self.装备切装.append(temp) - self.装备切装[count].move(320, 55 + 30 * count) - for j in equ.get_equ_list(): - if j.部位 == i: - if i == '武器': - if j.类型 in self.角色属性A.武器选项: - combo.addItem(j.名称) - else: - combo.addItem(j.名称) - self.自选装备.append(combo) - count += 1 - - if 切装模式 == 1: - num = 0 - for i in trans(['力量', '智力', '物攻', '魔攻', '独立', '属强']): - 标签 = QLabel(i, self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(45, 25) - 标签.move(30 + 50 * num, 60 + 30 * count) - self.切装修正属性.append(QLineEdit(self.main_frame5)) - self.切装修正属性[num].setAlignment(Qt.AlignCenter) - self.切装修正属性[num].setStyleSheet(输入框样式) - self.切装修正属性[num].resize(45, 22) - self.切装修正属性[num].move(30 + 50 * num, 85 + 30 * count) - num += 1 - - self.计算标识 = 1 - - 横坐标 = 355 - 标签 = QLabel(trans('批量选择'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(160, 25) - 标签.move(横坐标, 20) - - 套装类型 = ['防具', '首饰', '特殊', '上链左', '镯下右', '环鞋指'] - count = 0 - self.自选套装 = [] - for i in 套装类型: - 套装名称 = [] - combo = MyQComboBox(self.main_frame5) - for j in equ.get_suit_list(): - if j.名称 not in 套装名称 and j.类型 == i: - 套装名称.append(j.名称) - combo.addItem(j.名称) - combo.resize(160, 22) - combo.move(横坐标, 50 + 30 * count) - combo.activated.connect( - lambda state, index=count: self.自选套装更改(index)) - self.自选套装.append(combo) - count += 1 - - self.神话部位选项 = MyQComboBox(self.main_frame5) - self.神话部位选项.addItems(['神话部位:无', '神话部位:上衣', '神话部位:手镯', '神话部位:耳环']) - self.神话部位选项.resize(160, 22) - self.神话部位选项.move(横坐标, 50 + 30 * count) - self.神话部位选项.activated.connect(lambda state: self.神话部位更改()) - - count += 1 - self.改造套装 = MyQComboBox(self.main_frame5) - for n in equ.get_equ_list(): - try: - self.改造套装.addItem(n.关联套装) - except: - pass - self.改造套装.resize(160, 22) - self.改造套装.move(横坐标, 50 + 30 * count) - self.改造套装.activated.connect(lambda state: self.改造套装更改()) - - count += 1 - self.转甲选项 = QCheckBox(trans('85SS转甲'), self.main_frame5) - self.转甲选项.resize(80, 22) - self.转甲选项.move(横坐标 + 40, 50 + 30 * count) - self.转甲选项.setChecked(True) - self.转甲选项.setStyleSheet(复选框样式) - self.转甲选项.stateChanged.connect(lambda state: self.自选计算(1)) - - count += 1 - # 一键修正按钮添加 - 一键站街修正名称 = trans(['站街力智', '站街三攻', '站街属强']) - for i in range(len(一键站街修正名称)): - 名称 = QLabel(一键站街修正名称[i], self.main_frame5) - 名称.setAlignment(Qt.AlignCenter) - 名称.move(横坐标 - 5 + i * 57, 50 + 30 * count) - 名称.resize(52, 25) - 名称.setStyleSheet(标签样式) - self.一键站街设置输入.append(QLineEdit(self.main_frame5)) - self.一键站街设置输入[i + 3].setAlignment(Qt.AlignCenter) - self.一键站街设置输入[i + 3].setStyleSheet(输入框样式) - self.一键站街设置输入[i + 3].resize(52, 22) - self.一键站街设置输入[i + 3].move(横坐标 - 5 + i * 57, 80 + 30 * count) - - count += 2 - 一键修正按钮 = QPushButton(trans('一键修正面板细节'), self.main_frame5) - 一键修正按钮.clicked.connect(lambda state: self.一键修正(1)) - 一键修正按钮.move(横坐标 - 5, 50 + 30 * count) - 一键修正按钮.resize(165, 25) - 一键修正按钮.setStyleSheet(按钮样式) - - 标签 = QLabel(trans('辟邪玉提升率(理论值仅供参考)'), self.main_frame5) - 标签.setAlignment(Qt.AlignCenter) - 标签.setStyleSheet(标签样式) - 标签.resize(200, 25) - 标签.move(525, 20) - - self.辟邪玉提升率1 = [] - self.辟邪玉提升率2 = [] - count = 0 - for i in 辟邪玉列表: - if i.名称 != '无': - if i.最大值 != 1: - temp = trans(i.名称) + '+' + str(i.最大值) + '%' - else: - temp = trans(i.名称) + '+' + str(i.最大值) - self.辟邪玉提升率1.append(QLabel(temp, self.main_frame5)) - self.辟邪玉提升率1[count].setAlignment(Qt.AlignCenter) - self.辟邪玉提升率1[count].setStyleSheet(标签样式) - self.辟邪玉提升率1[count].resize(180, 25) - self.辟邪玉提升率1[count].move(520, 50 + 30 * count) - self.辟邪玉提升率2.append(QLabel('0.00%', self.main_frame5)) - self.辟邪玉提升率2[count].setAlignment(Qt.AlignCenter) - self.辟邪玉提升率2[count].setStyleSheet(标签样式) - self.辟邪玉提升率2[count].resize(60, 25) - self.辟邪玉提升率2[count].move(710, 50 + 30 * count) - count += 1 - - 初始x = 805 - 初始y = 20 - 图片显示 = QLabel(self.main_frame5) - 图片显示.setPixmap(self.输出背景图片) - 图片显示.setAlignment(Qt.AlignTop) - 图片显示.resize(268, 546) - 图片显示.move(初始x, 初始y + 11) - 人物 = QLabel(self.main_frame5) - 图片 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/人物.png") - 人物.setPixmap(图片) - 人物.move(初始x + 90 + int(45 - 图片.width() / 2), 初始y + 40) - 人物.resize(90, 90) - 人物.setAlignment(Qt.AlignTop) - - 偏移量 = 187 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - - for i in range(12): - self.图片显示.append(QLabel(self.main_frame5)) - self.图片显示[i].setMovie( - equ.get_img_by_name(self.自选装备[i].currentData())) - self.图片显示[i].resize(26, 26) - self.图片显示[i].move(初始x + 10 + x坐标[i], 初始y + 31 + y坐标[i]) - self.图片显示[i].setAlignment(Qt.AlignCenter) - - self.面板显示 = [] - for i in range(18): - self.面板显示.append(QLabel(self.main_frame5)) - - self.面板布局设置(self.面板显示, 1) - - self.词条显示 = [] - for i in range(12): - self.词条显示.append(QLabel(self.main_frame5)) - - j = 312 + 初始y - for i in self.词条显示: - i.setStyleSheet("QLabel{font-size:12px;color:rgb(104,213,237)}") - i.move(5 + 初始x, j) - i.resize(180, 17) - i.setAlignment(Qt.AlignLeft) - j += 17 - - self.总伤害 = QLabel(self.main_frame5) - self.总伤害.setStyleSheet("QLabel{color:rgb(255,255,255);font-size:25px}") - self.总伤害.resize(250, 36) - self.总伤害.move(10 + 初始x, 520 + 初始y) - self.总伤害.setAlignment(Qt.AlignCenter) - - self.套装名称显示 = [] - for i in range(13): - self.套装名称显示.append(QLabel(self.main_frame5)) - self.套装名称显示[i].move(114 + 初始x, 128 + 180 + 17 * i + 初始y) - self.套装名称显示[i].resize(150, 18) - self.套装名称显示[i].setAlignment(Qt.AlignCenter) - - self.打造显示 = [] - for i in range(13): - self.打造显示.append(QLabel(self.main_frame5)) - self.打造显示[i].move(-100, -100) - - 自选计算按钮 = QPushButton(trans('查看详情'), self.main_frame5) - 自选计算按钮.clicked.connect(lambda state: self.自选计算()) - 自选计算按钮.move(995, 610) - 自选计算按钮.resize(80, 28) - 自选计算按钮.setStyleSheet(按钮样式) - - self.基准值 = [] - - 设置基准值 = QPushButton(trans('设为基准'), self.main_frame5) - 设置基准值.clicked.connect(lambda state: self.基准值设置()) - 设置基准值.move(900, 610) - 设置基准值.resize(80, 28) - 设置基准值.setStyleSheet(按钮样式) - - 清空基准值 = QPushButton(trans('清空基准'), self.main_frame5) - 清空基准值.clicked.connect(lambda state: self.基准值设置(1)) - 清空基准值.move(805, 610) - 清空基准值.resize(80, 28) - 清空基准值.setStyleSheet(按钮样式) - - self.对比格式 = QCheckBox(trans('数值对比'), self.main_frame5) - self.对比格式.stateChanged.connect(lambda state: self.自选计算(1)) - self.对比格式.move(615, 612) - self.对比格式.resize(70, 24) - self.对比格式.setStyleSheet(复选框样式) - if 多语言开关 == 0: - 名望设置 = QPushButton(trans('名望细节'), self.main_frame5) - 名望设置.clicked.connect(lambda _: self.名望设置()) - 名望设置.move(710, 610) - 名望设置.resize(80, 28) - 名望设置.setStyleSheet(按钮样式) - - def 名望设置(self): - increase_counter(ga_category="carry详细功能使用", name="名望") - - def createClient(): - store.set("/fame/temp/property", self) - # 设置图标和背景 临时做法 - store.const("/app/window/icon", self.icon) - store.const("/app/window/background_image", self.主背景图片) - store.watch("/fame/event/changed", lambda _, : self.自选计算(1)) - client = 名望窗口() - client.初始化() - return client - - DefaultDialogRegister.showDialog("base_fame({})".format(type(self)), - createClient, self) - - def 自选装备更改(self, index=0): - try: - self.图片显示[index].setMovie( - equ.get_img_by_name(self.自选装备[index].currentData())) - except: - pass - - if self.初始属性.职业分类 == '输出': - if self.当前页面 == 5 and self.计算标识 == 1: - self.自选计算(1) - else: - if self.当前页面 == 4 and self.计算标识 == 1: - self.自选计算(1) - - def 自选套装更改(self, index): - self.计算标识 = 0 - name = self.自选套装[index].currentData() - for i in range(11): - if self.装备锁定[i].isChecked(): - continue - x = -1 - for j in equ.get_equ_list(): - if j.部位 == 部位列表[i]: - x += 1 - if j.所属套装2 == name: - self.自选装备[i].setCurrentIndex(x) - break - elif j.所属套装 == name and j.品质 != '神话': - self.自选装备[i].setCurrentIndex(x) - break - self.计算标识 = 1 - self.自选计算(1) - - def 界面6(self): - # increase_counter(ga_category="carry界面", name="辟邪玉/希洛克/黑鸦/奥兹玛") - 横坐标 = 10 - 纵坐标 = 0 - - 标签 = QLabel(trans('辟邪玉计算 (鼠标悬停查看算法)'), self.main_frame6) - 标签.setStyleSheet(标签样式 + 'QLabel{font-size:13px;}') - 标签.resize(290, 20) - 标签.move(横坐标 + 10, 纵坐标) - 标签.setAlignment(Qt.AlignCenter) - - temp = '{}

'.format( - trans('假定基础伤害为100,词条1=50%,词条2=50%:')) - temp += trans('5%黄字增幅,佩戴前:200,佩戴后:205
') - temp += trans('暴伤终伤白字属白力智三攻同上,黄字向下取整
') - temp += trans('技攻辟邪玉加成等级技攻(歧路腰类)
不加成具体技能技攻(歧路鞋类)

') - temp += trans( - '3%技攻增幅,佩戴前:100*1.5*1.5=225
佩戴后:100*1.515*1.515=229.5225

' - ) - # temp += '附加、最终、百分力智增幅:宠物相关词条不享受加成
' - temp += trans('属强增幅:唤醒(13)婚房(8)药剂和技能属强不享受加成
') - temp += trans('进图触发属强单独计算向下取整

') - temp += '{}
'.format( - trans( - '属白增幅分对应属性,计算器未作区分
双属性附加(星之海)需手动计算并在第三页修正

计算方式仅供参考,请以实际游戏为准!' - )) - - 标签.setToolTip(temp) - - self.辟邪玉选择 = [] - self.辟邪玉数值 = [] - for i in range(4): - x = MyQComboBox(self.main_frame6) - for j in 辟邪玉列表: - x.addItem(j.名称) - x.resize(200, 20) - x.move(横坐标, 纵坐标 + (i + 1) * 25) - x.currentIndexChanged.connect( - lambda state, index=i: self.辟邪玉数值选项更新(index)) - self.辟邪玉选择.append(x) - y = MyQComboBox(self.main_frame6) - y.resize(80, 20) - y.move(横坐标 + 220, 纵坐标 + (i + 1) * 25) - self.辟邪玉数值.append(y) - - 标签 = QLabel(trans('黑鸦遴选词条'), self.main_frame6) - 标签.setStyleSheet(标签样式 + 'QLabel{font-size:13px;}') - 标签.resize(300, 20) - 标签.move(横坐标 + 10, 纵坐标 + 330 - 20) - 标签.setAlignment(Qt.AlignCenter) - - 名称 = trans(['武  器', '戒  指', '辅助装备', '下  装']) - - self.黑鸦词条 = [] - for i in range(4): - x = QLabel(名称[i], self.main_frame6) - x.setStyleSheet(标签样式 + - 'QLabel{font-size:13px;};text-align: justify;') - # x.setStyleSheet('text-align: justify') - x.resize(55, 20) - x.move(横坐标, 纵坐标 - 145 + (i + 20) * 25 - 20) - tem = [] - tem.append(MyQComboBox(self.main_frame6)) - tem[-1].setStyleSheet(下拉框样式) - if i == 0: - tem[0].addItems(['无', '计算最高', '自选数值', '自选数值-觉醒']) - tem[0].resize(91, 20) - tem[0].move(横坐标 + 60, 纵坐标 - 20 + 25 * (i + 15) - 20) - tem[0].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦词条更新(index)) - else: - tem[0].addItems(['无', '计算最高', '自选数值']) - tem[0].resize(91, 20) - tem[0].move(横坐标 + 60, 纵坐标 - 20 + 25 * (i + 15) - 20) - tem[0].currentIndexChanged.connect( - lambda state, index=i: self.黑鸦词条更新(index)) - tem.append(MyQComboBox(self.main_frame6)) - tem[-1].setStyleSheet(下拉框样式) - tem[1].resize(70, 20) - tem[1].move(横坐标 + 161, 纵坐标 - 20 + 25 * (i + 15) - 20) - # if i > 0: - for item in 词条属性列表: - tem[1].addItem(item.描述) - # else: - # for item in 黑鸦武器属性列表: - # tem[1].addItem(item.描述) - # tem[1].currentIndexChanged.connect(lambda state:self.黑鸦武器词条更新()) - # tem[1].currentIndexChanged.connect(lambda state: self.希洛克武器词条更新()) - tem.append(MyQComboBox(self.main_frame6)) - tem[-1].setStyleSheet(下拉框样式) - tem[2].resize(60, 20) - tem[2].move(横坐标 + 241, 纵坐标 - 20 + 25 * (i + 15) - 20) - if i > 0: - for item in range(1, 5): - tem[2].addItem("+" + str(item * 2) + '%') - else: - for item in range(1, 5): - tem[2].addItem("+" + str(item * 4) + '%') - self.黑鸦词条.append(tem) - self.黑鸦词条更新(i) - # tem[1].currentIndexChanged.connect(lambda state: self.希洛克武器词条更新()) - - self.武器择优模式 = MyQComboBox(self.main_frame6) - self.武器择优模式.addItems(['武器默认择优词条', '武器默认择优觉醒']) - self.武器择优模式.resize(151, 20) - self.武器择优模式.move(横坐标, 纵坐标 - 20 + 25 * (4 + 15) - 20) - # self.武器择优模式.setStyleSheet(复选框样式) - # self.武器择优模式.setChecked(False) - - self.守门人全属强 = QCheckBox(trans(' 守门人全属强\n 自动补正'), self.main_frame6) - self.守门人全属强.resize(120, 30) - self.守门人全属强.move(横坐标 + 181, 纵坐标 + 291 - 15) - self.守门人全属强.setStyleSheet(复选框样式) - self.守门人全属强.setChecked(False) - self.守门人全属强.setEnabled(False) - self.守门人全属强.setStyleSheet(复选框样式) - self.守门人全属强.setToolTip( - trans("计算时自动替换细节页的附魔勋章为全属强方案
") + - trans('自带单属强职业不可使用
') + trans('守门人属强:全属强+30*3
') + trans( - '武器:全属强+13(若原附魔为龙珠时不替换)
首饰:全属强+28*3(25*3站街修正属强自行-9)
') + - trans('辅助装备:全属强+12
魔法石:全属强+30
勋章:全属强+7
宠物附魔:三攻+60
') - ) - - self.智慧产物升级 = QCheckBox(trans('智慧产物升级'), self.main_frame6) - self.智慧产物升级.resize(140, 20) - self.智慧产物升级.move(横坐标 + 161, 纵坐标 - 19 + 25 * (4 + 15) - 20) - self.智慧产物升级.setStyleSheet(复选框样式) - self.智慧产物升级.setChecked(False) - - 横坐标 = 横坐标 + 320 - 纵坐标 = 0 - - 标签 = QLabel(trans('希洛克相关'), self.main_frame6) - 标签.setStyleSheet(标签样式 + 'QLabel{font-size:13px;}') - 标签.resize(300, 20) - 标签.move(横坐标 - 310, 纵坐标 + 135 - 10) - 标签.setAlignment(Qt.AlignCenter) - - 名称 = trans(['奈克斯', '暗杀者', '卢克西', '守门人', '洛多斯']) - self.希洛克套装按钮 = [] - self.希洛克单件按钮 = [] - self.希洛克遮罩透明度 = [] - self.希洛克装备图标 = [] - self.希洛克选择状态 = [0] * 15 - count = 0 - for i in 名称: - self.希洛克套装按钮.append(QPushButton(i, self.main_frame6)) - self.希洛克套装按钮[count].setStyleSheet(按钮样式) - self.希洛克套装按钮[count].resize(50, 22) - self.希洛克套装按钮[count].move(横坐标 - 320, - 纵坐标 + 160 + 3 + count * 32 - 10) - self.希洛克套装按钮[count].clicked.connect( - lambda state, index=(count + 1) * 100: self.希洛克选择(index)) - for j in range(3): - 序号 = count * 3 + j - 图片 = QLabel(self.main_frame6) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/希洛克/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 - 260 + j * 30, 纵坐标 + 160 + count * 32 - 10) - self.希洛克装备图标.append(图片) - self.希洛克遮罩透明度.append(QGraphicsOpacityEffect()) - self.希洛克遮罩透明度[序号].setOpacity(0.5) - self.希洛克单件按钮.append(QPushButton(self.main_frame6)) - self.希洛克单件按钮[序号].setStyleSheet( - "background-color: rgb(0, 0, 0)") - self.希洛克单件按钮[序号].resize(28, 28) - self.希洛克单件按钮[序号].move(横坐标 - 260 + j * 30, - 纵坐标 + 160 + count * 32 - 10) - self.希洛克单件按钮[序号].setGraphicsEffect(self.希洛克遮罩透明度[序号]) - self.希洛克单件按钮[序号].clicked.connect( - lambda state, index=序号: self.希洛克选择(index)) - count += 1 - - self.守门人属强 = MyQComboBox(self.main_frame6) - for i in range(7): - self.守门人属强.addItem(trans('{守门人属强}:$value', value=15 + i * 5)) - self.守门人属强.resize(120, 20) - self.守门人属强.setCurrentIndex(3) - self.守门人属强.move(横坐标 - 139, 纵坐标 + 93 + 3 + count * 32 - 10) - self.守门人属强.activated.connect( - lambda state, index=序号: self.守门人属强选项(index)) - - self.希洛克武器词条 = [] - count += 1 - self.希洛克武器词条.append(MyQComboBox(self.main_frame6)) - self.希洛克武器词条[0].addItems(['武器词条:无', '自适应最高值', '自选词条数值']) - self.希洛克武器词条[0].resize(120, 20) - self.希洛克武器词条[0].move(横坐标 - 139, 纵坐标 - 32 + count * 32 - 10) - self.希洛克武器词条[0].currentIndexChanged.connect( - lambda state: self.希洛克武器词条更新()) - - for i in range(1, 3): - count += 1 - self.希洛克武器词条.append(MyQComboBox(self.main_frame6)) - self.希洛克武器词条[-1].setStyleSheet(下拉框样式) - for k in 词条属性列表: - self.希洛克武器词条[i].addItem(k.描述) - self.希洛克武器词条[i].resize(72, 20) - self.希洛克武器词条[i].move(横坐标 - 139, 纵坐标 - 32 + count * 32 - 10) - - count -= 2 - for i in range(3, 5): - count += 1 - self.希洛克武器词条.append(MyQComboBox(self.main_frame6)) - self.希洛克武器词条[-1].setStyleSheet(下拉框样式) - for k in [3, 4, 5]: - self.希洛克武器词条[i].addItem(str(k * (5 - i)) + '%') - self.希洛克武器词条[i].resize(43, 20) - self.希洛克武器词条[i].move(横坐标 - 62, 纵坐标 - 32 + count * 32 - 10) - - for i in range(1, 5): - self.希洛克武器词条[-1].setStyleSheet(下拉框样式) - self.希洛克武器词条[i].setEnabled(False) - # self.希洛克武器词条[i].setStyleSheet(下拉框样式) - - 纵向偏移 = 335 - 标签 = QLabel(trans('奥兹玛相关'), self.main_frame6) - 标签.setStyleSheet(标签样式 + 'QLabel{font-size:13px;}') - 标签.resize(300, 20) - 标签.move(横坐标 - 310 - 5, 纵坐标 + 135 - 10 + 纵向偏移) - 标签.setAlignment(Qt.AlignCenter) - - 名称 = trans(['阿斯特罗斯', '贝利亚斯', '雷德梅恩', '罗什巴赫', '泰玛特']) - self.奥兹玛套装按钮 = [] - self.奥兹玛单件按钮 = [] - self.奥兹玛遮罩透明度 = [] - self.奥兹玛装备图标 = [] - self.奥兹玛选择状态 = [0] * 25 - count = 0 - for i in 名称: - self.奥兹玛套装按钮.append(QPushButton(i, self.main_frame6)) - self.奥兹玛套装按钮[count].setStyleSheet(按钮样式) - self.奥兹玛套装按钮[count].resize(75, 22) - self.奥兹玛套装按钮[count].move(横坐标 - 320 - 5, - 纵坐标 + 160 + 3 + count * 32 - 10 + 纵向偏移) - self.奥兹玛套装按钮[count].clicked.connect( - lambda state, index=(count + 1) * 100: self.奥兹玛选择(index)) - for j in range(5): - 序号 = count * 5 + j - 图片 = QLabel(self.main_frame6) - 图片.setPixmap( - QPixmap('./ResourceFiles/img/奥兹玛/' + str(序号) + '.png')) - 图片.resize(28, 28) - 图片.move(横坐标 - 260 + j * 30 + 20 - 5, - 纵坐标 + 160 + count * 32 - 10 + 纵向偏移) - self.奥兹玛装备图标.append(图片) - self.奥兹玛遮罩透明度.append(QGraphicsOpacityEffect()) - self.奥兹玛遮罩透明度[序号].setOpacity(0.5) - self.奥兹玛单件按钮.append(QPushButton(self.main_frame6)) - self.奥兹玛单件按钮[序号].setStyleSheet( - "background-color: rgb(0, 0, 0)") - self.奥兹玛单件按钮[序号].resize(28, 28) - self.奥兹玛单件按钮[序号].move(横坐标 - 260 + j * 30 + 20 - 5, - 纵坐标 + 160 + count * 32 - 10 + 纵向偏移) - self.奥兹玛单件按钮[序号].setGraphicsEffect(self.奥兹玛遮罩透明度[序号]) - self.奥兹玛单件按钮[序号].clicked.connect( - lambda state, index=序号: self.奥兹玛选择(index)) - count += 1 - - self.阿斯特罗斯选项 = [] - for i in range(5): - self.阿斯特罗斯选项.append(MyQComboBox(self.main_frame6)) - self.阿斯特罗斯选项[i].addItem('70.75.80') - self.阿斯特罗斯选项[i].addItem('40.45.60') - self.阿斯特罗斯选项[i].addItem('20.25.35') - self.阿斯特罗斯选项[i].resize(60 + 15, 20) - self.阿斯特罗斯选项[i].setCurrentIndex(0) - self.阿斯特罗斯选项[i].move(横坐标 - 139 + 60 - 15, - 纵坐标 + 160 + 3 - 10 + 纵向偏移 + i * 32) - self.阿斯特罗斯选项显示(0) - - self.计算按钮3 = QPushButton(trans('开始计算'), self.main_frame6) - self.计算按钮3.clicked.connect(lambda state: self.计算()) - self.计算按钮3.move(990, self.height() - 70) - self.计算按钮3.resize(110, 30) - self.计算按钮3.setStyleSheet(按钮样式) - - # endregion - - # region 界面函数 - # 第二页 - def 输出时间变化(self): - 输出时间变化提示 = QMessageBox(QMessageBox.Question, "提示", - "切换输出时间请检查技能次数是否为/CD,否则计算结果不发生变化") - 输出时间变化提示.setWindowIcon(self.icon) - 输出时间变化提示.exec_() - pass - - def 技能列表显示排序(self, skill): - temp = deepcopy(skill) - temp.sort(key=operator.attrgetter('所在等级')) - return temp - - def 次数输入填写(self, x): - if self.次数输入[x].currentIndex() == 12: - self.次数输入[x].setEditable(True) - self.次数输入[x].clearEditText() - self.次数输入[x].setStyleSheet(下拉框样式) - elif self.次数输入[x].currentIndex() == 13: - temp = self.次数输入[x].currentText() - self.次数输入[x].removeItem(13) - self.次数输入[x].setCurrentIndex(12) - self.次数输入[x].setEditable(True) - self.次数输入[x].clearEditText() - self.次数输入[x].setStyleSheet(下拉框样式) - self.次数输入[x].setCurrentText(temp) - else: - self.次数输入[x].setEditable(False) - - def 宠物次数填写(self, x): - if self.宠物次数[x].currentIndex() == 11: - self.宠物次数[x].setEditable(True) - self.宠物次数[x].clearEditText() - self.宠物次数[x].setStyleSheet(下拉框样式) - elif self.宠物次数[x].currentIndex() == 12: - temp = self.宠物次数[x].currentText() - self.宠物次数[x].removeItem(12) - self.宠物次数[x].setCurrentIndex(11) - self.宠物次数[x].setEditable(True) - self.宠物次数[x].clearEditText() - self.宠物次数[x].setStyleSheet(下拉框样式) - self.宠物次数[x].setCurrentText(temp) - else: - self.宠物次数[x].setEditable(False) - - def 护石描述更新(self, x): - try: - self.护石栏[x].setToolTip('' + self.初始属性.技能栏[ - self.初始属性.技能序号[self.护石选项[self.护石栏[x].currentIndex()]]].护石描述( - self.护石类型选项[x].currentIndex()) + '
') - except: - self.护石栏[x].setToolTip('暂缺') - - def 护石类型选项更新(self, x): - self.护石类型选项[x].clear() - if self.护石栏[x].currentData() != '无': - try: - self.护石类型选项[x].addItems( - trans(self.初始属性.技能栏[self.初始属性.技能序号[self.护石选项[ - self.护石栏[x].currentIndex()]]].护石选项)) - self.护石类型选项[x].setCurrentIndex( - len(self.初始属性.技能栏[self.初始属性.技能序号[self.护石选项[ - self.护石栏[x].currentIndex()]]].护石选项) - 1) - except: - self.护石类型选项[x].addItem('魔界') - self.护石类型选项[x].addItem('圣痕') - self.护石栏[x].setCurrentIndex(0) - else: - self.护石类型选项[x].addItem('魔界') - self.护石类型选项[x].addItem('圣痕') - - def 符文技能更改(self, i): - if i == 0: - for i in range(1, 9): - self.符文[i].setCurrentIndex(self.符文[0].currentIndex()) - else: - self.符文[i + 3].setCurrentIndex(self.符文[i].currentIndex()) - self.符文[i + 6].setCurrentIndex(self.符文[i].currentIndex()) - - def 符文效果更改(self, i): - self.符文效果[i + 3].setCurrentIndex(self.符文效果[i].currentIndex()) - self.符文效果[i + 6].setCurrentIndex(self.符文效果[i].currentIndex()) - - def 等级调整标注(self, index): - 警告 = "技能等级调整指调整学习等级(非实际等级)
一般用于修正天空下装技能,一二觉时装切装
其余等级加成会自动计算,请勿手动调整" - if index < 100: - try: - x = int(self.等级调整[index].currentText()) - except: - x = 1 - if x > 0: - self.等级调整[index].setStyleSheet(下拉框样式_warn) - if x > 1: - QMessageBox.information(self, "警告", 警告) - if x < 0: - self.等级调整[index].setStyleSheet(下拉框样式_down) - if x == 0: - self.等级调整[index].setStyleSheet(下拉框样式) - elif index == 100: - try: - x = int(self.远古记忆.currentText()) - except: - x = 11 - if x == 11: - self.远古记忆.setStyleSheet(下拉框样式_warn) - if x < 10: - self.远古记忆.setStyleSheet(下拉框样式_down) - if x == 10: - self.远古记忆.setStyleSheet(下拉框样式) - elif index == 200: - try: - x = int(self.刀魂之卡赞.currentText()) - except: - x = 11 - if x == 11: - self.刀魂之卡赞.setStyleSheet(下拉框样式_warn) - if x < 10: - self.刀魂之卡赞.setStyleSheet(下拉框样式_down) - if x == 10: - self.刀魂之卡赞.setStyleSheet(下拉框样式) - - def 加载护石(self, 属性): - for k in range(3): - if self.护石栏[k].currentData() != '无': - try: - 属性.技能栏[self.角色属性A.技能序号[self.护石选项[ - self.护石栏[k].currentIndex()]]].装备护石() - except: - 属性.技能栏[self.角色属性A.技能序号[self.护石选项[ - self.护石栏[k].currentIndex()]]].装备护石( - self.护石类型选项[k].currentIndex()) - - 属性.护石第一栏 = self.护石选项[self.护石栏[0].currentIndex()] - 属性.护石第二栏 = self.护石选项[self.护石栏[1].currentIndex()] - 属性.护石第三栏 = self.护石选项[self.护石栏[2].currentIndex()] - - for i in range(9): - if self.符文[i].currentData() != '无' and self.符文效果[i].currentData( - ) != '无': - for j in self.符文效果[i].currentData().split(','): - if trans('攻击') in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文选项[ - self.符文[i].currentIndex()]]].倍率 *= 1 + int( - j.replace(trans('攻击'), '').replace('%', - '')) / 100 - if 'CD' in j: - 属性.技能栏[self.角色属性A.技能序号[self.符文选项[ - self.符文[i].currentIndex()]]].CD *= 1 + int( - j.replace('CD', '').replace('%', '')) / 100 - - # 第三页 - def 细节增伤选项颜色更新(self, index): - if index.currentIndex() <= 0: - index.setStyleSheet(下拉框样式_warn) - else: - index.setStyleSheet(下拉框样式_detail) - pass - - # 第五页 - def 阿斯特罗斯选项显示(self, n): - for i in range(5): - if i < n: - self.阿斯特罗斯选项[i].setEnabled(True) - else: - self.阿斯特罗斯选项[i].setEnabled(False) - - def 守门人属强选项(self, x): - if self.守门人属强.currentIndex() != 3: - self.守门人全属强.setEnabled(False) - self.守门人全属强.setChecked(False) - self.守门人全属强.setStyleSheet(复选框样式) - else: - number = sum(self.希洛克选择状态[9:11]) - if self.角色属性A.职业 not in ('冰结师', '鬼泣', '死灵术士', '气功师', '忍者', '暗枪士'): - if number == 3: - self.守门人全属强.setEnabled(True) - self.守门人全属强.setChecked(True) - self.守门人全属强.setStyleSheet(复选框样式) - - def 希洛克武器词条更新(self): - if self.希洛克武器词条[0].currentIndex() != 2: - for i in range(1, 5): - self.希洛克武器词条[i].setEnabled(False) - else: - for i in range(1, 5): - self.希洛克武器词条[i].setEnabled(True) - - def 黑鸦词条更新(self, index): - if self.黑鸦词条[index][0].currentIndex() < 2: - for i in range(1, 3): - self.黑鸦词条[index][i].setEnabled(False) - else: - for i in range(1, 3): - self.黑鸦词条[index][i].setEnabled(True) - - def 时装选项更新(self, index): - if index == 8: - count = 0 - for i in self.时装选项: - if count != 8: - i.setCurrentIndex(self.时装选项[8].currentIndex()) - count += 1 - return - else: - 力量, 智力, 属强 = 0, 0, 0 - 套装字典 = {'高级': 0, '节日': 0, '稀有': 0, '神器': 0} - for i in range(8): - 套装字典[self.时装选项[i].currentData()] = 套装字典.get( - self.时装选项[i].currentData(), 0) + 1 - # 套装属性 - 神器 = 套装字典['神器'] - 稀有 = 套装字典['稀有'] + 神器 - if 套装字典['高级'] >= 3: - 力量 += 10 - 智力 += 10 - if 稀有 >= 3 and 神器 < 3: - 力量 += 40 - 智力 += 40 - if 套装字典['神器'] >= 3: - 力量 += 50 - 智力 += 50 - if 套装字典['高级'] >= 8: - 力量 += 10 - 智力 += 10 - if 套装字典['节日'] >= 8: - 力量 += 25 - 智力 += 25 - if 稀有 >= 8 and 神器 < 8: - 力量 += 40 - 智力 += 40 - 属强 += 6 - if 套装字典['神器'] >= 8: - 力量 += 50 - 智力 += 50 - 属强 += 10 - 数据 = [45, 45, 55, 65] - 智力 += 数据[self.时装选项[0].currentIndex()] # 头部 - 智力 += 数据[self.时装选项[1].currentIndex()] # 帽子 - 力量 += 数据[self.时装选项[7].currentIndex()] # 鞋子 - 数据 = [45, 45, 55, 65] - 力量 += 数据[self.时装选项[5].currentIndex()] # 腰带 - 数据 = [0, 6, 0, 0] - 属强 += 数据[self.时装选项[4].currentIndex()] # 上衣 - - 数据 = [0, 20, 0, 0] - 智力 += 数据[self.时装选项[6].currentIndex()] # 下装 - 力量 += 数据[self.时装选项[6].currentIndex()] # 下装 - - self.属性设置输入[6][16].setText(str(max(力量, 智力))) - self.属性设置输入[8][16].setText(str(属强 if 属强 != 0 else '')) - - # 通用 - def 下拉框禁用(self, a, b, c=下拉框样式): - if a.isChecked(): - b.setStyleSheet(c) - b.setEnabled(False) - else: - b.setStyleSheet(c) - b.setEnabled(True) - - # endregion - - # region 计算相关 - - def 奥兹玛选择(self, index, x=0): - super().奥兹玛选择(index, x) - self.阿斯特罗斯选项显示(sum(self.奥兹玛选择状态[0:5])) - - def 希洛克属性计算(self, 属性, x=0): - # 0表示计算属性 1表示计算描述 - return 希洛克.希洛克属性_输出(属性, self.希洛克选择状态, self.守门人属强.currentIndex(), x) - - def 奥兹玛属性计算(self, 属性, x=0): - # 0表示计算属性 1表示计算描述 - 阿斯特罗斯选项 = [] - for i in range(sum(self.奥兹玛选择状态[:5])): - 阿斯特罗斯选项.append(self.阿斯特罗斯选项[i].currentIndex()) - return 奥兹玛.奥兹玛属性_输出(属性, self.奥兹玛选择状态, 阿斯特罗斯选项, x) - - def 自选计算(self, x=0): - if x == 0: - self.保存配置(self.存档位置) - self.关闭排行窗口() - self.排行数据.clear() - - self.角色属性A = deepcopy(self.初始属性) - if x == 0: - self.输入属性(self.角色属性A) - else: - self.输入属性(self.角色属性A, 1) - if self.是否计算 != 1: - self.click_window(1) - return - 装备 = [] - for index in range(len(self.自选装备)): - 装备.append(self.自选装备[index].currentData()) - - temp = deepcopy(self.初始属性) - temp.穿戴装备计算套装(装备) - 套装 = temp.套装栏 - - if x != 0: - 伤害列表 = [] - for i in range(len(辟邪玉列表)): - temp = deepcopy(self.初始属性) - self.输入属性(temp, 100 + i) - temp.穿戴装备(装备, 套装) - 伤害列表.append(temp.伤害计算(0)) - - 提升率 = [] - for i in range(1, len(伤害列表)): - if 伤害列表[0] != 0: - 提升率.append(伤害列表[i] / 伤害列表[0] - 1) - else: - 提升率.append(0) - - 提升率排序 = copy(提升率) - 提升率排序.sort(reverse=True) - - for i in range(len(提升率)): - temp = str('%.2f' % (提升率[i] * 100)) + '%' - self.辟邪玉提升率2[i].setText(temp) - x = 提升率排序.index(提升率[i]) / len(提升率) * 10 - 2 - y = 1 / (1 + math.exp(-x)) - if SkinVersion == 'None': - 颜色 = (0, 0, 0) - else: - 颜色 = (int(255 - 80 * y), int(245 - 100 * y), - int(0 + 150 * y)) - self.辟邪玉提升率1[i].setStyleSheet( - 'QLabel{font-size:12px;color:rgb' + str(颜色) + '}') - self.辟邪玉提升率2[i].setStyleSheet( - 'QLabel{font-size:12px;color:rgb' + str(颜色) + '}') - - self.角色属性A = deepcopy(self.初始属性) - self.输入属性(self.角色属性A) - C = self.站街计算(装备, 套装) - B = deepcopy(self.角色属性A) - B.穿戴装备(装备, 套装) - B.其它属性计算() - 总伤害数值 = B.伤害计算(0) - - if len(self.基准值) != 0: - self.总伤害.setText(self.百分比输出(总伤害数值, self.基准值[0])) - else: - self.总伤害.setText(self.格式化输出(str(int(总伤害数值)))) - - tempstr = self.装备描述计算(B) - 图片列表 = self.获取装备图片(装备) - for i in range(12): - self.图片显示[i].setToolTip(tempstr[i]) - self.图片显示[i].setMovie(图片列表[i]) - - self.面板显示设置(self.面板显示, B, C) - self.打造显示设置(self.打造显示, B, 1) - - 词条数值 = self.词条显示计算(B) - 词条解释 = self.词条显示计算(B, 1) - for i in range(0, len(词条数值)): - if i == 5 and B.技能攻击力累加 > 2: - self.词条显示[i].setStyleSheet( - "QLabel{font-size:12px;color:red}") - self.词条显示[i].setText(词条数值[i]) - self.词条显示[i].setToolTip('' + 词条解释[i] + - '') - - for i in self.套装名称显示: - i.setText('') - - self.套装显示设置(self.套装名称显示, B) - - # 更新人物名望(角色属性=B, 人物设置=self) - - if x == 0: - self.排行数据.append(装备 + [0] + 套装 + ['无']) - self.输出界面(0) - - def 站街计算(self, 装备名称, 套装名称): - C = deepcopy(self.角色属性A) - C.穿戴装备(装备名称, 套装名称) - if 调试开关 == 0: - for i in C.装备栏: - equ.get_equ_by_name(i).城镇属性(C) - for i in C.套装栏: - equ.get_suit_by_name(i).城镇属性(C) - C.装备基础() - C.被动倍率计算() - - return C - - # endregion - - # region 读档存档 - def 载入旧版json(self, path='set', page=[0, 1, 2, 3, 4, 5]): - filepath = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, path) - - if 0 in page: - # 第一页(装备/选择/打造) - try: - filename = 'page_1.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - try: - store.set("/{type}/data/title", set_data['称号']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/pet", set_data['称号']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/compute_mode", set_data['计算模式']) - except Exception as error: - logger.error(error) - try: - store.set('/{type}/data/ditto_checked', set_data["百变怪"]) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/pet_equip_adaptive", - set_data['宠物装备择优']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/aura_adaptive", set_data['光环词条择优']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/myth_top_checked", - set_data['神话排名勾选']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/damage_unit", set_data['亿为单位显示']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/thread_count", set_data['线程数量']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/attack_elemental", - set_data['攻击属性']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/remodel_limit", set_data['改造数量']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/equip_checked", set_data['装备勾选']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/equip_forges", set_data['装备打造']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/equip_conditions", - set_data['装备条件']) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 1 in page: - # 第二页(技能/符文/药剂) - try: - filename = 'page_2.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - try: - store.set("/{type}/data/buff_input", set_data['BUFF输入']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/time_input", set_data['时间输入']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/awakening_binding", - set_data['觉醒选择']) - except Exception as error: - logger.error(error) - try: - if '远古记忆' in set_data: - store.set("/{type}/data/ancient_memory", - set_data['远古记忆']) - except Exception as error: - logger.error(error) - try: - if '刀魂之卡赞' in set_data: - store.set("/{type}/data/kazan", set_data['刀魂之卡赞']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/talismans", set_data['护石栏']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/talisman_types", set_data['护石类型']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/runes_skills", set_data['符文技能']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/runes_effects", set_data['符文效果']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/consumables", set_data['药剂勾选']) - except Exception as error: - logger.error(error) - try: - skills = {} - 技能选项 = set_data['技能选项'] - for key in 技能选项.keys(): - 技能 = 技能选项[key] - skill = {'level': 技能['等级'], 'count': 技能['次数']} - if 'TP' in 技能: - skill['tp'] = 技能['TP'] - if '宠物' in 技能: - skill['pet'] = 技能['宠物'] - if '切装' in 技能: - skill['switch'] = 技能['切装'] - skills[key] = skill - store.set("/{type}/data/skill", skills) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 2 in page: - # 第三页(基础/细节/修正) - try: - filename = 'page_3.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - - try: - store.set("/{type}/data/avatar", set_data['时装选项']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/detail_values", set_data['细节数值']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/detail_options", set_data['细节选项']) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 3 in page: - # 第四页(神话属性修正) - try: - filename = 'page_4.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - try: - store.set("/{type}/data/myth_properties", - set_data['神话属性修正']) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 4 in page: - # 第五页(辟邪玉/希洛克/黑鸦/奥兹玛) - try: - filename = 'page_5.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - - try: - store.set("/{type}/data/remodel_upgrade", - set_data['智慧产物升级']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/weapon_adaptive_mode", - set_data['武器择优模式']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/nameless_elemental_value", - set_data['守门人属强']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/jude_effects", set_data['辟邪玉效果']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/jude_values", set_data['辟邪玉数值']) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/astaroth_options", - set_data['阿斯特罗斯选项']) - except Exception as error: - logger.error(error) - try: - store.set('/{type}/data/black_purgatory', set_data['黑鸦选择']) - except Exception as error: - logger.error(error) - try: - store.set('/{type}/data/siroco', set_data['希洛克选择']) - except Exception as error: - logger.error(error) - try: - store.set('/{type}/data/ozma', set_data['奥兹玛选择']) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 5 in page: - # 第六页(自选装备计算) - try: - filename = 'page_6.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - - try: - store.set("/{type}/data/self_select/equips", - [set_data['自选装备']]) - store.set("/{type}/data/self_select/column_index", 0) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/self_select/locked", - set_data['装备锁定']) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - # 职业存档 - try: - filename = 'char.json' - set_data = {} - with open(os.path.join(filepath, filename), - encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.set("/{type}/data/character_sets", set_data) - except Exception as error: - logger.error(error) - pass - - def 载入json(self, path='set', page=[0, 1, 2, 3, 4, 5]): - filepath = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, path) - filename = os.path.join(filepath, "store.json") - - if os.path.exists(filename): - try: - set_data = {} - with open(filename, encoding='utf-8') as fp: - set_data = json.load(fp) - fp.close() - store.imports(set_data) - except Exception as error: - logger.error(error) - else: - self.载入旧版json(path, page) - - if 0 in page: - # 第一页(装备/选择/打造) - try: - try: - self.称号.setCurrentIndex(store.get("/{type}/data/title", 0)) - except Exception as error: - logger.error(error) - try: - self.宠物.setCurrentIndex(store.get("/{type}/data/pet", 0)) - except Exception as error: - logger.error(error) - try: - self.计算模式选择.setCurrentIndex( - store.get("/{type}/data/compute_mode", 0)) - except Exception as error: - logger.error(error) - try: - self.百变怪选项.setChecked( - store.get("/{type}/data/ditto_checked", False)) - except Exception as error: - logger.error(error) - try: - self.红色宠物装备.setChecked( - store.get("/{type}/data/pet_equip_adaptive", True)) - except Exception as error: - logger.error(error) - try: - self.光环自适应.setChecked( - store.get("/{type}/data/aura_adaptive", True)) - except Exception as error: - logger.error(error) - try: - self.神话排名选项.setChecked( - store.get("/{type}/data/myth_top_checked", True)) - except Exception as error: - logger.error(error) - try: - self.显示选项.setChecked( - store.get("/{type}/data/damage_unit", True)) - except Exception as error: - logger.error(error) - try: - self.线程数选择.setCurrentIndex( - store.get("/{type}/data/thread_count")) - except Exception as error: - logger.error(error) - try: - self.攻击属性选项.setCurrentIndex( - store.get("/{type}/data/attack_elemental")) - except Exception as error: - logger.error(error) - try: - self.智慧产物限制.setCurrentIndex( - store.get("/{type}/data/remodel_limit")) - except Exception as error: - logger.error(error) - try: - self.批量选择(0) - num = 0 - data = store.get("/{type}/data/equip_checked") - for i in data: - if i == 1: - self.装备图标点击事件(num, 1) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/equip_forges") - for i in data: - self.装备打造选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/equip_conditions") - for i in data: - self.装备条件选择[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 1 in page: - # 第二页(技能/符文/药剂) - try: - try: - self.BUFF输入.setText(store.get("/{type}/data/buff_input")) - except Exception as error: - logger.error(error) - try: - 时间 = store.get("/{type}/data/time_input", '25') - if int(时间) < 10: - self.时间输入.setCurrentIndex(int(时间)) - else: - self.时间输入.setCurrentText(str(时间)) - except Exception as error: - logger.error(error) - try: - self.强化觉醒选择(store.get("/{type}/data/awakening_binding")) - except Exception as error: - logger.error(error) - try: - if self.初始属性.远古记忆 != -1: - self.远古记忆.setCurrentIndex( - store.get("/{type}/data/ancient_memory")) - except Exception as error: - logger.error(error) - try: - if self.初始属性.刀魂之卡赞 != -1: - self.刀魂之卡赞.setCurrentIndex( - store.get("/{type}/data/kazan")) - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/talismans") - for i in data: - self.护石栏[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/talisman_types") - for i in data: - self.护石类型选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/runes_skills") - for i in data: - self.符文[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/runes_effects") - for i in data: - self.符文效果[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - num = 0 - data = store.get("/{type}/data/consumables") - for i in data: - self.复选框列表[num].setChecked(i) - num += 1 - except Exception as error: - logger.error(error) - - try: - skills = store.get("/{type}/data/skill") - for i in skills: - try: - 序号 = self.角色属性A.技能序号[i] - self.设置技能选项(序号, skills[i]) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 2 in page: - # 第三页(基础/细节/修正) - try: - try: - num = 0 - data = store.get("/{type}/data/avatar") - for i in data: - self.时装选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/detail_values") - x = 0 - for i in data: - y = 0 - for j in i: - self.属性设置输入[x][y].setText(j) - y += 1 - x += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/detail_options") - x = 0 - for i in data: - y = 0 - for j in i: - self.细节选项输入[x][y].setCurrentIndex(j) - y += 1 - x += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 3 in page: - # 第四页(神话属性修正) - try: - data = store.get("/{type}/data/myth_properties") - num = 0 - for i in data: - self.神话属性选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - - if 4 in page: - # 第五页(辟邪玉/希洛克/黑鸦/奥兹玛) - try: - try: - self.智慧产物升级.setChecked( - store.get("/{type}/data/remodel_upgrade")) - except Exception as error: - logger.error(error) - try: - self.武器择优模式.setCurrentIndex( - store.get("/{type}/data/weapon_adaptive_mode")) - except Exception as error: - logger.error(error) - try: - self.守门人属强.setCurrentIndex( - store.get("/{type}/data/nameless_elemental_value")) - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/weapon_fusion", [0] * 5) - num = 0 - for i in data: - self.希洛克武器词条[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/jude_effects") - num = 0 - for i in data: - self.辟邪玉选择[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/jude_values") - num = 0 - for i in data: - self.辟邪玉数值[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/astaroth_options", []) - num = 0 - for i in data: - self.阿斯特罗斯选项[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/black_purgatory") - x = 0 - for i in data: - y = 0 - for j in i: - self.黑鸦词条[x][y].setCurrentIndex(j) - y += 1 - x += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/siroco", []) - self.希洛克选择(0, 1) - num = 0 - for i in data: - if i == 1: - self.希洛克选择(num) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/ozma", []) - self.奥兹玛选择(0, 1) - num = 0 - for i in data: - if i == 1: - self.奥兹玛选择(num) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - if 5 in page: - # 第六页(自选装备计算) - try: - try: - data = store.get("/{type}/data/self_select/equips", [[]]) - column_index = store.get( - "/{type}/data/self_select/column_index", 0) - data = data[column_index] - num = 0 - for i in data: - self.自选装备[num].setCurrentIndex(i) - num += 1 - except Exception as error: - logger.error(error) - try: - data = store.get("/{type}/data/self_select/locked") - num = 0 - for i in data: - self.装备锁定[num].setChecked(i) - num += 1 - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - # 职业存档 - try: - data = store.get("/{type}/data/character_set", []) - for i in self.职业存档: - try: - key = i[0] - if key not in data: - continue - # 复选框 - if i[2] == 0: - i[1].setChecked(data[key]) - # 下拉框 - elif i[2] == 1: - i[1].setCurrentIndex(data[key]) - # 文本框 - elif i[2] == 2: - i[1].setText(data[key]) - except Exception as error: - logger.error(error) - except Exception as error: - logger.error(error) - - def 载入配置(self, path='set'): - filepath = './ResourceFiles/{}/{}/'.format(self.角色属性A.实际名称, path) - if os.path.exists(os.path.join( - filepath, "page_1.json")) or os.path.exists( - os.path.join(filepath, "store.json")): - self.载入json(path) - return - else: - # 如果不存在任何存档则载入重置存档 - self.载入json(path='reset') - - def isIntSeriously(self, number): - result = False - try: - n = float(number) - # 判断是否是整数并且是否小于10 - if n.is_integer() and str(number).count('.') == 0 and n <= 10: - result = True - except: - pass - return result - - def 设置技能选项(self, 序号, info): - try: - self.等级调整[序号].setCurrentIndex(info['level']) - except: - pass - try: - self.TP输入[序号].setCurrentIndex(info['tp']) - except: - pass - - try: - if info['count'] == '/CD': - self.次数输入[序号].setCurrentIndex(0) - elif self.isIntSeriously(info['count']): - self.次数输入[序号].setCurrentIndex(int(info['count']) + 1) - else: - self.次数输入[序号].setCurrentIndex(12) - self.次数输入[序号].setEditable(True) - self.次数输入[序号].clearEditText() - self.次数输入[序号].setCurrentText(info['count']) - self.次数输入[序号].setStyleSheet(下拉框样式) - except: - pass - - try: - if self.isIntSeriously(info['pet']): - self.宠物次数[序号].setCurrentIndex(int(info['pet'])) - else: - self.宠物次数[序号].setCurrentIndex(11) - self.宠物次数[序号].setEditable(True) - self.宠物次数[序号].clearEditText() - self.宠物次数[序号].setCurrentText(info['pet']) - self.宠物次数[序号].setStyleSheet(下拉框样式) - except: - pass - - if 切装模式 == 1: - try: - self.技能切装[序号].setChecked(info['switch']) - except: - pass - - def 获取技能选项(self, 序号): - info = {} - try: - info['level'] = self.等级调整[序号].currentIndex() - except: - info['level'] = 0 - try: - info['tp'] = self.TP输入[序号].currentIndex() - except: - info['tp'] = 0 - - try: - info['count'] = self.次数输入[序号].currentText() - except: - info['count'] = '0' - - try: - info['pet'] = self.宠物次数[序号].currentText() - except: - info['pet'] = '0' - - if 切装模式 == 1: - try: - info['switch'] = self.技能切装[序号].isChecked() - except: - info['switch'] = False - return info - - def exports_store(self, page=[0, 1, 2, 3, 4, 5]): - if 0 in page: - # 第一页(装备/选择/打造) - try: - store.set("/{type}/data/title", self.称号.currentIndex()) - store.set("/{type}/data/pet", self.宠物.currentIndex()) - store.set("/{type}/memory/title", self.称号.currentData()) - store.set('/{type}/memory/pet', self.宠物.currentData()) - store.set("/{type}/data/compute_mode", - self.计算模式选择.currentIndex()) - store.set("/{type}/data/ditto_checked", self.百变怪选项.isChecked()) - store.set("/{type}/data/pet_equip_adaptive", - self.红色宠物装备.isChecked()) - store.set("/{type}/data/aura_adaptive", self.光环自适应.isChecked()) - store.set("/{type}/data/myth_top_checked", - self.神话排名选项.isChecked()) - store.set("/{type}/data/damage_unit", self.显示选项.isChecked()) - store.set("/{type}/data/thread_count", - self.线程数选择.currentIndex()) - store.set("/{type}/data/attack_elemental", - self.攻击属性选项.currentIndex()) - store.set("/{type}/data/remodel_limit", - self.智慧产物限制.currentIndex()) - store.set("/{type}/data/equip_checked", self.装备选择状态) - store.set("/{type}/data/equip_forges", - [i.currentIndex() for i in self.装备打造选项]) - store.set("/{type}/data/equip_conditions", - [i.currentIndex() for i in self.装备条件选择]) - except Exception as error: - logger.error(error) - - if 1 in page: - # 第二页(技能/符文/药剂) - try: - store.set("/{type}/data/buff_input", self.BUFF输入.text()) - store.set("/{type}/data/time_input", self.时间输入.currentText()) - - store.set("/{type}/data/awakening_binding", self.觉醒选择状态) - - if self.初始属性.远古记忆 != -1: - store.set("/{type}/data/ancient_memory", - self.远古记忆.currentIndex()) - if self.初始属性.刀魂之卡赞 != -1: - store.set("/{type}/data/kazan", self.刀魂之卡赞.currentIndex()) - store.set("/{type}/data/talismans", - [i.currentIndex() for i in self.护石栏]) - store.set("/{type}/data/talisman_types", - [i.currentIndex() for i in self.护石类型选项]) - store.set("/{type}/memory/talisman_types", - [i.currentData() for i in self.护石类型选项]) - store.set("/{type}/data/runes_skills", - [i.currentIndex() for i in self.符文]) - store.set("/{type}/data/runes_effects", - [i.currentIndex() for i in self.符文效果]) - store.set("/{type}/data/consumables", - [i.isChecked() for i in self.复选框列表]) - - skills = {} - for i in self.角色属性A.技能栏: - 序号 = self.角色属性A.技能序号[i.名称] - skill = self.获取技能选项(序号) - skills[i.名称] = skill - store.set("/{type}/data/skill", skills) - except Exception as error: - logger.error(error) - - if 2 in page: - # 第三页(基础/细节/修正) - try: - store.set("/{type}/data/avatar", - [i.currentIndex() for i in self.时装选项]) - store.set("/{type}/data/detail_values", - [[j.text() for j in i] for i in self.属性设置输入]) - store.set("/{type}/data/detail_options", - [[j.currentIndex() for j in i] for i in self.细节选项输入]) - except Exception as error: - logger.error(error) - - if 3 in page: - # 第四页(神话属性修正) - try: - store.set("/{type}/data/myth_properties", - [i.currentIndex() for i in self.神话属性选项]) - except Exception as error: - logger.error(error) - try: - store.set("/{type}/data/remodel_properties", - [i.currentIndex() for i in self.改造产物选项]) - except Exception as error: - logger.error(error) - if 4 in page: - # 第五页(辟邪玉/希洛克/黑鸦) - try: - store.set("/{type}/data/remodel_upgrade", - self.智慧产物升级.isChecked()) - store.set("/{type}/data/weapon_adaptive_mode", - self.武器择优模式.currentIndex()) - store.set("/{type}/data/nameless_elemental_value", - self.守门人属强.currentIndex()) - store.set("/{type}/data/weapon_fusion", - [i.currentIndex() for i in self.希洛克武器词条]) - store.set("/{type}/data/jude_effects", - [i.currentIndex() for i in self.辟邪玉选择]) - store.set("/{type}/data/jude_values", - [i.currentIndex() for i in self.辟邪玉数值]) - store.set("/{type}/data/astaroth_options", - [i.currentIndex() for i in self.阿斯特罗斯选项]) - store.set('/{type}/data/black_purgatory', - [[j.currentIndex() for j in i] for i in self.黑鸦词条]) - store.set('/{type}/data/siroco', self.希洛克选择状态) - store.set('/{type}/data/ozma', self.奥兹玛选择状态) - except Exception as error: - logger.error(error) - - if 5 in page: - # 第六页(自选装备计算) - try: - data = store.get("/{type}/data/self_select/equips", []) - column_index = 0 - length = len(self.自选装备) - while column_index >= len(data): - data.append([0] * length) - - data[column_index] = [i.currentIndex() for i in self.自选装备] - store.set("/{type}/data/self_select/equips", data) - - store.set("/{type}/memory/equips", - [i.currentData() for i in self.自选装备]) - - store.set("/{type}/data/self_select/equips", data) - - store.set('/{type}/data/self_select/column_index', - column_index) - store.set("/{type}/data/self_select/locked", - [i.isChecked() for i in self.装备锁定]) - except Exception as error: - logger.error(error) - # 职业存档 - try: - set_data = {} - for i in self.职业存档: - # 复选框 - if i[2] == 0: - set_data[i[0]] = i[1].isChecked() - # 下拉框 - elif i[2] == 1: - set_data[i[0]] = i[1].currentIndex() - # 文本框 - elif i[2] == 2: - set_data[i[0]] = i[1].text() - store.set("/{type}/data/character_set", set_data) - except Exception as error: - logger.error(error) - - def 保存json(self, path='set', page=[0, 1, 2, 3, 4, 5], store=None): - if store is None: - from PublicReference.utils.storex import store - self.exports_store(page) - try: - filepath = './ResourceFiles/{}/{}/store.json'.format( - self.角色属性A.实际名称, path) - set_data = store.exports( - lambda i: str.startswith(i, "/carry/data")) - with open(filepath, "w", encoding='utf-8') as fp: - json.dump(set_data, fp, ensure_ascii=False, indent=4) - fp.close() - except Exception as error: - logger.error(error) - - def 保存配置(self, path='set'): - if self.禁用存档.isChecked(): - return - if self.技能存档位置 != '全局存档': - self.保存json(path=self.技能存档位置, store=Store()) - self.保存json(path) - - # endregion - - # region 一键修正 - def 一键修正(self, x=0): - increase_counter(ga_category="carry详细功能使用", name="一键修正") - if x == 0: - if self.组合计算(2) == 0: - QMessageBox.information(self, "错误", "请勾选齐全身上穿戴的装备") - return - if self.组合计算(2) > 1: - QMessageBox.information(self, "错误", "请勿勾选身上未穿戴的装备") - return - self.修正套装计算(x) - self.角色属性B = deepcopy(self.初始属性) - self.角色属性B.技能栏 = deepcopy(self.初始属性.技能栏) - self.输入属性(self.角色属性B) - self.角色属性B.穿戴装备计算套装(self.有效穿戴组合[0]) - for i in self.角色属性B.装备栏: - equ.get_equ_by_name(i).城镇属性(self.角色属性B) - for i in self.角色属性B.套装栏: - equ.get_suit_by_name(i).城镇属性(self.角色属性B) - self.角色属性B.装备基础() - self.角色属性B.被动倍率计算() - self.面板修正(self.角色属性B.类型, x * 3) - - def 面板修正(self, 类型, x): - 数据 = [] - 原始数据 = [] - 名称 = ['力智', '三攻', '属强'] - for i in range(3): - try: - if self.一键站街设置输入[i + x].text() != '': - 数据.append(int(self.一键站街设置输入[i + x].text())) - else: - 数据.append(0) - except: - QMessageBox.information(self, "错误", 名称[i] + "输入格式错误,已重置为空") - self.一键站街设置输入[i + x].setText('') - 数据.append(0) - - if sum(数据) == 0: - return - - if 数据[0] != 0 and 数据[1] == 0: - QMessageBox.information(self, "错误", "请输入三攻") - return - - for i in range(5): - if self.属性设置输入[i][15].text() != '': - 原始数据.append(int(self.属性设置输入[i][15].text())) - else: - 原始数据.append(0) - if 数据[1] != 0: - if 类型 == '物理百分比': - self.物理百分比修正(数据[0] if 数据[0] != 0 else int(self.角色属性B.站街力量()), - 数据[1], 原始数据[0], 原始数据[2]) - elif 类型 == '魔法百分比': - self.魔法百分比修正(数据[0] if 数据[0] != 0 else int(self.角色属性B.站街智力()), - 数据[1], 原始数据[1], 原始数据[3]) - elif 类型 == '物理固伤': - self.物理固伤修正(数据[0] if 数据[0] != 0 else int(self.角色属性B.站街力量()), - 数据[1], 原始数据[0], 原始数据[4]) - elif 类型 == '魔法固伤': - self.魔法固伤修正(数据[0] if 数据[0] != 0 else int(self.角色属性B.站街智力()), - 数据[1], 原始数据[1], 原始数据[4]) - - if 数据[2] != 0: - self.属强修正(数据[2]) - self.click_window(2) - QMessageBox.information( - self, "自动修正计算完毕", "仅对站街修正进行了修改,使面板与输入一致
请自行核对其它页面 非力智三攻属强 条目") - - def 力量一键修正(self, 输入力智, 修正力量2): - 修正前力量 = self.角色属性B.力量 - if self.初始属性.实际名称 == '黑暗武士': - self.角色属性B.力量 = 输入力智 / self.角色属性B.技能栏[ - self.角色属性B.技能序号['次元融合']].力智倍率() - 修正力量 = int(输入力智 / self.角色属性B.技能栏[self.角色属性B.技能序号['次元融合']].力智倍率() + - 1) - int(修正前力量) - else: - self.角色属性B.力量 = 输入力智 - 修正力量 = 输入力智 - int(修正前力量) - self.属性设置输入[0][15].setText(str(int(修正力量 + 修正力量2))) - - def 智力一键修正(self, 输入力智, 修正智力2): - 修正前智力 = self.角色属性B.智力 - if self.初始属性.实际名称 == '黑暗武士': - self.角色属性B.智力 = 输入力智 / self.角色属性B.技能栏[ - self.角色属性B.技能序号['次元融合']].力智倍率() - 修正智力 = int(输入力智 / self.角色属性B.技能栏[self.角色属性B.技能序号['次元融合']].力智倍率() + - 1) - int(修正前智力) - else: - self.角色属性B.智力 = 输入力智 - 修正智力 = 输入力智 - int(修正前智力) - self.属性设置输入[1][15].setText(str(int(修正智力 + 修正智力2))) - - def 物攻一键修正(self, 输入力智, 输入三攻, 修正物理攻击力2): - 修正前物理攻击力 = self.角色属性B.物理攻击力 - 站街物理攻击倍率 = self.角色属性B.站街物理攻击力倍率() - j = round(输入三攻 / 站街物理攻击倍率, 0) - 站街实际三攻 = int(j) - for k in range(int(j) - 2, int(j) + 3): - self.角色属性B.物理攻击力 = float(k) - 验证物理攻击力1 = int(self.角色属性B.站街物理攻击力()) - self.角色属性B.物理攻击力 = float(k + 1) - 验证物理攻击力2 = int(self.角色属性B.站街物理攻击力()) - if 验证物理攻击力1 <= 输入三攻 and 验证物理攻击力2 > 输入三攻: - 站街实际三攻 = float(k) - 修正物理攻击力 = 站街实际三攻 - 修正前物理攻击力 - self.属性设置输入[2][15].setText(str(int(修正物理攻击力 + 修正物理攻击力2))) - - def 魔攻一键修正(self, 输入力智, 输入三攻, 修正魔法攻击力2): - 修正前魔法攻击力 = self.角色属性B.魔法攻击力 - 站街魔法攻击倍率 = self.角色属性B.站街魔法攻击力倍率() - j = round(输入三攻 / 站街魔法攻击倍率, 0) - 站街实际三攻 = int(j) - for k in range(int(j) - 2, int(j) + 3): - self.角色属性B.魔法攻击力 = float(k) - 验证魔法攻击力1 = int(self.角色属性B.站街魔法攻击力()) - self.角色属性B.魔法攻击力 = float(k + 1) - 验证魔法攻击力2 = int(self.角色属性B.站街魔法攻击力()) - if 验证魔法攻击力1 <= 输入三攻 and 验证魔法攻击力2 > 输入三攻: - 站街实际三攻 = float(k) - 修正魔法攻击力 = 站街实际三攻 - 修正前魔法攻击力 - self.属性设置输入[3][15].setText(str(int(修正魔法攻击力 + 修正魔法攻击力2))) - - def 独立一键修正(self, 输入力智, 输入三攻, 修正独立攻击力2): - 修正前独立攻击力 = self.角色属性B.独立攻击力 - 站街独立攻击倍率 = self.角色属性B.站街独立攻击力倍率() - j = round(输入三攻 / 站街独立攻击倍率, 0) - 站街实际三攻 = int(j) - for k in range(int(j) - 2, int(j) + 3): - self.角色属性B.独立攻击力 = float(k) - 验证独立攻击力1 = int(self.角色属性B.站街独立攻击力()) - self.角色属性B.独立攻击力 = float(k + 1) - 验证独立攻击力2 = int(self.角色属性B.站街独立攻击力()) - if 验证独立攻击力1 <= 输入三攻 and 验证独立攻击力2 > 输入三攻: - 站街实际三攻 = float(k) - 修正独立攻击力 = 站街实际三攻 - 修正前独立攻击力 - self.属性设置输入[4][15].setText(str(int(修正独立攻击力 + 修正独立攻击力2))) - - def 物理百分比修正(self, 输入力智, 输入三攻, 修正力量2, 修正物理攻击力2): - self.力量一键修正(输入力智, 修正力量2) - self.物攻一键修正(输入力智, 输入三攻, 修正物理攻击力2) - - def 魔法百分比修正(self, 输入力智, 输入三攻, 修正智力2, 修正魔法攻击力2): - self.智力一键修正(输入力智, 修正智力2) - self.魔攻一键修正(输入力智, 输入三攻, 修正魔法攻击力2) - - def 物理固伤修正(self, 输入力智, 输入三攻, 修正力量2, 修正独立攻击力2): - self.力量一键修正(输入力智, 修正力量2) - self.独立一键修正(输入力智, 输入三攻, 修正独立攻击力2) - - def 魔法固伤修正(self, 输入力智, 输入三攻, 修正智力2, 修正独立攻击力2): - self.智力一键修正(输入力智, 修正智力2) - self.独立一键修正(输入力智, 输入三攻, 修正独立攻击力2) - - def 属强修正(self, 输入属强): - try: - 站街火强 = self.角色属性B.火属性强化加成() + self.角色属性B.火属性强化 - except: - 站街火强 = self.角色属性B.火属性强化 - try: - 站街冰强 = self.角色属性B.冰属性强化加成() + self.角色属性B.冰属性强化 - except: - 站街冰强 = self.角色属性B.冰属性强化 - try: - 站街光强 = self.角色属性B.光属性强化加成() + self.角色属性B.光属性强化 - except: - 站街光强 = self.角色属性B.光属性强化 - try: - 站街暗强 = self.角色属性B.暗属性强化加成() + self.角色属性B.暗属性强化 - except: - 站街暗强 = self.角色属性B.暗属性强化 - - if self.属性设置输入[5][15].text() != '': - 修改前 = float(self.属性设置输入[5][15].text()) - else: - 修改前 = 0 - - 修正前属强 = int(max(站街火强, 站街冰强, 站街光强, 站街暗强)) - - for k in range(-2, 3): - temp = int((输入属强 + k - 修正前属强) / self.角色属性B.所有属性强化增加) - y = 修正前属强 + temp * self.角色属性B.所有属性强化增加 - if int(y) == 输入属强: - break - - 修改后 = temp + 修改前 - self.属性设置输入[5][15].setText(str(int(修改后))) - - # endregion - - # region 输出界面 - def 词条显示计算(self, 属性, x=0): - - 属白换算 = 属性.属性倍率 * 属性.属性附加 - - tempstr = [] - # temp = ''.format(self.辟邪玉显示()) - if x == 0: - label = "{}:{}" - - tempstr.append(label.format(trans("黄字"), to_percent(属性.伤害增加, - 1))) # 0 - tempstr.append(label.format(trans("暴伤"), to_percent(属性.暴击伤害, - 1))) # 1 - tempstr.append(label.format(trans("白字"), to_percent(属性.附加伤害, - 1))) # 2 - tempstr.append(label.format(trans("属白"), to_percent(属性.属性附加, - 1))) # 3 - - tempstr.append(label.format(trans("终伤"), to_percent(属性.最终伤害, - 1))) # 4 - - tempstr.append( - label.format(trans("技攻"), to_percent(属性.技能攻击力 - 1, 1))) # 5 - - tempstr.append(label.format(trans("三攻"), to_percent(属性.百分比三攻, - 1))) # 6 - - tempstr.append(label.format(trans("力智"), to_percent(属性.百分比力智, - 1))) # 7 - - tempstr.append(label.format(trans('持续'), to_percent(属性.持续伤害, - 1))) # 8 - tempstr.append(label.format(trans("攻速"), to_percent(属性.攻击速度, - 1))) # 9 - tempstr.append(label.format(trans("施放"), to_percent(属性.施放速度, - 1))) # 10 - tempstr.append(label.format(trans('移速'), to_percent(属性.移动速度, - 1))) # 11 - if 属白换算 != 0: - tempstr[2] += '|{}'.format(to_percent(属白换算 + 属性.附加伤害, 1)) - tempstr[3] += '|{}'.format(to_percent(属白换算, 1)) - else: - label = "{} +{}" - tempstr.append( - trans('攻击时,额外增加$的伤害增加量').format(to_percent(属性.伤害增加, 1))) # 0 - tempstr.append( - trans('暴击时,额外增加$的伤害增加量').format(to_percent(属性.暴击伤害, 1))) # 1 - tempstr.append(trans('攻击时,附加$的伤害').format(to_percent(属性.附加伤害, - 1))) # 2 - tempstr.append( - trans('攻击时,附加$的属性伤害').format(to_percent(属性.属性附加, 1))) # 3 - - tempstr.append(label.format(trans("最终伤害"), to_percent(属性.最终伤害, - 1))) # 4 - - tempstr.append( - label.format(trans("技能攻击力"), to_percent(属性.技能攻击力 - 1, 1))) # 5 - - tempstr.append( - label.format(trans("物理、魔法、独立攻击力"), to_percent(属性.百分比三攻, - 1))) # 6 - - tempstr.append( - label.format(trans("力量、智力"), to_percent(属性.百分比力智, 1))) # 7 - - tempstr.append( - trans('发生持续伤害X秒,伤害量为对敌人增加造成伤害的$').format(to_percent( - 属性.持续伤害, 1))) # 8 - tempstr.append(label.format(trans("攻击速度"), to_percent(属性.攻击速度, - 1))) # 9 - tempstr.append(label.format(trans("施放速度"), to_percent(属性.施放速度, - 1))) # 10 - tempstr.append(label.format(trans("移动速度"), to_percent(属性.移动速度, - 1))) # 11 - - # 为防止部分**对显示造成误解,暂不在词条后显示加成 - # date = {2:属性.附加伤害增加增幅, - # 3:属性.属性附加伤害增加增幅, - # 5:属性.技能伤害增加增幅, - # 1:属性.暴击伤害增加增幅, - # 0:属性.伤害增加增幅, - # 4:属性.最终伤害增加增幅, - # 7:属性.力量智力增加增幅, - # 6:属性.物理魔法攻击力增加增幅} - - # for i in date.keys(): - # if date[i] != 1.0: - # x = date[i] - 1 - # y = ' +{}%' if x > 0 else ' {}%' - # if i in [2, 3] and '|' in tempstr[i]: - # y = y.replace(' ', '') - # tempstr[i] += temp + '{}'.format(y.format(round(x * 100, 1))) - return tempstr - - def 面板布局设置(self, 面板显示, x=0): - - 初始x = 0 - const = 128 + 19 - - # self.main_frame5 - if x == 1: - 初始x += 805 - const += 31 - - count = 0 - - # 站街力量 站街物攻 进图力量 进图物攻 - for i in [0, 1, 4, 5, 6]: - 面板显示[i].move(20 + 初始x, const + count * 18) - count += 1 - count = 0 - - # 站街力量 站街物攻 进图力量 进图物攻 - # for i in [9, 10, 0, 1]: - # 面板显示[i].move(20 + 初始x, const + count * 18) - # count += 1 - # count = 0 - - # 站街智力 站街魔攻 进图智力 进图魔攻 - for i in [2, 3]: - 面板显示[i].move(150 + 初始x, const + count * 18) - count += 1 - # 独立 - # 面板显示[4].move(150 + 初始x, const + count * 18) - count = 6 - - 面板显示[7].move(20 + 初始x, const + 6 * 18) - 面板显示[8].move(150 + 初始x, const + 6 * 18) - 面板显示[9].move(20 + 初始x, const + 7 * 18 - 5) - 面板显示[10].move(150 + 初始x, const + 7 * 18 - 5) - - # 进图属强 - for i in range(len(面板显示) - 1): - 面板显示[i].resize(100, 18) - 面板显示[i].setAlignment(Qt.AlignRight) - if i in [7, 8, 9, 10]: - 面板显示[i].setAlignment(Qt.AlignCenter) - if i == 4: - 面板显示[i].resize(155, 18) - 面板显示[5].resize(230, 18) - 面板显示[6].resize(230, 18) - 面板显示[11].resize(230, 18) - 面板显示[11].move(20 + 初始x, const + 5 * 18) - 面板显示[11].setAlignment(Qt.AlignLeft) - # 面板显示[7].resize(100, 72) - # 面板显示[7].move(175 + 初始x, const + count * 18 - 75) - # 面板显示[7].setAlignment(Qt.AlignCenter) - # 面板显示[7].setStyleSheet('QLabel{font-size:12px}') - - def 面板显示设置(self, 显示, 进图, 站街): - - 显示[0].setText( - '{} {}'. - format(str(int(站街.站街力量())), str(int(进图.面板力量())))) - 显示[0].setStyleSheet("QLabel{font-size:12px;}") - 显示[1].setText( - '{} {}'. - format(str(int(站街.站街物理攻击力())), str(int(进图.面板物理攻击力())))) - 显示[1].setStyleSheet("QLabel{font-size:12px;}") - 显示[2].setText( - '{} {}'. - format(str(int(站街.站街智力())), str(int(进图.面板智力())))) - 显示[2].setStyleSheet("QLabel{font-size:12px;}") - 显示[3].setText( - '{} {}'. - format(str(int(站街.站街魔法攻击力())), str(int(进图.面板魔法攻击力())))) - 显示[3].setStyleSheet("QLabel{font-size:12px;}") - 显示[4].setText( - '{} {} {}'.format(str(int(站街.站街独立攻击力())), - str(int(进图.面板独立攻击力())), - get_mac_address()[0:8])) - 显示[4].setStyleSheet("QLabel{font-size:12px;}") - 显示[5].setText( - ('' + trans('火') + '({})' + trans('冰') + - '({})' + trans('光') + '({})' + trans('暗') + '({})').format( - int(站街.火属性强化), int(站街.冰属性强化), int(站街.光属性强化), int(站街.暗属性强化))) - 显示[5].setStyleSheet("QLabel{font-size:12px;}") - 显示[6].setText( - ('' + trans('火') + '({})' + trans('冰') + - '({})' + trans('光') + '({})' + trans('暗') + '({})').format( - int(进图.火属性强化), int(进图.冰属性强化), int(进图.光属性强化), int(进图.暗属性强化))) - 显示[6].setStyleSheet("QLabel{font-size:12px;}") - 辟邪玉词条 = self.辟邪玉显示(1) - for i in range(len(辟邪玉词条)): - 显示[7 + i].setText(辟邪玉词条[i]) - 显示[7 + i].setStyleSheet("QLabel{font-size:12px;}") - - 显示[11].setText("{}".format( - get_mac_address()[0:8])) - 显示[11].setStyleSheet("QLabel{font-size:15px;}") - - # 显示[0].setText(str(int(进图.面板力量()))) - # 显示[1].setText(str(int(进图.面板物理攻击力()))) - # 显示[2].setText(str(int(进图.面板智力()))) - # 显示[3].setText(str(int(进图.面板魔法攻击力()))) - - # # 独立攻击力 - # tempstr = '{} '.format(int( - # 站街.站街独立攻击力())) - # tempstr += '{}'.format(int(进图.面板独立攻击力())) - # 显示[4].setText(tempstr) - - # # 属性强化 - # tempstr = '' - # # if 进图.所有属性强化增加 != 1.0: - # # x = 进图.所有属性强化增加 - 1 - # # y = ' +{}%' if x > 0 else ' {}%' - # # tempstr += '{}'.format(self.辟邪玉显示(), y.format(round(x * 100, 1))) - # 显示[5].setText('{}{}'.format(int(进图.火属性强化), tempstr)) - # 显示[6].setText('{}{}'.format(int(进图.冰属性强化), tempstr)) - # 显示[7].setText('{}{}'.format(int(进图.光属性强化), tempstr)) - # 显示[8].setText('{}{}'.format(int(进图.暗属性强化), tempstr)) - # 显示[9].setText(str(int(站街.站街力量()))) - # 显示[10].setText(str(int(站街.站街物理攻击力()))) - # 显示[11].setText(str(int(站街.站街智力()))) - # 显示[12].setText(str(int(站街.站街魔法攻击力()))) - # 显示[13].setText(str(int(站街.火属性强化))) - # 显示[14].setText(str(int(站街.冰属性强化))) - # 显示[15].setText(str(int(站街.光属性强化))) - # 显示[16].setText(str(int(站街.暗属性强化))) - # 显示[17].setText(self.辟邪玉显示(1)) - - def 辟邪玉显示(self, x=0): - temp = '' - num = 0 - list = [] - for i in range(4): - k = self.辟邪玉选择[i].currentIndex() - if k > 0: - list.append('{} {}'.format( - trans(辟邪玉列表[k].简称), '' if self.辟邪玉数值[i].currentText() - == '+0' else self.辟邪玉数值[i].currentText())) - num += 1 - 辟邪玉颜色 = 颜色[{4: '史诗', 3: '传说', 2: '神器', 1: '稀有'}.get(num, '稀有')] - if x == 0: - return 辟邪玉颜色 - else: - if num == 0: - return '' - else: - for i in range(num): - list[i] = '{}'.format( - 辟邪玉颜色, list[i]) - return list - - def 套装显示设置(self, 显示, 属性): - count = 0 - - 显示[count].setText(trans(self.称号.currentData())) - 显示[count].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 显示[count].setToolTip(self.称号描述()) - count += 1 - - 显示[count].setText(trans(self.宠物.currentData())) - 显示[count].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 显示[count].setToolTip(self.宠物描述()) - count += 1 - - 神话所在套装 = [] - for i in range(11): - temp = equ.get_equ_by_name(属性.装备栏[i]) - if temp.品质 == '神话': - 神话所在套装.append(temp.所属套装) - - # 套装属性合并 - 套装 = [] - 套装件数 = [] - 套装属性 = [] - 套装名称 = 属性.套装栏 - for i in range(len(套装名称)): - temp = 套装名称[i].split('[')[0] - if temp not in 套装: - 套装.append(temp) - 套装件数.append([]) - 套装属性.append('') - if len(套装名称[i].split('[')) > 1: - 件数 = 套装名称[i].split('[')[1].split(']')[0] - 套装件数[套装.index(temp)].append(件数) - 套装属性[套装.index( - temp - )] += '' + 套装名称[ - i] + '
' + equ.get_suit_by_name(套装名称[i]).装备描述( - self.角色属性B)[:-4] + '

' - - # 自适应属性 - if sum(self.角色属性A.自适应选项) != 0: - 套装.append(self.角色属性A.自适应输出()) - 套装件数.append([]) - 套装属性.append('') - tempstr = '' - 武器词条属性 = trans(['力智', '三攻', '黄字', '白字', '暴伤', '终伤']) - if self.希洛克武器词条[0].currentIndex() == 1: - tempstr += trans("{残香}:$value+10%", - value=武器词条属性[self.角色属性A.词条选择[0]]) - if sum(self.希洛克选择状态) == 3: - tempstr += "|{}+5%".format(武器词条属性[self.角色属性A.词条选择[1]]) - 套装.append(tempstr) - 套装件数.append([]) - 套装属性.append('') - - # 显示套装 - for i in range(len(套装)): - if len(套装件数[i]) > 0: - 显示[count].setText(trans(套装[i]) + '[' + str(max(套装件数[i])) + ']') - else: - 显示[count].setText(trans(套装[i])) - if 套装[i] in 神话所在套装: - 显示[count].setStyleSheet( - "QLabel{font-size:12px;color:rgb(226,150,146)}") - else: - 显示[count].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 显示[count].setToolTip(套装属性[i][:-4]) - count += 1 - - try: - # 显示黑鸦词条 - 黑鸦部位 = trans(['武器', '戒指', '辅助装备', '下装']) - for i in range(4): - if 属性.黑鸦词条[i][4] != '': - 显示[count].setText(黑鸦部位[i] + ':' + - 属性.黑鸦词条[i][4].replace('
', ' ')) - 显示[count].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - count += 1 - except Exception as error: - logger.error(error) - pass - - def 打造显示设置(self, 显示, 属性, x=0): - 初始x = 10 - 初始y = 31 - pox_y2 = 11 - - # self.main_frame5 - if x == 1: - 初始x += 805 - 初始y += 20 + pox_y2 - - 偏移量 = 187 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - - temp = [] - for i in range(12): - 装备 = equ.get_equ_by_name(属性.装备栏[i]) - 打造状态 = 显示[i] - if 装备.所属套装 != '智慧产物': - 打造状态.setText('+' + str(属性.强化等级[i])) - if 属性.是否增幅[i] == 1: - 打造状态.setStyleSheet( - "QLabel{color:rgb(228,88,169);font-size:12px;font-weight:Bold}" - ) - temp.append('增幅+{} {}'.format(属性.强化等级[i], 装备.名称)) - else: - 打造状态.setStyleSheet( - "QLabel{color:rgb(25,199,234);font-size:12px;font-weight:Bold}" - ) - temp.append('强化+{} {}'.format(属性.强化等级[i], 装备.名称)) - - else: - 打造状态.setText('+' + str(属性.改造等级[i])) - 打造状态.setStyleSheet( - "QLabel{color:rgb(249,141,62);font-size:12px;font-weight:Bold;}" - ) - temp.append('改造+{} {}'.format(属性.改造等级[i], 装备.名称)) - - 打造状态.move(初始x + x坐标[i] + 13, 初始y + y坐标[i] - 8 - pox_y2) - 打造状态.resize(21, 10) - - 装备 = equ.get_equ_by_name(属性.装备栏[11]) - if 装备.所属套装 != '智慧产物' and 属性.武器锻造等级 != 0: - 打造状态 = 显示[12] - 打造状态.setText('+' + str(属性.武器锻造等级)) - 打造状态.setStyleSheet( - "QLabel{color:rgb(232,104,24);font-size:12px;font-weight:Bold}" - ) - 打造状态.move(初始x + x坐标[11] + 13, 初始y + y坐标[11] + 20 - pox_y2) - temp[11] += '(锻造+{})'.format(属性.武器锻造等级) - 打造状态.resize(21, 10) - return temp - - def 格式化输出(self, 数字文本, x=0): - if x == 1: - 返回值 = str('%.2f' % round(int(数字文本) / 100000000, 2)) - elif self.显示选项.isChecked(): - 返回值 = str('%.2f' % round(int(数字文本) / 100000000, 2)) + '亿' - else: - 返回值 = '' - for i in range(len(数字文本)): - if len(数字文本) % 3 == 2 and i % 3 == 2: - 返回值 += ',' - if len(数字文本) % 3 == 1 and i % 3 == 1: - 返回值 += ',' - if len(数字文本) % 3 == 0 and i % 3 == 0: - if i != 0: - 返回值 += ',' - 返回值 += str(数字文本[i]) - return 返回值 - - def 称号描述(self): - temp = '' - temp += '' + \ - trans(self.称号.currentData()) + '
' - temp += 称号列表[self.称号.currentIndex()].装备描述(self.角色属性B)[:-4] - temp += '
' - return temp - - def 宠物描述(self): - temp = '' - temp += '' + self.宠物.currentText( - ) + '
' - temp += 宠物列表[self.宠物.currentIndex()].装备描述(self.角色属性B)[:-4] - temp += '
' - return temp - - def 装备描述计算(self, 属性): - tempstr = [] - 数量 = sum(self.希洛克选择状态) - - 武器词条属性 = ['力智', '三攻', '黄字', '白字', '暴伤', '终伤'] - 希洛克 = self.希洛克属性计算(属性, 1) - 奥兹玛 = self.奥兹玛属性计算(属性, 1) - - for i in range(12): - 装备 = equ.get_equ_by_name(属性.装备栏[i]) - # 名称 - tempstr.append( - trans( - '{$name}', - color=颜色[装备.品质], - name=装备.名称)) - # 等级 品质 类型 部位 - tempstr[i] += trans('
Lv$level {$rarity} {$type}({$part})', - level=装备.等级, - rarity=装备.品质, - type=装备.类型, - part=装备.部位) - # 套装 - if 装备.所属套装 != '无': - if 装备.所属套装 != '智慧产物': - y = 装备.所属套装 - else: - y = 装备.所属套装2 - else: - y = '' - if y != '': - tempstr[i] += trans( - '
{$value} {套装}', value=y) - - # 精通描述 - if i < 5: - x = 属性.防具精通计算(i) - y = trans('
{精通}:') - for n in 属性.防具精通属性: - y += trans(n) + ' ' - tempstr[i] += y + '+' + str(x) - - # 打造描述 - if 装备.所属套装 != '智慧产物': - # 强化描述 - if 属性.强化等级[i] != 0: - if i == 8: - tempstr[i] += trans( - '
+$value {强化}:', - value=属性.强化等级[i]) - tempstr[i] += trans('{三攻} + $value', - value=耳环计算(装备.等级, 装备.品质, - 属性.强化等级[i])) - if i in [9, 10]: - tempstr[i] += trans( - '
+$value {强化}:', - value=属性.强化等级[i]) - tempstr[i] += trans('{四维} + $value', - value=左右计算(装备.等级, 装备.品质, - 属性.强化等级[i])) - if i == 11: - tempstr[i] += trans( - '
+$value {强化}:', - value=属性.强化等级[i]) - tempstr[i] += trans('{物理攻击力} + $value', - value=武器计算(装备.等级, 装备.品质, - 属性.强化等级[i], 装备.类型, - '物理')) - tempstr[i] += trans( - '
+$value {强化}:', - value=属性.强化等级[i]) - tempstr[i] += trans('{魔法攻击力} + $value', - value=武器计算(装备.等级, 装备.品质, - 属性.强化等级[i], 装备.类型, - '魔法')) - # 锻造描述 - if i == 11 and 属性.武器锻造等级 != 0: - tempstr[i] += trans( - '
+$value {锻造} ', - value=属性.武器锻造等级) - tempstr[i] += trans('{独立攻击力} + $value', - value=锻造计算(装备.等级, 装备.品质, 属性.武器锻造等级)) - - # 增幅描述 - if 属性.是否增幅[i] == 1: - if tempstr[i] != '': - tempstr[i] += '
' - - value = 增幅计算(装备.等级, 装备.品质, 属性.强化等级[i], 属性.增幅版本) - tempstr[i] += trans("+$value {增幅}:", - value=属性.强化等级[i]) - if '物理' in 属性.类型 or '力量' in 属性.类型: - tempstr[i] += trans('异次元力量') - else: - tempstr[i] += trans('异次元智力') - tempstr[i] += ' +{}'.format(value) - - # 遴选描述 - if tempstr[i] != '': - tempstr[i] += '
' - if i == 2 and 属性.黑鸦词条[3][0] != 0 and 属性.变换词条[3][1] != 0: - tempstr[i] += 装备.装备描述_变换属性(属性)[:-4] + "
" - tempstr[i] += 属性.黑鸦词条[3][4] - # 下装 - elif i == 7 and 属性.黑鸦词条[1][0] != 0 and 属性.变换词条[1][1] != 0: - tempstr[i] += 装备.装备描述_变换属性(属性)[:-4] + "
" - tempstr[i] += 属性.黑鸦词条[1][4] - # 戒指 - elif i == 9 and 属性.黑鸦词条[2][0] != 0 and 属性.变换词条[2][1] != 0: - tempstr[i] += 装备.装备描述_变换属性(属性)[:-4] + "
" - tempstr[i] += 属性.黑鸦词条[2][4] - # 辅助 - elif i == 11 and 属性.黑鸦词条[0][0] != 0 and 属性.变换词条[0][1] != 0: - tempstr[i] += 装备.装备描述_变换属性(属性)[:-4] + "
" - tempstr[i] += 属性.黑鸦词条[0][4] - # 武器 - else: - tempstr[i] += 装备.装备描述(属性)[:-4] - - # 希洛克描述 - if i in [2, 7, 9]: - if 希洛克[i] != '': - tempstr[i] += trans( - '
{希洛克融合属性}:
') - tempstr[i] += 希洛克[i] - - # 奥兹玛描述 - if i in [1, 3, 4, 6, 10]: - if 奥兹玛[i] != '': - tempstr[i] += trans( - '
{奥兹玛融合属性}:
') - tempstr[i] += 奥兹玛[i] - - # 希洛克武器描述 - if self.希洛克武器词条[0].currentIndex() > 0 and i == 11: - tempstr[i] += trans( - '
{希洛克融合属性}:
') - if self.希洛克武器词条[0].currentIndex() == 1: - tempstr[i] += trans("{属性1}:{$value} +10%
", - value=武器词条属性[属性.词条选择[0]]) - if 数量 == 3: - tempstr[i] += trans("{属性2}:{$value} +5%
", - value=武器词条属性[属性.词条选择[1]]) - else: - tempstr[i] += trans( - "{属性1}:{$a} +$b%
", - a=武器词条属性[self.希洛克武器词条[1].currentIndex()], - b=(self.希洛克武器词条[3].currentIndex() + 3) * 2) - if 数量 == 3: - tempstr[i] += trans( - "{属性2}:{$a} +$b%
", - a=武器词条属性[self.希洛克武器词条[2].currentIndex()], - b=(self.希洛克武器词条[4].currentIndex() + 3) * 1) - if tempstr[i].endswith('
'): - tempstr[i] = tempstr[i][:-4] - tempstr[i] += '
' - return tempstr - - def 百分比输出(self, A, B): - if B == 0: - return self.格式化输出(str(int(A))) - temp1 = A - B - temp2 = round((A / B - 1) * 100, 2) - if self.对比格式.isChecked(): - if temp1 == 0: - return '无变化' - elif temp1 > 0: - return '+' + self.格式化输出( - str(int(temp1)), 1) + ' (' + str( - '%.2f' % abs(temp2)) + '%)' - else: - return '' + self.格式化输出( - str(int(temp1)), 1) + ' (' + str( - '%.2f' % abs(temp2)) + '%)' - else: - if temp2 == 0: - return '无变化' - elif temp2 > 0: - return '+' + str( - '%.2f' % temp2) + '%' - else: - return '' + str( - '%.2f' % temp2) + '%' - - def 被动技能描述(self, i): - tempstr = '' - if self.角色属性B.技能栏[i].所在等级 != 100 or self.角色属性B.技能栏[i].是否主动 == 0: - if self.角色属性B.技能栏[i].等级 > 0: - if self.角色属性B.技能栏[i].自定义描述 == 1: - tempstr += '' + trans( - self.角色属性B.技能栏[i].名称) + '
' - tempstr += self.角色属性B.技能栏[i].技能描述(self.角色属性B.武器类型) - else: - 不适用于title = trans('({不适用于}:') - if self.角色属性B.技能栏[i].关联技能 != [ - '无' - ] and self.角色属性B.技能栏[i].加成倍率(self.角色属性B.武器类型) != 1: - 加成倍率key = '{加成倍率}:$value
' - 关联技能title = trans('{关联技能}:') - tempstr += trans( - '{$value}
', - value=self.角色属性B.技能栏[i].名称) - tempstr += trans( - 加成倍率key, - value=to_percent( - self.角色属性B.技能栏[i].加成倍率(self.角色属性B.武器类型) - 1, - 2)) - tempstr += 关联技能title - for j in self.角色属性B.技能栏[i].关联技能: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].关联技能[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非关联技能 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非关联技能: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非关联技能[-1]: - tempstr += ',' - tempstr += ')
' - if self.角色属性B.技能栏[i].关联技能2 != ['无']: - tempstr += "
" + trans( - 加成倍率key, - value=to_percent( - self.角色属性B.技能栏[i].加成倍率2(self.角色属性B.武器类型) - - 1, 2)) - tempstr += 关联技能title - for k in self.角色属性B.技能栏[i].关联技能2: - tempstr += trans(k) - if k != self.角色属性B.技能栏[i].关联技能2[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非关联技能2 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非关联技能2: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非关联技能2[-1]: - tempstr += ',' - tempstr += ')
' - if self.角色属性B.技能栏[i].关联技能3 != ['无']: - tempstr += "
" + trans( - 加成倍率key, - value=to_percent( - self.角色属性B.技能栏[i].加成倍率3(self.角色属性B.武器类型) - - 1, 2)) - tempstr += 关联技能title - for l in self.角色属性B.技能栏[i].关联技能3: - tempstr += trans(l) - if l != self.角色属性B.技能栏[i].关联技能3[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非关联技能3 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非关联技能3: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非关联技能3[-1]: - tempstr += ',' - tempstr += ')
' - if self.角色属性B.技能栏[i].冷却关联技能 != [ - '无' - ] and self.角色属性B.技能栏[i].CD缩减倍率(self.角色属性B.武器类型) != 1: - 冷却关联title = trans('{冷却关联技能}:') - 冷却缩减key = "{冷却缩减}:$value
" - if tempstr == '': - tempstr += trans( - '{$value}
', - value=self.角色属性B.技能栏[i].名称) - else: - tempstr += '
' - tempstr += trans( - 冷却缩减key, - value=to_percent( - 1 - self.角色属性B.技能栏[i].CD缩减倍率(self.角色属性B.武器类型), - 2)) - tempstr += 冷却关联title - for j in self.角色属性B.技能栏[i].冷却关联技能: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].冷却关联技能[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非冷却关联技能 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非冷却关联技能: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非冷却关联技能[-1]: - tempstr += ',' - tempstr += ')
' - if self.角色属性B.技能栏[i].冷却关联技能2 != ['无']: - tempstr += trans( - 冷却缩减key, - value=to_percent( - 1 - - self.角色属性B.技能栏[i].CD缩减倍率2(self.角色属性B.武器类型), - 2)) - tempstr += 冷却关联title - for j in self.角色属性B.技能栏[i].冷却关联技能2: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].冷却关联技能2[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非冷却关联技能2 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非冷却关联技能2: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非冷却关联技能2[-1]: - tempstr += ',' - tempstr += ')
' - if self.角色属性B.技能栏[i].冷却关联技能3 != ['无']: - tempstr += trans( - 冷却缩减key, - value=to_percent( - 1 - - self.角色属性B.技能栏[i].CD缩减倍率3(self.角色属性B.武器类型), - 2)) - tempstr += 冷却关联title - for j in self.角色属性B.技能栏[i].冷却关联技能3: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].冷却关联技能3[-1]: - tempstr += ',' - if self.角色属性B.技能栏[i].非冷却关联技能3 != ['无']: - tempstr += 不适用于title - for j in self.角色属性B.技能栏[i].非冷却关联技能3: - tempstr += trans(j) - if j != self.角色属性B.技能栏[i].非冷却关联技能3[-1]: - tempstr += ',' - tempstr += ')
' - return tempstr - - def 输出界面(self, index, name=''): - # 调试模式下 index为-1 - flag = 1 - if index < 0: - flag = 0 - index = 0 - 武器名称 = '' - for i in equ.get_equ_list(): - if i.类型 == self.角色属性A.武器选项[0]: - 武器名称 = i.名称 - break - #调试模式默认图标显示 - self.排行数据.append([ - '撒旦:沸腾之怒', '贝利亚尔:毁灭之种', '亚蒙:谎言之力', '亚巴顿:绝望地狱', '巴尔:堕落之魂', - '白象之庇护', '四叶草之初心', '红兔之祝福', '军神的心之所念', '军神的遗书', '军神的庇护宝石', - 武器名称, 0, '噩梦:地狱之路[2]', '噩梦:地狱之路[3]', '噩梦:地狱之路[5]', '幸运三角[2]', - '幸运三角[3]', '军神的隐秘遗产[2]', '军神的隐秘遗产[3]', '无' - ]) - - pdata = {} - 装备名称 = self.排行数据[index][0:12] - 套装名称 = self.排行数据[index][13:-1] - 百变怪 = self.排行数据[index][-1] - - self.角色属性B = deepcopy(self.角色属性A) - self.角色属性B.穿戴装备(装备名称, 套装名称) - - #C为站街属性 - C = self.站街计算(装备名称, 套装名称) - if flag == 1: - self.角色属性B.其它属性计算() - - 词条提升率计算 = deepcopy(self.角色属性B) - 统计详情 = self.角色属性B.伤害计算(1) - # self.角色属性B.计算自适应方式 = 0 - - # 最大输出界面限制 - if len(self.输出窗口列表) >= 10: - del self.输出窗口列表[0] - - 输出窗口 = QWidget() - 输出窗口.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - } - QLabel { - font-size:12px; - }''') - - 输出窗口.setFixedSize(788, 546) - pox_y = 18 - pox_y2 = 11 - temp = '' - if name == '': - temp += trans('详细数据') + ' 仅供参考 带节奏死个🐎' + ' ' + get_mac_address() - # if self.角色属性A.计算自适应方式 == 1: - # temp+= ' - 全局择优' - # else: - # temp+= ' - 局部择优' - else: - temp += name - # temp += "装备版本:"+self.角色属性A.版本 + " 增幅版本:" + self.角色属性A.增幅版本 - - 输出窗口.setWindowTitle(temp) - 输出窗口.setWindowIcon(self.icon) - QLabel(输出窗口).setPixmap(self.输出背景图片) - 人物 = QLabel(输出窗口) - 图片 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + "/人物.png") - 人物.setPixmap(图片) - 人物.move(90 + int(45 - 图片.width() / 2), 40 - pox_y2) - 人物.resize(90, 90) - 人物.setAlignment(Qt.AlignTop) - - excel = [] - for i in range(len(self.角色属性B.技能栏)): - excel.append(统计详情[i * 4 + 1]) - excel.sort() - - 面板显示 = [] - for i in range(18): - 面板显示.append(QLabel(输出窗口)) - - self.面板布局设置(面板显示) - - self.面板显示设置(面板显示, self.角色属性B, C) - - j = 312 - pdata['词条'] = self.词条显示计算(self.角色属性B) - 词条解释 = self.词条显示计算(self.角色属性B, 1) - for i in range(0, len(pdata['词条'])): - templab = QLabel(输出窗口) - templab.setText(pdata['词条'][i]) - if i == 5 and self.角色属性B.技能攻击力累加 > 2: - templab.setStyleSheet( - "QLabel{font-size:12px;color:red}") - else: - templab.setStyleSheet( - "QLabel{font-size:12px;color:rgb(104,213,237)}") - templab.move(7, j - pox_y2) - templab.resize(180, 17) - templab.setAlignment(Qt.AlignLeft) - templab.setToolTip('' + 词条解释[i] + '') - j += 17 - - 位置 = 308 - 间隔 = 17 - - 套装名称显示 = [] - for i in range(16): - 套装名称显示.append(QLabel(输出窗口)) - 套装名称显示[i].move(114, 位置 - pox_y2 + 间隔 * i) - 套装名称显示[i].resize(150, 18) - 套装名称显示[i].setAlignment(Qt.AlignCenter) - 套装名称显示[i].setText('') - - self.套装显示设置(套装名称显示, self.角色属性B) - - 实际技能等级 = [] - 技能等效CD = [] - for i in self.角色属性B.技能栏: - 实际技能等级.append(i.等级) - if i.是否有伤害 == 1: - 技能等效CD.append(i.等效CD(self.角色属性B.武器类型, self.角色属性B.类型)) - else: - 技能等效CD.append(0) - - 总伤害数值 = 0 - - count = 0 - for i in range(len(self.角色属性B.技能栏)): - if 统计详情[i * 4 + 1] != 0: - count += 1 - - self.行高 = 32 - - 伤害列表 = [] - for i in range(len(self.角色属性B.技能栏)): - 伤害列表.append(统计详情[i * 4 + 1]) - 总伤害数值 += 统计详情[i * 4 + 1] - 伤害列表.sort(reverse=True) - try: - self.exports_store() - 更新人物名望() - # TODO: 重新布局 - 总名望 = store.get("/fame/temp_result") - 名望详情 = store.get("/fame/temp_result/detail") - if 总名望 > 0: - dmi = ((总伤害数值 / 1e8) / pow((总名望 / (1e4) - 0.5), 3)) - templabel = QLabel(输出窗口) - templabel.setText("{} ({})".format(总名望, round(dmi, 2))) - templabel.setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - templabel.move(130, 110) - templabel.resize(100, 42) - templabel.setToolTip( - '系数计算公式:dmi = ((总伤害数值 / 1e8) / pow((总名望 / (1e4) - 0.5), 3))
' - + str(名望详情)) - - except Exception as e: - logger.error(e) - if len(self.基准值) != 0: - 显示模式 = 1 - else: - 显示模式 = 0 - - main = 技能详情(输出窗口, self, 统计详情, excel, 实际技能等级, 技能等效CD, 显示模式, count) - pdata['技能'] = main.data - main.setGeometry(277, 36 - pox_y, 498, 455) - - # region 被动详情 - num = 0 - for i in range(len(self.角色属性B.技能栏)): - # Will修改 - tempstr = self.被动技能描述(i) - if tempstr != '': - tempstr += '' - 被动数据 = QLabel(输出窗口) - 被动数据.setPixmap(self.技能图片[i]) - 被动数据.setToolTip(tempstr) - 被动数据.move(293 + num * 40, 500 - pox_y) - 被动等级 = QLabel(输出窗口) - 被动等级.setText('Lv.' + str(实际技能等级[i])) - 被动等级.move(293 - 6 + num * 40, 480 - pox_y) - 被动等级.resize(40, 28) - if 实际技能等级[i] != 0: - 被动等级.setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - else: - 被动等级.setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,0,0)}") - 被动等级.setAlignment(Qt.AlignCenter) - num += 1 - - if self.角色属性B.远古记忆 > 0: - 被动数据 = QLabel(输出窗口) - 被动数据.setPixmap((QPixmap('./ResourceFiles/img/远古记忆.png'))) - tempstr = trans( - '{远古记忆}
{智力}+$value
', - value=self.角色属性B.远古记忆 * 15) - 被动数据.setToolTip(tempstr) - 被动数据.move(293 + num * 40, 500 - pox_y) - 被动等级 = QLabel(输出窗口) - 被动等级.setText('Lv.' + str(self.角色属性B.远古记忆)) - 被动等级.move(293 - 6 + num * 40, 480 - pox_y) - 被动等级.resize(40, 28) - 被动等级.setAlignment(Qt.AlignCenter) - 被动等级.setStyleSheet("QLabel{font-size:12px;color:rgb(255,255,255)}") - num += 1 - - if self.角色属性B.刀魂之卡赞 > 0: - 被动数据 = QLabel(输出窗口) - 被动数据.setPixmap((QPixmap('./ResourceFiles/img/刀魂之卡赞.png'))) - tempstr = trans( - '{刀魂之卡赞}
{力量、智力}+$value
', - value=刀魂之卡赞数据[self.角色属性B.刀魂之卡赞]) - 被动数据.setToolTip(tempstr) - 被动数据.move(293 + num * 40, 500 - pox_y) - 被动等级 = QLabel(输出窗口) - 被动等级.setText('Lv.' + str(self.角色属性B.刀魂之卡赞)) - 被动等级.move(293 - 6 + num * 40, 480 - pox_y) - 被动等级.resize(40, 28) - 被动等级.setAlignment(Qt.AlignCenter) - 被动等级.setStyleSheet("QLabel{font-size:12px;color:rgb(255,255,255)}") - num += 1 - # endregion - - 总伤害 = QLabel(输出窗口) - 总伤害.setStyleSheet("QLabel{color:rgb(255,255,255);font-size:25px}") - if 显示模式 == 1: - 总伤害.setText(self.百分比输出(总伤害数值, self.基准值[0])) - else: - 总伤害.setText(self.格式化输出(str(int(总伤害数值)))) - 总伤害.resize(250, 36) - 总伤害.move(10, 520 - pox_y2) - 总伤害.setAlignment(Qt.AlignCenter) - - 初始x = 10 - 初始y = 31 - - 图片列表 = self.获取装备图片(self.排行数据[index]) - - 偏移量 = 187 - x坐标 = [ - 32, 0, 0, 32, 0, 偏移量, 偏移量 + 32, 偏移量 + 32, 偏移量, 偏移量, 偏移量 + 32, 32 - ] - y坐标 = [0, 0, 32, 32, 64, 0, 0, 32, 64, 32, 64, 64] - - tempstr = self.装备描述计算(self.角色属性B) - - for i in range(12): - 装备图标 = QLabel(输出窗口) - 装备图标.setMovie(图片列表[i]) - 装备图标.resize(26, 26) - 装备图标.move(初始x + x坐标[i], 初始y + y坐标[i] - pox_y2) - 装备图标.setAlignment(Qt.AlignCenter) - if self.角色属性B.装备栏[i] == 百变怪: - 图标遮罩 = QLabel(输出窗口) - 图标遮罩.setStyleSheet("QLabel{background-color:rgba(0,0,0,0.5)}") - 图标遮罩.resize(26, 26) - 图标遮罩.move(初始x + x坐标[i], 初始y + y坐标[i] - pox_y2) - 图标遮罩.setToolTip(tempstr[i]) - else: - 装备图标.setToolTip(tempstr[i]) - - 打造显示 = [] - for i in range(13): - 打造显示.append(QLabel(输出窗口)) - 打造显示[i].move(-100, -100) - - temp = self.打造显示设置(打造显示, self.角色属性B) - - pdata['名称'] = self.角色属性A.实际名称 - pdata['装备'] = temp - - if 多语言开关 == 0: - label = QLabel(输出窗口) - label.setText(get_mac_address()) - label.setStyleSheet( - f'QLabel{{font-size:15px;{make_watermark_qt_color_string(watermark_surrounding_backgroud_color_detail)};font-weight:bolder}}' - ) - label.move(290, 540 - pox_y) - butten = QtWidgets.QPushButton(trans('输出技能数据'), 输出窗口) - butten.clicked.connect( - lambda state, d=deepcopy(pdata): self.输出数据(d)) - butten.move(676, 540 - pox_y) - butten.setStyleSheet(按钮样式) - butten.resize(90, 21) - 词条提升率计算.输出提升率 = 总伤害数值 - butten = QtWidgets.QPushButton(trans('输出择优数据'), 输出窗口) - butten.clicked.connect(lambda state: 词条提升率计算.伤害计算(0)) - butten.move(575, 540 - pox_y) - butten.setStyleSheet(按钮样式) - butten.resize(90, 21) - - 输出显示 = MainWindow(输出窗口) - self.输出窗口列表.append(输出显示) - 输出显示.show() - - def 输出数据(self, d): - try: - increase_counter(ga_category="carry详细功能使用", name="输出技能数据") - path = './详细数据' - if not os.path.exists(path): - os.makedirs(path) - - count = max(len(d['装备']), len(d['词条']), len(d['技能'])) - rows = [] - for i in range(count): - t = d['词条'][i].split(':') if i < len(d['词条']) else [] - rows.append([ - (str(d['装备'][i]) if i < len(d['装备']) else ''), - (str(t[0][-2] + t[0][-1]) if i < len(d['词条']) else ''), - (str(t[1]) if i < len(d['词条']) else ''), - '', - (str(d['技能'][i][0]) if i < len(d['技能']) else ''), - (str(d['技能'][i][1]) if i < len(d['技能']) else ''), - (str(d['技能'][i][2]) if i < len(d['技能']) else ''), - (str(d['技能'][i][3]) if i < len(d['技能']) else ''), - (str(d['技能'][i][4]) if i < len(d['技能']) else ''), - (str(d['技能'][i][5]) if i < len(d['技能']) else ''), - (str(d['技能'][i][6]) if i < len(d['技能']) else ''), - (str(d['技能'][i][7]) if i < len(d['技能']) else ''), - ]) - result_path = os.path.join( - path, '{}-{}.csv'.format(d['名称'], - time.strftime('%m-%d-%H-%M-%S'))) - result = open(result_path, 'w', encoding='gbk') - result.write( - "装备,词条类型,词条数值,,技能名称,技能等级,技能CD,技能次数,总伤害,平均伤害,伤害占比,技能倍率\n") - for row in rows: - result.write(','.join(row) + '\n') - result.close() - os.startfile(result_path) - except Exception as error: - pass - - # endregion - - # region 输入属性 - def 输入属性(self, 属性, x=0): - - i = self.攻击目标.currentIndex() - 属性.防御输入 = 攻击目标[i][1] - 属性.火抗输入 = 攻击目标[i][2] - 属性.冰抗输入 = 攻击目标[i][3] - 属性.光抗输入 = 攻击目标[i][4] - 属性.暗抗输入 = 攻击目标[i][5] - - if self.初始属性.远古记忆 != -1: - 属性.远古记忆 = self.远古记忆.currentIndex() - if self.初始属性.刀魂之卡赞 != -1: - 属性.刀魂之卡赞 = self.刀魂之卡赞.currentIndex() - - 属性.自适应选项 = copy([(1 if self.红色宠物装备.isChecked() else 0), - (1 if self.光环自适应.isChecked() else 0)]) - # 属性.计算自适应方式 = self.单套择优方式选项.currentIndex() - - if self.转甲选项.isChecked(): - 属性.转甲选项 = 1 - else: - 属性.转甲选项 = 0 - - for j in [self.等级调整, self.TP输入, self.次数输入, self.宠物次数]: - for i in j: - if i != '' and i.currentIndex() == -1: - i.setCurrentIndex(0) - - for i in 属性.技能栏: - i.等级 = i.基础等级 + int(self.等级调整[self.角色属性A.技能序号[i.名称]].currentData()) - if i.是否有伤害 == 1: - if i.TP上限 != 0: - i.TP等级 = int( - self.TP输入[self.角色属性A.技能序号[i.名称]].currentData()) - - if x == 0: - self.辟邪玉属性计算(属性) - elif x >= 100: - y = x - 100 - 辟邪玉列表[y].当前值 = 辟邪玉列表[y].最大值 - 辟邪玉列表[y].穿戴属性(属性) - - if sum(self.希洛克选择状态) == 3: - 属性.武器词条触发 = 1 - - if self.希洛克武器词条[0].currentIndex() == 1: - 属性.希洛克武器词条 = 1 - elif self.希洛克武器词条[0].currentIndex() == 2: - 词条属性列表[self.希洛克武器词条[1].currentIndex()].加成属性( - 属性, (self.希洛克武器词条[3].currentIndex() + 3) * 0.02) - if 属性.武器词条触发 == 1: - 词条属性列表[self.希洛克武器词条[2].currentIndex()].加成属性( - 属性, (self.希洛克武器词条[4].currentIndex() + 3) * 0.01) - try: - 属性.时间输入 = int(float(self.时间输入.currentText())) - except: - 属性.时间输入 = 25 - 属性.次数输入.clear() - 属性.宠物次数.clear() - 属性.装备切装.clear() - 属性.技能切装.clear() - self.是否计算 = 1 - for i in self.角色属性A.技能栏: - 序号 = self.角色属性A.技能序号[i.名称] - if i.是否有伤害 == 1: - s = self.次数输入[序号].currentText() - s = s.replace(',', ',').replace('(', '(').replace(')', ')') - try: - if eval(s.replace('/CD', '1')) >= 0: - 属性.次数输入.append(s) - except Exception as e: - logger.error(e) - QMessageBox.information(self, "错误", - "“{}”技能次数输入错误,请重新输入".format(i.名称)) - self.是否计算 = 0 - break - - s = self.宠物次数[序号].currentText().replace(',', ',').replace( - '(', '(').replace(')', ')') - try: - if eval(s.replace('num', '1')) >= 0: - 属性.宠物次数.append(s) - except: - QMessageBox.information(self, "错误", - "“{}”宠物次数输入错误,请重新输入".format(i.名称)) - self.是否计算 = 0 - break - - if 切装模式 == 1: - if self.技能切装[序号].isChecked(): - 属性.技能切装.append(1) - else: - 属性.技能切装.append(0) - else: - 属性.次数输入.append('0') - 属性.宠物次数.append('0') - 属性.技能切装.append(0) - if 切装模式 == 1: - for i in range(12): - if self.装备切装[i].isChecked(): - 属性.装备切装.append(self.自选装备[i].currentData()) - else: - 属性.装备切装.append('无') - - for i in range(len(self.复选框列表)): - if self.复选框列表[i].isChecked(): - 选项设置列表[选项设置序号[self.复选框列表list[i]]].适用效果(属性) - - count = 0 - count2 = 0 - for i in equ.get_equ_list(): - if i.品质 == '神话': - i.属性1选择 = self.神话属性选项[count * 4 + 0].currentIndex() - i.属性2选择 = self.神话属性选项[count * 4 + 1].currentIndex() - i.属性3选择 = self.神话属性选项[count * 4 + 2].currentIndex() - i.属性4选择 = self.神话属性选项[count * 4 + 3].currentIndex() - count += 1 - if i.所属套装 == '智慧产物': - i.属性1选择 = self.改造产物选项[count2 * 4 + 0].currentIndex() - i.属性2选择 = self.改造产物选项[count2 * 4 + 1].currentIndex() - i.属性3选择 = self.改造产物选项[count2 * 4 + 2].currentIndex() - i.属性4选择 = self.改造产物选项[count2 * 4 + 3].currentIndex() - count2 += 1 - - 属性.攻击属性 = self.攻击属性选项.currentIndex() - - 称号列表[self.称号.currentIndex()].城镇属性(属性) - if 属性.称号触发: - 称号列表[self.称号.currentIndex()].触发属性(属性) - - 宠物列表[self.宠物.currentIndex()].城镇属性(属性) - - self.加载护石(属性) - - for i in range(12): - 属性.是否增幅[i] = self.装备打造选项[i].currentIndex() - 属性.强化等级[i] = self.装备打造选项[i + 12].currentIndex() - 属性.改造等级[i] = self.装备打造选项[i + 24].currentIndex() - 属性.武器锻造等级 = self.装备打造选项[36].currentIndex() - 属性.类型 = self.装备打造选项[37].currentData() - - try: - 属性.主BUFF = float(self.BUFF输入.text()) / 100 + 1 - except: - QMessageBox.information(self, "错误", "BUFF数值输入错误,已设置为默认数值") - self.BUFF输入.setText(str('%.1f' % ((self.角色属性A.主BUFF - 1) * 100))) - - try: - if self.觉醒选择状态 == 1: - 属性.觉醒之抉择技能 = 属性.技能栏[self.一觉序号].名称 - elif self.觉醒选择状态 == 2: - 属性.觉醒之抉择技能 = 属性.技能栏[self.二觉序号].名称 - if self.角色属性A.屏蔽三觉 == True: - 属性.技能栏[self.三觉序号].关联技能 = ['无'] - else: - if self.角色属性A.技能栏[self.三觉序号].是否有伤害 == 1 and str( - 属性.次数输入[self.三觉序号]) == '0': - 属性.技能栏[self.三觉序号].关联技能 = ['无'] - else: - 属性.技能栏[self.三觉序号].关联技能 = [属性.觉醒之抉择技能] - except: - pass - - 属性.角色熟练度 = self.装备条件选择[0].currentIndex() - 属性.技能栏空位 = self.装备条件选择[1].currentIndex() - 属性.命运的抉择 = self.装备条件选择[2].currentIndex() - 属性.天命无常 = self.装备条件选择[3].currentIndex() - 属性.悲剧的残骸 = self.装备条件选择[4].currentIndex() - 属性.先知者的预言 = self.装备条件选择[5].currentIndex() - 属性.贫瘠沙漠的遗产 = self.装备条件选择[6].currentIndex() - 属性.幸运三角 = self.装备条件选择[7].currentIndex() - 属性.擎天战甲 = self.装备条件选择[8].currentIndex() - 属性.持续伤害计算比例 = 1 - 0.01 * self.装备条件选择[9].currentIndex() - 属性.军神的隐秘遗产 = self.装备条件选择[10].currentIndex() - 属性.太极天帝剑 = self.装备条件选择[11].currentIndex() - 属性.噙毒手套 = self.装备条件选择[12].currentIndex() - # 属性.绿色生命的面容 = self.装备条件选择[12].currentIndex() - 属性.产物升级 = 1 if self.智慧产物升级.isChecked() else 0 - 属性.黑鸦武器择优模式 = self.武器择优模式.currentIndex() - 属性.黑鸦词条 = [] - for i in range(4): - temp = [ - self.黑鸦词条[i][0].currentIndex(), self.黑鸦词条[i][1].currentIndex(), - ((2 if i > 0 else 4)) * (self.黑鸦词条[i][2].currentIndex() + 1), 0 - ] - 属性.黑鸦词条.append(temp) - self.希洛克属性计算(属性) - self.奥兹玛属性计算(属性) - self.基础属性(属性) - - def 基础属性(self, 属性): - if 切装模式 == 1: - 属性.切装修正.clear() - 名称 = ['力量', '智力', '物攻', '魔攻', '独立', '属强'] - num = 0 - for i in self.切装修正属性: - try: - if i.text() != '': - 属性.切装修正.append(int(i.text())) - else: - 属性.切装修正.append(0) - except: - QMessageBox.information(self, "错误", - 名称[num] + " 切装修正输入格式错误,已重置为空") - i.setText('') - 属性.切装修正.append(0) - num += 1 - - for i in range(len(self.列名称) - 3): - for j in range(len(行名称1)): - if self.属性设置输入[i][j].text() != '': - try: - float(self.属性设置输入[i][j].text()) - except: - QMessageBox.information( - self, "错误", - self.行名称[(j + len(行名称1)) if i >= len(列名称1) else j] - + ":" + self.列名称[i] + " 输入格式错误,已重置为空") - self.属性设置输入[i][j].setText('') - - temp = [] - num = len(self.列名称) - 3 - for j in range(len(self.属性设置输入[num])): - if self.属性设置输入[num][j].text() != '': - try: - temp.append(float(self.属性设置输入[num][j].text()) / 100) - if temp[-1] > 1 or temp[-1] < -0.2: - QMessageBox.information( - self, "错误", - self.修正列表名称[j] + " 输入数值超出[-20,100],已重置为空") - temp[-1] = 0.0 - self.属性设置输入[num][j].setText('') - except: - temp.append(0.0) - QMessageBox.information(self, "错误", - self.修正列表名称[j] + " 输入格式错误,已重置为空") - self.属性设置输入[num][j].setText('') - else: - temp.append(0.0) - - 属性.百分比力智加成(temp[0]) - 属性.百分比三攻加成(temp[1]) - 属性.伤害增加加成(temp[2]) - 属性.附加伤害加成(temp[3]) - 属性.属性附加加成(temp[4]) - 属性.暴击伤害加成(temp[5]) - 属性.最终伤害加成(temp[6]) - 属性.技能攻击力加成(temp[7]) - - for i in [0, 6, 9]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 0 and j in [1, 5, 10, 16]: - 属性.进图力量 += float(self.属性设置输入[i][j].text()) - else: - 属性.力量 += float(self.属性设置输入[i][j].text()) - for i in [1, 6, 9]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 1 and j in [1, 5, 10, 16]: - 属性.进图智力 += float(self.属性设置输入[i][j].text()) - else: - 属性.智力 += float(self.属性设置输入[i][j].text()) - - for i in [2, 7, 10]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 2 and j in [1, 5, 10, 16]: - 属性.进图物理攻击力 += float(self.属性设置输入[i][j].text()) - else: - 属性.物理攻击力 += float(self.属性设置输入[i][j].text()) - - for i in [3, 7, 10]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 3 and j in [1, 5, 10, 16]: - 属性.进图魔法攻击力 += float(self.属性设置输入[i][j].text()) - else: - 属性.魔法攻击力 += float(self.属性设置输入[i][j].text()) - - for i in [4, 7, 10]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 4 and j in [1, 5, 10, 16]: - 属性.进图独立攻击力 += float(self.属性设置输入[i][j].text()) - else: - 属性.独立攻击力 += float(self.属性设置输入[i][j].text()) - - for i in [5, 8]: - for j in range(17): - if self.属性设置输入[i][j].text() != '': - if i == 5 and j in [1, 5, 10, 16]: - 属性.进图属强 += float(self.属性设置输入[i][j].text()) - elif i == 5 and j == 3: # 3为婚房不吃辟邪玉 - 属性.所有属性强化(float(self.属性设置输入[i][j].text())) - else: - 属性.所有属性强化加成(float(self.属性设置输入[i][j].text())) - - for i in self.细节选项输入: - for j in i: - if j.isEnabled(): - if j.currentData() not in ['', '无']: - try: - 细节选项列表[细节选项序号[j.currentData()]].效果(属性) - except: - for k in 属性.技能栏: - if j.currentData() == k.名称 + 'Lv+1': - k.等级加成(1) - break - - if self.奶量buff输入[0].text() not in ['', '无']: - # print(属性.力量) - 属性.进图力量 += int(self.奶量buff输入[0].text()) - 属性.进图智力 += int(self.奶量buff输入[0].text()) - # print(属性.力量) - - if self.奶量buff输入[1].text() not in ['', '无']: - 属性.进图物理攻击力 += int(self.奶量buff输入[1].text()) - 属性.进图魔法攻击力 += int(self.奶量buff输入[1].text()) - 属性.进图独立攻击力 += int(self.奶量buff输入[1].text()) - - # 守门人全属强方案 - if self.守门人全属强.isChecked(): - if self.属性设置输入[0][14].text() != '': - 属性.力量 -= float(self.属性设置输入[0][14].text()) - if self.属性设置输入[1][14].text() != '': - 属性.智力 -= float(self.属性设置输入[1][14].text()) - if self.属性设置输入[2][14].text() != '': - 属性.物理攻击力 -= float(self.属性设置输入[2][14].text()) - if self.属性设置输入[3][14].text() != '': - 属性.魔法攻击力 -= float(self.属性设置输入[3][14].text()) - if self.属性设置输入[4][14].text() != '': - 属性.独立攻击力 -= float(self.属性设置输入[4][14].text()) - if self.属性设置输入[5][7].text() != '': - 属性.所有属性强化加成(-(float(self.属性设置输入[5][7].text()))) - if self.属性设置输入[5][14].text() != '': - 属性.所有属性强化加成(-(float(self.属性设置输入[5][14].text()))) - - for j in range(5, 10): - if self.属性设置输入[6][j].text() != '': - 属性.力量 -= float(self.属性设置输入[6][j].text()) - 属性.智力 -= float(self.属性设置输入[6][j].text()) - if self.属性设置输入[7][j].text() != '': - 属性.物理攻击力 -= float(self.属性设置输入[7][j].text()) - 属性.魔法攻击力 -= float(self.属性设置输入[7][j].text()) - 属性.独立攻击力 -= float(self.属性设置输入[7][j].text()) - if self.属性设置输入[8][j].text() != '': - 属性.所有属性强化加成(-(float(self.属性设置输入[8][j].text()))) - - 属性.物理攻击力 += 60 - 属性.魔法攻击力 += 60 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(int(28 * 3 + 12 + 30 + 7)) - - # 龙珠时附魔不替换 - if self.属性设置输入[7][11].text() == '' or self.属性设置输入[8][11].text( - ) == '': - if self.属性设置输入[6][11].text() != '': - 属性.力量 -= float(self.属性设置输入[6][11].text()) - 属性.智力 -= float(self.属性设置输入[6][11].text()) - if self.属性设置输入[7][11].text() != '': - 属性.物理攻击力 -= float(self.属性设置输入[7][11].text()) - 属性.魔法攻击力 -= float(self.属性设置输入[7][11].text()) - 属性.独立攻击力 -= float(self.属性设置输入[7][11].text()) - if self.属性设置输入[8][11].text() != '': - 属性.所有属性强化加成(-(float(self.属性设置输入[8][11].text()))) - # 武器全属强为13 - 属性.所有属性强化加成(int(13)) - - # endregion diff --git a/PublicReference/choise/细节选项.py b/PublicReference/choise/细节选项.py deleted file mode 100644 index 38e5b3c1..00000000 --- a/PublicReference/choise/细节选项.py +++ /dev/null @@ -1,455 +0,0 @@ -# 第三页选项文本 -# 行1行2条目必须相等 -# 列1(选项) 列2(选项,技能) 不能修改删除 -from PublicReference.equipment.基础函数 import * - -表头名称1 = "基础细节" - -列名称1 = ["力量", "智力", "物攻", "魔攻", "独立", "属强", "选项"] - -# 1显示黄色字体(进图属性) -行名称1 = { - "工会属性": 0, - "训练官BUFF": 1, - "戒指": 0, - "婚房": 0, - "冒险团": 0, - "晶体契约": 1, - "收集箱": 0, - "勋章": 0, - "名称装饰卡": 0, - "副武器/盾牌": 0, - "快捷栏纹章": 1, - "宠物装备-红": 0, - "宠物装备-蓝": 0, - "宠物装备-绿": 0, - "宠物附魔": 0, - "站街修正": 0, - "进图修正": 1, -} - -表头名称2 = "附魔&徽章" - -列名称2 = ["力智", "三攻", "属强", "徽力智", "徽三攻", "选项", "技能"] - -行名称2 = { - "上衣": 0, - "下装": 0, - "头肩": 0, - "腰带": 0, - "鞋": 0, - "手镯": 0, - "项链": 0, - "戒指": 0, - "左槽": 0, - "右槽": 0, - "耳环": 0, - "武器": 0, - "称号": 0, - "光环": 0, - "武器装扮": 0, - "皮肤": 0, - "时装": 0, -} - -# 对应细节选项列表, -1表示没有 -行1选项 = { - "工会属性": [-1], - "训练官BUFF": [-1], - "戒指": [-1], - "婚房": [-1], - "冒险团": [-1], - "晶体契约": [-1], - "收集箱": [-1], - "勋章": [x for x in range(17, 37)], - "名称装饰卡": [-1], - "副武器/盾牌": [-1], - "快捷栏纹章": [8], - "宠物装备-红": [8, 40, 42, 43, 9, 11, 12, 10, 38], - "宠物装备-蓝": [-1], - "宠物装备-绿": [-1], - "宠物附魔": [-1], - "站街修正": [-1], - "进图修正": [37], -} - -行2选项 = { - "上衣": [-1], - "下装": [-1], - "头肩": [39, 41], - "腰带": [39], - "鞋": [39], - "手镯": [-1], - "项链": [-1], - "戒指": [-1], - "左槽": [16], - "右槽": [-1], - "耳环": [-1], - "武器": [-1], - "称号": [39], - "光环": [13, 14, 15], - "武器装扮": [-1], - "皮肤": [-1], - "时装": [-1], -} - -# 对应细节选项列表, -1表示没有, 999表示读取技能栏 -行2技能 = { - "上衣": [-1], - "下装": [-1], - "头肩": [0, 2, 1], - "腰带": [0, 2], - "鞋": [0, 2], - "手镯": [-1], - "项链": [-1], - "戒指": [-1], - "左槽": [100], - "右槽": [100], - "耳环": [-1], - "武器": [-1], - "称号": [2, 1], - "光环": [4, 6, 3, 5, 7], - "武器装扮": [44, 45, 46, 47, 48, 49], - "皮肤": [-1], - "时装": [999], -} - -文本框宽度 = 45 -文本框间隔 = 10 - - -#选项条目################################################################ -class 细节选项条目0(): - 描述 = 'Lv1-30(主动)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('主动', 1, 30, 1) - - -class 细节选项条目1(): - 描述 = 'Lv1-35(主动)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('主动', 1, 35, 1) - - -class 细节选项条目2(): - 描述 = 'Lv1-50(主动)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('主动', 1, 50, 1) - - -class 细节选项条目3(): - 描述 = 'Lv1-20(所有)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('所有', 1, 20, 1) - - -class 细节选项条目4(): - 描述 = 'Lv1-30(所有)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('所有', 1, 30, 1) - - -class 细节选项条目5(): - 描述 = 'Lv20-30(所有)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('所有', 20, 30, 1) - - -class 细节选项条目6(): - 描述 = 'Lv1-50(所有)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('所有', 1, 50, 1) - - -class 细节选项条目7(): - 描述 = 'Lv1-80(所有)Lv+1' - - def 效果(self, 属性): - 属性.技能等级加成('所有', 1, 80, 1) - - -class 细节选项条目8(): - 描述 = '白字 +8%' - - def 效果(self, 属性): - 属性.附加伤害加成(0.08) - - -class 细节选项条目9(): - 描述 = '白字 +7%' - - def 效果(self, 属性): - 属性.附加伤害加成(0.07) - - -class 细节选项条目10(): - 描述 = '白字 +6%' - - def 效果(self, 属性): - 属性.附加伤害加成(0.06) - - -class 细节选项条目11(): - 描述 = '黄字 +7%' - - def 效果(self, 属性): - 属性.伤害增加加成(0.07) - - -class 细节选项条目12(): - 描述 = '力智 +7%' - - def 效果(self, 属性): - 属性.百分比力智加成(0.07) - - -class 细节选项条目13(): - 描述 = '三攻 +5%' - - def 效果(self, 属性): - 属性.百分比三攻加成(0.05) - - -class 细节选项条目14(): - 描述 = '黄字 +5%' - - def 效果(self, 属性): - 属性.伤害增加加成(0.05) - - -class 细节选项条目15(): - 描述 = '暴伤 +5%' - - def 效果(self, 属性): - 属性.暴击伤害加成(0.05) - - -class 细节选项条目16(): - 描述 = '终伤 +3%' - - def 效果(self, 属性): - 属性.最终伤害加成(0.03) - - -class 勋章强化选项(): - def __init__(self, x=0): - self.y = 勋章计算(50, '传说', x) - self.描述 = '+{}(+{})'.format(x, self.y) - - def 效果(self, 属性): - 属性.力量 += self.y - 属性.智力 += self.y - 属性.体力 += self.y - 属性.精神 += self.y - - -class 细节选项条目17(勋章强化选项): - def __init__(self): - super().__init__(1) - - -class 细节选项条目18(勋章强化选项): - def __init__(self): - super().__init__(2) - - -class 细节选项条目19(勋章强化选项): - def __init__(self): - super().__init__(3) - - -class 细节选项条目20(勋章强化选项): - def __init__(self): - super().__init__(4) - - -class 细节选项条目21(勋章强化选项): - def __init__(self): - super().__init__(5) - - -class 细节选项条目22(勋章强化选项): - def __init__(self): - super().__init__(6) - - -class 细节选项条目23(勋章强化选项): - def __init__(self): - super().__init__(7) - - -class 细节选项条目24(勋章强化选项): - def __init__(self): - super().__init__(8) - - -class 细节选项条目25(勋章强化选项): - def __init__(self): - super().__init__(9) - - -class 细节选项条目26(勋章强化选项): - def __init__(self): - super().__init__(10) - - -class 细节选项条目27(勋章强化选项): - def __init__(self): - super().__init__(11) - - -class 细节选项条目28(勋章强化选项): - def __init__(self): - super().__init__(12) - - -class 细节选项条目29(勋章强化选项): - def __init__(self): - super().__init__(13) - - -class 细节选项条目30(勋章强化选项): - def __init__(self): - super().__init__(14) - - -class 细节选项条目31(勋章强化选项): - def __init__(self): - super().__init__(15) - - -class 细节选项条目32(勋章强化选项): - def __init__(self): - super().__init__(16) - - -class 细节选项条目33(勋章强化选项): - def __init__(self): - super().__init__(17) - - -class 细节选项条目34(勋章强化选项): - def __init__(self): - super().__init__(18) - - -class 细节选项条目35(勋章强化选项): - def __init__(self): - super().__init__(19) - - -class 细节选项条目36(勋章强化选项): - def __init__(self): - super().__init__(20) - - -class 细节选项条目37(): - 描述 = '队友 +34%' - - def 效果(self, 属性): - 属性.队友增幅系数 *= 1.34 - - -class 细节选项条目38(): - 描述 = '白字 +4%' - - def 效果(self, 属性): - 属性.附加伤害加成(0.04) - - -class 细节选项条目39(): - 描述 = '技攻 +3%' - - def 效果(self, 属性): - 属性.技能攻击力加成(0.03) - - -class 细节选项条目40(): - 描述 = '三攻 +8%' - - def 效果(self, 属性): - 属性.百分比三攻加成(0.08) - - -class 细节选项条目41(): - 描述 = '技攻 +2%' - - def 效果(self, 属性): - 属性.技能攻击力加成(0.02) - - -class 细节选项条目42(): - 描述 = '力智 +8%' - - def 效果(self, 属性): - 属性.百分比力智加成(0.08) - - -class 细节选项条目43(): - 描述 = '终伤 +8%' - - def 效果(self, 属性): - 属性.最终伤害加成(0.08) - - -class 细节选项条目44(): - 描述 = '40级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(40, 1) - - -class 细节选项条目45(): - 描述 = '45级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(45, 1) - - -class 细节选项条目46(): - 描述 = '60级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(60, 1) - - -class 细节选项条目47(): - 描述 = '70级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(70, 1) - - -class 细节选项条目48(): - 描述 = '75级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(75, 1) - - -class 细节选项条目49(): - 描述 = '80级技能 Lv+1' - - def 效果(self, 属性): - 属性.武器装扮等级加成(80, 1) - - -细节选项列表 = () -i = 0 -while i >= 0: - try: - exec('细节选项列表 += (细节选项条目' + str(i) + '(),)') - i += 1 - except: - i = -1 - -细节选项序号 = dict() -for i in range(len(细节选项列表)): - 细节选项序号[细节选项列表[i].描述] = i diff --git a/PublicReference/choise/选项设置.py b/PublicReference/choise/选项设置.py deleted file mode 100644 index eb0cbe25..00000000 --- a/PublicReference/choise/选项设置.py +++ /dev/null @@ -1,156 +0,0 @@ -# 选项设置属性部分 0-6默认勾选 - - -class 选项设置0(): - 名称 = '顶级力量灵药' - - def 适用效果(self, 属性): - 属性.进图力量 += 175 - - -class 选项设置1(): - 名称 = '顶级智力灵药' - - def 适用效果(self, 属性): - 属性.进图智力 += 175 - - -class 选项设置2(): - 名称 = '斗神之吼秘药' - - def 适用效果(self, 属性): - 属性.斗神之吼秘药 = True - - -class 选项设置3(): - 名称 = '赛丽亚的特调酷饮' - - def 适用效果(self, 属性): - 属性.进图属强 += 5 - - -class 选项设置4(): - 名称 = '魔界战力释放秘药' - - def 适用效果(self, 属性): - 属性.进图力量 += 150 - 属性.进图智力 += 150 - - -class 选项设置5(): - 名称 = '宠物次数适用(10%)' - - def 适用效果(self, 属性): - 属性.年宠技能 = True - - -class 选项设置6(): - 名称 = '称号效果触发' - - def 适用效果(self, 属性): - 属性.称号触发 = True - - -class 选项设置7(): - 名称 = '精神刺激灵药' - - def 适用效果(self, 属性): - 属性.技能冷却缩减(1, 100, 0.20) - - -class 选项设置8(): - 名称 = '虚祖皇家能量秘药' - - def 适用效果(self, 属性): - 属性.进图力量 += 100 - 属性.进图智力 += 100 - 属性.进图属强 += 5 - - -class 选项设置9(): - 名称 = '武者的精神秘药' - - def 适用效果(self, 属性): - 属性.加算冷却缩减 += 0.30 - - -class 选项设置10(): - 名称 = '黄金羊毛' - - def 适用效果(self, 属性): - 属性.进图力量 += 60 - 属性.进图智力 += 60 - - -class 选项设置11(): - 名称 = '白兔子(20%全程)' - - def 适用效果(self, 属性): - 属性.白兔子技能 = True - - -class 选项设置12(): - 名称 = '雷米迪亚蛋糕' - - def 适用效果(self, 属性): - 属性.百分比力智 += 0.20 - - -class 选项设置13(): - 名称 = '特权网吧BUFF' - - def 适用效果(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - 属性.技能等级加成('所有', 1, 85, 1) - 属性.加算冷却缩减 += 0.10 - - -class 选项设置14(): - 名称 = '希洛克系统奶' - - def 适用效果(self, 属性): - 属性.系统奶系数 = 1.35 - 属性.系统奶基数 = 7664 - - -class 选项设置15(): - 名称 = '黑鸦系统奶' - - def 适用效果(self, 属性): - 属性.系统奶系数 = 2.31 - 属性.系统奶基数 = 4581 - - -class 选项设置16(): - 名称 = '奶系BUFF:10W/4.5K' - - def 适用效果(self, 属性): - 属性.进图力量 += 100000 - 属性.进图智力 += 100000 - 属性.进图物理攻击力 += 4500 - 属性.进图魔法攻击力 += 4500 - 属性.进图独立攻击力 += 4500 - - -class 选项设置17(): - 名称 = '屏蔽三觉' - - def 适用效果(self, 属性): - 属性.屏蔽三觉 = True - - -class 选项设置18(): - 名称 = '[冒险]属性强化药水' - - def 适用效果(self, 属性): - 属性.进图属强 += 10 - - -选项设置列表 = () -for i in range(19): - exec('选项设置列表 += (选项设置' + str(i) + '(),)') - -选项设置序号 = dict() -for i in range(len(选项设置列表)): - 选项设置序号[选项设置列表[i].名称] = i diff --git a/PublicReference/choise/选项设置_buff.py b/PublicReference/choise/选项设置_buff.py deleted file mode 100644 index a8e94891..00000000 --- a/PublicReference/choise/选项设置_buff.py +++ /dev/null @@ -1,41 +0,0 @@ -# 选项设置属性部分 - - -class 选项设置0(): - 名称 = '称号效果触发' - - def 适用效果(self, 属性): - 属性.称号触发 = True - - -class 选项设置1(): - 名称 = '魔王契约BUFF' - - def 适用效果(self, 属性): - 属性.百分比体精 += 0.05 - - -class 选项设置2(): - 名称 = '雷米迪亚蛋糕' - - def 适用效果(self, 属性): - 属性.百分比体精 += 0.20 - - -class 选项设置3(): - 名称 = '特权网吧BUFF' - - def 适用效果(self, 属性): - 属性.智力 += 100 - 属性.体力 += 100 - 属性.精神 += 100 - 属性.技能等级加成('所有', 1, 85, 1) - - -选项设置列表 = () -for i in range(4): - exec('选项设置列表 += (选项设置' + str(i) + '(),)') - -选项设置序号 = dict() -for i in range(len(选项设置列表)): - 选项设置序号[选项设置列表[i].名称] = i diff --git a/PublicReference/common.py b/PublicReference/common.py deleted file mode 100644 index 45a589ea..00000000 --- a/PublicReference/common.py +++ /dev/null @@ -1,2386 +0,0 @@ -from math import ceil -from PublicReference.equipment.equ_list import * -from PublicReference.view.MainWindow import * -from PublicReference.utils.common import to_percent -from PublicReference.utils.uniqueCode import get_mac_address -from PublicReference.utils.watermark_def import * -from PublicReference.view.DialogRegister import DefaultDialogRegister -from PublicReference.utils.usage_counter import increase_counter - -装备版本 = "GF" -装备增幅版本 = "GF" - -# with open("ResourceFiles/Config/release_version.json") as fp: -# versionInfo = json.load(fp) -# 装备版本 = versionInfo['EquipmentVersion'].upper() -# 装备增幅版本 = versionInfo['ZFVersion'].upper() -# fp.close() - - -class 属性(): - 实际名称 = '' - 角色 = '' - 职业 = '' - 版本 = 装备版本 - 增幅版本 = 装备增幅版本 - - 武器选项 = [] - 类型选择 = [] - - 类型 = '' - 防具类型 = '' - 防具精通属性 = [] - - 基础力量 = 0 - 基础智力 = 0 - 基础体力 = 0 - 基础精神 = 0 - - 力量 = 0 - 智力 = 0 - 体力 = 0 - 精神 = 0 - - 进图力量 = 0.0 - 进图智力 = 0.0 - 进图体力 = 0.0 - 进图精神 = 0.0 - - 技能栏 = [] - 技能表 = {} - - 技能序号 = {} - - 装备栏 = [] - 套装栏 = [] - 武器类型 = '' - - 是否增幅 = [0] * 12 - 强化等级 = [12] * 12 - 改造等级 = [5] * 12 - 武器锻造等级 = 0 - - 护石第一栏 = '无' - 护石第二栏 = '无' - 护石第三栏 = '无' - - def __init__(self): - - self.类型 = '' - self.武器选项 = [] - self.类型选择 = [] - - self.防具精通属性 = [] - - self.装备栏 = [] - self.套装栏 = [] - - self.技能栏 = [] - self.技能序号 = {} - - self.是否增幅 = [0] * 12 - self.强化等级 = [12] * 12 - self.改造等级 = [5] * 12 - pass - - def 穿戴装备(self, 装备, 套装): - self.装备栏 = 装备 - self.套装栏 = 套装 - self.武器类型 = equ.get_equ_by_name(self.装备栏[11]).类型 - - def 穿戴装备计算套装(self, 装备): - self.装备栏 = 装备 - self.适用套装计算() - self.武器类型 = equ.get_equ_by_name(self.装备栏[11]).类型 - - def 适用套装计算(self): - self.套装栏 = equ.get_suits_by_equips(self.装备栏) - - def 防具基础(self): - for i in [0, 1, 2, 3, 4]: - temp = equ.get_equ_by_name(self.装备栏[i]) - if temp.等级 > 85 or self.转甲选项 == 1: - self.力量 += temp.力量[self.防具类型] - self.智力 += temp.智力[self.防具类型] - else: - self.力量 += temp.力量[temp.类型] - self.智力 += temp.智力[temp.类型] - - 精通数值 = self.防具精通计算(i) - if '力量' in self.防具精通属性: - self.力量 += 精通数值 - if '智力' in self.防具精通属性: - self.智力 += 精通数值 - - def 增幅基础(self): - for i in range(12): - temp = equ.get_equ_by_name(self.装备栏[i]) - if self.是否增幅[i] and temp.所属套装 != '智慧产物': - x = 增幅计算(temp.等级, temp.品质, self.强化等级[i], self.增幅版本) - if '物理' in self.类型 or '力量' in self.类型: - self.力量 += x - else: - self.智力 += x - - def 首饰基础(self): - for i in [5, 6, 7]: - temp = equ.get_equ_by_name(self.装备栏[i]) - self.力量 += temp.力量 - self.智力 += temp.智力 - self.物理攻击力 += temp.物理攻击力 - self.魔法攻击力 += temp.魔法攻击力 - self.独立攻击力 += temp.独立攻击力 - - def 特殊基础(self): - for i in [8, 9, 10]: - temp = equ.get_equ_by_name(self.装备栏[i]) - self.力量 += temp.力量 - self.智力 += temp.智力 - self.物理攻击力 += temp.物理攻击力 - self.魔法攻击力 += temp.魔法攻击力 - self.独立攻击力 += temp.独立攻击力 - - # 耳环 - temp = equ.get_equ_by_name(self.装备栏[8]) - if temp.所属套装 != '智慧产物': - x = 耳环计算(temp.等级, temp.品质, self.强化等级[8]) - self.物理攻击力 += x - self.魔法攻击力 += x - self.独立攻击力 += x - - # 辅助装备、魔法石 - for i in [9, 10]: - temp = equ.get_equ_by_name(self.装备栏[i]) - if temp.所属套装 != '智慧产物': - x = 左右计算(temp.等级, temp.品质, self.强化等级[i]) - self.力量 += x - self.智力 += x - - def 武器基础(self): - temp = equ.get_equ_by_name(self.装备栏[11]) - - self.力量 += temp.力量 - self.智力 += temp.智力 - self.物理攻击力 += temp.物理攻击力 - self.魔法攻击力 += temp.魔法攻击力 - self.独立攻击力 += temp.独立攻击力 - - if temp.所属套装 != '智慧产物': - self.物理攻击力 += 武器计算(temp.等级, temp.品质, self.强化等级[11], self.武器类型, - '物理') - self.魔法攻击力 += 武器计算(temp.等级, temp.品质, self.强化等级[11], self.武器类型, - '魔法') - self.独立攻击力 += 锻造计算(temp.等级, temp.品质, self.武器锻造等级) - - def 装备基础(self): - if 调试开关 == 0: - self.防具基础() - self.首饰基础() - self.特殊基础() - self.武器基础() - self.增幅基础() - - def 获取增幅(self, 部位): - return self.是否增幅[部位列表.index(部位)] - - def 获取强化(self, 部位): - return self.强化等级[部位列表.index(部位)] - - def 获取改造(self, 部位): - return self.改造等级[部位列表.index(部位)] - - def 装备检查(self, 装备名称): - for i in self.装备栏: - if i == 装备名称: - return True - return False - - def 单技能等级加成(self, 名称, lv): - if self.装备描述 == 1: - return "{} Lv +{}
".format(名称, lv) - else: - for i in self.技能栏: - if i.名称 == 名称: - i.等级加成(lv) - return '' - - def 等级溢出判断(self, 装备, 套装): - self.穿戴装备(装备, 套装) - self.装备属性计算() - temp = [] - for i in self.技能栏: - if i.等级溢出 == 1: - temp.append(i.名称) - return temp - - -class 窗口(QWidget): - calc_done_signal = pyqtSignal() - update_remaining_signal = pyqtSignal(str) - - def __init__(self): - super().__init__() - - self.calc_done_signal.connect(self.calc_done) - self.update_remaining_signal.connect(self.update_remaining) - - self.窗口属性输入() - store.delete("^/(buffer|carry|fame)/.*$") - - is_carry = self.初始属性.职业分类 == "输出" - - store.set("type", 'carry' if is_carry else 'buffer') - store.set("/{type}/memory/original_property", self.初始属性) - - self.界面() - self.布局界面() - - # 创建配置文件夹 - path = './ResourceFiles/{}/set'.format(self.角色属性A.实际名称) - - # 判断从哪读取数据 - if os.path.exists(path): - self.载入配置('set') - else: - self.载入配置('reset') - os.makedirs(path) - - self.存档列表读取() - if is_carry: - self.技能存档列表读取() - - self.click_window(0) - - def 关闭窗口(self): - self.close() - - def closeEvent(self, event): - DefaultDialogRegister.dispose() - self.保存配置(self.存档位置) - self.关闭排行窗口() - super().closeEvent(event) - - def 窗口属性输入(self): - pass - - def 重置页面(self, i): - box = QMessageBox( - QMessageBox.Warning, "提示", - "是否重置{}页面?".format(self.页面名称[i])) - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr("确定"), QMessageBox.YesRole) - no = box.addButton(self.tr("取消"), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - try: - self.载入json(path='reset', page=[i]) - except: - pass - - def 界面(self): - # self.setWindowTitle(self.角色属性A.实际名称 + "搭配计算器&17173DNF专区 (点击标签栏按钮切换界面)"+"装备版本:"+self.角色属性A.版本 + " 增幅版本:" + self.角色属性A.增幅版本) - 名称 = self.角色属性A.实际名称 - self.setWindowTitle( - trans(名称.replace('·男', '').replace('·女', '')) + - (('·' + trans('男')) if '男' in 名称 else ( - ('·' + trans('女')) if '女' in 名称 else '')) + ' & ' + - trans('17173DNF专区')) - self.icon = QIcon('./ResourceFiles/' + self.角色属性A.实际名称 + - '/技能/BUFF.png') - self.setWindowIcon(self.icon) - self.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - if not SkinVersion == 'None': - 背景颜色 = QLabel(self) - 背景颜色.resize(self.width(), self.height()) - 背景颜色.setStyleSheet("QLabel{background-color:rgba(50,50,50,1)}") - 主背景透明度 = QGraphicsOpacityEffect() - 主背景透明度.setOpacity(0.1) - self.主背景图片 = QPixmap('./ResourceFiles/' + self.角色属性A.实际名称 + - "/bg.jpg") - 主背景 = QLabel(self) - 主背景.setPixmap(self.主背景图片) - 主背景.move(0, int((self.height() - 1230) / 6)) - 主背景.setGraphicsEffect(主背景透明度) - 边框 = QLabel(self) - 边框.resize(self.width() - 4, self.height() - 2) - 边框.move(2, -1) - 边框.setStyleSheet("QLabel{border:1px solid black}") - # 边框.setStyleSheet("QLabel{border-image:url(ResourceFiles/img/UI/边框.png)}") - self.技能图片 = [] - for i in self.角色属性A.技能栏: - path = './ResourceFiles/' + self.角色属性A.实际名称 + "/技能/" + i.名称 + ".png" - self.技能图片.append(QPixmap(path)) - - self.输出窗口列表 = [] - self.排行窗口列表 = [] - - self.当前页面 = 0 - self.全选状态 = 0 - - self.遮罩透明度 = [] - self.装备图片按钮 = [] - for i in equ.get_equ_list(): - self.遮罩透明度.append(QGraphicsOpacityEffect()) - self.装备图片按钮.append('') - self.装备选择状态 = [] - self.装备条件选择 = [] - equ.load_img() - for i in equ.get_equ_list(): - self.装备选择状态.append(0) - - self.有效防具套装 = [] - self.有效首饰套装 = [] - self.有效特殊套装 = [] - self.有效上链左套装 = [] - self.有效镯下右套装 = [] - self.有效环鞋指套装 = [] - self.有效总套装列表 = [ - self.有效防具套装, self.有效首饰套装, self.有效特殊套装, self.有效上链左套装, self.有效镯下右套装, - self.有效环鞋指套装 - ] - self.有效武器列表 = [] - self.组合名称选择 = [] - self.有效穿戴组合 = [] - self.有效穿戴套装 = [] - self.百变怪列表 = [] - self.有效部位列表 = [] - self.排行数据 = [] - - # 工具栏 - self.frame_tool = QFrame(self) - self.frame_tool.setGeometry(0, 0, self.width() + 2, 27) - self.frame_tool.move(-1, -1) - self.frame_tool.setFrameShape(1) - if self.初始属性.职业分类 == '输出': - self.页面名称 = trans([ - "装备/选择/打造", "技能/符文/药剂", "基础/细节/修正", "神话/改造属性修正", - "辟邪玉/希洛克/黑鸦/奥兹玛", "自选装备计算" - ]) - else: - self.页面名称 = trans( - ["装备/选择/打造", "技能/符文/其它", "基础/细节/修正", "神话属性修正", "自选装备计算"]) - self.页面数量 = len(self.页面名称) - self.btn_group = QButtonGroup(self.frame_tool) - self.window_btn = [] - for i in range(self.页面数量): - self.window_btn.append(MyQToolButton(self.frame_tool)) - self.window_btn[-1].setText(self.页面名称[i]) - self.window_btn[-1].resize(int(self.width() / self.页面数量 - 8), 21) - self.window_btn[-1].move((self.window_btn[-1].width()) * i + 10, 6) - self.window_btn[-1].clicked.connect( - lambda state, index=i, name=self.页面名称[i]: self.click_window( - index, info=name)) - self.window_btn[-1].DoubleClickSig.connect( - lambda state, index=i: self.重置页面(index)) - - self.btn_group.addButton(self.window_btn[-1], i) - - # 2. 工作区域 - self.main_frame = QFrame(self) - self.main_frame.setGeometry(0, 28, self.width(), - self.height() - self.frame_tool.height()) - - # 创建堆叠布局 - self.stacked_layout = QStackedLayout(self.main_frame) - - self.main_frame1 = QWidget() - self.main_frame1.setStyleSheet(滚动条样式) - self.main_frame2 = QWidget() - self.main_frame2.setStyleSheet(滚动条样式) - self.main_frame3 = QWidget() - self.main_frame3.setStyleSheet(滚动条样式) - self.main_frame4 = QWidget() - self.main_frame4.setStyleSheet(滚动条样式) - self.main_frame5 = QWidget() - self.main_frame5.setStyleSheet(滚动条样式) - self.main_frame6 = QWidget() - self.main_frame6.setStyleSheet(滚动条样式) - - self.界面1() - self.界面2() - self.界面3() - self.界面4() - if self.初始属性.职业分类 == '输出': - self.界面6() - self.界面5() - - def 布局界面(self): - # 把布局界面放进去 - self.stacked_layout.addWidget(self.main_frame1) - self.main_frame2.setMinimumSize(1120, self.窗口高度) - if self.窗口高度 > 680: - self.scroll = QScrollArea() - self.scroll.setFrameShape(QFrame.NoFrame) - self.main_frame2.setMinimumSize(1100, self.窗口高度 - 20) - self.scroll.setWidget(self.main_frame2) - self.scroll.setStyleSheet( - "QScrollArea {background-color:transparent}") - self.scroll.setStyleSheet(滚动条样式) - self.scroll.viewport().setStyleSheet( - "background-color:transparent") - self.stacked_layout.addWidget(self.scroll) - else: - self.stacked_layout.addWidget(self.main_frame2) - self.stacked_layout.addWidget(self.main_frame3) - - self.scroll = QScrollArea() - self.scroll.setFrameShape(QFrame.NoFrame) - self.scroll.setWidget(self.main_frame4) - self.scroll.setStyleSheet("QScrollArea {background-color:transparent}") - self.scroll.setStyleSheet(滚动条样式) - self.scroll.viewport().setStyleSheet("background-color:transparent") - self.stacked_layout.addWidget(self.scroll) - - if self.初始属性.职业分类 == '输出': - self.stacked_layout.addWidget(self.main_frame6) - self.stacked_layout.addWidget(self.main_frame5) - - def 套装描述(self, i): - temp = '' - for n in [2, 3, 5]: - name = '{}[{}]'.format(i.名称, n) - if name in equ.get_suit_name(): - try: - 描述 = '' - if self.角色属性A.职业分类 == 'BUFF': - 描述 = equ.get_suit_by_name(name).装备描述_BUFF( - self.角色属性A)[:-4] - else: - 描述 = equ.get_suit_by_name(name).装备描述(self.角色属性A)[:-4] - if 描述 != '': - temp += '' + trans( - i.名称) + '[{}]
'.format(n) - temp += 描述 - temp += '
' - except Exception as e: - logger.error(e) - pass - return temp[:-4] + '
' - - def 单件描述(self, i): - temp = ''.format(颜色[i.品质]) - temp += trans(i.名称) + '
' + trans(i.类型) + \ - '-' + trans(i.部位) + '
' - if self.角色属性A.职业分类 == 'BUFF': - temp += i.装备描述_BUFF(self.角色属性A) - else: - temp += i.装备描述(self.角色属性A) - return temp[:-4] + '
' - - def 单件装备判断(self, i): - if i.所属套装 == '智慧产物' and i.部位 != '武器' and i.模式 == 0: - return True - elif i.名称 == '王座本源' and self.角色属性A.职业分类 == 'BUFF': - return True - else: - return False - - def 武器装备判断(self, i): - if i.部位 == '武器' and i.类型 in self.角色属性A.武器选项 and i.模式 == 0: - return True - else: - return False - - def 其他装备判断(self, i): - if i.所属套装 in 所有套装列表: - return True - else: - return False - - def 描述更新(self, index, i): - if index == '称号': - i.setToolTip(self.称号描述()) - else: - i.setToolTip(self.宠物描述()) - - def 界面1(self): - self.一键站街设置输入 = [] - 水平间距 = [0, 350, 640] - counter1 = 0 - for 布局列表 in [防具套装, 上链左套装 + 镯下右套装 + 环鞋指套装, 首饰套装 + 特殊套装]: - counter2 = 0 - for 名称 in 布局列表: - for i in equ.get_suit_list(): - if i.名称 == 名称 and i.件数 == 2: - self.按钮 = QPushButton(trans(i.名称), self.main_frame1) - self.按钮.move(水平间距[counter1] + 10, 10 + counter2 * 32) - self.按钮.setStyleSheet(套装按钮样式) - self.按钮.resize(120, 28) - self.按钮.clicked.connect( - lambda state, index=i.名称: self.套装按钮点击事件(index)) - self.按钮.setToolTip(self.套装描述(i)) - counter3 = 0 - for 品质 in ['神话', '史诗']: - for 部位 in [ - '上衣', '头肩', '下装', '鞋', '腰带', '项链', '手镯', - '戒指', '辅助装备', '魔法石', '耳环' - ]: - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.所属套装 == i.名称 and temp.品质 == 品质 and temp.部位 == 部位: - self.图片 = QLabel(self.main_frame1) - self.图片.setMovie(equ.get_img_by_id(j)) - self.图片.resize(28, 28) - self.图片.move( - 水平间距[counter1] + 150 + - 32 * counter3, 10 + counter2 * 32) - self.按钮 = QPushButton(self.main_frame1) - self.按钮.setStyleSheet( - "background-color: rgb(0, 0, 0)") - self.按钮.resize(28, 28) - self.按钮.setToolTip(self.单件描述(temp)) - self.遮罩透明度[j].setOpacity(0.5) - self.按钮.setGraphicsEffect( - self.遮罩透明度[j]) - self.按钮.clicked.connect( - lambda state, index=j: self. - 装备图标点击事件(index, 10)) - self.装备图片按钮[j] = self.按钮 - self.装备图片按钮[j].move( - 水平间距[counter1] + 150 + - 32 * counter3, 10 + counter2 * 32) - counter3 += 1 - counter2 += 1 - counter1 += 1 - - counter5 = 8 - self.按钮 = QPushButton(trans('武器列表'), self.main_frame1) - self.按钮.move(650, 15 + counter5 * 32) - self.按钮.resize(265, 28) - self.按钮.setStyleSheet(套装按钮样式) - self.按钮.clicked.connect(lambda state, index='武器': self.套装按钮点击事件(index)) - - counter4 = 0 - counter5 += 1 - for i in equ.get_equ_list(): - if self.武器装备判断(i): - self.图片 = QLabel(self.main_frame1) - self.图片.setMovie(equ.get_img_by_name(i.名称)) - self.图片.resize(28, 28) - self.图片.move(657 + 55 * counter4, 15 + counter5 * 32) - self.按钮 = QPushButton(self.main_frame1) - self.按钮.setStyleSheet("background-color: rgb(0, 0, 0)") - self.按钮.resize(28, 28) - self.按钮.setToolTip(self.单件描述(i)) - self.遮罩透明度[equ.get_id_by_name(i.名称)].setOpacity(0.5) - self.按钮.setGraphicsEffect(self.遮罩透明度[equ.get_id_by_name(i.名称)]) - self.按钮.clicked.connect(lambda state, index=equ.get_id_by_name( - i.名称): self.装备图标点击事件(index, 10)) - self.装备图片按钮[equ.get_id_by_name(i.名称)] = self.按钮 - self.装备图片按钮[equ.get_id_by_name(i.名称)].move( - 657 + 55 * counter4, 15 + counter5 * 32) - counter4 += 1 - if counter4 % 5 == 0: - counter5 += 1 - counter4 = 0 - - if counter4 != 0: - counter5 += 1 - self.按钮 = QPushButton(trans('智慧产物'), self.main_frame1) - self.按钮.move(650, 20 + counter5 * 32) - self.按钮.resize(265, 28) - self.按钮.setStyleSheet(套装按钮样式) - self.按钮.clicked.connect( - lambda state, index='智慧产物': self.套装按钮点击事件(index)) - - counter4 = 0 - counter5 += 1 - for i in equ.get_equ_list(): - if self.单件装备判断(i): - self.图片 = QLabel(self.main_frame1) - self.图片.setMovie(equ.get_img_by_name(i.名称)) - self.图片.resize(28, 28) - self.图片.move(657 + 55 * counter4, 20 + counter5 * 32) - self.按钮 = QPushButton(self.main_frame1) - self.按钮.setStyleSheet("background-color: rgb(0, 0, 0)") - self.按钮.resize(28, 28) - self.按钮.setToolTip(self.单件描述(i)) - self.遮罩透明度[equ.get_id_by_name(i.名称)].setOpacity(0.5) - self.按钮.setGraphicsEffect(self.遮罩透明度[equ.get_id_by_name(i.名称)]) - self.按钮.clicked.connect(lambda state, index=equ.get_id_by_name( - i.名称): self.装备图标点击事件(index, 10)) - self.装备图片按钮[equ.get_id_by_name(i.名称)] = self.按钮 - self.装备图片按钮[equ.get_id_by_name(i.名称)].move( - 657 + 55 * counter4, 20 + counter5 * 32) - counter4 += 1 - if counter4 % 5 == 0: - counter5 += 1 - counter4 = 0 - - self.装备打造选项 = [] - counter = 0 - for i in 部位列表: - x = QLabel(trans(i), self.main_frame1) - x.resize(50, 20) - x.setAlignment(Qt.AlignCenter) - x.setStyleSheet(标签样式) - if counter < 5: - x.move(10, 504 + counter * 30) - else: - if counter < 11: - x.move(270, 500 + (counter - 5) * 25) - else: - x.resize(95, 20) - x.move(550, 500 + (counter - 11) * 30) - counter += 1 - - counter = 0 - for i in 部位列表: - x = MyQComboBox(self.main_frame1) - x.addItems(trans(['强化', '增幅'])) - x.resize(55, 20) - self.装备打造选项.append(x) - if counter < 5: - x.move(60, 504 + counter * 30) - else: - if counter < 11: - x.move(330, 500 + (counter - 5) * 25) - else: - x.move(540, 500 + (counter - 10) * 30) - counter += 1 - - counter = 0 - for i in 部位列表: - x = MyQComboBox(self.main_frame1) - for j in range(32): - x.addItem(str(j)) - x.resize(50, 20) - self.装备打造选项.append(x) - if counter < 5: - x.move(120, 504 + counter * 30) - else: - if counter < 11: - x.move(390, 500 + (counter - 5) * 25) - else: - x.move(600, 500 + (counter - 10) * 30) - counter += 1 - - counter = 0 - for i in 部位列表: - x = MyQComboBox(self.main_frame1) - for j in range(32): - x.addItem(trans('改造') + '+' + str(j)) - x.resize(75, 20) - self.装备打造选项.append(x) - if counter < 5: - x.move(180, 504 + counter * 30) - else: - if counter < 11: - x.move(450, 500 + (counter - 5) * 25) - else: - x.resize(110, 20) - x.move(540, 500 + (counter - 9) * 30) - counter += 1 - - x = MyQComboBox(self.main_frame1) - for j in range(11): - x.addItem(trans('锻造') + '+' + str(j)) - x.resize(110, 20) - x.move(540, 504 + (counter - 9) * 30) - self.装备打造选项.append(x) - - x = MyQComboBox(self.main_frame1) - x.addItems(self.角色属性A.类型选择) - x.resize(110, 20) - x.move(540, 504 + (counter - 8) * 30) - self.装备打造选项.append(x) - - x = QPushButton(trans('一键全选'), self.main_frame1) - x.clicked.connect(lambda state, index=1: self.批量选择(index)) - x.move(520, 400) - x.resize(105, 24) - x.setStyleSheet(按钮样式) - - x = QPushButton(trans('一键清空'), self.main_frame1) - x.clicked.connect(lambda state, index=0: self.批量选择(index)) - x.move(520, 430) - x.resize(105, 24) - x.setStyleSheet(按钮样式) - - x = QPushButton(trans('打造') + '↑', self.main_frame1) - x.clicked.connect(lambda state: self.批量打造(1)) - x.move(520, 460) - x.resize(50, 24) - x.setStyleSheet(按钮样式) - - x = QPushButton(trans('打造') + '↓', self.main_frame1) - x.clicked.connect(lambda state: self.批量打造(-1)) - x.move(575, 460) - x.resize(50, 24) - x.setStyleSheet(按钮样式) - - self.称号 = MyQComboBox(self.main_frame1) - self.宠物 = MyQComboBox(self.main_frame1) - - self.称号.currentIndexChanged.connect( - lambda state, index='称号': self.描述更新(index, self.称号)) - self.宠物.currentIndexChanged.connect( - lambda state, index='宠物': self.描述更新(index, self.宠物)) - - x = QLabel(trans(trans('称号&宠物选择')), self.main_frame1) - x.resize(130, 20) - x.move(360, 400) - x.setAlignment(Qt.AlignCenter) - x.setStyleSheet(标签样式) - - counter = 0 - for x in [self.称号, self.宠物]: - x.resize(160, 20) - x.move(350, 430 + counter * 30) - counter += 1 - - self.计算按钮1 = QPushButton(trans('开始计算'), self.main_frame1) - self.计算按钮1.clicked.connect(lambda state: self.计算()) - self.计算按钮1.move(990, 610) - self.计算按钮1.resize(110, 30) - self.计算按钮1.setStyleSheet(按钮样式) - - def 界面2(self): - pass - - def 界面3(self): - pass - - def 界面4(self): - - # 第四个布局 - self.main_frame4 = QWidget() - - self.神话属性选项 = [] - self.神话属性图片 = [] - num = 0 - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.品质 == '神话': - - self.神话属性图片.append(QLabel(self.main_frame4)) - self.神话属性图片[-1].setMovie(equ.get_img_by_id(j)) - self.神话属性图片[-1].setToolTip('' + - temp.名称 + '
' + temp.类型 + '-' + - temp.部位 + '
') - self.神话属性图片[-1].resize(28, 28) - self.神话属性图片[-1].move(-1000, -1000) - for i in range(4): - self.神话属性选项.append(MyQComboBox(self.main_frame4)) - self.神话属性选项[-1].resize(150, 18) - self.神话属性选项[-1].move(-1000, -1000) - self.神话属性选项[-1].currentIndexChanged.connect( - lambda state, index=num * 4 + i: self.神话属性选项颜色更新(index - )) - num += 1 - - if self.初始属性.职业分类 == '输出': - self.改造产物选项 = [] - self.改造产物图片 = [] - num = 0 - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.所属套装 == '智慧产物': - self.改造产物图片.append(QLabel(self.main_frame4)) - self.改造产物图片[-1].setMovie(equ.get_img_by_id(j)) - self.改造产物图片[-1].setToolTip('' + - temp.名称 + '
' + temp.类型 + - '-' + temp.部位 + '
') - self.改造产物图片[-1].resize(28, 28) - self.改造产物图片[-1].move(-1000, -1000) - for i in range(4): - self.改造产物选项.append(MyQComboBox(self.main_frame4)) - self.改造产物选项[-1].resize(150, 18) - self.改造产物选项[-1].move(-1000, -1000) - self.改造产物选项[-1].currentIndexChanged.connect( - lambda state, index=num * 4 + i: self.改造产物选项颜色更新( - index)) - num += 1 - - count = 0 - for i in equ.get_equ_list(): - if i.品质 == '神话': - 描述列表 = [i.属性1描述, i.属性2描述, i.属性3描述, i.属性4描述] - 范围列表 = [i.属性1范围, i.属性2范围, i.属性3范围, i.属性4范围] - for j in range(4): - if 描述列表[j] != '无': - self.神话属性选项[count * 4 + j].setEnabled(True) - for k in range(范围列表[j][0], 范围列表[j][1] - 1, -1): - if (k % 范围列表[j][2]) == 0 or k == 范围列表[j][0]: - temp = trans(描述列表[j], value=k) - self.神话属性选项[count * 4 + j].addItem(temp) - else: - self.神话属性选项[count * 4 + j].setEnabled(False) - self.神话属性选项[count * 4 + j].addItem(trans('无')) - count += 1 - - count = 0 - for i in equ.get_equ_list(): - if i.所属套装 == '智慧产物': - 描述列表 = [i.属性1描述, i.属性2描述, i.属性3描述, i.属性4描述] - 范围列表 = [i.属性1范围, i.属性2范围, i.属性3范围, i.属性4范围] - for j in range(4): - if 描述列表[j] != '无': - self.改造产物选项[count * 4 + j].setEnabled(True) - for k in range(范围列表[j][0], 范围列表[j][1] - 1, -1): - if (k % 范围列表[j][2]) == 0 or k == 范围列表[j][0]: - temp = trans(描述列表[j], value=k) - self.改造产物选项[count * 4 + j].addItem(temp) - else: - self.改造产物选项[count * 4 + j].setEnabled(False) - self.改造产物选项[count * 4 + j].addItem(trans('无')) - count += 1 - else: - count = 0 - for i in equ.get_equ_list(): - if i.品质 == '神话': - 描述列表 = [ - i.属性1描述_BUFF, i.属性2描述_BUFF, i.属性3描述_BUFF, i.属性4描述_BUFF - ] - 范围列表 = [ - i.属性1范围_BUFF, i.属性2范围_BUFF, i.属性3范围_BUFF, i.属性4范围_BUFF - ] - for j in range(4): - if 描述列表[j] != '无': - self.神话属性选项[count * 4 + j].setEnabled(True) - for k in range(范围列表[j][0], 范围列表[j][1] - 1, -1): - if (k % 范围列表[j][2]) == 0 or k == 范围列表[j][0]: - temp = trans(描述列表[j], value=k) - self.神话属性选项[count * 4 + j].addItem(temp) - else: - self.神话属性选项[count * 4 + j].setEnabled(False) - self.神话属性选项[count * 4 + j].addItem(trans('无')) - count += 1 - pass - - def 界面5(self): - pass - - def 界面6(self): - pass - - def 基准值设置(self, x=0): - self.基准值.clear() - if x == 0: - 装备 = [] - for i in self.自选装备: - 装备.append(i.currentData()) - A = deepcopy(self.初始属性) - self.输入属性(A) - A.穿戴装备计算套装(装备) - B = deepcopy(A) - self.关闭排行窗口() - self.排行数据.clear() - self.排行数据.append(装备 + [0] + A.套装栏 + ['无']) - self.输出界面(0, '基准值') - if A.职业分类 == '输出': - self.基准值 = [A.伤害计算(0), B.伤害计算(1)] - else: - self.基准值 = [A.BUFF计算(0), B.BUFF计算(1)] - self.自选计算(1) - - def 希洛克选择(self, index, x=0): - if x == 1: - for i in range(15): - self.希洛克遮罩透明度[i].setOpacity(0.5) - self.希洛克选择状态[i] = 0 - return - if index >= 100: - 序号 = int(index / 100 - 1) - if self.初始属性.职业分类 == '输出': - # 守门人全属强方案 - if 序号 == 3: - if self.角色属性A.职业 not in ('冰结师', '鬼泣', '死灵术士', '气功师', '忍者', - '暗枪士'): - number = self.希洛克选择状态[9] + self.希洛克选择状态[ - 10] + self.希洛克选择状态[11] - if number != 3: - self.守门人属强.setCurrentIndex(3) - self.守门人全属强.setEnabled(True) - self.守门人全属强.setChecked(True) - self.守门人全属强.setStyleSheet(复选框样式) - else: - self.守门人全属强.setEnabled(False) - self.守门人全属强.setChecked(False) - self.守门人全属强.setStyleSheet(复选框样式) - else: - self.守门人全属强.setEnabled(False) - self.守门人全属强.setChecked(False) - self.守门人全属强.setStyleSheet(复选框样式) - count = 0 - for i in range(序号 * 3, 序号 * 3 + 3): - count += self.希洛克选择状态[i] - if count != 3: - for i in range(15): - if i in range(序号 * 3, 序号 * 3 + 3): - self.希洛克遮罩透明度[i].setOpacity(0) - self.希洛克选择状态[i] = 1 - else: - self.希洛克遮罩透明度[i].setOpacity(0.5) - self.希洛克选择状态[i] = 0 - else: - for i in range(序号 * 3, 序号 * 3 + 3): - self.希洛克遮罩透明度[i].setOpacity(0.5) - self.希洛克选择状态[i] = 0 - else: - if self.初始属性.职业分类 == '输出': - if self.角色属性A.职业 not in ('冰结师', '鬼泣', '死灵术士', '气功师', '忍者', - '暗枪士'): - number = self.希洛克选择状态[9] + self.希洛克选择状态[10] + self.希洛克选择状态[ - 11] - if number == 2 and self.希洛克选择状态[index] == 0 and index in [ - 9, 10, 11 - ]: - self.守门人属强.setCurrentIndex(3) - self.守门人全属强.setEnabled(True) - self.守门人全属强.setChecked(True) - self.守门人全属强.setStyleSheet(复选框样式) - else: - self.守门人全属强.setEnabled(False) - self.守门人全属强.setChecked(False) - self.守门人全属强.setStyleSheet(复选框样式) - if self.希洛克选择状态[index] == 0: - for i in range(5): - 序号 = i * 3 + index % 3 - if self.希洛克选择状态[序号] == 1: - self.希洛克遮罩透明度[序号].setOpacity(0.5) - self.希洛克选择状态[序号] = 0 - self.希洛克遮罩透明度[index].setOpacity(0) - self.希洛克选择状态[index] = 1 - else: - self.希洛克遮罩透明度[index].setOpacity(0.5) - self.希洛克选择状态[index] = 0 - - def 奥兹玛选择(self, index, x=0): - if x == 1: - for i in range(25): - self.奥兹玛遮罩透明度[i].setOpacity(0.5) - self.奥兹玛选择状态[i] = 0 - return - if index >= 100: - 序号 = int(index / 100 - 1) - count = 0 - for i in range(序号 * 5, 序号 * 5 + 5): - count += self.奥兹玛选择状态[i] - if count != 5: - for i in range(25): - if i in range(序号 * 5, 序号 * 5 + 5): - self.奥兹玛遮罩透明度[i].setOpacity(0) - self.奥兹玛选择状态[i] = 1 - else: - self.奥兹玛遮罩透明度[i].setOpacity(0.5) - self.奥兹玛选择状态[i] = 0 - else: - for i in range(序号 * 5, 序号 * 5 + 5): - self.奥兹玛遮罩透明度[i].setOpacity(0.5) - self.奥兹玛选择状态[i] = 0 - else: - if self.奥兹玛选择状态[index] == 0: - for i in range(5): - 序号 = i * 5 + index % 5 - if self.奥兹玛选择状态[序号] == 1: - self.奥兹玛遮罩透明度[序号].setOpacity(0.5) - self.奥兹玛选择状态[序号] = 0 - self.奥兹玛遮罩透明度[index].setOpacity(0) - self.奥兹玛选择状态[index] = 1 - else: - self.奥兹玛遮罩透明度[index].setOpacity(0.5) - self.奥兹玛选择状态[index] = 0 - - def 技能存档更换(self): - if self.技能存档选择.currentText() == trans('新建存档'): - num = 1 - while True: - path = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, - 'skill-{}'.format(num)) - if os.path.exists(path): - num += 1 - else: - os.makedirs(path) - break - self.技能存档位置 = 'skill-{}'.format(num) - self.保存json(path=self.技能存档位置, page=[1]) - self.技能存档选择.setItemText(self.技能存档选择.count() - 1, - 'skill-{}'.format(num)) - self.技能存档选择.addItem(trans('新建存档')) - return - - if self.技能存档位置 == self.技能存档选择.currentText(): - return - if self.技能存档位置 != '全局存档': - box = QMessageBox( - QMessageBox.Warning, "提示", - "即将载入{}技能存档,是否保存当前配置到{}技能存档?" - .format(self.技能存档选择.currentText(), self.技能存档位置)) - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr("确定"), QMessageBox.YesRole) - no = box.addButton(self.tr("取消"), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - self.保存json(path=self.技能存档位置, page=[1]) - self.技能存档位置 = self.技能存档选择.currentText() - if self.技能存档位置 != '全局存档': - self.载入json(path=self.技能存档位置, page=[1]) - else: - self.载入json(path=self.存档位置, page=[1]) - - def 技能存档列表读取(self): - self.技能存档位置 = '全局存档' - path = './ResourceFiles/{}/'.format(self.角色属性A.实际名称) - setfile = ['全局存档'] - for root, dirs, files in os.walk(path): - for dir in dirs: - if dir.startswith('skill'): - setfile.append(dir) - self.技能存档选择.clear() - self.技能存档选择.addItems(setfile) - self.技能存档选择.addItem(trans('新建存档')) - self.技能存档位置 = self.技能存档选择.currentText() - - def 存档更换(self): - if self.存档选择.currentText() == trans('新建存档'): - num = 1 - while True: - path = './ResourceFiles/{}/{}'.format(self.角色属性A.实际名称, - 'set-{}'.format(num)) - if os.path.exists(path): - num += 1 - else: - os.makedirs(path) - break - self.存档位置 = 'set-{}'.format(num) - self.保存配置(self.存档位置) - self.存档选择.setItemText(self.存档选择.count() - 1, 'set-{}'.format(num)) - self.存档选择.addItem(trans('新建存档')) - return - - if self.存档位置 == self.存档选择.currentText(): - return - box = QMessageBox( - QMessageBox.Warning, "提示", - "即将载入{}存档,是否保存当前配置到{}存档?" - .format(self.存档选择.currentText(), self.存档位置)) - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr("确定"), QMessageBox.YesRole) - no = box.addButton(self.tr("取消"), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - self.保存配置(self.存档位置) - self.存档位置 = self.存档选择.currentText() - self.载入配置(self.存档位置) - - def 存档列表读取(self): - self.存档位置 = 'set' - path = './ResourceFiles/' + self.角色属性A.实际名称 + '/' - setfile = [] - for root, dirs, files in os.walk(path): - for dir in dirs: - if dir.startswith('set'): - setfile.append(dir) - self.存档选择.clear() - for k in setfile: - self.存档选择.addItem(k) - self.存档选择.addItem(trans('新建存档')) - self.存档位置 = self.存档选择.currentText() - - def 全局重置(self): - box = QMessageBox(QMessageBox.Warning, "提示", "是否恢复默认设置?") - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr("确定"), QMessageBox.YesRole) - no = box.addButton(self.tr("取消"), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - self.载入配置('reset') - - def 改造套装更改(self): - self.计算标识 = 0 - 名称列表 = [] - 部位序号 = [] - for n in equ.get_equ_list(): - try: - if n.关联套装 == self.改造套装.currentData(): - 名称列表.append(n.名称) - 部位序号.append(部位字典[n.部位]) - except: - pass - try: - if n.所属套装 == self.改造套装.currentData().split('[')[0]: - 名称列表.append(n.名称) - 部位序号.append(部位字典[n.部位]) - except: - pass - if self.改造套装.currentData() == '兵法之神[5]': - for n in equ.get_equ_list(): - try: - if n.所属套装 in ['无相轮回的希望', '流逝轮回的记忆'] and n.部位 != '辅助装备': - 名称列表.append(n.名称) - 部位序号.append(部位字典[n.部位]) - except: - pass - for n in 部位序号: - x = -1 - for i in equ.get_equ_list(): - if 部位列表[n] == i.部位: - x += 1 - if i.名称 in 名称列表: - self.自选装备[n].setCurrentIndex(x) - self.计算标识 = 1 - self.自选计算(1) - - def 神话部位更改(self): - self.计算标识 = 0 - 部位 = [-1, 0, 5, 8] - 序号 = 部位[self.神话部位选项.currentIndex()] - if 序号 != -1: - 当前 = equ.get_equ_by_name(self.自选装备[序号].currentData()) - x = -1 - for i in equ.get_equ_list(): - if 当前.部位 == i.部位: - x += 1 - if i.品质 == '神话' and i.所属套装 == 当前.所属套装: - self.自选装备[序号].setCurrentIndex(x) - for k in [0, 5, 8]: - if k != 序号: - 当前 = equ.get_equ_by_name(self.自选装备[k].currentData()) - if 当前.品质 == '神话': - x = -1 - for i in equ.get_equ_list(): - if 当前.部位 == i.部位: - x += 1 - if i.品质 == '史诗' and i.所属套装 == 当前.所属套装: - self.自选装备[k].setCurrentIndex(x) - self.计算标识 = 1 - self.自选计算(1) - - def 自选装备更改(self, index=0): - try: - self.图片显示[index].setMovie( - equ.get_img_by_name(self.自选装备[index].currentData())) - except: - pass - - if self.初始属性.职业分类 == '输出': - if self.当前页面 == 5 and self.计算标识 == 1: - self.自选计算(1) - else: - if self.当前页面 == 4 and self.计算标识 == 1: - self.自选计算(1) - - def 自选套装更改(self, index): - self.计算标识 = 0 - name = self.自选套装[index].currentData() - for i in range(11): - if self.装备锁定[i].isChecked(): - continue - x = -1 - for j in equ.get_equ_list(): - if j.部位 == 部位列表[i]: - x += 1 - if j.所属套装2 == name: - self.自选装备[i].setCurrentIndex(x) - break - elif j.所属套装 == name and j.品质 != '神话': - self.自选装备[i].setCurrentIndex(x) - break - self.计算标识 = 1 - self.自选计算(1) - - def 辟邪玉数值选项更新(self, index): - if self.初始属性.职业分类 == '输出': - from PublicReference.equipment.辟邪玉 import 辟邪玉列表 - else: - from PublicReference.equipment.buff.辟邪玉_buff import 辟邪玉列表 - self.辟邪玉数值[index].clear() - x = self.辟邪玉选择[index].currentIndex() - temp = 辟邪玉列表[x].最大值 * 10 - while temp >= 辟邪玉列表[x].最小值 * 10: - t = '+' if temp >= 0 else '' - if 辟邪玉列表[x].间隔 == 1: - self.辟邪玉数值[index].addItem(t + str(int(temp / 10))) - else: - self.辟邪玉数值[index].addItem(t + str('%.1f' % (temp / 10)) + '%') - temp -= 辟邪玉列表[x].间隔 * 10 - - def 辟邪玉属性计算(self, 属性): - if self.初始属性.职业分类 == '输出': - from PublicReference.equipment.辟邪玉 import 辟邪玉列表 - else: - from PublicReference.equipment.buff.辟邪玉_buff import 辟邪玉列表 - for i in range(4): - x = self.辟邪玉选择[i].currentIndex() - if self.辟邪玉数值[i].currentIndex() >= 0: - 辟邪玉列表[x].当前值 = float(self.辟邪玉数值[i].currentData().replace( - '%', '')) - 辟邪玉列表[x].穿戴属性(属性) - - def 装备图标点击事件(self, index, sign, x=1): - if equ.get_equ_by_id(index).模式 == 0: - try: - # 改变状态 - if sign == 10: - if self.装备选择状态[index] == 0: - self.遮罩透明度[index].setOpacity(0.0) - self.装备选择状态[index] = 1 - else: - self.遮罩透明度[index].setOpacity(0.5) - self.装备选择状态[index] = 0 - # 点亮 - if sign == 1: - self.遮罩透明度[index].setOpacity(0.0) - self.装备选择状态[index] = 1 - # 熄灭 - if sign == 0: - self.遮罩透明度[index].setOpacity(0.5) - self.装备选择状态[index] = 0 - self.装备图片按钮[index].setGraphicsEffect(self.遮罩透明度[index]) - - if x == 1: - self.计算模式选择.setItemText( - 0, - trans("{计算模式:极速模式} {组合}:$value", - value=self.组合数量计算(0))) - self.计算模式选择.setItemText( - 1, - trans("{计算模式:套装模式} {组合}:$value", - value=self.组合数量计算(1))) - self.计算模式选择.setItemText( - 2, - trans("{计算模式:单件模式} {组合}:$value", - value=self.组合数量计算(2))) - except Exception as error: - pass - - def 套装按钮点击事件(self, index): - count = 0 - if index == '武器': - for i in equ.get_equ_list(): - if i.类型 in self.角色属性A.武器选项: - count += self.装备选择状态[equ.get_id_by_name(i.名称)] - for i in equ.get_equ_list(): - if i.类型 in self.角色属性A.武器选项: - self.装备图标点击事件(equ.get_id_by_name(i.名称), - 0 if count > 0 else 1) - elif index == '智慧产物': - for i in equ.get_equ_list(): - if self.单件装备判断(i): - count += self.装备选择状态[equ.get_id_by_name(i.名称)] - for i in equ.get_equ_list(): - if self.单件装备判断(i): - self.装备图标点击事件(equ.get_id_by_name(i.名称), - 0 if count > 0 else 1) - else: - for i in equ.get_equ_list(): - if i.所属套装 == index: - count += self.装备选择状态[equ.get_id_by_name(i.名称)] - for i in equ.get_equ_list(): - if i.所属套装 == index: - self.装备图标点击事件(equ.get_id_by_name(i.名称), - 0 if count > 0 else 1) - - def 组合数量计算(self, sign, x=0): - if sign == 0 or sign == 1: - self.有效武器列表.clear() - for j in range(6): - self.有效总套装列表[j].clear() - for i in range(len(self.装备选择状态)): - if self.装备选择状态[i] == 1: - temp = equ.get_equ_by_id(i) - for j in range(6): - if (temp.所属套装 - in 总套装列表[j]) and (temp.所属套装 - not in self.有效总套装列表[j]): - self.有效总套装列表[j].append(temp.所属套装) - if temp.部位 == '武器': - self.有效武器列表.append(temp.名称) - if sign == 0: - counter = ( - len(self.有效防具套装) * len(self.有效首饰套装) * len(self.有效特殊套装) + - len(self.有效防具套装) * len(self.有效上链左套装) * len(self.有效镯下右套装) * - len(self.有效环鞋指套装) * 4) * 4 * len(self.有效武器列表) - if sign == 1: - counter = ( - len(self.有效防具套装) * len(self.有效首饰套装) * len(self.有效特殊套装) + - len(self.有效防具套装) * len(self.有效上链左套装) * len(self.有效镯下右套装) * - len(self.有效环鞋指套装) * 4 + - len(self.有效防具套装) * len(self.有效首饰套装) * len(self.有效特殊套装) * - (len(self.有效防具套装) - 1) * 10) * 4 * len(self.有效武器列表) - - if sign == 2: - self.有效部位列表.clear() - for i in range(12): - self.有效部位列表.append([]) - for i in range(len(self.装备选择状态)): - if self.装备选择状态[i] == 1: - temp = equ.get_equ_by_id(i) - self.有效部位列表[部位列表.index(temp.部位)].append(temp.名称) - - counter = 0 - for a1 in self.有效部位列表[0]: - for a2 in self.有效部位列表[5]: - for a3 in self.有效部位列表[8]: - 神话数量 = 0 - for i in [a1, a2, a3]: - if equ.get_equ_by_name(i).品质 == '神话': - 神话数量 += 1 - if 神话数量 <= 1: - counter += 1 - for i in [1, 3, 2, 4, 6, 9, 7, 10, 11]: - counter *= len(self.有效部位列表[i]) - - if x == 0: - if counter <= 9999: - return str(counter) - else: - num = -1 - while counter >= 10000: - counter /= 10000 - num += 1 - name = ['万', '亿', '万亿'] - return str(round(counter, 2)) + name[num] - if x == 1: - return counter - - def 强化觉醒选择(self, index): - self.觉醒选择状态 = index - if index == 1: - self.一觉遮罩透明度.setOpacity(0.0) - self.二觉遮罩透明度.setOpacity(0.5) - if index == 2: - self.一觉遮罩透明度.setOpacity(0.5) - self.二觉遮罩透明度.setOpacity(0.0) - - self.一觉遮罩.setGraphicsEffect(self.一觉遮罩透明度) - self.二觉遮罩.setGraphicsEffect(self.二觉遮罩透明度) - - def 批量选择(self, index): - if index == 1: - if self.全选状态 == 1: - self.全选状态 = 0 - else: - self.全选状态 = 1 - if sum(self.装备选择状态[74:244]) == 170: - self.批量选择(0) - - for i in equ.get_equ_list(): - if self.武器装备判断(i) or self.单件装备判断(i) or self.其他装备判断(i): - if i.品质 == '神话' and index == 1: - if self.全选状态 == 0: - self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) - else: - self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) - - self.装备图标点击事件(74, index) - - def 批量打造(self, x): - for i in range(12): - y = max(min(self.装备打造选项[i + 12].currentIndex() + x, 31), 0) - self.装备打造选项[i + 12].setCurrentIndex(y) - - def 神话属性选项颜色更新(self, index): - i = self.神话属性选项[index] - if i.currentIndex() != 0: - i.setStyleSheet(下拉框样式_warn) - else: - i.setStyleSheet(下拉框样式) - - def 改造产物选项颜色更新(self, index): - i = self.改造产物选项[index] - if i.currentIndex() != 0: - i.setStyleSheet(下拉框样式_warn) - else: - i.setStyleSheet(下拉框样式) - - def click_window(self, index, info=''): - if info != '': - increase_counter(ga_category="界面使用情况", name=info) - self.当前页面 = index - if self.stacked_layout.currentIndex() != index: - self.stacked_layout.setCurrentIndex(index) - for i in self.window_btn: - i.setStyleSheet(页签样式) - self.window_btn[index].setStyleSheet(页签样式_选中) - - if index == 3: - count1 = 0 - count2 = 0 - num = 0 - width = 1100 - height = 680 - page4_height = 0 - 自选装备名称 = [] - for i in self.自选装备: - 自选装备名称.append(i.currentData()) - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.品质 == '神话': - if self.装备选择状态[j] == 1 or temp.名称 in 自选装备名称: - self.神话属性图片[num].move( - int(width / 7 * (count1 % 7 + 0.42)), - int(height / 5.2 * (count2 + 0.05)) - 3) - for i in range(4): - self.神话属性选项[num * 4 + i].move( - int(width / 7 * (count1 % 7) + 6), - int(height / 5.2 * (count2 + 0.05)) - 3 + - i * 22 + 32) - count1 += 1 - if count1 % 7 == 0: - count2 += 1 - page4_height += 1 - else: - self.神话属性图片[num].move(-1000, -1000) - for i in range(4): - self.神话属性选项[num * 4 + i].move(-1000, -1000) - num += 1 - if self.初始属性.职业分类 == '输出': - num = 0 - for j in equ.get_equ_id_list(): - temp = equ.get_equ_by_id(j) - if temp.所属套装 == '智慧产物': - if (self.装备选择状态[j] == 1 or temp.名称 - in 自选装备名称) and self.智慧产物升级.isChecked(): - self.改造产物图片[num].move( - int(width / 7 * (count1 % 7 + 0.42)), - int(height / 5.2 * (count2 + 0.05)) - 3) - for i in range(4): - self.改造产物选项[num * 4 + i].move( - int(width / 7 * (count1 % 7) + 6), - int(height / 5.2 * (count2 + 0.05)) - 3 + - i * 22 + 32) - count1 += 1 - if count1 % 7 == 0: - count2 += 1 - page4_height += 1 - else: - self.改造产物图片[num].move(-1000, -1000) - for i in range(4): - self.改造产物选项[num * 4 + i].move(-1000, -1000) - num += 1 - page4_height = max(ceil(page4_height / 7) * 130, height) - self.main_frame4.setMinimumSize(width, page4_height) - - if self.初始属性.职业分类 == '输出': - if index == 5: - self.自选计算(1) - else: - if index == 4: - self.自选计算(1) - - def 智慧产物升级洗词条(self, x=0): - count1 = 0 - count2 = 0 - num = 0 - for j in equ.get_equ_id_list(): - if equ.get_equ_by_id(j).所属套装 == '智慧产物': - if self.装备选择状态[j] == 1 and x == 1: - self.改造产物图片[num].move( - int(self.width() / 7 * (count1 % 5 + 0.42 + 2)) - 10, - int(self.height() / 5.2 * (count2 + 0.05))) - for i in range(4): - self.改造产物选项[num * 4 + i].move( - int(self.width() / 7 * (count1 % 5 + 2) + 2), - int(self.height() / 5.2 * (count2 + 0.05)) + - i * 22 + 32) - count1 += 1 - if count1 % 5 == 0: - count2 += 1 - else: - self.改造产物图片[num].move(-1000, -1000) - for i in range(4): - self.改造产物选项[num * 4 + i].move(-1000, -1000) - num += 1 - - def 修正套装计算(self, x): - self.有效穿戴组合.clear() - - 装备 = [] - if x == 0: - for i in self.有效部位列表: - 装备.append(i[0]) - elif x == 1: - for i in self.自选装备: - 装备.append(i.currentData()) - - self.有效穿戴组合.append(装备) - - def 神话数量判断(self, x=0): - count = 0 - for j in equ.get_equ_id_list(): - if equ.get_equ_by_id(j).品质 == '神话': - if self.装备选择状态[j] == 1: - count += 1 - if x == 0: - if count != 0: - return False - else: - return True - else: - return count - - def 单件模式前四层组合(self): - count = 0 - for a1 in self.有效部位列表[0]: - for a2 in self.有效部位列表[5]: - for a3 in self.有效部位列表[8]: - 神话数量 = 0 - for i in [a1, a2, a3]: - if equ.get_equ_by_name(i).品质 == '神话': - 神话数量 += 1 - if 神话数量 <= 1: - count += 1 - return count * len(self.有效部位列表[1]) - - # 计算 - def 计算(self): - self.角色属性A = deepcopy(self.初始属性) - self.输入属性(self.角色属性A) - self.角色属性A.开启切装 = 切装模式 - if self.是否计算 != 1: - return - self.保存配置(self.存档位置) - if 调试开关 == 1 and self.角色属性A.职业分类 == '输出': - self.输出界面(-1) - return - if self.神话数量判断() and self.神话排名选项.isChecked(): - QMessageBox.information(self, "错误", "请勾选神话装备或取消勾选神话排名模式选项") - return - self.有效部位列表备份 = [] - if self.组合计算(self.计算模式选择.currentIndex()) == 0: - if self.计算模式选择.currentIndex() == 0 and self.组合计算(1) != 0: - QMessageBox.information(self, "错误", "已更换为套装模式,请再次计算") - self.计算模式选择.setCurrentIndex(1) - return - elif self.计算模式选择.currentIndex() != 2 and self.组合计算(2) != 0: - QMessageBox.information(self, "错误", "请更换为单件模式,并再次计算") - return - else: - QMessageBox.information(self, "错误", "无有效组合,请重新选择装备") - return - self.计算按钮1.setEnabled(False) - self.计算按钮1.setStyleSheet(按钮样式) - self.计算按钮2.setEnabled(False) - self.计算按钮2.setStyleSheet(按钮样式) - self.计算按钮3.setEnabled(False) - self.计算按钮3.setStyleSheet(按钮样式) - threading.Thread(target=self.计算线程, daemon=True).start() - - def 计算线程(self): - logger.info("开始计算") - self.角色属性A = deepcopy(self.初始属性) - self.输入属性(self.角色属性A) - - self.最大使用线程数 = thread_num - self.线程数选择.currentIndex() - # -------------------------------------多线程计算流程开始------------------------------------- - - startTime = time.time() - finished = False - producer_data.calc_index += 1 - producer_data.produced_count = 0 - - def log_result_queue_info(log_func, msg, mq: MinHeapWithQueue): - log_func( - "calc#{}: {}: {} remaining_qize={} sync_batch_size={} processed_result={}, speed={:.2f}/s totalWork={}" - .format(producer_data.calc_index, mq.name, msg, - mq.minheap_queue.qsize(), mq.minheap.batch_size, - mq.minheap.processed_result_count, - mq.process_results_per_second(), - producer_data.produced_count)) - self.update_remaining_signal.emit( - str(mq.minheap.processed_result_count)) - - def try_fetch_result(mq: MinHeapWithQueue): - idx = 1 - while True: - try: - minheap_to_merge = mq.minheap_queue.get(block=False) - mq.minheap.merge(minheap_to_merge) - - if mq.minheap.processed_result_count >= 1000 * idx: - log_result_queue_info( - logger.info, "try_fetch_result periodly report", - mq) - idx = mq.minheap.processed_result_count // 1000 + 1 - except queue.Empty as error: - break - - def try_fetch_result_in_background(mq: MinHeapWithQueue): - while not finished: - log_result_queue_info(logger.info, - "try_fetch_result_in_background", mq) - try_fetch_result(mq) - time.sleep(0.5) - - save_top_n = 2 << 64 - - mq = MinHeapWithQueue("排行", MinHeap(save_top_n, batch_size), - multiprocessing.Manager().Queue()) - - # 异步排行线程 - fetch_result_thread = threading.Thread( - target=try_fetch_result_in_background, args=(mq, ), daemon=True) - fetch_result_thread.start() - - # 异步计算搭配 - mode_index = self.计算模式选择.currentIndex() - total_task_count = self.组合计算(self.计算模式选择.currentIndex()) # 极速模式和套装模式时 - if mode_index == 2: - # 散件模式时 - total_task_count = self.单件模式前四层组合() - - batch_task_count = min(thread_task * thread_num, total_task_count, - self.最大使用线程数) - - start_index, end_index = 0, 0 - task_batch_size = total_task_count // batch_task_count - reminder = total_task_count % batch_task_count - for i in range(batch_task_count): - end_index = start_index + task_batch_size - 1 - if i < reminder: - end_index += 1 - - calc_data = CalcData() - - if self.角色属性A.职业分类 == "BUFF": - calc_data.是输出职业 = False - calc_data.minheap_queue = mq.minheap_queue - calc_data.角色属性A = deepcopy(self.角色属性A) - calc_data.角色属性A.强化等级 = copy(self.角色属性A.强化等级) - calc_data.角色属性A.改造等级 = copy(self.角色属性A.改造等级) - calc_data.角色属性A.是否增幅 = copy(self.角色属性A.是否增幅) - else: - calc_data.是输出职业 = True - calc_data.智慧产物限制 = self.智慧产物限制.currentIndex() + 1 - calc_data.minheap_queue = mq.minheap_queue - calc_data.角色属性A = deepcopy(self.角色属性A) - calc_data.角色属性A.装备切装 = copy(self.角色属性A.装备切装) - calc_data.角色属性A.技能切装 = copy(self.角色属性A.技能切装) - calc_data.角色属性A.切装修正 = copy(self.角色属性A.切装修正) - calc_data.角色属性A.宠物次数 = copy(self.角色属性A.宠物次数) - calc_data.角色属性A.强化等级 = copy(self.角色属性A.强化等级) - calc_data.角色属性A.改造等级 = copy(self.角色属性A.改造等级) - calc_data.角色属性A.是否增幅 = copy(self.角色属性A.是否增幅) - calc_data.角色属性A.次数输入 = copy(self.角色属性A.次数输入) - - calc_data.mode_index = mode_index - calc_data.start_index = start_index - calc_data.end_index = end_index - - calc_data.装备选择状态 = copy(self.装备选择状态) - for i in self.有效部位列表: - for j in i: - calc_data.装备选择状态[equ.get_id_by_name(j)] = 1 - if len(self.有效部位列表备份) != 0: - self.有效部位列表 = deepcopy(self.有效部位列表备份) - calc_data.拥有百变怪 = self.百变怪选项.isChecked() - calc_data.神话属性选项 = [cb.currentIndex() for cb in self.神话属性选项] - if self.初始属性.职业分类 == '输出': - calc_data.改造产物选项 = [cb.currentIndex() for cb in self.改造产物选项] - - calc_data.minheap = MinHeap(save_top_n, batch_size) - - producer(calc_data) - - start_index = end_index + 1 - - # 等到所有工作处理完成 - producer_data.work_queue.join() - finished = True - - logger.warning("所有工作线程均已完成计算,总计用时={}".format( - format_time(time.time() - startTime))) - - # 等待异步排行线程退出 - fetch_result_thread.join() - - # 最终将剩余结果(若有)也加入排序 - log_result_queue_info(logger.info, "after join", mq) - try_fetch_result(mq) - log_result_queue_info(logger.info, "after final", mq) - - # -------------------------------------多线程计算流程结束------------------------------------- - - self.排行数据.clear() - self.伤害列表 = mq.minheap.getTop() - for i in range(len(self.伤害列表)): - self.排行数据.append(self.伤害列表[i][1:]) - - totoalCostTime = time.time() - startTime - # logger.info(( - # "计算完毕\n" - # "工作线程={} 总计耗时={}" - # ).format( - # thread_num, format_time(totoalCostTime), - # )) - - self.calc_done_signal.emit() - - def 数量显示(self, counter): - if counter <= 9999: - return str(counter) - else: - counter /= 10000 - return ('%.2f' % counter) + '万' - - def update_remaining(self, count): - temp = self.数量显示(int(count)) - self.计算按钮1.setText("完成:" + temp) - self.计算按钮2.setText("完成:" + temp) - self.计算按钮3.setText("完成:" + temp) - - def calc_done(self): - self.计算按钮1.setText(trans("开始计算")) - self.计算按钮1.setEnabled(True) - self.计算按钮1.setStyleSheet(按钮样式) - self.计算按钮2.setText(trans("开始计算")) - self.计算按钮2.setEnabled(True) - self.计算按钮2.setStyleSheet(按钮样式) - self.计算按钮3.setText(trans("开始计算")) - self.计算按钮3.setEnabled(True) - self.计算按钮3.setStyleSheet(按钮样式) - if len(self.排行数据) == 0: - QMessageBox.information(self, "计算错误", "无有效组合") - return - if len(self.排行数据) == 1: - self.输出界面(0) - else: - self.关闭排行窗口() - if self.装备限定判断(): - self.其他限定判断() - - def 关闭排行窗口(self): - for i in self.排行窗口列表: - i.close() - self.排行窗口列表.clear() - - def 单条排行数据判断(self, s, l): - for i in l: - if s[i] != self.自选装备[i].currentData(): - return 0 - return 1 - - def 其他限定判断(self): - if self.神话排名选项.isChecked(): - 神话列表 = [] - 对应序号 = [] - for i in range(len(self.排行数据)): - tempstr = self.排行数据[i] - for j in [0, 5, 8]: - if equ.get_equ_by_name( - tempstr[j]).品质 == '神话' and tempstr[j] not in 神话列表: - 神话列表.append(tempstr[j]) - 对应序号.append(i) - if len(神话列表) >= self.神话数量判断(1): - break - if len(对应序号) == 0: - QMessageBox.information(self, "计算错误", "请取消勾选神话排名模式或重新勾选装备") - return - self.排行界面({}, 对应序号) - elif 武器排名 == 1: - 武器列表 = [] - 对应序号 = [] - for i in range(len(self.排行数据)): - tempstr = self.排行数据[i] - if equ.get_equ_by_name( - tempstr[11]).部位 == '武器' and tempstr[11] not in 武器列表: - 武器列表.append(tempstr[11]) - 对应序号.append(i) - if len(武器列表) >= len(self.有效武器列表): - break - self.排行界面({}, 对应序号) - else: - self.排行界面() - - def 装备限定判断(self): - temp = [] - l = [] - for i in range(12): - if self.装备锁定[i].isChecked(): - l.append(i) - if len(l) == 0: - return 1 - for s in self.排行数据: - if self.单条排行数据判断(s, l): - temp.append(s) - if len(temp) == 0: - QMessageBox.information(self, "计算错误", "无符合条件组合,请解除自选装备页限定或重新勾选") - return 0 - self.排行数据 = copy(temp) - return 1 - - def 指定装备排序(self, dic, x, n): - dic[x] = n - temp = [] - num = -1 - for i in self.排行数据: - num += 1 - sign = 1 - for n in dic.keys(): - if dic[n] != i[n]: - sign = 0 - break - if sign == 1: - temp.append(num) - if len(temp) == 100: - break - self.排行界面(dic, temp) - - def 排行界面(self, 筛选={}, 显示序号=[x for x in range(100)]): - 显示序号 = 显示序号[:min(100, len(self.排行数据))] - 滚动排行 = QWidget() - 滚动排行.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - - 滚动排行.resize(652, 530) - 滚动排行.setMinimumSize(652, 530) - 滚动排行.setMaximumSize(652, 1230) - if len(筛选) == 0: - # 滚动排行.setWindowTitle('当前模板配装排行(点击数字查看详情)'+"装备版本:"+self.角色属性A.版本 + " 增幅版本:" + self.角色属性A.增幅版本) - 滚动排行.setWindowTitle( - trans('当前模板配装排行(点击数字查看详情)') + ' {}'.format(get_mac_address())) - else: - temp = '' - for name in 筛选.values(): - temp += name + ' | ' - 滚动排行.setWindowTitle(temp[:-3]) - 滚动排行.setWindowIcon(self.icon) - if not SkinVersion == 'None': - 背景颜色 = QLabel(滚动排行) - 背景颜色.resize(652, 1230) - 背景颜色.setStyleSheet("QLabel{background-color:rgba(50,50,50,1.0)}") - 排行背景透明度 = QGraphicsOpacityEffect() - 排行背景透明度.setOpacity(0.15) - 排行背景 = QLabel(滚动排行) - 排行背景.resize(652, 1230) - 排行背景.setPixmap(self.主背景图片) - 排行背景.setGraphicsEffect(排行背景透明度) - 排行背景.setAlignment(Qt.AlignCenter) - - #wrapper = QWidget() - # 滚动排行.setCentralWidget(wrapper) - 滚动排行.topFiller = QWidget() - 滚动排行.topFiller.setMinimumSize(592, 50 * len(显示序号) + 30) - - if len(显示序号) > 10: - 初始x = -10 - else: - 初始x = 0 - 初始y = 15 - x间隔 = 30 - y间隔 = 50 - - 最高伤害 = self.排行数据[显示序号[0]][12] - 尾部字符 = '%' - if 最高伤害 > 100000000: - 最高伤害 /= 100000000 - 尾部字符 = '' - - 技能选项 = [] - for i in (self.细节选项输入[2] if self.角色属性A.职业分类 == '输出' else self.技能设置输入): - 技能选项.append(i.currentText().replace('Lv+1', '')) - - if 输出数据 == 1 and len(筛选) == 0: - setfile = open('./数据记录/{}-{}.csv'.format( - self.角色属性A.实际名称, time.strftime('%m-%d-%H-%M-%S')), - 'w', - encoding='gbk') - for i in range(len(显示序号)): - temp = '' - for j in range(13): - temp += str(self.排行数据[显示序号[i]][j]) + ',' - temp += self.角色属性A.实际名称 + ',' - temp += equ.get_equ_by_name(self.排行数据[显示序号[i]][11]).类型 - setfile.write(temp + '\n') - - for i in range(len(显示序号)): - 图片列表 = [] - for j in range(12): - 图片列表.append(equ.get_img_by_name(self.排行数据[显示序号[i]][j])) - 水平间距 = [1, 2, 3, 4, 5, 6.5, 7.5, 8.5, 10, 11, 12, 13.5] - for j in range(12): - 装备 = equ.get_equ_by_name(self.排行数据[显示序号[i]][j]) - 图标 = QLabel(滚动排行.topFiller) - 图标.setMovie(图片列表[j]) - 图片列表[j].start() - 图标.move(int(初始x + x间隔 * 水平间距[j]), int(初始y + i * y间隔)) - if self.排行数据[显示序号[i]][j] == self.排行数据[显示序号[i]][-1]: - 图标 = QLabel(滚动排行.topFiller) - 图标.setStyleSheet( - "QLabel{background-color:rgba(0,0,0,0.5)}") - 图标.resize(28, 28) - 图标.move(int(初始x + x间隔 * 水平间距[j]), int(初始y + i * y间隔)) - - 按钮 = QPushButton(滚动排行.topFiller) - 按钮.move(int(初始x + x间隔 * 水平间距[j]), int(初始y + i * y间隔)) - 按钮.resize(28, 28) - 按钮.setToolTip(self.单件描述(装备)) - a = QGraphicsOpacityEffect() - a.setOpacity(0.0) - 按钮.setGraphicsEffect(a) - 按钮.clicked.connect(lambda state, dic=deepcopy(筛选), x=j, n=装备. - 名称: self.指定装备排序(dic, x, n)) - - 伤害数值 = self.排行数据[显示序号[i]][12] - - if 伤害数值 > 100000000: - 伤害数值 /= 100000000 - 伤害量 = ('{' + - ':.{}f'.format(max(0, 4 - int(math.log10(伤害数值)))) + - '}').format(伤害数值) - else: - 伤害量 = "{:.0f}".format(伤害数值) - - if 最高伤害 != 0: - 百分比 = str(round(伤害数值 / 最高伤害 * 100, 1)) + '%' - else: - 百分比 = ' 0.0%' - - if 百分比 == '100.0%': - 详情按钮 = QtWidgets.QPushButton(伤害量 + 尾部字符 + ' |' + 百分比, - 滚动排行.topFiller) - else: - 详情按钮 = QtWidgets.QPushButton(伤害量 + 尾部字符 + ' | ' + 百分比, - 滚动排行.topFiller) - - 详情按钮.clicked.connect(lambda state, index=显示序号[i]: self.输出界面(index)) - - 详情按钮.move(int(初始x + x间隔 * 15), int(初始y + i * y间隔)) - 详情按钮.resize(142, 30) - - code = MyQLabel(滚动排行.topFiller) - code.setText('' + get_mac_address() + '') - # code.setText('abdhfosnd39dkws2dfsddd') - code.setStyleSheet( - f'{make_watermark_qt_color_string(watermark_surrounding_backgroud_color_ranking)};font-size:9px' - ) - code.move(int(初始x + x间隔 * 15 + 1), int(初始y + i * y间隔) + 17) - code.resize(140, 15) - code.connect_customized_slot( - lambda index=显示序号[i]: self.输出界面(index)) - - temp = deepcopy(self.角色属性A) - 技能等级溢出 = temp.等级溢出判断( - self.排行数据[显示序号[i]][0:12], - self.排行数据[显示序号[i]][13:(len(self.排行数据[显示序号[i]]) - 1)]) - if len(技能等级溢出) != 0: - 可调整技能 = '' - 不可调整技能 = '' - for n in 技能等级溢出: - if n in 技能选项: - 可调整技能 += n + ' ' - else: - 不可调整技能 += n + ' ' - if 可调整技能 != '': - 详情按钮.setToolTip( - '' + - 可调整技能 + 不可调整技能 + '等级溢出,修改白金徽章或时装可以提高伤害。') - 详情按钮.setStyleSheet(按钮样式_warn) - else: - 详情按钮.setStyleSheet(按钮样式 + "QPushButton{font-size:14px}") - 详情按钮.setToolTip( - '' + - 不可调整技能 + '等级溢出') - else: - 详情按钮.setStyleSheet(按钮样式 + "QPushButton{font-size:14px}") - 详情按钮.setToolTip('点击查看详情') - 滚动排行.scroll = QScrollArea() - # 滚动排行.scroll.setStyleSheet("QScrollArea {background-color:transparent}") - 滚动排行.scroll.setStyleSheet(滚动条样式) - 滚动排行.scroll.viewport().setStyleSheet("background-color:transparent") - 滚动排行.scroll.setWidget(滚动排行.topFiller) - 滚动排行.vbox = QVBoxLayout() - 滚动排行.vbox.addWidget(滚动排行.scroll) - 滚动排行.setLayout(滚动排行.vbox) - - 排行显示 = MainWindow(滚动排行) - # for i in range(0, 6): - # label = QLabel(排行显示) - # label.setText(get_mac_address()) - # label.move(10 + 70 * i, 40 + 90 * i) - # label.resize(200, 21) - # label.setStyleSheet( - # 'QLabel{font-size:15px;color:rgba(255,255,255,0.6);font-weight:bolder}' - # ) - self.排行窗口列表.append(排行显示) - 排行显示.show() - - def 获取装备图片(self, 装备列表, 希洛克选择=None, 奥兹玛选择=None): - if 希洛克选择 is None: - 希洛克选择 = self.希洛克选择状态 - if 奥兹玛选择 is None: - 奥兹玛选择 = self.奥兹玛选择状态 - try: - 希洛克武器标记 = 2000 if self.希洛克武器词条[0].currentIndex() > 0 else 0 - except: - 希洛克武器标记 = 2000 if self.希洛克武器选择.currentIndex() > 0 else 0 - - 图片列表 = [] - 希洛克 = {} - for i in range(15): - if 希洛克选择[i] > 0: - 希洛克[i % 3] = i - - 奥兹玛 = {} - for i in range(25): - if 奥兹玛选择[i] > 0: - 奥兹玛[i % 5] = i - - # 0 上衣 - 图片列表.append(equ.get_img_by_name(装备列表[0])) - - # 1 护肩 - if 奥兹玛.get(0, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1000 + 奥兹玛[0])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[1])) - - # 2 护腿 - if 希洛克.get(0, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1100 + 希洛克[0])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[2])) - - # 3 腰带 - if 奥兹玛.get(1, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1000 + 奥兹玛[1])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[3])) - - # 4 鞋子 - if 奥兹玛.get(2, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1000 + 奥兹玛[2])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[4])) - - # 5 手镯 - 图片列表.append(equ.get_img_by_name(装备列表[5])) - - # 6 项链 - if 奥兹玛.get(3, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1000 + 奥兹玛[3])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[6])) - - # 7 戒指 - if 希洛克.get(1, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1100 + 希洛克[1])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[7])) - - # 8 耳环 - 图片列表.append(equ.get_img_by_name(装备列表[8])) - - # 9 辅助 - if 希洛克.get(2, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1100 + 希洛克[2])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[9])) - - # 10 魔法石 - if 奥兹玛.get(4, -1) >= 0: - 图片列表.append(equ.get_img_by_id(1000 + 奥兹玛[4])) - else: - 图片列表.append(equ.get_img_by_name(装备列表[10])) - - # 11 武器 - 图片列表.append(equ.get_img_by_name(装备列表[11], 希洛克武器标记)) - - return 图片列表 - - def 组合计算(self, index): - 套装组合 = [] - if index <= 1: - for a in self.有效防具套装: - for b in self.有效首饰套装: - for c in self.有效特殊套装: - # 533 - 套装组合.append([a, a, a, a, a, b, b, b, c, c, c]) - for a in self.有效防具套装: - for d in self.有效上链左套装: - for e in self.有效镯下右套装: - for f in self.有效环鞋指套装: - # 3332 - 套装组合.append([d, a, e, a, f, e, d, f, f, d, e]) - 套装组合.append([a, a, e, a, f, e, d, f, f, d, e]) - 套装组合.append([d, a, a, a, f, e, d, f, f, d, e]) - 套装组合.append([d, a, e, a, a, e, d, f, f, d, e]) - if index == 1: - for a in self.有效防具套装: - for b in self.有效首饰套装: - for c in self.有效特殊套装: - for d in self.有效防具套装: - if d != a: - # 2333 - 套装组合.append([a, a, a, d, d, b, b, b, c, c, c]) - 套装组合.append([a, a, d, a, d, b, b, b, c, c, c]) - 套装组合.append([a, d, a, a, d, b, b, b, c, c, c]) - 套装组合.append([d, a, a, a, d, b, b, b, c, c, c]) - 套装组合.append([a, a, d, d, a, b, b, b, c, c, c]) - 套装组合.append([a, d, a, d, a, b, b, b, c, c, c]) - 套装组合.append([d, a, a, d, a, b, b, b, c, c, c]) - 套装组合.append([a, d, d, a, a, b, b, b, c, c, c]) - 套装组合.append([d, a, d, a, a, b, b, b, c, c, c]) - 套装组合.append([d, d, a, a, a, b, b, b, c, c, c]) - count = 0 - if self.百变怪选项.isChecked(): - 初始sign2 = '空' - else: - 初始sign2 = '无' - if index != 2: - for temp in 套装组合: - for k in [-1, 0, 5, 8]: - temp1 = [] - sign = 0 - sign2 = 初始sign2 - for x in range(11): - 品质 = '史诗' - if k == x: - 品质 = '神话' - index = equ.get_id_by_index(temp[x], 品质, 部位列表[x]) - if self.装备选择状态[index] == 1: - sign += 1 - else: - if sign2 == '空' and equ.get_equ_by_id( - index).品质 != '神话' and equ.get_equ_by_id( - index).所属套装 not in [ - '精灵使的权能', '大自然的呼吸', '能量主宰' - ]: - sign += 1 - if sign == 11: - count += len(self.有效武器列表) - if index == 2: - count = 1 - for i in self.有效部位列表: - count *= len(i) - return count - - -class 技能详情(QFrame): - def __init__(self, father, data, 统计详情, excel, 实际技能等级, 技能等效CD, 显示模式, count): - super().__init__(father) - self.data = [[] for k in range(count)] - - self.topFiller = QWidget() - self.topFiller.setMinimumSize(490, data.行高 * count + 10) - - pox_x = 285 - pox_y = 5 - - for i in range(len(data.角色属性B.技能栏)): - j = len(data.角色属性B.技能栏) - 1 - excel.index(统计详情[i * 4 + 1]) - if 统计详情[i * 4 + 1] != 0: - 每行详情 = [] - # self.data.append([]) - for k in range(7): - 每行详情.append(QLabel(self.topFiller)) - # 图片 - 每行详情[0].setPixmap(data.技能图片[i]) - 每行详情[0].resize(28, min(28, data.行高 - 2)) - 百分比 = '' - 被动倍率 = '' - 其他倍率 = '' - CD显示 = '' - CD恢复 = '' - try: - tempstr = '' + trans( - data.角色属性B.技能栏[i].名称) + ( - "
" if data.角色属性B.技能栏[i].备注 != '' else - '') + data.角色属性B.技能栏[i].备注 + '

' - 百分比 = int(data.角色属性B.技能栏[i].等效百分比(data.角色属性B.武器类型) / - data.角色属性B.技能栏[i].倍率) - 被动倍率 = round(data.角色属性B.技能栏[i].被动倍率 * 100, 1) - 其他倍率 = round(data.角色属性B.技能栏[i].倍率 * 100, 1) - tempstr += trans('{百分比}:$value%
', value=百分比) - tempstr += trans('{被动倍率}:$value%
', value=被动倍率) - if data.角色属性B.技能栏[i].倍率 != 0: - tempstr += trans('{其它倍率}:$value%
', value=其他倍率) - CD显示 = str( - round( - data.角色属性B.技能栏[i].等效CD(data.角色属性B.武器类型, - data.角色属性B.类型) * - data.角色属性B.技能栏[i].恢复, 2)) - tempstr += trans('{CD显示}:$values
', value=CD显示) - tempstr += trans('{CD恢复}:$value
', - value=to_percent(data.角色属性B.技能栏[i].恢复)) - 每行详情[0].setToolTip(tempstr) - except: - pass - - 每行详情[0].move(302 - pox_x, pox_y + j * data.行高) - self.data[j].append(data.角色属性B.技能栏[i].名称) - # 等级 - 每行详情[1].setText('Lv.' + str(实际技能等级[i])) - 每行详情[1].move(337 - pox_x, pox_y + j * data.行高) - 每行详情[1].resize(30, min(28, data.行高)) - self.data[j].append(实际技能等级[i]) - # CD - 每行详情[2].setText('{:0.1f}s'.format(技能等效CD[i])) - 每行详情[2].move(380 - pox_x, pox_y + j * data.行高) - 每行详情[2].resize(36, min(28, data.行高)) - self.data[j].append(round(技能等效CD[i], 1)) - # 次数 - 每行详情[3].setText(str(round(统计详情[i * 4], 1)).replace('.0', '')) - 每行详情[3].move(418 - pox_x, pox_y + j * data.行高) - 每行详情[3].resize(30, min(28, data.行高)) - self.data[j].append(round(统计详情[i * 4], 1)) - # 总伤害 - if 显示模式 == 1: - 每行详情[4].setText( - data.百分比输出(统计详情[i * 4 + 1], data.基准值[1][i * 4 + 1])) - else: - 每行详情[4].setText(data.格式化输出(str(int(统计详情[i * 4 + 1])))) - 每行详情[4].move(448 - pox_x, pox_y + j * data.行高) - 每行详情[4].resize(108, min(28, data.行高)) - self.data[j].append(int(统计详情[i * 4 + 1])) - # 平均伤害 - if 显示模式 == 1: - 每行详情[5].setText( - data.百分比输出(统计详情[i * 4 + 2], data.基准值[1][i * 4 + 2])) - else: - 每行详情[5].setText(data.格式化输出(str(int(统计详情[i * 4 + 2])))) - 每行详情[5].move(555 - pox_x, pox_y + j * data.行高) - 每行详情[5].resize(108, min(28, data.行高)) - self.data[j].append(int(统计详情[i * 4 + 2])) - # 占比 - 每行详情[6].setText(str(round(统计详情[i * 4 + 3], 1)) + '%') - 每行详情[6].move(660 - pox_x, pox_y + j * data.行高) - 每行详情[6].resize(108, min(28, data.行高)) - self.data[j].append(str(round(统计详情[i * 4 + 3], 1)) + '%') - try: - self.data[j].append( - str(int(百分比 * 被动倍率 / 100 * 其他倍率 / 100)) + '%') - except: - self.data[j].append('-') - self.data[j].append(CD显示) - self.data[j].append(CD恢复) - - for l in range(1, 7): - 每行详情[l].setStyleSheet( - "QLabel{font-size:12px;color:rgb(255,255,255)}") - 每行详情[l].setAlignment(Qt.AlignCenter) - - self.scroll = QScrollArea() - self.scroll.setWidget(self.topFiller) - self.scroll.setStyleSheet("QScrollArea {background-color:transparent}") - self.scroll.setFrameShape(QFrame.NoFrame) - self.scroll.setStyleSheet(游戏滚动条样式模拟) - self.scroll.viewport().setStyleSheet("background-color:transparent") - self.vbox = QVBoxLayout() - self.vbox.addWidget(self.scroll) - self.setLayout(self.vbox) - - -from PublicReference.view.Page import Page -from PyQt5.QtWidgets import QLabel, QGraphicsOpacityEffect -from PublicReference.utils.constant import * -from PublicReference.equipment.冒险家名望 import * - - -class 名望窗口(Page): - def __init__(self): - super().__init__() - self.已初始化 = False - - def 初始化(self): - self.初始化 = True - self.名望部位列表 = list(附魔名望默认选项.keys()) - self.自选附魔名望选项 = [] - self.自选徽章名望选项 = [] - self.初始化UI() - self.初始化 = False - self.已初始化 = True - - def 初始化UI(self): - icon = store.get("/app/window/icon") - bgImg = store.get("/app/window/background_image") - self.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - self.setFixedSize(440, 560) - self.setWindowTitle("名望设置") - self.setWindowIcon(icon) - backgroundColorLabel = QLabel(self) - backgroundColorLabel.resize(self.width(), self.height()) - backgroundColorLabel.setStyleSheet( - "QLabel{background-color:rgba(50,50,50,1)}") - graphicsEffect = QGraphicsOpacityEffect() - graphicsEffect.setOpacity(0.1) - backgroundImageLabel = QLabel(self) - backgroundImageLabel.setPixmap(bgImg) - backgroundImageLabel.move(0, int((self.height() - 1230) / 6)) - backgroundImageLabel.setGraphicsEffect(graphicsEffect) - borderLabel = QLabel(self) - borderLabel.resize(self.width() - 4, self.height() - 2) - borderLabel.move(2, -1) - borderLabel.setStyleSheet("QLabel{border:1px solid black}") - - self.初始化装备UI() - - def 初始化装备UI(self): - count = 0 - 名望细节 = store.get("/fame/selection") - 徽章名望细节 = store.get("/fame/selection2") - label = QLabel( - '第一列为附魔名望选择
第二列为徽章名望选择
闪耀26名望,华丽30名望,灿烂36名望
玲珑46名望,白金232名望', - self) - label.setStyleSheet(标签样式_2) - label.resize(220, 100) - label.move(20 + 220, 10 + 30 * 5) - - if 名望细节 == None: - defaultValueTable = 附魔名望默认选项 - defaultValueTable2 = 徽章名望默认选项 - else: - defaultValueTable = 名望细节 - defaultValueTable2 = 徽章名望细节 - for idx in range(len(self.名望部位列表)): - 部位 = self.名望部位列表[idx] - label = QLabel(部位, self) - label.setStyleSheet(标签样式) - label.resize(70, 22) - label.move(20 + int(idx / 18) * 220, 10 + 30 * (idx % 18)) - - x = MyQComboBox(self) - x.placeholderText = 部位 - values = 附魔名望选项[部位] - defaultValue = defaultValueTable[部位] - for value in values: - x.addItem(str(value)) - x.currentIndexChanged.connect(lambda: self.更新名望细节()) - defaultIndex = values.index(defaultValue) - x.setCurrentIndex(defaultIndex) - x.resize(55, 20) - x.move(90 + int(idx / 18) * 220, 10 + 30 * (idx % 18)) - self.自选附魔名望选项.append(x) - - 徽章值 = 徽章名望选项.get(部位, None) - if 徽章值 != None: - 徽章选项 = MyQComboBox(self) - 徽章选项.placeholderText = 部位 - 徽章默认值 = defaultValueTable2[部位] - for value in 徽章值: - 徽章选项.addItem(str(value)) - 徽章选项.currentIndexChanged.connect(lambda: self.更新名望细节()) - defaultIndex = 徽章值.index(徽章默认值) - 徽章选项.setCurrentIndex(defaultIndex) - 徽章选项.resize(55, 20) - 徽章选项.move(90 + 70 + int(idx / 18) * 220, 10 + 30 * (idx % 18)) - self.自选徽章名望选项.append(徽章选项) - - self.更新名望细节() - - def 更新名望细节(self): - if not self.已初始化: return - 名望细节 = {} - 徽章细节 = {} - for i in self.自选附魔名望选项: - 名望细节[i.placeholderText] = i.currentText() - - for i in self.自选徽章名望选项: - 徽章细节[i.placeholderText] = i.currentText() - - store.set("/fame/selection", 名望细节) - store.set("/fame/selection2", 徽章细节) - store.emit("/fame/event/changed") diff --git a/PublicReference/equipment/base_item.py b/PublicReference/equipment/base_item.py deleted file mode 100644 index 384c9475..00000000 --- a/PublicReference/equipment/base_item.py +++ /dev/null @@ -1,21 +0,0 @@ -class Item(): - 名称 = '无' - 显示名称 = '无' - - def 城镇属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 触发属性_BUFF(self, 属性): - pass - - def 触发属性(self, 属性): - pass - - def 装备描述(self, 属性): - return '' - - def 装备描述_BUFF(self, 属性): - return '' diff --git a/PublicReference/equipment/basic_equ.py b/PublicReference/equipment/basic_equ.py deleted file mode 100644 index ae7f82be..00000000 --- a/PublicReference/equipment/basic_equ.py +++ /dev/null @@ -1,329 +0,0 @@ -from PublicReference.equipment.equ_list import * -from PublicReference.equipment.防具基础 import 设置防具基础 -from PublicReference.utils.config import trans, 千蛛减防, 天御套装, 战术白字, 天劫光环, 普雷武器显示 - -进图触发title = trans('{进图触发}:
') -其他属性title = trans('{其他属性}:
') -遴选属性title = trans('{遴选属性}:
') -辅助属性title = trans('{辅助职业专属属性}:
') -改造遴选title = trans('{遴选属性}:
') -神话属性title = trans('{神话属性}:
') -期望属性title = trans('{期望属性}:
') -改造属性title = trans('{改造属性}(+$):
') - - -class 装备: - 名称 = '' - 模式 = 0 - 图片ID = '' - 所属套装 = '' - 所属套装2 = '无' - 等级 = 0 - 品质 = '' - 部位 = '' - 类型 = '' - 力量 = 0 - 智力 = 0 - 体力 = 0 - 精神 = 0 - 属性描述 = "" - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '无' - 属性1范围 = [] - 属性1选择 = 0 - 属性2描述 = '无' - 属性2范围 = [] - 属性2选择 = 0 - 属性3描述 = '无' - 属性3范围 = [] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def __init__(self) -> None: - if self.部位 in ['上衣', '下装', '腰带', '头肩', '鞋']: - 设置防具基础(self) - pass - - def 城镇属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 产物升级(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def 变换属性(self, 属性): - pass - - def 变换属性_BUFF(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 其它属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - pass - - def 装备描述(self, 属性): - - 属性.装备描述 = 1 - self.属性描述 = '' - - 力量 = 0 - 智力 = 0 - - if self.部位 in ['上衣', '下装', '腰带', '头肩', '鞋']: - 力量 = self.力量[属性.防具类型] - 智力 = self.智力[属性.防具类型] - else: - 力量 = self.力量 - 智力 = self.智力 - - self.属性描述 += ('{} +{}
'.format(trans('力量'), 力量)) if 力量 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('智力'), 智力)) if 智力 > 0 else '' - - self.属性描述 += ('{} +{}
'.format( - trans('物理攻击力'), self.物理攻击力)) if self.物理攻击力 > 0 else '' - self.属性描述 += ('{} +{}
'.format( - trans('魔法攻击力'), self.魔法攻击力)) if self.魔法攻击力 > 0 else '' - self.属性描述 += ('{} +{}
'.format( - trans('独立攻击力'), self.独立攻击力)) if self.独立攻击力 > 0 else '' - - self.城镇属性(属性) - self.属性描述 += 进图触发title - self.进图属性(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - self.属性描述 += 遴选属性title - self.变换属性(属性) - if self.属性描述.endswith(遴选属性title): - self.属性描述 = self.属性描述.replace(遴选属性title, '') - 属性.装备描述 = 0 - return self.属性描述 - - def 装备描述_变换属性(self, 属性): - 属性.装备描述 = 1 - self.属性描述 = '' - 力量 = 0 - 智力 = 0 - if self.部位 in ['上衣', '下装', '腰带', '头肩', '鞋']: - 力量 = self.力量[属性.防具类型] - 智力 = self.智力[属性.防具类型] - else: - 力量 = self.力量 - 智力 = self.智力 - - self.属性描述 += ('{} +{}
'.format(trans('力量'), 力量)) if 力量 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('智力'), 智力)) if 智力 > 0 else '' - self.属性描述 += ('{} +{}
'.format( - trans('物理攻击力'), self.物理攻击力)) if self.物理攻击力 > 0 else '' - self.属性描述 += ('{} +{}
'.format( - trans('魔法攻击力'), self.魔法攻击力)) if self.魔法攻击力 > 0 else '' - self.属性描述 += ('{} +{}
'.format( - trans('独立攻击力'), self.独立攻击力)) if self.独立攻击力 > 0 else '' - - self.城镇属性(属性) - self.属性描述 += 进图触发title - self.进图属性(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - self.属性描述 += 遴选属性title - 属性.装备描述 = 0 - return self.属性描述 - - def 装备描述_BUFF(self, 属性): - 属性.装备描述 = 1 - self.属性描述 = '' - 智力 = 0 - 力量 = 0 - 体力 = 0 - 精神 = 0 - if self.部位 in ['上衣', '下装', '腰带', '头肩', '鞋']: - 智力 = self.智力['板甲'] - 力量 = self.力量['板甲'] - 体力 = self.体力['板甲'] - 精神 = self.精神['板甲'] - else: - 智力 = self.智力 - 力量 = self.力量 - 体力 = self.体力 - 精神 = self.精神 - - self.属性描述 += ('{} +{}
'.format(trans("智力"), 智力)) if 智力 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('力量'), 力量)) if 力量 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('体力'), 体力)) if 体力 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('精神'), 精神)) if 精神 > 0 else '' - - self.城镇属性_BUFF(属性) - self.属性描述 += 辅助属性title - self.BUFF属性(属性) - self.属性描述 += 进图触发title - self.进图属性_BUFF(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性_BUFF(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - 属性.装备描述 = 0 - return self.属性描述 - - def 装备描述_变换属性_BUFF(self, 属性): - 属性.装备描述 = 1 - self.属性描述 = '' - - 智力 = 0 - 力量 = 0 - 体力 = 0 - 精神 = 0 - if self.部位 in ['上衣', '下装', '腰带', '头肩', '鞋']: - 智力 = self.智力['板甲'] - 力量 = self.力量['板甲'] - 体力 = self.体力['板甲'] - 精神 = self.精神['板甲'] - else: - 智力 = self.智力 - 力量 = self.力量 - 体力 = self.体力 - 精神 = self.精神 - - self.属性描述 += ('{} +{}
'.format(trans("智力"), 智力)) if 智力 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('力量'), 力量)) if 力量 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('体力'), 体力)) if 体力 > 0 else '' - self.属性描述 += ('{} +{}
'.format(trans('精神'), 精神)) if 精神 > 0 else '' - - self.城镇属性_BUFF(属性) - self.属性描述 += 辅助属性title - self.BUFF属性(属性) - self.属性描述 += 进图触发title - self.进图属性_BUFF(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性_BUFF(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - self.属性描述 += 遴选属性title - 属性.装备描述 = 0 - return self.属性描述 - - def 图片ID(self): - if self.图片ID == '': - return self.__class__.__name__.replace('装备', '') - else: - return self.图片ID - - -class 改造产物(装备): - 模式 = 1 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 力量 = 0 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 关联套装 = '' - - def 基础属性(self, 属性): - pass - - def 改造属性(self, 属性, x): - pass - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - if self.关联套装 in 属性.套装栏: - self.改造属性(属性, 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - return temp - - -class 套装: - 属性描述 = '' - - def 城镇属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 其它属性_BUFF(self, 属性): - pass - - def 装备描述(self, 属性): - 属性.装备描述 = 1 - self.属性描述 = '' - - self.城镇属性(属性) - - self.属性描述 += 进图触发title - self.进图属性(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - 属性.装备描述 = 0 - return self.属性描述 - - def 装备描述_BUFF(self, 属性): - 属性.装备描述 = 1 - self.属性描述 = '' - self.城镇属性_BUFF(属性) - self.属性描述 += 辅助属性title - self.BUFF属性(属性) - self.属性描述 += 进图触发title - self.进图属性_BUFF(属性) - if self.属性描述.endswith(进图触发title): - self.属性描述 = self.属性描述.replace(进图触发title, '') - self.属性描述 += 其他属性title - self.其它属性_BUFF(属性) - if self.属性描述.endswith(其他属性title): - self.属性描述 = self.属性描述.replace(其他属性title, '') - 属性.装备描述 = 0 - return self.属性描述 - - def BUFF属性(self, 属性): - pass diff --git a/PublicReference/equipment/buff/宠物_buff.py b/PublicReference/equipment/buff/宠物_buff.py deleted file mode 100644 index 4b7c48ba..00000000 --- a/PublicReference/equipment/buff/宠物_buff.py +++ /dev/null @@ -1,195 +0,0 @@ -# 宠物属性部分 -from PublicReference.equipment.base_item import Item - -宠物列表 = [None] * 10 - - -class 宠物9(Item): - 显示名称 = '(22)至尊·超越时空·厄俄斯/赫斯' - 名称 = "超越时空·厄俄斯/赫斯" - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 160 - 属性.体力 += 160 - 属性.精神 += 160 - 属性.技能等级加成('所有', 1, 95, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +160
' - temp += '体力 +160
' - temp += '精神 +160
' - temp += 'Lv1-95 技能等级+1
' - return temp - - -class 宠物8(Item): - 显示名称 = '(22)普通·次元探险家·厄俄斯/赫斯' - 名称 = "次元探险家·厄俄斯/赫斯" - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 150 - 属性.体力 += 150 - 属性.精神 += 150 - 属性.技能等级加成('所有', 1, 95, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +150
' - temp += '体力 +150
' - temp += '精神 +150
' - temp += 'Lv1-95 技能等级+1
' - return temp - - -class 宠物7(Item): - 显示名称 = '(21)至尊·火神的化身' - 名称 = "火神的化身" - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 160 - 属性.体力 += 160 - 属性.精神 += 160 - 属性.技能等级加成('所有', 1, 80, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +160
' - temp += '体力 +160
' - temp += '精神 +160
' - temp += 'Lv1-80 技能等级+1
' - return temp - - -class 宠物6(Item): - 显示名称 = '(21)普通·骑士/精灵使' - 名称 = "骑士/精灵使" - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 150 - 属性.体力 += 150 - 属性.精神 += 150 - 属性.技能等级加成('所有', 1, 80, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +150
' - temp += '体力 +150
' - temp += '精神 +150
' - temp += 'Lv1-80 技能等级+1
' - return temp - - -class 宠物5(Item): - 显示名称 = '(20)至尊·暴风圣女' - 名称 = "暴风圣女" - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 150 - 属性.体力 += 150 - 属性.精神 += 150 - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +150
' - temp += '体力 +150
' - temp += '精神 +150
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物4(Item): - 显示名称 = '(19)至尊·神迹·莱恩' - 名称 = '神迹·莱恩' - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 120 - 属性.体力 += 120 - 属性.精神 += 120 - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +120
' - temp += '体力 +120
' - temp += '精神 +120
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物3(Item): - 显示名称 = '(20)普通·神官' - 名称 = '神官格洛丽亚' - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 140 - 属性.体力 += 140 - 属性.精神 += 140 - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +140
' - temp += '体力 +140
' - temp += '精神 +140
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物2(Item): - 显示名称 = '(19)普通·莱恩' - 名称 = '骑士莱恩' - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 120 - 属性.体力 += 120 - 属性.精神 += 120 - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +120
' - temp += '体力 +120
' - temp += '精神 +120
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物1(Item): - 显示名称 = '(15)迷你战争领主-SSS型' - 名称 = '迷你战争领主-SSS型' - - def 城镇属性_BUFF(self, 属性): - 属性.智力 += 10 - 属性.体力 += 10 - 属性.精神 += 10 - 属性.技能等级加成('所有', 1, 50, 2) - - def 装备描述_BUFF(self, 属性): - temp = '' - temp += '智力 +10
' - temp += '体力 +10
' - temp += '精神 +10
' - temp += 'Lv1-50 技能等级+2
' - return temp - - -class 宠物0(Item): - 显示名称 = '无' - 名称 = '无' - - def 城镇属性_BUFF(self, 属性): - pass - - def 装备描述_BUFF(self, 属性): - temp = '' - return temp - - -for i in range(len(宠物列表)): - exec('宠物列表[{}] = 宠物{}()'.format(len(宠物列表) - i - 1, i)) - -宠物序号 = dict() -for i in range(len(宠物列表)): - 宠物序号[宠物列表[i].名称] = i diff --git a/PublicReference/equipment/buff/护石_buff.py b/PublicReference/equipment/buff/护石_buff.py deleted file mode 100644 index 0459644c..00000000 --- a/PublicReference/equipment/buff/护石_buff.py +++ /dev/null @@ -1,7 +0,0 @@ -from .描述_buff import BUFF增加 - - -def Talismans(self, i): - values = [0, 0.02, 0.04, 0.06, 0.08] - value = round(1 + values[i], 2) - BUFF增加(self, BUFF力量per=value, BUFF智力per=value) diff --git a/PublicReference/equipment/buff/描述_buff.py b/PublicReference/equipment/buff/描述_buff.py deleted file mode 100644 index 05024eca..00000000 --- a/PublicReference/equipment/buff/描述_buff.py +++ /dev/null @@ -1,205 +0,0 @@ -from PublicReference.utils.common import to_percent -from PublicReference.utils.config import trans - -label = '{}{} +{}
' -力智增加量 = trans('{力量、智力}{增加量}') -力量增加量 = trans('{力量}{增加量}') -智力增加量 = trans('{智力}{增加量}') -三攻增加量 = trans('{物理、魔法、独立攻击力}{增加量}') -物攻增加量 = trans('{物理攻击力}{增加量}') -魔攻增加量 = trans('{魔法攻击力}{增加量}') -独立增加量 = trans('{独立攻击力}{增加量}') - - -def BUFF增加( - self, - BUFFLv=0, - BUFF力量=0, - BUFF智力=0, - BUFF力量per=1, - BUFF智力per=1, - BUFF物攻=0, - BUFF魔攻=0, - BUFF独立=0, - BUFF物攻per=1, - BUFF魔攻per=1, - BUFF独立per=1, - BUFF力智=0, - BUFF三攻=0, - BUFF力智per=1, - BUFF三攻per=1, -): - - if BUFF力智 > 0: - BUFF力量 += BUFF力智 - BUFF智力 += BUFF力智 - if BUFF三攻 > 0: - BUFF物攻 += BUFF三攻 - BUFF魔攻 += BUFF三攻 - BUFF独立 += BUFF三攻 - if BUFF力智per > 0: - BUFF力量per *= BUFF力智per - BUFF智力per *= BUFF力智per - if BUFF三攻per > 0: - BUFF物攻per *= BUFF三攻per - BUFF魔攻per *= BUFF三攻per - BUFF独立per *= BUFF三攻per - - buff_name = trans('Lv30 Buff技能') - - if self is not None: - if self.装备描述 == 0: - self.BUFFLv += BUFFLv - self.BUFF力量 += BUFF力量 - self.BUFF智力 += BUFF智力 - self.BUFF物攻 += BUFF物攻 - self.BUFF魔攻 += BUFF魔攻 - self.BUFF独立 += BUFF独立 - self.BUFF力量per *= BUFF力量per - self.BUFF智力per *= BUFF智力per - self.BUFF物攻per *= BUFF物攻per - self.BUFF魔攻per *= BUFF魔攻per - self.BUFF独立per *= BUFF独立per - buff_name = '[{}]'.format(trans(self.技能表['BUFF'].名称)) - - tem = '' - - if BUFFLv > 0: - tem += label.format(buff_name, trans("Lv"), int(BUFFLv)) - - if BUFF力量 > 0 and BUFF智力 > 0: - tem += label.format(buff_name, 力智增加量, int(BUFF力量)) - elif BUFF力量 > 0: - tem += label.format(buff_name, 力量增加量, int(BUFF力量)) - elif BUFF智力 > 0: - tem += label.format(buff_name, 智力增加量, int(BUFF智力)) - - if BUFF力量per > 1 and BUFF智力per > 1: - tem += label.format(buff_name, 力智增加量, to_percent(BUFF力量per - 1)) - elif BUFF力量per > 1: - tem += label.format(buff_name, 力量增加量, to_percent(BUFF力量per - 1)) - elif BUFF智力per > 1: - tem += label.format(buff_name, 智力增加量, to_percent(BUFF智力per - 1)) - - if BUFF物攻 > 0 and BUFF魔攻 > 0 and BUFF独立 > 0: - tem += label.format(buff_name, 三攻增加量, int(BUFF物攻)) - elif BUFF物攻 > 0: - tem += label.format(buff_name, 物攻增加量, int(BUFF物攻)) - elif BUFF魔攻 > 0: - tem += label.format(buff_name, 魔攻增加量, int(BUFF魔攻)) - elif BUFF独立 > 0: - tem += label.format(buff_name, 独立增加量, int(BUFF独立)) - - if BUFF物攻per > 1 and BUFF魔攻per > 1 and BUFF独立per > 1: - tem += label.format(buff_name, 三攻增加量, to_percent(BUFF物攻per - 1)) - elif BUFF物攻per > 1: - tem += label.format(buff_name, 物攻增加量, to_percent(BUFF物攻per - 1)) - elif BUFF魔攻per > 1: - tem += label.format(buff_name, 魔攻增加量, to_percent(BUFF魔攻per - 1)) - elif BUFF独立per > 1: - tem += label.format(buff_name, 独立增加量, to_percent(BUFF独立per - 1)) - - return tem - - -def 觉醒增加(self, 一觉Lv=0, 一觉力智=0, 一觉力智per=1): - awake_name = 'Lv50主动技能' - if self is not None: - if self.装备描述 == 0: - self.一觉Lv += 一觉Lv - self.一觉力智 += 一觉力智 - self.一觉力智per *= 一觉力智per - awake_name = '[{}]'.format(self.技能表['一次觉醒'].名称) - tem = '' - - if 一觉Lv > 0: - tem += label.format(awake_name, trans('Lv'), int(一觉Lv)) - if 一觉力智 > 0: - tem += label.format(awake_name, 力智增加量, int(一觉力智)) - if 一觉力智per > 1: - tem += label.format(awake_name, 力智增加量, to_percent(一觉力智per - 1)) - return tem - - -def 力智固定加成(self, x=0): - if self is not None: - if self.装备描述 == 0: - self.力量 += x - self.智力 += x - if self.类型 not in ['力量', '智力']: - return '' - return '{} +{}
'.format(trans("力量、智力"), x) - - -def 体精固定加成(self, x=0): - if self is not None: - if self.装备描述 == 0: - self.体力 += x - self.精神 += x - if self.类型 not in ['体力', '精神']: - return '' - return '{} +{}
'.format(trans("体力、精神"), x) - - -def 被动增加(self, - 转职被动Lv=0, - 转职被动智力=0, - 守护恩赐体精=0, - 信念光环体精=0, - 一觉被动Lv=0, - 一觉被动力智=0, - 被动进图加成=0): - 角色 = None - if self is not None: - if self.装备描述 == 0: - self.转职被动Lv += 转职被动Lv - self.守护恩赐体精 += 守护恩赐体精 - self.转职被动智力 += 转职被动智力 - self.一觉被动Lv += 一觉被动Lv - self.信念光环体精 += 信念光环体精 - self.一觉被动力智 += 一觉被动力智 - self.被动进图加成 += 被动进图加成 - 角色 = self.角色 - tem = '' - - 转职被动 = { - '圣职者(男)': '[{守护恩赐}]', - '圣职者(女)': '[{启示圣歌}]', - '魔法师(女)': '[{人偶操纵者}]', - 'None': '[{守护恩赐}]、[{启示圣歌}]、[{人偶操纵者}]' - }[str(角色)] - - if 转职被动Lv > 0: - tem += label.format(trans(转职被动), trans("技能Lv"), int(转职被动Lv)) - - if 被动进图加成 > 0: - 转职被动智力 += 被动进图加成 - 信念光环体精 += 被动进图加成 - - if 角色 == '圣职者(男)' or 角色 is None: - if 守护恩赐体精 > 0: - tem += label.format(trans("[{守护恩赐}]"), trans('体力、精神'), int(守护恩赐体精)) - if 一觉被动Lv > 0: - tem += label.format(trans("[{信念光环}]"), trans('技能Lv'), int(一觉被动Lv)) - if 一觉被动力智 > 0: - tem += label.format(trans("[{信念光环}]"), trans('{体力、精神}{增加量}'), - int(一觉被动力智)) - if 角色 in ['圣职者(女)', '魔法师(女)'] or 角色 is None: - 觉醒被动 = { - '圣职者(女)': '[{虔诚信念}]', - '魔法师(女)': '[{少女的爱}]', - 'None': '[{虔诚信念}]、[{少女的爱}]' - }[str(角色)] - if 转职被动智力 > 0: - tem += label.format(trans(转职被动), trans("智力"), int(转职被动智力)) - if 一觉被动Lv > 0: - tem += label.format(trans(觉醒被动), trans("技能Lv"), int(一觉被动Lv)) - if 一觉被动力智 > 0: - tem += label.format(trans(觉醒被动), 力智增加量, int(一觉被动力智)) - return tem - - -def tooltip_trim(tempstr): - if tempstr.endswith('
'): - tempstr = tempstr[:-4] - return tempstr diff --git a/PublicReference/equipment/buff/武器融合_buff.py b/PublicReference/equipment/buff/武器融合_buff.py deleted file mode 100644 index 72afc080..00000000 --- a/PublicReference/equipment/buff/武器融合_buff.py +++ /dev/null @@ -1,206 +0,0 @@ -# 武器融合属性部分 - - -class 武器属性(): - 固定属性描述 = '' - 随机属性描述 = '' - 当前值 = 0 - 间隔 = 1 - 最小值 = 0 - 最大值 = 4 - - def range(self): - temp = self.最大值 - array = [] - while temp > self.最小值 - self.间隔: - value = str(int(temp)) - if self.间隔 // 10 < 1: - value += '%' - array.append(value) - temp -= self.间隔 - return array - - def 融合属性(self, 属性): - pass - - -class 武器属性A0(武器属性): - 固定属性描述 = '无' - 随机属性描述 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 武器属性A1(武器属性): - 固定属性描述 = '黄字' - 随机属性描述 = 'BUFF力智+3%,一觉力智+' - 最小值 = 40 - 最大值 = 60 - 间隔 = 10 - - def 融合属性(self, 属性): - 属性.BUFF力量per *= 1.03 - 属性.BUFF智力per *= 1.03 - 属性.一觉力智 += self.当前值 - - -class 武器属性A2(武器属性): - 固定属性描述 = '暴伤' - 随机属性描述 = '一觉力智+3%,BUFF力智+' - 最小值 = 2 - 最大值 = 4 - - def 融合属性(self, 属性): - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - 属性.一觉力智per *= 1.03 - - -class 武器属性A3(武器属性): - 固定属性描述 = '白字' - 随机属性描述 = '一觉力智+25,BUFF三攻+' - 最小值 = 2 - 最大值 = 4 - - def 融合属性(self, 属性): - 属性.BUFF物攻per *= 1 + self.当前值 / 100 - 属性.BUFF魔攻per *= 1 + self.当前值 / 100 - 属性.BUFF独立per *= 1 + self.当前值 / 100 - 属性.一觉力智 += 25 - - -class 武器属性A4(武器属性): - 固定属性描述 = '终伤' - 随机属性描述 = 'BUFF三攻+3%,一觉力智+' - 最小值 = 1 - 最大值 = 3 - - def 融合属性(self, 属性): - 属性.BUFF物攻per *= 1.03 - 属性.BUFF魔攻per *= 1.03 - 属性.BUFF独立per *= 1.03 - 属性.一觉力智per *= 1 + self.当前值 / 100 - - -class 武器属性A5(武器属性): - 固定属性描述 = '力智' - 随机属性描述 = '面板+' - 最小值 = 125 - 最大值 = 185 - 间隔 = 30 - - def 融合属性(self, 属性): - 属性.守护恩赐体精 += self.当前值 - 属性.转职被动智力 += self.当前值 - - -class 武器属性A6(武器属性): - 固定属性描述 = '三攻' - 随机属性描述 = '一觉Lv+1,BUFF力智+' - 最小值 = 1 - 最大值 = 3 - - def 融合属性(self, 属性): - 属性.一觉Lv += 1 - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - - -class 武器属性B0(武器属性): - 固定属性描述 = '无' - 随机属性描述 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 武器属性B1(武器属性): - 固定属性描述 = '黄字' - 随机属性描述 = 'BUFF力智+3%,一觉力智 +' - 最小值 = 20 - 最大值 = 40 - 间隔 = 10 - - def 融合属性(self, 属性): - 属性.BUFF力量per *= 1.03 - 属性.BUFF智力per *= 1.03 - 属性.一觉力智 += self.当前值 - - -class 武器属性B2(武器属性): - 固定属性描述 = '暴伤' - 随机属性描述 = '一觉力智+2%,BUFF力智 +' - 最小值 = 2 - 最大值 = 4 - - def 融合属性(self, 属性): - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - 属性.一觉力智per *= 1.02 - - -class 武器属性B3(武器属性): - 固定属性描述 = '白字' - 随机属性描述 = '一觉力智+25,BUFF三攻+' - 最小值 = 1 - 最大值 = 3 - - def 融合属性(self, 属性): - 属性.BUFF物攻per *= 1 + self.当前值 / 100 - 属性.BUFF魔攻per *= 1 + self.当前值 / 100 - 属性.BUFF独立per *= 1 + self.当前值 / 100 - 属性.一觉力智 += 25 - - -class 武器属性B4(武器属性): - 固定属性描述 = '终伤' - 随机属性描述 = 'BUFF三攻+2%,一觉力智+' - 最小值 = 1 - 最大值 = 3 - - def 融合属性(self, 属性): - 属性.BUFF物攻per *= 1.02 - 属性.BUFF魔攻per *= 1.02 - 属性.BUFF独立per *= 1.02 - 属性.一觉力智per *= 1 + self.当前值 / 100 - - -class 武器属性B5(武器属性): - 固定属性描述 = '力智' - 随机属性描述 = '面板+' - 最小值 = 85 - 最大值 = 145 - 间隔 = 30 - - def 融合属性(self, 属性): - 属性.被动进图加成 += self.当前值 - - -class 武器属性B6(武器属性): - 固定属性描述 = '三攻' - 随机属性描述 = 'BUFFLv+1,一觉力智+' - 最小值 = 10 - 最大值 = 30 - 间隔 = 10 - - def 融合属性(self, 属性): - 属性.BUFFLv += 1 - 属性.一觉力智 += self.当前值 - - -武器属性A列表 = () -武器属性B列表 = () -for i in range(7): - exec('武器属性A列表 += (武器属性A' + str(i) + '(),)') - exec('武器属性B列表 += (武器属性B' + str(i) + '(),)') - -武器属性A序号 = dict() -武器属性B序号 = dict() -for i in range(len(武器属性A列表)): - 武器属性A序号[武器属性A列表[i].固定属性描述] = i -for i in range(len(武器属性B列表)): - 武器属性B序号[武器属性B列表[i].固定属性描述] = i - -武器属性组合 = () -for i in range(1, 7): - for j in range(1, 7): - 武器属性组合 += ([武器属性A序号[武器属性A列表[i].固定属性描述], 武器属性B序号[武器属性B列表[j].固定属性描述]], ) diff --git a/PublicReference/equipment/buff/称号_buff.py b/PublicReference/equipment/buff/称号_buff.py deleted file mode 100644 index b2738903..00000000 --- a/PublicReference/equipment/buff/称号_buff.py +++ /dev/null @@ -1,101 +0,0 @@ -from PublicReference.equipment.描述 import * -from PublicReference.equipment.base_item import Item -# 称号属性部分 - -称号列表 = [None] * 7 - - -class 称号6(Item): - 显示名称 = '(21)骑士之誓(Lv15-35 所有技能Lv+1)' - 名称 = '骑士之誓' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('所有', 15, 35, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv15-35 技能等级 +1
' - return temp - - -class 称号5(Item): - 显示名称 = '(20)权御九界(Lv15-35 主动技能Lv+1)' - 名称 = '权御九界' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('主动', 15, 35, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv15-35 主动技能等级 +1
' - return temp - - -class 称号4(Item): - 显示名称 = '(20)无畏战斗者(LV15-20 所有技能Lv+1)' - 名称 = '无畏战斗者' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('所有', 15, 20, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv15-20 技能等级 +1
' - return temp - - -class 称号3(Item): - 显示名称 = '(20)无畏战争者(Lv20-25 所有技能Lv+1)' - 名称 = '无畏战争者' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('所有', 20, 25, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv20-25 技能等级 +1
' - return temp - - -class 称号2(Item): - 显示名称 = '(20)无畏死亡者(LV25-30 所有技能Lv+1)' - 名称 = '无畏死亡者' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('所有', 25, 30, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv25-30 技能等级 +1
' - return temp - - -class 称号1(Item): - 显示名称 = '(20)无畏牺牲者(Lv30-35 所有技能Lv+1)' - 名称 = '无畏牺牲者' - - def 城镇属性_BUFF(self, 属性): - 四维固定加成(属性, 80) - 属性.技能等级加成('所有', 30, 35, 1) - - def 装备描述_BUFF(self, 属性): - temp = 四维固定加成(属性, 80) - temp += 'Lv30-35 技能等级 +1
' - return temp - - -class 称号0(Item): - pass - - -for i in range(len(称号列表)): - exec('称号列表[{}] = 称号{}()'.format(len(称号列表) - i - 1, i)) - -称号序号 = dict() -for i in range(len(称号列表)): - 称号序号[称号列表[i].名称] = i diff --git a/PublicReference/equipment/buff/融合_奥兹玛_buff.py b/PublicReference/equipment/buff/融合_奥兹玛_buff.py deleted file mode 100644 index 1bd23dd6..00000000 --- a/PublicReference/equipment/buff/融合_奥兹玛_buff.py +++ /dev/null @@ -1,40 +0,0 @@ -from .描述_buff import * - -# 阿斯特罗斯 - - -def Astaroth(self): - return BUFF增加(self, BUFF三攻per=1.01) + 觉醒增加(self, 一觉力智=22) + 被动增加( - self, 守护恩赐体精=55, 转职被动智力=55) - - -# 贝利亚斯 - - -def Berias(self): - return 被动增加(self, 守护恩赐体精=138, 转职被动智力=138) - - -# 雷德梅恩 - - -def Redmayne(self): - return BUFF增加(self, BUFF力智per=1.02) + 觉醒增加(self, 一觉力智=25) + 被动增加( - self, 守护恩赐体精=46, 转职被动智力=46) - - -# 罗什巴赫 - - -def Rosenbach(self): - return BUFF增加(self, BUFF力智per=1.01, BUFF三攻per=1.01) + 觉醒增加(self, 一觉力智=37) - - -# 泰玛特 - - -def Tiamat(self): - return BUFF增加(self, BUFF力智per=1.03) + 觉醒增加(self, 一觉力智=21, 一觉力智per=1.01) - - -OzmaList = (Astaroth, Berias, Redmayne, Rosenbach, Tiamat) diff --git a/PublicReference/equipment/buff/融合_希洛克_buff.py b/PublicReference/equipment/buff/融合_希洛克_buff.py deleted file mode 100644 index 2c877c3b..00000000 --- a/PublicReference/equipment/buff/融合_希洛克_buff.py +++ /dev/null @@ -1,149 +0,0 @@ -from .描述_buff import * - - -class Siroco: - def __init__(self) -> None: - self.pants_fused = False - self.ring_fused = False - self.left_fused = False - self.character = None - self.text = '' - pass - - # 设置属性 - def set_character(self, character): - self.character = character - self.text = '' - pass - - # 融合 - def fuse(self, index): - if index == 0: - self.fuse_pants() - elif index == 1: - self.fuse_ring() - elif index == 2: - self.fuse_left() - pass - - # 融合下装 - def fuse_pants(self): - BUFF增加(self.character, BUFF力智per=1.03) - self.pants_fused = True - pass - - # - def fuse_ring(self): - 觉醒增加(self.character, 一觉力智per=1.03) - self.ring_fused = True - - def fuse_left(self): - 被动增加(self.character, 守护恩赐体精=80, 转职被动智力=80) - self.left_fused = True - - def compute(self): - if self.pants_fused and self.ring_fused: - self.text += '下装+戒指
' - self.force_pants() - if self.ring_fused and self.left_fused: - self.text += '戒指+辅助装备
' - self.force_ring() - if self.left_fused and self.pants_fused: - self.text += '辅助装备+下装
' - self.force_left() - text = self.text - self.pants_fused = False - self.ring_fused = False - self.left_fused = False - self.character = None - self.text = '' - return text - - def force_pants(self): - pass - - def force_ring(self): - pass - - def force_left(self): - pass - - pass - - -# 奈克斯 -class Nex(Siroco): - def force_pants(self): - self.text += 觉醒增加(self.character, 一觉力智=40) - - def force_ring(self): - self.text += 被动增加(self.character, 被动进图加成=80) - - def force_left(self): - self.text += BUFF增加(self.character, BUFF三攻per=1.02) - - pass - - -# 暗杀者 - - -class Assassin(Siroco): - def force_pants(self): - self.text += 觉醒增加(self.character, 一觉力智=28) - - def force_ring(self): - self.text += 被动增加(self.character, 被动进图加成=55) - - def force_left(self): - self.text += BUFF增加(self.character, BUFF力智per=1.01, BUFF三攻per=1.01) - - pass - - -# 卢克西 - - -class Roxy(Siroco): - def force_ring(self): - self.text += "释放Lv50、Lv100主动技能时,所有队员持续伤害+1%,效果持续5秒
" - - def force_left(self): - self.text += "释放Lv50、Lv100主动技能时,所有队员持续伤害+1%,效果持续5秒
" - - def force_pants(self): - self.text += "释放Lv50、Lv100主动技能时,所有队员持续伤害+1%,效果持续5秒
" - - pass - - -# 守门人 -class Nameless(Siroco): - def force_pants(self): - self.text += 觉醒增加(self.character, 一觉力智=20, 一觉力智per=1.01) - - def force_ring(self): - self.text += 被动增加(self.character, 被动进图加成=55) - - def force_left(self): - self.text += BUFF增加(self.character, BUFF力智per=1.01) - self.text += 被动增加(self.character, 被动进图加成=30) - - -# 洛多斯 - - -class Lodos(Siroco): - def force_pants(self): - self.text += 觉醒增加(self.character, 一觉力智per=1.02) - - def force_ring(self): - self.text += BUFF增加(self.character, BUFF力智per=1.02) - - def force_left(self): - self.text += BUFF增加(self.character, BUFF三攻per=1.01) - self.text += 被动增加(self.character, 被动进图加成=30) - pass - - -SirocoList = (Nex(), Assassin(), Roxy(), Nameless(), Lodos()) diff --git a/PublicReference/equipment/buff/辟邪玉_buff.py b/PublicReference/equipment/buff/辟邪玉_buff.py deleted file mode 100644 index 46a27ef2..00000000 --- a/PublicReference/equipment/buff/辟邪玉_buff.py +++ /dev/null @@ -1,184 +0,0 @@ -# 辟邪玉属性部分 - - -class 辟邪玉(): - 名称 = '' - 最小值 = -5 - 最大值 = 5 - 间隔 = 0.1 - 当前值 = 0 - - def 穿戴属性(self, 属性): - pass - - -class 辟邪玉0(辟邪玉): - 名称 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 辟邪玉1(辟邪玉): - 名称 = 'BUFF三攻增加' - 最小值 = -5 - 最大值 = 5 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.BUFF物攻 += self.当前值 - 属性.BUFF魔攻 += self.当前值 - 属性.BUFF独立 += self.当前值 - pass - - -class 辟邪玉2(辟邪玉): - 名称 = 'BUFF三攻增加量增加' - - def 穿戴属性(self, 属性): - 属性.BUFF物攻per += self.当前值 / 100 - 属性.BUFF魔攻per += self.当前值 / 100 - 属性.BUFF独立per += self.当前值 / 100 - - -class 辟邪玉3(辟邪玉): - 名称 = 'BUFF力智增加' - 最小值 = -25 - 最大值 = 25 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.BUFF力量 += self.当前值 - 属性.BUFF智力 += self.当前值 - - -class 辟邪玉4(辟邪玉): - 名称 = 'BUFF力智增加量增加' - - def 穿戴属性(self, 属性): - 属性.BUFF力量per += self.当前值 / 100 - 属性.BUFF智力per += self.当前值 / 100 - - -class 辟邪玉5(辟邪玉): - 名称 = '一觉力智增加' - 最小值 = -100 - 最大值 = 100 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.一觉力智 += self.当前值 - - -class 辟邪玉6(辟邪玉): - 名称 = '一觉力智增加量增加' - - def 穿戴属性(self, 属性): - 属性.一觉力智per += self.当前值 / 100 - - -class 辟邪玉7(辟邪玉): - 名称 = '10~15技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 10, 15, self.当前值) - pass - - -class 辟邪玉8(辟邪玉): - 名称 = '20~25技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 20, 25, self.当前值) - pass - - -class 辟邪玉9(辟邪玉): - 名称 = '30~35技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 30, 35, self.当前值) - pass - - -class 辟邪玉10(辟邪玉): - 名称 = '40~45技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 40, 45, self.当前值) - pass - - -class 辟邪玉11(辟邪玉): - 名称 = '55~60技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 55, 60, self.当前值) - pass - - -class 辟邪玉12(辟邪玉): - 名称 = '65~70技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 65, 70, self.当前值) - pass - - -class 辟邪玉13(辟邪玉): - 名称 = '75~80技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 75, 80, self.当前值) - pass - - -class 辟邪玉14(辟邪玉): - 名称 = '1次觉醒技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 50, 50, self.当前值) - pass - - -class 辟邪玉15(辟邪玉): - 名称 = '2次觉醒技能Lv增加' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 85, 85, self.当前值) - pass - - -辟邪玉列表 = () -for i in range(16): - exec('辟邪玉列表 += (辟邪玉' + str(i) + '(),)') - -辟邪玉序号 = dict() -for i in range(len(辟邪玉列表)): - 辟邪玉序号[辟邪玉列表[i].名称] = i diff --git a/PublicReference/equipment/buff/黑鸦_buff.py b/PublicReference/equipment/buff/黑鸦_buff.py deleted file mode 100644 index 768a38bc..00000000 --- a/PublicReference/equipment/buff/黑鸦_buff.py +++ /dev/null @@ -1,199 +0,0 @@ -# 黑鸦变换属性部分 - - -class 变换属性(): - 固定属性描述 = '' - 随机属性描述 = '' - 索引 = ["伤害词条", "黄字", "暴伤", "白字", "终伤", "力智", "三攻"] - 当前值 = 0 - 间隔 = 1 - - def 变换属性(self, 属性): - pass - - -class 武器变换属性0(变换属性): - 固定属性描述 = '无' - 随机属性描述 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 武器变换属性1(变换属性): - 固定属性描述 = '黄字' - 随机属性描述 = 'BUFF力智+3%,一觉力智+' - 最小值 = 30 - 最大值 = 60 - 间隔 = 10 - - def 变换属性(self, 属性): - 属性.BUFF力量per *= 1.03 - 属性.BUFF智力per *= 1.03 - 属性.一觉力智 += self.当前值 - - -class 武器变换属性2(变换属性): - 固定属性描述 = '暴伤' - 随机属性描述 = '一觉力智+3%,BUFF力智+' - 最小值 = 2 - 最大值 = 5 - - def 变换属性(self, 属性): - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - 属性.一觉力智per *= 1.03 - - -class 武器变换属性3(变换属性): - 固定属性描述 = '白字' - 随机属性描述 = '一觉力智+30,BUFF三攻+' - 最小值 = 1 - 最大值 = 4 - - def 变换属性(self, 属性): - 属性.BUFF物攻per *= 1 + self.当前值 / 100 - 属性.BUFF魔攻per *= 1 + self.当前值 / 100 - 属性.BUFF独立per *= 1 + self.当前值 / 100 - 属性.一觉力智 += 30 - - -class 武器变换属性4(变换属性): - 固定属性描述 = '终伤' - 随机属性描述 = 'BUFF三攻+2%,一觉力智+' - 最小值 = 2 - 最大值 = 5 - - def 变换属性(self, 属性): - 属性.BUFF物攻per *= 1.02 - 属性.BUFF魔攻per *= 1.02 - 属性.BUFF独立per *= 1.02 - 属性.一觉力智per *= 1 + self.当前值 / 100 - - -class 武器变换属性5(变换属性): - 固定属性描述 = '力智' - 随机属性描述 = '面板+' - 最小值 = 120 - 最大值 = 180 - 间隔 = 20 - - def 变换属性(self, 属性): - # 属性.被动进图加成 += self.当前值 - 属性.守护恩赐体精 += self.当前值 - 属性.转职被动智力 += self.当前值 - - -class 武器变换属性6(变换属性): - 固定属性描述 = '三攻' - 随机属性描述 = '一觉Lv+1,BUFF力智+' - 最小值 = 1 - 最大值 = 4 - - def 变换属性(self, 属性): - 属性.一觉Lv += 1 - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - - -class 装备变换属性0(变换属性): - 固定属性描述 = '无' - 随机属性描述 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 装备变换属性1(变换属性): - 固定属性描述 = '黄字' - 随机属性描述 = 'BUFF力智+4%,一觉力智+' - 最小值 = 10 - 最大值 = 40 - 间隔 = 10 - - def 变换属性(self, 属性): - 属性.BUFF力量per *= 1.04 - 属性.BUFF智力per *= 1.04 - 属性.一觉力智 += self.当前值 - - -class 装备变换属性2(变换属性): - 固定属性描述 = '暴伤' - 随机属性描述 = '一觉力智+2%,BUFF力智+' - 最小值 = 2 - 最大值 = 5 - - def 变换属性(self, 属性): - 属性.BUFF力量per *= 1 + self.当前值 / 100 - 属性.BUFF智力per *= 1 + self.当前值 / 100 - 属性.一觉力智per *= 1.02 - - -class 装备变换属性3(变换属性): - 固定属性描述 = '白字' - 随机属性描述 = '一觉力智+25,BUFF三攻+' - 最小值 = 1 - 最大值 = 4 - - def 变换属性(self, 属性): - 属性.BUFF物攻per *= 1 + self.当前值 / 100 - 属性.BUFF魔攻per *= 1 + self.当前值 / 100 - 属性.BUFF独立per *= 1 + self.当前值 / 100 - 属性.一觉力智 += 25 - - -class 装备变换属性4(变换属性): - 固定属性描述 = '终伤' - 随机属性描述 = 'BUFF三攻 +2%,一觉力智+' - 最小值 = 1 - 最大值 = 4 - - def 变换属性(self, 属性): - 属性.BUFF物攻per *= 1.02 - 属性.BUFF魔攻per *= 1.02 - 属性.BUFF独立per *= 1.02 - 属性.一觉力智per *= 1 + self.当前值 / 100 - - -class 装备变换属性5(变换属性): - 固定属性描述 = '力智' - 随机属性描述 = '面板+' - 最小值 = 100 - 最大值 = 160 - 间隔 = 20 - - def 变换属性(self, 属性): - # 属性.被动进图加成 += self.当前值 - 属性.守护恩赐体精 += self.当前值 - 属性.转职被动智力 += self.当前值 - - -class 装备变换属性6(变换属性): - 固定属性描述 = '三攻' - 随机属性描述 = 'BUFFLv+1,一觉力智+' - 最小值 = 10 - 最大值 = 40 - 间隔 = 10 - - def 变换属性(self, 属性): - 属性.BUFFLv += 1 - 属性.一觉力智 += self.当前值 - - -武器变换属性列表 = () -装备变换属性列表 = () -for i in range(7): - exec('武器变换属性列表 += (武器变换属性' + str(i) + '(),)') - exec('装备变换属性列表 += (装备变换属性' + str(i) + '(),)') - -武器变换属性序号 = dict() -装备变换属性序号 = dict() -for i in range(len(武器变换属性列表)): - 武器变换属性序号[武器变换属性列表[i].固定属性描述] = i -for i in range(len(装备变换属性列表)): - 装备变换属性序号[装备变换属性列表[i].固定属性描述] = i - -防具变换属性组合 = () -# for i in range(7): -for j in range(1, 7): - for k in range(1, 7): - for l in range(1, 7): - 防具变换属性组合 += ([j, k, l], ) diff --git a/PublicReference/equipment/equ_list.py b/PublicReference/equipment/equ_list.py deleted file mode 100644 index d8fb30f1..00000000 --- a/PublicReference/equipment/equ_list.py +++ /dev/null @@ -1,174 +0,0 @@ -# 装备属性部分 -# import json -# import os - -from PublicReference.utils.constant import * -from .装备_套装 import * -from .装备_特殊 import * -from .装备_首饰 import * -from .装备_防具 import * -from .装备_武器 import * -from .基础函数 import * -from .融合_希洛克 import 希洛克 -from .融合_奥兹玛 import 奥兹玛 - -装备版本 = "GF" - -# with open("ResourceFiles/Config/release_version.json") as fp: -# versionInfo = json.load(fp) -# 装备版本 = versionInfo['EquipmentVersion'] -# fp.close() - -# if 装备版本.upper() == "GF": - -# else: -# from .装备_武器_HF import * -# from .装备_防具_HF import * -# from .装备_首饰_HF import * -# from .装备_特殊_HF import * -# from .装备_套装_HF import * - - -class equipment(): - def __init__(self): - self.load_equ() - self.load_suit() - - def load_equ(self): - self.equ_list = {} - self.equ_id = {} - self.equ_tuple = () - self.equ_id_tuple = () - self.index = {} - for i in range(535): #534件装备 - temp = eval('装备{}()'.format(i)) - self.equ_list[i] = temp - self.equ_id[temp.名称] = i - self.equ_tuple += (temp, ) - self.equ_id_tuple += (i, ) - key = '{}\t{}\t{}'.format(temp.所属套装, temp.品质, temp.部位) - self.index[key] = i - - def load_suit(self): - self.suit_list = {} - self.suit_id = {} - self.suit_name = () - self.suit_tuple = () - for i in range(127): #126个套装效果 - temp = eval('套装效果{}()'.format(i)) - self.suit_list[i] = temp - self.suit_tuple += (temp, ) - key = '{}[{}]'.format(temp.名称, temp.件数) - self.suit_id[key] = i - self.suit_name += (key, ) - - def load_img(self): - self.equ_img = {} - #基础装备图标 0~999 - for i in self.get_equ_id_list(): - path = './ResourceFiles/img/装备/{}.gif'.format(i) - img = QMovie(path) - img.start() - self.equ_img[i] = img - #奥兹玛图标 1000~1024 - for i in range(25): - path = './ResourceFiles/img/奥兹玛/{}.gif'.format(i) - img = QMovie(path) - img.start() - self.equ_img[1000 + i] = img - #希洛克图标 1100~1114 - for i in range(15): - path = './ResourceFiles/img/希洛克/{}.gif'.format(i) - img = QMovie(path) - img.start() - self.equ_img[1100 + i] = img - #希洛克武器图标 2000~2999 - path = './ResourceFiles/img/希洛克/武器/' - for i in os.listdir(path): - img = QMovie(os.path.join(path, i)) - img.start() - self.equ_img[2000 + int(i.split('.')[0])] = img - - def get_suits_by_equips(self, equips): - suits = [] - dictionary = {} - for i in equips: - item = self.get_equ_by_name(i) - if item.所属套装2 != '无': - j = item.所属套装2 - k = item.所属套装 - if k != '智慧产物': - dictionary[k] = dictionary.get(k, 0) + 1 - else: - j = item.所属套装 - if j != '无': - dictionary[j] = dictionary.get(j, 0) + 1 - - for i in dictionary.keys(): - if dictionary[i] >= 2: - temp = '{}[{}]'.format(i, 2) - if temp in self.suit_name: - suits.append(temp) - if dictionary[i] >= 3: - temp = '{}[{}]'.format(i, 3) - if temp in self.suit_name: - suits.append(temp) - if dictionary[i] >= 5: - temp = '{}[{}]'.format(i, 5) - if temp in self.suit_name: - suits.append(temp) - for i in suits: - try: - temp = i.replace(i.split('[')[0], self.get_suit_by_name(i).子套装) - if temp in suits: - suits.remove(temp) - except: - pass - return suits - - def get_suit_by_id(self, id): - return self.suit_list.get(id, 套装()) - - def get_suit_by_name(self, name): - return self.get_suit_by_id(self.suit_id.get(name, 0)) - - def get_equ_by_id(self, id): - return self.equ_list.get(id, 装备()) - - def get_img_by_id(self, id): - return self.equ_img.get(id, QMovie('')) - - def get_equ_by_name(self, name): - return self.get_equ_by_id(self.equ_id.get(name, 0)) - - def get_img_by_name(self, name, num=0): - id = self.equ_id.get(name, 0) - # if id+num in self.equ_id_tuple: - id += num - return self.get_img_by_id(id) - - def get_id_by_name(self, name): - return self.equ_id.get(name, 0) - - def get_equ_list(self): - return self.equ_tuple - - def get_suit_list(self): - return self.suit_tuple - - def get_equ_id_list(self): - return self.equ_id_tuple - - def get_suit_name(self): - return self.suit_name - - def get_id_by_index(self, suit, quality, part): - key = '{}\t{}\t{}'.format(suit, quality, part) - return self.index.get(key, 0) - - def get_equ_by_index(self, suit, quality, part): - id = self.get_id_by_index(suit, quality, part) - return self.get_equ_by_id(id) - - -equ = equipment() diff --git a/PublicReference/equipment/冒险家名望.py b/PublicReference/equipment/冒险家名望.py deleted file mode 100644 index 7c0fe939..00000000 --- a/PublicReference/equipment/冒险家名望.py +++ /dev/null @@ -1,737 +0,0 @@ -import itertools -from operator import eq - -from PublicReference.equipment.equ_list import equ -from PublicReference.utils.constant import * - -称号名望 = { - 1: 315, - 2: 397, - 3: 491, - 4: 601, - 5: 731, - 100: 783, - 101: 849, - 102: 934, - 103: 1044, - 104: 1076, - 250: 10000 -} -宠物名望表 = { - 1: 315, - 2: 397, - 3: 491, - 4: 601, - 5: 731, - 100: 752, - 101: 778, - 102: 805, - 103: 832, - 104: 860, - 105: 889, - 106: 919, - 107: 949, - 108: 980, - 109: 1012, - 110: 1044, - 111: 1055, - 112: 1087, -} -附魔名望 = { - 0: 0, - 1: 56, - 2: 69, - 3: 86, - 4: 106, - 5: 130, - 6: 138, - 7: 147, - 8: 158, - 100: 139, - 101: 153, - 102: 168, - 103: 185 -} -宠物附魔名望 = {100: 139, 101: 148, 102: 159, 103: 170, 104: 185, 200: 116} -称号附魔名望 = { - 1: 93, - 2: 107, - 3: 130, - 100: 139, - 101: 153, - 102: 168, - 103: 185, - 200: 370 -} -武器装扮名望 = {1: 72, 100: 94, 101: 166} -光环名望 = {1: 140, 2: 170, 3: 209, 4: 260, 5: 325, 100: 464} -宠物装备名望 = {1: 21, 100: 30, 101: 41, 102: 54, 103: 69} -巨龙名望 = {1: 795, 2: 530, 3: 265} -快捷栏装备名望 = {1: 20, 2: 40} -锻造名望 = {1: 2, 2: 4, 3: 7, 4: 8, 5: 10, 6: 11, 7: 12, 8: 13} -改造名望 = { - 1: 4, - 2: 6, - 3: 8, - 4: 10, - 5: 12, - 6: 14, - 7: 16, - 8: 18, - 9: 20, - 10: 21, - 11: 22, - 12: 23, - 13: 24, - 14: 25, - 15: 26, - 16: 27, - 17: 28, - 18: 29, - 19: 30, - 20: 31 -} -融合名望 = { - 1: [46, 23, 46, 23], - 2: [61, 31, 46, 23], - 3: [77, 39, 46, 23], - 4: [46, 23, 46, 23], - 5: [61, 31, 46, 23], - 6: [77, 39, 46, 23], - 7: [46, 23, 61, 31], - 8: [61, 31, 61, 31], - 9: [77, 39, 61, 31], - 10: [46, 23, 61, 31], - 11: [61, 31, 61, 31], - 12: [77, 39, 61, 31], - 13: [46, 23, 77, 39], - 14: [61, 31, 77, 39], - 15: [77, 39, 77, 39], - 16: [46, 23, 77, 39], - 17: [61, 31, 77, 39], - 18: [77, 39, 77, 39] -} -辟邪玉名望 = {0: 0, 1: 30, 2: 45, 3: 67, 4: 93} -装扮名望 = {"神器": 116, "稀有": 88, "高级": 69} - - -def 排列组合(target): - comb = itertools.combinations_with_replacement(target, 2) - result = [] - for i in comb: - value = i[0] + i[1] - result.append(value) - - result = list(set(result)) - list.sort(result) - return result - - -守护珠名望 = 排列组合([46, 36, 29]) - -附魔名望选项 = { - "上衣": list(附魔名望.values()), - "下装": list(附魔名望.values()), - "头肩": list(附魔名望.values()), - "腰带": list(附魔名望.values()), - "鞋": list(附魔名望.values()), - "手镯": list(附魔名望.values()), - "项链": list(附魔名望.values()), - "戒指": list(附魔名望.values()), - "辅助装备": list(附魔名望.values()), - "魔法石": list(附魔名望.values()), - "耳环": list(附魔名望.values()), - "武器": list(附魔名望.values()), - "称号附魔": [0] + list(称号附魔名望.values()), - "光环": [0] + list(光环名望.values()), - "武器装扮": [0] + list(武器装扮名望.values()), - "宠物装备红": [0] + list(宠物装备名望.values()), - "宠物装备蓝": [0] + list(宠物装备名望.values()), - "宠物装备绿": [0] + list(宠物装备名望.values()), - # "宠物": list(宠物名望.values()), - "宠物附魔": [0] + list(宠物附魔名望.values()), - "皮肤": [0] + list(附魔名望.values()), - "守护珠": [0] + list(守护珠名望), - "收集箱": [0, 80, 175], -} -徽章排列组合名望选项 = 排列组合([26, 30, 36, 46]) -徽章名望选项 = { - "上衣": [0] + list(徽章排列组合名望选项), - "下装": [0] + list(徽章排列组合名望选项), - "头肩": [0] + list(徽章排列组合名望选项), - "腰带": [0] + list(徽章排列组合名望选项), - "鞋": [0] + list(徽章排列组合名望选项), - "手镯": [0] + list(徽章排列组合名望选项), - "项链": [0] + list(徽章排列组合名望选项), - "戒指": [0] + list(徽章排列组合名望选项), - "辅助装备": [0, 109, 232], - "魔法石": [0, 109, 232], - "光环": [0] + list(徽章排列组合名望选项), - "武器装扮": [0] + list(徽章排列组合名望选项), - "皮肤": [0] + list(徽章排列组合名望选项), -} - -徽章名望默认选项 = { - "上衣": 92, - "下装": 92, - "头肩": 72, - "腰带": 92, - "鞋": 92, - "手镯": 92, - "项链": 72, - "戒指": 92, - "辅助装备": 232, - "魔法石": 232, - "光环": 92, - "武器装扮": 92, - "皮肤": 92, -} - -附魔名望默认选项 = { - "上衣": 130, - "下装": 130, - "头肩": 168, - "腰带": 168, - "鞋": 168, - "手镯": 130, - "项链": 130, - "戒指": 130, - "辅助装备": 168, - "魔法石": 158, - "耳环": 130, - "武器": 130, - # "称号": 185, - "称号附魔": 185, - "光环": 464, - "武器装扮": 94, - "宠物装备红": 69, - "宠物装备蓝": 69, - "宠物装备绿": 69, - "宠物附魔": 185, - # "宠物": 1055, - "皮肤": 69, - "收集箱": 175 -} - -称号名望表 = { - '无': 1, - '明日-春华': 3, - '圣殿之巅': 5, - '桃园结义[义]': 100, - '三英雄[义]': 5, - '荣耀贵族': 4, - '骑士王的荣耀': 4, - '海洋霸主': 4, - '龙之挑战': 5, - '龙之威仪': 5, - '兽人守护神': 5, - '天选之人': 100, - '秘境迷踪': 5, - '神选之英杰': 102, - '超越极限者': 100, - '使徒降临': 101, - '伟大的意志': 103, - 'DPL专属称号·输出': 5, - '安徒恩的烈焰': 100, - '卢克的创造': 100, - '伊希斯的天空': 100, - '希洛克的悲鸣': 100, - '信念之启示': 100, - '隐忍之启示': 100, - '勇气之启示': 100, - '希望之启示': 100, - '神之试炼': 100, - '永恒追猎': 101, - '永恒判罪': 101, - '永恒战吼': 101, - '穿越星空的祈愿': 103, - '骑士之誓': 3, - '权御九界': 3, - '无畏战斗者': 3, - '无畏战争者': 3, - '无畏死亡者': 3, - '无畏牺牲者': 3, - '时空超越者': 104, - '时空旅人': 102 -} - -内置宠物名望表 = { - "火神的化身": 111, - "骑士/精灵使": 107, - "比拉谢尔号": 106, - "夏日之恋莱森德": 5, - "夏日之恋赫米雅": 5, - "暴风圣女": 110, - "神迹·莱恩": 108, - "神官格洛丽亚": 106, - "古国英豪莱恩": 102, - "骑士莱恩": 102, - "雪兔蒂娅": 100, - "克里斯": 5, - "关羽": 1, - "墨仙雪莲": 1, - "超越时空·厄俄斯": 112, - "超越时空·赫斯": 112, - "次元探险家·厄俄斯": 108, - "次元探险家·赫斯": 108 -} - -# 100级,史诗 -装备强化名望 = [ - 0, 3, 5, 8, 10, 12, 15, 17, 29, 32, 45, 89, 142, 154, 166, 178, 190, 202, - 213, 225, 237, 249, 261, 273, 284, 296, 308, 320, 332, 344, 355, 367 -] -装备增幅名望 = [ - 0, 3, 6, 8, 11, 14, 16, 19, 32, 36, 50, 99, 158, 171, 185, 198, 211, 224, - 237, 250, 263, 276, 289, 302, 315, 328, 341, 354, 369, 382, 395, 408 -] - -装备改造名望 = [ - 0, 11, 16, 32, 50, 158, 185, 211, 237, 263, 277, 290, 303, 316, 329, 342, - 355, 369, 382, 395, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, 408, - 408 -] -武器改造名望 = [ - 0, 33, 50, 99, 156, 492, 574, 656, 738, 820, 861, 902, 943, 984, 1025, - 1066, 1107, 1148, 1189, 1230, 1271, 1271, 1271, 1271, 1271, 1271, 1271, - 1271, 1271, 1271, 1271, 1271 -] -神话装备强化名望 = [ - 0, 3, 6, 9, 12, 15, 18, 21, 36, 40, 57, 111, 178, 193, 208, 222, 237, 252, - 267, 282, 296, 311, 326, 341, 355, 370, 385, 400, 415, 429, 444, 459 -] -神话装备增幅名望 = [ - 0, 4, 7, 10, 14, 17, 20, 24, 40, 45, 63, 123, 198, 214, 231, 247, 263, 280, - 296, 313, 329, 346, 362, 378, 395, 411, 428, 444, 461, 477, 493, 510 -] -武器强化名望 = [ - 0, 8, 15, 23, 30, 37, 45, 52, 89, 100, 141, 276, 443, 480, 517, 554, 591, - 628, 664, 701, 738, 775, 812, 849, 886, 923, 960, 996, 1033, 1070, 1107, - 1144 -] -武器增幅名望 = [ - 0, 9, 17, 25, 33, 41, 50, 58, 99, 111, 156, 307, 492, 533, 574, 615, 656, - 697, 738, 779, 820, 861, 902, 943, 984, 1025, 1066, 1107, 1148, 1189, 1230, - 1271 -] - -装备列 = { - "上衣": 0, - "下装": 1, - "头肩": 2, - "腰带": 3, - "鞋": 4, - "手镯": 5, - "项链": 6, - "戒指": 7, - "左槽": 8, - "右槽": 9, - "耳环": 10, - "武器": 11, - "称号": 12, - "光环": 13, - "武器装扮": 14, - "皮肤": 15, - "时装": 16, -} - -细节列 = {"收集箱": 6, "勋章": 7, "宠物装备红": 11, "宠物装备蓝": 12, "宠物装备绿": 13, "宠物附魔": 14} - -# 强化等级 -# 是否增幅 -# 改造等级 - - -def 细节收集(部位名称, 属性设置输入): - 目标列 = 细节列[部位名称] - result = [] - for i in range(6): - s = 属性设置输入[i][目标列].text() - if len(s) != 0: - s = int(s) - else: - s = 0 - result.append(s) - return result - - -def 勋章名望计算(): - 细节选项 = store.get("/{type}/data/detail_options", []) - 勋章强化等级 = 8 - if len(细节选项) > 0: - if isinstance(细节选项[0], list): - 勋章强化等级 = 细节选项[0][7] - 基础名望 = 232 + 46 * 4 - if 勋章强化等级 == 0: - return 基础名望 + 0 - else: - return 基础名望 + round(((勋章强化等级 - 8) / 2), 0) - - -def 徽章名望计算(): - 徽章名望 = store.get("/fame/selection2") - if 徽章名望 == None: - 徽章名望 = deepcopy(徽章名望默认选项) - else: - for 名望 in 徽章名望: - 徽章名望[名望] = int(徽章名望[名望]) - return 徽章名望 - - -def 称号名望计算(): - try: - 称号名称 = store.get("/{type}/memory/title", "无") - 称号基础名望 = 称号名望[称号名望表[称号名称]] - return 称号基础名望 - except: - return 称号名望[102] - - -def 时装名望计算(): - 所有时装 = store.get("/{type}/memory/avatar", ['神器'] * 8) - 所有时装 = 所有时装[:8] # [8]是 所有选项 - 最终时装名望 = sum(装扮名望[时装] for 时装 in 所有时装) - return 最终时装名望 - - -def 辟邪玉名望计算(): - 辟邪玉选项 = store.get("/{type}/data/jude_effects", [0] * 4) - 辟邪玉等级 = sum(1 for 辟邪玉词条 in 辟邪玉选项 if 辟邪玉词条 != 0) - return 辟邪玉名望[辟邪玉等级] - - -def 护石名望计算(): - 护石名望 = {"圣痕": 185, "魔界": 120, '无': 0} - - 护石等级 = store.get("/{type}/memory/talismans_types", ['圣痕'] * 3) - - 护石最终名望 = sum(护石名望[护石等级_] for 护石等级_ in 护石等级) - return 护石最终名望 - - -def 符文名望计算(): - 符文名望 = {0: 0, 4: 46, 1: 21, 2: 18, 3: 15} - 符文效果 = store.get("/{type}/data/runes_effects", [1] * 9) - - 最终符文名望 = sum(符文名望[int(符文 // 4) + 1] for 符文 in 符文效果 if 符文 != 0) - return 最终符文名望 - - -def 宠物名望计算(): - try: - 宠物名称 = store.get("/{type}/memory/pet", '无') - 最终宠物名望 = 宠物名望表.get(内置宠物名望表[宠物名称], 0) - return 最终宠物名望 - except: - return 宠物名望表[108] - - -def 装备基础名望计算(): - - 装备栏 = store.get("/{type}/memory/equips", ['无'] * 12) - 装备栏 = 装备栏[:-1] - 装备基础名望 = {} - for 装备 in 装备栏: - 装备 = equ.get_equ_by_name(装备) - if 装备.所属套装 == "智慧产物": - 装备基础名望[装备.部位] = 632 - elif 装备.品质 == "神话": - 装备基础名望[装备.部位] = 580 - else: - 装备基础名望[装备.部位] = 464 - # TODO:传说? - 套装栏 = equ.get_suits_by_equips(装备栏) - 装备基础名望["套装基础名望"] = len(套装栏) * 265 - return 装备基础名望 - - -def 装备打造名望计算(): - 装备栏 = store.get("/{type}/memory/equips", ['无'] * 12) - 打造选项 = store.get("/{type}/data/equip_forges", [0] * 36) - 装备栏 = 装备栏[:-1] # 去掉武器 - 打造名望 = {} - for i in range(len(装备栏)): - 装备 = equ.get_equ_by_name(装备栏[i]) - 单件装备打造名望 = 0 - if 装备.品质 not in ["史诗", "神话"]: - 单件装备打造名望 = -99999 - else: - if 装备.所属套装 == "智慧产物": - 改造等级 = 打造选项[i + 24] - 单件装备打造名望 = 装备改造名望[改造等级] - else: - 打造等级 = 打造选项[i + 12] - if 打造选项[i]: - if 装备.品质 == "史诗": - 单件装备打造名望 = 装备增幅名望[打造等级] - else: - 单件装备打造名望 = 神话装备增幅名望[打造等级] - else: - if 装备.品质 == "史诗": - 单件装备打造名望 = 装备强化名望[打造等级] - else: - 单件装备打造名望 = 神话装备强化名望[打造等级] - 打造名望[装备.部位] = 单件装备打造名望 - return 打造名望 - - -def 武器名望计算(): - 装备栏 = store.get("/{type}/memory/equips", ['无'] * 12) - 打造选项 = store.get("/{type}/data/equip_forges", [0] * 40) - 属性 = store.get("/{type}/memory/original_property") - - 武器 = equ.get_equ_by_name(装备栏[-1]) - if 武器.品质 != "史诗": - return -99999 - 武器最终计算名望 = 0 - 武器基础名望 = 464 - 武器打造名望 = 0 - - 武器基础打造 = 打造选项[-1 if 武器.所属套装 == "智慧产物" else 23] - - if 打造选项[11]: # 是否增幅 - 武器打造名望 = 武器增幅名望[武器基础打造] - else: - 武器打造名望 = 武器强化名望[武器基础打造] - - if 属性 is not None and "固伤" in 属性.类型: - if 打造选项[36] != 8: - 武器打造名望 = -99999 - else: - 武器打造名望 = max(480, 武器打造名望) - - return 武器基础名望 + 武器打造名望 - - -def 附魔名望计算(): - 附魔名望 = store.get("/fame/selection") - if 附魔名望 == None: - 附魔名望 = 附魔名望默认选项 - else: - for 名望 in 附魔名望: - 附魔名望[名望] = int(附魔名望[名望]) - return 附魔名望 - - -# 黑鸦 -# https://dnf.qq.com/cp/a20210325version/page3.html - - -def 黑鸦名望计算(改造部位=[]): - - 黑鸦词条 = store.get("/{type}/data/black_purgatory") - 黑鸦名望表 = {0: 69, 1: 83, 2: 98, 3: 116} - 黑鸦总名望 = {} - 黑鸦选项表 = {0: "武器", 1: "戒指", 2: "辅助装备", 3: "下装"} - for i in range(len(黑鸦词条)): - 黑鸦选项 = 黑鸦词条[i] - 部位 = 黑鸦选项表[i] - if 部位 in 改造部位: - continue - 选项 = 黑鸦选项[0] - 品级 = 黑鸦选项[2] - if 选项 == 0: - 黑鸦总名望[部位] = 0 - elif 选项 == 1: - 黑鸦总名望[部位] = 黑鸦名望表[3] # 计算最高 - else: - 黑鸦总名望[部位] = 黑鸦名望表[品级] - - return 黑鸦总名望 - - -def 改造升级黑鸦名望计算(): - 改造升级名望 = {} - 属性1名望 = {0: 91, 1: 71, 2: 54} - 属性2名望 = {0: 15, 1: 12, 2: 9} - 属性3名望 = {0: 10, 1: 8, 2: 6} - - if not store.get("/{type}/data/remodel_upgrade", False): - return {} - - 所有装备 = store.get("/{type}/memory/equips") # - 打造选项 = store.get("/{type}/data/equip_forges", [0] * 40) - 改造产物选项 = store.get("/{type}/data/remodel_properties", []) - 改造产物 = [] - 改造名称 = [] - for i in range(len(所有装备)): - 装备 = equ.get_equ_by_name(所有装备[i]) - if 装备.所属套装 == "智慧产物": - 装备.改造等级 = 打造选项[i + 24] - 改造产物.append(装备) - 改造名称.append(装备.名称) - - if len(改造产物选项) > 0: - count2 = 0 - for i in equ.get_equ_list(): - if i.所属套装 == '智慧产物': - if i.名称 in 改造名称: - i.属性1选择 = 改造产物选项[count2 * 4 + 0] - i.属性2选择 = 改造产物选项[count2 * 4 + 1] - i.属性3选择 = 改造产物选项[count2 * 4 + 2] - i.属性4选择 = 改造产物选项[count2 * 4 + 3] - count2 += 1 - - for 装备 in 改造产物: - 名望 = 属性1名望[装备.属性1选择] - if 装备.改造等级 >= 6: - 名望 += 属性2名望[装备.属性2选择] - if 装备.改造等级 >= 7: - 名望 += 属性3名望[装备.属性3选择] - 改造升级名望[装备.部位] = 名望 - - return 改造升级名望 - - -def 希洛克融合名望计算(): - 希洛克选择状态 = store.get("/{type}/data/siroco", [0] * 15) - 希洛克武器选择 = store.get("/{type}/data/siroco_weapon", 0) - 希洛克武器词条 = store.get("/{type}/data/weapon_fusion", [0] * 4) - - # 奶C不一致 - if len(希洛克武器词条) > 4: - 希洛克武器选择 = 希洛克武器词条[0] - 希洛克武器词条[1] = 希洛克武器词条[3] - 希洛克武器词条[3] = 希洛克武器词条[4] - - 希洛克选择状态 = [希洛克选择状态[i:i + 3] for i in range(0, len(希洛克选择状态), 3)] - 希洛克成套 = sum(list(map(lambda x: sum(x), 希洛克选择状态))) - - 下装希洛克 = sum(list(map(lambda x: x[0], 希洛克选择状态))) - 戒指希洛克 = sum(list(map(lambda x: x[1], 希洛克选择状态))) - 左槽希洛克 = sum(list(map(lambda x: x[2], 希洛克选择状态))) - - 词条1名望 = {0: 46, 1: 61, 2: 77} - 词条2名望 = {0: 23, 1: 31, 2: 39} - 希洛克融合名望 = {} - if 希洛克武器选择 == 0: - 残香名望 = 0 - else: - if 希洛克武器选择 == 2: - 词条1 = 希洛克武器词条[1] - 词条2 = 希洛克武器词条[3] - elif 希洛克武器选择 == 1: - 词条1 = 2 - 词条2 = 2 - 词条1适用名望 = 词条1名望[词条1] - 词条2适用名望 = 词条2名望[词条2] - - if 希洛克成套 == 3: - 残香名望 = 词条1适用名望 + 词条2适用名望 - else: - 残香名望 = 词条1适用名望 - - 希洛克融合名望 = { - "残香名望": 残香名望, - "下装": 116 * 下装希洛克, - "辅助装备": 116 * 左槽希洛克, - "戒指": 116 * 戒指希洛克 - } - return 希洛克融合名望 - - -def 奥兹玛融合名望计算(): - 奥兹玛选择状态 = store.get("/{type}/data/ozma", [0] * 25) - - 奥兹玛部位 = [奥兹玛选择状态[i:i + 5] for i in range(0, len(奥兹玛选择状态), 5)] - 头肩 = sum(list(map(lambda x: x[0], 奥兹玛部位))) - 腰带 = sum(list(map(lambda x: x[1], 奥兹玛部位))) - 鞋 = sum(list(map(lambda x: x[2], 奥兹玛部位))) - 项链 = sum(list(map(lambda x: x[3], 奥兹玛部位))) - 魔法石 = sum(list(map(lambda x: x[4], 奥兹玛部位))) - - return { - "头肩": 头肩 * 116, - "腰带": 腰带 * 116, - "鞋": 鞋 * 116, - "项链": 项链 * 116, - "魔法石": 魔法石 * 116 - } - - -def 更新人物名望(): - # 名望 = 装备 + 增幅/强化/锻造 + 附魔 + 称号 + 宠物 + - # 宠物装备 + 徽章 + 时装 + 护石 + 符文 + 勋 章 + 辟邪玉 + 收集箱 - - # 装备 开始 - - 装备名望 = 装备基础名望计算() - 打造名望 = 装备打造名望计算() - 附魔名望 = 附魔名望计算() - 称号名望 = 称号名望计算() - 宠物名望 = 宠物名望计算() - 武器名望 = 武器名望计算() - # 宠物装备名望 = 宠物装备名望计算(附魔名望默认选项) (并入附魔名望) - 徽章名望 = 徽章名望计算() - 时装名望 = 时装名望计算() - 护石名望 = 护石名望计算() - 符文名望 = 符文名望计算() - 勋章名望 = 勋章名望计算() - 辟邪玉名望 = 辟邪玉名望计算() - #收集箱名望 = 收集箱名望计算(人物设置) (并入附魔名望) - 改造升级名望 = 改造升级黑鸦名望计算() - 黑鸦名望 = 黑鸦名望计算(改造部位=list(改造升级名望.keys())) - 希洛克融合名望 = 希洛克融合名望计算() - 奥兹玛融合名望 = 奥兹玛融合名望计算() - - 名望详情 = { - "基础装备名望": 装备名望, - "增幅/强化/锻造/改造名望": 打造名望, - "武器名望": 武器名望, - "附魔名望": 附魔名望, - "称号名望": 称号名望, - "宠物名望": 宠物名望, - "徽章名望": 徽章名望, - "时装名望": 时装名望, - "护石名望": 护石名望, - "符文名望": 符文名望, - "勋章名望": 勋章名望, - "辟邪玉名望": 辟邪玉名望, - "黑鸦名望": 黑鸦名望, - "改造升级名望": 改造升级名望, - "希洛克融合名望": 希洛克融合名望, - "奥兹玛融合名望": 奥兹玛融合名望 - } - - 总名望 = 0 - for 部位 in 名望详情: - # print(部位, 名望详情[部位], 总名望) - - if isinstance(名望详情[部位], dict): - 总名望 += sum(list(名望详情[部位].values())) - elif isinstance(名望详情[部位], list): - 总名望 += sum(名望详情[部位].values()) - else: - 总名望 += 名望详情[部位] - - # 时装页 - 时装页名望 = { - "武器装扮": 附魔名望["武器装扮"] + 徽章名望["武器装扮"], - "光环": 附魔名望["光环"] + 徽章名望["光环"], - "时装": 时装名望, - "皮肤": 附魔名望["皮肤"] + 徽章名望["皮肤"], - "宠物": 宠物名望 + 附魔名望["宠物附魔"], - "宠物装备": 附魔名望["宠物装备红"] + 附魔名望["宠物装备蓝"] + 附魔名望["宠物装备绿"] - } - 护石页名望 = { - "护石": 护石名望, - "符文": 符文名望, - } - - 装备页名望 = 装备名望 - for 部位 in 装备页名望: - 徽章部位名望 = 徽章名望.get(部位, 0) - 装备页名望[部位] += 徽章部位名望 - 希洛克部位名望 = 希洛克融合名望.get(部位, 0) - 装备页名望[部位] += 希洛克部位名望 - 奥兹玛部位名望 = 奥兹玛融合名望.get(部位, 0) - 装备页名望[部位] += 奥兹玛部位名望 - - 装备页名望["武器"] = 武器名望 + 希洛克融合名望["残香名望"] - - # print(时装页名望) - # print(护石页名望) - # print(装备页名望) - # print(总名望) - store.set("/fame/temp_result", 总名望) - store.set("/fame/temp_result/detail", 名望详情) diff --git a/PublicReference/equipment/基础函数.py b/PublicReference/equipment/基础函数.py deleted file mode 100644 index 153647cd..00000000 --- a/PublicReference/equipment/基础函数.py +++ /dev/null @@ -1,358 +0,0 @@ -#看看就行, 计算细节通用的数据 - -##############增幅################ - -# 增幅系数 = [0, 1, 2, 3, 4, 6, 8, 10, 12, 13, 17, 33, 50, 67, 108, 150, 192, 267, 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, 1417] -# 增幅系数_HF = [0, 1, 2, 3, 4, 6, 8, 10, 22, 28, 35, 42, 50, 67, 108, 150, 192, 267, 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, 1417] -增幅系数 = (0, 1, 2, 3, 4, 6, 8, 10, 22, 28, 35, 42, 50, 67, 108, 150, 192, 267, - 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, - 1417) -增幅成长系数 = {'稀有': 1, '神器': 1.3, '勇者': 1.1, '传说': 1.4, '史诗': 1.5, '神话': 1.6} -增幅品级加分 = {'稀有': 45, '神器': 45, '勇者': 45, '传说': 46, '史诗': 46, '神话': 46} -# 增幅品级底数 = {'稀有': 5, '神器': 6, '勇者': 5, '传说': 6, '史诗': 7, '神话': 8} -# 增幅品级底数_HF = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13} -增幅品级底数 = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13} - - -def 增幅计算(装备等级, 品质, 强化等级, 版本='GF'): - if 版本 == 'GF': - # return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - 0.00000001) + 增幅品级底数[品质] - # else: - return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - - 0.00000001) + 增幅品级底数[品质] + (0 if 强化等级 < 12 else 5) - - -###########特殊装备&勋章########### - -耳环强化系数 = (0, 83, 124, 166, 207, 248, 314, 370, 426, 482, 621, 970, 1455, 1941, - 2911, 4043, 5175, 7116, 9056, 10997, 13099, 15363, 17627, 19891, - 22155, 24420, 26684, 28948, 31212, 33476, 35740, 38004) -左右强化系数 = (0, 60, 90, 120, 150, 180, 210, 247, 285, 322, 360, 675, 1013, 1350, - 2025, 2813, 3600, 4950, 6300, 7650, 9113, 10688, 12263, 13838, 15413, - 16988, 18563, 20138, 21713, 23288, 24863, 26438) -勋章强化系数 = (0, 100, 120, 144, 173, 208, 250, 300, 320, 360, 400, 610, 1220, 2440, - 2684, 2952, 3838, 4989, 6486, 8432, 10962) -特殊成长系数 = { - '普通': 0.4, - '高级': 0.7, - '稀有': 1, - '神器': 1.25, - '传说': 1.35, - '史诗': 1.45, - '神话': 1.55 -} -特殊品级加分 = {'普通': 24, '高级': 30, '稀有': 26, '神器': 28, '传说': 29, '史诗': 30, '神话': 31} - - -def 耳环计算(装备等级, 品质, 强化等级): - return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 耳环强化系数[强化等级]) - - -def 左右计算(装备等级, 品质, 强化等级): - return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 左右强化系数[强化等级]) - - -def 勋章计算(装备等级, 品质, 强化等级): - return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 勋章强化系数[强化等级]) - - -###############武器############### - -武器强化系数 = (0, 2, 2.6, 3.6, 4.7, 5.8, 6.9, 8.2, 11, 14.6, 18.7, 26.9, 36.7, 43, - 49.2, 55.4, 61.7, 68, 74.3, 80.6, 86.9, 93.2, 99.5, 105.8, 112.1, - 118.3, 124.6, 130.9, 137.1, 143.4, 149.7, 156.0) -武器锻造系数 = (0, 2, 3, 4, 6, 8, 13, 18, 25, 32, 41) -武器成长系数 = { - '普通': 0.4, - '高级': 0.7, - '稀有': 1, - '神器': 1.25, - '勇者': 1.1, - '传说': 1.35, - '史诗': 1.45, - '神话': 1.55 -} -武器品级加分 = { - '普通': 8, - '高级': 8, - '稀有': 10, - '神器': 12, - '勇者': 11, - '传说': 13, - '史诗': 14, - '神话': 15 -} -武器类型系数 = { - '短剑': (1.095, 1.115), - '太刀': (1.095, 1.105), - '钝器': (1.11, 1.095), - '巨剑': (1.12, 1.09), - '光剑': (1.093, 1.09), - '手套': (1.095, 1.115), - '臂铠': (1.12, 1.09), - '爪': (1.1, 1.1), - '拳套': (1.105, 1.095), - '东方棍': (1.095, 1.1), - '左轮枪': (1.087, 1.077), - '自动手枪': (1.064, 1.094), - '步枪': (1.1, 1.085), - '手炮': (1.106, 1.064), - '手弩': (1.075, 1.085), - '矛': (1.12, 1.085), - '棍棒': (1.108, 1.09), - '魔杖': (1.09, 1.11), - '法杖': (1.095, 1.12), - '扫把': (1.1, 1.11), - '十字架': (1.1, 1.095), - '念珠': (1.09, 1.115), - '图腾': (1.105, 1.09), - '镰刀': (1.105, 1.105), - '战斧': (1.12, 1.085), - '匕首': (1.09, 1.089), - '双剑': (1.102, 1.08), - '手杖': (1.081, 1.115), - '苦无': (1.09, 1.11), - '长枪': (1.105, 1.09), - '战戟': (1.12, 1.085), - '光枪': (1.095, 1.115), - '暗矛': (1.095, 1.105), - '长刀': (1.108, 1.09), - '小太刀': (1.1, 1.1), - '重剑': (1.12, 1.09), - '源力剑': (1.095, 1.115) -} - - -def 武器计算(装备等级, 品质, 强化等级, 武器类型, 类型): - 武器系数 = (武器类型系数[武器类型][0 if 类型 == '物理' else 1]) - return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数) - - -def 锻造计算(装备等级, 品质, 锻造等级): - return round((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) - - -def 锻造四维(装备等级, 品质, 锻造等级): - return round((装备等级 + 武器品级加分[品质]) / 80 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) - - -# 武器冷却惩罚系数 = { -# '短剑': (1, 1.05, 1), -# '太刀': (0.95, 1, 1), -# '钝器': (1.05, 1, 1), -# '巨剑': (1.1, 1, 1), -# '光剑': (0.9, 1, 1), -# '手套': (0.9, 1.05, 1), -# '臂铠': (1.1, 1, 1), -# '爪': (1, 1, 1), -# '拳套': (0.9, 1, 1), -# '东方棍': (1, 1, 1), -# '左轮枪': (1, 1, 1), -# '自动手枪': (0.9, 1, 1), -# '步枪': (1.05, 1, 1), -# '手炮': (1.1, 1, 1), -# '手弩': (0.9, 1, 1), -# '矛': (1.05, 0.95, 1), -# '棍棒': (1, 1, 1), -# '魔杖': (0.95, 1, 1), -# '法杖': (1, 1.1, 1), -# '扫把': (1 ,1, 1), -# '十字架': (0.95, 1, 1), -# '念珠': (0.95, 1.05, 1), -# '图腾': (1, 0.95, 1), -# '镰刀': (0.95, 1, 1), -# '战斧': (1.1, 0.9, 1), -# '匕首': (0.9, 0.95, 1), -# '双剑': (1.1, 0.9, 1), -# '手杖': (1, 1.1, 1), -# '苦无': (1, 1.05, 1), -# '长枪': (1.05, 1, 1), -# '战戟': (1.1, 0.9, 1), -# '光枪': (1, 1.05, 1), -# '暗矛': (0.95, 1, 1), -# '长刀': (1.05, 1, 1), -# '小太刀': (1, 1, 1), -# '重剑': (1.1, 1, 1), -# '源力剑': (1, 1.05, 1]} - -武器冷却惩罚系数 = { - '短剑': (1, 1.05, 1), - '太刀': (0.95, 1, 1), - '钝器': (1.05, 1, 1), - '巨剑': (1.1, 1, 1), - '光剑': (0.9, 1, 1), - '手套': (0.9, 1.05, 1), - '臂铠': (1.1, 1, 1), - '爪': (1, 1, 1), - '拳套': (0.9, 1, 1), - '东方棍': (1, 1, 1), - '左轮枪': (1, 1, 1), - '自动手枪': (0.9, 1, 1), - '步枪': (1.05, 1, 1), - '手炮': (1.1, 1, 1), - '手弩': (0.9, 1, 1), - '矛': (1.05, 0.95, 1), - '棍棒': (1, 1, 1), - '魔杖': (0.95, 1, 1), - '法杖': (1, 1.1, 1), - '扫把': (1, 1, 1), - '十字架': (0.95, 1, 1), - '念珠': (0.95, 1.05, 1), - '图腾': (1, 0.95, 1), - '镰刀': (0.95, 1, 1), - '战斧': (1.1, 0.9, 1), - '匕首': (0.9, 0.95, 1), - '双剑': (1.1, 0.9, 1), - '手杖': (1, 1.1, 1), - '苦无': (1, 1.05, 1), - '长枪': (1, 1, 1), - '战戟': (1.1, 0.9, 1), - '光枪': (1, 1.05, 1), - '暗矛': (0.95, 1, 1), - '长刀': (1.05, 1, 1), - '小太刀': (1, 1, 1), - '重剑': (1.1, 1, 1), - '源力剑': (1, 1.05, 1) -} - - -def 武器冷却惩罚(武器类型, 输出类型, 版本='GF'): - 类型系数 = (0 if 输出类型 == '物理百分比' else (1 if 输出类型 == '魔法百分比' else 2)) - if 版本 == 'GF': - return 武器冷却惩罚系数[武器类型][类型系数] - # else: - # return 武器冷却惩罚系数_HF[武器类型][类型系数] - - -#################防具################ - -部位系数 = {'上衣': 0.30, '头肩': 0.20, '下装': 0.25, '腰带': 0.10, '鞋': 0.15} -品级加分 = {'稀有': 5, '神器': 8, '勇者': 11, '传说': 14, '史诗': 17, '神话': 18} - - -def 精通计算(装备等级, 品质, 强化等级, 部位): - return round((20 + 2.5 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) - - -def 精通体力(装备等级, 品质, 强化等级, 部位): - return round((4 + (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) - - -def 精通精神(装备等级, 品质, 强化等级, 部位): - return 精通体力(装备等级, 品质, 强化等级, 部位) * 2 - - -def 精通智力(装备等级, 品质, 强化等级, 部位): - return 精通体力(装备等级, 品质, 强化等级, 部位) * 2 - - -#############角色基础属性############## - -当前等级 = 100 - -角色基础系数 = { - '魔枪士': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), - '格斗家(女)': (5, 5, 4, 4, 7.5, 7.5, 4.5, 4.5), - '格斗家(男)': (5, 5, 4, 4, 7.5, 7.5, 4.5, 4.5), - '枪剑士': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), - '神枪手(女)': (4.5, 4.5, 4.5, 4.5, 6.5, 6.5, 5.5, 5.5), - '神枪手(男)': (4.5, 4.5, 4.5, 4.5, 6.5, 6.5, 5.5, 5.5), - '守护者': (4.8, 4.8, 4.2, 4.2, 7, 7, 5, 5), - '魔法师(女)': (4, 4, 5, 5, 4.5, 4.5, 7.5, 7.5), - '魔法师(男)': (3.5, 4, 5.5, 5, 4, 4.5, 8, 7.5), - '暗夜使者': (5, 4, 5, 4, 7.5, 5.5, 6.5, 4.5), - '缔造者': (4, 4, 5, 5, 4.5, 4.5, 7.5, 7.5), - '黑暗武士': (4.8, 4.8, 4.2, 4.2, 7.5, 7.5, 4.5, 4.5), - '鬼剑士(男)': (4.8, 4.8, 4.2, 4.2, 7.5, 7.5, 4.5, 4.5), - '鬼剑士(女)': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), - '圣职者(男)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5), - '圣职者(女)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5) -} - -职业基础数据 = { - '征战者-魔枪士': (5.5, 5.5, 3.5, 3.5), - '决战者-魔枪士': (5, 5, 4, 4), - '狩猎者-魔枪士': (3, 4.5, 6, 4.5), - '暗枪士-魔枪士': (3.5, 3.5, 5.5, 5.5), - '气功师-格斗家(女)': (3.5, 3.5, 5.5, 5.5), - '散打-格斗家(女)': (5.5, 5.5, 3.5, 3.5), - '街霸-格斗家(女)': (5, 4, 5, 4), - '柔道家-格斗家(女)': (5, 6, 3.5, 3.5), - '气功师-格斗家(男)': (3.5, 3.5, 5.5, 5.5), - '散打-格斗家(男)': (5.5, 5.5, 3.5, 3.5), - '街霸-格斗家(男)': (5, 4, 5, 4), - '柔道家-格斗家(男)': (5, 6, 3.5, 3.5), - '暗刃-枪剑士': (5.5, 5.5, 3.5, 3.5), - '特工-枪剑士': (5, 5, 4, 4), - '战线佣兵-枪剑士': (5.2, 5, 3.5, 4.3), - '源能专家-枪剑士': (3.5, 3.5, 5.5, 5.5), - '漫游枪手-神枪手(女)': (5.5, 5.5, 3.5, 3.5), - '枪炮师-神枪手(女)': (5.5, 5.5, 3.5, 3.5), - '机械师-神枪手(女)': (3.5, 3.5, 5.5, 5.5), - '弹药专家-神枪手(女)': (4.7, 4.3, 4.7, 4.3), - '漫游枪手-神枪手(男)': (5.5, 5.5, 3.5, 3.5), - '枪炮师-神枪手(男)': (5.5, 5.5, 3.5, 3.5), - '机械师-神枪手(男)': (3.5, 3.5, 5.5, 5.5), - '弹药专家-神枪手(男)': (4.7, 4.3, 4.7, 4.3), - '合金战士-神枪手(男)': (5.5, 5.5, 3.5, 3.5), - '精灵骑士-守护者': (5, 5, 4, 4), - '混沌魔灵-守护者': (3.5, 3.5, 5.5, 5.5), - '帕拉丁-守护者': (5, 5.5, 2, 5.5), - '龙骑士-守护者': (5, 5, 4, 4), - '元素师-魔法师(女)': (3.5, 3.5, 5.5, 5.5), - '召唤师-魔法师(女)': (3.8, 3.7, 5.3, 5.2), - '战斗法师-魔法师(女)': (5, 4, 5, 4), - '魔道学者-魔法师(女)': (4.5, 4, 5.2, 4.3), - '小魔女-魔法师(女)': (4.7, 4.8, 5.5, 4.5), - '元素爆破师-魔法师(男)': (3.5, 3.5, 5.5, 5.5), - '冰结师-魔法师(男)': (3.5, 3.7, 5.5, 5.2), - '血法师-魔法师(男)': (5.5, 5.5, 3.5, 3.5), - '逐风者-魔法师(男)': (5.5, 5.2, 3.5, 3.8), - '次元行者-魔法师(男)': (3.5, 3.5, 5.5, 5.5), - '刺客-暗夜使者': (5.3, 4.5, 4.2, 4), - '死灵术士-暗夜使者': (4.7, 3.5, 5.3, 4.5), - '忍者-暗夜使者': (4.5, 3.5, 5.5, 4.5), - '影舞者-暗夜使者': (5.5, 4.5, 4, 4), - '缔造者-缔造者': (4, 4, 5, 5), - '黑暗武士-黑暗武士': (4.8, 4.8, 4.2, 4.2), - '剑魂-鬼剑士(男)': (5, 5, 4, 4), - '鬼泣-鬼剑士(男)': (3.5, 3.5, 5.5, 5.5), - '狂战士-鬼剑士(男)': (5.5, 5.5, 3.5, 3.5), - '阿修罗-鬼剑士(男)': (3, 4.5, 6, 4.5), - '剑影-鬼剑士(男)': (5, 5, 4, 4), - '刃影-鬼剑士(女)': (5, 5, 4, 4), - '驭剑士-鬼剑士(女)': (5, 5, 4, 4), - '暗殿骑士-鬼剑士(女)': (3.5, 3.5, 5.5, 5.5), - '契魔者-鬼剑士(女)': (5.5, 5.5, 3.5, 3.5), - '流浪武士-鬼剑士(女)': (5.5, 5.5, 3.5, 3.5), - '圣骑士-圣职者(男)': (3.5, 5.5, 3.5, 5.5), - '蓝拳圣使-圣职者(男)': (5.2, 5, 3.9, 3.9), - '驱魔师-圣职者(男)': (5, 4, 5, 4), - '复仇者-圣职者(男)': (3.5, 3.5, 5.5, 5.5), - '圣骑士-圣职者(女)': (3.5, 5.5, 5.5, 3.5), - '异端审判者-圣职者(女)': (5.2, 5, 3.5, 4.3), - '巫女-圣职者(女)': (3.5, 3.5, 5.5, 5.5), - '诱魔者-圣职者(女)': (3.5, 3.5, 5.5, 5.5) -} - - -def 基础属性输入(属性): - - 角色数据 = 角色基础系数[属性.角色] - 职业数据 = 职业基础数据[属性.职业 + '-' + 属性.角色] - - 唤醒 = (275 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)) - - 属性.基础力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + - 职业数据[0] * max(当前等级 - 15, 0) + 唤醒 + 2.1 * min(71, 当前等级)) - 属性.基础体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + - 职业数据[1] * max(当前等级 - 15, 0) + 唤醒 + 2.0 * min(71, 当前等级)) - 属性.基础智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + - 职业数据[2] * max(当前等级 - 15, 0) + 唤醒 + 2.1 * min(71, 当前等级)) - 属性.基础精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + - 职业数据[3] * max(当前等级 - 15, 0) + 唤醒 + 2.0 * min(71, 当前等级)) - - 属性.力量 = 属性.基础力量 - 属性.智力 = 属性.基础智力 - 属性.体力 = 属性.基础体力 - 属性.精神 = 属性.基础精神 diff --git a/PublicReference/equipment/宠物.py b/PublicReference/equipment/宠物.py deleted file mode 100644 index 4e07c4ae..00000000 --- a/PublicReference/equipment/宠物.py +++ /dev/null @@ -1,519 +0,0 @@ -# 宠物属性部分 -from PublicReference.equipment.base_item import Item - -宠物列表 = [None] * 21 - - -class 宠物20(Item): - 显示名称 = '(22)至尊·超越时空·厄俄斯' - 名称 = '超越时空·厄俄斯' - - def 城镇属性(self, 属性): - 属性.力量 += 160 - 属性.智力 += 160 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 95, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比三攻加成(0.20) - 属性.附加伤害加成(0.15) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +160
' - temp += '智力 +160
' - temp += '所有属性强化 +25
' - temp += 'Lv1-95 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比三攻 +20%
' - temp += '附加伤害 +15%
' - return temp - - -class 宠物19(Item): - 显示名称 = '(22)至尊·超越时空·赫斯' - 名称 = '超越时空·赫斯' - - def 城镇属性(self, 属性): - 属性.力量 += 160 - 属性.智力 += 160 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 95, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比三攻加成(0.15) - 属性.附加伤害加成(0.20) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +160
' - temp += '智力 +160
' - temp += '所有属性强化 +25
' - temp += 'Lv1-95 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比三攻 +15%
' - temp += '附加伤害 +20%
' - return temp - - -class 宠物18(Item): - 显示名称 = '(22)普通·次元探险家·厄俄斯' - 名称 = '次元探险家·厄俄斯' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 95, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比三攻加成(0.12) - 属性.附加伤害加成(0.10) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +160
' - temp += '智力 +160
' - temp += '所有属性强化 +25
' - temp += 'Lv1-95 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比三攻 +12%
' - temp += '附加伤害 +10%
' - return temp - - -class 宠物17(Item): - 显示名称 = '(22)普通·次元探险家·赫斯' - 名称 = '次元探险家·赫斯' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 95, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比三攻加成(0.10) - 属性.附加伤害加成(0.12) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +160
' - temp += '智力 +160
' - temp += '所有属性强化 +25
' - temp += 'Lv1-95 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比三攻 +10%
' - temp += '附加伤害 +12%
' - return temp - - -class 宠物16(Item): - 显示名称 = '(21)至尊·火神的化身' - 名称 = '火神的化身' - - def 城镇属性(self, 属性): - 属性.力量 += 160 - 属性.智力 += 160 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 80, 1) - 属性.加算冷却缩减 += 0.05 - 属性.暴击伤害加成(0.20) - 属性.百分比力智加成(0.12) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +160
' - temp += '智力 +160
' - temp += '所有属性强化 +25
' - temp += 'Lv1-80 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '暴击伤害 +20%
' - temp += '百分比力智 +12%
' - return temp - - -class 宠物15(Item): - 显示名称 = '(21)普通·骑士/精灵使' - 名称 = '骑士/精灵使' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 80, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比三攻加成(0.12) - 属性.附加伤害加成(0.10) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +150
' - temp += '智力 +150
' - temp += '所有属性强化 +25
' - temp += 'Lv1-80 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比三攻 +12%
' - temp += '附加伤害 +10%
' - return temp - - -class 宠物14(Item): - 显示名称 = '(21)夏日之恋莱森德' - 名称 = '夏日之恋莱森德' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 80, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比力智加成(0.10) - 属性.附加伤害加成(0.12) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +150
' - temp += '智力 +150
' - temp += '所有属性强化 +25
' - temp += 'Lv1-80 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比力智 +10%
' - temp += '附加伤害 +12%
' - return temp - - -class 宠物13(Item): - 显示名称 = '(21)夏日之恋赫米雅' - 名称 = '夏日之恋赫米雅' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(25) - 属性.技能等级加成('所有', 1, 80, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比力智加成(0.12) - 属性.附加伤害加成(0.10) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +150
' - temp += '智力 +150
' - temp += '所有属性强化 +25
' - temp += 'Lv1-80 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比力智 +12%
' - temp += '附加伤害 +10%
' - return temp - - -class 宠物12(Item): - 显示名称 = '(21)比拉谢尔号' - 名称 = '比拉谢尔号' - - def 城镇属性(self, 属性): - 属性.力量 += 140 - 属性.智力 += 140 - 属性.所有属性强化加成(24) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - 属性.附加伤害加成(0.12) - 属性.百分比力智加成(0.10) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +140
' - temp += '智力 +140
' - temp += '所有属性强化 +24
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '附加伤害 +12%
' - temp += '百分比力智 +10%
' - return temp - - -class 宠物11(Item): - 显示名称 = '(20)至尊·暴风圣女' - 名称 = '暴风圣女' - - def 城镇属性(self, 属性): - 属性.力量 += 150 - 属性.智力 += 150 - 属性.所有属性强化加成(24) - 属性.附加伤害加成(0.15) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - 属性.最终伤害加成(0.05) - 属性.百分比力智加成(0.12) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +150
' - temp += '智力 +150
' - temp += '所有属性强化 +24
' - temp += '附加伤害 +15%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '最终伤害 +5%
' - temp += '百分比力智 +12%
' - return temp - - -class 宠物10(Item): - 显示名称 = '(19)至尊·神迹·莱恩' - 名称 = '神迹·莱恩' - - def 城镇属性(self, 属性): - 属性.力量 += 120 - 属性.智力 += 120 - 属性.所有属性强化加成(24) - 属性.附加伤害加成(0.15) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - 属性.最终伤害加成(0.05) - 属性.百分比力智加成(0.08) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +120
' - temp += '智力 +120
' - temp += '所有属性强化 +24
' - temp += '附加伤害 +15%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '最终伤害 +5%
' - temp += '百分比力智 +8%
' - return temp - - -class 宠物9(Item): - 显示名称 = '(20)普通·神官' - 名称 = '神官格洛丽亚' - - def 城镇属性(self, 属性): - 属性.力量 += 140 - 属性.智力 += 140 - 属性.所有属性强化加成(24) - 属性.附加伤害加成(0.12) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - 属性.百分比力智加成(0.10) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +140
' - temp += '智力 +140
' - temp += '所有属性强化 +24
' - temp += '附加伤害 +12%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '百分比力智 +10%
' - return temp - - -class 宠物8(Item): - 显示名称 = '(19)至尊·莱恩' - 名称 = '古国英豪莱恩' - - def 城镇属性(self, 属性): - 属性.力量 += 120 - 属性.智力 += 120 - 属性.所有属性强化加成(24) - 属性.附加伤害加成(0.15) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - 属性.最终伤害加成(0.05) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +120
' - temp += '智力 +120
' - temp += '所有属性强化 +24
' - temp += '附加伤害 +15%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - temp += '最终伤害 +5%
' - return temp - - -class 宠物7(Item): - 显示名称 = '(19)普通·莱恩' - 名称 = '骑士莱恩' - - def 城镇属性(self, 属性): - 属性.力量 += 120 - 属性.智力 += 120 - 属性.所有属性强化加成(24) - 属性.附加伤害加成(0.12) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +120
' - temp += '智力 +120
' - temp += '所有属性强化 +24
' - temp += '附加伤害 +12%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - return temp - - -class 宠物6(Item): - 显示名称 = '(18)至尊·蒂娅' - 名称 = '冰雪魔法师蒂娅' - - def 城镇属性(self, 属性): - 属性.力量 += 110 - 属性.智力 += 110 - 属性.所有属性强化加成(22) - 属性.附加伤害加成(0.12) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +110
' - temp += '智力 +110
' - temp += '所有属性强化 +22
' - temp += '附加伤害 +12%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - return temp - - -class 宠物5(Item): - 显示名称 = '(18)普通·蒂娅' - 名称 = '雪兔蒂娅' - - def 城镇属性(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - 属性.所有属性强化加成(20) - 属性.附加伤害加成(0.10) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +100
' - temp += '所有属性强化 +20
' - temp += '附加伤害 +10%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - return temp - - -class 宠物4(Item): - 显示名称 = '(17)克里斯' - 名称 = '克里斯' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 35 - 属性.魔法攻击力 += 35 - 属性.独立攻击力 += 55 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.08) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - - def 装备描述(self, 属性): - temp = '' - temp += '物理攻击力 +35
' - temp += '魔法攻击力 +35
' - temp += '独立攻击力 +55
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +8%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - return temp - - -class 宠物3(Item): - 显示名称 = '(16)关羽' - 名称 = '关羽' - - def 城镇属性(self, 属性): - 属性.力量 += 50 - 属性.智力 += 50 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.05) - 属性.技能等级加成('所有', 1, 50, 1) - 属性.加算冷却缩减 += 0.05 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +50
' - temp += '智力 +50
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +5%
' - temp += 'Lv1-50 技能等级+1
' - temp += '技能冷却 -5%(加算)
' - return temp - - -class 宠物2(Item): - 显示名称 = '(15)墨仙雪莲' - 名称 = '墨仙雪莲' - - def 城镇属性(self, 属性): - 属性.力量 += 45 - 属性.智力 += 45 - 属性.物理攻击力 += 25 - 属性.魔法攻击力 += 25 - 属性.独立攻击力 += 45 - 属性.附加伤害加成(0.08) - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '智力 +45
' - temp += '物理攻击力 +25
' - temp += '魔法攻击力 +25
' - temp += '独立攻击力 +45
' - temp += '附加伤害 +8%
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物1(Item): - 显示名称 = '心悦宠物' - 名称 = '心悦宠物' - - def 城镇属性(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - 属性.所有属性强化加成(20) - 属性.附加伤害加成(0.05) - 属性.技能等级加成('所有', 1, 50, 1) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +100
' - temp += '所有属性强化 +20
' - temp += '附加伤害 +5%
' - temp += 'Lv1-50 技能等级+1
' - return temp - - -class 宠物0(Item): - 显示名称 = '无' - 名称 = '无' - - def 城镇属性(self, 属性): - pass - - def 触发属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - return temp - - -for i in range(len(宠物列表)): - exec('宠物列表[{}] = 宠物{}()'.format(len(宠物列表) - i - 1, i)) - -宠物序号 = dict() -for i in range(len(宠物列表)): - 宠物序号[宠物列表[i].名称] = i diff --git a/PublicReference/equipment/描述.py b/PublicReference/equipment/描述.py deleted file mode 100644 index 4dfcc979..00000000 --- a/PublicReference/equipment/描述.py +++ /dev/null @@ -1,15 +0,0 @@ -from PublicReference.utils.common import format_range - - -def 四维固定加成(self, x, types: list = ['力量', '智力', '体力', '精神']): - if self is not None: - if self.装备描述 == 0: - if '力量' in types: - self.力量 += x - if '智力' in types: - self.智力 += x - if '体力' in types: - self.体力 += x - if '精神' in types: - self.精神 += x - return "".join(format_range("{} +{}
", types, x)) diff --git a/PublicReference/equipment/武器融合.py b/PublicReference/equipment/武器融合.py deleted file mode 100644 index dc9857db..00000000 --- a/PublicReference/equipment/武器融合.py +++ /dev/null @@ -1,76 +0,0 @@ -# 希洛克词条融合属性部分 - - -class 词条属性(): - 描述 = '' - - def 加成属性(self, 属性, x): - pass - - -class 词条属性0(词条属性): - 描述 = '力智' - - def 加成属性(self, 属性, x): - 属性.百分比力智加成(x) - pass - - -class 词条属性1(词条属性): - 描述 = '三攻' - - def 加成属性(self, 属性, x): - 属性.百分比三攻加成(x) - pass - - -class 词条属性2(词条属性): - 描述 = '黄字' - - def 加成属性(self, 属性, x): - 属性.伤害增加加成(x) - pass - - -class 词条属性3(词条属性): - 描述 = '白字' - - def 加成属性(self, 属性, x): - 属性.附加伤害加成(x) - pass - - -class 词条属性4(词条属性): - 描述 = '暴伤' - - def 加成属性(self, 属性, x): - 属性.暴击伤害加成(x) - pass - - -class 词条属性5(词条属性): - 描述 = '终伤' - - def 加成属性(self, 属性, x): - 属性.最终伤害加成(x) - pass - - -class 词条属性6(词条属性): - 描述 = '觉醒Lv' - - def 加成属性(self, 属性, x): - 属性.技能等级加成("所有", 50, 50, x) - 属性.技能等级加成("所有", 85, 85, x) - 属性.技能等级加成("所有", 100, 100, x) - pass - - -词条属性列表 = () - -for i in range(6): - exec('词条属性列表 += (词条属性{}(),)'.format(i)) - -黑鸦武器属性列表 = () -for i in range(7): - exec('黑鸦武器属性列表 += (词条属性{}(),)'.format(i)) diff --git a/PublicReference/equipment/称号.py b/PublicReference/equipment/称号.py deleted file mode 100644 index 4684630b..00000000 --- a/PublicReference/equipment/称号.py +++ /dev/null @@ -1,944 +0,0 @@ -import re -from PublicReference.equipment.base_item import Item - -# 称号属性部分 - -称号列表 = [None] * 33 - - -class 称号32(Item): - 显示名称 = '(22)至尊·时空超越者' - 名称 = '时空超越者' - - def 城镇属性(self, 属性): - 属性.力量 += 120 - 属性.智力 += 120 - 属性.物理攻击力 += 70 - 属性.魔法攻击力 += 70 - 属性.独立攻击力 += 70 - 属性.所有属性强化加成(25) - 属性.百分比三攻加成(0.05) - 属性.暴击伤害加成(0.05) - 属性.最终伤害加成(0.05) - 属性.百分比力智加成(0.05) - 属性.附加伤害加成(0.05) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +120
' - temp += '智力 +120
' - temp += '物理攻击力 +70
' - temp += '魔法攻击力 +70
' - temp += '独立攻击力 +70
' - temp += '所有属性强化 +25
' - temp += '百分比三攻 +5%
' - temp += '暴追 +5%
' - temp += '最终伤害 +5%
' - temp += '力智 +5%
' - temp += '附加伤害 +5%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号31(Item): - 显示名称 = '(22)普通·时空旅人' - 名称 = '时空旅人' - - def 城镇属性(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - 属性.物理攻击力 += 65 - 属性.魔法攻击力 += 65 - 属性.独立攻击力 += 65 - 属性.所有属性强化加成(20) - 属性.伤害增加加成(0.06) - 属性.暴击伤害加成(0.06) - 属性.百分比力智加成(0.06) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +100
' - temp += '物理攻击力 +65
' - temp += '魔法攻击力 +65
' - temp += '独立攻击力 +65
' - temp += '所有属性强化 +20
' - temp += '黄追 +6%
' - temp += '暴追 +6%
' - temp += '力智 +6%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号30(Item): - 显示名称 = '(21)至尊·穿越星空的祈愿' - 名称 = '穿越星空的祈愿' - - def 城镇属性(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - 属性.物理攻击力 += 65 - 属性.魔法攻击力 += 65 - 属性.独立攻击力 += 65 - 属性.所有属性强化加成(22) - 属性.百分比三攻加成(0.12) - 属性.附加伤害加成(0.10) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +100
' - temp += '物理攻击力 +65
' - temp += '魔法攻击力 +65
' - temp += '独立攻击力 +65
' - temp += '所有属性强化 +22
' - temp += '百分比三攻 +12%
' - temp += '附加伤害 +10%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号29(Item): - 显示名称 = '(21)普通·永恒追猎' - 名称 = '永恒追猎' - - def 城镇属性(self, 属性): - 属性.力量 += 80 - 属性.智力 += 80 - 属性.物理攻击力 += 60 - 属性.魔法攻击力 += 60 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(15) - 属性.伤害增加加成(0.15) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +80
' - temp += '智力 +80
' - temp += '物理攻击力 +60
' - temp += '魔法攻击力 +60
' - temp += '独立攻击力 +60
' - temp += '所有属性强化 +15
' - temp += '伤害增加 +15%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号28(Item): - 显示名称 = '(21)普通·永恒判罪' - 名称 = '永恒判罪' - - def 城镇属性(self, 属性): - 属性.力量 += 80 - 属性.智力 += 80 - 属性.物理攻击力 += 60 - 属性.魔法攻击力 += 60 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(15) - 属性.暴击伤害加成(0.15) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +80
' - temp += '智力 +80
' - temp += '物理攻击力 +60
' - temp += '魔法攻击力 +60
' - temp += '独立攻击力 +60
' - temp += '所有属性强化 +15
' - temp += '暴击伤害 +15%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号27(Item): - 显示名称 = '(21)普通·永恒战吼' - 名称 = '永恒战吼' - - def 城镇属性(self, 属性): - 属性.力量 += 80 - 属性.智力 += 80 - 属性.物理攻击力 += 60 - 属性.魔法攻击力 += 60 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(15) - 属性.百分比力智加成(0.15) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +80
' - temp += '智力 +80
' - temp += '物理攻击力 +60
' - temp += '魔法攻击力 +60
' - temp += '独立攻击力 +60
' - temp += '所有属性强化 +15
' - temp += '百分比力智 +15%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号26(Item): - 显示名称 = '(21)国庆·信念之启示' - 名称 = '信念之启示' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.伤害增加加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '黄字 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号25(Item): - 显示名称 = '(21)国庆·隐忍之启示' - 名称 = '隐忍之启示' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.暴击伤害加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '暴伤 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号24(Item): - 显示名称 = '(21)国庆·勇气之启示' - 名称 = '勇气之启示' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.百分比三攻加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '百分比三攻 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号23(Item): - 显示名称 = '(21)国庆·希望之启示' - 名称 = '希望之启示' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.最终伤害加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '最终伤害 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号22(Item): - 显示名称 = '(20)至尊·伟大的意志' - 名称 = '伟大的意志' - - def 城镇属性(self, 属性): - 属性.力量 += 90 - 属性.智力 += 90 - 属性.物理攻击力 += 65 - 属性.魔法攻击力 += 65 - 属性.独立攻击力 += 65 - 属性.所有属性强化加成(20) - 属性.暴击伤害加成(0.18) - 属性.百分比力智加成(0.04) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +90
' - temp += '智力 +90
' - temp += '物理攻击力 +65
' - temp += '魔法攻击力 +65
' - temp += '独立攻击力 +65
' - temp += '所有属性强化 +20
' - temp += '暴击伤害 +18%
' - temp += '百分比力智 +4%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号21(Item): - 显示名称 = '(20)普通·使徒降临' - 名称 = '使徒降临' - - def 城镇属性(self, 属性): - 属性.力量 += 80 - 属性.智力 += 80 - 属性.物理攻击力 += 60 - 属性.魔法攻击力 += 60 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.12) - 属性.百分比力智加成(0.03) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +80
' - temp += '智力 +80
' - temp += '物理攻击力 +60
' - temp += '魔法攻击力 +60
' - temp += '独立攻击力 +60
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +12%
' - temp += '百分比力智 +3%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号20(Item): - 显示名称 = '(20)国庆·安徒恩的烈焰' - 名称 = '安徒恩的烈焰' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.黄字 = max(属性.黄字, 0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '黄字 +15%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号19(Item): - 显示名称 = '(20)国庆·卢克的创造' - 名称 = '卢克的创造' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.暴伤 = max(属性.暴伤, 0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '暴伤 +15%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号18(Item): - 显示名称 = '(20)国庆·伊希斯的天空' - 名称 = '伊希斯的天空' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.百分比三攻加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '百分比三攻 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号17(Item): - 显示名称 = '(20)国庆·希洛克的悲鸣' - 名称 = '希洛克的悲鸣' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.最终伤害加成(0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '最终伤害 +15%
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号16(Item): - 显示名称 = '(19)至尊·神选之英杰' - 名称 = '神选之英杰' - - def 城镇属性(self, 属性): - 属性.力量 += 75 - 属性.智力 += 75 - 属性.物理攻击力 += 45 - 属性.魔法攻击力 += 45 - 属性.独立攻击力 += 65 - 属性.所有属性强化加成(20) - 属性.暴击伤害加成(0.18) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +75
' - temp += '智力 +75
' - temp += '物理攻击力 +45
' - temp += '魔法攻击力 +45
' - temp += '独立攻击力 +65
' - temp += '所有属性强化 +20
' - temp += '暴击伤害 +18%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号15(Item): - 显示名称 = '(19)普通·秘境迷踪' - 名称 = '秘境迷踪' - - def 城镇属性(self, 属性): - 属性.力量 += 70 - 属性.智力 += 70 - 属性.物理攻击力 += 40 - 属性.魔法攻击力 += 40 - 属性.独立攻击力 += 60 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.10) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +70
' - temp += '智力 +70
' - temp += '物理攻击力 +40
' - temp += '魔法攻击力 +40
' - temp += '独立攻击力 +60
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +10%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号14(Item): - 显示名称 = '(19)国庆·超越极限者' - 名称 = '超越极限者' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.所有属性强化加成(15) - 属性.暴伤 = max(属性.暴伤, 0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '所有属性强化 +15
' - temp += '暴伤 +15%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号13(Item): - 显示名称 = '(18)至尊·天选之人' - 名称 = '天选之人' - - def 城镇属性(self, 属性): - 属性.力量 += 75 - 属性.智力 += 75 - 属性.物理攻击力 += 35 - 属性.魔法攻击力 += 35 - 属性.独立攻击力 += 55 - 属性.所有属性强化加成(20) - 属性.最终伤害加成(0.12) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +75
' - temp += '智力 +75
' - temp += '物理攻击力 +35
' - temp += '魔法攻击力 +35
' - temp += '独立攻击力 +55
' - temp += '所有属性强化 +20
' - temp += '最终伤害 +12%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号12(Item): - 显示名称 = '(18)普通·兽人守护神' - 名称 = '兽人守护神' - - def 城镇属性(self, 属性): - 属性.力量 += 70 - 属性.智力 += 70 - 属性.物理攻击力 += 30 - 属性.魔法攻击力 += 30 - 属性.独立攻击力 += 50 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.10) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +70
' - temp += '智力 +70
' - temp += '物理攻击力 +30
' - temp += '魔法攻击力 +30
' - temp += '独立攻击力 +50
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +10%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号11(Item): - 显示名称 = '(18)国庆·神之试炼' - 名称 = '神之试炼' - - def 城镇属性(self, 属性): - 属性.力量 += 55 - 属性.智力 += 55 - 属性.所有属性强化加成(15) - 属性.暴伤 = max(属性.暴伤, 0.15) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +55
' - temp += '智力 +55
' - temp += '所有属性强化 +15
' - temp += '暴伤 +15%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号10(Item): - 显示名称 = '(17)至尊·龙之威仪' - 名称 = '龙之威仪' - - def 城镇属性(self, 属性): - 属性.力量 += 65 - 属性.智力 += 65 - 属性.物理攻击力 += 35 - 属性.魔法攻击力 += 35 - 属性.独立攻击力 += 55 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.12) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +65
' - temp += '智力 +65
' - temp += '物理攻击力 +35
' - temp += '魔法攻击力 +35
' - temp += '独立攻击力 +55
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +12%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号9(Item): - 显示名称 = '(17)普通·龙之挑战' - 名称 = '龙之挑战' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.物理攻击力 += 30 - 属性.魔法攻击力 += 30 - 属性.独立攻击力 += 50 - 属性.所有属性强化加成(15) - 属性.附加伤害加成(0.10) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '物理攻击力 +30
' - temp += '魔法攻击力 +30
' - temp += '独立攻击力 +50
' - temp += '所有属性强化 +15
' - temp += '附加伤害 +10%
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号8(Item): - 显示名称 = '(17)国庆·海洋霸主' - 名称 = '海洋霸主' - - def 城镇属性(self, 属性): - 属性.力量 += 55 - 属性.智力 += 55 - 属性.所有属性强化加成(15) - 属性.黄字 = max(属性.黄字, 0.10) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +55
' - temp += '智力 +55
' - temp += '所有属性强化 +15
' - temp += '黄字 +10%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号7(Item): - 显示名称 = '(16)至尊·桃园结义[义]' - 名称 = '桃园结义[义]' - - def 城镇属性(self, 属性): - 属性.力量 += 60 - 属性.智力 += 60 - 属性.物理攻击力 += 30 - 属性.魔法攻击力 += 30 - 属性.独立攻击力 += 50 - 属性.所有属性强化加成(15) - 属性.黄字 = max(属性.黄字, 0.15) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +60
' - temp += '智力 +60
' - temp += '物理攻击力 +30
' - temp += '魔法攻击力 +30
' - temp += '独立攻击力 +50
' - temp += '所有属性强化 +15
' - temp += '黄字 +15%(取最高值)
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号6(Item): - 显示名称 = '(16)普通·三英雄[义]' - 名称 = '三英雄[义]' - - def 城镇属性(self, 属性): - 属性.力量 += 55 - 属性.智力 += 55 - 属性.物理攻击力 += 30 - 属性.魔法攻击力 += 30 - 属性.独立攻击力 += 50 - 属性.所有属性强化加成(15) - 属性.黄字 = max(属性.黄字, 0.12) - - def 触发属性(self, 属性): - 属性.进图力量 += 35 - 属性.进图智力 += 35 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +55
' - temp += '智力 +55
' - temp += '物理攻击力 +30
' - temp += '魔法攻击力 +30
' - temp += '独立攻击力 +50
' - temp += '所有属性强化 +15
' - temp += '黄字 +12%(取最高值)
' - temp += '进图触发属性:
' - temp += '力量 +35
' - temp += '智力 +35
' - return temp - - -class 称号5(Item): - 显示名称 = '(16)国庆·骑士王的荣耀' - 名称 = '骑士王的荣耀' - - def 城镇属性(self, 属性): - 属性.力量 += 55 - 属性.智力 += 55 - 属性.所有属性强化加成(15) - 属性.黄字 = max(属性.黄字, 0.10) - - def 触发属性(self, 属性): - 属性.进图属强 += 10 - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +55
' - temp += '智力 +55
' - temp += '所有属性强化 +15
' - temp += '黄字 +10%(取最高值)
' - temp += '进图触发属性:
' - temp += '所有属强 +10
' - return temp - - -class 称号4(Item): - 显示名称 = '(16)五一·荣耀贵族' - 名称 = '荣耀贵族' - - def 城镇属性(self, 属性): - 属性.力量 += 30 - 属性.智力 += 30 - 属性.物理攻击力 += 70 - 属性.魔法攻击力 += 70 - 属性.独立攻击力 += 90 - 属性.加算冷却缩减 += 0.10 - - def 触发属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +30
' - temp += '智力 +30
' - temp += '物理攻击力 +70
' - temp += '魔法攻击力 +70
' - temp += '独立攻击力 +90
' - temp += '技能冷却 -10%(加算)
' - return temp - - -class 称号3(Item): - 显示名称 = '(15)国庆·圣殿之巅' - 名称 = '圣殿之巅' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 30 - 属性.魔法攻击力 += 30 - 属性.独立攻击力 += 50 - 属性.所有属性强化加成(15) - 属性.暴伤 = max(属性.暴伤, 0.10) - - def 触发属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '物理攻击力 +30
' - temp += '魔法攻击力 +30
' - temp += '独立攻击力 +50
' - temp += '所有属性强化 +15
' - temp += '暴伤 +10%(取最高值)
' - return temp - - -class 称号2(Item): - 显示名称 = '(14)五一·明日-春华' - 名称 = '明日-春华' - - def 城镇属性(self, 属性): - 属性.力量 += 35 - 属性.智力 += 35 - 属性.物理攻击力 += 10 - 属性.魔法攻击力 += 10 - 属性.独立攻击力 += 18 - 属性.所有属性强化加成(12) - - def 触发属性(self, 属性): - 属性.加算冷却缩减 += 0.30 - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +35
' - temp += '智力 +35
' - temp += '物理攻击力 +10
' - temp += '魔法攻击力 +10
' - temp += '独立攻击力 +18
' - temp += '所有属性强化 +12
' - temp += '进图触发属性:
' - temp += '技能冷却 -30%(加算)
' - return temp - - -class 称号1(Item): - 显示名称 = '(20)DPL专属称号·输出' - 名称 = 'DPL专属称号·输出' - - def 城镇属性(self, 属性): - 属性.力量 += 1251 - 属性.智力 += 1251 - 属性.物理攻击力 += 377 - 属性.魔法攻击力 += 377 - 属性.独立攻击力 += 380 - 属性.所有属性强化加成(166) - 属性.技能等级加成('主动', 1, 30, 2) - 属性.技能等级加成('主动', 1, 50, 2) - 属性.技能等级加成('所有', 1, 50, 2) - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +1251
' - temp += '智力 +1251
' - temp += '物理攻击力 +377
' - temp += '魔法攻击力 +377
' - temp += '独立攻击力 +380
' - temp += '所有属性强化 +166
' - temp += 'Lv1-30 (主动)技能等级+2
' - temp += 'Lv1-50 (主动)技能等级+2
' - temp += 'Lv1-50 (所有)技能等级+2
' - return temp - - -class 称号0(Item): - pass - - -for i in range(len(称号列表)): - exec('称号列表[{}] = 称号{}()'.format(len(称号列表) - i - 1, i)) - -称号序号 = dict() -for i in range(len(称号列表)): - 称号序号[称号列表[i].名称] = i diff --git a/PublicReference/equipment/融合_奥兹玛.py b/PublicReference/equipment/融合_奥兹玛.py deleted file mode 100644 index 37c3b809..00000000 --- a/PublicReference/equipment/融合_奥兹玛.py +++ /dev/null @@ -1,175 +0,0 @@ -#"上衣", "头肩", "下装", "腰带", "鞋", "手镯", "项链", "戒指", "耳环", "辅助装备", "魔法石","武器" - - -class 奥兹玛属性(): - def 阿斯特罗斯等级加成(self, 属性, k): - 描述 = '' - if 属性.职业 == '缔造者': - if k == 0: - 描述 += 属性.技能等级加成('所有', 70, 70, 1) - 描述 += 属性.技能等级加成('所有', 80, 80, 1) - if k == 1: - 描述 += 属性.技能等级加成('所有', 40, 40, 1) - 描述 += 属性.技能等级加成('所有', 50, 50, 1) - 描述 += 属性.技能等级加成('所有', 60, 60, 1) - if k == 2: - 描述 += 属性.技能等级加成('所有', 10, 10, 1) - 描述 += 属性.技能等级加成('所有', 30, 30, 1) - else: - if k == 0: - 描述 += 属性.技能等级加成('主动', 70, 70, 1) - 描述 += 属性.技能等级加成('主动', 75, 75, 1) - 描述 += 属性.技能等级加成('主动', 80, 80, 1) - if k == 1: - 描述 += 属性.技能等级加成('主动', 40, 40, 1) - 描述 += 属性.技能等级加成('主动', 45, 45, 1) - 描述 += 属性.技能等级加成('主动', 60, 60, 1) - if k == 2: - 描述 += 属性.技能等级加成('主动', 20, 20, 1) - 描述 += 属性.技能等级加成('主动', 25, 25, 1) - 描述 += 属性.技能等级加成('主动', 35, 35, 1) - return 描述 - - def 奥兹玛属性_输出(self, 属性, 奥兹玛选择状态, 阿斯特罗斯选项, x=0): - 选择 = 奥兹玛选择状态 - 技能 = 阿斯特罗斯选项 - - 属性.装备描述 = x - 头肩 = '' - 腰带 = '' - 鞋 = '' - 项链 = '' - 魔法石 = '' - - # region 阿斯特罗斯 - i = 0 - if 选择[0] == 1: - 头肩 += 属性.伤害增加加成(0.03) - 头肩 += 属性.暴击伤害加成(0.03) - 头肩 += 属性.附加伤害加成(0.02) - 头肩 += self.阿斯特罗斯等级加成(属性, 技能[i]) - i += 1 - if 选择[1] == 1: - 腰带 += 属性.百分比三攻加成(0.02) - 腰带 += 属性.百分比力智加成(0.03) - 腰带 += 属性.最终伤害加成(0.02) - 腰带 += self.阿斯特罗斯等级加成(属性, 技能[i]) - i += 1 - if 选择[2] == 1: - 鞋 += 属性.伤害增加加成(0.03) - 鞋 += 属性.暴击伤害加成(0.03) - 鞋 += 属性.附加伤害加成(0.01) - 鞋 += self.阿斯特罗斯等级加成(属性, 技能[i]) - i += 1 - if 选择[3] == 1: - 项链 += 属性.百分比三攻加成(0.02) - 项链 += 属性.百分比力智加成(0.03) - 项链 += 属性.最终伤害加成(0.02) - 项链 += self.阿斯特罗斯等级加成(属性, 技能[i]) - i += 1 - if 选择[4] == 1: - 魔法石 += 属性.附加伤害加成(0.03) - 魔法石 += 属性.百分比三攻加成(0.02) - 魔法石 += 属性.最终伤害加成(0.02) - 魔法石 += self.阿斯特罗斯等级加成(属性, 技能[i]) - i += 1 - # endregion - # region 贝利亚斯 - if 选择[5] == 1: - 头肩 += 属性.伤害增加加成(0.03) - 头肩 += 属性.暴击伤害加成(0.03) - 头肩 += 属性.附加伤害加成(0.02) - if 选择[6] == 1: - 腰带 += 属性.百分比三攻加成(0.02) - 腰带 += 属性.百分比力智加成(0.03) - 腰带 += 属性.最终伤害加成(0.02) - if 选择[7] == 1: - 鞋 += 属性.伤害增加加成(0.03) - 鞋 += 属性.暴击伤害加成(0.03) - 鞋 += 属性.附加伤害加成(0.01) - if 选择[8] == 1: - 项链 += 属性.百分比三攻加成(0.02) - 项链 += 属性.百分比力智加成(0.03) - 项链 += 属性.最终伤害加成(0.02) - if 选择[9] == 1: - 魔法石 += 属性.附加伤害加成(0.03) - 魔法石 += 属性.百分比三攻加成(0.02) - 魔法石 += 属性.最终伤害加成(0.02) - # endregion - # region 雷德梅恩 - if 选择[10] == 1: - 头肩 += 属性.伤害增加加成(0.03) - 头肩 += 属性.暴击伤害加成(0.03) - 头肩 += 属性.附加伤害加成(0.02) - 头肩 += 属性.技能冷却缩减(45, 45, 0.1) - if 选择[11] == 1: - 腰带 += 属性.百分比三攻加成(0.02) - 腰带 += 属性.百分比力智加成(0.03) - 腰带 += 属性.最终伤害加成(0.02) - 腰带 += 属性.技能冷却缩减(75, 75, 0.1) - if 选择[12] == 1: - 鞋 += 属性.伤害增加加成(0.03) - 鞋 += 属性.暴击伤害加成(0.03) - 鞋 += 属性.附加伤害加成(0.01) - 鞋 += 属性.技能冷却缩减(70, 70, 0.1) - if 选择[13] == 1: - 项链 += 属性.百分比三攻加成(0.02) - 项链 += 属性.百分比力智加成(0.03) - 项链 += 属性.最终伤害加成(0.02) - 项链 += 属性.技能冷却缩减(80, 80, 0.1) - if 选择[14] == 1: - 魔法石 += 属性.附加伤害加成(0.03) - 魔法石 += 属性.百分比三攻加成(0.02) - 魔法石 += 属性.最终伤害加成(0.02) - 魔法石 += 属性.技能冷却缩减(60, 60, 0.1) - # endregion - # region 罗什巴赫 - if 选择[15] == 1: - 头肩 += 属性.伤害增加加成(0.03) - 头肩 += 属性.暴击伤害加成(0.03) - 头肩 += 属性.附加伤害加成(0.02) - if 选择[16] == 1: - 腰带 += 属性.百分比三攻加成(0.02) - 腰带 += 属性.百分比力智加成(0.03) - 腰带 += 属性.最终伤害加成(0.02) - if 选择[17] == 1: - 鞋 += 属性.伤害增加加成(0.03) - 鞋 += 属性.暴击伤害加成(0.03) - 鞋 += 属性.附加伤害加成(0.01) - if 选择[18] == 1: - 项链 += 属性.百分比三攻加成(0.02) - 项链 += 属性.百分比力智加成(0.03) - 项链 += 属性.最终伤害加成(0.02) - if 选择[19] == 1: - 魔法石 += 属性.附加伤害加成(0.03) - 魔法石 += 属性.百分比三攻加成(0.02) - 魔法石 += 属性.最终伤害加成(0.02) - # endregion - # region 泰玛特 - if 选择[20] == 1: - 头肩 += 属性.伤害增加加成(0.03) - 头肩 += 属性.暴击伤害加成(0.04) - 头肩 += 属性.附加伤害加成(0.02) - if 选择[21] == 1: - 腰带 += 属性.百分比三攻加成(0.02) - 腰带 += 属性.百分比力智加成(0.04) - 腰带 += 属性.最终伤害加成(0.02) - if 选择[22] == 1: - 鞋 += 属性.伤害增加加成(0.04) - 鞋 += 属性.暴击伤害加成(0.03) - 鞋 += 属性.附加伤害加成(0.02) - if 选择[23] == 1: - 项链 += 属性.百分比三攻加成(0.03) - 项链 += 属性.百分比力智加成(0.03) - 项链 += 属性.最终伤害加成(0.02) - if 选择[24] == 1: - 魔法石 += 属性.附加伤害加成(0.03) - 魔法石 += 属性.百分比三攻加成(0.02) - 魔法石 += 属性.最终伤害加成(0.03) - # endregion - 属性.装备描述 = 0 - if x == 1: - return {1: 头肩, 3: 腰带, 4: 鞋, 6: 项链, 10: 魔法石} - - -奥兹玛 = 奥兹玛属性() diff --git a/PublicReference/equipment/融合_希洛克.py b/PublicReference/equipment/融合_希洛克.py deleted file mode 100644 index ce8d8315..00000000 --- a/PublicReference/equipment/融合_希洛克.py +++ /dev/null @@ -1,80 +0,0 @@ -class 希洛克属性(): - def 希洛克属性_输出(self, 属性, 希洛克选择状态, 守门人属强选择, x=0): - 数量 = [0] * 3 - 选择 = 希洛克选择状态 - 属强 = 守门人属强选择 * 5 + 15 - for i in range(15): - 数量[i % 3] += 选择[i] - - 属性.装备描述 = x - 下装 = '' - 戒指 = '' - 辅助装备 = '' - - # 下装属性1 - if 数量[0] == 1: - 下装 += 属性.最终伤害加成(0.05) - - # 戒指属性1 - if 数量[1] == 1: - 戒指 += 属性.百分比三攻加成(0.05) - - # 辅助装备属性1 - if 数量[2] == 1: - 辅助装备 += 属性.技能攻击力加成(0.05) - - i = 0 # 奈克斯属性2 - if (选择[i * 3 + 0] + 选择[i * 3 + 1]) == 2: - 下装 += 属性.伤害增加加成(0.05) # 下装 - if (选择[i * 3 + 1] + 选择[i * 3 + 2]) == 2: - 戒指 += 属性.暴击伤害加成(0.05) # 戒指 - if (选择[i * 3 + 2] + 选择[i * 3 + 0]) == 2: - 辅助装备 += 属性.百分比力智加成(0.05) # 辅助装备 - - i = 1 # 暗杀者属性2 - if (选择[i * 3 + 0] + 选择[i * 3 + 1]) == 2: - 下装 += 属性.伤害增加加成(0.02) - 下装 += 属性.技能冷却缩减(1, 45, 0.2) # 下装 - if (选择[i * 3 + 1] + 选择[i * 3 + 2]) == 2: - 戒指 += 属性.暴击伤害加成(0.03) - 戒指 += 属性.技能冷却缩减(60, 70, 0.2) # 戒指 - if (选择[i * 3 + 2] + 选择[i * 3 + 0]) == 2: - 辅助装备 += 属性.百分比力智加成(0.03) - 辅助装备 += 属性.技能冷却缩减(75, 80, 0.17) # 辅助装备 - - i = 2 # 卢克西属性2 - if (选择[i * 3 + 0] + 选择[i * 3 + 1]) == 2: - 下装 += 属性.技能倍率加成(50, 0.17) - 下装 += 属性.技能倍率加成(85, 0.17) - 下装 += 属性.技能倍率加成(100, 0.10) # 下装 - if (选择[i * 3 + 1] + 选择[i * 3 + 2]) == 2: - 戒指 += 属性.技能倍率加成(50, 0.17) - 戒指 += 属性.技能倍率加成(85, 0.17) - 戒指 += 属性.技能倍率加成(100, 0.10) # 戒指 - if (选择[i * 3 + 2] + 选择[i * 3 + 0]) == 2: - 辅助装备 += 属性.技能倍率加成(50, 0.17) - 辅助装备 += 属性.技能倍率加成(85, 0.17) - 辅助装备 += 属性.技能倍率加成(100, 0.10) # 辅助装备 - - i = 3 # 守门人属性2 - if (选择[i * 3 + 0] + 选择[i * 3 + 1]) == 2: - 下装 += 属性.进图属强加成(属强) # 下装 - if (选择[i * 3 + 1] + 选择[i * 3 + 2]) == 2: - 戒指 += 属性.进图属强加成(属强) # 戒指 - if (选择[i * 3 + 2] + 选择[i * 3 + 0]) == 2: - 辅助装备 += 属性.进图属强加成(属强) # 辅助装备 - - i = 4 # 洛多斯属性2 - if (选择[i * 3 + 0] + 选择[i * 3 + 1]) == 2: - 下装 += 属性.伤害增加加成(0.04) # 下装 - if (选择[i * 3 + 1] + 选择[i * 3 + 2]) == 2: - 戒指 += 属性.暴击伤害加成(0.04) # 戒指 - if (选择[i * 3 + 2] + 选择[i * 3 + 0]) == 2: - 辅助装备 += 属性.百分比力智加成(0.04) # 辅助装备 - 属性.装备描述 = 0 - - if x == 1: - return {2: 下装, 7: 戒指, 9: 辅助装备} - - -希洛克 = 希洛克属性() diff --git a/PublicReference/equipment/装备_套装.py b/PublicReference/equipment/装备_套装.py deleted file mode 100644 index 998f9949..00000000 --- a/PublicReference/equipment/装备_套装.py +++ /dev/null @@ -1,4820 +0,0 @@ -from .basic_equ import * - - -# region 防具套装 -class 套装效果0(套装): - 名称 = '遗忘魔法师的馈赠' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=135) - - -class 套装效果1(套装): - 名称 = '死亡阴影' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.所有属性强化加成(55) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=190) - self.属性描述 += 属性.被动增加(转职被动智力=190) - self.属性描述 += 属性.觉醒增加(一觉力智=220) - - -class 套装效果2(套装): - 名称 = '贫瘠沙漠的遗产' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.22) - if 属性.贫瘠沙漠的遗产 != 0: - self.属性描述 += 属性.技能攻击力加成(0 + 属性.技能栏空位 / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 30, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=175) - - -class 套装效果3(套装): - 名称 = '噩梦:地狱之路' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.16) - self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.06) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=100) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -class 套装效果4(套装): - 名称 = '永恒不息之路' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.31) - # self.属性描述 += 属性.技能倍率加成(60, 0.20) - # self.属性描述 += 属性.技能冷却缩减(60, 60, -0.30) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=175) - - -class 套装效果5(套装): - 名称 = '天堂舞姬' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.17) - self.属性描述 += 属性.最终伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=105) - self.属性描述 += 属性.被动增加(转职被动智力=105) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=135) - - -class 套装效果6(套装): - 名称 = '皇家裁决者宣言' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.所有属性强化加成(52) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.命中率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=220) - - -class 套装效果7(套装): - 名称 = '炙炎之盛宴' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.18) - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=175) - - -class 套装效果8(套装): - 名称 = '传奇铁匠-封神' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.最终伤害加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=120) - - -class 套装效果9(套装): - 名称 = '命运歧路' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.附加伤害加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=135) - - -class 套装效果10(套装): - 名称 = '古代祭祀的神圣仪式' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.伤害增加加成(0.21) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - 属性.回避率 += 0.06 - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉力智=230) - - -class 套装效果11(套装): - 名称 = '龙血玄黄' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.1) - self.属性描述 += 属性.魔法暴击率增加(0.1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=100) - - -class 套装效果12(套装): - 名称 = '擎天战甲' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.15) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - - -class 套装效果13(套装): - 名称 = '荆棘漫天' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.暴击伤害加成(0.11) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=175) - - -class 套装效果14(套装): - 名称 = '大自然的呼吸' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=145) - self.属性描述 += 属性.被动增加(转职被动智力=145) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.15) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.15) - self.属性描述 += 属性.觉醒增加(一觉力智=60) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - - -class 套装效果15(套装): - 名称 = '遗忘魔法师的馈赠' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.22) - self.属性描述 += 属性.暴击伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=50) - self.属性描述 += 属性.被动增加(转职被动智力=50) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.24, BUFF智力per=1.24) - self.属性描述 += 属性.觉醒增加(一觉力智=153) - - -class 套装效果16(套装): - 名称 = '死亡阴影' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=165) - self.属性描述 += 属性.被动增加(转职被动智力=165) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.25) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.25) - self.属性描述 += 属性.觉醒增加(一觉力智=130) - - -class 套装效果17(套装): - 名称 = '贫瘠沙漠的遗产' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.15) - self.属性描述 += 属性.所有属性强化加成(60) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 48, 2) - self.属性描述 += 属性.被动增加(守护恩赐体精=113) - self.属性描述 += 属性.被动增加(转职被动智力=113) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1, BUFF智力per=1.1) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - - -class 套装效果18(套装): - 名称 = '噩梦:地狱之路' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(66) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=110) - self.属性描述 += 属性.被动增加(转职被动智力=110) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=99) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -class 套装效果19(套装): - 名称 = '永恒不息之路' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.32) - # self.属性描述 += 属性.技能倍率加成(70, 0.20) - # self.属性描述 += 属性.技能冷却缩减(70, 70, -0.30) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.15) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.15) - self.属性描述 += 属性.觉醒增加(一觉力智=130) - - -class 套装效果20(套装): - 名称 = '天堂舞姬' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.11) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=145) - self.属性描述 += 属性.被动增加(转职被动智力=145) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=192) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - - -class 套装效果21(套装): - 名称 = '皇家裁决者宣言' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.所有属性强化加成(62) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.08) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=280) - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.2, BUFF智力per=1.2) - - -class 套装效果22(套装): - 名称 = '炙炎之盛宴' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.25) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.25) - self.属性描述 += 属性.觉醒增加(一觉力智=100) - - -class 套装效果23(套装): - 名称 = '传奇铁匠-封神' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.21) - if 属性.装备检查('天堂之翼'): - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.30) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.30) - else: - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.20) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 2) - # 暗改 - # self.属性描述 += 属性.被动增加(守护恩赐体精=170) - # self.属性描述 += 属性.被动增加(转职被动智力=170) - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.15, BUFF智力per=1.15) - - -class 套装效果24(套装): - 名称 = '命运歧路' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.暴击伤害加成(0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.21) - self.属性描述 += 属性.移动速度增加(0.21) - self.属性描述 += 属性.施放速度增加(0.315) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=260) - - -class 套装效果25(套装): - 名称 = '古代祭祀的神圣仪式' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.08) - self.属性描述 += 属性.附加伤害加成(0.21) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=125) - self.属性描述 += 属性.被动增加(转职被动智力=125) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.32, BUFF智力per=1.32) - - -class 套装效果26(套装): - 名称 = '龙血玄黄' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.24) - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - # 暗改 - # self.属性描述 += 属性.被动增加(守护恩赐体精=70) - # self.属性描述 += 属性.被动增加(转职被动智力=70) - self.属性描述 += 属性.被动增加(守护恩赐体精=150) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.09, BUFF智力per=1.09) - self.属性描述 += 属性.觉醒增加(一觉力智=155) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.02) - - -class 套装效果27(套装): - 名称 = '擎天战甲' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.32) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=285) - self.属性描述 += 属性.被动增加(转职被动智力=285) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.2, BUFF智力per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - - -class 套装效果28(套装): - 名称 = '荆棘漫天' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.25) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.15) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.15) - self.属性描述 += 属性.技能冷却缩减(90, 95, 0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11, BUFF智力per=1.11) - self.属性描述 += 属性.觉醒增加(一觉力智=130) - - -class 套装效果29(套装): - 名称 = '大自然的呼吸' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05, BUFF智力per=1.05) - self.属性描述 += 属性.觉醒增加(一觉力智=248) - - -class 套装效果30(套装): - 名称 = '遗忘魔法师的馈赠' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.19) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.20, BUFF智力per=1.20) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08) - self.属性描述 += 属性.被动增加(守护恩赐体精=85, 转职被动智力=85) - - -class 套装效果31(套装): - 名称 = '死亡阴影' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.458) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.26, BUFF智力per=1.26) - self.属性描述 += 属性.觉醒增加(一觉力智=120) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08) - self.属性描述 += 属性.技能等级加成('所有', 1, 30, 1) - self.属性描述 += 属性.被动增加(守护恩赐体精=20, 转职被动智力=20) - - -class 套装效果32(套装): - 名称 = '贫瘠沙漠的遗产' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.44) - if 属性.贫瘠沙漠的遗产 == 2: - self.属性描述 += 属性.技能攻击力加成(0.04) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.31, BUFF智力per=1.31) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.1) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - - -class 套装效果33(套装): - 名称 = '噩梦:地狱之路' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.46) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80, 转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.29, BUFF智力per=1.29) - self.属性描述 += 属性.觉醒增加(一觉力智=190) - - -class 套装效果34(套装): - 名称 = '永恒不息之路' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.22) - self.属性描述 += 属性.百分比三攻加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.25, BUFF智力per=1.25) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.1) - self.属性描述 += 属性.被动增加(守护恩赐体精=50, 转职被动智力=50) - - -class 套装效果35(套装): - 名称 = '天堂舞姬' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.4) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.35, BUFF智力per=1.35) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=100, 转职被动智力=100) - - -class 套装效果36(套装): - 名称 = '皇家裁决者宣言' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11, BUFF智力per=1.11) - self.属性描述 += 属性.觉醒增加(一觉力智=200) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.1) - self.属性描述 += 属性.被动增加(守护恩赐体精=110, 转职被动智力=110) - - -class 套装效果37(套装): - 名称 = '炙炎之盛宴' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.26) - self.属性描述 += 属性.技能冷却缩减(1, 100, 0.15) - self.属性描述 += 属性.技能攻击力加成(0.08) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.13, BUFF智力per=1.13) - self.属性描述 += 属性.觉醒增加(一觉力智=170) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08) - self.属性描述 += 属性.被动增加(守护恩赐体精=300, 转职被动智力=300) - - -class 套装效果38(套装): - 名称 = '传奇铁匠-封神' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.17) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.技能冷却缩减(50, 50, 0.30) - self.属性描述 += 属性.技能冷却缩减(85, 85, 0.30) - self.属性描述 += 属性.技能冷却缩减(100, 100, 0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.20) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 48, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.18, BUFF智力per=1.18) - self.属性描述 += 属性.觉醒增加(一觉力智=130) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08) - - -class 套装效果39(套装): - 名称 = '命运歧路' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.27) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.3, BUFF智力per=1.3) - self.属性描述 += 属性.觉醒增加(一觉力智=90) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.07) - self.属性描述 += 属性.被动增加(守护恩赐体精=50, 转职被动智力=50) - - -class 套装效果40(套装): - 名称 = '古代祭祀的神圣仪式' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - # self.属性描述 += 属性.暴击伤害加成(0.21) - self.属性描述 += 属性.技能攻击力加成(0.45) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.15, BUFF智力per=1.15) - self.属性描述 += 属性.被动增加(守护恩赐体精=75, 转职被动智力=75) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.02) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=305) - - -class 套装效果41(套装): - 名称 = '龙血玄黄' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.12) - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.附加伤害加成(0.29) - else: - self.属性描述 += 属性.附加伤害加成(0.28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.27, BUFF智力per=1.27) - self.属性描述 += 属性.觉醒增加(一觉力智=120) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06) - - -class 套装效果42(套装): - 名称 = '擎天战甲' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.1) - # if 属性.擎天战甲 == 0: - # self.属性描述 += 属性.技能攻击力加成(0.05) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.擎天战甲 == 0: - self.属性描述 += 属性.攻击速度增加(0.2) - self.属性描述 += 属性.移动速度增加(0.2) - self.属性描述 += 属性.施放速度增加(0.3) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.21, BUFF智力per=1.21) - self.属性描述 += 属性.觉醒增加(一觉力智=50) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.1) - self.属性描述 += 属性.技能等级加成('所有', 1, 50, 2) - - -class 套装效果43(套装): - 名称 = '荆棘漫天' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.32) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(-0.02 + 0.05) - self.属性描述 += 属性.施放速度增加(0.1 + 0.12) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.29, BUFF智力per=1.29) - self.属性描述 += 属性.觉醒增加(一觉力智=170) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08) - - -class 套装效果44(套装): - 名称 = '大自然的呼吸' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.11) - self.属性描述 += 属性.技能攻击力加成(0.10) - self.属性描述 += 属性.所有属性强化加成(64) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.33) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.33) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -# endregion - - -# region 散搭套装 -class 套装效果45(套装): - 名称 = '深渊窥视者' - 件数 = 2 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.09) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.觉醒增加(一觉力智per=1.02) - - -class 套装效果46(套装): - 名称 = '圣者的黄昏' - 件数 = 2 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.11) - self.属性描述 += 属性.附加伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 套装效果47(套装): - 名称 = '坎坷命运' - 件数 = 2 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.09) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.移动速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - if 属性.装备检查('地狱边缘'): - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - - -class 套装效果48(套装): - 名称 = '吞噬愤怒' - 件数 = 2 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.11) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('灭世之怒'): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - else: - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=25) - - -class 套装效果49(套装): - 名称 = '黑魔法探求者' - 件数 = 2 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=48) - - -class 套装效果50(套装): - 名称 = '时空旅行者' - 件数 = 2 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=4) - self.属性描述 += 属性.被动增加(转职被动智力=14) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 套装效果51(套装): - 名称 = '穿透命运的呐喊' - 件数 = 2 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=25) - - -class 套装效果52(套装): - 名称 = '狂乱追随者' - 件数 = 2 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.18) - self.属性描述 += 属性.所有属性强化加成(25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=25) - - -class 套装效果53(套装): - 名称 = '地狱求道者' - 件数 = 2 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=32) - - -class 套装效果54(套装): - 名称 = '次元旅行者' - 件数 = 2 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.22) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=40) - self.属性描述 += 属性.被动增加(转职被动智力=60) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=42) - - -class 套装效果55(套装): - 名称 = '天命无常' - 件数 = 2 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.07) - self.属性描述 += 属性.附加伤害加成(0.08) - self.属性描述 += 属性.技能攻击力加成(0.05) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.天命无常 == 0: - if 属性.装备检查('命运反抗者'): - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.攻击速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - else: - self.属性描述 += 属性.移动速度增加(0.07) - self.属性描述 += 属性.攻击速度增加(0.07) - self.属性描述 += 属性.施放速度增加(0.105) - else: - self.属性描述 += 属性.移动速度增加(0.02 * 属性.天命无常) - self.属性描述 += 属性.攻击速度增加(0.02 * 属性.天命无常) - self.属性描述 += 属性.施放速度增加(0.03 * 属性.天命无常) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 48, 1) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - - -class 套装效果56(套装): - 名称 = '悲剧的残骸' - 件数 = 2 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=25) - - -class 套装效果57(套装): - 名称 = '深渊窥视者' - 件数 = 3 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.13) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 2) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 2) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=163) - self.属性描述 += 属性.被动增加(转职被动智力=198) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=140) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.03) - - -class 套装效果58(套装): - 名称 = '圣者的黄昏' - 件数 = 3 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.12) - self.属性描述 += 属性.所有属性强化加成(32) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.10) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.10) - self.属性描述 += 属性.技能冷却缩减(90, 95, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.物理暴击率增加(0.15) - self.属性描述 += 属性.魔法暴击率增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=225) - self.属性描述 += 属性.被动增加(转职被动智力=258) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=165) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.03) - - -class 套装效果59(套装): - 名称 = '坎坷命运' - 件数 = 3 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.21) - self.属性描述 += 属性.技能攻击力加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.移动速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - if 属性.装备检查('地狱边缘'): - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=236) - self.属性描述 += 属性.被动增加(转职被动智力=255) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=135) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - - -class 套装效果60(套装): - 名称 = '吞噬愤怒' - 件数 = 3 - 类型 = '上链左' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.30) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=236) - self.属性描述 += 属性.被动增加(转职被动智力=255) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1, BUFF智力per=1.1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=124) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -class 套装效果61(套装): - 名称 = '黑魔法探求者' - 件数 = 3 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=38) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06) - - -class 套装效果62(套装): - 名称 = '时空旅行者' - 件数 = 3 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.17) - self.属性描述 += 属性.技能攻击力加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1, BUFF智力per=1.1) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - - -class 套装效果63(套装): - 名称 = '穿透命运的呐喊' - 件数 = 3 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.17) - self.属性描述 += 属性.技能攻击力加成(0.19) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 2) - self.属性描述 += 属性.被动增加(守护恩赐体精=44) - self.属性描述 += 属性.被动增加(转职被动智力=36) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -class 套装效果64(套装): - 名称 = '狂乱追随者' - 件数 = 3 - 类型 = '镯下右' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.16) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=29) - self.属性描述 += 属性.被动增加(转职被动智力=31) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1, BUFF智力per=1.1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=85) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04) - - -class 套装效果65(套装): - 名称 = '地狱求道者' - 件数 = 3 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.16) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.20) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=195) - self.属性描述 += 属性.被动增加(转职被动智力=188) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=50) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - - -class 套装效果66(套装): - 名称 = '次元旅行者' - 件数 = 3 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=120) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉力智=105) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 套装效果67(套装): - 名称 = '天命无常' - 件数 = 3 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.08) - self.属性描述 += 属性.百分比力智加成(0.07) - if 属性.天命无常 == 0: - if 属性.装备检查('命运反抗者'): - self.属性描述 += 属性.百分比力智加成(0.052) - else: - self.属性描述 += 属性.百分比力智加成(0.046666667) - if 属性.天命无常 == 1 or 属性.天命无常 == 2 or 属性.天命无常 == 3: - self.属性描述 += 属性.百分比力智加成(0.02) - if 属性.天命无常 == 4 or 属性.天命无常 == 5: - self.属性描述 += 属性.百分比力智加成(0.05) - if 属性.天命无常 == 6: - self.属性描述 += 属性.百分比力智加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.天命无常 == 0: - if 属性.装备检查('命运反抗者'): - self.属性描述 += 属性.移动速度增加(0.066) - self.属性描述 += 属性.攻击速度增加(0.066) - else: - self.属性描述 += 属性.移动速度增加(0.055) - self.属性描述 += 属性.攻击速度增加(0.055) - if 属性.天命无常 >= 4: - self.属性描述 += 属性.移动速度增加(0.03 * 属性.天命无常) - self.属性描述 += 属性.攻击速度增加(0.03 * 属性.天命无常) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11, BUFF智力per=1.11) - self.属性描述 += 属性.觉醒增加(一觉力智=116) - - -class 套装效果68(套装): - 名称 = '悲剧的残骸' - 件数 = 3 - 类型 = '环鞋指' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.29) - self.属性描述 += 属性.技能攻击力加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=153) - self.属性描述 += 属性.被动增加(转职被动智力=140) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=110) - - -# endregion - - -# region 首饰套装 -class 套装效果69(套装): - 名称 = '上古尘封术式' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=60) - self.属性描述 += 属性.被动增加(转职被动智力=60) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - - -class 套装效果70(套装): - 名称 = '破晓曦光' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 套装效果71(套装): - 名称 = '幸运三角' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(77) - self.属性描述 += 属性.三攻固定加成(77) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.07) - self.属性描述 += 属性.魔法暴击率增加(0.07) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=140) - self.属性描述 += 属性.被动增加(转职被动智力=140) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - - -class 套装效果72(套装): - 名称 = '精灵使的权能' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=110) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - - -class 套装效果73(套装): - 名称 = '上古尘封术式' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.觉醒增加(一觉力智=8) - - -class 套装效果74(套装): - 名称 = '破晓曦光' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.10) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=20) - self.属性描述 += 属性.被动增加(转职被动智力=20) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=45) - - -class 套装效果75(套装): - 名称 = '幸运三角' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - if 属性.幸运三角 == 0: - self.属性描述 += 属性.技能攻击力加成(0.2915) - elif 属性.幸运三角 == 1: - self.属性描述 += 属性.技能攻击力加成(0.27) - elif 属性.幸运三角 == 2: - self.属性描述 += 属性.技能攻击力加成(0.31) - elif 属性.幸运三角 == 3: - self.属性描述 += 属性.技能攻击力加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.幸运三角 == 0: - self.属性描述 += 属性.攻击速度增加(0.005) - self.属性描述 += 属性.移动速度增加(0.005) - self.属性描述 += 属性.施放速度增加(0.0075) - if 属性.幸运三角 == 3: - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=8) - - -class 套装效果76(套装): - 名称 = '精灵使的权能' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.技能冷却缩减(1, 100, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - - -# endregion - - -# region 特殊套装 -class 套装效果77(套装): - 名称 = '军神的隐秘遗产' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.08) - if 属性.装备检查('军神的遗书'): - if 属性.装备检查('军神的心之所念'): - self.属性描述 += 属性.暴击伤害加成(0.05) - if 属性.装备检查('军神的古怪耳环'): - self.属性描述 += 属性.暴击伤害加成(0.05) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('军神的遗书'): - if 属性.装备检查('军神的心之所念'): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.075) - if 属性.装备检查('军神的古怪耳环'): - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=205) - self.属性描述 += 属性.被动增加(转职被动智力=205) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=35) - - -class 套装效果78(套装): - 名称 = '时间战争的残骸' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.11) - self.属性描述 += 属性.暴击伤害加成(0.11) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 30, 2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.觉醒增加(一觉力智=35) - - -class 套装效果79(套装): - 名称 = '灵宝:世间真理' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - - -class 套装效果80(套装): - 名称 = '能量主宰' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.伤害增加加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=95) - self.属性描述 += 属性.被动增加(转职被动智力=95) - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=35) - - -class 套装效果81(套装): - 名称 = '军神的隐秘遗产' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.10) - if 属性.军神的隐秘遗产 == 0: - self.属性描述 += 属性.百分比力智加成(0.10) - if 属性.军神的隐秘遗产 == 1: - self.属性描述 += 属性.百分比力智加成(0.10) - if 属性.军神的隐秘遗产 == 2: - self.属性描述 += 属性.百分比力智加成(0.08) - if 属性.军神的隐秘遗产 == 3: - self.属性描述 += 属性.百分比力智加成(0.06) - if 属性.军神的隐秘遗产 == 4: - self.属性描述 += 属性.百分比力智加成(0.04) - if 属性.军神的隐秘遗产 == 5: - self.属性描述 += 属性.百分比力智加成(0.02) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.军神的隐秘遗产 == 0: - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - - -class 套装效果82(套装): - 名称 = '时间战争的残骸' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=12) - self.属性描述 += 属性.被动增加(转职被动智力=22) - self.属性描述 += 属性.被动增加(一觉被动Lv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=3) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - - -class 套装效果83(套装): - 名称 = '灵宝:世间真理' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.12) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=47) - self.属性描述 += 属性.被动增加(转职被动智力=69) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=39) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - - -class 套装效果84(套装): - 名称 = '能量主宰' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.08) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=48) - self.属性描述 += 属性.被动增加(转职被动智力=48) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - - -# endregion - - -# region 其它套装 -class 套装效果85(套装): - 名称 = '超界·苍穹之云' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.伤害增加加成(0.13) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.075) - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比力智 +10%
' - temp += '伤害增加 +13%
' - temp += 'Lv50 技能等级+2
' - temp += 'Lv85 技能等级+2
' - temp += '攻击速度 +5%
' - temp += '施放速度 +7.5%
' - temp += '移动速度 +5%
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉力智=41) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +6
' - temp += '[天启之珠]力量、智力 +41
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +6
' - temp += '[圣光天启]力量、智力 +41
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +6
' - temp += '[开幕!人偶剧场]力量、智力 +41
' - temp += 'Lv50 技能等级 +2
' - temp += 'Lv85 技能等级 +2
' - return temp - - -class 套装效果86(套装): - 名称 = '超界·苍穹之云' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.36) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.17) - self.属性描述 += 属性.施放速度增加(0.255) - self.属性描述 += 属性.移动速度增加(0.17) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '暴击伤害 +36%
' - temp += 'Lv50 技能等级+2
' - temp += 'Lv85 技能等级+2
' - temp += '攻击速度 +17%
' - temp += '施放速度 +25.5%
' - temp += '移动速度 +17%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.23, BUFF智力per=1.23) - - self.属性描述 += 属性.觉醒增加(一觉力智=142) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=40) - self.属性描述 += 属性.被动增加(转职被动智力=220) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +23%
' - - temp += '[天启之珠]力量、智力 +142
' - temp += '[天启之珠]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +40
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +23%
' - - temp += '[圣光天启]力量、智力 +142
' - temp += '[圣光天启]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +220
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +23%
' - - temp += '[开幕!人偶剧场]力量、智力 +142
' - temp += '[开幕!人偶剧场]力量、智力 +5%
' - temp += '[人偶操控者]智力 +220
' - temp += 'Lv50 技能等级 +2
' - temp += 'Lv85 技能等级 +2
' - return temp - - -class 套装效果87(套装): - 名称 = '超界·永恒的季节' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.12) - self.属性描述 += 属性.最终伤害加成(0.25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '技能攻击力 +12%
' - temp += '最终伤害 +25%
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉力智=98) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=120) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +3
' - temp += '[天启之珠]力量、智力 +98
' - temp += '[守护恩赐]体力、精神 +120
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +3
' - temp += '[圣光天启]力量、智力 +98
' - temp += '[启示:圣歌]智力 +120
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +3
' - temp += '[开幕!人偶剧场]力量、智力 +98
' - temp += '[人偶操控者]智力 +120
' - return temp - - -class 套装效果88(套装): - 名称 = '超界·永恒的季节' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.48) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.17) - self.属性描述 += 属性.施放速度增加(0.255) - self.属性描述 += 属性.移动速度增加(0.17) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +48%
' - temp += '攻击速度 +17%
' - temp += '施放速度 +25.5%
' - temp += '移动速度 +17%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.23, BUFF智力per=1.23) - - self.属性描述 += 属性.觉醒增加(一觉力智=232) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=220) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +23%
' - - temp += '[天启之珠]力量、智力 +232
' - temp += '[天启之珠]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +220
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +23%
' - - temp += '[圣光天启]力量、智力 +232
' - temp += '[圣光天启]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +220
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +23%
' - - temp += '[开幕!人偶剧场]力量、智力 +232
' - temp += '[开幕!人偶剧场]力量、智力 +5%
' - temp += '[人偶操控者]智力 +220
' - return temp - - -class 套装效果89(套装): - 名称 = '超界·亿万年的星光' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.最终伤害加成(0.25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += 'Lv50 技能等级+2
' - temp += 'Lv85 技能等级+1
' - temp += '最终伤害 +25%
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +6
' - temp += '[天启之珠]力量、智力 +20
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +6
' - temp += '[圣光天启]力量、智力 +20
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +6
' - temp += '[开幕!人偶剧场]力量、智力 +20
' - temp += 'Lv50 技能等级 +2
' - temp += 'Lv85 技能等级 +1
' - return temp - - -class 套装效果90(套装): - 名称 = '超界·亿万年的星光' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.35) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '属性附加 +35%
' - temp += 'Lv85 技能等级+1
' - temp += '攻击速度 +10%
' - temp += '施放速度 +15%
' - temp += '移动速度 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.23, BUFF智力per=1.23) - - self.属性描述 += 属性.觉醒增加(一觉力智=163) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=340) - self.属性描述 += 属性.被动增加(转职被动智力=520) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +23%
' - - temp += '[天启之珠]力量、智力 +163
' - temp += '[天启之珠]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +340
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +23%
' - - temp += '[圣光天启]力量、智力 +163
' - temp += '[圣光天启]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +520
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +23%
' - - temp += '[开幕!人偶剧场]力量、智力 +163
' - temp += '[开幕!人偶剧场]力量、智力 +5%
' - temp += '[人偶操控者]智力 +520
' - temp += 'Lv85 技能等级 +1
' - return temp - - -class 套装效果91(套装): - 名称 = '超界·精灵的荣耀' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.06) - self.属性描述 += 属性.施放速度增加(0.09) - self.属性描述 += 属性.移动速度增加(0.06) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比力智 +35%
' - temp += '攻击速度 +6%
' - temp += '施放速度 +9%
' - temp += '移动速度 +6%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +6
' - temp += '[天启之珠]力量、智力 +150
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +6
' - temp += '[圣光天启]力量、智力 +150
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +6
' - temp += '[开幕!人偶剧场]力量、智力 +150
' - return temp - - -class 套装效果92(套装): - 名称 = '超界·精灵的荣耀' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.45) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.06) - self.属性描述 += 属性.施放速度增加(0.09) - self.属性描述 += 属性.移动速度增加(0.06) - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比三攻 +45%
' - temp += '攻击速度 +6%
' - temp += '施放速度 +9%
' - temp += '移动速度 +6%
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - temp += '移动速度 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.23, BUFF智力per=1.23) - - self.属性描述 += 属性.觉醒增加(一觉力智=225) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=220) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +23%
' - - temp += '[天启之珠]力量、智力 +225
' - temp += '[天启之珠]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +220
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +23%
' - - temp += '[圣光天启]力量、智力 +225
' - temp += '[圣光天启]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +220
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +23%
' - - temp += '[开幕!人偶剧场]力量、智力 +225
' - temp += '[开幕!人偶剧场]力量、智力 +5%
' - temp += '[人偶操控者]智力 +220
' - return temp - - -class 套装效果93(套装): - 名称 = '超界·幸运的五彩石' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(25) - self.属性描述 += 属性.最终伤害加成(0.25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '所有属性强化 +25
' - temp += '最终伤害 +25%
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉力智=150) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +6
' - temp += '[天启之珠]力量、智力 +150
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +6
' - temp += '[圣光天启]力量、智力 +150
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +6
' - temp += '[开幕!人偶剧场]力量、智力 +150
' - return temp - - -class 套装效果94(套装): - 名称 = '超界·幸运的五彩石' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '属性附加 +35%
' - temp += '攻击速度 +10%
' - temp += '施放速度 +15%
' - temp += '移动速度 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.23, BUFF智力per=1.23) - - self.属性描述 += 属性.觉醒增加(一觉力智=225) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=220) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +23%
' - - temp += '[天启之珠]力量、智力 +225
' - temp += '[天启之珠]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +220
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +23%
' - - temp += '[圣光天启]力量、智力 +225
' - temp += '[圣光天启]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +220
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +23%
' - - temp += '[开幕!人偶剧场]力量、智力 +225
' - temp += '[开幕!人偶剧场]力量、智力 +5%
' - temp += '[人偶操控者]智力 +220
' - return temp - - -class 套装效果95(套装): - 名称 = '黑暗的第一权能' - 子套装 = '江山如画' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.12) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.08) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.075) - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +12%
' - temp += '百分比力智 +12%
' - temp += '技能攻击力 +8%
' - temp += '攻击速度 +5%
' - temp += '施放速度 +7.5%
' - temp += '移动速度 +5%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - self.属性描述 += 属性.被动增加(守护恩赐体精=160) - self.属性描述 += 属性.被动增加(转职被动智力=160) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +1
' - temp += '[天启之珠]技能等级 +1
' - temp += '[守护恩赐]体力、精神 +160
' - temp += '[天启之珠]力量、智力 +26
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +1
' - temp += '[圣光天启]技能等级 +1
' - temp += '[启示:圣歌]智力 +160
' - temp += '[圣光天启]力量、智力 +26
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +1
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[人偶操控者]智力 +160
' - temp += '[开幕!人偶剧场]力量、智力 +26
' - return temp - - -class 套装效果96(套装): - 名称 = '黑暗的第二权能' - 子套装 = '万物的生灭' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.075) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '暴击伤害 +10%
' - temp += '百分比力智 +8%
' - temp += '技能攻击力 +15%
' - temp += '攻击速度 +5%
' - temp += '施放速度 +7.5%
' - temp += '移动速度 +5%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=247) - self.属性描述 += 属性.被动增加(转职被动智力=209) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]技能等级 +1
' - temp += '[天启之珠]技能等级 +2
' - temp += '[守护恩赐]体力、精神 +247
' - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[天启之珠]力量、智力 +26
' - elif 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]技能等级 +1
' - temp += '[圣光天启]技能等级 +2
' - temp += '[启示:圣歌]智力 +209
' - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[圣光天启]力量、智力 +26
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]技能等级 +1
' - temp += '[开幕!人偶剧场]技能等级 +2
' - temp += '[人偶操控者]智力 +209
' - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[开幕!人偶剧场]力量、智力 +26
' - return temp - - -class 套装效果97(套装): - 名称 = '维度崩坏' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·维度冲击臂环'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.13) - elif 属性.装备检查('时空:维度冲击臂环'): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.暴击伤害加成(0.15) - else: - self.属性描述 += 属性.百分比力智加成(0.04) - self.属性描述 += 属性.附加伤害加成(0.04) - self.属性描述 += 属性.技能攻击力加成(0.08) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·维度冲击臂环'): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - else: - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·维度冲击臂环'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '百分比力智 +15%
' - temp += '附加伤害 +10%
' - temp += '暴击伤害 +10%
' - temp += '百分比三攻 +13%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - elif 属性.装备检查('时空:维度冲击臂环'): - temp += '附加伤害 +5%
' - temp += '暴击伤害 +15%
' - else: - temp += '百分比力智 +4%
' - temp += '附加伤害 +4%
' - temp += '技能攻击力 +8%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('维度冲击臂环'): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.被动增加(守护恩赐体精=76) - self.属性描述 += 属性.被动增加(转职被动智力=76) - elif 属性.装备检查('时空·维度冲击臂环'): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.02) - else: - 属性.智力 += 200 - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=46) - self.属性描述 += 属性.被动增加(守护恩赐体精=271) - self.属性描述 += 属性.被动增加(转职被动智力=71) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.03) - - -class 套装效果98(套装): - 名称 = '暗之腐蚀' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.附加伤害加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.23) - self.属性描述 += 属性.技能攻击力加成(0.05) - elif 属性.装备检查('时空:腐蚀之黑色十字耳环'): - self.属性描述 += 属性.附加伤害加成(0.13) - self.属性描述 += 属性.暴击伤害加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.05) - else: - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - else: - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '百分比力智 +5%
' - temp += '附加伤害 +16%
' - temp += '暴击伤害 +23%
' - temp += '技能攻击力 +5%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - elif 属性.装备检查('时空:腐蚀之黑色十字耳环'): - temp += '附加伤害 +13%
' - temp += '暴击伤害 +5%
' - temp += '技能攻击力 +5%
' - else: - temp += '百分比力智 +5%
' - temp += '技能攻击力 +15%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('腐蚀之黑色十字耳环'): - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=109) - elif 属性.装备检查('时空·腐蚀之黑色十字耳环'): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.02) - self.属性描述 += 属性.觉醒增加(一觉力智=30) - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=109) - else: - self.属性描述 += 属性.力智固定加成(200) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.03) - self.属性描述 += 属性.觉醒增加(一觉力智=50) - self.属性描述 += 属性.被动增加(守护恩赐体精=252) - self.属性描述 += 属性.被动增加(转职被动智力=14) - - -class 套装效果99(套装): - 名称 = '堕落的暗黑之力' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.05) - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.百分比三攻加成(0.06) - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.10) - else: - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '百分比三攻 +12%
' - temp += '伤害增加 +10%
' - temp += '暴击伤害 +10%
' - temp += '最终伤害 +5%
' - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - temp += '百分比三攻 +6%
' - temp += '伤害增加 +10%
' - temp += '暴击伤害 +10%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - else: - temp += '伤害增加 +10%
' - temp += '暴击伤害 +10%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - return temp - - def 城镇属性_BUFF(self, 属性): - - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.力智固定加成(200) - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=80) - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04, - BUFF魔攻per=1.04, - BUFF独立per=1.04) - elif 属性.装备检查('时空·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.BUFF增加(BUFFLv=4) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.03, - BUFF魔攻per=1.03, - BUFF独立per=1.03) - else: - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - - -class 套装效果100(套装): - 名称 = '堕落的暗黑之力' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.附加伤害加成(0.20) - self.属性描述 += 属性.最终伤害加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.16) - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.附加伤害加成(0.07) - self.属性描述 += 属性.最终伤害加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.10) - else: - self.属性描述 += 属性.附加伤害加成(0.13) - self.属性描述 += 属性.最终伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.物理暴击率增加(0.08) - self.属性描述 += 属性.魔法暴击率增加(0.08) - else: - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '附加伤害 +20%
' - temp += '最终伤害 +20%
' - temp += '技能攻击力 +16%
' - temp += '物理暴击率 +8%
' - temp += '魔法暴击率 +8%
' - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - temp += '附加伤害 +7%
' - temp += '最终伤害 +20%
' - temp += '技能攻击力 +10%
' - else: - temp += '附加伤害 +13%
' - temp += '最终伤害 +12%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.力智固定加成(x=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.33, BUFF智力per=1.33) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.07) - self.属性描述 += 属性.被动增加(守护恩赐体精=265) - self.属性描述 += 属性.被动增加(转职被动智力=65) - elif 属性.装备检查('时空·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.29, BUFF智力per=1.29) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06) - self.属性描述 += 属性.被动增加(守护恩赐体精=255) - self.属性描述 += 属性.被动增加(转职被动智力=255) - else: - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.22, BUFF智力per=1.22) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=120) - - -class 套装效果101(套装): - 名称 = '江山如画' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +20%
' - temp += '技能攻击力 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·维度冲击臂环'): - pass - elif 属性.装备检查('时空·维度冲击臂环'): - self.属性描述 += 属性.觉醒增加(一觉力智=34) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(守护恩赐体精=16) - self.属性描述 += 属性.被动增加(转职被动智力=16) - else: - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - self.属性描述 += 属性.被动增加(守护恩赐体精=76) - self.属性描述 += 属性.被动增加(转职被动智力=76) - - -class 套装效果102(套装): - 名称 = '万物的生灭' - 件数 = 3 - 类型 = '特殊' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '最终伤害 +12%
' - temp += '技能攻击力 +20%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - pass - elif 属性.装备检查('时空·腐蚀之黑色十字耳环'): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=100) - else: - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=50) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=100) - - -class 套装效果103(套装): - 名称 = '兵法之神' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.12) - 属性.物理攻击力 += 200 - 属性.魔法攻击力 += 200 - 属性.独立攻击力 += 200 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +12%
' - temp += '物理攻击力 +200
' - temp += '魔法攻击力 +200
' - temp += '独立攻击力 +200
' - temp += '攻击速度 +10%
' - temp += '移动速度 +10%
' - temp += '施放速度 +15%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - -class 套装效果104(套装): - 名称 = '兵法之神' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(25) - self.属性描述 += 属性.百分比三攻加成(0.22) - self.属性描述 += 属性.技能攻击力加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '所有属性强化 +25
' - temp += '百分比三攻 +22%
' - temp += '技能攻击力 +10%
' - return temp - - -class 套装效果105(套装): - 名称 = '流逝轮回的记忆' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - 属性.百分比减防 += 0.02 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比减防 +5%
' - temp += '(BOSS:实际2%)
' - return temp - - -class 套装效果106(套装): - 名称 = '无相轮回的希望' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(10) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '所有属性强化 +10
' - return temp - - -class 套装效果107(套装): - 名称 = '魔战无双' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.35) - self.属性描述 += 属性.技能等级加成('所有', 50, 75, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - try: - 属性.技能栏[属性.技能序号['基础精通']].倍率 *= 1.2 - except: - pass - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10 * 3) - self.属性描述 += 属性.移动速度增加(0.10 * 3) - self.属性描述 += 属性.施放速度增加(0.15 * 3) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +35%
' - temp += 'Lv50-75 技能等级+2
' - temp += 'Lv85 技能等级+1
' - temp += '基础精通效果 +20%
' - temp += '攻击速度 +10% x3
' - temp += '移动速度 +10% x3
' - temp += '施放速度 +15% x3
' - return temp - - -class 套装效果108(套装): - 名称 = '霸域英豪' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 300 - 属性.魔法攻击力 += 300 - 属性.独立攻击力 += 300 - 属性.力量 += 220 - 属性.智力 += 220 - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.20) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '物理攻击力 +300
' - temp += '魔法攻击力 +300
' - temp += '独立攻击力 +300
' - temp += '力量 +200
' - temp += '智力 +200
' - temp += '附加伤害 +40%
' - temp += '攻击速度 +5%
' - temp += '移动速度 +5%
' - temp += '施放速度 +20%
' - return temp - - -class 套装效果109(套装): - 名称 = '千蛛碎影' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.12) - 属性.黄字 = max(属性.黄字, 0.45) - if 属性.职业 == '街霸': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.中毒倍率 += 0.3 - if 属性.角色 == '格斗家(男)': - i.感电倍率 += 0.3 - else: - i.涂毒倍率 += 0.3 - i.出血倍率 += 0.3 - i.灼伤倍率 += 0.3 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '中毒、涂毒伤害 +30%
' - temp += '感电伤害 +30%
' - temp += '出血伤害 +30%
' - temp += '灼伤伤害 +30%
' - temp += '百分比三攻 +12%
' - temp += '黄字 +45%(取最高值)
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - return temp - - -class 套装效果110(套装): - 名称 = '誓血之盟' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.30) - 属性.暴伤 = max(属性.暴伤, 0.20) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比三攻 +30%
' - temp += '暴伤 +20%(取最高值)
' - return temp - - -class 套装效果111(套装): - 名称 = '天御之灾' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - if 天御套装 == 0: - self.属性描述 += 属性.所有属性强化加成(10) - self.属性描述 += 属性.属性附加加成(0.20) - self.属性描述 += 属性.附加伤害加成(0.09) - elif 天御套装 == 1: - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.属性附加加成(0.25) - elif 天御套装 == 2: - self.属性描述 += 属性.附加伤害加成(0.45) - pass - - def 其它属性(self, 属性): - if 天御套装 == 0: - self.属性描述 += 属性.攻击速度增加(0.04) - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.施放速度增加(0.05) - elif 天御套装 == 2: - self.属性描述 += 属性.攻击速度增加(0.20) - self.属性描述 += 属性.移动速度增加(0.20) - self.属性描述 += 属性.施放速度增加(0.25) - pass - - def 装备描述(self, 属性): - temp = '' - if 天御套装 == 0: - temp += '所有属性强化 +10
' - temp += '属性附加 +20%
' - temp += '附加伤害 +9%
' - temp += '攻击速度 +4%
' - temp += '移动速度 +4%
' - temp += '施放速度 +5%
' - elif 天御套装 == 1: - temp += '所有属性强化 +50
' - temp += '属性附加 +25%
' - elif 天御套装 == 2: - temp += '附加伤害 +45%
' - temp += '攻击速度 +20%
' - temp += '移动速度 +20%
' - temp += '施放速度 +25%
' - return temp - - -class 套装效果112(套装): - 名称 = '最佳球手的绝杀' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.30) - self.属性描述 += 属性.移动速度增加(0.30) - self.属性描述 += 属性.施放速度增加(0.445) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比力智 +5%
' - temp += '百分比三攻 +40%
' - temp += '攻击速度 +30%
' - temp += '移动速度 +30%
' - temp += '施放速度 +44.5%
' - return temp - - -class 套装效果113(套装): - 名称 = '战术之王的御敌' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(战术白字) - pass - - def 进图属性(self, 属性): - 属性.力量 += 620 - 属性.智力 += 620 - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.20) - self.属性描述 += 属性.移动速度增加(0.20) - self.属性描述 += 属性.施放速度增加(0.20) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +' + str(int(战术白字 * 100)) + '%
' - temp += '攻击速度 +20%
' - temp += '移动速度 +20%
' - temp += '施放速度 +20%
' - return temp - - -class 套装效果114(套装): - 名称 = '杀意决' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.12) - 属性.力量 += 150 - 属性.智力 += 150 - self.属性描述 += 属性.附加伤害加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比力智 +12%
' - temp += '力量 +150
' - temp += '智力 +150
' - temp += '附加伤害 +35%
' - return temp - - -class 套装效果115(套装): - 名称 = '逝魔之力' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.18) - 属性.魔法攻击力 += 550 - 属性.独立攻击力 += 550 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '百分比力智 +18%
' - temp += '魔法攻击力 +550
' - temp += '独立攻击力 +550
' - return temp - - -class 套装效果116(套装): - 名称 = '天劫' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(50) - 属性.智力 += 400 - self.属性描述 += 属性.技能攻击力加成(0.18) - 属性.百分比减防 += 0.10 * 天劫光环 - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '所有属性强化 +50
' - temp += '智力 +400
' - temp += '技能攻击力 +18%
' - if 天劫光环 == 1: - temp += '百分比减防 +20%
' - temp += '(BOSS:实际10%)
' - return temp - - -class 套装效果117(套装): - 名称 = '冰雪公主的霜语首饰' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.18) - self.属性描述 += 属性.冰属性强化加成(50) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +18%
' - temp += '冰属性强化 +50
' - return temp - - -class 套装效果118(套装): - 名称 = '精炼的异界魔石首饰' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.20) - self.属性描述 += 属性.所有属性强化加成(18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.12) - self.属性描述 += 属性.魔法暴击率增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '附加伤害 +20%
' - temp += '所有属性强化 +18
' - temp += '物理暴击率 +12%
' - temp += '魔法暴击率 +12%
' - return temp - - -# endregion - - -# region 新增传说两件套 &光环套 -class 套装效果119(套装): - 名称 = '维度崩坏' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·维度冲击臂环'): - pass - elif 属性.装备检查('时空:维度冲击臂环'): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.附加伤害加成(0.05) - else: - self.属性描述 += 属性.百分比力智加成(0.04) - self.属性描述 += 属性.附加伤害加成(0.04) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·维度冲击臂环'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·维度冲击臂环'): - temp += '无
' - elif 属性.装备检查('时空:维度冲击臂环'): - temp += '百分比力智 +10%
' - temp += '附加伤害 +5%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - else: - temp += '百分比力智 +4%
' - temp += '附加伤害 +4%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 套装效果120(套装): - 名称 = '暗之腐蚀' - 件数 = 2 - 类型 = '特殊' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - pass - elif 属性.装备检查('时空:腐蚀之黑色十字耳环'): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.暴击伤害加成(0.05) - else: - self.属性描述 += 属性.暴击伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·腐蚀之黑色十字耳环'): - temp += '无
' - elif 属性.装备检查('时空:腐蚀之黑色十字耳环'): - temp += '百分比力智 +10%
' - temp += '暴击伤害 +5%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - else: - temp += '暴击伤害 +10%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - return temp - - -class 套装效果121(套装): - 名称 = '先贤的馈赠' - 件数 = 2 - 类型 = '首饰' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·先贤的馈赠手镯'): - pass - elif 属性.装备检查('时空:先贤的馈赠手镯'): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.附加伤害加成(0.05) - else: - self.属性描述 += 属性.百分比力智加成(0.04) - self.属性描述 += 属性.附加伤害加成(0.04) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·先贤的馈赠手镯'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·先贤的馈赠手镯'): - temp += '无
' - elif 属性.装备检查('时空:先贤的馈赠手镯'): - temp += '百分比力智 +10%
' - temp += '附加伤害 +5%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - else: - temp += '百分比力智 +4%
' - temp += '附加伤害 +4%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 套装效果122(套装): - 名称 = '先贤的馈赠' - 件数 = 3 - 类型 = '首饰' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·先贤的馈赠手镯'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.13) - elif 属性.装备检查('时空:先贤的馈赠手镯'): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.05) - else: - self.属性描述 += 属性.百分比力智加成(0.04) - self.属性描述 += 属性.附加伤害加成(0.04) - self.属性描述 += 属性.技能攻击力加成(0.05) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·先贤的馈赠手镯'): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - else: - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·先贤的馈赠手镯'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '百分比力智 +15%
' - temp += '附加伤害 +10%
' - temp += '技能攻击力 +5%
' - temp += '百分比三攻 +13%
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - elif 属性.装备检查('时空:先贤的馈赠手镯'): - temp += '附加伤害 +5%
' - temp += '技能攻击力 +5%
' - else: - temp += '百分比力智 +4%
' - temp += '附加伤害 +4%
' - temp += '技能攻击力 +5%
' - return temp - - -class 套装效果123(套装): - 名称 = '堕落的暗黑之力' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - pass - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.最终伤害加成(0.05) - self.属性描述 += 属性.附加伤害加成(0.07) - else: - self.属性描述 += 属性.百分比三攻加成(0.05) - self.属性描述 += 属性.附加伤害加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - temp += '无
' - elif 属性.装备检查('时空:黑暗幽灵紫杉胸甲'): - temp += '最终伤害 +5%
' - temp += '附加伤害 +7%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - else: - temp += '百分比三攻 +5%
' - temp += '附加伤害 +7%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - return temp - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·黑暗幽灵紫杉胸甲'): - pass - elif 属性.装备检查('时空·黑暗幽灵紫杉胸甲'): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=65) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - else: - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉力智=65) - - -class 套装效果124(套装): - 名称 = '鲜红血纹' - 件数 = 2 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - pass - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.所有属性强化加成(25) - else: - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.所有属性强化加成(25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - temp += '无
' - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - temp += '百分比力智 +10%
' - temp += '所有属性强化 +25
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - else: - temp += '百分比力智 +5%
' - temp += '所有属性强化 +25
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - return temp - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - pass - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.BUFF增加(BUFFLv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=65) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - else: - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉力智=65) - - -class 套装效果125(套装): - 名称 = '鲜红血纹' - 件数 = 3 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.所有属性强化加成(20) - self.属性描述 += 属性.百分比三攻加成(0.05) - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.最终伤害加成(0.08) - self.属性描述 += 属性.所有属性强化加成(15) - self.属性描述 += 属性.百分比三攻加成(0.05) - else: - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.所有属性强化加成(10) - self.属性描述 += 属性.百分比三攻加成(0.05) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - pass - else: - self.属性描述 += 属性.物理暴击率增加(0.04) - self.属性描述 += 属性.魔法暴击率增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '附加伤害 +10%
' - temp += '最终伤害 +10%
' - temp += '所有属性强化 +20
' - temp += '百分比三攻 +5%
' - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - temp += '附加伤害 +10%
' - temp += '最终伤害 +8%
' - temp += '所有属性强化 +15
' - temp += '百分比三攻 +5%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - else: - temp += '附加伤害 +10%
' - temp += '所有属性强化 +10
' - temp += '百分比三攻 +5%
' - temp += '物理暴击率 +4%
' - temp += '魔法暴击率 +4%
' - return temp - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.力智固定加成(200) - self.属性描述 += 属性.BUFF增加(BUFFLv=6) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=80) - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04, - BUFF魔攻per=1.04, - BUFF独立per=1.04) - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.BUFF增加(BUFFLv=4) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.03, - BUFF魔攻per=1.03, - BUFF独立per=1.03) - else: - self.属性描述 += 属性.BUFF增加(BUFFLv=3) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - - -class 套装效果126(套装): - 名称 = '鲜红血纹' - 件数 = 5 - 类型 = '防具' - - def 城镇属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.所有属性强化加成(30) - self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.百分比三攻加成(0.15) - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.所有属性强化加成(10) - self.属性描述 += 属性.最终伤害加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.15) - else: - self.属性描述 += 属性.所有属性强化加成(15) - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.物理暴击率增加(0.08) - self.属性描述 += 属性.魔法暴击率增加(0.08) - else: - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - temp += '力量 +200
' - temp += '智力 +200
' - temp += '所有属性强化 +30
' - temp += '最终伤害 +6%
' - temp += '百分比力智 +10%
' - temp += '技能攻击力 +16%
' - temp += '百分比三攻 +15%
' - temp += '物理暴击率 +8%
' - temp += '魔法暴击率 +8%
' - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - temp += '所有属性强化 +10
' - temp += '最终伤害 +5%
' - temp += '技能攻击力 +10%
' - temp += '百分比三攻 +15%
' - else: - temp += '所有属性强化 +15
' - temp += '百分比力智 +5%
' - temp += '百分比三攻 +15%
' - return temp - - def BUFF属性(self, 属性): - if 属性.装备检查('轮回·鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.力智固定加成(x=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.33, BUFF智力per=1.33) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.07) - self.属性描述 += 属性.被动增加(守护恩赐体精=265) - self.属性描述 += 属性.被动增加(转职被动智力=65) - elif 属性.装备检查('时空:鲜红血纹皮甲胸铠'): - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.29, BUFF智力per=1.29) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06) - self.属性描述 += 属性.被动增加(守护恩赐体精=255) - self.属性描述 += 属性.被动增加(转职被动智力=255) - else: - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.22, BUFF智力per=1.22) - self.属性描述 += 属性.觉醒增加(一觉力智=205) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=120) - - -# endregion diff --git a/PublicReference/equipment/装备_武器.py b/PublicReference/equipment/装备_武器.py deleted file mode 100644 index 87c835f1..00000000 --- a/PublicReference/equipment/装备_武器.py +++ /dev/null @@ -1,4127 +0,0 @@ -from .basic_equ import * -# region 100SS武器 - - -class 飘零之花武器(装备): - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 物攻成长 = 0 - 魔攻成长 = 0 - 独立成长 = 115 - 力智成长 = 20 - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [15, 5, 5] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - 改造等级 = 属性.获取改造(self.部位) - 属性.技能攻击力加成(0.37) - 属性.附加伤害加成(0.50) - 属性.百分比力智加成(0.20) - 属性.三攻固定加成(self.物攻成长 * 改造等级, self.魔攻成长 * 改造等级, self.独立成长 * 改造等级) - 属性.力智固定加成(self.力智成长 * 改造等级) - # 属性.物理攻击力 += self.物攻成长 * 改造等级 - # 属性.魔法攻击力 += self.魔攻成长 * 改造等级 - # 属性.独立攻击力 += self.独立成长 * 改造等级 - # 属性.力量 += self.力智成长 * 改造等级 - # 属性.智力 += self.力智成长 * 改造等级 - pass - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if self.力量 != 0: - temp += '力量 +' + str(self.力量) + '
' - if self.智力 != 0: - temp += '智力 +' + str(self.智力) + '
' - temp += '物理攻击力 +' + str(self.物理攻击力) + '
' - temp += '魔法攻击力 +' + str(self.魔法攻击力) + '
' - temp += '独立攻击力 +' + str(self.独立攻击力) + '
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 5: - temp += '技能攻击力 +37%
' - temp += '附加伤害 +50%
' - temp += '百分比力智 +20%
' - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '力量 +' + str(self.力智成长 * 改造等级) + '
' - temp += '智力 +' + str(self.力智成长 * 改造等级) + '
' - temp += '物理攻击力 +' + str(self.物攻成长 * 改造等级) + '
' - temp += '魔法攻击力 +' + str(self.魔攻成长 * 改造等级) + '
' - temp += '独立攻击力 +' + str(self.独立成长 * 改造等级) + '
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备0(装备): - 名称 = '信念徽章:自由' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '短剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - # self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.4) - self.属性描述 += 属性.百分比力智加成(0.18) - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.附加伤害加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备1(装备): - 名称 = '太极天帝剑' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '太刀' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1290 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.3) - self.属性描述 += 属性.百分比三攻加成(0.38) - if 属性.太极天帝剑 == 0: - self.属性描述 += '阳之气息:
' - self.属性描述 += 属性.技能攻击力加成(0.23) - if 属性.太极天帝剑 == 1: - self.属性描述 += '阴之气息:
' - self.属性描述 += 属性.最终伤害加成(0.21) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.太极天帝剑 == 0: - self.属性描述 += 属性.攻击速度增加(-0.5) - self.属性描述 += 属性.移动速度增加(-0.5) - self.属性描述 += 属性.施放速度增加(-0.5) - if 属性.太极天帝剑 == 1: - self.属性描述 += 属性.攻击速度增加(0.2) - self.属性描述 += 属性.移动速度增加(0.2) - self.属性描述 += 属性.施放速度增加(0.35) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备2(装备): - 名称 = '哈蒂-赎月者' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '钝器' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1352 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.30) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.附加伤害加成(0.19) - - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备3(装备): - 名称 = '卡西姆的大剑' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '巨剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.22) - self.属性描述 += 属性.最终伤害加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.3) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.20) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.20) - self.属性描述 += 属性.技能冷却缩减(90, 95, 0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备4(装备): - 名称 = '星之海:巴德纳尔' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '光剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1143 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(25) - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.22) - self.属性描述 += 属性.最终伤害加成(0.17) - self.属性描述 += 属性.属性附加加成(0.2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备5(装备): - 名称 = '白虎啸魂手套' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手套' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.百分比力智加成(0.33) - if 属性.职业 == '气功师': - self.属性描述 += 属性.单技能修改('狮子吼', 1.20, 0.70) - pass - - def 进图属性(self, 属性): - if 属性.职业 == '气功师': - self.属性描述 += 属性.所有属性强化加成(56) - self.属性描述 += 属性.技能攻击力加成(0.4) - pass - - def 其它属性(self, 属性): - if 属性.职业 == '气功师': - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备6(装备): - 名称 = '太阴神:灵龟' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '臂铠' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - # self.属性描述+=属性.附加伤害加成(0.14) - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.35) - self.属性描述 += 属性.伤害增加加成(0.22) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.25) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备7(装备): - 名称 = '疯狂飓风' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '爪' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1229 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('爪精通', 3) - self.属性描述 += 属性.单技能等级加成('万毒噬心诀', 1) - self.属性描述 += 属性.单技能等级加成('燃火轰天炮', 1) - self.属性描述 += 属性.伤害增加加成(0.40) - self.属性描述 += 属性.百分比三攻加成(0.15) - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.22) - self.属性描述 += 属性.持续伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备8(装备): - 名称 = '猎焰追魂拳套' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '拳套' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.百分比三攻加成(0.23) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比力智加成(0.10) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.25) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备9(装备): - 名称 = '青沙棍' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '东方棍' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.33) - self.属性描述 += 属性.暴击伤害加成(0.26) - self.属性描述 += 属性.附加伤害加成(0.34) - - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.06) - self.属性描述 += 属性.魔法暴击率增加(0.06) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备10(装备): - 名称 = '午夜生死轮盘' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '左轮枪' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1238 - 魔法攻击力 = 1042 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.33) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.伤害增加加成(0.08) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备11(装备): - 名称 = '雷霆怒啸手枪' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '自动手枪' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 868 - 魔法攻击力 = 1273 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - self.属性描述 += 属性.单技能等级加成('TN80终结者', 3) - self.属性描述 += 属性.单技能等级加成('AT-SO步行者', 3) - self.属性描述 += 属性.单技能等级加成('GSP猎鹰捕食者形态', 3) - self.属性描述 += 属性.单技能等级加成('GSP猎鹰科罗纳形态', 3) - self.属性描述 += 属性.单技能等级加成('GSP猎鹰旋雷者形态', 3) - #self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.37) - self.属性描述 += 属性.技能攻击力加成(0.38) - self.属性描述 += 属性.单技能修改('光反应能量模块', 1.2, 1) - self.属性描述 += 属性.单技能修改('雷达扫射', 1.2, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备12(装备): - 名称 = '强力打击-X' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '步枪' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1331 - 魔法攻击力 = 1157 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('战地勋章', 2) - self.属性描述 += 属性.单技能等级加成('重火力支援', 2) - self.属性描述 += 属性.单技能等级加成('制空掌握', 2) - self.属性描述 += 属性.单技能等级加成('开火', 2) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.36) - self.属性描述 += 属性.伤害增加加成(0.22) - self.属性描述 += 属性.百分比力智加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备13(装备): - 名称 = '绝杀:无人生还' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手炮' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1447 - 魔法攻击力 = 868 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - #self.属性描述 += 属性.技能等级加成('所有',50,50,2,1) - #self.属性描述 += 属性.技能等级加成('所有',85,85,2,1) - #self.属性描述 += 属性.技能等级加成('所有',100,100,2,1) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.31) - self.属性描述 += 属性.百分比三攻加成(0.16) - self.属性描述 += 属性.伤害增加加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - -class 装备14(装备): - 名称 = '激光流星弓' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手弩' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1042 - 魔法攻击力 = 1157 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('弹夹改装', 1) - self.属性描述 += 属性.单技能等级加成('单兵推进器', 1) - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比三攻加成(0.18) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.28) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.命中率增加(0.03) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备15(装备): - 名称 = '歼灵灭魂矛' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '矛' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.35) - #self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.属性附加加成(0.15) - self.属性描述 += 属性.百分比三攻加成(0.17) - if 属性.职业 == '战斗法师': - 属性.技能栏[属性.技能序号['碎霸']].额外倍率 = 5 - elif 属性.职业 == '血法师': - 属性.技能栏[属性.技能序号['狱血之牙']].额外倍率 = 5 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备16(装备): - 名称 = '混沌之种' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '棍棒' - 力量 = 110 - 智力 = 110 - 物理攻击力 = 1328 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.35) - self.属性描述 += 属性.附加伤害加成(0.30) - self.属性描述 += 属性.百分比力智加成(0.30) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备17(装备): - 名称 = '火焰地狱' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '魔杖' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1106 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.35) - self.属性描述 += 属性.最终伤害加成(0.17) - self.属性描述 += 属性.属性附加加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备18(装备): - 名称 = '世界树的根须' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '法杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1475 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - # self.属性描述 += 属性.百分比力智加成(0.24) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.附加伤害加成(0.24) - self.属性描述 += 属性.百分比三攻加成(0.20) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能冷却缩减(1, 100, 0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.2) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备19(装备): - 名称 = '纯白的祈祷' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '扫把' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1229 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.百分比力智加成(0.31) - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(26) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=68) - pass - - -class 装备20(装备): - 名称 = '圣者的慈悲' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '十字架' - 力量 = 0 - 智力 = 81 - 体力 = 97 - 精神 = 97 - 物理攻击力 = 1229 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.36) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.24) - self.属性描述 += 属性.百分比三攻加成(0.36) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.16) - self.属性描述 += 属性.移动速度增加(0.16) - self.属性描述 += 属性.施放速度增加(0.24) - self.属性描述 += 属性.物理暴击率增加(0.08) - self.属性描述 += 属性.魔法暴击率增加(0.08) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=152) - self.属性描述 += 属性.被动增加(转职被动智力=152) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=3) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - pass - - -class 装备21(装备): - 名称 = '轮回之环:桓龙' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '念珠' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1106 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比力智加成(0.25) - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.技能冷却缩减(1, 100, 0.1) - pass - - def 进图属性(self, 属性): - if 属性.职业 in ['驱魔师', '巫女']: - self.属性描述 += '驱魔师、巫女装备时:

' - self.属性描述 += 属性.技能等级加成('所有', 48, 80, 1) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备22(装备): - 名称 = '暗战终结者' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '图腾' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.38) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.40) - self.属性描述 += 属性.暴击伤害加成(0.12) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备23(装备): - 名称 = '泯灭之灵' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '镰刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.百分比三攻加成(0.23) - self.属性描述 += 属性.附加伤害加成(0.17) - self.属性描述 += 属性.技能攻击力加成(0.38) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.08) - self.属性描述 += 属性.附加伤害加成(0.08) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备24(装备): - 名称 = '弗卡奴斯的第二个痕迹' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '战斧' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('苍龙逐日', 3) - self.属性描述 += 属性.单技能等级加成('火刑', 3) - self.属性描述 += 属性.单技能修改('无双击', 1.40, 1) - self.属性描述 += 属性.单技能修改('行刑', 1.40, 1) - self.属性描述 += 属性.附加伤害加成(0.45) - #self.属性描述 += 属性.最终伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.持续伤害加成(0.1) - self.属性描述 += 属性.技能攻击力加成(0.28) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备25(装备): - 名称 = '匿影' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '匕首' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1167 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.最终伤害加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.34) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.18) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - self.属性描述 += 属性.命中率增加(0.15) - 属性.回避率 += 0.15 - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备26(装备): - 名称 = '一叶障目' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '双剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1343 - 魔法攻击力 = 983 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.百分比三攻加成(0.28) - self.属性描述 += 属性.最终伤害加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.32) - self.属性描述 += 属性.技能倍率加成(40, 0.32) - self.属性描述 += 属性.技能倍率加成(45, 0.32) - self.属性描述 += 属性.技能倍率加成(70, 0.32) - self.属性描述 += 属性.单技能修改('忍法:影分身', 0.68, 0.68) - self.属性描述 += 属性.单技能修改('弧光闪', 0.68, 0.68) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备27(装备): - 名称 = '绿色生命的面容' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1086 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.25) - self.属性描述 += 属性.最终伤害加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 进图属性(self, 属性): - if 属性.绿色生命的面容 == 1: - self.属性描述 += '绿色生命的阴暗面:
' - self.属性描述 += 属性.最终伤害加成(0.1) - pass - - def 其它属性(self, 属性): - if 属性.绿色生命的面容 == 1: - self.属性描述 += 属性.施放速度增加(0.21) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备28(装备): - 名称 = '血腥红宝石之眼' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '苦无' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1029 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.火属性强化加成(40) - self.属性描述 += 属性.单技能等级加成('火遁·蟾蜍油炎弹', 5) - self.属性描述 += 属性.单技能等级加成('八岐大蛇', 5) - self.属性描述 += 属性.单技能等级加成('天照', 5) - self.属性描述 += 属性.技能攻击力加成(0.40) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.37) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备29(装备): - 名称 = '幻影狂欢长枪' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '长枪' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('行云:沐', 2) - self.属性描述 += 属性.单技能等级加成('行云:启', 2) - self.属性描述 += 属性.单技能等级加成('行云:冥', 2) - self.属性描述 += 属性.技能攻击力加成(0.28) - self.属性描述 += 属性.最终伤害加成(0.12) - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.20) - # self.属性描述 += 属性.单机能修改("行云诀",1,0.5) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.22) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备30(装备): - 名称 = '万夫之勇' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '战戟' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('战戟之魂', 3) - self.属性描述 += 属性.单技能等级加成('战神之力', 3) - self.属性描述 += 属性.最终伤害加成(0.29) - self.属性描述 += 属性.技能攻击力加成(0.16) - - def 进图属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.14) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - -class 装备31(装备): - 名称 = '千芒闪爆枪' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '光枪' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.34) - self.属性描述 += 属性.技能攻击力加成(0.38) - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.百分比三攻加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备32(装备): - 名称 = '寂灭剧毒矛' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '暗矛' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1290 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('黑暗本源', 3) - self.属性描述 += 属性.单技能等级加成('坠蚀之雨', 2) - self.属性描述 += 属性.单技能等级加成('冥夜裂空', 2) - self.属性描述 += 属性.单技能等级加成('冥蚀脉冲', 2) - self.属性描述 += 属性.技能攻击力加成(0.34) - self.属性描述 += 属性.最终伤害加成(0.20) - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.25) - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 属性.单技能修改('幽影暗蚀:寂灭', 1.114000616, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备33(装备): - 名称 = '金刚密藏刀' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '长刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1328 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - self.属性描述 += 属性.伤害增加加成(0.12) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.32) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备34(装备): - 名称 = '冰洁的红焰' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '小太刀' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1229 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.40) - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.35) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.23) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备35(装备): - 名称 = '聚能擎天剑' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '重剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(22) - self.属性描述 += 属性.百分比力智加成(0.18) - self.属性描述 += 属性.暴击伤害加成(0.31) - #self.属性描述 += 属性.百分比三攻加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.40) - self.属性描述 += 属性.移动速度增加(0.3) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备36(装备): - 名称 = '远古御神战剑' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '源力剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.2) - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.33) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备37(装备): - 名称 = '战场的热血:安格巴迪' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '短剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.4) - self.属性描述 += 属性.附加伤害加成(0.5) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备38(装备): - 名称 = '前瞻守卫者' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '太刀' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1290 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.附加伤害加成(0.21) - self.属性描述 += 属性.暴击伤害加成(0.20) - self.属性描述 += 属性.百分比三攻加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.3) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备39(装备): - 名称 = '骚动的冥焰' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '钝器' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1352 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(55) - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.30) - self.属性描述 += 属性.伤害增加加成(0.08) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.36) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备40(装备): - 名称 = '神之意象' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '巨剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 2) - self.属性描述 += 属性.伤害增加加成(0.35) - self.属性描述 += 属性.技能攻击力加成(0.24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - -class 装备41(装备): - 名称 = '赤光剑路易纳斯' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '光剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1143 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.20) - self.属性描述 += 属性.伤害增加加成(0.13) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(31) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备42(装备): - 名称 = '无瑕之意志手套' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手套' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 2) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.最终伤害加成(0.08) - self.属性描述 += 属性.技能攻击力加成(0.15) - self.属性描述 += 属性.属性附加加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备43(装备): - 名称 = '毁灭之碾压' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '臂铠' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.33) - self.属性描述 += 属性.暴击伤害加成(0.26) - self.属性描述 += 属性.附加伤害加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.命中率增加(0.05) - self.属性描述 += 属性.物理暴击率增加(0.1) - self.属性描述 += 属性.魔法暴击率增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备44(装备): - 名称 = '痛苦之源' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '爪' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1229 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.53) - self.属性描述 += 属性.技能攻击力加成(0.4) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备45(装备): - 名称 = '幻光绽放拳套' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '拳套' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(35) - #self.属性描述 += 属性.百分比力智加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.38) - self.属性描述 += 属性.技能攻击力加成(0.30) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.持续伤害加成(0.1) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 1) - pass - - -class 装备46(装备): - 名称 = '鸣鸿破影棍' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '东方棍' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比三攻加成(0.40) - self.属性描述 += 属性.百分比力智加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备47(装备): - 名称 = '血枪之脉' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '左轮枪' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1238 - 魔法攻击力 = 1042 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.32) - self.属性描述 += 属性.附加伤害加成(0.32) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.2) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备48(装备): - 名称 = '寻觅海石竹' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '自动手枪' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 868 - 魔法攻击力 = 1273 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.38) - self.属性描述 += 属性.百分比力智加成(0.23) - self.属性描述 += 属性.百分比三攻加成(0.35) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备49(装备): - 名称 = '湍流' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '步枪' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1331 - 魔法攻击力 = 1157 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.37) - self.属性描述 += 属性.暴击伤害加成(0.23) - self.属性描述 += 属性.百分比三攻加成(0.23) - self.属性描述 += 属性.百分比力智加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备50(装备): - 名称 = '乾坤极电炮' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手炮' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1447 - 魔法攻击力 = 868 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.35) - self.属性描述 += 属性.单技能修改('激光炮', 1.2, 0.7) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.2) - self.属性描述 += 属性.伤害增加加成(0.32) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备51(装备): - 名称 = '吟游诗人的轻吟' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手弩' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1042 - 魔法攻击力 = 1157 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.附加伤害加成(0.17) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.4) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备52(装备): - 名称 = '吟唱:不灭之魂' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '矛' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.伤害增加加成(0.17) - self.属性描述 += 属性.暴击伤害加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备53(装备): - 名称 = '精灵浮风棍' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '棍棒' - 力量 = 110 - 智力 = 110 - 物理攻击力 = 1328 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('斗神意志', 4) - self.属性描述 += 属性.单技能等级加成('御风之力', 4) - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.33) - self.属性描述 += 属性.最终伤害加成(0.11) - self.属性描述 += 属性.百分比三攻加成(0.27) - self.属性描述 += 属性.伤害增加加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备54(装备): - 名称 = '魔力之泉:加斯达利亚' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '魔杖' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1106 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.最终伤害加成(0.12) - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.百分比力智加成(0.32) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备55(装备): - 名称 = '银月的祝福' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '法杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1475 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.技能等级加成('所有',50,50,2,1) - #self.属性描述 += 属性.技能等级加成('所有',85,85,2,1) - #self.属性描述 += 属性.技能等级加成('所有',100,100,2,1) - self.属性描述 += 属性.技能攻击力加成(0.36) - self.属性描述 += 属性.最终伤害加成(0.40) - self.属性描述 += 属性.百分比三攻加成(0.20) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.1) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - -class 装备56(装备): - 名称 = '世界树之精灵' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '扫把' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1229 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.技能等级加成('所有',50,50,2,1) - #self.属性描述 += 属性.技能等级加成('所有',85,85,2,1) - #self.属性描述 += 属性.技能等级加成('所有',100,100,2,1) - self.属性描述 += 属性.最终伤害加成(0.26) - self.属性描述 += 属性.技能攻击力加成(0.26) - self.属性描述 += 属性.属性附加加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(转职被动智力=152) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=26) - pass - - def 变换属性_BUFF(self, 属性): - # self.属性描述 += 属性.技能等级加成('所有',50,50,2,1) - # self.属性描述 += 属性.技能等级加成('所有',85,85,2,1) - # self.属性描述 += 属性.技能等级加成('所有',100,100,2,1) - pass - - -class 装备57(装备): - 名称 = '闪耀的神威' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '十字架' - 力量 = 0 - 智力 = 81 - 体力 = 97 - 精神 = 97 - 物理攻击力 = 1229 - 魔法攻击力 = 1167 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.17) - self.属性描述 += 属性.暴击伤害加成(0.3) - self.属性描述 += 属性.技能攻击力加成(0.35) - - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=68) - pass - - -class 装备58(装备): - 名称 = '古代神兽的记忆' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '念珠' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1106 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.38) - self.属性描述 += 属性.暴击伤害加成(0.35) - self.属性描述 += 属性.百分比力智加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备59(装备): - 名称 = '拓荒者之路' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '图腾' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.24) - self.属性描述 += 属性.技能攻击力加成(0.40) - #self.属性描述 += 属性.暴击伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.32) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.2) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备60(装备): - 名称 = '异教主的审判' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '镰刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.22) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.14) - self.属性描述 += 属性.移动速度增加(0.14) - self.属性描述 += 属性.施放速度增加(0.21) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备61(装备): - 名称 = '信念之重量' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '战斧' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.43) - #self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.4) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备62(装备): - 名称 = '暗杀团长的玉妆刀' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '匕首' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1167 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.最终伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.38) - self.属性描述 += 属性.百分比三攻加成(0.28) - self.属性描述 += 属性.百分比力智加成(0.29) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备63(装备): - 名称 = '血色舞会' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '双剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1343 - 魔法攻击力 = 983 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.暴击伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.26) - self.属性描述 += 属性.最终伤害加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += '[终结追击]技能每个连击点数攻击力增加比率 +40%
' - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.命中率增加(0.05) - 属性.回避率 += 0.05 - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备64(装备): - 名称 = '圣洁的精灵遗物' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '手杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1086 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.20) - self.属性描述 += 属性.百分比三攻加成(0.30) - self.属性描述 += 属性.技能攻击力加成(0.38) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.10) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.12) - self.属性描述 += 属性.命中率增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备65(装备): - 名称 = '天幕道火扇' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '苦无' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1029 - 魔法攻击力 = 1352 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('烈焰印记', 3) - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 3) - #self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.28) - self.属性描述 += 属性.百分比三攻加成(0.44) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('火遁·冥炎业火阵', 2) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备66(装备): - 名称 = '彪悍冲锋者' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '长枪' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1290 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.30) - self.属性描述 += 属性.百分比力智加成(0.30) - #self.属性描述 += 属性.百分比三攻加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.38) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.14, 1) - pass - - -class 装备67(装备): - 名称 = '沙岩幻戟' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '战戟' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1045 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.最终伤害加成(0.24) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.百分比三攻加成(0.18) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 2) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 2) - self.属性描述 += 属性.技能冷却缩减(1, 48, 0.20) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.20) - self.属性描述 += 属性.技能冷却缩减(90, 95, 0.20) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.2) - self.属性描述 += 属性.移动速度增加(0.2) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -class 装备68(装备): - 名称 = '天将军:传承之光' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '光枪' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比力智加成(0.10) - #self.属性描述 += 属性.暴击伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.30) - self.属性描述 += 属性.最终伤害加成(0.18) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备69(装备): - 名称 = '魅影飞龙' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '暗矛' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1167 - 魔法攻击力 = 1290 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能修改('暗蚀螺旋枪', 1.315316871, 1) - self.属性描述 += 属性.单技能修改('暗蚀爆雷杀', 1.144086022, 1) - self.属性描述 += 属性.单技能修改('无尽侵蚀:缚魂', 1.134989433, 1) - self.属性描述 += 属性.技能攻击力加成(0.40) - #self.属性描述 += 属性.最终伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.26) - self.属性描述 += 属性.暴击伤害加成(0.25) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14, 1) - pass - - -class 装备70(装备): - 名称 = '夜天刀' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '长刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1328 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('BG枪刃改造', 3) - self.属性描述 += 属性.单技能等级加成('BC精锐特训', 3) - #self.属性描述 += 属性.技能等级加成('所有',50,50,2,1) - #self.属性描述 += 属性.技能等级加成('所有',85,85,2,1) - #self.属性描述 += 属性.技能等级加成('所有',100,100,2,1) - self.属性描述 += 属性.最终伤害加成(0.29) - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.属性附加加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2, 1) - pass - - -class 装备71(装备): - 名称 = '冥焰黑暗之触' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '小太刀' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1229 - 魔法攻击力 = 1229 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.40) - self.属性描述 += 属性.百分比三攻加成(0.23) - #self.属性描述 += 属性.暴击伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.30) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.06) - self.属性描述 += 属性.魔法暴击率增加(0.06) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14, 1) - pass - - -class 装备72(装备): - 名称 = '爆烈红焰' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '重剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1475 - 魔法攻击力 = 1106 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.18) - self.属性描述 += 属性.技能攻击力加成(0.28) - #self.属性描述 += 属性.附加伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.属性附加加成(0.20) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14, 1) - pass - - -class 装备73(装备): - 名称 = '谍影:超级核心' - 模式 = 0 - 所属套装 = '无' - 等级 = 100 - 品质 = '史诗' - 部位 = '武器' - 类型 = '源力剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1167 - 魔法攻击力 = 1414 - 独立攻击力 = 770 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.单技能等级加成('源力剑精通', 3) - #self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.百分比力智加成(0.32) - self.属性描述 += 属性.百分比三攻加成(0.22) - self.属性描述 += 属性.技能攻击力加成(0.08) - # try: - # 属性.技能栏[属性.技能序号['源力剑精通']].谍影专用倍率 = 2 - # except: - # pass - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14, 1) - pass - - -# endregion - -# region 智慧产物武器 - - -class 装备251(飘零之花武器): - 名称 = '飘零之花手炮' - 类型 = '手炮' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1346 - 魔法攻击力 = 768 - 独立攻击力 = 711 - 物攻成长 = 188 - 魔攻成长 = 181 - - -class 装备257(飘零之花武器): - 名称 = '飘零之花巨剑' - 类型 = '巨剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 185 - - -class 装备258(飘零之花武器): - 名称 = '飘零之花手弩' - 类型 = '手弩' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 942 - 魔法攻击力 = 1057 - 独立攻击力 = 711 - 物攻成长 = 183 - 魔攻成长 = 184 - - -class 装备259(飘零之花武器): - 名称 = '飘零之花步枪' - 类型 = '步枪' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1231 - 魔法攻击力 = 1057 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 184 - - -class 装备260(飘零之花武器): - 名称 = '飘零之花十字架' - 类型 = '十字架' - 力量 = 0 - 智力 = 81 - 体力 = 97 - 精神 = 97 - 物理攻击力 = 1129 - 魔法攻击力 = 1067 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 186 - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(30 * 属性.获取改造(self.部位)) - 属性.力智固定加成(30 * 属性.获取改造(self.部位)) - # 属性.智力 += 30 * 属性.获取改造(self.部位) - # 属性.体力 += 30 * 属性.获取改造(self.部位) - # 属性.精神 += 30 * 属性.获取改造(self.部位) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=68) - - -class 装备261(飘零之花武器): - 名称 = '飘零之花短剑' - 类型 = '短剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 189 - - -class 装备262(飘零之花武器): - 名称 = '飘零之花钝器' - 类型 = '钝器' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1252 - 魔法攻击力 = 1067 - 独立攻击力 = 711 - 物攻成长 = 188 - 魔攻成长 = 186 - - -class 装备263(飘零之花武器): - 名称 = '飘零之花法杖' - 类型 = '法杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1375 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 190 - - -class 装备264(飘零之花武器): - 名称 = '飘零之花光剑' - 类型 = '光剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1043 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 185 - - -class 装备265(飘零之花武器): - 名称 = '飘零之花棍棒' - 类型 = '棍棒' - 力量 = 110 - 智力 = 110 - 物理攻击力 = 1228 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 188 - 魔攻成长 = 185 - - def 城镇属性(self, 属性): - super().城镇属性(属性) - if 属性.职业 == '战斗法师': - 属性.魔法攻击力 += (self.物攻成长 - self.魔攻成长) * 属性.获取改造(self.部位) - pass - - -class 装备266(飘零之花武器): - 名称 = '飘零之花矛' - 类型 = '矛' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 945 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 184 - - def 城镇属性(self, 属性): - super().城镇属性(属性) - if 属性.职业 == '战斗法师': - 属性.魔法攻击力 += (self.物攻成长 - self.魔攻成长) * 属性.获取改造(self.部位) - pass - - -class 装备267(飘零之花武器): - 名称 = '飘零之花魔杖' - 类型 = '魔杖' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1005 - 魔法攻击力 = 1252 - 独立攻击力 = 711 - 物攻成长 = 185 - 魔攻成长 = 188 - - -class 装备268(飘零之花武器): - 名称 = '飘零之花拳套' - 类型 = '拳套' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1190 - 魔法攻击力 = 1067 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 186 - - -class 装备269(飘零之花武器): - 名称 = '飘零之花扫把' - 类型 = '扫把' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1129 - 魔法攻击力 = 1252 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 188 - - def 城镇属性_BUFF(self, 属性): - # 属性.智力 += 30 * 属性.获取改造(self.部位) - # 属性.体力 += 30 * 属性.获取改造(self.部位) - # 属性.精神 += 30 * 属性.获取改造(self.部位) - 属性.体精固定加成(30 * 属性.获取改造(self.部位)) - 属性.力智固定加成(30 * 属性.获取改造(self.部位)) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12, BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=68) - - -class 装备270(飘零之花武器): - 名称 = '飘零之花手套' - 类型 = '手套' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 189 - - -class 装备271(飘零之花武器): - 名称 = '飘零之花太刀' - 类型 = '太刀' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1067 - 魔法攻击力 = 1190 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 187 - - def 城镇属性(self, 属性): - super().城镇属性(属性) - if 属性.职业 == '剑影': - 属性.物理攻击力 += (self.魔攻成长 - self.物攻成长) * 属性.获取改造(self.部位) - pass - - -class 装备272(飘零之花武器): - 名称 = '飘零之花爪' - 类型 = '爪' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1129 - 魔法攻击力 = 1129 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 187 - - -class 装备273(飘零之花武器): - 名称 = '飘零之花左轮枪' - 类型 = '左轮枪' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1137 - 魔法攻击力 = 942 - 独立攻击力 = 711 - 物攻成长 = 185 - 魔攻成长 = 183 - - -class 装备371(飘零之花武器): - 名称 = '飘零之花念珠' - 类型 = '念珠' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 1005 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 185 - 魔攻成长 = 189 - - -class 装备372(飘零之花武器): - 名称 = '飘零之花图腾' - 类型 = '图腾' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1190 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 185 - - -class 装备373(飘零之花武器): - 名称 = '飘零之花镰刀' - 类型 = '镰刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1129 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 187 - - -class 装备374(飘零之花武器): - 名称 = '飘零之花战斧' - 类型 = '战斧' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 945 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 184 - - -class 装备375(飘零之花武器): - 名称 = '飘零之花暗矛' - 类型 = '暗矛' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1067 - 魔法攻击力 = 1190 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 187 - - -class 装备376(飘零之花武器): - 名称 = '飘零之花匕首' - 类型 = '匕首' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1067 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 185 - 魔攻成长 = 185 - - -class 装备377(飘零之花武器): - 名称 = '飘零之花臂铠' - 类型 = '臂铠' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 185 - - -class 装备378(飘零之花武器): - 名称 = '飘零之花东方棍' - 类型 = '东方棍' - 力量 = 81 - 智力 = 122 - 物理攻击力 = 1067 - 魔法攻击力 = 1129 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 187 - - -class 装备379(飘零之花武器): - 名称 = '飘零之花光枪' - 类型 = '光枪' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 189 - - -class 装备380(飘零之花武器): - 名称 = '飘零之花苦无' - 类型 = '苦无' - 力量 = 0 - 智力 = 122 - 物理攻击力 = 928 - 魔法攻击力 = 1252 - 独立攻击力 = 711 - 物攻成长 = 185 - 魔攻成长 = 188 - - -class 装备381(飘零之花武器): - 名称 = '飘零之花手杖' - 类型 = '手杖' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 986 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 184 - 魔攻成长 = 189 - - -class 装备382(飘零之花武器): - 名称 = '飘零之花双剑' - 类型 = '双剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1243 - 魔法攻击力 = 883 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 184 - - -class 装备383(飘零之花武器): - 名称 = '飘零之花小太刀' - 类型 = '小太刀' - 力量 = 81 - 智力 = 41 - 物理攻击力 = 1129 - 魔法攻击力 = 1129 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 187 - - -class 装备384(飘零之花武器): - 名称 = '飘零之花源力剑' - 类型 = '源力剑' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 1067 - 魔法攻击力 = 1313 - 独立攻击力 = 711 - 物攻成长 = 186 - 魔攻成长 = 189 - - -class 装备385(飘零之花武器): - 名称 = '飘零之花战戟' - 类型 = '战戟' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 945 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 184 - - -class 装备386(飘零之花武器): - 名称 = '飘零之花长刀' - 类型 = '长刀' - 力量 = 81 - 智力 = 81 - 物理攻击力 = 1228 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 188 - 魔攻成长 = 185 - - -class 装备387(飘零之花武器): - 名称 = '飘零之花长枪' - 类型 = '长枪' - 力量 = 122 - 智力 = 0 - 物理攻击力 = 1190 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 187 - 魔攻成长 = 185 - - -class 装备388(飘零之花武器): - 名称 = '飘零之花重剑' - 类型 = '重剑' - 力量 = 81 - 智力 = 0 - 物理攻击力 = 1375 - 魔法攻击力 = 1005 - 独立攻击力 = 711 - 物攻成长 = 190 - 魔攻成长 = 185 - - -class 装备389(飘零之花武器): - 名称 = '飘零之花自动手枪' - 类型 = '自动手枪' - 力量 = 0 - 智力 = 81 - 物理攻击力 = 768 - 魔法攻击力 = 1173 - 独立攻击力 = 711 - 物攻成长 = 181 - 魔攻成长 = 186 - - -# endregion - -# region 夜语黑瞳武器 - - -class 夜语黑瞳武器(装备): - 模式 = 普雷武器显示 - 所属套装 = '无' - 等级 = 95 - 品质 = '史诗' - 部位 = '武器' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.32) - self.属性描述 += 属性.技能攻击力加成(0.55) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - -class 装备274(夜语黑瞳武器): - 名称 = '界·夜语黑瞳短剑' - 类型 = '短剑' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -class 装备275(夜语黑瞳武器): - 名称 = '界·夜语黑瞳太刀' - 类型 = '太刀' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1112 - 魔法攻击力 = 1230 - 独立攻击力 = 723 - - -class 装备276(夜语黑瞳武器): - 名称 = '界·夜语黑瞳钝器' - 类型 = '钝器' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1288 - 魔法攻击力 = 1112 - 独立攻击力 = 723 - - -class 装备277(夜语黑瞳武器): - 名称 = '界·夜语黑瞳巨剑' - 类型 = '巨剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备278(夜语黑瞳武器): - 名称 = '界·夜语黑瞳光剑' - 类型 = '光剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1089 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备279(夜语黑瞳武器): - 名称 = '界·夜语黑瞳手套' - 类型 = '手套' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -class 装备280(夜语黑瞳武器): - 名称 = '界·夜语黑瞳臂铠' - 类型 = '臂铠' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备281(夜语黑瞳武器): - 名称 = '界·夜语黑瞳利爪' - 类型 = '爪' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 1172 - 魔法攻击力 = 1172 - 独立攻击力 = 723 - - -class 装备282(夜语黑瞳武器): - 名称 = '界·夜语黑瞳拳套' - 类型 = '拳套' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1112 - 独立攻击力 = 723 - - -class 装备283(夜语黑瞳武器): - 名称 = '界·夜语黑瞳东方棍' - 类型 = '东方棍' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1112 - 魔法攻击力 = 1172 - 独立攻击力 = 723 - - -class 装备284(夜语黑瞳武器): - 名称 = '界·夜语黑瞳左轮枪' - 类型 = '左轮枪' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1176 - 魔法攻击力 = 989 - 独立攻击力 = 723 - - -class 装备285(夜语黑瞳武器): - 名称 = '界·夜语黑瞳自动手枪' - 类型 = '自动手枪' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 825 - 魔法攻击力 = 1209 - 独立攻击力 = 723 - - -class 装备286(夜语黑瞳武器): - 名称 = '界·夜语黑瞳步枪' - 类型 = '步枪' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1264 - 魔法攻击力 = 1099 - 独立攻击力 = 723 - - -class 装备287(夜语黑瞳武器): - 名称 = '界·夜语黑瞳手炮' - 类型 = '手炮' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1374 - 魔法攻击力 = 825 - 独立攻击力 = 723 - - -class 装备288(夜语黑瞳武器): - 名称 = '界·夜语黑瞳手弩' - 类型 = '手弩' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 989 - 魔法攻击力 = 1099 - 独立攻击力 = 723 - - -class 装备289(夜语黑瞳武器): - 名称 = '界·夜语黑瞳矛' - 类型 = '矛' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 723 - - -class 装备290(夜语黑瞳武器): - 名称 = '界·夜语黑瞳棍棒' - 类型 = '棍棒' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1265 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备291(夜语黑瞳武器): - 名称 = '界·夜语黑瞳魔杖' - 类型 = '魔杖' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 1054 - 魔法攻击力 = 1288 - 独立攻击力 = 723 - - -class 装备292(夜语黑瞳武器): - 名称 = '界·夜语黑瞳法杖' - 类型 = '法杖' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1406 - 独立攻击力 = 723 - - -class 装备293(夜语黑瞳武器): - 名称 = '界·夜语黑瞳扫把' - 类型 = '扫把' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1172 - 魔法攻击力 = 1288 - 独立攻击力 = 723 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - 属性.智力 += 30 * 属性.获取改造(self.部位) - 属性.体力 += 30 * 属性.获取改造(self.部位) - 属性.精神 += 30 * 属性.获取改造(self.部位) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.12) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.2) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=68) - - -class 装备294(夜语黑瞳武器): - 名称 = '界·夜语黑瞳十字架' - 类型 = '十字架' - 力量 = 0 - 智力 = 78 - 体力 = 94 - 精神 = 94 - 物理攻击力 = 1172 - 魔法攻击力 = 1112 - 独立攻击力 = 723 - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1, BUFF智力per=1.1) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2, BUFF魔攻per=1.2, BUFF独立per=1.2) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=44) - - -class 装备295(夜语黑瞳武器): - 名称 = '界·夜语黑瞳念珠' - 类型 = '念珠' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 1054 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -class 装备296(夜语黑瞳武器): - 名称 = '界·夜语黑瞳图腾' - 类型 = '图腾' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备297(夜语黑瞳武器): - 名称 = '界·夜语黑瞳镰刀' - 类型 = '镰刀' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1172 - 独立攻击力 = 723 - - -class 装备298(夜语黑瞳武器): - 名称 = '界·夜语黑瞳战斧' - 类型 = '战斧' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 723 - - -class 装备299(夜语黑瞳武器): - 名称 = '界·夜语黑瞳匕首' - 类型 = '匕首' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1109 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备300(夜语黑瞳武器): - 名称 = '界·夜语黑瞳双剑' - 类型 = '双剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1278 - 魔法攻击力 = 937 - 独立攻击力 = 723 - - -class 装备301(夜语黑瞳武器): - 名称 = '界·夜语黑瞳手杖' - 类型 = '手杖' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1032 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -class 装备302(夜语黑瞳武器): - 名称 = '界·夜语黑瞳苦无' - 类型 = '苦无' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 977 - 魔法攻击力 = 1288 - 独立攻击力 = 723 - - -class 装备303(夜语黑瞳武器): - 名称 = '界·夜语黑瞳长枪' - 类型 = '长枪' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备304(夜语黑瞳武器): - 名称 = '界·夜语黑瞳战戟' - 类型 = '战戟' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 723 - - -class 装备305(夜语黑瞳武器): - 名称 = '界·夜语黑瞳光枪' - 类型 = '光枪' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -class 装备306(夜语黑瞳武器): - 名称 = '界·夜语黑瞳暗矛' - 类型 = '暗矛' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1112 - 魔法攻击力 = 1230 - 独立攻击力 = 723 - - -class 装备307(夜语黑瞳武器): - 名称 = '界·夜语黑瞳长刀' - 类型 = '长刀' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1265 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备308(夜语黑瞳武器): - 名称 = '界·夜语黑瞳小太刀' - 类型 = '小太刀' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 1172 - 魔法攻击力 = 1172 - 独立攻击力 = 723 - - -class 装备309(夜语黑瞳武器): - 名称 = '界·夜语黑瞳重剑' - 类型 = '重剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1054 - 独立攻击力 = 723 - - -class 装备310(夜语黑瞳武器): - 名称 = '界·夜语黑瞳源力剑' - 类型 = '源力剑' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1112 - 魔法攻击力 = 1346 - 独立攻击力 = 723 - - -# endregion - - -# region 暗黑圣战之溯回武器 -class 暗黑圣战之溯回武器(装备): - 模式 = 1 - 所属套装 = '无' - 等级 = 100 - 品质 = '传说' - 部位 = '武器' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.30) - self.属性描述 += 属性.技能攻击力加成(0.52) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - -class 装备491(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:短剑' - 类型 = '短剑' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -class 装备492(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:太刀' - 类型 = '太刀' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1113 - 魔法攻击力 = 1230 - 独立攻击力 = 719 - - -class 装备493(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:钝器' - 类型 = '钝器' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1289 - 魔法攻击力 = 1113 - 独立攻击力 = 719 - - -class 装备494(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:巨剑' - 类型 = '巨剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备495(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:光剑' - 类型 = '光剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1089 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备496(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:手套' - 类型 = '手套' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -class 装备497(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:臂铠' - 类型 = '臂铠' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备498(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:爪' - 类型 = '爪' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 1172 - 魔法攻击力 = 1172 - 独立攻击力 = 719 - - -class 装备499(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:拳套' - 类型 = '拳套' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1113 - 独立攻击力 = 719 - - -class 装备500(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:东方棍' - 类型 = '东方棍' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1113 - 魔法攻击力 = 1172 - 独立攻击力 = 719 - - -class 装备501(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:左轮枪' - 类型 = '左轮枪' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1178 - 魔法攻击力 = 991 - 独立攻击力 = 719 - - -class 装备502(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:自动手枪' - 类型 = '自动手枪' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 826 - 魔法攻击力 = 1211 - 独立攻击力 = 719 - - -class 装备503(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:步枪' - 类型 = '步枪' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1266 - 魔法攻击力 = 1101 - 独立攻击力 = 719 - - -class 装备504(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:手炮' - 类型 = '手炮' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1376 - 魔法攻击力 = 826 - 独立攻击力 = 719 - - -class 装备505(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:手弩' - 类型 = '手弩' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 991 - 魔法攻击力 = 1101 - 独立攻击力 = 719 - - -class 装备506(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:矛' - 类型 = '矛' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 719 - - -class 装备507(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:棍棒' - 类型 = '棍棒' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1265 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备508(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:魔杖' - 类型 = '魔杖' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 1055 - 魔法攻击力 = 1289 - 独立攻击力 = 719 - - -class 装备509(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:法杖' - 类型 = '法杖' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1406 - 独立攻击力 = 719 - - -class 装备510(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:扫把' - 类型 = '扫把' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1172 - 魔法攻击力 = 1289 - 独立攻击力 = 719 - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.09, BUFF智力per=1.09) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.18, BUFF魔攻per=1.18, BUFF独立per=1.18) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=40) - pass - - -class 装备511(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:十字架' - 类型 = '十字架' - 力量 = 0 - 智力 = 78 - 体力 = 95 - 精神 = 95 - 物理攻击力 = 1172 - 魔法攻击力 = 1113 - 独立攻击力 = 719 - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=127) - self.属性描述 += 属性.被动增加(转职被动智力=127) - self.属性描述 += 属性.BUFF增加(BUFFLv=5) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.09, BUFF智力per=1.09) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.18, BUFF魔攻per=1.18, BUFF独立per=1.18) - self.属性描述 += 属性.觉醒增加(一觉Lv=2) - self.属性描述 += 属性.觉醒增加(一觉力智=40) - pass - - -class 装备512(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:念珠' - 类型 = '念珠' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 1055 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -class 装备513(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:图腾' - 类型 = '图腾' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备514(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:镰刀' - 类型 = '镰刀' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1172 - 独立攻击力 = 719 - - -class 装备515(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:战斧' - 类型 = '战斧' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 719 - - -class 装备516(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:匕首' - 类型 = '匕首' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1110 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备517(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:双剑' - 类型 = '双剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1279 - 魔法攻击力 = 937 - 独立攻击力 = 719 - - -class 装备518(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:手杖' - 类型 = '手杖' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1033 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -class 装备519(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:苦无' - 类型 = '苦无' - 力量 = 0 - 智力 = 117 - 物理攻击力 = 979 - 魔法攻击力 = 1289 - 独立攻击力 = 719 - - -class 装备520(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:长枪' - 类型 = '长枪' - 力量 = 117 - 智力 = 0 - 物理攻击力 = 1230 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备521(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:战戟' - 类型 = '战戟' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 996 - 独立攻击力 = 719 - - -class 装备522(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:光枪' - 类型 = '光枪' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -class 装备523(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:暗矛' - 类型 = '暗矛' - 力量 = 78 - 智力 = 117 - 物理攻击力 = 1113 - 魔法攻击力 = 1230 - 独立攻击力 = 719 - - -class 装备524(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:长刀' - 类型 = '长刀' - 力量 = 78 - 智力 = 78 - 物理攻击力 = 1265 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备525(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:小太刀' - 类型 = '小太刀' - 力量 = 78 - 智力 = 39 - 物理攻击力 = 1172 - 魔法攻击力 = 1172 - 独立攻击力 = 719 - - -class 装备526(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:重剑' - 类型 = '重剑' - 力量 = 78 - 智力 = 0 - 物理攻击力 = 1406 - 魔法攻击力 = 1055 - 独立攻击力 = 719 - - -class 装备527(暗黑圣战之溯回武器): - 名称 = '暗黑圣战之溯回:源力剑' - 类型 = '源力剑' - 力量 = 0 - 智力 = 78 - 物理攻击力 = 1113 - 魔法攻击力 = 1348 - 独立攻击力 = 719 - - -# endregion diff --git a/PublicReference/equipment/装备_特殊.py b/PublicReference/equipment/装备_特殊.py deleted file mode 100644 index 724dcb6f..00000000 --- a/PublicReference/equipment/装备_特殊.py +++ /dev/null @@ -1,4316 +0,0 @@ -from .basic_equ import * - -# region 100SS特殊 - - -class 装备212(装备): - 名称 = '军神的遗书' - 模式 = 0 - 所属套装 = '军神的隐秘遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.25, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=208) - self.属性描述 += 属性.被动增加(转职被动智力=124) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备213(装备): - 名称 = '末日之刻' - 模式 = 0 - 所属套装 = '时间战争的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.12) - self.属性描述 += "Lv1-100 技能CD -2% *6
" - for i in range(6): - 属性.技能冷却缩减(1, 100, 0.02) - pass - - def 进图属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.15, 3) - pass - - def 其它属性(self, 属性): - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 48, 50, 1) - self.属性描述 += 属性.被动增加(守护恩赐体精=195) - self.属性描述 += 属性.被动增加(转职被动智力=98) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - - -class 装备214(装备): - 名称 = '高贵之天' - 模式 = 0 - 所属套装 = '灵宝:世间真理' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.12) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.12, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=195) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备215(装备): - 名称 = '能量回流控制者' - 模式 = 0 - 所属套装 = '能量主宰' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=208) - self.属性描述 += 属性.被动增加(转职被动智力=124) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备216(装备): - 名称 = '暗黑术士亲笔古书' - 模式 = 0 - 所属套装 = '深渊窥视者' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.24) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.18, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=208) - self.属性描述 += 属性.被动增加(转职被动智力=156) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备217(装备): - 名称 = '引路者的旅行书' - 模式 = 0 - 所属套装 = '圣者的黄昏' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - - self.属性描述 += 属性.所有属性强化加成(64) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.22, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=195) - self.属性描述 += 属性.被动增加(转职被动智力=108) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备218(装备): - 名称 = '悲情者遗物' - 模式 = 0 - 所属套装 = '坎坷命运' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.百分比三攻加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.11, 3) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.04) - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.施放速度增加(0.06) - if 属性.装备检查('地狱边缘'): - self.属性描述 += '装备地狱边缘时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - if 属性.装备检查('悲痛者项链'): - self.属性描述 += '装备悲痛者项链时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=208) - self.属性描述 += 属性.被动增加(转职被动智力=124) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备219(装备): - 名称 = '失控之怒' - 模式 = 0 - 所属套装 = '吞噬愤怒' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.持续伤害加成(0.1) - # self.属性描述 += 属性.最终伤害加成(0.3) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.3, 3) - pass - - 体力 = 46 - 精神 = 46 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=208) - self.属性描述 += 属性.被动增加(转职被动智力=124) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备220(装备): - 名称 = '军神的庇护宝石' - 模式 = 0 - 所属套装 = '军神的隐秘遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.21) - self.属性描述 += 属性.技能攻击力加成(0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=177) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备221(装备): - 名称 = '时之漩涡' - 模式 = 0 - 所属套装 = '时间战争的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.24) - self.属性描述 += 属性.最终伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=170) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.技能等级加成('所有', 1, 50, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备222(装备): - 名称 = '智慧之地' - 模式 = 0 - 所属套装 = '灵宝:世间真理' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.最终伤害加成(0.12) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=185) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备223(装备): - 名称 = '电光能量支配者' - 模式 = 0 - 所属套装 = '能量主宰' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.13) - self.属性描述 += 属性.技能攻击力加成(0.24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.15) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=174) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.06) - self.属性描述 += 属性.技能等级加成('所有', 1, 50, 1) - - -class 装备224(装备): - 名称 = '暗黑术士的精髓' - 模式 = 0 - 所属套装 = '黑魔法探求者' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.35) - self.属性描述 += 属性.技能攻击力加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=195) - self.属性描述 += 属性.被动增加(转职被动智力=95) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备225(装备): - 名称 = '被困的时之沙' - 模式 = 0 - 所属套装 = '时空旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.17) - self.属性描述 += 属性.所有属性强化加成(80) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=164) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.技能等级加成('所有', 1, 50, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.06) - - -class 装备226(装备): - 名称 = '寂寞的呼喊' - 模式 = 0 - 所属套装 = '穿透命运的呐喊' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.23) - self.属性描述 += 属性.技能攻击力加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 1) - self.属性描述 += 属性.被动增加(守护恩赐体精=187) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备227(装备): - 名称 = '狂乱之天灾降临' - 模式 = 0 - 所属套装 = '狂乱追随者' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.2) - self.属性描述 += 属性.伤害增加加成(0.2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=177) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备228(装备): - 名称 = '军神的古怪耳环' - 模式 = 0 - 所属套装 = '军神的隐秘遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - if 属性.装备检查('军神的遗书'): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.最终伤害加成(0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('军神的遗书'): - self.属性描述 += '装备军神的遗书时
' - self.属性描述 += 属性.移动速度增加(0.10) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=176) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备229(装备): - 名称 = '时之矛盾' - 模式 = 0 - 所属套装 = '时间战争的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.暴击伤害加成(0.24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=174) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备230(装备): - 名称 = '宽容之海' - 模式 = 0 - 所属套装 = '灵宝:世间真理' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.附加伤害加成(0.1) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=161) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备231(装备): - 名称 = '电磁能量传送者' - 模式 = 0 - 所属套装 = '能量主宰' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.12) - if 属性.装备检查('能量回流控制者'): - self.属性描述 += '装备能量回流控制者时
' - self.属性描述 += 属性.附加伤害加成(0.1) - pass - - def 进图属性(self, 属性): - if 属性.装备检查('电光能量支配者'): - self.属性描述 += '装备电光能量支配者时
' - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=176) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备232(装备): - 名称 = '无尽地狱黑暗之印' - 模式 = 0 - 所属套装 = '地狱求道者' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.42) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=192) - self.属性描述 += 属性.被动增加(转职被动智力=95) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备233(装备): - 名称 = '次元流星坠' - 模式 = 0 - 所属套装 = '次元旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.1) - self.属性描述 += 属性.最终伤害加成(0.19) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=178) - self.属性描述 += 属性.被动增加(转职被动智力=82) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备234(装备): - 名称 = '命运挑战者' - 模式 = 0 - 所属套装 = '天命无常' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.暴击伤害加成(0.22) - if '天命无常[2]' in 属性.套装栏: - if 属性.天命无常 == 0: - self.属性描述 += 属性.最终伤害加成(0.091666667) - elif 属性.天命无常 <= 5: - self.属性描述 += 属性.最终伤害加成(0.05) - elif 属性.天命无常 == 6: - self.属性描述 += 属性.最终伤害加成(0.30) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=181) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备235(装备): - 名称 = '悲剧人生的归寂' - 模式 = 0 - 所属套装 = '悲剧的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.暴击伤害加成(0.1) - if 属性.悲剧的残骸 == 0: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 1: - self.属性描述 += 属性.附加伤害加成(0.08) - if 属性.悲剧的残骸 == 2: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 3: - self.属性描述 += 属性.附加伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.悲剧的残骸 == 0: - self.属性描述 += 属性.攻击速度增加(0.021) - if 属性.悲剧的残骸 >= 2: - self.属性描述 += 属性.攻击速度增加(0.03) - pass - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=184) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - - -class 装备236(装备): - 名称 = '军神的心之所念' - 模式 = 0 - 所属套装 = '军神的隐秘遗产' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value%' - 属性2范围 = [9, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{技能攻击力} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{最终伤害} +$value%' - 属性4范围 = [7, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.最终伤害加成(0.17) - self.属性描述 += 神话属性title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.技能攻击力加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.15) - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{一觉被动}(160/140) +$value' - 属性1范围_BUFF = [60, 0, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [90, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [160, 100, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉力智} +$value%' - 属性4范围_BUFF = [7, 1, 1] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=176) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(信念光环体精=220 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=200 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=90 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.被动增加(守护恩赐体精=160 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=160 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.07 - self.属性4选择_BUFF / 100) - - -class 装备237(装备): - 名称 = '时之魅影' - 模式 = 0 - 所属套装 = '时间战争的残骸' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [6, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [4, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [8, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value%' - 属性4范围 = [5, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能攻击力加成(0.10) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [70, 20, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动} +$value' - 属性2范围_BUFF = [200, 140, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF力智} +$value%' - 属性3范围_BUFF = [11, 4, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉力智} +$value%' - 属性4范围_BUFF = [6, 2, 1] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=174) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=70 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11 - self.属性3选择_BUFF / 100, - BUFF智力per=1.11 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06 - self.属性4选择_BUFF / 100) - - -class 装备238(装备): - 名称 = '永恒之海' - 模式 = 0 - 所属套装 = '灵宝:世间真理' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [40, 20, 4] - 属性1选择 = 0 - 属性2描述 = '{最终伤害} +$value%' - 属性2范围 = [8, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [5, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{伤害增加} +$value%' - 属性4范围 = [4, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.1) - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 神话属性title - self.属性描述 += 属性.所有属性强化加成((self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.最终伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.375) - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value%' - 属性1范围_BUFF = [6, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [80, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [300, 220, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉被动}(100/80) +$value' - 属性4范围_BUFF = [60, 0, 20] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=161) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智per=1.06 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=80 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.被动增加(守护恩赐体精=300 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=300 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性4选择_BUFF * 20) - - -class 装备239(装备): - 名称 = '等离子操控者' - 模式 = 0 - 所属套装 = '能量主宰' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [12, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{力量、智力} +$value' - 属性2范围 = [220, 100, 20] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [12, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.12) - if 属性.装备检查('能量回流控制者'): - self.属性描述 += '装备能量回流控制者时
' - self.属性描述 += 属性.附加伤害加成(0.1) - self.属性描述 += 神话属性title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.力智固定加成(x=(self.属性2范围[0] - self.属性2选择 * self.属性2范围[2])) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - if 属性.装备检查('电光能量支配者'): - self.属性描述 += '装备电光能量支配者时
' - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - if 属性.装备检查('能量回流控制者'): - self.属性描述 += '装备能量回流控制者时
' - self.属性描述 += 属性.移动速度增加(0.1) - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{BUFF三攻} +$value%' - 属性1范围_BUFF = [12, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{守护恩赐/力智} +$value' - 属性2范围_BUFF = [220, 100, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [120, 10, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 属性.被动增加(守护恩赐体精=176) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.12 - self.属性1选择_BUFF / 100, - BUFF魔攻per=1.12 - self.属性1选择_BUFF / 100, - BUFF独立per=1.12 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.力智固定加成(x=220 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(守护恩赐体精=220 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=120 - self.属性3选择_BUFF * 10) - - -class 装备240(装备): - 名称 = '永恒地狱黑暗之印' - 模式 = 0 - 所属套装 = '地狱求道者' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [12, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{所有属性强化} +$value' - 属性2范围 = [40, 8, 4] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [9, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.42) - self.属性描述 += 神话属性title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.所有属性强化加成(self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [12, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动} +$value' - 属性2范围_BUFF = [240, 80, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [90, 10, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=192) - self.属性描述 += 属性.被动增加(转职被动智力=95) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12 - self.属性1选择_BUFF / 100, - BUFF智力per=1.12 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=240 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=240 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=90 - self.属性3选择_BUFF * 10) - - -class 装备241(装备): - 名称 = '次元穿越者之星' - 模式 = 0 - 所属套装 = '次元旅行者' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{力量、智力} +$value' - 属性1范围 = [300, 20, 20] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [11, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{技能等级}{Lv}60~$value +1' - 属性3范围 = [100, 70, 5] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.19) - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 神话属性title - self.属性描述 += 属性.力智固定加成(x=(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.技能等级加成('所有', 60, - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]), 1) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{守护恩赐/力智} +$value' - 属性1范围_BUFF = [300, 20, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [110, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉被动}(60/40) +($value)' - 属性3范围_BUFF = [100, 0, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=178) - self.属性描述 += 属性.被动增加(转职被动智力=82) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(守护恩赐体精=300 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.力智固定加成(x=300 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=110 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.技能等级加成('所有', 60, 100 - self.属性3选择_BUFF * 5, 1) - - -class 装备242(装备): - 名称 = '命运反抗者' - 模式 = 0 - 所属套装 = '天命无常' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [120, 40, 10] - 属性1选择 = 0 - 属性2描述 = '{技能等级}{Lv}1~$value +1' - 属性2范围 = [45, 30, 5] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{附加伤害} +$value%' - 属性4范围 = [7, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.22) - self.属性描述 += 属性.百分比力智加成(0.1) - if '天命无常[2]' in 属性.套装栏: - if 属性.天命无常 == 0: - self.属性描述 += 属性.最终伤害加成(0.10) - elif 属性.天命无常 <= 5: - self.属性描述 += 属性.最终伤害加成(0.05) - elif 属性.天命无常 == 6: - self.属性描述 += 属性.最终伤害加成(0.30) - self.属性描述 += 神话属性title - self.属性描述 += 属性.三攻固定加成(x=(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.技能等级加成('所有', 1, - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]), 1) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [90, 10, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value%' - 属性2范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF力智} +$value%' - 属性3范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF三攻} +$value%' - 属性4范围_BUFF = [7, 1, 1] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=181) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=90 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.技能等级加成('所有', 1, 45 - self.属性2选择_BUFF * 5, 1) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04 - self.属性3选择_BUFF / 100, - BUFF智力per=1.04 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.07 - self.属性4选择_BUFF / 100, - BUFF魔攻per=1.07 - self.属性4选择_BUFF / 100, - BUFF独立per=1.07 - self.属性4选择_BUFF / 100) - - -class 装备243(装备): - 名称 = '心痛如绞的诀别' - 模式 = 0 - 所属套装 = '悲剧的残骸' - 等级 = 100 - 品质 = '神话' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [16, 8, 4] - 属性1选择 = 0 - 属性2描述 = '{持续伤害} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [8, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value' - 属性4范围 = [140, 80, 20] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - - if 属性.悲剧的残骸 == 0: - self.属性描述 += trans('{期望属性}:
') - self.属性描述 += 属性.附加伤害加成(0.106) - if 属性.悲剧的残骸 == 1: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 2: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 3: - self.属性描述 += 属性.附加伤害加成(0.12) - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.暴击伤害加成(0.1) - self.属性描述 += 神话属性title - self.属性描述 += 属性.所有属性强化加成(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) - self.属性描述 += 属性.持续伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.力智固定加成(x=(self.属性4范围[0] - self.属性4选择 * self.属性4范围[2])) - - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.悲剧的残骸 == 0: - self.属性描述 += 期望属性title - self.属性描述 += 属性.移动速度增加(0.0315) - if 属性.悲剧的残骸 >= 2: - self.属性描述 += 属性.移动速度增加(0.045) - pass - - 体力 = 70 - 精神 = 70 - - # 专属属性 - 属性1描述_BUFF = '{BUFF三攻} +$value%' - 属性1范围_BUFF = [5, 3, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF力智} +$value%' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value%' - 属性3范围_BUFF = [8, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{守护恩赐/力智} +$value' - 属性4范围_BUFF = [140, 40, 20] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=184) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.05 - self.属性1选择_BUFF / 100, - BUFF魔攻per=1.05 - self.属性1选择_BUFF / 100, - BUFF独立per=1.05 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.10 - self.属性2选择_BUFF / 100, - BUFF智力per=1.10 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.08 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=140 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.力智固定加成(x=140 - self.属性4选择_BUFF * 20) - - -# endregion - -# region 智慧产物 - - -class 装备248(装备): - 名称 = '窥视未来耳环' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.伤害增加加成(0.35) - - def 进图属性(self, 属性): - 属性.力量 += 40 - 属性.物理攻击力 += 40 * 属性.获取改造(self.部位) - 属性.魔法攻击力 += 40 * 属性.获取改造(self.部位) - 属性.独立攻击力 += 40 * 属性.获取改造(self.部位) - self.属性描述 += 属性.伤害增加加成(0.02 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - if 改造等级 >= 1: - temp += '伤害增加 +35%
' - if 改造等级 >= 5: - temp += '所有属性强化 +40
' - temp += '物理攻击力 +{}
'.format(40 * 改造等级) - temp += '魔法攻击力 +{}
'.format(40 * 改造等级) - temp += '独立攻击力 +{}
'.format(40 * 改造等级) - temp += '伤害增加 +{}%
'.format(2 * 改造等级) - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备249(装备): - 名称 = '青面修罗的面具' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 体力 = 46 - 精神 = 46 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [12, 4, 4] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{所有属性强化} +$value' - 属性3范围 = [12, 4, 4] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.所有属性强化加成((self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.所有属性强化加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2])) - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.所有属性强化加成(16 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.08) - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '攻击速度 +8%
' - temp += '移动速度 +8%
' - temp += '施放速度 +12%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '所有属性强化 +{}
'.format(16 * 改造等级) - if 改造等级 >= 1: - temp += 'Lv1-85 技能等级+2
' - temp += 'Lv100 技能等级+2
' - if 改造等级 >= 4: - temp += '百分比力智 +8%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 进图属性_BUFF(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - - -class 装备250(装备): - 名称 = '赤鬼的次元石' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比三攻加成(0.18) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.伤害增加加成(0.14) - if 属性.装备检查('青面修罗的面具') or 属性.装备检查('噙毒手套'): - self.属性描述 += 属性.附加伤害加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - if 属性.装备检查('青面修罗的面具') or 属性.装备检查('噙毒手套'): - temp += '附加伤害 +7%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '暴击伤害 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '百分比三攻 +18%
' - if 改造等级 >= 4: - temp += '伤害增加 +14%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备531(装备): - 名称 = '支配者王冠' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 体力 = 46 - 精神 = 46 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.百分比三攻加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比三攻加成(0.14) - self.属性描述 += 属性.最终伤害加成(0.08) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.技能攻击力加成(0.1,适用累加=0) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '移动速度 +10%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '百分比三攻 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '百分比三攻 +14%
' - temp += '最终伤害 +8%
' - if 改造等级 >= 4: - temp += '技能攻击力 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=65) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -class 装备532(装备): - 名称 = '灵魂掠夺者' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 体力 = 69 - 精神 = 69 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.04 * 属性.获取改造(self.部位),适用累加=0) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.暴击伤害加成(0.18) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.附加伤害加成(0.14) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '技能攻击力 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '暴击伤害 +18%
' - if 改造等级 >= 4: - temp += '附加伤害 +14%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.技能等级加成('所有', 30, 50, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06, BUFF智力per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=35) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=40) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - - -class 装备533(装备): - 名称 = '无我灵晶' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比力智加成(0.18) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.技能攻击力加成(0.13,适用累加=0) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - if 改造等级 >= 1: - temp += '力量、智力 +18%
' - if 改造等级 >= 4: - temp += '技能攻击力 +13%
' - temp += '暴击伤害 +{}%
'.format(4 * 改造等级) - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.06) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - self.属性描述 += 属性.被动增加(守护恩赐体精=140) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - -# endregion - -# region 普雷 - - -class 装备345(装备): - 名称 = '暗黑之魂:被吞噬的太阳' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.附加伤害加成(0.16) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '伤害增加 +16%
' - temp += '附加伤害 +16%
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=116) - self.属性描述 += 属性.被动增加(转职被动智力=116) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[勇气祝福]独立攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +116
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +66
' - temp += '精神 +66
' - temp += '[荣誉祝福]独立攻击力增加量 +4%<
' - temp += '[守护恩赐]体力、精神 +116
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[禁忌诅咒]独立攻击力增加量 +4%<
' - temp += '[人偶操纵者]智力 +116
' - return temp - - -class 装备346(装备): - 名称 = '暗黑之翼:被蚕食的太阳' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 44 - 智力 = 44 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +44
' - temp += '智力 +44
' - temp += '伤害增加 +15%
' - temp += '技能攻击力 +8%
' - return temp - - 体力 = 44 - 精神 = 44 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=108) - self.属性描述 += 属性.被动增加(转职被动智力=128) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +44
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]魔法攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +128
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +44
' - temp += '精神 +44
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]魔法攻击力增加量 +4%
' - temp += '[守护恩赐]体力、精神 +108
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +44
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]魔法攻击力增加量 +4%
' - temp += '[人偶操纵者]智力 +128
' - return temp - - -class 装备347(装备): - 名称 = '暗黑之风:分裂的太阳' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '暴击伤害 +15%
' - temp += '技能攻击力 +15%
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=126) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +126
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +66
' - temp += '精神 +66
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]力量、智力 +4%
' - temp += '[守护恩赐]体力、精神 +120
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]力量、智力 +4%
' - temp += '[人偶操纵者]智力 +126
' - return temp - - -class 装备348(装备): - 名称 = '暗黑之魂:被吞噬的大地' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '伤害增加 +14%
' - temp += '附加伤害 +14%
' - temp += 'Lv60-80 技能等级+1
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=106) - self.属性描述 += 属性.被动增加(转职被动智力=96) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[勇气祝福]独立攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +96
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +66
' - temp += '精神 +66
' - temp += '[荣誉祝福]独立攻击力增加量 +4%
' - temp += '[守护恩赐]体力、精神 +106
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[禁忌诅咒]独立攻击力增加量 +4%
' - temp += '[人偶操纵者]智力 +96
' - temp += 'Lv60-80 技能等级 +1
' - return temp - - -class 装备349(装备): - 名称 = '暗黑之翼:被蚕食的大地' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 44 - 智力 = 44 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.08) - self.属性描述 += 属性.技能等级加成('所有', 48, 70, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +44
' - temp += '智力 +44
' - temp += '伤害增加 +10%
' - temp += '技能攻击力 +8%
' - temp += 'Lv48-70 技能等级+1
' - return temp - - 体力 = 44 - 精神 = 44 - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 48, 70, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=84) - self.属性描述 += 属性.被动增加(转职被动智力=94) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +44
' - temp += '[勇气祝福]魔法攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +94
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +44
' - temp += '精神 +44
' - temp += '[荣誉祝福]魔法攻击力增加量 +4%
' - temp += '[守护恩赐]体力、精神 +84
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +44
' - temp += '[禁忌诅咒]魔法攻击力增加量 +4%
' - temp += '[人偶操纵者]智力 +94
' - temp += 'Lv48-70 技能等级 +1
' - return temp - - -class 装备350(装备): - 名称 = '暗黑之风:分裂的大地' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.15) - self.属性描述 += 属性.技能等级加成('所有', 35, 50, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '暴击伤害 +10%
' - temp += '技能攻击力 +15%
' - temp += 'Lv35-50 技能等级+1
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 35, 50, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=111) - self.属性描述 += 属性.被动增加(转职被动智力=106) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.06) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[勇气祝福]力量、智力 +6%
' - temp += '[启示:圣歌]智力 +106
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +66
' - temp += '精神 +66
' - temp += '[荣誉祝福]力量、智力 +6%
' - temp += '[守护恩赐]体力、精神 +111
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[禁忌诅咒]力量、智力 +6%
' - temp += '[人偶操纵者]智力 +106
' - temp += 'Lv35-50 技能等级 +1
' - return temp - - -class 装备351(装备): - 名称 = '暗黑之魂:被吞噬的天空' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.12) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '伤害增加 +14%
' - temp += '附加伤害 +14%
' - temp += 'Lv1-45 技能CD-12%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=101) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[勇气祝福]独立攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +86
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +66
' - temp += '精神 +66
' - temp += '[荣誉祝福]独立攻击力增加量 +4%
' - temp += '[守护恩赐]体力、精神 +101
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[禁忌诅咒]独立攻击力增加量 +4%
' - temp += '[人偶操纵者]智力 +86
' - return temp - - -class 装备352(装备): - 名称 = '暗黑之翼:被蚕食的天空' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 44 - 智力 = 44 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.11) - self.属性描述 += 属性.技能攻击力加成(0.08) - self.属性描述 += 属性.技能冷却缩减(75, 80, 0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +44
' - temp += '智力 +44
' - temp += '伤害增加 +11%
' - temp += '技能攻击力 +8%
' - temp += 'Lv75-80 技能CD-15%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - 体力 = 44 - 精神 = 44 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=72) - self.属性描述 += 属性.被动增加(转职被动智力=108) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +44
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]魔法攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +108
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +44
' - temp += '精神 +44
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]魔法攻击力增加量 +4%
' - temp += '[守护恩赐]体力、精神 +72
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +44
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]魔法攻击力增加量 +4%
' - temp += '[人偶操纵者]智力 +108
' - return temp - - -class 装备353(装备): - 名称 = '暗黑之风:分裂的天空' - 所属套装 = '黑暗的第二权能' - 所属套装2 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.11) - self.属性描述 += 属性.技能攻击力加成(0.15) - self.属性描述 += 属性.技能冷却缩减(60, 70, 0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '暴击伤害 +11%
' - temp += '技能攻击力 +15%
' - temp += 'Lv60-70 技能CD-15%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - 体力 = 66 - 精神 = 66 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=106) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +66
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +106
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +44
' - temp += '精神 +44
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]力量、智力 +4%
' - temp += '[守护恩赐]体力、精神 +100
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +66
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]力量、智力 +4%
' - temp += '[人偶操纵者]智力 +106
' - return temp - - -# endregion - -# region 100改造&传说 - - -class 装备358(装备): - 名称 = '轮回·腐蚀之黑色十字耳环' - 模式 = 1 - 所属套装 = '智慧产物' - 所属套装2 = '暗之腐蚀' - 等级 = 100 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{力量、智力} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.百分比力智加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.20) - self.属性描述 += 属性.附加伤害加成(0.20) - pass - - def 进图属性(self, 属性): - 属性.力量 += 25 * 属性.获取改造(self.部位) - 属性.智力 += 25 * 属性.获取改造(self.部位) - self.属性描述 += 属性.百分比力智加成(0.02 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - temp += '伤害增加 +20%
' - temp += '附加伤害 +20%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '力量 +' + str(25 * 改造等级) + '
' - temp += '智力 +' + str(25 * 改造等级) + '
' - temp += '百分比力智+' + str(2 * 改造等级) + '%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - 体力 = 69 - 精神 = 69 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - 属性.智力 += 25 * 属性.获取改造(self.部位) - 属性.体力 += 25 * 属性.获取改造(self.部位) - 属性.精神 += 25 * 属性.获取改造(self.部位) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.03) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '智力 +169
' - temp += '[勇气祝福]独立攻击力增加量 +3%
' - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[启示:圣歌]智力 +20
' - temp += 改造属性title.format(改造等级) - temp += '智力 +{}
'.format(25 * 改造等级) - elif 属性.角色 == '圣职者(男)': - temp += '体力 +69
' - temp += '精神 +69
' - temp += '[荣誉祝福]独立攻击力增加量 +3%
' - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[守护恩赐]体力、精神 +120
' - temp += 改造属性title.format(改造等级) - temp += '体力 +{}
'.format(25 * 改造等级) - temp += '精神 +{}
'.format(25 * 改造等级) - elif 属性.角色 == '魔法师(女)': - temp += '智力 +169
' - temp += '[禁忌诅咒]独立攻击力增加量 +3%
' - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[人偶操纵者]智力 +20
' - temp += 改造属性title.format(改造等级) - temp += '智力 +{}
'.format(25 * 改造等级) - return temp - - -class 装备359(装备): - 名称 = '时空:腐蚀之黑色十字耳环' - 模式 = 1 - 所属套装 = '暗之腐蚀' - 等级 = 100 - 品质 = '传说' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.17) - self.属性描述 += 属性.附加伤害加成(0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '伤害增加 +17%
' - temp += '附加伤害 +17%
' - return temp - - 体力 = 67 - 精神 = 67 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.03) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +67
' - temp += '[勇气祝福]独立攻击力增加量 +3%
' - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[启示:圣歌]智力 +100
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +67
' - temp += '精神 +67
' - temp += '[荣誉祝福]独立攻击力增加量 +3%
' - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[守护恩赐]体力、精神 +100
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +67
' - temp += '[禁忌诅咒]独立攻击力增加量 +3%
' - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[人偶操纵者]智力 +100
' - return temp - - -class 装备360(装备): - 名称 = '腐蚀之黑色面具' - 模式 = 1 - 所属套装 = '暗之腐蚀' - 等级 = 100 - 品质 = '传说' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 45 - 智力 = 45 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '智力 +45
' - temp += '伤害增加 +15%
' - temp += '技能攻击力 +13%
' - return temp - - 体力 = 45 - 精神 = 45 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=108) - self.属性描述 += 属性.被动增加(转职被动智力=128) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +45
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]魔法攻击力增加量 +3%
' - temp += '[启示:圣歌]智力 +128
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +45
' - temp += '精神 +45
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]魔法攻击力增加量 +3%
' - temp += '[守护恩赐]体力、精神 +108
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +45
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]魔法攻击力增加量 +3%
' - temp += '[人偶操纵者]智力 +128
' - return temp - - -class 装备361(装备): - 名称 = '腐蚀之黑色尖角' - 模式 = 1 - 所属套装 = '暗之腐蚀' - 等级 = 100 - 品质 = '传说' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.13) - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '暴击伤害 +13%
' - temp += '技能攻击力 +15%
' - return temp - - 体力 = 67 - 精神 = 67 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - self.属性描述 += 属性.被动增加(守护恩赐体精=120) - self.属性描述 += 属性.被动增加(转职被动智力=126) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '智力 +67
' - temp += '[圣光天启]技能等级 +1
' - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[启示:圣歌]智力 +126
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +67
' - temp += '精神 +67
' - temp += '[天启之珠]技能等级 +1
' - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[守护恩赐]体力、精神 +120
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +67
' - temp += '[开幕!人偶剧场]技能等级 +1
' - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[人偶操纵者]智力 +126
' - return temp - - -class 装备369(装备): - 名称 = '腐蚀之黑色十字耳环' - 模式 = 1 - 所属套装 = '暗之腐蚀' - 等级 = 100 - 品质 = '传说' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.附加伤害加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '伤害增加 +14%
' - temp += '附加伤害 +14%
' - return temp - - 体力 = 67 - 精神 = 67 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=116) - self.属性描述 += 属性.被动增加(转职被动智力=116) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +67
' - temp += '[勇气祝福]独立攻击力增加量 +3%
' - temp += '[启示:圣歌]智力 +116
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +67
' - temp += '精神 +67
' - temp += '[荣誉祝福]独立攻击力增加量 +3%
' - temp += '[守护恩赐]体力、精神 +116
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +67
' - temp += '[禁忌诅咒]独立攻击力增加量 +3%
' - temp += '[人偶操纵者]智力 +116
' - return temp - - -# endregion - -# region 改造低级SS - - -class 装备393(装备): - 名称 = '转世:回溯的生命' - 所属套装 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.暴击伤害加成(0.12) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '伤害增加 +12%
' - temp += '暴击伤害 +12%
' - return temp - - -class 装备394(装备): - 名称 = '循环:无尽的诞生' - 所属套装 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 44 - 智力 = 44 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +44
' - temp += '智力 +44
' - temp += '最终伤害 +10%
' - temp += 'Lv1-85 技能等级+1
' - return temp - - -class 装备395(装备): - 名称 = '轮回:周而复始的时间' - 所属套装 = '万物的生灭' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.技能攻击力加成(0.10) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '所有属性强化 ++50
' - temp += '技能攻击力 +10%
' - return temp - - -class 装备396(改造产物): - 名称 = '江山如故' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 关联套装 = '江山如画[3]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 3: - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.28) - if x >= 4: - self.属性描述 += 属性.最终伤害加成(0.21) - self.属性描述 += 属性.百分比三攻加成(0.38) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.08) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - temp += '移动速度 +8%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 3: - temp += '伤害增加 +14%
' - temp += '暴击伤害 +28%
' - if 改造等级 >= 4: - temp += '最终伤害 +21%
' - temp += '百分比三攻 +38%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备403(改造产物): - 名称 = '过往时光的轮回' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 关联套装 = '兵法之神[5]' - 关联套装2 = '无相轮回的希望[2]' - 关联套装3 = '流逝轮回的记忆[3]' - - def 基础属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.45) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.技能攻击力加成(0.01 * x) - if x >= 1: - self.属性描述 += 属性.最终伤害加成(0.40) - if x >= 3: - self.属性描述 += 属性.暴击伤害加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.35) - self.属性描述 += 属性.伤害增加加成(0.15) - if x >= 4: - self.属性描述 += 属性.技能攻击力加成(0.15) - pass - - def 进图属性(self, 属性): - if (self.关联套装 in 属性.套装栏) and (self.关联套装2 in 属性.套装栏) and (self.关联套装3 - in 属性.套装栏): - self.改造属性(属性, 属性.获取改造(self.部位)) - pass - - def 城镇属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '暴伤 +45%(取最高值)
' - if not ((self.关联套装 in 属性.套装栏) and (self.关联套装2 in 属性.套装栏) and - (self.关联套装3 in 属性.套装栏)): - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '技能攻击力 +' + str(改造等级) + '%
' - if 改造等级 >= 1: - temp += '最终伤害 +40%
' - if 改造等级 >= 3: - temp += '暴击伤害 +15%
' - temp += '百分比力智 +35%
' - temp += '伤害增加 +15%
' - if 改造等级 >= 4: - temp += '技能攻击力 +15%
' - return temp - - -class 装备407(装备): - 名称 = '无相轮回的追忆' - 所属套装 = '无相轮回的希望' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '耳环' - 类型 = '特殊' - 力量 = 66 - 智力 = 66 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.06) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 名称 = '无相轮回的追忆' - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +66
' - temp += '智力 +66
' - temp += '伤害增加 +6%
' - return temp - - -class 装备408(装备): - 名称 = '无相轮回的信念' - 所属套装 = '无相轮回的希望' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 105 - 智力 = 105 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 50 - 属性.魔法攻击力 += 50 - 属性.独立攻击力 += 50 - 属性.黄字 = max(属性.黄字, 0.10) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +105
' - temp += '智力 +105
' - temp += '物理攻击力 +50
' - temp += '魔法攻击力 +50
' - temp += '独立攻击力 +50
' - temp += '伤害增加 +10%
' - return temp - - -class 装备409(装备): - 名称 = '无相轮回的眼泪' - 所属套装 = '无相轮回的希望' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(16) - self.属性描述 += 属性.暴击伤害加成(0.06) - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(10) - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '所有属性强化 +16
' - temp += '暴击伤害 +6%
' - temp += '所有属性强化 +10
' - return temp - - -class 装备415(改造产物): - 名称 = '聚魔漩涡' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 关联套装 = '魔战无双[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.暴击伤害加成(0.40) - if x >= 3: - self.属性描述 += 属性.百分比三攻加成(0.10) - self.属性描述 += 属性.百分比力智加成(0.33) - self.属性描述 += 属性.技能攻击力加成(0.20) - if x >= 5: - self.属性描述 += 属性.最终伤害加成(0.08) - self.属性描述 += 属性.技能攻击力加成(0.40) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.35) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '附加伤害 +35%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '暴击伤害 +40%
' - if 改造等级 >= 3: - temp += '百分比三攻 +10%
' - temp += '百分比力智 +33%
' - temp += '技能攻击力 +20%
' - if 改造等级 >= 5: - temp += '最终伤害 +8%
' - temp += '技能攻击力 +40%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备433(改造产物): - 名称 = '禁断契约书' - 部位 = '辅助装备' - 类型 = '特殊装备' - 力量 = 146 - 智力 = 146 - 关联套装 = '誓血之盟[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.伤害增加加成(0.10) - self.属性描述 += 属性.百分比力智加成(0.35) - if x >= 3: - self.属性描述 += 属性.最终伤害加成(0.05) - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.附加伤害加成(0.25) - if x >= 5: - self.属性描述 += 属性.最终伤害加成(0.27) - self.属性描述 += 属性.暴击伤害加成(0.50) - pass - - def 基础属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.45) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '暴伤 +45%(取最高值)
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '伤害增加 +10%
' - temp += '百分比力智 +35%
' - if 改造等级 >= 3: - temp += '最终伤害 +5%
' - temp += '百分比力智 +15%
' - temp += '技能攻击力 +20%
' - temp += '附加伤害 +25%
' - if 改造等级 >= 3: - temp += '最终伤害 +27%
' - temp += '暴击伤害 +50%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备445(改造产物): - 名称 = '最佳球手之球' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 关联套装 = '最佳球手的绝杀[5]' - 属性1描述 = '{力量、智力} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.百分比力智加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.百分比力智加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.暴击伤害加成(0.35) - self.属性描述 += 属性.伤害增加加成(0.20) - if x >= 3: - self.属性描述 += 属性.百分比力智加成(0.20) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.伤害增加加成(0.10) - if x >= 5: - self.属性描述 += 属性.附加伤害加成(0.65) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.45) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '最终伤害 +45%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '百分比力智 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '暴击伤害 +35%
' - temp += '伤害增加 +20%
' - if 改造等级 >= 3: - temp += '百分比力智 +20%
' - temp += '技能攻击力 +20%
' - temp += '伤害增加 +10%
' - if 改造等级 >= 5: - temp += '附加伤害 +65%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备451(改造产物): - 名称 = '战术之王的战术指挥棒' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 关联套装 = '战术之王的御敌[5]' - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.百分比三攻加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.最终伤害加成(0.32) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 3) - if x >= 3: - self.属性描述 += 属性.百分比三攻加成(0.30) - self.属性描述 += 属性.技能攻击力加成(0.20) - if x >= 5: - self.属性描述 += 属性.技能攻击力加成(0.10) - pass - - def 基础属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.42) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '暴伤 +42%(取最高值)
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '百分比三攻 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '最终伤害 +32%
' - temp += 'Lv60-80 技能等级+3
' - if 改造等级 >= 3: - temp += '百分比三攻 +30%
' - temp += '技能攻击力 +20%
' - if 改造等级 >= 5: - temp += '技能攻击力 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备469(改造产物): - 名称 = '全元素水晶' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 146 - 智力 = 146 - 关联套装 = '天劫[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.百分比力智加成(0.15) - self.属性描述 += 属性.属性附加加成(0.35) - if x >= 3: - self.属性描述 += 属性.暴击伤害加成(0.20) - self.属性描述 += 属性.最终伤害加成(0.26) - if x >= 5: - self.属性描述 += 属性.技能攻击力加成(0.10) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.25) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +146
' - temp += '智力 +146
' - temp += '百分比力智 +25%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '百分比力智 +15%
' - temp += '属性附加 +35%
' - if 改造等级 >= 3: - temp += '暴击伤害 +20%
' - temp += '最终伤害 +26%
' - if 改造等级 >= 5: - temp += '技能攻击力 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备473(改造产物): - 名称 = '冰雪公主的结晶' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 关联套装 = '冰雪公主的霜语首饰[3]' - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.暴击伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.伤害增加加成(0.25) - if x >= 3: - self.属性描述 += 属性.最终伤害加成(0.28) - self.属性描述 += 属性.百分比力智加成(0.22) - self.属性描述 += 属性.技能攻击力加成(0.15) - if x >= 4: - self.属性描述 += 属性.最终伤害加成(0.58) - pass - - def 基础属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '暴击伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '伤害增加 +25%
' - if 改造等级 >= 3: - temp += '最终伤害 +28%
' - temp += '百分比力智 +22%
' - temp += '技能攻击力 +15%
' - if 改造等级 >= 5: - temp += '最终伤害 +58%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备477(改造产物): - 名称 = '扭曲的异界魔石' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 169 - 智力 = 169 - 关联套装 = '精炼的异界魔石首饰[3]' - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.伤害增加加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.暴击伤害加成(0.22) - if x >= 3: - self.属性描述 += 属性.百分比三攻加成(0.40) - self.属性描述 += 属性.伤害增加加成(0.13) - self.属性描述 += 属性.最终伤害加成(0.20) - if x >= 4: - self.属性描述 += 属性.所有属性强化加成(57) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - pass - - def 基础属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +169
' - temp += '智力 +169
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '伤害增加 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '暴击伤害 +22%
' - if 改造等级 >= 3: - temp += '百分比三攻 +40%
' - temp += '伤害增加 +13%
' - temp += '最终伤害 +20%
' - if 改造等级 >= 5: - temp += '所有属性强化 +57
' - temp += 'Lv1-85 技能等级+2
' - temp += 'Lv100 技能等级+2
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备478(装备): - 名称 = '感染者臂章' - 所属套装 = '无' - 模式 = 1 - 等级 = 90 - 品质 = '传说' - 部位 = '辅助装备' - 类型 = '特殊' - 力量 = 41 - 智力 = 41 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - if 属性.职业 == '街霸': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.中毒倍率 += 0.5 - if 属性.角色 == '格斗家(男)': - i.感电倍率 += 0.5 - else: - i.涂毒倍率 += 0.5 - i.出血倍率 += 0.5 - i.灼伤倍率 += 0.5 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +41
' - temp += '智力 +41
' - temp += '中毒、涂毒伤害 +50%
' - temp += '感电伤害 +50%
' - temp += '出血伤害 +50%
' - temp += '灼伤伤害 +50%
' - return temp - - -# endregion - -# region 100光环传说 - -# endregion - - -class 装备534(装备): - 名称 = '王座本源' - 模式 = 0 - 所属套装 = '无' - 等级 = 90 - 品质 = '史诗' - 部位 = '魔法石' - 类型 = '特殊' - 力量 = 63 - 智力 = 63 - 体力 = 63 - 精神 = 63 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性_BUFF(self, 属性): - 属性.技能等级加成('所有', 1, 85, 1) - - def BUFF属性(self, 属性): - 属性.体力 += 200 - 属性.精神 += 200 - - def 装备描述_BUFF(self, 属性): - self.属性描述 = '' - if 属性.角色 == '圣职者(女)' or 属性.角色 == '魔法师(女)': - self.属性描述 += '智力 +63
' - else: - self.属性描述 += '体力 +63
' - self.属性描述 += '精神 +63
' - self.属性描述 += 'lv1-85 技能等级+1
' - self.属性描述 += '体力 +200
' - self.属性描述 += '精神 +200
' - return self.属性描述 diff --git a/PublicReference/equipment/装备_防具.py b/PublicReference/equipment/装备_防具.py deleted file mode 100644 index 49311ef0..00000000 --- a/PublicReference/equipment/装备_防具.py +++ /dev/null @@ -1,8111 +0,0 @@ -from .basic_equ import * - - -# region 100SS防具 -class 装备74(装备): - 名称 = '魔法师[???]的长袍' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.最终伤害加成(0.12) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def 其它属性(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - pass - - -class 装备75(装备): - 名称 = '死亡阴影夹克' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.伤害增加加成(0.18) - self.属性描述 += 属性.暴击伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - pass - - -class 装备76(装备): - 名称 = '燃烧烈焰之勇气' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - self.属性描述 += 属性.暴击伤害加成(0.28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - pass - - -class 装备77(装备): - 名称 = '撒旦:沸腾之怒' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备78(装备): - 名称 = '奔流不息之岁月' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.32) - if 属性.职业 == '缔造者': - self.属性描述 += 属性.技能倍率加成(50, -0.3) - self.属性描述 += 属性.技能恢复加成(50, 50, 1.00) - else: - self.属性描述 += 属性.技能倍率加成(45, -0.3) - self.属性描述 += 属性.技能恢复加成(45, 45, 1.00) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备79(装备): - 名称 = '优雅旋律华尔兹' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14) - # self.属性描述 += 属性.伤害增加加成(0.09) - # self.属性描述 += 属性.技能攻击力加成(0.1) - self.属性描述 += 属性.伤害增加加成(0.17) - # self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备80(装备): - 名称 = '首席执行官裁决夹克' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.19) - self.属性描述 += 属性.暴击伤害加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备81(装备): - 名称 = '炙炎:火龙果' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备82(装备): - 名称 = '妖精之姿' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=241) - self.属性描述 += 属性.被动增加(转职被动智力=141) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备83(装备): - 名称 = '人性的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.11) - self.属性描述 += 属性.伤害增加加成(0.21) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=180) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - pass - - -class 装备84(装备): - 名称 = '大祭司的星祈礼袍' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.最终伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备85(装备): - 名称 = '冲锋陷阵胸甲' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.百分比三攻加成(0.35) - else: - self.属性描述 += 属性.百分比三攻加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备86(装备): - 名称 = '气吞山河战甲' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.34) - if 属性.职业 == '缔造者': - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - else: - self.属性描述 += 属性.技能等级加成('所有', 45, 45, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 45, 45, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备87(装备): - 名称 = '千链锁灵战甲' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备88(装备): - 名称 = '宽恕坚韧之地' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.28) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=242) - self.属性描述 += 属性.被动增加(转职被动智力=142) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备89(装备): - 名称 = '堕落深渊黑魔法衬衫' - 模式 = 0 - 所属套装 = '深渊窥视者' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=173) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备90(装备): - 名称 = '引路者的黄昏披风' - 模式 = 0 - 所属套装 = '圣者的黄昏' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.2) - self.属性描述 += 属性.百分比三攻加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=236) - self.属性描述 += 属性.被动增加(转职被动智力=136) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备91(装备): - 名称 = '地狱边缘' - 模式 = 0 - 所属套装 = '坎坷命运' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.04) - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.施放速度增加(0.06) - if 属性.装备检查('悲痛者项链'): - self.属性描述 += '装备悲痛者项链时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - if 属性.装备检查('悲情者遗物'): - self.属性描述 += '装备悲情者遗物时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备92(装备): - 名称 = '泣血之恨' - 模式 = 0 - 所属套装 = '吞噬愤怒' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.23) - self.属性描述 += 属性.持续伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - - -class 装备93(装备): - 名称 = '大魔法师[???]的长袍' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '布甲' - - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [11, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能等级}{Lv}1~$value +1' - 属性2范围 = [45, 5, 5, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [12, 3, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [11, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [90, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [200, 20, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 神话属性title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.技能等级加成('所有', 1, - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]), 1) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11 - self.属性1选择_BUFF / 100, - BUFF智力per=1.11 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.技能等级加成('所有', 1, (45 - self.属性2选择_BUFF * 5), 1) - self.属性描述 += 属性.觉醒增加(一觉力智=90 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=100 - self.属性3选择_BUFF * 20) - - -class 装备94(装备): - 名称 = '掌管生死之影夹克' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '皮甲' - - 属性1描述 = '{力量、智力} +$value%' - 属性1范围 = [10, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value' - 属性3范围 = [170, 80, 10] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [100, 10, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF力智} +$value%' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉被动}(120/100) +$value' - 属性3范围_BUFF = [180, 0, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.伤害增加加成(0.18) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比力智加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.三攻固定加成(x=(self.属性3范围[0] - self.属性3选择 * self.属性3范围[2])) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=100 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.1 - self.属性2选择_BUFF / 100, - BUFF智力per=1.1 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(信念光环体精=300 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=280 - self.属性3选择_BUFF * 20) - - -class 装备95(装备): - 名称 = '爆裂大地之勇猛' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '轻甲' - - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [8, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{力量、智力} +$value%' - 属性2范围 = [8, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [15, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - 属性1描述_BUFF = '{转职被动} +$value' - 属性1范围_BUFF = [240, 100, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [8, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [150, 10, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - self.属性描述 += 属性.暴击伤害加成(0.28 - self.属性3选择 / 100) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=150 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(守护恩赐体精=240 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=240 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.08 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.08 - self.属性2选择_BUFF / 100, - BUFF独立per=1.08 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=150 - self.属性3选择_BUFF * 10) - - -class 装备96(装备): - 名称 = '撒旦:愤怒之王' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '重甲' - - 属性1描述 = '{持续伤害} +$value%' - 属性1范围 = [5, 2, 1] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [7, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{伤害增加} +$value%' - 属性4范围 = [9, 1, 1] - 属性4选择 = 0 - - 属性1描述_BUFF = '{一觉被动}(160/140) +$value' - 属性1范围_BUFF = [60, 0, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [50, 20, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF力智} +$value%' - 属性4范围_BUFF = [9, 1, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.16) - self.属性描述 += 神话属性title - self.属性描述 += 属性.持续伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(信念光环体精=220 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=200 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.07 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.07 - self.属性2选择_BUFF / 100, - BUFF独立per=1.07 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=50 - self.属性3选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.09 - self.属性4选择_BUFF / 100, - BUFF智力per=1.09 - self.属性4选择_BUFF / 100) - - -class 装备97(装备): - 名称 = '英明循环之生命' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '板甲' - - 属性1描述 = '{技能等级}{Lv}1~$value +1' - 属性1范围 = [45, 30, 5, 1] - 属性1选择 = 0 - 属性2描述 = '{附加伤害} +$value%' - 属性2范围 = [5, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [8, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{最终伤害} +$value%' - 属性4范围 = [6, 1, 1] - 属性4选择 = 0 - - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [6, 3, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [60, 20, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [9, 2, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{转职被动} {Lv}+$value' - 属性4范围_BUFF = [6, 1, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.3) - if 属性.职业 == '缔造者': - self.属性描述 += 属性.技能倍率加成(50, -0.3) - self.属性描述 += 属性.技能恢复加成(50, 50, 1.00) - else: - self.属性描述 += 属性.技能倍率加成(45, -0.3) - self.属性描述 += 属性.技能恢复加成(45, 45, 1.00) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成('所有', 1, - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]), 1) - self.属性描述 += 属性.附加伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成('所有', 1, 45 - self.属性1选择_BUFF * 5, 1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06 - self.属性1选择_BUFF / 100, - BUFF智力per=1.06 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=60 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.09 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.09 - self.属性3选择_BUFF / 100, - BUFF独立per=1.09 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=6 - self.属性4选择_BUFF) - - -class 装备98(装备): - 名称 = '浪漫旋律华尔兹' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '布甲' - - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{最终伤害} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [8, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{所有属性强化} +$value' - 属性4范围 = [24, 12, 4] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.14) - self.属性描述 += 属性.伤害增加加成(0.09) - self.属性描述 += 属性.技能攻击力加成(0.1) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.10) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.所有属性强化加成(self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - 属性1描述_BUFF = '{一觉被动}(120/100) +$value' - 属性1范围_BUFF = [40, 0, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [100, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [8, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{转职被动} +$value' - 属性4范围_BUFF = [140, 80, 20] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=100 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.08 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.08 - self.属性3选择_BUFF / 100, - BUFF独立per=1.08 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=140 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=140 - self.属性4选择_BUFF * 20) - - -class 装备99(装备): - 名称 = '皇家裁决者审判外套' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '皮甲' - - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [7, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{伤害增加} +$value%' - 属性2范围 = [5, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [6, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{最终伤害} +$value%' - 属性4范围 = [5, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.19) - self.属性描述 += 属性.技能攻击力加成(0.14) - self.属性描述 += 神话属性title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [8, 2, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [5, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [60, 10, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉被动}(220/200) +$value' - 属性4范围_BUFF = [80, 0, 20] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08 - self.属性1选择_BUFF / 100, - BUFF智力per=1.08 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.05 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.05 - self.属性2选择_BUFF / 100, - BUFF独立per=1.05 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(信念光环体精=300 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=60 - self.属性3选择_BUFF * 10) - self.属性描述 += 属性.被动增加(一觉被动力智=280 - self.属性4选择_BUFF * 20) - - -class 装备100(装备): - 名称 = '炙炎:霸王树' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '轻甲' - - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [10, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [8, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value%' - 属性4范围 = [3, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.08) - self.属性描述 += 属性.技能攻击力加成(0.09) - self.属性描述 += 神话属性title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [80, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉被动}(180/160) +$value' - 属性4范围_BUFF = [40, 0, 20] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02, BUFF智力per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.10 - self.属性1选择_BUFF / 100, - BUFF智力per=1.10 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=80 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.04 - self.属性3选择_BUFF / 100, - BUFF独立per=1.04 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(一觉被动力智=200 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(信念光环体精=220 - self.属性4选择_BUFF * 20) - - -class 装备101(装备): - 名称 = '天堂之翼' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '重甲' - - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [9, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{力量、智力} +$value%' - 属性2范围 = [4, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{物攻/魔攻/独立} +$value%' - 属性4范围 = [7, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.34) - self.属性描述 += 神话属性title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.5) - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [90, 10, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动} +$value' - 属性2范围_BUFF = [200, 140, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉被动}(140/120) +$value' - 属性3范围_BUFF = [60, 0, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF力智} +$value%' - 属性4范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=241) - self.属性描述 += 属性.被动增加(转职被动智力=141) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=90 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(信念光环体精=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=180 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.07 - self.属性4选择_BUFF / 100, - BUFF智力per=1.07 - self.属性4选择_BUFF / 100) - - -class 装备102(装备): - 名称 = '神赐的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '板甲' - - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [5, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [7, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [6, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{附加伤害} +$value%' - 属性4范围 = [5, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.21) - self.属性描述 += 属性.百分比三攻加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.05) - self.属性描述 += 神话属性title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [5, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [200, 100, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉被动}(140/120) +$value' - 属性4范围_BUFF = [80, 0, 20] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=180) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05 - self.属性1选择_BUFF / 100, - BUFF智力per=1.05 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.07 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.07 - self.属性2选择_BUFF / 100, - BUFF独立per=1.07 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=200 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(信念光环体精=220 - self.属性4选择_BUFF * 20) - - -class 装备103(装备): - 名称 = '大祭司的神启礼服' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - - 类型 = '布甲' - - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [10, 2, 1] - 属性1选择 = 0 - 属性2描述 = '{力量、智力} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [11, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF三攻} +$value%' - 属性1范围_BUFF = [10, 2, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动}{Lv} +$value' - 属性2范围_BUFF = [12, 3, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [150, 50, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.10 - self.属性1选择_BUFF / 100, - BUFF魔攻per=1.10 - self.属性1选择_BUFF / 100, - BUFF独立per=1.10 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=12 - self.属性2选择_BUFF) - self.属性描述 += 属性.觉醒增加(一觉力智=150 - self.属性3选择_BUFF * 10) - - -class 装备104(装备): - 名称 = '战无不胜上衣' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - - 类型 = '皮甲' - - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [10, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value%' - 属性4范围 = [8, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value%' - 属性1范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉被动}(120/100) +$value' - 属性2范围_BUFF = [40, 0, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{转职被动} +$value' - 属性4范围_BUFF = [200, 60, 20] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.10 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.10 - self.属性3选择_BUFF / 100, - BUFF独立per=1.10 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性4选择_BUFF * 20) - - -class 装备105(装备): - 名称 = '摧枯拉朽胸甲' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '轻甲' - - 属性1描述 = '{技能攻击力} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{最终伤害} +$value%' - 属性2范围 = [4, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [9, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{暴击伤害} +$value%' - 属性4范围 = [7, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - # self.属性描述 += 属性.伤害增加加成(0.34) - self.属性描述 += 属性.伤害增加加成(0.28) - self.属性描述 += 属性.技能攻击力加成(0.06) - if 属性.职业 == '缔造者': - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - else: - self.属性描述 += 属性.技能等级加成('所有', 45, 45, 2) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能攻击力加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value%' - 属性1范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉被动}(100/80) +$value' - 属性3范围_BUFF = [160, 0, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF力智} +$value%' - 属性4范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 45, 45, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.04 - self.属性2选择_BUFF / 100, - BUFF独立per=1.04 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(信念光环体精=260 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=240 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.07 - self.属性4选择_BUFF / 100, - BUFF智力per=1.07 - self.属性4选择_BUFF / 100) - - -class 装备106(装备): - 名称 = '千链万化战甲' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - - 类型 = '重甲' - - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [10, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [10, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.35) - self.属性描述 += 神话属性title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [11, 2, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动}{Lv} +$value' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value%' - 属性3范围_BUFF = [12, 3, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11 - self.属性1选择_BUFF / 100, - BUFF智力per=1.11 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=10 - self.属性2选择_BUFF) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.12 - self.属性3选择_BUFF / 100) - - -class 装备107(装备): - 名称 = '生命脉动之地' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '板甲' - - 属性1描述 = '{力量、智力} +$value%' - 属性1范围 = [12, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{伤害增加} +$value%' - 属性2范围 = [9, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [9, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.32) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比力智加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF力智} +$value%' - 属性1范围_BUFF = [13, 2, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [10, 2, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动}{Lv} +$value' - 属性3范围_BUFF = [10, 2, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=242) - self.属性描述 += 属性.被动增加(转职被动智力=142) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.13 - self.属性1选择_BUFF / 100, - BUFF智力per=1.13 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF独立per=1.1 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=10 - self.属性3选择_BUFF) - - -class 装备108(装备): - 名称 = '深渊囚禁者长袍' - 模式 = 0 - 所属套装 = '深渊窥视者' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '布甲' - - 属性1描述 = '{技能等级}{Lv}5~$value +1' - 属性1范围 = [100, 10, 5, 5] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value%' - 属性2范围 = [7, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value' - 属性3范围 = [80, 10, 10] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.35) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成('所有', 5, - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]), 1) - self.属性描述 += 属性.百分比三攻加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.三攻固定加成(x=(self.属性3范围[0] - self.属性3选择 * self.属性3范围[2])) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{转职被动}{Lv} +$value' - 属性1范围_BUFF = [17, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉被动}(40/20) +$value' - 属性2范围_BUFF = [120, 0, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [200, 60, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=173) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成('所有', 5, 100 - self.属性1选择_BUFF * 5, 1) - self.属性描述 += 属性.被动增加(转职被动Lv=17 - self.属性1选择_BUFF) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性3选择_BUFF * 20) - - -class 装备109(装备): - 名称 = '圣者的黄昏披风' - 模式 = 0 - 所属套装 = '圣者的黄昏' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '皮甲' - - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [40, 4, 4] - 属性1选择 = 0 - 属性2描述 = '{伤害增加} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [10, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.2) - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 神话属性title - self.属性描述 += 属性.所有属性强化加成(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) - self.属性描述 += 属性.伤害增加加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉被动}(40/20) +$value' - 属性1范围_BUFF = [180, 0, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [240, 60, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=236) - self.属性描述 += 属性.被动增加(转职被动智力=136) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(信念光环体精=220 - self.属性1选择_BUFF) - self.属性描述 += 属性.被动增加(一觉被动力智=200 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF独立per=1.1 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=240 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=240 - self.属性3选择_BUFF * 20) - - -class 装备110(装备): - 名称 = '逆转结局' - 模式 = 0 - 所属套装 = '坎坷命运' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '轻甲' - - 属性1描述 = '{技能等级}{Lv}1~$value +1' - 属性1范围 = [48, 35, 5, 1] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value' - 属性2范围 = [70, 10, 10] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [5, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value' - 属性4范围 = [160, 40, 20] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.35) - if 属性.装备检查('悲痛者项链'): - self.属性描述 += '装备悲痛者项链时
' - self.属性描述 += 属性.百分比三攻加成(-0.10) - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.装备检查('悲情者遗物'): - self.属性描述 += '装备悲情者遗物时
' - self.属性描述 += 属性.百分比三攻加成(-0.10) - self.属性描述 += 属性.附加伤害加成(0.10) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成( - '所有', 1, min(self.属性1范围[0], (50 - self.属性1选择 * self.属性1范围[2])), 1) - self.属性描述 += 属性.三攻固定加成(x=(self.属性2范围[0] - self.属性2选择 * self.属性2范围[2])) - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.力智固定加成(x=(self.属性4范围[0] - self.属性4选择 * self.属性4范围[2])) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.06) - self.属性描述 += 属性.移动速度增加(0.06) - self.属性描述 += 属性.施放速度增加(0.09) - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value%' - 属性1范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动}{Lv} +$value' - 属性2范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [5, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{转职被动} +$value' - 属性4范围_BUFF = [160, 40, 20] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能等级加成('所有', 1, min(48, 50 - self.属性1选择_BUFF * 5), 1) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=7 - self.属性2选择_BUFF) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.05 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.05 - self.属性3选择_BUFF / 100, - BUFF独立per=1.05 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=160 - self.属性4选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=160 - self.属性4选择_BUFF * 20) - - -class 装备111(装备): - 名称 = '灭世之怒' - 模式 = 0 - 所属套装 = '吞噬愤怒' - 等级 = 100 - 品质 = '神话' - 部位 = '上衣' - 类型 = '重甲' - - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{物攻/魔攻/独立} +$value%' - 属性2范围 = [13, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [4, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{技能攻击力} +$value%' - 属性4范围 = [5, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.23) - self.属性描述 += 属性.持续伤害加成(0.1) - self.属性描述 += 神话属性title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.技能攻击力加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉被动} +$value' - 属性1范围_BUFF = [60, 0, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF力智} +$value%' - 属性2范围_BUFF = [13, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{转职被动} +$value' - 属性3范围_BUFF = [200, 140, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{一觉力智} +$value' - 属性4范围_BUFF = [50, 10, 10] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.13 - self.属性2选择_BUFF / 100, - BUFF智力per=1.13 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=50 - self.属性4选择_BUFF * 10) - - -class 装备112(装备): - 名称 = '魔法师[???]的护腿' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.1) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(18) - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12, 4) - pass - - -class 装备113(装备): - 名称 = '死亡阴影短裤' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04) - - self.属性描述 += 属性.暴击伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.18, 4) - pass - - -class 装备114(装备): - 名称 = '肆虐狂风之意志' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - self.属性描述 += 属性.附加伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.16, 4) - pass - - -class 装备115(装备): - 名称 = '亚蒙:谎言之力' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16, 4) - pass - - -class 装备116(装备): - 名称 = '奔流不息之伽蓝' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能倍率加成(40, -0.3) - self.属性描述 += 属性.技能恢复加成(40, 40, 1.0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.32, 4) - pass - - -class 装备117(装备): - 名称 = '魅惑律动伦巴' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.17) - self.属性描述 += 属性.技能冷却缩减(35, 45, 0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 4) - pass - - -class 装备118(装备): - 名称 = '首席执行官裁决短裤' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.17, 4) - pass - - -class 装备119(装备): - 名称 = '炙炎:荔枝' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.33, 4) - pass - - -class 装备120(装备): - 名称 = '邪恶之角' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=241) - self.属性描述 += 属性.被动增加(转职被动智力=141) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.34, 4) - pass - - -class 装备121(装备): - 名称 = '命运的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - - if 属性.命运的抉择 == 0: - self.属性描述 += 期望属性title - self.属性描述 += 属性.伤害增加加成(0.02) - self.属性描述 += 属性.暴击伤害加成(0.02) - self.属性描述 += 属性.最终伤害加成(0.02) - self.属性描述 += 属性.百分比三攻加成(0.02) - self.属性描述 += 属性.技能攻击力加成(0.02) - if 属性.命运的抉择 == 1: - self.属性描述 += 属性.伤害增加加成(0.1) - if 属性.命运的抉择 == 2: - self.属性描述 += 属性.暴击伤害加成(0.1) - if 属性.命运的抉择 == 3: - self.属性描述 += 属性.最终伤害加成(0.1) - if 属性.命运的抉择 == 4: - self.属性描述 += 属性.百分比三攻加成(0.1) - if 属性.命运的抉择 == 5: - self.属性描述 += 属性.技能攻击力加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=180) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.25, 4) - pass - - -class 装备122(装备): - 名称 = '大祭司的星祈长裙' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12, 4) - pass - - -class 装备123(装备): - 名称 = '破釜沉舟护腿' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.暴击伤害加成(0.35, 4) - else: - self.属性描述 += 属性.暴击伤害加成(0.34, 4) - pass - - -class 装备124(装备): - 名称 = '雷霆万钧护腿' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - - self.属性描述 += 属性.技能等级加成('所有', 35, 35, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 35, 35, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.34, 4) - pass - - -class 装备125(装备): - 名称 = '千链锁灵护腿' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.35, 4) - pass - - -class 装备126(装备): - 名称 = '蚕食新绿之息' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暗属性强化加成(24) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.1) - self.属性描述 += 属性.魔法暴击率增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=242) - self.属性描述 += 属性.被动增加(转职被动智力=142) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.32, 4) - pass - - -class 装备127(装备): - 名称 = '驱散黑暗短裤' - 模式 = 0 - 所属套装 = '黑魔法探求者' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=275) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.21, 4) - pass - - -class 装备128(装备): - 名称 = '时空漩涡护腿' - 模式 = 0 - 所属套装 = '时空旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=242) - self.属性描述 += 属性.被动增加(转职被动智力=142) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.32, 4) - pass - - -class 装备129(装备): - 名称 = '灵魂的呐喊' - 模式 = 0 - 所属套装 = '穿透命运的呐喊' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.17) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 4) - pass - - -class 装备130(装备): - 名称 = '疯狂之如影随形' - 模式 = 0 - 所属套装 = '狂乱追随者' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.25) - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.22, 4) - pass - - -class 装备131(装备): - 名称 = '魔法师[???]的披风' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.技能攻击力加成(0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备132(装备): - 名称 = '死亡阴影护肩' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.暴击伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备133(装备): - 名称 = '艰难求生之斗志' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - self.属性描述 += 属性.附加伤害加成(0.16) - self.属性描述 += 属性.技能攻击力加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备134(装备): - 名称 = '贝利亚尔:毁灭之种' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.16) - self.属性描述 += 属性.技能攻击力加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备135(装备): - 名称 = '奔流不息之山川' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.29) - self.属性描述 += 属性.技能倍率加成(35, -0.3) - self.属性描述 += 属性.技能恢复加成(35, 35, 1.0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备136(装备): - 名称 = '性感洒脱探戈' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.17) - self.属性描述 += 属性.技能攻击力加成(0.14) - self.属性描述 += 属性.技能冷却缩减(75, 80, 0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=260) - self.属性描述 += 属性.被动增加(转职被动智力=160) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备137(装备): - 名称 = '首席执行官裁决肩甲' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备138(装备): - 名称 = '炙炎:榴莲' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.33) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备139(装备): - 名称 = '魔龙之心' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.16) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=312) - self.属性描述 += 属性.被动增加(转职被动智力=212) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - - -class 装备140(装备): - 名称 = '矛盾的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=320) - self.属性描述 += 属性.被动增加(转职被动智力=220) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备141(装备): - 名称 = '大祭司的星祈披肩' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.技能攻击力加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('大祭司的神启礼服'): - self.属性描述 += 属性.施放速度增加(0.24) - else: - self.属性描述 += 属性.施放速度增加(0.18) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备142(装备): - 名称 = '枪林弹雨护肩' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.技能攻击力加成(0.35) - else: - self.属性描述 += 属性.技能攻击力加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备143(装备): - 名称 = '排山倒海护肩' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.34) - self.属性描述 += 属性.技能等级加成('所有', 60, 60, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 60, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备144(装备): - 名称 = '千链锁灵肩甲' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(-0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备145(装备): - 名称 = '猛烈燃烧之炎' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.32) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.火属性强化加成(24) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=170) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.02) - - -class 装备146(装备): - 名称 = '魔法师[???]的长靴' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.暴击伤害加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.14) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=300) - self.属性描述 += 属性.被动增加(转职被动智力=200) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备147(装备): - 名称 = '死亡阴影长靴' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.最终伤害加成(0.1) - self.属性描述 += 属性.附加伤害加成(0.18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - - -class 装备148(装备): - 名称 = '寂静寒夜之忍耐' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.28) - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=268) - self.属性描述 += 属性.被动增加(转职被动智力=168) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备149(装备): - 名称 = '巴尔:堕落之魂' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.伤害增加加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备150(装备): - 名称 = '奔流不息之银河' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.32) - self.属性描述 += 属性.技能倍率加成(25, -0.3) - self.属性描述 += 属性.技能恢复加成(25, 25, 1.0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.06) - - -class 装备151(装备): - 名称 = '激烈欢动踢踏' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.17) - self.属性描述 += 属性.附加伤害加成(0.14) - self.属性描述 += 属性.技能冷却缩减(1, 30, 0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - - -class 装备152(装备): - 名称 = '首席执行官裁决长靴' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.11) - self.属性描述 += 属性.最终伤害加成(0.21) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备153(装备): - 名称 = '炙炎:木瓜' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.3) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.19) - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备154(装备): - 名称 = '自然之核' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(70) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - # 暗改 - # self.属性描述 += 属性.被动增加(守护恩赐体精=180) - # self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备155(装备): - 名称 = '守护的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.17) - if 属性.护石第一栏 != '无': - self.属性描述 += 属性.单技能修改(属性.护石第一栏, 1.55, 0.7) - if 属性.护石第二栏 != '无': - self.属性描述 += 属性.单技能修改(属性.护石第二栏, 1.45, 0.75) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=180) - if 属性.护石第一栏 != '无': - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - if 属性.护石第二栏 != '无': - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.02) - - -class 装备156(装备): - 名称 = '大祭司的星祈凉鞋' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.附加伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('大祭司的神启礼服'): - self.属性描述 += 属性.移动速度增加(0.18) - else: - self.属性描述 += 属性.移动速度增加(0.12) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备157(装备): - 名称 = '赤地千里战靴' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.百分比力智加成(0.35) - else: - self.属性描述 += 属性.百分比力智加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备158(装备): - 名称 = '遮天蔽日长靴' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.34) - self.属性描述 += 属性.技能等级加成('所有', 70, 70, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 70, 70, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备159(装备): - 名称 = '千链锁灵战靴' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(-0.06) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备160(装备): - 名称 = '交织烈日之风' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.32) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.光属性强化加成(24) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.14) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 48, 1) - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备161(装备): - 名称 = '堕入地狱之脚' - 模式 = 0 - 所属套装 = '地狱求道者' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(70) - self.属性描述 += 属性.技能等级加成('所有', 1, 90, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 90, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - - -class 装备162(装备): - 名称 = '次元漫步者长靴' - 模式 = 0 - 所属套装 = '次元旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.伤害增加加成(0.19) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.14) - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.02) - - -class 装备163(装备): - 名称 = '悲喜交加' - 模式 = 0 - 所属套装 = '天命无常' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.29) - pass - - def 进图属性(self, 属性): - if '天命无常[2]' in 属性.套装栏: - if 属性.天命无常 == 0: - if 属性.装备检查('命运反抗者'): - self.属性描述 += 属性.所有属性强化加成(22) - else: - self.属性描述 += 属性.所有属性强化加成(20) - else: - if 属性.天命无常 % 2 == 0: - self.属性描述 += 属性.所有属性强化加成(30) - else: - self.属性描述 += 属性.所有属性强化加成(10) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - -class 装备164(装备): - 名称 = '崩溃世界的忧伤' - 模式 = 0 - 所属套装 = '悲剧的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.17) - if 属性.悲剧的残骸 == 0: - self.属性描述 += 期望属性title - if 属性.装备检查('心痛如绞的诀别'): - self.属性描述 += 属性.附加伤害加成(0.106) - else: - self.属性描述 += 属性.附加伤害加成(0.10) - elif 属性.悲剧的残骸 == 1: - if 属性.装备检查('心痛如绞的诀别'): - self.属性描述 += 属性.附加伤害加成(0.10) - else: - self.属性描述 += 属性.附加伤害加成(0.08) - elif 属性.悲剧的残骸 == 2: - self.属性描述 += 属性.附加伤害加成(0.10) - elif 属性.悲剧的残骸 == 3: - self.属性描述 += 属性.附加伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.悲剧的残骸 == 0: - self.属性描述 += 属性.攻击速度增加(0.021) - elif 属性.悲剧的残骸 >= 2: - self.属性描述 += 属性.攻击速度增加(0.03) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=130) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - self.属性描述 += 属性.被动增加(一觉被动Lv=2) - - -class 装备165(装备): - 名称 = '魔法师[???]的腰带' - 模式 = 0 - 所属套装 = '遗忘魔法师的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.附加伤害加成(0.14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备166(装备): - 名称 = '死亡阴影腰带' - 模式 = 0 - 所属套装 = '死亡阴影' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.附加伤害加成(0.18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备167(装备): - 名称 = '守护战士之苦难' - 模式 = 0 - 所属套装 = '贫瘠沙漠的遗产' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.伤害增加加成(属性.技能栏空位 / 100) - self.属性描述 += 属性.附加伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备168(装备): - 名称 = '亚巴顿:绝望地狱' - 模式 = 0 - 所属套装 = '噩梦:地狱之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.16) - self.属性描述 += 属性.暴击伤害加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备169(装备): - 名称 = '奔流不息之狂风' - 模式 = 0 - 所属套装 = '永恒不息之路' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.32) - self.属性描述 += 属性.技能倍率加成(30, -0.3) - self.属性描述 += 属性.技能恢复加成(30, 30, 1.0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备170(装备): - 名称 = '热情舞动桑巴' - 模式 = 0 - 所属套装 = '天堂舞姬' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.17) - self.属性描述 += 属性.最终伤害加成(0.14) - self.属性描述 += 属性.技能冷却缩减(60, 70, 0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备171(装备): - 名称 = '首席执行官裁决腰带' - 模式 = 0 - 所属套装 = '皇家裁决者宣言' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.18) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备172(装备): - 名称 = '炙炎:山竹' - 模式 = 0 - 所属套装 = '炙炎之盛宴' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(60) - self.属性描述 += 属性.百分比三攻加成(0.16) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.02) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备173(装备): - 名称 = '碎钢之牙' - 模式 = 0 - 所属套装 = '传奇铁匠-封神' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.34) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=241) - self.属性描述 += 属性.被动增加(转职被动智力=141) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备174(装备): - 名称 = '正义的抉择' - 模式 = 0 - 所属套装 = '命运歧路' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.2) - self.属性描述 += 属性.技能倍率加成(50, 0.25) - 属性.单技能修改('烈焰焚步', 1 / 1.25, 1) - self.属性描述 += 属性.技能倍率加成(85, 0.45) - self.属性描述 += 属性.技能冷却缩减(85, 85, 0.20) - self.属性描述 += 属性.技能倍率加成(100, 0.13) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=280) - self.属性描述 += 属性.被动增加(转职被动智力=180) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备175(装备): - 名称 = '大祭司的星祈腰带' - 模式 = 0 - 所属套装 = '古代祭祀的神圣仪式' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.1) - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.暴击伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.装备检查('大祭司的神启礼服'): - self.属性描述 += 属性.攻击速度增加(0.18) - else: - self.属性描述 += 属性.攻击速度增加(0.12) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备176(装备): - 名称 = '浴血奋战腰带' - 模式 = 0 - 所属套装 = '龙血玄黄' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性(self, 属性): - if 属性.角色熟练度 == 0 or 属性.装备检查('战无不胜上衣'): - self.属性描述 += 属性.所有属性强化加成(72) - else: - self.属性描述 += 属性.所有属性强化加成(68) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - # 暗改 - # self.属性描述 += 属性.被动增加(守护恩赐体精=180) - # self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备177(装备): - 名称 = '风起云涌腰带' - 模式 = 0 - 所属套装 = '擎天战甲' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.34) - self.属性描述 += 属性.技能等级加成('所有', 40, 40, 2) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 40, 40, 2) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=163) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备178(装备): - 名称 = '千链锁灵腰带' - 模式 = 0 - 所属套装 = '荆棘漫天' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.35) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(-0.15) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=250) - self.属性描述 += 属性.被动增加(转职被动智力=150) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -class 装备179(装备): - 名称 = '宁静苍翠之水' - 模式 = 0 - 所属套装 = '大自然的呼吸' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.32) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(24) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=242) - self.属性描述 += 属性.被动增加(转职被动智力=142) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.25) - - -# endregion - - -# region 智慧产物 -class 装备244(装备): - 名称 = '完美掌控' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [12, 4, 4] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{所有属性强化} +$value' - 属性3范围 = [12, 4, 4] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.所有属性强化加成((self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.所有属性强化加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2])) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - if 属性.获取改造(self.部位) >= 5: - for i in range(20): - self.属性描述 += 属性.技能攻击力加成(0.01,适用累加=0) - pass - - def 进图属性(self, 属性): - for i in range(10): - self.属性描述 += 属性.所有属性强化加成(2 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.15) - self.属性描述 += 属性.施放速度增加(0.225) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += 'Lv1-85 技能等级+1
' - temp += 'Lv100 技能等级+1
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '所有属性强化 +%d x 10
' % (2 * 改造等级) - if 改造等级 >= 5: - temp += '技能攻击力 +1% x 20
' - temp += '攻击速度 +15%
' - temp += '移动速度 +15%
' - temp += '施放速度 +22.5%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - -class 装备252(装备): - 名称 = '无念之仪服' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - self.属性描述 += 属性.属性附加加成(0.04) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.伤害增加加成(0.10) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.12) - self.属性描述 += 属性.移动速度增加(0.12) - self.属性描述 += 属性.施放速度增加(0.18) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '攻击速度 +12%
' - temp += '移动速度 +12%
' - temp += '施放速度 +18%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '伤害增加 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += 'Lv50 技能等级+2
' - temp += 'Lv85 技能等级+2
' - temp += 'Lv100 技能等级+2
' - temp += '属性附加 +4%
' - if 改造等级 >= 5: - temp += '伤害增加 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 2) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - pass - - def BUFF属性(self, 属性): - pass - - -class 装备253(装备): - 名称 = '无欲之花' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.0 + 0.04 * 属性.获取改造(self.部位),适用累加=0) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能倍率加成(50, 0.30) - 属性.单技能修改('烈焰焚步', 1 / 1.3, 1) - self.属性描述 += 属性.技能倍率加成(85, 0.25) - self.属性描述 += 属性.技能倍率加成(100, 0.16) - self.属性描述 += 属性.伤害增加加成(0.07) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.技能攻击力加成(0.12,适用累加=0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - 属性.物理暴击率 += 0.05 - 属性.魔法暴击率 += 0.05 - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '技能攻击力 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += 'Lv50 技能攻击力+30%
' - temp += 'Lv85 技能攻击力+25%
' - temp += 'Lv100 (主动)技能攻击力+16%
' - temp += '伤害增加 +7%
' - if 改造等级 >= 5: - temp += '技能攻击力 +12%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备254(装备): - 名称 = '无形之气韵' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.暴击伤害加成(0.05) - self.属性描述 += 属性.所有属性强化加成(30) - self.属性描述 += 属性.技能等级加成('所有', 50, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.暴击伤害加成(0.10) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '暴击伤害 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '暴击伤害 +5%
' - temp += '所有属性强化 +30
' - temp += 'Lv50-85 技能等级+1
' - temp += 'Lv100 技能等级+1
' - if 改造等级 >= 5: - temp += '暴击伤害 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.技能等级加成('所有', 50, 85, 1) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - pass - - -class 装备255(装备): - 名称 = '无言之罪恶' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比力智加成(0.22) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.最终伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.2) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '移动速度 +20%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '最终伤害 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '百分比力智 +22%
' - if 改造等级 >= 5: - temp += '最终伤害 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备256(装备): - 名称 = '无我之轮回' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.百分比三攻加成(0.11) - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.附加伤害加成(0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.075) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '攻击速度 +5%
' - temp += '移动速度 +5%
' - temp += '施放速度 +7.5%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '百分比三攻 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '最终伤害 +10%
' - temp += '百分比三攻 +11%
' - if 改造等级 >= 5: - temp += '附加伤害 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -# endregion - - -# region 超界 -class 装备311(装备): - 名称 = '超界·苍天之幕:卷层云' - 所属套装 = '超界·苍穹之云' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.21) - self.属性描述 += 属性.最终伤害加成(0.05) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +21%
' - temp += '最终伤害 +5%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.22) - - -class 装备312(装备): - 名称 = '超界·苍天之碧:卷云' - 所属套装 = '超界·苍穹之云' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.最终伤害加成(0.05) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '技能攻击力 +20%
' - temp += '最终伤害 +5%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=270) - - -class 装备313(装备): - 名称 = '超界·苍天之流:层云' - 所属套装 = '超界·苍穹之云' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.21) - self.属性描述 += 属性.最终伤害加成(0.05) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +21%
' - temp += '最终伤害 +5%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.22) - - -class 装备314(装备): - 名称 = '超界·苍天之岭:积云' - 所属套装 = '超界·苍穹之云' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.20) - self.属性描述 += 属性.最终伤害加成(0.05) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比力智 +20%
' - temp += '最终伤害 +5%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.22) - - -class 装备315(装备): - 名称 = '超界·苍天之隙:高积云' - 所属套装 = '超界·苍穹之云' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.20) - self.属性描述 += 属性.最终伤害加成(0.05) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +20%
' - temp += '最终伤害 +5%
' - temp += '移动速度 +4%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=200) - - -class 装备316(装备): - 名称 = '超界·芒种:绵延的生命' - 所属套装 = '超界·永恒的季节' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.20) - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比力智 +20%
' - temp += 'Lv1-45 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=30) - self.属性描述 += 属性.被动增加(转职被动智力=30) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.22) - - -class 装备317(装备): - 名称 = '超界·雨水:长青的群山' - 所属套装 = '超界·永恒的季节' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.20) - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +20%
' - temp += 'Lv1-45 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 45, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=200) - - -class 装备318(装备): - 名称 = '超界·白露:不熄的光明' - 所属套装 = '超界·永恒的季节' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.21) - self.属性描述 += 属性.技能等级加成('所有', 35, 48, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +21%
' - temp += 'Lv35-48 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 35, 48, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=90) - self.属性描述 += 属性.被动增加(转职被动智力=90) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.22) - - -class 装备319(装备): - 名称 = '超界·霜降:凝结的冰霜' - 所属套装 = '超界·永恒的季节' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.21) - self.属性描述 += 属性.技能等级加成('所有', 35, 48, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +21%
' - temp += 'Lv35-48 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 35, 48, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=90) - self.属性描述 += 属性.被动增加(转职被动智力=90) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.22) - - -class 装备320(装备): - 名称 = '超界·小寒:澄净的心灵' - 所属套装 = '超界·永恒的季节' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.暴击伤害加成(0.11) - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '移动速度 +10%
' - temp += '暴击伤害 +11%
' - temp += 'Lv1-85 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=40) - self.属性描述 += 属性.被动增加(转职被动智力=40) - - -class 装备321(装备): - 名称 = '超界·海豚座的羞涩' - 所属套装 = '超界·亿万年的星光' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.20) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +20%
' - temp += 'Lv85 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.22) - - -class 装备322(装备): - 名称 = '超界·北极星的魅力' - 所属套装 = '超界·亿万年的星光' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.18) - self.属性描述 += 属性.物理暴击率增加(0.12) - self.属性描述 += 属性.魔法暴击率增加(0.12) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '技能攻击力 +18%
' - temp += '物理暴击率 +12%
' - temp += '魔法暴击率 +12%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=270) - - -class 装备323(装备): - 名称 = '超界·织女星的凝望' - 所属套装 = '超界·亿万年的星光' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.20) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +20%
' - temp += 'Lv50 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.22) - - -class 装备324(装备): - 名称 = '超界·天琴座的高洁' - 所属套装 = '超界·亿万年的星光' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.21) - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +21%
' - temp += 'Lv50 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.22) - - -class 装备325(装备): - 名称 = '超界·天鹅座的朦胧' - 所属套装 = '超界·亿万年的星光' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.02) - self.属性描述 += 属性.魔法暴击率增加(0.02) - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '所有属性强化 +40
' - temp += 'Lv85 技能等级+1
' - temp += '物理暴击率 +2%
' - temp += '魔法暴击率 +2%
' - temp += '移动速度 +4%
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=140) - self.属性描述 += 属性.被动增加(转职被动智力=200) - - -class 装备326(装备): - 名称 = '超界·费诺的愤怒之勇' - 所属套装 = '超界·精灵的荣耀' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.25) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比力智 +25%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.22) - - -class 装备327(装备): - 名称 = '超界·维拉的光明净化' - 所属套装 = '超界·精灵的荣耀' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.23) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.06) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '技能攻击力 +23%
' - temp += '攻击速度 +6%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=270) - - -class 装备328(装备): - 名称 = '超界·凯兰崔尔的决断' - 所属套装 = '超界·精灵的荣耀' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.25) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '最终伤害 +25%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.22) - - -class 装备329(装备): - 名称 = '超界·梵雅的绝世容颜' - 所属套装 = '超界·精灵的荣耀' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.24) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +24%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.22) - - -class 装备330(装备): - 名称 = '超界·伊露维塔的创生' - 所属套装 = '超界·精灵的荣耀' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.24) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +24%
' - temp += '移动速度 +10%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=200) - - -class 装备331(装备): - 名称 = '超界·梦纤石的牵绊' - 所属套装 = '超界·幸运的五彩石' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.18) - self.属性描述 += 属性.冰属性强化加成(20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +18%
' - temp += '冰属性强化 +20
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.22) - - -class 装备332(装备): - 名称 = '超界·君清石的思念' - 所属套装 = '超界·幸运的五彩石' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.17) - self.属性描述 += 属性.火属性强化加成(20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '技能攻击力 +17%
' - temp += '火属性强化 +20
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=270) - self.属性描述 += 属性.被动增加(转职被动智力=270) - - -class 装备333(装备): - 名称 = '超界·凤瞳石的轻鸣' - 所属套装 = '超界·幸运的五彩石' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.17) - self.属性描述 += 属性.光属性强化加成(20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +17%
' - temp += '光属性强化 +20
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.22) - - -class 装备334(装备): - 名称 = '超界·琥冥石的乖戾' - 所属套装 = '超界·幸运的五彩石' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.18) - self.属性描述 += 属性.所有属性强化加成(20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比力智 +18%
' - temp += '所有属性强化 +20
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=100) - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.22) - - -class 装备335(装备): - 名称 = '超界·诛璃石的断杀' - 所属套装 = '超界·幸运的五彩石' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.18) - self.属性描述 += 属性.暗属性强化加成(20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +18%
' - temp += '暗属性强化 +20
' - temp += '移动速度 +4%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=200) - self.属性描述 += 属性.被动增加(转职被动智力=200) - - -# endregion - - -# region 100改造&传说 -class 装备362(装备): - 名称 = '轮回·黑暗幽灵紫杉胸甲' - 模式 = 1 - 所属套装 = '智慧产物' - 所属套装2 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.伤害增加加成(0.11) - pass - - def 进图属性(self, 属性): - 属性.力量 += 25 * 属性.获取改造(self.部位) - 属性.智力 += 25 * 属性.获取改造(self.部位) - self.属性描述 += 属性.技能攻击力加成(0.02 * 属性.获取改造(self.部位),适用累加=0) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +15%
' - temp += '百分比力智 +8%
' - temp += '伤害增加 +11%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '力量 +' + str(25 * 改造等级) + '
' - temp += '智力 +' + str(25 * 改造等级) + '
' - temp += '技能攻击力 +' + str(2 * 改造等级) + '%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - 属性.体精固定加成(25 * 属性.获取改造(self.部位)) - 属性.力智固定加成(25 * 属性.获取改造(self.部位)) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2) - self.属性描述 += 属性.被动增加(守护恩赐体精=145) - self.属性描述 += 属性.被动增加(转职被动智力=45) - - -class 装备363(装备): - 名称 = '时空:黑暗幽灵紫杉胸甲' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '上衣' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.伤害增加加成(0.06) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +15%
' - temp += '百分比力智 +8%
' - temp += '伤害增加 +6%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2) - self.属性描述 += 属性.被动增加(守护恩赐体精=105) - self.属性描述 += 属性.被动增加(转职被动智力=105) - - -class 装备364(装备): - 名称 = '黑暗幽灵紫杉护肩' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '头肩' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.12) - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +12%
' - temp += '百分比力智 +10%
' - temp += '所有属性强化 +24
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=216) - self.属性描述 += 属性.被动增加(转职被动智力=216) - - -class 装备365(装备): - 名称 = '黑暗幽灵紫杉护腿' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '下装' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.所有属性强化加成(22) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +15%
' - temp += '百分比力智 +8%
' - temp += '所有属性强化 +22
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF魔攻per=1.2) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - - -class 装备366(装备): - 名称 = '黑暗幽灵紫杉腰带' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '腰带' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.12) - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +12%
' - temp += '百分比力智 +10%
' - temp += '所有属性强化 +24
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF独立per=1.2) - self.属性描述 += 属性.被动增加(守护恩赐体精=80) - self.属性描述 += 属性.被动增加(转职被动智力=80) - - -class 装备367(装备): - 名称 = '黑暗幽灵紫杉长靴' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '鞋' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.伤害增加加成(0.08) - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.所有属性强化加成(24) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +5%
' - temp += '暴击伤害 +8%
' - temp += '百分比力智 +10%
' - temp += '所有属性强化 +24
' - temp += '移动速度 +4%
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=160) - self.属性描述 += 属性.被动增加(转职被动智力=160) - - -class 装备370(装备): - 名称 = '黑暗幽灵紫杉胸甲' - 模式 = 1 - 所属套装 = '堕落的暗黑之力' - 等级 = 100 - 品质 = '传说' - 部位 = '上衣' - 类型 = '轻甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.15) - self.属性描述 += 属性.百分比力智加成(0.08) - self.属性描述 += 属性.所有属性强化加成(22) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +15%
' - temp += '百分比力智 +8%
' - temp += '所有属性强化 +22
' - return temp - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=162) - self.属性描述 += 属性.被动增加(转职被动智力=285) - - -# endregion - - -# region 改造低级SS -class 装备398(装备): - 名称 = '刻印:文韬妙策上衣' - 所属套装 = '兵法之神' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.08) - 属性.物理攻击力 += 100 - 属性.魔法攻击力 += 100 - 属性.独立攻击力 += 100 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比力智 +8%
' - return temp - - -class 装备399(装备): - 名称 = '刻印:龙韬秘法护肩' - 所属套装 = '兵法之神' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +8%
' - return temp - - -class 装备400(装备): - 名称 = '刻印:虎韬妙计下装' - 所属套装 = '兵法之神' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.075) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '百分比三攻 +8%
' - temp += '攻击速度 +5%
' - temp += '施放速度 +7.5%
' - return temp - - -class 装备401(装备): - 名称 = '刻印:豹韬飞跃战靴' - 所属套装 = '兵法之神' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.14) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '最终伤害 +8%
' - temp += '移动速度 +14%
' - return temp - - -class 装备402(装备): - 名称 = '刻印:武韬秘典腰带' - 所属套装 = '兵法之神' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '暴击伤害 +8%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - -class 装备410(装备): - 名称 = '魔战无双胸甲' - 所属套装 = '魔战无双' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - 属性.黄字 = max(属性.黄字, 0.10) - 属性.加算冷却缩减 += 0.12 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '黄字 +10%(取最高值)
' - temp += '技能冷却 -12%(加算)
' - temp += '施放速度 +5%
' - return temp - - -class 装备411(装备): - 名称 = '魔战无双肩甲' - 所属套装 = '魔战无双' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 30, 48, 2) - try: - 属性.技能栏[属性.技能序号['基础精通']].倍率 *= 2.5 - except: - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.12) - self.属性描述 += 属性.施放速度增加(0.12) - self.属性描述 += 属性.移动速度增加(0.15) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += 'Lv30-48 技能等级+2
' - temp += '基础精通效果 +150%
' - temp += '攻击速度 +12%
' - temp += '施放速度 +12%
' - temp += '移动速度 +15%
' - return temp - - -class 装备412(装备): - 名称 = '魔战无双腿甲' - 所属套装 = '魔战无双' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - 属性.加算冷却缩减 += 0.10 - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '技能冷却 -10%(加算)
' - temp += 'Lv85 技能等级+1
' - temp += '攻击速度 +5%
' - temp += '施放速度 +5%
' - temp += '移动速度 +5%
' - return temp - - -class 装备413(装备): - 名称 = '魔战无双腰带' - 所属套装 = '魔战无双' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - 属性.加算冷却缩减 += 0.10 - self.属性描述 += 属性.技能等级加成('所有', 80, 80, 2) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '技能冷却 -10%(加算)
' - temp += 'Lv80 技能等级+2
' - return temp - - -class 装备414(装备): - 名称 = '魔战无双短靴' - 所属套装 = '魔战无双' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.06) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '百分比三攻 +8%
' - temp += '移动速度 +6%
' - return temp - - -class 装备416(装备): - 名称 = '霸域英豪胸甲' - 所属套装 = '霸域英豪' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.物理攻击力 += 100 - 属性.魔法攻击力 += 100 - 属性.独立攻击力 += 100 - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +100
' - temp += '魔法攻击力 +100
' - temp += '独立攻击力 +100
' - return temp - - -class 装备417(装备): - 名称 = '霸域英豪护肩' - 所属套装 = '霸域英豪' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.15) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.07) - self.属性描述 += 属性.魔法暴击率增加(0.07) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暴伤 +15%(取最高值)
' - temp += '物理暴击率 +7%
' - temp += '魔法暴击率 +7%
' - return temp - - -class 装备418(装备): - 名称 = '霸域英豪护腿' - 所属套装 = '霸域英豪' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.物理攻击力 += 100 - 属性.魔法攻击力 += 100 - 属性.独立攻击力 += 100 - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +100
' - temp += '魔法攻击力 +100
' - temp += '独立攻击力 +100
' - return temp - - -class 装备419(装备): - 名称 = '霸域英豪腰带' - 所属套装 = '霸域英豪' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - return temp - - -class 装备420(装备): - 名称 = '霸域英豪战靴' - 所属套装 = '霸域英豪' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.3) - self.属性描述 += 属性.移动速度增加(0.3) - self.属性描述 += 属性.施放速度增加(0.3) - self.属性描述 += 属性.攻击速度增加(0.02) - self.属性描述 += 属性.移动速度增加(0.06) - self.属性描述 += 属性.施放速度增加(0.03) - self.属性描述 += 属性.物理暴击率增加(0.1) - self.属性描述 += 属性.魔法暴击率增加(0.1) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '攻击速度 +30%
' - temp += '移动速度 +30%
' - temp += '施放速度 +30%
' - temp += '攻击速度 +2%
' - temp += '移动速度 +6%
' - temp += '施放速度 +3%
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - return temp - - -class 装备422(装备): - 名称 = '千蛛碎影之毒牙胸甲' - 所属套装 = '千蛛碎影' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - 属性.固定减防 = 36000 * 千蛛减防 - pass - - def 进图属性(self, 属性): - if 属性.职业 == '街霸': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.中毒倍率 += 0.2 - if 属性.角色 == '格斗家(女)': - i.涂毒倍率 += 0.2 - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '中毒、涂毒伤害 +20%
' - if 千蛛减防 == 1: - temp += '固定减防 +36000(最多叠加1次)
' - return temp - - -class 装备423(装备): - 名称 = '千蛛碎影之蛛丝肩甲' - 所属套装 = '千蛛碎影' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - 属性.固定减防 = 36000 * 千蛛减防 - self.属性描述 += 属性.技能等级加成('所有', 48, 48, 1) - if 属性.职业 == '街霸' and 属性.角色 == '格斗家(男)': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.感电倍率 += 0.2 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += 'Lv48 技能等级+1
' - temp += '感电伤害 +20%
' - if 千蛛减防 == 1: - temp += '固定减防 +36000(最多叠加1次)
' - return temp - - -class 装备424(装备): - 名称 = '千蛛碎影之蛛网护腿' - 所属套装 = '千蛛碎影' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - 属性.固定减防 = 36000 * 千蛛减防 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - if 千蛛减防 == 1: - temp += '固定减防 +36000(最多叠加1次)
' - return temp - - -class 装备425(装备): - 名称 = '千蛛碎影之蛛刺腰带' - 所属套装 = '千蛛碎影' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 48, 48, 1) - 属性.固定减防 = 36000 * 千蛛减防 - pass - - def 进图属性(self, 属性): - if 属性.职业 == '街霸': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.灼伤倍率 += 0.2 - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += 'Lv48 技能等级+1
' - temp += '灼伤伤害 +20%
' - if 千蛛减防 == 1: - temp += '固定减防 +36000(最多叠加1次)
' - return temp - - -class 装备426(装备): - 名称 = '千蛛碎影之利齿战靴' - 所属套装 = '千蛛碎影' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 48, 48, 1) - 属性.固定减防 = 36000 * 千蛛减防 - pass - - def 进图属性(self, 属性): - if 属性.职业 == '街霸': - for i in 属性.技能栏: - if i.是否有伤害 == 1: - i.出血倍率 += 1.2 - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += 'Lv48 技能等级+1
' - temp += '出血伤害 +20%
' - if 千蛛减防 == 1: - temp += '固定减防 +36000(最多叠加1次)
' - return temp - - -class 装备428(装备): - 名称 = '誓血之盟铠甲' - 所属套装 = '誓血之盟' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '重甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.力量 += 200 - 属性.智力 += 200 - self.属性描述 += 属性.攻击速度增加(0.14) - self.属性描述 += 属性.施放速度增加(0.22) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '攻击速度 +14%
' - temp += '施放速度 +22%
' - temp += '力量 +200
' - temp += '智力 +200
' - return temp - - -class 装备429(装备): - 名称 = '誓血之盟肩甲' - 所属套装 = '誓血之盟' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '重甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 116 - 属性.魔法攻击力 += 116 - 属性.独立攻击力 += 116 - self.属性描述 += 属性.伤害增加加成(0.04) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '伤害增加 +4%
' - temp += '物理攻击 +116
' - temp += '魔法攻击 +116
' - temp += '独立攻击 +116
' - return temp - - -class 装备430(装备): - 名称 = '誓血之盟腿甲' - 所属套装 = '誓血之盟' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '重甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 138 - 属性.魔法攻击力 += 138 - 属性.独立攻击力 += 138 - pass - - def 进图属性(self, 属性): # mp<85% - self.属性描述 += 属性.物理暴击率增加(0.15) - self.属性描述 += 属性.魔法暴击率增加(0.15) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理暴击率 +15%
' - temp += '魔法暴击率 +15%
' - temp += '物理攻击 +138
' - temp += '魔法攻击 +138
' - temp += '独立攻击 +138
' - return temp - - -class 装备431(装备): - 名称 = '誓血之盟腰带' - 所属套装 = '誓血之盟' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '重甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.05) - pass - - def 进图属性(self, 属性): - 属性.物理攻击力 += 100 - 属性.魔法攻击力 += 100 - 属性.独立攻击力 += 100 - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '百分比三攻 +5%
' - temp += '物理攻击 +100
' - temp += '魔法攻击 +100
' - temp += '独立攻击 +100
' - return temp - - -class 装备432(装备): - 名称 = '誓血之盟战靴' - 所属套装 = '誓血之盟' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '板甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(14) - 属性.物理攻击力 += 100 - 属性.魔法攻击力 += 100 - 属性.独立攻击力 += 100 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.09) - self.属性描述 += 属性.施放速度增加(0.07) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +14
' - temp += '物理攻击 +100
' - temp += '魔法攻击 +100
' - temp += '独立攻击 +100
' - temp += '攻击速度 +5%
' - temp += '移动速度 +9%
' - temp += '施放速度 +7%
' - return temp - - -class 装备434(装备): - 名称 = '天御雷罚战甲' - 所属套装 = '天御之灾' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.光属性强化加成(24) - 属性.物理攻击力 += 74 - 属性.魔法攻击力 += 74 - 属性.独立攻击力 += 74 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '光属性强化 +24
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 装备435(装备): - 名称 = '天御虫噬护肩' - 所属套装 = '天御之灾' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暗属性强化加成(24) - 属性.物理攻击力 += 74 - 属性.魔法攻击力 += 74 - 属性.独立攻击力 += 74 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暗属性强化 +24
' - temp += '物理攻击力 +74
' - temp += '魔法攻击力 +74
' - temp += '独立攻击力 +74
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 装备436(装备): - 名称 = '天御炎袭护腿' - 所属套装 = '天御之灾' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.火属性强化加成(24) - 属性.物理攻击力 += 74 - 属性.魔法攻击力 += 74 - 属性.独立攻击力 += 74 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '火属性强化 +24
' - temp += '物理攻击力 +74
' - temp += '魔法攻击力 +74
' - temp += '独立攻击力 +74
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 装备437(装备): - 名称 = '天御雷罚战甲' - 所属套装 = '天御之灾' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(24) - 属性.物理攻击力 += 74 - 属性.魔法攻击力 += 74 - 属性.独立攻击力 += 74 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '冰属性强化 +24
' - temp += '物理攻击力 +74
' - temp += '魔法攻击力 +74
' - temp += '独立攻击力 +74
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - return temp - - -class 装备438(装备): - 名称 = '天御风行战靴' - 所属套装 = '天御之灾' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(14) - 属性.物理攻击力 += 74 - 属性.魔法攻击力 += 74 - 属性.独立攻击力 += 74 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.03) - self.属性描述 += 属性.魔法暴击率增加(0.03) - self.属性描述 += 属性.攻击速度增加(0.08) - self.属性描述 += 属性.移动速度增加(0.12) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +14
' - temp += '物理攻击力 +74
' - temp += '魔法攻击力 +74
' - temp += '独立攻击力 +74
' - temp += '物理暴击率 +3%
' - temp += '魔法暴击率 +3%
' - temp += '攻击速度 +8%
' - temp += '移动速度 +12%
' - temp += '施放速度 +12%
' - return temp - - -class 装备440(装备): - 名称 = '最佳球手的暴走战衣' - 所属套装 = '最佳球手的绝杀' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 149 - 属性.魔法攻击力 += 149 - 属性.独立攻击力 += 149 - self.属性描述 += 属性.伤害增加加成(0.04) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '伤害增加 +4%
' - temp += '物理攻击力 +149
' - temp += '魔法攻击力 +149
' - temp += '独立攻击力 +149
' - return temp - - -class 装备441(装备): - 名称 = '最佳球手的反击护具' - 所属套装 = '最佳球手的绝杀' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - return temp - - -class 装备442(装备): - 名称 = '最佳球手的奇袭长裤' - 所属套装 = '最佳球手的绝杀' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.18) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暴伤 +18%(取最大值)
' - return temp - - -class 装备443(装备): - 名称 = '最佳球手的冲锋腰带' - 所属套装 = '最佳球手的绝杀' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 138 - 属性.魔法攻击力 += 138 - 属性.独立攻击力 += 138 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - 属性.回避率 += 0.05 - self.属性描述 += 属性.物理暴击率增加(0.15) - self.属性描述 += 属性.魔法暴击率增加(0.15) - self.属性描述 += 属性.命中率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +138
' - temp += '魔法攻击力 +138
' - temp += '独立攻击力 +138
' - temp += '物理暴击率 +15%
' - temp += '魔法暴击率 +15%
' - temp += '命中率 +5%
' - temp += '回避率 +5%
' - return temp - - -class 装备444(装备): - 名称 = '最佳球手的逆袭跑鞋' - 所属套装 = '最佳球手的绝杀' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '轻甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.06) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '移动速度 +6%
' - return temp - - -class 装备446(装备): - 名称 = '战术之王的御敌胸甲' - 所属套装 = '战术之王的御敌' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.物理攻击力 += 80 - 属性.魔法攻击力 += 80 - 属性.独立攻击力 += 80 - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.命中率增加(0.02) - 属性.回避率 += 0.02 - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +80
' - temp += '魔法攻击力 +80
' - temp += '独立攻击力 +80
' - temp += '命中率 +2%
' - temp += '回避率 +2%
' - return temp - - -class 装备447(装备): - 名称 = '战术之王的御敌肩甲' - 所属套装 = '战术之王的御敌' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.移动速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - self.属性描述 += 属性.命中率增加(0.10) - 属性.回避率 += 0.01 - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '攻击速度 +10%
' - temp += '移动速度 +10%
' - temp += '施放速度 +15%
' - temp += '命中率 +10%
' - temp += '回避率 +1%
' - return temp - - -class 装备448(装备): - 名称 = '战术之王的御敌腿甲' - 所属套装 = '战术之王的御敌' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.12) - self.属性描述 += 属性.魔法暴击率增加(0.12) - self.属性描述 += 属性.命中率增加(0.02) - 属性.回避率 += 0.02 - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理暴击率 +12%
' - temp += '魔法暴击率 +12%
' - temp += '命中率 +2%
' - temp += '回避率 +2%
' - return temp - - -class 装备449(装备): - 名称 = '战术之王的御敌腰带' - 所属套装 = '战术之王的御敌' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(20) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.命中率增加(0.01) - 属性.回避率 += 0.01 - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +20
' - temp += '命中率 +1%
' - temp += '回避率 +1%
' - return temp - - -class 装备450(装备): - 名称 = '战术之王的御敌长靴' - 所属套装 = '战术之王的御敌' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - 属性.力量 += 120 - 属性.智力 += 120 - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.命中率增加(0.01) - 属性.回避率 += 0.01 - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '力量 +120
' - temp += '智力 +120
' - temp += '移动速度 +4%
' - temp += '命中率 +1%
' - temp += '回避率 +1%
' - return temp - - -class 装备452(装备): - 名称 = '暗魅之影上衣' - 所属套装 = '杀意决' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - 属性.黄字 = max(属性.黄字, 0.18) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '黄字 +18%(取最高值)
' - return temp - - -class 装备453(装备): - 名称 = '冥殇之刃肩甲' - 所属套装 = '杀意决' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 66 - 属性.魔法攻击力 += 66 - 属性.独立攻击力 += 66 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.物理暴击率增加(0.10) - self.属性描述 += 属性.魔法暴击率增加(0.10) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +66
' - temp += '魔法攻击力 +66
' - temp += '独立攻击力 +66
' - temp += '攻击速度 +15%
' - temp += '物理暴击率 +10%
' - temp += '魔法暴击率 +10%
' - return temp - - -class 装备454(装备): - 名称 = '血舞之牙护腿' - 所属套装 = '杀意决' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.04) - 属性.物理攻击力 += 121 - 属性.魔法攻击力 += 121 - 属性.独立攻击力 += 121 - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暴击伤害 +4%
' - temp += '物理攻击力 +121
' - temp += '魔法攻击力 +121
' - temp += '独立攻击力 +121
' - return temp - - -class 装备455(装备): - 名称 = '亡灵之帐腰带' - 所属套装 = '杀意决' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - 属性.物理攻击力 += 116 - 属性.魔法攻击力 += 116 - 属性.独立攻击力 += 116 - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '物理攻击力 +116
' - temp += '魔法攻击力 +116
' - temp += '独立攻击力 +116
' - return temp - - -class 装备456(装备): - 名称 = '黄泉之风战靴' - 所属套装 = '杀意决' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '皮甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(20) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.15) - self.属性描述 += 属性.移动速度增加(0.22) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +20
' - temp += '攻击速度 +15%
' - temp += '移动速度 +22%
' - return temp - - -class 装备458(装备): - 名称 = '逝魔之疾咒长袍' - 所属套装 = '逝魔之力' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '百分比三攻 +15%
' - return temp - - -class 装备459(装备): - 名称 = '逝魔之灵悟肩甲' - 所属套装 = '逝魔之力' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.12) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '百分比三攻 +12%
' - return temp - - -class 装备460(装备): - 名称 = '逝魔之暴烈长裤' - 所属套装 = '逝魔之力' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - 属性.暴伤 = max(属性.暴伤, 0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暴伤 +15%(取最大值)
' - return temp - - -class 装备461(装备): - 名称 = '逝魔之灵心腰带' - 所属套装 = '逝魔之力' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.魔法暴击率增加(0.20) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '魔法暴击率 +20%
' - return temp - - -class 装备462(装备): - 名称 = '逝魔之风速短靴' - 所属套装 = '逝魔之力' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(20) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.16) - self.属性描述 += 属性.施放速度增加(0.25) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +20
' - temp += '移动速度 +16%
' - temp += '施放速度 +25%
' - return temp - - -class 装备464(装备): - 名称 = '封霜雪影长袍' - 所属套装 = '天劫' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(12) - - def 进图属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(44 * 天劫光环) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '冰属性强化 +12
' - if 天劫光环 == 1: - temp += '冰属性强化 +44
' - temp += '魔法暴击率 +5%
' - return temp - - -class 装备465(装备): - 名称 = '蚀日无辉肩甲' - 所属套装 = '天劫' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '头肩' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.光属性强化加成(12) - - def 进图属性(self, 属性): - self.属性描述 += 属性.光属性强化加成(44 * 天劫光环) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '光属性强化 +12
' - if 天劫光环 == 1: - temp += '光属性强化 +44
' - return temp - - -class 装备466(装备): - 名称 = '火殒灭炎长裤' - 所属套装 = '天劫' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '下装' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.火属性强化加成(12) - - def 进图属性(self, 属性): - self.属性描述 += 属性.火属性强化加成(44 * 天劫光环) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '火属性强化 +12
' - if 天劫光环 == 1: - temp += '火属性强化 +44
' - temp += '魔法暴击率 +5%
' - return temp - - -class 装备467(装备): - 名称 = '暗殇绝影腰带' - 所属套装 = '天劫' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '腰带' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.暗属性强化加成(12) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暗属性强化加成(44 * 天劫光环) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '暗属性强化 +12
' - if 天劫光环 == 1: - temp += '暗属性强化 +44
' - return temp - - -class 装备468(装备): - 名称 = '闲云碎步短靴' - 所属套装 = '天劫' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '鞋' - 类型 = '布甲' - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(30) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.06) - pass - - def 装备描述(self, 属性): - temp = '' - if 属性.转甲选项 == 1: - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - else: - temp += '力量 +' + str(self.力量[self.类型]) + '
' - temp += '智力 +' + str(self.智力[self.类型]) + '
' - temp += '所有属性强化 +30
' - temp += '移动速度 +6%
' - return temp - - -# endregion - - -# region 100光环传说 -class 装备483(装备): - 名称 = '轮回·鲜红血纹皮甲胸铠' - 模式 = 1 - 所属套装 = '智慧产物' - 所属套装2 = '鲜红血纹' - 等级 = 100 - 品质 = '史诗' - 部位 = '上衣' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.20) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - 属性.力量 += 25 * 属性.获取改造(self.部位) - 属性.智力 += 25 * 属性.获取改造(self.部位) - self.属性描述 += 属性.技能攻击力加成(0.02 * 属性.获取改造(self.部位),适用累加=0) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +20%
' - temp += '暴击伤害 +15%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += '改造属性(+' + str( - 改造等级) + '):
' - temp += '力量 +' + str(25 * 改造等级) + '
' - temp += '智力 +' + str(25 * 改造等级) + '
' - temp += '技能攻击力 +' + str(2 * 改造等级) + '%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - 属性.体精固定加成(25 * 属性.获取改造(self.部位)) - 属性.力智固定加成(25 * 属性.获取改造(self.部位)) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.2) - self.属性描述 += 属性.被动增加(守护恩赐体精=145) - self.属性描述 += 属性.被动增加(转职被动智力=45) - - -class 装备484(装备): - 名称 = '时空:鲜红血纹皮甲胸铠' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '上衣' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.14) - self.属性描述 += 属性.暴击伤害加成(0.15) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +14%
' - temp += '暴击伤害 +15%
' - return temp - - -class 装备485(装备): - 名称 = '鲜红血纹皮甲护肩' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '头肩' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.所有属性强化加成(10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +5%
' - temp += '百分比三攻 +4%
' - temp += '百分比力智 +12%
' - temp += '所有属性强化 +10
' - return temp - - -class 装备486(装备): - 名称 = '鲜红血纹皮甲护腿' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '下装' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.09) - self.属性描述 += 属性.暴击伤害加成(0.15) - self.属性描述 += 属性.所有属性强化加成(14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +9%
' - temp += '暴击伤害 +15%
' - temp += '所有属性强化 +14
' - return temp - - -class 装备487(装备): - 名称 = '鲜红血纹皮甲腰带' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '腰带' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.所有属性强化加成(10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +5%
' - temp += '百分比三攻 +4%
' - temp += '百分比力智 +12%
' - temp += '所有属性强化 +10
' - return temp - - -class 装备488(装备): - 名称 = '鲜红血纹皮甲战靴' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '鞋' - - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.百分比三攻加成(0.04) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.所有属性强化加成(10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.04) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '附加伤害 +5%
' - temp += '百分比三攻 +4%
' - temp += '百分比力智 +12%
' - temp += '所有属性强化 +10
' - temp += '移动速度 +4%
' - return temp - - -class 装备490(装备): - 名称 = '鲜红血纹皮甲胸铠' - 模式 = 1 - 所属套装 = '鲜红血纹' - 等级 = 100 - 品质 = '传说' - 部位 = '上衣' - 类型 = '皮甲' - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.09) - self.属性描述 += 属性.暴击伤害加成(0.15) - self.属性描述 += 属性.所有属性强化加成(14) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +' + str(self.力量[属性.防具类型]) + '
' - temp += '智力 +' + str(self.智力[属性.防具类型]) + '
' - temp += '伤害增加 +9%
' - temp += '暴击伤害 +15%
' - temp += '所有属性强化 +14
' - return temp - - -# endregion diff --git a/PublicReference/equipment/装备_首饰.py b/PublicReference/equipment/装备_首饰.py deleted file mode 100644 index 78eed134..00000000 --- a/PublicReference/equipment/装备_首饰.py +++ /dev/null @@ -1,4192 +0,0 @@ -from .basic_equ import * - - -# region 100SS首饰 -class 装备180(装备): - 名称 = '莱多:变幻的规律' - 模式 = 0 - 所属套装 = '上古尘封术式' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.20) - self.属性描述 += 属性.所有属性强化加成(25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备181(装备): - 名称 = '拥抱晨曦之温暖' - 模式 = 0 - 所属套装 = '破晓曦光' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 体力 = 117 - 智力 = 100 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.05 + 0.01 * min(13, 属性.获取强化(self.部位))) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - self.属性描述 += 属性.技能恢复加成(15, 30, 0.30) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - -class 装备182(装备): - 名称 = '白象之庇护' - 模式 = 0 - 所属套装 = '幸运三角' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.07) - self.属性描述 += 属性.伤害增加加成(0.07) - self.属性描述 += 属性.暴击伤害加成(0.07) - self.属性描述 += 属性.附加伤害加成(0.07) - self.属性描述 += 属性.技能攻击力加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备183(装备): - 名称 = '火魔之焰-沙罗曼达' - 模式 = 0 - 所属套装 = '精灵使的权能' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(38) - self.属性描述 += 属性.附加伤害加成(0.3) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备184(装备): - 名称 = '执着的探求' - 模式 = 0 - 所属套装 = '黑魔法探求者' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.28) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=245) - self.属性描述 += 属性.被动增加(转职被动智力=270) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备185(装备): - 名称 = '时间指引之针' - 模式 = 0 - 所属套装 = '时空旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.2) - self.属性描述 += 属性.技能攻击力加成(0.14) - self.属性描述 += 属性.技能冷却缩减(50, 50, 0.10) - self.属性描述 += 属性.技能冷却缩减(85, 85, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=242) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.07) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.07) - - -class 装备186(装备): - 名称 = '支配战场的呐喊' - 模式 = 0 - 所属套装 = '穿透命运的呐喊' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.最终伤害加成(0.23) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备187(装备): - 名称 = '狂乱之坚如磐石' - 模式 = 0 - 所属套装 = '狂乱追随者' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.3) - self.属性描述 += 属性.技能攻击力加成(0.11) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备188(装备): - 名称 = '莱多:秩序创造者' - 模式 = 0 - 所属套装 = '上古尘封术式' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{物攻/魔攻/独立} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [6, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [9, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{力量、智力} +$value%' - 属性4范围 = [6, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.25) - self.属性描述 += 属性.所有属性强化加成(25) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比三攻加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [60, 40, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动} +$value' - 属性2范围_BUFF = [200, 100, 20] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value%' - 属性3范围_BUFF = [9, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF三攻} +$value%' - 属性4范围_BUFF = [7, 2, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=60 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.被动增加(守护恩赐体精=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=200 - self.属性2选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.09 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.07 - self.属性4选择_BUFF / 100, - BUFF魔攻per=1.07 - self.属性4选择_BUFF / 100, - BUFF独立per=1.07 - self.属性4选择_BUFF / 100) - - -class 装备189(装备): - 名称 = '融化黑暗之温暖' - 模式 = 0 - 所属套装 = '破晓曦光' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{物攻/魔攻/独立} +$value' - 属性1范围 = [110, 30, 10] - 属性1选择 = 0 - 属性2描述 = '{暴击伤害} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [11, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.所有属性强化加成(28) - self.属性描述 += 属性.技能攻击力加成(0.05 + 0.01 * min(13, 属性.获取强化(self.部位))) - self.属性描述 += 神话属性title - self.属性描述 += 属性.三攻固定加成(x=(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.暴击伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - self.属性描述 += 属性.技能恢复加成(15, 30, 0.30) - pass - - def 其它属性(self, 属性): - x = int(min(sum(属性.强化等级), 150) / 6) - self.属性描述 += 属性.物理暴击率增加(0.005 * x) - self.属性描述 += 属性.魔法暴击率增加(0.005 * x) - self.属性描述 += 属性.攻击速度增加(0.008 * x) - self.属性描述 += 属性.移动速度增加(0.008 * x) - self.属性描述 += 属性.施放速度增加(0.012 * x) - pass - - # 专属属性 - 属性1描述_BUFF = '{BUFF三攻} +$value%' - 属性1范围_BUFF = [9, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value%' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF力智} +$value%' - 属性3范围_BUFF = [11, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=180) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05, BUFF智力per=1.05) - self.属性描述 += 神话属性title - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.09 - self.属性1选择_BUFF / 100, - BUFF魔攻per=1.09 - self.属性1选择_BUFF / 100, - BUFF独立per=1.09 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.10 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.11 - self.属性3选择_BUFF / 100, - BUFF智力per=1.11 - self.属性3选择_BUFF / 100) - - -class 装备190(装备): - 名称 = '伽内什的永恒庇护' - 模式 = 0 - 所属套装 = '幸运三角' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{力量、智力} +$value%' - 属性2范围 = [10, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{物攻/魔攻/独立} +$value%' - 属性4范围 = [8, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.07) - self.属性描述 += 属性.技能攻击力加成(0.07) - self.属性描述 += 属性.暴击伤害加成(0.07) - self.属性描述 += 属性.伤害增加加成(0.07) - self.属性描述 += 属性.百分比力智加成(0.07) - self.属性描述 += 神话属性title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.07) - self.属性描述 += 属性.移动速度增加(0.07) - self.属性描述 += 属性.施放速度增加(0.07) - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [50, 20, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value%' - 属性2范围_BUFF = [10, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉被动} +$value' - 属性3范围_BUFF = [40, 0, 20] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF力智} +$value%' - 属性4范围_BUFF = [9, 2, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=50 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.1 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.被动增加(信念光环体精=160 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.被动增加(一觉被动力智=140 - self.属性3选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.09 - self.属性4选择_BUFF / 100, - BUFF智力per=1.09 - self.属性4选择_BUFF / 100) - - -class 装备191(装备): - 名称 = '至高之炎-伊弗利特' - 模式 = 0 - 所属套装 = '精灵使的权能' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{力量、智力} +$value' - 属性1范围 = [160, 40, 20] - 属性1选择 = 0 - 属性2描述 = '{最终伤害} +$value%' - 属性2范围 = [12, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [12, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.2) - self.属性描述 += 属性.所有属性强化加成(38) - self.属性描述 += 属性.技能攻击力加成(0.13) - self.属性描述 += 神话属性title - self.属性描述 += 属性.力智固定加成(x=(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.最终伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{守护恩赐/力智} +$value' - 属性1范围_BUFF = [160, 40, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value' - 属性2范围_BUFF = [120, 10, 10] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [12, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(守护恩赐体精=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.力智固定加成(x=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智=120 - self.属性2选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.12 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.12 - self.属性3选择_BUFF / 100, - BUFF独立per=1.12 - self.属性3选择_BUFF / 100) - - -class 装备192(装备): - 名称 = '无尽的探求' - 模式 = 0 - 所属套装 = '黑魔法探求者' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{力量、智力} +$value' - 属性1范围 = [240, 20, 20] - 属性1选择 = 0 - 属性2描述 = '{附加伤害} +$value%' - 属性2范围 = [7, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value%' - 属性3范围 = [12, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.2) - self.属性描述 += 属性.技能攻击力加成(0.1) - self.属性描述 += 神话属性title - self.属性描述 += 属性.力智固定加成(x=(self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - self.属性描述 += 属性.附加伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(40) - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{守护恩赐/力智} +$value' - 属性1范围_BUFF = [240, 20, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [10, 4, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [120, 10, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=245) - self.属性描述 += 属性.被动增加(转职被动智力=270) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(守护恩赐体精=240 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.力智固定加成(x=240 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.1 - self.属性2选择_BUFF / 100, - BUFF独立per=1.1 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.觉醒增加(一觉力智=120 - self.属性3选择_BUFF * 10) - - -class 装备193(装备): - 名称 = '时间回溯之针' - 模式 = 0 - 所属套装 = '时空旅行者' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{力量、智力} +$value%' - 属性1范围 = [4, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{所有属性强化} +$value' - 属性2范围 = [20, 12, 4] - 属性2选择 = 0 - 属性3描述 = '{物攻/魔攻/独立} +$value' - 属性3范围 = [100, 10, 10] - 属性3选择 = 0 - 属性4描述 = '{最终伤害} +$value%' - 属性4范围 = [8, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.28) - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.技能冷却缩减(50, 50, 0.15) - self.属性描述 += 属性.技能冷却缩减(85, 85, 0.15) - self.属性描述 += 神话属性title - self.属性描述 += 属性.百分比力智加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.所有属性强化加成(self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) - self.属性描述 += 属性.三攻固定加成(self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) - self.属性描述 += 属性.最终伤害加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value%' - 属性1范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{转职被动}{Lv} +$value' - 属性2范围_BUFF = [5, 3, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{一觉力智} +$value' - 属性3范围_BUFF = [110, 20, 10] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF三攻} +$value%' - 属性4范围_BUFF = [10, 3, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=230) - self.属性描述 += 属性.被动增加(转职被动智力=242) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.07, BUFF智力per=1.07) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性1选择_BUFF / 100) - self.属性描述 += 属性.被动增加(转职被动Lv=5 - self.属性2选择_BUFF) - self.属性描述 += 属性.觉醒增加(一觉力智=110 - self.属性3选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.1 - self.属性4选择_BUFF / 100, - BUFF魔攻per=1.1 - self.属性4选择_BUFF / 100, - BUFF独立per=1.1 - self.属性4选择_BUFF / 100) - - -class 装备194(装备): - 名称 = '响彻天地的咆哮' - 模式 = 0 - 所属套装 = '穿透命运的呐喊' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{技能攻击力} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{附加伤害} +$value%' - 属性2范围 = [4, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{力量、智力} +$value%' - 属性3范围 = [7, 1, 1] - 属性3选择 = 0 - 属性4描述 = '{物攻/魔攻/独立} +$value%' - 属性4范围 = [12, 1, 1] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.最终伤害加成(0.18) - self.属性描述 += 属性.技能攻击力加成(0.06) - self.属性描述 += 神话属性title - self.属性描述 += 属性.技能攻击力加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.附加伤害加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - self.属性描述 += 属性.百分比力智加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - self.属性描述 += 属性.百分比三攻加成( - (self.属性4范围[0] - self.属性4选择 * self.属性4范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.08) - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - # 专属属性 - 属性1描述_BUFF = '{转职被动} +$value' - 属性1范围_BUFF = [160, 120, 20] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{一觉力智} +$value%' - 属性2范围_BUFF = [4, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF三攻} +$value%' - 属性3范围_BUFF = [7, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '{BUFF力智} +$value%' - 属性4范围_BUFF = [12, 1, 1] # 最大值 最小值 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.被动增加(守护恩赐体精=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.被动增加(转职被动智力=160 - self.属性1选择_BUFF * 20) - self.属性描述 += 属性.觉醒增加(一觉力智per=1.04 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.07 - self.属性3选择_BUFF / 100, - BUFF魔攻per=1.07 - self.属性3选择_BUFF / 100, - BUFF独立per=1.07 - self.属性3选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12 - self.属性4选择_BUFF / 100, - BUFF智力per=1.12 - self.属性4选择_BUFF / 100) - - -class 装备195(装备): - 名称 = '狂乱之逆转宿命' - 模式 = 0 - 所属套装 = '狂乱追随者' - 等级 = 100 - 品质 = '神话' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 149 - 智力 = 100 - 体力 = 120 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [10, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{所有属性强化} +$value' - 属性2范围 = [32, 4, 4] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [12, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.3) - self.属性描述 += 属性.技能攻击力加成(0.11) - self.属性描述 += 神话属性title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - self.属性描述 += 属性.所有属性强化加成(self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - # 专属属性 - 属性1描述_BUFF = '{一觉力智} +$value' - 属性1范围_BUFF = [110, 20, 10] # 最大值 最小值 间隔 - 属性1选择_BUFF = 0 - 属性2描述_BUFF = '{BUFF三攻} +$value%' - 属性2范围_BUFF = [8, 1, 1] # 最大值 最小值 间隔 - 属性2选择_BUFF = 0 - 属性3描述_BUFF = '{BUFF力智} +$value%' - 属性3范围_BUFF = [12, 1, 1] # 最大值 最小值 间隔 - 属性3选择_BUFF = 0 - 属性4描述_BUFF = '无' - 属性4范围_BUFF = [0, 0, 0] # 间隔 - 属性4选择_BUFF = 0 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=220) - self.属性描述 += 属性.被动增加(转职被动智力=250) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 神话属性title - self.属性描述 += 属性.觉醒增加(一觉力智=110 - self.属性1选择_BUFF * 10) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.08 - self.属性2选择_BUFF / 100, - BUFF魔攻per=1.08 - self.属性2选择_BUFF / 100, - BUFF独立per=1.08 - self.属性2选择_BUFF / 100) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.12 - self.属性3选择_BUFF / 100, - BUFF智力per=1.12 - self.属性3选择_BUFF / 100) - - -class 装备196(装备): - 名称 = '肯那兹:精神燎原之火' - 模式 = 0 - 所属套装 = '上古尘封术式' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.2) - self.属性描述 += 属性.附加伤害加成(0.12) - self.属性描述 += 属性.所有属性强化加成(25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=277) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备197(装备): - 名称 = '驱散月光之黎明' - 模式 = 0 - 所属套装 = '破晓曦光' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05 + 0.01 * min(13, 属性.获取强化(self.部位))) - self.属性描述 += 属性.百分比三攻加成(0.06) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 70, 1) - self.属性描述 += 属性.技能恢复加成(35, 45, 0.30) - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 50, 70, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=154) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备198(装备): - 名称 = '四叶草之初心' - 模式 = 0 - 所属套装 = '幸运三角' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.07) - self.属性描述 += 属性.百分比三攻加成(0.07) - self.属性描述 += 属性.伤害增加加成(0.07) - self.属性描述 += 属性.暴击伤害加成(0.07) - self.属性描述 += 属性.最终伤害加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=264) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备199(装备): - 名称 = '冷焰之冰-温蒂妮' - 模式 = 0 - 所属套装 = '精灵使的权能' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(38) - self.属性描述 += 属性.百分比三攻加成(0.27) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=264) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备200(装备): - 名称 = '堕落世界树之生命' - 模式 = 0 - 所属套装 = '深渊窥视者' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.4) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=166) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备201(装备): - 名称 = '引路者的四季项链' - 模式 = 0 - 所属套装 = '圣者的黄昏' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.35) - self.属性描述 += 属性.技能冷却缩减(1, 45, 0.10) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.10) - self.属性描述 += 属性.技能冷却缩减(90, 95, 0.10) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.移动速度增加(0.1) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=248) - self.属性描述 += 属性.被动增加(转职被动智力=128) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备202(装备): - 名称 = '悲痛者项链' - 模式 = 0 - 所属套装 = '坎坷命运' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.1) - self.属性描述 += 属性.最终伤害加成(0.28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.04) - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.施放速度增加(0.06) - if 属性.装备检查('地狱边缘'): - self.属性描述 += '装备地狱边缘时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - if 属性.装备检查('悲情者遗物'): - self.属性描述 += '装备悲情者遗物时
' - self.属性描述 += 属性.攻击速度增加(-0.01) - self.属性描述 += 属性.移动速度增加(-0.01) - self.属性描述 += 属性.施放速度增加(-0.015) - pass - - 精神 = 117 - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=264) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备203(装备): - 名称 = '激狂之怒' - 模式 = 0 - 所属套装 = '吞噬愤怒' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.3) - self.属性描述 += 属性.持续伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=264) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - - -class 装备204(装备): - 名称 = '盖柏:完美的均衡' - 模式 = 0 - 所属套装 = '上古尘封术式' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - - self.属性描述 += 属性.附加伤害加成(0.12) - self.属性描述 += 属性.所有属性强化加成(25) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.2, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=266) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备205(装备): - 名称 = '寂静无言之露珠' - 模式 = 0 - 所属套装 = '破晓曦光' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.01 * min(13, 属性.获取强化(self.部位))) - self.属性描述 += 属性.所有属性强化加成(30) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 75, 85, 1) - self.属性描述 += 属性.技能恢复加成(60, 80, 0.30) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.05, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 75, 85, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=181) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.06) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.06) - - -class 装备206(装备): - 名称 = '红兔之祝福' - 模式 = 0 - 所属套装 = '幸运三角' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.07) - self.属性描述 += 属性.百分比三攻加成(0.07) - self.属性描述 += 属性.伤害增加加成(0.07) - self.属性描述 += 属性.最终伤害加成(0.07) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.07, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=266) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备207(装备): - 名称 = '祝福之风-西尔芙' - 模式 = 0 - 所属套装 = '精灵使的权能' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(38) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.04) - self.属性描述 += 属性.移动速度增加(0.04) - self.属性描述 += 属性.施放速度增加(0.06) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.27, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=266) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备208(装备): - 名称 = '支配黑暗之环' - 模式 = 0 - 所属套装 = '地狱求道者' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.20) - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.20, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=299) - self.属性描述 += 属性.被动增加(转职被动智力=115) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备209(装备): - 名称 = '次元穿越者之印' - 模式 = 0 - 所属套装 = '次元旅行者' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.18) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.14, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=246) - self.属性描述 += 属性.被动增加(转职被动智力=92) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备210(装备): - 名称 = '命运的捉弄' - 模式 = 0 - 所属套装 = '天命无常' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - if '天命无常[2]' in 属性.套装栏: - if 属性.天命无常 == 0: - if 属性.装备检查('命运反抗者'): - self.属性描述 += 属性.伤害增加加成(0.11) - else: - self.属性描述 += 属性.伤害增加加成(0.10) - if 属性.天命无常 == 1: - self.属性描述 += 属性.伤害增加加成(0.05) - elif 属性.天命无常 >= 2: - self.属性描述 += 属性.伤害增加加成(0.11) - # self.属性描述 += 属性.最终伤害加成(0.06) - self.属性描述 += 属性.技能攻击力加成(0.19) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.06, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=263) - self.属性描述 += 属性.被动增加(转职被动智力=80) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -class 装备211(装备): - 名称 = '蓬勃生命的落幕' - 模式 = 0 - 所属套装 = '悲剧的残骸' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - - if 属性.悲剧的残骸 == 0: - if 属性.装备检查('心痛如绞的诀别'): - self.属性描述 += 属性.附加伤害加成(0.106) - else: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 1: - if 属性.装备检查('心痛如绞的诀别'): - self.属性描述 += 属性.附加伤害加成(0.10) - else: - self.属性描述 += 属性.附加伤害加成(0.08) - if 属性.悲剧的残骸 == 2: - self.属性描述 += 属性.附加伤害加成(0.10) - if 属性.悲剧的残骸 == 3: - self.属性描述 += 属性.附加伤害加成(0.12) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - if 属性.悲剧的残骸 == 0: - self.属性描述 += 属性.攻击速度增加(0.021) - if 属性.悲剧的残骸 >= 2: - self.属性描述 += 属性.攻击速度增加(0.03) - pass - - def 变换属性(self, 属性): - self.属性描述 += 属性.暴击伤害加成(0.27, 2) - pass - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=266) - self.属性描述 += 属性.被动增加(转职被动智力=86) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.08) - - -# endregion - - -# region 智慧产物 -class 装备245(装备): - 名称 = '噙毒手套' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - if 属性.获取改造(self.部位) >= 1 and 属性.噙毒手套 == 0: - self.属性描述 += 属性.暴击伤害加成(0.28) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.技能攻击力加成(0.10,适用累加=0) - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(8 * 属性.获取改造(self.部位)) - self.属性描述 += 属性.暴击伤害加成(0.02 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.08) - self.属性描述 += 属性.魔法暴击率增加(0.08) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +147
' - temp += '智力 +100
' - temp += '物理暴击率 +8%
' - temp += '魔法暴击率 +8%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '所有属性强化 +%d
' % (8 * 改造等级) - temp += '暴击伤害 +%d
' % (2 * 改造等级) - if 改造等级 >= 1: - if 属性.噙毒手套 == 0: - temp += '暴击伤害 +28%
' - if 属性.噙毒手套 == 1: - temp += '暴击伤害 +0% (未触发)
' - if 改造等级 >= 4: - temp += '技能攻击力 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备246(装备): - 名称 = '先知者的预言' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比力智加成(0.18) - if 属性.获取改造(self.部位) >= 4: - if 属性.先知者的预言 == 0: - self.属性描述 += 属性.属性附加加成(0.05 * 0.35) - self.属性描述 += 属性.技能攻击力加成(0 + (0.10 * 0.35 + 0.15 * 0.3),适用累加=0) - if 属性.先知者的预言 == 1: - self.属性描述 += 属性.属性附加加成(0.05) - if 属性.先知者的预言 == 2: - self.属性描述 += 属性.技能攻击力加成(0.10,适用累加=0) - if 属性.先知者的预言 == 3: - self.属性描述 += 属性.技能攻击力加成(0.15,适用累加=0) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.1) - self.属性描述 += 属性.移动速度增加(0.1) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '攻击速度 +10%
' - temp += '移动速度 +10%
' - temp += '施放速度 +15%
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '伤害增加 +%d%%
' % (4 * 改造等级) - if 改造等级 >= 1: - temp += '百分比力智 +18%
' - if 改造等级 >= 4: - if 属性.先知者的预言 == 0: - temp += '属性附加 +{:.2f}%
'.format(0.05 * 0.35 * 100, 3) - temp += '技能攻击力 +{:.2f}%
'.format( - (0.10 * 0.35 + 0.15 * 0.3) * 100) - if 属性.先知者的预言 == 1: - temp += '属性附加 +5%
' - if 属性.先知者的预言 == 2: - temp += '技能攻击力 +10%
' - if 属性.先知者的预言 == 3: - temp += '技能攻击力 +15%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备247(装备): - 名称 = '骸麒之戒' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - if 属性.获取改造(self.部位) >= 5: - self.属性描述 += 属性.附加伤害加成(0.53) - if 属性.获取改造(self.部位) >= 1 and 属性.获取改造(self.部位) < 5: - self.属性描述 += 属性.附加伤害加成(0.35) - pass - - def 进图属性(self, 属性): - 属性.力量 += 30 * 属性.获取改造(self.部位) - 属性.智力 += 30 * 属性.获取改造(self.部位) - self.属性描述 += 属性.附加伤害加成(0.02 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +171
' - temp += '智力 +171
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '力量 +{}
'.format(30 * 改造等级) - temp += '智力 +{}
'.format(30 * 改造等级) - temp += '附加伤害 +{}%
'.format(2 * 改造等级) - if 改造等级 >= 5: - temp += '附加伤害 +53%
' - if 改造等级 >= 1 and 改造等级 < 5: - temp += '附加伤害 +35%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - -class 装备528(装备): - 名称 = '无言怒火' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{所有属性强化} +$value' - 属性1范围 = [12, 4, 4] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{所有属性强化} +$value' - 属性3范围 = [12, 4, 4] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.所有属性强化加成((self.属性1范围[0] - self.属性1选择 * self.属性1范围[2])) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.所有属性强化加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2])) - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(16 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.13,适用累加=0) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.属性附加加成(0.05) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +147
' - temp += '智力 +100
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '所有属性强化 +%d
' % (16 * 改造等级) - if 改造等级 >= 1: - temp += '力量、智力 +5%
' - temp += '技能攻击力 +13%
' - if 改造等级 >= 4: - temp += '属性附加伤害 +5%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03, BUFF智力per=1.03) - self.属性描述 += 属性.觉醒增加(一觉力智=20) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - self.属性描述 += 属性.被动增加(转职被动智力=40) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04, BUFF智力per=1.04) - self.属性描述 += 属性.觉醒增加(一觉力智=30) - self.属性描述 += 属性.被动增加(守护恩赐体精=20) - self.属性描述 += 属性.被动增加(转职被动智力=60) - - -class 装备529(装备): - 名称 = '无形青岩' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 精神 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.04 * 属性.获取改造(self.部位)) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.伤害增加加成(0.12) - self.属性描述 += 属性.附加伤害加成(0.1) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.持续伤害加成(0.1) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '伤害增加 +%d%%
' % (4 * 改造等级) - if 改造等级 >= 1: - temp += '伤害增加 +12%
' - temp += '附加伤害 +10%
' - if 改造等级 >= 4: - temp += '持续伤害 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.06) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.BUFF增加(BUFFLv=1) - self.属性描述 += 属性.觉醒增加(一觉力智=35) - - -class 装备530(装备): - 名称 = '无念剑环' - 模式 = 0 - 所属套装 = '智慧产物' - 等级 = 100 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 171 - 智力 = 171 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{附加伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{附加伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.附加伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.附加伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.04 * 属性.获取改造(self.部位),适用累加=0) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.附加伤害加成(0.1) - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.伤害增加加成(0.1) - pass - - def 进图属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 属性.所有属性强化加成(40) - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +171
' - temp += '智力 +171
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '技能攻击力 +{}%
'.format(4 * 改造等级) - if 改造等级 >= 1: - temp += '所有属性强化 +40
' - temp += '伤害增加 +10%
' - if 改造等级 >= 4: - temp += '附加伤害 +10%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - 属性.体精固定加成(20 * 属性.获取改造(self.部位)) - 属性.力智固定加成(20 * 属性.获取改造(self.部位)) - - def BUFF属性(self, 属性): - if 属性.获取改造(self.部位) >= 1: - self.属性描述 += 改造属性title.format(属性.获取改造(self.部位)) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.08, BUFF智力per=1.08) - self.属性描述 += 属性.觉醒增加(一觉力智=15) - self.属性描述 += 属性.被动增加(守护恩赐体精=100) - if 属性.获取改造(self.部位) >= 4: - self.属性描述 += 属性.觉醒增加(一觉Lv=1) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05, BUFF智力per=1.05) - self.属性描述 += 属性.被动增加(守护恩赐体精=30) - - -# endregion - - -# region 普雷 -class 装备336(装备): - 名称 = '暗黑之云:被吞噬的太阳' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 45 - 体力 = 112 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(28) - self.属性描述 += 属性.技能攻击力加成(0.18) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '所有属性强化 +28
' - temp += '技能攻击力 +18%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=170) - self.属性描述 += 属性.被动增加(转职被动智力=300) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +300
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +112
' - temp += '[荣誉祝福]力量、智力 +4%<
' - temp += '[守护恩赐]体力、精神 +170
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +300
' - return temp - - -class 装备337(装备): - 名称 = '暗黑之潮:分裂的太阳' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 45 - 精神 = 112 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(24) - self.属性描述 += 属性.百分比三攻加成(0.22) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +45
' - temp += '所有属性强化 +24
' - temp += '百分比三攻 +22%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=164) - self.属性描述 += 属性.被动增加(转职被动智力=151) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +45
' - temp += '[勇气祝福]物理攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +151
' - elif 属性.角色 == '圣职者(男)': - temp += '精神 +112
' - temp += '[荣誉祝福]物理攻击力增加量 +4%<
' - temp += '[守护恩赐]体力、精神 +164
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +45
' - temp += '[禁忌诅咒]物理攻击力增加量 +4%<
' - temp += '[人偶操纵者]智力 +151
' - return temp - - -class 装备338(装备): - 名称 = '暗黑之炎:被蚕食的太阳' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(34) - self.属性描述 += 属性.技能攻击力加成(0.16) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '所有属性强化 +34
' - temp += '技能攻击力 +16%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=216) - self.属性描述 += 属性.被动增加(转职被动智力=136) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +67
' - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +136
' - elif 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +4%<
' - temp += '[守护恩赐]体力、精神 +216
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +67
' - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +136
' - return temp - - -class 装备339(装备): - 名称 = '暗黑之云:被吞噬的大地' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 45 - 智力 = 0 - 体力 = 112 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(28) - self.属性描述 += 属性.技能攻击力加成(0.14) - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '所有属性强化 +28
' - temp += '技能攻击力 +14%
' - temp += 'Lv1-48 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 1, 48, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(转职被动智力=102) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +102
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +112
' - temp += '[荣誉祝福]力量、智力 +4%<
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +102
' - temp += 'Lv1-48 技能等级 +1
' - return temp - - -class 装备340(装备): - 名称 = '暗黑之潮:分裂的大地' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 45 - 精神 = 112 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(24) - self.属性描述 += 属性.百分比三攻加成(0.18) - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +45
' - temp += '所有属性强化 +24
' - temp += '百分比三攻 +18%
' - temp += 'Lv60-80 技能等级+1
' - return temp - - def 城镇属性_BUFF(self, 属性): - self.属性描述 += 属性.技能等级加成('所有', 60, 80, 1) - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=154) - self.属性描述 += 属性.被动增加(转职被动智力=131) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +45
' - temp += '[勇气祝福]物理攻击力增加量 +4%
' - temp += '[启示:圣歌]智力 +131
' - elif 属性.角色 == '圣职者(男)': - temp += '精神 +112
' - temp += '[荣誉祝福]物理攻击力增加量 +4%<
' - temp += '[守护恩赐]体力、精神 +154
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +45
' - temp += '[禁忌诅咒]物理攻击力增加量 +4%<
' - temp += '[人偶操纵者]智力 +131
' - temp += 'Lv60-80 技能等级 +1
' - return temp - - -class 装备341(装备): - 名称 = '暗黑之炎:被蚕食的大地' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(34) - self.属性描述 += 属性.技能攻击力加成(0.10) - self.属性描述 += 属性.技能等级加成('所有', 80, 85, 1) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '所有属性强化 +34
' - temp += '技能攻击力 +10%
' - temp += 'Lv80-85 技能等级+1
' - return temp - - -class 装备342(装备): - 名称 = '暗黑之云:被吞噬的天空' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 45 - 智力 = 0 - 体力 = 112 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(28) - self.属性描述 += 属性.技能攻击力加成(0.14) - self.属性描述 += 属性.技能冷却缩减(60, 80, 0.12) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '所有属性强化 +28
' - temp += '技能攻击力 +14%
' - temp += 'Lv60-80 技能CD-12%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=140) - self.属性描述 += 属性.被动增加(转职被动智力=280) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +280
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +112
' - temp += '[荣誉祝福]力量、智力 +4%<
' - temp += '[守护恩赐]体力、精神 +140
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +280
' - return temp - - -class 装备343(装备): - 名称 = '暗黑之潮:分裂的天空' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 45 - 精神 = 112 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(24) - self.属性描述 += 属性.百分比三攻加成(0.19) - self.属性描述 += 属性.技能冷却缩减(1, 30, 0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +45
' - temp += '所有属性强化 +24
' - temp += '百分比三攻 +19%
' - temp += 'Lv1-30 技能CD-15%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=144) - self.属性描述 += 属性.被动增加(转职被动智力=131) - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.04) - try: - 属性.技能栏[属性.技能序号['人偶操控者']].额外智力 -= 15 - except: - pass - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +45
' - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +131
' - elif 属性.角色 == '圣职者(男)': - temp += '精神 +112
' - temp += '[荣誉祝福]力量、智力 +4%<
' - temp += '[守护恩赐]体力、精神 +144
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +45
' - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +116
' - return temp - - -class 装备344(装备): - 名称 = '暗黑之炎:被蚕食的天空' - 所属套装 = '黑暗的第一权能' - 所属套装2 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(34) - self.属性描述 += 属性.技能攻击力加成(0.11) - self.属性描述 += 属性.技能冷却缩减(35, 45, 0.15) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.03) - self.属性描述 += 属性.施放速度增加(0.045) - self.属性描述 += 属性.移动速度增加(0.03) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '所有属性强化 +34
' - temp += '技能攻击力 +11%
' - temp += 'Lv35-45 技能CD-15%
' - temp += '攻击速度 +3%
' - temp += '施放速度 +4.5%
' - temp += '移动速度 +3%
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=196) - self.属性描述 += 属性.被动增加(转职被动智力=116) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.04) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.04) - try: - 属性.技能栏[属性.技能序号['人偶操控者']].额外智力 -= 15 - except: - pass - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '智力 +67
' - temp += '[勇气祝福]力量、智力 +4%
' - temp += '[启示:圣歌]智力 +116
' - elif 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +4%<
' - temp += '[守护恩赐]体力、精神 +196
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +67
' - temp += '[禁忌诅咒]力量、智力 +4%<
' - temp += '[人偶操纵者]智力 +101
' - return temp - - -# endregion - - -# region 100改造&传说 -class 装备354(装备): - 名称 = '轮回·维度冲击臂环' - 模式 = 1 - 所属套装 = '智慧产物' - 所属套装2 = '维度崩坏' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 体力 = 117 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成( - (self.属性1范围[0] - self.属性1选择 * self.属性1范围[2]) / 100) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成( - (self.属性2范围[0] - self.属性2选择 * self.属性2范围[2]) / 100) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成( - (self.属性3范围[0] - self.属性3选择 * self.属性3范围[2]) / 100) - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.12) - self.属性描述 += 属性.技能攻击力加成(0.16,适用累加=0) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - 属性.力量 += 25 * 属性.获取改造(self.部位) - 属性.智力 += 25 * 属性.获取改造(self.部位) - self.属性描述 += 属性.暴击伤害加成(0.02 * 属性.获取改造(self.部位)) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +147
' - temp += '智力 +100
' - temp += '百分比力智 +12%
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '力量 +' + str(25 * 改造等级) + '
' - temp += '智力 +' + str(25 * 改造等级) + '
' - temp += '暴击伤害+' + str(2 * 改造等级) + '%
' - if 属性.产物升级 == 1: - 属性.装备描述 = 1 - self.产物升级(属性) - temp += self.属性描述 - 属性.装备描述 = 0 - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - 属性.智力 += 25 * 属性.获取改造(self.部位) - 属性.体力 += 25 * 属性.获取改造(self.部位) - 属性.精神 += 25 * 属性.获取改造(self.部位) - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=262) - self.属性描述 += 属性.被动增加(转职被动智力=285) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '智力 +100
' - temp += '[勇气祝福]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +285
' - temp += 改造属性title.format(改造等级) - temp += '智力 +{}
'.format(25 * 改造等级) - elif 属性.角色 == '圣职者(男)': - temp += '体力 +117
' - temp += '[荣誉祝福]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +262
' - temp += 改造属性title.format(改造等级) - temp += '体力 +{}
'.format(25 * 改造等级) - temp += '精神 +{}
'.format(25 * 改造等级) - elif 属性.角色 == '魔法师(女)': - temp += '智力 +100
' - temp += '[禁忌诅咒]力量、智力 +5%
' - temp += '[人偶操纵者]智力 +285
' - temp += 改造属性title.format(改造等级) - temp += '智力 +{}
'.format(25 * 改造等级) - return temp - - -class 装备355(装备): - 名称 = '时空:维度冲击臂环' - 模式 = 1 - 所属套装 = '维度崩坏' - 等级 = 100 - 品质 = '传说' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 46 - 智力 = 0 - 体力 = 114 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +46
' - temp += '百分比力智 +10%
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=222) - self.属性描述 += 属性.被动增加(转职被动智力=345) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.05) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.05) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +5%
' - temp += '[启示:圣歌]智力 +345
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +114
' - temp += '[荣誉祝福]力量、智力 +5%
' - temp += '[守护恩赐]体力、精神 +222
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +5%
' - temp += '[人偶操纵者]智力 +345
' - return temp - - -class 装备356(装备): - 名称 = '维度定位项链' - 模式 = 1 - 所属套装 = '维度崩坏' - 等级 = 100 - 品质 = '传说' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 46 - 精神 = 114 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.22) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +46
' - temp += '百分比三攻 +22%
' - temp += '所有属性强化 +28
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF物攻per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=156) - self.属性描述 += 属性.被动增加(转职被动智力=143) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '智力 +46
' - temp += '[勇气祝福]物理攻击力增加量 +3%
' - temp += '[启示:圣歌]智力 +143
' - elif 属性.角色 == '圣职者(男)': - temp += '精神 +114
' - temp += '[荣誉祝福]物理攻击力增加量 +3%
' - temp += '[守护恩赐]体力、精神 +156
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +46
' - temp += '[禁忌诅咒]物理攻击力增加量 +3%
' - temp += '[人偶操纵者]智力 +143
' - return temp - - -class 装备357(装备): - 名称 = '维度粉碎戒指' - 模式 = 1 - 所属套装 = '维度崩坏' - 等级 = 100 - 品质 = '传说' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 68 - 智力 = 68 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +68
' - temp += '智力 +68
' - temp += '附加伤害 +5%
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.被动增加(守护恩赐体精=205) - self.属性描述 += 属性.被动增加(转职被动智力=129) - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - - def 装备描述_BUFF(self, 属性): - temp = '' - 改造等级 = 属性.获取改造(self.部位) - if 属性.角色 == '圣职者(女)': - temp += '智力 +68
' - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[启示:圣歌]智力 +129
' - elif 属性.角色 == '圣职者(男)': - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[守护恩赐]体力、精神 +205
' - elif 属性.角色 == '魔法师(女)': - temp += '智力 +68
' - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[人偶操纵者]智力 +129
' - return temp - - -class 装备368(装备): - 名称 = '维度冲击臂环' - 模式 = 1 - 所属套装 = '维度崩坏' - 等级 = 100 - 品质 = '传说' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 46 - 智力 = 0 - 体力 = 114 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比力智加成(0.05) - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +46
' - temp += '百分比力智 +5%
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - def 城镇属性_BUFF(self, 属性): - pass - - def 进图属性_BUFF(self, 属性): - pass - - def BUFF属性(self, 属性): - self.属性描述 += 属性.BUFF增加(BUFF力量per=1.03) - self.属性描述 += 属性.BUFF增加(BUFF智力per=1.03) - self.属性描述 += 属性.被动增加(守护恩赐体精=162) - self.属性描述 += 属性.被动增加(转职被动智力=285) - - def 装备描述_BUFF(self, 属性): - temp = '' - if 属性.角色 == '圣职者(女)': - temp += '[勇气祝福]力量、智力 +3%
' - temp += '[启示:圣歌]智力 +285
' - elif 属性.角色 == '圣职者(男)': - temp += '体力 +114
' - temp += '[荣誉祝福]力量、智力 +3%
' - temp += '[守护恩赐]体力、精神 +162
' - elif 属性.角色 == '魔法师(女)': - temp += '[禁忌诅咒]力量、智力 +3%
' - temp += '[人偶操纵者]智力 +285
' - return temp - - -# endregion - - -# region 改造低级SS -class 装备390(装备): - 名称 = '碧水红潮' - 所属套装 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(16) - self.属性描述 += 属性.百分比三攻加成(0.18) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '所有属性强化 +16
' - temp += '百分比三攻 +18%
' - temp += '攻击速度 +5%
' - temp += '移动速度 +8%
' - temp += '施放速度 +12%
' - return temp - - -class 装备391(装备): - 名称 = '雪浪风尘' - 所属套装 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 45 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(16) - self.属性描述 += 属性.技能攻击力加成(0.18) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +45
' - temp += '所有属性强化 +16
' - temp += '技能攻击力 +18%
' - temp += '攻击速度 +5%
' - temp += '移动速度 +8%
' - temp += '施放速度 +12%
' - return temp - - -class 装备392(装备): - 名称 = '千寻一醉' - 所属套装 = '江山如画' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 45 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(16) - self.属性描述 += 属性.百分比力智加成(0.18) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.08) - self.属性描述 += 属性.施放速度增加(0.12) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +45
' - temp += '所有属性强化 +16
' - temp += '百分比力智 +18%
' - temp += '攻击速度 +5%
' - temp += '移动速度 +8%
' - temp += '施放速度 +12%
' - return temp - - -class 装备397(改造产物): - 名称 = '天衍万物' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 关联套装 = '万物的生灭[3]' - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.暴击伤害加成(0.02 * x) - if x >= 3: - self.属性描述 += 属性.附加伤害加成(0.13) - self.属性描述 += 属性.百分比三攻加成(0.25) - if x >= 4: - self.属性描述 += 属性.所有属性强化加成(60) - self.属性描述 += 属性.百分比力智加成(0.37) - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.10) - self.属性描述 += 属性.施放速度增加(0.15) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +147
' - temp += '智力 +100
' - temp += '攻击速度 +10%
' - temp += '施放速度 +15%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '暴击伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 3: - temp += '附加伤害 +13%
' - temp += '百分比三攻 +25%
' - if 改造等级 >= 4: - temp += '所有属性强化 +60
' - temp += '百分比力智 +37%
' - return temp - - -class 装备404(装备): - 名称 = '流逝轮回的时间' - 所属套装 = '流逝轮回的记忆' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 45 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.附加伤害加成(0.10) - - def 进图属性(self, 属性): - 属性.力量 += 100 - 属性.智力 += 100 - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +145
' - temp += '智力 +100
' - temp += '附加伤害 +10%
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - return temp - - -class 装备405(装备): - 名称 = '流逝轮回的思念' - 所属套装 = '流逝轮回的记忆' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 45 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(42) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.物理暴击率增加(0.05) - self.属性描述 += 属性.魔法暴击率增加(0.05) - self.属性描述 += 属性.攻击速度增加(0.05) - self.属性描述 += 属性.施放速度增加(0.05) - self.属性描述 += 属性.移动速度增加(0.05) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +45
' - temp += '所有属性强化 +42
' - temp += '物理暴击率 +5%
' - temp += '魔法暴击率 +5%
' - temp += '攻击速度 +5%
' - temp += '施放速度 +5%
' - temp += '移动速度 +5%
' - return temp - - -class 装备406(装备): - 名称 = '流逝轮回的启迪' - 所属套装 = '流逝轮回的记忆' - 模式 = 1 - 等级 = 95 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 67 - 智力 = 67 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.08) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - self.属性描述 += 属性.攻击速度增加(0.05) - pass - - 名称 = '流逝轮回的启迪' - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +67
' - temp += '智力 +67
' - temp += '技能攻击力 +8%
' - temp += '攻击速度 +5%
' - return temp - - -class 装备421(改造产物): - 名称 = '全能霸域' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 关联套装 = '霸域英豪[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.技能等级加成('所有', 50, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - if x >= 3: - self.属性描述 += 属性.百分比力智加成(0.19) - self.属性描述 += 属性.伤害增加加成(0.22) - self.属性描述 += 属性.技能攻击力加成(0.28) - if x >= 5: - self.属性描述 += 属性.百分比力智加成(0.63) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.40) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '百分比三攻 +40%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '所有属性强化 +50
' - temp += 'Lv50-85 技能等级+2
' - temp += 'Lv100 技能等级+2
' - if 改造等级 >= 3: - temp += '百分比力智 +19%
' - temp += '伤害增加 +22%
' - temp += '技能攻击力 +28%
' - if 改造等级 >= 5: - temp += '百分比力智 +63%
' - return temp - - -class 装备427(改造产物): - 名称 = '百变千蛛' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 关联套装 = '千蛛碎影[5]' - 属性1描述 = '{伤害增加} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{伤害增加} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.伤害增加加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.伤害增加加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.伤害增加加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.附加伤害加成(0.18) - self.属性描述 += 属性.最终伤害加成(0.40) - if x >= 3: - self.属性描述 += 属性.暴击伤害加成(0.38) - self.属性描述 += 属性.技能攻击力加成(0.30) - if x >= 5: - self.属性描述 += 属性.百分比力智加成(0.45) - self.属性描述 += 属性.百分比三攻加成(0.10) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.所有属性强化加成(119) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '所有属性强化 +119
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '伤害增加 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '附加伤害 +18%
' - temp += '最终伤害 +40%
' - if 改造等级 >= 3: - temp += '暴击伤害 +38%
' - temp += '技能攻击力 +30%
' - if 改造等级 >= 5: - temp += '百分比力智 +45%
' - temp += '百分比三攻 +10%
' - return temp - - -class 装备439(改造产物): - 名称 = '天御万物' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 关联套装 = '天御之灾[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.百分比力智加成(0.28) - if x >= 3: - self.属性描述 += 属性.所有属性强化加成(50) - self.属性描述 += 属性.百分比三攻加成(0.32) - self.属性描述 += 属性.技能攻击力加成(0.20) - if x >= 5: - self.属性描述 += 属性.最终伤害加成(0.17) - self.属性描述 += 属性.属性附加加成(0.25) - self.属性描述 += 属性.伤害增加加成(0.18) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.伤害增加加成(0.18) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '伤害增加 +18%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '百分比力智 +28%
' - if 改造等级 >= 3: - temp += '所有属性强化 +50
' - temp += '百分比三攻 +32%
' - temp += '技能攻击力 +20%
' - if 改造等级 >= 5: - temp += '最终伤害 +17%
' - temp += '属性附加 +25%
' - temp += '伤害增加 +18%
' - return temp - - -class 装备457(改造产物): - 名称 = '杀戮之决' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 关联套装 = '杀意决[5]' - 属性1描述 = '{最终伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{最终伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.最终伤害加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.最终伤害加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.最终伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.技能等级加成('所有', 50, 50, 3) - self.属性描述 += 属性.技能等级加成('所有', 85, 85, 3) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 1) - self.属性描述 += 属性.所有属性强化加成(50) - if x >= 3: - self.属性描述 += 属性.百分比力智加成(0.13) - self.属性描述 += 属性.伤害增加加成(0.30) - self.属性描述 += 属性.暴击伤害加成(0.30) - if x >= 5: - self.属性描述 += 属性.最终伤害加成(0.10) - self.属性描述 += 属性.技能攻击力加成(0.42) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.38) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '百分比三攻 +38%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '最终伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += 'Lv50 技能等级+3
' - temp += 'Lv85 技能等级+3
' - temp += 'Lv100 技能等级+1
' - temp += '所有属性强化 +50
' - if 改造等级 >= 3: - temp += '百分比力智 +13%
' - temp += '伤害增加 +30%
' - temp += '暴击伤害 +30%
' - if 改造等级 >= 5: - temp += '最终伤害 +10%
' - temp += '技能攻击力 +42%
' - return temp - - -class 装备463(改造产物): - 名称 = '逝魔之痕' - 部位 = '项链' - 类型 = '首饰' - 力量 = 100 - 智力 = 147 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - 关联套装 = '逝魔之力[5]' - 属性1描述 = '{暴击伤害} +$value%' - 属性1范围 = [3, 1, 1] - 属性1选择 = 0 - 属性2描述 = '{技能攻击力} +$value%' - 属性2范围 = [3, 1, 1] - 属性2选择 = 0 - 属性3描述 = '{暴击伤害} +$value%' - 属性3范围 = [3, 1, 1] - 属性3选择 = 0 - 属性4描述 = '无' - 属性4范围 = [] - 属性4选择 = 0 - - def 产物升级(self, 属性): - self.属性描述 = "" - self.属性描述 += 改造遴选title - self.属性描述 += 属性.暴击伤害加成(0.3) - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 >= 6: - self.属性描述 += 属性.技能攻击力加成(0.03) - if 改造等级 >= 7: - self.属性描述 += 属性.暴击伤害加成(0.03) - - def 改造属性(self, 属性, x): - self.属性描述 += 属性.暴击伤害加成(0.02 * x) - if x >= 1: - self.属性描述 += 属性.百分比力智加成(0.40) - if x >= 3: - self.属性描述 += 属性.所有属性强化加成(42) - self.属性描述 += 属性.伤害增加加成(0.30) - self.属性描述 += 属性.技能攻击力加成(0.28) - if x >= 5: - self.属性描述 += 属性.技能等级加成('所有', 1, 85, 2) - self.属性描述 += 属性.技能等级加成('所有', 100, 100, 2) - self.属性描述 += 属性.技能攻击力加成(0.18) - pass - - def 基础属性(self, 属性): - self.属性描述 += 属性.最终伤害加成(0.35) - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +100
' - temp += '智力 +147
' - temp += '最终伤害 +35%
' - if self.关联套装 not in 属性.套装栏: - temp += '改造属性未生效
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '暴击伤害 +' + str(2 * 改造等级) + '%
' - if 改造等级 >= 1: - temp += '百分比力智 +40%
' - if 改造等级 >= 3: - temp += '所有属性强化 +42
' - temp += '伤害增加 +30%
' - temp += '技能攻击力 +28%
' - if 改造等级 >= 5: - temp += 'Lv1-85 技能等级+2
' - temp += 'Lv100 技能等级+2
' - temp += '技能攻击力 +18%
' - return temp - - -class 装备470(装备): - 名称 = '冰雪公主的霜语手镯' - 所属套装 = '冰雪公主的霜语首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 41 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(22) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +41
' - temp += '冰属性强化 +22
' - return temp - - -class 装备471(装备): - 名称 = '冰雪公主的霜语项链' - 所属套装 = '冰雪公主的霜语首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 41 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(30) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +41
' - temp += '冰属性强化 +30
' - return temp - - -class 装备472(装备): - 名称 = '冰雪公主的霜语戒指' - 所属套装 = '冰雪公主的霜语首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 62 - 智力 = 62 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.冰属性强化加成(30) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +62
' - temp += '智力 +62
' - temp += '冰属性强化 +30
' - return temp - - -class 装备474(装备): - 名称 = '精炼的毁伤魔石手环' - 所属套装 = '精炼的异界魔石首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 96 - 智力 = 55 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.07) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +96
' - temp += '智力 +55
' - temp += '技能攻击力 +7%
' - return temp - - -class 装备475(装备): - 名称 = '精炼的混沌魔石项链' - 所属套装 = '精炼的异界魔石首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 41 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - 属性.黄字 = max(属性.黄字, 0.20) - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +41
' - temp += '黄字 +20%(取最高值)
' - return temp - - -class 装备476(装备): - 名称 = '精炼的遗忘魔石戒指' - 所属套装 = '精炼的异界魔石首饰' - 模式 = 1 - 等级 = 85 - 品质 = '史诗' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 62 - 智力 = 62 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +62
' - temp += '智力 +62
' - return temp - - -# endregion - - -# region 100光环传说 -class 装备479(装备): - 名称 = '轮回·先贤的馈赠手镯' - 模式 = 1 - 所属套装 = '智慧产物' - 所属套装2 = '先贤的馈赠' - 等级 = 100 - 品质 = '史诗' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 147 - 智力 = 100 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.16,适用累加=0) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - 属性.力量 += 25 * 属性.获取改造(self.部位) - 属性.智力 += 25 * 属性.获取改造(self.部位) - self.属性描述 += 属性.技能攻击力加成(0.02 * 属性.获取改造(self.部位),适用累加=0) - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +147
' - temp += '智力 +100
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - 改造等级 = 属性.获取改造(self.部位) - if 改造等级 > 0: - temp += 改造属性title.format(改造等级) - temp += '力量 +' + str(25 * 改造等级) + '
' - temp += '智力 +' + str(25 * 改造等级) + '
' - temp += '技能攻击力 +' + str(2 * 改造等级) + '%
' - return temp - - -class 装备480(装备): - 名称 = '时空:先贤的馈赠手镯' - 模式 = 1 - 所属套装 = '先贤的馈赠' - 等级 = 100 - 品质 = '传说' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 46 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +46
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - -class 装备481(装备): - 名称 = '先贤的馈赠项链' - 模式 = 1 - 所属套装 = '先贤的馈赠' - 等级 = 100 - 品质 = '传说' - 部位 = '项链' - 类型 = '首饰' - 力量 = 0 - 智力 = 46 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.百分比三攻加成(0.20) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '智力 +46
' - temp += '百分比三攻 +20%
' - temp += '所有属性强化 +28
' - return temp - - -class 装备482(装备): - 名称 = '先贤的馈赠戒指' - 模式 = 1 - 所属套装 = '先贤的馈赠' - 等级 = 100 - 品质 = '传说' - 部位 = '戒指' - 类型 = '首饰' - 力量 = 68 - 智力 = 68 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +68
' - temp += '智力 +68
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - -class 装备489(装备): - 名称 = '先贤的馈赠手镯' - 模式 = 1 - 所属套装 = '先贤的馈赠' - 等级 = 100 - 品质 = '传说' - 部位 = '手镯' - 类型 = '首饰' - 力量 = 46 - 智力 = 0 - 物理攻击力 = 0 - 魔法攻击力 = 0 - 独立攻击力 = 0 - - def 城镇属性(self, 属性): - self.属性描述 += 属性.技能攻击力加成(0.16) - self.属性描述 += 属性.所有属性强化加成(28) - pass - - def 进图属性(self, 属性): - pass - - def 其它属性(self, 属性): - pass - - def 装备描述(self, 属性): - temp = '' - temp += '力量 +46
' - temp += '技能攻击力 +16%
' - temp += '所有属性强化 +28
' - return temp - - -# endregion diff --git a/PublicReference/equipment/辟邪玉.py b/PublicReference/equipment/辟邪玉.py deleted file mode 100644 index 8e709e78..00000000 --- a/PublicReference/equipment/辟邪玉.py +++ /dev/null @@ -1,220 +0,0 @@ -# 辟邪玉属性部分 - - -class 辟邪玉(): - 名称 = '' - 最小值 = -5 - 最大值 = 5 - 间隔 = 0.1 - 当前值 = 0 - - def 穿戴属性(self, 属性): - pass - - -class 辟邪玉0(辟邪玉): - 名称 = '无' - 最小值 = 0 - 最大值 = 0 - - -class 辟邪玉1(辟邪玉): - 名称 = '附加伤害增加增幅' - 简称 = '白字' - - def 穿戴属性(self, 属性): - 属性.附加伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉2(辟邪玉): - 名称 = '属性附加伤害增加增幅' - 简称 = '属白' - - def 穿戴属性(self, 属性): - 属性.属性附加伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉3(辟邪玉): - 名称 = '技能伤害增加增幅' - 简称 = '技攻' - 最小值 = -3 - 最大值 = 3 - - def 穿戴属性(self, 属性): - 属性.技能伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉4(辟邪玉): - 名称 = '暴击伤害增加增幅' - 简称 = '暴伤' - - def 穿戴属性(self, 属性): - 属性.暴击伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉5(辟邪玉): - 名称 = '伤害增加增幅' - 简称 = '黄字' - - def 穿戴属性(self, 属性): - 属性.伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉6(辟邪玉): - 名称 = '最终伤害增加增幅' - 简称 = '终伤' - - def 穿戴属性(self, 属性): - 属性.最终伤害增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉7(辟邪玉): - 名称 = '力量智力增加增幅' - 简称 = '力智' - - def 穿戴属性(self, 属性): - 属性.力量智力增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉8(辟邪玉): - 名称 = '物理魔法攻击力增加增幅' - 简称 = '三攻' - - def 穿戴属性(self, 属性): - 属性.物理魔法攻击力增加增幅 += round(self.当前值 / 100, 4) - - -class 辟邪玉9(辟邪玉): - 名称 = '装备属性强化增加' - 简称 = '属强' - - def 穿戴属性(self, 属性): - 属性.所有属性强化增加 += round(self.当前值 / 100, 4) - - -class 辟邪玉10(辟邪玉): - 名称 = '10~15技能Lv增加' - 简称 = 'Lv10~15' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 10, 15, self.当前值) - pass - - -class 辟邪玉11(辟邪玉): - 名称 = '20~25技能Lv增加' - 简称 = 'Lv20~25' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 20, 25, self.当前值) - pass - - -class 辟邪玉12(辟邪玉): - 名称 = '30~35技能Lv增加' - 简称 = 'Lv30~35' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 30, 35, self.当前值) - pass - - -class 辟邪玉13(辟邪玉): - 名称 = '40~45技能Lv增加' - 简称 = 'Lv40~45' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 40, 45, self.当前值) - pass - - -class 辟邪玉14(辟邪玉): - 名称 = '55~60技能Lv增加' - 简称 = 'Lv55~60' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 55, 60, self.当前值) - pass - - -class 辟邪玉15(辟邪玉): - 名称 = '65~70技能Lv增加' - 简称 = 'Lv65~70' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 65, 70, self.当前值) - pass - - -class 辟邪玉16(辟邪玉): - 名称 = '75~80技能Lv增加' - 简称 = 'Lv75~80' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 75, 80, self.当前值) - pass - - -class 辟邪玉17(辟邪玉): - 名称 = '1次觉醒技能Lv增加' - 简称 = 'Lv50' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 50, 50, self.当前值) - pass - - -class 辟邪玉18(辟邪玉): - 名称 = '2次觉醒技能Lv增加' - 简称 = 'Lv85' - 最小值 = 1 - 最大值 = 1 - 间隔 = 1 - - def 穿戴属性(self, 属性): - 属性.技能等级加成('所有', 85, 85, self.当前值) - pass - - -class 辟邪玉19(辟邪玉): - 名称 = '非伤害词条' - 简称 = '其它' - 最小值 = 0 - 最大值 = 0 - 间隔 = 1 - - def 穿戴属性(self, 属性): - pass - - -辟邪玉列表 = () -for i in range(20): - exec('辟邪玉列表 += (辟邪玉' + str(i) + '(),)') - -辟邪玉序号 = dict() -for i in range(len(辟邪玉列表)): - 辟邪玉序号[辟邪玉列表[i].名称] = i diff --git a/PublicReference/equipment/防具基础.py b/PublicReference/equipment/防具基础.py deleted file mode 100644 index d27d01f7..00000000 --- a/PublicReference/equipment/防具基础.py +++ /dev/null @@ -1,404 +0,0 @@ -from decimal import Decimal - -防具基础 = { - "100-传说-板甲-上衣": (43, 43, 47, 0), - "100-传说-板甲-头肩": (35, 35, 38, 0), - "100-传说-板甲-下装": (43, 43, 47, 0), - "100-传说-板甲-鞋": (26, 26, 28, 0), - "100-传说-板甲-腰带": (26, 26, 28, 0), - "100-传说-布甲-上衣": (0, 52, 0, 52), - "100-传说-布甲-头肩": (0, 41, 0, 41), - "100-传说-布甲-下装": (0, 52, 0, 52), - "100-传说-布甲-鞋": (0, 31, 0, 31), - "100-传说-布甲-腰带": (0, 31, 0, 31), - "100-传说-皮甲-上衣": (43, 43, 0, 47), - "100-传说-皮甲-头肩": (35, 35, 0, 38), - "100-传说-皮甲-下装": (43, 43, 0, 47), - "100-传说-皮甲-鞋": (26, 26, 0, 28), - "100-传说-皮甲-腰带": (26, 26, 0, 28), - "100-传说-轻甲-上衣": (52, 34, 0, 0), - "100-传说-轻甲-头肩": (41, 28, 0, 0), - "100-传说-轻甲-下装": (52, 34, 0, 0), - "100-传说-轻甲-鞋": (31, 21, 0, 0), - "100-传说-轻甲-腰带": (31, 21, 0, 0), - "100-传说-重甲-上衣": (47, 34, 43, 0), - "100-传说-重甲-头肩": (38, 28, 35, 0), - "100-传说-重甲-下装": (47, 34, 43, 0), - "100-传说-重甲-鞋": (28, 21, 26, 0), - "100-传说-重甲-腰带": (28, 21, 26, 0), - "100-神话-板甲-上衣": (45, 45, 50, 0), - "100-神话-布甲-上衣": (0, 54, 0, 54), - "100-神话-皮甲-上衣": (45, 45, 0, 50), - "100-神话-轻甲-上衣": (54, 36, 0, 0), - "100-神话-重甲-上衣": (50, 36, 45, 0), - "100-神器-板甲-上衣": (42, 42, 46, 0), - "100-神器-板甲-头肩": (34, 34, 37, 0), - "100-神器-板甲-下装": (42, 42, 46, 0), - "100-神器-板甲-鞋": (25, 25, 28, 0), - "100-神器-板甲-腰带": (25, 25, 28, 0), - "100-神器-布甲-上衣": (0, 50, 0, 50), - "100-神器-布甲-头肩": (0, 40, 0, 40), - "100-神器-布甲-下装": (0, 50, 0, 50), - "100-神器-布甲-鞋": (0, 30, 0, 30), - "100-神器-布甲-腰带": (0, 30, 0, 30), - "100-神器-皮甲-上衣": (42, 42, 0, 46), - "100-神器-皮甲-上衣": (0, 0, 0, 0), - "100-神器-皮甲-头肩": (34, 34, 0, 37), - "100-神器-皮甲-头肩": (0, 0, 0, 0), - "100-神器-皮甲-下装": (42, 42, 0, 46), - "100-神器-皮甲-下装": (0, 0, 0, 0), - "100-神器-皮甲-鞋": (25, 25, 0, 28), - "100-神器-皮甲-鞋": (0, 0, 0, 0), - "100-神器-皮甲-腰带": (25, 25, 0, 28), - "100-神器-皮甲-腰带": (0, 0, 0, 0), - "100-神器-轻甲-上衣": (50, 34, 0, 0), - "100-神器-轻甲-头肩": (40, 27, 0, 0), - "100-神器-轻甲-下装": (50, 34, 0, 0), - "100-神器-轻甲-鞋": (30, 20, 0, 0), - "100-神器-轻甲-腰带": (30, 20, 0, 0), - "100-神器-重甲-上衣": (46, 34, 42, 0), - "100-神器-重甲-头肩": (37, 27, 34, 0), - "100-神器-重甲-下装": (46, 34, 42, 0), - "100-神器-重甲-鞋": (28, 20, 25, 0), - "100-神器-重甲-腰带": (28, 20, 25, 0), - "100-史诗-板甲-上衣": (44, 44, 49, 0), - "100-史诗-板甲-头肩": (35, 35, 39, 0), - "100-史诗-板甲-下装": (44, 44, 49, 0), - "100-史诗-板甲-鞋": (27, 27, 29, 0), - "100-史诗-板甲-腰带": (27, 27, 29, 0), - "100-史诗-布甲-上衣": (0, 53, 0, 53), - "100-史诗-布甲-头肩": (0, 42, 0, 42), - "100-史诗-布甲-下装": (0, 53, 0, 53), - "100-史诗-布甲-鞋": (0, 32, 0, 32), - "100-史诗-布甲-腰带": (0, 32, 0, 32), - "100-史诗-皮甲-上衣": (44, 44, 0, 49), - "100-史诗-皮甲-头肩": (35, 35, 0, 39), - "100-史诗-皮甲-下装": (44, 44, 0, 49), - "100-史诗-皮甲-鞋": (27, 27, 0, 29), - "100-史诗-皮甲-腰带": (27, 27, 0, 29), - "100-史诗-轻甲-上衣": (53, 35, 0, 0), - "100-史诗-轻甲-头肩": (42, 28, 0, 0), - "100-史诗-轻甲-下装": (53, 35, 0, 0), - "100-史诗-轻甲-鞋": (32, 21, 0, 0), - "100-史诗-轻甲-腰带": (32, 21, 0, 0), - "100-史诗-重甲-上衣": (49, 35, 44, 0), - "100-史诗-重甲-头肩": (39, 28, 35, 0), - "100-史诗-重甲-下装": (49, 35, 44, 0), - "100-史诗-重甲-鞋": (29, 21, 27, 0), - "100-史诗-重甲-腰带": (29, 21, 27, 0), - "95-传说-板甲-上衣": (41, 41, 45, 0), - "95-传说-板甲-头肩": (33, 33, 36, 0), - "95-传说-板甲-下装": (41, 41, 45, 0), - "95-传说-板甲-鞋": (25, 25, 27, 0), - "95-传说-板甲-腰带": (25, 25, 27, 0), - "95-传说-布甲-上衣": (0, 49, 0, 49), - "95-传说-布甲-头肩": (0, 39, 0, 39), - "95-传说-布甲-下装": (0, 49, 0, 49), - "95-传说-布甲-鞋": (0, 30, 0, 30), - "95-传说-布甲-腰带": (0, 30, 0, 30), - "95-传说-皮甲-上衣": (41, 41, 0, 45), - "95-传说-皮甲-头肩": (33, 33, 0, 36), - "95-传说-皮甲-下装": (41, 41, 0, 45), - "95-传说-皮甲-鞋": (25, 25, 0, 27), - "95-传说-皮甲-腰带": (25, 25, 0, 27), - "95-传说-轻甲-上衣": (49, 33, 0, 0), - "95-传说-轻甲-头肩": (39, 26, 0, 0), - "95-传说-轻甲-下装": (49, 33, 0, 0), - "95-传说-轻甲-鞋": (30, 20, 0, 0), - "95-传说-轻甲-腰带": (30, 20, 0, 0), - "95-传说-重甲-上衣": (45, 33, 41, 0), - "95-传说-重甲-头肩": (36, 26, 33, 0), - "95-传说-重甲-下装": (45, 33, 41, 0), - "95-传说-重甲-鞋": (27, 20, 25, 0), - "95-传说-重甲-腰带": (27, 20, 25, 0), - "95-史诗-板甲-上衣": (42, 42, 47, 0), - "95-史诗-板甲-头肩": (34, 34, 37, 0), - "95-史诗-板甲-下装": (42, 42, 47, 0), - "95-史诗-板甲-鞋": (25, 25, 28, 0), - "95-史诗-板甲-腰带": (25, 25, 28, 0), - "95-史诗-布甲-上衣": (0, 51, 0, 51), - "95-史诗-布甲-头肩": (0, 41, 0, 41), - "95-史诗-布甲-下装": (0, 51, 0, 51), - "95-史诗-布甲-鞋": (0, 30, 0, 30), - "95-史诗-布甲-腰带": (0, 30, 0, 30), - "95-史诗-皮甲-上衣": (42, 42, 0, 47), - "95-史诗-皮甲-头肩": (34, 34, 0, 37), - "95-史诗-皮甲-下装": (42, 42, 0, 47), - "95-史诗-皮甲-鞋": (25, 25, 0, 28), - "95-史诗-皮甲-腰带": (25, 25, 0, 28), - "95-史诗-轻甲-上衣": (51, 34, 0, 0), - "95-史诗-轻甲-头肩": (41, 27, 0, 0), - "95-史诗-轻甲-下装": (51, 34, 0, 0), - "95-史诗-轻甲-鞋": (30, 20, 0, 0), - "95-史诗-轻甲-腰带": (30, 20, 0, 0), - "95-史诗-重甲-上衣": (47, 34, 42, 0), - "95-史诗-重甲-头肩": (37, 27, 34, 0), - "95-史诗-重甲-下装": (47, 34, 42, 0), - "95-史诗-重甲-鞋": (28, 20, 25, 0), - "95-史诗-重甲-腰带": (28, 20, 25, 0), - "90-传说-板甲-上衣": (39, 39, 43, 0), - "90-传说-板甲-头肩": (32, 32, 35, 0), - "90-传说-板甲-下装": (39, 39, 43, 0), - "90-传说-板甲-鞋": (24, 24, 26, 0), - "90-传说-板甲-腰带": (24, 24, 26, 0), - "90-传说-布甲-上衣": (0, 47, 0, 47), - "90-传说-布甲-头肩": (0, 38, 0, 38), - "90-传说-布甲-下装": (0, 47, 0, 47), - "90-传说-布甲-鞋": (0, 28, 0, 28), - "90-传说-布甲-腰带": (0, 28, 0, 28), - "90-传说-皮甲-上衣": (39, 39, 0, 43), - "90-传说-皮甲-头肩": (32, 32, 0, 35), - "90-传说-皮甲-下装": (39, 39, 0, 43), - "90-传说-皮甲-鞋": (24, 24, 0, 26), - "90-传说-皮甲-腰带": (24, 24, 0, 26), - "90-传说-轻甲-上衣": (47, 31, 0, 0), - "90-传说-轻甲-头肩": (38, 25, 0, 0), - "90-传说-轻甲-下装": (47, 31, 0, 0), - "90-传说-轻甲-鞋": (28, 19, 0, 0), - "90-传说-轻甲-腰带": (28, 19, 0, 0), - "90-传说-重甲-上衣": (43, 31, 39, 0), - "90-传说-重甲-头肩": (35, 25, 32, 0), - "90-传说-重甲-下装": (43, 31, 39, 0), - "90-传说-重甲-鞋": (26, 19, 24, 0), - "90-传说-重甲-腰带": (26, 19, 24, 0), - "90-史诗-板甲-上衣": (41, 41, 44, 0), - "90-史诗-板甲-头肩": (32, 32, 36, 0), - "90-史诗-板甲-下装": (41, 41, 44, 0), - "90-史诗-板甲-鞋": (24, 24, 27, 0), - "90-史诗-板甲-腰带": (24, 24, 27, 0), - "90-史诗-布甲-上衣": (0, 48, 0, 48), - "90-史诗-布甲-头肩": (0, 39, 0, 39), - "90-史诗-布甲-下装": (0, 48, 0, 48), - "90-史诗-布甲-鞋": (0, 29, 0, 29), - "90-史诗-布甲-腰带": (0, 29, 0, 29), - "90-史诗-皮甲-上衣": (41, 41, 0, 44), - "90-史诗-皮甲-头肩": (32, 32, 0, 36), - "90-史诗-皮甲-下装": (41, 41, 0, 44), - "90-史诗-皮甲-鞋": (24, 24, 0, 27), - "90-史诗-皮甲-腰带": (24, 24, 0, 27), - "90-史诗-轻甲-上衣": (48, 32, 0, 0), - "90-史诗-轻甲-头肩": (39, 26, 0, 0), - "90-史诗-轻甲-下装": (48, 32, 0, 0), - "90-史诗-轻甲-鞋": (29, 19, 0, 0), - "90-史诗-轻甲-腰带": (29, 19, 0, 0), - "90-史诗-重甲-上衣": (44, 32, 41, 0), - "90-史诗-重甲-头肩": (36, 26, 32, 0), - "90-史诗-重甲-下装": (44, 32, 41, 0), - "90-史诗-重甲-鞋": (27, 19, 24, 0), - "90-史诗-重甲-腰带": (27, 19, 24, 0), - "85-传说-板甲-上衣": (38, 38, 41, 0), - "85-传说-板甲-头肩": (30, 30, 33, 0), - "85-传说-板甲-下装": (38, 38, 41, 0), - "85-传说-板甲-鞋": (22, 22, 25, 0), - "85-传说-板甲-腰带": (22, 22, 25, 0), - "85-传说-布甲-上衣": (0, 45, 0, 45), - "85-传说-布甲-头肩": (0, 36, 0, 36), - "85-传说-布甲-下装": (0, 45, 0, 45), - "85-传说-布甲-鞋": (0, 27, 0, 27), - "85-传说-布甲-腰带": (0, 27, 0, 27), - "85-传说-皮甲-上衣": (38, 38, 0, 41), - "85-传说-皮甲-头肩": (30, 30, 0, 33), - "85-传说-皮甲-下装": (38, 38, 0, 41), - "85-传说-皮甲-鞋": (22, 22, 0, 25), - "85-传说-皮甲-腰带": (22, 22, 0, 25), - "85-传说-轻甲-上衣": (45, 30, 0, 0), - "85-传说-轻甲-头肩": (36, 24, 0, 0), - "85-传说-轻甲-下装": (45, 30, 0, 0), - "85-传说-轻甲-鞋": (27, 18, 0, 0), - "85-传说-轻甲-腰带": (27, 18, 0, 0), - "85-传说-重甲-上衣": (41, 30, 38, 0), - "85-传说-重甲-头肩": (33, 24, 30, 0), - "85-传说-重甲-下装": (41, 30, 38, 0), - "85-传说-重甲-鞋": (25, 18, 22, 0), - "85-传说-重甲-腰带": (25, 18, 22, 0), - "85-史诗-板甲-上衣": (39, 39, 42, 0), - "85-史诗-板甲-头肩": (31, 31, 34, 0), - "85-史诗-板甲-下装": (39, 39, 42, 0), - "85-史诗-板甲-鞋": (23, 23, 25, 0), - "85-史诗-板甲-腰带": (23, 23, 25, 0), - "85-史诗-布甲-上衣": (0, 46, 0, 46), - "85-史诗-布甲-头肩": (0, 37, 0, 37), - "85-史诗-布甲-下装": (0, 46, 0, 46), - "85-史诗-布甲-鞋": (0, 28, 0, 28), - "85-史诗-布甲-腰带": (0, 28, 0, 28), - "85-史诗-皮甲-上衣": (39, 39, 0, 42), - "85-史诗-皮甲-头肩": (31, 31, 0, 34), - "85-史诗-皮甲-下装": (39, 39, 0, 42), - "85-史诗-皮甲-鞋": (23, 23, 0, 25), - "85-史诗-皮甲-腰带": (23, 23, 0, 25), - "85-史诗-轻甲-上衣": (46, 31, 0, 0), - "85-史诗-轻甲-头肩": (37, 25, 0, 0), - "85-史诗-轻甲-下装": (46, 31, 0, 0), - "85-史诗-轻甲-鞋": (28, 18, 0, 0), - "85-史诗-轻甲-腰带": (28, 18, 0, 0), - "85-史诗-重甲-上衣": (42, 31, 39, 0), - "85-史诗-重甲-头肩": (34, 25, 31, 0), - "85-史诗-重甲-下装": (42, 31, 39, 0), - "85-史诗-重甲-鞋": (25, 18, 23, 0), - "85-史诗-重甲-腰带": (25, 18, 23, 0), -} - -防具额外 = { - "魔法师[???]的长袍": (91, 91, 0, 0), - "死亡阴影夹克": (91, 91, 0, 0), - "燃烧烈焰之勇气": (91, 91, 0, 0), - "撒旦:沸腾之怒": (91, 91, 0, 0), - "奔流不息之岁月": (91, 91, 0, 0), - "优雅旋律华尔兹": (91, 91, 0, 0), - "首席执行官裁决夹克": (91, 91, 0, 0), - "炙炎:火龙果": (91, 91, 0, 0), - "妖精之姿": (91, 91, 0, 0), - "人性的抉择": (91, 91, 0, 0), - "大祭司的星祈礼袍": (91, 91, 0, 0), - "冲锋陷阵胸甲": (91, 91, 0, 0), - "气吞山河战甲": (91, 91, 0, 0), - "千链锁灵战甲": (91, 91, 0, 0), - "宽恕坚韧之地": (91, 91, 0, 0), - "堕落深渊黑魔法衬衫": (91, 91, 0, 0), - "引路者的黄昏披风": (91, 91, 0, 0), - "地狱边缘": (91, 91, 0, 0), - "泣血之恨": (91, 91, 0, 0), - "大魔法师[???]的长袍": (91, 91, 0, 0), - "掌管生死之影夹克": (91, 91, 0, 0), - "爆裂大地之勇猛": (91, 91, 0, 0), - "撒旦:愤怒之王": (91, 91, 0, 0), - "英明循环之生命": (91, 91, 0, 0), - "浪漫旋律华尔兹": (91, 91, 0, 0), - "皇家裁决者审判外套": (91, 91, 0, 0), - "炙炎:霸王树": (91, 91, 0, 0), - "天堂之翼": (91, 91, 0, 0), - "神赐的抉择": (91, 91, 0, 0), - "大祭司的神启礼服": (91, 91, 0, 0), - "战无不胜上衣": (91, 91, 0, 0), - "摧枯拉朽胸甲": (91, 91, 0, 0), - "千链万化战甲": (91, 91, 0, 0), - "生命脉动之地": (91, 91, 0, 0), - "深渊囚禁者长袍": (91, 91, 0, 0), - "圣者的黄昏披风": (91, 91, 0, 0), - "逆转结局": (91, 91, 0, 0), - "灭世之怒": (91, 91, 0, 0), - "魔法师[???]的护腿": (91, 91, 0, 0), - "死亡阴影短裤": (91, 91, 0, 0), - "肆虐狂风之意志": (91, 91, 0, 0), - "亚蒙:谎言之力": (91, 91, 0, 0), - "奔流不息之伽蓝": (91, 91, 0, 0), - "魅惑律动伦巴": (91, 91, 0, 0), - "首席执行官裁决短裤": (91, 91, 0, 0), - "炙炎:荔枝": (91, 91, 0, 0), - "邪恶之角": (91, 91, 0, 0), - "命运的抉择": (91, 91, 0, 0), - "大祭司的星祈长裙": (91, 91, 0, 0), - "破釜沉舟护腿": (91, 91, 0, 0), - "雷霆万钧护腿": (91, 91, 0, 0), - "千链锁灵护腿": (91, 91, 0, 0), - "蚕食新绿之息": (91, 91, 0, 0), - "驱散黑暗短裤": (91, 91, 0, 0), - "时空漩涡护腿": (91, 91, 0, 0), - "灵魂的呐喊": (91, 91, 0, 0), - "疯狂之如影随形": (91, 91, 0, 0), - "魔法师[???]的披风": (91, 91, 0, 0), - "死亡阴影护肩": (91, 91, 0, 0), - "艰难求生之斗志": (91, 91, 0, 0), - "贝利亚尔:毁灭之种": (91, 91, 0, 0), - "奔流不息之山川": (91, 91, 0, 0), - "性感洒脱探戈": (91, 91, 0, 0), - "首席执行官裁决肩甲": (91, 91, 0, 0), - "炙炎:榴莲": (91, 91, 0, 0), - "魔龙之心": (91, 91, 0, 0), - "矛盾的抉择": (91, 91, 0, 0), - "大祭司的星祈披肩": (91, 91, 0, 0), - "枪林弹雨护肩": (91, 91, 0, 0), - "排山倒海护肩": (91, 91, 0, 0), - "千链锁灵肩甲": (91, 91, 0, 0), - "猛烈燃烧之炎": (91, 91, 0, 0), - "魔法师[???]的长靴": (91, 91, 0, 0), - "死亡阴影长靴": (91, 91, 0, 0), - "寂静寒夜之忍耐": (91, 91, 0, 0), - "巴尔:堕落之魂": (91, 91, 0, 0), - "奔流不息之银河": (91, 91, 0, 0), - "激烈欢动踢踏": (91, 91, 0, 0), - "首席执行官裁决长靴": (91, 91, 0, 0), - "炙炎:木瓜": (91, 91, 0, 0), - "自然之核": (91, 91, 0, 0), - "守护的抉择": (91, 91, 0, 0), - "大祭司的星祈凉鞋": (91, 91, 0, 0), - "赤地千里战靴": (91, 91, 0, 0), - "遮天蔽日长靴": (91, 91, 0, 0), - "千链锁灵战靴": (91, 91, 0, 0), - "交织烈日之风": (91, 91, 0, 0), - "堕入地狱之脚": (91, 91, 0, 0), - "次元漫步者长靴": (91, 91, 0, 0), - "悲喜交加": (91, 91, 0, 0), - "崩溃世界的忧伤": (91, 91, 0, 0), - "魔法师[???]的腰带": (91, 91, 0, 0), - "死亡阴影腰带": (91, 91, 0, 0), - "守护战士之苦难": (91, 91, 0, 0), - "亚巴顿:绝望地狱": (91, 91, 0, 0), - "奔流不息之狂风": (91, 91, 0, 0), - "热情舞动桑巴": (91, 91, 0, 0), - "首席执行官裁决腰带": (91, 91, 0, 0), - "炙炎:山竹": (91, 91, 0, 0), - "碎钢之牙": (91, 91, 0, 0), - "正义的抉择": (91, 91, 0, 0), - "大祭司的星祈腰带": (91, 91, 0, 0), - "浴血奋战腰带": (91, 91, 0, 0), - "风起云涌腰带": (91, 91, 0, 0), - "千链锁灵腰带": (91, 91, 0, 0), - "宁静苍翠之水": (91, 91, 0, 0), - "完美掌控": (91, 91, 0, 0), - "无念之仪服": (91, 91, 0, 0), - "无欲之花": (91, 91, 0, 0), - "无形之气韵": (91, 91, 0, 0), - "无言之罪恶": (91, 91, 0, 0), - "无我之轮回": (91, 91, 0, 0), - "轮回·黑暗幽灵紫杉胸甲": (91, 91, 0, 0), - "魔战无双短靴": (80, 80, 0, 0), - "霸域英豪胸甲": (50, 50, 0, 0), - "霸域英豪护腿": (50, 50, 0, 0), - "霸域英豪腰带": (150, 150, 150, 150), - "千蛛碎影之毒牙胸甲": (140, 140, 0, 0), - "千蛛碎影之蛛丝肩甲": (100, 100, 0, 0), - "千蛛碎影之蛛网护腿": (140, 140, 0, 0), - "千蛛碎影之蛛刺腰带": (100, 100, 0, 0), - "千蛛碎影之利齿战靴": (100, 100, 0, 0), - "誓血之盟铠甲": (200, 200, 0, 0), - "誓血之盟肩甲": (75, 75, 0, 0), - "誓血之盟腿甲": (0, 0, 0, 0), - "天御雷罚战甲": (0, 0, 0, 0), - "天御虫噬护肩": (0, 0, 0, 0), - "天御炎袭护腿": (0, 0, 0, 0), - "天御雷罚战甲": (0, 0, 0, 0), - "天御风行战靴": (0, 0, 0, 0), - "最佳球手的暴走战衣": (85, 85, 0, 0), - "最佳球手的反击护具": (300, 300, 0, 0), - "最佳球手的冲锋腰带": (0, 0, 0, 0), - "战术之王的御敌胸甲": (30, 30, 0, 0), - "战术之王的御敌肩甲": (30, 30, 0, 0), - "战术之王的御敌腿甲": (30, 30, 0, 0), - "战术之王的御敌腰带": (30, 30, 0, 0), - "战术之王的御敌长靴": (30, 30, 0, 0), - "暗魅之影上衣": (45, 45, 0, 0), - "冥殇之刃肩甲": (30, 30, 0, 0), - "血舞之牙护腿": (45, 45, 0, 0), - "亡灵之帐腰带": (30, 30, 0, 0), - "黄泉之风战靴": (30, 30, 0, 0), - "蚀日无辉肩甲": (0, 40, 0, 0), - "暗殇绝影腰带": (0, 40, 0, 0), - "闲云碎步短靴": (0, 40, 0, 0), - "轮回·鲜红血纹皮甲胸铠": (91, 91, 0, 0), -} - - -def 设置防具基础(装备): - 装备.力量 = {} - 装备.智力 = {} - 装备.体力 = {} - 装备.精神 = {} - a = 防具额外.get(装备.名称, (0, 0, 0, 0)) - for i in ['布甲', '皮甲', '轻甲', '重甲', '板甲']: - b = 防具基础.get('{}-{}-{}-{}'.format(装备.等级, 装备.品质, i, 装备.部位), - (0, 0, 0, 0)) - 装备.力量.update({i: round((a[0] + b[0]) * Decimal(1.1))}) - 装备.智力.update({i: round((a[1] + b[1]) * Decimal(1.1))}) - 装备.体力.update({i: round((a[2] + b[2]) * Decimal(1.1))}) - 装备.精神.update({i: round((a[3] + b[3]) * Decimal(1.1))}) diff --git a/PublicReference/preferred/Preferred.cpp b/PublicReference/preferred/Preferred.cpp deleted file mode 100644 index 3cefce2b..00000000 --- a/PublicReference/preferred/Preferred.cpp +++ /dev/null @@ -1,389 +0,0 @@ -#include "Preferred.h" - -//返回最大值索引 输出系 -DLLEXPORT void cal_index(double data[9][6], int* index) { - double max = 0; - vector list[8]; - for (int i = 0; i < 8; i++) { - list[i] = range(data[i + 1]); - } - for (auto a1 = list[0].cbegin(); a1 != list[0].cend(); a1++) - { - for (auto a2 = list[1].cbegin(); a2 != list[1].cend(); a2++) - { - for (auto a3 = list[2].cbegin(); a3 != list[2].cend(); a3++) - { - for (auto a4 = list[3].cbegin(); a4 != list[3].cend(); a4++) - { - for (auto a5 = list[4].cbegin(); a5 != list[4].cend(); a5++) - { - for (auto a6 = list[5].cbegin(); a6 != list[5].cend(); a6++) - { - for (auto a7 = list[6].cbegin(); a7 != list[6].cend(); a7++) - { - for (auto a8 = list[7].cbegin(); a8 != list[7].cend(); a8++) - { - double k[6] = { data[0][0],data[0][1], data[0][2], data[0][3], data[0][4], data[0][5] }; - k[*a1] += data[1][*a1]; - k[*a2] += data[2][*a2]; - k[*a3] += data[3][*a3]; - k[*a4] += data[4][*a4]; - k[*a5] += data[5][*a5]; - k[*a6] += data[6][*a6]; - k[*a7] += data[7][*a7]; - k[*a8] += data[8][*a8]; - double sum = k[0] * k[1] * int(k[2]) * k[3] * k[4] * k[5]; - if (sum > max) - { - max = sum; - index[0] = *a1; - index[1] = *a2; - index[2] = *a3; - index[3] = *a4; - index[4] = *a5; - index[5] = *a6; - index[6] = *a7; - index[7] = *a8; - } - } - } - } - } - } - } - } - } -} - -//辅助系 -//0 奶妈 系数665 -int buff_attack_0[41] = { 0, 38, 40, 42, 43, 44, 46, 48, 49, 51, 52, 53, 55, 57, 58, 60, 61, 62, 64, 66, 68, 69, 70, 72, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 88, 90, 92, 93, 95, 96, 98 }; -int buff_power_0[41] = {0, 148, 158, 169, 179, 189, 198, 208, 218, 228, 239, 249, 259, 269, 279, 290, 299, 309, 319, 329, 339, 349, 360, 370, 380, 390, 399, 409, 420, 430, 440, 450, 460, 470, 481, 491, 500, 510, 520, 530, 541}; - -//1 奶萝 系数665 -int buff_attack_1[41] = { 0, 34, 35, 37, 38, 39, 41, 42, 43, 45, 46, 47, 49, 50, 51, 53, 54, 55, 57, 58, 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 84, 85, 87 }; -int buff_power_1[41] = { 0, 131, 140, 149, 158, 167, 175, 184, 193, 202, 211, 220, 229, 238, 247, 256, 264, 273, 282, 291, 300, 309, 318, 327, 336, 345, 353, 362, 371, 380, 389, 398, 407, 416, 425, 434, 442, 451, 460, 469, 478 }; - -//2 奶爸 系数620 -int buff_attack_2[41] = { 0, 43, 44, 46, 48, 49, 51, 53, 54, 56, 58, 59, 61, 63, 64, 66, 68, 69, 71, 73, 75, 76, 78, 80, 81, 83, 85, 86, 88, 90, 91, 93, 95, 96, 98, 100, 101, 103, 105, 106, 109 }; -int buff_power_2[41] = { 0, 164, 175, 186, 198, 209, 219, 230, 241, 253, 264, 275, 286, 298, 309, 320, 330, 341, 353, 364, 375, 386, 398, 409, 420, 431, 441, 453, 464, 475, 486, 498, 509, 520, 531, 543, 553, 564, 575, 586, 598 }; - -//系数750 -int awake_power_0[41] = { 0, 43, 57, 74, 91, 111, 131, 153, 176, 201, 228, 255, 284, 315, 346, 379, 414, 449, 487, 526, 567, 608, 651, 696, 741, 789, 838, 888, 939, 993, 1047, 1103, 1160, 1219, 1278, 1340, 1403, 1467, 1533, 1600, 1668 }; - - -class Char -{ -public: - Char() {}; - ~Char() {}; - int type = 0; - int preferred[6] = {}; - double burst_rate = 1.0; - - int buff_apply; - int buff_lv; - int buff_power_add; - int buff_attack_add; - double buff_rate; - double buff_power_per; - double buff_attack_per; - - int awake_apply; - int awake_lv; - int awake_power_add; - double awake_rate; - double awake_power_per; - - int other_power; - int other_attack; - int std_power; - int std_attack; - double sys_rate; - double sys_base; - double cal(); - -private: - long buff_power = 0; - long buff_attack = 0; - long awake_power = 0; - long resident_power = 0; - long resident_attack = 0; - long burst_power = 0; - - void cal_buff(); - void cal_awake(); - void cal_sum(); - double increase(long, long); -}; - -void Char::cal_buff(){ - double rate = 0.0; - switch (type) - { - case 0: - rate = buff_apply / 665.0 + 1; - buff_power = (long)((buff_power_0[min(40, buff_lv)] + buff_power_add) * buff_power_per * buff_rate * rate); - buff_attack = (long)((buff_attack_0[min(40, buff_lv)] + buff_attack_add) * buff_attack_per * buff_rate * rate); - break; - case 1: - rate = buff_apply / 665.0 + 1; - buff_power = (long)((buff_power_1[min(40, buff_lv)] + buff_power_add) * buff_power_per * buff_rate * rate); - buff_attack = (long)((buff_attack_1[min(40, buff_lv)] + buff_attack_add) * buff_attack_per * buff_rate * rate); - break; - case 2: - rate = buff_apply / 620.0 + 1; - buff_power = (long)((buff_power_2[min(40, buff_lv)] + buff_power_add) * buff_power_per * buff_rate * rate); - buff_attack = (long)((buff_attack_2[min(40, buff_lv)] + buff_attack_add) * buff_attack_per * buff_rate * rate); - break; - default: - break; - } - -} - -void Char::cal_awake() { - awake_power = (long)((awake_power_0[min(40, awake_lv)] + awake_power_add) * awake_power_per * awake_rate * (awake_apply / 750.0 + 1)); -} - -void Char::cal_sum() { - cal_buff(); - cal_awake(); - resident_power = buff_power + other_power; - resident_attack = buff_attack + other_attack; - burst_power = resident_power + awake_power; -} - -double Char::increase(long power, long attack) { - double x, y = 0; - x = ((std_power + (std_power - 950.0) * sys_rate + sys_base) / 250.0 + 1) * std_attack; - y = ((power + std_power + (std_power - 950.0) * sys_rate + sys_base) / 250.0 + 1) * (std_attack + attack); - return y / x; -} - -double Char::cal() { - cal_sum(); - double resident = increase(resident_power, resident_attack); - double burst = increase(burst_power, resident_attack); - return resident * (1.0 - burst_rate) + burst * burst_rate; -} - - -//空属性 -void attr_0(Char &c) { -} - -//残香1 -void attr_1(Char &c) { - c.buff_power_per *= 1.03; - c.awake_power_add += 60; -} -void attr_2(Char &c) { - c.buff_power_per *= 1.04; - c.awake_power_per *= 1.03; -} -void attr_3(Char &c) { - c.buff_attack_per *= 1.04; - c.awake_power_add += 25; -} -void attr_4(Char &c) { - c.buff_attack_per *= 1.03; - c.awake_power_per *= 1.03; -} -void attr_5(Char &c) { - c.buff_apply += 185; - c.awake_apply += 185; -} -void attr_6(Char &c) { - c.awake_lv += 1; - c.buff_power_per *= 1.03; -} -//残香2 -void attr_7(Char &c) { - c.buff_power_per *= 1.03; - c.awake_power_add += 40; -} -void attr_8(Char &c) { - c.buff_power_per *= 1.04; - c.awake_power_per *= 1.02; -} -void attr_9(Char &c) { - c.buff_attack_per *= 1.03; - c.awake_power_add += 25; -} -void attr_10(Char &c) { - c.buff_attack_per *= 1.02; - c.awake_power_per *= 1.03; - -} -void attr_11(Char &c) { - c.buff_apply += 145; - c.awake_apply += 145; -} -void attr_12(Char &c) { - c.buff_lv += 1; - c.awake_power_add += 30; -} -//武器 -void attr_13(Char &c) { - c.buff_power_per *= 1.03; - c.awake_power_add += 60; -} -void attr_14(Char &c) { - c.buff_power_per *= 1.05; - c.awake_power_per *= 1.03; -} -void attr_15(Char &c) { - c.buff_attack_per *= 1.04; - c.awake_power_add += 40; -} -void attr_16(Char &c) { - c.buff_attack_per *= 1.02; - c.awake_power_per *= 1.05; -} -void attr_17(Char &c) { - c.buff_apply += 180; - c.awake_apply += 180; -} -void attr_18(Char &c) { - c.buff_power_per *= 1.04; - c.awake_lv += 1; -} -//戒指、辅助装备、下装 -void attr_19(Char &c) { - c.buff_power_per *= 1.04; - c.awake_power_add += 40; -} -void attr_20(Char &c) { - c.buff_power_per *= 1.05; - c.awake_power_per *= 1.02; -} -void attr_21(Char &c) { - c.buff_attack_per *= 1.04; - c.awake_power_add += 25; -} -void attr_22(Char &c) { - c.buff_attack_per *= 1.02; - c.awake_power_per *= 1.04; -} -void attr_23(Char &c) { - c.buff_apply += 160; - c.awake_apply += 160; -} -void attr_24(Char &c) { - c.buff_lv += 1; - c.awake_power_add += 40; -} - - -void (*attr_list[4][7])(Char&) = { {attr_0,attr_1,attr_2,attr_3,attr_4,attr_5,attr_6}, - {attr_0,attr_7,attr_8,attr_9,attr_10,attr_11,attr_12}, - {attr_0,attr_13,attr_14,attr_15,attr_16,attr_17,attr_18}, - {attr_0,attr_19,attr_20,attr_21,attr_22,attr_23,attr_24}}; - -DLLEXPORT void cal_index_buff(int* range, int* i_data, double* d_data) { - Char c; - c.type = i_data[0]; - c.buff_apply = i_data[1]; - c.buff_lv = i_data[2]; - c.buff_power_add = i_data[3]; - c.buff_attack_add = i_data[4]; - c.awake_apply = i_data[5]; - c.awake_lv = i_data[6]; - c.awake_power_add = i_data[7]; - c.other_power = i_data[8]; - c.other_attack = i_data[9]; - c.std_power = i_data[10]; - c.std_attack = i_data[11]; - c.burst_rate = d_data[0]; - c.buff_rate = d_data[1]; - c.buff_power_per = d_data[2]; - c.buff_attack_per = d_data[3]; - c.awake_rate = d_data[4]; - c.awake_power_per = d_data[5]; - c.sys_rate = d_data[6]; - c.sys_base = d_data[7]; - - vector list[6]; - for (int i = 0; i < 6; i++) { - list[i] = range_buff(range[i]); - } - double max = 0; - if (list[3][0] * list[4][0] * list[5][0] != 0) - { - for (auto a1 = list[0].cbegin(); a1 != list[0].cend(); a1++) - { - for (auto a2 = list[1].cbegin(); a2 != list[1].cend(); a2++) - { - for (auto a3 = list[2].cbegin(); a3 != list[2].cend(); a3++) - { - for (auto a4 = list[3].cbegin(); a4 != list[3].cend(); a4++) - { - for (auto a5 = list[4].cbegin(); a5 != list[4].cend(); a5++) - { - for (auto a6 = list[5].cbegin(); a6 != list[5].cend(); a6++) - { - if ((*a4 >= *a5) & (*a5 >= *a6)) { - Char p = c; - attr_list[0][*a1](p); - attr_list[1][*a2](p); - attr_list[2][*a3](p); - attr_list[3][*a4](p); - attr_list[3][*a5](p); - attr_list[3][*a6](p); - double result = p.cal(); - if (result > max) { - max = result; - range[0] = *a1; - range[1] = *a2; - range[2] = *a3; - range[3] = *a4; - range[4] = *a5; - range[5] = *a6; - } - } - } - } - } - } - } - } - } - else { - for (auto a1 = list[0].cbegin(); a1 != list[0].cend(); a1++) - { - for (auto a2 = list[1].cbegin(); a2 != list[1].cend(); a2++) - { - for (auto a3 = list[2].cbegin(); a3 != list[2].cend(); a3++) - { - for (auto a4 = list[3].cbegin(); a4 != list[3].cend(); a4++) - { - for (auto a5 = list[4].cbegin(); a5 != list[4].cend(); a5++) - { - for (auto a6 = list[5].cbegin(); a6 != list[5].cend(); a6++) - { - Char p = c; - attr_list[0][*a1](p); - attr_list[1][*a2](p); - attr_list[2][*a3](p); - attr_list[3][*a4](p); - attr_list[3][*a5](p); - attr_list[3][*a6](p); - double result = p.cal(); - if (result > max) { - max = result; - range[0] = *a1; - range[1] = *a2; - range[2] = *a3; - range[3] = *a4; - range[4] = *a5; - range[5] = *a6; - } - } - } - } - } - } - } - } -} \ No newline at end of file diff --git a/PublicReference/preferred/Preferred.h b/PublicReference/preferred/Preferred.h deleted file mode 100644 index c296c852..00000000 --- a/PublicReference/preferred/Preferred.h +++ /dev/null @@ -1,42 +0,0 @@ -#pragma once - -#include -using namespace std; -#define DLLEXPORT extern "C" __declspec(dllexport) - -//计算择优范围 -vector range(double* array) { - vector range; - for (int i = 0; i < 6; i++) { - if (array[i] != 0) { - range.push_back(i); - } - } - if (range.size() == 0) { - range.push_back(0); - } - return range; -} - -//取最小值 -int min(int num1, int num2) -{ - if (num1 < num2) - return num1; - else - return num2; -} - -//计算择优范围 buff -vector range_buff(int sign) { - vector range; - if (sign != 0) { - for (int i = 1; i < 7; i++) { - range.push_back(i); - } - } - if (range.size() == 0) { - range.push_back(0); - } - return range; -} diff --git a/PublicReference/utils/LZextends.py b/PublicReference/utils/LZextends.py deleted file mode 100644 index 437e2615..00000000 --- a/PublicReference/utils/LZextends.py +++ /dev/null @@ -1,15 +0,0 @@ -from lanzou.api import LanZouCloud -from lanzou.api.types import * -from typing import List - - -class LZextends(LanZouCloud): - def __init__(self): - self.lzy = LanZouCloud() - self.lzy._host_url = 'https://pan.lanzouo.com' - self.lzy.available_domains = [ - 'lanzouo.com', # 2021-09-15 鲁ICP备15001327号-8 - 'lanzouw.com', # 2021-09-02 鲁ICP备15001327号-7 - 'lanzoui.com', # 2020-06-09 鲁ICP备15001327号-6 - 'lanzoux.com', # 2020-06-09 鲁ICP备15001327号-5 - ] diff --git a/PublicReference/utils/calc_core.py b/PublicReference/utils/calc_core.py deleted file mode 100644 index 3ec2718e..00000000 --- a/PublicReference/utils/calc_core.py +++ /dev/null @@ -1,378 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ------------------------------- -# File : calc_core -# DateTime : 2020/6/10 0010 21:30 -# Author : Chen Ji -# Email : fzls.zju@gmail.com -# ------------------------------- -from copy import * -from multiprocessing import Queue -from typing import List -from PublicReference.utils.minheap import MinHeap, expected_qsize - - -class CalcData(): - def __init__(self): - self.是输出职业 = True - self.智慧产物限制 = 3 - - self.minheap_queue = None # type: Queue - self.角色属性A = None - - # 被分配的计算范围 - self.mode_index = 0 # 0-极速模式,1-套装模式,2-散件模式 - # 在并发搜索任务组中分配到的开始序号:极速模式和套装模式时,任务组定义为按照原搜索组合算法得到的有效穿戴组合等;散件模式时,定义为0-level层串行搜索形成的所有子树 - self.start_index = 0 - self.end_index = 0 # 在并发搜索任务组中分配到的结束序号,描述同上 - - # 原始数据 - self.装备选择状态: list[int] = [] # 各个装备的选择状况,第i个位置为0表示装备i未选择,否则表示已选择 - self.拥有百变怪 = False # 是否勾选了百变怪 - self.神话属性选项: list[int] = [ - ] # 每个神话四个选项,第4*k~4*k+3下标表示第k个神话的词条选择(k从0开始计数) - self.改造产物选项: list[int] = [] - - # 根据原始数据在计算线程计算出的一些数据 - self.有效武器列表 = [] - self.有效防具套装 = [] - self.有效首饰套装 = [] - self.有效特殊套装 = [] - self.有效上链左套装 = [] - self.有效镯下右套装 = [] - self.有效环鞋指套装 = [] - self.有效总套装列表 = [ - self.有效防具套装, self.有效首饰套装, self.有效特殊套装, self.有效上链左套装, self.有效镯下右套装, - self.有效环鞋指套装 - ] - - self.有效部位列表 = [] - - # 最终结果 - self.minheap = None # type: MinHeap - - def pre_calc_needed_data(self): - from PublicReference.equipment.equ_list import 总套装列表, 部位列表, equ - - self.有效武器列表.clear() - for j in range(6): - self.有效总套装列表[j].clear() - - self.有效部位列表.clear() - for i in range(12): - self.有效部位列表.append([]) - - for i in range(len(self.装备选择状态)): - if self.装备选择状态[i] == 1: - temp = equ.get_equ_by_id(i) - if temp.部位 == '武器': - self.有效武器列表.append(temp.名称) - for j in range(6): - if (temp.所属套装 in 总套装列表[j]) and (temp.所属套装 - not in self.有效总套装列表[j]): - self.有效总套装列表[j].append(temp.所属套装) - self.有效部位列表[部位列表.index(temp.部位)].append(temp.名称) - - count = 0 - count2 = 0 - for i in equ.get_equ_list(): - if i.品质 == '神话': - if self.是输出职业 == True: - i.属性1选择 = self.神话属性选项[count * 4 + 0] - i.属性2选择 = self.神话属性选项[count * 4 + 1] - i.属性3选择 = self.神话属性选项[count * 4 + 2] - i.属性4选择 = self.神话属性选项[count * 4 + 3] - else: - i.属性1选择_BUFF = self.神话属性选项[count * 4 + 0] - i.属性2选择_BUFF = self.神话属性选项[count * 4 + 1] - i.属性3选择_BUFF = self.神话属性选项[count * 4 + 2] - i.属性4选择_BUFF = self.神话属性选项[count * 4 + 3] - count += 1 - if self.是输出职业 == True and i.所属套装 == '智慧产物': - i.属性1选择 = self.改造产物选项[count2 * 4 + 0] - i.属性2选择 = self.改造产物选项[count2 * 4 + 1] - i.属性3选择 = self.改造产物选项[count2 * 4 + 2] - i.属性4选择 = self.改造产物选项[count2 * 4 + 3] - count2 += 1 - pass - - -def calc_core(data: CalcData): - """ - - :type minheap_queue: Queue - :type 角色属性A: 角色属性 - :type 有效穿戴组合: List[str] - :type 有效穿戴套装: List[str] - :type 百变怪列表: str - """ - # 计算伤害具体算法 - - # 根据装备选择情况,预计算一些数据 - data.pre_calc_needed_data() - - # 寻找本任务对应的各个组合并调用计算函数 - if data.mode_index in [0, 1]: - calc_speed_and_set_mode(data) - else: - calc_single_mode(data) - - # 全部计算完后,将剩余结果传入结果队列 - data.minheap_queue.put(deepcopy(data.minheap)) - - -def calc_speed_and_set_mode(data): - from PublicReference.equipment.equ_list import 部位列表, equ - 套装组合 = [] - 套装适用 = [] - - for a in data.有效防具套装: - for b in data.有效首饰套装: - for c in data.有效特殊套装: - # 533 - 套装组合.append([a, a, a, a, a, b, b, b, c, c, c]) - 套装适用.append([ - a + '[2]', a + '[3]', a + '[5]', b + '[2]', b + '[3]', - c + '[2]', c + '[3]' - ]) - - for a in data.有效防具套装: - for d in data.有效上链左套装: - for e in data.有效镯下右套装: - for f in data.有效环鞋指套装: - # 3332 - 套装组合.append([d, a, e, a, f, e, d, f, f, d, e]) - 套装适用.append([ - a + '[2]', d + '[2]', d + '[3]', e + '[2]', e + '[3]', - f + '[2]', f + '[3]' - ]) - 套装组合.append([a, a, e, a, f, e, d, f, f, d, e]) - 套装适用.append([ - a + '[2]', d + '[2]', a + '[3]', e + '[2]', e + '[3]', - f + '[2]', f + '[3]' - ]) - 套装组合.append([d, a, a, a, f, e, d, f, f, d, e]) - 套装适用.append([ - a + '[2]', d + '[2]', d + '[3]', e + '[2]', a + '[3]', - f + '[2]', f + '[3]' - ]) - 套装组合.append([d, a, e, a, a, e, d, f, f, d, e]) - 套装适用.append([ - a + '[2]', d + '[2]', d + '[3]', e + '[2]', e + '[3]', - f + '[2]', a + '[3]' - ]) - - if data.mode_index == 1: - for a in data.有效防具套装: - for b in data.有效首饰套装: - for c in data.有效特殊套装: - for d in data.有效防具套装: - if d != a: - # 2333 占套装模式90%计算量 - 套装组合.append([a, a, a, d, d, b, b, b, c, c, c]) - 套装组合.append([a, a, d, a, d, b, b, b, c, c, c]) - 套装组合.append([a, d, a, a, d, b, b, b, c, c, c]) - 套装组合.append([d, a, a, a, d, b, b, b, c, c, c]) - 套装组合.append([a, a, d, d, a, b, b, b, c, c, c]) - 套装组合.append([a, d, a, d, a, b, b, b, c, c, c]) - 套装组合.append([d, a, a, d, a, b, b, b, c, c, c]) - 套装组合.append([a, d, d, a, a, b, b, b, c, c, c]) - 套装组合.append([d, a, d, a, a, b, b, b, c, c, c]) - 套装组合.append([d, d, a, a, a, b, b, b, c, c, c]) - for x in range(10): - 套装适用.append([ - a + '[2]', a + '[3]', d + '[2]', b + '[2]', - b + '[3]', c + '[2]', c + '[3]' - ]) - - # 极速模式与套装模式 - count = -1 - current_index = -1 - for temp in 套装组合: - count += 1 - for k in [-1, 0, 5, 8]: - temp1 = [] - sign = 0 - if data.拥有百变怪: - sign2 = '空' - else: - sign2 = '无' - for x in range(11): - 品质 = '史诗' - if k == x: - 品质 = '神话' - index = equ.get_id_by_index(temp[x], 品质, 部位列表[x]) - if data.装备选择状态[index] == 1: - sign += 1 - else: - if sign2 == '空' and equ.get_equ_by_id( - index).品质 != '神话' and equ.get_equ_by_id( - index).所属套装 not in [ - '精灵使的权能', '大自然的呼吸', '能量主宰' - ]: - sign += 1 - sign2 = equ.get_equ_by_id(index).名称 - temp1.append(equ.get_equ_by_id(index).名称) - if sign == 11: - for i in data.有效武器列表: - current_index += 1 - if current_index < data.start_index: - # 尚未到本工作线程需要计算的范围 - continue - if current_index > data.end_index: - # 本工作线程需要计算的范围已全部完成,直接退出 - return - calc_damage(temp1 + [i], 套装适用[count], sign2, data) - # logger.warning("consumer {} {} {} - {}".format( - # data.mode_index, data.start_index, data.end_index, current_index - # )) - pass - - -# 11层循环顺序 -顺序 = [5, 8, 1, 3, 2, 4, 6, 9, 7, 10] -顺序字典 = {0: 0, 5: 1, 8: 2, 1: 3, 3: 4, 2: 5, 4: 6, 6: 7, 9: 8, 7: 9, 10: 10} - - -def 筛选(名称, x, 装备, 套装, 神话, 种类, data): - from PublicReference.equipment.equ_list import equ - - i = equ.get_id_by_name(名称) - 装备[x] = 名称 - - for k in 顺序[顺序字典[x]:]: - 套装[k] = '无' - - 当前装备 = equ.get_equ_by_id(i) - - if 当前装备.所属套装2 != '无': - 套装[x] = 当前装备.所属套装2 - else: - 套装[x] = 当前装备.所属套装 - - count = [] - num = 0 - for j in 套装: - if j == '智慧产物': - num += 1 - if num > 种类[1]: - return 1 - elif (j != '无') and (j not in count): - count.append(j) - - if len(count) > 种类[0]: - return 1 - elif x == 10 and 种类[0] > 4: - 种类[0] = max(min(种类[0], len(count)), 4) - - if x == 0: - 神话[5] = 0 - 神话[8] = 0 - elif x == 5: - 神话[8] = 0 - - if 当前装备.品质 == '神话': - 神话[x] = 1 - if sum(神话) > 1: - return 1 - else: - 神话[x] = 0 - - return 0 - - -def calc_single_mode(data): - from PublicReference.equipment.equ_list import equ - current_index = -1 - 装备 = ['无'] * 12 - 套装 = ['无'] * 11 - 神话 = [0] * 11 - 种类 = [11, data.智慧产物限制] - - for a1 in data.有效部位列表[0]: - if 筛选(a1, 0, 装备, 套装, 神话, 种类, data): - continue - for a2 in data.有效部位列表[5]: - if 筛选(a2, 5, 装备, 套装, 神话, 种类, data): - continue - for a3 in data.有效部位列表[8]: - if 筛选(a3, 8, 装备, 套装, 神话, 种类, data): - continue - for a4 in data.有效部位列表[1]: - if 筛选(a4, 1, 装备, 套装, 神话, 种类, data): - continue - current_index += 1 - if current_index < data.start_index: - continue # 尚未到本工作线程需要计算的范围 - if current_index > data.end_index: - return # 本工作线程需要计算的范围已全部完成,直接退出 - for a5 in data.有效部位列表[3]: - if 筛选(a5, 3, 装备, 套装, 神话, 种类, data): - continue - for a6 in data.有效部位列表[2]: - if 筛选(a6, 2, 装备, 套装, 神话, 种类, data): - continue - for a7 in data.有效部位列表[4]: - if 筛选(a7, 4, 装备, 套装, 神话, 种类, data): - continue - for a8 in data.有效部位列表[6]: - if 筛选(a8, 6, 装备, 套装, 神话, 种类, data): - continue - for a9 in data.有效部位列表[9]: - if 筛选(a9, 9, 装备, 套装, 神话, 种类, data): - continue - for a10 in data.有效部位列表[7]: - if 筛选(a10, 7, 装备, 套装, 神话, 种类, - data): - continue - for a11 in data.有效部位列表[10]: - if 筛选(a11, 10, 装备, 套装, 神话, 种类, - data): - continue - 套装字典 = {} - for i in 套装: - if i != '智慧产物' and i != '无': - 套装字典[i] = 套装字典.get( - i, 0) + 1 - 套装名称 = [] - for i in 套装字典.keys(): - if 套装字典[i] >= 2 and ( - i + '[2]' - ) in equ.get_suit_name(): - 套装名称.append(i + '[2]') - if 套装字典[i] >= 3 and ( - i + '[3]' - ) in equ.get_suit_name(): - 套装名称.append(i + '[3]') - if 套装字典[i] >= 5 and ( - i + '[5]' - ) in equ.get_suit_name(): - 套装名称.append(i + '[5]') - for a12 in data.有效部位列表[11]: - 装备[11] = a12 - calc_damage( - 装备, 套装名称, '空', data) - pass - - -def calc_damage(有效穿戴组合, 有效穿戴套装, 百变怪, data: CalcData): - 角色属性A = deepcopy(data.角色属性A) - - 角色属性A.穿戴装备(有效穿戴组合, 有效穿戴套装) - if data.是输出职业: - damage = 角色属性A.伤害计算() - else: - damage = 角色属性A.BUFF计算(2) - - data.minheap.add((damage, ) + tuple(角色属性A.装备栏) + (damage, ) + - tuple(角色属性A.套装栏) + (百变怪, )) - data.minheap.processed_result_count += 1 - - if data.minheap.processed_result_count >= data.minheap.batch_size: - # 动态调整批量大小 - if data.minheap_queue.qsize() > expected_qsize: - data.minheap.update_batch_size() - # 同步 - data.minheap_queue.put(deepcopy(data.minheap)) - # 重置 - data.minheap.reset() diff --git a/PublicReference/utils/common.py b/PublicReference/utils/common.py deleted file mode 100644 index 40c5d4a7..00000000 --- a/PublicReference/utils/common.py +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ------------------------------- -# File : common -# DateTime : 2020/6/11 0011 16:43 -# Author : Chen Ji -# Email : fzls.zju@gmail.com -# ------------------------------- -import re -from typing import Iterable -from .log import * - - -# 格式化时间为比较美观的格式 -def format_time(ftime): - days, remainder = divmod(ftime, 86400) - hours, remainder = divmod(remainder, 3600) - minutes, seconds = divmod(remainder, 60) - remaining_time_str = "" - if days > 0: - remaining_time_str += "{}d".format(int(days)) - if days > 0 or hours > 0: - remaining_time_str += "{:02}h".format(int(hours)) - if hours > 0 or minutes > 0: - remaining_time_str += "{:02}m".format(int(minutes)) - remaining_time_str += "{:02.2f}s".format(seconds) - - return remaining_time_str - - -def to_int(content, default=None): - if re.match("^-?\d+$", content): - return int(content) - return default - - -# 将小数转换为百分比字符串的表示方式 -def to_percent(num, digits=0): - return str(int(round(num * 100, digits))) + "%" - - -# 将字符串数组批量格式化 -def format_range(content: str, items: Iterable, *args, **kwargs): - return list(map(lambda i: content.format(i, *args, **kwargs), items)) diff --git a/PublicReference/utils/config.py b/PublicReference/utils/config.py deleted file mode 100644 index b03d1a6f..00000000 --- a/PublicReference/utils/config.py +++ /dev/null @@ -1,146 +0,0 @@ -import configparser -import os -import json - -from PublicReference.utils.lan import Language - -global 配置格式有误 -global 窗口显示模式 -global 切装模式 -global 调试开关 -global 输出数据 -global 普雷武器显示 -global 武器排名 -global SkinVersion -global 觉醒开关 -global 攻击目标 - -global 天劫光环 -global 战术白字 -global 天御套装 -global 千蛛减防 -global currentVersion - -配置格式有误 = False - -conf = configparser.ConfigParser() - -# def get_real_resolution(): -# """获取真实的分辨率""" -# try: -# from win32 import win32api, win32gui, win32print -# from win32.lib import win32con -# except: -# return 0,0 -# else: -# hDC = win32gui.GetDC(0) -# # 横向分辨率 -# w = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES) -# # 纵向分辨率 -# h = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES) -# return w, h - - -def readConfig(filePath): - #基础设置################################################################## - try: - conf.read(filePath, encoding='utf-8') - except: - try: - conf.read(filePath, encoding='utf-8-sig') - except: - 配置格式有误 = True - pass - - -def readDefault(): - data = {} - with open("ResourceFiles/Config/config.json", encoding='utf-8') as fp: - setJson = json.load(fp) - num = 0 - for i in setJson: - data[str(num)] = i['default'] - num += 1 - fp.close() - return data - - -def readSet(filePath): - data = readDefault() - if os.path.exists(filePath): - with open(filePath, encoding='utf-8') as fp: - setJson = json.load(fp) - data.update(setJson) - fp.close() - return data - - -setJson = readSet("ResourceFiles/Config/set.json") -窗口显示模式 = setJson['0'] -普雷武器显示 = setJson['1'] -切装模式 = setJson['2'] -输出数据 = setJson['3'] -调试开关 = setJson['4'] -SkinVersion = ["DNFStyle", "LightStyle", "None"][setJson['5']] -觉醒开关 = setJson['6'] -武器排名 = setJson['7'] -自动检查更新 = setJson['8'] -天劫光环 = setJson['9'] -战术白字 = 0.40 + 0.05 * setJson['10'] -天御套装 = setJson['11'] -千蛛减防 = setJson['12'] -多语言开关 = setJson['13'] - -if 输出数据 == 1: - if not os.path.exists('./数据记录'): - os.makedirs('./数据记录') - -#多语言################################################################## - -lan = Language() - -defaultLanPaths = ['language_chn', 'language_kor'] -languageJson = [] - -languagePath = "ResourceFiles/Config/language/{}.json".format( - defaultLanPaths[多语言开关]) -lan.load_json(languagePath) - - -def trans(text, **kwargs): - return lan.trans(text, **kwargs) - - -#攻击目标################################################################## - -readConfig(trans('ResourceFiles/Config/攻击目标.ini')) - -# w, h = get_real_resolution() - -# # 4K及以上才自动开启 -# if w > 2048 and h > 1080: -# 窗口显示模式 = 1 - -# 怪物属性 -攻击目标 = [] -for i in range(100): - try: - temp = [] - item = 'item' + str(i) - temp.append(conf.get(item, '名称')) - temp.append(conf.getint(item, '防御')) - temp.append(conf.getint(item, '火抗')) - temp.append(conf.getint(item, '冰抗')) - temp.append(conf.getint(item, '光抗')) - temp.append(conf.getint(item, '暗抗')) - 攻击目标.append(temp) - except Exception as error: - break - -if len(攻击目标) == 0: - 攻击目标 = [['120沙袋(绿)', 443243, 0, 0, 0, 0]] - -with open("ResourceFiles/Config/release_version.json") as fp: - versionInfo = json.load(fp) - currentVersion = versionInfo['version'].replace('-', '.') - # self.自动检查版本 = versionInfo['AutoCheckUpdate'] diff --git a/PublicReference/utils/constant.py b/PublicReference/utils/constant.py deleted file mode 100644 index fe533a8a..00000000 --- a/PublicReference/utils/constant.py +++ /dev/null @@ -1,398 +0,0 @@ -import multiprocessing -import queue -import threading -import time -import os -import math -from typing import Iterable - -from PyQt5 import QtWidgets -from PyQt5 import QtGui -from PyQt5.QtCore import Qt, pyqtSignal -from PyQt5.QtGui import * -from PyQt5.QtWidgets import * -from PyQt5.QtCore import QUrl - -from .log import logger -from .calc_core import CalcData -from .common import format_time -from .minheap import MinHeap, MinHeapWithQueue, batch_size -from .producer_consumer import producer, producer_data, thread_num, thread_task -from .storex import * -from copy import * -# from .MainWindow import * -import chardet -import sys -import platform -import ctypes -from ctypes import * - -from PublicReference.utils.config import * - - -def resource_path(relative_path): - if getattr(sys, 'frozen', False): # 是否Bundle Resource - base_path = sys._MEIPASS - else: - base_path = os.path.abspath(".") - return os.path.join(base_path, relative_path) - - -preferred = None -try: - if platform.system() != "Windows": - dllPath = resource_path( - os.path.join("InternalFile", "DLL", "Preferred.dylib")) - preferred = ctypes.CDLL(dllPath) - # logger.info("Preferred included.") - else: - dllPath = resource_path( - os.path.join("InternalFile", "DLL", "Preferred.dll")) - preferred = ctypes.WinDLL(dllPath) -except Exception as e: - logger.error(e) - -skillDataPath = resource_path("SkillData") - -# 100级史诗套数据 -防具套装 = ("古代祭祀的神圣仪式", "遗忘魔法师的馈赠", "天堂舞姬", "死亡阴影", "皇家裁决者宣言", "龙血玄黄", "贫瘠沙漠的遗产", - "炙炎之盛宴", "擎天战甲", "噩梦:地狱之路", "传奇铁匠-封神", "荆棘漫天", "永恒不息之路", "命运歧路", - "大自然的呼吸") -首饰套装 = ("上古尘封术式", "破晓曦光", "幸运三角", "精灵使的权能") -特殊套装 = ("军神的隐秘遗产", "灵宝:世间真理", "时间战争的残骸", "能量主宰") -上链左套装 = ("深渊窥视者", "圣者的黄昏", "坎坷命运", "吞噬愤怒") -镯下右套装 = ("黑魔法探求者", "时空旅行者", "穿透命运的呐喊", "狂乱追随者") -环鞋指套装 = ("地狱求道者", "次元旅行者", "天命无常", "悲剧的残骸") - -部位列表 = ("上衣", "头肩", "下装", "腰带", "鞋", "手镯", "项链", "戒指", "耳环", "辅助装备", "魔法石", - "武器") - -奥兹玛部位列表 = ("头肩", "腰带", "鞋", "项链", "魔法石") - -奥兹玛套装 = ('阿斯特罗斯', '贝利亚斯', '雷德梅恩', '罗什巴赫', '泰玛特') - -希洛克部位列表 = ("下装", "戒指", "辅助装备") - -希洛克套装 = ('奈克斯', '暗杀者', '卢克西', '守门人', '洛多斯') - -部位字典 = { - "上衣": 0, - "头肩": 1, - "下装": 2, - "腰带": 3, - "鞋": 4, - "手镯": 5, - "项链": 6, - "戒指": 7, - "耳环": 8, - "辅助装备": 9, - "魔法石": 10, - "武器": 11 -} - -颜色 = { - '神话': '#E0502F', - '史诗': '#FFB400', - '传说': '#FF7800', - '神器': '#FF00FF', - '稀有': '#B36BFF' -} - -总套装列表 = [防具套装, 首饰套装, 特殊套装, 上链左套装, 镯下右套装, 环鞋指套装] -所有套装列表 = 防具套装 + 首饰套装 + 特殊套装 + 上链左套装 + 镯下右套装 + 环鞋指套装 - - -def getQCSS(FileName): - try: - content = store.get("./ResourceFiles/Skins/" + SkinVersion + "/" + - FileName) - if content == None: - with open( - "./ResourceFiles/Skins/" + SkinVersion + "/" + FileName + - ".qcss", "rb") as fp: - content = fp.read() - encoding = chardet.detect(content) or {} - content = content.decode(encoding.get("encoding") or "utf-8") - store.set( - "./ResourceFiles/Skins/" + SkinVersion + "/" + FileName, - content) - return content - except Exception as error: - return '' - - -# 部分控件样式 -按钮样式 = getQCSS('按钮样式') -# if 按钮样式 == '' : 按钮样式 = 'QPushButton{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:10px} QPushButton:hover{background-color:rgba(65,105,225,0.8)}' - -按钮样式_warn = getQCSS('按钮样式_warn') -# if 按钮样式_warn == '' : 按钮样式_warn ='''QPushButton{font-size:14px;color:white;background-color:rgba(197,34,70,0.8);border:1px;border-radius:10px} QPushButton:hover{background-color:rgba(225,5,65,0.8)}''' - -套装按钮样式 = getQCSS('套装按钮样式') -# if 套装按钮样式 == '' :套装按钮样式 = '''QPushButton{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:5px;} QPushButton:hover{background-color:rgba(65,105,225,0.8)}''' -按钮样式2 = 'QPushButton{background-color:rgba(0,0,0,0);border:1px;border-radius:5px} QPushButton:hover{background-color:rgba(252,224,0,0.2)}' -按钮样式3 = '''QPushButton{font-size:13px;color:white;background-color:rgba(255,255,255,0.1);border:1px;border-radius:5px} QPushButton:hover{background-color:rgba(65,105,225,0.5)} -QPushButton::menu-indicator {image:none}''' - -按钮样式 = getQCSS('按钮样式') -# if 按钮样式 == '' :按钮样式 = 'QPushButton{font-size:12px;color:white;background-color:grey;border:1px;border-radius:10px}' - -复选框样式 = getQCSS('复选框样式') -# if 复选框样式 == '' :复选框样式 = "QCheckBox{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} QCheckBox:hover{background-color:rgba(65,105,225,0.8)}" -# 复选框样式 = getQCSS('复选框样式') -# if 复选框样式 == '' :复选框样式 = "QCheckBox{font-size:12px;color:white;background-color:grey;border:1px;border-radius:3px} QCheckBox:hover{background-color:rgba(65,105,225,0.8)}" - -标签样式 = getQCSS('标签样式') -# if 标签样式 == '' :标签样式 = "QLabel{font-size:12px;color:white}" - -页签样式 = getQCSS('页签样式') -# if 页签样式 == '' :页签样式 = '''QToolButton{font-size:13px;color:white;background-color:rgba(70,130,200,0.8)} QToolButton:hover{background-color:rgba(40,100,235,0.8)}''' - -页签样式_选中 = getQCSS('页签样式_选中') -# if 页签样式_选中 == '' :页签样式_选中 = '''QToolButton{font-size:13px;color:white;background-color:rgba(200,30,30,0.8)} QToolButton:hover{background-color:rgba(235,0,0,0.8)}''' - -下拉框样式 = getQCSS('下拉框样式') -# if 下拉框样式 == '' :下拉框样式 = '''QComboBox{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:5px;} -# QComboBox:disabled{font-size:12px;color:white;background-color:grey;border:1px;border-radius:5px;} QComboBox QAbstractItemView::item {height: 18px;} -# QComboBox:hover{background-color:rgba(65,105,225,0.8)} -# QComboBox QAbstractItemView::item {height: 18px;background-color:white} -# QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1);color:black} -# QComboBox QScrollBar{ -# background: white !important -# } -# QComboBox QScrollBar::handle{ -# background: rgb(220,220,220) !important -# } -# ''' -# 下拉框样式 = getQCSS('下拉框样式') -# if 下拉框样式 == '' :下拉框样式 = "QComboBox{font-size:12px;color:white;background-color:grey;border:1px;border-radius:5px;} QComboBox QAbstractItemView::item {height: 18px;}" -下拉框样式_down = getQCSS('下拉框样式_down') -# if 下拉框样式_down == '' :下拉框样式_down = '''QComboBox{font-size:12px;color:white;background-color:rgba(34,157,70,0.8);border:1px;border-radius:5px;} QComboBox:hover{background-color:rgba(5,185,65,0.8)} -# QComboBox QAbstractItemView::item {height: 18px;background-color:white} -# QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1) !important;color:black} -# QComboBox QScrollBar{ -# background: white !important -# } -# QComboBox QScrollBar::handle{ -# background: rgb(220,220,220) !important -# } -# ''' -下拉框样式_warn = getQCSS('下拉框样式_warn') -# if 下拉框样式_warn == '' :下拉框样式_warn = '''QComboBox{font-size:12px;color:white;background-color:rgba(197,34,70,0.8);border:1px;border-radius:5px;} QComboBox:hover{background-color:rgba(225,5,65,0.8)} -# QComboBox QAbstractItemView::item {height: 18px;background-color:white} -# QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1)!important; color:black} -# QComboBox QScrollBar{ -# background: white !important -# } -# QComboBox QScrollBar::handle{ -# background: rgb(220,220,220) !important -# } -# ''' -下拉框样式_detail = getQCSS('下拉框样式_detail') - -输入框样式 = getQCSS('输入框样式') -# if 输入框样式 == '' :输入框样式 ='''QLineEdit{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} QLineEdit:hover{background-color:rgba(65,105,225,0.8)}''' - -标签样式_2 = getQCSS('标签样式_2') -# if 标签样式_2 == '' :标签样式_2 = "QLabel{font-size:12px;color:yellow}" - -文本框样式黄 = getQCSS('文本框样式黄') -# if 文本框样式黄 == '' :文本框样式黄 = "QLineEdit{font-size:12px;color:yellow;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px}" -文本框样式白 = getQCSS('文本框样式白') -# if 文本框样式白 == '' :文本框样式白 = "QLineEdit{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px}" - -滚动条样式 = getQCSS('滚动条样式') - -标题背景 = getQCSS('标题背景') - -标题字体 = getQCSS('标题字体') - -# 滚动条样式 = '''/*QScrollBar Style*/ -# /*纵向滚动条*/ -# QScrollBar { -# background: transparent; /*背景透明*/ -# width: 10px; /*宽度*/ -# margin: 0px 0px 0px 0px; /**/ -# padding-top: 5px; /*距离上面12px*/ -# padding-bottom: 5px; /*距离底部12px*/ -# } -# /*纵向滚动条上面的滑块*/ -# QScrollBar::handle { -# background: rgba(245,245,245,50); -# width: 10px; -# border: none; -# } -# /*纵向滚动条下部分块*/ -# QScrollBar::add-page:vertical { -# width: 10px; -# background: transparent; -# } -# /*横向滚动条后面部分块*/ -# QScrollBar::add-page:horizontal { -# height: 10px; -# background: transparent; -# } -# /*纵向滚动条上面部分块*/ -# QScrollBar::sub-page:vertical { -# width: 10px; -# background: transparent; -# } -# /*横向滚动条左部分块*/ -# QScrollBar::sub-page:horizontal { -# height: 10px; -# background: transparent; -# } -# /*纵向滚动条顶部三角形位置*/ -# QScrollBar::sub-line:vertical { -# height: 12px; -# width: 10px; -# background: transparent; -# subcontrol-position: top; -# } -# /*横向滚动条左侧三角形位置*/ -# QScrollBar::sub-line:horizontal { -# height: 10px; -# width: 12px; -# background: transparent; -# subcontrol-position: left; -# } -# /*纵向滚动条下面三角形部分*/ -# QScrollBar::add-line:vertical { -# height: 12px; -# width: 10px; -# background: transparent; -# subcontrol-position: bottom; -# } -# /*横向滚动条右边的三角形部分*/ -# QScrollBar::add-line:horizontal { -# height: 10px; -# width: 12px; -# background: transparent; -# subcontrol-position: right; -# } -# ''' - -游戏滚动条样式模拟 = '''/*纵向滚动条*/ -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/img/UI/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/img/UI/down.png); - padding-bottom:4px; - padding-right:2px; -} -''' - - -class MyQComboBox(QComboBox): - def __init__(self, win, useWheel=True): - super().__init__(win) - self.useWheel = useWheel - self.setView(QListView()) - self.setStyleSheet(下拉框样式) - - def addItems(self, texts: Iterable[str]): - for text in texts: - self.addItem(text) - pass - - def addItem(self, text, userData=None): - if userData is None: - userData = text - text = trans(text) - super().addItem(text, userData) - pass - - def wheelEvent(self, e: QtGui.QWheelEvent) -> None: - if self.useWheel: - return super().wheelEvent(e) - else: - pass - - -class MyQToolButton(QToolButton): - DoubleClickSig = pyqtSignal(str) - - def mouseDoubleClickEvent(self, e): # 双击 - sigContent = self.objectName() - self.DoubleClickSig.emit(sigContent) - - -class MyQLabel(QtWidgets.QLabel): - # 自定义信号, 注意信号必须为类属性 - button_clicked_signal = pyqtSignal() - - def __init__(self, parent=None): - super(MyQLabel, self).__init__(parent) - - def mouseReleaseEvent(self, QMouseEvent): - self.button_clicked_signal.emit() - - # 可在外部与槽函数连接 - def connect_customized_slot(self, func): - self.button_clicked_signal.connect(func) diff --git a/PublicReference/utils/copy.py b/PublicReference/utils/copy.py deleted file mode 100644 index e5785b89..00000000 --- a/PublicReference/utils/copy.py +++ /dev/null @@ -1,161 +0,0 @@ -import types -import weakref -from copyreg import dispatch_table - - -def copy(x): - cls = type(x) - copier = _copy_dispatch.get(cls) - if copier: - return copier(x) - if issubclass(cls, type): - return _copy_immutable(x) - copier = getattr(cls, "__copy__", None) - if copier is not None: - return copier(x) - reductor = dispatch_table.get(cls) - if reductor is not None: - rv = reductor(x) - else: - reductor = getattr(x, "__reduce_ex__", None) - if reductor is not None: - rv = reductor(4) - else: - reductor = getattr(x, "__reduce__", None) - if reductor: - rv = reductor() - if isinstance(rv, str): - return x - return _reconstruct(x, None, *rv) - - -_copy_dispatch = d = {} - - -def _copy_immutable(x): - return x - - -for t in (type(None), int, float, bool, complex, str, tuple, bytes, frozenset, - type, range, slice, property, types.BuiltinFunctionType, - type(Ellipsis), type(NotImplemented), types.FunctionType, - weakref.ref): - d[t] = _copy_immutable -t = getattr(types, "CodeType", None) -if t is not None: - d[t] = _copy_immutable - -d[list] = list.copy -d[dict] = dict.copy -d[set] = set.copy -d[bytearray] = bytearray.copy - - -def deepcopy(x): - cls = type(x) - copier = _deepcopy_dispatch.get(cls) - if copier is not None: - y = copier(x) - else: - if issubclass(cls, type): - y = _deepcopy_atomic(x) - else: - copier = getattr(x, "__deepcopy__", None) - reductor = dispatch_table.get(cls) - if reductor: - rv = reductor(x) - else: - reductor = getattr(x, "__reduce_ex__", None) - if reductor is not None: - rv = reductor(4) - else: - reductor = getattr(x, "__reduce__", None) - if reductor: - rv = reductor() - if isinstance(rv, str): - y = x - else: - y = _reconstruct(x, *rv) - return y - - -_deepcopy_dispatch = d = {} - - -def _deepcopy_atomic(x): - return x - - -d[type(None)] = _deepcopy_atomic -d[type(Ellipsis)] = _deepcopy_atomic -d[type(NotImplemented)] = _deepcopy_atomic -d[int] = _deepcopy_atomic -d[float] = _deepcopy_atomic -d[bool] = _deepcopy_atomic -d[complex] = _deepcopy_atomic -d[bytes] = _deepcopy_atomic -d[str] = _deepcopy_atomic -d[types.CodeType] = _deepcopy_atomic -d[type] = _deepcopy_atomic -d[range] = _deepcopy_atomic -d[types.BuiltinFunctionType] = _deepcopy_atomic -d[types.FunctionType] = _deepcopy_atomic -d[weakref.ref] = _deepcopy_atomic -d[property] = _deepcopy_atomic - - -def _deepcopy_list(x, deepcopy=deepcopy): - y = [] - append = y.append - for a in x: - append(deepcopy(a)) - return y - - -d[list] = _deepcopy_list - - -def _deepcopy_dict(x, deepcopy=deepcopy): - y = {} - for key, value in x.items(): - y[deepcopy(key)] = deepcopy(value) - return y - - -d[dict] = _deepcopy_dict - - -def _reconstruct(x, - func, - args, - state=None, - listiter=None, - dictiter=None, - deepcopy=deepcopy): - y = func(*args) - if state is not None: - state = deepcopy(state) - if hasattr(y, '__setstate__'): - y.__setstate__(state) - else: - if isinstance(state, tuple) and len(state) == 2: - state, slotstate = state - else: - slotstate = None - if state is not None: - y.__dict__.update(state) - if slotstate is not None: - for key, value in slotstate.items(): - setattr(y, key, value) - - if listiter is not None: - for item in listiter: - item = deepcopy(item) - y.append(item) - - if dictiter is not None: - for key, value in dictiter: - key = deepcopy(key) - value = deepcopy(value) - y[key] = value - return y diff --git a/PublicReference/utils/img.py b/PublicReference/utils/img.py deleted file mode 100644 index a5a039fe..00000000 --- a/PublicReference/utils/img.py +++ /dev/null @@ -1,5 +0,0 @@ -# 赞赏码的base64文件 -# f=open(r'./ResourceFiles/img/二维码.png','rb') -# print(base64.b64encode(f.read())) - -二维码 = b'iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAIAAAD2HxkiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAe5dJREFUeNrsXQdgFFW3nrYtu+mFkpCEEiAJoUMIvUhHKaJIFykCAiqooCJip4j+iIACoiCCIKD0XkIJJRB6Cem9kGSz2b475Z3dwXnjJtlsSAIp8/2+vGGn37nfPd+599xzUYZhEAECBDw/YEIRCBAgkFCAAIGEAgQIEEgoQIBAQgECBAgkFCBAIKEAAQIEEgoQIJBQgAABAgkFCBBIKECAAIGEAgQIJBQgQIBAQgECBBIKECBAIKEAAQIJBQgQIJBQgACBhAIECBBIKECAQEIBAgQIJBQgQCChAAECBBIKECCQUIAAAQIJBQgQSCjgGYJhmDt37ty6dYumacfP0mg00dHRiYmJQgEKJBRQUaxdu7a3FWvWrHHwFKPROGfOHDilb9++Fy5cEMpQIKGApwfQafPmzQUFBYWFhdu2bTOZTI6clZCQ8Oeff+p0upSUlL/++ksoRoGEAv5DqvPnz4O2dPB4iqI4FZqcnJyamuogCeFG3B0dvJfZbI6KinL82QQIJKyR3t1HH30EErFnz547duxgf7F/ipOTk4+PD7sNxhBMoiM3ysvL47YbNWrkyClAdXi2Pn369OjRY/v27cLHEkhYO6HRaPbt20eSZFFR0cqVK0Euoiha5lmurq6cVczJyXHkRnyDqVAoHDnl0aNH69evB7mrVqvhIYWPJZCwdgLHcbBs7Pbdu3fv3LnjyFmhoaGcIXXQJ9Tr9dx28+bNHTnl+PHjWq2W3ZbL5cLHEkhYOwEMbN26NeeAXb9+3ZGzBg0axBrDsLAw0IqOnDJ8+HAXFxfYaNeuXadOnRw55fLly9y2g6cIEEhYI/HCCy9w21euXHHklC5duhw5cmTbtm179+7l/EP7iIiIOHr0KJyya9cuLy+vMo9XKpVgmTn5+hQkFBZdrwhQofgqAnDSCgsLmzZtShCEI8dfu3atd+/erPBr1arVuXPn3N3dn/tbQHPQt29f8FFZM3jmzBkHFSl4uWlpaf7+/oKCFSzh80FUVBTow86dO8+aNYvvhtlBs2bNgLHsdnx8/KNHj6rDi0DTwDIQEBwc7CCjUlJShg4dCqQdOXJkVlaWUB8EEj4HHDp0KC4urqioCIQf1EhHTnFzc+vYsSO7bTAYoPZXtfBjrLB/zPnz57ntbt26OXjl9evXgyUHq37ixAkHpbUAgYSVDDBr7EaTJk08PDwcPAscNm4bPDdHIkKBrvv27QOq5+XlOTKqERsbu3nz5osXL1r8DSvsHKxSqW7evMluSyQSMOyOvEV6evrOnTvZbalU6ojnKaCMllLAUwCMABDjq6++un37tuNngQr19PRkC9/HxwdMaJmnLF++nCXSuHHjTCaT/YPBSQNvEw52cXE5depUmRcvKCgICAhgn6dDhw6gSx15C3hrrgr1798fmgmhPjw1BBI+a4Dp69ev35NuMRQFTVvmKS+//DJncsEY2j8YJCJHjxUrVjjyPAsXLlQoFNAi7Nq1y5FXgGfgDz/+888/wmetCAQ5+sz7o1GUk3w2nCkNvXr1kslkOI737duXC6ApDUFBQez169evz5e+dp7nyy+/vGLFK6+84sgr/P7771yXUteuXQcMGCB81oqAEIrg2SM8PBzDMNYbjImJIUnS/gjHzJkz27RpA0IRanyZYyHAvd27d9+4cSMwMJCLDSijEhBESEiIgw8PIpwNfLX0KGDY7NmzoYGA1sQRZ1VAye2gME747AF+YLdu3TIyMhBrgDWYoAYNGjyX7oCnYM7evXtHjx7NVpuwsLALFy6A8ymQUOgdrTQUFRVt2LDh22+/TU5Orrq7+Pr6BgcHs9tAxejo6Of4ygaDgaIoBw8Ga7xq1Squ4Z40aRIbH+cIAy9duvT1118Dhx2/ndA7WhfxySefsMUybNgwB/sJnw4ff/wx9wneeeed5/W+v/zyCwhdcDVv3rzpyPEHDhzg+Na8efP8/HwHb5SUlMT2wYJnCxcRaprQMVMqbt++zW0UFhaW61xw7Xbt2vXdd9+xnRb2dX6/fv1EIhFnIsxms/2Lg7V8++23ly5dWmZsyvXr1+fPn79kyZLMzEz7RxYUFHz66ae3bt06ffr05s2by3xBeEggLfde48aNc3x0NC0tjY1nADN4//59oaYJlrBUQF308vJSKBTvvvsu1Llynbtlyxa2SLt3767X6+0frFarOUUqk8muXr1q52C4GtfPuXjxYjtHmkwmMGvskfPmzbP/DCqVqkWLFuzBH330UZkvGBUVJZFI2OPBiY2Li2NHOBwc1XjhhRfgTZs2bWr/ZesghN7R/2Dy5Mnh4eHgJoWEhDgYk80hJiaG3bh37x74llKp1M7BwHPQgQ8ePECs0//A8NqZu2A0GrOzs9ltbqM0Y8UdAMbH/gODO/fDDz9s3LjRx8dnxowZZb5gbm4ulyxjzJgxbMCQg/0xnp6eO3fuTEhIqFevnr+/v1DTBEv4lIPs9lv9I0eOgH0Qi8UTJkxwxIquXbuWPwhh/+AVK1ZA3Q0LCyszCOZ///tfYGBgaGgoPE/llgD4de3btwcVDc0H0EmoEpUFYYiiDIBnBYYCrKIjvfBg2fLz81u3bs32GdoHqLI+ffqw0xegckdGRtpPRQGWDeScI1GaGRkZ0BZ4e3tXRWkA/Zo0aeLr6+vgoCK8YFU8iWAJ6wTAZZoyZYqfn9+LL76YnJxc6dfnB3/J5fJyBaDWCFy4cKFjx46NGzdetmyZg66jEDsq4D84fvw411SNHDmyvP00jmDs2LHcLdavX1/LCnD27Nnsq4GUyMrKEmqUMERRboCk5EYR/v777x9//JHTDmWeC3Xu9OnTZY749+/fn9s+ceJELSvAevXqcRtchisBghwtB8D0vfnmm1xBeXh4XL9+3ZETU1JS2rZtCwQOCgq6e/eunSMfPnzIBWT7+/vbMRfgWX399ddgkLds2WJH2oEPtmTJklGjRu3cufO5F2BOTs7SpUvBHl66dEmoToIcfUqkp6dzI2mAPn36KJXKMs86cuQId8rbb79t50ij0di9e3f2SBzHQQCXduSBAwfYw8Ri8Y0bN0o77LfffmMP8/b2TkpKEr5gjUDdHSdMTEyMjIyMiorSaDQYhoH4BD707NmTn7La19f3+++/B8NiMBjgn2fOnFm5ciV/PmtpMgyowuYIBVZMnTo1LCysxCPhsC5durBrtlAUde3aNb5A5UOtVrMbcNmioqLSbp2fn88dz6WNqW64d+8eaPWbN2/q9XooeXd39379+nXr1q3udqLWqYE+diM2NhY0Uol9/cC6Dz74wGa2+/vvv893FE+ePGn/RkCn119/nTtl2rRpdg7mkkSwAatwbomHZWZmjh49OiQkZN68eaA5S7saeKEvvvhicHDwhx9+WOYc/DIBhvp///vfK6+8Ak2PnZs6jsuXL48bN87Z2bl4yTdv3vybb74pKCgQ5Gjtx+HDhxs3bmy/YYK6DtaJ4y1I0PDwcG4vVPHs7Gz7dwHvkRsqhJbezvDDo0ePOAsATQD4UaUdSZKkIwHTwD3H46rtg7+iE5RbBa+2adOmMgc5QYnEx8cLJKzNAG+Nnz8XyDZjxoyPP/4Y7MaUKVO4ZISIdZrfuXPnuBPPnz/PTxA6ffp0+wNfsHfChAnc8XbmSQBnevXqxbmFjmSFKa/lf+p+qcGDB3OvUMGeno0bN4L25q7WqVOnt95666OPPlq0aNH48eMbNmzI31XXeFiHSAjmiPvYrq6uq1atys3N5R+QkZHx6aefcjHKIJD4fRvgHHIVhSCI3bt3278deJsymYzzEu0kdIK6yF0ZqmZVlwNoQrjLsmXLCgsL7Rx2/PhxboQGyg1c6Ke+49GjR7lcpmDtt27dCm4t/4C4uLhZs2ZxhdC3b1+VSiWQsLYBfC1ocdlv7ObmtmfPntKO3Lx5M1djwJ3j7Ak4RUOGDOEqCmja9PR0+zflj8XbmaYA9pkLiIuIiADZWXXlkJeXx2Wy+PHHH+1I3zFjxjjYx2sfIOa5LBtQaHaGK6AF5O64Zs0agYS1DTdu3ODGi9etW2f/4CVLlnCx//fv3+c32HzhdPbsWfvXOXHiBKfB/P39SzOGBQUFXArTLl26VCkJwaBx/SJ22oWsrCw/Pz+uEGJjY5/6jmD32OtIpdKDBw/a189ch1bbtm3LnA4mkLCGYfny5ezXDQ8PL3PKPMjUoKAg9vhff/2Vv+v3339nRSY06mUGlIK/N3DgQI60X375pR2XCTxSEMDbtm2r0nIAT++TTz4Bj7dDhw6gS0s7TK1WQ3PAPjYIxTJfU6PRlOaFcrwaPny4Hfqx54LLwPre4B6X2QstkLAmAT4wpySXLl3K33X16tVXX311woQJNqEt8+bNY4+fMWOGzdUiIyM3bNhw7949R24NbT+GYZw7ZGcGUE5OzuPHj59NgWRmZpbpdAEfFi1a9PXXX9t4zsVd3x49eoSFhUGZFCchWDMuv6NNUtMDBw4ALWfPng0Pw+czt3CVzZcSSFizAZ+WC0wBm8M3C71792Z/Bx7yT/nmm2/Y34GiFbk1aMsXX3yRM4ZgkJ97e1Tc/pTrLBtMnjyZ68cqPsoHDiHrgopEIr43CEe2bNmyxFwBkyZNYn9fsGBBHSEhVgeDE/h/uUgUbp1aFo4n8HvSmJUCkFVz586Fv+w/wdY939fnv1eZy1Q4UhrcHEhwubnXLF7gxTMAcAE9IGXLPL52o06ErREEwfXKsIFdbK2C5hmaYTB6EonkrbfeKjH+y/46YRcvXly1ahVszJ8/nzO2NgBjO3369D179tSvX59LaF+dYTQauXGaMvHOO++AnQSLN2XKlOJTmeE6bMmDIsjLy0P+TXbq7e29cOHCTZs2QZlMnTqVz0Cu5LkBHiFsrZaAG4vr378/1/3IqizwW6Da8Q8Gq8gtYPbDDz/YGfbgHJiXXnrJjmaDhj8pKcmR4O/nC+DJG2+80aFDB2iYnmL+ZPESgF9Az7NFBFe22QvG0KYrGEqJm7Nf5kis4BNWI0DlBnMEtigqKqq0Y86fP8+KJWibuQVMbCoN98/169dzZtDO9CUgIRfsMnjw4CqdPM5dPCsrq7Ki0oqDC0iAF+ePzTydu8iCm4fp5uYWHR1t/+APP/yQPbhp06altVlA3V9//XXevHl//PFHVcy0Fkj4NPjyyy/ZL9e6devSIoDB1nGjBQEBAdeuXSvtamfPnuVmo44YMcJ+GPSxY8dAhXbr1u3o0aPP4E2hdfDz8wsJCTlz5kxVXJ8jjKurq52xQWjsgK6RkZGOXDMjI4Nbei0iIiItLa20I7du3cqlqFuyZEmJx8BTwUdhj8EwrMyhWoGEzwicUwHksfONT506xXmG0NDu3bvXphWHZnXLli3cshCenp6OZMg0WOHgo4LQBTsMQkutVpf3NaF94XLSvPLKK1WkKUBQDBo0CNhYWszAkSNH2KE88AAdzCAKvh/XtdOpU6fi7C0qKgItw/XxhIaGAnWL9zP/9NNP/IlmFY9oFUhYaTh58mTLli09PDzefvtt+4Zr7dq1/C6HYcOGrVu3Dj7kjh07Vq9ezTl4bKdfVYybL126lBt+LG3WUml4+PAhKDr29Hbt2lV6ln5H5HRmZiZ/ljMIQgcvvnDhQu4smUw2fvz4DRs2/Pnnn9u3b1++fDk/5yqY+uIsTU5O5qIOOYDvmpqaKpCwugAaznv37vE9BLBOt2/fLj4zCNr4MvOdQEsP0ugpHuPu3btgYO1MaeeWByUIorxJH8B4tmnThrP5/PrH8afMJUQrCH6YNZTSgwcPHDwRPs2iRYvK7CYMDAwsrjChleSvScp189hRPQIJnz/0ev2kSZPA6AUHB3Nz+biaevjwYfDiShvWA3vIn8TkOLhZGuCaljYtcM6cOdy9QEWX6/pg5LnoEy8vL5vgG41GA9a1WbNmb775ps0cBQfNYJmWENoXflbyb775prw29rfffittyUQwj6NGjSreGwTGlpvMwU3p2Lx5c22qrrWEhDYV6ObNm1x14SI2+cdANT148CBoJDBN4eHhERERAwYMWLx48bFjx2wcPKj6oEuXLVtWZhAzf02V0jpOoqOjucE0b2/vEqPY4I6gx06fPm0jreH5ueAbaCzOnz/P37tr1y7u7vAWxf3JQ4cO3bp1q8SnAps8dOjQgQMH2gnXBPMOZoqfJ+7p5trn5uaCZXvrrbd69+4dYcWQIUO++uqrCxculNgKvPTSS3wGjh49uvYlaK2dlhBcFy4Cu0zfHeq6nZ5ucBq5CfX21w+LiYlhO3VatWrFj4e0IRLXuYeUsroLWBgMw1AUXbBggU29nDhxIneuDWH4kxJtponk5+ez7q6rq2txfoJq4MIMYKNEpxrKhwtPY/OIOriUWpklX+aUES63CLRZ//vf/6p0iolAwkrGlStXwAbu2LHDZiC+vADfg58Hxc7YBmOdMPXnn3/at5knTpzgOuJBVdocDNWd8xthL7vyUYlqFm7E38Xvt7CZMbRnzx470xqhkeJ3XZZYXKAJuTB0R+aCVWK3EAj7tWvXfvvtt3ZyzAkkrOXYv38/vyOnRYsWd+7cqeA1R44cyV0QlBh/F0VRfFNp0/34+eefc7s2bNjA38XNwQVG2fRtzJ07tzRHDsxgnz59uL3sKrzF8corr3DHwOOxwqFE2oClhWZr6dKlTzEjBKwcaObly5eDGq9TafMFEpaN33//nb/O2fDhw8s7umADME2cYQGVa5Pz9+uvv+buBWKMv2vFihXcLtjmV1/OfsrlchDG3C5wcbleKIlEAq4m/4LwT+7VGjduXHx0jgWX0L5JkyaccS7Ok7y8PDjAPp/tawR2DnS9evUcnClWOyCsT1g22KXOwJ6wMy3AxYL6x5dn5cWAAQO6dOkSFRUF248ePUpLS6tfvz63Nzw8HC4Ot4BtdnVb/hgat52ens5tAwm5ZKTANC6rN2JdKOrWrVtcRBHXv8pi69atbEpV1sTx8wbwsXDhQoIg1Go12wFb2tQKkLLcY5R3nWNAfHw8m6wVJCg0TFwaDiGAW8D/dz+GhoaGhYVVSoTapk2b2PIfMmSITfSMUqlk874BFW364k+ePMn2+oK5A+XGt4TDhg1jL/jyyy+z89xZXL9+nR3iB84UX3NmzZo1XLdHRXJYcADnDR6+b9++7BBiuVQlkJAdwHjhhRfszySuZajr6xNC9QV9BaajNCPAh0qlgqrsyNqDZQKM6pYtW6Dhf/XVV4vf+ty5cxcuXGjZsiV4j3yDA0978ODB+/fvR0RE8H05QHJy8j///AMUBefQJpU1d7VRo0bZ3AhIAtoYSqBnz56lTcUqL0CUOjs7Oz4Zig/wJMH4BwUF8Y15rUedJiHU6QULFoDL5+PjA6apsmqhAAHlQk2aWX/jxo0NGzawrlSlIDMzE8wRyD9QYmBGhNpQ0wH+LXxH0PCpqak16LFrTMdMQkICaDPQKu7u7idOnOjQoUPFrwmqydfXF0QmYk25LVTiZwBwrYEnID1Ag1R6mf/2229vvfUWaOyBAwf+/fffNWVufo0hYVJSEttVCIYLnP5KISHw+ZdffoGvBVRkI0IYBxamLw69Xn/69GnwZ57i3BramYfjeFhYWNu2bcvV+fnFF19waUjBaeTyUFaiVmJ7la9fv15UVFRjEmTUlB6k7Ozszp07Qy0Hr90mjuT5oqCggOuZrFPw8PCAJszBUtq9e7e/vz//9OK5JMsL0Jw2A5t79uxxcXGBBmLKlCk1aNJ9zSAh29MNJX78+PHqtvblr7/+Wme1JTSIjixmdvfuXW4mJAsgpE0AerkiTsEfGTNmTL169fz8/H7++Wf+3piYmFOnTj3FnGmBhJUAaPn279//448/XrlypbKumZiYeObMGftjVlzO/DoI0POOLBTDLTPM4sUXX3R8IiIfRqMRfIc+ffrwxz+6dOlS0zPN1B4Sbtiwgf0qCoViwoQJYDMruEomkJntOQgNDbUzhZy/jEkdVKSOkBAkTLdu3ZycnMByrlmzho0RL9c4Ptjb9evX2wyNspg0aVJNDzStPSR88803+d9GJBL179//6NGjT50Ggk0oygLcjFmzZpUovQQSOlKYhYWFd+7ceYqo7szMzNWrV0M7WPzuPj4+M2fOLHPBVoGEzw6HDh0qvug5hmHdu3ffvHnzU6zDDK6FTdhHeHi4TQB0NSQhWtJ/z52ENu69I0hISPjss8+4eaF8BAQEfPDBBw4mZRRI+Exx7969GTNmFKciYp0KCA2qzXyFMrFjxw6bsSy5XA4Wkr9q13MhYWhAs5e7vtDPO7iXKLC3pHFvaWP420fauK+08XRJo/kS33ckvm+LG74t8n1X1HCqk68HSlQTEjqIy5cv86PVObRo0aLMNWpqHGrJWhRs8F1ISMjPP/984sSJhQsX8te+RqyTFd5+++2+fft+88037Oi8I3jttdeOHTvGn+Cn1WoXLFgwfvx4UEHP5U1xDHPCxb4y12DXeq2kLm1wWRvcyfIf4RSMKpoz8raUrBMp60hKuzDS7pi4JyYJxyX+hNidEHsREiesZowMHzhwgD9NBLHmLN24ceO5c+c+/PDDEtvZmgucS8JXo8EfJa9fv/4LL7wwevRohULx2ApuV15eHohMg8EwaNAgB68M33vUqFGgS2NiYoxGI/vjgwcP4OLsik5nz56NjIx8Zm9aX+LSxalxCxXlm571ghs5oD7S0Q3p7IF08cCczSSqNokRmkQYPU03dEHDm0j9PZCGLhJpEd4ace1KuJkJNJnUVdbDyGQykB5sGtKKgE0zxZ8dlpaWxgYSgjcO5QxN51dffQXugP2lQWooau18woYNG4JHMWfOnD179mzatOn69evcrmvXrpXLxorF4sWLF3fr1g38EO7cZ28JoaHxwuVNEVkzAxWEmlqKyaYY4Y0jJGZ1/FDUIKHEzjRiqcoMRSP1FJSryIzQlJhiOsoYI4VgKFNkFuXgzhmMXgVUrQYAZQGaf9++fSRJzp49m8tkNWbMGOBkcnJy69atocV8ujkZAgmrBcCOzZw5c+LEiSBv1q5dC9ZMKpWCyOQfo9FowDZ6eXnZt7F9+vQ5fPjwF198cfDgQTc3N24ZvWf3qVCsvcyvpYlqYHzcwkfaPcCNIU1g9Mw0A88Ietzfk/D3wiz8o2l4boamjQaTtauGattQbGlPaNqQKXExuP6Fpd+hNc/30+Tk5EBJgsK8cuUKp1MGDBjA8g0+Ez+rVe1GnZhZDxoGiDd06FCQkaCgWrVqxe26ePHi+++/X1hYCC7H2LFj+Um4S6T0Dz/8AD4JXMQmBKSqESByb4BKgoyGQJTq4CtvIGMo0nj/sc5IMa08nUQoDRyzEBFFsUb+GGg2hmZ43aIoRdKuXkxgcIv4dI+0x8o7Gk8leZUx6pDnMJEtMzNz27ZtW7ZsuX//vo0orZsT6+pQegtnZ2eb5A6An3/++dKlS6ybt3XrVpBDYDmBinayV3CLVTwjFYogIhRtjrm0ZORNzY8bOVEd6tdDKZOOxuLyjRqSbOatQHDMbKUcg2KKRo0k3t4MRTEoglqrNGyQJI01ainpPsTv9tWGD2JyUuN8CtVpOJVKkeZnWO8TEhJ+++03KOfiU42Cg4M//vhjfi4fgYR1BXwVCm7J33//DZpzw4YNz15tlsp5qUtLzLOFmW5EK7sHODd0YnCaephveJCva+wp8/T0krdpi/kG4M1bW2hIo1jKbVqdj2I4awdRmjJJ5WiHnpiLF6VRo/UbYQrnzhp9aEpKaErSwULVhtS0Z/AW4JPv3Llz+/btGRkZNrvatm07Y8aM0aNH17I+zxpPQp1O99VXX0VFRfXt2xfkYtU1kPPnzwdXBDxGLjGR0Wg8c+ZM9SGhHJU0Yly8mEIX2iDFpKA38w1Utg7N0DGtmjjX9/NBmgTRAS0kIR0spo+iKb2ShIMw/IkdZWhKKpf4+NNSOW02IwoXVC73bNHCWy5paFAbEeZanlOSyaQkq6SfBuTltWvXfvnllx07dnA5oDhnu1u3bhMmTBgzZkzVafv09PRPP/2UXU9mypQp1XOuWTUl4ZEjR9jMf2fPnu3Zsye3Fmelw8/PD9RRTEwM/N21a1dWVhb82KNHD5ueG4IgnpdSIhnaYBGXDIUSF1M1mFV1mkiaQDCn5sFOYcFUl/6ozBmhSNTiU9F4SGeE7vhvZbP02IhRjMFFKEk+mSuJ4mjb7mjjYAlCvxAf344kP8jK2assrPQnB02xadOmU6dO2dAPpH7//v3feOONYcOGsTldn24apyMA28suTwCmuHfv3lxGRoGEDjhCjn0Sdr3limdeam/FnDlzwPaCKBowYADXkK9du/ann34Si8UjRowYN24cl/DvGUCE4V6IrLlI0k6GyNQMY2BM1JOncpHiLnLMSUowIgkqkSNmE52Thrh6oE4ujMjSWDBWZ/L/vT3G0nMDpUoXFqAaFUMQqF4NLYsT/B+KVG7rotVqT5w48ccff7ArQPJ3yWQyKNs333xz0KBB/E9cEQbm5+c/evQoOjoaTG5ubm7Xrl1BOnHTeWvENOtqSkL4SOCmnz9//oUXXggPDy/xmN27d3/33XegHkNDQ6FlBfPFX7HkKdDMCo5+8P1Ao/7www9xcXGIddb2+vXrofGeN29eWFjYMygEF1wSgTfqJcWn+EsvpRbd1ZtwyyAgSiNoYw9pmJ9CLgLjR+MinHmcjlw5ybTtjrfwQnjCklcBcUt9xDAyNY54EI0RInhF+EsCtc1mqpK0KLSJ4FRDm3Xx4kWbfk5nZ2dowsaOHQufie30qhTr99tvv3377beJiYl6vZ795dixYx07dhwyZAj7T7hjbGxsfHz85MmTGzduLJCwHACVwi2CXdr3XrJkyYMHD2AbxCSbMQ2oC55kiTGHT2eKRSIRPxwkOzsb9NVeK6pOIftL3JuIPUCFShBcZMIwqKykuamL1EPkgeO40kDezlVZBiAokJcYYTRQNy+SqSnmG7dwEsOL8hGKLu6aIZaRRMs4hqggR0QQVi5bzCPh4S5pE/aGIqldgXJjbl6CTv/Uj61SqcDBO3jwoM3vvr6+Q4cOnTp1qk3XdMUZCCZ35cqVNuMcAIqi+O4GfLKqk7t1uncUWlM2ZToHkCLg1zVt2rQSZ9kqFIrVq1d/8sknJ0+e5H4sKCio9HAZqCJSXEQwCIYwfrSkuVlOAc9QRM8wJIIaKNRTKvFxkiIYnqkxPnxcAG4dhRMMhuEmIxJ3l0xNMyelYAo5QVAIrwpyVp2hadQyhoihOA7UfUJUHBU7O4s93Puo1aEm8/6CwoQKvAJIEhAL/F8aNGgwY8aMiRMn2sTxViJs6kC9evXA9PXt2/fpvBuBhOWDVCoFHfLpp5/evXuX7/dz4Z2INSUUHPPw4cPhw4dDI/10ieu7dOly9OhRto/hzJkzarUavJoSZ5dWBM6EpLOTf4AZacpQMhqVMkaMQbQodgvFcrVUZLwu2Jvwc5ddSlThOD24mYdz0wD3oBaYWEJqtbqYm5hBLxKLUEKEgZVD//uaOEEbDOpr10XOzvK2FhVN04zu1i3abFa0b4eKMZCvlJkyUZSZoSvyCuBLg1O9dOlS1kGAAn/55ZdLnIjkiJsHGufq1augcUDyQIFPmzaNvz4pC7lcDhVgw4YN8GXBpQcV2rZtW5tMNjUCNXicENxF8MITEhLAAzl+/Dh4buDRvf7669wB27ZtY7tYIyMje/bs+dQeI4jAF198EbxBqBY5OTm9e/eulCTcHNxEskYiZ38zEUSRrcWInmT0JIWDfGQIDMXMNFpkRpQGVGZA4a+LFHGXoWKZGHd2AaNHUlRuvtaJJuUEipY06m5WF5mLtI9ziqS0WI7iZq2G0urzH6tBs8kZa1CNdUIbwTBNcWmqmM416Z9u8B6szaJFi4AJycnJL730EngH5TrdZDLdvn378uXL58+fv3XrVmpqKufm7d+/v0OHDvx17TmMGDEC7sVmf6u5NblmD9aD6xhmxcyZM8FDYEPsOQeAXb8FseaEZVcaYfHo0aN169Y9fvy4efPm8HVbt27tSPMJ1yyti6iCCBHVa8nIQ0gyxBnpFKiIzTbE5YB7x4bAWKKuRQSWXGBOUYK5wsQYStEgVRlLgCjCaGk0MkMfIEa6+YoREYYQIgS3BI4+0aEUYo6LV6fnRiWpPAi3RlIp+SjWGJd4LVFnkska4iKouwxJgkp1wYjBlAshlm8zpVawZSzvKfC9oLmELwJqli9k+D4et2pNiY4JUsNReyJmuEkunAMwadIksF137twZP348v2fs888//+OPP7hP2LBhQ7CoIFyfff5fL7G8Hq5oQRHNGXOoK9PQiSYQkrCYJjQbJVQoTsO7WEQiSqMYcCsLw2iUboOS/44CgvHDSIbIN9IPVEjDLKUYT0rR0lozAix1EyMNZHhGljonn9IzIkRrIOMT8zIKsvNpHWmJczMlp+DuziJvrzQ9UqAkG0vRbhSeL/G4T+lTSP0zK4SUlJT33nsPXPqShbqzM2jREs1grUFtDlsDdu3Zswe8OBv1yF+1i6bp9PR0dsWlZ583rSEqb4t6hzLGIJG5tZ+rCLEMqNMYasbxRyhTgAB1MNRqEeH/UQiSxCBGYCHbyli4CsSkcRH9WEdlZZo7UBlMYd6lJF0OsBChglxwRSOXu6lFqeBcinBUV6S5dSs+R3+rAMEx3I0ya+48YAIbutavF1dgTsxSjQjx8TEjYg1zGEezaCNpM8ZXMRQUFNy8eTMqKioxMZGdIREREcG58Zxm4frDgoODQaS0adOme/fu/IB7gYQ1DyUuorRw4ULwW8CH5GtUs9n87B/PC6HbUXS4j9jXS+HVpWNWRu7tMzdSSMl9THQRyVaZzRFif4JdMMSiMZ8AYeUmihTcvGEwaEa+2efY/ZQ1hyKP5ItkGrzQQHm6K76eOMSToHGK7EhjbRBwMBkZTiucRHdP39qZH4ubKU8SIzNcQ53NnTECt/SaisUd2gXQJhlzW1FIuGmdjplz00ljRd4ONCS4duDjHTlyBPw92ObU5vXr18+cOcOGyzRp0mTOnDk7duwgCKJ9+/bge4NjGRAQAFRE6gbqYgB3jx49WO8/Ojo6JiYmKSkJPnlps9egJrFzgr29vcEnbNeuXaWEPkkwzBvBm2FoY8zo7aZQeDhhBKZmREkGURyGPiBMqaReTxtzEK0rLi6kMUJCMiKK0mMMFwbDILhGzegKs1BjrrvM1KRpdmEBqVEhGMMQZDphJp1E7lK5GEUl1lF7tYm8bqQSUbIAMyv8fPWoNDtF28j0xKjCHxJHRSLCw0fR0qwp0lOX0KfxtaAtA1sHZXvp0qUrV67cu3fPJmaNEyPkvxECIpFo2bJloEjBQa34JH2BhDUG8LF7W4FYV5Kws2jB4cOH+Wu++/j4ABXXrFkDvK3IA/iKnN7AfcJdiJYeuHubYJGrS9H16Nx8811MfJ1+fEuXxw72ReqTc519tDpXHy+DsydjSgKnEOfCQkViUW4+Oe/H3Y269P1g8cqb29Ymnj6qkEtNBvPba/cMaNvso+E9SJMJVKWTWHztUfJH2483xtEImaLThNnuco+8L1agQGUCt4xqUJTxcrS+kY9Tt4im92LxuKR16UCpcrwRRVEbN27csmULSIz8/Hw7R9avX//999+3USilTaoWSFgnYH/ZEJv6lJube+DAgbFjx1aQhCIE9SBRV7ncuZE7oXACU5eTb8xTMQYUlxNO/pgbZtWcJpJs5OIc3KS+d1Opq688OzeJ0ej/3xgiDMUgSp3RV0T4+Hm27tPL18c16fKlgpwcucEkNlFW7Wq1cmazl2+jgRMnGq5fQ5KSveq7ebp4FuAYo9WRqWmMXo8ieHa+gXY1NhGJJJ5uXvr6w/TaehrNRbVGXWz0v0Tk5eV99dVXNtmZbNw8aL/A0+vZs2f1DKQWSFhNMXTo0L59+4J85ZxGDMP4S8w/rbeKUDSF1avv0r41TZk1Kt3NTFOKAUEJSSPE1RdxYY/R0YZw74YTh7d2bR3kEtQk5vQqc6EKw0SoRSsCw0B6IhTCyOW4X6CiU5eZCme3bwYOKEhNDRURfhhjGUekaWChxqBr3aFH3zGzf3/v/SPff+cf4OLt6R4nxtB8pTE6BlGaGIyIfkwGuJNADqJhfR9v70UmY5JKNTI+2UESQlvm5+fHJyHoTH9//9atW0MZAv2AeKwT+KT9qN6hZAIJq1cX6/79+6Oioi5evHjjxg0wjGAGKy9w1Jr7FbWGlKGWLlBQdeLgnkhQD9poYsRYg2ZuhTl3//j7UDdVUbCmwNWj0KxCotKRFl6ilhhD0pSXk+i9gRENurZt0CAwa88xVeSVlqlqLxffS4UZqLuLc+tg0qC3zDPEUPXjwuuzPnS/fruPm5/L3RuIQo6ZzQwOeyxxpDSKphBiRK1V3bgtrecl9vREoY2gyzFuD/Ly+++///zzz2NjY9u0acMOr7dt27a0UXuBgdWUhGBttm7d+s8//4CPDh8P/ARoR6HGP+OMEjaQy+X9rWA9n8oKzmCnGVgm/FEUAxYLRU1g+hiz3MdP2qoXQlOIi9inawPVWezirs0NA+T1XDCZk45WMHFZqJcBngGjaMZZjI/u1Bxr3kChkOlu3y748y8/Z3c3J+9rlJpoUE8W0MhsHebGZRJ1zoOcnXs8cVk9qadzRrJZSlhyIxIoywawSnkE7qLVm+OTJGIR4u1tZjCjhb7loEqXLl0OHjxYUFBQfRy8+/fvQ+t57949jUaTlpbm7u4+ffr0fv36CSQsFWBwZsyYYTNA1b59e7BFvr6+JZ5y9+5dpVIJ7S5f6lQdKjE8ysJBsEM4obt3OzdLedeI3MLIS+bMoOt/Nk26PmPNZ0ERrRkpgjTvQ406enb9rz9s2ufua5JjqAhFRDiKEDiBoxTKkAiNKzPIO4eaDPRr1OGt+G8PMErdor1/OgV60l7OKG1xIcHieQ5r3q3LwLQfd+TtPChp20aqcEKIqwhtQhkEt/5nHfZAMRGBEjiFEVezjPfz9TqyfIOFoNWrmoFchlJO0JpMpp07d96+fRu8zWHDhnE29tSpU+PGjbMJA7h16xY4F9WqH6h6kbCwsLD4EHFMTExcXFyJJNy7d+/UqVOLiopef/319evXczH10OwBb1UqFXyS57gONtQGJ1QkAc/tiRuI6BDSYE34aYnzRFHaZCLVRbp8Vb6yKFVGpdKmAoMhT5fhgeppVaJU6WbJaYjhTnIXrRbNzNTJ3HAxZZkMkWcwZ+RpNHqUNBJIvlHirkUf50rdnZwaeBGtAkWFhsadwxBnMWM04WzwG4OK5ajET5bTrhl6NxD39gC6oNZwHBphlASTLWZwhpFbH5oxGSnQpTpKaUDp6qQZQYasW7fu77//btq0KeheTh+dOHGCTUfy888/nzt3jls/+MKFC8UDcaCO2QmCE0hoGcEDOh07diwnJ4djY1hYWGlzYfbt28eGvxw5ciQvLw/8N/b3VatWsZnFjx49umvXrjJTxxqNxps3b7q5ubVo0aISXweqeXsnv4akVGNQW+Un+ghTxyOWBwahh2OYOSNddaUgNr7osoGMJLMzKUvfTxKpytHojDPe9UVd2ByAQBazzgDCNfm+ydIhgxhvX7m/I/ohRpuBI4Yb54N7tu/lHhTUuYlvaIvW37emzCSNU6jeAOQDCYugOGPQ0iSFkeom44f6v/wCoUpXP0phLIYLIQjsGKU8aNZMxBuGIJgIxai0dHPGY7FeLwGrSFYJl65duwauY1ZWFqgYUIkRERETJkwoM9PMw4cPP/zwQ61We+bMmeDg4Pnz57O/Z2ZmshtqtZqfcL1r165wTS5ACtpoaJGnTZv2fL2b6k5CDw+PX3/9FcoUpDy4Funp6SKRaPjw4aVZszZt2rAbLVu2dHV15X7nJrbduXMHvpl9EgLb33333Z9++snT0/P333/nZ8hPSkoCGkOL4OfnJ5VK69WrB/4h/HVwghyGoFIadVU4dxo1UKyQgAnziIlmYq6mMlqLbQIxCp6g2WxJWkHi3rSUQMEdw2mGhv9CIjo19QukaHY8ggbrh+GW+b1Wk/pkJR+rw4bSNCVGmQeR95VpGq+Y5FZ92ro3cGdM1r5cBos/fl6TpwwZ1FOkkCGWq+lQWh17M6bgbiJC0Soaf1hIpxvN2aTpGq7xFUm7YU5KNZlq0l9EdPcxRlOe2DXgAHw4KE9oEKHq6/V6+JRQVi+99BL/66xYseLTTz/lhyht374djl+8eHGZyoIL1+b36/Tp0wdo/ODBg169erVr1477Hdz4kydPgp0EKoL+BDEFjSzUsWrXN1ujl7MBgv31118gRG1WsQcuQVnLZLIPPviAJMkyl7DkAjVmz57N/Q6NdLdu3f7TYhEEtKaNGzcGbjuyKpMIw7siPjMCu2uVWvbg3z5a0RNxdUbFjUXSVYjvJZ+m2i7tTns1X0METUCajECaDkf8X0T8hiCNbkdGl2MVty27+yHuAxDPfojH3bMnGUbP6FIYfQqlTVs/eNAiT29V7DWGymFMmeaUy5pLO78b3emDJq4/ivw3IIHr8cBw/EmA2HgfL33n9td8mn2DNWqOSxxpNLlVmUDjTZkyRWqFzWH8UoXDwIEvfilQQGW+JnzKtWvXDhgwYNasWUBv/i74WMB/qA81sRrX+KlMo0ePLv47aJtOnTrBJwFTWWZXCjCwVatW4Kwj1kV5ud/BnQB3lH8kG2kF5hG0qyNRxeBwtR0c0TmkzYPLF7z8/QJCQrqOGlSvUcPVXy6ni9SBk0fExSVcvPWwUEPrpLLOg7sp/H0DWrSwRGyLMb/mgY6XQ2j3jh9uXAvSksHoK4fOXzlxbsL7U8XOYozBunQPC/IRyTycGYOOzEmLv3wtOeaWzIR7NvTPdJW55JncczQY9cQm5BuRqHSDRouKCBFdTncQaHD8+PES3a1Lly5xvcogbaCQ+UuDwO+gdF555RVHesVmW1F8l5sVwhBF9YLj3h0YzF9++QVkp7e3N7cgCSAwMBAYDka1+IgFqF+H+vHAVjRt5Bnkl3D9pkGtDQgODuoQBv9d3n+8KOexd9/wTFx8IzZXLMdd6ru1GtK9QavmLTt2hrO0NOVk0apMvkYtJghXmUxjMOhMZg+FHMRpgUajkEgUVoNDUnSh2iiu59tlylgUQxgTcrjX6IyE+yNmjJWQRrNGX8/b3Z1qpMlXIlkGJjUu9eqth5djJK7OmKtHuhx1phgyjzL+Ox6YT9LnlAYZxWhESHmDt0FwgvdePLcv+ALjxo3jmkLQk9988014eHhKSkpAQAA0oyD1g4KCKhiBVKOB1s3s/w4CvJpTp04lJCSAWwhteVpamslkgio1atQo7pilS5d+9tlnpQo2V9d6MpdQs0vvlwa9tflbVv9rcpXq/LwrJ442CmrRvE17cKJQDJU4y3AxIZLKtp49vet85Mop0zxdXGes+V/nFi0+Gj1m3dFDh65cWT/3nSKtdv6GdRP6vTCpt2WwKy1Hv3LDI72JsCb7xQiaLPp9sVgXP2HNe8q795N3HZabSZSmzJbuGQSjSJKijBia28AzE0VO3bxn1hlkZroAoXTW3BZg+zytf+EfRQ6EjoIcvXbtGjdXE5yClStXQllBc+bj4wPqvWHDhmD3bPK4CqgrlrBSAEZy2LBhFblCgUqlV2mdMFP9uPjoQycbhTSv39jfuZ6HxEXm0yTQq7G/i69t7nfgXjM/P5lYLCLwID+/Bp6WES1vN/egRn7wk0wibtHI38PlST8HSWOFGpneJMYwmkFxjKFpv3BM7x4fk+jyKKlxQaEIJyz9NwYlwiZdwzGTRGLUmXNpWqXR6Ukz5+52jejlJHcu0hos6Ulp6u7taHORslwvCwZtw4YNQrURLOGzhn1LyA1W+KOKppRo1jefv7LorTK6yp6k7mVQB1abT84yfLQqXm8UYSh7FkoQIrEmo3DHO4MlygmNFIh1xRezyYhahvdFOIaRGH5KZ75mMq1OS+Lmz4tEktMnLgUEtLx0+ZZYIqFo05Ilb92/f71cllCAYAmrKSS4CBjYpkXowCHDA9t31upokn4SnmIdRn+y1rd1iUHEGidm/R+OaZWFl7bvIrXGf+fyWpJWWMwUQzfv0TkoIpwykxiD9OvibiZx62mWC+ASMZWnObaDQUkEA6FrNOid5OjgEXk0lZacJsrKIbKztCTt6uQ8buybelyEWBckExFiVRGpLFSGhvnl5eky0jUURQrfTiBhbYAIwTxxaTDu3TGk/egl7xn0SH6eAWUojJelnrakikEpnuWDf0vForyknD++/sGoVFtXd7Gk77X8oRgDoh49/wO/9uFqlSWA68VeDVD031FDBpWIUVWK8rQzQ1vSJqImQqT09JSOfjXFaIo6e17E3JJk5mIE5uTpM3LkFETujDwZCaRVRSqXwvwevcNiY7PSUtOlEhmYR5I0CVpJIOHzhMlkOn/+fGxsbHp6OkmS2dnZGo2mRYsWixcvdmTxdALDwkQ+LfyazFv1rUfjJiYTkpMUW5Dw4OLO40WZ+ThBgPEjaTri1X7uQU3SCwkTg1vyqIFuZOjE/X8TJt3CbZtlCifJv1GxYidpwtW7302ZI3OSiaSI2CRGrblnnlDXak43v/9p6t17L741qWnsHe3Vc84LFrhHdNt/JjK3SENpNZ1fHd126WK4b6FKfzDyoV9gQLdunSQyWipDKIoBnxOu4x/g6ebWnmE+iYuLW7vuq4KCxw4W119//fXnn3+KxWJfX192HpOrq2tAQIC7u7uzs7Obmxv8WDdXIKxzJCweDGHzi1KpZOM58vLyAqwo8Syj0Thr1qzffvutuCno3r370KFDHXG53RCJFyJ1cpbTNJkTn1iUkawryIi9EZ2TmilCxZYBaITybe5hokz5RCNMJnOWixkUAxmZeeseYdY3aBXq6iNX/FtviwqUYicJuJiax/k5sSl6LYk8EbPssvXgGJrykhP02emBUsRLglA0LWreUtQqjIm66iSl5DKnhi2bN2xtSQHsVKSXXUsVEajJZHRzd3J1lXJ2WCYVSy1ECtBqacKyaoVDgFIF97h4UnqxFS5WsPFGwEMo81atWr388sv8SBoWBoOhrhG11lpCNnts8+bNOYcKcObMme+++y45ORlqDFg5lUrVsGHDZcuWjRkzpngQExy2ffv2EsWYTqdztHxFYn2Oct3EWQiKGc2mzi/1CO7b4Y6o6BGai1tHFcAlFO0/GXA1KeiNGQEtvQf1a2XJNWEwx23yykvPMRqMRr1MIbGoV4ak/jdpfty5a06oNHLr7gu79jMMKFnUOgRn9RjBu8PoF6aNChrUqcHOP9y1agOOUyYT1OhxE8chllYG4+q3k0Q8evTQR7FJ27b+NXho35Ytm7q4/buoodX5TElMSoyLdTz/FSgFLl2vjZoAgILgIjw53L17d9WqVVzJnz59+ocffsjJyYGPAjazQYMGYD/r168PdpUNOgMygzmF9y0zGFggYZUD7BgYscDAwOKp0a39HeiOHTvmz5+v1WrnzJnz5ZdfsgGHUA/efffdW7du2TBtz549QMLi14E2u127dpcvX7Zp1wcOHFh8tYMSAVU5C9EaKTOZB4qOMZtJ8r5zqkiXXaTUW0zgk56PBG0epXVrbJ3rwDCWzhRLLkPG4gTKpaiFNeycCwTVZipRCgnu0Vbq6ir3cLOsMWE05adn0Na1JTCZKyGTg0nS5qc56XRiM2m0LCdjiTeVyWQkadaq1XFx8Tk5uR06tnNzdXP1kChcpQqFS052vtlM+dQDWyVzc3PR6HRKZZFBby6XNwg8mTdvHhjDoqIiB0+8evWqZVUp6zg+fKyPP/7YprT/37UWiZycnOAtPD09gYF+fn7wIUDuKhQKNqwXFC+wNCQkpCbyszqSENrClJQUtVodHx8PZT1o0CB+2Pvt27ffeOMNcNKGDRsGDWeJ0wjBM2HXbIGN9957j43Zhaa6xMxfpUWHQ6O7bdu2Q4cOZWRkNG3aFG4E9QzkE+goaKEdIyF9T5vFt7DXok7RUadsDoullBomrw8OXMNVRQwqwsQMbgTGUkZXF5FUhnEupok2yxu4dx3Tr3GnDkGdOlrEm6ro0r79ZoMelKeTb6jcw//WF+8m3bzc3scdxQlLxPa/3T86rTYzPe3YgWOR5y9/veJzqLVOCtzDUx4QGJCUmH79+u1mLVo0alS/XVu3lCRlfEKGyUyLxSLHo5zhyHfeeQeaJyj5x48fg1hISkoCG/jw4UPYhm8KugOkJmybLa0RCdKUH0lDURS0kqVdHE5RWcF+VptwQsQaiAOE7N+//88//wxE5X4HeQwGFl4WqhB8PvjW1TChW/UiYUFBwQcffHD06FH4ilxS0LZt2wITuGlKf//9Nxt5CFpx7ty53EQKPuDH/fv3wwY0jVwPCpBq0aJFP/30E1wcrBw0mfC1wNbNnDmztOcB7kHrXpE3oh2zCYWqgiOHt2akdxLLRIUPH6ge3moU3DC0VwghfVJHL+07dvfs5cA2TTz8GzbrFuFa/0nOCCOFxOVhcol7g4beiNjFbDSjNGNikCtaYyOG9iFQ5N8HKCxUx8Q8IGm8adMgqfRJbisXF6dmTX01alWhUqnKL6DNJp26SKXS5OUVnLtwOCs7WafTlOt9W1tR/Hdo/oCBQDPYgOYVuASeAv/bgRV+++2316xZA6oVqkF5Mw/D8XBlEDXwNblU/KdOnQKNw6XqgmYUqAgHgEqqVsnzqxcJL168+Msvv9j8ePPmzbi4OI6E3PKD0LCVFrP7/vvvN2nSBBrO4cOH8/XJjBkzXnvtNfgdDBrYWNhVTeazaLWqyDP7CvLzfP1D0w4dTTt9aOT7s5t176Q1gqWgCQK7cezC/vUbX1/6Tmi/bk3atGZ7ksCiqIqMWUrGx9u5mWcgCT4hRaFOcqPc+S6OkzjjLBc7EdxEZ+2juBRQdP6BgVyZgMQLDJTFxSfSCJ2Tk5GZST64z+AETpKG8xeOPc7LqKwXZDtm7K8SM23atNGjR4PNBB6C6UtLSwMnEzSR0WgEDx+4BB8OGlDYBTSmrLC5AigUvhm8cOECP1keGOGEhITvv/9+7NixpSVqEEhoSYyHorZBPGAJ+YtUA4vg2wAtQY6WFvULH4Nbnsmm25OtDdXTN3j06MbKFXOba/EmYpfLWf5Xr/mi1xMlPnKv1g3SM0kxQrTu06dphzBO/h34JyouNgdcS0u0p2WZGEtqta4fLJZJGLmLWIIy8B/u8yQxXNNmjee+PQ21WgAXF8WTqByGoSwJLFCSNB04tA1MnyXjhrW7SKUqqNw+akfAToYoMfjeEnOr0bDd2kAt8CGBkGBdExMTQTQBV8EzHDFiBN+6duvWDTwRsKs2dcxmVUOBhLZd/+vXr//nn3/AEYdWE+Q7fI+BAwfy2y2Ql3PmzHH8mpVo60DzAPnBilZCysMSH9VoxHNyGbeWxvrtKMKXMbtQOCnJU5svp8lcZEG9I9z9GkhkTlZtqS0s0DzO1ao1Jme5k1QitixvRuA4gUrqezu5SD29eBO4rHwD6yfxLqHTgk32xjC0sjAnvyC3Is8PJuvu3bvQMoJIqXSJARd0tsLxU0CXgiKNjIyMj48H0oI5BYZPnTrV29tbIGGpAO69aUWlN7EVAeiiGzduXL58GXzR6OhoELrge1TF1BtfqVt7xsup41gs4nWQmogT3qCTryHqSPyHc+esXjp06/+vV3PzetyJozdAUCvk0sbN/Z3lEtBmHp7u7h5yiyY1GmnKiRtvKCsE1TrL3zJbr0KVgSTJxYsX//jjj4GBgR07duzcuTM0qew89+c4jb2tFdWhFtWw3tFnZtns9ZQUFoLRA+IdPXoUnFL+GBdQMSoqqipICKyRMQSW9pDGdmFmIyZCzSmuBSkxKVT2jYRkz6gEo0FvTU+DJiU8xjCxxMlJ6iThLQ7K/BuCWq7yrJyHB4m4a9cu0IcPrdi2bRtoFnDCly1bVt3kH1LNsp4KYWv/we3bt4FgV65cuXbtGmiY0tJyVVGmIApFTGIcS4mmki6xzTVwLplRP0C0lx4k0IevsD3GDIMRBCGSEBKFVCaXWYcRGQQpX61iTYGlLlqT/1YcbN8jSD5eb5N29erV48eP5+ezgB/BtQNBWAsW9xRIWMkAf+aTTz4Bj9TOaBWO4+CjTps2rWfPnlXxDFnGoguoCWH+Y6Z0jGVM/2r08djY6yRpbhwY2r/vK4REJlVIURRjh+mfzGKy5EFCrWP9jIMNfUGB6vatdFWRRkxIELRCrABv7bvvvvvggw/u3LnDjce6uLjwVzg7d+7cggULcnJyQkNDBw8e3LVr15CQkGeTMFYgYQ0AVJ2VK1eWuAua7bCwsPDwcHByIiIiqm60V0eZdaVMZ8/Lz4T/YEMml4PnjItxkURM/Tczr5mkDAYSxy361GyiwcXDCcyOJ0hTjNFAqov0BQV5+cps0myq4PMDqU6dOvXgwQPwnEFNmM3ml156id/VuXnzZpAYrJsNOl8mk4HTCHq1jk+9F0j4/2oKfBhuyVioH0FBQR07duxhRWBgYCXm3q4IZE5O7vW9jCaSfjJKxiZBRHEMUyk1hUpNQ18PhVyWl6OTKXB3T2lpPTMUzRTmGTVqWiQWnT67/0zkIYqqhGVSJRIJ2xcyffr04nttBof0ej2I/y+++OLIkSPVpHgFElYhEhMTP/vss9zc3EmTJo0dO7b4AcHBwRs3bjx48KBUKoU6BG4MSKbiMf7PHQxFm4w6kra4hdxyFkBIvdEEPCTYYG7rAtsUyRj0FMMUp6BlIJCCPTRm7eVBjSat2fwsklLPmzcvPz//7Nmz/I4uYWWY2knC4h3QP/3009atW2EjNja2f//+xZcigOPHWlHNX81sNhXl5xASF8LF3ZqQycI5o5nWG9WuCiexiMAw6xpPGGo2MgWPjSV32FjLB2QtQeCWfMP4M6oGzZo1++OPP9LT069evQrtHXwL0PYfffRRXTaDtZCEQD/g24EDB1q2bPnxxx9zQUxcLGJ5gxKrG1BL/nwc5Zb//Ne0YSgGGpVhdJJ8scFgcnNT/Nv9yHacMvwyQjCcJCmlUn37zo3de/9MSHj4LF/Bz4pRo0YZjUaxWOyIJQSPffny5TqdbubMmQMGDBBIWK1x//79BQsWgLMBbkZYWNiUKVPY3+HjxcfHgwqaNWvWU6/Ic+PGDbhs165d2XW2nwtomtTpNRJULLUkKYT/cDbxDIqhRpI0kmYsT6XXShQKOY5z8X82I4dwPG02U4UF2nv37uz5+7fKerbs7Oy1a9f6+voOHz7ckVEcx6cdrV69GkwobKSkpHTv3r2WdajWJBI6EuXAj+vlT0gFIbR3716TyfR0s7YvXLjw66+/whUKCwu9vb1PnDhR4uyNZ+HcJj1ct/HLruGDIsL7i+XOqFSWX1Akk4ldneVWw4dmZBaAk0iIwD1EbcbtGWuSX8ayGilmyaxhCTqttME6g8Ewd+7c3bt3I9YFeV577bWpU6cGBgZWkgg3cxu1L+dNTSIhMDApKWnx4sVg0KZPnz5u3Ljix4SGhi5ZsgSqAmy89NJL/F0gz8rLQDbHzPr168GBAe3E/vj48WNQR8+LhAaD3mDIKFLnMRTJdsyQFAVmzWgkCdyyXgptWXWUVhZq4F/W/WyVZWCXSISzatRoNut1uuzslOTU+Mp6MKVSGRUVxW6D6Pjyyy+h2Xr11VdBjIAkqeDFZ8+eDR9do9GAzHEkuw9So5bjro4ktFN8v/zyy/bt2xHrjPghQ4YUn8oELj64gu+++24FFQu063v27NmyZUtkZCQ3s5EF3JS/ZMVzgSURxb9FBMwDb9BgLHRzkSvkMjcPBUUyySnZKGNdSdP6P1AHCoWkno+7NcYNS8rISkqO+3XzV4WqvMp6JCiWXr167dixg/slIyPj+++///3330eMGDF27FgH0xGUiPDw8MOHD8NbONKMqtVquG90dDSbGwHOhe8lk8kEEpbP4oFTt2zZMmhZ+/XrB4wq7jzYb+QqwkAwdLt27dq2bVvxVAvu7u7Dhg2bMWMGf/2t51VImDXABYpB4SRFrZOSwNBZs85g4PKB6DSRZiNplIgkYpxwc5VLpZZp8mqtTqkuunjpWGLC/UJVPkmaK+uBoJZv2rRpwIABUHTnzp3jBGReXh78Ds3Zyy+/DAIVPLqn8whEVjhy5OnTp/lLZcHtQkJC3nnnnQkTJlRP21hN5ejx48c///xz2Dh58mR3K9jf4SuCLIEm9o033qj0VXjA3/vpp5/A0oLatNlVv379MWPGTJo0qX379tWhfDAMWEgjKEPgmLNChqHW4UDmyXyIfxOUkjqTFgcRLiI83J3Z6JlCjTY5Pe38uYOpqY8q/amg7Xv99dfHjx9/6tSpdevWHTp0iOuLBk7++eef4Cb07Nlz5syZYBsdZNRTaCibwEMQNTExMW+//TYbdCGQ0FGwi5BxfS3cduPGjTdv3lwVd4RaMmvWLKgoNr83a9Zs1KhR06ZNCwoKqj7lc/3GhdTUxH59RjYNCnN3ccJAhaMYyTCkZQDeagf/HZfw9HBxd3YBulpSKmEWELiYqMqBQWDXoEGDBg4cCEoebOCBAwe4UFL4rKet6Nq1K/iKULBs+p9K1FDwF9TT6NGjz549C0aYX6Oq7ehUNSUhfML333//0qVLffr06dSp0zO4Y0FBAVhd/i8tW7YEWsLn5DJrVB/k5+fAf5069qTNZppCEQIT4xb2WdYUtKRXs/DQMs0XRaUSEQhRaMiAkJTFOTSTlJ5GqryDEfjQ24qrV69C0wYalb+QdZQVP/74I+gLYGPlTpKGq4GcSUhIuHHjxpUrV+AvvD6omGq7ZkZ1XBCG65iB1qvEpIaVAp1Ox3cdTSYTfKedO3fCHYH206dPB/fPkSnYDi0IUwXAMWLiuLdDQ8IJuWugf/32YU0tSaUYJCkpo6BA9SAhyc3VJaBBA8w6XwncRZVGl/k478KFw+fP7VcqHxuN+oo/g+MLwjx48AAkzL59++Li4oprDTa7jIOLkJcXwECwgVWhfivNuUCqMaqIgeDyzZ49GxrpN998k0tAIhaLwSE8cuQI2MOjR49C81zdkiCUaG7A6lnWtUdQsYSQiHGJ2OL+eXg60wgF3JOKRThmmdlUqNamZ6VeunLy/v3o7OzUSmFguRAcHLxy5UqQiCtWrLBJIRMfH79o0SJw2N55552HDys/dgekenVmYDUlYRV1YYGBhUowefLkXr16rV+/Pjo6esOGDdA2cwe4ubmBMwN7q20mqGLGELEMDVrT3z9ZzglBGvp6BzZuYBmQf9KFYxk5TMnKvnn72p9/fHfv7pWqex4QnEqlvSUNQdiDl3HhwgUofxsvIysra/Xq1T179pwxYwY33lhHUCdmN4Os/eeffwYPHjxkyJCtW7fyK0rNDb+gGepC1PHjJ3erlTmq/ILU5KyU5OzUlOzkxMz01FwMxzR6Q0JGRmJGRlpWNs2gWBUHSW/atKlbt25g0NauXWu/C8TLy2vmzJnHjx/fu3cvlyOUo/HGjRuhKQR1Cqqkpgf61uyOmYr7kywKCwt37969a9euEydO2Bwpl8vhSw8fPrzmvmls3O185eM2YR1VKkXuYzdrvm3LAKLJbGZoUm8wanVFrLKQSGWWwUObSO7Kg9lsBu6x/t6cOXPYWYJNmjSx8/CgO0aOHDl06NCDBw9u374dKMet8KFWq/fs2QPtJrjl4Kj379+/XEnWahxq7Uq9OTk58Gm3bNlis/gEwNXVFbg3d+7c9u3bVzzTyfPqmHniyooknp7127XtOrDfaJZfYPEKi/K27/qpSK1iB/TZzBdGgzYnJ61y7851zIDJAqqcPn2a2xUUFATu34gRIxxsUC5fvrxmzZrDhw+rVCqbvR07dpw3bx5cqtZSkal1uHfvHhCjxASy4JMsWLDgxo0blXg7fnDG80LrVp0+en/1B/O/mz93+YJ5K6dPWSiVPot5BkDCxMREthzA07OJEZVIJOAB5uXlOV6Y169ff+utt0qc5tK5c+dTp04xtRG1hIS0dc3n2NhYaDJLHP+F1nrZsmVpaWmVfuvqQEKJRObh4ePm5uWscFPIXeVOLs8mPotPQgCoj4kTJ9rcukuXLleuXClXkYKs/fjjj4sv1DNw4EBw7wUSVl8cO3asXr16xStKeHj4jz/+mJGRUUX3rQ4kfF7gk5BtBwE///yzzWRCd3f3b7/91mAwONiYsoArg2PJT907ZMgQgYTVGjaLK7ERG3/++Sd4+VV6X4GExcsE/PA+ffrYHAx+eHx8fHmLt7CwEHzFXr16gc95/vx57vesrKwffvhh5cqVcC+BhM8H0CJaQrF4WL9+PfuxZTLZa6+9xk7hfQZPsmTJkjpLQjBxJZKQXbzls88+4ycdRaxL1qWmpj7d5+YbScDUqVO5Z3jjjTdAB5VmUQUSVj5yc3NXr17do0cPaB0PHTrE/Q6U++uvv1atWsVvL8uFoqIirVYrkLBSSMji5MmTNnMvd+3aVSlNMDexhgWO4yNGjDhw4IBerxcsYRUC/LoVK1bwu+DgS7D5DiqOzZs3t2vXjk1fW64TweTWWRJ26tQJLJ798klPT582bRobgQiGMTo6ulIsFQifEqfY9+vXb+vWrTqdTiBhlRjAiIgImxIHr69SPHWVSsVxe+TIkeU612g0zp0719nZGatLYFcEAEPnYC/L8ePHQZ2eOHGiEqvElStXJk+eXOLg4ZtvvllZrfMzQI0ZrAcDZRPiBFbr66+/BlFa8YtDwwl+Pxuy+Prrr//666/lvcLdu3eVSmXdyWMLPGzcuHElLozDMP9dH8o6P9mR0rx27Rq4Idu2beMnFPb29oYvYn9hYGGwvtxjgPHx8ezAEVR0MInbt2+vXMlx7ty5MWPGgIv/6NEjRkAlf8Iqv0NCQsKnn37KTbyGJrUGOYc1wBIy/4aDgvwAYwUNMOh+VoQwNSejVl0Gf902htYXZT80qZLN2seUvuDJDgYhnLwIJ2+xayPneiEYLn26G2VkZIDiBTd16NCh1XYKb3HU2tjR6g+2291mAU2uWYGGvLQEYaXtYrPClbgip52rlbm3kohIah/fz0+I1GVc1+Q+xGm9lZsMF0+OWvLAoTTu5OTdUuHX0aNpT7lXMILWibVS6tZCjTk5Obdu3eInBX5eKCoqmjBhwsCBAw8fPmwTYwB/v/32W/B1p06dmp2dzd9bUFAwa9as3r17L1y4kFtAiqXurl274GrDhg0D59mGYJ988kmfPn1AadtcDQB+FPjAsHf58uWV1hwXu4wy5eKjw+/F75ubF/2zITtGjJpwXIwREpyQ4iL4TwJ/rf8Ui1CTMev64+if4vfNiTv8XmHalf+/JH894tplOOqQJQQPftKkSWlpaSNGjPj555+fbyp18GnHjx8PG4GBgSdPnuRndlAqlW3btmWXvH3vvff4qybu27ePm5fw/fffv/POOxzTunfvHhMTA9shISFnz57l0gLwT5kxYwa8OP8xZs+ezQY5QGlA+QQHB1dGDwvCdamYNFnpVzcpYw9hpBbDCRQjHCKwpVZSNGmmRc6ewS/5dp4qkvmUrG4FS1izcOjQoQcPHoDDsGPHjtjY2Kq70e7duydPngzWDLhR4gFgxNatW8duJycnX7x4kb/3xo0b4Nuw29HR0fyJrfw0xImJify+Sk6FgrkrLCzkdtWvX59rbiIjI7l0Hiy4THY6nS4/P7/iNpBhU25YUZhy/tG+uYV3d4oYExg6FMNL9vgpM00aadJE0yTPOuAYISUYQ/6tPx79M1eVdvmJCWRtRu0yHHVokVDOU/f39+dWa6oKqk+cOJFd7B4IAJqz+DFABi6zcIsWLWyWGbp69SrHDZsZj3wK8RcMJgiCG7kGovKVaqtWreAWQGzYTk9Pj4uLCw8P51tCaAKSkpJA4sKRFdZVVhNl5eDj+3+nnV+FmVWEWMobffiPFbN0fKOYxKOZyLkBY9IblEmUPh+3DOuj/6ZPJUQi3JR3L/HoIv/eCz2DBiPWFOK1rC+uTpCQ7e149dVXobKC5enXrx/wsCpuBBYMJCLLQMSaN6XEw7Zs2cLRbPTo0fyEf1Atr1z5/zQwHTt25J+Ym5vLbfv6+nLbOI5zc/CAgVyeT8SaQKBdu3YsCWEXkJ9PwjZt2hw/fhyeMygoqBIz6+Te35sRuQKj9SguQUrrwGZoBhPVbz/ZK2Qk7uSBUKQ+LzYzeqMmLQrH+XmZUFwko03K1NNfgM30avlS7esNrxMkZGuBVCotcQ2ZSsSXX34ZH/9kiRUPD49BgwYVP+bMmTMHDhzgjrExldBeqNVqbq8NCblFaVji/edD8jLT8UkIiIiI4DIm8xnOoqEVDr4gWGlwqoHGfn5+pR2jTD6bfm4VThtQXFxCH8S/doyizC5NezXoOA3BRAxlQkVO8gbtAnovij8436yMB+Y9MYfWPxguZkht2rlVYoWPi1+XWlY/61bvaIlggwEqxRXkh9p89NFHJa5GtGHDBs5XnD59esuWLfl7gVrc4ofAz2bNmvH3AgH4zh5/F2fb4V3YTh0OnTp14txCcDId8f1KLJDTp0+zKZiGDx8OgqLEE41FKennv8PJIhQXlSVOcLeALsBAozIp7vCi5MhllLFQ7OLv3nwgzZTg9lkobSxIiVxh1GQIlrA2ABQjVKkLFy7cv39fo9GA3+Xs7BwaGtqrVy/gwFOs3gwGcP78+ZylGjx48Jw5c4ofdvPmzaNHj7Lbrq6u4D0WP+a9997r0KED1FKQzTYpcDiTJZPJbAajW7duzW3brLjQvHlzeDWgH9udA9YMHq/4fXNycs6fPx8QEFBaynN4eDZRXUxMzIIFC/74449iS7vQaZc3kMoEXCwr3W18QkIUExNSSw4EvTJZk3IWfnL1befebKBzgzY5ImeG1qKo7VfARVIy/1HG1V+a9F1cm+xHXSThqVOnPvvss6ioKP4qF4C9e/euWLECePj555+zjpODETns1F7OTIGNWrVqVYnL0IKp5LouR44cGRISUvwYqNkcSWweAEh78eJFMHSzZs2yGU4YNmwY7GUjbHv06MHfBYzt378/S0Iw+/DixUkI7uKkSZPAPwQNvHPnTpswXRZg2KF5YgsNymrjxo1z58590ilq7ZLJSzitijsmIiRld51Y9mOYVa/SlBHDCYYy6PPigYQihQ8mdaG1aiAhw+ftEx6KCx8dUTUf4AqitLZ00dSS5iQvLw/aeEfSVELVgdoPTb4NAzmnCyoiVGioiIjDaYh37drFHs/i448/LnHADcjz999/c7Jz8uTJZV7f5gAg7YkTJ8AQLVy40GaXQqFgU8v99ttvxScWgFvIHQ8ktFlxke04jYyMRKwdsMXXhGMBGuG1117j/rl8+fKkpCSuU5Qy6x7f2gGuIILaq1T0kyUTGUvWYsJiMCnSwC54ShotzjBGyHBchDLsiGNxVYyjJk12zFagbq3pJK0NJDx79izUj+7du7///vv85ZxKZOC8efPYng9Qen369Pnhhx/++usvoNC3337bpUsXjtLTpk2D3x25O1REoARH6QEDBsC5JR75008/cdYSbFG3bt2e4mX/j73vgI+qStu/bfpkZtJ7AaSIIAKhWUBRRFSwgLi6+9mVVVR2/6t+y/5k3W+xouJaWP0UERWBXeVvW3RFEBRWDE0IBDC0FFJIJpkk0+e27z3nzNxMyiQBQoBwHofxzp0z997MnOc+z3vKe0BgY61kBDRLSkoiZGsV1IGIaVZ29+7d0X2MBOnp6WTRRb1eH53WJRo6nW7+/PlamFpRURHdw+k5tjNYsxdFbmwnFY5FzTMqK+g4A5p3rwQ9qirj5lI0konlBEWRFWCmIrflIFrrW9B5K3Z4qn+mDTNnEFasWFFUVFRVVQUbENjEKvbDDz9AJEP6DyBqWrly5TfffAOGasaMGTNnzoS31q9f/+6775JsURAoAl1Jy34HAM7PnTu3tLSUvMzOzl64cGG7i2DW1NSsWrVKq81w8FO6QEIrnczKytKoRZb7blXeZrMtX7787bff/uqrr6699tpYLVUQiP7tb38jnRmgvdHLxdUVr1NCbtwj33GKYSSEiiwZ7HmGOHRfCLkrcQc/qwRRoy6vt9r7XGHKGMVZ0mRZYaJ78NEijAw6heStO7CexoRnELTceMnJybEGo4miCPaJaCCUB+kbPXp022DsnnvuycnJ+fWvfw2cqa6ufuaZZ4CrHaxL88EHH0QbUQgmY62kDUFUcXGx1lx5YjJ4wgD3m5+fv3r1avKysLDwlltuaUuw+++/v4PWUYLrrrvuyy+/LCgoGDlyJI6cUWQmh1z+6p1RzUhsdMTcPNwTE1CRZdaYkHrhrbzBLvmdnoqf8erCrK92f6jhkN7RL+ey3ykhb8hT5Tq0oXb3P5RAPRnvpt1Y4ESBmj2K6OZ0cb1gGFtvIOHs2bNBVUAJp0+fHj2OJBpbtmwhmfChJNzL2zJQw1VXXTVv3jzS5ABSCfV1xIgR7bbQgAUFEmovoVq3Oz4G0NjYuGjRIu3lrFmzen7kKnhvLVP48cairTAeI3pP/dHt/vojBkGntpA8+CdDnM7qUNoBkqOf15utiQOSh9xky0FJYur2/StQV8wDx1g21HS0bNOrGaMfMCX05fRxxoS49IQBBntm+fcvsJKHiWos5TjBX3/Y6/wlLj2/FzTO9AYSAvEgKuu4zNdff00mT0yYMKHV+hPBYBCqSLQ5vPvuu997770dO3aAKd28eTOQsN1KCTs1kQQZWbBgQSzN/Oyzz/bs2UO2QZFuvvnmnv+WQHvBA3/00Ufgt6dOndqNzhdZSuchTgmqTMs7CwR1hviMi263ZgxXOYFFbpLXGWy6uHSWQ9+268DXx35exrEKBIgsWmSK95RuPFS732DLFKxpiQMm2/tcHt//6vriNZ6S9ZzAtzhpyOOpKcYkpHb0bADoGGmgJ4IQ3Q34xRdfAHn0ev2f//xnrZfcYrFMnDiRTErYvn17zHia45566inSFDlnzpxY66GDB4ZYS3t53333tUoE2EO/tCC88sorwEO73Z6UlNS986ElXy3X+mhwBi59xG9Sh9/dtokU1M+5/0tn0WcMWEpep4YtJQtfqeSpEj1VEAp6q3cPSMiD0NGUOMBdsr6F7UT/BzdaTWPCswbgG7VBKtFLf4I2Pv3004SfIKcaCRk8ZIxsaEsFtYvLMDo+e3l5+d69e8n2oEGDZsyYcdpa4TjuBFbD7QJdZclH5sg380RVFM5ot+Ug2++t2YsCP45FDTKBhkBDCewBsqFAEA2sCWeTUVRRYXhHv4mM7G8sK5D9dcHGSiChPi6FaW8OlOx3Mr1iYtM511kf3eQAdUCbUX7qppYDvcEBkj56MLqnbgLH8ZnILstg10qGpSx6D25NQRXMU15QunEhj/0kqyrgS1G2NhwH4sAR9Vig4aOmlMzht+vN9qpt73Nop6KI6A4oGKwM2FdVikoFxeKrUple0V1/TpAQfnFtpk/07HJwaM8///yLL75oNBqfeOKJ6I9oXR0nvxxXenr64sWLwfdC3AgkjFWMJGtzOBxnyJcG6r1ixQrwrvfccw/4ghOyr2xktWBWJwDvOHQIVSBdGLIswdscJ6iqAlbFnDYs+5JHFNF75LsXFG8Vxwv4jinj1hwd6kvrfVOYzikSwk8PppEM2vzmm2/++Mc/kimwULHGjRvXNnsv8AGKkW2tB/9kcClGB+5uyZIlL730EtjFJ598MnpUyumCx+N54IEHSF882OlXX321EwZ2PgKewyNpkPFUFUkXl5GYN76hbEvAuZ832JKHTs8YdaenqrB0/fOy7xjPG8BsqrgtFR1bCqI2njYX0GuSQpwrsyiuueYaYjh/+umnDz/8sGOj9cYbb+zfv59Ehm0zDne7D2xsbARB3rdvX1FREVT3dsfThRs0emr56KampvCQNDwWQpufFYN9HG+0t8dDpf1ee9QOwyWef/3AG19PG/twzpV/yb7sMXfV7pLvnlX8NTwaeooPxus5AxoVIAZcjCK2lEFEQN4UT0l4NmHYsGHTpk0j9fjxxx/XZvS1BVB0wYIFZPuGG25oNdXoVKCgoODQoUMd391h/9KlS6dMmXLnnXd2QIl169bBNd98882bNm06mUtKSUnRhhPU1ta+9dZbHTpOVmdJ7ooqsZiXECuGmsoPr31G8jdmjnkwof/k+uJ/la6br/rriPRhv6roTA69BbWiBd0QGsgtBwCgVzprKiXhWRYWggslc/DAbUJVBrmLzsVCatuzzz7729/+FswYvDzvvPPmzp178utpd4qNGzdqEnfxxRe3O5Gqqqpq3rx5a9as+eCDD9599912jyOK4lNPPQXB56effgqK2sEZJUkC4dW0rp0oRRDuvfde7Ur+8Y9/aEPz2v96bVmywnfBlDKoz55VIRQM1u45vOYpX/XPrgOry394mQm6cF9FWDohGjQ4cg1xaeBdg43lbHR2RPI+ZzQ68mhMeJbhoosuWrx48V133eV0OoGHjzzyyDvvvANuMzU1FRwg1PIff/yRuFAGJ4+AwtFjI08RyMzGcAXluFYDCaKVUCNqB35Ve4usG9eu34bjAFdB3AwGw4svvkiSvrXFxIkTJ02aRALpo0ePbt26NTc3t91LA1Y5svJrbOmqr7qTubxR+gm2M+Q6ePjr/1aUIBNqOQlYlRVWZ8sdz3D6YMORQN3BVkmiVAUomheXNpiS8OzDddddt2TJktmzZ5PZDIUYbYsNHDgQ6mi3rHLRKUCOQJTIdnZ2drszDBncxArMgYuHu0OsWRo6ne4vf/nLCy+8AGR+9NFHY0W8oPMglSRn1MqVK2OREI4GNyxtCnK7SyBFPCZjtGWa0oZ6DhzleUHTshY5nSLBIL6qcN4Kjudlfy3qbQh3A+JsbYwsiiFr7oTEASj/ladiu+Sp5tDcwuaOSNBJY9JgnSlZs6aUhGcTpk6dCj5z4cKFUBHbJnoAvzpz5szf//73eXl5PZNjf8eOHZorHj16dPRYghYujuMeeOABcNHtzhXWMHnyZFCw6PF0bWE0Gvv160eY324CDg033XQThMcbNmwAk9xqsGir8Az+xfeb4DnynYoXdonKiEZ64WVFDMoMr5JkaUxb2kjNGqm3OfqMyxwzCw3v9h2rLfoUtcoIepJ/DedThB9GH9/3Mo3MZzvO3TT4IEGrV6/esmWL3++HamM2m8GaXnvttdqcjJ7BrFmztEFt0fl8T/XfvmzZMofDcffdd5/kGDqNbpK/7pdPZ0n1xQxvYHE/BGdM6D/tDWPS+e6jW+oPrWdx17zKKkBKPK9XiaIj6o8APTRYUuIyhppTL2RR9idf6fcLXHs/5QVduK6isTVAyZAu6fxB09/m9fbeURXpWhSnE8B/EJmdO3cyeLbu2rVrWy1Ae3ahcueyyo0LdIIO/CUat8bw2eMfS7xg5omEyvW/VG3/0HXg3zyr+RFCQlWU1JyrnkoedEOvqQYCZcJpRFFRkZYLvH///rGmtBPU1NQ0NTX16dPnBPJQtW3mORVOO23ozQ2H1gcrt/CCESmbIlZte5/ljZbUIQwEdayWHp8l3aXhUWdqRFMVkE9fyF3RVFbQcGSj5KkUIMKMSpYBH5fFoDV3fOKAya10mJKQohk//fTTW2+9BR5vzpw5nTaurlu3ThtZnp+f34Ez3Lx5MxhX4OF99903f/78k6TQCXwcVHrp0qWJiYlPPPFEdN7hFoErb865ZPbBLw+qoUbU2snxkreybMMzgikhMhuQZTQqRiLHMJHwqtGKHJCDTYro5zmOF1qnLVVlkTUlZ46dxXFGhukd8SAl4Smwl8A9iDNJRX/99dc7KCxJEsmtpLUYdVD4n//8J8lJ8eabbz744IOxaHC8OrxixQpg/p133tnxmrter3fu3Lnbtm2D7YaGhvfffz9WfGhNG5E66t7KTQt1isxyPOpaUCXZUw0yF2FflHqpLeUZ3RtQaMgJJPNvi9V6VVWSwN+Oe9CacmEvG0ZKSdidEEXR6XSS7VYjAdri2LFj2kzfpKSkkSNHdmAdtcmK2dnZ3TIdMRQKPfbYY6QHoqKiouP7BRTWsnp/9tlnP//8M8kK1S7Sh90ueZ21O5aiiboggGi+EteFvJFhaVOb22qilndSZUlWUvPvSblgOkPXoqDoADab7cknn3zllVdMJlMHEyYIILTT+t8hGoyVi55YRzgaMKG8vPw3v/mN3W7vONirrq7W6/WxkrJpvDp69CjZ7ng0DIPzFI8bN47kyAE2LlmypF3SRnolhKxxDyuy5Ny1XODRhKaoWYaxCdTeCvWEkuBCJZVLHXlf1tgHe+UYL9o62v1wuVw6na5TvQIG/vWvf120aJHD4YDnVmsznTDgUOQusHDhwkmTJnVA15dffvmFF16A64SNTjNuQFB6xRVXkBTj8fHxGzdubCelFeYY7ilE+Qurdy2v3vI2KzZxgiHcw3fcIqYoYpAxxKeNfSht6EyG5XtlhaEkbI19+/ZBaDdkyJB2153udoAKmc3mWH30JxCUjhkzhkSPM2bM6DR1KpzdYDC0WtYiFmnvuOOOZcuWkZeffPLJ9OnTYxlLLZRrLPuxYsv/+qt2gjVtXuOlc6A6qUghWWXNGSOzxj0Ul5Hfi6scXRCmBT788MPx48dffvnl8+bN62CIZjciNze3uxjI4IHX2tE6bmvRzt4VBhJXPGfOHDLnGNxpzDQZagu5s+dcPGDqaxmXPs7ackQglRTEK4F2lJVUVSRFCkqSyNlyMyf8sf/U13o3A6kStsaNN974+eefk9oJBqwr9ZgYS2Dv2rVrR4wYMXv27O6VUBLm1dfXl5WVZWdnd5odY9u2bUuXLrVYLI888kgHC5idGDZs2LB169b8/HywpsfXDuSrdh1a7zq0MeQ6IHpqOFUiTaEt2IdXLNSZUwyJ/eP7jY/ve7nOnHou1DpKwhb405/+9NxzzzF4EjA4rtijllugqKho7NixZALUqlWrupjRsOs95iUlJbfddhucZfjw4cuXL++W/okehRpeq1eRgyFPRVPlTl9NseitUQJaA7LKmxJ1lmRT0gBbxjB9XBbH68+dWkdbR1vgsccey8vL83q906ZN6yIDGdyNRhgI6OLqf++//z7QKSEhAXxvrKTdGtavX08Wafnhhx927NjRvST88ssv33zzTVDvxx9//FTlBY/cazjeYLT3hQdzPokdg80uljXF8La9NbNMywpBcZIAEj744IMQJoEG1tbWdlq+srJSM4qPPvpop+XBBJL1LSAYA7fZvVeuJdGZMmWKKIo98HUpsfYr+J/SXEKJXbg3gSphN8BsNv/97393Op2gbF2ZiY+6ryPjP7syEHTChAkff/zxli1bxowZA2Fnp+WB5IWFhTk5OYMHDybhRizfC6zTFjbdtWtXeXl5q7VHT4kudqSXbFdKUiWk6AasWLHiyiuvvPXWW4uLi7v3yDU1NSQ5VXp6+o8//thp+dtvv127NaxevZr+ND0P2kXRbfey4yr/q1/96ttvv125cmW3Z9DYunXr5s2bGZyWpoN8Vhry8/O1P4GMDqWgDTNnDQKBwOeff15RUTF58uROG1faNaWn4qrAXqKp7fim0EEqJw2XXHKJIAhkcVUt0UYX8d13323fvn3UqFHRKwhQUDvac3jvvffIdzhkyBAwgWfIVRUUFGjtutOmTeu0PNxKtNFtCxcu7PqJNm3aRE4EkTBQkdYH2jBzGqAt+nnw4MHa2tpuHPhyMjAajdoyb3BVwLF2Vw7WYDAYFi9e/PHHHycmJh7XYjXwV3u9XgYvc19SUtKVFiMKake7GVOmTFmxYgVUdKi7ffv2PUOuKiMjA6SJTKQKhUJdCVZzcnL+8Ic/HO+JJkyYMHbs2MLCQrCjeMleCkrCHsdll122ceNGqO79+/fvOAlaTwIEbeLEiYcPHybx3qlbbSovL++rr74qKyvLzc09c9axORtBh631QtTV1a1atYrBOQvPEJNMQUl4pqC6unrNmjWgG1dffXXHodrJtLSdWLtrTU3N2rVrLRbLpEmTzGYz/bF6DrRtqscgSdLMmeH8f6+//voZdW2yLGupuF966SX6Y9HO+t4Jv99PckAxOCnbmXZt2iUVFBTQH6snQUnYcwCnR1KqWa3W66+/voufqq+vX7RoESgn2MWun2vv3r3PP//8ihUrSC98pwD/ecMNN5BM5F2/NgpqR88++Hy+devWHddMiNmzZ5Nf6qGHHuriR1wulzYYbdmyZV38FIjh999/v3XrVkVR6C9FO+t7LUwm08SJE7teHvigOViSOaaL4glKSLZ37doVa92lVjAajTFXfaGgdvTc/Xk47rbbbnM4HHa7naw03BVkZGTceOONQKrs7OxrrrmGfo1nOGgXxZkOEMOioiJ4Hjx4sDYerVO43e79+/cnJCTEzMhEQUlIQUFB7SgFBSUhBQUFJSEFBSUhBQUlIQUFBSUhBQUlIQUFBSUhBQUlIQUFBSUhBQUlIYbX59fWUqegoOhGALO8Xn+rnULdnpcEc7pggkcab0zi9Q5ZQaP36fdFQXEKVI8DfqmKKIdccqBO8ldL/irBXbFGERtYlmc5PaeLAxKqgiNoSdchZqYJxhTemMLpbfAWlKHfIQXFcUCVFckjhxrlgBPz7Zjoqwp6q9ySSw41KKJHVYKqKgucYGJUKfwJ0Q0fYNTDoXoFr9DIImYKRk5n4/V23pAkGJN5U4pgTBVAMw1JiJyCleV09NumOKe5pkhANiXUJAedUqBWCtTIgRrJXwsvMdmaFDmgyqEwp1gOrRMOssdyLG9iWyb/RcvmMUjudFEZ84CoIUmCI1Yz6l5tsTsgJ8sDOeOAn4Ihnjckg5UVTJic+gRO7+B0Fk6wnDsrzFGcG1zzKZJXCYKOuSQQt8AxOVALKifDHrFREd2qHMTiFlkTEsjGYLIB5YSYWSQ7TW/BEs5FXkSTMyhJfsZfHcILqkbOKrC8gcP85HV2DvEzUTAmCoilyRzIKfBTAH6aGWpuKc5QA+kHpiEFCzVIIGWYZlKwDogHWgdMU2Q/VH7wjxGyYWVjOLzBEnE7LpxwjpmY5GQUSVaQrRXVMoZRoi+U8JPlLWBuwcoKhkQkoZiovCEBR6R24CfLGRmWSijFqeIZUAgJmtgkg4EMuWQgWLAeWcdAHYrfxCYV3kUGEpgmNwsMQ2wkh6o+J7Q0jCeFbk/0xIbX3YsIXUt+yrLiYUJuyV/JhPVTc8kCxxuQxQWdJGzUO8DccoYEQR+PKBqWUAsrmFiW5qei6IBkkioFUJAGXAJSAcEQ0+qRb4QNiNBA0GSfCooXppkcVQ/ZsKZ1N9N6koRd4SfThp/4q1NERQmBDWAQOYmEogeJVFlOB0IPOokeOlukrSie18cjl4v3cDorB2YAWAp6S4naWwkGcRfij08RPUjNwB8C0xDNwC42II7BHsmLy/ihUmHfKOPqxrYRNJAK4bSbrjOnpnYgoVhF4T/JK4ke4CdW0TBFw01KnACsQ81FgonwEBFSiINnCE2J+0XNSEhLrbATSS4HwmuAjzAs7RQ9/dxC7RlKEKRJlQOK6A3rGNBJBClrDJMNWCe5VRliNojK4BECdqmKhKpEGFykOYQjfOsxNesdJOyUogxuaGpXRRnCRlUJKaGArNZj0iqYuM1prJDHCHNVxxLriwJUI3G5Ya+LSGtlBSuPfC+orgnJL7Ca17OsjkFtwjqqsV1q3lBCjCLCLwJUwS0ZAcQc0roIBMNiFX4gynkRtVAYFsANjKBdIoOeo0ZuYXphgpH7NW4Fwb/m2f5t9Zr6xEZ+J46JSVQmTE6Iy+UAozZgUQ0rakRa2fCPDQ+OR78xUI5DvzQKWYl4hglsJqobRVS0H79lwF04BsR22IBagjZ0YV+NnrXGtDNJhMNROjEaMgmWkJ1DXMJ0gmcQn4heoQdsY1FCNEONiniDaBR6N4R4RQyhIuNnCX3V4Ztjy2+bJc8cud2ib4kXzpHWuXPtpk5+bIZtw9F2pRVXR7ijB6FuyqjeKMQ7RXjLRCwxG2lAYyPtxrjHFXcQkW7ZcFjLYSENR7kCq22gbcJVLNRkO9KlG3kmkQwX8QVa3WWir4p4AlzR5TCvSBMfeQYiITIQXgE9RCw7EqPg9gm0jTciZaI+i44W2Yi+czHaNxDFqObLC+9BOzgwFAxt+D7nSXjc0tr8gm23RHtiGxEWbIklvMVo9IhiuBpdXg3vjDoC02q7m/6oiL1v6Rii/142KgQgu7SyXKRfimXoUAxKwjOavUyLOz7bIWu78CZFbwZtGKSgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpDhbodKvgJLw3Kz5aG5U271oaoJ6XInMWTxdKNjlYaQsnlsUbD6jIrbmIb62SDG29csoKLKfwdPPSQF8cEmVA7H/arX5QclPSXh6KcjyBlPyGJYT0PQ5MmNV8gEhBAPKLke4EZ591/wIhlmk4mlEYb4Ezcljzanj4Tg4GVFz+XZrOey3pI23970N5yNSWM6QNPS/BWOKdkA4BqezGBNHGByDLRlXykEnp7Oakkcb4i+wpF8hB+sjHFMZlrPl3szpbHDxcTnToIwiNunMGdas63FiCHxLwZMGFTKrXZEYjg8/yCxbipMAnUVxUgC+2XKvicu5oeKH/zI4zjcljuLNqYIhiTck8Pr4ppJPGg9/FD9otilxeHiSOIvTpPir6ve+IaOKnsUKRsl7FB0q1GRMzOcEi7v8C4NtUMLgR4AzaH+wsX7/G1KwvkUGdFWWRbc18xrRUyKLjfApc+JIY8Iw5+4XVSWgMhwnmIAwlvTL4wfcF3KXCOZ0NP9YZ7Pl3hTylKDE6qYUJejyVq3HFBPhs5bU8VUFc8wplwQb9sIjNf85X20Bc1RSWQUIGX/+bAZNyQXS6UVvmS6uL5rHjGa1s6K33Fn4bHhWLsXxg//9HQPxrZfi+EVQlXnBnHzh3Pp9r3G6uPgB95uSRwUb9ult/URPaW3hM6HG/SyH5uxKgVrRcwQeoaYDoCTWjKsaDi3TW/PSx72OeFz7E29M1NvOMyWOBOJJ/mqdKdXeZ2ZT6WeSt8yada23+js56NJICNKqs2bDeS2pl7G8yZwyLtT0C7DL4BhqsA+My7oW9gRchUDC+P73+Go2oRQ7vD7UVAyc9FR+yxviWXjZsF+VvCH3QYN9QOrw+XBYnTXHnDRKMGfoTOnmlEvhPgJnisu+zu/comCPCiXhmuEeEWzcp4iNQdeeptL/D7Qzxl8AO/HlURJSJezhVhBVjh84K+DaI/qrUvMXgLB4Kr6pLXwObCF4VNF7FGo/w+r8tVvCpg57TuAJ2EhL2uUJgx+G8q6DS6H66iw5QBjBkg1lEgfP8VatE30VqIqzAvjDtk5UMKUZHENqd81nWMFx3h0giSBlDQcWq4oMNAYCu375X4P9fGCUHKxDCxborII5C+4FaNkfQyIoJ1BOCcWz3H94fQIUc+16RjClwH7VuQWn3uA9lU3gV5OG/hF2ip5yd+kqa9rljUdWNhz6kBesjn7/5a36LlC3w5SULwXr4LwoZRYFjQl7tjkmBLUcGAL8ybj4HXfpZ8HG/QxnQDGSInK8IdL+oaCUxyRTI3pYgJZQ6VNGzG88vNJZ+ByOKk3BhqKqnx6WA05f9QZwtqHGYi6S3zGGvHCSt7Sp9POmIx+Hmg4aE0eCArsOLGk49AF4YDlQBx4HFLVu9wIgiadyDcgvXElT6SfG+CF+53a4Nr9zG2+ws4JJ8h9rPPSROW28OXUCEAlcNLp3wL8+M3XWXFBskGr4LASWBscFcsiF5FqP8tbBrUdlFMGUKvkqwQPTKkFJ2NNAoZGv4uiGW8GtQXVvOPg+7LRmTsq85B1r9lRz2oT0sW8kD5sHBFNbtpGyLKeE3J6jX4OBjB/4W5ROhkGNlob4oRBVWtKvAGXDnOlMh1mBQ6kc7aByjYeXw00hcfDv0C+qi8PhGRyyXjCngfp5jq6GOFRnybKkXxnyljUeXqZKPqN9EJwRzg4houvAYrwoEEpIE8kxgzYUscn1y9/hGT5uy53O6Szx592TOupFvBaQ3egYEpc5BQ4iGJP1tgGa2lNQEvYcDaF2soIFrGBD8bugh1D7Q+5Dnop/+2v+o4hub+Vab80mCPnYFpmNWCKP9b+85dzzkj1vRtLQx1FuMka197lVDtT6nVutmZOtWVNwn4ES5UCD0W2kYGv19kGZl7ydeeli8KXwbkPxkrjsqfBZnNEMCbXOkmnNnOIu+9yUNAoO6zu2CcLOYMNeY8KF/rptcBep2/uaDH8CJ/DGFG/1D75j/1FlvxxqVEKNYESxtv8C3hUuz5Q02pZ3C0hoZcHDSrAO7ixwBNBGW5+ZQHVdXN/4/nfDZ2mdoDFhD7fKKGDJUkY8DcbN3u92yV8DtRlsJFhERfTo7QM8FV9DKU6Ii85rCLGWHEJpUfVxfb1V6yvdR8DOAWHicm4EPfFUroW36ve9Ycm8BmVVC2uLCpGhMXGE6DmCm9BI9iWd6Clx7l4A7wKNOcEa8hyu37fInHIp7CenAnNbveX/pYx82mAbGGz6BZ5ZhjUljjAmDjfYB7mKF/trNvOGBDim3pYHog2WGNEeJ/MEvwou2mb6VXXBI5LkA1cMNxeUJ07BfYmqCKcmLTFwu4kfcC/wkLbKUBL2uA6yHNTU2p3/g7Kvi2456EwZ/j841ygP4oBT9CforH0gXoJ3m3nIcnLILXpKTSnjQHzgU47+d7GCWZV99fvfBKaB0ws2HrBkTEZp3uUADzGhqoLFTLzgd7U754vecpxSGh1HlTwB126gDT4+7LZ4qr6F8M9gH6iSoQI4EyHEeO7yL+qKXjWlXJxy0ZNVPz0Kl5dx6RLgPFxt+KIggpX8tT//Ga4tNf95d8XnnqP/1tsHpo1+Fa8RYvRVb4KLsedOJ4nlE89/lNc7yEelQI0SdKkobqSgJOxxLWR5I9RCU1I+CItgyeR4s1S3w973dmCIInr1cf0c590FsiaLDSwTLYZsU8mqlJHPeMpXg2pZ0i4Ho+ip/FaVRXPKJQwjg+xYM6/2Vq3DdpQlI2PI+hwtz27SW3OxIFvD+xRRkXx4HQ4e9+mhwQDgP+FGoLf3Txw8By7J3u82b9UG1FniLiFDZODIQMtA/c8Qm8AdAcJatIKAzgZ3iqCrEDEcxZ+omGDJcvS9XTCn1xY+i/ajHvwgGNqEgbNQbl8KSsIeBiiDNWWco//9EMiJ3hLP0a/jsq+3590Sch+o3/uG37A1adiTovuI6C1rlTYfSOKr2dRU8knamL9Jvio51BCoLwQCK6oXJQVWVUf/u3md3V32BZTEtlAH/OEN8UBsLY0iBH4QkqWOegmF9YIFojhgfsKgh3hjksFxgeQtVyQvsNSSeilsWLOuix80O1C/s3rrMkva+JTh81FSejkg+4cFm4oFc6bRMURRgmljXgNrWrX5YdBwS9oVQp8MUDlLxpUoVgzWIydtSNIhF70h1LhfDjZChGlOvRTOa06bAE6Y2lFKwh5v0eKNfud2v3MHaTxkFAUcGjDHW/09vETN94oYqNsBSsW2WQ4VqjPU2mDDPpBQiAOh6qOhJywvBarhsLwh0blnAUgNUlol5NzzssF+PurlFxvDhwIvKgfd5f+CuA6vn6OgXgSWF31V8J679FM0DgYl7WatWddCYV/Nj4H9i5D0MQxsw3UaE4ZZIexkuYBrp86aA8WCrt31++GS9mJ5VOGqdOYM4Jg1Y1KoqTgUckm+Y7W7nvZVb4Aj48z/qN8FQl84ZuPh5d7q9WjddYoTC21K107DloPiRBwpCtgi8R5pwMSBFmpTgfAJL0ShjzG+GXk5+NeyDM6/LYdQouvIOie4mITWW0buN+rjUW2nZD09tAgEWdESQlPS86HIZDgUycCvNa2ikeKMyqEVqXj8EuXGj5RhteuDU5O0/PgvkrAsG5ubeVUxMvqUwwykSkiV8HTcwlqk2Y60c5Ah0ahfPsKr9lt2IHjTyrfUyVYvWcbQzsfbjJxuuVAzXvUSDZprs1Q6WhOCnFqNvNS3PUVkmXWyzoSKpJXnWwSlrMBq4SgFJWHvYXU3F2a79i7bTZdEcUKhDf0KKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoKAkpKCgoCSkoziES0iRZFBSnFQKndzBtZp1SUFD0GP5PgAEA8+hNdY/TKUcAAAAASUVORK5CYII=' diff --git a/PublicReference/utils/lan.py b/PublicReference/utils/lan.py deleted file mode 100644 index 9a44c930..00000000 --- a/PublicReference/utils/lan.py +++ /dev/null @@ -1,44 +0,0 @@ -from ctypes import sizeof -from operator import le -import os -import json - - -class Language(): - def __init__(self): - self.dicts = {} - self.dicts[""] = "" - pass - - def load_json(self, path): - if os.path.exists(path): - with open(path, encoding='utf-8') as fp: - self.dicts.update(json.load(fp)) - fp.close() - - def __getitem__(self, key): - return self.dicts.get(key, key) - - ## key: 原始文本 使用{word}的格式 可以格式化为对应的值 - ## **kwargs: 键值对可变参数 在{word} 之前 将#key转换为对应的value - def trans(self, text, **kwargs): - if isinstance(text, list): - return list(map(lambda i: self.trans(i, **kwargs), text)) - text = str(text) - value = text - if self.dicts.__contains__(text): - value = self.dicts.get(text) - if value == '': - value = text - else: - for kw in kwargs.keys(): - _old = "${}".format(kw) - _new = str(kwargs.get(kw)) - text = text.replace(_old, _new) - try: - value = text.format_map(self) - except Exception: - # 后续待完善 - return value - value = value.replace("$", "{}") - return value diff --git a/PublicReference/utils/log.py b/PublicReference/utils/log.py deleted file mode 100644 index 7fae3445..00000000 --- a/PublicReference/utils/log.py +++ /dev/null @@ -1,51 +0,0 @@ -import logging - -import pathlib -import sys - -from typing import Callable -from functools import wraps - -########################################################### -# logging # -########################################################### -logFormatter = logging.Formatter( - "%(asctime)s %(levelname)-5.5s [%(name)s] %(funcName)s:%(lineno)d: %(message)s" -) -logger = logging.getLogger() -logger.setLevel(logging.DEBUG) -logger.name = "DNFCalculating" - -log_directory = "logs" -try: - pathlib.Path(log_directory).mkdir(parents=True, exist_ok=True) -except PermissionError as err: - print("创建日志目录logs失败,请确认是否限制了基础的运行权限") - sys.exit(-1) - - -def try_except(show_exception_info=True, - show_last_process_result=True, - extra_msg="", - return_val_on_except=None) -> Callable: - def decorator(fun): - @wraps(fun) - def wrapper(*args, **kwargs): - try: - return fun(*args, **kwargs) - except Exception as e: - msg = f"执行{fun.__name__}({args}, {kwargs})出错了" - if extra_msg != "": - msg += ", " + extra_msg - # msg += check_some_exception(e, show_last_process_result) - - logFunc = logger.error - if not show_exception_info: - logFunc = logger.debug - logFunc(msg, exc_info=e) - - return return_val_on_except - - return wrapper - - return decorator diff --git a/PublicReference/utils/minheap.py b/PublicReference/utils/minheap.py deleted file mode 100644 index a9377a20..00000000 --- a/PublicReference/utils/minheap.py +++ /dev/null @@ -1,76 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ------------------------------- -# File : minheap -# DateTime : 2020/6/10 0010 20:58 -# Author : Chen Ji -# Email : fzls.zju@gmail.com -# ------------------------------- -import time -# 用于实现排行的最小堆 -from heapq import heapify, heappush, heappushpop -from multiprocessing import Queue - -# 工作进程与主进程的数据传输配置 -# 批量向主进程传输计算结果(已本地预处理过)的大小 -batch_size = 100 -# 倍增阶段的临界批量大小 -batch_stage_double_upper_bound = 6400 -# 累加阶段每次增加的批量大小 -batch_linear_increase_size = 100 -# 预期数据传输队列的最大大小 -expected_qsize = 100 - - -class MinHeap: - def __init__(self, top_n, batch_size): - self.h = [] - self.length = top_n - heapify(self.h) - - self.processed_result_count = 0 - self.batch_size = batch_size - - def add(self, element): - if len(self.h) < self.length: - heappush(self.h, element) - else: - heappushpop(self.h, element) - - def getTop(self): - return sorted(self.h, reverse=True) - - def merge(self, other): - """ - 合并另一个堆 - @type other MinHeap - """ - for elem in other.h: - self.add(elem) - self.processed_result_count += other.processed_result_count - self.batch_size = other.batch_size - - def reset(self): - self.h = [] - heapify(self.h) - - self.processed_result_count = 0 - - def update_batch_size(self): - if self.batch_size < batch_stage_double_upper_bound: - self.batch_size *= 2 - else: - self.batch_size += batch_linear_increase_size - - -class MinHeapWithQueue: - def __init__(self, name: str, minheap: MinHeap, minheap_queue: Queue): - self.name = name - self.minheap = minheap - self.minheap_queue = minheap_queue - - self.start_time = time.time() - - def process_results_per_second(self) -> float: - return float(self.minheap.processed_result_count) / ( - time.time() - self.start_time + 1e-6) diff --git a/PublicReference/utils/producer_consumer.py b/PublicReference/utils/producer_consumer.py deleted file mode 100644 index e8b96bdd..00000000 --- a/PublicReference/utils/producer_consumer.py +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- -# ------------------------------- -# File : producer_consumer -# DateTime : 2020/6/7 0007 12:04 -# Author : Chen Ji -# Email : fzls.zju@gmail.com -# ------------------------------- -import multiprocessing -import traceback - -from .log import logger - -thread_num = multiprocessing.cpu_count() -thread_task = 4 - - -class ProducerData: - def __init__(self): - self.work_queue = None # type: multiprocessing.JoinableQueue - self.calc_index = 0 - self.produced_count = 0 - - -producer_data = ProducerData() - - -def producer(*args): - producer_data.work_queue.put((producer_data.calc_index, args)) - - producer_data.produced_count += 1 - # logger.info("producer put %3dth work into work queue", producer_data.produced_count) - - -def consumer(work_queue, work_func): - """ - @type work_queue: multiprocessing.JoinableQueue - """ - current_process = multiprocessing.current_process() - - # logger.info("work thread={} started, ready to work".format(current_process)) - current_calc_index = 0 - processed_count = 0 - continue_wrok = True - while continue_wrok: - try: - calc_index, args = work_queue.get() - if calc_index != current_calc_index: - current_calc_index = calc_index - processed_count = 0 - processed_count += 1 - # logger.info("work thread {} processing {}th work".format(current_process, processed_count)) - - work_func(*args) - except BrokenPipeError as error: - # 这个一般是程序退出的时候发生的,这种情况直接退出 - logger.warning("work thread={} BrokenPipeError quit job".format( - current_process)) - continue_wrok = False - except Exception as error: - logger.error( - "work thread {} error={} processed count={}\n detail {}". - format(current_process, error, processed_count, - traceback.print_exc())) - # logger.error("work thread {} error={} processed count={}\n".format(current_process, error, processed_count)) - finally: - work_queue.task_done() - - # logger.info("work thread ={} stopped, processed_count={}".format(current_process, processed_count)) diff --git a/PublicReference/utils/storex.py b/PublicReference/utils/storex.py deleted file mode 100644 index a0e77c04..00000000 --- a/PublicReference/utils/storex.py +++ /dev/null @@ -1,176 +0,0 @@ -## -## -## 用于存储数据,及组件间通信 -# Author: Apateat -## -## -from copy import copy -import re - - -class Store: - def __init__(self): - self.__states = {} - self.last_state = None - pass - - # 设置值 - def set(self, key: str, value: any): - field = self.__get_field__(key) - field.setValue(value) - return self - - # 获取值 - def get(self, key: str, defaultValue: any = None): - field = self.__get_field__(key) - _value = field.getValue() - if _value is None: - _value = defaultValue - return _value - - def __getitem__(self, __key: str): - return self.get(__key) - - # 获取一个克隆值 - def clone(self, key: str, defaultValue: any = None): - value = self.get(key, defaultValue) - return copy(value) - - # 主动通知变化 - def emit(self, key: str, value: any = None): - field = self.__get_field__(key) - field.emit(value) - return self - - # 找到首个不为空的值 - def first(self, *names): - value = None - for name in names: - value = self.get(name) - if value is not None: - break - return value - - # 计算属性 - def compute(self, key: str, getter, setter=None): - field = self.__get_field__(key) - field.apply(setter) - field.getter = getter - return self - - # 获取值并设置值 - def use(self, key: str, handle): - if callable(handle): - value = handle(self.get(key)) - self.set(key, value) - return self - - # 批量修改整个集合 - def convert(self, key: str, handle): - return self.use(key, lambda value: list(map(handle, value))) - - # 绑定对象的属性 - def bind(self, obj: object, name: str, key=None, defaultValue: any = None): - def getter(): - return getattr(obj, name) - - def setter(value): - setattr(obj, name, value) - - # 如果属性不存在 则初始化 - if hasattr(obj, name) is False or defaultValue is not None: - setattr(obj, name, defaultValue) - - return self.compute(key, getter, setter) - - # 根据指定的条件删除 - def delete(self, pattern=None): - match = lambda _: True - if pattern is not None: - if callable(pattern): - match = pattern - elif isinstance(pattern, str): - match = lambda s: re.match(pattern, s) - keys = list(filter(match, self.__states.keys())) - for key in keys: - self.__states.pop(key) - return self - - # 根据指定的条件导出 - def exports(self, match=lambda _: True): - result = {} - for key in self.__states.keys(): - if match(key): - result[key] = self.get(key) - return result - - # 导入 - def imports(self, pairs: dict = {}, prefix=''): - for key in pairs.keys(): - self.set(prefix + str(key), pairs[key]) - return self - - # 只读属性 - def const(self, key: str, value: any): - return self.compute(key, lambda: value) - - # 监听值的变化 - def watch(self, key: str, valueChanged): - return self.compute(key, None, valueChanged) - - def linstener(self, key: str): - def change(value): - self.set(key, value) - pass - - return change - - def __get_field__(self, key: str): - field = None - if re.search("\{\w+\}", key): - key = key.format_map(self) - if self.__states.__contains__(key): - field = self.__states[key] - else: - field = Store.Field() - self.__states[key] = field - self.last_state = (key, field) - return field - - class Field: - def __init__(self, value=None): - self.__value = None - self.getter = None - self.valueChangeds = [] - self.locked = False - self.setValue(value) - pass - - def setValue(self, value): - if self.locked: - return - self.locked = True - self.__value = value - self.emit(value) - self.locked = False - return self - - def getValue(self): - if callable(self.getter): - self.__value = self.getter() - return self.__value - - def emit(self, value=None): - if value is None: - value = self.getValue() - for valueChanged in self.valueChangeds: - if (callable(valueChanged)): - valueChanged(value) - return - - def apply(self, valueChanged): - if callable(valueChanged): - self.valueChangeds.append(valueChanged) - - -store = Store() diff --git a/PublicReference/utils/uniqueCode.py b/PublicReference/utils/uniqueCode.py deleted file mode 100644 index 7ddc5ca5..00000000 --- a/PublicReference/utils/uniqueCode.py +++ /dev/null @@ -1,18 +0,0 @@ -import hashlib -import sys -from .storex import store - - -def get_mac_address(): - try: - import wmi - uniqueCode = store.get("uniqueCode") - if uniqueCode == None: - w = wmi.WMI() - uniqueCode = hashlib.md5( - w.Win32_DiskDrive()[0].SerialNumber.encode( - encoding='UTF-8')).hexdigest() - store.set("uniqueCode", uniqueCode) - return uniqueCode - except: - return '' diff --git a/PublicReference/utils/usage_counter.py b/PublicReference/utils/usage_counter.py deleted file mode 100644 index e8973fe5..00000000 --- a/PublicReference/utils/usage_counter.py +++ /dev/null @@ -1,185 +0,0 @@ -# 使用次数统计脚本 -import os -import platform -import threading -import uuid -from functools import wraps -from typing import Any, Callable, Tuple -from urllib.parse import quote_plus -from .config import currentVersion -import sys - -import requests - -from .log import logger, try_except - -# ---------------- 需要自行调整的配置 -------------------------------- -# Google Analytics 统计代码的UA,在 https://analytics.google.com/ 申请新的ua,具体流程可百度 -GA_TRACKING_ID = "UA-212229431-1" -# ua名称,自定义 -USER_AGENT = "DNFCalculating" -# 应用名称,自定义 -APP_NAME = "DNFCalculating" -# 网址域名,自定义 -DOCUMENT_HOSTNAME = "dnf-calculating.com" -# 版本号,可以使用现在的版本变量 -APP_VERSION = currentVersion - -# ---------------- 枚举定义 -------------------------------- -GA_API_URL = "https://www.google-analytics.com/collect" - -GA_REPORT_TYPE_EVENT = "event" -GA_REPORT_TYPE_PAGE_VIEW = "page_view" - -# ---------------- utils -------------------------------- - - -def async_call(cb, *args, **params): - threading.Thread(target=cb, args=args, kwargs=params, daemon=True).start() - - -def get_cid(): - return "{}-{}".format(platform.node(), uuid.getnode()) - - -def get_resolution() -> str: - width, height = get_screen_size() - return f"{width}x{height}" - - -def get_screen_size() -> Tuple[int, int]: - """ - :return: 屏幕宽度和高度 - """ - if not is_windows(): - return 1920, 1080 - - import win32api - width, height = win32api.GetSystemMetrics(0), win32api.GetSystemMetrics(1) - return width, height - - -def is_windows() -> bool: - return platform.system() == "Windows" - - -# ---------------- 接口封装 -------------------------------- - - -def increase_counter(name: Any = "", - ga_type=GA_REPORT_TYPE_EVENT, - ga_category="", - ga_misc_params: dict = None): - if "main.py" in sys.argv[0]: - return - name = str(name) - - if name == "": - raise AssertionError("increase_counter name not set") - - async_call(increase_counter_sync_google_analytics, name, ga_type, - ga_category, ga_misc_params) - - -@try_except(show_exception_info=False) -def increase_counter_sync_google_analytics(name: str, ga_type: str, - ga_category: str, - ga_misc_params: dict): - # 上报谷歌分析 v3 - logger.debug(f"report to google analytics v3, name = {name}") - - if ga_type == GA_REPORT_TYPE_EVENT: - if ga_category == "": - # 如果ga_category为空,则尝试从name中解析,假设name中以/分隔的第一个部分作为ga_category - parts = name.split('/', 1) - if len(parts) == 2: - ga_category, name = parts - else: - ga_category = "counter" - track_event(ga_category, name, ga_misc_params) - elif ga_type == GA_REPORT_TYPE_PAGE_VIEW: - track_page(name, ga_misc_params) - else: - logger.error(f"unknow ga_type={ga_type}") - - -# ---------------- Google Analytics 上报脚本 -------------------------------- - -# note: 查看数据地址 https://analytics.google.com/analytics/web/#/ -# note: 当发现上报失败时,可以将打印的post body复制到 https://ga-dev-tools.web.app/hit-builder/ 进行校验,看是否缺了参数,或者有参数不符合格式 -# note: 参数文档 https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters - -headers = { - "user-agent": USER_AGENT, -} - -common_data = { - 'v': '1', # API Version. - 'tid': GA_TRACKING_ID, # Tracking ID / Property ID. - 'cid': get_cid( - ), # Anonymous Client Identifier. Ideally, this should be a UUID that is associated with particular user, device, or browser instance. - 'ua': USER_AGENT, - 'an': APP_NAME, - 'av': APP_VERSION, - 'ds': 'app', - 'sr': get_resolution(), -} - - -@try_except(show_exception_info=False) -def track_event(category: str, - action: str, - label=None, - value=0, - ga_misc_params: dict = None): - if ga_misc_params is None: - ga_misc_params = {} - - data = { - **common_data, - 't': 'event', # Event hit type. - 'ec': category, # Event category. - 'ea': action, # Event action. - 'el': label, # Event label. - 'ev': value, # Event value, must be an integer - **ga_misc_params, # 透传的一些额外参数 - } - - res = requests.post(GA_API_URL, data=data, headers=headers, timeout=10) - logger.debug(f"request body = {res.request.body}") - - -@try_except(show_exception_info=False) -def track_page(page: str, ga_misc_params: dict = None): - if ga_misc_params is None: - ga_misc_params = {} - - page = quote_plus(page) - data = { - **common_data, - 't': 'pageview', # Event hit type. - 'dh': DOCUMENT_HOSTNAME, # Document hostname. - 'dp': page, # Page. - 'dt': "", # Title. - **ga_misc_params, # 透传的一些额外参数 - } - - res = requests.post(GA_API_URL, data=data, timeout=10) - logger.debug(f"request body = {res.request.body}") - - -# ---------------- test -------------------------------- - - -def test(): - increase_counter("test_event", GA_REPORT_TYPE_EVENT) - increase_counter("test_page_view", GA_REPORT_TYPE_PAGE_VIEW) - - # track_event("example", "test") - track_page("/example/test_quote") - - os.system("PAUSE") - - -if __name__ == '__main__': - test() diff --git a/PublicReference/utils/watermark_def.py b/PublicReference/utils/watermark_def.py deleted file mode 100644 index 072456a0..00000000 --- a/PublicReference/utils/watermark_def.py +++ /dev/null @@ -1,17 +0,0 @@ -# 水印附近背景色-排行榜界面 -watermark_surrounding_backgroud_color_ranking = (21, 39, 65) -# 水印附近背景色-详情界面 -watermark_surrounding_backgroud_color_detail = (27, 14, 6) -# 水印与背景色的偏差值 -watermark_delta = -5 -# 考虑到图片压缩,水印色彩允许的上下偏移值 -watermark_tolerance_value = 1 -# 替换为显著颜色 -reverse_color = (255, 255, 255) - - -def make_watermark_qt_color_string( - watermark_surrounding_backgroud_color: tuple): - color_str = ', '.join((str(rgb + watermark_delta) - for rgb in watermark_surrounding_backgroud_color)) - return f"color:rgb({color_str})" diff --git a/PublicReference/view/Dialog.py b/PublicReference/view/Dialog.py deleted file mode 100644 index 896a0e46..00000000 --- a/PublicReference/view/Dialog.py +++ /dev/null @@ -1,139 +0,0 @@ -from PublicReference.view.Page import Page - -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from ..utils.constant import 标题背景, 标题字体 - -# title bar -TITLE_BAR_HEIGHT = 25 -TITLE_BUTTON_SIZE = 25 -TITLE_LABEL_SIZE = 25 -TITLE_BUTTON_WIDTH = 25 -TITLE_BUTTON_HEIGHT = 25 -TITLE_ICON_MAG = 10 - -RES_PATH = './ResourceFiles/img/UI/' - -TITLE_MIN_ICON = RES_PATH + "min.png" -TITLE_CLS_ICON = RES_PATH + "exit.png" - -WINDOW_DEFAULT_WIDTH = 800 -WINDOW_DEFAULT_HEIGHT = 480 - - -class Dialog(QMainWindow): - def __init__(self, client: Page): - super().__init__() - - self.hideOnClose = False - - icon = client.windowIcon() - - titleBar = self.createTitleBar() - - titleBar.setTitle(client.windowTitle()) - titleBar.setWidth(client.width()) - - titleBar.setIcon(icon.pixmap(icon.actualSize(QSize(32, 32)))) - - lay = QVBoxLayout() - lay.addWidget(titleBar) - lay.addWidget(client) - lay.setStretch(1, 100) - lay.setSpacing(0) - lay.setContentsMargins(0, 0, 0, 0) - - center = QWidget(self) - center.setLayout(lay) - - self.setCentralWidget(center) - self.setWindowTitle(client.windowTitle()) - self.setWindowIcon(icon) - self.setWindowFlags(Qt.FramelessWindowHint) - - def createTitleBar(self): - titleBar = QWidget() - titleBar.setStyleSheet('''QWidget{background:transparent}''') - label = QLabel(titleBar) - label.setStyleSheet(标题背景) - iconLabel = QLabel(titleBar) - titleLabel = QLabel(titleBar) - iconLabel.setText('纸飞机计算器') - # self.titleLabel.setStyleSheet('''QLabel{color:#9f8d5c}''') - - minButton = QPushButton(titleBar) - # restoreButton = QPushButton(self) - closeButton = QPushButton(titleBar) - - minButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE) - # self.restoreButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE); - closeButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE) - - iconLabel.setFixedSize(TITLE_LABEL_SIZE, TITLE_LABEL_SIZE) - iconLabel.setStyleSheet(标题字体) - - titleLabel.setFixedHeight(TITLE_LABEL_SIZE) - titleLabel.setStyleSheet(标题字体) - - iconLabel.setAlignment(Qt.AlignCenter) - titleLabel.setAlignment(Qt.AlignCenter) - - minButton.setIcon(QIcon(TITLE_MIN_ICON)) - closeButton.setIcon(QIcon(TITLE_CLS_ICON)) - - minButton.clicked.connect(self.showMinimized) - # self.restoreButton.clicked.connect(self.ShowRestoreWindow) - closeButton.clicked.connect(self.close) - - lay = QHBoxLayout(titleBar) - - lay.setSpacing(0) - lay.setContentsMargins(0, 0, 0, 0) - - lay.addWidget(iconLabel) - lay.addWidget(titleLabel) - lay.addWidget(minButton) - # self.lay.addWidget(self.restoreButton) - lay.addWidget(closeButton) - - titleBar.setLayout(lay) - - def setTitle(text): - titleLabel.setText(text) - - def setTitleStyle(style): - titleLabel.setStyleSheet(style) - - def setIcon(icon): - iconLabel.setPixmap( - icon.scaled(iconLabel.size() - - QSize(TITLE_ICON_MAG, TITLE_ICON_MAG))) - - def setWidth(width): - label.resize(width, TITLE_BAR_HEIGHT) - - titleBar.setTitle = setTitle - titleBar.setTitleStyle = setTitleStyle - titleBar.setIcon = setIcon - titleBar.setWidth = setWidth - - return titleBar - - def setHideOnClose(self, hideOnClose): - self.hideOnClose = hideOnClose - - def showEvent(self, event): - parent = self.parent() - if parent is not None: - rect = parent.geometry() - x = rect.x() + rect.width() / 2 - self.width() / 2 - y = rect.y() + rect.height() / 2 - self.height() / 2 - self.move(int(x), int(y)) - return super().showEvent(event) - - def closeEvent(self, event): - if (self.hideOnClose): - self.hide() - return - return super().closeEvent(event) diff --git a/PublicReference/view/DialogRegister.py b/PublicReference/view/DialogRegister.py deleted file mode 100644 index d1cb186d..00000000 --- a/PublicReference/view/DialogRegister.py +++ /dev/null @@ -1,36 +0,0 @@ -from .Page import Page -from .Dialog import * -from PyQt5.QtCore import * - - -class DialogRegister: - def __init__(self): - self.dialogs = {} - - def showDialog(self, name: str, client: Page, parent=None): - if self.dialogs.__contains__(name) == False: - if callable(client): # 如果传入函数 可以懒加载 - client = client() - dialog = Dialog(client) - client.setWindow(dialog) - dialog.setHideOnClose(True) - dialog.setWindowModality(Qt.WindowModality.WindowModal) - if (parent is not None): - dialog.setParent(parent) - self.dialogs[name] = dialog - self.dialogs[name].show() - - def dispose(self): - for name in self.dialogs.keys(): - dialog: Dialog = self.dialogs[name] - dialog.setHideOnClose(False) - dialog.close() - self.dialogs.clear() - - def close(self, name: str): - if self.dialogs.__contains__(name): - dialog = self.dialogs[name] - dialog.close() - - -DefaultDialogRegister = DialogRegister() diff --git a/PublicReference/view/MainWindow.py b/PublicReference/view/MainWindow.py deleted file mode 100644 index 8e1ce174..00000000 --- a/PublicReference/view/MainWindow.py +++ /dev/null @@ -1,50 +0,0 @@ -import sys -from .TitleBar import * - - -class MainWindow(QMainWindow): - def __init__(self, client): - super().__init__() - self.InitializeWindow(client) - - def InitializeWindow(self, client): - self.setWindowTitle(client.windowTitle()) - self.icon = client.windowIcon() - self.setWindowIcon(self.icon) - self.setWindowFlags(Qt.FramelessWindowHint) - self.InitializeViews(client) - - def InitializeViews(self, client): - self.client = client - self.titleBar = TitleBar(self) - self.center = QWidget(self) - self.setCentralWidget(self.center) - - self.lay = QVBoxLayout() - self.center.setLayout(self.lay) - - self.lay.addWidget(self.titleBar) - self.lay.addWidget(self.client) - self.lay.setStretch(1, 100) - self.lay.setSpacing(0) - self.lay.setContentsMargins(0, 0, 0, 0) - - self.titleBar.SetTitle(client.windowTitle()) - self.titleBar.SetWidth(client.width()) - - self.titleBar.SetIcon( - self.icon.pixmap(self.icon.actualSize(QSize(32, 32)))) - - def closeEvent(self, event): - self.client.close() - super().close() - - # def LoadStyleFromQss(self, f): - # file = open(f) - # lines = file.readlines() - # file.close() - # res = '' - # for line in lines: - # res += line - - # return res diff --git a/PublicReference/view/NotificationButton.py b/PublicReference/view/NotificationButton.py deleted file mode 100644 index d2f8f7fc..00000000 --- a/PublicReference/view/NotificationButton.py +++ /dev/null @@ -1,24 +0,0 @@ -from PyQt5.QtGui import * -from PublicReference.common import * - - -class ConfirmButton(QPushButton): - def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) - self.setEnabled(False) - # self.setText("test") - self.time = QTimer(self) - self.count = 10 - self.time.setInterval(1000) - self.time.timeout.connect(self.Refresh) - self.time.start() - - def Refresh(self): - # print(self.count) - if self.count > 0: - self.setText("(" + str(self.count) + "s) 确认") - self.count -= 1 - else: - self.time.stop() - self.setEnabled(True) - self.setText("确认") diff --git a/PublicReference/view/Page.py b/PublicReference/view/Page.py deleted file mode 100644 index a3bd9ba8..00000000 --- a/PublicReference/view/Page.py +++ /dev/null @@ -1,21 +0,0 @@ -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * - - -class Page(QWidget): - def setName(self, name): - self.__name = name - - def name(self): - return self.__name - - def setWindow(self, window: QWindow): - self.__window = window - - def window(self): - return self.__window - - def closeWindow(self): - if self.__window is not None: - self.__window.close() diff --git a/PublicReference/view/TitleBar.py b/PublicReference/view/TitleBar.py deleted file mode 100644 index e40a3e3e..00000000 --- a/PublicReference/view/TitleBar.py +++ /dev/null @@ -1,132 +0,0 @@ -import sys -from PyQt5.QtCore import * -from PyQt5.QtWidgets import * -from PyQt5.QtGui import * -from PublicReference.utils.constant import 标题背景, 标题字体 - -RES_PATH = './ResourceFiles/img/UI/' - -# title bar -TITLE_BAR_HEIGHT = 25 -TITLE_BUTTON_SIZE = 25 -TITLE_LABEL_SIZE = 25 -TITLE_BUTTON_WIDTH = 25 -TITLE_BUTTON_HEIGHT = 25 -TITLE_ICON_MAG = 10 - -TITLE_MIN_ICON = RES_PATH + "min.png" -TITLE_CLS_ICON = RES_PATH + "exit.png" - -WINDOW_DEFAULT_WIDTH = 800 -WINDOW_DEFAULT_HEIGHT = 480 - - -class TitleBar(QWidget): - def __init__(self, parent): - super(TitleBar, self).__init__() - self.win = parent - self.InitializeWindow() - - def InitializeWindow(self): - self.isPressed = False - self.setFixedHeight(TITLE_BAR_HEIGHT) - self.InitializeViews() - pass - - def InitializeViews(self): - - self.setStyleSheet('''QWidget{background:transparent}''') - self.label = QLabel(self) - self.label.setStyleSheet(标题背景) - self.iconLabel = QLabel(self) - self.titleLabel = QLabel(self) - self.iconLabel.setText('纸飞机计算器') - # self.titleLabel.setStyleSheet('''QLabel{color:#9f8d5c}''') - - self.minButton = QPushButton(self) - self.restoreButton = QPushButton(self) - self.closeButton = QPushButton(self) - - self.minButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE) - # self.restoreButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE); - self.closeButton.setFixedSize(TITLE_BUTTON_SIZE, TITLE_BUTTON_SIZE) - - self.iconLabel.setFixedSize(TITLE_LABEL_SIZE, TITLE_LABEL_SIZE) - self.titleLabel.setFixedHeight(TITLE_LABEL_SIZE) - - self.iconLabel.setAlignment(Qt.AlignCenter) - self.titleLabel.setAlignment(Qt.AlignCenter) - - self.minButton.setIcon(QIcon(TITLE_MIN_ICON)) - self.closeButton.setIcon(QIcon(TITLE_CLS_ICON)) - - self.minButton.clicked.connect(self.ShowMininizedWindow) - # self.restoreButton.clicked.connect(self.ShowRestoreWindow) - self.closeButton.clicked.connect(self.CloseWindow) - - self.lay = QHBoxLayout(self) - self.setLayout(self.lay) - - self.lay.setSpacing(0) - self.lay.setContentsMargins(0, 0, 0, 0) - - self.lay.addWidget(self.iconLabel) - self.iconLabel.setStyleSheet(标题字体) - self.lay.addWidget(self.titleLabel) - self.titleLabel.setStyleSheet(标题字体) - self.lay.addWidget(self.minButton) - # self.lay.addWidget(self.restoreButton) - self.lay.addWidget(self.closeButton) - - def ShowMininizedWindow(self): - self.win.showMinimized() - - def SetWidth(self, width): - self.label.resize(width, TITLE_BAR_HEIGHT) - - def ShowMaximizedWindow(self): - self.win.showMaximized() - - def ShowRestoreWindow(self): - if self.win.isMaximized(): - self.win.showNormal() - else: - self.win.showMaximized() - - def CloseWindow(self): - self.win.close() - - def SetTitle(self, str): - self.titleLabel.setText(str) - - def SetTitleStyle(self, str): - self.titleLabel.setStyleSheet(str) - - def SetIcon(self, pix): - self.iconLabel.setPixmap( - pix.scaled(self.iconLabel.size() - - QSize(TITLE_ICON_MAG, TITLE_ICON_MAG))) - - # def mouseDoubleClickEvent(self, event): - # self.ShowRestoreWindow() - # return QWidget().mouseDoubleClickEvent(event) - - def mousePressEvent(self, event): - self.isPressed = True - self.startPos = event.globalPos() - return QWidget().mousePressEvent(event) - - def mouseReleaseEvent(self, event): - self.isPressed = False - return QWidget().mouseReleaseEvent(event) - - def mouseMoveEvent(self, event): - if self.isPressed: - if self.win.isMaximized: - self.win.showNormal() - - movePos = event.globalPos() - self.startPos - self.startPos = event.globalPos() - self.win.move(self.win.pos() + movePos) - - return QWidget().mouseMoveEvent(event) diff --git a/README.md b/README.md index 1b63736a..899a56bb 100644 --- a/README.md +++ b/README.md @@ -1,127 +1,36 @@ -## 简介 - -此项目为 DNF 装备搭配及伤害计算提供便利的工具 -执行程序下载:https://wwx.lanzoux.com/b01bfj76f 或 https://www.lanzoux.com/b01bfj76f -python(3.8)编写,使用 pyqt5 图形 GUI 库 -主框架由纸飞机实现,西瓜协助修改,SCUDRT 对算法进行优化修改,风之凌殇添加多进程优化 - -## 依赖安装 - -安装[Python](https://www.python.org/),计算器开发使用的是 3.8 版本 -安装项目依赖 - -## 其余注意 - -择优相关加速,需自行将 PublicReference/preferred 的 C++ 的程序需要自己编译为 DLL 然后放到 InternalFile/DLL 目录 - -> pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt - - - -## macOS 下运行方式 - -        直接在`Finder`中双击`run_mac.command`即可运行。 - -        或者在`终端(Terminal)`中,执行命令`python3.8 main.py`即可运行。 - -## 程序结构 - -|--  DNFCalculating -    |--  .gitignore -    |--  .gitmodules -    |--  .editorconfig -    |--  run_mac.command:macOS 下运行脚本 -    |--  CHANGELOG.md:程序更新记录 -    |--  LICENSE:开源许可 -    |--  main.py:程序主入口 -    |--  README.md:程序说明 -    |--  requirements.txt:项目依赖包 -    |--  Characters:职业实现目录 -    |--  PublicReference:公有引用方法 -    |   |--  base.py:输出职业公有实现方法 -    |   |--  base.py:奶系职业公有实现方法 -    |   |--  panel.py:奶系切装功能实现 -    |   |--  common.py:界面公有实现方法 -    |   |--  \_\_init\_\_.py:初始化文件,启用多线程及日志记录 -    |   |--  choise:选项设置 -    |   |   |-- 细节选项.py -    |   |   |-- 选项设置.py -    |   |   |-- 选项设置\_buff.py -    |   |--  equipment:装备设置 -    |   |   |--  basic_equ.py:装备公有类 -    |   |   |--  equ_list.py:装备列表 -    |   |   |-- 基础函数.py:各类隐藏基础公式 -    |   |   |-- 宠物.py -    |   |   |-- 宠物\_buff.py -    |   |   |-- 武器融合.py -    |   |   |-- 武器融合\_buff.py -    |   |   |-- 称号.py -    |   |   |-- 称号\_buff.py -    |   |   |-- 装备\_套装.py -    |   |   |-- 装备\_武器.py -    |   |   |-- 装备\_特殊.py -    |   |   |-- 装备\_防具.py -    |   |   |-- 装备\_首饰.py -    |   |   |-- 辟邪玉.py -    |   |   |-- 辟邪玉\_buff.py -    |   |   |-- 融合\_奥兹玛.py -    |   |   |-- 融合\_希洛克.py -    |   |--  preferred:择优 DLL 源码,需自行编译 -    |   |--  views:界面扩展类 -    |   |--  utils:工具类 -    |       |--  calc_core.py:装备寻优 -    |       |--  common.py:格式化时间 -    |       |--  config.py:配置读取 -    |       |--  constant.py:常量 -    |       |--  copy.py:深度拷贝 -    |       |--  img.py:常量图片 -    |       |--  MainWindow.py:自定义窗口 -    |       |--  minheap.py:最小堆排序 -    |       |--  producer_consumer.py:多进程 -    |       |--  TitleBar.py:自定义标题栏 -    |       |--  zipfile.py:压缩文件 -    |       |--  storex.py:存储数据,组件间通信 -    |       |--  LZextends.py:蓝奏云扩展 -    |--  ResourceFiles:资源文件夹 -    |   |-- 职业文件夹 -    |   |   |--  bg.jpg:背景图 -    |   |   |-- 人物.png:详情界面人物图 -    |   |   |--  reset:默认配置文件夹 -    |   |   |   |--  char.json:职业特有选项存档 -    |   |   |   |--  page_1.json:第一页选项存档 -    |   |   |   |--  page_2.json:第二页选项存档 -    |   |   |   |--  page_3.json:第三页选项存档 -    |   |   |   |--  page_4.json:第四页选项存档 -    |   |   |   |--  page_5.json:第五页选项存档 -    |   |   |   |--  page_6.json:第六页选项存档 -    |   |   |-- 技能:技能图标文件夹 -    |   |--  Config:配置文件夹 -    |   |   |-- 基础设置.ini -    |   |   |-- 攻击目标.ini -    |   |   |--  adventure_info.json:加载职业配置 -    |   |   |--  config.json:配置选项文件 -    |   |   |--  release_version.json:计算器版本 -    |   |--  img:公有图片 -    |   |   |--  logo.ico -    |   |   |-- 刀魂之卡赞.png -    |   |   |-- 觉醒选择.png -    |   |   |-- 输出背景.png -    |   |   |-- 输出背景\_BUFF.png -    |   |   |-- 远古记忆.png -    |   |   |-- 分类 -    |   |   |-- 头像 -    |   |   |-- 希洛克 -    |   |   |-- 装备 -    |   |--  Skins:计算器皮肤包 -    |--  Tools -        |-- 图标去白点.py -        |-- 神话融合图标拼接.py +## 简介 + +web:vue3+TS+electron+vite
参考项目:https://github.com/caoxiemeihao/electron-vue-vite
使用拖拽组件:https://github.com/SortableJS/vue.draggable.next
api:python+FastAPI + +## 联系 + +Email:wxh_email@yeah.net + +## 项目依赖安装 + +先安装好 python3.6 以上、node 16 以上 以及 Git + +``` + npm config --global set registry https://registry.npmmirror.com/ + + npm install -g pnpm + + git clone https://gitee.com/dcalc/dnfcalculating_110.git + + cd ./dnfcalculating_110 + + pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt + + pnpm install + + 若安装node_modules/.pnpm/electron时超时失败可尝试换源 + + pnpm config set electron_mirror "https://npm.taobao.org/mirrors/electron/" + +``` + +## 项目运行 + +``` + pnpm dev:app +``` diff --git a/ResourceFiles/BUFF·神启·圣骑士/bg.jpg b/ResourceFiles/BUFF·神启·圣骑士/bg.jpg deleted file mode 100644 index a0974529..00000000 Binary files a/ResourceFiles/BUFF·神启·圣骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/reset/store.json b/ResourceFiles/BUFF·神启·圣骑士/reset/store.json deleted file mode 100644 index ce4dacfe..00000000 --- a/ResourceFiles/BUFF·神启·圣骑士/reset/store.json +++ /dev/null @@ -1,325 +0,0 @@ -{ - "/buffer/data/amplifies": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10], - "/buffer/data/self-select/column-count": null, - "/buffer/data/title": 0, - "/buffer/data/pet": 1, - "/buffer/data/compute_mode": 1, - "/buffer/data/ditto_checked": false, - "/buffer/data/myth_top_checked": false, - "/buffer/data/awakening_switch_checked": true, - "/buffer/data/thread_count": 1, - "/buffer/data/equip_checked": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 1 - ], - "/buffer/data/awakening_binding": 2, - "/buffer/data/talismans": [4, 4, 3], - "/buffer/data/consumables": [true, false, false, false], - "/buffer/data/skill": { - "守护恩赐": { - "level": 31, - "count": 1 - }, - "守护徽章": { - "level": 30, - "count": 1 - }, - "圣光十字": { - "level": 41, - "count": 1 - }, - "荣誉祝福": { - "level": 10, - "count": 1 - }, - "信念光环": { - "level": 20, - "count": 1 - }, - "天启之珠": { - "level": 0, - "count": 1 - }, - "神圣洗礼:信仰之翼": { - "level": 0, - "count": 1 - }, - "神之代行者": { - "level": 4, - "count": 1 - }, - "生命礼赞:神威": { - "level": 2, - "count": 1 - } - }, - "/buffer/data/weapon_fusion": [0, -1, 0, -1], - "/buffer/data/siroco_weapon": 1, - "/buffer/data/jude_effects": [2, 2, 0, 0], - "/buffer/data/jude_values": [0, 0, -1, -1], - "/buffer/data/black_purgatory": [ - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1] - ], - "/buffer/data/top_options": [4, 10, 0, 2], - "/buffer/data/awakening_coefficient": 1.0, - "/buffer/data/awakening_direction": 0, - "/buffer/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/buffer/data/detail_values": [ - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "60", - "10", - "", - "290", - "", - "50", - "65", - "3", - "40", - "33", - "25", - "30", - "50", - "70", - "", - "", - "", - "" - ], - [ - "120", - "60", - "10", - "", - "290", - "", - "50", - "65", - "3", - "40", - "33", - "25", - "30", - "50", - "70", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "50", - "50", - "75", - "45", - "45", - "70", - "70", - "70", - "100", - "100", - "150", - "50", - "", - "", - "50", - "", - "230", - "10", - "-50" - ], - [ - "50", - "50", - "75", - "45", - "45", - "70", - "70", - "70", - "100", - "100", - "150", - "50", - "", - "", - "50", - "", - "230", - "10", - "-50" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "70", - "70", - "", - "", - "" - ], - [ - "30", - "30", - "", - "70", - "", - "", - "", - "70", - "8", - "8", - "", - "", - "", - "", - "70", - "70", - "", - "", - "" - ], - ["", "", "", "", "", "", ""] - ], - "/buffer/data/detail_options": [ - 0, 0, 2, 2, 2, 0, 0, 0, 4, 4, 0, 0, 3, 3, 2, 0, 6, 3, 1 - ], - "/buffer/data/siroco": [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/buffer/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 - ], - "/buffer/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/self_select/equips": [[6, 6, 18, 6, 15, 15, 4, 4, 4, 4, 7, 0]], - "/buffer/data/self_select/column_index": 0, - "/buffer/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/buffer/data/register_enable": false, - "/buffer/data/register/equips": null, - "/buffer/data/register/amplifies": null, - "/buffer/data/register/siroco": null, - "/buffer/data/register/weapon_fusion": null, - "/buffer/data/register/ozma": null, - "/buffer/data/register/black_purgatory": null, - "/buffer/data/character_sets": {} -} diff --git a/ResourceFiles/BUFF·神启·圣骑士/人物.png b/ResourceFiles/BUFF·神启·圣骑士/人物.png deleted file mode 100644 index 24d1389b..00000000 Binary files a/ResourceFiles/BUFF·神启·圣骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/职业.png b/ResourceFiles/BUFF·神启·圣骑士/职业.png deleted file mode 100644 index 89caedea..00000000 Binary files a/ResourceFiles/BUFF·神启·圣骑士/职业.png and /dev/null differ diff --git a/ResourceFiles/Config/adventure_info.json b/ResourceFiles/Config/adventure_info.json deleted file mode 100644 index be0d0a23..00000000 --- a/ResourceFiles/Config/adventure_info.json +++ /dev/null @@ -1,1056 +0,0 @@ -[ - { - "职业系": "鬼剑士(男)", - "转职名称": "剑魂", - "一次觉醒": "剑圣", - "二次觉醒": "剑神", - "三次觉醒": "极诣·剑魂", - "显示名称": "极诣·剑魂", - "类名": "极诣·剑魂", - "类名2": "无", - "序号": "1", - "作者": "纸飞机、Kaito", - "时间": "2020/6/10", - "备注": "" - }, - { - "职业系": "鬼剑士(男)", - "转职名称": "鬼泣", - "一次觉醒": "弑魂", - "二次觉醒": "黑暗君主", - "三次觉醒": "极诣·鬼泣", - "显示名称": "极诣·鬼泣", - "类名": "极诣·鬼泣", - "类名2": "无", - "序号": "2", - "作者": "真奥", - "时间": "2020/6/19", - "备注": "" - }, - { - "职业系": "鬼剑士(男)", - "转职名称": "狂战士", - "一次觉醒": "狱血魔神", - "二次觉醒": "帝血弑天", - "三次觉醒": "极诣·狂战士", - "显示名称": "极诣·狂战士", - "类名": "极诣·狂战士", - "类名2": "无", - "序号": "3", - "作者": "纸飞机、爱敏", - "时间": "2020/6/28", - "备注": "" - }, - { - "职业系": "鬼剑士(男)", - "转职名称": "阿修罗", - "一次觉醒": "大暗黑天", - "二次觉醒": "天帝", - "三次觉醒": "极诣·阿修罗", - "显示名称": "极诣·阿修罗", - "类名": "极诣·阿修罗", - "类名2": "无", - "序号": "4", - "作者": "墨羽狼、纸飞机", - "时间": "2020/6/20", - "备注": "" - }, - { - "职业系": "鬼剑士(男)", - "转职名称": "剑影", - "一次觉醒": "夜刀神", - "二次觉醒": "夜见罗刹", - "三次觉醒": "极诣·剑影", - "显示名称": "极诣·剑影", - "类名": "极诣·剑影", - "类名2": "无", - "序号": "5", - "作者": "亚索", - "时间": "2020/7/6", - "备注": "" - }, - { - "职业系": "鬼剑士(女)", - "转职名称": "驭剑士", - "一次觉醒": "剑宗", - "二次觉醒": "剑皇", - "三次觉醒": "极诣·驭剑士", - "显示名称": "极诣·驭剑士", - "类名": "极诣·驭剑士", - "类名2": "无", - "序号": "6", - "作者": "亚索、纸飞机、平静、雪露", - "时间": "2020/7/7", - "备注": "" - }, - { - "职业系": "鬼剑士(女)", - "转职名称": "暗殿骑士", - "一次觉醒": "暗帝", - "二次觉醒": "裁决女神", - "三次觉醒": "极诣·暗殿骑士", - "显示名称": "极诣·暗殿骑士", - "类名": "极诣·暗殿骑士", - "类名2": "无", - "序号": "7", - "作者": "亚索", - "时间": "2020/6/9", - "备注": "" - }, - { - "职业系": "鬼剑士(女)", - "转职名称": "契魔者", - "一次觉醒": "剑魔", - "二次觉醒": "弑神者", - "三次觉醒": "极诣·契魔者", - "显示名称": "极诣·契魔者", - "类名": "极诣·契魔者", - "类名2": "无", - "序号": "8", - "作者": "爱敏、777、纸飞机", - "时间": "2020/6/23", - "备注": "" - }, - { - "职业系": "鬼剑士(女)", - "转职名称": "流浪武士", - "一次觉醒": "剑豪", - "二次觉醒": "剑帝", - "三次觉醒": "极诣·流浪武士", - "显示名称": "极诣·流浪武士", - "类名": "极诣·流浪武士", - "类名2": "无", - "序号": "9", - "作者": "爱敏、纸飞机", - "时间": "2020/6/9", - "备注": "" - }, - { - "职业系": "鬼剑士(女)", - "转职名称": "刃影", - "一次觉醒": "斩夜", - "二次觉醒": "夜皇", - "三次觉醒": "极诣·刃影", - "显示名称": "极诣·刃影", - "类名": "极诣·刃影", - "类名2": "无", - "序号": "10", - "作者": "平静、一定要玩混沌魔灵", - "时间": "2021/6/24", - "备注": "" - }, - { - "职业系": "格斗家(男)", - "转职名称": "气功师(男)", - "一次觉醒": "狂虎帝", - "二次觉醒": "念皇", - "三次觉醒": "归元·气功师", - "显示名称": "归元·气功师", - "类名": "归元·气功师·男", - "类名2": "无", - "序号": "11", - "作者": "球", - "时间": "2020/6/26", - "备注": "" - }, - { - "职业系": "格斗家(男)", - "转职名称": "散打(男)", - "一次觉醒": "武极", - "二次觉醒": "极武皇", - "三次觉醒": "归元·散打", - "显示名称": "归元·散打", - "类名": "归元·散打·男", - "类名2": "无", - "序号": "12", - "作者": "机枪哥", - "时间": "2020/6/22", - "备注": "" - }, - { - "职业系": "格斗家(男)", - "转职名称": "街霸(男)", - "一次觉醒": "千手罗汉", - "二次觉醒": "暗街之王", - "三次觉醒": "归元·街霸", - "显示名称": "归元·街霸", - "类名": "归元·街霸·男", - "类名2": "无", - "序号": "13", - "作者": "Paxis", - "时间": "2020/7/12", - "备注": "" - }, - { - "职业系": "格斗家(男)", - "转职名称": "柔道家(男)", - "一次觉醒": "风林火山", - "二次觉醒": "宗师", - "三次觉醒": "归元·柔道家", - "显示名称": "归元·柔道家", - "类名": "归元·柔道家·男", - "类名2": "无", - "序号": "14", - "作者": "海豹", - "时间": "2020/7/6", - "备注": "" - }, - { - "职业系": "格斗家(男)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "15", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "格斗家(女)", - "转职名称": "气功师(女)", - "一次觉醒": "百花缭乱", - "二次觉醒": "念帝", - "三次觉醒": "归元·气功师", - "显示名称": "归元·气功师", - "类名": "归元·气功师·女", - "类名2": "无", - "序号": "16", - "作者": "疯", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "格斗家(女)", - "转职名称": "散打(女)", - "一次觉醒": "武神", - "二次觉醒": "极武圣", - "三次觉醒": "归元·散打", - "显示名称": "归元·散打", - "类名": "归元·散打·女", - "类名2": "无", - "序号": "17", - "作者": "Leisa", - "时间": "2020/6/29", - "备注": "" - }, - { - "职业系": "格斗家(女)", - "转职名称": "街霸(女)", - "一次觉醒": "毒王", - "二次觉醒": "毒神绝", - "三次觉醒": "归元·街霸", - "显示名称": "归元·街霸", - "类名": "归元·街霸·女", - "类名2": "无", - "序号": "18", - "作者": "纸飞机、雅男", - "时间": "2020/6/21", - "备注": "" - }, - { - "职业系": "格斗家(女)", - "转职名称": "柔道家(女)", - "一次觉醒": "暴风眼", - "二次觉醒": "风暴女皇", - "三次觉醒": "归元·柔道家", - "显示名称": "归元·柔道家", - "类名": "归元·柔道家·女", - "类名2": "无", - "序号": "19", - "作者": "绝唱唱", - "时间": "2020/7/9", - "备注": "" - }, - { - "职业系": "格斗家(女)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "20", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "神枪手(男)", - "转职名称": "漫游枪手(男)", - "一次觉醒": "枪神", - "二次觉醒": "掠天之翼", - "三次觉醒": "重霄·漫游枪手", - "显示名称": "重霄·漫游枪手", - "类名": "重霄·漫游枪手·男", - "类名2": "无", - "序号": "21", - "作者": "Garson&共产主义战士", - "时间": "2020/6/9", - "备注": "" - }, - { - "职业系": "神枪手(男)", - "转职名称": "枪炮师(男)", - "一次觉醒": "狂暴者", - "二次觉醒": "毁灭者", - "三次觉醒": "重霄·枪炮师", - "显示名称": "重霄·枪炮师", - "类名": "重霄·枪炮师·男", - "类名2": "无", - "序号": "22", - "作者": "纸飞机、幕城、关于闪鸽鸽在女更衣室的那些事", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "神枪手(男)", - "转职名称": "机械师(男)", - "一次觉醒": "机械战神", - "二次觉醒": "机械元首", - "三次觉醒": "重霄·机械师", - "显示名称": "重霄·机械师", - "类名": "重霄·机械师·男", - "类名2": "无", - "序号": "23", - "作者": "韩械", - "时间": "2020/6/13", - "备注": "" - }, - { - "职业系": "神枪手(男)", - "转职名称": "弹药专家(男)", - "一次觉醒": "大将军", - "二次觉醒": "战场统治者", - "三次觉醒": "重霄·弹药专家", - "显示名称": "重霄·弹药专家", - "类名": "重霄·弹药专家·男", - "类名2": "无", - "序号": "24", - "作者": "小一", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "神枪手(男)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "重霄·合金战士", - "类名": "重霄·合金战士", - "类名2": "无", - "序号": "25", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "神枪手(女)", - "转职名称": "漫游枪手(女)", - "一次觉醒": "沾血蔷薇", - "二次觉醒": "绯红玫瑰", - "三次觉醒": "重霄·漫游枪手", - "显示名称": "重霄·漫游枪手", - "类名": "重霄·漫游枪手·女", - "类名2": "无", - "序号": "26", - "作者": "纸飞机、一ye遮天", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "神枪手(女)", - "转职名称": "枪炮师(女)", - "一次觉醒": "重炮掌控者", - "二次觉醒": "风暴骑兵", - "三次觉醒": "重霄·枪炮师", - "显示名称": "重霄·枪炮师", - "类名": "重霄·枪炮师·女", - "类名2": "无", - "序号": "27", - "作者": "纸飞机", - "时间": "2020/6/19", - "备注": "" - }, - { - "职业系": "神枪手(女)", - "转职名称": "机械师(女)", - "一次觉醒": "机械之心", - "二次觉醒": "机械之灵", - "三次觉醒": "重霄·机械师", - "显示名称": "重霄·机械师", - "类名": "重霄·机械师·女", - "类名2": "无", - "序号": "28", - "作者": "Lizzy荔枝贝壳喵", - "时间": "2020/6/22", - "备注": "" - }, - { - "职业系": "神枪手(女)", - "转职名称": "弹药专家(女)", - "一次觉醒": "战争女神", - "二次觉醒": "芙蕾雅", - "三次觉醒": "重霄·弹药专家", - "显示名称": "重霄·弹药专家", - "类名": "重霄·弹药专家·女", - "类名2": "无", - "序号": "29", - "作者": "西瓜", - "时间": "2020/6/27", - "备注": "" - }, - { - "职业系": "神枪手(女)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "30", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "魔法师(男)", - "转职名称": "元素爆破师", - "一次觉醒": "魔皇", - "二次觉醒": "湮灭之瞳", - "三次觉醒": "知源·元素爆破师", - "显示名称": "知源·元素爆破师", - "类名": "知源·元素爆破师", - "类名2": "无", - "序号": "31", - "作者": "碳末", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "魔法师(男)", - "转职名称": "冰结师", - "一次觉醒": "冰冻之心", - "二次觉醒": "刹那永恒", - "三次觉醒": "知源·冰结师", - "显示名称": "知源·冰结师", - "类名": "知源·冰结师", - "类名2": "无", - "序号": "32", - "作者": "平静", - "时间": "2020/6/27", - "备注": "" - }, - { - "职业系": "魔法师(男)", - "转职名称": "血法师", - "一次觉醒": "血狱伯爵", - "二次觉醒": "血狱君主", - "三次觉醒": "知源·血法师", - "显示名称": "知源·血法师", - "类名": "知源·血法师", - "类名2": "无", - "序号": "33", - "作者": "莫方、阿武", - "时间": "2020/7/11", - "备注": "" - }, - { - "职业系": "魔法师(男)", - "转职名称": "逐风者", - "一次觉醒": "御风者", - "二次觉醒": "风神", - "三次觉醒": "知源·逐风者", - "显示名称": "知源·逐风者", - "类名": "知源·逐风者", - "类名2": "无", - "序号": "34", - "作者": "龙卷风", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "魔法师(男)", - "转职名称": "次元行者", - "一次觉醒": "虚空行者 ", - "二次觉醒": "混沌行者", - "三次觉醒": "知源·次元行者", - "显示名称": "知源·次元行者", - "类名": "知源·次元行者", - "类名2": "无", - "序号": "35", - "作者": "洗具,感谢decosta", - "时间": "2020/7/3", - "备注": "" - }, - { - "职业系": "魔法师(女)", - "转职名称": "元素师", - "一次觉醒": "大魔导师", - "二次觉醒": "元素圣灵", - "三次觉醒": "知源·元素师", - "显示名称": "知源·元素师", - "类名": "知源·元素师", - "类名2": "无", - "序号": "36", - "作者": "碳末&平静", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "魔法师(女)", - "转职名称": "召唤师", - "一次觉醒": "月之女皇", - "二次觉醒": "月蚀", - "三次觉醒": "知源·召唤师", - "显示名称": "知源·召唤师", - "类名": "知源·召唤师", - "类名2": "无", - "序号": "37", - "作者": "Lizzy荔枝贝壳喵", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "魔法师(女)", - "转职名称": "战斗法师", - "一次觉醒": "贝亚娜斗神", - "二次觉醒": "伊斯塔战灵", - "三次觉醒": "知源·战斗法师", - "显示名称": "知源·战斗法师", - "类名": "知源·战斗法师", - "类名2": "无", - "序号": "38", - "作者": "Lizzy荔枝贝壳喵", - "时间": "2020/7/1", - "备注": "" - }, - { - "职业系": "魔法师(女)", - "转职名称": "魔道学者", - "一次觉醒": "魔术师", - "二次觉醒": "古灵精怪", - "三次觉醒": "知源·魔道学者", - "显示名称": "知源·魔道学者", - "类名": "知源·魔道学者", - "类名2": "无", - "序号": "39", - "作者": "极脂の魔道", - "时间": "2020/6/29", - "备注": "" - }, - { - "职业系": "魔法师(女)", - "转职名称": "小魔女", - "一次觉醒": "暗黑少女", - "二次觉醒": "冥月女神", - "三次觉醒": "知源·小魔女", - "显示名称": "知源·小魔女", - "类名": "知源·小魔女", - "类名2": "战斗·知源·小魔女", - "类名3": "无", - "类名4": "无", - "序号": "40", - "作者": "纸飞机、天府星、时光", - "时间": "2020/6/29", - "备注": "" - }, - { - "职业系": "圣职者(男)", - "转职名称": "圣骑士(男)", - "一次觉醒": "天启者", - "二次觉醒": "神思者", - "三次觉醒": "神启·圣骑士", - "显示名称": "神启·圣骑士", - "类名": "BUFF·神启·圣骑士", - "类名2": "战斗·神启·圣骑士", - "类名3": "无", - "类名4": "无", - "序号": "41", - "作者": "纸飞机、天府星、时光/Paxis", - "时间": "2020/6/14", - "备注": "" - }, - { - "职业系": "圣职者(男)", - "转职名称": "蓝拳圣使", - "一次觉醒": "神之手", - "二次觉醒": "正义仲裁者", - "三次觉醒": "神启·蓝拳圣使", - "显示名称": "神启·蓝拳圣使", - "类名": "神启·蓝拳圣使", - "类名2": "无", - "序号": "42", - "作者": "亚索", - "时间": "2020/7/1", - "备注": "" - }, - { - "职业系": "圣职者(男)", - "转职名称": "驱魔师", - "一次觉醒": "龙斗士", - "二次觉醒": "真龙星君", - "三次觉醒": "神启·驱魔师", - "显示名称": "神启·驱魔师", - "类名": "神启·驱魔师", - "类名2": "无", - "序号": "43", - "作者": "Paxis", - "时间": "2020/6/17", - "备注": "" - }, - { - "职业系": "圣职者(男)", - "转职名称": "复仇者", - "一次觉醒": "末日审判者", - "二次觉醒": "永生者", - "三次觉醒": "神启·复仇者", - "显示名称": "神启·复仇者", - "类名": "神启·复仇者", - "类名2": "无", - "序号": "44", - "作者": "亚索", - "时间": "2020/7/1", - "备注": "" - }, - { - "职业系": "圣职者(男)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "45", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "圣职者(女)", - "转职名称": "圣骑士(女)", - "一次觉醒": "福音传道者", - "二次觉醒": "炽天使", - "三次觉醒": "神启·圣骑士", - "显示名称": "神启·圣骑士", - "类名": "神启·圣骑士", - "类名2": "无", - "序号": "46", - "作者": "纸飞机、天府星、时光", - "时间": "2020/6/13", - "备注": "" - }, - { - "职业系": "圣职者(女)", - "转职名称": "异端审判者", - "一次觉醒": "神焰处刑官", - "二次觉醒": "炎狱裁决者", - "三次觉醒": "神启·异端审判者", - "显示名称": "神启·异端审判者", - "类名": "神启·异端审判者", - "类名2": "无", - "序号": "47", - "作者": "熬夜砍树、乐于驴", - "时间": "2020/7/6", - "备注": "" - }, - { - "职业系": "圣职者(女)", - "转职名称": "巫女", - "一次觉醒": "神女", - "二次觉醒": "神龙天女", - "三次觉醒": "神启·巫女", - "显示名称": "神启·巫女", - "类名": "神启·巫女", - "类名2": "无", - "序号": "48", - "作者": "贰肆/浅笑", - "时间": "2020/6/21", - "备注": "" - }, - { - "职业系": "圣职者(女)", - "转职名称": "诱魔者", - "一次觉醒": "断罪者", - "二次觉醒": "救世主", - "三次觉醒": "神启·诱魔者", - "显示名称": "神启·诱魔者", - "类名": "神启·诱魔者", - "类名2": "无", - "序号": "49", - "作者": "千景", - "时间": "2020/6/21", - "备注": "" - }, - { - "职业系": "圣职者(女)", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "50", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "暗夜使者", - "转职名称": "刺客", - "一次觉醒": "银月", - "二次觉醒": "月影星劫", - "三次觉醒": "隐夜·刺客", - "显示名称": "隐夜·刺客", - "类名": "隐夜·刺客", - "类名2": "无", - "序号": "51", - "作者": "卡通、轩轩、纸飞机", - "时间": "2020/7/11", - "备注": "" - }, - { - "职业系": "暗夜使者", - "转职名称": "死灵术士", - "一次觉醒": "灵魂收割者", - "二次觉醒": "亡魂主宰", - "三次觉醒": "隐夜·死灵术士", - "显示名称": "隐夜·死灵术士", - "类名": "隐夜·死灵术士", - "类名2": "无", - "序号": "52", - "作者": "一定要玩混沌魔灵", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "暗夜使者", - "转职名称": "忍者", - "一次觉醒": "毕方之炎", - "二次觉醒": "不知火", - "三次觉醒": "隐夜·忍者", - "显示名称": "隐夜·忍者", - "类名": "隐夜·忍者", - "类名2": "无", - "序号": "53", - "作者": "平静、一定要玩混沌魔灵", - "时间": "2020/6/17", - "备注": "" - }, - { - "职业系": "暗夜使者", - "转职名称": "影舞者", - "一次觉醒": "梦魇", - "二次觉醒": "幽冥", - "三次觉醒": "隐夜·影舞者", - "显示名称": "隐夜·影舞者", - "类名": "隐夜·影舞者", - "类名2": "无", - "序号": "54", - "作者": "一定要玩混沌魔灵", - "时间": "2020/6/21", - "备注": "" - }, - { - "职业系": "暗夜使者", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "55", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "守护者", - "转职名称": "精灵骑士", - "一次觉醒": "星辰之光", - "二次觉醒": "大地女神", - "三次觉醒": "", - "显示名称": "皓曦·精灵骑士", - "类名": "皓曦·精灵骑士", - "类名2": "无", - "序号": "56", - "作者": "疯", - "时间": "2020/6/13", - "备注": "" - }, - { - "职业系": "守护者", - "转职名称": "混沌魔灵", - "一次觉醒": "黑魔后", - "二次觉醒": "黑曜神", - "三次觉醒": "皓曦·混沌魔灵", - "显示名称": "皓曦·混沌魔灵", - "类名": "皓曦·混沌魔灵", - "类名2": "无", - "序号": "57", - "作者": "一定要玩混沌魔灵", - "时间": "2020/6/12", - "备注": "" - }, - { - "职业系": "守护者", - "转职名称": "帕拉丁", - "一次觉醒": "曙光", - "二次觉醒": "破晓女神", - "三次觉醒": "皓曦·帕拉丁", - "显示名称": "皓曦·帕拉丁", - "类名": "皓曦·帕拉丁", - "类名2": "无", - "序号": "58", - "作者": "疯", - "时间": "2020/6/13", - "备注": "" - }, - { - "职业系": "守护者", - "转职名称": "龙骑士", - "一次觉醒": "龙皇", - "二次觉醒": "龙神", - "三次觉醒": "皓曦·龙骑士", - "显示名称": "皓曦·龙骑士", - "类名": "皓曦·龙骑士", - "类名2": "无", - "序号": "59", - "作者": "浅笑", - "时间": "2020/6/13", - "备注": "" - }, - { - "职业系": "守护者", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "60", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "魔枪士", - "转职名称": "征战者", - "一次觉醒": "战魂", - "二次觉醒": "不灭战神", - "三次觉醒": "千魂·征战者", - "显示名称": "千魂·征战者", - "类名": "千魂·征战者", - "类名2": "无", - "序号": "61", - "作者": "球", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "魔枪士", - "转职名称": "决战者", - "一次觉醒": "无双之魂 ", - "二次觉醒": "圣武枪魂", - "三次觉醒": "千魂·决战者", - "显示名称": "千魂·决战者", - "类名": "千魂·决战者", - "类名2": "无", - "序号": "62", - "作者": "纸飞机、爱敏", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "魔枪士", - "转职名称": "狩猎者", - "一次觉醒": "征服之魂", - "二次觉醒": "屠戮之魂", - "三次觉醒": "千魂·狩猎者", - "显示名称": "千魂·狩猎者", - "类名": "千魂·狩猎者", - "类名2": "无", - "序号": "63", - "作者": "纸飞机、爱敏", - "时间": "2020/6/8", - "备注": "" - }, - { - "职业系": "魔枪士", - "转职名称": "暗枪士", - "一次觉醒": "狂怒恶鬼", - "二次觉醒": "幽影夜神", - "三次觉醒": "千魂·暗枪士", - "显示名称": "千魂·暗枪士", - "类名": "千魂·暗枪士", - "类名2": "无", - "序号": "64", - "作者": "纸飞机、爱敏", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "魔枪士", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "65", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "枪剑士", - "转职名称": "暗刃 ", - "一次觉醒": "统御者", - "二次觉醒": "铁血统帅", - "三次觉醒": "苍暮·暗刃", - "显示名称": "苍暮·暗刃", - "类名": "苍暮·暗刃", - "类名2": "无", - "序号": "66", - "作者": "熬夜砍树", - "时间": "2020/6/22", - "备注": "" - }, - { - "职业系": "枪剑士", - "转职名称": "特工", - "一次觉醒": "绝命谍影", - "二次觉醒": "弑心镇魂者", - "三次觉醒": "苍暮·特工", - "显示名称": "苍暮·特工", - "类名": "苍暮·特工", - "类名2": "无", - "序号": "67", - "作者": "碳末", - "时间": "2020/6/12", - "备注": "" - }, - { - "职业系": "枪剑士", - "转职名称": "战线佣兵 ", - "一次觉醒": "战场王牌", - "二次觉醒": "巅峰狂徒", - "三次觉醒": "苍暮·战线佣兵", - "显示名称": "苍暮·战线佣兵", - "类名": "苍暮·战线佣兵", - "类名2": "无", - "序号": "68", - "作者": "熬夜砍树", - "时间": "2020/6/25", - "备注": "" - }, - { - "职业系": "枪剑士", - "转职名称": "源能专家", - "一次觉醒": "源力掌控者", - "二次觉醒": "未来开拓者", - "三次觉醒": "苍暮·源能专家", - "显示名称": "苍暮·源能专家", - "类名": "苍暮·源能专家", - "类名2": "无", - "序号": "69", - "作者": "熬夜砍树", - "时间": "2020/7/1", - "备注": "" - }, - { - "职业系": "枪剑士", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "70", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "外传", - "转职名称": "缔造者", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "知源·缔造者", - "类名": "知源·缔造者", - "类名2": "无", - "序号": "71", - "作者": "时雨、🐎、纸飞机", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "外传", - "转职名称": "黑暗武士", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "极诣·黑暗武士", - "类名": "极诣·黑暗武士", - "类名2": "无", - "序号": "72", - "作者": "亚索", - "时间": "2020/7/4", - "备注": "" - }, - { - "职业系": "外传", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "73", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "外传", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "74", - "作者": "", - "时间": "", - "备注": "" - }, - { - "职业系": "外传", - "转职名称": "", - "一次觉醒": "", - "二次觉醒": "", - "三次觉醒": "", - "显示名称": "", - "类名": "空", - "类名2": "无", - "序号": "75", - "作者": "", - "时间": "", - "备注": "" - } -] diff --git a/ResourceFiles/Config/config.json b/ResourceFiles/Config/config.json deleted file mode 100644 index efa7e28e..00000000 --- a/ResourceFiles/Config/config.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "名称": "窗口显示", - "选项": ["基础", "两倍"], - "说明": "控制是否两倍缩放(需要系统缩放设置为150%显示或以上)", - "default": 0 - }, - { - "名称": "夜雨黑瞳", - "选项": ["显示", "隐藏"], - "说明": "是否显示夜雨黑瞳武器", - "default": 1 - }, - { - "名称": "切装模式", - "选项": ["关闭", "开启"], - "说明": "是否开启输出系切装模式", - "default": 0 - }, - { - "名称": "输出数据", - "选项": ["不输出", "输出"], - "说明": "计算时是否同步输出排行界面的搭配和伤害数据到csv", - "default": 0 - }, - { - "名称": "调试开关", - "选项": ["关闭", "开启"], - "说明": "不计算装备属性,武器类型为角色武器选项第一个", - "default": 0 - }, - { - "名称": "皮肤版本", - "选项": ["DNFStyle", "LightStyle", "None"], - "说明": "切换皮肤版本,DNFStyle:深色DNF样式,LightStyle:浅色样式,None:无任何样式", - "default": 0 - }, - { - "名称": "屏蔽三觉", - "选项": ["隐藏", "显示"], - "说明": "是否显示三觉屏蔽选项", - "default": 0 - }, - { - "名称": "武器排名", - "选项": ["关闭", "开启"], - "说明": "排行里每把武器只会出现一次", - "default": 0 - }, - { - "名称": "检查更新", - "选项": ["开启", "关闭"], - "说明": "软件启动时是否自动检查更新(关闭后请手动检查更新)", - "default": 0 - }, - { - "名称": "天劫光环", - "选项": ["关闭", "开启"], - "说明": "天劫套装是否计算减防减抗", - "default": 0 - }, - { - "名称": "战术之王", - "选项": ["40%", "45%", "50%", "55%"], - "说明": "战术之王套装白字选择", - "default": 0 - }, - { - "名称": "天御之灾", - "选项": ["平均值", "属性白字", "普通白字"], - "说明": "天御之灾套装效果选择", - "default": 0 - }, - { - "名称": "千蛛碎影", - "选项": ["关闭", "开启"], - "说明": "千蛛碎影固定减防是否计算", - "default": 0 - }, - { - "名称": "多语言", - "选项": ["中文", "韩文(한국어)"], - "说明": "多语言开关,开启后会启用ResourceFiles/Config/language/language.json的对照文本", - "default": 0 - } -] diff --git a/ResourceFiles/Config/language/config.json b/ResourceFiles/Config/language/config.json deleted file mode 100644 index 541092a0..00000000 --- a/ResourceFiles/Config/language/config.json +++ /dev/null @@ -1,86 +0,0 @@ -[ - { - "名称": "창구표시", - "选项": ["기본", "기본"], - "说明": "두 배의 크기 조정 여 부 를 제어 합 니 다. (시스템 크기 조정 이 150% 이상 이 어야 합 니 다.)", - "default": 0 - }, - { - "名称": "흑천의 주인 무기", - "选项": ["표시", "숨기"], - "说明": "흑천의 주인 무기을 표시 여부", - "default": 1 - }, - { - "名称": "장비 전환 모드", - "选项": ["끄기", "켜기"], - "说明": "장비 전환 모드 오픈 여부", - "default": 0 - }, - { - "名称": "데이터 출력", - "选项": ["데이터 출력", "출력"], - "说明": "계산 시 출력 순위 인터페이스의 조합 과 데 미 지 데 이 터 를 csv 로 동기 화 할 지 여부", - "default": 0 - }, - { - "名称": "디버그 스위치", - "选项": ["끄기", "끄기"], - "说明": "장비 속성 을 계산 하지 않 습 니 다. 무기 유형 은 캐릭터 무기 옵션 첫 번 째 입 니 다", - "default": 0 - }, - { - "名称": "스킨 스타일", - "选项": ["DNFStyle", "LightStyle", "None"], - "说明": "스킨 스타일 스위치,DNFStyle:짙은 색 DNF 스타일,LightStyle:연한 색 스타일,None:스타일 없이", - "default": 0 - }, - { - "名称": "미진각", - "选项": ["숨기", "표시"], - "说明": "삼 각 차단 옵션 표시 여부", - "default": 0 - }, - { - "名称": "무기 랭킹", - "选项": ["끄기", "켜기"], - "说明": "랭킹의 각 무기는 한 번만 나타납니다", - "default": 0 - }, - { - "名称": "업데이트 확인", - "选项": ["켜기", "끄기"], - "说明": "소프트웨어 시작 시 업데이트 자동 확인 여부(종료 후 수동 업데이트 확인)", - "default": 0 - }, - { - "名称": "엘리멘탈 드롭퍼 오라", - "选项": ["끄기", "켜기"], - "说明": "방어력、속성 저항 감소 을 계산할지 여부?", - "default": 0 - }, - { - "名称": "웨슬리의 전술", - "选项": ["40%", "45%", "50%", "55%"], - "说明": "웨슬리의 전술 세트 추가 데미지 스위치", - "default": 0 - }, - { - "名称": "자연의 수호자 ", - "选项": ["평균치", "속성 추가 데미지", "추가 데미지"], - "说明": "자연의 수호자 세트 효과 스위치", - "default": 0 - }, - { - "名称": "거미 여왕의 숨결", - "选项": ["끄기", "켜기"], - "说明": "고정 방어력 감소을 계산할지 여부?", - "default": 0 - }, - { - "名称": "한국어", - "选项": ["중국어(中文)", "한국어"], - "说明": "다언어 스위치,오픈 후,사용 하 다ResourceFiles/Config/language_*.json", - "default": 0 - } -] diff --git a/ResourceFiles/Config/language/language_chn.json b/ResourceFiles/Config/language/language_chn.json deleted file mode 100644 index 0967ef42..00000000 --- a/ResourceFiles/Config/language/language_chn.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/Config/language/language_kor.json b/ResourceFiles/Config/language/language_kor.json deleted file mode 100644 index 5dbc66eb..00000000 --- a/ResourceFiles/Config/language/language_kor.json +++ /dev/null @@ -1,2634 +0,0 @@ -{ - "角色熟练度:英雄": "캐릭터 숙련도:에픽", - "角色熟练度:传说": "캐릭터 숙련도:전설", - "命运的抉择:数学期望": "임의선택:기대치", - "命运的抉择:黄字+10%": "임의선택:증뎀 +10%", - "命运的抉择:暴伤+10%": "임의선택:크증 +10%", - "命运的抉择:终伤+10%": "임의선택:모공 +10%", - "命运的抉择:三攻+10%": "임의선택:물마독 +10%", - "命运的抉择:技攻+10%": "임의선택:스증 +10%", - "骰子:数学期望": "주사위:기대치", - "骰子:1点": "주사위:1점", - "骰子:2点": "주사위:2점", - "骰子:3点": "주사위:3점", - "骰子:4点": "주사위:4점", - "骰子:5点": "주사위:5점", - "骰子:6点": "주사위:6점", - "悲剧的残骸:数学期望": "아린 비극의 잔해:기대치", - "悲剧的残骸:HP高于70%": "아린 비극의 잔해:HP 70% 이상", - "悲剧的残骸:HP70-30%": "아린 비극의 잔해:HP 70%~30%", - "悲剧的残骸:HP低于30%": "아린 비극의 잔해:HP 30% 이하", - "先知者预言:数学期望": "선지자의 목걸이:기대치", - "先知者预言:属白+5%": "선지자의 목걸이:속추뎀 +5%", - "先知者预言:技攻+10%": "선지자의 목걸이:스증 +10%", - "先知者预言:技攻+15%": "선지자의 목걸이:스증 +15%", - "贫瘠沙漠的遗产:无": "메마른 사막의 유산:없음", - "贫瘠沙漠的遗产:霸体": "메마른 사막의 유산:슈퍼아머", - "贫瘠沙漠的遗产:无伤": "메마른 사막의 유산:무적", - "幸运三角:数学期望": "행운의 트라이앵글:기대치", - "幸运三角:7效果": "행운의 트라이앵글:7효과", - "幸运三角:77效果": "행운의 트라이앵글:77효과", - "幸运三角:777效果": "행운의 트라이앵글:777효과", - "擎天战甲:过充电状态": "A.D.P슈트:과충전 상태", - "擎天战甲:过负荷状态": "A.D.P슈트:과부하 상태", - "持续伤害适用": "지속 데미지 적용: ", - "军神的隐秘遗产:120%以上": "군신의 숨겨진 유산:120%이상", - "军神的隐秘遗产:120-100%": "군신의 숨겨진 유산:120%~100%", - "军神的隐秘遗产:100-80%": "군신의 숨겨진 유산:100%~80%", - "军神的隐秘遗产:80-60%": "군신의 숨겨진 유산:80%~60%", - "军神的隐秘遗产:60-40%": "군신의 숨겨진 유산:60%~40%", - "军神的隐秘遗产:40%以下": "군신의 숨겨진 유산:40%이하", - "太极天帝剑:阳": "태극천제검:음", - "太极天帝剑:阴": "태극천제검:양", - "百变怪": "메타몽", - "仅在极速模式和套装模式下生效": "빠른 모드와 세트 모드에만 적용", - "计算模式": "계산 모드", - "套装": "세트", - "计算模式:极速模式": "계산 모드:빠른 모드", - "计算模式:套装模式": "계산 모드:세트 모드", - "计算模式:单件模式": "계산 모드:단품 모드", - "极速模式:533和3332(散搭) (不含智慧产物)": "빠른 모드:533, 3332(파괴자) (지혜 산물 미포함)", - "套装模式:533、3332(散搭)和3233(双防具) (不含智慧产物)": "세트 모드:533, 3332(파괴자), 3233(이중 방어구)(지혜 산물 미포함)", - "单件模式:所有组合 (不含百变怪)": "단품 모드:모든 조합 (메타몽 미포함)", - "站街力智": "마을 힘지", - "站街三攻": "마을 물마독", - "站街属强": "마을 속강", - "一键修正面板细节": "정보창 일괄 수정", - "宠物装备择优": "아티팩트 최적 선택", - "7%黄字,8%力智,8%白字,8%三攻取最高值": "증뎀7%, 힘지8%, 추뎀8%, 물마독8% 최대 수치 적용", - "5%黄字,5%暴伤,5%三攻取最高值": "증뎀5%, 크증5%, 물마독5% 최대 수치 적용", - "禁用自动存档": "자동 적정 비활성화", - "神话排名模式": "신화 랭킹 모드", - "仅显示有神话的组合,且每件神话装备只会出现一次": "신화 보함 조합만 보여줌. 신화 장비 개당 1회만 출력", - "亿为单位显示": "억 단위 표시", - "全局重置": "전체 초기화", - "进程:": "프로세스: ", - "改造≤$件": "개조 ≤$개", - "不计智慧产物武器以及轮回SS": "지혜의 산물 무기와 진:지혜의 산물 미반영", - "攻击属性:全": "공격 속성:모두", - "攻击属性:火": "공격 속성:화", - "攻击属性:冰": "공격 속성:수", - "攻击属性:光": "공격 속성:명", - "攻击属性:暗": "공격 속성:암", - "火": "화", - "冰": "수", - "光": "명", - "暗": "암", - "填写": "작성", - "契约满级": "계약 만렙", - "等级调整": "레벨 조정", - "TP等级": "TP 레벨", - "释放次数": "캐스트 횟수", - "宠物次数": "크리쳐 횟수", - "所在等级": "해당 레벨: ", - "等级上限": "최대 레벨:", - "TP成长": "TP 성장: ", - "TP上限": "TP 최대 레벨:", - "百分比": "퍼센트: ", - "最高值参考": "최대치 레퍼런스", - "符文": "룬", - "选择": "선택", - "护石": "탈리스만", - "魔界": "마계", - "圣痕": "성흔", - "屏蔽三觉": "미진각", - "奶量buff力智": "버프력 버프 힘지", - "奶量buff三攻": "버프력 버프 물마독", - "攻击目标": "공격 터겟", - "时间输入": "시간 입력", - "开始计算": "계산 시작", - "选项": "선택지", - "无": "없음", - "技能": "스킬", - "增伤词条选择": "증뎀 옵션 선택", - "力智": "힘지", - "三攻": "물마독", - "黄字": "증뎀", - "白字": "추뎀", - "属白": "속추뎀", - "暴伤": "크증", - "终伤": "모공", - "持续": "지속", - "技攻": "스증", - "头部": "머리", - "帽子": "모자", - "脸部": "얼굴", - "胸部": "목가슴", - "上衣": "상의", - "腰带": "벨트", - "下装": "하의", - "鞋": "신발", - "高级": "상급", - "节日": "이벤트", - "稀有": "레어", - "神器": "유니크", - "高级套装": "상급 세트", - "节日套装": "이벤트 세트", - "稀有套装": "레어 세트", - "神器套装": "유니크 세트", - "单件选择": "단품 선택", - "锁定": "고정", - "武器": "무기", - "力量": "힘", - "智力": "지능", - "力量/智力 +": "힘/지능 +", - "物攻": "물공", - "魔攻": "마공", - "独立": "독립", - "属强": "속강", - "头肩": "머리어깨", - "项链": "목걸이", - "手镯": "팔찌", - "戒指": "반지", - "辅助装备": "보조장비", - "辅助": "보조장비", - "魔法石": "마법석", - "耳环": "귀걸이", - "神话部位:无": "신화 부위:없음", - "神话部位:上衣": "신화 부위:상의", - "神话部位:手镯": "신화 부위:팔찌", - "神话部位:耳环": "신화 부위:귀걸이", - "辟邪玉提升率(理论值仅供参考)": "벽사옥 상승률 (이론치로 참고)", - "查看详情": "자세히보기", - "装备/选择/打造": "장비/선택/인첸트 ", - "技能/符文/药剂": "스킬/룬/포션", - "基础/细节/修正": "기본/세부점/수정", - "神话/改造属性修正": "신화/개조 스탯 수정", - "辟邪玉/希洛克/黑鸦/奥兹玛": "벽사옥/시로코/검은연옥/오즈마", - "自选装备计算": "선택 장비 계산", - "神话属性修正": "신화 스탯 수정", - "神话属性": "신화 스탯", - "设为基准": "기준으로 설정", - "清空基准": "기준 삭제", - "数值对比": "수치 대비", - "武器列表": "무기 리스트", - "智慧产物": "지혜의 산물", - "强化": "강화", - "增幅": "증폭", - "改造": "개조", - "锻造": "제련", - "一键全选": "일괄 선택", - "一键清空": "일괄 삭제", - "打造": "인첸트", - "称号&宠物选择": "칭호 & 크리쳐 선택", - "攻击": "공격", - "顶级力量灵药": "고농축 힘의 비약", - "顶级智力灵药": "고농축 지능의 비약", - "斗神之吼秘药": "투신의 함성 포션", - "赛丽亚的特调酷饮": "세리아가 만든 수제 드링크", - "魔界战力释放秘药": "마계 전투력 강화 포션", - "宠物次数适用(10%)": "크리쳐 적용 횟수(10%)", - "称号效果触发": "칭호 효과 발생", - "精神刺激灵药": "정신 자극의 비약", - "虚祖皇家能量秘药": "수쥬 황가의 비약", - "武者的精神秘药": "무투대회 우승자의 기운", - "黄金羊毛": "황금양의 우유", - "白兔子(20%全程)": "마르바스 (20%상시)", - "雷米迪亚蛋糕": "레미디아 케익", - "特权网吧BUFF": "특권 PC방 BUFF", - "希洛克系统奶": "시로코 인플레 버프", - "黑鸦系统奶": "검은 연옥 인플레 버프", - "奶系BUFF:10W/4.5K": "버퍼 BUFF:10W/4.5K", - "辟邪玉计算 (鼠标悬停查看算法)": "벽사옥 계산 (마우스오버 시 계산법 보기)", - "假定基础伤害为100,词条1=50%,词条2=50%:": "기초 피해량이 100일 경우, 옵션1=50%, 옵션2=50% :", - "5%黄字增幅,佩戴前:200,佩戴后:205
": "증뎀증폭 5%, 착용 전:200, 착용 후:205
", - "暴伤终伤白字属白力智三攻同上,黄字向下取整
": "크증모공추뎀속추뎀 힘지물마독상동 , 증뎀 내림하여 최대 정수 반환
", - "技攻辟邪玉加成等级技攻(歧路腰类)
不加成具体技能技攻(歧路鞋类)

": "스증벽사옥 레벨 증가 스증(기로 허리)
구체적인 스킬 스증(기로 신발류)는 추가하지 않음

", - "3%技攻增幅,佩戴前:100*1.5*1.5=225
佩戴后:100*1.515*1.515=229.5225

": "스증증폭 3%, 착용 전:100*1.5*1.5=225
착용 후:100*1.515*1.515=229.5225

", - "属强增幅:唤醒(13)婚房(8)药剂和技能属强不享受加成
": "속강 증폭:잠재능력 (13) 신혼집(8) 포션과 스킬 속강 추가 안됨
", - "进图触发属强单独计算向下取整

": "맵 입장 시 속강 발동, 별도 통계, 내림하여 최대 정수 반환

", - "属白增幅分对应属性,计算器未作区分
双属性附加(星之海)需手动计算并在第三页修正

计算方式仅供参考,请以实际游戏为准!": "속추뎀 증폭은 대응 옵션별로 적용되며 계산기는 구분하지 않습니다.
더블 옵션 부가(별의 바다:바드나후)시 수작업으로 통계하여 3쪽에서 수정해야 합니다.

계산 방식은 참고용으로, 실제 게임 설정 기준을 확인하십시오!", - "武  器": "무 기", - "戒  指": "반 지", - "下  装": "하 의", - "计算最高": "최대치 계산", - "自选数值": "선택 수치", - "自选数值-觉醒": "선택 수치-각성", - "武器默认择优词条": "무기 기본 최적화 옵션", - "武器默认择优觉醒": "무기 기본 최적화 각성", - " 守门人全属强\n 自动补正": "수문장 전체 속성 강화\n 자동 보정", - "计算时自动替换细节页的附魔勋章为全属强方案
": "계산 시 자동으로 상세보기 페이지의 마법부여 휘장을 모속강 솔루션으로 대체합니다.
", - "自带单属强职业不可使用
": "스스로 싱글 속강이 적용된 직업은 이용 불가합니다
", - "守门人属强:全属强+30*3
": "수문장 속강:모속강 +30*3
", - "守门人属强": "수문장 속강", - "武器:全属强+13(若原附魔为龙珠时不替换)
首饰:全属强+28*3(25*3站街修正属强自行-9)
": "무기:모속강 +13 (오리지널 마법부여가 용구슬일 경우 그대로 유지)
악세사리:모속강 +28*3(25*3 마을대기 속강 수정 시 스스로-9)
", - "辅助装备:全属强+12
魔法石:全属强+30
勋章:全属强+7
宠物附魔:三攻+60
": "보조장비:모속강 +12
마법석:모속강 +30
휘장:모속강 +7
크리쳐 마법부여:물마독+60
", - "奈克斯": "넥스", - "暗杀者": "암살자", - "卢克西": "록시", - "守门人": "수문장", - "洛多斯": "로도스", - "武器词条:无": "무기 옵션:없음", - "自适应最高值": "최대치 자동 적용", - "自选词条数值": "옵션 수치 선택 ", - "奥兹玛相关": "오즈마 관련", - "奥兹玛融合属性": "오즈마", - "阿斯特罗斯": "아스타로스", - "贝利亚斯": "베리아스", - "雷德梅恩": "레드메인", - "罗什巴赫": "로젠바흐", - "泰玛特": "티아매트", - "基础精通": "기본기 숙련", - "里鬼剑术": "리 귀검술", - "武器奥义": "무기의 극의", - "光剑掌握": "광검 사용 가능", - "流心狂": "류심 강", - "无我剑气": "검기상인", - "流心刺": "류심 충", - "流心跃": "류심 쾌", - "流心升": "류심 승", - "破军升龙击": "차지 크래시", - "拔刀斩": "발도", - "破军斩龙击": "차지 버스트", - "猛龙断空斩": "맹룡단공참", - "幻影剑舞": "환영검무", - "极鬼剑术暴风式": "극 귀검술:폭풍식", - "极鬼剑术斩铁式": "극 귀검술:참철식", - "极鬼剑术斩钢式": "극 귀검술:참강식", - "极神剑术流星落": "극 귀검술:유성락", - "破空拔刀斩": "극초발도", - "极神剑术破空斩": "극 귀섬술:심검", - "极神剑术瞬斩": "극 귀섬술:섬단", - "万剑归宗(终结)": "이기어검술(피니쉬)", - "万剑归宗(穿云刺)": "이기어검술(꿰뚫는검)", - "极神剑术无形斩": "극 귀섬술:무형참", - "万剑极诣开天斩": "천제극섬", - "极神剑术": "극한의 경지", - "无形剑意": "무형지경", - "短剑精通": "소검 마스터리", - "太刀精通": "도 마스터리", - "巨剑精通": "대검 마스터리", - "钝器精通": "둔기 마스터리", - "光剑精通": "광검 마스터리", - "空中连斩": "공중 연속 베기", - "神影手": "신기의 손놀림", - "鬼斩": "귀참", - "刀魂之卡赞": "카잔", - "侵蚀之普戾蒙": "몽롱한 눈의 브레멘", - "暗月降临": "달의 커튼", - "月光斩": "달빛 베기", - "鬼影步": "귀영보", - "噬灵鬼斩": "귀참 드라이브", - "鬼影鞭": "귀검편", - "冰霜之萨亚": "냉기의 사야", - "死亡墓碑": "툼스톤", - "瘟疫之罗刹": "역병의 라사", - "鬼斩:狂怒": "귀참:광폭", - "鬼影闪": "귀영섬", - "冥炎之卡洛": "흑염의 칼라", - "冥炎之卡洛(灼烧)": "흑염의 칼라(화상)", - "冥炎剑": "흑염검", - "恐惧光环": "칠흑의 공포", - "第七鬼神:邪神怖之拉修": "제7의 귀신:광폭의 블라슈", - "鬼斩:炼狱": "귀참:나락", - "冥祭之沼": "툼스톤 스웜프", - "御鬼之极": "팬텀 마스터리", - "幽魂之布雷德": "블레이드 팬텀", - "幽魂降临:式": "검귀강령:식", - "王者号令:吉格降临": "지그 강림", - "鬼神冠冕": "데모닉 크라운", - "鬼神剑·黄泉摆渡": "탐식의 크레바스", - "黄泉之门:万鬼度灵": "구천강림:귀문", - "崩山击": "붕산격", - "十字斩": "고어 크로스", - "血之狂暴": "프렌지", - "血气唤醒": "혈십자", - "嗜魂之手": "블러드러스트", - "怒气爆发": "레이징 퓨리", - "嗜魂封魔斩": "블러디 레이브", - "暴怒狂斩": "격노", - "嗜血": "갈증", - "血气之刃": "블러드 소드", - "崩山裂地斩": "아웃레이지 브레이크", - "鲜血之忆": "선혈의 추억", - "魔狱血刹": "익스트림 오버킬", - "鲜血暴掠": "블러드 스내치", - "血气爆发": "버스트 퓨리", - "汲血之力": "블러드 인카넷", - "浴血之怒": "블러드 붐", - "致命血陨": "페이탈 블러드", - "血魔弑天": "블러드 리븐", - "血气界限": "무자비", - "疯魔血魂斩": "램펀트 매드니스", - "血魔极道灭世": "혈귀극도:파멸", - "波动刻印": "파동각인", - "地裂·波动剑": "파동검 지열", - "鬼印珠": "귀문반", - "邪光斩": "진공참", - "修罗邪光斩": "수라 진공참", - "波动爆发": "파동 해제", - "挫折意志": "정신이 번쩍!", - "冰刃·波动剑": "파동검 빙인", - "杀意波动": "살의의 파동", - "爆炎·波动剑": "파동검 폭염", - "无双波": "무쌍파", - "邪光波动阵": "작열 파동진", - "不动明王阵": "부동명왕진", - "心眼": "심안", - "暗天波动眼": "파동의 눈", - "波动剑·光翼": "광익", - "波动眼·天照": "천조", - "波动剑·闪枪": "섬창", - "波动剑·刺轮": "차륜", - "极冰·裂波剑": "극파동검 빙인", - "极炎·裂波剑": "극파동검 폭염", - "天雷·波动剑": "파동검:인다라망", - "雷神之息": "뇌신의 기운", - "天雷·降魔杵": "천뇌 바주라", - "天雷·降魔杵(雷针)": "천뇌 바주라(금강저)", - "雷神降世:裁决": "뇌신", - "波动视界:慧眼": "파동비전:혜안 ", - "波动慧眼:无为法": "파동교류:수폭 ", - "波动神诀:万空": "파동신결:천뢰 ", - "鬼步": "귀신보", - "鬼连斩": "귀연참", - "剑影太刀精通": "검귀의 도 마스터리", - "幻鬼:一闪": "원귀:일섬 ", - "幻鬼之力": "청혈투귀", - "鬼连牙": "연아", - "幻鬼:连斩": "원귀:연참 ", - "共鸣:离魂一闪": "합격:이혼일섬 ", - "魂破斩": "혼백참", - "共鸣:鬼灵斩": "합격:월령참 ", - "幻鬼:回天": "원귀:회천 ", - "冥灵断魂斩": "악귀참수", - "冥夜鬼天杀": "귀천살(鬼天殺)", - "鬼夜": "야차라 불리는 자", - "幻鬼:奈落": "원귀:격살 ", - "共鸣:聚渊": "합격:나락참 ", - "幻鬼:大回天": "원귀:신풍 ", - "鬼咲": "악귀현신", - "裂魂乱舞": "악귀연무", - "鬼隐·夜奈落": "참살(慘殺)", - "睥睨万物": "악귀무쌍", - "无式·极影剑": "무식:신귀극참", - "灭魂极影剑·止煞": "투귀혼연살(鬪鬼魂連殺)", - "鬼连斩:极": "귀연참:극 ", - "帝国剑术": "제국검술", - "毁灭之巨剑精通": "견고의 대검 마스터리", - "波动之钝器精通": "파쇄의 둔기 마스터리", - "血影之太刀精通": "쾌속의 도 마스터리", - "魔性之短剑精通": "속성의 소검 마스터리", - "魔剑降临": "속성변환", - "疾影斩": "쾌속검", - "幻剑术": "환검", - "升龙剑": "승천", - "魔剑觉醒": "마검일체", - "穿云破空剑": "비연참", - "魔剑奥义": "마검발현", - "破军旋舞斩": "반월", - "瞬影三绝斩": "섬광", - "雷鸣千军破": "폭명기검", - "恶即斩": "악즉참", - "极·驭剑术(时空斩)": "극 귀검술:시공섬", - "斩魂术": "참격혼", - "裂刃天冲": "용성락", - "幻剑阵": "참마검", - "破剑阵": "극 귀검술:파검무", - "帝皇盟约": "고대의 맹약", - "飓风魔剑": "마검방출", - "誓约之剑:雷沃汀": "궁극의 검:레바테인", - "剑心:魔剑觉醒": "엑시던스 ", - "极诣·驭剑术:聚魔剑": "극 마검술:창륜검", - "誓约之引:万剑之巅": "리전 오브 슈프림", - "暗影之矛": "쉐도우 랜서", - "乌希尔的诅咒": "우시르의 저주", - "暗影缠袭": "쉐도우 바인딩", - "暗影漩涡": "쉐도우 하베스트", - "汲魂之力": "이보브 ", - "暗影禁锢": "스카폴드", - "灵魂摄取": "소울드레인 ", - "释魂飞弹": "리버레이트-벅샷", - "魅影暗魂斩": "쉐도우 퍼펫", - "魔镜幻影阵": "블랙 미러 ", - "释魂狂怒": "리버레이트-매드니스", - "暗影囚杀": "데들리 케이프", - "暗影盛宴": "디스트로이어", - "灵魂傀儡": "충실한 종", - "末日杀戮": "둠스데이", - "魔影轰杀": "스타폴", - "死亡献祭": "이몰레이션", - "天罚死光": "데우스 엑스 레이", - "薄暮": "베스퍼스", - "天罚之剑": "지하드", - "神罚·灭世裁决": "퍼니쉬먼트", - "以身载灵": "인카네이션", - "暗影绽放:死亡荆棘": "라케르쏜즈", - "冥王降临:净土救赎": "콰이터스 리뎀션", - "唤魔蛇腹剑": "파천세", - "蛇腹剑破": "사복검-발", - "蛇腹剑舞": "사복검-무", - "蛇腹剑刺": "사형조수", - "蛇腹剑缠": "사복검-조", - "蛇腹剑灭": "폭류나선", - "魔剑控制": "마검 제어", - "血饮狂舞": "혈화난무", - "碎魔剑": "분마검", - "群魔乱舞": "혈지군무", - "唤魔塔莫斯之袭": "검마격살", - "贪欲之燔祭": "탐욕의 번제", - "空绝斩千刃": "암연검:기가 블레이드", - "唤魔逆天之普诺": "역천의 프놈", - "汲血魔剑": "혈마검", - "唤魔弑神剑": "마인의 검세", - "空绝斩地裂": "암연격:기가슬래쉬", - "弑神剑极": "비인외도:극", - "弑神剑诸神献祭": "파계검:라그나로크", - "魔源觉醒": "마인의 여왕", - "蛇舞血轮剑": "혈문지괴검", - "弑神剑恶魔孤岛": "비인검:알카트라즈", - "返本归元": "삼화취정", - "三花聚顶": "삼매진화", - "七星耀华": "등봉조극", - "剑仙之境": "검선지경", - "四象引": "흡기", - "一花渡江": "일화도강", - "樱落斩": "비상", - "圆舞斩": "극검", - "碎岩裂地掌": "거압", - "游龙掌": "비연장", - "乱花葬": "난화검", - "回天璇鸣剑": "폭검", - "湮烈掌": "폭멸장", - "花舞千魂杀": "혜성만리", - "花开寒影": "경전지화", - "啸空十字斩": "십자검", - "如来神掌": "백보신장", - "莲花剑舞": "연화검무", - "樱花劫": "연화섬", - "飞花逐月": "월광비무", - "落英惊鸿掌": "엽해소옥", - "轻云出月风静夜": "월하무즉정야", - "双重斩": "더블 샷", - "鬼缚钉": "러스티 네일 ", - "孤勇之志": "올드 패션드 ", - "冲击斩": "슬라이스 임팩트 ", - "回旋勾斩": "데인저러스 훅 ", - "封喉丝": "블랙아웃 ", - "利刃旋风": "블렌딩 페인 ", - "白牙落斩": "행오버 ", - "疾刃之影": "섀터드 글래스 ", - "薄暮利刃": "딥 더스크 ", - "黑夜之花": "와일드 플라워 ", - "回旋十字斩": "셰이커 블래스트 ", - "刃之决意": "빈티지 ", - "夜之风": "나이트폴 ", - "秘术·心斩": "라스트 오더 ", - "收刀秘术": "라이선스 ", - "沉寂之狱": "쇼다운 ", - "瞬影碎魂击": "오버페이스 ", - "追命索魂丝": "불스아이 ", - "无情夜行": "인퍼머스 ", - "秘术·曜夜斩": "스트레이트 샷 ", - "悬丝风暴": "카타르시스 ", - "黑曜真刃·破晓": "데이브레이크 ", - "夜色杀意": "데어데블 ", - "绚烂之舞": "풀바디 ", - "秘术·雨夜终曲": "테스타먼트 ", - "蓄念炮": "축염포", - "分身": "분신", - "念之奥义": "넨의 극의", - "风雷啸": "광풍나선력", - "禅意:万象": "넨탄:축염포", - "幻影爆碎": "환영폭쇄", - "念气波": "넨탄", - "念气波:蓄念炮": "나선의 넨:출 ", - "念气罩": "넨 가드", - "念气环绕": "나선의 넨", - "念气环绕:袭": "나선의 넨:출", - "念气环绕:御": "나선의 넨:주", - "念兽:龙虎啸": "뇌명:사나운 빛의 넨수", - "狮子吼": "사자후", - "螺旋念气场": "기공장", - "念兽:猛虎震地": "기호지세", - "念兽:审判之金雷虎": "금뇌호:심판의 넨수", - "念之战矛": "넨 스피어", - "冲云念气场": "기공환", - "奔雷螺旋击": "제황나선격", - "月辉念气破": "월광대지", - "月华万象": "휘광의 성체", - "禅语:形灭": "광호천지파", - "禅念:归一": "삼라만상", - "雷霆踏": "뇌전각", - "下段踢": "로킥", - "碎骨": "본 크러셔", - "铁山靠": "철산고", - "柔化肌肉": "머슬 시프트", - "闪击快打": "섬격", - "冲膝": "클로즈 킥", - "炽焰旋风腿": "홍염 질풍각", - "闪电之舞": "라이트닝 댄스", - "瞬影连环踢": "헥토파스칼 킥", - "烈焰燃烧": "효율적인 연소", - "烈焰焚步": "화염의 각", - "飞燕旋风": "비연선풍", - "旋风碎心踢": "스핀 킥", - "烈火支配": "화력개방", - "烈火强踢": "낙화", - "烈火强拳": "아토믹 캐넌", - "极武霸皇踢": "패황연격", - "千锤百炼": "한계 개방", - "炼狱坠星腿": "필멸의 습격 ", - "焚火逐日拳": "멸화파천격 ", - "拳套掌握": "권투글러브 사용 가능", - "双重释放": "이중개방 ", - "肘击": "뇌격", - "抛沙": "헬터 스켈터", - "毒瓶投掷": "독병 투척", - "擒月炎": "일발화약성", - "爪精通": "클로 마스터리", - "毒针投掷": "바늘 투척", - "砖块投掷": "블럭 투척", - "伏虎霸王拳": "마운트", - "挑衅": "도발", - "螺旋滑铲": "그라운드 태클", - "罗网投掷": "그물 투척", - "毒雷引爆": "베놈 마인", - "狂·霸王拳": "크레이지 발칸", - "血色风暴": "니들 스핀", - "千手奥义": "천수천안", - "天崩地裂": "천붕지괴", - "爆破污桶": "더티 배럴", - "千锁乱舞": "광폭혈쇄", - "诡诈之道": "룰 브레이크", - "暗街夺命锁": "체인 드라이브", - "飞沙走石": "만천화우", - "燃火轰天炮": "개조형 파진포:연화", - "逆道·皆允": "피카레스크 ", - "逆道·爆狱": "로드 투 헬 ", - "逆道·幽链之界": "배드 엔딩 ", - "膝击": "무릎 찍기", - "摔技强化": "강렬한 테이크 다운", - "臂铠精通": "건틀릿 마스터리", - "抛投": "로플링", - "连环抓取": "임팩트 콤비네이션", - "野蛮冲撞": "숄더 태클", - "无情摔击": "브레이크 다운", - "空绞锤": "에어슈타이너", - "霹雳旋踢": "스냅 샷", - "浮空凌云踢": "블로우 스트라이크", - "疾波猛坠": "매그넘설트", - "地狱风火轮": "롤링 스파이크", - "裂石破天": "와일드 캐넌 스파이크", - "力之奥义": "반격", - "死亡旋律": "나의 공격리듬은!!", - "彗星冲击": "피어스", - "武莲华": "한놈만 팬다!!", - "傲天之怒": "가장 강한 녀석은 누구냐?", - "黑震旋风": "흑진광풍", - "疾风闪电": "오의:질풍노도", - "一字传承:极义震天破": "일자전승:극의 진천노호", - "神怡气静": "부동심 ", - "黑震流·陨灭": "천지역전:무뢰 ", - "黑震流·山岳崩颓": "흑패성진:사문격쇄 ", - "乱舞千叶花": "흩날리는 천염화", - "心之念意": "축기", - "念气归元": "의지를 담은 넨 ", - "念气波蓄念炮": "넨탄축염포", - "念兽龙虎啸": "뇌명:사나운 빛의 넨수", - "气玉弹": "기옥탄", - "念兽雷龙出海": "광충노도", - "千莲怒放": "넨화", - "奔雷掌": "광룡십삼장", - "狂狮怒吼": "태사자후", - "奇袭幻影": "세인트 일루전", - "聚能念气炮": "흡기공탄", - "念帝旋天破": "광휘의 넨", - "天雷分身步": "천뢰분신보 ", - "念印幻流破": "염인환류파-천지개벽 ", - "崩拳": "붕권", - "弱点感知": "급소 지정", - "寸拳": "원인치 펀치", - "升龙拳": "라이징 너클", - "纷影连环踢": "비트 드라이브", - "武神强踢": "사상최강의 로킥", - "武神步": "스탬피드", - "破碎拳": "파쇄권", - "回天连环击": "일주연환격", - "神武之力": "리미트 브레이크", - "虎啸神拳": "호격권", - "无影脚": "무영각", - "极尽霸皇断空拳": "극진:패황단공권", - "疾风劲": "질풍경초 ", - "雷霆之舞": "라이트닝 시프트 ", - "真烈空星鸣拳": "진(眞):각성연환격", - "拳套精通": "권투글러브 마스터", - "武神强踢buff": "사상최강의 로킥 버프", - "毒影针": "히든 스팅", - "双重投掷": "이중 투척", - "砖袭": "블록 버스터", - "天罗地网": "천라지망", - "裂地飞沙": "그라운드 킥", - "街头风暴": "정크 스핀", - "猛毒之血": "혈관을 흐르는 맹독", - "死亡毒雾": "독무", - "猛毒擒月炎": "맹독 일발화약성", - "爆碎砖袭": "블록 봄", - "猛毒之伤": "용독술", - "连环毒爆弹": "비기:폭독", - "毒龙轰天雷": "만병지왕-파진포", - "万毒噬心诀": "독문무공", - "禁技:万毒蛇窟": "금기:독사굴 ", - "万毒噬心诀x5": "독문무공 x5", - "万毒噬心诀x4": "독문무공 x4", - "万毒噬心诀x3": "독문무공 x3", - "身化万毒": "독문마경 ", - "钻心毒爆": "페인킬러 ", - "万毒噬心诀:毒龙吞天": "독문무공", - "背摔": "수플렉스", - "折颈": "넥 스냅", - "强力抱摔": "파워 슬램", - "霹雳肘击": "브레이킹 엘보", - "霹雳冲击": "조인트 스매쉬", - "螺旋彗星落": "스파이어", - "地狱摇篮(抓轰炮)": "수플렉스 싸이클론 (그랩 캐넌)", - "抓取奥义": "옷깃 잡기", - "末日风暴": "기간틱 타이푼", - "空绞连锤(抓轰炮)": "에어클러치 (그랩 캐넌)", - "极手奥义": "체인 그랩", - "死亡摇篮": "싸이클론 어택", - "末日摇篮": "자이언트 스윙", - "风暴之舞": "토르베지노", - "苍宇彗星落": "허리케인 슈퍼 플렉스", - "光芒之翼": "스테이블:디 얼티밋 ", - "送葬舞步": "샤이닝 윙즈 플랩 ", - "女皇时代辉煌舞台": "피날레 오브 더 퀸", - "致命射击": "헤드샷", - "左轮奥义": "리볼버 강화", - "花式枪术": "스타일리쉬", - "三连发": "트리플 탭", - "致命回射": "웨스턴 파이어", - "乱射": "난사", - "移动射击": "이동사격", - "多重射击": "멀티 헤드샷", - "双鹰回旋": "더블 건호크", - "死亡印记": "죽음의 표식", - "疯狂屠戮": "스커드 제노사이드", - "死亡突袭": "데들리 어프로치", - "压制射击": "제압 사격", - "射击掌握": "사격술", - "疾风骤雨": "패스트 드로우", - "抹杀": "와이프 아웃", - "第七翼动": "세븐스 플로우", - "卓尔不群": "아웃 스탠딩 ", - "爆燃突击": "엑셀레이션 트리거 ", - "鹰眸·致命危机": "데스 크라이시스 ", - "烟尘弹": "더스트 샷 ", - "M137格林机枪": "M-137 개틀링건", - "重火器精通": "중화기 마스터리", - "加农炮": "캐넌볼", - "反坦克炮": "슈타이어 대전차포", - "超动力补给包": "오버부스트 팩", - "激光炮": "레이저 라이플", - "蓄电激光炮": "충전 레이저 라이플", - "聚焦喷火器": "화염 강타", - "FM31榴弹发射器": "FM-31 그레네이드 런처", - "FM92刺弹炮": "FM-92 스팅어", - "量子爆弹": "양자 폭탄", - "X1压缩量子炮": "X-1 익스트루더", - "卫星定位": "스펙트럴 서치 아이", - "卫星射线": "새틀라이트 빔", - "等离子放射器": "플라즈마 부스터", - "FM92SW刺弹炮": "FM-92 스팅어 SW", - "重火器改良": "중화기 개조", - "地脉震荡器": "사이즈믹 웨이브", - "MSC7": "MSC7", - "毁灭射线": "버스터 빔", - "连锁卫星": "인터록 새틀라이트 ", - "MLDRS95发射器": "MLDRS-95", - "裂核轨道炮": "오비탈 디재스터 ", - "方舟反应堆": "아크리액터", - "G1科罗纳": "G-1 코로나", - "G2旋雷者": "G-2 롤링썬더", - "毒蛇炮": "바이퍼 ", - "机械概论": "로봇 엔지니어링", - "RX78追击者": "RX-78 랜드러너", - "Ez8自爆者": "Ez-8 카운트다운", - "G3捕食者": "G-3 랩터 ", - "RX60陷阱追击者": "RX-60 트랩러너", - "空战机械:风暴": "공중 전투 메카:템페스터", - "空投支援": "메카 드롭", - "拦截机工厂": "스패로우 팩토리", - "光反应能量模块": "솔라 모듈 시스템", - "斗志之歌": "최후의 투지", - "盖波加之拳": "게이볼그 펀치", - "EZ10反击者": "Ez-10 카운터 어택", - "EXSZero毒蛇炮": "Ex-S 바이퍼 Zero", - "HS1机械助手": "HS-1 친구들", - "TN80终结者": "TX-80 디멘션 러너", - "TX-45特攻队": "TX-45 A-Team", - "超时空行军": "헬 마치", - "SOPHIA": "소피아", - "HS1全息机械猎手": "버추얼 러쉬", - "GW16-瓦尔德斯坦": "GW-16 발트슈타인", - "机械引爆": "로봇 전폭", - "弹夹改装": "매거진 드럼", - "兵器研究": "병기 숙련", - "手雷精通": "유탄 마스터리", - "M18阔剑地雷": "M18 클레이모어", - "G35感电手雷": "G-35 감전류탄 ", - "交叉射击": "교차 사격", - "爆裂弹": "폭발탄", - "G18冰冻手雷": "G-18 빙결류탄 ", - "聚合弹": "버스터 샷", - "C4飞弹": "C4", - "凝固汽油弹": "네이팜 탄", - "镭射狙击": "록 온 서포트", - "弹药主宰": "듀얼 플리커", - "黑玫瑰特种战队": "특수기동전대 '블랙 로즈'", - "G61重力手雷": "G-61 중력류탄", - "轻火力速射": "피스톨 카빈", - "战地功勋": "전장의 영웅", - "重火力支援": "데인저 클로즈", - "G38ARG智能手雷": "G-38ARG 반응류탄", - "超新星核爆": "슈퍼 노바", - "赤诚之心": "얼리전트", - "皇鹰特战队": "이터널 버스터", - "赤魂风暴狙击": "황야의 폭풍", - "弹药改良": "강화탄", - "刺踢": "니들 소배트", - "锁链截击": "체인 스내치", - "音速劫击": "소닉 스파이크", - "枪舞": "권총의 춤", - "隐匿切割": "베일드 컷", - "血腥狂欢": "블러디 카니발", - "鲜血劫击": "블러디 스파이크", - "枪刃改良": "쏘우 블레이드", - "死亡锁链": "킬 포인트", - "锁链切割": "체인 디바이더", - "血舞祭": "블러드 앤 체인", - "锁链意志": "체인 인라이튼", - "毁灭风暴": "루이네이션 에어리어", - "盛放·绯红花园": "크림슨 가든", - "M3喷火器": "M-3 화염방사기", - "APG63": "APG63", - "FM92mk2榴弹": "FM-92 mk2 랜서", - "超温重火器": "오버 히트", - "远古粒子炮": "에인션트 트리거", - "FM92mk2SW榴弹": "FM-92 mk2 랜서 SW", - "重武装改造": "알파 서포트", - "FSC7": "FSC7", - "PT15原始型压缩炮": "PT-15 프로토타입", - "火力全开": "오퍼레이션 레이즈", - "Pandora_01": "Pandora_01", - "UHT-03爆炎喷火器": "UHT-03 플레게톤", - "制胜·最终兵器": "디사이시브 배틀", - "机械原理": "하이테크놀로지", - "电能转换": "트랜스포메이션", - "G1磁力弹": "G 마그네틱", - "空战机械:狂风": "공중 전폭 메카:게일 포스", - "G系扩张": "G 익스텐션", - "G0战争领主": "G-0 배틀로이드", - "HS12等离子体发生器": "HS-12 플라즈마", - "G4雷行者": "프리스비", - "GX主宰者": "G-오퍼레이터", - "GSP猎鹰科罗纳形态": "G-S.P.팔콘 코로나", - "GSP猎鹰旋雷者形态": "G-S.P.팔콘 롤링썬더", - "GSP猎鹰捕食者形态": "G-S.P.팔콘 랩터", - "高压电磁场": "마그네틱 필드", - "终结者:博尔特MX": "고기동 메카:볼트 MX", - "微型制导": "마이크로 컨트롤", - "超时空光耀加农炮": "하이퍼 플레어", - "G-X 星尘天穹": "G-X 스타더스트", - "空中射击": "공중사격", - "RX-78追击者": "RX-78 랜드러너", - "Ez-8自爆者": "Ez-8 카운트다운", - "单兵推进器": "니트로 모터", - "弹药强化": "병기강화", - "EMP磁暴": "EMP 스톰", - "制空掌握": "증명의 열쇠", - "开火": "오픈 파이어", - "G96热压手雷": "G-96 열압력유탄", - "决战之日": "디-데이", - "单兵推进器-02X": "니트로 모터-02X", - "空袭战略": "스탠바이-레디", - "终解·制空霸权": "데피니트 솔루션", - "元素循环": "원소의 이해", - "元素之力": "엘레멘탈 포스", - "元素环绕": "엘레멘탈 실드", - "元素融合": "원소 융합", - "元素爆发": "페이탈 엘레멘트", - "黑瞳": "검은 눈", - "异瞳": "위키드 오드 아이", - "元素炮": "엘레멘탈 캐넌", - "属性变换": "속성 발동", - "魔球连射": "연속발사", - "地炎": "파이어로드", - "冰晶坠": "크리스탈 어택", - "雷光链": "체인라이트닝", - "暗域扩张": "암전", - "冰晶之浴": "아이스 크리스탈 샤워", - "旋炎破": "플레임 서클", - "雷光屏障": "라이트닝 월", - "黑暗禁域": "다크니스 멘틀", - "元素轰炸": "엘레멘탈 레인", - "幻魔四重奏": "엘레멘탈 버스터", - "元素浓缩球": "컨센트레이트", - "元素幻灭": "엘레멘탈 스트라이크", - "元素禁域": "엘레멘탈 필드", - "聚能魔炮": "컨버전스 캐넌", - "末日湮灭": "아마겟돈 스트라이크", - "聚魔轰击": "컨버전스 리액트", - "启源·微观宇宙": "마이크로 유니버스", - "元素禁断": "원소 폭격", - "冰魄剑": "빙백검", - "冰武精通": "프로즌웨폰 마스터리", - "寒冰连枪": "설화연창", - "冰魄旋枪": "회전투창", - "冰霜之径": "아이스 로드", - "冰之领悟": "발현", - "冰魄之弓": "브로큰 애로우", - "破冰飞刃": "피어스 오브 아이스", - "水晶剑": "크리스탈 블레이드", - "旋冰穿刺": "아이스 크래쉬", - "冰魄锤击": "아이스 빅 해머", - "极冰绽放": "아이스맨", - "冰雪风暴": "블리자드 스톰", - "冰封奥义": "툰드라의 가호", - "千旋冰轮破": "빙류환", - "冰凌破": "아이스 오브", - "千里冰封": "아이스 필드", - "冰之技艺": "아이스크래프트", - "碎冰破": "샤드 매그넘", - "极冰领域": "오버프리즈 익스텐션", - "永罪冰狱": "쥬데카 디 이터널", - "冰霜之手": "", - "极冰猎魔斩": "글라키에스", - "永劫:纳斯特隆德": "영겁:나스트론드", - "鲜血融合": "블러드", - "血之共鸣": "블러드 혼", - "血狱之力": "어밴던", - "鲜血之殇": "트루 블러드", - "血源之眼": "블러드비스", - "血蝠之袭": "릴리악", - "血翼突击": "블러드 윙", - "鲜血长枪": "오퍼링", - "血蝠之舞": "릴로이", - "血腥狩猎": "쉬카리", - "狱血之犬": "헬베루즈", - "狱血之牙": "팽", - "血腥炼狱": "토먼트", - "噬魂囚笼": "소울 스틸", - "狱血之噬": "커럽션", - "伯爵之歌": "체페슈", - "魔仆召唤:狱犬": "럼블독", - "血翼绽放": "머로더", - "地狱冥犬": "팬텀 베일", - "死亡之握": "페이탈리티", - "血界彼岸": "블러드 스트림", - "血翼蔽空": "블러드 스틴저", - "血域帷幕·陨灭": "익스터미티 페리쉬", - "疾风之棍棒精通": "휘몰아치는 질풍의 봉 마스터리", - "御风之力": "풍신의 힘", - "风神诀": "세컨드 윈드", - "初始之风": "제네시스 벤투스", - "风之意志": "태풍의 전조", - "狂风冲刺": "소닉 무브", - "回风斩": "삭풍", - "朔风牵引": "대진공", - "风鸣冲击": "윈드 블래스터", - "游离之风": "회오리 바람", - "双翼风刃": "싹쓸바람", - "风暴之眼": "폭풍의 눈", - "刃风": "칼날 바람", - "真空旋风破": "휘몰아치는 바람", - "风暴之拳": "스톰 스트라이크", - "万象风龙阵": "볼텍스 허리케인", - "疾风瞬影闪": "질풍가도", - "风卷残云": "스톰 퀘이커", - "游龙惊风破": "스파이럴 프레스", - "九霄风雷": "바이올런트 스톰", - "无限风域": "스톰 엘리미네이트", - "怒风狂涌": "터뷸런트 럼블", - "风之极·永坠": "로드 오브 템페스트:아라칸", - "次元扭曲装置": "도그마 디바이스", - "乖离虚无": "괴리:디멘션 할로우", - "虚空之力": "운명왜곡", - "混沌源能石": "SSTH", - "次元坠落": "차원:액시던트", - "次元跃迁": "차원:디멘션 리프", - "次元虚影": "차원:실루엣", - "乖离禁忌之奈雅丽": "괴리 금단의 니알리", - "次元离子束": "차원:차원광", - "次元万花镜": "차원:칼레이도스코프", - "乖离魅魔之舞": "괴리:할리퀸", - "次元粒子风暴": "차원:시공폭뢰", - "次元时空磁场": "차원:차원회랑", - "乖离异界蜂群": "괴리:패러사이트 스웜", - "次元粒子波": "차원:포지트론 블래스트", - "乖离扭曲之恐惧": "괴리:형용할 수 없는 공포", - "次元思维聚爆": "차원:패러다임 디토네이션", - "次元奇点": "차원:싱귤래리티 매니플레이션", - "乖离禁锢": "괴리:칙 잇", - "乖离沉沦": "괴리:저편의 자장가", - "禁断之盛宴": "차원괴리:금단의 연회", - "乖离:边缘之兽": "괴리:모서리의 짐승", - "古史记忆": "연대기의 단편", - "未明·次元崩坏": "차원괴리:이성붕괴", - "烈焰冲击": "플레임 스트라이크", - "属性精通": "속성 마스터리", - "虚无之球": "보이드", - "冰墙": "칠링 팬스", - "雷旋": "썬버스트", - "天雷冲击": "썬더 스트라이크", - "极冰盛宴": "아크틱 피스트", - "湮灭黑洞": "나이트 할로우", - "杰克降临": "핼로윈 버스터", - "元素之幕": "엘레멘탈 커튼", - "魔力增幅": "마력 증폭", - "陨星幻灭": "애스트럴 스톰", - "元素震荡": "엘레멘탈 퀘이크", - "圣灵水晶": "초월의 크리스탈", - "元素奥义": "엘레멘탈 포텐셜", - "元素之门": "더 게이트", - "圣灵符文": "초월의 룬", - "第六元素": "제6원소", - "魔法秀": "쇼타임", - "元素之源": "어시밀레이트", - "光与暗的交响": "썬더 레이지", - "宇宙寂灭-冰火之歌": "코스믹 캘러미티", - "召唤兽强化": "환수 강화 오라", - "心灵感应": "교감", - "精灵献祭": "정령 희생", - "契约召唤:桑德尔": "계약소환:검은기사 산도르", - "契约召唤:袄索": "계약소환:마계화 아우쿠소", - "精灵召唤:亡魂默克尔": "정령소환:데드 멀커", - "精灵召唤:极光格雷林": "정령소환:글레어린", - "精灵召唤:火焰赫瑞克": "정령소환:플레임 헐크", - "精灵召唤:冰影阿奎利斯": "정령소환:아퀘리스", - "契约召唤:路易斯": "계약소환:루이즈 언니!", - "精灵召唤:伊伽贝拉": "정령소환:정령왕 에체베리아", - "束缚印记": "끈끈이 투척", - "契约召唤:牛头王库鲁塔": "계약소환:타우킹 쿠루타", - "强击光环": "강격 오라", - "灵魂支配": "스피릿 본드", - "契约召唤:征服者卡西利亚斯": "계약소환:정복자 카시야스", - "必杀剑千鬼杀": "필살검 천귀살", - "精灵召唤:融合精灵海伊轮": "정령소환:융합정령 헤일롬", - "咒令:愤怒咆哮": "분노의 난타", - "蚀月附灵": "이클립스 하이브", - "黑月之噬": "다크문", - "传说召唤:月蚀之影": "전설소환:월영", - "传说召唤:逆月者拉莫斯": "전설소환:갈애의 라모스", - "咒令:逆月之蚀": "식락", - "鞭挞": "채찍질", - "魔力印记": "저놈 잡아라!", - "驱散魔法": "디스인챈트", - "至高精灵王": "지고의 정령왕", - "逆月": "포스티쿠스 루나", - "魔月·德拉里昂": "포식의 델라리온", - "绝对支配": "지배력 강화", - "尼巫的战斗术": "니우의 전투술", - "炫纹": "체이서", - "矛精通": "창 마스터리", - "棍棒精通": "봉 마스터리", - "炫纹发射": "체이서 사출", - "双重锤击": "더블 스윙", - "炫纹爆弹": "타이머 밤", - "碎霸": "쇄패", - "炫纹融合(旋转)": "퓨전 체이서", - "流星闪影击": "뇌연격", - "炫纹强压": "체이서 프레스", - "强袭流星打": "강습유성타", - "煌龙偃月": "황룡천공", - "煌龙乱舞": "황룡난무", - "斗神意志": "배틀 그루브", - "星纹陨爆": "퀘이사 익스플로젼", - "变身贝亚娜": "테아나 변신~!!", - "变身贝亚娜苍天击": "테아나 변신~!! 천격", - "变身贝亚娜天地碎霸": "테아나 변신~!! 천지쇄패", - "闪击碎霸": "트윙클 스매쉬", - "流星雷连击": "진 뇌연격", - "战灵潜能": "문무겸비", - "炫纹簇": "체이서 클러스터", - "使徒之舞": "사도의 춤", - "一骑当千碎霸": "일기당천 쇄패", - "炫纹之源:太古神光": "레이 오브 프리미티브", - "太古之力": "아르모니아", - "太古星河·殒灭": "엑스티시온", - "基本攻击": "기본 공격", - "变异苍蝇拍": "변이 파리채", - "亲和法米利尔": "퍼밀리어와 친하게 지내기", - "改良舒露露": "개조 슈르르", - "熔岩药瓶失败": "용암 지대 생성 물약 실패", - "魔道酸雨云": "애시드 클라우드", - "电鳗碰撞机": "플로레 컬라이더", - "反重力装置": "반중력 기동장치", - "暴炎加热炉失败": "성난 불길 가열로 실패", - "冰霜钻孔车失败": "메가 드릴 실패", - "超级苍蝇拍": "대왕 파리채", - "成功预感": "성공 예감", - "技艺融合": "퓨전 크래프트", - "光电兔": "플로레 전기토끼", - "雪人刨冰": "잭프로스트 빙수", - "贤者之石": "현자의 돌", - "魔道学助手": "호문쿨루스", - "魔道学助手+苦涩棒棒糖": "호문쿨루스 + 비터스 캔디바", - "超级棒棒糖": "롤리팝 크러쉬", - "乌洛波洛斯之环": "우로보로스", - "粉红糖果": "붉은 사탕", - "糖果大作战捣蛋杰克": "잭 오 할로윈", - "糖果大作战精怪乐园": "아르스마그나", - "幸运棒棒糖": "스위트 캔디바", - "熔岩药瓶成功": "용암 지대 생성 물약 성공", - "直拳冲击": "럭키 스트레이트", - "意念驱动": "윌 드라이버", - "技巧精通": "테크니컬 마스터리", - "圣拳锤击": "디바인 크러시", - "俯冲翔拳": "더킹 어퍼", - "俯冲直拳": "더킹 스트레이트", - "俯冲腹拳": "더킹 바디블로", - "瞬拳": "사이드 와인드", - "圣拳连击": "고저스 컴비네이션", - "神圣反击": "홀리 카운터", - "破碎之锤": "초핑 해머", - "旋涡重拳": "코크 스크류 블로우", - "刺拳猛击": "머신건 잽", - "神圣组合拳": "헤븐리 컴비네이션", - "极速飓风拳": "허리케인 롤", - "干涸之泉": "드라이아웃", - "泯灭神击": "빅뱅 펀치", - "破碎之拳": "개틀링 펀치", - "破坏之拳": "데몰리션 펀치", - "仲裁怒击": "핵 펀치", - "正义惩戒": "데스블로우", - "超重拳": "아토믹 쵸퍼", - "制裁:怒火疾风": "신의 분노", - "绝对正义": "하나의 정의", - "正义铁拳": "어그레시브 저지먼트", - "正义执行:雷米迪奥斯的圣座": "정의 집행:레미디오스의 성좌", - "普通攻击": "평타", - "空斩打": "공참타", - "落凤锤": "낙봉추", - "疾风打": "질풍타", - "破魔符": "성불", - "潜龙": "잠룡", - "巨兵精通": "거병 마스터리", - "断空捶击": "단층지격", - "升天阵": "승천진", - "黑暗切割": "어둠 가르기", - "朱雀符": "주작부", - "星落打": "저 하늘의 별", - "巨旋风": "거선풍", - "驱魔之书": "퇴마의 서", - "狂乱锤击": "난격", - "落雷符": "낙뢰부", - "疾空旋风破": "대회전격", - "式神:殇": "식신의 군", - "无双击": "무쌍격", - "斗志散发": "투기 발산", - "苍龙逐日": "창룡격", - "灭魂符": "멸혼부", - "逆鳞震": "역린격", - "脉轮:式神": "신의 챠크라", - "式神之力": "신선의 경지 ", - "逆龙七杀": "역전의 칠조격", - "式神封灵阵": "오망성진", - "真龙焚天": "진격(陣擊)의 황룡", - "式神之悟": "항마신장", - "式神灭却·合": "식신멸진:합", - "雷鸣怒海·火啸山崩": "오행(五行):벽천지격", - "恶魔之手": "분노의 움켜쥠", - "死亡切割": "데스 사이드", - "镰刀精通": "낫 마스터리", - "裂地锤": "지뢰진", - "恶魔诅咒": "환청", - "回旋飞镰": "스핀커터", - "复仇之刺": "복수의 가시", - "厄运之轮": "스피닝 디포메이션", - "恶魔之拳": "데빌 피스트", - "恶魔之握": "데빌 클러치", - "黑暗权能": "어둠의 권능", - "魔化:末日审判者": "악마화", - "审判": "처형", - "恶魔唤醒": "악몽", - "地狱之门": "복마전", - "末日浩劫": "재앙", - "不朽战吼": "다크 하울링", - "原罪之力": "이블 스트라이커", - "毁灭强击": "파멸의 강타", - "永堕:混沌弑神": "언홀리 퓨리", - "光之影": "레쳐스 데빌라이즈", - "极恶洪流": "다이어 스트림", - "末日福音:毁灭之翼": "괴멸의 복음", - "战斧精通": "배틀액스 마스터리", - "异端烙印": "이단의 낙인", - "定罪法则": "세큐리스 말레피카룸", - "狂炎告解": "광염의 고해성사", - "惩戒十字": "단죄의 십자가", - "净化火焰瓶": "플레게의 화염병", - "裁决之击": "징벌의 일격", - "火焰精华": "플레게의 정수", - "神焰": "성화", - "审判重击": "심판의 일격", - "神焰斩": "즉결심판", - "神焰洗礼": "세례의 불길", - "神焰怒火": "고결한 격노", - "行刑": "참수", - "火刑": "화형", - "神焰漩涡": "업화의 소용돌이", - "净化之焰": "정화의 불꽃", - "裁决轮回斩": "신벌", - "车轮刑": "차륜형", - "炎狱祭坛:炮烙": "불지옥", - "补赎逆十字": "척결의 역십자", - "无间狱·焚罪": "무간연옥:속죄의 제단", - "罪业加身": "무거운 죄업", - "唤雷符": "날벼락부", - "念珠连射": "염주 사출", - "木槵子经": "목환자경", - "束灵符": "구속제압부", - "驱邪咒": "마혼제령술", - "祈雨祭": "천녀기우제", - "神术强化": "법력 강화", - "和合之玉": "공력의 구", - "聚魂吸星符": "심혼흡성부", - "龙魂之怒": "용의 격노", - "百八念珠": "백팔염주", - "不动珠箔阵": "부동주박진", - "神龙如意珠": "신룡의 여의주", - "神谕:神龙雷雨祭": "신탁:신룡뇌우제", - "因果业火符": "시폭염화부", - "夺命大念阵": "탈명대염진", - "龙神之力": "용신의 힘", - "退魔阴阳符": "마혼부:퇴마음양옥", - "天坠阴阳玉": "염폭모대주", - "龙威如狱·龙恩如海": "현신:신룡진노", - "乾坤之境": "대행자의 권능", - "天泽神龙阵": "탄천신룡진", - "神龙之舞·天一": "천녀동화", - "双重切割": "듀얼 슬래쉬", - "负罪者镰刀精通": "짊어진 자의 낫 마스터리", - "罪业诱惑": "죄업에 짓눌린 육신", - "断头台": "길로틴", - "欲望之手": "러스트 핸드", - "傲慢之堕": "프라이드 악셀", - "屠戮回旋斩": "롤링 러쉬", - "怠惰之息": "슬로스 바디", - "诱魔之手": "죄를 깨우는 손길", - "贪婪之刺": "그리드 더 러커", - "杀戮战镰": "사이드 매서커", - "愤怒之袭": "스커드 더 라스", - "净化之花": "정화의 꽃", - "罪业宣告": "죄를 고하는자", - "嫉妒之吻": "엔비어스 키스", - "暴食之噬": "글러트니 바밋", - "灵魂烙印:原罪冲击": "세컨드 소울", - "(光辉)智慧起源:原罪结晶": "퍼스트 프라나:금단의 결정체", - "智慧起源:原罪结晶": "퍼스트 프라나:금단의 결정체", - "肋骨重塑:原罪战矛": "서드 립", - "失乐园": "라스트 제네시스", - "原罪之初": "죄의 근원", - "至高之刑": "카디널 익스큐션", - "原罪之翼·永息": "안식의 날개", - "终结追击": "히트엔드", - "武器精通": "무기 마스터리", - "月弧": "문아크", - "极限追击": "히트 블리드", - "双刃穿刺": "더블 피어스", - "绝杀斩": "밴디트컷", - "旋舞斩": "소드 댄스", - "旋刃": "체인소", - "剑刃风暴": "허리케인", - "螺旋穿刺": "버티컬 스파이럴", - "雷光刃影": "라이트닝 애로우", - "疾风乱舞": "소닉 어설트", - "绝命瞬狱杀": "엑셀 스트라이크", - "月轮舞": "실버스트림", - "旋刃冲击": "체인소 러시", - "陨落螺旋刺": "어슬랜트 스파이럴", - "乱空杀": "엑조틱 램펀트", - "月影突袭": "디스트리뷰션", - "天渊星狱": "노바 램넌트", - "死亡风暴": "데스 허리케인", - "绝命时刻": "모멘트 패닉", - "幻灭瞬杀": "베니싱 일루젼", - "影·万古星辰": "아데스 팬텀", - "暗魂波": "다크 소울", - "诅咒之箭": "커스 스피어", - "降临:尼古拉斯": "니콜라스 강령", - "降临:尼古拉斯(艾克洛索)": "니콜라스 강령 (아라클로소)", - "驱使僵尸": "좀비 강령", - "服从": "복종하는 사령", - "黑暗之环": "어둠의 고리", - "暗影蛛丝阵": "흑사진", - "死亡之爪": "어둠의 손톱", - "死灵之怨": "망자의 원한", - "百鬼夜行": "야행혼", - "黑魔法书:亡者之魂": "흑마법서:망자의 혼", - "降临:暴君巴拉克": "학살의 발라크르 강령", - "暗击拳": "암격권", - "巴拉克强击": "강격", - "杀戮乱舞": "살육난무", - "吸魂暗劲波": "흡기암경파", - "巴拉克的野心": "발라크르의 야망", - "巴拉克的盟约": "발라크르의 맹약", - "降临:僵尸莱迪娅": "리빙데드", - "巴拉克的愤怒": "기요틴", - "屠戮之惧": "학살자의 공포", - "千魂祭": "팬텀스트롬", - "死灵之缚": "망자의 집념", - "释魂暗劲波": "분기암경파", - "暗黑蛛丝引": "블랙 아라크니아", - "亡魂之息": "언홀리 마스터리", - "暴君极刑斩": "익스큐서너 슬래쉬", - "亡者君临:巴拉克之戮": "발라크르 현신", - "冥河之钥": "아케론의 열쇠", - "亡者之茧": "코쿤 오브 언데드", - "命运殇痕·摩罗斯之咒": "태초의 공포:모로스", - "火遁·豪火球之术": "화염구", - "忍法:幻影手里剑": "환영 다중 수리검", - "火遁·飓风煞": "화염선풍", - "苦无精通": "차크라 웨펀 숙련", - "烈焰印记": "화염의 인", - "火遁·螺旋手里剑": "나선 대차륜 쿠나이", - "忍法:替身术": "인법:바꿔치기", - "火遁·炎天道": "열화천도", - "忍法:残影术": "인법:잔영 남기기", - "火遁·蟾蜍油炎弹": "두꺼비유염탄", - "忍法:六道轮回": "인법:육도윤회", - "火遁·炎舞天璇": "비기:염무개화", - "暗炎残星": "암영술", - "毕方之印": "초열혼폭술", - "火遁·冥炎业火阵": "흉멸인법진", - "忍法:飞燕手里剑": "암기:비연수리검", - "火遁·风魔手里剑": "마환 풍마수리검", - "八尺琼勾玉": "광휘의 팔척곡옥", - "八咫镜": "야타의 거울", - "八岐大蛇": "야마타오로치", - "天照": "아마테라스", - "开二觉平x": "2각 평타", - "火炎灼空:草雉剑": "쿠사나기의 검", - "三元刹": "일기화삼청", - "勾玉之火·镰鼬": "구옥지화:카마이타치", - "火源限界·八咫乌": "야타가라스", - "忍术精通": "인술", - "天诛": "이레이저", - "割喉": "넥 디바이더", - "暗杀教义": "암살기술", - "夺魂": "홀드업!", - "暗杀之匕首精通": "날카로운 단검", - "穿心": "심장 찌르기", - "追命": "나락 떨구기", - "潜影刺击": "코버트 액션", - "刃舞": "칼날돌풍", - "影戮": "파이널 디스트럭션", - "瞬杀": "암살", - "暗杀之心": "배후습격", - "影斩·乱舞": "절명의 그림자", - "绝命飞刃": "단검투척", - "八荒影杀": "섀도우 스팅", - "死亡连舞": "죽음의 연무", - "潜行暗杀": "베일드 어택", - "剜心": "페이탈 블리츠", - "锁链": "체인", - "幽冥链狱:索命": "체인 리액션", - "暗影禁忌": "룰 오브 섀도우", - "影缚追魂锁": "메나싱 시즈", - "无间影狱·噬灭": "무영:참극", - "骑士信念": "강인한 신념", - "自然恩泽": "대자연의 가호", - "信仰鼓舞": "용기의 방패", - "剑盾猛攻": "체인러쉬", - "强踢": "라이온 킥", - "盾击": "실드 스타크", - "致命突刺": "리탈 펀토", - "愤怒冲撞": "에이션트 보어", - "破武之轮": "무장 해제", - "守护神鹿": "에이션트 디어", - "审判之盾": "선고", - "破甲冲击": "압도", - "精灵之跃": "엘비쉬 점프", - "神木刺击": "신록의 검", - "铁壁推进": "철벽방어", - "自然束缚": "자연의 속박", - "一刀两断": "뱅가드 스트랏슈", - "飓风旋枪": "런지 에볼루션", - "天陨断空斩": "분쇄", - "天马流星落": "천마 섬광", - "生命审判": "생명의 전조", - "壁垒突袭": "신뢰의 돌파", - "剑盾强袭": "체인 스트라이크", - "自然之怒": "자연의 분노", - "暮光之灵黄昏独角兽": "트와일라잇 유니콘", - "生命的恩宠": "그레이스 오브 라이프", - "荆棘之城": "에우디아의 성채", - "生命之律·神木擎天": "판타지 오브 네이쳐", - "魔灵召唤:波拉斯": "약식소환:보라스", - "魔灵召唤:瓦尔琪": "약식소환:럭키왁키", - "魔灵血统": "혼혈", - "力量法则": "힘의 논리", - "魔灵召唤:狂暴布洛克": "약식소환:히스테릭 워리어", - "绝对魅力": "카리스마", - "魔灵召唤:假面杰森": "약식소환:젤라틴 마스크", - "魔灵召唤:大画家芭芘": "약식소환:트윙클 아티스트", - "魔灵召唤:旋转小冯": "약식소환:크레이지 스핀", - "魔灵召唤:小吸血鬼夏伊": "약식소환:뱀파이어 칠드런", - "魔灵召唤:大富翁鲁邦": "약식소환:레이지 햇", - "魔灵召唤:迪克老爹": "약식소환:빅대디", - "魔灵召唤:红心女王艾丽莎": "약식소환:하트퀸", - "军团列阵": "군단 정렬", - "连锁共振": "공진", - "魔灵炸弹": "희생폭탄", - "魔幻旋风": "팬시 트위스트", - "毁灭突进": "파성추", - "翔空剑": "천공검", - "碎灵屠戮": "제노사이드 크러쉬", - "聚灵升空剑": "파이널 어택", - "魔能榨取": "착취", - "魔神百裂拳": "악신난무", - "黑暗冲击": "검은 충격", - "午夜嘉年华": "미드나잇 카니발", - "亚丁之力": "아텐의 화신", - "绚丽耀光": "매시브 파이어", - "魔灵乱舞": "대난투", - "黑曜之眸:亚丁降临": "아텐 현신", - "黑色曜日": "검은 태양", - "绽放·终章": "그랜드 피날레", - "盛宴·恶之祭典": "악의 제전", - "天使光翼": "세라픽 페더", - "天使降临": "세라픽 폴", - "荣耀之光": "글로리 오브 더 라이트", - "戒律": "커맨드먼트", - "神光冲击": "위핑 웨이브", - "神光连斩": "퓨리파잉", - "圣盾突击": "실드 브레이크", - "神光喷涌": "레쓰", - "神光盾击": "레트리뷰션", - "烈光": "디스럽션", - "神光闪耀": "컨페션", - "神光闪影击": "포기브니스", - "神罚之锤": "썬더 해머:유피테르", - "神光之跃": "컨실리에이션", - "信仰聚合神光惩戒": "프라이스 오브 미스트러스트", - "圣盾裁决": "인테그레이션", - "破晓之光": "멘데이트 오브 헤븐", - "神光回旋斩": "옵스트럭션", - "神圣信约": "인게이지먼트", - "神圣意志大天使降临": "저지먼트 콜", - "超越之翼": "윙 오브 메타트론", - "神光耀世": "트랜센던스 라이트", - "启示录:末日救赎": "더 라스트 리벨레이션", - "龙人剑术": "드래곤투스", - "火焰吐息": "파이어 브레스", - "龙翼突袭": "블릿츠 스트라이크", - "龙语召唤:阿斯特拉": "아스트라 소환", - "爆破龙角": "버스트 혼", - "龙拳(地面释放)": "너클 블래스터(지면 캐스트)", - "龙拳(空中释放)": "너클 블래스터(공중 캐스트)", - "龙之撕咬": "드래곤 팽", - "龙翼穿刺(2hit+踢击)": "스피닝 레이드(2hit + 발차기)", - "龙翼穿刺(撕咬附着)": "스피닝 레이드(물어 붙기)", - "飞龙斩": "드래곤 스매쉬", - "大胃王": "대식가", - "龙刃无双": "태도 용제무쌍", - "魔龙之息(脱手)": "폭풍의 숨결(설치형)", - "魔龙之息(骑乘)": "폭풍의 숨결(탑승)", - "魔龙之力": "드래곤포스", - "魔龙之力(火球)": "드래곤포스(불덩어리)", - "雷光嘶吼": "울부짖는 뇌광", - "龙皇制裁": "용왕파천", - "魔龙天翔(脱手)": "비룡천상(설치형)", - "魔龙天翔(骑乘)": "비룡천상(탑승)", - "龙神血脉": "계승자", - "魔龙星落": "미티어 버스트", - "征战无双": "용제출진", - "龙神裁决:终末之光": "종언을 고하는 빛", - "龙血誓约": "용혈의 서약", - "龙咆雷鸣": "뇌룡격멸:포효", - "龙神君临·虚空烬灭": "참성연격:인피니티 노바", - "普通攻击(一轮)": "평타 (1사이클)", - "战戟精通": "마창 제어", - "战戟猛攻": "임팩트 스매쉬", - "战戟之魂": "마창 지배", - "战神之力": "마창 각성", - "霸王戟": "스매쉬", - "破军突击": "헤드온 챠지", - "追魂斩": "브랜디쉬", - "落月斩": "크레센트 슬래쉬", - "冷血突刺": "드레드보어", - "破灭斩": "비헤드", - "夺命乱舞": "블레이드 스톰", - "横扫八荒": "디베스테이트", - "长虹贯日": "런지 스트라이크", - "穿云裂地斩-下劈": "둠 글레이브-내려찍기", - "破灭轮回刺": "데들리 매서커", - "断魂裂岩斩": "버스트 슬래쉬", - "千魂弑": "유 다이드", - "血战天狱": "데모닉 인페르노", - "灭天之魂": "마창:천멸", - "镇狱裂地枪": "브루탈 디몰리셔", - "天劫·斗灭乾坤": "네버모어", - "长枪精通": "장창 숙련", - "双重刺击": "트윈 펀토", - "行云:风": "스윌링 스피어", - "行云:疾": "그라운드 씨커", - "行云:落": "라이징 랜서", - "行云:沐": "미라지 부스트", - "旋风枪": "슈트롬", - "无畏波动枪": "파동연환창", - "螺旋波动枪": "스파이럴 웨이브", - "升龙破空枪": "공아", - "狂龙怒啸": "메조싸이클론", - "夺命雷霆枪": "뇌격점혈섬", - "行云:启": "미라지 스트림", - "流云幻灭": "오러 포스 재블린", - "风火燎原": "롤링 벌컨", - "三一斩月": "삼일참월", - "无双突刺": "쿼드러플 드라이브", - "行云:冥": "무형의 창술사", - "流光无影闪": "미스트 플레어", - "极影无形杀": "살극쌍연무", - "一身是胆": "일신시담", - "双龙流云灭": "레조넌스 임페일", - "问鼎·千军破云": "천하포무:투극", - "光枪精通": "광창 마스터리", - "狩猎本能": "헌터즈 샤프니스", - "枪魂感知": "잔류 감각", - "狩猎之心": "힘의 근원", - "猎杀枪": "서번트 랜스", - "隐鼠袭杀": "두더지 사냥", - "光焰飞枪": "니들러", - "蛮横冲撞": "버팔로 폴", - "猎杀枪掠食": "서번트 랜스:어썰트", - "光焰枪": "날개 꿰기", - "猎杀枪穿心": "서번트 랜스", - "光焰囚杀": "램 펜스", - "利刃收割": "번 로커스트", - "鹰坠": "페니트레잇 헤드", - "龙鳞碎割": "스케일 그라인더", - "逐云灭龙杀": "드래곤 슬레이어", - "天龙破": "팔티잔 스큐어", - "地龙狩": "어스웜 헌트", - "地龙封魔杀": "광룡분쇄창", - "无尽杀戮": "데보닝 슬래셔", - "绝命猎杀死亡穿刺": "데스 차지", - "狩魔之魂": "케라브노스", - "瞬光猎杀枪": "인시디우스 파이크", - "红月·狩猎盛宴": "붉은 달의 사냥제", - "暗蚀": "잠식", - "侵蚀之矛": "다크 엠비션", - "双重投射": "더블 쓰로우", - "暗矛精通": "어둠의 투창 마스터리", - "暗矛投射": "암흑나선창", - "黑暗枪雨": "디스페어", - "暗矛贯穿": "피어싱 드라이브", - "暗枪突破": "마창 폭주", - "黑蚀葬礼": "다크 베리얼", - "绝望枪": "절명창", - "暗蚀螺旋枪": "스파이럴 러쉬", - "连锁侵蚀": "디퓨젼", - "坠蚀之雨": "다크 스타", - "暗蚀爆雷杀": "흑광폭살", - "黑暗支配者": "어둠의 지배자", - "无尽侵蚀:缚魂": "광폭:흑화연창", - "暗影蚀魂": "다크 디비젼", - "黑蚀酷刑": "바이올런트 피어스", - "黑暗本源": "심연에 드리운 어둠", - "冥夜裂空": "폴링 데스", - "冥蚀脉冲": "다크 임펄스", - "幽影暗蚀:寂灭": "멸광천투", - "暗源之蚀": "엄습하는 어둠", - "虚空碎灭": "어비셜 인베이더 ", - "暗·渊灭禁绝": "멸극:흑현금절", - "长刀精通": "장도 마스터리", - "暗刃战略": "숙련된 전문가", - "BG枪刃改造": "BG 파이어툴", - "BC精锐特训": "BC 트레이닝", - "暮光战略": "더스크 택틱스", - "掩护射击": "원호 사격", - "捷影步": "신속 기동", - "轮盘连射": "데드 식스", - "剑刃突刺": "서프라이즈 컷", - "潜行射击": "기습타격", - "利刃旋斩": "빌 드릴", - "游弹枪袭": "집중 사격", - "全方位射击": "알파 스트라이크", - "回旋飞剑": "카라콜", - "枪刃乱舞": "휩쓸기", - "血光斩": "최후의 일격", - "电光飞掠": "블리츠 크리그", - "近敌灭杀": "포인트 블랭크", - "大回旋坠斩": "헬릭스 다이브", - "致命焰火": "택티컬 오펜시브", - "碧波瞬斩": "벽파일섬", - "集结·暮光之翼": "황혼의 날개", - "燃情协战": "콜 시그널:커버링", - "暮光密令:黎明决战": "여명의 비상", - "连续射击": "연속 사격", - "特工秘技": "요원의 전투술", - "双弦斩": "쌍현참", - "月光挥斩": "달빛 가르기", - "小太刀精通": "소태도 마스터리", - "满月斩": "만월 달빛 베기", - "迅步突袭": "로망 대시", - "月影秘步": "암월비보", - "锁定射击": "목표 사격", - "枪刃旋杀": "블레이드 팰컨", - "终极锁定": "목표 포착", - "使命觉悟": "결의", - "噬血绝杀": "요인 암살", - "月相轮舞": "문페이즈", - "月光镇魂曲": "월광진혼곡", - "冷酷杀意": "냉혈", - "毁灭狂欢": "섬멸", - "精准射击": "조준 사격", - "月相天陨": "월식", - "无暇": "무결", - "夜影迷踪": "지고 뜨는 달", - "月夜:终极行动": "마지막 임무", - "重剑精通": "중검 마스터리", - "火药改良": "화약 다루기", - "终极火力": "리인포스 파이어", - "无法者之歌": "황야의 무법자", - "铁血豪情": "하드보일드", - "双重散射": "더블 배럴", - "爆烈斩击": "브레이크 샷", - "剑刃爆弹": "소드 밤", - "广域散射": "디퓨전 버스트", - "G型火焰爆弹": "G-CTF", - "爆裂斩": "번 투 슬래쉬", - "爆弹罗网": "오프레션", - "裂地爆刃": "디스트러블 퀘이크", - "惊喜大礼": "서프라이즈 프레전트", - "G型烬灭榴弹": "G-Widow", - "完美击球": "퍼펙트 배팅", - "夺命焰火": "겟 온 파이어", - "爆弹华尔兹": "바이올런트 스매쉬", - "覆灭之枪": "더 나인 배럴", - "终焉:硝烟狂欢": "인크레더블", - "铁腕爆弹": "터미네이트 슬러거", - "烽火硝烟·终末之征": "클라이막스", - "源力剑精通": "코어 블레이드 마스터리", - "细胞弱化": "인젝션", - "源能增幅": "앰플리파이", - "源力汇聚": "코어 패러다임", - "奇点源核": "싱귤래리티 코어", - "源光斩": "빔 슬래쉬", - "旋转源能波": "로테이션 웨이브", - "源能护盾": "코어 실드", - "镭射源能枪": "테이저", - "源能波刃": "스퀘어리", - "能量飞鱼弹": "엑소셋", - "脉冲斩": "일렉트릭 필러", - "电磁领域": "이미션", - "引力源光弹": "어트랙트 에뮤니션", - "光裂斩": "라이트닝 슬래쉬", - "光导裂地斩": "디바이드 어쓰", - "超能场域": "버스트 필드", - "能量禁锢": "에너지 바운스", - "离散能量波": "디스펄션", - "绝望圆舞": "라이트 브랜디쉬", - "CEAB-2超能爆发": "CEAB-2", - "终焉:超世界崩坏": "익시드", - "临界源能弹": "블랙 시드", - "源能场域:黑暗边缘": "블랙 호라이즌", - "烈火燎原": "파이어월", - "炽炎星陨": "운석 낙하", - "冰霜之球": "아이스 스톤", - "冰天震地": "아이스 플레이트", - "幻想之境": "상상력", - "具象强化": "계열 강화", - "烈焰飓风": "플레임 허리케인", - "极冰护盾": "아이스 실드", - "超能旋风波": "윈드 프레스", - "风暴漩涡": "윈드 스톰", - "洞悉": "이해", - "末日虫洞": "웜홀", - "冰雪降临": "빙하시대", - "时空链接": "링크", - "创世之力": "천지창조", - "时空禁制": "타임 포워드", - "创世": "창조의 공간", - "天工开物": "창조의 아티팩트", - "创世之光": "창세의 빛", - "时之终末:归烬": "종말", - "自我觉醒": "자각", - "挑击": "어퍼", - "暗影斩": "다크 슬래쉬", - "黑暗十字斩": "다크 크로스", - "暗影·波动剑": "웨이브", - "旋涡斩": "베인 슬래쉬", - "滑斩": "브리프 컷", - "跃斩": "바운스 블로우", - "跃地斩": "홉 스매쉬", - "冥光斩": "그랜드 웨이브", - "瞬影斩": "래피드 무브", - "暗月斩": "스핀 어택", - "暗影三击剑": "트리플 스탭", - "暗劲爆发": "다크 익스플로젼", - "邪影·波动剑": "다크 웨이브", - "暗魂之手": "다크 러스트", - "突刺": "피어스 스트라이크", - "暗影鞭": "윕 어택", - "灭魂封魔斩": "다크 레이브", - "冥魂珠": "다크 볼", - "暗影升龙击": "다크 크래셔", - "冥魂之陨": "다크 폴", - "破魂之刃": "다크 소드", - "凝魂波动阵": "쇼크 웨이브", - "破魂斩": "드로우 소드", - "冥炎破空斩": "다크 플레임 소드", - "禁魂斩": "모멘터리 슬래쉬", - "魔狱裂魂斩": "다크 브레이크", - "黑暗明王阵": "웨이브 스핀", - "魔影剑舞": "일루젼 슬래쉬", - "幽魂剑": "팬텀 소드", - "暗炎冥魂波": "다크 웨이브 폴", - "斩龙破": "차지 익스플로전", - "邪影升龙斩": "다크 버스트", - "超时空碎裂": "타임 브레이크", - "暗·短剑精通": "어둠의 소검 마스터리", - "暗·太刀精通": "어둠의 도 마스터리", - "暗·巨剑精通": "어둠의 대검 마스터리", - "暗·钝器精通": "어둠의 둔기 마스터리", - "暗·光剑精通": "어둠의 광검 마스터리", - "时间停滞": "타임 스톱", - "次元融合": "차원일치", - "暗黑溯回斩": "디아볼릭 슬래쉬", - "时空主宰": "타임로드", - "时之止境:幻灭": "디 엔드 오브 타임", - "遗忘魔法师的馈赠": "잊혀진 마법사의 유산", - "死亡阴影": "죽음을 자아내는 그림자", - "贫瘠沙漠的遗产": "메마른 사막의 유산", - "噩梦:地狱之路": "개악:지옥의 길", - "永恒不息之路": "영원한 흐름의 길", - "天堂舞姬": "천상의 무희", - "皇家裁决者宣言": "황실 직속 집행자의 선고", - "炙炎之盛宴": "열대의 트로피카", - "传奇铁匠-封神": "전설의 대장장이-역작", - "命运歧路": "선택의 기로", - "古代祭祀的神圣仪式": "고대 제사장의 신성한 의식", - "龙血玄黄": "베테랑 군인의 정복", - "擎天战甲": "A.D. P 슈트", - "荆棘漫天": "구속의 가시덩굴", - "大自然的呼吸": "대자연의 숨결", - "深渊窥视者": "심연을 엿보는 자", - "圣者的黄昏": "황혼의 여행자", - "坎坷命运": "기구한 운명", - "吞噬愤怒": "삼켜진 분노", - "黑魔法探求者": "흑마술의 탐구자", - "时空旅行者": "시간의 여행자", - "穿透命运的呐喊": "운명을 가르는 함성", - "狂乱追随者": "광란의 추종자", - "地狱求道者": "나락의 구도자", - "次元旅行者": "차원의 여행자", - "天命无常": "운명의 주사위", - "悲剧的残骸": "아린 비극의 잔해", - "上古尘封术式": "고대의 술식", - "破晓曦光": "먼동 틀 무렵", - "幸运三角": "행운의 트라이앵글", - "精灵使的权能": "정령사의 장신구", - "军神的隐秘遗产": "군신의 숨겨진 유산", - "时间战争的残骸": "시간전쟁의 잔해", - "灵宝:世间真理": "영보:세상의 진리", - "能量主宰": "노멀라이즈 싱크로", - "超界·苍穹之云": "超 창천을 메운 구름", - "超界·永恒的季节": "超 흐르지 않는 계절", - "超界·亿万年的星光": "超 억년의 찬란한 별", - "超界·精灵的荣耀": "超 온슬롯:최후의 반격", - "超界·幸运的五彩石": "超 오광-뜻을 품은 빛", - "黑暗的第一权能": "어둠의 첫번째 권능", - "黑暗的第二权能": "어둠의 두 번째 권능", - "维度崩坏": "디멘션 크래쉬", - "暗之腐蚀": "어둠의 침식", - "堕落的暗黑之力": "타락한 어둠의 힘", - "江山如画": "찬란한 자:영광", - "江山如画[3]": "찬란한 자:영광[3]", - "万物的生灭": "만유의 생멸", - "万物的生灭[3]": "만유의 생멸[3]", - "兵法之神": "병법의 정수가 각인된 신물", - "兵法之神[5]": "병법의 정수가 각인된 신물[5]", - "流逝轮回的记忆": "소멸의 기억", - "无相轮回的希望": "잊혀진 자의 소망", - "魔战无双": "마력의 소용돌이", - "魔战无双[5]": "마력의 소용돌이[5]", - "霸域英豪": "풀 플레이트 아머", - "霸域英豪[5]": "풀 플레이트 아머[5]", - "千蛛碎影": "거미 여왕의 숨결", - "千蛛碎影[5]": "거미 여왕의 숨결[5]", - "誓血之盟": "금지된 계약", - "誓血之盟[5]": "금지된 계약[5]", - "天御之灾": "자연의 수호자", - "天御之灾[5]": "자연의 수호자[5]", - "最佳球手的绝杀": "아이실드 러데이니언", - "最佳球手的绝杀[5]": "아이실드 러데이니언[5]", - "战术之王的御敌": "웨슬리의 전술", - "战术之王的御敌[5]": "웨슬리의 전술[5]", - "杀意决": "암살자의 마음가짐", - "杀意决[5]": "암살자의 마음가짐[5]", - "逝魔之力": "불타오르는 마력", - "逝魔之力[5]": "불타오르는 마력[5]", - "天劫": "엘리멘탈 드롭퍼", - "天劫[5]": "엘리멘탈 드롭퍼[5]", - "冰雪公主的霜语首饰[3]": "얼음 공주의 숨결[3]", - "冰雪公主的霜语首饰": "얼음 공주의 숨결", - "精炼的异界魔石首饰": "정제된 이계의 마석", - "精炼的异界魔石首饰[3]": "정제된 이계의 마석[3]", - "先贤的馈赠": "붉게 일렁이는 혈광석 ", - "鲜红血纹": "혈광갑주", - "信念徽章:自由": "신념의 징표:칼리번", - "太极天帝剑": "태극천제검", - "哈蒂-赎月者": "하티-달을 탐하는 자", - "卡西姆的大剑": "카심의 대검", - "星之海:巴德纳尔": "별의 바다:바드나후", - "白虎啸魂手套": "백호의 울음소리", - "太阴神:灵龟": "태음신:영귀", - "疯狂飓风": "매드 싸이클론", - "猎焰追魂拳套": "블레이즈 헌터", - "青沙棍": "청사곤", - "午夜生死轮盘": "미드나잇 러시안 룰렛", - "雷霆怒啸手枪": "메가쇼크 런처", - "强力打击-X": "스트라이커-X", - "绝杀:无人生还": "오버스펙 라이즈", - "激光流星弓": "커스텀 라이져 보우", - "歼灵灭魂矛": "어나이얼레이터", - "混沌之种": "카오스 시드", - "火焰地狱": "플레임 헬", - "世界树的根须": "세계수의 뿌리", - "纯白的祈祷": "순백의 기도", - "圣者的慈悲": "포 더 세크리드", - "轮回之环:桓龙": "윤회의 고리:환룡", - "暗战终结者": "라스트 인파이팅", - "泯灭之灵": "루즈 리즌", - "弗卡奴斯的第二个痕迹": "불카누스의 두번째 흔적", - "匿影": "샤프 쉐도어", - "一叶障目": "화려한 눈속임", - "绿色生命的面容": "푸른 생명의 이면", - "血腥红宝石之眼": "블러드 루비아이", - "幻影狂欢长枪": "끊임없는 환영", - "万夫之勇": "통곡의 수문장", - "千芒闪爆枪": "일렉트로전", - "寂灭剧毒矛": "사일런트 베놈", - "金刚密藏刀": "금강비장도", - "冰洁的红焰": "차갑게 굳어버린 홍염", - "聚能擎天剑": "아토믹 파일", - "远古御神战剑": "베투스 코르", - "战场的热血:安格巴迪": "전장의 열정:앵거바딜", - "前瞻守卫者": "아방가르드", - "骚动的冥焰": "판데모니엄 플레임", - "神之意象": "데우스 이미저리", - "赤光剑路易纳斯": "적광검 루이너스", - "无瑕之意志手套": "청명한 의지", - "毁灭之碾压": "디스트로이 프레셔", - "痛苦之源": "로드 오브 더 페인", - "幻光绽放拳套": "일렉트로 부스터", - "鸣鸿破影棍": "어그레시브 카이트", - "血枪之脉": "블러드 샷 부스터", - "寻觅海石竹": "팔로우 더 스타티스", - "湍流": "터뷸런스", - "乾坤极电炮": "레볼루션 차지", - "吟游诗人的轻吟": "음유시인의 만돌린", - "吟唱:不灭之魂": "영창:불멸의 혼", - "精灵浮风棍": "우디 부기", - "魔力之泉:加斯达利亚": "마력의 샘:카스탈리아", - "银月的祝福": "루나 베네딕티오", - "世界树之精灵": "세계수의 요정", - "闪耀的神威": "눈부신 영광", - "古代神兽的记忆": "고대 신수의 기억", - "拓荒者之路": "개척자의 길", - "异教主的审判": "이교도 교주의 심판", - "信念之重量": "신념의 무게", - "暗杀团长的玉妆刀": "암살단장의 옥장도", - "血色舞会": "핏빛 무도회", - "圣洁的精灵遗物": "고결한 정령의 유물", - "天幕道火扇": "도화선", - "彪悍冲锋者": "전장의 선봉장", - "沙岩幻戟": "사암주극", - "天将军:传承之光": "천장군:전승의 빛", - "魅影飞龙": "기가 드릴러", - "夜天刀": "야천도", - "冥焰黑暗之触": "다크 플레임 리퍼", - "爆烈红焰": "홍염폭검", - "谍影:超级核心": "프로젝트:오버코어", - "魔法师[???]的长袍": "마법사 [???]의 로브", - "死亡阴影夹克": "죽음을 덮치는 그림자 재킷", - "燃烧烈焰之勇气": "타오르는 열기의 용기", - "撒旦:沸腾之怒": "사탄:들끓는 분노", - "奔流不息之岁月": "지체없는 흐름의 한뉘", - "优雅旋律华尔兹": "우아한 선율의 왈츠", - "首席执行官裁决夹克": "고귀한 집행자의 제복 자켓", - "炙炎:火龙果": "트로피카:용과", - "妖精之姿": "페어리의 몸짓", - "人性的抉择": "무의식적 선택", - "大祭司的星祈礼袍": "고대 제사장의 로브", - "冲锋陷阵胸甲": "전장의 매", - "气吞山河战甲": "웨어러블 파워 슈트", - "千链锁灵战甲": "구속의 체인 메일", - "宽恕坚韧之地": "포용의 굳건한 대지", - "堕落深渊黑魔法衬衫": "심연에 빠진 검은 셔츠", - "引路者的黄昏披风": "길 안내자의 물소 코트", - "地狱边缘": "나락의 끝자락", - "泣血之恨": "피를 머금은 한", - "大魔法师[???]的长袍": "대 마법사 [???]의 로브", - "掌管生死之影夹克": "생사를 다스리는 그림자의 재킷", - "爆裂大地之勇猛": "작열하는 대지의 용맹", - "撒旦:愤怒之王": "사탄:분노의 군주", - "英明循环之生命": "영명한 세상의 순환", - "浪漫旋律华尔兹": "낭만적인 선율의 왈츠", - "皇家裁决者审判外套": "수석 집행관의 코트", - "炙炎:霸王树": "트로피카:드레이크", - "天堂之翼": "천상의 날개", - "神赐的抉择": "선택이익", - "大祭司的神启礼服": "대제사장의 예복", - "战无不胜上衣": "최후의 전술", - "摧枯拉朽胸甲": "웨어러블 아크 팩", - "千链万化战甲": "결속의 체인 플레이트", - "生命脉动之地": "원시 태동의 대지", - "深渊囚禁者长袍": "고대 심연의 로브", - "圣者的黄昏披风": "길 방랑자의 물소 코트", - "逆转结局": "종말의 역전", - "灭世之怒": "세상을 삼키는 분노", - "魔法师[???]的护腿": "마법사 [???]의 하의", - "死亡阴影短裤": "죽음을 덮치는 그림자 바지", - "肆虐狂风之意志": "몰아치는 바람의 의지", - "亚蒙:谎言之力": "아몬:거짓된 힘", - "奔流不息之伽蓝": "지체없는 흐름의 가람", - "魅惑律动伦巴": "매혹적인 리듬의 룸바", - "首席执行官裁决短裤": "고귀한 집행자의 제복 바지", - "炙炎:荔枝": "트로피카:리치", - "邪恶之角": "사악한 형상의 뿔", - "命运的抉择": "임의 선택", - "大祭司的星祈长裙": "고대 제사장의 치마", - "破釜沉舟护腿": "데파르망", - "雷霆万钧护腿": "인듀어런스 파워 레그", - "千链锁灵护腿": "구속의 퀴스", - "蚕食新绿之息": "잠식된 신록의 숨결", - "驱散黑暗短裤": "어둠을 파헤치는 바지", - "时空漩涡护腿": "시간에 휩쓸린 물소 각반", - "灵魂的呐喊": "본능적인 외침", - "疯狂之如影随形": "따르는 광기의 기운", - "魔法师[???]的披风": "마법사 [???]의 망토", - "死亡阴影护肩": "죽음을 덮치는 그림자 견갑", - "艰难求生之斗志": "바라는 삶의 투지", - "贝利亚尔:毁灭之种": "벨리알:멸망의 씨앗", - "奔流不息之山川": "지체없는 흐름의 마루", - "性感洒脱探戈": "즉흥적인 감각의 탱고", - "首席执行官裁决肩甲": "고귀한 집행자의 제복 견장", - "炙炎:榴莲": "트로피카:두리안", - "魔龙之心": "무한한 마나의 심장", - "矛盾的抉择": "선택의 역설", - "大祭司的星祈披肩": "고대 제사장의 견대", - "枪林弹雨护肩": "퀘이크 프론", - "排山倒海护肩": "에큐레이트 파워 숄더", - "千链锁灵肩甲": "구속의 폴드런", - "猛烈燃烧之炎": "맹렬히 타오르는 화염", - "魔法师[???]的长靴": "마법사 [???]의 부츠", - "死亡阴影长靴": "죽음을 덮치는 그림자 부츠", - "寂静寒夜之忍耐": "얼어붙는 밤의 인내", - "巴尔:堕落之魂": "바알:영혼의 타락", - "奔流不息之银河": "지체없는 흐름의 미리내", - "激烈欢动踢踏": "격렬한 스텝의 자이브", - "首席执行官裁决长靴": "고귀한 집행자의 구두", - "炙炎:木瓜": "트로피카:파파야", - "自然之核": "융합된 자연의 핵", - "守护的抉择": "탈리스만 선택", - "大祭司的星祈凉鞋": "고대 제사장의 샌들", - "赤地千里战靴": "전쟁의 시작", - "遮天蔽日长靴": "벨로시티 파워 부츠", - "千链锁灵战靴": "구속의 체인 그리브", - "交织烈日之风": "휘감는 햇살의 바람", - "堕入地狱之脚": "나락으로 빠진 발", - "次元漫步者长靴": "차원을 걷는 물소 부츠", - "悲喜交加": "희비교차", - "崩溃世界的忧伤": "무너진 세상의 슬픔", - "魔法师[???]的腰带": "마법사 [???]의 허리띠", - "死亡阴影腰带": "죽음을 덮치는 그림자 벨트", - "守护战士之苦难": "수호하는 전사의 고난", - "亚巴顿:绝望地狱": "아바돈:절망의 나락", - "奔流不息之狂风": "지체없는 흐름의 바람", - "热情舞动桑巴": "정열적인 흐름의 삼바", - "首席执行官裁决腰带": "고귀한 집행자의 가죽 벨트", - "炙炎:山竹": "트로피카:망고스틴", - "碎钢之牙": "강철을 뜯는 이빨", - "正义的抉择": "합리적 선택", - "大祭司的星祈腰带": "고대 제사장의 띠", - "浴血奋战腰带": "오퍼레이션 델타", - "风起云涌腰带": "모빌리티 파워 벨트", - "千链锁灵腰带": "구속의 체인 벨트", - "宁静苍翠之水": "잔잔한 청록의 물결", - "莱多:变幻的规律": "라이도:이동의 규율", - "拥抱晨曦之温暖": "새벽을 감싸는 따스함", - "白象之庇护": "하얀 코끼리의 가호", - "火魔之焰-沙罗曼达": "화마의 불꽃-샐러맨더", - "执着的探求": "지독한 집념의 탐구", - "时间指引之针": "시간을 가리키는 지침", - "支配战场的呐喊": "전장을 지배하는 함성", - "狂乱之坚如磐石": "광란을 품은 자", - "莱多:秩序创造者": "라이도:질서의 창조자", - "融化黑暗之温暖": "새벽을 녹이는 따스함", - "伽内什的永恒庇护": "가네샤의 영원한 가호", - "至高之炎-伊弗利特": "지고의 화염-이프리트", - "无尽的探求": "영원히 끝나지 않는 탐구", - "时间回溯之针": "시간을 거스르는 자침", - "响彻天地的咆哮": "천지에 울려퍼지는 포효", - "狂乱之逆转宿命": "숙명을 뒤엎는 광란", - "肯那兹:精神燎原之火": "케나즈:정신을 밝히는 불", - "驱散月光之黎明": "달빛을 가두는 여명", - "四叶草之初心": "네잎 클로버의 초심", - "冷焰之冰-温蒂妮": "냉염의 빙설-운디네", - "堕落世界树之生命": "타락한 세계수의 생명", - "引路者的四季项链": "길 안내자의 계절", - "悲痛者项链": "비통한 자의 목걸이", - "激狂之怒": "과격한 분노의 격앙", - "盖柏:完美的均衡": "게보:완벽한 균형", - "寂静无言之露珠": "고요를 머금은 이슬", - "红兔之祝福": "붉은 토끼의 축복", - "祝福之风-西尔芙": "축복의 바람-실프", - "支配黑暗之环": "어둠을 지배하는 고리", - "次元穿越者之印": "차원을 지나는 자의 인장", - "命运的捉弄": "운명의 장난", - "蓬勃生命的落幕": "광란을 품은 자의 종막", - "军神的遗书": "군신의 유언장", - "末日之刻": "종말의 시간", - "高贵之天": "뜻을 품은 하늘", - "能量回流控制者": "제어 회로 모듈", - "暗黑术士亲笔古书": "암흑술사가 직접 저술한 고서", - "引路者的旅行书": "길 안내자의 여행서", - "悲情者遗物": "비운의 유물", - "失控之怒": "통제할 수 없는 화", - "军神的庇护宝石": "군신의 가호가 담긴 보석", - "时之漩涡": "시간의 소용돌이", - "智慧之地": "지혜를 담은 대지", - "电光能量支配者": "에너지 분배 제어기", - "暗黑术士的精髓": "암흑술사의 정수", - "被困的时之沙": "시간에 갇혀버린 모래", - "寂寞的呼喊": "적막이 흐르는 아우성", - "狂乱之天灾降临": "폭주하는 광란의 힘", - "军神的古怪耳环": "군신의 수상한 귀걸이", - "时之矛盾": "시간의 모순", - "宽容之海": "마음을 새긴 바다", - "电磁能量传送者": "전자기 진공관", - "无尽地狱黑暗之印": "끝없는 나락의 다크버스", - "次元流星坠": "차원을 맴도는 혜성", - "命运挑战者": "운명을 마주하는 자", - "悲剧人生的归寂": "슬픔을 담은 운명", - "军神的心之所念": "군신의 마지막 갈망", - "时之魅影": "또다른 시간의 흐름", - "永恒之海": "영원을 새긴 바다", - "等离子操控者": "플라즈마 초 진공관", - "永恒地狱黑暗之印": "영원한 나락의 다크버스", - "次元穿越者之星": "차원을 관통하는 초신성", - "命运反抗者": "운명을 거스르는 자", - "心痛如绞的诀别": "아린 고통의 비극", - "完美掌控": "퍼펙트 컨트롤", - "噙毒手套": "독을 머금은 가시장갑", - "先知者的预言": "선지자의 목걸이", - "骸麒之戒": "할기의 링", - "窥视未来耳环": "패스트퓨처 이어링", - "青面修罗的面具": "청면수라의 가면", - "赤鬼的次元石": "적귀의 차원석", - "飘零之花手炮": "원초의 꿈:핸드캐넌", - "无念之仪服": "무념의 의복", - "无欲之花": "무의식의 꽃", - "无形之气韵": "무형의 절개", - "无言之罪恶": "무언의 죄악", - "无我之轮回": "무아의 고리", - "飘零之花巨剑": "원초의 꿈:대검", - "飘零之花手弩": "원초의 꿈:보우건", - "飘零之花步枪": "원초의 꿈:머스켓", - "飘零之花十字架": "원초의 꿈:십자가", - "飘零之花短剑": "원초의 꿈:소검", - "飘零之花钝器": "원초의 꿈:둔기", - "飘零之花法杖": "원초의 꿈:스태프", - "飘零之花光剑": "원초의 꿈:광검", - "飘零之花棍棒": "원초의 꿈:봉", - "飘零之花矛": "원초의 꿈:창", - "飘零之花魔杖": "원초의 꿈:로드", - "飘零之花拳套": "원초의 꿈:권투글러브", - "飘零之花扫把": "원초의 꿈:빗자루", - "飘零之花手套": "원초의 꿈:너클", - "飘零之花太刀": "원초의 꿈:도", - "飘零之花爪": "원초의 꿈:클로", - "飘零之花左轮枪": "원초의 꿈:리볼버", - "界·夜语黑瞳短剑": "現:흑천의 주인-소검", - "界·夜语黑瞳太刀": "現:흑천의 주인-도", - "界·夜语黑瞳钝器": "現:흑천의 주인-둔기", - "界·夜语黑瞳巨剑": "現:흑천의 주인-대검", - "界·夜语黑瞳光剑": "現:흑천의 주인-광검", - "界·夜语黑瞳手套": "現:흑천의 주인-너클", - "界·夜语黑瞳臂铠": "現:흑천의 주인-건틀릿", - "界·夜语黑瞳利爪": "現:흑천의 주인-클로", - "界·夜语黑瞳拳套": "現:흑천의 주인-권투글러브", - "界·夜语黑瞳东方棍": "現:흑천의 주인-통파", - "界·夜语黑瞳左轮枪": "現:흑천의 주인-리볼버", - "界·夜语黑瞳自动手枪": "現:흑천의 주인-자동권총", - "界·夜语黑瞳步枪": "現:흑천의 주인-머스켓", - "界·夜语黑瞳手炮": "現:흑천의 주인-핸드캐넌", - "界·夜语黑瞳手弩": "現:흑천의 주인-보우건", - "界·夜语黑瞳矛": "現:흑천의 주인-창", - "界·夜语黑瞳棍棒": "現:흑천의 주인-봉", - "界·夜语黑瞳魔杖": "現:흑천의 주인-로드", - "界·夜语黑瞳法杖": "現:흑천의 주인-스태프", - "界·夜语黑瞳扫把": "現:흑천의 주인-빗자루", - "界·夜语黑瞳十字架": "現:흑천의 주인-십자가", - "界·夜语黑瞳念珠": "現:흑천의 주인-염주", - "界·夜语黑瞳图腾": "現:흑천의 주인-토템", - "界·夜语黑瞳镰刀": "現:흑천의 주인-낫", - "界·夜语黑瞳战斧": "現:흑천의 주인-배틀액스", - "界·夜语黑瞳匕首": "現:흑천의 주인-단검", - "界·夜语黑瞳双剑": "現:흑천의 주인-쌍검", - "界·夜语黑瞳手杖": "現:흑천의 주인-완드", - "界·夜语黑瞳苦无": "現:흑천의 주인-차크라 웨펀", - "界·夜语黑瞳长枪": "現:흑천의 주인-장창", - "界·夜语黑瞳战戟": "現:흑천의 주인-미늘창", - "界·夜语黑瞳光枪": "現:흑천의 주인-광창", - "界·夜语黑瞳暗矛": "現:흑천의 주인-투창", - "界·夜语黑瞳长刀": "現:흑천의 주인-장도", - "界·夜语黑瞳小太刀": "現:흑천의 주인-소태도", - "界·夜语黑瞳重剑": "現:흑천의 주인-중검", - "界·夜语黑瞳源力剑": "現:흑천의 주인-코어블레이드", - "超界·苍天之幕:卷层云": "超 창천의 가림막:무리구름", - "超界·苍天之碧:卷云": "超 창천의 푸르름:새털구름", - "超界·苍天之流:层云": "超 창천의 강줄기:안개구름", - "超界·苍天之岭:积云": "超 창천의 들고개:뭉게구름", - "超界·苍天之隙:高积云": "超 창천의 이음새:양떼구름", - "超界·芒种:绵延的生命": "超 누리-끊이지 않는 생명", - "超界·雨水:长青的群山": "超 물오름-늘푸르게 익는 산들", - "超界·白露:不熄的光明": "超 하늘연-꺼지지 않는 밝음", - "超界·霜降:凝结的冰霜": "超 미틈-치닫지 못한 서리", - "超界·小寒:澄净的心灵": "超 매듭-얽히지 않은 마음", - "超界·海豚座的羞涩": "超 청명한 선율의 델피니", - "超界·北极星的魅力": "超 검소한 매력의 폴라리스", - "超界·织女星的凝望": "超 숭고한 바람의 베가", - "超界·天琴座的高洁": "超 고귀한 자태의 리라", - "超界·天鹅座的朦胧": "超 아련한 매혹의 시그너스", - "超界·费诺的愤怒之勇": "超 역습의 엑소르", - "超界·维拉的光明净化": "超 정화의 카타르시스", - "超界·凯兰崔尔的决断": "超 격전의 데푸그나", - "超界·梵雅的绝世容颜": "超 잠식의 말리니타스", - "超界·伊露维塔的创生": "超 급습의 엑스쿠르", - "超界·梦纤石的牵绊": "超 행복을 품은 옥빛", - "超界·君清石的思念": "超 진실을 품은 적빛", - "超界·凤瞳石的轻鸣": "超 희망을 품은 금빛", - "超界·琥冥石的乖戾": "超 순결을 품은 교빛", - "超界·诛璃石的断杀": "超 평화를 품은 감빛", - "暗黑之云:被吞噬的太阳": "흑운:삼켜지는 태양", - "暗黑之潮:分裂的太阳": "흑조:갈라지는 태양", - "暗黑之炎:被蚕食的太阳": "흑염:잠식되는 태양", - "暗黑之云:被吞噬的大地": "흑운:삼켜지는 대지", - "暗黑之潮:分裂的大地": "흑조:갈라지는 대지", - "暗黑之炎:被蚕食的大地": "흑염:잠식되는 대지", - "暗黑之云:被吞噬的天空": "흑운:삼켜지는 천공", - "暗黑之潮:分裂的天空": "흑조:갈라지는 천공", - "暗黑之炎:被蚕食的天空": "흑염:잠식되는 천공", - "暗黑之魂:被吞噬的太阳": "흑얼:삼켜지는 태양", - "暗黑之翼:被蚕食的太阳": "흑익:잠식되는 태양", - "暗黑之风:分裂的太阳": "흑풍:갈라지는 태양", - "暗黑之魂:被吞噬的大地": "흑얼:삼켜지는 대지", - "暗黑之翼:被蚕食的大地": "흑익:잠식되는 대지", - "暗黑之风:分裂的大地": "흑풍:갈라지는 대지", - "暗黑之魂:被吞噬的天空": "흑얼:삼켜지는 천공", - "暗黑之翼:被蚕食的天空": "흑익:잠식되는 천공", - "暗黑之风:分裂的天空": "흑풍:갈라지는 천공", - "轮回·维度冲击臂环": "진:디멘션 쇼크 암릿", - "时空:维度冲击臂环": "차원:디멘션 쇼크 암릿", - "维度定位项链": "디멘션 사이트 네클리스", - "维度粉碎戒指": "디멘션 크랙 링", - "轮回·腐蚀之黑色十字耳环": "진:침식된 검은 십자 귀걸이", - "时空:腐蚀之黑色十字耳环": "차원:침식된 검은 십자 귀걸이", - "腐蚀之黑色面具": "침식된 검은 가면", - "腐蚀之黑色尖角": "침식된 검은 뿔", - "轮回·黑暗幽灵紫杉胸甲": "진:검게 타락하는 경갑 상의", - "时空:黑暗幽灵紫杉胸甲": "차원:검게 타락하는 경갑 상의", - "黑暗幽灵紫杉护肩": "검게 타락하는 경갑 어깨", - "黑暗幽灵紫杉护腿": "검게 타락하는 경갑 하의", - "黑暗幽灵紫杉腰带": "검게 타락하는 경갑 벨트", - "黑暗幽灵紫杉长靴": "검게 타락하는 경갑 부츠", - "维度冲击臂环": "디멘션 쇼크 암릿", - "腐蚀之黑色十字耳环": "침식된 검은 십자 귀걸이", - "黑暗幽灵紫杉胸甲": "검게 타락하는 경갑 상의", - "飘零之花念珠": "원초의 꿈:염주", - "飘零之花图腾": "원초의 꿈:토템", - "飘零之花镰刀": "원초의 꿈:낫", - "飘零之花战斧": "원초의 꿈:배틀액스", - "飘零之花暗矛": "원초의 꿈:투창", - "飘零之花匕首": "원초의 꿈:단검", - "飘零之花臂铠": "원초의 꿈:건틀릿", - "飘零之花东方棍": "원초의 꿈:통파", - "飘零之花光枪": "원초의 꿈:광창", - "飘零之花苦无": "원초의 꿈:차크라 웨펀", - "飘零之花手杖": "원초의 꿈:완드", - "飘零之花双剑": "원초의 꿈:쌍검", - "飘零之花小太刀": "원초의 꿈:소태도", - "飘零之花源力剑": "원초의 꿈:코어 블레이드", - "飘零之花战戟": "원초의 꿈:미늘창", - "飘零之花长刀": "원초의 꿈:장도", - "飘零之花长枪": "원초의 꿈:장창", - "飘零之花重剑": "원초의 꿈:중검", - "飘零之花自动手枪": "원초의 꿈:자동권총", - "碧水红潮": "천상에 오르는 용기", - "雪浪风尘": "미래를 보는 지혜", - "千寻一醉": "빛샘을 머금은 순수", - "转世:回溯的生命": "리인카네이션:회귀의 생명", - "循环:无尽的诞生": "마트료시카:무한한 탄생", - "轮回:周而复始的时间": "삼사라:윤회하는 시간", - "江山如故": "영광의 보석", - "天衍万物": "생멸 관장자의 팔찌", - "刻印:文韬妙策上衣": "각인:무도 비전의 상의", - "刻印:龙韬秘法护肩": "각인:호도 비법의 어깨", - "刻印:虎韬妙计下装": "각인:용도 묘책의 하의", - "刻印:豹韬飞跃战靴": "각인:견도 비약의 신발", - "刻印:武韬秘典腰带": "각인:표도 묘계의 허리", - "过往时光的轮回": "황제의 증표", - "流逝轮回的时间": "소멸의 시간", - "流逝轮回的思念": "소멸의 그리움", - "流逝轮回的启迪": "소멸의 탄생", - "无相轮回的追忆": "잊혀진 자의 추억", - "无相轮回的信念": "잊혀진 자의 믿음", - "无相轮回的眼泪": "잊혀진 자의 눈물", - "魔战无双胸甲": "마력의 폭풍우", - "魔战无双肩甲": "마법의 대격변", - "魔战无双腿甲": "영력의 회오리", - "魔战无双腰带": "마나의 소용돌이", - "魔战无双短靴": "정수의 태풍", - "聚魔漩涡": "응축된 마력의 소용돌이", - "霸域英豪胸甲": "플레이트 파워아머 상의", - "霸域英豪护肩": "플레이트 레인지아머 보호대", - "霸域英豪护腿": "플레이트 매직아머 하의", - "霸域英豪腰带": "플레이트 앱솔루트아머 벨트", - "霸域英豪战靴": "플레이트 윙아머 부츠", - "全能霸域": "풀 가드 네클레스", - "千蛛碎影之毒牙胸甲": "타란튤라 상의", - "千蛛碎影之蛛丝肩甲": "골리앗 버드이터 어깨", - "千蛛碎影之蛛网护腿": "킹바분 하의", - "千蛛碎影之蛛刺腰带": "로즈헤어 벨트", - "千蛛碎影之利齿战靴": "인디언 오너멘탈 신발", - "百变千蛛": "거미 여왕의 목소리", - "誓血之盟铠甲": "피의 맹약 상의", - "誓血之盟肩甲": "마력의 계약 숄더", - "誓血之盟腿甲": "마나의 서약 하의", - "誓血之盟腰带": "체력의 협약 벨트", - "誓血之盟战靴": "피의 조약 부츠", - "禁断契约书": "금지된 계약의 서", - "天御雷罚战甲": "라이트니스 오토 상의", - "天御虫噬护肩": "블랙니스 오토 어깨", - "天御炎袭护腿": "파이어니스 오토 하의", - "天御风行战靴": "윈드니스 오토 신발", - "天御万物": "마더 오브 네이쳐", - "最佳球手的暴走战衣": "사일런스 테이커 상의", - "最佳球手的反击护具": "디펜스 리시버 보호구", - "最佳球手的奇袭长裤": "뉴타입 어태커 하의", - "最佳球手的冲锋腰带": "타이트엔드 블로커 벨트", - "最佳球手的逆袭跑鞋": "테일백 러너 부츠", - "最佳球手之球": "볼 오브 러데이니언", - "战术之王的御敌胸甲": "택틱컬 커맨더 상의", - "战术之王的御敌肩甲": "택틱컬 오피서 어깨", - "战术之王的御敌腿甲": "택틱컬 리더 하의", - "战术之王的御敌腰带": "택틱컬 로드 벨트", - "战术之王的御敌长靴": "택틱컬 치프 신발", - "战术之王的战术指挥棒": "웨슬리의 전술지휘봉", - "暗魅之影上衣": "밤의 그림자 상의", - "冥殇之刃肩甲": "어둠의 칼날 어깨", - "血舞之牙护腿": "붉은 송곳니 하의", - "亡灵之帐腰带": "죽음의 장막 벨트", - "黄泉之风战靴": "황천의 바람 신발", - "杀戮之决": "암살자의 비수", - "逝魔之疾咒长袍": "마나 번 로브", - "逝魔之灵悟肩甲": "스펠 번 숄더 패드", - "逝魔之暴烈长裤": "매직 번 트라우저", - "逝魔之灵心腰带": "엘리멘탈 번 새쉬", - "逝魔之风速短靴": "소울 번 슈즈", - "逝魔之痕": "불타오르는 푸른 마력", - "封霜雪影长袍": "프리징 컷 로브", - "蚀日无辉肩甲": "레이 디크리즈 숄더", - "火殒灭炎长裤": "플레임 드랍 트라우저", - "暗殇绝影腰带": "다크니스 로우 새쉬", - "闲云碎步短靴": "페이스 다운 슈즈", - "全元素水晶": "올 엘리멘탈 크리스탈", - "冰雪公主的霜语手镯": "냉정한 공주의 팔찌", - "冰雪公主的霜语项链": "차가운 공주의 목걸이", - "冰雪公主的霜语戒指": "싸늘한 공주의 반지", - "冰雪公主的结晶": "얼어붙은 숨결의 결정", - "精炼的毁伤魔石手环": "정제된 파괴의 마석 팔찌", - "精炼的混沌魔石项链": "정제된 혼돈의 마석 목걸이", - "精炼的遗忘魔石戒指": "정제된 망각의 마석 반지", - "扭曲的异界魔石": "뒤틀린 이계의 마석", - "感染者臂章": "인펙터 마니카이", - "轮回·先贤的馈赠手镯": "진:혈광석 팔찌", - "时空:先贤的馈赠手镯": "차원:혈광석 팔찌", - "先贤的馈赠项链": "혈광석 목걸이", - "先贤的馈赠戒指": "혈광석 반지", - "轮回·鲜红血纹皮甲胸铠": "진:혈광갑주 가죽 상의", - "时空:鲜红血纹皮甲胸铠": "차원:혈광갑주 가죽 상의", - "鲜红血纹皮甲护肩": "혈광갑주 가죽 어깨", - "鲜红血纹皮甲护腿": "혈광갑주 가죽 하의", - "鲜红血纹皮甲腰带": "혈광갑주 가죽 벨트", - "鲜红血纹皮甲战靴": "혈광갑주 가죽 부츠", - "先贤的馈赠手镯": "혈광석 팔찌", - "鲜红血纹皮甲胸铠": "혈광갑주 가죽 상의", - "暗黑圣战之溯回:短剑": "검은 성전의 기억:소검", - "暗黑圣战之溯回:太刀": "검은 성전의 기억:도", - "暗黑圣战之溯回:钝器": "검은 성전의 기억:둔기", - "暗黑圣战之溯回:巨剑": "검은 성전의 기억:대검", - "暗黑圣战之溯回:光剑": "검은 성전의 기억:광검", - "暗黑圣战之溯回:手套": "검은 성전의 기억:너클", - "暗黑圣战之溯回:臂铠": "검은 성전의 기억:건틀릿", - "暗黑圣战之溯回:爪": "검은 성전의 기억:클로", - "暗黑圣战之溯回:拳套": "검은 성전의 기억:권투글러브", - "暗黑圣战之溯回:东方棍": "검은 성전의 기억:통파", - "暗黑圣战之溯回:左轮枪": "검은 성전의 기억:리볼버", - "暗黑圣战之溯回:自动手枪": "검은 성전의 기억:자동권총", - "暗黑圣战之溯回:步枪": "검은 성전의 기억:머스켓", - "暗黑圣战之溯回:手炮": "검은 성전의 기억:핸드캐넌", - "暗黑圣战之溯回:手弩": "검은 성전의 기억:보우건", - "暗黑圣战之溯回:矛": "검은 성전의 기억:창", - "暗黑圣战之溯回:棍棒": "검은 성전의 기억:봉", - "暗黑圣战之溯回:魔杖": "검은 성전의 기억:로드", - "暗黑圣战之溯回:法杖": "검은 성전의 기억:스태프", - "暗黑圣战之溯回:扫把": "검은 성전의 기억:빗자루", - "暗黑圣战之溯回:十字架": "검은 성전의 기억:십자가", - "暗黑圣战之溯回:念珠": "검은 성전의 기억:염주", - "暗黑圣战之溯回:图腾": "검은 성전의 기억:토템", - "暗黑圣战之溯回:镰刀": "검은 성전의 기억:낫", - "暗黑圣战之溯回:战斧": "검은 성전의 기억:배틀액스", - "暗黑圣战之溯回:匕首": "검은 성전의 기억:단검", - "暗黑圣战之溯回:双剑": "검은 성전의 기억:쌍검", - "暗黑圣战之溯回:手杖": "검은 성전의 기억:완드", - "暗黑圣战之溯回:苦无": "검은 성전의 기억:차크라 웨펀", - "暗黑圣战之溯回:长枪": "검은 성전의 기억:장창", - "暗黑圣战之溯回:战戟": "검은 성전의 기억:미늘창", - "暗黑圣战之溯回:光枪": "검은 성전의 기억:광창", - "暗黑圣战之溯回:暗矛": "검은 성전의 기억:투창", - "暗黑圣战之溯回:长刀": "검은 성전의 기억:장도", - "暗黑圣战之溯回:小太刀": "검은 성전의 기억:소태도", - "暗黑圣战之溯回:重剑": "검은 성전의 기억:중검", - "暗黑圣战之溯回:源力剑": "검은 성전의 기억:코어 블레이드", - "无言怒火": "무언의 분노", - "无形青岩": "무형의 상징", - "无念剑环": "무념의 반지", - "支配者王冠": "지배자의 왕관", - "灵魂掠夺者": "영혼의 탈취자", - "无我灵晶": "무아의 보배", - "王座本源": "솔리움 폰스", - "Lv1-30(主动)Lv+1": "Lv1-30(액티브)Lv+1", - "Lv1-35(主动)Lv+1": "Lv1-35(액티브)Lv+1", - "Lv1-50(主动)Lv+1": "Lv1-50(액티브)Lv+1", - "Lv1-20(所有)Lv+1": "Lv1-20(전체)Lv+1", - "Lv1-30(所有)Lv+1": "Lv1-30(전체)Lv+1", - "Lv20-30(所有)Lv+1": "Lv20-30(전체)Lv+1", - "Lv1-50(所有)Lv+1": "Lv1-50(전체)Lv+1", - "Lv1-80(所有)Lv+1": "Lv1-80(전체)Lv+1", - "白字 +8%": "추뎀 +8%", - "白字 +7%": "추뎀 +7%", - "白字 +6%": "추뎀 +6%", - "黄字 +7%": "증뎀 +7%", - "力智 +7%": "힘지 +7%", - "三攻 +5%": "물마독 +5%", - "黄字 +5%": "증뎀 +5%", - "技能栏空位": "내 스킬창 빈칸", - "暴伤 +5%": "크증 +5%", - "终伤 +3%": "모공 +3%", - "队友 +34%": "아군 +34%", - "白字 +4%": "추뎀 +4%", - "技攻 +3%": "스증 +3%", - "三攻 +8%": "물마독 +8%", - "技攻 +2%": "스증 +2%", - "力智 +8%": "힘지 +8%", - "终伤 +8%": "모공 +8%", - "基础细节": "기본 사항", - "工会属性": "길드 옵션", - "训练官BUFF": "훈련관 버프", - "婚房": "웨딩룸", - "冒险团": "모험단", - "晶体契约": "큐브 계약", - "收集箱": "콜렉트박스", - "勋章": "휘장", - "名称装饰卡": "이름표", - "副武器/盾牌": "서브 무기/방패", - "快捷栏纹章": "퀵슬롯 문장", - "宠物装备-红": "아티팩트 레드", - "宠物装备-蓝": "아티팩트 블루", - "宠物装备-绿": "아티팩트 그린", - "宠物附魔": "크리쳐 마부", - "站街修正": "마을 수정", - "进图修正": "던전 수정", - "附魔&徽章": "마부&엠블렘", - "徽力智": "엠블렘 힘지", - "徽三攻": "엠블렘 물마독", - "左槽": "부조 장비", - "右槽": "마법석", - "称号": "칭호", - "光环": "오라", - "武器装扮": "무기 아바타", - "皮肤": "피부", - "时装": "아바타", - "最终伤害": "모든 공격력", - "技能等级Lv1 -": "스킬 레벨 Lv1 -", - "技能等级": "스킬 레벨", - "主动技能等级": "액티브 스킬 레벨", - "技能等级Lv5 -": "스킬 레벨 Lv5 -", - "技能等级Lv60 -": "스킬 레벨 Lv60 -", - "转职被动Lv+": "전직 패시브 lv +", - "一觉力智": "1각 힘지", - "转职被动": "전직 패시브 ", - "所有属性强化 +": "모든속성강화 +", - "所有属性强化": "모든속성강화", - "物攻/魔攻/独立 +": "물공/마공/독립 +", - "物攻、魔攻、独立": "물공/마공/독립", - "一觉被动": "1각패", - "物理、魔法、独立攻击力": "물리/마법/독립", - "物理/魔法/独立攻击力": "물리/마법/독립", - "物攻/魔攻/独立": "물리/마법/독립", - "持续伤害": "지속 데미지", - "暴击伤害": "크리티컬데미지", - "附加伤害": "추가 데미지", - "伤害增加": "데미지 증가", - "BUFF三攻": "버프 물마독", - "BUFF力智": "버프 힘지", - "当前模板配装排行(点击数字查看详情)": "현재 패턴 세팅 순위(숫자 클릭 시 자세히 보기)", - "详细数据": "자세한 데이터", - "攻击时,额外增加$的伤害增加量": "공격시 데미지 증가량 $ 추가 증가", - "暴击时,额外增加$的伤害增加量": "크리티컬 공격시 데미지 증가량 $ 추가 증가", - "攻击时,附加$的伤害": "공격시 $ 추가 데미지", - "攻击时,附加$的属性伤害": "공격시 $ 추가 속성 데미지", - "技能攻击力": "스킬 공격력", - "物理攻击力": "물리공격력", - "魔法攻击力": "마법공격력", - "独立攻击力": "독립공격력", - "力量、智力": "힘/지능", - "力量、智力增加量": "힘/지능 증가량", - "力量增加量": "힘 증가량", - "智力增加量": "지능 증가량", - "物理、魔法、独立攻击力增加量": "물리/마법/독립 증가량", - "物理攻击力增加量": "물리공격력 증가량", - "魔法攻击力增加量": "마법공격력 증가량", - "独立攻击力增加量": "독립공격력 증가량", - "体力、精神增加量": "체력/정신력 증가량", - "增加量": "증가량", - "发生持续伤害X秒,伤害量为对敌人增加造成伤害的$": "공격시 적에게 입힌 데미지의 $만큼 X초 동안 지속 데미지 발생", - "攻击速度": "공격속도", - "施放速度": "캐스팅속도", - "移动速度": "이동속도", - "攻速": "공속", - "施放": "캐속", - "移速": "이속", - "(21)至尊·穿越星空的祈愿": "(21)지존·별을 가로지르는 기원", - "(21)普通·永恒追猎": "(21)일반·영원한 사냥", - "(21)普通·永恒判罪": "(21)일반·영원한 죄벌", - "(21)普通·永恒战吼": "(21)일반·영원한 하울링", - "(21)国庆·信念之启示": "(21)국경절·신념의 계시", - "(21)国庆·隐忍之启示": "(21)국경절·은인의 계시", - "(21)国庆·勇气之启示": "(21)국경절·용기의 계시", - "(21)国庆·希望之启示": "(21)국경절·희망의 계시", - "(20)至尊·伟大的意志": "(20)지존·위대한 의지", - "(20)普通·使徒降临": "(20)일반·사도 강림", - "(20)国庆·安徒恩的烈焰": "(20)국경절·안톤의 화염", - "(20)国庆·卢克的创造": "(20)국경절·루크의 창조", - "(20)国庆·伊希斯的天空": "(20)국경절·이시스의 하늘", - "(20)国庆·希洛克的悲鸣": "(20)국경절·시로코의 비명", - "(19)至尊·神选之英杰": "(19)지존·신선의 영걸", - "(19)普通·秘境迷踪": "(19)일반·비경 미적", - "(19)国庆·超越极限者": "(19)국경절·극한을 넘는 자", - "(18)至尊·天选之人": "(18)지존·전설의 수인족 용사", - "(18)普通·兽人守护神": "(18)일반·수인족의 영웅들", - "(18)国庆·神之试炼": "(18)국경절·신의 시련", - "(17)至尊·龙之威仪": "(17)지존·드래곤을 봉인한 영웅", - "(17)普通·龙之挑战": "(17)일반·드래곤에 도전하는 자", - "(17)国庆·海洋霸主": "(17)국경절·해상의 지배자", - "(16)至尊·桃园结义[义]": "(16)지존·도원결의[의]", - "(16)普通·三英雄[义]": "(16)일반·삼영웅[의]", - "(16)国庆·骑士王荣耀": "(16)국경절·기사왕의 영광", - "(16)五一·荣耀贵族": "(16)노동절·영광의 귀족", - "(15)国庆·圣殿之巅": "(15)국경절·성전 정상", - "(14)五一·明日-春华": "(14)노동절·명일-춘화", - "(20)DPL专属称号·输出": "(20)DPL 전용 칭호·딜러", - "(21)至尊·火神的化身": "(21)지존·불신의 화신", - "(21)普通·骑士/精灵使": "(21)일반·기사/요정사", - "(21)夏日之恋莱森德": "(21)여름의 사랑 레젠더", - "(21)夏日之恋赫米雅": "(21)여름의 사랑 헤미야", - "(21)比拉谢尔号": "(21)필라시아호", - "(20)至尊·暴风圣女": "(20)지존·폭풍의 성녀", - "(19)至尊·神迹·莱恩": "(19)지존·신의 유적·라이언", - "(20)普通·神官": "(20)일반·신관", - "(19)至尊·莱恩": "(19)지존·라이언", - "(19)普通·莱恩": "(19)일반·라이언", - "(18)至尊·蒂娅": "(18)지존·티아", - "(18)普通·蒂娅": "(18)일반·티아", - "(17)克里斯": "(17)크리스", - "(16)关羽": "(16)관우", - "(15)墨仙雪莲": "(15)춘련", - "残香": "잔향", - "宠物": "크리쳐", - "觉醒Lv+2": "각성Lv+2", - "附加伤害增加增幅": "추가 데미지 증가 증폭", - "属性附加伤害增加增幅": "속성 데미지 증가 증폭", - "属性附加伤害": "속성 데미지", - "技能伤害增加增幅": "스킬 데미지 증가 증폭", - "暴击伤害增加增幅": "크리티컬 데미지 증가 증폭", - "伤害增加增幅": "데미지 증가 증폭", - "最终伤害增加增幅": "모든 공격력 증가 증폭", - "力量智力增加增幅": "힘지능 증가 증폭", - "物理魔法攻击力增加增幅": "물리/마법/독립 공격력 증가 증폭", - "装备属性强化增加": "장비 옵션 강화 증가", - "10~15技能Lv增加": "10~15 스킬 Lv증가", - "20~25技能Lv增加": "20~25 스킬 Lv증가", - "30~35技能Lv增加": "30~35 스킬 Lv증가", - "40~45技能Lv增加": "40~45 스킬 Lv증가", - "55~60技能Lv增加": "55~60 스킬 Lv증가", - "65~70技能Lv增加": "65~70 스킬 Lv증가", - "75~80技能Lv增加": "75~80 스킬 Lv증가", - "1次觉醒技能Lv增加": "1각 스킬 Lv증가", - "2次觉醒技能Lv增加": "2각 스킬 Lv증가", - "极诣·剑魂": "진(眞)웨펀마스터", - "极诣·鬼泣": "진(眞)소울브링어", - "极诣·狂战士": "진(眞)버서커", - "极诣·阿修罗": "진(眞)아수라", - "极诣·剑影": "진(眞)검귀", - "极诣·驭剑士": "진(眞)소드마스터", - "极诣·暗殿骑士": "진(眞)다크템플러", - "极诣·契魔者": "진(眞)데몬슬레이어", - "极诣·流浪武士": "진(眞)베가본드", - "极诣·刃影": "진(眞)블레이드", - "知源·元素爆破师": "진(眞)엘레멘탈마스터", - "知源·冰结师": "진(眞)빙결사", - "知源·血法师": "진(眞)블러드 메이지", - "知源·逐风者": "진(眞)스위프트 마스터", - "知源·次元行者": "진(眞)디멘션 워커", - "知源·元素师": "진(眞)엘레멘탈마스터", - "知源·召唤师": "진(眞)소환사", - "知源·战斗法师": "진(眞)배틀메이지", - "知源·魔道学者": "진(眞)마도학자", - "知源·小魔女": "진(眞)인챈트리스", - "神启·圣骑士": "진(眞)크루세이더", - "神启·蓝拳圣使": "진(眞)인파이터", - "神启·驱魔师": "진(眞)퇴마사", - "神启·复仇者": "진(眞)어벤저", - "神启·异端审判者": "진(眞)이단심판관", - "神启·巫女": "진(眞)무녀", - "神启·诱魔者": "진(眞)미스트리스", - "隐夜·刺客": "진(眞)로그", - "隐夜·死灵术士": "진(眞)사령술사", - "隐夜·忍者": "진(眞)쿠노이치", - "隐夜·影舞者": "진(眞)진새도우 댄서", - "皓曦·精灵骑士": "진(眞)엘븐나이트", - "皓曦·混沌魔灵": "진(眞)카오스", - "皓曦·帕拉丁": "진(眞)팔라딘", - "皓曦·龙骑士": "진(眞)드래곤나이트", - "千魂·征战者": "진(眞)뱅가드", - "千魂·决战者": "진(眞)듀얼리스트", - "千魂·狩猎者": "진(眞)드래고니안 랜서", - "千魂·暗枪士": "진(眞)다크 랜서", - "苍暮·暗刃": "진(眞)히트맨", - "苍暮·特工": "진(眞)요원", - "苍暮·战线佣兵": "진(眞)트러블슈터", - "苍暮·源能专家": "진(眞)스페셜리스트", - "知源·缔造者": "진(眞)크리에이터", - "极诣·黑暗武士": "진(眞)다크나이트", - "归元·气功师": "진(眞)넨마스터", - "归元·散打": "진(眞)스트라이커", - "归元·街霸": "진(眞)스트리트파이터", - "归元·柔道家": "진(眞)그래플러", - "重霄·漫游枪手": "진(眞)레인저", - "重霄·枪炮师": "진(眞)런처", - "重霄·机械师": "진(眞)메카닉", - "重霄·弹药专家": "진(眞)스핏파이어", - "首页\n手册|日志|源码": "메인\n수첩|로그|소스 코드", - "首页": "메인", - "检查更新": "업데이트 체크", - "此工具为开源免费软件\n如遇二次售卖获利,请协助反馈举报~": "해당 툴은 코드 공개된 무료 소프트웨어입니다 \n2차 익매물의 경우, 피드백 신고 협조 부탁드립니다~", - "无法自动检查更新,请在每周三/四自行前往检查版本": "자동 업데이트 불가능. 매주 수/목요일에 버전을 체크해주세요.", - "设置|打赏|反馈": "설정|팁|피드백", - "设置": "설정", - "打赏": "팁", - "BUG反馈-Gitee": "피드백-Gitee", - "DNF搭配计算器&17173DNF专区": "DNF 세팅 계산기", - "17173DNF专区": "", - "全局设置选项(需重启计算器生效)": "전체 설정 (계산기 재시작 필요)", - "保存完毕,重启计算器才能生效,是否重启": "저장되었습니다. 컴퓨터를 재부팅해야 적용됩니다. 재부팅하시겠습니까", - "确定": "확인", - "首页查看更新": "홈페이지 업데이트 보기", - "自动更新": "자동 업데이트", - "升级完毕,确定后打开最新版本,删除当前旧版本!": "업그레이드가 설치되었습니다. 확인 후 최신 버전을 오픈하며 기존 버전을 삭제합니다!", - "ResourceFiles/img/分类": "ResourceFiles/img/language/分类", - "./ResourceFiles/img/输出背景.png": "./ResourceFiles/img/language/输出背景.png", - "./ResourceFiles/img/输出背景_BUFF.png": "./ResourceFiles/img/language/输出背景_BUFF.png", - "ResourceFiles/Config/攻击目标.ini": "ResourceFiles/Config/language/攻击目标.ini", - "ResourceFiles/Config/Config.json": "ResourceFiles/Config/language/config.json", - "ResourceFiles/img/头像/": "ResourceFiles/img/language/头像/", - "男": "남", - "女": "여", - "希洛克融合属性": "시로코", - "遴选属性": "검은연옥", - "技能/符文/其它": "스킬/룬/기타", - "光环词条择优": "오라 최적 선택", - "85SS转甲": "85에픽 재질변환", - "批量选择": "일괄선택", - "希洛克相关": "시로코", - "黑鸦遴选词条": "연옥옵션", - "智慧产物升级": "산물 업그레이드", - "提升率排行": "상승률순", - "面板排行": "스탯순", - "力智排行": "힘지순", - "三攻排行": "물마독순", - "仅对极速/套装模式中的3332散搭组合生效

默认相同打造": "빠른/세트 모드의 3332 보합에만 적용", - "极速模式:533和3332(散搭) (不含智慧产物)

套装模式:533、3332(散搭)和3233(双防具) (不含智慧产物)

单件模式:所有组合 (不含百变怪)": "빠른 모드:533, 3332(보합) (지혜 산물 미보함)

세트 모드:533, 3332(조합), 3233(이중 방어구) (지혜 산물 미보함)

단품 모드:모든 조합 (메타몽 미포함)", - "一觉切1件装备": "1각 1개 스위칭", - "新建存档": "신규 작성", - "组合": "조합", - "是否适用": "적용 여부", - "BUFF力量、智力+2%": "버프 힘지 +2%", - "BUFF力量、智力+4%": "버프 힘지 +4%", - "BUFF力量、智力+6%": "버프 힘지 +6%", - "BUFF力量、智力+8%": "버프 힘지 +8%", - "一键修正": "일괄 수정", - "辟邪玉选择": "벽사옥 선택", - "BUFF三攻增加": "버프 물마독 증가", - "BUFF三攻增加量增加": "버프 물마독 증가량 추가 증가", - "BUFF力智增加": "버프 힘지 증가", - "BUFF力智增加量增加": "버프 힘지 증가량 추가 증가", - "一觉力智增加": "1각 힘지 증가", - "一觉力智增加量增加": "1각 힘지 증가량 추가 증가", - "魔王契约BUFF": "마왕의 계약 버프", - "武器融合:": "무기 융합:", - "武器词条:无": "무기 옵션:없음", - "择优方向": "최적 선택 방향", - "自选觉醒择优系数": "선택 각성 최적 선택 계수", - "续航向:觉醒0.7系数": "지속:각성 0.7계수", - "爆发向:觉醒1.0系数": "폭발:각성 1.0계수", - "BUFF力智+3%,一觉力智+": "버프 힘지 +3%, 1각 힘지 +", - "一觉力智+3%,BUFF力智+": "1각 힘지 +3%, 버프 힘지 +", - "一觉力智+25,BUFF三攻+": "1각 힘지 +25, 버프 물마독 +", - "BUFF三攻+3%,一觉力智+": "버프 물마독 +3%, 1각 힘지 +", - "面板+": "스탯 +", - "一觉Lv+1,BUFF力智+": "1각 Lv+1, 버프 힘지 +", - "BUFF力智+3%,一觉力智 +": "버프 힘지 +3%, 1각 힘지 +", - "一觉力智+2%,BUFF力智 +": "1각 힘지 +2%, 버프 힘지 +", - "BUFF三攻+2%,一觉力智+": "버프 물마독 +2%, 1각 힘지 +", - "BUFFLv+1,一觉力智+": "버프 Lv+1, 1각 힘지 +", - "一觉力智+30,BUFF三攻+": "1각 힘지 +30, 버프 물마독 +", - "BUFF力智+4%,一觉力智+": "버프 힘지 +4%, 1각 힘지 +", - "一觉力智+2%,BUFF力智+": "1각 힘지 +2%, 버프 힘지 +", - "BUFF三攻 +2%,一觉力智+": "버프 물마독 +2%, 1각 힘지 +", - "C力智:": "딜러 힘지:", - "C三攻:": "딜러 물마독:", - "物理百分比": "물퍼", - "魔法百分比": "마퍼", - "物理固伤": "물고", - "魔法固伤": "마고", - "无系统奶": "인플레 버프 없음", - "体力": "체력", - "精神": "정신력", - "徽章智": "엠블렘 지능", - "徽章体": "엠블렘 체력", - "徽章精": "엠블렘 정신력", - "技能等级及选项": "스킬 레벨 및 선택지", - "BUFF等级补正": "버프 레벨 보정", - "穿戴称号": "칭호 착용", - "穿戴光环": "오라 착용", - "宠物登记补正": "크리쳐 등록 보정", - "光环登记补正": "오라 등록 보정", - "Lv30-50(主动)Lv+1": "Lv30-50(액티브)Lv+1", - "一觉Lv+1": "1각 레벨 +1", - "一觉Lv+2": "1각 레벨 +2", - "转职被动智力": "전직 패시브 지능", - "BUFF力智+3%": "버프 힘지 +3%", - "BUFF三攻+3%": "버프 물마독 +3%", - "BUFF力智、三攻+3%": "버프 힘지, 물마독 +3%", - "BUFF力智%": "버프 힘지%", - "BUFF三攻%": "버프 물마독%", - "转职被动等级": "전직 패시브 레벨", - "一觉被动力智": "1각패 힘지", - "一觉力智%": "1각 힘지%", - "守护恩赐体精": "수호의 은총 체정", - "守护恩赐等级": "수호의 은총 레벨", - "守护恩赐/力智": "수호의 은총/ 힘지", - "启用登记": "등록 적용", - "登记设置": "등록 설정", - "站街": "마을", - "BUFF力量%": "버프 힘%", - "BUFF智力%": "버프 지능%", - "BUFF物攻%": "버프 물공%", - "BUFF魔攻%": "버프 마공%", - "BUFF独立%": "버프 독립%", - "黑鸦": "검은연옥", - "圣光天启": "크럭스 오브 빅토리아", - "祈愿·天使赞歌": "라우스디안젤루스", - "开幕!人偶剧场": "마리오네트", - "终幕!人偶剧场": "종막극", - "天启之珠": "아포칼립스", - "生命礼赞:神威": "최후의 심판", - "希洛克": "시로코", - "(21)五一·LV15-35(所有)": "(21)노동절·LV15-35(전체)", - "(20)五一·LV15-35(主动)": "(20)노동절·LV15-35(액티브)", - "(20)五一·LV15-20": "(20)노동절·LV15-20", - "(20)五一·LV20-25": "(20)노동절·LV20-25", - "(20)五一·LV25-30": "(20)노동절·LV25-30", - "(20)五一·LV30-35": "(20)노동절·LV30-35", - "(15)迷你战争领主-SSS型": "(15)SD 배틀로이드-SSS", - "被动倍率": "패시브 증가량", - "其它倍率": "다른 증가량", - "CD显示": "쿨타임 표시", - "CD恢复": "쿨타임 초기화", - "加成倍率": "데미지 증가량", - "关联技能": "관련 스킬계", - "所有": "토털", - "冷却缩减": "쿨타임 감소", - "冷却关联技能": "쿨타임 관련 스킬계", - "不适用于": "해당 없음", - "其他属性": "다른 속성", - "进图触发": "던전안 발동", - "非伤害词条": "", - "其它": "기타", - "装备条件设置": "장비조건설정" -} diff --git a/ResourceFiles/Config/language/攻击目标.ini b/ResourceFiles/Config/language/攻击目标.ini deleted file mode 100644 index d2f0c2dc..00000000 --- a/ResourceFiles/Config/language/攻击目标.ini +++ /dev/null @@ -1,34 +0,0 @@ -#修改后请保存,保存后关闭并重新启动程序生效 - -#默认为120沙袋/绿沙袋,设置整数 (仅输出系生效) -[item0] -名称 = 샌드백(LV120챌린지) -防御 = 443243 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item1] -名称 = 샌드백(LV130) -防御 = 506109 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item2] -名称 = 강화기(0방어) -防御 = 0 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item3] -名称 = 맞춤 -防御 = 0 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 \ No newline at end of file diff --git a/ResourceFiles/Config/release_version.json b/ResourceFiles/Config/release_version.json deleted file mode 100644 index eb654867..00000000 --- a/ResourceFiles/Config/release_version.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "version": "Lv100-LastVersion", - "ShowChangeLog": true, - "agreement": false -} diff --git a/ResourceFiles/Config/攻击目标.ini b/ResourceFiles/Config/攻击目标.ini deleted file mode 100644 index 78b1fc8c..00000000 --- a/ResourceFiles/Config/攻击目标.ini +++ /dev/null @@ -1,34 +0,0 @@ -#修改后请保存,保存后关闭并重新启动程序生效 - -#默认为120沙袋/绿沙袋,设置整数 (仅输出系生效) -[item0] -名称 = 120沙袋(绿) -防御 = 443243 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item1] -名称 = 130沙袋 -防御 = 506109 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item2] -名称 = 强化机(0防) -防御 = 0 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 - -[item3] -名称 = 自定义 -防御 = 0 -火抗 = 0 -冰抗 = 0 -光抗 = 0 -暗抗 = 0 \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/img/select_down_disabled_light.png b/ResourceFiles/Skins/DNFStyle/img/select_down_disabled_light.png deleted file mode 100644 index e0aa04c6..00000000 Binary files a/ResourceFiles/Skins/DNFStyle/img/select_down_disabled_light.png and /dev/null differ diff --git a/ResourceFiles/Skins/DNFStyle/下拉框样式.qcss b/ResourceFiles/Skins/DNFStyle/下拉框样式.qcss deleted file mode 100644 index 1c4c437b..00000000 --- a/ResourceFiles/Skins/DNFStyle/下拉框样式.qcss +++ /dev/null @@ -1,97 +0,0 @@ -QComboBox{min-height:20px;font-size:12px;color:#937639;background-color:black;border:1px solid #5b472a;border-radius:2px} -QComboBox:disabled{min-height:20px;font-size:12px;color:#696969;background-color:black;border:1px solid #414141;border-radius:2px;} -QComboBox QAbstractItemView{outline:0px;border:0px} -QComboBox QAbstractItemView::item {font-size:12px;height: 18px;background-color:black;color:#937639;border:0px} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {font-size:12px;background-color:#002947;color:#ebd771;border:0px} -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/down.png); - padding-bottom:4px; - padding-right:2px; -} -QComboBox::drop-down{ - image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png); - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} -QComboBox::drop-down:disabled{ -subcontrol-origin: padding; -subcontrol-position: top right; -width: 20px; -} -QComboBox::drop-down:disabled{ - image: url(ResourceFiles/Skins/DNFStyle/img/select_down_disabled.png); - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} diff --git a/ResourceFiles/Skins/DNFStyle/下拉框样式_detail.qcss b/ResourceFiles/Skins/DNFStyle/下拉框样式_detail.qcss deleted file mode 100644 index ef3c4d79..00000000 --- a/ResourceFiles/Skins/DNFStyle/下拉框样式_detail.qcss +++ /dev/null @@ -1,97 +0,0 @@ -QComboBox{min-height:20px;font-size:12px;color:rgb(233,197,86);background-color:rgba(0,0,0,0.5);border:1px solid #5b472a;border-radius:2px} -QComboBox:disabled{min-height:20px;font-size:12px;color:#696969;background-color:rgba(0,0,0,0.6);border:1px solid #414141;border-radius:2px;} -QComboBox QAbstractItemView{outline:0px;border:0px} -QComboBox QAbstractItemView::item {font-size:12px;height: 18px;background-color:rgba(0,0,0,1);color:rgb(233,197,86);border:0px} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {font-size:12px;background-color:#002947;color:#ebd771;border:0px} -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/down.png); - padding-bottom:4px; - padding-right:2px; -} -QComboBox::drop-down{ - image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png); - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} -QComboBox::drop-down:disabled{ -subcontrol-origin: padding; -subcontrol-position: top right; -width: 20px; -} -QComboBox::drop-down:disabled{ - image: url(ResourceFiles/Skins/DNFStyle/img/select_down_disabled_light.png); - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} diff --git a/ResourceFiles/Skins/DNFStyle/下拉框样式_down.qcss b/ResourceFiles/Skins/DNFStyle/下拉框样式_down.qcss deleted file mode 100644 index b8b2ef69..00000000 --- a/ResourceFiles/Skins/DNFStyle/下拉框样式_down.qcss +++ /dev/null @@ -1,93 +0,0 @@ -QComboBox{min-height:20px;font-size:12px;font-weight:bolder;color:rgb(34,157,70);background-color:rgba(0,0,0,0.8);border:1px solid #a98156;border-radius:2px;} -QComboBox:hover{color:#d4bd5b} -QComboBox QAbstractItemView{outline:0px;border:0px} -QComboBox QAbstractItemView::item {font-size:12px;height: 18px;background-color:black;color:#937639;border:0px} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {font-size:12px;background-color:#002947;color:#d4bd5b;outline: none;border:0px} -QComboBox::drop-down { -subcontrol-origin: padding; -subcontrol-position: top right; -width: 20px; -} -QComboBox::down-arrow { -image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png) -} -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/down.png); - padding-bottom:4px; - padding-right:2px; -} -QComboBox::down-arrow { -image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png) - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/下拉框样式_warn.qcss b/ResourceFiles/Skins/DNFStyle/下拉框样式_warn.qcss deleted file mode 100644 index 4c3a63c3..00000000 --- a/ResourceFiles/Skins/DNFStyle/下拉框样式_warn.qcss +++ /dev/null @@ -1,93 +0,0 @@ -QComboBox{min-height:20px;font-size:12px;font-weight:bolder;color:rgb(197,34,70);background-color:rgba(0,0,0,0.8);border:1px solid #a98156;border-radius:2px;} -QComboBox:hover{color:#d4bd5b} -QComboBox QAbstractItemView{outline:0px;border:0px} -QComboBox QAbstractItemView::item {font-size:12px;height: 18px;background-color:black;color:#937639;border:0px} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {font-size:12px;background-color:#002947;color:#d4bd5b;outline: none;border:0px} -QComboBox::drop-down { -subcontrol-origin: padding; -subcontrol-position: top right; -width: 20px; -} -QComboBox::down-arrow { -image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png) -} -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/Skins/DNFStyle/img/down.png); - padding-bottom:4px; - padding-right:2px; -} -QComboBox::down-arrow { -image: url(ResourceFiles/Skins/DNFStyle/img/select_down.png) - padding-top:3px; - padding-right:3px; - width:15px; - height:14px; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/复选框样式.qcss b/ResourceFiles/Skins/DNFStyle/复选框样式.qcss deleted file mode 100644 index 33142653..00000000 --- a/ResourceFiles/Skins/DNFStyle/复选框样式.qcss +++ /dev/null @@ -1,19 +0,0 @@ -QCheckBox{font-size:12px;color:#af8f4c;background-color:transparent} -QCheckBox:hover{color:#ebd771} -QCheckBox::indicator:unchecked{ - image:url(ResourceFiles/Skins/DNFStyle/img/checkbox_uncheck.png); -} -QCheckBox::indicator:unchecked:hover,QCheckBox::indicator:unchecked:pressed{ - image:url(ResourceFiles/Skins/DNFStyle/img/checkbox_hover.png); -} -QCheckBox::indicator:checked{ - image:url(ResourceFiles/Skins/DNFStyle/img/checkbox_checked.png); -} - -QCheckBox:disabled{font-size:12px;color:#696969;background-color:transparent} -QCheckBox::indicator:unchecked:disabled{ - image:url(ResourceFiles/Skins/DNFStyle/img/checkbox_disable.png); -} -QCheckBox::indicator:checked:disabled{ - image:url(ResourceFiles/Skins/DNFStyle/img/checkbox_checked.png); -} diff --git a/ResourceFiles/Skins/DNFStyle/套装按钮样式.qcss b/ResourceFiles/Skins/DNFStyle/套装按钮样式.qcss deleted file mode 100644 index 87f3dc7e..00000000 --- a/ResourceFiles/Skins/DNFStyle/套装按钮样式.qcss +++ /dev/null @@ -1,13 +0,0 @@ -QPushButton -{ - font-size:12px; - color:#e9c556; - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #223768,stop: 1 #122438); - border:1px solid #755f44; - border-radius:2px -} -QPushButton:hover{ - color:#fee97d; - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #2d4e9f,stop: 1 #153051); - border:1px solid #e3c18a; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/按钮样式.qcss b/ResourceFiles/Skins/DNFStyle/按钮样式.qcss deleted file mode 100644 index ff7fbe23..00000000 --- a/ResourceFiles/Skins/DNFStyle/按钮样式.qcss +++ /dev/null @@ -1,22 +0,0 @@ -QPushButton -{ - font-size:12px; - color:#e9c556; - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #223768,stop: 1 #122438); - border:1px solid #755f44; - border-radius:2px -} -QPushButton:hover{ - color:#fee97d; - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #2d4e9f,stop: 1 #153051); - border:1px solid #e3c18a; -} - -QPushButton:disabled -{ - font-size:12px; - color:#696969; - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #353535,stop: 1 #1c1c1c); - border:1px solid #414141; - border-radius:2px -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/按钮样式_warn.qcss b/ResourceFiles/Skins/DNFStyle/按钮样式_warn.qcss deleted file mode 100644 index 9a2ac4ab..00000000 --- a/ResourceFiles/Skins/DNFStyle/按钮样式_warn.qcss +++ /dev/null @@ -1,13 +0,0 @@ -QPushButton -{ - font-size:14px; - color:rgb(184,148,96); - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #784315,stop: 1 #412612); - border:1px solid #5a4b35; - border-radius:2px -} -QPushButton:hover{ - color:rgb(227,212,154); - background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1,stop: 0 #824008,stop: 1 #3c1b05); - border:1px solid #af935f; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/文本框样式白.qcss b/ResourceFiles/Skins/DNFStyle/文本框样式白.qcss deleted file mode 100644 index 7b9faf35..00000000 --- a/ResourceFiles/Skins/DNFStyle/文本框样式白.qcss +++ /dev/null @@ -1 +0,0 @@ -QLineEdit{font-size:12px;color:rgb(233,197,86);background-color:rgba(0,0,0,0.5);border:1px solid #5b472a;border-radius:2px;} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/文本框样式黄.qcss b/ResourceFiles/Skins/DNFStyle/文本框样式黄.qcss deleted file mode 100644 index a93c01d4..00000000 --- a/ResourceFiles/Skins/DNFStyle/文本框样式黄.qcss +++ /dev/null @@ -1 +0,0 @@ -QLineEdit{font-size:12px;color:white;background-color:rgba(0,0,0,0.5);border:1px solid #5b472a;border-radius:2px;} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/标签样式.qcss b/ResourceFiles/Skins/DNFStyle/标签样式.qcss deleted file mode 100644 index 766ccf49..00000000 --- a/ResourceFiles/Skins/DNFStyle/标签样式.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{font-size:12px;color:#e9c556} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/标签样式_2.qcss b/ResourceFiles/Skins/DNFStyle/标签样式_2.qcss deleted file mode 100644 index cb923ea1..00000000 --- a/ResourceFiles/Skins/DNFStyle/标签样式_2.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{font-size:12px;color:white;background-color:transparent;border:0px solid #674e25} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/标题字体.qcss b/ResourceFiles/Skins/DNFStyle/标题字体.qcss deleted file mode 100644 index 8536a14a..00000000 --- a/ResourceFiles/Skins/DNFStyle/标题字体.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{font-size:12px;color:white} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/标题背景.qcss b/ResourceFiles/Skins/DNFStyle/标题背景.qcss deleted file mode 100644 index 6cc546e1..00000000 --- a/ResourceFiles/Skins/DNFStyle/标题背景.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{border-image:url(ResourceFiles/Skins/DNFStyle/img/title_back.png)} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/滚动条样式.qcss b/ResourceFiles/Skins/DNFStyle/滚动条样式.qcss deleted file mode 100644 index 4a13aad5..00000000 --- a/ResourceFiles/Skins/DNFStyle/滚动条样式.qcss +++ /dev/null @@ -1,74 +0,0 @@ -/*纵向滚动条*/ -QScrollBar { - background: transparent; /*背景透明*/ - width: 12px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 16px; /*距离上面12px*/ - padding-bottom: 16px; /*距离底部12px*/ - padding-right:1px; -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgb(36,36,36); - width: 12px; - border: 1px inset rgb(76,61,39); -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 11px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 11px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 12px; - width: 11px; - background: transparent; - subcontrol-position: right; -} -/*纵向滚动条向上的三角形小图标*/ -QScrollBar::up-arrow:vertical { - image: url(ResourceFiles/img/UI/up.png); - padding-top:3px; - padding-right:2px; -} -QScrollBar::down-arrow:vertical { - image: url(ResourceFiles/img/UI/down.png); - padding-bottom:4px; - padding-right:2px; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/输入框样式.qcss b/ResourceFiles/Skins/DNFStyle/输入框样式.qcss deleted file mode 100644 index a4ea3a49..00000000 --- a/ResourceFiles/Skins/DNFStyle/输入框样式.qcss +++ /dev/null @@ -1,7 +0,0 @@ -QLineEdit{ - font-size:12px; - color:#937639; - background-color:black; - border:1px solid #5b472a; - border-radius:2px; - } \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/页签样式.qcss b/ResourceFiles/Skins/DNFStyle/页签样式.qcss deleted file mode 100644 index fd8b7800..00000000 --- a/ResourceFiles/Skins/DNFStyle/页签样式.qcss +++ /dev/null @@ -1,11 +0,0 @@ -QToolButton{font-size:13px;color:#7c6e52;background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1, -stop: 0 #2e2f31, -stop: 1 #121315); - border-top-right-radius: 5px; /*右上角圆角*/ - border-top-left-radius: 5px; /*左下角圆角*/ - border:1px solid black; -} - -QToolButton:hover{color:#c6b083;background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1, -stop: 0 #4a4b4e, -stop: 1 #1d1e22);} \ No newline at end of file diff --git a/ResourceFiles/Skins/DNFStyle/页签样式_选中.qcss b/ResourceFiles/Skins/DNFStyle/页签样式_选中.qcss deleted file mode 100644 index 341d96cd..00000000 --- a/ResourceFiles/Skins/DNFStyle/页签样式_选中.qcss +++ /dev/null @@ -1,7 +0,0 @@ -QToolButton{font-size:13px;color:#d4c8ac;background-color:qlineargradient(x1:0, x2:0, y1:0, y2:1, -stop: 0 #574d38, -stop: 1 #25221d); - border-top-right-radius: 5px; /*右上角圆角*/ - border-top-left-radius: 5px; /*左下角圆角*/ - border-image:url(ResourceFiles/Skins/DNFStyle/img/top_select.png) -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/下拉框样式.qcss b/ResourceFiles/Skins/LightStyle/下拉框样式.qcss deleted file mode 100644 index c2043809..00000000 --- a/ResourceFiles/Skins/LightStyle/下拉框样式.qcss +++ /dev/null @@ -1,11 +0,0 @@ -QComboBox{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:5px;} -QComboBox:disabled{font-size:12px;color:white;background-color:grey;border:1px;border-radius:5px;} QComboBox QAbstractItemView::item {height: 18px;} -QComboBox:hover{background-color:rgba(65,105,225,0.8)} -QComboBox QAbstractItemView::item {height: 18px;background-color:white} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1);color:black} -QComboBox QScrollBar{ - background: white !important -} -QComboBox QScrollBar::handle{ - background: rgb(220,220,220) !important -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/下拉框样式_detail.qcss b/ResourceFiles/Skins/LightStyle/下拉框样式_detail.qcss deleted file mode 100644 index c2043809..00000000 --- a/ResourceFiles/Skins/LightStyle/下拉框样式_detail.qcss +++ /dev/null @@ -1,11 +0,0 @@ -QComboBox{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:5px;} -QComboBox:disabled{font-size:12px;color:white;background-color:grey;border:1px;border-radius:5px;} QComboBox QAbstractItemView::item {height: 18px;} -QComboBox:hover{background-color:rgba(65,105,225,0.8)} -QComboBox QAbstractItemView::item {height: 18px;background-color:white} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1);color:black} -QComboBox QScrollBar{ - background: white !important -} -QComboBox QScrollBar::handle{ - background: rgb(220,220,220) !important -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/下拉框样式_down.qcss b/ResourceFiles/Skins/LightStyle/下拉框样式_down.qcss deleted file mode 100644 index b673c3a8..00000000 --- a/ResourceFiles/Skins/LightStyle/下拉框样式_down.qcss +++ /dev/null @@ -1,9 +0,0 @@ -QComboBox{font-size:12px;color:white;background-color:rgba(34,157,70,0.8);border:1px;border-radius:5px;} QComboBox:hover{background-color:rgba(5,185,65,0.8)} -QComboBox QAbstractItemView::item {height: 18px;background-color:white} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1) !important;color:black} -QComboBox QScrollBar{ - background: white !important -} -QComboBox QScrollBar::handle{ - background: rgb(220,220,220) !important -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/下拉框样式_warn.qcss b/ResourceFiles/Skins/LightStyle/下拉框样式_warn.qcss deleted file mode 100644 index b0e77492..00000000 --- a/ResourceFiles/Skins/LightStyle/下拉框样式_warn.qcss +++ /dev/null @@ -1,9 +0,0 @@ -QComboBox{font-size:12px;color:white;background-color:rgba(197,34,70,0.8);border:1px;border-radius:5px;} QComboBox:hover{background-color:rgba(225,5,65,0.8)} -QComboBox QAbstractItemView::item {height: 18px;background-color:white} -QComboBox QAbstractItemView::item:hover,QComboBox QAbstractItemView::item:focus {background-color:rgba(179,206,255,1)!important; color:black} -QComboBox QScrollBar{ - background: white !important -} -QComboBox QScrollBar::handle{ - background: rgb(220,220,220) !important -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/复选框样式.qcss b/ResourceFiles/Skins/LightStyle/复选框样式.qcss deleted file mode 100644 index f5b7ef80..00000000 --- a/ResourceFiles/Skins/LightStyle/复选框样式.qcss +++ /dev/null @@ -1,2 +0,0 @@ -QCheckBox{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} QCheckBox:hover{background-color:rgba(65,105,225,0.8)} -QCheckBox:disabled{font-size:12px;color:white;background-color:grey;border:1px;border-radius:3px} QCheckBox:hover{background-color:rgba(65,105,225,0.8)} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/套装按钮样式.qcss b/ResourceFiles/Skins/LightStyle/套装按钮样式.qcss deleted file mode 100644 index db90b13f..00000000 --- a/ResourceFiles/Skins/LightStyle/套装按钮样式.qcss +++ /dev/null @@ -1 +0,0 @@ -QPushButton{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:5px} QPushButton:hover{background-color:rgba(65,105,225,0.8)} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/按钮样式.qcss b/ResourceFiles/Skins/LightStyle/按钮样式.qcss deleted file mode 100644 index 7687c1b7..00000000 --- a/ResourceFiles/Skins/LightStyle/按钮样式.qcss +++ /dev/null @@ -1,2 +0,0 @@ -QPushButton{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:10px} QPushButton:hover{background-color:rgba(65,105,225,0.8)} -QPushButton:disabled{font-size:12px;color:white;background-color:grey;border:1px;border-radius:10px} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/按钮样式_warn.qcss b/ResourceFiles/Skins/LightStyle/按钮样式_warn.qcss deleted file mode 100644 index 625366a2..00000000 --- a/ResourceFiles/Skins/LightStyle/按钮样式_warn.qcss +++ /dev/null @@ -1 +0,0 @@ -QPushButton{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:10px} QPushButton:hover{background-color:rgba(65,105,225,0.8)} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/文本框样式白.qcss b/ResourceFiles/Skins/LightStyle/文本框样式白.qcss deleted file mode 100644 index 529d7219..00000000 --- a/ResourceFiles/Skins/LightStyle/文本框样式白.qcss +++ /dev/null @@ -1 +0,0 @@ -QLineEdit{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/文本框样式黄.qcss b/ResourceFiles/Skins/LightStyle/文本框样式黄.qcss deleted file mode 100644 index 342c0f46..00000000 --- a/ResourceFiles/Skins/LightStyle/文本框样式黄.qcss +++ /dev/null @@ -1 +0,0 @@ -QLineEdit{font-size:12px;color:yellow;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/标签样式.qcss b/ResourceFiles/Skins/LightStyle/标签样式.qcss deleted file mode 100644 index 8536a14a..00000000 --- a/ResourceFiles/Skins/LightStyle/标签样式.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{font-size:12px;color:white} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/标签样式_2.qcss b/ResourceFiles/Skins/LightStyle/标签样式_2.qcss deleted file mode 100644 index 303dcc6e..00000000 --- a/ResourceFiles/Skins/LightStyle/标签样式_2.qcss +++ /dev/null @@ -1 +0,0 @@ -QLabel{font-size:12px;color:yellow} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/滚动条样式.qcss b/ResourceFiles/Skins/LightStyle/滚动条样式.qcss deleted file mode 100644 index 4ea0fb2f..00000000 --- a/ResourceFiles/Skins/LightStyle/滚动条样式.qcss +++ /dev/null @@ -1,63 +0,0 @@ -/*QScrollBar Style*/ -/*纵向滚动条*/ -QScrollBar { - background: transparent; /*背景透明*/ - width: 10px; /*宽度*/ - margin: 0px 0px 0px 0px; /**/ - padding-top: 5px; /*距离上面12px*/ - padding-bottom: 5px; /*距离底部12px*/ -} -/*纵向滚动条上面的滑块*/ -QScrollBar::handle { - background: rgba(245,245,245,50); - width: 10px; - border: none; -} -/*纵向滚动条下部分块*/ -QScrollBar::add-page:vertical { - width: 10px; - background: transparent; -} -/*横向滚动条后面部分块*/ -QScrollBar::add-page:horizontal { - height: 10px; - background: transparent; -} -/*纵向滚动条上面部分块*/ -QScrollBar::sub-page:vertical { - width: 10px; - background: transparent; -} -/*横向滚动条左部分块*/ -QScrollBar::sub-page:horizontal { - height: 10px; - background: transparent; -} -/*纵向滚动条顶部三角形位置*/ -QScrollBar::sub-line:vertical { - height: 12px; - width: 10px; - background: transparent; - subcontrol-position: top; -} -/*横向滚动条左侧三角形位置*/ -QScrollBar::sub-line:horizontal { - height: 10px; - width: 12px; - background: transparent; - subcontrol-position: left; -} -/*纵向滚动条下面三角形部分*/ -QScrollBar::add-line:vertical { - height: 12px; - width: 10px; - background: transparent; - subcontrol-position: bottom; -} -/*横向滚动条右边的三角形部分*/ -QScrollBar::add-line:horizontal { - height: 10px; - width: 12px; - background: transparent; - subcontrol-position: right; -} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/输入框样式.qcss b/ResourceFiles/Skins/LightStyle/输入框样式.qcss deleted file mode 100644 index 32e60bbc..00000000 --- a/ResourceFiles/Skins/LightStyle/输入框样式.qcss +++ /dev/null @@ -1 +0,0 @@ -QLineEdit{font-size:12px;color:white;background-color:rgba(70,134,197,0.8);border:1px;border-radius:3px} QLineEdit:hover{background-color:rgba(65,105,225,0.8)} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/页签样式.qcss b/ResourceFiles/Skins/LightStyle/页签样式.qcss deleted file mode 100644 index 40ed05ee..00000000 --- a/ResourceFiles/Skins/LightStyle/页签样式.qcss +++ /dev/null @@ -1 +0,0 @@ -QToolButton{font-size:13px;color:white;background-color:rgba(70,130,200,0.8)} QToolButton:hover{background-color:rgba(40,100,235,0.8)} \ No newline at end of file diff --git a/ResourceFiles/Skins/LightStyle/页签样式_选中.qcss b/ResourceFiles/Skins/LightStyle/页签样式_选中.qcss deleted file mode 100644 index 04ca567e..00000000 --- a/ResourceFiles/Skins/LightStyle/页签样式_选中.qcss +++ /dev/null @@ -1 +0,0 @@ -QToolButton{font-size:13px;color:white;background-color:rgba(200,30,30,0.8)} QToolButton:hover{background-color:rgba(235,0,0,0.8)} \ No newline at end of file diff --git a/ResourceFiles/img/language/分类/0.png b/ResourceFiles/img/language/分类/0.png deleted file mode 100644 index 0627de24..00000000 Binary files a/ResourceFiles/img/language/分类/0.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/1.png b/ResourceFiles/img/language/分类/1.png deleted file mode 100644 index 07f88efe..00000000 Binary files a/ResourceFiles/img/language/分类/1.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/10.png b/ResourceFiles/img/language/分类/10.png deleted file mode 100644 index 87cdfdbd..00000000 Binary files a/ResourceFiles/img/language/分类/10.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/11.png b/ResourceFiles/img/language/分类/11.png deleted file mode 100644 index 6dfac857..00000000 Binary files a/ResourceFiles/img/language/分类/11.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/12.png b/ResourceFiles/img/language/分类/12.png deleted file mode 100644 index 4aeb085f..00000000 Binary files a/ResourceFiles/img/language/分类/12.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/13.png b/ResourceFiles/img/language/分类/13.png deleted file mode 100644 index 55aed798..00000000 Binary files a/ResourceFiles/img/language/分类/13.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/14.png b/ResourceFiles/img/language/分类/14.png deleted file mode 100644 index d5db1aff..00000000 Binary files a/ResourceFiles/img/language/分类/14.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/2.png b/ResourceFiles/img/language/分类/2.png deleted file mode 100644 index 2137b1be..00000000 Binary files a/ResourceFiles/img/language/分类/2.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/3.png b/ResourceFiles/img/language/分类/3.png deleted file mode 100644 index f7302b94..00000000 Binary files a/ResourceFiles/img/language/分类/3.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/4.png b/ResourceFiles/img/language/分类/4.png deleted file mode 100644 index 48280023..00000000 Binary files a/ResourceFiles/img/language/分类/4.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/5.png b/ResourceFiles/img/language/分类/5.png deleted file mode 100644 index afe8889b..00000000 Binary files a/ResourceFiles/img/language/分类/5.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/6.png b/ResourceFiles/img/language/分类/6.png deleted file mode 100644 index 6e25dd55..00000000 Binary files a/ResourceFiles/img/language/分类/6.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/7.png b/ResourceFiles/img/language/分类/7.png deleted file mode 100644 index 5507c95f..00000000 Binary files a/ResourceFiles/img/language/分类/7.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/8.png b/ResourceFiles/img/language/分类/8.png deleted file mode 100644 index c1fed686..00000000 Binary files a/ResourceFiles/img/language/分类/8.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/9.png b/ResourceFiles/img/language/分类/9.png deleted file mode 100644 index 71f06873..00000000 Binary files a/ResourceFiles/img/language/分类/9.png and /dev/null differ diff --git a/ResourceFiles/img/language/分类/bg.png b/ResourceFiles/img/language/分类/bg.png deleted file mode 100644 index a7e81c03..00000000 Binary files a/ResourceFiles/img/language/分类/bg.png and /dev/null differ diff --git a/ResourceFiles/img/language/输出背景.png b/ResourceFiles/img/language/输出背景.png deleted file mode 100644 index 460a0731..00000000 Binary files a/ResourceFiles/img/language/输出背景.png and /dev/null differ diff --git a/ResourceFiles/img/language/输出背景_BUFF.png b/ResourceFiles/img/language/输出背景_BUFF.png deleted file mode 100644 index 621fe9b9..00000000 Binary files a/ResourceFiles/img/language/输出背景_BUFF.png and /dev/null differ diff --git a/ResourceFiles/img/logo.ico b/ResourceFiles/img/logo.ico deleted file mode 100644 index 15bb4673..00000000 Binary files a/ResourceFiles/img/logo.ico and /dev/null differ diff --git a/ResourceFiles/img/刀魂之卡赞.png b/ResourceFiles/img/刀魂之卡赞.png deleted file mode 100644 index 97faa6ca..00000000 Binary files a/ResourceFiles/img/刀魂之卡赞.png and /dev/null differ diff --git a/ResourceFiles/img/分类/15.PNG b/ResourceFiles/img/分类/15.PNG deleted file mode 100644 index 8c98fcf8..00000000 Binary files a/ResourceFiles/img/分类/15.PNG and /dev/null differ diff --git a/ResourceFiles/img/分类/16.PNG b/ResourceFiles/img/分类/16.PNG deleted file mode 100644 index 8ee2e7b8..00000000 Binary files a/ResourceFiles/img/分类/16.PNG and /dev/null differ diff --git a/ResourceFiles/img/分类/bg.png b/ResourceFiles/img/分类/bg.png deleted file mode 100644 index a7e81c03..00000000 Binary files a/ResourceFiles/img/分类/bg.png and /dev/null differ diff --git a/ResourceFiles/img/头像/15.PNG b/ResourceFiles/img/头像/15.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/15.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/17.PNG b/ResourceFiles/img/头像/17.PNG deleted file mode 100644 index d37556d2..00000000 Binary files a/ResourceFiles/img/头像/17.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/19.PNG b/ResourceFiles/img/头像/19.PNG deleted file mode 100644 index 0b149852..00000000 Binary files a/ResourceFiles/img/头像/19.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/20.PNG b/ResourceFiles/img/头像/20.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/20.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/27.PNG b/ResourceFiles/img/头像/27.PNG deleted file mode 100644 index 2e612d10..00000000 Binary files a/ResourceFiles/img/头像/27.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/30.PNG b/ResourceFiles/img/头像/30.PNG deleted file mode 100644 index 8a736f4a..00000000 Binary files a/ResourceFiles/img/头像/30.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/34.PNG b/ResourceFiles/img/头像/34.PNG deleted file mode 100644 index 1c14ee31..00000000 Binary files a/ResourceFiles/img/头像/34.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/4.PNG b/ResourceFiles/img/头像/4.PNG deleted file mode 100644 index af0836aa..00000000 Binary files a/ResourceFiles/img/头像/4.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/45.PNG b/ResourceFiles/img/头像/45.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/45.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/48.PNG b/ResourceFiles/img/头像/48.PNG deleted file mode 100644 index 9b100631..00000000 Binary files a/ResourceFiles/img/头像/48.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/5.PNG b/ResourceFiles/img/头像/5.PNG deleted file mode 100644 index 01a62a2d..00000000 Binary files a/ResourceFiles/img/头像/5.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/50.PNG b/ResourceFiles/img/头像/50.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/50.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/53.PNG b/ResourceFiles/img/头像/53.PNG deleted file mode 100644 index 47f7245a..00000000 Binary files a/ResourceFiles/img/头像/53.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/55.PNG b/ResourceFiles/img/头像/55.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/55.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/60.PNG b/ResourceFiles/img/头像/60.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/60.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/62.PNG b/ResourceFiles/img/头像/62.PNG deleted file mode 100644 index aa6cab29..00000000 Binary files a/ResourceFiles/img/头像/62.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/65.PNG b/ResourceFiles/img/头像/65.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/65.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/70.PNG b/ResourceFiles/img/头像/70.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/70.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/73.PNG b/ResourceFiles/img/头像/73.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/73.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/74.PNG b/ResourceFiles/img/头像/74.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/74.PNG and /dev/null differ diff --git a/ResourceFiles/img/头像/75.PNG b/ResourceFiles/img/头像/75.PNG deleted file mode 100644 index b3ea55c4..00000000 Binary files a/ResourceFiles/img/头像/75.PNG and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/0.gif b/ResourceFiles/img/奥兹玛/0.gif deleted file mode 100644 index 66dc2d9a..00000000 Binary files a/ResourceFiles/img/奥兹玛/0.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/0.png b/ResourceFiles/img/奥兹玛/0.png deleted file mode 100644 index 8ab5ab04..00000000 Binary files a/ResourceFiles/img/奥兹玛/0.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/1.gif b/ResourceFiles/img/奥兹玛/1.gif deleted file mode 100644 index e89cdbdc..00000000 Binary files a/ResourceFiles/img/奥兹玛/1.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/1.png b/ResourceFiles/img/奥兹玛/1.png deleted file mode 100644 index 12eb26cf..00000000 Binary files a/ResourceFiles/img/奥兹玛/1.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/10.gif b/ResourceFiles/img/奥兹玛/10.gif deleted file mode 100644 index d7fc0845..00000000 Binary files a/ResourceFiles/img/奥兹玛/10.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/10.png b/ResourceFiles/img/奥兹玛/10.png deleted file mode 100644 index 26fd73c0..00000000 Binary files a/ResourceFiles/img/奥兹玛/10.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/11.gif b/ResourceFiles/img/奥兹玛/11.gif deleted file mode 100644 index 974bcfe1..00000000 Binary files a/ResourceFiles/img/奥兹玛/11.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/11.png b/ResourceFiles/img/奥兹玛/11.png deleted file mode 100644 index cb0d1000..00000000 Binary files a/ResourceFiles/img/奥兹玛/11.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/12.gif b/ResourceFiles/img/奥兹玛/12.gif deleted file mode 100644 index 8464b8b4..00000000 Binary files a/ResourceFiles/img/奥兹玛/12.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/12.png b/ResourceFiles/img/奥兹玛/12.png deleted file mode 100644 index ed4b83c1..00000000 Binary files a/ResourceFiles/img/奥兹玛/12.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/13.gif b/ResourceFiles/img/奥兹玛/13.gif deleted file mode 100644 index 15430ed6..00000000 Binary files a/ResourceFiles/img/奥兹玛/13.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/13.png b/ResourceFiles/img/奥兹玛/13.png deleted file mode 100644 index 851b58d1..00000000 Binary files a/ResourceFiles/img/奥兹玛/13.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/14.gif b/ResourceFiles/img/奥兹玛/14.gif deleted file mode 100644 index c500f3d6..00000000 Binary files a/ResourceFiles/img/奥兹玛/14.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/14.png b/ResourceFiles/img/奥兹玛/14.png deleted file mode 100644 index 7a9d4152..00000000 Binary files a/ResourceFiles/img/奥兹玛/14.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/15.gif b/ResourceFiles/img/奥兹玛/15.gif deleted file mode 100644 index e52ab2af..00000000 Binary files a/ResourceFiles/img/奥兹玛/15.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/15.png b/ResourceFiles/img/奥兹玛/15.png deleted file mode 100644 index e243e41a..00000000 Binary files a/ResourceFiles/img/奥兹玛/15.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/16.gif b/ResourceFiles/img/奥兹玛/16.gif deleted file mode 100644 index c05d8bd6..00000000 Binary files a/ResourceFiles/img/奥兹玛/16.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/16.png b/ResourceFiles/img/奥兹玛/16.png deleted file mode 100644 index 771d02a9..00000000 Binary files a/ResourceFiles/img/奥兹玛/16.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/17.gif b/ResourceFiles/img/奥兹玛/17.gif deleted file mode 100644 index 6a6bb2c4..00000000 Binary files a/ResourceFiles/img/奥兹玛/17.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/17.png b/ResourceFiles/img/奥兹玛/17.png deleted file mode 100644 index 259ef786..00000000 Binary files a/ResourceFiles/img/奥兹玛/17.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/18.gif b/ResourceFiles/img/奥兹玛/18.gif deleted file mode 100644 index 1cfaeab5..00000000 Binary files a/ResourceFiles/img/奥兹玛/18.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/18.png b/ResourceFiles/img/奥兹玛/18.png deleted file mode 100644 index 005b40b8..00000000 Binary files a/ResourceFiles/img/奥兹玛/18.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/19.gif b/ResourceFiles/img/奥兹玛/19.gif deleted file mode 100644 index f0b641af..00000000 Binary files a/ResourceFiles/img/奥兹玛/19.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/19.png b/ResourceFiles/img/奥兹玛/19.png deleted file mode 100644 index 04c28597..00000000 Binary files a/ResourceFiles/img/奥兹玛/19.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/2.gif b/ResourceFiles/img/奥兹玛/2.gif deleted file mode 100644 index d7f47ff7..00000000 Binary files a/ResourceFiles/img/奥兹玛/2.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/2.png b/ResourceFiles/img/奥兹玛/2.png deleted file mode 100644 index 8858f2ae..00000000 Binary files a/ResourceFiles/img/奥兹玛/2.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/20.gif b/ResourceFiles/img/奥兹玛/20.gif deleted file mode 100644 index bb505895..00000000 Binary files a/ResourceFiles/img/奥兹玛/20.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/20.png b/ResourceFiles/img/奥兹玛/20.png deleted file mode 100644 index cb2297af..00000000 Binary files a/ResourceFiles/img/奥兹玛/20.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/21.gif b/ResourceFiles/img/奥兹玛/21.gif deleted file mode 100644 index 13f89887..00000000 Binary files a/ResourceFiles/img/奥兹玛/21.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/21.png b/ResourceFiles/img/奥兹玛/21.png deleted file mode 100644 index 6eda3143..00000000 Binary files a/ResourceFiles/img/奥兹玛/21.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/22.gif b/ResourceFiles/img/奥兹玛/22.gif deleted file mode 100644 index 9f609b3a..00000000 Binary files a/ResourceFiles/img/奥兹玛/22.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/22.png b/ResourceFiles/img/奥兹玛/22.png deleted file mode 100644 index 5ad52b1a..00000000 Binary files a/ResourceFiles/img/奥兹玛/22.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/23.gif b/ResourceFiles/img/奥兹玛/23.gif deleted file mode 100644 index 25e69cc2..00000000 Binary files a/ResourceFiles/img/奥兹玛/23.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/23.png b/ResourceFiles/img/奥兹玛/23.png deleted file mode 100644 index dbbd7823..00000000 Binary files a/ResourceFiles/img/奥兹玛/23.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/24.gif b/ResourceFiles/img/奥兹玛/24.gif deleted file mode 100644 index 84638ee4..00000000 Binary files a/ResourceFiles/img/奥兹玛/24.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/24.png b/ResourceFiles/img/奥兹玛/24.png deleted file mode 100644 index 6def7b95..00000000 Binary files a/ResourceFiles/img/奥兹玛/24.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/3.gif b/ResourceFiles/img/奥兹玛/3.gif deleted file mode 100644 index d59529fe..00000000 Binary files a/ResourceFiles/img/奥兹玛/3.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/3.png b/ResourceFiles/img/奥兹玛/3.png deleted file mode 100644 index 6ff4cef9..00000000 Binary files a/ResourceFiles/img/奥兹玛/3.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/4.gif b/ResourceFiles/img/奥兹玛/4.gif deleted file mode 100644 index c698f856..00000000 Binary files a/ResourceFiles/img/奥兹玛/4.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/4.png b/ResourceFiles/img/奥兹玛/4.png deleted file mode 100644 index eb9458ac..00000000 Binary files a/ResourceFiles/img/奥兹玛/4.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/5.gif b/ResourceFiles/img/奥兹玛/5.gif deleted file mode 100644 index fa86b506..00000000 Binary files a/ResourceFiles/img/奥兹玛/5.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/5.png b/ResourceFiles/img/奥兹玛/5.png deleted file mode 100644 index e147f7cb..00000000 Binary files a/ResourceFiles/img/奥兹玛/5.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/6.gif b/ResourceFiles/img/奥兹玛/6.gif deleted file mode 100644 index 95846d1d..00000000 Binary files a/ResourceFiles/img/奥兹玛/6.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/6.png b/ResourceFiles/img/奥兹玛/6.png deleted file mode 100644 index 5733d93d..00000000 Binary files a/ResourceFiles/img/奥兹玛/6.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/7.gif b/ResourceFiles/img/奥兹玛/7.gif deleted file mode 100644 index 90e20d7e..00000000 Binary files a/ResourceFiles/img/奥兹玛/7.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/7.png b/ResourceFiles/img/奥兹玛/7.png deleted file mode 100644 index 59f25631..00000000 Binary files a/ResourceFiles/img/奥兹玛/7.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/8.gif b/ResourceFiles/img/奥兹玛/8.gif deleted file mode 100644 index 240d6a5c..00000000 Binary files a/ResourceFiles/img/奥兹玛/8.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/8.png b/ResourceFiles/img/奥兹玛/8.png deleted file mode 100644 index 39de653e..00000000 Binary files a/ResourceFiles/img/奥兹玛/8.png and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/9.gif b/ResourceFiles/img/奥兹玛/9.gif deleted file mode 100644 index 9a155940..00000000 Binary files a/ResourceFiles/img/奥兹玛/9.gif and /dev/null differ diff --git a/ResourceFiles/img/奥兹玛/9.png b/ResourceFiles/img/奥兹玛/9.png deleted file mode 100644 index 6a528422..00000000 Binary files a/ResourceFiles/img/奥兹玛/9.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/0.gif b/ResourceFiles/img/希洛克/0.gif deleted file mode 100644 index 95b39f78..00000000 Binary files a/ResourceFiles/img/希洛克/0.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/0.png b/ResourceFiles/img/希洛克/0.png deleted file mode 100644 index 898a7bad..00000000 Binary files a/ResourceFiles/img/希洛克/0.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/1.gif b/ResourceFiles/img/希洛克/1.gif deleted file mode 100644 index 5b702fd0..00000000 Binary files a/ResourceFiles/img/希洛克/1.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/1.png b/ResourceFiles/img/希洛克/1.png deleted file mode 100644 index 189c74f6..00000000 Binary files a/ResourceFiles/img/希洛克/1.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/10.gif b/ResourceFiles/img/希洛克/10.gif deleted file mode 100644 index b1ee2905..00000000 Binary files a/ResourceFiles/img/希洛克/10.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/10.png b/ResourceFiles/img/希洛克/10.png deleted file mode 100644 index 55212c93..00000000 Binary files a/ResourceFiles/img/希洛克/10.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/11.gif b/ResourceFiles/img/希洛克/11.gif deleted file mode 100644 index f5fb73d5..00000000 Binary files a/ResourceFiles/img/希洛克/11.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/11.png b/ResourceFiles/img/希洛克/11.png deleted file mode 100644 index 8c2a372b..00000000 Binary files a/ResourceFiles/img/希洛克/11.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/12.gif b/ResourceFiles/img/希洛克/12.gif deleted file mode 100644 index cd84ace8..00000000 Binary files a/ResourceFiles/img/希洛克/12.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/12.png b/ResourceFiles/img/希洛克/12.png deleted file mode 100644 index 0efa6a5a..00000000 Binary files a/ResourceFiles/img/希洛克/12.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/13.gif b/ResourceFiles/img/希洛克/13.gif deleted file mode 100644 index 71d4ec72..00000000 Binary files a/ResourceFiles/img/希洛克/13.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/13.png b/ResourceFiles/img/希洛克/13.png deleted file mode 100644 index ab11ec94..00000000 Binary files a/ResourceFiles/img/希洛克/13.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/14.gif b/ResourceFiles/img/希洛克/14.gif deleted file mode 100644 index d1305514..00000000 Binary files a/ResourceFiles/img/希洛克/14.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/14.png b/ResourceFiles/img/希洛克/14.png deleted file mode 100644 index 2365f44a..00000000 Binary files a/ResourceFiles/img/希洛克/14.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/2.gif b/ResourceFiles/img/希洛克/2.gif deleted file mode 100644 index 289764d0..00000000 Binary files a/ResourceFiles/img/希洛克/2.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/2.png b/ResourceFiles/img/希洛克/2.png deleted file mode 100644 index 87b72ffb..00000000 Binary files a/ResourceFiles/img/希洛克/2.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/3.gif b/ResourceFiles/img/希洛克/3.gif deleted file mode 100644 index f4f2d957..00000000 Binary files a/ResourceFiles/img/希洛克/3.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/3.png b/ResourceFiles/img/希洛克/3.png deleted file mode 100644 index c3791957..00000000 Binary files a/ResourceFiles/img/希洛克/3.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/4.gif b/ResourceFiles/img/希洛克/4.gif deleted file mode 100644 index f06dd1ba..00000000 Binary files a/ResourceFiles/img/希洛克/4.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/4.png b/ResourceFiles/img/希洛克/4.png deleted file mode 100644 index 783403e0..00000000 Binary files a/ResourceFiles/img/希洛克/4.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/5.gif b/ResourceFiles/img/希洛克/5.gif deleted file mode 100644 index 9dcb76f9..00000000 Binary files a/ResourceFiles/img/希洛克/5.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/5.png b/ResourceFiles/img/希洛克/5.png deleted file mode 100644 index 87400256..00000000 Binary files a/ResourceFiles/img/希洛克/5.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/6.gif b/ResourceFiles/img/希洛克/6.gif deleted file mode 100644 index 037c2cad..00000000 Binary files a/ResourceFiles/img/希洛克/6.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/6.png b/ResourceFiles/img/希洛克/6.png deleted file mode 100644 index 7835a0bc..00000000 Binary files a/ResourceFiles/img/希洛克/6.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/7.gif b/ResourceFiles/img/希洛克/7.gif deleted file mode 100644 index 44bff124..00000000 Binary files a/ResourceFiles/img/希洛克/7.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/7.png b/ResourceFiles/img/希洛克/7.png deleted file mode 100644 index e8446195..00000000 Binary files a/ResourceFiles/img/希洛克/7.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/8.gif b/ResourceFiles/img/希洛克/8.gif deleted file mode 100644 index 2fae8336..00000000 Binary files a/ResourceFiles/img/希洛克/8.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/8.png b/ResourceFiles/img/希洛克/8.png deleted file mode 100644 index fb18e24a..00000000 Binary files a/ResourceFiles/img/希洛克/8.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/9.gif b/ResourceFiles/img/希洛克/9.gif deleted file mode 100644 index 77df02b1..00000000 Binary files a/ResourceFiles/img/希洛克/9.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/9.png b/ResourceFiles/img/希洛克/9.png deleted file mode 100644 index 67a114fd..00000000 Binary files a/ResourceFiles/img/希洛克/9.png and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/0.gif b/ResourceFiles/img/希洛克/武器/0.gif deleted file mode 100644 index fd6020ba..00000000 Binary files a/ResourceFiles/img/希洛克/武器/0.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/1.gif b/ResourceFiles/img/希洛克/武器/1.gif deleted file mode 100644 index 88e66d49..00000000 Binary files a/ResourceFiles/img/希洛克/武器/1.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/10.gif b/ResourceFiles/img/希洛克/武器/10.gif deleted file mode 100644 index 446413f3..00000000 Binary files a/ResourceFiles/img/希洛克/武器/10.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/11.gif b/ResourceFiles/img/希洛克/武器/11.gif deleted file mode 100644 index 66c60bca..00000000 Binary files a/ResourceFiles/img/希洛克/武器/11.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/12.gif b/ResourceFiles/img/希洛克/武器/12.gif deleted file mode 100644 index 509db38f..00000000 Binary files a/ResourceFiles/img/希洛克/武器/12.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/13.gif b/ResourceFiles/img/希洛克/武器/13.gif deleted file mode 100644 index 08ca63d0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/13.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/14.gif b/ResourceFiles/img/希洛克/武器/14.gif deleted file mode 100644 index 4f3ed12c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/14.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/15.gif b/ResourceFiles/img/希洛克/武器/15.gif deleted file mode 100644 index 4ffdb8a1..00000000 Binary files a/ResourceFiles/img/希洛克/武器/15.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/16.gif b/ResourceFiles/img/希洛克/武器/16.gif deleted file mode 100644 index 6d3d7986..00000000 Binary files a/ResourceFiles/img/希洛克/武器/16.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/17.gif b/ResourceFiles/img/希洛克/武器/17.gif deleted file mode 100644 index 9ab9d818..00000000 Binary files a/ResourceFiles/img/希洛克/武器/17.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/18.gif b/ResourceFiles/img/希洛克/武器/18.gif deleted file mode 100644 index 9cfa710c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/18.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/19.gif b/ResourceFiles/img/希洛克/武器/19.gif deleted file mode 100644 index 39ae1beb..00000000 Binary files a/ResourceFiles/img/希洛克/武器/19.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/2.gif b/ResourceFiles/img/希洛克/武器/2.gif deleted file mode 100644 index bad8f232..00000000 Binary files a/ResourceFiles/img/希洛克/武器/2.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/20.gif b/ResourceFiles/img/希洛克/武器/20.gif deleted file mode 100644 index 6d057a42..00000000 Binary files a/ResourceFiles/img/希洛克/武器/20.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/21.gif b/ResourceFiles/img/希洛克/武器/21.gif deleted file mode 100644 index 21f6eee4..00000000 Binary files a/ResourceFiles/img/希洛克/武器/21.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/22.gif b/ResourceFiles/img/希洛克/武器/22.gif deleted file mode 100644 index 9735e50b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/22.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/23.gif b/ResourceFiles/img/希洛克/武器/23.gif deleted file mode 100644 index e7ca2522..00000000 Binary files a/ResourceFiles/img/希洛克/武器/23.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/24.gif b/ResourceFiles/img/希洛克/武器/24.gif deleted file mode 100644 index 868c10b6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/24.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/25.gif b/ResourceFiles/img/希洛克/武器/25.gif deleted file mode 100644 index fdd8094d..00000000 Binary files a/ResourceFiles/img/希洛克/武器/25.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/251.gif b/ResourceFiles/img/希洛克/武器/251.gif deleted file mode 100644 index 6b5f7155..00000000 Binary files a/ResourceFiles/img/希洛克/武器/251.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/257.gif b/ResourceFiles/img/希洛克/武器/257.gif deleted file mode 100644 index 62853e43..00000000 Binary files a/ResourceFiles/img/希洛克/武器/257.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/258.gif b/ResourceFiles/img/希洛克/武器/258.gif deleted file mode 100644 index 1d5da168..00000000 Binary files a/ResourceFiles/img/希洛克/武器/258.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/259.gif b/ResourceFiles/img/希洛克/武器/259.gif deleted file mode 100644 index 9d0b23e8..00000000 Binary files a/ResourceFiles/img/希洛克/武器/259.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/26.gif b/ResourceFiles/img/希洛克/武器/26.gif deleted file mode 100644 index a4da9554..00000000 Binary files a/ResourceFiles/img/希洛克/武器/26.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/260.gif b/ResourceFiles/img/希洛克/武器/260.gif deleted file mode 100644 index d54174ce..00000000 Binary files a/ResourceFiles/img/希洛克/武器/260.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/261.gif b/ResourceFiles/img/希洛克/武器/261.gif deleted file mode 100644 index c9d6bd63..00000000 Binary files a/ResourceFiles/img/希洛克/武器/261.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/262.gif b/ResourceFiles/img/希洛克/武器/262.gif deleted file mode 100644 index 5424f0cf..00000000 Binary files a/ResourceFiles/img/希洛克/武器/262.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/263.gif b/ResourceFiles/img/希洛克/武器/263.gif deleted file mode 100644 index e6ea0874..00000000 Binary files a/ResourceFiles/img/希洛克/武器/263.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/264.gif b/ResourceFiles/img/希洛克/武器/264.gif deleted file mode 100644 index 420d8a23..00000000 Binary files a/ResourceFiles/img/希洛克/武器/264.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/265.gif b/ResourceFiles/img/希洛克/武器/265.gif deleted file mode 100644 index f4929405..00000000 Binary files a/ResourceFiles/img/希洛克/武器/265.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/266.gif b/ResourceFiles/img/希洛克/武器/266.gif deleted file mode 100644 index 8f824e9f..00000000 Binary files a/ResourceFiles/img/希洛克/武器/266.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/267.gif b/ResourceFiles/img/希洛克/武器/267.gif deleted file mode 100644 index 9f2a7b4c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/267.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/268.gif b/ResourceFiles/img/希洛克/武器/268.gif deleted file mode 100644 index 8ed878b0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/268.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/269.gif b/ResourceFiles/img/希洛克/武器/269.gif deleted file mode 100644 index 6e315ab2..00000000 Binary files a/ResourceFiles/img/希洛克/武器/269.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/27.gif b/ResourceFiles/img/希洛克/武器/27.gif deleted file mode 100644 index 788dab15..00000000 Binary files a/ResourceFiles/img/希洛克/武器/27.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/270.gif b/ResourceFiles/img/希洛克/武器/270.gif deleted file mode 100644 index 4563b549..00000000 Binary files a/ResourceFiles/img/希洛克/武器/270.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/271.gif b/ResourceFiles/img/希洛克/武器/271.gif deleted file mode 100644 index 98088a09..00000000 Binary files a/ResourceFiles/img/希洛克/武器/271.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/272.gif b/ResourceFiles/img/希洛克/武器/272.gif deleted file mode 100644 index 76722903..00000000 Binary files a/ResourceFiles/img/希洛克/武器/272.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/273.gif b/ResourceFiles/img/希洛克/武器/273.gif deleted file mode 100644 index 84c0ab89..00000000 Binary files a/ResourceFiles/img/希洛克/武器/273.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/274.gif b/ResourceFiles/img/希洛克/武器/274.gif deleted file mode 100644 index 394cd23b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/274.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/275.gif b/ResourceFiles/img/希洛克/武器/275.gif deleted file mode 100644 index af225796..00000000 Binary files a/ResourceFiles/img/希洛克/武器/275.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/276.gif b/ResourceFiles/img/希洛克/武器/276.gif deleted file mode 100644 index 7a27c5c9..00000000 Binary files a/ResourceFiles/img/希洛克/武器/276.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/277.gif b/ResourceFiles/img/希洛克/武器/277.gif deleted file mode 100644 index a14d09dc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/277.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/278.gif b/ResourceFiles/img/希洛克/武器/278.gif deleted file mode 100644 index f8463514..00000000 Binary files a/ResourceFiles/img/希洛克/武器/278.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/279.gif b/ResourceFiles/img/希洛克/武器/279.gif deleted file mode 100644 index b4e64851..00000000 Binary files a/ResourceFiles/img/希洛克/武器/279.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/28.gif b/ResourceFiles/img/希洛克/武器/28.gif deleted file mode 100644 index 8f8e0a43..00000000 Binary files a/ResourceFiles/img/希洛克/武器/28.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/280.gif b/ResourceFiles/img/希洛克/武器/280.gif deleted file mode 100644 index 8609340b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/280.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/281.gif b/ResourceFiles/img/希洛克/武器/281.gif deleted file mode 100644 index ee3803f6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/281.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/282.gif b/ResourceFiles/img/希洛克/武器/282.gif deleted file mode 100644 index 205e6e1d..00000000 Binary files a/ResourceFiles/img/希洛克/武器/282.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/283.gif b/ResourceFiles/img/希洛克/武器/283.gif deleted file mode 100644 index ac52c099..00000000 Binary files a/ResourceFiles/img/希洛克/武器/283.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/284.gif b/ResourceFiles/img/希洛克/武器/284.gif deleted file mode 100644 index 28fbb2c4..00000000 Binary files a/ResourceFiles/img/希洛克/武器/284.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/285.gif b/ResourceFiles/img/希洛克/武器/285.gif deleted file mode 100644 index 61024c96..00000000 Binary files a/ResourceFiles/img/希洛克/武器/285.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/286.gif b/ResourceFiles/img/希洛克/武器/286.gif deleted file mode 100644 index 667ac236..00000000 Binary files a/ResourceFiles/img/希洛克/武器/286.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/287.gif b/ResourceFiles/img/希洛克/武器/287.gif deleted file mode 100644 index 42538812..00000000 Binary files a/ResourceFiles/img/希洛克/武器/287.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/288.gif b/ResourceFiles/img/希洛克/武器/288.gif deleted file mode 100644 index 906e17c3..00000000 Binary files a/ResourceFiles/img/希洛克/武器/288.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/289.gif b/ResourceFiles/img/希洛克/武器/289.gif deleted file mode 100644 index 8daf9641..00000000 Binary files a/ResourceFiles/img/希洛克/武器/289.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/29.gif b/ResourceFiles/img/希洛克/武器/29.gif deleted file mode 100644 index b079545b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/29.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/290.gif b/ResourceFiles/img/希洛克/武器/290.gif deleted file mode 100644 index 3a5f7142..00000000 Binary files a/ResourceFiles/img/希洛克/武器/290.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/291.gif b/ResourceFiles/img/希洛克/武器/291.gif deleted file mode 100644 index 11906e5c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/291.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/292.gif b/ResourceFiles/img/希洛克/武器/292.gif deleted file mode 100644 index a61c8e2c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/292.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/293.gif b/ResourceFiles/img/希洛克/武器/293.gif deleted file mode 100644 index cccab17a..00000000 Binary files a/ResourceFiles/img/希洛克/武器/293.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/294.gif b/ResourceFiles/img/希洛克/武器/294.gif deleted file mode 100644 index ba5128b0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/294.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/295.gif b/ResourceFiles/img/希洛克/武器/295.gif deleted file mode 100644 index 5465adde..00000000 Binary files a/ResourceFiles/img/希洛克/武器/295.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/296.gif b/ResourceFiles/img/希洛克/武器/296.gif deleted file mode 100644 index 723ce797..00000000 Binary files a/ResourceFiles/img/希洛克/武器/296.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/297.gif b/ResourceFiles/img/希洛克/武器/297.gif deleted file mode 100644 index ba59897c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/297.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/298.gif b/ResourceFiles/img/希洛克/武器/298.gif deleted file mode 100644 index e250a653..00000000 Binary files a/ResourceFiles/img/希洛克/武器/298.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/299.gif b/ResourceFiles/img/希洛克/武器/299.gif deleted file mode 100644 index fbe37d06..00000000 Binary files a/ResourceFiles/img/希洛克/武器/299.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/3.gif b/ResourceFiles/img/希洛克/武器/3.gif deleted file mode 100644 index 394e591b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/3.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/30.gif b/ResourceFiles/img/希洛克/武器/30.gif deleted file mode 100644 index 827768e8..00000000 Binary files a/ResourceFiles/img/希洛克/武器/30.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/300.gif b/ResourceFiles/img/希洛克/武器/300.gif deleted file mode 100644 index 7bd2cd00..00000000 Binary files a/ResourceFiles/img/希洛克/武器/300.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/301.gif b/ResourceFiles/img/希洛克/武器/301.gif deleted file mode 100644 index 9b030629..00000000 Binary files a/ResourceFiles/img/希洛克/武器/301.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/302.gif b/ResourceFiles/img/希洛克/武器/302.gif deleted file mode 100644 index 7581a6a4..00000000 Binary files a/ResourceFiles/img/希洛克/武器/302.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/303.gif b/ResourceFiles/img/希洛克/武器/303.gif deleted file mode 100644 index 39645557..00000000 Binary files a/ResourceFiles/img/希洛克/武器/303.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/304.gif b/ResourceFiles/img/希洛克/武器/304.gif deleted file mode 100644 index 3abc4609..00000000 Binary files a/ResourceFiles/img/希洛克/武器/304.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/305.gif b/ResourceFiles/img/希洛克/武器/305.gif deleted file mode 100644 index c9666cc2..00000000 Binary files a/ResourceFiles/img/希洛克/武器/305.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/306.gif b/ResourceFiles/img/希洛克/武器/306.gif deleted file mode 100644 index b191eeea..00000000 Binary files a/ResourceFiles/img/希洛克/武器/306.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/307.gif b/ResourceFiles/img/希洛克/武器/307.gif deleted file mode 100644 index 20ada00b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/307.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/308.gif b/ResourceFiles/img/希洛克/武器/308.gif deleted file mode 100644 index b3bb56e5..00000000 Binary files a/ResourceFiles/img/希洛克/武器/308.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/309.gif b/ResourceFiles/img/希洛克/武器/309.gif deleted file mode 100644 index 44d8f3c6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/309.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/31.gif b/ResourceFiles/img/希洛克/武器/31.gif deleted file mode 100644 index 888096ce..00000000 Binary files a/ResourceFiles/img/希洛克/武器/31.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/310.gif b/ResourceFiles/img/希洛克/武器/310.gif deleted file mode 100644 index 6680990a..00000000 Binary files a/ResourceFiles/img/希洛克/武器/310.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/32.gif b/ResourceFiles/img/希洛克/武器/32.gif deleted file mode 100644 index 31911bbc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/32.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/33.gif b/ResourceFiles/img/希洛克/武器/33.gif deleted file mode 100644 index b4da1cf5..00000000 Binary files a/ResourceFiles/img/希洛克/武器/33.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/34.gif b/ResourceFiles/img/希洛克/武器/34.gif deleted file mode 100644 index 80354ef3..00000000 Binary files a/ResourceFiles/img/希洛克/武器/34.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/35.gif b/ResourceFiles/img/希洛克/武器/35.gif deleted file mode 100644 index 88150ed7..00000000 Binary files a/ResourceFiles/img/希洛克/武器/35.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/36.gif b/ResourceFiles/img/希洛克/武器/36.gif deleted file mode 100644 index 7a1f58d1..00000000 Binary files a/ResourceFiles/img/希洛克/武器/36.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/37.gif b/ResourceFiles/img/希洛克/武器/37.gif deleted file mode 100644 index ccab5c3b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/37.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/371.gif b/ResourceFiles/img/希洛克/武器/371.gif deleted file mode 100644 index 9797d54c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/371.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/372.gif b/ResourceFiles/img/希洛克/武器/372.gif deleted file mode 100644 index 35bad97e..00000000 Binary files a/ResourceFiles/img/希洛克/武器/372.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/373.gif b/ResourceFiles/img/希洛克/武器/373.gif deleted file mode 100644 index 79be1c53..00000000 Binary files a/ResourceFiles/img/希洛克/武器/373.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/374.gif b/ResourceFiles/img/希洛克/武器/374.gif deleted file mode 100644 index 7d51db6a..00000000 Binary files a/ResourceFiles/img/希洛克/武器/374.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/375.gif b/ResourceFiles/img/希洛克/武器/375.gif deleted file mode 100644 index d413b311..00000000 Binary files a/ResourceFiles/img/希洛克/武器/375.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/376.gif b/ResourceFiles/img/希洛克/武器/376.gif deleted file mode 100644 index 56c234b0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/376.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/377.gif b/ResourceFiles/img/希洛克/武器/377.gif deleted file mode 100644 index 5a98b3ae..00000000 Binary files a/ResourceFiles/img/希洛克/武器/377.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/378.gif b/ResourceFiles/img/希洛克/武器/378.gif deleted file mode 100644 index 1336d965..00000000 Binary files a/ResourceFiles/img/希洛克/武器/378.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/379.gif b/ResourceFiles/img/希洛克/武器/379.gif deleted file mode 100644 index 31ff5dbd..00000000 Binary files a/ResourceFiles/img/希洛克/武器/379.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/38.gif b/ResourceFiles/img/希洛克/武器/38.gif deleted file mode 100644 index 28c03241..00000000 Binary files a/ResourceFiles/img/希洛克/武器/38.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/380.gif b/ResourceFiles/img/希洛克/武器/380.gif deleted file mode 100644 index 0037b975..00000000 Binary files a/ResourceFiles/img/希洛克/武器/380.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/381.gif b/ResourceFiles/img/希洛克/武器/381.gif deleted file mode 100644 index bfa81abf..00000000 Binary files a/ResourceFiles/img/希洛克/武器/381.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/382.gif b/ResourceFiles/img/希洛克/武器/382.gif deleted file mode 100644 index 943b8ace..00000000 Binary files a/ResourceFiles/img/希洛克/武器/382.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/383.gif b/ResourceFiles/img/希洛克/武器/383.gif deleted file mode 100644 index 66031a77..00000000 Binary files a/ResourceFiles/img/希洛克/武器/383.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/384.gif b/ResourceFiles/img/希洛克/武器/384.gif deleted file mode 100644 index fa359f02..00000000 Binary files a/ResourceFiles/img/希洛克/武器/384.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/385.gif b/ResourceFiles/img/希洛克/武器/385.gif deleted file mode 100644 index cde95888..00000000 Binary files a/ResourceFiles/img/希洛克/武器/385.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/386.gif b/ResourceFiles/img/希洛克/武器/386.gif deleted file mode 100644 index 2d404861..00000000 Binary files a/ResourceFiles/img/希洛克/武器/386.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/387.gif b/ResourceFiles/img/希洛克/武器/387.gif deleted file mode 100644 index 3a0ad379..00000000 Binary files a/ResourceFiles/img/希洛克/武器/387.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/388.gif b/ResourceFiles/img/希洛克/武器/388.gif deleted file mode 100644 index 6540822b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/388.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/389.gif b/ResourceFiles/img/希洛克/武器/389.gif deleted file mode 100644 index f6aa8efe..00000000 Binary files a/ResourceFiles/img/希洛克/武器/389.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/39.gif b/ResourceFiles/img/希洛克/武器/39.gif deleted file mode 100644 index 526d589b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/39.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/4.gif b/ResourceFiles/img/希洛克/武器/4.gif deleted file mode 100644 index e6a1f8fc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/4.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/40.gif b/ResourceFiles/img/希洛克/武器/40.gif deleted file mode 100644 index 472311e9..00000000 Binary files a/ResourceFiles/img/希洛克/武器/40.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/41.gif b/ResourceFiles/img/希洛克/武器/41.gif deleted file mode 100644 index de3490ac..00000000 Binary files a/ResourceFiles/img/希洛克/武器/41.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/42.gif b/ResourceFiles/img/希洛克/武器/42.gif deleted file mode 100644 index 706dc485..00000000 Binary files a/ResourceFiles/img/希洛克/武器/42.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/43.gif b/ResourceFiles/img/希洛克/武器/43.gif deleted file mode 100644 index d9138ab0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/43.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/44.gif b/ResourceFiles/img/希洛克/武器/44.gif deleted file mode 100644 index c3f642e5..00000000 Binary files a/ResourceFiles/img/希洛克/武器/44.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/45.gif b/ResourceFiles/img/希洛克/武器/45.gif deleted file mode 100644 index 53ba38f0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/45.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/46.gif b/ResourceFiles/img/希洛克/武器/46.gif deleted file mode 100644 index adf4d938..00000000 Binary files a/ResourceFiles/img/希洛克/武器/46.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/47.gif b/ResourceFiles/img/希洛克/武器/47.gif deleted file mode 100644 index 22e6d116..00000000 Binary files a/ResourceFiles/img/希洛克/武器/47.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/48.gif b/ResourceFiles/img/希洛克/武器/48.gif deleted file mode 100644 index d35e590b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/48.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/49.gif b/ResourceFiles/img/希洛克/武器/49.gif deleted file mode 100644 index a374e7ab..00000000 Binary files a/ResourceFiles/img/希洛克/武器/49.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/491.gif b/ResourceFiles/img/希洛克/武器/491.gif deleted file mode 100644 index 9ca48f8b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/491.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/492.gif b/ResourceFiles/img/希洛克/武器/492.gif deleted file mode 100644 index a911f1cc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/492.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/493.gif b/ResourceFiles/img/希洛克/武器/493.gif deleted file mode 100644 index 657ce0a3..00000000 Binary files a/ResourceFiles/img/希洛克/武器/493.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/494.gif b/ResourceFiles/img/希洛克/武器/494.gif deleted file mode 100644 index 3ea2294f..00000000 Binary files a/ResourceFiles/img/希洛克/武器/494.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/495.gif b/ResourceFiles/img/希洛克/武器/495.gif deleted file mode 100644 index 76160b72..00000000 Binary files a/ResourceFiles/img/希洛克/武器/495.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/496.gif b/ResourceFiles/img/希洛克/武器/496.gif deleted file mode 100644 index 5a188883..00000000 Binary files a/ResourceFiles/img/希洛克/武器/496.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/497.gif b/ResourceFiles/img/希洛克/武器/497.gif deleted file mode 100644 index 2f430a76..00000000 Binary files a/ResourceFiles/img/希洛克/武器/497.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/498.gif b/ResourceFiles/img/希洛克/武器/498.gif deleted file mode 100644 index 73f4b6fc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/498.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/499.gif b/ResourceFiles/img/希洛克/武器/499.gif deleted file mode 100644 index bdeb48fb..00000000 Binary files a/ResourceFiles/img/希洛克/武器/499.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/5.gif b/ResourceFiles/img/希洛克/武器/5.gif deleted file mode 100644 index edd0f7ea..00000000 Binary files a/ResourceFiles/img/希洛克/武器/5.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/50.gif b/ResourceFiles/img/希洛克/武器/50.gif deleted file mode 100644 index ce0ce282..00000000 Binary files a/ResourceFiles/img/希洛克/武器/50.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/500.gif b/ResourceFiles/img/希洛克/武器/500.gif deleted file mode 100644 index f9634686..00000000 Binary files a/ResourceFiles/img/希洛克/武器/500.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/501.gif b/ResourceFiles/img/希洛克/武器/501.gif deleted file mode 100644 index c3afb6fe..00000000 Binary files a/ResourceFiles/img/希洛克/武器/501.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/502.gif b/ResourceFiles/img/希洛克/武器/502.gif deleted file mode 100644 index 32d9fdff..00000000 Binary files a/ResourceFiles/img/希洛克/武器/502.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/503.gif b/ResourceFiles/img/希洛克/武器/503.gif deleted file mode 100644 index 3c1b5b6c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/503.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/504.gif b/ResourceFiles/img/希洛克/武器/504.gif deleted file mode 100644 index 349791c8..00000000 Binary files a/ResourceFiles/img/希洛克/武器/504.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/505.gif b/ResourceFiles/img/希洛克/武器/505.gif deleted file mode 100644 index 1c0c69c6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/505.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/506.gif b/ResourceFiles/img/希洛克/武器/506.gif deleted file mode 100644 index ec623893..00000000 Binary files a/ResourceFiles/img/希洛克/武器/506.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/507.gif b/ResourceFiles/img/希洛克/武器/507.gif deleted file mode 100644 index 864c932b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/507.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/508.gif b/ResourceFiles/img/希洛克/武器/508.gif deleted file mode 100644 index f54e46b2..00000000 Binary files a/ResourceFiles/img/希洛克/武器/508.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/509.gif b/ResourceFiles/img/希洛克/武器/509.gif deleted file mode 100644 index 0cd11bdb..00000000 Binary files a/ResourceFiles/img/希洛克/武器/509.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/51.gif b/ResourceFiles/img/希洛克/武器/51.gif deleted file mode 100644 index 9585638d..00000000 Binary files a/ResourceFiles/img/希洛克/武器/51.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/510.gif b/ResourceFiles/img/希洛克/武器/510.gif deleted file mode 100644 index ed170bfe..00000000 Binary files a/ResourceFiles/img/希洛克/武器/510.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/511.gif b/ResourceFiles/img/希洛克/武器/511.gif deleted file mode 100644 index 0ebb3975..00000000 Binary files a/ResourceFiles/img/希洛克/武器/511.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/512.gif b/ResourceFiles/img/希洛克/武器/512.gif deleted file mode 100644 index 9f68b7ab..00000000 Binary files a/ResourceFiles/img/希洛克/武器/512.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/513.gif b/ResourceFiles/img/希洛克/武器/513.gif deleted file mode 100644 index 4c6f2c6c..00000000 Binary files a/ResourceFiles/img/希洛克/武器/513.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/514.gif b/ResourceFiles/img/希洛克/武器/514.gif deleted file mode 100644 index 003dd461..00000000 Binary files a/ResourceFiles/img/希洛克/武器/514.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/515.gif b/ResourceFiles/img/希洛克/武器/515.gif deleted file mode 100644 index d56ec261..00000000 Binary files a/ResourceFiles/img/希洛克/武器/515.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/516.gif b/ResourceFiles/img/希洛克/武器/516.gif deleted file mode 100644 index 2793f802..00000000 Binary files a/ResourceFiles/img/希洛克/武器/516.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/517.gif b/ResourceFiles/img/希洛克/武器/517.gif deleted file mode 100644 index 3eb08970..00000000 Binary files a/ResourceFiles/img/希洛克/武器/517.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/518.gif b/ResourceFiles/img/希洛克/武器/518.gif deleted file mode 100644 index ba463fcb..00000000 Binary files a/ResourceFiles/img/希洛克/武器/518.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/519.gif b/ResourceFiles/img/希洛克/武器/519.gif deleted file mode 100644 index 07a4730e..00000000 Binary files a/ResourceFiles/img/希洛克/武器/519.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/52.gif b/ResourceFiles/img/希洛克/武器/52.gif deleted file mode 100644 index d9d74fd9..00000000 Binary files a/ResourceFiles/img/希洛克/武器/52.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/520.gif b/ResourceFiles/img/希洛克/武器/520.gif deleted file mode 100644 index b2d452c6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/520.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/521.gif b/ResourceFiles/img/希洛克/武器/521.gif deleted file mode 100644 index 53daa4f0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/521.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/522.gif b/ResourceFiles/img/希洛克/武器/522.gif deleted file mode 100644 index e961aa41..00000000 Binary files a/ResourceFiles/img/希洛克/武器/522.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/523.gif b/ResourceFiles/img/希洛克/武器/523.gif deleted file mode 100644 index 2e1cc49f..00000000 Binary files a/ResourceFiles/img/希洛克/武器/523.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/524.gif b/ResourceFiles/img/希洛克/武器/524.gif deleted file mode 100644 index 7c266790..00000000 Binary files a/ResourceFiles/img/希洛克/武器/524.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/525.gif b/ResourceFiles/img/希洛克/武器/525.gif deleted file mode 100644 index 6f90e4bc..00000000 Binary files a/ResourceFiles/img/希洛克/武器/525.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/526.gif b/ResourceFiles/img/希洛克/武器/526.gif deleted file mode 100644 index 618dbcc6..00000000 Binary files a/ResourceFiles/img/希洛克/武器/526.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/527.gif b/ResourceFiles/img/希洛克/武器/527.gif deleted file mode 100644 index 72f76e30..00000000 Binary files a/ResourceFiles/img/希洛克/武器/527.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/53.gif b/ResourceFiles/img/希洛克/武器/53.gif deleted file mode 100644 index 12ebaa28..00000000 Binary files a/ResourceFiles/img/希洛克/武器/53.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/54.gif b/ResourceFiles/img/希洛克/武器/54.gif deleted file mode 100644 index 6ed830d1..00000000 Binary files a/ResourceFiles/img/希洛克/武器/54.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/55.gif b/ResourceFiles/img/希洛克/武器/55.gif deleted file mode 100644 index 86afe376..00000000 Binary files a/ResourceFiles/img/希洛克/武器/55.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/56.gif b/ResourceFiles/img/希洛克/武器/56.gif deleted file mode 100644 index 2e596239..00000000 Binary files a/ResourceFiles/img/希洛克/武器/56.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/57.gif b/ResourceFiles/img/希洛克/武器/57.gif deleted file mode 100644 index 33b9e738..00000000 Binary files a/ResourceFiles/img/希洛克/武器/57.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/58.gif b/ResourceFiles/img/希洛克/武器/58.gif deleted file mode 100644 index 28e1627d..00000000 Binary files a/ResourceFiles/img/希洛克/武器/58.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/59.gif b/ResourceFiles/img/希洛克/武器/59.gif deleted file mode 100644 index 168fd948..00000000 Binary files a/ResourceFiles/img/希洛克/武器/59.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/6.gif b/ResourceFiles/img/希洛克/武器/6.gif deleted file mode 100644 index 95c45d24..00000000 Binary files a/ResourceFiles/img/希洛克/武器/6.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/60.gif b/ResourceFiles/img/希洛克/武器/60.gif deleted file mode 100644 index 35078d43..00000000 Binary files a/ResourceFiles/img/希洛克/武器/60.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/61.gif b/ResourceFiles/img/希洛克/武器/61.gif deleted file mode 100644 index 6705e550..00000000 Binary files a/ResourceFiles/img/希洛克/武器/61.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/62.gif b/ResourceFiles/img/希洛克/武器/62.gif deleted file mode 100644 index 913a9828..00000000 Binary files a/ResourceFiles/img/希洛克/武器/62.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/63.gif b/ResourceFiles/img/希洛克/武器/63.gif deleted file mode 100644 index fd1d574b..00000000 Binary files a/ResourceFiles/img/希洛克/武器/63.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/64.gif b/ResourceFiles/img/希洛克/武器/64.gif deleted file mode 100644 index f7a2fd4f..00000000 Binary files a/ResourceFiles/img/希洛克/武器/64.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/65.gif b/ResourceFiles/img/希洛克/武器/65.gif deleted file mode 100644 index 8a7155dd..00000000 Binary files a/ResourceFiles/img/希洛克/武器/65.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/66.gif b/ResourceFiles/img/希洛克/武器/66.gif deleted file mode 100644 index 7bfa3c91..00000000 Binary files a/ResourceFiles/img/希洛克/武器/66.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/67.gif b/ResourceFiles/img/希洛克/武器/67.gif deleted file mode 100644 index 6fdd2561..00000000 Binary files a/ResourceFiles/img/希洛克/武器/67.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/68.gif b/ResourceFiles/img/希洛克/武器/68.gif deleted file mode 100644 index 43c83620..00000000 Binary files a/ResourceFiles/img/希洛克/武器/68.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/69.gif b/ResourceFiles/img/希洛克/武器/69.gif deleted file mode 100644 index 2c2abdb0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/69.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/7.gif b/ResourceFiles/img/希洛克/武器/7.gif deleted file mode 100644 index ef17a524..00000000 Binary files a/ResourceFiles/img/希洛克/武器/7.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/70.gif b/ResourceFiles/img/希洛克/武器/70.gif deleted file mode 100644 index 369ba504..00000000 Binary files a/ResourceFiles/img/希洛克/武器/70.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/71.gif b/ResourceFiles/img/希洛克/武器/71.gif deleted file mode 100644 index 8ab1a09d..00000000 Binary files a/ResourceFiles/img/希洛克/武器/71.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/72.gif b/ResourceFiles/img/希洛克/武器/72.gif deleted file mode 100644 index ae002045..00000000 Binary files a/ResourceFiles/img/希洛克/武器/72.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/73.gif b/ResourceFiles/img/希洛克/武器/73.gif deleted file mode 100644 index f98d3fa9..00000000 Binary files a/ResourceFiles/img/希洛克/武器/73.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/8.gif b/ResourceFiles/img/希洛克/武器/8.gif deleted file mode 100644 index 60486aa0..00000000 Binary files a/ResourceFiles/img/希洛克/武器/8.gif and /dev/null differ diff --git a/ResourceFiles/img/希洛克/武器/9.gif b/ResourceFiles/img/希洛克/武器/9.gif deleted file mode 100644 index a4def300..00000000 Binary files a/ResourceFiles/img/希洛克/武器/9.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/0.gif b/ResourceFiles/img/装备/0.gif deleted file mode 100644 index ca5cd9b9..00000000 Binary files a/ResourceFiles/img/装备/0.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/1.gif b/ResourceFiles/img/装备/1.gif deleted file mode 100644 index 6b7a9a65..00000000 Binary files a/ResourceFiles/img/装备/1.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/10.gif b/ResourceFiles/img/装备/10.gif deleted file mode 100644 index 42b8bae7..00000000 Binary files a/ResourceFiles/img/装备/10.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/100.gif b/ResourceFiles/img/装备/100.gif deleted file mode 100644 index fac76f44..00000000 Binary files a/ResourceFiles/img/装备/100.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/101.gif b/ResourceFiles/img/装备/101.gif deleted file mode 100644 index 16e5d53b..00000000 Binary files a/ResourceFiles/img/装备/101.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/102.gif b/ResourceFiles/img/装备/102.gif deleted file mode 100644 index 55489bde..00000000 Binary files a/ResourceFiles/img/装备/102.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/103.gif b/ResourceFiles/img/装备/103.gif deleted file mode 100644 index f868c85f..00000000 Binary files a/ResourceFiles/img/装备/103.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/104.gif b/ResourceFiles/img/装备/104.gif deleted file mode 100644 index ee9d18ed..00000000 Binary files a/ResourceFiles/img/装备/104.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/105.gif b/ResourceFiles/img/装备/105.gif deleted file mode 100644 index 97bd0c6b..00000000 Binary files a/ResourceFiles/img/装备/105.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/106.gif b/ResourceFiles/img/装备/106.gif deleted file mode 100644 index 770939e2..00000000 Binary files a/ResourceFiles/img/装备/106.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/107.gif b/ResourceFiles/img/装备/107.gif deleted file mode 100644 index a4f7750a..00000000 Binary files a/ResourceFiles/img/装备/107.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/108.gif b/ResourceFiles/img/装备/108.gif deleted file mode 100644 index 232fc6a4..00000000 Binary files a/ResourceFiles/img/装备/108.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/109.gif b/ResourceFiles/img/装备/109.gif deleted file mode 100644 index afe6773c..00000000 Binary files a/ResourceFiles/img/装备/109.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/11.gif b/ResourceFiles/img/装备/11.gif deleted file mode 100644 index 13266298..00000000 Binary files a/ResourceFiles/img/装备/11.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/110.gif b/ResourceFiles/img/装备/110.gif deleted file mode 100644 index feeca7b2..00000000 Binary files a/ResourceFiles/img/装备/110.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/111.gif b/ResourceFiles/img/装备/111.gif deleted file mode 100644 index dff691b5..00000000 Binary files a/ResourceFiles/img/装备/111.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/112.gif b/ResourceFiles/img/装备/112.gif deleted file mode 100644 index 3e9e85a1..00000000 Binary files a/ResourceFiles/img/装备/112.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/113.gif b/ResourceFiles/img/装备/113.gif deleted file mode 100644 index 229510d9..00000000 Binary files a/ResourceFiles/img/装备/113.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/114.gif b/ResourceFiles/img/装备/114.gif deleted file mode 100644 index 3ba9fe35..00000000 Binary files a/ResourceFiles/img/装备/114.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/115.gif b/ResourceFiles/img/装备/115.gif deleted file mode 100644 index 2bb4fd55..00000000 Binary files a/ResourceFiles/img/装备/115.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/116.gif b/ResourceFiles/img/装备/116.gif deleted file mode 100644 index 60ef14e2..00000000 Binary files a/ResourceFiles/img/装备/116.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/117.gif b/ResourceFiles/img/装备/117.gif deleted file mode 100644 index 44cf38d5..00000000 Binary files a/ResourceFiles/img/装备/117.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/118.gif b/ResourceFiles/img/装备/118.gif deleted file mode 100644 index b3adcb39..00000000 Binary files a/ResourceFiles/img/装备/118.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/119.gif b/ResourceFiles/img/装备/119.gif deleted file mode 100644 index 5bec7ac7..00000000 Binary files a/ResourceFiles/img/装备/119.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/12.gif b/ResourceFiles/img/装备/12.gif deleted file mode 100644 index 2b4898ea..00000000 Binary files a/ResourceFiles/img/装备/12.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/120.gif b/ResourceFiles/img/装备/120.gif deleted file mode 100644 index 21d6a037..00000000 Binary files a/ResourceFiles/img/装备/120.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/121.gif b/ResourceFiles/img/装备/121.gif deleted file mode 100644 index 491563eb..00000000 Binary files a/ResourceFiles/img/装备/121.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/122.gif b/ResourceFiles/img/装备/122.gif deleted file mode 100644 index 2979990f..00000000 Binary files a/ResourceFiles/img/装备/122.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/123.gif b/ResourceFiles/img/装备/123.gif deleted file mode 100644 index b464b5fb..00000000 Binary files a/ResourceFiles/img/装备/123.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/124.gif b/ResourceFiles/img/装备/124.gif deleted file mode 100644 index 7352f6c3..00000000 Binary files a/ResourceFiles/img/装备/124.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/125.gif b/ResourceFiles/img/装备/125.gif deleted file mode 100644 index 670ee72d..00000000 Binary files a/ResourceFiles/img/装备/125.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/126.gif b/ResourceFiles/img/装备/126.gif deleted file mode 100644 index 081bce97..00000000 Binary files a/ResourceFiles/img/装备/126.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/127.gif b/ResourceFiles/img/装备/127.gif deleted file mode 100644 index e830e53e..00000000 Binary files a/ResourceFiles/img/装备/127.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/128.gif b/ResourceFiles/img/装备/128.gif deleted file mode 100644 index e2dc2234..00000000 Binary files a/ResourceFiles/img/装备/128.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/129.gif b/ResourceFiles/img/装备/129.gif deleted file mode 100644 index e707931f..00000000 Binary files a/ResourceFiles/img/装备/129.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/13.gif b/ResourceFiles/img/装备/13.gif deleted file mode 100644 index eb87821f..00000000 Binary files a/ResourceFiles/img/装备/13.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/130.gif b/ResourceFiles/img/装备/130.gif deleted file mode 100644 index 51a31785..00000000 Binary files a/ResourceFiles/img/装备/130.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/131.gif b/ResourceFiles/img/装备/131.gif deleted file mode 100644 index fcb2ddaf..00000000 Binary files a/ResourceFiles/img/装备/131.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/132.gif b/ResourceFiles/img/装备/132.gif deleted file mode 100644 index 8b74e55c..00000000 Binary files a/ResourceFiles/img/装备/132.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/133.gif b/ResourceFiles/img/装备/133.gif deleted file mode 100644 index e2050a85..00000000 Binary files a/ResourceFiles/img/装备/133.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/134.gif b/ResourceFiles/img/装备/134.gif deleted file mode 100644 index 485cd237..00000000 Binary files a/ResourceFiles/img/装备/134.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/135.gif b/ResourceFiles/img/装备/135.gif deleted file mode 100644 index cf0ec921..00000000 Binary files a/ResourceFiles/img/装备/135.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/136.gif b/ResourceFiles/img/装备/136.gif deleted file mode 100644 index af853d72..00000000 Binary files a/ResourceFiles/img/装备/136.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/137.gif b/ResourceFiles/img/装备/137.gif deleted file mode 100644 index bb08fcf4..00000000 Binary files a/ResourceFiles/img/装备/137.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/138.gif b/ResourceFiles/img/装备/138.gif deleted file mode 100644 index 7c1f4ecf..00000000 Binary files a/ResourceFiles/img/装备/138.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/139.gif b/ResourceFiles/img/装备/139.gif deleted file mode 100644 index 6287c920..00000000 Binary files a/ResourceFiles/img/装备/139.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/14.gif b/ResourceFiles/img/装备/14.gif deleted file mode 100644 index b824ed67..00000000 Binary files a/ResourceFiles/img/装备/14.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/140.gif b/ResourceFiles/img/装备/140.gif deleted file mode 100644 index 8e703935..00000000 Binary files a/ResourceFiles/img/装备/140.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/141.gif b/ResourceFiles/img/装备/141.gif deleted file mode 100644 index e5941056..00000000 Binary files a/ResourceFiles/img/装备/141.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/142.gif b/ResourceFiles/img/装备/142.gif deleted file mode 100644 index 163ce5c8..00000000 Binary files a/ResourceFiles/img/装备/142.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/143.gif b/ResourceFiles/img/装备/143.gif deleted file mode 100644 index 52a9779c..00000000 Binary files a/ResourceFiles/img/装备/143.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/144.gif b/ResourceFiles/img/装备/144.gif deleted file mode 100644 index d9ac03d8..00000000 Binary files a/ResourceFiles/img/装备/144.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/145.gif b/ResourceFiles/img/装备/145.gif deleted file mode 100644 index ec932d50..00000000 Binary files a/ResourceFiles/img/装备/145.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/146.gif b/ResourceFiles/img/装备/146.gif deleted file mode 100644 index f358a196..00000000 Binary files a/ResourceFiles/img/装备/146.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/147.gif b/ResourceFiles/img/装备/147.gif deleted file mode 100644 index 31c2acbd..00000000 Binary files a/ResourceFiles/img/装备/147.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/148.gif b/ResourceFiles/img/装备/148.gif deleted file mode 100644 index 1fbf078c..00000000 Binary files a/ResourceFiles/img/装备/148.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/149.gif b/ResourceFiles/img/装备/149.gif deleted file mode 100644 index b78bd6a0..00000000 Binary files a/ResourceFiles/img/装备/149.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/15.gif b/ResourceFiles/img/装备/15.gif deleted file mode 100644 index c34ab996..00000000 Binary files a/ResourceFiles/img/装备/15.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/150.gif b/ResourceFiles/img/装备/150.gif deleted file mode 100644 index 65b25e01..00000000 Binary files a/ResourceFiles/img/装备/150.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/151.gif b/ResourceFiles/img/装备/151.gif deleted file mode 100644 index cfbc7538..00000000 Binary files a/ResourceFiles/img/装备/151.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/152.gif b/ResourceFiles/img/装备/152.gif deleted file mode 100644 index 0e00dd71..00000000 Binary files a/ResourceFiles/img/装备/152.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/153.gif b/ResourceFiles/img/装备/153.gif deleted file mode 100644 index d1ab9789..00000000 Binary files a/ResourceFiles/img/装备/153.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/154.gif b/ResourceFiles/img/装备/154.gif deleted file mode 100644 index 316acb35..00000000 Binary files a/ResourceFiles/img/装备/154.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/155.gif b/ResourceFiles/img/装备/155.gif deleted file mode 100644 index 2f490712..00000000 Binary files a/ResourceFiles/img/装备/155.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/156.gif b/ResourceFiles/img/装备/156.gif deleted file mode 100644 index 3255ab67..00000000 Binary files a/ResourceFiles/img/装备/156.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/157.gif b/ResourceFiles/img/装备/157.gif deleted file mode 100644 index cef16d69..00000000 Binary files a/ResourceFiles/img/装备/157.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/158.gif b/ResourceFiles/img/装备/158.gif deleted file mode 100644 index ef0cf412..00000000 Binary files a/ResourceFiles/img/装备/158.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/159.gif b/ResourceFiles/img/装备/159.gif deleted file mode 100644 index 1e8c0c1f..00000000 Binary files a/ResourceFiles/img/装备/159.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/16.gif b/ResourceFiles/img/装备/16.gif deleted file mode 100644 index 7bf916a7..00000000 Binary files a/ResourceFiles/img/装备/16.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/160.gif b/ResourceFiles/img/装备/160.gif deleted file mode 100644 index dce89dc6..00000000 Binary files a/ResourceFiles/img/装备/160.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/161.gif b/ResourceFiles/img/装备/161.gif deleted file mode 100644 index e9cc52c3..00000000 Binary files a/ResourceFiles/img/装备/161.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/162.gif b/ResourceFiles/img/装备/162.gif deleted file mode 100644 index b789275d..00000000 Binary files a/ResourceFiles/img/装备/162.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/163.gif b/ResourceFiles/img/装备/163.gif deleted file mode 100644 index b2696117..00000000 Binary files a/ResourceFiles/img/装备/163.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/164.gif b/ResourceFiles/img/装备/164.gif deleted file mode 100644 index 0fe1234c..00000000 Binary files a/ResourceFiles/img/装备/164.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/165.gif b/ResourceFiles/img/装备/165.gif deleted file mode 100644 index 7a4306b4..00000000 Binary files a/ResourceFiles/img/装备/165.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/166.gif b/ResourceFiles/img/装备/166.gif deleted file mode 100644 index cdc1ef1b..00000000 Binary files a/ResourceFiles/img/装备/166.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/167.gif b/ResourceFiles/img/装备/167.gif deleted file mode 100644 index b385aac4..00000000 Binary files a/ResourceFiles/img/装备/167.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/168.gif b/ResourceFiles/img/装备/168.gif deleted file mode 100644 index a3501ad6..00000000 Binary files a/ResourceFiles/img/装备/168.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/169.gif b/ResourceFiles/img/装备/169.gif deleted file mode 100644 index 5bb6756a..00000000 Binary files a/ResourceFiles/img/装备/169.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/17.gif b/ResourceFiles/img/装备/17.gif deleted file mode 100644 index 433e95de..00000000 Binary files a/ResourceFiles/img/装备/17.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/170.gif b/ResourceFiles/img/装备/170.gif deleted file mode 100644 index 47a37fa4..00000000 Binary files a/ResourceFiles/img/装备/170.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/171.gif b/ResourceFiles/img/装备/171.gif deleted file mode 100644 index d8444bcc..00000000 Binary files a/ResourceFiles/img/装备/171.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/172.gif b/ResourceFiles/img/装备/172.gif deleted file mode 100644 index e50e7530..00000000 Binary files a/ResourceFiles/img/装备/172.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/173.gif b/ResourceFiles/img/装备/173.gif deleted file mode 100644 index 60b97c84..00000000 Binary files a/ResourceFiles/img/装备/173.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/174.gif b/ResourceFiles/img/装备/174.gif deleted file mode 100644 index abfefe3d..00000000 Binary files a/ResourceFiles/img/装备/174.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/175.gif b/ResourceFiles/img/装备/175.gif deleted file mode 100644 index 44f73799..00000000 Binary files a/ResourceFiles/img/装备/175.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/176.gif b/ResourceFiles/img/装备/176.gif deleted file mode 100644 index ed27874a..00000000 Binary files a/ResourceFiles/img/装备/176.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/177.gif b/ResourceFiles/img/装备/177.gif deleted file mode 100644 index f159fdac..00000000 Binary files a/ResourceFiles/img/装备/177.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/178.gif b/ResourceFiles/img/装备/178.gif deleted file mode 100644 index 8cdb0175..00000000 Binary files a/ResourceFiles/img/装备/178.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/179.gif b/ResourceFiles/img/装备/179.gif deleted file mode 100644 index 64ef8ec9..00000000 Binary files a/ResourceFiles/img/装备/179.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/18.gif b/ResourceFiles/img/装备/18.gif deleted file mode 100644 index a00ff795..00000000 Binary files a/ResourceFiles/img/装备/18.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/180.gif b/ResourceFiles/img/装备/180.gif deleted file mode 100644 index a69a2cd5..00000000 Binary files a/ResourceFiles/img/装备/180.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/181.gif b/ResourceFiles/img/装备/181.gif deleted file mode 100644 index b8b1dba2..00000000 Binary files a/ResourceFiles/img/装备/181.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/182.gif b/ResourceFiles/img/装备/182.gif deleted file mode 100644 index 81790e2f..00000000 Binary files a/ResourceFiles/img/装备/182.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/183.gif b/ResourceFiles/img/装备/183.gif deleted file mode 100644 index ea6e2155..00000000 Binary files a/ResourceFiles/img/装备/183.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/184.gif b/ResourceFiles/img/装备/184.gif deleted file mode 100644 index 17e0c2b3..00000000 Binary files a/ResourceFiles/img/装备/184.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/185.gif b/ResourceFiles/img/装备/185.gif deleted file mode 100644 index 1a07bc26..00000000 Binary files a/ResourceFiles/img/装备/185.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/186.gif b/ResourceFiles/img/装备/186.gif deleted file mode 100644 index f9b4bddd..00000000 Binary files a/ResourceFiles/img/装备/186.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/187.gif b/ResourceFiles/img/装备/187.gif deleted file mode 100644 index 88dc6197..00000000 Binary files a/ResourceFiles/img/装备/187.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/188.gif b/ResourceFiles/img/装备/188.gif deleted file mode 100644 index 282a1220..00000000 Binary files a/ResourceFiles/img/装备/188.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/189.gif b/ResourceFiles/img/装备/189.gif deleted file mode 100644 index ebf75459..00000000 Binary files a/ResourceFiles/img/装备/189.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/19.gif b/ResourceFiles/img/装备/19.gif deleted file mode 100644 index 6cfc4263..00000000 Binary files a/ResourceFiles/img/装备/19.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/190.gif b/ResourceFiles/img/装备/190.gif deleted file mode 100644 index b833e6af..00000000 Binary files a/ResourceFiles/img/装备/190.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/191.gif b/ResourceFiles/img/装备/191.gif deleted file mode 100644 index 589e0f1e..00000000 Binary files a/ResourceFiles/img/装备/191.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/192.gif b/ResourceFiles/img/装备/192.gif deleted file mode 100644 index 89639dd3..00000000 Binary files a/ResourceFiles/img/装备/192.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/193.gif b/ResourceFiles/img/装备/193.gif deleted file mode 100644 index 126dcb61..00000000 Binary files a/ResourceFiles/img/装备/193.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/194.gif b/ResourceFiles/img/装备/194.gif deleted file mode 100644 index f3865ea1..00000000 Binary files a/ResourceFiles/img/装备/194.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/195.gif b/ResourceFiles/img/装备/195.gif deleted file mode 100644 index 07ee3c5a..00000000 Binary files a/ResourceFiles/img/装备/195.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/196.gif b/ResourceFiles/img/装备/196.gif deleted file mode 100644 index f1d49e02..00000000 Binary files a/ResourceFiles/img/装备/196.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/197.gif b/ResourceFiles/img/装备/197.gif deleted file mode 100644 index 6fdd0e87..00000000 Binary files a/ResourceFiles/img/装备/197.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/198.gif b/ResourceFiles/img/装备/198.gif deleted file mode 100644 index 1d6b58ef..00000000 Binary files a/ResourceFiles/img/装备/198.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/199.gif b/ResourceFiles/img/装备/199.gif deleted file mode 100644 index 5bff776d..00000000 Binary files a/ResourceFiles/img/装备/199.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/2.gif b/ResourceFiles/img/装备/2.gif deleted file mode 100644 index 32dd95c7..00000000 Binary files a/ResourceFiles/img/装备/2.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/20.gif b/ResourceFiles/img/装备/20.gif deleted file mode 100644 index 200ad013..00000000 Binary files a/ResourceFiles/img/装备/20.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/200.gif b/ResourceFiles/img/装备/200.gif deleted file mode 100644 index 24e34641..00000000 Binary files a/ResourceFiles/img/装备/200.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/201.gif b/ResourceFiles/img/装备/201.gif deleted file mode 100644 index f838aef7..00000000 Binary files a/ResourceFiles/img/装备/201.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/202.gif b/ResourceFiles/img/装备/202.gif deleted file mode 100644 index 6f51ee63..00000000 Binary files a/ResourceFiles/img/装备/202.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/203.gif b/ResourceFiles/img/装备/203.gif deleted file mode 100644 index 4827601f..00000000 Binary files a/ResourceFiles/img/装备/203.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/204.gif b/ResourceFiles/img/装备/204.gif deleted file mode 100644 index 1cc7eeca..00000000 Binary files a/ResourceFiles/img/装备/204.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/205.gif b/ResourceFiles/img/装备/205.gif deleted file mode 100644 index c3270ad2..00000000 Binary files a/ResourceFiles/img/装备/205.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/206.gif b/ResourceFiles/img/装备/206.gif deleted file mode 100644 index 37ccae79..00000000 Binary files a/ResourceFiles/img/装备/206.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/207.gif b/ResourceFiles/img/装备/207.gif deleted file mode 100644 index 63d1d5b9..00000000 Binary files a/ResourceFiles/img/装备/207.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/208.gif b/ResourceFiles/img/装备/208.gif deleted file mode 100644 index 066370cb..00000000 Binary files a/ResourceFiles/img/装备/208.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/209.gif b/ResourceFiles/img/装备/209.gif deleted file mode 100644 index de5d32df..00000000 Binary files a/ResourceFiles/img/装备/209.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/21.gif b/ResourceFiles/img/装备/21.gif deleted file mode 100644 index 442feb3b..00000000 Binary files a/ResourceFiles/img/装备/21.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/210.gif b/ResourceFiles/img/装备/210.gif deleted file mode 100644 index 5afc1124..00000000 Binary files a/ResourceFiles/img/装备/210.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/211.gif b/ResourceFiles/img/装备/211.gif deleted file mode 100644 index 050ff293..00000000 Binary files a/ResourceFiles/img/装备/211.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/212.gif b/ResourceFiles/img/装备/212.gif deleted file mode 100644 index ba200b0a..00000000 Binary files a/ResourceFiles/img/装备/212.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/213.gif b/ResourceFiles/img/装备/213.gif deleted file mode 100644 index e96b5675..00000000 Binary files a/ResourceFiles/img/装备/213.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/214.gif b/ResourceFiles/img/装备/214.gif deleted file mode 100644 index 7c35aec3..00000000 Binary files a/ResourceFiles/img/装备/214.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/215.gif b/ResourceFiles/img/装备/215.gif deleted file mode 100644 index 43edb5a6..00000000 Binary files a/ResourceFiles/img/装备/215.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/216.gif b/ResourceFiles/img/装备/216.gif deleted file mode 100644 index 802aae41..00000000 Binary files a/ResourceFiles/img/装备/216.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/217.gif b/ResourceFiles/img/装备/217.gif deleted file mode 100644 index 5e3e8e43..00000000 Binary files a/ResourceFiles/img/装备/217.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/218.gif b/ResourceFiles/img/装备/218.gif deleted file mode 100644 index 048fe332..00000000 Binary files a/ResourceFiles/img/装备/218.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/219.gif b/ResourceFiles/img/装备/219.gif deleted file mode 100644 index c3be3e85..00000000 Binary files a/ResourceFiles/img/装备/219.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/22.gif b/ResourceFiles/img/装备/22.gif deleted file mode 100644 index ac518d85..00000000 Binary files a/ResourceFiles/img/装备/22.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/220.gif b/ResourceFiles/img/装备/220.gif deleted file mode 100644 index efcf260c..00000000 Binary files a/ResourceFiles/img/装备/220.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/221.gif b/ResourceFiles/img/装备/221.gif deleted file mode 100644 index c9a904d4..00000000 Binary files a/ResourceFiles/img/装备/221.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/222.gif b/ResourceFiles/img/装备/222.gif deleted file mode 100644 index eeb9e0df..00000000 Binary files a/ResourceFiles/img/装备/222.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/223.gif b/ResourceFiles/img/装备/223.gif deleted file mode 100644 index a451a3fb..00000000 Binary files a/ResourceFiles/img/装备/223.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/224.gif b/ResourceFiles/img/装备/224.gif deleted file mode 100644 index d2501d49..00000000 Binary files a/ResourceFiles/img/装备/224.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/225.gif b/ResourceFiles/img/装备/225.gif deleted file mode 100644 index e9b46b3b..00000000 Binary files a/ResourceFiles/img/装备/225.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/226.gif b/ResourceFiles/img/装备/226.gif deleted file mode 100644 index b1608e79..00000000 Binary files a/ResourceFiles/img/装备/226.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/227.gif b/ResourceFiles/img/装备/227.gif deleted file mode 100644 index 592c85c4..00000000 Binary files a/ResourceFiles/img/装备/227.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/228.gif b/ResourceFiles/img/装备/228.gif deleted file mode 100644 index d811dc3a..00000000 Binary files a/ResourceFiles/img/装备/228.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/229.gif b/ResourceFiles/img/装备/229.gif deleted file mode 100644 index 910f71e9..00000000 Binary files a/ResourceFiles/img/装备/229.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/23.gif b/ResourceFiles/img/装备/23.gif deleted file mode 100644 index 19f40c42..00000000 Binary files a/ResourceFiles/img/装备/23.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/230.gif b/ResourceFiles/img/装备/230.gif deleted file mode 100644 index de22f57d..00000000 Binary files a/ResourceFiles/img/装备/230.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/231.gif b/ResourceFiles/img/装备/231.gif deleted file mode 100644 index d3a22294..00000000 Binary files a/ResourceFiles/img/装备/231.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/232.gif b/ResourceFiles/img/装备/232.gif deleted file mode 100644 index f66b1829..00000000 Binary files a/ResourceFiles/img/装备/232.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/233.gif b/ResourceFiles/img/装备/233.gif deleted file mode 100644 index 1a824f8d..00000000 Binary files a/ResourceFiles/img/装备/233.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/234.gif b/ResourceFiles/img/装备/234.gif deleted file mode 100644 index 5722f336..00000000 Binary files a/ResourceFiles/img/装备/234.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/235.gif b/ResourceFiles/img/装备/235.gif deleted file mode 100644 index 7c4c7b31..00000000 Binary files a/ResourceFiles/img/装备/235.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/236.gif b/ResourceFiles/img/装备/236.gif deleted file mode 100644 index 1ec952b6..00000000 Binary files a/ResourceFiles/img/装备/236.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/237.gif b/ResourceFiles/img/装备/237.gif deleted file mode 100644 index 04290a4b..00000000 Binary files a/ResourceFiles/img/装备/237.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/238.gif b/ResourceFiles/img/装备/238.gif deleted file mode 100644 index 7c57950e..00000000 Binary files a/ResourceFiles/img/装备/238.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/239.gif b/ResourceFiles/img/装备/239.gif deleted file mode 100644 index f08d502e..00000000 Binary files a/ResourceFiles/img/装备/239.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/24.gif b/ResourceFiles/img/装备/24.gif deleted file mode 100644 index 3b21b1da..00000000 Binary files a/ResourceFiles/img/装备/24.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/240.gif b/ResourceFiles/img/装备/240.gif deleted file mode 100644 index d1c78bd8..00000000 Binary files a/ResourceFiles/img/装备/240.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/241.gif b/ResourceFiles/img/装备/241.gif deleted file mode 100644 index b3f8bcf6..00000000 Binary files a/ResourceFiles/img/装备/241.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/242.gif b/ResourceFiles/img/装备/242.gif deleted file mode 100644 index 063efc4e..00000000 Binary files a/ResourceFiles/img/装备/242.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/243.gif b/ResourceFiles/img/装备/243.gif deleted file mode 100644 index ee12a002..00000000 Binary files a/ResourceFiles/img/装备/243.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/244.gif b/ResourceFiles/img/装备/244.gif deleted file mode 100644 index f57072c4..00000000 Binary files a/ResourceFiles/img/装备/244.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/245.gif b/ResourceFiles/img/装备/245.gif deleted file mode 100644 index c7188f95..00000000 Binary files a/ResourceFiles/img/装备/245.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/246.gif b/ResourceFiles/img/装备/246.gif deleted file mode 100644 index 6084862d..00000000 Binary files a/ResourceFiles/img/装备/246.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/247.gif b/ResourceFiles/img/装备/247.gif deleted file mode 100644 index fc80cd2c..00000000 Binary files a/ResourceFiles/img/装备/247.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/248.gif b/ResourceFiles/img/装备/248.gif deleted file mode 100644 index 7427754a..00000000 Binary files a/ResourceFiles/img/装备/248.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/249.gif b/ResourceFiles/img/装备/249.gif deleted file mode 100644 index 75a7645f..00000000 Binary files a/ResourceFiles/img/装备/249.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/25.gif b/ResourceFiles/img/装备/25.gif deleted file mode 100644 index da80b1de..00000000 Binary files a/ResourceFiles/img/装备/25.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/250.gif b/ResourceFiles/img/装备/250.gif deleted file mode 100644 index e295cfc8..00000000 Binary files a/ResourceFiles/img/装备/250.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/251.gif b/ResourceFiles/img/装备/251.gif deleted file mode 100644 index df377ce6..00000000 Binary files a/ResourceFiles/img/装备/251.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/252.gif b/ResourceFiles/img/装备/252.gif deleted file mode 100644 index c3efd133..00000000 Binary files a/ResourceFiles/img/装备/252.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/253.gif b/ResourceFiles/img/装备/253.gif deleted file mode 100644 index e07599e2..00000000 Binary files a/ResourceFiles/img/装备/253.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/254.gif b/ResourceFiles/img/装备/254.gif deleted file mode 100644 index 3036d49d..00000000 Binary files a/ResourceFiles/img/装备/254.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/255.gif b/ResourceFiles/img/装备/255.gif deleted file mode 100644 index 882079b0..00000000 Binary files a/ResourceFiles/img/装备/255.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/256.gif b/ResourceFiles/img/装备/256.gif deleted file mode 100644 index de7dfadd..00000000 Binary files a/ResourceFiles/img/装备/256.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/257.gif b/ResourceFiles/img/装备/257.gif deleted file mode 100644 index c3abf26d..00000000 Binary files a/ResourceFiles/img/装备/257.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/258.gif b/ResourceFiles/img/装备/258.gif deleted file mode 100644 index 998823c6..00000000 Binary files a/ResourceFiles/img/装备/258.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/259.gif b/ResourceFiles/img/装备/259.gif deleted file mode 100644 index d959cdf2..00000000 Binary files a/ResourceFiles/img/装备/259.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/26.gif b/ResourceFiles/img/装备/26.gif deleted file mode 100644 index c7752fda..00000000 Binary files a/ResourceFiles/img/装备/26.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/260.gif b/ResourceFiles/img/装备/260.gif deleted file mode 100644 index a0ce7712..00000000 Binary files a/ResourceFiles/img/装备/260.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/261.gif b/ResourceFiles/img/装备/261.gif deleted file mode 100644 index a559431e..00000000 Binary files a/ResourceFiles/img/装备/261.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/262.gif b/ResourceFiles/img/装备/262.gif deleted file mode 100644 index 541b6fee..00000000 Binary files a/ResourceFiles/img/装备/262.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/263.gif b/ResourceFiles/img/装备/263.gif deleted file mode 100644 index b016802f..00000000 Binary files a/ResourceFiles/img/装备/263.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/264.gif b/ResourceFiles/img/装备/264.gif deleted file mode 100644 index adeacc56..00000000 Binary files a/ResourceFiles/img/装备/264.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/265.gif b/ResourceFiles/img/装备/265.gif deleted file mode 100644 index acf23721..00000000 Binary files a/ResourceFiles/img/装备/265.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/266.gif b/ResourceFiles/img/装备/266.gif deleted file mode 100644 index ecea92e3..00000000 Binary files a/ResourceFiles/img/装备/266.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/267.gif b/ResourceFiles/img/装备/267.gif deleted file mode 100644 index 5e287e77..00000000 Binary files a/ResourceFiles/img/装备/267.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/268.gif b/ResourceFiles/img/装备/268.gif deleted file mode 100644 index 82218d10..00000000 Binary files a/ResourceFiles/img/装备/268.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/269.gif b/ResourceFiles/img/装备/269.gif deleted file mode 100644 index 6a74720b..00000000 Binary files a/ResourceFiles/img/装备/269.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/27.gif b/ResourceFiles/img/装备/27.gif deleted file mode 100644 index 7b1c30b0..00000000 Binary files a/ResourceFiles/img/装备/27.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/270.gif b/ResourceFiles/img/装备/270.gif deleted file mode 100644 index 209d8b31..00000000 Binary files a/ResourceFiles/img/装备/270.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/271.gif b/ResourceFiles/img/装备/271.gif deleted file mode 100644 index cad43ce4..00000000 Binary files a/ResourceFiles/img/装备/271.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/272.gif b/ResourceFiles/img/装备/272.gif deleted file mode 100644 index 4d5492f0..00000000 Binary files a/ResourceFiles/img/装备/272.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/273.gif b/ResourceFiles/img/装备/273.gif deleted file mode 100644 index 38234f38..00000000 Binary files a/ResourceFiles/img/装备/273.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/274.gif b/ResourceFiles/img/装备/274.gif deleted file mode 100644 index 394cd23b..00000000 Binary files a/ResourceFiles/img/装备/274.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/275.gif b/ResourceFiles/img/装备/275.gif deleted file mode 100644 index af225796..00000000 Binary files a/ResourceFiles/img/装备/275.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/276.gif b/ResourceFiles/img/装备/276.gif deleted file mode 100644 index 7a27c5c9..00000000 Binary files a/ResourceFiles/img/装备/276.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/277.gif b/ResourceFiles/img/装备/277.gif deleted file mode 100644 index a14d09dc..00000000 Binary files a/ResourceFiles/img/装备/277.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/278.gif b/ResourceFiles/img/装备/278.gif deleted file mode 100644 index f8463514..00000000 Binary files a/ResourceFiles/img/装备/278.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/279.gif b/ResourceFiles/img/装备/279.gif deleted file mode 100644 index b4e64851..00000000 Binary files a/ResourceFiles/img/装备/279.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/28.gif b/ResourceFiles/img/装备/28.gif deleted file mode 100644 index 3b569f6a..00000000 Binary files a/ResourceFiles/img/装备/28.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/280.gif b/ResourceFiles/img/装备/280.gif deleted file mode 100644 index 8609340b..00000000 Binary files a/ResourceFiles/img/装备/280.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/281.gif b/ResourceFiles/img/装备/281.gif deleted file mode 100644 index ee3803f6..00000000 Binary files a/ResourceFiles/img/装备/281.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/282.gif b/ResourceFiles/img/装备/282.gif deleted file mode 100644 index 205e6e1d..00000000 Binary files a/ResourceFiles/img/装备/282.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/283.gif b/ResourceFiles/img/装备/283.gif deleted file mode 100644 index ac52c099..00000000 Binary files a/ResourceFiles/img/装备/283.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/284.gif b/ResourceFiles/img/装备/284.gif deleted file mode 100644 index 28fbb2c4..00000000 Binary files a/ResourceFiles/img/装备/284.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/285.gif b/ResourceFiles/img/装备/285.gif deleted file mode 100644 index 61024c96..00000000 Binary files a/ResourceFiles/img/装备/285.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/286.gif b/ResourceFiles/img/装备/286.gif deleted file mode 100644 index 667ac236..00000000 Binary files a/ResourceFiles/img/装备/286.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/287.gif b/ResourceFiles/img/装备/287.gif deleted file mode 100644 index 42538812..00000000 Binary files a/ResourceFiles/img/装备/287.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/288.gif b/ResourceFiles/img/装备/288.gif deleted file mode 100644 index 906e17c3..00000000 Binary files a/ResourceFiles/img/装备/288.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/289.gif b/ResourceFiles/img/装备/289.gif deleted file mode 100644 index 8daf9641..00000000 Binary files a/ResourceFiles/img/装备/289.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/29.gif b/ResourceFiles/img/装备/29.gif deleted file mode 100644 index 23e23887..00000000 Binary files a/ResourceFiles/img/装备/29.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/290.gif b/ResourceFiles/img/装备/290.gif deleted file mode 100644 index 3a5f7142..00000000 Binary files a/ResourceFiles/img/装备/290.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/291.gif b/ResourceFiles/img/装备/291.gif deleted file mode 100644 index 11906e5c..00000000 Binary files a/ResourceFiles/img/装备/291.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/292.gif b/ResourceFiles/img/装备/292.gif deleted file mode 100644 index a61c8e2c..00000000 Binary files a/ResourceFiles/img/装备/292.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/293.gif b/ResourceFiles/img/装备/293.gif deleted file mode 100644 index cccab17a..00000000 Binary files a/ResourceFiles/img/装备/293.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/294.gif b/ResourceFiles/img/装备/294.gif deleted file mode 100644 index ba5128b0..00000000 Binary files a/ResourceFiles/img/装备/294.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/295.gif b/ResourceFiles/img/装备/295.gif deleted file mode 100644 index 5465adde..00000000 Binary files a/ResourceFiles/img/装备/295.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/296.gif b/ResourceFiles/img/装备/296.gif deleted file mode 100644 index 723ce797..00000000 Binary files a/ResourceFiles/img/装备/296.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/297.gif b/ResourceFiles/img/装备/297.gif deleted file mode 100644 index ba59897c..00000000 Binary files a/ResourceFiles/img/装备/297.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/298.gif b/ResourceFiles/img/装备/298.gif deleted file mode 100644 index e250a653..00000000 Binary files a/ResourceFiles/img/装备/298.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/299.gif b/ResourceFiles/img/装备/299.gif deleted file mode 100644 index fbe37d06..00000000 Binary files a/ResourceFiles/img/装备/299.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/3.gif b/ResourceFiles/img/装备/3.gif deleted file mode 100644 index d27b4cce..00000000 Binary files a/ResourceFiles/img/装备/3.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/30.gif b/ResourceFiles/img/装备/30.gif deleted file mode 100644 index 269c2213..00000000 Binary files a/ResourceFiles/img/装备/30.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/300.gif b/ResourceFiles/img/装备/300.gif deleted file mode 100644 index 7bd2cd00..00000000 Binary files a/ResourceFiles/img/装备/300.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/301.gif b/ResourceFiles/img/装备/301.gif deleted file mode 100644 index 9b030629..00000000 Binary files a/ResourceFiles/img/装备/301.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/302.gif b/ResourceFiles/img/装备/302.gif deleted file mode 100644 index 7581a6a4..00000000 Binary files a/ResourceFiles/img/装备/302.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/303.gif b/ResourceFiles/img/装备/303.gif deleted file mode 100644 index 39645557..00000000 Binary files a/ResourceFiles/img/装备/303.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/304.gif b/ResourceFiles/img/装备/304.gif deleted file mode 100644 index 3abc4609..00000000 Binary files a/ResourceFiles/img/装备/304.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/305.gif b/ResourceFiles/img/装备/305.gif deleted file mode 100644 index c9666cc2..00000000 Binary files a/ResourceFiles/img/装备/305.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/306.gif b/ResourceFiles/img/装备/306.gif deleted file mode 100644 index b191eeea..00000000 Binary files a/ResourceFiles/img/装备/306.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/307.gif b/ResourceFiles/img/装备/307.gif deleted file mode 100644 index 20ada00b..00000000 Binary files a/ResourceFiles/img/装备/307.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/308.gif b/ResourceFiles/img/装备/308.gif deleted file mode 100644 index b3bb56e5..00000000 Binary files a/ResourceFiles/img/装备/308.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/309.gif b/ResourceFiles/img/装备/309.gif deleted file mode 100644 index 44d8f3c6..00000000 Binary files a/ResourceFiles/img/装备/309.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/31.gif b/ResourceFiles/img/装备/31.gif deleted file mode 100644 index 7fb8d65d..00000000 Binary files a/ResourceFiles/img/装备/31.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/310.gif b/ResourceFiles/img/装备/310.gif deleted file mode 100644 index 6680990a..00000000 Binary files a/ResourceFiles/img/装备/310.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/311.gif b/ResourceFiles/img/装备/311.gif deleted file mode 100644 index af8a2ad3..00000000 Binary files a/ResourceFiles/img/装备/311.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/312.gif b/ResourceFiles/img/装备/312.gif deleted file mode 100644 index db37c4ed..00000000 Binary files a/ResourceFiles/img/装备/312.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/313.gif b/ResourceFiles/img/装备/313.gif deleted file mode 100644 index 004a98ad..00000000 Binary files a/ResourceFiles/img/装备/313.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/314.gif b/ResourceFiles/img/装备/314.gif deleted file mode 100644 index 5eedd189..00000000 Binary files a/ResourceFiles/img/装备/314.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/315.gif b/ResourceFiles/img/装备/315.gif deleted file mode 100644 index 3024a77e..00000000 Binary files a/ResourceFiles/img/装备/315.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/316.gif b/ResourceFiles/img/装备/316.gif deleted file mode 100644 index 48674d99..00000000 Binary files a/ResourceFiles/img/装备/316.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/317.gif b/ResourceFiles/img/装备/317.gif deleted file mode 100644 index 977186a8..00000000 Binary files a/ResourceFiles/img/装备/317.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/318.gif b/ResourceFiles/img/装备/318.gif deleted file mode 100644 index bbd88582..00000000 Binary files a/ResourceFiles/img/装备/318.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/319.gif b/ResourceFiles/img/装备/319.gif deleted file mode 100644 index 31ff2d0b..00000000 Binary files a/ResourceFiles/img/装备/319.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/32.gif b/ResourceFiles/img/装备/32.gif deleted file mode 100644 index 806025fe..00000000 Binary files a/ResourceFiles/img/装备/32.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/320.gif b/ResourceFiles/img/装备/320.gif deleted file mode 100644 index 624ce4f5..00000000 Binary files a/ResourceFiles/img/装备/320.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/321.gif b/ResourceFiles/img/装备/321.gif deleted file mode 100644 index 0c41252c..00000000 Binary files a/ResourceFiles/img/装备/321.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/322.gif b/ResourceFiles/img/装备/322.gif deleted file mode 100644 index cdc1b15d..00000000 Binary files a/ResourceFiles/img/装备/322.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/323.gif b/ResourceFiles/img/装备/323.gif deleted file mode 100644 index 4dc72139..00000000 Binary files a/ResourceFiles/img/装备/323.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/324.gif b/ResourceFiles/img/装备/324.gif deleted file mode 100644 index 6ed094a3..00000000 Binary files a/ResourceFiles/img/装备/324.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/325.gif b/ResourceFiles/img/装备/325.gif deleted file mode 100644 index e001b781..00000000 Binary files a/ResourceFiles/img/装备/325.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/326.gif b/ResourceFiles/img/装备/326.gif deleted file mode 100644 index 562199ae..00000000 Binary files a/ResourceFiles/img/装备/326.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/327.gif b/ResourceFiles/img/装备/327.gif deleted file mode 100644 index ffd1a183..00000000 Binary files a/ResourceFiles/img/装备/327.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/328.gif b/ResourceFiles/img/装备/328.gif deleted file mode 100644 index 45db61eb..00000000 Binary files a/ResourceFiles/img/装备/328.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/329.gif b/ResourceFiles/img/装备/329.gif deleted file mode 100644 index c34761eb..00000000 Binary files a/ResourceFiles/img/装备/329.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/33.gif b/ResourceFiles/img/装备/33.gif deleted file mode 100644 index 8bbdabbb..00000000 Binary files a/ResourceFiles/img/装备/33.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/330.gif b/ResourceFiles/img/装备/330.gif deleted file mode 100644 index b4254490..00000000 Binary files a/ResourceFiles/img/装备/330.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/331.gif b/ResourceFiles/img/装备/331.gif deleted file mode 100644 index 9ab2cd43..00000000 Binary files a/ResourceFiles/img/装备/331.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/332.gif b/ResourceFiles/img/装备/332.gif deleted file mode 100644 index c11519e1..00000000 Binary files a/ResourceFiles/img/装备/332.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/333.gif b/ResourceFiles/img/装备/333.gif deleted file mode 100644 index 108fa91d..00000000 Binary files a/ResourceFiles/img/装备/333.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/334.gif b/ResourceFiles/img/装备/334.gif deleted file mode 100644 index 04dcf798..00000000 Binary files a/ResourceFiles/img/装备/334.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/335.gif b/ResourceFiles/img/装备/335.gif deleted file mode 100644 index 52267258..00000000 Binary files a/ResourceFiles/img/装备/335.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/336.gif b/ResourceFiles/img/装备/336.gif deleted file mode 100644 index 26edacf1..00000000 Binary files a/ResourceFiles/img/装备/336.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/337.gif b/ResourceFiles/img/装备/337.gif deleted file mode 100644 index c7727005..00000000 Binary files a/ResourceFiles/img/装备/337.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/338.gif b/ResourceFiles/img/装备/338.gif deleted file mode 100644 index 43938439..00000000 Binary files a/ResourceFiles/img/装备/338.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/339.gif b/ResourceFiles/img/装备/339.gif deleted file mode 100644 index b4ce161b..00000000 Binary files a/ResourceFiles/img/装备/339.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/34.gif b/ResourceFiles/img/装备/34.gif deleted file mode 100644 index 669179fa..00000000 Binary files a/ResourceFiles/img/装备/34.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/340.gif b/ResourceFiles/img/装备/340.gif deleted file mode 100644 index f29bcfe7..00000000 Binary files a/ResourceFiles/img/装备/340.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/341.gif b/ResourceFiles/img/装备/341.gif deleted file mode 100644 index faef79b1..00000000 Binary files a/ResourceFiles/img/装备/341.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/342.gif b/ResourceFiles/img/装备/342.gif deleted file mode 100644 index a6025392..00000000 Binary files a/ResourceFiles/img/装备/342.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/343.gif b/ResourceFiles/img/装备/343.gif deleted file mode 100644 index 89775a09..00000000 Binary files a/ResourceFiles/img/装备/343.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/344.gif b/ResourceFiles/img/装备/344.gif deleted file mode 100644 index 34d10b5d..00000000 Binary files a/ResourceFiles/img/装备/344.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/345.gif b/ResourceFiles/img/装备/345.gif deleted file mode 100644 index 5c59526f..00000000 Binary files a/ResourceFiles/img/装备/345.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/346.gif b/ResourceFiles/img/装备/346.gif deleted file mode 100644 index fb9d24ba..00000000 Binary files a/ResourceFiles/img/装备/346.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/347.gif b/ResourceFiles/img/装备/347.gif deleted file mode 100644 index 357e2264..00000000 Binary files a/ResourceFiles/img/装备/347.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/348.gif b/ResourceFiles/img/装备/348.gif deleted file mode 100644 index eb86fd20..00000000 Binary files a/ResourceFiles/img/装备/348.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/349.gif b/ResourceFiles/img/装备/349.gif deleted file mode 100644 index d5ad7253..00000000 Binary files a/ResourceFiles/img/装备/349.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/35.gif b/ResourceFiles/img/装备/35.gif deleted file mode 100644 index 1327832b..00000000 Binary files a/ResourceFiles/img/装备/35.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/350.gif b/ResourceFiles/img/装备/350.gif deleted file mode 100644 index 3dd4f250..00000000 Binary files a/ResourceFiles/img/装备/350.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/351.gif b/ResourceFiles/img/装备/351.gif deleted file mode 100644 index e2a59cfd..00000000 Binary files a/ResourceFiles/img/装备/351.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/352.gif b/ResourceFiles/img/装备/352.gif deleted file mode 100644 index 57731ee9..00000000 Binary files a/ResourceFiles/img/装备/352.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/353.gif b/ResourceFiles/img/装备/353.gif deleted file mode 100644 index dc3a726e..00000000 Binary files a/ResourceFiles/img/装备/353.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/354.gif b/ResourceFiles/img/装备/354.gif deleted file mode 100644 index c72b1907..00000000 Binary files a/ResourceFiles/img/装备/354.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/355.gif b/ResourceFiles/img/装备/355.gif deleted file mode 100644 index 33250611..00000000 Binary files a/ResourceFiles/img/装备/355.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/356.gif b/ResourceFiles/img/装备/356.gif deleted file mode 100644 index 314614a1..00000000 Binary files a/ResourceFiles/img/装备/356.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/357.gif b/ResourceFiles/img/装备/357.gif deleted file mode 100644 index 122e1197..00000000 Binary files a/ResourceFiles/img/装备/357.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/358.gif b/ResourceFiles/img/装备/358.gif deleted file mode 100644 index 557cb840..00000000 Binary files a/ResourceFiles/img/装备/358.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/359.gif b/ResourceFiles/img/装备/359.gif deleted file mode 100644 index b4b74162..00000000 Binary files a/ResourceFiles/img/装备/359.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/36.gif b/ResourceFiles/img/装备/36.gif deleted file mode 100644 index 346cbc7d..00000000 Binary files a/ResourceFiles/img/装备/36.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/360.gif b/ResourceFiles/img/装备/360.gif deleted file mode 100644 index e13ed763..00000000 Binary files a/ResourceFiles/img/装备/360.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/361.gif b/ResourceFiles/img/装备/361.gif deleted file mode 100644 index 240f0d94..00000000 Binary files a/ResourceFiles/img/装备/361.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/362.gif b/ResourceFiles/img/装备/362.gif deleted file mode 100644 index 2243795c..00000000 Binary files a/ResourceFiles/img/装备/362.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/363.gif b/ResourceFiles/img/装备/363.gif deleted file mode 100644 index 58f2e716..00000000 Binary files a/ResourceFiles/img/装备/363.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/364.gif b/ResourceFiles/img/装备/364.gif deleted file mode 100644 index a3777678..00000000 Binary files a/ResourceFiles/img/装备/364.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/365.gif b/ResourceFiles/img/装备/365.gif deleted file mode 100644 index f78a5145..00000000 Binary files a/ResourceFiles/img/装备/365.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/366.gif b/ResourceFiles/img/装备/366.gif deleted file mode 100644 index e97bdce3..00000000 Binary files a/ResourceFiles/img/装备/366.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/367.gif b/ResourceFiles/img/装备/367.gif deleted file mode 100644 index 46c7d3fe..00000000 Binary files a/ResourceFiles/img/装备/367.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/368.gif b/ResourceFiles/img/装备/368.gif deleted file mode 100644 index 6a67a461..00000000 Binary files a/ResourceFiles/img/装备/368.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/369.gif b/ResourceFiles/img/装备/369.gif deleted file mode 100644 index f345c9d7..00000000 Binary files a/ResourceFiles/img/装备/369.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/37.gif b/ResourceFiles/img/装备/37.gif deleted file mode 100644 index f3734c50..00000000 Binary files a/ResourceFiles/img/装备/37.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/370.gif b/ResourceFiles/img/装备/370.gif deleted file mode 100644 index 1804e67c..00000000 Binary files a/ResourceFiles/img/装备/370.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/371.gif b/ResourceFiles/img/装备/371.gif deleted file mode 100644 index de6e6106..00000000 Binary files a/ResourceFiles/img/装备/371.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/372.gif b/ResourceFiles/img/装备/372.gif deleted file mode 100644 index d6a47626..00000000 Binary files a/ResourceFiles/img/装备/372.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/373.gif b/ResourceFiles/img/装备/373.gif deleted file mode 100644 index 64be89f8..00000000 Binary files a/ResourceFiles/img/装备/373.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/374.gif b/ResourceFiles/img/装备/374.gif deleted file mode 100644 index e956a6b2..00000000 Binary files a/ResourceFiles/img/装备/374.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/375.gif b/ResourceFiles/img/装备/375.gif deleted file mode 100644 index 8dc8198d..00000000 Binary files a/ResourceFiles/img/装备/375.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/376.gif b/ResourceFiles/img/装备/376.gif deleted file mode 100644 index 70bbb749..00000000 Binary files a/ResourceFiles/img/装备/376.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/377.gif b/ResourceFiles/img/装备/377.gif deleted file mode 100644 index c5cba67f..00000000 Binary files a/ResourceFiles/img/装备/377.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/378.gif b/ResourceFiles/img/装备/378.gif deleted file mode 100644 index ab48b70d..00000000 Binary files a/ResourceFiles/img/装备/378.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/379.gif b/ResourceFiles/img/装备/379.gif deleted file mode 100644 index 5f814c8c..00000000 Binary files a/ResourceFiles/img/装备/379.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/38.gif b/ResourceFiles/img/装备/38.gif deleted file mode 100644 index 8b1c77e6..00000000 Binary files a/ResourceFiles/img/装备/38.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/380.gif b/ResourceFiles/img/装备/380.gif deleted file mode 100644 index ee58b3f5..00000000 Binary files a/ResourceFiles/img/装备/380.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/381.gif b/ResourceFiles/img/装备/381.gif deleted file mode 100644 index 0a120d53..00000000 Binary files a/ResourceFiles/img/装备/381.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/382.gif b/ResourceFiles/img/装备/382.gif deleted file mode 100644 index 248b7f11..00000000 Binary files a/ResourceFiles/img/装备/382.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/383.gif b/ResourceFiles/img/装备/383.gif deleted file mode 100644 index 22bf8e91..00000000 Binary files a/ResourceFiles/img/装备/383.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/384.gif b/ResourceFiles/img/装备/384.gif deleted file mode 100644 index 8f9a4139..00000000 Binary files a/ResourceFiles/img/装备/384.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/385.gif b/ResourceFiles/img/装备/385.gif deleted file mode 100644 index 51b8c6f9..00000000 Binary files a/ResourceFiles/img/装备/385.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/386.gif b/ResourceFiles/img/装备/386.gif deleted file mode 100644 index 04136fc3..00000000 Binary files a/ResourceFiles/img/装备/386.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/387.gif b/ResourceFiles/img/装备/387.gif deleted file mode 100644 index 02bbbf4f..00000000 Binary files a/ResourceFiles/img/装备/387.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/388.gif b/ResourceFiles/img/装备/388.gif deleted file mode 100644 index 20a8b15a..00000000 Binary files a/ResourceFiles/img/装备/388.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/389.gif b/ResourceFiles/img/装备/389.gif deleted file mode 100644 index 9976f3d3..00000000 Binary files a/ResourceFiles/img/装备/389.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/39.gif b/ResourceFiles/img/装备/39.gif deleted file mode 100644 index 66ae0d8b..00000000 Binary files a/ResourceFiles/img/装备/39.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/390.gif b/ResourceFiles/img/装备/390.gif deleted file mode 100644 index ab5c4c15..00000000 Binary files a/ResourceFiles/img/装备/390.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/391.gif b/ResourceFiles/img/装备/391.gif deleted file mode 100644 index 966382dc..00000000 Binary files a/ResourceFiles/img/装备/391.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/392.gif b/ResourceFiles/img/装备/392.gif deleted file mode 100644 index b8094818..00000000 Binary files a/ResourceFiles/img/装备/392.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/393.gif b/ResourceFiles/img/装备/393.gif deleted file mode 100644 index 4a3a6f32..00000000 Binary files a/ResourceFiles/img/装备/393.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/394.gif b/ResourceFiles/img/装备/394.gif deleted file mode 100644 index ec1c4e3a..00000000 Binary files a/ResourceFiles/img/装备/394.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/395.gif b/ResourceFiles/img/装备/395.gif deleted file mode 100644 index 9751819c..00000000 Binary files a/ResourceFiles/img/装备/395.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/396.gif b/ResourceFiles/img/装备/396.gif deleted file mode 100644 index 3da21483..00000000 Binary files a/ResourceFiles/img/装备/396.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/397.gif b/ResourceFiles/img/装备/397.gif deleted file mode 100644 index 958d9fde..00000000 Binary files a/ResourceFiles/img/装备/397.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/398.gif b/ResourceFiles/img/装备/398.gif deleted file mode 100644 index 5e5d2f80..00000000 Binary files a/ResourceFiles/img/装备/398.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/399.gif b/ResourceFiles/img/装备/399.gif deleted file mode 100644 index 583f6a34..00000000 Binary files a/ResourceFiles/img/装备/399.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/4.gif b/ResourceFiles/img/装备/4.gif deleted file mode 100644 index a80c33e5..00000000 Binary files a/ResourceFiles/img/装备/4.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/40.gif b/ResourceFiles/img/装备/40.gif deleted file mode 100644 index ec32f367..00000000 Binary files a/ResourceFiles/img/装备/40.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/400.gif b/ResourceFiles/img/装备/400.gif deleted file mode 100644 index c75b79f9..00000000 Binary files a/ResourceFiles/img/装备/400.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/401.gif b/ResourceFiles/img/装备/401.gif deleted file mode 100644 index e795e37a..00000000 Binary files a/ResourceFiles/img/装备/401.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/402.gif b/ResourceFiles/img/装备/402.gif deleted file mode 100644 index 02c257b6..00000000 Binary files a/ResourceFiles/img/装备/402.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/403.gif b/ResourceFiles/img/装备/403.gif deleted file mode 100644 index 94995757..00000000 Binary files a/ResourceFiles/img/装备/403.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/404.gif b/ResourceFiles/img/装备/404.gif deleted file mode 100644 index 396cf606..00000000 Binary files a/ResourceFiles/img/装备/404.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/405.gif b/ResourceFiles/img/装备/405.gif deleted file mode 100644 index 74233bee..00000000 Binary files a/ResourceFiles/img/装备/405.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/406.gif b/ResourceFiles/img/装备/406.gif deleted file mode 100644 index 6344a17e..00000000 Binary files a/ResourceFiles/img/装备/406.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/407.gif b/ResourceFiles/img/装备/407.gif deleted file mode 100644 index 66855012..00000000 Binary files a/ResourceFiles/img/装备/407.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/408.gif b/ResourceFiles/img/装备/408.gif deleted file mode 100644 index 0bc27d8c..00000000 Binary files a/ResourceFiles/img/装备/408.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/409.gif b/ResourceFiles/img/装备/409.gif deleted file mode 100644 index ddaa47d2..00000000 Binary files a/ResourceFiles/img/装备/409.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/41.gif b/ResourceFiles/img/装备/41.gif deleted file mode 100644 index 2f3a8a26..00000000 Binary files a/ResourceFiles/img/装备/41.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/410.gif b/ResourceFiles/img/装备/410.gif deleted file mode 100644 index 2dcc6660..00000000 Binary files a/ResourceFiles/img/装备/410.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/411.gif b/ResourceFiles/img/装备/411.gif deleted file mode 100644 index effdacd1..00000000 Binary files a/ResourceFiles/img/装备/411.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/412.gif b/ResourceFiles/img/装备/412.gif deleted file mode 100644 index 77549593..00000000 Binary files a/ResourceFiles/img/装备/412.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/413.gif b/ResourceFiles/img/装备/413.gif deleted file mode 100644 index 925a72b3..00000000 Binary files a/ResourceFiles/img/装备/413.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/414.gif b/ResourceFiles/img/装备/414.gif deleted file mode 100644 index a859486d..00000000 Binary files a/ResourceFiles/img/装备/414.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/415.gif b/ResourceFiles/img/装备/415.gif deleted file mode 100644 index fc8f1d9f..00000000 Binary files a/ResourceFiles/img/装备/415.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/416.gif b/ResourceFiles/img/装备/416.gif deleted file mode 100644 index 26b96c61..00000000 Binary files a/ResourceFiles/img/装备/416.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/417.gif b/ResourceFiles/img/装备/417.gif deleted file mode 100644 index 0ac8ce38..00000000 Binary files a/ResourceFiles/img/装备/417.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/418.gif b/ResourceFiles/img/装备/418.gif deleted file mode 100644 index 8595cf91..00000000 Binary files a/ResourceFiles/img/装备/418.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/419.gif b/ResourceFiles/img/装备/419.gif deleted file mode 100644 index 786a14a2..00000000 Binary files a/ResourceFiles/img/装备/419.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/42.gif b/ResourceFiles/img/装备/42.gif deleted file mode 100644 index 11894b8f..00000000 Binary files a/ResourceFiles/img/装备/42.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/420.gif b/ResourceFiles/img/装备/420.gif deleted file mode 100644 index 1bea70b8..00000000 Binary files a/ResourceFiles/img/装备/420.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/421.gif b/ResourceFiles/img/装备/421.gif deleted file mode 100644 index 3c29d349..00000000 Binary files a/ResourceFiles/img/装备/421.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/422.gif b/ResourceFiles/img/装备/422.gif deleted file mode 100644 index 60afedb2..00000000 Binary files a/ResourceFiles/img/装备/422.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/423.gif b/ResourceFiles/img/装备/423.gif deleted file mode 100644 index 1944a11d..00000000 Binary files a/ResourceFiles/img/装备/423.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/424.gif b/ResourceFiles/img/装备/424.gif deleted file mode 100644 index 50478d5a..00000000 Binary files a/ResourceFiles/img/装备/424.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/425.gif b/ResourceFiles/img/装备/425.gif deleted file mode 100644 index a2db15a4..00000000 Binary files a/ResourceFiles/img/装备/425.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/426.gif b/ResourceFiles/img/装备/426.gif deleted file mode 100644 index f27e5b25..00000000 Binary files a/ResourceFiles/img/装备/426.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/427.gif b/ResourceFiles/img/装备/427.gif deleted file mode 100644 index ed9459d6..00000000 Binary files a/ResourceFiles/img/装备/427.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/428.gif b/ResourceFiles/img/装备/428.gif deleted file mode 100644 index c172e5b8..00000000 Binary files a/ResourceFiles/img/装备/428.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/429.gif b/ResourceFiles/img/装备/429.gif deleted file mode 100644 index 7d0d0f7a..00000000 Binary files a/ResourceFiles/img/装备/429.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/43.gif b/ResourceFiles/img/装备/43.gif deleted file mode 100644 index f6271cfa..00000000 Binary files a/ResourceFiles/img/装备/43.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/430.gif b/ResourceFiles/img/装备/430.gif deleted file mode 100644 index e9ed8c35..00000000 Binary files a/ResourceFiles/img/装备/430.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/431.gif b/ResourceFiles/img/装备/431.gif deleted file mode 100644 index 4f378215..00000000 Binary files a/ResourceFiles/img/装备/431.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/432.gif b/ResourceFiles/img/装备/432.gif deleted file mode 100644 index f095281e..00000000 Binary files a/ResourceFiles/img/装备/432.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/433.gif b/ResourceFiles/img/装备/433.gif deleted file mode 100644 index 446b6043..00000000 Binary files a/ResourceFiles/img/装备/433.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/434.gif b/ResourceFiles/img/装备/434.gif deleted file mode 100644 index 7208b23a..00000000 Binary files a/ResourceFiles/img/装备/434.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/435.gif b/ResourceFiles/img/装备/435.gif deleted file mode 100644 index e2db747b..00000000 Binary files a/ResourceFiles/img/装备/435.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/436.gif b/ResourceFiles/img/装备/436.gif deleted file mode 100644 index a97e2069..00000000 Binary files a/ResourceFiles/img/装备/436.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/437.gif b/ResourceFiles/img/装备/437.gif deleted file mode 100644 index 3278c9d1..00000000 Binary files a/ResourceFiles/img/装备/437.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/438.gif b/ResourceFiles/img/装备/438.gif deleted file mode 100644 index 98c5b2e4..00000000 Binary files a/ResourceFiles/img/装备/438.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/439.gif b/ResourceFiles/img/装备/439.gif deleted file mode 100644 index b30bb596..00000000 Binary files a/ResourceFiles/img/装备/439.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/44.gif b/ResourceFiles/img/装备/44.gif deleted file mode 100644 index 17c8fde3..00000000 Binary files a/ResourceFiles/img/装备/44.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/440.gif b/ResourceFiles/img/装备/440.gif deleted file mode 100644 index b4c7b088..00000000 Binary files a/ResourceFiles/img/装备/440.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/441.gif b/ResourceFiles/img/装备/441.gif deleted file mode 100644 index 49c3e9d0..00000000 Binary files a/ResourceFiles/img/装备/441.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/442.gif b/ResourceFiles/img/装备/442.gif deleted file mode 100644 index 8b4ad60a..00000000 Binary files a/ResourceFiles/img/装备/442.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/443.gif b/ResourceFiles/img/装备/443.gif deleted file mode 100644 index 445e9ad4..00000000 Binary files a/ResourceFiles/img/装备/443.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/444.gif b/ResourceFiles/img/装备/444.gif deleted file mode 100644 index 69848a1b..00000000 Binary files a/ResourceFiles/img/装备/444.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/445.gif b/ResourceFiles/img/装备/445.gif deleted file mode 100644 index 38a6a368..00000000 Binary files a/ResourceFiles/img/装备/445.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/446.gif b/ResourceFiles/img/装备/446.gif deleted file mode 100644 index 78176523..00000000 Binary files a/ResourceFiles/img/装备/446.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/447.gif b/ResourceFiles/img/装备/447.gif deleted file mode 100644 index 6b4288dd..00000000 Binary files a/ResourceFiles/img/装备/447.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/448.gif b/ResourceFiles/img/装备/448.gif deleted file mode 100644 index 29fd363c..00000000 Binary files a/ResourceFiles/img/装备/448.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/449.gif b/ResourceFiles/img/装备/449.gif deleted file mode 100644 index b996d421..00000000 Binary files a/ResourceFiles/img/装备/449.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/45.gif b/ResourceFiles/img/装备/45.gif deleted file mode 100644 index efa2fce3..00000000 Binary files a/ResourceFiles/img/装备/45.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/450.gif b/ResourceFiles/img/装备/450.gif deleted file mode 100644 index 379966d9..00000000 Binary files a/ResourceFiles/img/装备/450.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/451.gif b/ResourceFiles/img/装备/451.gif deleted file mode 100644 index 8151efb4..00000000 Binary files a/ResourceFiles/img/装备/451.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/452.gif b/ResourceFiles/img/装备/452.gif deleted file mode 100644 index dfd01b14..00000000 Binary files a/ResourceFiles/img/装备/452.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/453.gif b/ResourceFiles/img/装备/453.gif deleted file mode 100644 index 86bd68fa..00000000 Binary files a/ResourceFiles/img/装备/453.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/454.gif b/ResourceFiles/img/装备/454.gif deleted file mode 100644 index d4aff093..00000000 Binary files a/ResourceFiles/img/装备/454.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/455.gif b/ResourceFiles/img/装备/455.gif deleted file mode 100644 index af0f7a08..00000000 Binary files a/ResourceFiles/img/装备/455.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/456.gif b/ResourceFiles/img/装备/456.gif deleted file mode 100644 index 2f23ae6d..00000000 Binary files a/ResourceFiles/img/装备/456.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/457.gif b/ResourceFiles/img/装备/457.gif deleted file mode 100644 index 936103e1..00000000 Binary files a/ResourceFiles/img/装备/457.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/458.gif b/ResourceFiles/img/装备/458.gif deleted file mode 100644 index 9d0687f8..00000000 Binary files a/ResourceFiles/img/装备/458.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/459.gif b/ResourceFiles/img/装备/459.gif deleted file mode 100644 index 63c4c54d..00000000 Binary files a/ResourceFiles/img/装备/459.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/46.gif b/ResourceFiles/img/装备/46.gif deleted file mode 100644 index 8c20168d..00000000 Binary files a/ResourceFiles/img/装备/46.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/460.gif b/ResourceFiles/img/装备/460.gif deleted file mode 100644 index d0e37f23..00000000 Binary files a/ResourceFiles/img/装备/460.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/461.gif b/ResourceFiles/img/装备/461.gif deleted file mode 100644 index b0f7af6c..00000000 Binary files a/ResourceFiles/img/装备/461.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/462.gif b/ResourceFiles/img/装备/462.gif deleted file mode 100644 index 6ffd250e..00000000 Binary files a/ResourceFiles/img/装备/462.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/463.gif b/ResourceFiles/img/装备/463.gif deleted file mode 100644 index 08e6ac80..00000000 Binary files a/ResourceFiles/img/装备/463.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/464.gif b/ResourceFiles/img/装备/464.gif deleted file mode 100644 index c2609c69..00000000 Binary files a/ResourceFiles/img/装备/464.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/465.gif b/ResourceFiles/img/装备/465.gif deleted file mode 100644 index 9037d1a5..00000000 Binary files a/ResourceFiles/img/装备/465.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/466.gif b/ResourceFiles/img/装备/466.gif deleted file mode 100644 index f3fda9e6..00000000 Binary files a/ResourceFiles/img/装备/466.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/467.gif b/ResourceFiles/img/装备/467.gif deleted file mode 100644 index 444f2c7f..00000000 Binary files a/ResourceFiles/img/装备/467.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/468.gif b/ResourceFiles/img/装备/468.gif deleted file mode 100644 index 35740d85..00000000 Binary files a/ResourceFiles/img/装备/468.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/469.gif b/ResourceFiles/img/装备/469.gif deleted file mode 100644 index f2ab0402..00000000 Binary files a/ResourceFiles/img/装备/469.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/47.gif b/ResourceFiles/img/装备/47.gif deleted file mode 100644 index 5d2f12e5..00000000 Binary files a/ResourceFiles/img/装备/47.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/470.gif b/ResourceFiles/img/装备/470.gif deleted file mode 100644 index e6295411..00000000 Binary files a/ResourceFiles/img/装备/470.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/471.gif b/ResourceFiles/img/装备/471.gif deleted file mode 100644 index 795d6f97..00000000 Binary files a/ResourceFiles/img/装备/471.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/472.gif b/ResourceFiles/img/装备/472.gif deleted file mode 100644 index 7a0a68a4..00000000 Binary files a/ResourceFiles/img/装备/472.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/473.gif b/ResourceFiles/img/装备/473.gif deleted file mode 100644 index 53915074..00000000 Binary files a/ResourceFiles/img/装备/473.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/474.gif b/ResourceFiles/img/装备/474.gif deleted file mode 100644 index 922fc72d..00000000 Binary files a/ResourceFiles/img/装备/474.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/475.gif b/ResourceFiles/img/装备/475.gif deleted file mode 100644 index 252ff034..00000000 Binary files a/ResourceFiles/img/装备/475.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/476.gif b/ResourceFiles/img/装备/476.gif deleted file mode 100644 index 27f0f7c4..00000000 Binary files a/ResourceFiles/img/装备/476.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/477.gif b/ResourceFiles/img/装备/477.gif deleted file mode 100644 index b4c5cfaf..00000000 Binary files a/ResourceFiles/img/装备/477.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/478.gif b/ResourceFiles/img/装备/478.gif deleted file mode 100644 index 2936287c..00000000 Binary files a/ResourceFiles/img/装备/478.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/479.gif b/ResourceFiles/img/装备/479.gif deleted file mode 100644 index 246da65e..00000000 Binary files a/ResourceFiles/img/装备/479.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/48.gif b/ResourceFiles/img/装备/48.gif deleted file mode 100644 index 3ae77da2..00000000 Binary files a/ResourceFiles/img/装备/48.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/480.gif b/ResourceFiles/img/装备/480.gif deleted file mode 100644 index ae3b9974..00000000 Binary files a/ResourceFiles/img/装备/480.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/481.gif b/ResourceFiles/img/装备/481.gif deleted file mode 100644 index 9c91b98f..00000000 Binary files a/ResourceFiles/img/装备/481.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/482.gif b/ResourceFiles/img/装备/482.gif deleted file mode 100644 index 504c3947..00000000 Binary files a/ResourceFiles/img/装备/482.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/483.gif b/ResourceFiles/img/装备/483.gif deleted file mode 100644 index a1abf8c1..00000000 Binary files a/ResourceFiles/img/装备/483.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/484.gif b/ResourceFiles/img/装备/484.gif deleted file mode 100644 index 2d4dca15..00000000 Binary files a/ResourceFiles/img/装备/484.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/485.gif b/ResourceFiles/img/装备/485.gif deleted file mode 100644 index c9b81d5d..00000000 Binary files a/ResourceFiles/img/装备/485.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/486.gif b/ResourceFiles/img/装备/486.gif deleted file mode 100644 index 7309037d..00000000 Binary files a/ResourceFiles/img/装备/486.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/487.gif b/ResourceFiles/img/装备/487.gif deleted file mode 100644 index 87c4fc45..00000000 Binary files a/ResourceFiles/img/装备/487.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/488.gif b/ResourceFiles/img/装备/488.gif deleted file mode 100644 index 4b87a568..00000000 Binary files a/ResourceFiles/img/装备/488.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/489.gif b/ResourceFiles/img/装备/489.gif deleted file mode 100644 index 777bbd77..00000000 Binary files a/ResourceFiles/img/装备/489.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/49.gif b/ResourceFiles/img/装备/49.gif deleted file mode 100644 index 40e4db34..00000000 Binary files a/ResourceFiles/img/装备/49.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/490.gif b/ResourceFiles/img/装备/490.gif deleted file mode 100644 index 01f740e4..00000000 Binary files a/ResourceFiles/img/装备/490.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/491.gif b/ResourceFiles/img/装备/491.gif deleted file mode 100644 index 9ca48f8b..00000000 Binary files a/ResourceFiles/img/装备/491.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/492.gif b/ResourceFiles/img/装备/492.gif deleted file mode 100644 index a911f1cc..00000000 Binary files a/ResourceFiles/img/装备/492.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/493.gif b/ResourceFiles/img/装备/493.gif deleted file mode 100644 index 657ce0a3..00000000 Binary files a/ResourceFiles/img/装备/493.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/494.gif b/ResourceFiles/img/装备/494.gif deleted file mode 100644 index 3ea2294f..00000000 Binary files a/ResourceFiles/img/装备/494.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/495.gif b/ResourceFiles/img/装备/495.gif deleted file mode 100644 index 76160b72..00000000 Binary files a/ResourceFiles/img/装备/495.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/496.gif b/ResourceFiles/img/装备/496.gif deleted file mode 100644 index 5a188883..00000000 Binary files a/ResourceFiles/img/装备/496.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/497.gif b/ResourceFiles/img/装备/497.gif deleted file mode 100644 index 2f430a76..00000000 Binary files a/ResourceFiles/img/装备/497.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/498.gif b/ResourceFiles/img/装备/498.gif deleted file mode 100644 index 73f4b6fc..00000000 Binary files a/ResourceFiles/img/装备/498.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/499.gif b/ResourceFiles/img/装备/499.gif deleted file mode 100644 index bdeb48fb..00000000 Binary files a/ResourceFiles/img/装备/499.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/5.gif b/ResourceFiles/img/装备/5.gif deleted file mode 100644 index 3b50580a..00000000 Binary files a/ResourceFiles/img/装备/5.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/50.gif b/ResourceFiles/img/装备/50.gif deleted file mode 100644 index cc63703f..00000000 Binary files a/ResourceFiles/img/装备/50.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/500.gif b/ResourceFiles/img/装备/500.gif deleted file mode 100644 index f9634686..00000000 Binary files a/ResourceFiles/img/装备/500.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/501.gif b/ResourceFiles/img/装备/501.gif deleted file mode 100644 index c3afb6fe..00000000 Binary files a/ResourceFiles/img/装备/501.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/502.gif b/ResourceFiles/img/装备/502.gif deleted file mode 100644 index 32d9fdff..00000000 Binary files a/ResourceFiles/img/装备/502.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/503.gif b/ResourceFiles/img/装备/503.gif deleted file mode 100644 index 3c1b5b6c..00000000 Binary files a/ResourceFiles/img/装备/503.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/504.gif b/ResourceFiles/img/装备/504.gif deleted file mode 100644 index 349791c8..00000000 Binary files a/ResourceFiles/img/装备/504.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/505.gif b/ResourceFiles/img/装备/505.gif deleted file mode 100644 index 1c0c69c6..00000000 Binary files a/ResourceFiles/img/装备/505.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/506.gif b/ResourceFiles/img/装备/506.gif deleted file mode 100644 index ec623893..00000000 Binary files a/ResourceFiles/img/装备/506.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/507.gif b/ResourceFiles/img/装备/507.gif deleted file mode 100644 index 864c932b..00000000 Binary files a/ResourceFiles/img/装备/507.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/508.gif b/ResourceFiles/img/装备/508.gif deleted file mode 100644 index f54e46b2..00000000 Binary files a/ResourceFiles/img/装备/508.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/509.gif b/ResourceFiles/img/装备/509.gif deleted file mode 100644 index 0cd11bdb..00000000 Binary files a/ResourceFiles/img/装备/509.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/51.gif b/ResourceFiles/img/装备/51.gif deleted file mode 100644 index c5824676..00000000 Binary files a/ResourceFiles/img/装备/51.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/510.gif b/ResourceFiles/img/装备/510.gif deleted file mode 100644 index ed170bfe..00000000 Binary files a/ResourceFiles/img/装备/510.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/511.gif b/ResourceFiles/img/装备/511.gif deleted file mode 100644 index 0ebb3975..00000000 Binary files a/ResourceFiles/img/装备/511.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/512.gif b/ResourceFiles/img/装备/512.gif deleted file mode 100644 index 9f68b7ab..00000000 Binary files a/ResourceFiles/img/装备/512.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/513.gif b/ResourceFiles/img/装备/513.gif deleted file mode 100644 index 4c6f2c6c..00000000 Binary files a/ResourceFiles/img/装备/513.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/514.gif b/ResourceFiles/img/装备/514.gif deleted file mode 100644 index 003dd461..00000000 Binary files a/ResourceFiles/img/装备/514.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/515.gif b/ResourceFiles/img/装备/515.gif deleted file mode 100644 index d56ec261..00000000 Binary files a/ResourceFiles/img/装备/515.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/516.gif b/ResourceFiles/img/装备/516.gif deleted file mode 100644 index 2793f802..00000000 Binary files a/ResourceFiles/img/装备/516.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/517.gif b/ResourceFiles/img/装备/517.gif deleted file mode 100644 index 3eb08970..00000000 Binary files a/ResourceFiles/img/装备/517.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/518.gif b/ResourceFiles/img/装备/518.gif deleted file mode 100644 index ba463fcb..00000000 Binary files a/ResourceFiles/img/装备/518.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/519.gif b/ResourceFiles/img/装备/519.gif deleted file mode 100644 index 07a4730e..00000000 Binary files a/ResourceFiles/img/装备/519.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/52.gif b/ResourceFiles/img/装备/52.gif deleted file mode 100644 index c5db532d..00000000 Binary files a/ResourceFiles/img/装备/52.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/520.gif b/ResourceFiles/img/装备/520.gif deleted file mode 100644 index b2d452c6..00000000 Binary files a/ResourceFiles/img/装备/520.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/521.gif b/ResourceFiles/img/装备/521.gif deleted file mode 100644 index 53daa4f0..00000000 Binary files a/ResourceFiles/img/装备/521.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/522.gif b/ResourceFiles/img/装备/522.gif deleted file mode 100644 index e961aa41..00000000 Binary files a/ResourceFiles/img/装备/522.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/523.gif b/ResourceFiles/img/装备/523.gif deleted file mode 100644 index 2e1cc49f..00000000 Binary files a/ResourceFiles/img/装备/523.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/524.gif b/ResourceFiles/img/装备/524.gif deleted file mode 100644 index 7c266790..00000000 Binary files a/ResourceFiles/img/装备/524.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/525.gif b/ResourceFiles/img/装备/525.gif deleted file mode 100644 index 6f90e4bc..00000000 Binary files a/ResourceFiles/img/装备/525.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/526.gif b/ResourceFiles/img/装备/526.gif deleted file mode 100644 index 618dbcc6..00000000 Binary files a/ResourceFiles/img/装备/526.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/527.gif b/ResourceFiles/img/装备/527.gif deleted file mode 100644 index 72f76e30..00000000 Binary files a/ResourceFiles/img/装备/527.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/528.gif b/ResourceFiles/img/装备/528.gif deleted file mode 100644 index ce304fea..00000000 Binary files a/ResourceFiles/img/装备/528.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/529.gif b/ResourceFiles/img/装备/529.gif deleted file mode 100644 index 55ad582b..00000000 Binary files a/ResourceFiles/img/装备/529.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/53.gif b/ResourceFiles/img/装备/53.gif deleted file mode 100644 index a3b8fafa..00000000 Binary files a/ResourceFiles/img/装备/53.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/530.gif b/ResourceFiles/img/装备/530.gif deleted file mode 100644 index 3529e739..00000000 Binary files a/ResourceFiles/img/装备/530.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/531.gif b/ResourceFiles/img/装备/531.gif deleted file mode 100644 index bf85ee55..00000000 Binary files a/ResourceFiles/img/装备/531.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/532.gif b/ResourceFiles/img/装备/532.gif deleted file mode 100644 index fd722160..00000000 Binary files a/ResourceFiles/img/装备/532.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/533.gif b/ResourceFiles/img/装备/533.gif deleted file mode 100644 index acc6344c..00000000 Binary files a/ResourceFiles/img/装备/533.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/534.gif b/ResourceFiles/img/装备/534.gif deleted file mode 100644 index 942a3b78..00000000 Binary files a/ResourceFiles/img/装备/534.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/54.gif b/ResourceFiles/img/装备/54.gif deleted file mode 100644 index c1c7adfe..00000000 Binary files a/ResourceFiles/img/装备/54.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/55.gif b/ResourceFiles/img/装备/55.gif deleted file mode 100644 index ebc1aa18..00000000 Binary files a/ResourceFiles/img/装备/55.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/56.gif b/ResourceFiles/img/装备/56.gif deleted file mode 100644 index 115740b6..00000000 Binary files a/ResourceFiles/img/装备/56.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/57.gif b/ResourceFiles/img/装备/57.gif deleted file mode 100644 index 6ad7cbb8..00000000 Binary files a/ResourceFiles/img/装备/57.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/58.gif b/ResourceFiles/img/装备/58.gif deleted file mode 100644 index c0e45555..00000000 Binary files a/ResourceFiles/img/装备/58.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/59.gif b/ResourceFiles/img/装备/59.gif deleted file mode 100644 index 5d6763b5..00000000 Binary files a/ResourceFiles/img/装备/59.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/6.gif b/ResourceFiles/img/装备/6.gif deleted file mode 100644 index 24be643b..00000000 Binary files a/ResourceFiles/img/装备/6.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/60.gif b/ResourceFiles/img/装备/60.gif deleted file mode 100644 index ca06cbd8..00000000 Binary files a/ResourceFiles/img/装备/60.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/61.gif b/ResourceFiles/img/装备/61.gif deleted file mode 100644 index 2dc0fa12..00000000 Binary files a/ResourceFiles/img/装备/61.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/62.gif b/ResourceFiles/img/装备/62.gif deleted file mode 100644 index afd88366..00000000 Binary files a/ResourceFiles/img/装备/62.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/63.gif b/ResourceFiles/img/装备/63.gif deleted file mode 100644 index c7452dda..00000000 Binary files a/ResourceFiles/img/装备/63.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/64.gif b/ResourceFiles/img/装备/64.gif deleted file mode 100644 index 8a7f4bc2..00000000 Binary files a/ResourceFiles/img/装备/64.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/65.gif b/ResourceFiles/img/装备/65.gif deleted file mode 100644 index dc996f85..00000000 Binary files a/ResourceFiles/img/装备/65.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/66.gif b/ResourceFiles/img/装备/66.gif deleted file mode 100644 index 163bad24..00000000 Binary files a/ResourceFiles/img/装备/66.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/67.gif b/ResourceFiles/img/装备/67.gif deleted file mode 100644 index 441aca52..00000000 Binary files a/ResourceFiles/img/装备/67.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/68.gif b/ResourceFiles/img/装备/68.gif deleted file mode 100644 index ad4d4ece..00000000 Binary files a/ResourceFiles/img/装备/68.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/69.gif b/ResourceFiles/img/装备/69.gif deleted file mode 100644 index 7b02ca77..00000000 Binary files a/ResourceFiles/img/装备/69.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/7.gif b/ResourceFiles/img/装备/7.gif deleted file mode 100644 index 3f5fbe99..00000000 Binary files a/ResourceFiles/img/装备/7.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/70.gif b/ResourceFiles/img/装备/70.gif deleted file mode 100644 index a948243c..00000000 Binary files a/ResourceFiles/img/装备/70.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/71.gif b/ResourceFiles/img/装备/71.gif deleted file mode 100644 index 81748437..00000000 Binary files a/ResourceFiles/img/装备/71.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/72.gif b/ResourceFiles/img/装备/72.gif deleted file mode 100644 index 6c1c4208..00000000 Binary files a/ResourceFiles/img/装备/72.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/73.gif b/ResourceFiles/img/装备/73.gif deleted file mode 100644 index 475d567d..00000000 Binary files a/ResourceFiles/img/装备/73.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/74.gif b/ResourceFiles/img/装备/74.gif deleted file mode 100644 index ca7b59db..00000000 Binary files a/ResourceFiles/img/装备/74.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/75.gif b/ResourceFiles/img/装备/75.gif deleted file mode 100644 index 1acd9edb..00000000 Binary files a/ResourceFiles/img/装备/75.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/76.gif b/ResourceFiles/img/装备/76.gif deleted file mode 100644 index f0f0cf42..00000000 Binary files a/ResourceFiles/img/装备/76.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/77.gif b/ResourceFiles/img/装备/77.gif deleted file mode 100644 index 723b1981..00000000 Binary files a/ResourceFiles/img/装备/77.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/78.gif b/ResourceFiles/img/装备/78.gif deleted file mode 100644 index a7aa7297..00000000 Binary files a/ResourceFiles/img/装备/78.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/79.gif b/ResourceFiles/img/装备/79.gif deleted file mode 100644 index 66f14ae4..00000000 Binary files a/ResourceFiles/img/装备/79.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/8.gif b/ResourceFiles/img/装备/8.gif deleted file mode 100644 index 386dcf8b..00000000 Binary files a/ResourceFiles/img/装备/8.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/80.gif b/ResourceFiles/img/装备/80.gif deleted file mode 100644 index b0f12806..00000000 Binary files a/ResourceFiles/img/装备/80.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/81.gif b/ResourceFiles/img/装备/81.gif deleted file mode 100644 index 748cb9a5..00000000 Binary files a/ResourceFiles/img/装备/81.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/82.gif b/ResourceFiles/img/装备/82.gif deleted file mode 100644 index 1924137b..00000000 Binary files a/ResourceFiles/img/装备/82.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/83.gif b/ResourceFiles/img/装备/83.gif deleted file mode 100644 index 8cec907e..00000000 Binary files a/ResourceFiles/img/装备/83.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/84.gif b/ResourceFiles/img/装备/84.gif deleted file mode 100644 index aa67ffaf..00000000 Binary files a/ResourceFiles/img/装备/84.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/85.gif b/ResourceFiles/img/装备/85.gif deleted file mode 100644 index 3120eb6b..00000000 Binary files a/ResourceFiles/img/装备/85.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/86.gif b/ResourceFiles/img/装备/86.gif deleted file mode 100644 index b0d332c0..00000000 Binary files a/ResourceFiles/img/装备/86.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/87.gif b/ResourceFiles/img/装备/87.gif deleted file mode 100644 index 1021d467..00000000 Binary files a/ResourceFiles/img/装备/87.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/88.gif b/ResourceFiles/img/装备/88.gif deleted file mode 100644 index c626e865..00000000 Binary files a/ResourceFiles/img/装备/88.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/89.gif b/ResourceFiles/img/装备/89.gif deleted file mode 100644 index 656793bf..00000000 Binary files a/ResourceFiles/img/装备/89.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/9.gif b/ResourceFiles/img/装备/9.gif deleted file mode 100644 index e7dc02d6..00000000 Binary files a/ResourceFiles/img/装备/9.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/90.gif b/ResourceFiles/img/装备/90.gif deleted file mode 100644 index c69e770f..00000000 Binary files a/ResourceFiles/img/装备/90.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/91.gif b/ResourceFiles/img/装备/91.gif deleted file mode 100644 index ffeff64d..00000000 Binary files a/ResourceFiles/img/装备/91.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/92.gif b/ResourceFiles/img/装备/92.gif deleted file mode 100644 index bcaf5419..00000000 Binary files a/ResourceFiles/img/装备/92.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/93.gif b/ResourceFiles/img/装备/93.gif deleted file mode 100644 index d2fc7200..00000000 Binary files a/ResourceFiles/img/装备/93.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/94.gif b/ResourceFiles/img/装备/94.gif deleted file mode 100644 index fa67fc6c..00000000 Binary files a/ResourceFiles/img/装备/94.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/95.gif b/ResourceFiles/img/装备/95.gif deleted file mode 100644 index 13c8ca28..00000000 Binary files a/ResourceFiles/img/装备/95.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/96.gif b/ResourceFiles/img/装备/96.gif deleted file mode 100644 index d6eb66b5..00000000 Binary files a/ResourceFiles/img/装备/96.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/97.gif b/ResourceFiles/img/装备/97.gif deleted file mode 100644 index 12b03b4b..00000000 Binary files a/ResourceFiles/img/装备/97.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/98.gif b/ResourceFiles/img/装备/98.gif deleted file mode 100644 index da258789..00000000 Binary files a/ResourceFiles/img/装备/98.gif and /dev/null differ diff --git a/ResourceFiles/img/装备/99.gif b/ResourceFiles/img/装备/99.gif deleted file mode 100644 index 8e9c8b2e..00000000 Binary files a/ResourceFiles/img/装备/99.gif and /dev/null differ diff --git a/ResourceFiles/img/觉醒选择.png b/ResourceFiles/img/觉醒选择.png deleted file mode 100644 index 2854409e..00000000 Binary files a/ResourceFiles/img/觉醒选择.png and /dev/null differ diff --git a/ResourceFiles/img/输出背景.png b/ResourceFiles/img/输出背景.png deleted file mode 100644 index 2a365797..00000000 Binary files a/ResourceFiles/img/输出背景.png and /dev/null differ diff --git a/ResourceFiles/img/输出背景_BUFF.png b/ResourceFiles/img/输出背景_BUFF.png deleted file mode 100644 index 34960813..00000000 Binary files a/ResourceFiles/img/输出背景_BUFF.png and /dev/null differ diff --git a/ResourceFiles/img/远古记忆.png b/ResourceFiles/img/远古记忆.png deleted file mode 100644 index 97a52b6b..00000000 Binary files a/ResourceFiles/img/远古记忆.png and /dev/null differ diff --git a/ResourceFiles/千魂·决战者/bg.jpg b/ResourceFiles/千魂·决战者/bg.jpg deleted file mode 100644 index aab866c2..00000000 Binary files a/ResourceFiles/千魂·决战者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/千魂·决战者/reset/char.json b/ResourceFiles/千魂·决战者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/千魂·决战者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/千魂·决战者/reset/page_1.json b/ResourceFiles/千魂·决战者/reset/page_1.json deleted file mode 100644 index 709011a0..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/千魂·决战者/reset/page_2.json b/ResourceFiles/千魂·决战者/reset/page_2.json deleted file mode 100644 index 86aaec8a..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 25, - "觉醒选择": 1, - "护石栏": [3, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "长枪精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双重刺击": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "行云:风": { - "等级": 46, - "TP": 5, - "次数": "4", - "宠物": "1" - }, - "行云:疾": { - "等级": 43, - "TP": 5, - "次数": "4", - "宠物": "1" - }, - "行云:落": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "行云:沐": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋风枪": { - "等级": 41, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "无畏波动枪": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "螺旋波动枪": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "升龙破空枪": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "狂龙怒啸": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "夺命雷霆枪": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "行云:启": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "流云幻灭": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "风火燎原": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "三一斩月": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "无双突刺": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "行云:冥": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "流光无影闪": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "极影无形杀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "一身是胆": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双龙流云灭": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "问鼎·千军破云": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/千魂·决战者/reset/page_3.json b/ResourceFiles/千魂·决战者/reset/page_3.json deleted file mode 100644 index dbd06469..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 6] - ] -} diff --git a/ResourceFiles/千魂·决战者/reset/page_4.json b/ResourceFiles/千魂·决战者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/千魂·决战者/reset/page_5.json b/ResourceFiles/千魂·决战者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/千魂·决战者/reset/page_6.json b/ResourceFiles/千魂·决战者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/千魂·决战者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/千魂·决战者/人物.png b/ResourceFiles/千魂·决战者/人物.png deleted file mode 100644 index 2a3dd75a..00000000 Binary files a/ResourceFiles/千魂·决战者/人物.png and /dev/null differ diff --git a/ResourceFiles/千魂·征战者/bg.jpg b/ResourceFiles/千魂·征战者/bg.jpg deleted file mode 100644 index e8392f73..00000000 Binary files a/ResourceFiles/千魂·征战者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/千魂·征战者/reset/char.json b/ResourceFiles/千魂·征战者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/千魂·征战者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/千魂·征战者/reset/page_1.json b/ResourceFiles/千魂·征战者/reset/page_1.json deleted file mode 100644 index 09c7b3a8..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/千魂·征战者/reset/page_2.json b/ResourceFiles/千魂·征战者/reset/page_2.json deleted file mode 100644 index 8e105dbf..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_2.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "BUFF输入": "80.0", - "时间输入": 25, - "觉醒选择": 2, - "护石栏": [5, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [10, 10, 10, 10, 10, 10, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "战戟精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "战戟猛攻": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "战戟之魂": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "战神之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "霸王戟": { - "等级": 1, - "TP": 5, - "次数": "10", - "宠物": "5" - }, - "破军突击": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "追魂斩": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "落月斩": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冷血突刺": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "破灭斩": { - "等级": 36, - "TP": 1, - "次数": "/CD", - "宠物": "0" - }, - "夺命乱舞": { - "等级": 33, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "横扫八荒": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "长虹贯日": { - "等级": 23, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "穿云裂地斩-下劈": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "破灭轮回刺": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "断魂裂岩斩": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "千魂弑": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血战天狱": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "灭天之魂": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "镇狱裂地枪": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "天劫·斗灭乾坤": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/千魂·征战者/reset/page_3.json b/ResourceFiles/千魂·征战者/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/千魂·征战者/reset/page_4.json b/ResourceFiles/千魂·征战者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/千魂·征战者/reset/page_5.json b/ResourceFiles/千魂·征战者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/千魂·征战者/reset/page_6.json b/ResourceFiles/千魂·征战者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/千魂·征战者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/千魂·征战者/人物.png b/ResourceFiles/千魂·征战者/人物.png deleted file mode 100644 index 766b5990..00000000 Binary files a/ResourceFiles/千魂·征战者/人物.png and /dev/null differ diff --git a/ResourceFiles/千魂·暗枪士/bg.jpg b/ResourceFiles/千魂·暗枪士/bg.jpg deleted file mode 100644 index 8520e1c2..00000000 Binary files a/ResourceFiles/千魂·暗枪士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/千魂·暗枪士/reset/char.json b/ResourceFiles/千魂·暗枪士/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_1.json b/ResourceFiles/千魂·暗枪士/reset/page_1.json deleted file mode 100644 index 3036e160..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_2.json b/ResourceFiles/千魂·暗枪士/reset/page_2.json deleted file mode 100644 index f17e3503..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "93.0", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "暗蚀": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "侵蚀之矛": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双重投射": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗矛精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗矛投射": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑暗枪雨": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗矛贯穿": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗枪突破": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑蚀葬礼": { - "等级": 38, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "绝望枪": { - "等级": 38, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "暗蚀螺旋枪": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "连锁侵蚀": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "坠蚀之雨": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "暗蚀爆雷杀": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "黑暗支配者": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "无尽侵蚀:缚魂": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗影蚀魂": { - "等级": 23, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "黑蚀酷刑": { - "等级": 18, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "黑暗本源": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冥夜裂空": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "冥蚀脉冲": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "幽影暗蚀:寂灭": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗源之蚀": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "虚空碎灭": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗·渊灭禁绝": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_3.json b/ResourceFiles/千魂·暗枪士/reset/page_3.json deleted file mode 100644 index 819e390e..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 4, 4, -1, -1, 0, 5, -1, -1, 4] - ] -} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_4.json b/ResourceFiles/千魂·暗枪士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_5.json b/ResourceFiles/千魂·暗枪士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/千魂·暗枪士/reset/page_6.json b/ResourceFiles/千魂·暗枪士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/千魂·暗枪士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/千魂·暗枪士/人物.png b/ResourceFiles/千魂·暗枪士/人物.png deleted file mode 100644 index 8302b504..00000000 Binary files a/ResourceFiles/千魂·暗枪士/人物.png and /dev/null differ diff --git a/ResourceFiles/千魂·狩猎者/bg.jpg b/ResourceFiles/千魂·狩猎者/bg.jpg deleted file mode 100644 index 84d18688..00000000 Binary files a/ResourceFiles/千魂·狩猎者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/千魂·狩猎者/reset/char.json b/ResourceFiles/千魂·狩猎者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_1.json b/ResourceFiles/千魂·狩猎者/reset/page_1.json deleted file mode 100644 index 570bd7d1..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_2.json b/ResourceFiles/千魂·狩猎者/reset/page_2.json deleted file mode 100644 index 150643f5..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "85", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "光枪精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狩猎本能": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "枪魂感知": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狩猎之心": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "猎杀枪": { - "等级": 1, - "TP": 1, - "次数": "/CD", - "宠物": "20.0" - }, - "隐鼠袭杀": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "光焰飞枪": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "蛮横冲撞": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "猎杀枪掠食": { - "等级": 41, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "光焰枪": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "猎杀枪穿心": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "光焰囚杀": { - "等级": 36, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "利刃收割": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "鹰坠": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "龙鳞碎割": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "逐云灭龙杀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "天龙破": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "地龙狩": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "地龙封魔杀": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "无尽杀戮": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "绝命猎杀死亡穿刺": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "狩魔之魂": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "瞬光猎杀枪": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "红月·狩猎盛宴": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_3.json b/ResourceFiles/千魂·狩猎者/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_4.json b/ResourceFiles/千魂·狩猎者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_5.json b/ResourceFiles/千魂·狩猎者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/千魂·狩猎者/reset/page_6.json b/ResourceFiles/千魂·狩猎者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/千魂·狩猎者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/千魂·狩猎者/人物.png b/ResourceFiles/千魂·狩猎者/人物.png deleted file mode 100644 index 4a753317..00000000 Binary files a/ResourceFiles/千魂·狩猎者/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·散打·女/bg.jpg b/ResourceFiles/归元·散打·女/bg.jpg deleted file mode 100644 index 669f5953..00000000 Binary files a/ResourceFiles/归元·散打·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·散打·女/reset/char.json b/ResourceFiles/归元·散打·女/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/归元·散打·女/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/归元·散打·女/reset/page_1.json b/ResourceFiles/归元·散打·女/reset/page_1.json deleted file mode 100644 index 0081c40b..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·散打·女/reset/page_2.json b/ResourceFiles/归元·散打·女/reset/page_2.json deleted file mode 100644 index 56c6f87e..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_2.json +++ /dev/null @@ -1,185 +0,0 @@ -{ - "BUFF输入": "113.0", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [2, 1, 4], - "护石类型": [1, 1, 1], - "符文技能": [5, 5, 5, 5, 5, 5, 5, 5, 5], - "符文效果": [1, 2, 3, 1, 2, 3, 1, 2, 3], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "崩拳": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "铁山靠": { - "等级": 41, - "TP": 1, - "次数": "/CD", - "宠物": "2", - "切装": false - }, - "碎骨": { - "等级": 31, - "TP": 5, - "次数": "2", - "宠物": "2", - "切装": false - }, - "柔化肌肉": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "弱点感知": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "寸拳": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "2", - "切装": false - }, - "升龙拳": { - "等级": 36, - "TP": 0, - "次数": "2", - "宠物": "1", - "切装": false - }, - "闪电之舞": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "2", - "切装": false - }, - "纷影连环踢": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "武神强踢": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "武神步": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "破碎拳": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1", - "切装": false - }, - "回天连环击": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1", - "切装": false - }, - "神武之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "虎啸神拳": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "无影脚": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1", - "切装": false - }, - "极尽霸皇断空拳": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "疾风劲": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "雷霆之舞": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "陨星灭天击": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "拳套精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "武神强踢buff": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - } - } -} diff --git a/ResourceFiles/归元·散打·女/reset/page_3.json b/ResourceFiles/归元·散打·女/reset/page_3.json deleted file mode 100644 index f9d56795..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 5] - ] -} diff --git a/ResourceFiles/归元·散打·女/reset/page_4.json b/ResourceFiles/归元·散打·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·散打·女/reset/page_5.json b/ResourceFiles/归元·散打·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·散打·女/reset/page_6.json b/ResourceFiles/归元·散打·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·散打·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·散打·女/人物.png b/ResourceFiles/归元·散打·女/人物.png deleted file mode 100644 index e5b8ba84..00000000 Binary files a/ResourceFiles/归元·散打·女/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·散打·男/bg.jpg b/ResourceFiles/归元·散打·男/bg.jpg deleted file mode 100644 index f8563e7c..00000000 Binary files a/ResourceFiles/归元·散打·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·散打·男/reset/char.json b/ResourceFiles/归元·散打·男/reset/char.json deleted file mode 100644 index fd439906..00000000 --- a/ResourceFiles/归元·散打·男/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "二挡关联选择": 0 -} diff --git a/ResourceFiles/归元·散打·男/reset/page_1.json b/ResourceFiles/归元·散打·男/reset/page_1.json deleted file mode 100644 index 0081c40b..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·散打·男/reset/page_2.json b/ResourceFiles/归元·散打·男/reset/page_2.json deleted file mode 100644 index 8245d8ac..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "104.0", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "下段踢": { - "等级": 50, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "碎骨": { - "等级": 41, - "TP": 0, - "次数": "4", - "宠物": "2" - }, - "铁山靠": { - "等级": 41, - "TP": 5, - "次数": "4", - "宠物": "2" - }, - "柔化肌肉": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "闪击快打": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冲膝": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "炽焰旋风腿": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "闪电之舞": { - "等级": 33, - "TP": 1, - "次数": "2", - "宠物": "1" - }, - "瞬影连环踢": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "烈焰燃烧": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "烈焰焚步": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "飞燕旋风": { - "等级": 23, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "旋风碎心踢": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "烈火支配": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "烈火强踢": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "烈火强拳": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "极武霸皇踢": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "千锤百炼": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "炼狱坠星腿": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "焚火逐日拳": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "拳套掌握": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双重释放": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "肘击": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/归元·散打·男/reset/page_3.json b/ResourceFiles/归元·散打·男/reset/page_3.json deleted file mode 100644 index 4f4422ea..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, -1, -1, -1, 0, 1, -1, -1, -1], - [-1, -1, 2, 2, 2, -1, -1, -1, 4, 4, -1, -1, 1, 5, -1, -1, 11] - ] -} diff --git a/ResourceFiles/归元·散打·男/reset/page_4.json b/ResourceFiles/归元·散打·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·散打·男/reset/page_5.json b/ResourceFiles/归元·散打·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·散打·男/reset/page_6.json b/ResourceFiles/归元·散打·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·散打·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·散打·男/人物.png b/ResourceFiles/归元·散打·男/人物.png deleted file mode 100644 index 40104f2f..00000000 Binary files a/ResourceFiles/归元·散打·男/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·柔道家·女/bg.jpg b/ResourceFiles/归元·柔道家·女/bg.jpg deleted file mode 100644 index d15d404e..00000000 Binary files a/ResourceFiles/归元·柔道家·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·柔道家·女/reset/char.json b/ResourceFiles/归元·柔道家·女/reset/char.json deleted file mode 100644 index 180b2b06..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "死亡风暴次数选择": 12 -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_1.json b/ResourceFiles/归元·柔道家·女/reset/page_1.json deleted file mode 100644 index b33e154b..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_2.json b/ResourceFiles/归元·柔道家·女/reset/page_2.json deleted file mode 100644 index 2973aa08..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_2.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "BUFF输入": "107", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [7, 2, 6], - "护石类型": [0, 1, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 7, 7, 7], - "符文效果": [1, 2, 3, 1, 2, 3, 1, 2, 3], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "背摔": { - "等级": 50, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "抛投": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "摔技强化": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "折颈": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "野蛮冲撞": { - "等级": 41, - "TP": 1, - "次数": "4", - "宠物": "1", - "切装": false - }, - "强力抱摔": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "霹雳肘击": { - "等级": 38, - "TP": 0, - "次数": "/CD", - "宠物": "0", - "切装": false - }, - "空绞锤": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "霹雳冲击": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0", - "切装": false - }, - "螺旋彗星落": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0", - "切装": false - }, - "地狱摇篮(抓轰炮)": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1", - "切装": false - }, - "裂石破天": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1", - "切装": false - }, - "抓取奥义": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "末日风暴": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "空绞连锤(抓轰炮)": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "极手奥义": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "死亡摇篮": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1", - "切装": false - }, - "末日摇篮": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "风暴之舞": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "苍宇彗星落": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "光芒之翼": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "送葬舞步": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "女皇时代辉煌舞台": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - } - } -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_3.json b/ResourceFiles/归元·柔道家·女/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_4.json b/ResourceFiles/归元·柔道家·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_5.json b/ResourceFiles/归元·柔道家·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·柔道家·女/reset/page_6.json b/ResourceFiles/归元·柔道家·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·柔道家·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·柔道家·女/人物.png b/ResourceFiles/归元·柔道家·女/人物.png deleted file mode 100644 index 9195b027..00000000 Binary files a/ResourceFiles/归元·柔道家·女/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·柔道家·男/bg.jpg b/ResourceFiles/归元·柔道家·男/bg.jpg deleted file mode 100644 index d185a409..00000000 Binary files a/ResourceFiles/归元·柔道家·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·柔道家·男/reset/char.json b/ResourceFiles/归元·柔道家·男/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_1.json b/ResourceFiles/归元·柔道家·男/reset/page_1.json deleted file mode 100644 index 41801a4e..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_2.json b/ResourceFiles/归元·柔道家·男/reset/page_2.json deleted file mode 100644 index 1a097785..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_2.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "BUFF输入": "108.0", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [5, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [11, 11, 8, 11, 11, 8, 0, 0, 0], - "符文效果": [1, 3, 2, 1, 3, 2, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "膝击": { - "等级": 50, - "TP": 1, - "次数": "3", - "宠物": "0" - }, - "摔技强化": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "臂铠精通": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "抛投": { - "等级": 46, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "连环抓取": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "野蛮冲撞": { - "等级": 41, - "TP": 1, - "次数": "4", - "宠物": "0" - }, - "无情摔击": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "空绞锤": { - "等级": 2, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "霹雳旋踢": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "浮空凌云踢": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "疾波猛坠": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "地狱风火轮": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "裂石破天": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "力之奥义": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死亡旋律": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "彗星冲击": { - "等级": 23, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "武莲华": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "傲天之怒": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑震旋风": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "疾风闪电": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "一字传承:极义震天破": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "神怡气静": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑震流·陨灭": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "黑震流·山岳崩颓": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_3.json b/ResourceFiles/归元·柔道家·男/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_4.json b/ResourceFiles/归元·柔道家·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_5.json b/ResourceFiles/归元·柔道家·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·柔道家·男/reset/page_6.json b/ResourceFiles/归元·柔道家·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·柔道家·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·柔道家·男/人物.png b/ResourceFiles/归元·柔道家·男/人物.png deleted file mode 100644 index be1289bb..00000000 Binary files a/ResourceFiles/归元·柔道家·男/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·女/bg.jpg b/ResourceFiles/归元·气功师·女/bg.jpg deleted file mode 100644 index 249be99d..00000000 Binary files a/ResourceFiles/归元·气功师·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·气功师·女/reset/char.json b/ResourceFiles/归元·气功师·女/reset/char.json deleted file mode 100644 index 7990fc9f..00000000 --- a/ResourceFiles/归元·气功师·女/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "BUFF输入2": "86", - "雷龙开关": true -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_1.json b/ResourceFiles/归元·气功师·女/reset/page_1.json deleted file mode 100644 index 0d04ef70..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_2.json b/ResourceFiles/归元·气功师·女/reset/page_2.json deleted file mode 100644 index cb39e17e..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_2.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "BUFF输入": "57", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [1, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [4, 5, 4, 4, 5, 4, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "蓄念炮": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "分身": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "乱舞千叶花": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "心之念意": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "念气归元": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻影爆碎": { - "等级": 43, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "念气波": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "念气波蓄念炮": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "念气环绕": { - "等级": 10, - "TP": 0, - "次数": "72.0", - "宠物": "40.0" - }, - "念兽龙虎啸": { - "等级": 10, - "TP": 3, - "次数": "5", - "宠物": "0" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "气玉弹": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狮子吼": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "螺旋念气场": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "念兽雷龙出海": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "千莲怒放": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "奔雷掌": { - "等级": 23, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "狂狮怒吼": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "奇袭幻影": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "聚能念气炮": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "念帝旋天破": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "天雷分身步": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "念印幻流破": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_3.json b/ResourceFiles/归元·气功师·女/reset/page_3.json deleted file mode 100644 index 684c41e0..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, -1, -1, -1, 0, 1, -1, -1, -1], - [-1, -1, 2, 2, 2, -1, -1, -1, 10, 10, -1, -1, 1, 5, -1, -1, 4] - ] -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_4.json b/ResourceFiles/归元·气功师·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_5.json b/ResourceFiles/归元·气功师·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·气功师·女/reset/page_6.json b/ResourceFiles/归元·气功师·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·气功师·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·气功师·女/人物.png b/ResourceFiles/归元·气功师·女/人物.png deleted file mode 100644 index 1aad0b46..00000000 Binary files a/ResourceFiles/归元·气功师·女/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/bg.jpg b/ResourceFiles/归元·气功师·男/bg.jpg deleted file mode 100644 index 39adf5d9..00000000 Binary files a/ResourceFiles/归元·气功师·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/reset/store.json b/ResourceFiles/归元·气功师·男/reset/store.json deleted file mode 100644 index b628380f..00000000 --- a/ResourceFiles/归元·气功师·男/reset/store.json +++ /dev/null @@ -1,492 +0,0 @@ -{ - "/carry/data/title": 0, - "/carry/data/pet": 0, - "/carry/data/compute_mode": 1, - "/carry/data/ditto_checked": false, - "/carry/data/pet_equip_adaptive": false, - "/carry/data/aura_adaptive": false, - "/carry/data/myth_top_checked": false, - "/carry/data/damage_unit": false, - "/carry/data/thread_count": 1, - "/carry/data/attack_elemental": 0, - "/carry/data/remodel_limit": 2, - "/carry/data/equip_checked": [ - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/carry/data/equip_conditions": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], - "/carry/data/buff_input": "43", - "/carry/data/time_input": 3, - "/carry/data/awakening_binding": 1, - "/carry/data/ancient_memory": 10, - "/carry/data/talismans": [2, 2, 3], - "/carry/data/talisman_types": [1, 1, 0], - "/carry/data/runes_skills": [12, 12, 12, 12, 12, 12, 12, 12, 12], - "/carry/data/runes_effects": [15, 14, 13, 15, 14, 13, 15, 14, 13], - "/carry/data/consumables": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/skill": { - "蓄念炮": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "分身": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "念之奥义": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "风雷啸": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "禅意:万象": { - "level": 4, - "tp": 0, - "count": "0", - "pet": "0" - }, - "基础精通": { - "level": 100, - "tp": 0, - "count": "0", - "pet": "0" - }, - "幻影爆碎": { - "level": 38, - "tp": 5, - "count": "3", - "pet": "1" - }, - "念气波": { - "level": 46, - "tp": 5, - "count": "3", - "pet": "1" - }, - "念气波:蓄念炮": { - "level": 46, - "tp": 5, - "count": "3", - "pet": "1" - }, - "念气罩": { - "level": 10, - "tp": 1, - "count": "3", - "pet": "2" - }, - "念气环绕": { - "level": 25, - "tp": 0, - "count": "0", - "pet": "0" - }, - "念气环绕:袭": { - "level": 1, - "tp": 0, - "count": "4", - "pet": "2" - }, - "念气环绕:御": { - "level": 10, - "tp": 0, - "count": "10", - "pet": "5" - }, - "念兽:龙虎啸": { - "level": 10, - "tp": 0, - "count": "1", - "pet": "0" - }, - "狮子吼": { - "level": 36, - "tp": 5, - "count": "0", - "pet": "0" - }, - "螺旋念气场": { - "level": 33, - "tp": 5, - "count": "2", - "pet": "0" - }, - "念兽:猛虎震地": { - "level": 31, - "tp": 5, - "count": "1", - "pet": "1" - }, - "念兽:审判之金雷虎": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "0" - }, - "念之战矛": { - "level": 17, - "tp": 3, - "count": "1", - "pet": "1" - }, - "冲云念气场": { - "level": 18, - "tp": 5, - "count": "1", - "pet": "1" - }, - "奔雷螺旋击": { - "level": 16, - "tp": 0, - "count": "1", - "pet": "0" - }, - "月辉念气破": { - "level": 13, - "tp": 0, - "count": "1", - "pet": "1" - }, - "月华万象": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "1" - }, - "禅语:形灭": { - "level": 6, - "tp": 0, - "count": "1", - "pet": "0" - }, - "禅念:归一": { - "level": 2, - "tp": 0, - "count": "1", - "pet": "1" - }, - "雷霆踏": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "0" - } - }, - "/carry/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/carry/data/detail_values": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "/carry/data/detail_options": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, -1, -1, -1, 0, 1, -1, -1, -1], - [-1, -1, 2, 2, 2, -1, -1, -1, 10, 13, -1, -1, 1, 5, -1, -1, 4] - ], - "/carry/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/remodel_upgrade": false, - "/carry/data/weapon_adaptive_mode": 0, - "/carry/data/nameless_elemental_value": 3, - "/carry/data/siroco_weapon": [0, 0, 0, 0, 0], - "/carry/data/jude_effects": [0, 0, 0, 0], - "/carry/data/jude_values": [-1, -1, -1, -1], - "/carry/data/astaroth_options": [0, 0, 0, 0, 0], - "/carry/data/black_purgatory": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ], - "/carry/data/siroco": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/carry/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/self_select/equips": [[3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0]], - "/carry/data/self_select/column_index": 0, - "/carry/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/character_sets": { - "BUFF输入2": "86" - }, - "/carry/data/character_set": { - "BUFF输入2": "86" - } -} diff --git a/ResourceFiles/归元·气功师·男/人物.png b/ResourceFiles/归元·气功师·男/人物.png deleted file mode 100644 index f8746f21..00000000 Binary files a/ResourceFiles/归元·气功师·男/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/技能/念兽:龙虎啸1.png b/ResourceFiles/归元·气功师·男/技能/念兽:龙虎啸1.png deleted file mode 100644 index 64b24f44..00000000 Binary files a/ResourceFiles/归元·气功师·男/技能/念兽:龙虎啸1.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/技能/念气波:蓄念炮.png b/ResourceFiles/归元·气功师·男/技能/念气波:蓄念炮.png deleted file mode 100644 index 1ccb786b..00000000 Binary files a/ResourceFiles/归元·气功师·男/技能/念气波:蓄念炮.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/技能/念气环绕1.png b/ResourceFiles/归元·气功师·男/技能/念气环绕1.png deleted file mode 100644 index d24993fb..00000000 Binary files a/ResourceFiles/归元·气功师·男/技能/念气环绕1.png and /dev/null differ diff --git a/ResourceFiles/归元·气功师·男/技能/念气罩.png b/ResourceFiles/归元·气功师·男/技能/念气罩.png deleted file mode 100644 index 81b58e09..00000000 Binary files a/ResourceFiles/归元·气功师·男/技能/念气罩.png and /dev/null differ diff --git a/ResourceFiles/归元·街霸·女/bg.jpg b/ResourceFiles/归元·街霸·女/bg.jpg deleted file mode 100644 index 5aafb9e3..00000000 Binary files a/ResourceFiles/归元·街霸·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·街霸·女/reset/char.json b/ResourceFiles/归元·街霸·女/reset/char.json deleted file mode 100644 index 78c1155b..00000000 --- a/ResourceFiles/归元·街霸·女/reset/char.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "死亡毒雾力智开关": false, - "毒伤结算丢失开关": false, - "毒雷个数数选择": 8, - "毒雾中毒次数选择": 10 -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_1.json b/ResourceFiles/归元·街霸·女/reset/page_1.json deleted file mode 100644 index 307ac5a1..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 1 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_2.json b/ResourceFiles/归元·街霸·女/reset/page_2.json deleted file mode 100644 index b962aacc..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_2.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "BUFF输入": "850", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 0, - "护石栏": [6, 7, 1], - "护石类型": [0, 0, 0], - "符文技能": [10, 10, 10, 10, 10, 10, 10, 10, 10], - "符文效果": [15, 14, 13, 15, 14, 13, 15, 14, 13], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "抛沙": { - "等级": 48, - "TP": 0, - "次数": "4", - "宠物": "1" - }, - "擒月炎": { - "等级": 46, - "TP": 5, - "次数": "4", - "宠物": "1" - }, - "毒影针": { - "等级": 43, - "TP": 1, - "次数": "3", - "宠物": "1" - }, - "双重投掷": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "爪精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "砖袭": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "天罗地网": { - "等级": 1, - "TP": 1, - "次数": "2", - "宠物": "0" - }, - "挑衅": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "伏虎霸王拳": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "狂·霸王拳": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "裂地飞沙": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "毒雷引爆": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "街头风暴": { - "等级": 31, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "猛毒之血": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死亡毒雾": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "猛毒擒月炎": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "爆碎砖袭": { - "等级": 18, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "猛毒之伤": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "连环毒爆弹": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "毒龙轰天雷": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "万毒噬心诀": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "禁技:万毒蛇窟": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "万毒噬心诀x5": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "万毒噬心诀x4": { - "等级": 0, - "TP": 0, - "次数": "16.0", - "宠物": "3" - }, - "万毒噬心诀x3": { - "等级": 0, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "身化万毒": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "钻心毒爆": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "万毒噬心诀:毒龙吞天": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_3.json b/ResourceFiles/归元·街霸·女/reset/page_3.json deleted file mode 100644 index 92d03ddf..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 9, 9, -1, -1, 0, 5, -1, -1, 22] - ] -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_4.json b/ResourceFiles/归元·街霸·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_5.json b/ResourceFiles/归元·街霸·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·街霸·女/reset/page_6.json b/ResourceFiles/归元·街霸·女/reset/page_6.json deleted file mode 100644 index f3dcaebc..00000000 --- a/ResourceFiles/归元·街霸·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·街霸·女/人物.png b/ResourceFiles/归元·街霸·女/人物.png deleted file mode 100644 index 90cd335c..00000000 Binary files a/ResourceFiles/归元·街霸·女/人物.png and /dev/null differ diff --git a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x3.png b/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x3.png deleted file mode 100644 index 6a2b055c..00000000 Binary files a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x3.png and /dev/null differ diff --git a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x4.png b/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x4.png deleted file mode 100644 index 6a2b055c..00000000 Binary files a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x4.png and /dev/null differ diff --git a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x5.png b/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x5.png deleted file mode 100644 index 6a2b055c..00000000 Binary files a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀x5.png and /dev/null differ diff --git a/ResourceFiles/归元·街霸·男/bg.jpg b/ResourceFiles/归元·街霸·男/bg.jpg deleted file mode 100644 index 65c3998b..00000000 Binary files a/ResourceFiles/归元·街霸·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/归元·街霸·男/reset/char.json b/ResourceFiles/归元·街霸·男/reset/char.json deleted file mode 100644 index 9f7c1a45..00000000 --- a/ResourceFiles/归元·街霸·男/reset/char.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "毒瓶强化": false, - "毒针强化": false, - "砖块强化": false, - "污桶强化": true, - "爆狱强化": true -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_1.json b/ResourceFiles/归元·街霸·男/reset/page_1.json deleted file mode 100644 index f2f02645..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_2.json b/ResourceFiles/归元·街霸·男/reset/page_2.json deleted file mode 100644 index fd24e5a8..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "79", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "抛沙": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毒瓶投掷": { - "等级": 31, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "擒月炎": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "爪精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毒针投掷": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "砖块投掷": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "伏虎霸王拳": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "挑衅": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "螺旋滑铲": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "罗网投掷": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "毒雷引爆": { - "等级": 33, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "狂·霸王拳": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血色风暴": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "千手奥义": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "天崩地裂": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "爆破污桶": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "千锁乱舞": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "诡诈之道": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗街夺命锁": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "飞沙走石": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "燃火轰天炮": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "逆道·皆允": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "逆道·爆狱": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "逆道·幽链之界": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_3.json b/ResourceFiles/归元·街霸·男/reset/page_3.json deleted file mode 100644 index 2d0c381c..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 19] - ] -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_4.json b/ResourceFiles/归元·街霸·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_5.json b/ResourceFiles/归元·街霸·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/归元·街霸·男/reset/page_6.json b/ResourceFiles/归元·街霸·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/归元·街霸·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/归元·街霸·男/人物.png b/ResourceFiles/归元·街霸·男/人物.png deleted file mode 100644 index 64ef146f..00000000 Binary files a/ResourceFiles/归元·街霸·男/人物.png and /dev/null differ diff --git a/ResourceFiles/战斗·知源·小魔女/bg.jpg b/ResourceFiles/战斗·知源·小魔女/bg.jpg deleted file mode 100644 index a3b058a6..00000000 Binary files a/ResourceFiles/战斗·知源·小魔女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/战斗·知源·小魔女/reset/store.json b/ResourceFiles/战斗·知源·小魔女/reset/store.json deleted file mode 100644 index 42998e1a..00000000 --- a/ResourceFiles/战斗·知源·小魔女/reset/store.json +++ /dev/null @@ -1,1681 +0,0 @@ -{ - "/carry/data/avatar": [ - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3 - ], - "/carry/data/detail_values": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "03", - "", - "", - "20", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "", - "", - "70", - "", - "", - "", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "" - ] - ], - "/carry/data/detail_options": [ - [ - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 10, - -1, - -1, - 1, - 1, - -1, - -1, - -1, - -1, - 0 - ], - [ - -1, - -1, - 1, - 1, - 1, - -1, - -1, - -1, - 1, - -1, - -1, - -1, - 1, - 1, - -1, - -1, - -1 - ], - [ - -1, - -1, - 0, - 0, - 0, - -1, - -1, - -1, - -1, - -1, - -1, - -1, - 0, - 5, - -1, - -1, - -1 - ] - ], - "/carry/data/myth_properties": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/remodel_upgrade": false, - "/carry/data/weapon_adaptive_mode": 0, - "/carry/data/nameless_elemental_value": 3, - "/carry/data/jude_effects": [ - 0, - 0, - 0, - 0 - ], - "/carry/data/jude_values": [ - -1, - -1, - -1, - -1 - ], - "/carry/data/astaroth_options": [ - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/black_purgatory": [ - [ - 0, - 0, - 0 - ], - [ - 0, - 0, - 0 - ], - [ - 0, - 0, - 0 - ], - [ - 0, - 0, - 0 - ] - ], - "/carry/data/siroco": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/ozma": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/self_select/equips": [ - [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ] - ], - "/carry/data/self_select/column_index": 0, - "/carry/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/title": 0, - "/carry/data/pet": 0, - "/carry/data/compute_mode": 0, - "/carry/data/ditto_checked": false, - "/carry/data/pet_equip_adaptive": false, - "/carry/data/aura_adaptive": false, - "/carry/data/myth_top_checked": false, - "/carry/data/damage_unit": false, - "/carry/data/thread_count": 1, - "/carry/data/attack_elemental": 0, - "/carry/data/remodel_limit": 2, - "/carry/data/equip_checked": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/equip_forges": [ - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 10, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 5, - 8, - 0 - ], - "/carry/data/equip_conditions": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/buff_input": "70", - "/carry/data/time_input": "25", - "/carry/data/awakening_binding": 1, - "/carry/data/talismans": [ - 0, - 0, - 0 - ], - "/carry/data/talisman_types": [ - 0, - 0, - 0 - ], - "/carry/data/runes_skills": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/runes_effects": [ - 3, - 3, - 4, - 3, - 3, - 4, - 3, - 3, - 4 - ], - "/carry/data/consumables": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/skill": { - "别过来!": { - "level": 50, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "玫瑰藤蔓": { - "level": 48, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "疯狂乱抓": { - "level": 46, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "人偶操纵者": { - "level": 31, - "tp": 0, - "count": "0", - "pet": "0" - }, - "邪恶的好奇心": { - "level": 5, - "tp": 0, - "count": "0", - "pet": "0" - }, - "小魔女的偏爱": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "疯熊火箭拳": { - "level": 43, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "蔷薇藤鞭": { - "level": 43, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "火热的爱意": { - "level": 29, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "疯熊守护": { - "level": 38, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "疯疯熊坠击": { - "level": 36, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "蔷薇囚狱": { - "level": 33, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "死命召唤": { - "level": 1, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "林中小屋": { - "level": 1, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "变大吧!疯疯熊": { - "level": 31, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "少女的爱": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "开幕!人偶剧场": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "人偶戏法": { - "level": 23, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "哇咔咔!": { - "level": 18, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "苦痛庭院": { - "level": 16, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "冥月绽放": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "咆哮吧!疯疯熊": { - "level": 13, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "欢迎光临人偶之森": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "不祥的微笑": { - "level": 4, - "tp": 0, - "count": "0", - "pet": "0" - }, - "挚爱囚笼": { - "level": 6, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "终幕!人偶剧场": { - "level": 2, - "tp": 0, - "count": "/CD", - "pet": "0" - } - }, - "/carry/data/weapon_fusion": [ - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/character_set": {}, - "/carry/data/remodel_properties": [ - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ], - "/carry/data/siroco_weapon": null -} \ No newline at end of file diff --git a/ResourceFiles/战斗·知源·小魔女/人物.png b/ResourceFiles/战斗·知源·小魔女/人物.png deleted file mode 100644 index 119edeff..00000000 Binary files a/ResourceFiles/战斗·知源·小魔女/人物.png and /dev/null differ diff --git a/ResourceFiles/战斗·知源·小魔女/职业.png b/ResourceFiles/战斗·知源·小魔女/职业.png deleted file mode 100644 index 26e87e3e..00000000 Binary files a/ResourceFiles/战斗·知源·小魔女/职业.png and /dev/null differ diff --git a/ResourceFiles/战斗·神启·圣骑士/bg.jpg b/ResourceFiles/战斗·神启·圣骑士/bg.jpg deleted file mode 100644 index a0974529..00000000 Binary files a/ResourceFiles/战斗·神启·圣骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/char.json b/ResourceFiles/战斗·神启·圣骑士/reset/char.json deleted file mode 100644 index 71d8c086..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "反身空斩打": false -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_1.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_1.json deleted file mode 100644 index 4cd8ba2c..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_2.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_2.json deleted file mode 100644 index 485772a2..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "97.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [1, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [6, 6, 6, 6, 6, 6, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "空斩打": { - "等级": 10, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "落凤锤": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "勇气恩赐": { - "等级": 15, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "光之复仇": { - "等级": 43, - "TP": 0, - "次数": "50.0", - "宠物": "20.0" - }, - "纯白之刃": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "坚定信念": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "胜利之矛": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "圣光十字": { - "等级": 41, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "圣光沁盾": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "圣光琉璃碎": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "圣光聚合": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "忏悔之锤": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "正义审判": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "信念光环": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "天启之珠": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "圣光突袭": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "神圣之矛": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "神圣之光": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "圣佑结界": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "神罚之锤": { - "等级": 13, - "TP": 3, - "次数": "1", - "宠物": "0" - }, - "神圣洗礼:信仰之翼": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "神之代行者": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "神罚之锤:天怒": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "生命礼赞:神威": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_3.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_3.json deleted file mode 100644 index 819e390e..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 4, 4, -1, -1, 0, 5, -1, -1, 4] - ] -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_4.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_5.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/战斗·神启·圣骑士/reset/page_6.json b/ResourceFiles/战斗·神启·圣骑士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/战斗·神启·圣骑士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/战斗·神启·圣骑士/人物.png b/ResourceFiles/战斗·神启·圣骑士/人物.png deleted file mode 100644 index 24d1389b..00000000 Binary files a/ResourceFiles/战斗·神启·圣骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·刃影/bg.jpg b/ResourceFiles/极诣·刃影/bg.jpg deleted file mode 100644 index 9ba92185..00000000 Binary files a/ResourceFiles/极诣·刃影/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·刃影/reset/char.json b/ResourceFiles/极诣·刃影/reset/char.json deleted file mode 100644 index 8e4e23e1..00000000 --- a/ResourceFiles/极诣·刃影/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "回旋十字斩形态开关": true, - "秘术·曜夜斩收刀": true -} diff --git a/ResourceFiles/极诣·刃影/reset/page_1.json b/ResourceFiles/极诣·刃影/reset/page_1.json deleted file mode 100644 index ad9c3735..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·刃影/reset/page_2.json b/ResourceFiles/极诣·刃影/reset/page_2.json deleted file mode 100644 index 260353cf..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_2.json +++ /dev/null @@ -1,192 +0,0 @@ -{ - "BUFF输入": "100.0", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [6, 3, 7], - "护石类型": [0, 0, 0], - "符文技能": [13, 13, 13, 13, 13, 13, 13, 13, 13], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "双重斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼缚钉": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "孤勇之志": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冲击斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "回旋勾斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "封喉丝": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "利刃旋风": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "白牙落斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "疾刃之影": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "薄暮利刃": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "黑夜之花": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "回旋十字斩": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "刃之决意": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "夜之风": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "秘术·心斩": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "收刀秘术": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "沉寂之狱": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "瞬影碎魂击": { - "等级": 23, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "追命索魂丝": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "无情夜行": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "秘术·曜夜斩": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "悬丝风暴": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "黑曜真刃·破晓": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "夜色杀意": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "绚烂之舞": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "秘术·雨夜终曲": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/极诣·刃影/reset/page_3.json b/ResourceFiles/极诣·刃影/reset/page_3.json deleted file mode 100644 index e4feb8f6..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "03", - "", - "", - "20", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "", - "", - "70", - "", - "", - "", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 13, 13, -1, -1, 0, 5, -1, -1, 13] - ] -} diff --git a/ResourceFiles/极诣·刃影/reset/page_4.json b/ResourceFiles/极诣·刃影/reset/page_4.json deleted file mode 100644 index 01629aa2..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·刃影/reset/page_5.json b/ResourceFiles/极诣·刃影/reset/page_5.json deleted file mode 100644 index 41e2daf3..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·刃影/reset/page_6.json b/ResourceFiles/极诣·刃影/reset/page_6.json deleted file mode 100644 index 2865c845..00000000 --- a/ResourceFiles/极诣·刃影/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·刃影/人物.PNG b/ResourceFiles/极诣·刃影/人物.PNG deleted file mode 100644 index e6203f07..00000000 Binary files a/ResourceFiles/极诣·刃影/人物.PNG and /dev/null differ diff --git a/ResourceFiles/极诣·剑影/bg.jpg b/ResourceFiles/极诣·剑影/bg.jpg deleted file mode 100644 index 7759a532..00000000 Binary files a/ResourceFiles/极诣·剑影/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·剑影/reset/char.json b/ResourceFiles/极诣·剑影/reset/char.json deleted file mode 100644 index 5fd8263b..00000000 --- a/ResourceFiles/极诣·剑影/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "鬼连斩极显示开关": false, - "无式极影剑形态选择": 0 -} diff --git a/ResourceFiles/极诣·剑影/reset/page_1.json b/ResourceFiles/极诣·剑影/reset/page_1.json deleted file mode 100644 index 81d9f559..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·剑影/reset/page_2.json b/ResourceFiles/极诣·剑影/reset/page_2.json deleted file mode 100644 index af1ec1d7..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_2.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "鬼步": { - "等级": 46, - "TP": 1, - "次数": "5", - "宠物": "1" - }, - "鬼连斩": { - "等级": 46, - "TP": 5, - "次数": "4", - "宠物": "1" - }, - "剑影太刀精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻鬼:一闪": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "幻鬼之力": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼连牙": { - "等级": 27, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "幻鬼:连斩": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "共鸣:离魂一闪": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魂破斩": { - "等级": 36, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "共鸣:鬼灵斩": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "幻鬼:回天": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "冥灵断魂斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "冥夜鬼天杀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "鬼夜": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻鬼:奈落": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "共鸣:聚渊": { - "等级": 18, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻鬼:大回天": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "鬼咲": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "裂魂乱舞": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "鬼隐·夜奈落": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "睥睨万物": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "无式·极影剑": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "灭魂极影剑·止煞": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "鬼连斩:极": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/极诣·剑影/reset/page_3.json b/ResourceFiles/极诣·剑影/reset/page_3.json deleted file mode 100644 index f9d56795..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 5] - ] -} diff --git a/ResourceFiles/极诣·剑影/reset/page_4.json b/ResourceFiles/极诣·剑影/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·剑影/reset/page_5.json b/ResourceFiles/极诣·剑影/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·剑影/reset/page_6.json b/ResourceFiles/极诣·剑影/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·剑影/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·剑影/人物.png b/ResourceFiles/极诣·剑影/人物.png deleted file mode 100644 index cc3c38ce..00000000 Binary files a/ResourceFiles/极诣·剑影/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·剑魂/bg.jpg b/ResourceFiles/极诣·剑魂/bg.jpg deleted file mode 100644 index 1b9319a1..00000000 Binary files a/ResourceFiles/极诣·剑魂/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·剑魂/reset/store.json b/ResourceFiles/极诣·剑魂/reset/store.json deleted file mode 100644 index ddef46b2..00000000 --- a/ResourceFiles/极诣·剑魂/reset/store.json +++ /dev/null @@ -1,545 +0,0 @@ -{ - "/carry/data/title": 0, - "/carry/data/pet": 0, - "/carry/data/compute_mode": 1, - "/carry/data/ditto_checked": false, - "/carry/data/pet_equip_adaptive": false, - "/carry/data/aura_adaptive": false, - "/carry/data/myth_top_checked": false, - "/carry/data/damage_unit": false, - "/carry/data/thread_count": 1, - "/carry/data/attack_elemental": 0, - "/carry/data/remodel_limit": 2, - "/carry/data/equip_checked": [ - 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/carry/data/equip_conditions": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0], - "/carry/data/buff_input": "82.0", - "/carry/data/time_input": 3, - "/carry/data/awakening_binding": 1, - "/carry/data/talismans": [6, 7, 1], - "/carry/data/talisman_types": [0, 0, 1], - "/carry/data/runes_skills": [11, 11, 11, 11, 11, 11, 11, 11, 11], - "/carry/data/runes_effects": [15, 14, 13, 15, 14, 13, 15, 14, 13], - "/carry/data/consumables": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/skill": { - "基础精通": { - "level": 100, - "tp": 0, - "count": "0", - "pet": "0" - }, - "里鬼剑术": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "武器奥义": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "光剑掌握": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "流心狂": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "无我剑气": { - "level": 5, - "tp": 0, - "count": "0", - "pet": "0" - }, - "流心刺": { - "level": 17, - "tp": 5, - "count": "3", - "pet": "0" - }, - "流心跃": { - "level": 41, - "tp": 5, - "count": "3", - "pet": "1" - }, - "流心升": { - "level": 38, - "tp": 5, - "count": "3", - "pet": "1" - }, - "破军升龙击": { - "level": 38, - "tp": 0, - "count": "0", - "pet": "0" - }, - "拔刀斩": { - "level": 36, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "破军斩龙击": { - "level": 33, - "tp": 0, - "count": "0", - "pet": "0" - }, - "猛龙断空斩": { - "level": 33, - "tp": 5, - "count": "2", - "pet": "0" - }, - "幻影剑舞": { - "level": 31, - "tp": 5, - "count": "1", - "pet": "1" - }, - "极鬼剑术暴风式": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "1" - }, - "极鬼剑术斩铁式": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "极鬼剑术斩钢式": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "极神剑术流星落": { - "level": 23, - "tp": 0, - "count": "0", - "pet": "0" - }, - "破空拔刀斩": { - "level": 18, - "tp": 5, - "count": "1", - "pet": "1" - }, - "极神剑术破空斩": { - "level": 16, - "tp": 0, - "count": "/CD", - "pet": "1" - }, - "极神剑术瞬斩": { - "level": 13, - "tp": 0, - "count": "1", - "pet": "1" - }, - "万剑归宗(终结)": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "1" - }, - "万剑归宗(穿云刺)": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "1" - }, - "极神剑术无形斩": { - "level": 6, - "tp": 0, - "count": "1", - "pet": "1" - }, - "万剑极诣开天斩": { - "level": 2, - "tp": 0, - "count": "1", - "pet": "1" - }, - "极神剑术": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "无形剑意": { - "level": 4, - "tp": 0, - "count": "0", - "pet": "0" - }, - "短剑精通": { - "level": 2, - "tp": 0, - "count": "0", - "pet": "0" - }, - "太刀精通": { - "level": 2, - "tp": 0, - "count": "0", - "pet": "0" - }, - "巨剑精通": { - "level": 2, - "tp": 0, - "count": "0", - "pet": "0" - }, - "钝器精通": { - "level": 2, - "tp": 0, - "count": "0", - "pet": "0" - }, - "光剑精通": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "空中连斩": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "神影手": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - } - }, - "/carry/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/carry/data/detail_values": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "/carry/data/detail_options": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 6, 6, -1, -1, 0, 5, -1, -1, 6] - ], - "/carry/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/remodel_upgrade": false, - "/carry/data/weapon_adaptive_mode": 0, - "/carry/data/nameless_elemental_value": 3, - "/carry/data/siroco_weapon": [0, 0, 0, 0, 0], - "/carry/data/jude_effects": [0, 0, 0, 0], - "/carry/data/jude_values": [-1, -1, -1, -1], - "/carry/data/astaroth_options": [0, 0, 0, 0, 0], - "/carry/data/black_purgatory": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ], - "/carry/data/siroco": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/carry/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/self_select/equips": [[3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0]], - "/carry/data/self_select/column_index": 0, - "/carry/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/character_sets": { - "流心刺状态": false, - "流心跃状态": false, - "太刀刺伤浮动": 0 - }, - "/carry/data/character_set": { - "流心刺状态": false, - "流心跃状态": false, - "太刀刺伤浮动": 0 - }, - "/carry/data/ancient_memory": 10, - "/carry/data/kazan": 10 -} diff --git a/ResourceFiles/极诣·剑魂/人物.png b/ResourceFiles/极诣·剑魂/人物.png deleted file mode 100644 index f6b99267..00000000 Binary files a/ResourceFiles/极诣·剑魂/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·剑魂/技能/万剑归宗(终结).png b/ResourceFiles/极诣·剑魂/技能/万剑归宗(终结).png deleted file mode 100644 index e76cd29e..00000000 Binary files a/ResourceFiles/极诣·剑魂/技能/万剑归宗(终结).png and /dev/null differ diff --git a/ResourceFiles/极诣·契魔者/bg.jpg b/ResourceFiles/极诣·契魔者/bg.jpg deleted file mode 100644 index ccbe0d68..00000000 Binary files a/ResourceFiles/极诣·契魔者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·契魔者/reset/char.json b/ResourceFiles/极诣·契魔者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/极诣·契魔者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/极诣·契魔者/reset/page_1.json b/ResourceFiles/极诣·契魔者/reset/page_1.json deleted file mode 100644 index 4aa5eaaa..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·契魔者/reset/page_2.json b/ResourceFiles/极诣·契魔者/reset/page_2.json deleted file mode 100644 index d7e1ce77..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_2.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "BUFF输入": "100.0", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [3, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 7, 9, 9, 7, 9, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "唤魔蛇腹剑": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "蛇腹剑破": { - "等级": 43, - "TP": 1, - "次数": "3", - "宠物": "1" - }, - "蛇腹剑舞": { - "等级": 43, - "TP": 1, - "次数": "0", - "宠物": "0" - }, - "蛇腹剑刺": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "蛇腹剑缠": { - "等级": 41, - "TP": 1, - "次数": "0", - "宠物": "0" - }, - "蛇腹剑灭": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔剑控制": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血饮狂舞": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "碎魔剑": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "群魔乱舞": { - "等级": 22, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "唤魔塔莫斯之袭": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "贪欲之燔祭": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "空绝斩千刃": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "唤魔逆天之普诺": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "汲血魔剑": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "唤魔弑神剑": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "空绝斩地裂": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "弑神剑极": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "弑神剑诸神献祭": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魔源觉醒": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "蛇舞血轮剑": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "弑神剑恶魔孤岛": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/极诣·契魔者/reset/page_3.json b/ResourceFiles/极诣·契魔者/reset/page_3.json deleted file mode 100644 index 745684f4..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 7, 7, -1, -1, 0, 5, -1, -1, 7] - ] -} diff --git a/ResourceFiles/极诣·契魔者/reset/page_4.json b/ResourceFiles/极诣·契魔者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·契魔者/reset/page_5.json b/ResourceFiles/极诣·契魔者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·契魔者/reset/page_6.json b/ResourceFiles/极诣·契魔者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·契魔者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·契魔者/人物.png b/ResourceFiles/极诣·契魔者/人物.png deleted file mode 100644 index 26bcf251..00000000 Binary files a/ResourceFiles/极诣·契魔者/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·暗殿骑士/bg.jpg b/ResourceFiles/极诣·暗殿骑士/bg.jpg deleted file mode 100644 index 910c9909..00000000 Binary files a/ResourceFiles/极诣·暗殿骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·暗殿骑士/reset/char.json b/ResourceFiles/极诣·暗殿骑士/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_1.json b/ResourceFiles/极诣·暗殿骑士/reset/page_1.json deleted file mode 100644 index 4aa5eaaa..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_2.json b/ResourceFiles/极诣·暗殿骑士/reset/page_2.json deleted file mode 100644 index d972b59b..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "65.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [10, 10, 10, 10, 10, 10, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "暗影之矛": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "乌希尔的诅咒": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影缠袭": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影漩涡": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "汲魂之力": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影禁锢": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "灵魂摄取": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "释魂飞弹": { - "等级": 26, - "TP": 0, - "次数": "2", - "宠物": "2" - }, - "魅影暗魂斩": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔镜幻影阵": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "释魂狂怒": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "暗影囚杀": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影盛宴": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "灵魂傀儡": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "末日杀戮": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "魔影轰杀": { - "等级": 23, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "死亡献祭": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "天罚死光": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "薄暮": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "天罚之剑": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "神罚·灭世裁决": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "以身载灵": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影绽放:死亡荆棘": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "冥王降临:净土救赎": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_3.json b/ResourceFiles/极诣·暗殿骑士/reset/page_3.json deleted file mode 100644 index f9d56795..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 5] - ] -} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_4.json b/ResourceFiles/极诣·暗殿骑士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_5.json b/ResourceFiles/极诣·暗殿骑士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·暗殿骑士/reset/page_6.json b/ResourceFiles/极诣·暗殿骑士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·暗殿骑士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·暗殿骑士/人物.png b/ResourceFiles/极诣·暗殿骑士/人物.png deleted file mode 100644 index 76557ad7..00000000 Binary files a/ResourceFiles/极诣·暗殿骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·流浪武士/bg.jpg b/ResourceFiles/极诣·流浪武士/bg.jpg deleted file mode 100644 index 5f196691..00000000 Binary files a/ResourceFiles/极诣·流浪武士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·流浪武士/reset/char.json b/ResourceFiles/极诣·流浪武士/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_1.json b/ResourceFiles/极诣·流浪武士/reset/page_1.json deleted file mode 100644 index 89d7764a..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_2.json b/ResourceFiles/极诣·流浪武士/reset/page_2.json deleted file mode 100644 index 00c7ab22..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "125", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [10, 10, 10, 10, 10, 10, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "返本归元": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "三花聚顶": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "七星耀华": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "剑仙之境": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "四象引": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "一花渡江": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "樱落斩": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "圆舞斩": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "碎岩裂地掌": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "游龙掌": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "乱花葬": { - "等级": 24, - "TP": 1, - "次数": "1", - "宠物": "0" - }, - "回天璇鸣剑": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "湮烈掌": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "花舞千魂杀": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "花开寒影": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "啸空十字斩": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "如来神掌": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "莲花剑舞": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "樱花劫": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "飞花逐月": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "落英惊鸿掌": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "轻云出月风静夜": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "光剑掌握": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_3.json b/ResourceFiles/极诣·流浪武士/reset/page_3.json deleted file mode 100644 index 407b0173..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "8", - "", - "", - "20", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "197", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "192", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "77", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_4.json b/ResourceFiles/极诣·流浪武士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_5.json b/ResourceFiles/极诣·流浪武士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·流浪武士/reset/page_6.json b/ResourceFiles/极诣·流浪武士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·流浪武士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·流浪武士/人物.png b/ResourceFiles/极诣·流浪武士/人物.png deleted file mode 100644 index 5eb843b3..00000000 Binary files a/ResourceFiles/极诣·流浪武士/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·狂战士/bg.jpg b/ResourceFiles/极诣·狂战士/bg.jpg deleted file mode 100644 index cc82c6f0..00000000 Binary files a/ResourceFiles/极诣·狂战士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·狂战士/reset/char.json b/ResourceFiles/极诣·狂战士/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/极诣·狂战士/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/极诣·狂战士/reset/page_1.json b/ResourceFiles/极诣·狂战士/reset/page_1.json deleted file mode 100644 index de2147e2..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·狂战士/reset/page_2.json b/ResourceFiles/极诣·狂战士/reset/page_2.json deleted file mode 100644 index d022f74e..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_2.json +++ /dev/null @@ -1,163 +0,0 @@ -{ - "BUFF输入": "116", - "时间输入": 20, - "觉醒选择": 1, - "刀魂之卡赞": 10, - "护石栏": [1, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [4, 4, 4, 4, 4, 4, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "崩山击": { - "等级": 48, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "十字斩": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血之狂暴": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血气唤醒": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "嗜魂之手": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "怒气爆发": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "嗜魂封魔斩": { - "等级": 36, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "暴怒狂斩": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "嗜血": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血气之刃": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "崩山裂地斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "鲜血之忆": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔狱血刹": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "鲜血暴掠": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血气爆发": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "汲血之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "浴血之怒": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "致命血陨": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血魔弑天": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血气界限": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "疯魔血魂斩": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血魔极道灭世": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/极诣·狂战士/reset/page_3.json b/ResourceFiles/极诣·狂战士/reset/page_3.json deleted file mode 100644 index 79a1b3f7..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 4, 4, -1, -1, 0, 5, -1, -1, 16] - ] -} diff --git a/ResourceFiles/极诣·狂战士/reset/page_4.json b/ResourceFiles/极诣·狂战士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·狂战士/reset/page_5.json b/ResourceFiles/极诣·狂战士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·狂战士/reset/page_6.json b/ResourceFiles/极诣·狂战士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·狂战士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·狂战士/人物.png b/ResourceFiles/极诣·狂战士/人物.png deleted file mode 100644 index 5534a9a0..00000000 Binary files a/ResourceFiles/极诣·狂战士/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·阿修罗/bg.jpg b/ResourceFiles/极诣·阿修罗/bg.jpg deleted file mode 100644 index f51e1561..00000000 Binary files a/ResourceFiles/极诣·阿修罗/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·阿修罗/reset/char.json b/ResourceFiles/极诣·阿修罗/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_1.json b/ResourceFiles/极诣·阿修罗/reset/page_1.json deleted file mode 100644 index 0d8ad999..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0] -} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_2.json b/ResourceFiles/极诣·阿修罗/reset/page_2.json deleted file mode 100644 index 611ddf7c..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_2.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "BUFF输入": "59.0", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "刀魂之卡赞": 10, - "护石栏": [1, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [1, 1, 1, 1, 1, 1, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "波动刻印": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "地裂·波动剑": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼印珠": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "邪光斩": { - "等级": 43, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "修罗邪光斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "波动爆发": { - "等级": 27, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "挫折意志": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冰刃·波动剑": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "杀意波动": { - "等级": 10, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "爆炎·波动剑": { - "等级": 36, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "无双波": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "邪光波动阵": { - "等级": 33, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "不动明王阵": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "心眼": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗天波动眼": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "波动剑·光翼": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "波动眼·天照": { - "等级": 0, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "波动剑·闪枪": { - "等级": 0, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "波动剑·刺轮": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "极冰·裂波剑": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "极炎·裂波剑": { - "等级": 10, - "TP": 1, - "次数": "1", - "宠物": "1" - }, - "天雷·波动剑": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "雷神之息": { - "等级": 11, - "TP": 0, - "次数": "8", - "宠物": "3" - }, - "天雷·降魔杵": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "天雷·降魔杵(雷针)": { - "等级": 1, - "TP": 0, - "次数": "7", - "宠物": "3" - }, - "雷神降世:裁决": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "波动视界:慧眼": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "波动慧眼:无为法": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "波动神诀:万空": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_3.json b/ResourceFiles/极诣·阿修罗/reset/page_3.json deleted file mode 100644 index 9b754f2a..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 8, 8, -1, -1, 0, 5, -1, -1, 24] - ] -} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_4.json b/ResourceFiles/极诣·阿修罗/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_5.json b/ResourceFiles/极诣·阿修罗/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·阿修罗/reset/page_6.json b/ResourceFiles/极诣·阿修罗/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·阿修罗/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·阿修罗/人物.png b/ResourceFiles/极诣·阿修罗/人物.png deleted file mode 100644 index b5a9784f..00000000 Binary files a/ResourceFiles/极诣·阿修罗/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·驭剑士/bg.jpg b/ResourceFiles/极诣·驭剑士/bg.jpg deleted file mode 100644 index 029c70c6..00000000 Binary files a/ResourceFiles/极诣·驭剑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·驭剑士/reset/char.json b/ResourceFiles/极诣·驭剑士/reset/char.json deleted file mode 100644 index a12540e5..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/char.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "破剑阵开关": true, - "钻头蓄力开关": true, - "一觉CD": false, - "魔剑降临选择": 1, - "魔剑堆层数选择": 1, - "冰刀三绝斩倍率": 7 -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_1.json b/ResourceFiles/极诣·驭剑士/reset/page_1.json deleted file mode 100644 index f18c0f60..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_2.json b/ResourceFiles/极诣·驭剑士/reset/page_2.json deleted file mode 100644 index b8abfe30..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_2.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "BUFF输入": "71.0", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "帝国剑术": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "毁灭之巨剑精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "波动之钝器精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血影之太刀精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔性之短剑精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔剑降临": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "疾影斩": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻剑术": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "升龙剑": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔剑觉醒": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "穿云破空剑": { - "等级": 26, - "TP": 1, - "次数": "2", - "宠物": "0" - }, - "魔剑奥义": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "破军旋舞斩": { - "等级": 24, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "瞬影三绝斩": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "雷鸣千军破": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "恶即斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "极·驭剑术(时空斩)": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "斩魂术": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "裂刃天冲": { - "等级": 23, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "幻剑阵": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "破剑阵": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "帝皇盟约": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "飓风魔剑": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "誓约之剑:雷沃汀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "剑心:魔剑觉醒": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "极诣·驭剑术:聚魔剑": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "誓约之引:万剑之巅": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_3.json b/ResourceFiles/极诣·驭剑士/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_4.json b/ResourceFiles/极诣·驭剑士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_5.json b/ResourceFiles/极诣·驭剑士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·驭剑士/reset/page_6.json b/ResourceFiles/极诣·驭剑士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·驭剑士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·驭剑士/人物.png b/ResourceFiles/极诣·驭剑士/人物.png deleted file mode 100644 index c9d2b913..00000000 Binary files a/ResourceFiles/极诣·驭剑士/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·鬼泣/bg.jpg b/ResourceFiles/极诣·鬼泣/bg.jpg deleted file mode 100644 index 72b65b25..00000000 Binary files a/ResourceFiles/极诣·鬼泣/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·鬼泣/reset/char.json b/ResourceFiles/极诣·鬼泣/reset/char.json deleted file mode 100644 index eee656e5..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "布雷德开关": false -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_1.json b/ResourceFiles/极诣·鬼泣/reset/page_1.json deleted file mode 100644 index 4cebffa8..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_2.json b/ResourceFiles/极诣·鬼泣/reset/page_2.json deleted file mode 100644 index 56776830..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_2.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "BUFF输入": "69.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [2, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [6, 6, 6, 6, 6, 6, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼斩": { - "等级": 51, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "刀魂之卡赞": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "侵蚀之普戾蒙": { - "等级": 2, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "太刀精通": { - "等级": 31, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "短剑精通": { - "等级": 31, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗月降临": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "月光斩": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼影步": { - "等级": 20, - "TP": 3, - "次数": "5", - "宠物": "0" - }, - "噬灵鬼斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼影鞭": { - "等级": 26, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冰霜之萨亚": { - "等级": 39, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "死亡墓碑": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "瘟疫之罗刹": { - "等级": 37, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "鬼斩:狂怒": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "鬼影闪": { - "等级": 33, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "冥炎之卡洛": { - "等级": 32, - "TP": 5, - "次数": "5", - "宠物": "0" - }, - "冥炎之卡洛(灼烧)": { - "等级": 1, - "TP": 0, - "次数": "8", - "宠物": "3" - }, - "冥炎剑": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "恐惧光环": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "第七鬼神:邪神怖之拉修": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "鬼斩:炼狱": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "冥祭之沼": { - "等级": 18, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "御鬼之极": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幽魂之布雷德": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "幽魂降临:式": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "王者号令:吉格降临": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "鬼神冠冕": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鬼神剑·黄泉摆渡": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "黄泉之门:万鬼度灵": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_3.json b/ResourceFiles/极诣·鬼泣/reset/page_3.json deleted file mode 100644 index 9246451b..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, -1, -1, -1, 0, 1, -1, -1, -1], - [-1, -1, 2, 2, 2, -1, -1, -1, 7, 7, -1, -1, 1, 5, -1, -1, 24] - ] -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_4.json b/ResourceFiles/极诣·鬼泣/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_5.json b/ResourceFiles/极诣·鬼泣/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·鬼泣/reset/page_6.json b/ResourceFiles/极诣·鬼泣/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/极诣·鬼泣/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·鬼泣/人物.png b/ResourceFiles/极诣·鬼泣/人物.png deleted file mode 100644 index 8866ec06..00000000 Binary files a/ResourceFiles/极诣·鬼泣/人物.png and /dev/null differ diff --git a/ResourceFiles/极诣·黑暗武士/bg.jpg b/ResourceFiles/极诣·黑暗武士/bg.jpg deleted file mode 100644 index 2688140f..00000000 Binary files a/ResourceFiles/极诣·黑暗武士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/极诣·黑暗武士/reset/char.json b/ResourceFiles/极诣·黑暗武士/reset/char.json deleted file mode 100644 index 3ad4f232..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/char.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "护甲精通选择": 1, - "技能-0-0": 27, - "技能-0-1": 28, - "技能-0-2": 32, - "技能-0-3": 24, - "技能-0-4": 34, - "技能-0-5": 33, - "技能-1-0": 20, - "技能-1-1": 2, - "技能-1-2": 6, - "技能-1-3": 16, - "技能-1-4": 21, - "技能-1-5": 0, - "技能-2-0": 1, - "技能-2-1": 14, - "技能-2-2": 7, - "技能-2-3": 18, - "技能-2-4": 8, - "技能-2-5": 0, - "技能-3-0": 10, - "技能-3-1": 3, - "技能-3-2": 13, - "技能-3-3": 12, - "技能-3-4": 19, - "技能-3-5": 0, - "技能-4-0": 4, - "技能-4-1": 11, - "技能-4-2": 17, - "技能-4-3": 26, - "技能-4-4": 22, - "技能-4-5": 0, - "技能-5-0": 29, - "技能-5-1": 30, - "技能-5-2": 25, - "技能-5-3": 31, - "技能-5-4": 23, - "技能-5-5": 0 -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_1.json b/ResourceFiles/极诣·黑暗武士/reset/page_1.json deleted file mode 100644 index 3b38c0d1..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 1 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_2.json b/ResourceFiles/极诣·黑暗武士/reset/page_2.json deleted file mode 100644 index 5b326328..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_2.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "BUFF输入": "54", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [5, 6, 0], - "护石类型": [0, 0, 0], - "符文技能": [18, 18, 18, 18, 18, 18, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "挑击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑暗十字斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影·波动剑": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋涡斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "滑斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "跃斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "跃地斩": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冥光斩": { - "等级": 48, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "瞬影斩": { - "等级": 41, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "暗月斩": { - "等级": 3, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影三击剑": { - "等级": 2, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗劲爆发": { - "等级": 46, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "邪影·波动剑": { - "等级": 43, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "暗魂之手": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "突刺": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影鞭": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "灭魂封魔斩": { - "等级": 41, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "冥魂珠": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "暗影升龙击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冥魂之陨": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "破魂之刃": { - "等级": 36, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "凝魂波动阵": { - "等级": 36, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "破魂斩": { - "等级": 33, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "冥炎破空斩": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "禁魂斩": { - "等级": 33, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "魔狱裂魂斩": { - "等级": 31, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "黑暗明王阵": { - "等级": 31, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "魔影剑舞": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "幽魂剑": { - "等级": 19, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗炎冥魂波": { - "等级": 16, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "斩龙破": { - "等级": 18, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "邪影升龙斩": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "超时空碎裂": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗·短剑精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗·太刀精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗·巨剑精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗·钝器精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗·光剑精通": { - "等级": 30, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "时间停滞": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "次元融合": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "自我觉醒": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗黑溯回斩": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "时空主宰": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "时之止境:幻灭": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "基础精通": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_3.json b/ResourceFiles/极诣·黑暗武士/reset/page_3.json deleted file mode 100644 index 9fbbf446..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 35, 35, -1, -1, 0, 5, -1, -1, 41] - ] -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_4.json b/ResourceFiles/极诣·黑暗武士/reset/page_4.json deleted file mode 100644 index 01629aa2..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_5.json b/ResourceFiles/极诣·黑暗武士/reset/page_5.json deleted file mode 100644 index 41e2daf3..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/极诣·黑暗武士/reset/page_6.json b/ResourceFiles/极诣·黑暗武士/reset/page_6.json deleted file mode 100644 index 8efabd46..00000000 --- a/ResourceFiles/极诣·黑暗武士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/极诣·黑暗武士/人物.png b/ResourceFiles/极诣·黑暗武士/人物.png deleted file mode 100644 index 53688e51..00000000 Binary files a/ResourceFiles/极诣·黑暗武士/人物.png and /dev/null differ diff --git a/ResourceFiles/皓曦·帕拉丁/bg.jpg b/ResourceFiles/皓曦·帕拉丁/bg.jpg deleted file mode 100644 index 5ed6634e..00000000 Binary files a/ResourceFiles/皓曦·帕拉丁/bg.jpg and /dev/null differ diff --git a/ResourceFiles/皓曦·帕拉丁/reset/char.json b/ResourceFiles/皓曦·帕拉丁/reset/char.json deleted file mode 100644 index 765a94ba..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "蓄力神圣信约": false -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_1.json b/ResourceFiles/皓曦·帕拉丁/reset/page_1.json deleted file mode 100644 index 9f5111cd..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_2.json b/ResourceFiles/皓曦·帕拉丁/reset/page_2.json deleted file mode 100644 index 751f3a69..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_2.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "BUFF输入": "89", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [6, 1, 3], - "护石类型": [0, 1, 1], - "符文技能": [8, 7, 8, 8, 7, 8, 8, 7, 8], - "符文效果": [3, 2, 1, 3, 2, 1, 3, 2, 1], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "天使光翼": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "天使降临": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "荣耀之光": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "戒律": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "普通攻击": { - "等级": 1, - "TP": 1, - "次数": "5", - "宠物": "0" - }, - "神光冲击": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "神光连斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "圣盾突击": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "神光喷涌": { - "等级": 41, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "神光盾击": { - "等级": 38, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "烈光": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "神光闪耀": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "神光闪影击": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "神罚之锤": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "神光之跃": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "信仰聚合神光惩戒": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "圣盾裁决": { - "等级": 23, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "破晓之光": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "神光回旋斩": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "神圣信约": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "神圣意志大天使降临": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "超越之翼": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "神光耀世": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "启示录:末日救赎": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_3.json b/ResourceFiles/皓曦·帕拉丁/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_4.json b/ResourceFiles/皓曦·帕拉丁/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_5.json b/ResourceFiles/皓曦·帕拉丁/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/皓曦·帕拉丁/reset/page_6.json b/ResourceFiles/皓曦·帕拉丁/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/皓曦·帕拉丁/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/皓曦·帕拉丁/人物.png b/ResourceFiles/皓曦·帕拉丁/人物.png deleted file mode 100644 index 9f05d706..00000000 Binary files a/ResourceFiles/皓曦·帕拉丁/人物.png and /dev/null differ diff --git a/ResourceFiles/皓曦·混沌魔灵/bg.jpg b/ResourceFiles/皓曦·混沌魔灵/bg.jpg deleted file mode 100644 index 7b3a07ef..00000000 Binary files a/ResourceFiles/皓曦·混沌魔灵/bg.jpg and /dev/null differ diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/char.json b/ResourceFiles/皓曦·混沌魔灵/reset/char.json deleted file mode 100644 index 1eb22090..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/char.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "第二次魔灵炸弹引爆的战士选择": -1, - "黑暗冲击战士冲击波个数选择": 2, - "绽放·终章战士黑炎个数选择": 4 -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_1.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_1.json deleted file mode 100644 index 1624fb3d..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, - 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0] -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_2.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_2.json deleted file mode 100644 index 60f912f3..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_2.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 11, - "护石栏": [2, 1, 4], - "护石类型": [1, 1, 1], - "符文技能": [5, 5, 5, 5, 5, 5, 5, 5, 5], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "魔灵召唤:波拉斯": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:瓦尔琪": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵血统": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "力量法则": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔灵召唤:狂暴布洛克": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "绝对魅力": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔灵召唤:假面杰森": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:大画家芭芘": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:旋转小冯": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:小吸血鬼夏伊": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:大富翁鲁邦": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:迪克老爹": { - "等级": 17, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "魔灵召唤:红心女王艾丽莎": { - "等级": 1, - "TP": 0, - "次数": "20.0", - "宠物": "10" - }, - "军团列阵": { - "等级": 21, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "连锁共振": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魔灵炸弹": { - "等级": 43, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "魔幻旋风": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毁灭突进": { - "等级": 38, - "TP": 1, - "次数": "2", - "宠物": "1" - }, - "翔空剑": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "碎灵屠戮": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "聚灵升空剑": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "魔能榨取": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔神百裂拳": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "黑暗冲击": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "午夜嘉年华": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "亚丁之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "绚丽耀光": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魔灵乱舞": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "黑曜之眸:亚丁降临": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "黑色曜日": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "绽放·终章": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "盛宴·恶之祭典": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_3.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_4.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_5.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_5.json deleted file mode 100644 index d2032b67..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 2, 2], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/皓曦·混沌魔灵/reset/page_6.json b/ResourceFiles/皓曦·混沌魔灵/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/皓曦·混沌魔灵/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/皓曦·混沌魔灵/人物.png b/ResourceFiles/皓曦·混沌魔灵/人物.png deleted file mode 100644 index 706275a1..00000000 Binary files a/ResourceFiles/皓曦·混沌魔灵/人物.png and /dev/null differ diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/聚灵升空剑.PNG b/ResourceFiles/皓曦·混沌魔灵/技能/聚灵升空剑.PNG deleted file mode 100644 index 281528c1..00000000 Binary files a/ResourceFiles/皓曦·混沌魔灵/技能/聚灵升空剑.PNG and /dev/null differ diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/黑暗冲击.PNG b/ResourceFiles/皓曦·混沌魔灵/技能/黑暗冲击.PNG deleted file mode 100644 index a4cd5bde..00000000 Binary files a/ResourceFiles/皓曦·混沌魔灵/技能/黑暗冲击.PNG and /dev/null differ diff --git a/ResourceFiles/皓曦·精灵骑士/bg.jpg b/ResourceFiles/皓曦·精灵骑士/bg.jpg deleted file mode 100644 index 1a06439e..00000000 Binary files a/ResourceFiles/皓曦·精灵骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/皓曦·精灵骑士/reset/char.json b/ResourceFiles/皓曦·精灵骑士/reset/char.json deleted file mode 100644 index 981e69e8..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "先锋斩倍率": 0 -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_1.json b/ResourceFiles/皓曦·精灵骑士/reset/page_1.json deleted file mode 100644 index f18c0f60..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_2.json b/ResourceFiles/皓曦·精灵骑士/reset/page_2.json deleted file mode 100644 index 1569c2fe..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_2.json +++ /dev/null @@ -1,198 +0,0 @@ -{ - "BUFF输入": "103", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [2, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "骑士信念": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "自然恩泽": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "信仰鼓舞": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "剑盾猛攻": { - "等级": 6, - "TP": 0, - "次数": "30.0", - "宠物": "0" - }, - "强踢": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "盾击": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "致命突刺": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "愤怒冲撞": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "破武之轮": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "守护神鹿": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "审判之盾": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "破甲冲击": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "精灵之跃": { - "等级": 38, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "神木刺击": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "铁壁推进": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "自然束缚": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "一刀两断": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "飓风旋枪": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "天陨断空斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "天马流星落": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "生命审判": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "壁垒突袭": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "剑盾强袭": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "自然之怒": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暮光之灵黄昏独角兽": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "生命的恩宠": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "荆棘之城": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "生命之律·神木擎天": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_3.json b/ResourceFiles/皓曦·精灵骑士/reset/page_3.json deleted file mode 100644 index 3413fc5a..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_4.json b/ResourceFiles/皓曦·精灵骑士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_5.json b/ResourceFiles/皓曦·精灵骑士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/皓曦·精灵骑士/reset/page_6.json b/ResourceFiles/皓曦·精灵骑士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/皓曦·精灵骑士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/皓曦·精灵骑士/人物.png b/ResourceFiles/皓曦·精灵骑士/人物.png deleted file mode 100644 index 8e49fc80..00000000 Binary files a/ResourceFiles/皓曦·精灵骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/bg.jpg b/ResourceFiles/皓曦·龙骑士/bg.jpg deleted file mode 100644 index 06ffa659..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/reset/char.json b/ResourceFiles/皓曦·龙骑士/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_1.json b/ResourceFiles/皓曦·龙骑士/reset/page_1.json deleted file mode 100644 index ed7f1747..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [1, 6, 0, 0, 0, 0, 1, 0, 0, 10, 3, 0] -} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_2.json b/ResourceFiles/皓曦·龙骑士/reset/page_2.json deleted file mode 100644 index bb748450..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_2.json +++ /dev/null @@ -1,210 +0,0 @@ -{ - "BUFF输入": "85.0", - "时间输入": 25, - "觉醒选择": 1, - "护石栏": [6, 2, 4], - "护石类型": [1, 1, 0], - "符文技能": [14, 14, 14, 14, 14, 14, 14, 14, 14], - "符文效果": [3, 2, 4, 3, 2, 4, 3, 2, 4], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 101, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "龙人剑术": { - "等级": 1, - "TP": 3, - "次数": "5", - "宠物": "2" - }, - "火焰吐息": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "龙翼突袭": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "龙语召唤:阿斯特拉": { - "等级": 20, - "TP": 0, - "次数": "4", - "宠物": "2" - }, - "爆破龙角": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "龙拳(地面释放)": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "龙拳(空中释放)": { - "等级": 38, - "TP": 4, - "次数": "4", - "宠物": "1" - }, - "龙之撕咬": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "龙翼穿刺(2hit+踢击)": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "龙翼穿刺(撕咬附着)": { - "等级": 36, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "飞龙斩": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "大胃王": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "龙刃无双": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "魔龙之息(脱手)": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "魔龙之息(骑乘)": { - "等级": 31, - "TP": 5, - "次数": "0", - "宠物": "0" - }, - "魔龙之力": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔龙之力(火球)": { - "等级": 20, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "雷光嘶吼": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "龙皇制裁": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魔龙天翔(脱手)": { - "等级": 18, - "TP": 5, - "次数": "0", - "宠物": "0" - }, - "魔龙天翔(骑乘)": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "龙神血脉": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔龙星落": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "征战无双": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "龙神裁决:终末之光": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "龙血誓约": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "龙咆雷鸣": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "龙神君临·虚空烬灭": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "普通攻击(一轮)": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_3.json b/ResourceFiles/皓曦·龙骑士/reset/page_3.json deleted file mode 100644 index f8a3e1c3..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [0, 0, 0, 0, 0, 0, 0, 0, 0], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 13, 13, -1, -1, 0, 5, -1, -1, 13] - ] -} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_4.json b/ResourceFiles/皓曦·龙骑士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_5.json b/ResourceFiles/皓曦·龙骑士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/皓曦·龙骑士/reset/page_6.json b/ResourceFiles/皓曦·龙骑士/reset/page_6.json deleted file mode 100644 index fb76e7da..00000000 --- a/ResourceFiles/皓曦·龙骑士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [36, 9, 15, 9, 9, 4, 6, 4, 4, 6, 4, 1], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/皓曦·龙骑士/人物.png b/ResourceFiles/皓曦·龙骑士/人物.png deleted file mode 100644 index f4b4a0b0..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙之息(骑乘).png b/ResourceFiles/皓曦·龙骑士/技能/魔龙之息(骑乘).png deleted file mode 100644 index b0d8f7c3..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/技能/魔龙之息(骑乘).png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(脱手).png b/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(脱手).png deleted file mode 100644 index a8ccfbe3..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(脱手).png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(骑乘).png b/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(骑乘).png deleted file mode 100644 index a8ccfbe3..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(骑乘).png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙拳(空中释放).png b/ResourceFiles/皓曦·龙骑士/技能/龙拳(空中释放).png deleted file mode 100644 index b0560f13..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/技能/龙拳(空中释放).png and /dev/null differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙翼穿刺(撕咬附着).png b/ResourceFiles/皓曦·龙骑士/技能/龙翼穿刺(撕咬附着).png deleted file mode 100644 index 741ad3e9..00000000 Binary files a/ResourceFiles/皓曦·龙骑士/技能/龙翼穿刺(撕咬附着).png and /dev/null differ diff --git a/ResourceFiles/知源·元素师/bg.jpg b/ResourceFiles/知源·元素师/bg.jpg deleted file mode 100644 index 2d5f451d..00000000 Binary files a/ResourceFiles/知源·元素师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·元素师/reset/char.json b/ResourceFiles/知源·元素师/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/知源·元素师/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/知源·元素师/reset/page_1.json b/ResourceFiles/知源·元素师/reset/page_1.json deleted file mode 100644 index d3ed2fa3..00000000 --- a/ResourceFiles/知源·元素师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [1, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·元素师/reset/page_2.json b/ResourceFiles/知源·元素师/reset/page_2.json deleted file mode 100644 index 7ebc023a..00000000 --- a/ResourceFiles/知源·元素师/reset/page_2.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "BUFF输入": "85", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [1, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [4, 4, 4, 4, 4, 4, 0, 0, 0], - "符文效果": [2, 1, 3, 2, 1, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "烈焰冲击": { - "等级": 1, - "TP": 0, - "次数": 1, - "宠物": 0 - }, - "属性精通": { - "等级": 5, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "虚无之球": { - "等级": 1, - "TP": 0, - "次数": 1, - "宠物": 0 - }, - "冰墙": { - "等级": 41, - "TP": 5, - "次数": 0, - "宠物": 1 - }, - "雷旋": { - "等级": 1, - "TP": 0, - "次数": 1, - "宠物": 0 - }, - "天雷冲击": { - "等级": 36, - "TP": 5, - "次数": 0, - "宠物": 1 - }, - "极冰盛宴": { - "等级": 33, - "TP": 5, - "次数": 0, - "宠物": 1 - }, - "湮灭黑洞": { - "等级": 33, - "TP": 5, - "次数": 0, - "宠物": 1 - }, - "杰克降临": { - "等级": 31, - "TP": 5, - "次数": 0, - "宠物": 1 - }, - "元素之幕": { - "等级": 19, - "TP": 1, - "次数": 0, - "宠物": 1 - }, - "魔力增幅": { - "等级": 20, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "陨星幻灭": { - "等级": 0, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "元素震荡": { - "等级": 1, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "圣灵水晶": { - "等级": 16, - "TP": 0, - "次数": 0, - "宠物": 1 - }, - "元素奥义": { - "等级": 11, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "元素之门": { - "等级": 13, - "TP": 0, - "次数": 0, - "宠物": 1 - }, - "圣灵符文": { - "等级": 1, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "第六元素": { - "等级": 0, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "魔法秀": { - "等级": 11, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "元素之源": { - "等级": 4, - "TP": 0, - "次数": 0, - "宠物": 0 - }, - "光与暗的交响": { - "等级": 6, - "TP": 0, - "次数": 0, - "宠物": 1 - }, - "宇宙寂灭-冰火之歌": { - "等级": 2, - "TP": 0, - "次数": 0, - "宠物": 1 - } - } -} diff --git a/ResourceFiles/知源·元素师/reset/page_3.json b/ResourceFiles/知源·元素师/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/知源·元素师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/知源·元素师/reset/page_4.json b/ResourceFiles/知源·元素师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·元素师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·元素师/reset/page_5.json b/ResourceFiles/知源·元素师/reset/page_5.json deleted file mode 100644 index 13fc1b3d..00000000 --- a/ResourceFiles/知源·元素师/reset/page_5.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·元素师/reset/page_6.json b/ResourceFiles/知源·元素师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·元素师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·元素师/人物.png b/ResourceFiles/知源·元素师/人物.png deleted file mode 100644 index e59e6a75..00000000 Binary files a/ResourceFiles/知源·元素师/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·元素师/技能/觉醒选择.png b/ResourceFiles/知源·元素师/技能/觉醒选择.png deleted file mode 100644 index 2854409e..00000000 Binary files a/ResourceFiles/知源·元素师/技能/觉醒选择.png and /dev/null differ diff --git a/ResourceFiles/知源·元素爆破师/bg.jpg b/ResourceFiles/知源·元素爆破师/bg.jpg deleted file mode 100644 index a0f57810..00000000 Binary files a/ResourceFiles/知源·元素爆破师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·元素爆破师/reset/char.json b/ResourceFiles/知源·元素爆破师/reset/char.json deleted file mode 100644 index 9f13e8f7..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "地火hit": 6, - "元素禁域减少CD": 8 -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_1.json b/ResourceFiles/知源·元素爆破师/reset/page_1.json deleted file mode 100644 index 7f2de848..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_2.json b/ResourceFiles/知源·元素爆破师/reset/page_2.json deleted file mode 100644 index 0564bb97..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_2.json +++ /dev/null @@ -1,199 +0,0 @@ -{ - "BUFF输入": "107", - "时间输入": 25, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [3, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [1, 2, 3, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "元素循环": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "元素之力": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "元素环绕": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "元素融合": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "元素爆发": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑瞳": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "异瞳": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "元素炮": { - "等级": 1, - "TP": 0, - "次数": "6", - "宠物": "2" - }, - "属性变换": { - "等级": 19, - "TP": 5, - "次数": "5", - "宠物": "0" - }, - "魔球连射": { - "等级": 1, - "TP": 0, - "次数": "4", - "宠物": "0" - }, - "地炎": { - "等级": 41, - "TP": 1, - "次数": "5", - "宠物": "2" - }, - "冰晶坠": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "雷光链": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "暗域扩张": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冰晶之浴": { - "等级": 36, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "旋炎破": { - "等级": 18, - "TP": 1, - "次数": "/CD", - "宠物": "0" - }, - "雷光屏障": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "黑暗禁域": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "元素轰炸": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "幻魔四重奏": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "元素浓缩球": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "元素幻灭": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "元素禁域": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "聚能魔炮": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "末日湮灭": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "聚魔轰击": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "启源·微观宇宙": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "元素禁断": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_3.json b/ResourceFiles/知源·元素爆破师/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_4.json b/ResourceFiles/知源·元素爆破师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_5.json b/ResourceFiles/知源·元素爆破师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·元素爆破师/reset/page_6.json b/ResourceFiles/知源·元素爆破师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·元素爆破师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·元素爆破师/人物.png b/ResourceFiles/知源·元素爆破师/人物.png deleted file mode 100644 index 0581ae06..00000000 Binary files a/ResourceFiles/知源·元素爆破师/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·冰结师/bg.jpg b/ResourceFiles/知源·冰结师/bg.jpg deleted file mode 100644 index 2b23fcbf..00000000 Binary files a/ResourceFiles/知源·冰结师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·冰结师/reset/char.json b/ResourceFiles/知源·冰结师/reset/char.json deleted file mode 100644 index 4dc72e95..00000000 --- a/ResourceFiles/知源·冰结师/reset/char.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "冰针显示开关": false, - "小冰轮次数选择": 6, - "大冰轮次数选择": 2 -} diff --git a/ResourceFiles/知源·冰结师/reset/page_1.json b/ResourceFiles/知源·冰结师/reset/page_1.json deleted file mode 100644 index 7f2de848..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·冰结师/reset/page_2.json b/ResourceFiles/知源·冰结师/reset/page_2.json deleted file mode 100644 index 7e312a07..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "80", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [2, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "冰魄剑": { - "等级": 36, - "TP": 1, - "次数": "0", - "宠物": "0" - }, - "冰武精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "寒冰连枪": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "冰魄旋枪": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冰霜之径": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冰之领悟": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "冰魄之弓": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "破冰飞刃": { - "等级": 38, - "TP": 1, - "次数": "0", - "宠物": "0" - }, - "水晶剑": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋冰穿刺": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "冰魄锤击": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "极冰绽放": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冰雪风暴": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "冰封奥义": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "千旋冰轮破": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "冰凌破": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "千里冰封": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冰之技艺": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "碎冰破": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "极冰领域": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "永罪冰狱": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "冰霜之手": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "极冰猎魔斩": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "永劫:纳斯特隆德": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/知源·冰结师/reset/page_3.json b/ResourceFiles/知源·冰结师/reset/page_3.json deleted file mode 100644 index 4969f757..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 6, 6, -1, -1, 0, 5, -1, -1, 6] - ] -} diff --git a/ResourceFiles/知源·冰结师/reset/page_4.json b/ResourceFiles/知源·冰结师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·冰结师/reset/page_5.json b/ResourceFiles/知源·冰结师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·冰结师/reset/page_6.json b/ResourceFiles/知源·冰结师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·冰结师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·冰结师/人物.PNG b/ResourceFiles/知源·冰结师/人物.PNG deleted file mode 100644 index 48d5d169..00000000 Binary files a/ResourceFiles/知源·冰结师/人物.PNG and /dev/null differ diff --git a/ResourceFiles/知源·召唤师/bg.jpg b/ResourceFiles/知源·召唤师/bg.jpg deleted file mode 100644 index aed6e8f4..00000000 Binary files a/ResourceFiles/知源·召唤师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·召唤师/reset/char.json b/ResourceFiles/知源·召唤师/reset/char.json deleted file mode 100644 index bbad8c45..00000000 --- a/ResourceFiles/知源·召唤师/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "秒伤比率": 4 -} diff --git a/ResourceFiles/知源·召唤师/reset/page_1.json b/ResourceFiles/知源·召唤师/reset/page_1.json deleted file mode 100644 index 114f845a..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·召唤师/reset/page_2.json b/ResourceFiles/知源·召唤师/reset/page_2.json deleted file mode 100644 index 5b82ebcb..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_2.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "BUFF输入": "79.0", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [2, 3, 6], - "护石类型": [1, 1, 0], - "符文技能": [11, 11, 11, 11, 11, 11, 11, 11, 11], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "召唤兽强化": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "心灵感应": { - "等级": 6, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "精灵献祭": { - "等级": 43, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "契约召唤:桑德尔": { - "等级": 27, - "TP": 1, - "次数": "2", - "宠物": "1" - }, - "契约召唤:袄索": { - "等级": 38, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "精灵召唤:亡魂默克尔": { - "等级": 38, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "精灵召唤:极光格雷林": { - "等级": 3, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "精灵召唤:火焰赫瑞克": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "精灵召唤:冰影阿奎利斯": { - "等级": 3, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "契约召唤:路易斯": { - "等级": 3, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "精灵召唤:伊伽贝拉": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "束缚印记": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "契约召唤:牛头王库鲁塔": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "强击光环": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "灵魂支配": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "契约召唤:征服者卡西利亚斯": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "必杀剑千鬼杀": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "精灵召唤:融合精灵海伊轮": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "咒令:愤怒咆哮": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "蚀月附灵": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑月之噬": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "传说召唤:月蚀之影": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "传说召唤:逆月者拉莫斯": { - "等级": 0, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "咒令:逆月之蚀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "魔法秀": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鞭挞": { - "等级": 32, - "TP": 1, - "次数": "4", - "宠物": "0" - }, - "魔力印记": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "驱散魔法": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "至高精灵王": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "逆月": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔月·德拉里昂": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "绝对支配": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·召唤师/reset/page_3.json b/ResourceFiles/知源·召唤师/reset/page_3.json deleted file mode 100644 index 3413fc5a..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/知源·召唤师/reset/page_4.json b/ResourceFiles/知源·召唤师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·召唤师/reset/page_5.json b/ResourceFiles/知源·召唤师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·召唤师/reset/page_6.json b/ResourceFiles/知源·召唤师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·召唤师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·召唤师/人物.png b/ResourceFiles/知源·召唤师/人物.png deleted file mode 100644 index f0b4e235..00000000 Binary files a/ResourceFiles/知源·召唤师/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·召唤师/技能/强击光环.PNG b/ResourceFiles/知源·召唤师/技能/强击光环.PNG deleted file mode 100644 index 7739533e..00000000 Binary files a/ResourceFiles/知源·召唤师/技能/强击光环.PNG and /dev/null differ diff --git a/ResourceFiles/知源·小魔女/bg.jpg b/ResourceFiles/知源·小魔女/bg.jpg deleted file mode 100644 index a3b058a6..00000000 Binary files a/ResourceFiles/知源·小魔女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·小魔女/reset/store.json b/ResourceFiles/知源·小魔女/reset/store.json deleted file mode 100644 index f8b5abcc..00000000 --- a/ResourceFiles/知源·小魔女/reset/store.json +++ /dev/null @@ -1,329 +0,0 @@ -{ - "/buffer/data/amplifies": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10], - "/buffer/data/self-select/column-count": null, - "/buffer/data/title": 0, - "/buffer/data/pet": 1, - "/buffer/data/compute_mode": 1, - "/buffer/data/ditto_checked": false, - "/buffer/data/myth_top_checked": false, - "/buffer/data/awakening_switch_checked": true, - "/buffer/data/thread_count": 1, - "/buffer/data/equip_checked": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/buffer/data/awakening_binding": 2, - "/buffer/data/talismans": [4, 3, 4], - "/buffer/data/consumables": [true, false, false, false], - "/buffer/data/skill": { - "人偶操纵者": { - "level": 31, - "count": 1 - }, - "小魔女的偏爱": { - "level": 10, - "count": 1 - }, - "禁忌诅咒": { - "level": 10, - "count": 1 - }, - "死命召唤": { - "level": 24, - "count": 1 - }, - "少女的爱": { - "level": 20, - "count": 1 - }, - "开幕!人偶剧场": { - "level": 0, - "count": 1 - }, - "冥月绽放": { - "level": 11, - "count": 1 - }, - "人偶之森": { - "level": 0, - "count": 1 - }, - "不祥的微笑": { - "level": 4, - "count": 1 - }, - "终幕!人偶剧场": { - "level": 2, - "count": 1 - } - }, - "/buffer/data/weapon_fusion": [0, -1, 0, -1], - "/buffer/data/siroco_weapon": 1, - "/buffer/data/jude_effects": [1, 1, 0, 0], - "/buffer/data/jude_values": [0, 0, -1, -1], - "/buffer/data/black_purgatory": [ - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1] - ], - "/buffer/data/top_options": [4, 10, 0, 2], - "/buffer/data/awakening_coefficient": 1.0, - "/buffer/data/awakening_direction": 0, - "/buffer/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/buffer/data/detail_values": [ - [ - "120", - "60", - "15", - "", - "290", - "", - "50", - "61", - "3", - "40", - "33", - "25", - "30", - "50", - "70", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "100", - "100", - "75", - "45", - "45", - "70", - "70", - "70", - "100", - "100", - "150", - "100", - "", - "", - "50", - "", - "230", - "", - "-40" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "70", - "70", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - ["", "", "", "", "", "", ""] - ], - "/buffer/data/detail_options": [ - 0, 0, 2, 2, 2, 0, 0, 0, 3, 3, 0, 0, 3, 3, 2, 0, 6, 3, 1 - ], - "/buffer/data/siroco": [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/buffer/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 - ], - "/buffer/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/self_select/equips": [[6, 6, 18, 6, 15, 15, 4, 4, 4, 4, 7, 1]], - "/buffer/data/self_select/column_index": 0, - "/buffer/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/buffer/data/register_enable": false, - "/buffer/data/register/equips": null, - "/buffer/data/register/amplifies": null, - "/buffer/data/register/siroco": null, - "/buffer/data/register/weapon_fusion": null, - "/buffer/data/register/ozma": null, - "/buffer/data/register/black_purgatory": null, - "/buffer/data/character_sets": {} -} diff --git a/ResourceFiles/知源·小魔女/人物.png b/ResourceFiles/知源·小魔女/人物.png deleted file mode 100644 index 119edeff..00000000 Binary files a/ResourceFiles/知源·小魔女/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·小魔女/职业.png b/ResourceFiles/知源·小魔女/职业.png deleted file mode 100644 index 26e87e3e..00000000 Binary files a/ResourceFiles/知源·小魔女/职业.png and /dev/null differ diff --git a/ResourceFiles/知源·战斗法师/bg.jpg b/ResourceFiles/知源·战斗法师/bg.jpg deleted file mode 100644 index 2acadb97..00000000 Binary files a/ResourceFiles/知源·战斗法师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·战斗法师/reset/char.json b/ResourceFiles/知源·战斗法师/reset/char.json deleted file mode 100644 index e1ad30d4..00000000 --- a/ResourceFiles/知源·战斗法师/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "碎霸概率": 1 -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_1.json b/ResourceFiles/知源·战斗法师/reset/page_1.json deleted file mode 100644 index b444079a..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_2.json b/ResourceFiles/知源·战斗法师/reset/page_2.json deleted file mode 100644 index be6d5858..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_2.json +++ /dev/null @@ -1,211 +0,0 @@ -{ - "BUFF输入": "79.0", - "时间输入": 25, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [5, 1, 4], - "护石类型": [1, 1, 1], - "符文技能": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "尼巫的战斗术": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "炫纹": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "矛精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "棍棒精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "炫纹发射": { - "等级": 46, - "TP": 1, - "次数": "50.0", - "宠物": "15.0" - }, - "双重锤击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "炫纹爆弹": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "碎霸": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "2" - }, - "炫纹融合(旋转)": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "流星闪影击": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "炫纹强压": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "强袭流星打": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "煌龙偃月": { - "等级": 31, - "TP": 5, - "次数": "0", - "宠物": "0" - }, - "煌龙乱舞": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "斗神意志": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "星纹陨爆": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "变身贝亚娜": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "变身贝亚娜苍天击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "变身贝亚娜天地碎霸": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "闪击碎霸": { - "等级": 23, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "流星雷连击": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "战灵潜能": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "炫纹簇": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "使徒之舞": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "一骑当千碎霸": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "炫纹之源:太古神光": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "太古之力": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "太古星河·殒灭": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "基本攻击": { - "等级": 1, - "TP": 1, - "次数": "13.0", - "宠物": "0" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_3.json b/ResourceFiles/知源·战斗法师/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_4.json b/ResourceFiles/知源·战斗法师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_5.json b/ResourceFiles/知源·战斗法师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·战斗法师/reset/page_6.json b/ResourceFiles/知源·战斗法师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·战斗法师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·战斗法师/人物.png b/ResourceFiles/知源·战斗法师/人物.png deleted file mode 100644 index 38d5ef68..00000000 Binary files a/ResourceFiles/知源·战斗法师/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹.PNG b/ResourceFiles/知源·战斗法师/技能/炫纹.PNG deleted file mode 100644 index 9922133e..00000000 Binary files a/ResourceFiles/知源·战斗法师/技能/炫纹.PNG and /dev/null differ diff --git a/ResourceFiles/知源·次元行者/bg.jpg b/ResourceFiles/知源·次元行者/bg.jpg deleted file mode 100644 index 7dffd88c..00000000 Binary files a/ResourceFiles/知源·次元行者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·次元行者/reset/char.json b/ResourceFiles/知源·次元行者/reset/char.json deleted file mode 100644 index f82b864e..00000000 --- a/ResourceFiles/知源·次元行者/reset/char.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "坠落触发箱子": false, - "离子束强化": false, - "强化万花镜": true, - "强化粒子风暴": true, - "强化粒子波": true, - "聚爆是否瞬爆": true, - "强化奇点": true, - "二觉形态选择": 2 -} diff --git a/ResourceFiles/知源·次元行者/reset/page_1.json b/ResourceFiles/知源·次元行者/reset/page_1.json deleted file mode 100644 index ef8889fb..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·次元行者/reset/page_2.json b/ResourceFiles/知源·次元行者/reset/page_2.json deleted file mode 100644 index 5ba8ab59..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "85.0", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [2, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [9, 9, 9, 9, 9, 9, 0, 0, 0], - "符文效果": [1, 3, 14, 1, 3, 14, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "次元扭曲装置": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "乖离虚无": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "虚空之力": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "混沌源能石": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "次元坠落": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "次元跃迁": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "次元虚影": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "乖离禁忌之奈雅丽": { - "等级": 5, - "TP": 0, - "次数": "5", - "宠物": "0" - }, - "次元离子束": { - "等级": 1, - "TP": 0, - "次数": "4", - "宠物": "1" - }, - "次元万花镜": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "乖离魅魔之舞": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "次元粒子风暴": { - "等级": 36, - "TP": 1, - "次数": "2", - "宠物": "0" - }, - "次元时空磁场": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "乖离异界蜂群": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "次元粒子波": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "乖离扭曲之恐惧": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "次元思维聚爆": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "次元奇点": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "乖离禁锢": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "乖离沉沦": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "禁断之盛宴": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "乖离:边缘之兽": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "古史记忆": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "未明·次元崩坏": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·次元行者/reset/page_3.json b/ResourceFiles/知源·次元行者/reset/page_3.json deleted file mode 100644 index 3ce07620..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 4] - ] -} diff --git a/ResourceFiles/知源·次元行者/reset/page_4.json b/ResourceFiles/知源·次元行者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·次元行者/reset/page_5.json b/ResourceFiles/知源·次元行者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·次元行者/reset/page_6.json b/ResourceFiles/知源·次元行者/reset/page_6.json deleted file mode 100644 index 5cddbae1..00000000 --- a/ResourceFiles/知源·次元行者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 7, 4, 5, 13, 4, 7, 9], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·次元行者/人物.png b/ResourceFiles/知源·次元行者/人物.png deleted file mode 100644 index 8528a704..00000000 Binary files a/ResourceFiles/知源·次元行者/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·缔造者/bg.jpg b/ResourceFiles/知源·缔造者/bg.jpg deleted file mode 100644 index 6dd528ea..00000000 Binary files a/ResourceFiles/知源·缔造者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·缔造者/reset/char.json b/ResourceFiles/知源·缔造者/reset/char.json deleted file mode 100644 index 45e54f8d..00000000 --- a/ResourceFiles/知源·缔造者/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "觉醒模式": true, - "数据精算模式": true -} diff --git a/ResourceFiles/知源·缔造者/reset/page_1.json b/ResourceFiles/知源·缔造者/reset/page_1.json deleted file mode 100644 index c2c2a477..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·缔造者/reset/page_2.json b/ResourceFiles/知源·缔造者/reset/page_2.json deleted file mode 100644 index 0f11a9e4..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_2.json +++ /dev/null @@ -1,157 +0,0 @@ -{ - "BUFF输入": "66.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [6, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [11, 11, 11, 11, 11, 11, 0, 0, 0], - "符文效果": [3, 2, 1, 3, 2, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "烈火燎原": { - "等级": 50, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "炽炎星陨": { - "等级": 50, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "冰霜之球": { - "等级": 48, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "冰天震地": { - "等级": 48, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "幻想之境": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "具象强化": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "烈焰飓风": { - "等级": 38, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "极冰护盾": { - "等级": 38, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "超能旋风波": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "风暴漩涡": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "洞悉": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "末日虫洞": { - "等级": 0, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "冰雪降临": { - "等级": 16, - "TP": 5, - "次数": "/CD", - "宠物": "50.0" - }, - "时空链接": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "2" - }, - "创世之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "时空禁制": { - "等级": 9, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "创世": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "天工开物": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "创世之光": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "时之终末:归烬": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "自我觉醒": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·缔造者/reset/page_3.json b/ResourceFiles/知源·缔造者/reset/page_3.json deleted file mode 100644 index ea10831e..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 6, 6, -1, -1, 0, 5, -1, -1, 6] - ] -} diff --git a/ResourceFiles/知源·缔造者/reset/page_4.json b/ResourceFiles/知源·缔造者/reset/page_4.json deleted file mode 100644 index 01629aa2..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·缔造者/reset/page_5.json b/ResourceFiles/知源·缔造者/reset/page_5.json deleted file mode 100644 index 41e2daf3..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·缔造者/reset/page_6.json b/ResourceFiles/知源·缔造者/reset/page_6.json deleted file mode 100644 index 8efabd46..00000000 --- a/ResourceFiles/知源·缔造者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·缔造者/人物.png b/ResourceFiles/知源·缔造者/人物.png deleted file mode 100644 index e515ae08..00000000 Binary files a/ResourceFiles/知源·缔造者/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·血法师/bg.jpg b/ResourceFiles/知源·血法师/bg.jpg deleted file mode 100644 index 004a900b..00000000 Binary files a/ResourceFiles/知源·血法师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·血法师/reset/char.json b/ResourceFiles/知源·血法师/reset/char.json deleted file mode 100644 index 5fb4790d..00000000 --- a/ResourceFiles/知源·血法师/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "狱血之牙概率": 1 -} diff --git a/ResourceFiles/知源·血法师/reset/page_1.json b/ResourceFiles/知源·血法师/reset/page_1.json deleted file mode 100644 index b444079a..00000000 --- a/ResourceFiles/知源·血法师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·血法师/reset/page_2.json b/ResourceFiles/知源·血法师/reset/page_2.json deleted file mode 100644 index ecfab133..00000000 --- a/ResourceFiles/知源·血法师/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "97.0", - "时间输入": 25, - "觉醒选择": 1, - "护石栏": [3, 4, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "鲜血融合": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血之共鸣": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血狱之力": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鲜血之殇": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血源之眼": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血蝠之袭": { - "等级": 46, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "血翼突击": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "鲜血长枪": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血蝠之舞": { - "等级": 41, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "血腥狩猎": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "狱血之犬": { - "等级": 38, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "狱血之牙": { - "等级": 38, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "血腥炼狱": { - "等级": 36, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "噬魂囚笼": { - "等级": 33, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "狱血之噬": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "伯爵之歌": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "魔仆召唤:狱犬": { - "等级": 23, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "血翼绽放": { - "等级": 18, - "TP": 1, - "次数": "1", - "宠物": "0" - }, - "地狱冥犬": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "死亡之握": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血界彼岸": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血翼蔽空": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "血域帷幕·陨灭": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·血法师/reset/page_3.json b/ResourceFiles/知源·血法师/reset/page_3.json deleted file mode 100644 index c5685c3e..00000000 --- a/ResourceFiles/知源·血法师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/知源·血法师/reset/page_4.json b/ResourceFiles/知源·血法师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·血法师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·血法师/reset/page_5.json b/ResourceFiles/知源·血法师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·血法师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·血法师/reset/page_6.json b/ResourceFiles/知源·血法师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·血法师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·血法师/人物.png b/ResourceFiles/知源·血法师/人物.png deleted file mode 100644 index c19bb3b5..00000000 Binary files a/ResourceFiles/知源·血法师/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·逐风者/bg.jpg b/ResourceFiles/知源·逐风者/bg.jpg deleted file mode 100644 index ee7ae9c6..00000000 Binary files a/ResourceFiles/知源·逐风者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·逐风者/reset/char.json b/ResourceFiles/知源·逐风者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/知源·逐风者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/知源·逐风者/reset/page_1.json b/ResourceFiles/知源·逐风者/reset/page_1.json deleted file mode 100644 index cc38050f..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·逐风者/reset/page_2.json b/ResourceFiles/知源·逐风者/reset/page_2.json deleted file mode 100644 index 0547dbd9..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "111", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 1, 8, 4, 5, 8, 0, 0, 0], - "符文效果": [3, 4, 2, 3, 4, 2, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "疾风之棍棒精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "御风之力": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "风神诀": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "初始之风": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "风之意志": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狂风冲刺": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "回风斩": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "朔风牵引": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "风鸣冲击": { - "等级": 20, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "游离之风": { - "等级": 41, - "TP": 1, - "次数": "/CD", - "宠物": "2" - }, - "双翼风刃": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "风暴之眼": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "刃风": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "真空旋风破": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "风暴之拳": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "万象风龙阵": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "疾风瞬影闪": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "风卷残云": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "游龙惊风破": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "九霄风雷": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "无限风域": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "怒风狂涌": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "风之极·永坠": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/知源·逐风者/reset/page_3.json b/ResourceFiles/知源·逐风者/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/知源·逐风者/reset/page_4.json b/ResourceFiles/知源·逐风者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·逐风者/reset/page_5.json b/ResourceFiles/知源·逐风者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·逐风者/reset/page_6.json b/ResourceFiles/知源·逐风者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/知源·逐风者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·逐风者/人物.png b/ResourceFiles/知源·逐风者/人物.png deleted file mode 100644 index 3a9d6b00..00000000 Binary files a/ResourceFiles/知源·逐风者/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·魔道学者/bg.jpg b/ResourceFiles/知源·魔道学者/bg.jpg deleted file mode 100644 index 1cda5dff..00000000 Binary files a/ResourceFiles/知源·魔道学者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/知源·魔道学者/reset/char.json b/ResourceFiles/知源·魔道学者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/知源·魔道学者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/知源·魔道学者/reset/page_1.json b/ResourceFiles/知源·魔道学者/reset/page_1.json deleted file mode 100644 index 8d21baee..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 2, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 6, 5, 6, 5, 5, 6, 5, 5, 7, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/知源·魔道学者/reset/page_2.json b/ResourceFiles/知源·魔道学者/reset/page_2.json deleted file mode 100644 index 697b2a10..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "92.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 11, - "护石栏": [2, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [6, 6, 7, 6, 6, 7, 0, 0, 0], - "符文效果": [1, 3, 2, 1, 3, 2, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "变异苍蝇拍": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "亲和法米利尔": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "改良舒露露": { - "等级": 46, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "熔岩药瓶失败": { - "等级": 26, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "魔道酸雨云": { - "等级": 26, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "电鳗碰撞机": { - "等级": 36, - "TP": 4, - "次数": "2", - "宠物": "1" - }, - "反重力装置": { - "等级": 33, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "暴炎加热炉失败": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "冰霜钻孔车失败": { - "等级": 31, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "超级苍蝇拍": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "成功预感": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "技艺融合": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "光电兔": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "雪人刨冰": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "贤者之石": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔道学助手": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "魔道学助手+苦涩棒棒糖": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "超级棒棒糖": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "乌洛波洛斯之环": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "魔法秀": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "粉红糖果": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "糖果大作战捣蛋杰克": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "糖果大作战精怪乐园": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "幸运棒棒糖": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "熔岩药瓶成功": { - "等级": 26, - "TP": 5, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/知源·魔道学者/reset/page_3.json b/ResourceFiles/知源·魔道学者/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/知源·魔道学者/reset/page_4.json b/ResourceFiles/知源·魔道学者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/知源·魔道学者/reset/page_5.json b/ResourceFiles/知源·魔道学者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/知源·魔道学者/reset/page_6.json b/ResourceFiles/知源·魔道学者/reset/page_6.json deleted file mode 100644 index da674039..00000000 --- a/ResourceFiles/知源·魔道学者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 2], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/知源·魔道学者/人物.png b/ResourceFiles/知源·魔道学者/人物.png deleted file mode 100644 index 8799e65a..00000000 Binary files a/ResourceFiles/知源·魔道学者/人物.png and /dev/null differ diff --git a/ResourceFiles/知源·魔道学者/技能/幸运棒棒糖.png b/ResourceFiles/知源·魔道学者/技能/幸运棒棒糖.png deleted file mode 100644 index 39804845..00000000 Binary files a/ResourceFiles/知源·魔道学者/技能/幸运棒棒糖.png and /dev/null differ diff --git a/ResourceFiles/知源·魔道学者/技能/熔岩药瓶失败.png b/ResourceFiles/知源·魔道学者/技能/熔岩药瓶失败.png deleted file mode 100644 index e4d76db5..00000000 Binary files a/ResourceFiles/知源·魔道学者/技能/熔岩药瓶失败.png and /dev/null differ diff --git a/ResourceFiles/神启·圣骑士/bg.jpg b/ResourceFiles/神启·圣骑士/bg.jpg deleted file mode 100644 index 5cb1f4e0..00000000 Binary files a/ResourceFiles/神启·圣骑士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·圣骑士/reset/store.json b/ResourceFiles/神启·圣骑士/reset/store.json deleted file mode 100644 index 360d7217..00000000 --- a/ResourceFiles/神启·圣骑士/reset/store.json +++ /dev/null @@ -1,329 +0,0 @@ -{ - "/buffer/data/amplifies": [10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10], - "/buffer/data/self-select/column-count": null, - "/buffer/data/title": 0, - "/buffer/data/pet": 1, - "/buffer/data/compute_mode": 1, - "/buffer/data/ditto_checked": false, - "/buffer/data/myth_top_checked": false, - "/buffer/data/awakening_switch_checked": true, - "/buffer/data/thread_count": 1, - "/buffer/data/equip_checked": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/buffer/data/awakening_binding": 2, - "/buffer/data/talismans": [4, 3, 4], - "/buffer/data/consumables": [true, false, false, false], - "/buffer/data/skill": { - "启示圣歌": { - "level": 31, - "count": 1 - }, - "勇气祝福": { - "level": 10, - "count": 1 - }, - "勇气圣歌": { - "level": 24, - "count": 1 - }, - "神光十字": { - "level": 31, - "count": 1 - }, - "虔诚信念": { - "level": 20, - "count": 1 - }, - "圣光天启": { - "level": 0, - "count": 1 - }, - "大天使的庇护": { - "level": 11, - "count": 1 - }, - "救赎彼岸:惩戒圣枪": { - "level": 0, - "count": 1 - }, - "圣天使之光": { - "level": 4, - "count": 1 - }, - "祈愿·天使赞歌": { - "level": 2, - "count": 1 - } - }, - "/buffer/data/weapon_fusion": [0, -1, 0, -1], - "/buffer/data/siroco_weapon": 1, - "/buffer/data/jude_effects": [1, 1, 0, 0], - "/buffer/data/jude_values": [0, 0, -1, -1], - "/buffer/data/black_purgatory": [ - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1], - [1, 0, -1, -1] - ], - "/buffer/data/top_options": [4, 10, 0, 2], - "/buffer/data/awakening_coefficient": 1.0, - "/buffer/data/awakening_direction": 0, - "/buffer/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/buffer/data/detail_values": [ - [ - "120", - "60", - "15", - "", - "290", - "", - "50", - "61", - "3", - "40", - "33", - "25", - "30", - "50", - "70", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "100", - "100", - "75", - "45", - "45", - "70", - "70", - "70", - "100", - "100", - "150", - "100", - "", - "", - "50", - "", - "230", - "", - "-40" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "70", - "70", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - ], - ["", "", "", "", "", "", ""] - ], - "/buffer/data/detail_options": [ - 0, 0, 2, 2, 2, 0, 0, 0, 2, 2, 0, 0, 3, 3, 2, 0, 6, 3, 1 - ], - "/buffer/data/siroco": [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/buffer/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 - ], - "/buffer/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/buffer/data/self_select/equips": [[6, 6, 18, 6, 15, 15, 4, 4, 4, 4, 7, 0]], - "/buffer/data/self_select/column_index": 0, - "/buffer/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/buffer/data/register_enable": false, - "/buffer/data/register/equips": null, - "/buffer/data/register/amplifies": null, - "/buffer/data/register/siroco": null, - "/buffer/data/register/weapon_fusion": null, - "/buffer/data/register/ozma": null, - "/buffer/data/register/black_purgatory": null, - "/buffer/data/character_sets": {} -} diff --git a/ResourceFiles/神启·圣骑士/人物.png b/ResourceFiles/神启·圣骑士/人物.png deleted file mode 100644 index d0989dd8..00000000 Binary files a/ResourceFiles/神启·圣骑士/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·复仇者/bg.jpg b/ResourceFiles/神启·复仇者/bg.jpg deleted file mode 100644 index d1e63a7a..00000000 Binary files a/ResourceFiles/神启·复仇者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·复仇者/reset/char.json b/ResourceFiles/神启·复仇者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/神启·复仇者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/神启·复仇者/reset/page_1.json b/ResourceFiles/神启·复仇者/reset/page_1.json deleted file mode 100644 index 85664408..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·复仇者/reset/page_2.json b/ResourceFiles/神启·复仇者/reset/page_2.json deleted file mode 100644 index 10a8f185..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_2.json +++ /dev/null @@ -1,169 +0,0 @@ -{ - "BUFF输入": "90.0", - "时间输入": 20, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [1, 4, 0], - "护石类型": [0, 0, 0], - "符文技能": [5, 5, 5, 5, 5, 5, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "恶魔之手": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死亡切割": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "镰刀精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "裂地锤": { - "等级": 43, - "TP": 5, - "次数": "3", - "宠物": "0" - }, - "恶魔诅咒": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "回旋飞镰": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "复仇之刺": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "厄运之轮": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "恶魔之拳": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "恶魔之握": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "黑暗权能": { - "等级": 31, - "TP": 1, - "次数": "1", - "宠物": "1" - }, - "魔化:末日审判者": { - "等级": 0, - "TP": 0, - "次数": "7", - "宠物": "0" - }, - "审判": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "恶魔唤醒": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "地狱之门": { - "等级": 23, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "末日浩劫": { - "等级": 18, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "不朽战吼": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "原罪之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毁灭强击": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "永堕:混沌弑神": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "光之影": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "极恶洪流": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "末日福音:毁灭之翼": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/神启·复仇者/reset/page_3.json b/ResourceFiles/神启·复仇者/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/神启·复仇者/reset/page_4.json b/ResourceFiles/神启·复仇者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·复仇者/reset/page_5.json b/ResourceFiles/神启·复仇者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·复仇者/reset/page_6.json b/ResourceFiles/神启·复仇者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·复仇者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·复仇者/人物.png b/ResourceFiles/神启·复仇者/人物.png deleted file mode 100644 index 49f992b0..00000000 Binary files a/ResourceFiles/神启·复仇者/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·复仇者/技能/黑暗权能.png b/ResourceFiles/神启·复仇者/技能/黑暗权能.png deleted file mode 100644 index 6ff4f7e1..00000000 Binary files a/ResourceFiles/神启·复仇者/技能/黑暗权能.png and /dev/null differ diff --git a/ResourceFiles/神启·巫女/bg.jpg b/ResourceFiles/神启·巫女/bg.jpg deleted file mode 100644 index 1e9e2a3d..00000000 Binary files a/ResourceFiles/神启·巫女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·巫女/reset/char.json b/ResourceFiles/神启·巫女/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/神启·巫女/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/神启·巫女/reset/page_1.json b/ResourceFiles/神启·巫女/reset/page_1.json deleted file mode 100644 index 4b06b8a4..00000000 --- a/ResourceFiles/神启·巫女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·巫女/reset/page_2.json b/ResourceFiles/神启·巫女/reset/page_2.json deleted file mode 100644 index de14844e..00000000 --- a/ResourceFiles/神启·巫女/reset/page_2.json +++ /dev/null @@ -1,206 +0,0 @@ -{ - "BUFF输入": "108.0", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [2, 6, 7], - "护石类型": [1, 0, 0], - "符文技能": [11, 11, 11, 11, 11, 11, 11, 11, 11], - "符文效果": [1, 2, 3, 1, 2, 3, 1, 2, 3], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "罪业加身": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "唤雷符": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "念珠连射": { - "等级": 1, - "TP": 3, - "次数": "3", - "宠物": "0", - "切装": false - }, - "木槵子经": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0", - "切装": false - }, - "束灵符": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "0", - "切装": false - }, - "驱邪咒": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "祈雨祭": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "神术强化": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "和合之玉": { - "等级": 33, - "TP": 0, - "次数": "2", - "宠物": "0", - "切装": false - }, - "聚魂吸星符": { - "等级": 36, - "TP": 0, - "次数": "1.5", - "宠物": "0", - "切装": false - }, - "龙魂之怒": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1", - "切装": false - }, - "百八念珠": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1", - "切装": false - }, - "不动珠箔阵": { - "等级": 31, - "TP": 5, - "次数": "0", - "宠物": "1", - "切装": false - }, - "神龙如意珠": { - "等级": 20, - "TP": 0, - "次数": "42.0", - "宠物": "20.0", - "切装": false - }, - "神谕:神龙雷雨祭": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "因果业火符": { - "等级": 23, - "TP": 5, - "次数": "2", - "宠物": "0", - "切装": false - }, - "夺命大念阵": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1", - "切装": false - }, - "龙神之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "退魔阴阳符": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "天坠阴阳玉": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "龙威如狱·龙恩如海": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "乾坤之境": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - }, - "天泽神龙阵": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "神龙之舞·天一": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1", - "切装": false - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0", - "切装": false - } - } -} diff --git a/ResourceFiles/神启·巫女/reset/page_3.json b/ResourceFiles/神启·巫女/reset/page_3.json deleted file mode 100644 index ec442725..00000000 --- a/ResourceFiles/神启·巫女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 7, 7, -1, -1, 0, 5, -1, -1, 8] - ] -} diff --git a/ResourceFiles/神启·巫女/reset/page_4.json b/ResourceFiles/神启·巫女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·巫女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·巫女/reset/page_5.json b/ResourceFiles/神启·巫女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·巫女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·巫女/reset/page_6.json b/ResourceFiles/神启·巫女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·巫女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·巫女/人物.png b/ResourceFiles/神启·巫女/人物.png deleted file mode 100644 index c2116286..00000000 Binary files a/ResourceFiles/神启·巫女/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·异端审判者/bg.jpg b/ResourceFiles/神启·异端审判者/bg.jpg deleted file mode 100644 index 0f80d153..00000000 Binary files a/ResourceFiles/神启·异端审判者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·异端审判者/reset/char.json b/ResourceFiles/神启·异端审判者/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/神启·异端审判者/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/神启·异端审判者/reset/page_1.json b/ResourceFiles/神启·异端审判者/reset/page_1.json deleted file mode 100644 index a3348d6e..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·异端审判者/reset/page_2.json b/ResourceFiles/神启·异端审判者/reset/page_2.json deleted file mode 100644 index 40472b90..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "93.0", - "时间输入": 25, - "觉醒选择": 2, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 0, 0, 0], - "符文效果": [2, 3, 1, 2, 3, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "战斧精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "异端烙印": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "定罪法则": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狂炎告解": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "惩戒十字": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "净化火焰瓶": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "裁决之击": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "火焰精华": { - "等级": 29, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "神焰": { - "等级": 10, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "审判重击": { - "等级": 38, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "神焰斩": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "神焰洗礼": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "神焰怒火": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "行刑": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "火刑": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "神焰漩涡": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "净化之焰": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "裁决轮回斩": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "车轮刑": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "炎狱祭坛:炮烙": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "补赎逆十字": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "无间狱·焚罪": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "无间业火:罪灭神威": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - - } -} diff --git a/ResourceFiles/神启·异端审判者/reset/page_3.json b/ResourceFiles/神启·异端审判者/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/神启·异端审判者/reset/page_4.json b/ResourceFiles/神启·异端审判者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·异端审判者/reset/page_5.json b/ResourceFiles/神启·异端审判者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·异端审判者/reset/page_6.json b/ResourceFiles/神启·异端审判者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·异端审判者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·异端审判者/人物.png b/ResourceFiles/神启·异端审判者/人物.png deleted file mode 100644 index 02af912f..00000000 Binary files a/ResourceFiles/神启·异端审判者/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·蓝拳圣使/bg.jpg b/ResourceFiles/神启·蓝拳圣使/bg.jpg deleted file mode 100644 index e22d04d4..00000000 Binary files a/ResourceFiles/神启·蓝拳圣使/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·蓝拳圣使/reset/char.json b/ResourceFiles/神启·蓝拳圣使/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_1.json b/ResourceFiles/神启·蓝拳圣使/reset/page_1.json deleted file mode 100644 index d7c932cd..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_2.json b/ResourceFiles/神启·蓝拳圣使/reset/page_2.json deleted file mode 100644 index bfefd4ea..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_2.json +++ /dev/null @@ -1,186 +0,0 @@ -{ - "BUFF输入": "99.0", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [11, 11, 11, 11, 11, 11, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "直拳冲击": { - "等级": 50, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "意念驱动": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "技巧精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "圣拳锤击": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "俯冲翔拳": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "俯冲直拳": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "俯冲腹拳": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "瞬拳": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "圣拳连击": { - "等级": 41, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "神圣反击": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "破碎之锤": { - "等级": 38, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "旋涡重拳": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "刺拳猛击": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "神圣组合拳": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "极速飓风拳": { - "等级": 31, - "TP": 5, - "次数": "4", - "宠物": "0" - }, - "干涸之泉": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "泯灭神击": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "破碎之拳": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "破坏之拳": { - "等级": 18, - "TP": 1, - "次数": "1", - "宠物": "1" - }, - "仲裁怒击": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "正义惩戒": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "超重拳": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "制裁:怒火疾风": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "绝对正义": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "正义铁拳": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "正义执行:雷米迪奥斯的圣座": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_3.json b/ResourceFiles/神启·蓝拳圣使/reset/page_3.json deleted file mode 100644 index 62fe7139..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 21] - ] -} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_4.json b/ResourceFiles/神启·蓝拳圣使/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_5.json b/ResourceFiles/神启·蓝拳圣使/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·蓝拳圣使/reset/page_6.json b/ResourceFiles/神启·蓝拳圣使/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·蓝拳圣使/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·蓝拳圣使/人物.png b/ResourceFiles/神启·蓝拳圣使/人物.png deleted file mode 100644 index 1645b125..00000000 Binary files a/ResourceFiles/神启·蓝拳圣使/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·诱魔者/bg.jpg b/ResourceFiles/神启·诱魔者/bg.jpg deleted file mode 100644 index 091feeb8..00000000 Binary files a/ResourceFiles/神启·诱魔者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·诱魔者/reset/char.json b/ResourceFiles/神启·诱魔者/reset/char.json deleted file mode 100644 index 5531b18f..00000000 --- a/ResourceFiles/神启·诱魔者/reset/char.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "BUFF输入2": "0", - "手搓冷却": false, - "净化之花冷却Buff": false, - "凈化之花多段段数选择": 15, - "暴食段数选择": 8 -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_1.json b/ResourceFiles/神启·诱魔者/reset/page_1.json deleted file mode 100644 index e2c387b2..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_2.json b/ResourceFiles/神启·诱魔者/reset/page_2.json deleted file mode 100644 index 85df2f2f..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "87.5", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 11, - "护石栏": [4, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [11, 10, 10, 11, 10, 10, 0, 0, 0], - "符文效果": [1, 4, 2, 1, 4, 2, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "罪业加身": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双重切割": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "负罪者镰刀精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "罪业诱惑": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "断头台": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "欲望之手": { - "等级": 43, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "傲慢之堕": { - "等级": 27, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "屠戮回旋斩": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "怠惰之息": { - "等级": 38, - "TP": 1, - "次数": "/CD", - "宠物": "0" - }, - "诱魔之手": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "贪婪之刺": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "杀戮战镰": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "愤怒之袭": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "净化之花": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "罪业宣告": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "嫉妒之吻": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "暴食之噬": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "灵魂烙印:原罪冲击": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "(光辉)智慧起源:原罪结晶": { - "等级": 0, - "TP": 0, - "次数": "8", - "宠物": "4" - }, - "智慧起源:原罪结晶": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "肋骨重塑:原罪战矛": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "失乐园": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "原罪之初": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "至高之刑": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "原罪之翼·永息": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_3.json b/ResourceFiles/神启·诱魔者/reset/page_3.json deleted file mode 100644 index 14c54c27..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 4, 3, -1, -1, 0, 5, -1, -1, 20] - ] -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_4.json b/ResourceFiles/神启·诱魔者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_5.json b/ResourceFiles/神启·诱魔者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·诱魔者/reset/page_6.json b/ResourceFiles/神启·诱魔者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·诱魔者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·诱魔者/人物.png b/ResourceFiles/神启·诱魔者/人物.png deleted file mode 100644 index 54026659..00000000 Binary files a/ResourceFiles/神启·诱魔者/人物.png and /dev/null differ diff --git a/ResourceFiles/神启·诱魔者/技能/(光辉)智慧起源:原罪结晶.png b/ResourceFiles/神启·诱魔者/技能/(光辉)智慧起源:原罪结晶.png deleted file mode 100644 index 290465c9..00000000 Binary files a/ResourceFiles/神启·诱魔者/技能/(光辉)智慧起源:原罪结晶.png and /dev/null differ diff --git a/ResourceFiles/神启·驱魔师/bg.jpg b/ResourceFiles/神启·驱魔师/bg.jpg deleted file mode 100644 index 8d307faf..00000000 Binary files a/ResourceFiles/神启·驱魔师/bg.jpg and /dev/null differ diff --git a/ResourceFiles/神启·驱魔师/reset/char.json b/ResourceFiles/神启·驱魔师/reset/char.json deleted file mode 100644 index 8896885f..00000000 --- a/ResourceFiles/神启·驱魔师/reset/char.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "力法及精通选择": 0, - "反身空斩打": false -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_1.json b/ResourceFiles/神启·驱魔师/reset/page_1.json deleted file mode 100644 index 1055eb50..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, -1 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_2.json b/ResourceFiles/神启·驱魔师/reset/page_2.json deleted file mode 100644 index 3fc2f78b..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_2.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "BUFF输入": "76.0", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [1, 4, 0], - "护石类型": [0, 0, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "普通攻击": { - "等级": 1, - "TP": 3, - "次数": "1", - "宠物": "0" - }, - "空斩打": { - "等级": 10, - "TP": 0, - "次数": "5", - "宠物": "0" - }, - "落凤锤": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "疾风打": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "破魔符": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "潜龙": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "巨兵精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "断空捶击": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "升天阵": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "黑暗切割": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "朱雀符": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "星落打": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "巨旋风": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "驱魔之书": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "狂乱锤击": { - "等级": 36, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "落雷符": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "疾空旋风破": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "式神:殇": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "无双击": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "斗志散发": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "苍龙逐日": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "灭魂符": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "逆鳞震": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "脉轮:式神": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "式神之力": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "逆龙七杀": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "式神封灵阵": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "真龙焚天": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "式神之悟": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "式神灭却·合": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "雷鸣怒海·火啸山崩": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_3.json b/ResourceFiles/神启·驱魔师/reset/page_3.json deleted file mode 100644 index 1b63f687..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 15, 15, -1, -1, 0, 5, -1, -1, 26] - ] -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_4.json b/ResourceFiles/神启·驱魔师/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_5.json b/ResourceFiles/神启·驱魔师/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/神启·驱魔师/reset/page_6.json b/ResourceFiles/神启·驱魔师/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/神启·驱魔师/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/神启·驱魔师/人物.png b/ResourceFiles/神启·驱魔师/人物.png deleted file mode 100644 index 3d64bf3d..00000000 Binary files a/ResourceFiles/神启·驱魔师/人物.png and /dev/null differ diff --git a/ResourceFiles/苍暮·战线佣兵/bg.jpg b/ResourceFiles/苍暮·战线佣兵/bg.jpg deleted file mode 100644 index ccbf5928..00000000 Binary files a/ResourceFiles/苍暮·战线佣兵/bg.jpg and /dev/null differ diff --git a/ResourceFiles/苍暮·战线佣兵/reset/char.json b/ResourceFiles/苍暮·战线佣兵/reset/char.json deleted file mode 100644 index cd73f89b..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "爆弹罗网护石跳跃选项": false -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_1.json b/ResourceFiles/苍暮·战线佣兵/reset/page_1.json deleted file mode 100644 index 112cfcd2..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_2.json b/ResourceFiles/苍暮·战线佣兵/reset/page_2.json deleted file mode 100644 index 8630d1e2..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_2.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 25, - "觉醒选择": 2, - "护石栏": [6, 7, 2], - "护石类型": [0, 0, 1], - "符文技能": [7, 7, 7, 7, 7, 7, 7, 7, 7], - "符文效果": [15, 14, 13, 15, 14, 13, 15, 14, 13], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "重剑精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "火药改良": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "终极火力": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "无法者之歌": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "铁血豪情": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双重散射": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "爆烈斩击": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "剑刃爆弹": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "广域散射": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G型火焰爆弹": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "爆裂斩": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "爆弹罗网": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "裂地爆刃": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "惊喜大礼": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "G型烬灭榴弹": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "完美击球": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "夺命焰火": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "爆弹华尔兹": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "覆灭之枪": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "终焉:硝烟狂欢": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "铁腕爆弹": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "烽火硝烟·终末之征": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_3.json b/ResourceFiles/苍暮·战线佣兵/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_4.json b/ResourceFiles/苍暮·战线佣兵/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_5.json b/ResourceFiles/苍暮·战线佣兵/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/苍暮·战线佣兵/reset/page_6.json b/ResourceFiles/苍暮·战线佣兵/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/苍暮·战线佣兵/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/苍暮·战线佣兵/人物.png b/ResourceFiles/苍暮·战线佣兵/人物.png deleted file mode 100644 index 1722c1a7..00000000 Binary files a/ResourceFiles/苍暮·战线佣兵/人物.png and /dev/null differ diff --git a/ResourceFiles/苍暮·暗刃/bg.jpg b/ResourceFiles/苍暮·暗刃/bg.jpg deleted file mode 100644 index e0538a90..00000000 Binary files a/ResourceFiles/苍暮·暗刃/bg.jpg and /dev/null differ diff --git a/ResourceFiles/苍暮·暗刃/reset/char.json b/ResourceFiles/苍暮·暗刃/reset/char.json deleted file mode 100644 index f561aa24..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/char.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "致命焰火方向选项": 0, - "战术协作方向选项": 0, - "大回旋护石跳跃选项": false -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_1.json b/ResourceFiles/苍暮·暗刃/reset/page_1.json deleted file mode 100644 index 4e38129e..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_2.json b/ResourceFiles/苍暮·暗刃/reset/page_2.json deleted file mode 100644 index a03d76a6..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_2.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "BUFF输入": "85", - "时间输入": 25, - "觉醒选择": 1, - "护石栏": [3, 2, 1], - "护石类型": [1, 1, 1], - "符文技能": [8, 8, 8, 8, 8, 8, 8, 8, 8], - "符文效果": [13, 15, 14, 13, 15, 14, 13, 15, 14], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "长刀精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗刃战略": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "BG枪刃改造": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "BC精锐特训": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暮光战略": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "掩护射击": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "捷影步": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "轮盘连射": { - "等级": 43, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "剑刃突刺": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "潜行射击": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "利刃旋斩": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "游弹枪袭": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "全方位射击": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "回旋飞剑": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "枪刃乱舞": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "血光斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "电光飞掠": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "近敌灭杀": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "大回旋坠斩": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "致命焰火": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "碧波瞬斩": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "集结·暮光之翼": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "燃情协战": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暮光密令:黎明决战": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_3.json b/ResourceFiles/苍暮·暗刃/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_4.json b/ResourceFiles/苍暮·暗刃/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_5.json b/ResourceFiles/苍暮·暗刃/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/苍暮·暗刃/reset/page_6.json b/ResourceFiles/苍暮·暗刃/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/苍暮·暗刃/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/苍暮·暗刃/人物.png b/ResourceFiles/苍暮·暗刃/人物.png deleted file mode 100644 index 455b8e49..00000000 Binary files a/ResourceFiles/苍暮·暗刃/人物.png and /dev/null differ diff --git a/ResourceFiles/苍暮·源能专家/bg.jpg b/ResourceFiles/苍暮·源能专家/bg.jpg deleted file mode 100644 index 8d8ae8e1..00000000 Binary files a/ResourceFiles/苍暮·源能专家/bg.jpg and /dev/null differ diff --git a/ResourceFiles/苍暮·源能专家/reset/char.json b/ResourceFiles/苍暮·源能专家/reset/char.json deleted file mode 100644 index 0e6df642..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/char.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "引力源光弹护石选项": 1, - "能量禁锢护石选项": 0, - "临界源能弹蓄力选项": true -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_1.json b/ResourceFiles/苍暮·源能专家/reset/page_1.json deleted file mode 100644 index ecd182ae..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 0, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_2.json b/ResourceFiles/苍暮·源能专家/reset/page_2.json deleted file mode 100644 index 01b4740e..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [1, 2, 7], - "护石类型": [0, 1, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 7, 7, 7], - "符文效果": [13, 15, 14, 13, 15, 14, 13, 15, 14], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "源力剑精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "细胞弱化": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "源能增幅": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "源力汇聚": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "奇点源核": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "源光斩": { - "等级": 48, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋转源能波": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "源能护盾": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "镭射源能枪": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "源能波刃": { - "等级": 41, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "能量飞鱼弹": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "脉冲斩": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "电磁领域": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "引力源光弹": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "光裂斩": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "光导裂地斩": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "超能场域": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "能量禁锢": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "离散能量波": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "绝望圆舞": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "CEAB-2超能爆发": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "终焉:超世界崩坏": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "临界源能弹": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "源能场域:黑暗边缘": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_3.json b/ResourceFiles/苍暮·源能专家/reset/page_3.json deleted file mode 100644 index ea77ef6d..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 4] - ] -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_4.json b/ResourceFiles/苍暮·源能专家/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_5.json b/ResourceFiles/苍暮·源能专家/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/苍暮·源能专家/reset/page_6.json b/ResourceFiles/苍暮·源能专家/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/苍暮·源能专家/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/苍暮·源能专家/人物.png b/ResourceFiles/苍暮·源能专家/人物.png deleted file mode 100644 index 0bd89449..00000000 Binary files a/ResourceFiles/苍暮·源能专家/人物.png and /dev/null differ diff --git a/ResourceFiles/苍暮·特工/bg.jpg b/ResourceFiles/苍暮·特工/bg.jpg deleted file mode 100644 index b253d062..00000000 Binary files a/ResourceFiles/苍暮·特工/bg.jpg and /dev/null differ diff --git a/ResourceFiles/苍暮·特工/reset/char.json b/ResourceFiles/苍暮·特工/reset/char.json deleted file mode 100644 index 5795ffb0..00000000 --- a/ResourceFiles/苍暮·特工/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "一觉减CD开关": false -} diff --git a/ResourceFiles/苍暮·特工/reset/page_1.json b/ResourceFiles/苍暮·特工/reset/page_1.json deleted file mode 100644 index 1ee64625..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/苍暮·特工/reset/page_2.json b/ResourceFiles/苍暮·特工/reset/page_2.json deleted file mode 100644 index 97b6afe3..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_2.json +++ /dev/null @@ -1,162 +0,0 @@ -{ - "BUFF输入": "100", - "时间输入": 25, - "觉醒选择": 2, - "护石栏": [1, 3, 6], - "护石类型": [1, 1, 0], - "符文技能": [4, 4, 4, 4, 4, 4, 4, 4, 4], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "连续射击": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "特工秘技": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双弦斩": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "月光挥斩": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "小太刀精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "满月斩": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "迅步突袭": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "月影秘步": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "3" - }, - "锁定射击": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "枪刃旋杀": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "终极锁定": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "使命觉悟": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "噬血绝杀": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "月相轮舞": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "月光镇魂曲": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "冷酷杀意": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毁灭狂欢": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "精准射击": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "月相天陨": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "无暇": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "夜影迷踪": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "月夜:终极行动": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/苍暮·特工/reset/page_3.json b/ResourceFiles/苍暮·特工/reset/page_3.json deleted file mode 100644 index f9d56795..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 5] - ] -} diff --git a/ResourceFiles/苍暮·特工/reset/page_4.json b/ResourceFiles/苍暮·特工/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/苍暮·特工/reset/page_5.json b/ResourceFiles/苍暮·特工/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/苍暮·特工/reset/page_6.json b/ResourceFiles/苍暮·特工/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/苍暮·特工/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/苍暮·特工/人物.png b/ResourceFiles/苍暮·特工/人物.png deleted file mode 100644 index 9952c0e0..00000000 Binary files a/ResourceFiles/苍暮·特工/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·合金战士/bg.jpg b/ResourceFiles/重霄·合金战士/bg.jpg deleted file mode 100644 index 9a08c165..00000000 Binary files a/ResourceFiles/重霄·合金战士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·合金战士/reset/store.json b/ResourceFiles/重霄·合金战士/reset/store.json deleted file mode 100644 index 400b79e8..00000000 --- a/ResourceFiles/重霄·合金战士/reset/store.json +++ /dev/null @@ -1,516 +0,0 @@ -{ - "/carry/data/title": 0, - "/carry/data/pet": 0, - "/carry/data/compute_mode": 0, - "/carry/data/ditto_checked": false, - "/carry/data/pet_equip_adaptive": true, - "/carry/data/aura_adaptive": true, - "/carry/data/myth_top_checked": true, - "/carry/data/damage_unit": false, - "/carry/data/thread_count": 1, - "/carry/data/attack_elemental": 0, - "/carry/data/remodel_limit": 2, - "/carry/data/equip_checked": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, - 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/carry/data/equip_conditions": [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/carry/data/buff_input": "100", - "/carry/data/time_input": "25", - "/carry/data/awakening_binding": 1, - "/carry/data/talismans": [3, 2, 1], - "/carry/data/talisman_types": [0, 0, 0], - "/carry/data/runes_skills": [13, 13, 13, 13, 13, 13, 13, 13, 13], - "/carry/data/runes_effects": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "/carry/data/consumables": [ - true, - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/skill": { - "基础精通": { - "level": 100, - "tp": 0, - "count": "0", - "pet": "0" - }, - "超频:压制": { - "level": 50, - "tp": 0, - "count": "0", - "pet": "0" - }, - "烟尘弹": { - "level": 48, - "tp": 0, - "count": "0", - "pet": "0" - }, - "合金战士自动手枪精通": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "瞄准射击": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "弱点扫描": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "枪托强击": { - "level": 43, - "tp": 0, - "count": "0", - "pet": "0" - }, - "改装榴弹": { - "level": 43, - "tp": 0, - "count": "0", - "pet": "0" - }, - "改造烟尘弹": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "超频:重盾保卫": { - "level": 43, - "tp": 0, - "count": "4", - "pet": "1" - }, - "磁力手雷": { - "level": 38, - "tp": 0, - "count": "0", - "pet": "0" - }, - "三连霰弹": { - "level": 38, - "tp": 0, - "count": "0", - "pet": "0" - }, - "爆裂飞踢": { - "level": 36, - "tp": 0, - "count": "0", - "pet": "0" - }, - "超频:机械冲撞": { - "level": 36, - "tp": 5, - "count": "3", - "pet": "1" - }, - "战略轰炸": { - "level": 33, - "tp": 5, - "count": "2", - "pet": "0" - }, - "雷达扫射": { - "level": 31, - "tp": 5, - "count": "1", - "pet": "1" - }, - "机体复原": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "电弧能量释放": { - "level": 1, - "tp": 0, - "count": "6", - "pet": "3" - }, - "超频:全领域攻击": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "1" - }, - "超频:电流闪踢": { - "level": 23, - "tp": 5, - "count": "2", - "pet": "0" - }, - "堡垒轰击": { - "level": 18, - "tp": 5, - "count": "1", - "pet": "1" - }, - "AT-SO步行者": { - "level": 16, - "tp": 0, - "count": "1", - "pet": "0" - }, - "躯体重塑": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "炎神攻城炮": { - "level": 13, - "tp": 0, - "count": "1", - "pet": "1" - }, - "超频:伊奎利斯-MR": { - "level": 0, - "tp": 0, - "count": "1", - "pet": "1" - }, - "诺维尔计划:涅磐": { - "level": 4, - "tp": 0, - "count": "0", - "pet": "0" - }, - "超频:音速瞬杀": { - "level": 6, - "tp": 0, - "count": "1", - "pet": "1" - }, - "超频:末世终结之战": { - "level": 2, - "tp": 0, - "count": "1", - "pet": "1" - } - }, - "/carry/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/carry/data/detail_values": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "/carry/data/detail_options": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ], - "/carry/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/remodel_upgrade": false, - "/carry/data/weapon_adaptive_mode": 1, - "/carry/data/nameless_elemental_value": 3, - "/carry/data/weapon_fusion": [1, 0, 0, 0, 0], - "/carry/data/jude_effects": [0, 0, 0, 0], - "/carry/data/jude_values": [-1, -1, -1, -1], - "/carry/data/astaroth_options": [0, 0, 0, 0, 0], - "/carry/data/black_purgatory": [ - [1, 0, 0], - [1, 0, 0], - [1, 0, 0], - [1, 0, 0] - ], - "/carry/data/siroco": [0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0], - "/carry/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 - ], - "/carry/data/self_select/equips": [[3, 3, 3, 3, 3, 2, 2, 2, 0, 0, 0, 0]], - "/carry/data/self_select/column_index": 0, - "/carry/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/character_set": {}, - "/carry/data/remodel_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/character_sets": {}, - "/carry/data/siroco_weapon": null -} diff --git a/ResourceFiles/重霄·合金战士/人物.png b/ResourceFiles/重霄·合金战士/人物.png deleted file mode 100644 index 2bc9ae7a..00000000 Binary files a/ResourceFiles/重霄·合金战士/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·女/bg.jpg b/ResourceFiles/重霄·弹药专家·女/bg.jpg deleted file mode 100644 index d7518187..00000000 Binary files a/ResourceFiles/重霄·弹药专家·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·女/reset/store.json b/ResourceFiles/重霄·弹药专家·女/reset/store.json deleted file mode 100644 index a074d6d4..00000000 --- a/ResourceFiles/重霄·弹药专家·女/reset/store.json +++ /dev/null @@ -1,499 +0,0 @@ -{ - "/carry/data/title": 0, - "/carry/data/pet": 0, - "/carry/data/compute_mode": 1, - "/carry/data/ditto_checked": false, - "/carry/data/pet_equip_adaptive": false, - "/carry/data/aura_adaptive": false, - "/carry/data/myth_top_checked": false, - "/carry/data/damage_unit": false, - "/carry/data/thread_count": 1, - "/carry/data/attack_elemental": 0, - "/carry/data/remodel_limit": 2, - "/carry/data/equip_checked": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/equip_forges": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 10, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "/carry/data/equip_conditions": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0], - "/carry/data/buff_input": "84", - "/carry/data/time_input": "25", - "/carry/data/awakening_binding": 1, - "/carry/data/talismans": [2, 5, 6], - "/carry/data/talisman_types": [1, 1, 0], - "/carry/data/runes_skills": [7, 7, 7, 7, 7, 7, 7, 7, 7], - "/carry/data/runes_effects": [14, 15, 13, 14, 15, 13, 14, 15, 13], - "/carry/data/consumables": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/skill": { - "单兵推进器": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "兵器研究": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "手雷精通": { - "level": 1, - "tp": 0, - "count": "0", - "pet": "0" - }, - "弹药改良": { - "level": 10, - "tp": 0, - "count": "0", - "pet": "0" - }, - "M18阔剑地雷": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "G35感电手雷": { - "level": 41, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "交叉射击": { - "level": 41, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "爆裂弹": { - "level": 10, - "tp": 0, - "count": "/CD", - "pet": "10" - }, - "G18冰冻手雷": { - "level": 1, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "聚合弹": { - "level": 36, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "C4飞弹": { - "level": 0, - "tp": 0, - "count": "0", - "pet": "0" - }, - "凝固汽油弹": { - "level": 33, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "镭射狙击": { - "level": 31, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "弹药强化": { - "level": 20, - "tp": 0, - "count": "0", - "pet": "0" - }, - "EMP磁暴": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "G61重力手雷": { - "level": 15, - "tp": 1, - "count": "/CD", - "pet": "0" - }, - "轻火力速射": { - "level": 18, - "tp": 5, - "count": "/CD", - "pet": "1" - }, - "制空掌握": { - "level": 11, - "tp": 0, - "count": "0", - "pet": "0" - }, - "开火": { - "level": 16, - "tp": 0, - "count": "/CD", - "pet": "1" - }, - "G96热压手雷": { - "level": 13, - "tp": 0, - "count": "/CD", - "pet": "1" - }, - "决战之日": { - "level": 0, - "tp": 0, - "count": "/CD", - "pet": "1" - }, - "单兵推进器-02X": { - "level": 4, - "tp": 0, - "count": "0", - "pet": "0" - }, - "空袭战略": { - "level": 6, - "tp": 0, - "count": "/CD", - "pet": "0" - }, - "终解·制空霸权": { - "level": 2, - "tp": 0, - "count": "/CD", - "pet": "1" - } - }, - "/carry/data/avatar": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "/carry/data/detail_values": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "/carry/data/detail_options": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, 0, -1, 2] - ], - "/carry/data/myth_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/remodel_upgrade": false, - "/carry/data/weapon_adaptive_mode": 0, - "/carry/data/nameless_elemental_value": 3, - "/carry/data/siroco_weapon": [0, 0, 0, 0, 0], - "/carry/data/jude_effects": [0, 0, 0, 0], - "/carry/data/jude_values": [-1, -1, -1, -1], - "/carry/data/astaroth_options": [0, 0, 0, 0, 0], - "/carry/data/black_purgatory": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ], - "/carry/data/siroco": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "/carry/data/ozma": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "/carry/data/self_select/equips": [[3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0]], - "/carry/data/self_select/column_index": 0, - "/carry/data/self_select/locked": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "/carry/data/character_sets": { - "超负荷属性选择": 0, - "打桩模式": 0 - }, - "/carry/data/character_set": { - "超负荷属性选择": 0, - "打桩模式": 0 - }, - "/carry/data/ancient_memory": 10, - "/carry/data/kazan": 10, - "/carry/data/weapon_fusion": [0, 0, 0, 0, 0], - "/carry/data/remodel_properties": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·弹药专家·女/人物.png b/ResourceFiles/重霄·弹药专家·女/人物.png deleted file mode 100644 index 2ff4c96c..00000000 Binary files a/ResourceFiles/重霄·弹药专家·女/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·男/bg.jpg b/ResourceFiles/重霄·弹药专家·男/bg.jpg deleted file mode 100644 index 1a1b5c21..00000000 Binary files a/ResourceFiles/重霄·弹药专家·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·男/reset/char.json b/ResourceFiles/重霄·弹药专家·男/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_1.json b/ResourceFiles/重霄·弹药专家·男/reset/page_1.json deleted file mode 100644 index 43aa0f08..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_2.json b/ResourceFiles/重霄·弹药专家·男/reset/page_2.json deleted file mode 100644 index 22f39c50..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_2.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "BUFF输入": "84", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [2, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [2, 3, 1, 2, 3, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "弹夹改装": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "兵器研究": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "手雷精通": { - "等级": 2, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "M18阔剑地雷": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "G35感电手雷": { - "等级": 41, - "TP": 0, - "次数": "/CD", - "宠物": "3" - }, - "交叉射击": { - "等级": 41, - "TP": 5, - "次数": "/CD", - "宠物": "2" - }, - "爆裂弹": { - "等级": 10, - "TP": 0, - "次数": "/CD", - "宠物": "20.0" - }, - "G18冰冻手雷": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "聚合弹": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "C4飞弹": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "凝固汽油弹": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "镭射狙击": { - "等级": 31, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "弹药主宰": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑玫瑰特种战队": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "G61重力手雷": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "轻火力速射": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "战地功勋": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "重火力支援": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "G38ARG智能手雷": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "超新星核爆": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "赤诚之心": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "皇鹰特战队": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "赤魂风暴狙击": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "弹药改良": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_3.json b/ResourceFiles/重霄·弹药专家·男/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_4.json b/ResourceFiles/重霄·弹药专家·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_5.json b/ResourceFiles/重霄·弹药专家·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·弹药专家·男/reset/page_6.json b/ResourceFiles/重霄·弹药专家·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·弹药专家·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·弹药专家·男/人物.png b/ResourceFiles/重霄·弹药专家·男/人物.png deleted file mode 100644 index f0d91eaa..00000000 Binary files a/ResourceFiles/重霄·弹药专家·男/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·男/技能/轻火力速射.png b/ResourceFiles/重霄·弹药专家·男/技能/轻火力速射.png deleted file mode 100644 index 795427c8..00000000 Binary files a/ResourceFiles/重霄·弹药专家·男/技能/轻火力速射.png and /dev/null differ diff --git a/ResourceFiles/重霄·弹药专家·男/技能/镭射狙击.png b/ResourceFiles/重霄·弹药专家·男/技能/镭射狙击.png deleted file mode 100644 index c1859fd2..00000000 Binary files a/ResourceFiles/重霄·弹药专家·男/技能/镭射狙击.png and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·女/bg.jpg b/ResourceFiles/重霄·机械师·女/bg.jpg deleted file mode 100644 index 22d78d93..00000000 Binary files a/ResourceFiles/重霄·机械师·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·女/reset/char.json b/ResourceFiles/重霄·机械师·女/reset/char.json deleted file mode 100644 index 5795ffb0..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "一觉减CD开关": false -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_1.json b/ResourceFiles/重霄·机械师·女/reset/page_1.json deleted file mode 100644 index 944b938f..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_2.json b/ResourceFiles/重霄·机械师·女/reset/page_2.json deleted file mode 100644 index 506dcaa4..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_2.json +++ /dev/null @@ -1,205 +0,0 @@ -{ - "BUFF输入": "85", - "时间输入": 25, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [6, 3, 1], - "护石类型": [0, 1, 1], - "符文技能": [11, 11, 11, 11, 11, 11, 11, 11, 11], - "符文效果": [15, 14, 13, 15, 14, 13, 15, 14, 13], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "机械原理": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G1科罗纳": { - "等级": 43, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "G2旋雷者": { - "等级": 41, - "TP": 5, - "次数": "4", - "宠物": "1" - }, - "毒蛇炮": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "电能转换": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G3捕食者": { - "等级": 38, - "TP": 5, - "次数": "11.0", - "宠物": "10" - }, - "G1磁力弹": { - "等级": 43, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "空战机械:狂风": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "空投支援": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "拦截机工厂": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "光反应能量模块": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G系扩张": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G0战争领主": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "HS12等离子体发生器": { - "等级": 21, - "TP": 4, - "次数": "/CD", - "宠物": "1" - }, - "G4雷行者": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "GX主宰者": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "GSP猎鹰科罗纳形态": { - "等级": 16, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "GSP猎鹰旋雷者形态": { - "等级": 16, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "GSP猎鹰捕食者形态": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "高压电磁场": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "终结者:博尔特MX": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "微型制导": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "超时空光耀加农炮": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "G-X 星尘天穹": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "空中射击": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "基础精通": { - "等级": 100, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "RX-78追击者": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "Ez-8自爆者": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "机械引爆": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_3.json b/ResourceFiles/重霄·机械师·女/reset/page_3.json deleted file mode 100644 index 60d7c9aa..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "20", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "20", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "20", - "", - "", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 17] - ] -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_4.json b/ResourceFiles/重霄·机械师·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_5.json b/ResourceFiles/重霄·机械师·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·机械师·女/reset/page_6.json b/ResourceFiles/重霄·机械师·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·机械师·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·机械师·女/人物.png b/ResourceFiles/重霄·机械师·女/人物.png deleted file mode 100644 index 403b4415..00000000 Binary files a/ResourceFiles/重霄·机械师·女/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰捕食者形态.png b/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰捕食者形态.png deleted file mode 100644 index c05f6204..00000000 Binary files a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰捕食者形态.png and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰旋雷者形态.png b/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰旋雷者形态.png deleted file mode 100644 index 95a910df..00000000 Binary files a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰旋雷者形态.png and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰科罗纳形态.png b/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰科罗纳形态.png deleted file mode 100644 index f762886b..00000000 Binary files a/ResourceFiles/重霄·机械师·女/技能/GSP猎鹰科罗纳形态.png and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·男/bg.jpg b/ResourceFiles/重霄·机械师·男/bg.jpg deleted file mode 100644 index 9721917e..00000000 Binary files a/ResourceFiles/重霄·机械师·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·机械师·男/reset/char.json b/ResourceFiles/重霄·机械师·男/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_1.json b/ResourceFiles/重霄·机械师·男/reset/page_1.json deleted file mode 100644 index 944b938f..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_2.json b/ResourceFiles/重霄·机械师·男/reset/page_2.json deleted file mode 100644 index 05a21166..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_2.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "BUFF输入": "85", - "时间输入": 25, - "觉醒选择": 1, - "远古记忆": 10, - "护石栏": [3, 1, 6], - "护石类型": [1, 1, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 8, 8, 8], - "符文效果": [1, 2, 3, 1, 2, 3, 1, 2, 3], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "方舟反应堆": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "G1科罗纳": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "G2旋雷者": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毒蛇炮": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "机械概论": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "RX78追击者": { - "等级": 50, - "TP": 5, - "次数": "/CD", - "宠物": "5" - }, - "Ez8自爆者": { - "等级": 1, - "TP": 0, - "次数": "/CD", - "宠物": "3" - }, - "G3捕食者": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "10" - }, - "RX60陷阱追击者": { - "等级": 12, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "空战机械:风暴": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "空投支援": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "拦截机工厂": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "光反应能量模块": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "斗志之歌": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "盖波加之拳": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "EZ10反击者": { - "等级": 23, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "EXSZero毒蛇炮": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "HS1机械助手": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "TN80终结者": { - "等级": 16, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "TX-45特攻队": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "超时空行军": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "SOPHIA": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "HS1全息机械猎手": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "GW16-瓦尔德斯坦": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "机械引爆": { - "等级": 5, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_3.json b/ResourceFiles/重霄·机械师·男/reset/page_3.json deleted file mode 100644 index 3649f9f9..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 1, 1, -1, -1, 0, 5, -1, -1, 1] - ] -} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_4.json b/ResourceFiles/重霄·机械师·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_5.json b/ResourceFiles/重霄·机械师·男/reset/page_5.json deleted file mode 100644 index b136c610..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [1, 0, 0, 0, 0], - "辟邪玉效果": [4, 3, 4, 3], - "辟邪玉数值": [20, 0, 20, 0], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·机械师·男/reset/page_6.json b/ResourceFiles/重霄·机械师·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·机械师·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·机械师·男/人物.png b/ResourceFiles/重霄·机械师·男/人物.png deleted file mode 100644 index 19329918..00000000 Binary files a/ResourceFiles/重霄·机械师·男/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·枪炮师·女/bg.jpg b/ResourceFiles/重霄·枪炮师·女/bg.jpg deleted file mode 100644 index a480f901..00000000 Binary files a/ResourceFiles/重霄·枪炮师·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·枪炮师·女/reset/char.json b/ResourceFiles/重霄·枪炮师·女/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_1.json b/ResourceFiles/重霄·枪炮师·女/reset/page_1.json deleted file mode 100644 index f8372639..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_2.json b/ResourceFiles/重霄·枪炮师·女/reset/page_2.json deleted file mode 100644 index f33101fe..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "95.7", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [2, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "M3喷火器": { - "等级": 47, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "重火器精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "加农炮": { - "等级": 44, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "反坦克炮": { - "等级": 44, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "APG63": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "激光炮": { - "等级": 42, - "TP": 4, - "次数": "/CD", - "宠物": "1" - }, - "蓄电激光炮": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "聚焦喷火器": { - "等级": 39, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "FM31榴弹发射器": { - "等级": 37, - "TP": 1, - "次数": "2", - "宠物": "0" - }, - "FM92mk2榴弹": { - "等级": 37, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "量子爆弹": { - "等级": 34, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "X1压缩量子炮": { - "等级": 32, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "超温重火器": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "远古粒子炮": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "等离子放射器": { - "等级": 24, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "FM92mk2SW榴弹": { - "等级": 19, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "重武装改造": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "FSC7": { - "等级": 17, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "PT15原始型压缩炮": { - "等级": 14, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "火力全开": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "Pandora_01": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "UHT-03爆炎喷火器": { - "等级": 7, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "制胜·最终兵器": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_3.json b/ResourceFiles/重霄·枪炮师·女/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_4.json b/ResourceFiles/重霄·枪炮师·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_5.json b/ResourceFiles/重霄·枪炮师·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·枪炮师·女/reset/page_6.json b/ResourceFiles/重霄·枪炮师·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·枪炮师·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·枪炮师·女/人物.png b/ResourceFiles/重霄·枪炮师·女/人物.png deleted file mode 100644 index 171f10d0..00000000 Binary files a/ResourceFiles/重霄·枪炮师·女/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·枪炮师·男/bg.jpg b/ResourceFiles/重霄·枪炮师·男/bg.jpg deleted file mode 100644 index 04b29f94..00000000 Binary files a/ResourceFiles/重霄·枪炮师·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·枪炮师·男/reset/char.json b/ResourceFiles/重霄·枪炮师·男/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_1.json b/ResourceFiles/重霄·枪炮师·男/reset/page_1.json deleted file mode 100644 index f8372639..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_2.json b/ResourceFiles/重霄·枪炮师·男/reset/page_2.json deleted file mode 100644 index 5c36ca90..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "95.7", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [2, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "M137格林机枪": { - "等级": 51, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "重火器精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "加农炮": { - "等级": 44, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "反坦克炮": { - "等级": 44, - "TP": 0, - "次数": "2", - "宠物": "0" - }, - "超动力补给包": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "激光炮": { - "等级": 42, - "TP": 4, - "次数": "/CD", - "宠物": "1" - }, - "蓄电激光炮": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "聚焦喷火器": { - "等级": 39, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "FM31榴弹发射器": { - "等级": 37, - "TP": 1, - "次数": "2", - "宠物": "0" - }, - "FM92刺弹炮": { - "等级": 37, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "量子爆弹": { - "等级": 34, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "X1压缩量子炮": { - "等级": 32, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "卫星定位": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "卫星射线": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "等离子放射器": { - "等级": 24, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "FM92SW刺弹炮": { - "等级": 19, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "重火器改良": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "地脉震荡器": { - "等级": 17, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "MSC7": { - "等级": 14, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "毁灭射线": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "连锁卫星": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "MLDRS95发射器": { - "等级": 7, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "裂核轨道炮": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_3.json b/ResourceFiles/重霄·枪炮师·男/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_4.json b/ResourceFiles/重霄·枪炮师·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_5.json b/ResourceFiles/重霄·枪炮师·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·枪炮师·男/reset/page_6.json b/ResourceFiles/重霄·枪炮师·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·枪炮师·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·枪炮师·男/人物.png b/ResourceFiles/重霄·枪炮师·男/人物.png deleted file mode 100644 index 8db250d5..00000000 Binary files a/ResourceFiles/重霄·枪炮师·男/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·漫游枪手·女/bg.jpg b/ResourceFiles/重霄·漫游枪手·女/bg.jpg deleted file mode 100644 index 7c58cee1..00000000 Binary files a/ResourceFiles/重霄·漫游枪手·女/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/char.json b/ResourceFiles/重霄·漫游枪手·女/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_1.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_1.json deleted file mode 100644 index 285ad73b..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_2.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_2.json deleted file mode 100644 index 19cac6e0..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "125.0", - "时间输入": 20, - "觉醒选择": 1, - "护石栏": [3, 1, 0], - "护石类型": [0, 0, 0], - "符文技能": [7, 7, 7, 7, 7, 7, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "烟尘弹": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "刺踢": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "致命射击": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "左轮奥义": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "花式枪术": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "锁链截击": { - "等级": 27, - "TP": 0, - "次数": "3", - "宠物": "0" - }, - "音速劫击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "致命回射": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "枪舞": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "移动射击": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "0" - }, - "多重射击": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "0" - }, - "双鹰回旋": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "隐匿切割": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "血腥狂欢": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "鲜血劫击": { - "等级": 23, - "TP": 1, - "次数": "/CD", - "宠物": "1" - }, - "压制射击": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "枪刃改良": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死亡锁链": { - "等级": 11, - "TP": 0, - "次数": "/CD", - "宠物": "0" - }, - "锁链切割": { - "等级": 13, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "血舞祭": { - "等级": 0, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "锁链意志": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毁灭风暴": { - "等级": 6, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "盛放·绯红花园": { - "等级": 2, - "TP": 0, - "次数": "/CD", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_3.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_3.json deleted file mode 100644 index f3d4f0c9..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 4, 4, -1, -1, 0, 5, -1, -1, 5] - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_4.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_5.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·女/reset/page_6.json b/ResourceFiles/重霄·漫游枪手·女/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·漫游枪手·女/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·女/人物.png b/ResourceFiles/重霄·漫游枪手·女/人物.png deleted file mode 100644 index 8a17e245..00000000 Binary files a/ResourceFiles/重霄·漫游枪手·女/人物.png and /dev/null differ diff --git a/ResourceFiles/重霄·漫游枪手·男/bg.jpg b/ResourceFiles/重霄·漫游枪手·男/bg.jpg deleted file mode 100644 index 422bb7e3..00000000 Binary files a/ResourceFiles/重霄·漫游枪手·男/bg.jpg and /dev/null differ diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/char.json b/ResourceFiles/重霄·漫游枪手·男/reset/char.json deleted file mode 100644 index 69a88e3b..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/char.json +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_1.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_1.json deleted file mode 100644 index 285ad73b..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_2.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_2.json deleted file mode 100644 index 6614f71e..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_2.json +++ /dev/null @@ -1,156 +0,0 @@ -{ - "BUFF输入": "125.0", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [3, 2, 0], - "护石类型": [0, 0, 0], - "符文技能": [6, 5, 6, 6, 5, 6, 0, 0, 0], - "符文效果": [1, 2, 3, 1, 2, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "致命射击": { - "等级": 46, - "TP": 1, - "次数": "3", - "宠物": "1" - }, - "左轮奥义": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "花式枪术": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "三连发": { - "等级": 38, - "TP": 5, - "次数": "3", - "宠物": "1" - }, - "致命回射": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "乱射": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "移动射击": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "多重射击": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "双鹰回旋": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "死亡印记": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "疯狂屠戮": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "死亡突袭": { - "等级": 23, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "压制射击": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "射击掌握": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "疾风骤雨": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "抹杀": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "第七翼动": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "卓尔不群": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "爆燃突击": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "鹰眸·致命危机": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "烟尘弹": { - "等级": 48, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_3.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_3.json deleted file mode 100644 index 8c4a63f6..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 3, 3, -1, -1, 0, 5, -1, -1, 3] - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_4.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_5.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·男/reset/page_6.json b/ResourceFiles/重霄·漫游枪手·男/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/重霄·漫游枪手·男/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/重霄·漫游枪手·男/人物.png b/ResourceFiles/重霄·漫游枪手·男/人物.png deleted file mode 100644 index 57e57ab1..00000000 Binary files a/ResourceFiles/重霄·漫游枪手·男/人物.png and /dev/null differ diff --git a/ResourceFiles/隐夜·刺客/bg.jpg b/ResourceFiles/隐夜·刺客/bg.jpg deleted file mode 100644 index 4303be82..00000000 Binary files a/ResourceFiles/隐夜·刺客/bg.jpg and /dev/null differ diff --git a/ResourceFiles/隐夜·刺客/reset/char.json b/ResourceFiles/隐夜·刺客/reset/char.json deleted file mode 100644 index 73ef553e..00000000 --- a/ResourceFiles/隐夜·刺客/reset/char.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "旋舞斩收招次数": 0, - "剑刃风暴旋转次数": 8, - "螺旋穿刺旋转次数": 0, - "死亡风暴攻击次数": 27, - "收招选择-0": true, - "收招选择-1": true, - "收招选择-2": true, - "收招选择-3": true, - "收招选择-4": true, - "收招选择-5": true, - "收招选择-6": true, - "收招选择-7": true, - "收招选择-8": true, - "收招选择-9": true, - "收招选择-10": true, - "收招选择-11": true, - "收招选择-12": true, - "收招选择-13": true, - "收招选择-14": true -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_1.json b/ResourceFiles/隐夜·刺客/reset/page_1.json deleted file mode 100644 index bce74c3f..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_2.json b/ResourceFiles/隐夜·刺客/reset/page_2.json deleted file mode 100644 index 6dc9526d..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "77", - "时间输入": 25, - "觉醒选择": 2, - "护石栏": [2, 5, 6], - "护石类型": [1, 1, 0], - "符文技能": [8, 8, 8, 8, 8, 8, 8, 8, 8], - "符文效果": [13, 14, 15, 13, 14, 15, 13, 14, 15], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "终结追击": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "武器精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "月弧": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "极限追击": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "双刃穿刺": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "绝杀斩": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋舞斩": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "旋刃": { - "等级": 41, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "剑刃风暴": { - "等级": 38, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "螺旋穿刺": { - "等级": 36, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "雷光刃影": { - "等级": 36, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "疾风乱舞": { - "等级": 33, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "绝命瞬狱杀": { - "等级": 31, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "月轮舞": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "旋刃冲击": { - "等级": 23, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "陨落螺旋刺": { - "等级": 18, - "TP": 5, - "次数": "/CD", - "宠物": "1" - }, - "乱空杀": { - "等级": 11, - "TP": 0, - "次数": "/CD", - "宠物": "1" - }, - "月影突袭": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "天渊星狱": { - "等级": 0, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死亡风暴": { - "等级": 22, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "绝命时刻": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "幻灭瞬杀": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "影·万古星辰": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0.5" - } - } -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_3.json b/ResourceFiles/隐夜·刺客/reset/page_3.json deleted file mode 100644 index b6583957..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 2, 2, -1, -1, 0, 5, -1, -1, 2] - ] -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_4.json b/ResourceFiles/隐夜·刺客/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_5.json b/ResourceFiles/隐夜·刺客/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/隐夜·刺客/reset/page_6.json b/ResourceFiles/隐夜·刺客/reset/page_6.json deleted file mode 100644 index 767df147..00000000 --- a/ResourceFiles/隐夜·刺客/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 1], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/隐夜·刺客/人物.png b/ResourceFiles/隐夜·刺客/人物.png deleted file mode 100644 index 2112dc7b..00000000 Binary files a/ResourceFiles/隐夜·刺客/人物.png and /dev/null differ diff --git a/ResourceFiles/隐夜·影舞者/bg.jpg b/ResourceFiles/隐夜·影舞者/bg.jpg deleted file mode 100644 index e82dbad9..00000000 Binary files a/ResourceFiles/隐夜·影舞者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/隐夜·影舞者/reset/char.json b/ResourceFiles/隐夜·影舞者/reset/char.json deleted file mode 100644 index 210ea302..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/char.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "刃舞hit": 0 -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_1.json b/ResourceFiles/隐夜·影舞者/reset/page_1.json deleted file mode 100644 index 8068b317..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_2.json b/ResourceFiles/隐夜·影舞者/reset/page_2.json deleted file mode 100644 index 4cad00a5..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_2.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "BUFF输入": "103", - "时间输入": 20, - "觉醒选择": 2, - "护石栏": [4, 5, 0], - "护石类型": [0, 0, 0], - "符文技能": [11, 11, 11, 11, 11, 11, 0, 0, 0], - "符文效果": [1, 6, 3, 1, 6, 3, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "天诛": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "割喉": { - "等级": 46, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗杀教义": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "夺魂": { - "等级": 43, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗杀之匕首精通": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "穿心": { - "等级": 41, - "TP": 1, - "次数": "3", - "宠物": "2" - }, - "追命": { - "等级": 38, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "潜影刺击": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "刃舞": { - "等级": 7, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "影戮": { - "等级": 33, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "瞬杀": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "暗杀之心": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "影斩·乱舞": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "绝命飞刃": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "八荒影杀": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "0" - }, - "死亡连舞": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "潜行暗杀": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "剜心": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "锁链": { - "等级": 0, - "TP": 0, - "次数": "10", - "宠物": "4" - }, - "幽冥链狱:索命": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "暗影禁忌": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "影缚追魂锁": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "无间影狱·噬灭": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_3.json b/ResourceFiles/隐夜·影舞者/reset/page_3.json deleted file mode 100644 index 84a9e03f..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 5, 5, -1, -1, 0, 5, -1, -1, 20] - ] -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_4.json b/ResourceFiles/隐夜·影舞者/reset/page_4.json deleted file mode 100644 index 01629aa2..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_5.json b/ResourceFiles/隐夜·影舞者/reset/page_5.json deleted file mode 100644 index 41e2daf3..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/隐夜·影舞者/reset/page_6.json b/ResourceFiles/隐夜·影舞者/reset/page_6.json deleted file mode 100644 index 8efabd46..00000000 --- a/ResourceFiles/隐夜·影舞者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/隐夜·影舞者/人物.png b/ResourceFiles/隐夜·影舞者/人物.png deleted file mode 100644 index c58801f4..00000000 Binary files a/ResourceFiles/隐夜·影舞者/人物.png and /dev/null differ diff --git a/ResourceFiles/隐夜·忍者/bg.jpg b/ResourceFiles/隐夜·忍者/bg.jpg deleted file mode 100644 index d3569f8b..00000000 Binary files a/ResourceFiles/隐夜·忍者/bg.jpg and /dev/null differ diff --git a/ResourceFiles/隐夜·忍者/reset/char.json b/ResourceFiles/隐夜·忍者/reset/char.json deleted file mode 100644 index bfff2ce6..00000000 --- a/ResourceFiles/隐夜·忍者/reset/char.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "火遁·豪火球之术": 0, - "忍法:幻影手里剑": 0, - "火遁·飓风煞": 0, - "火遁·螺旋手里剑": 0, - "忍法:替身术": 0, - "火遁·炎天道": 1, - "火遁·蟾蜍油炎弹": 1, - "火遁·炎舞天璇": 1, - "八岐大蛇": 1, - "火遁·风魔手里剑": 1, - "天照": 1 -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_1.json b/ResourceFiles/隐夜·忍者/reset/page_1.json deleted file mode 100644 index aaa9e411..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 0, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_2.json b/ResourceFiles/隐夜·忍者/reset/page_2.json deleted file mode 100644 index dcb3fa52..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_2.json +++ /dev/null @@ -1,193 +0,0 @@ -{ - "BUFF输入": "104", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [2, 3, 0], - "护石类型": [0, 0, 0], - "符文技能": [6, 8, 8, 6, 8, 8, 0, 0, 0], - "符文效果": [2, 3, 1, 2, 3, 1, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "火遁·豪火球之术": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "忍法:幻影手里剑": { - "等级": 43, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "火遁·飓风煞": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "苦无精通": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "烈焰印记": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "火遁·螺旋手里剑": { - "等级": 38, - "TP": 1, - "次数": "2", - "宠物": "1" - }, - "忍法:替身术": { - "等级": 10, - "TP": 0, - "次数": "1", - "宠物": "0" - }, - "火遁·炎天道": { - "等级": 36, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "忍法:残影术": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "火遁·蟾蜍油炎弹": { - "等级": 33, - "TP": 5, - "次数": "2", - "宠物": "1" - }, - "忍法:六道轮回": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "火遁·炎舞天璇": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "暗炎残星": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "毕方之印": { - "等级": 20, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "火遁·冥炎业火阵": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "忍法:飞燕手里剑": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "火遁·风魔手里剑": { - "等级": 18, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "八尺琼勾玉": { - "等级": 1, - "TP": 0, - "次数": "7", - "宠物": "4" - }, - "八咫镜": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "八岐大蛇": { - "等级": 16, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "天照": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "开二觉平x": { - "等级": 0, - "TP": 0, - "次数": "15.0", - "宠物": "0" - }, - "火炎灼空:草雉剑": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "三元刹": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "勾玉之火·镰鼬": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "火源限界·八咫乌": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "忍术精通": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - } - } -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_3.json b/ResourceFiles/隐夜·忍者/reset/page_3.json deleted file mode 100644 index 70f9ff3c..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 9, 9, -1, -1, 0, 5, -1, -1, 19] - ] -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_4.json b/ResourceFiles/隐夜·忍者/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_5.json b/ResourceFiles/隐夜·忍者/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/隐夜·忍者/reset/page_6.json b/ResourceFiles/隐夜·忍者/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/隐夜·忍者/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/隐夜·忍者/人物.png b/ResourceFiles/隐夜·忍者/人物.png deleted file mode 100644 index 45f3b078..00000000 Binary files a/ResourceFiles/隐夜·忍者/人物.png and /dev/null differ diff --git a/ResourceFiles/隐夜·死灵术士/bg.jpg b/ResourceFiles/隐夜·死灵术士/bg.jpg deleted file mode 100644 index b4496b3c..00000000 Binary files a/ResourceFiles/隐夜·死灵术士/bg.jpg and /dev/null differ diff --git a/ResourceFiles/隐夜·死灵术士/reset/char.json b/ResourceFiles/隐夜·死灵术士/reset/char.json deleted file mode 100644 index 1e771f74..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/char.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "一觉Buff开关": true, - "王子显示开关": false, - "大巴显示开关": false -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_1.json b/ResourceFiles/隐夜·死灵术士/reset/page_1.json deleted file mode 100644 index 72a49159..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_1.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "称号": 0, - "宠物": 0, - "计算模式": 1, - "百变怪": false, - "宠物装备择优": false, - "光环词条择优": false, - "神话排名勾选": false, - "亿为单位显示": false, - "线程数量": 1, - "攻击属性": 0, - "改造数量": 2, - "装备勾选": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "装备打造": [ - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 10, 10, 10, 10, 10, 10, 10, 10, 12, 10, - 10, 12, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8, 0 - ], - "装备条件": [0, 6, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_2.json b/ResourceFiles/隐夜·死灵术士/reset/page_2.json deleted file mode 100644 index b0f14bef..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_2.json +++ /dev/null @@ -1,223 +0,0 @@ -{ - "BUFF输入": "114", - "时间输入": 20, - "觉醒选择": 2, - "远古记忆": 10, - "护石栏": [1, 4, 0], - "护石类型": [0, 0, 0], - "符文技能": [12, 12, 12, 12, 12, 12, 0, 0, 0], - "符文效果": [1, 3, 6, 1, 3, 6, 0, 0, 0], - "药剂勾选": [ - true, - true, - true, - true, - true, - true, - true, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ], - "技能选项": { - "暗魂波": { - "等级": 50, - "TP": 5, - "次数": "5", - "宠物": "2" - }, - "诅咒之箭": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "降临:尼古拉斯": { - "等级": 46, - "TP": 5, - "次数": "4", - "宠物": "2" - }, - "降临:尼古拉斯(艾克洛索)": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "2" - }, - "驱使僵尸": { - "等级": 35, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "服从": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "黑暗之环": { - "等级": 10, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗影蛛丝阵": { - "等级": 1, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "死亡之爪": { - "等级": 41, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "死灵之怨": { - "等级": 1, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "百鬼夜行": { - "等级": 38, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "黑魔法书:亡者之魂": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "降临:暴君巴拉克": { - "等级": 36, - "TP": 5, - "次数": "6", - "宠物": "2" - }, - "暗击拳": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "巴拉克强击": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "杀戮乱舞": { - "等级": 1, - "TP": 0, - "次数": "3", - "宠物": "1" - }, - "吸魂暗劲波": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "巴拉克的野心": { - "等级": 33, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "巴拉克的盟约": { - "等级": 1, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "降临:僵尸莱迪娅": { - "等级": 31, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "巴拉克的愤怒": { - "等级": 31, - "TP": 4, - "次数": "1", - "宠物": "1" - }, - "屠戮之惧": { - "等级": 20, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "千魂祭": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "死灵之缚": { - "等级": 23, - "TP": 5, - "次数": "1", - "宠物": "1" - }, - "释魂暗劲波": { - "等级": 18, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暗黑蛛丝引": { - "等级": 16, - "TP": 0, - "次数": "2", - "宠物": "1" - }, - "亡魂之息": { - "等级": 11, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "暴君极刑斩": { - "等级": 13, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "亡者君临:巴拉克之戮": { - "等级": 0, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "冥河之钥": { - "等级": 4, - "TP": 0, - "次数": "0", - "宠物": "0" - }, - "亡者之茧": { - "等级": 6, - "TP": 0, - "次数": "1", - "宠物": "1" - }, - "命运殇痕·摩罗斯之咒": { - "等级": 2, - "TP": 0, - "次数": "1", - "宠物": "1" - } - } -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_3.json b/ResourceFiles/隐夜·死灵术士/reset/page_3.json deleted file mode 100644 index af4798d4..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_3.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "时装选项": [3, 3, 3, 3, 3, 3, 3, 3, 3], - "细节数值": [ - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "120", - "", - "15", - "", - "290", - "", - "50", - "48", - "3", - "", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "10", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "20", - "", - "40", - "50", - "30", - "", - "", - "30", - "", - "30", - "40", - "", - "", - "" - ], - [ - "", - "", - "", - "8", - "", - "", - "10", - "7", - "", - "", - "", - "", - "", - "20", - "16", - "", - "" - ], - [ - "40", - "40", - "75", - "", - "", - "", - "", - "", - "", - "", - "150", - "", - "", - "", - "55", - "", - "230" - ], - [ - "70", - "70", - "20", - "36", - "36", - "", - "", - "", - "", - "", - "", - "30", - "40", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "", - "30", - "30", - "30", - "12", - "30", - "", - "15", - "15", - "", - "", - "6", - "10" - ], - [ - "40", - "40", - "30", - "70", - "", - "", - "30", - "70", - "8", - "8", - "", - "", - "", - "", - "", - "", - "" - ], - [ - "", - "", - "", - "", - "40", - "40", - "", - "", - "", - "", - "", - "", - "", - "40", - "40", - "40", - "" - ], - ["", "", "", "", "", "", "", ""] - ], - "细节选项": [ - [-1, -1, -1, -1, -1, -1, -1, 10, -1, -1, 1, 1, -1, -1, -1, -1, 0], - [-1, -1, 1, 1, 1, -1, -1, -1, 1, -1, -1, -1, 1, 1, -1, -1, -1], - [-1, -1, 0, 0, 0, -1, -1, -1, 19, 19, -1, -1, 0, 5, -1, -1, 27] - ] -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_4.json b/ResourceFiles/隐夜·死灵术士/reset/page_4.json deleted file mode 100644 index cd04b64f..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_4.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "神话属性修正": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ] -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_5.json b/ResourceFiles/隐夜·死灵术士/reset/page_5.json deleted file mode 100644 index e84dc3f5..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_5.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "智慧产物升级": false, - "武器择优模式": 0, - "守门人属强": 3, - "希洛克武器": [0, 0, 0, 0, 0], - "辟邪玉效果": [0, 0, 0, 0], - "辟邪玉数值": [-1, -1, -1, -1], - "阿斯特罗斯选项": [0, 0, 0, 0, 0], - "希洛克选择": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - "奥兹玛选择": [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - ], - "黑鸦选择": [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] - ] -} diff --git a/ResourceFiles/隐夜·死灵术士/reset/page_6.json b/ResourceFiles/隐夜·死灵术士/reset/page_6.json deleted file mode 100644 index e61f12a3..00000000 --- a/ResourceFiles/隐夜·死灵术士/reset/page_6.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "自选装备": [3, 3, 3, 3, 3, 2, 2, 2, 8, 0, 0, 0], - "装备锁定": [ - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false, - false - ] -} diff --git a/ResourceFiles/隐夜·死灵术士/人物.png b/ResourceFiles/隐夜·死灵术士/人物.png deleted file mode 100644 index 2ff32c92..00000000 Binary files a/ResourceFiles/隐夜·死灵术士/人物.png and /dev/null differ diff --git a/Tools/图标去白点.py b/Tools/图标去白点.py deleted file mode 100644 index eda466bc..00000000 --- a/Tools/图标去白点.py +++ /dev/null @@ -1,19 +0,0 @@ -from PIL import Image -import os - -path = [] - -for files in os.listdir('./'): - path.append(files) - -for i in path: - if '.png' in i or '.jpg' in i: - img = Image.open(i) - if img.size == (28, 28): - temp = img.convert("RGBA") - pim = temp.load() - pim[0, 0] = (255, 255, 255, 0) - pim[27, 0] = (255, 255, 255, 0) - pim[0, 27] = (255, 255, 255, 0) - pim[27, 27] = (255, 255, 255, 0) - temp.save(i.replace('.jpg', '.png')) diff --git a/Tools/神话图标.psd b/Tools/神话图标.psd deleted file mode 100644 index f11eb7ab..00000000 Binary files a/Tools/神话图标.psd and /dev/null differ diff --git a/Tools/神话融合图标拼接.py b/Tools/神话融合图标拼接.py deleted file mode 100644 index 926c671b..00000000 --- a/Tools/神话融合图标拼接.py +++ /dev/null @@ -1,52 +0,0 @@ -# Gif:导出图标所在 -# Icon:需要合成的图标 -# Top:特效所在文件夹,从1开始,后缀png -# Temp:临时文件夹 -# 注意:ICON需要和TOP中的宽度、高度、位深度相同 - -from skimage import io -import shutil -import imageio -import os -import math -import numpy as np - -# 线性减淡 - - -def Linear_dodge(img_1, img_2): - img = img_1 + img_2 - mask_2 = img > 1 - img = img * (1 - mask_2) + mask_2 - return img - - -def compose_gif(img_paths, fileName): - gif_images = [] - for path in img_paths: - gif_images.append(imageio.imread(path)) - # 间隔100毫秒 - imageio.mimsave("Gif/" + fileName[:-4] + ".gif", gif_images, duration=0.1) - - -if not os.path.exists("Temp"): - os.mkdir("Temp") - -Top_List = os.listdir("Top/") - -for file in os.listdir("Icon"): - file_path = os.path.join("Icon/", file) - if not os.path.isdir(file_path): - img_2 = io.imread(file_path) - img_2 = img_2 / 255.0 - img_paths = [] - for i in range(1, len(Top_List)): - file_name = os.path.join("Top/", str(i) + '.png') - img_1 = io.imread(file_name) - img_1 = img_1 / 255.0 - img = Linear_dodge(img_1, img_2) - io.imsave('Temp\\' + str(i) + '.png', img) - img_paths.append('Temp\\' + str(i) + '.png') - compose_gif(img_paths, file) - shutil.rmtree('Temp') - os.mkdir("Temp") diff --git a/Tools/融合效果.psd b/Tools/融合效果.psd deleted file mode 100644 index 6ce3f039..00000000 Binary files a/Tools/融合效果.psd and /dev/null differ diff --git a/api/adv.py b/api/adv.py new file mode 100644 index 00000000..71702292 --- /dev/null +++ b/api/adv.py @@ -0,0 +1,545 @@ +import json +import os + +res = [ + { + "name": "swordman_male", + "title": "鬼剑士(男)", + "children": [ + { + "title": "极诣·剑魂", + "name": "weapon_master", + "open": True + }, + { + "name": "soul_bender", + "title": "极诣·鬼泣", + "open": True + }, + { + "name": "berserker", + "title": "极诣·狂战士", + "open": True + }, + { + "name": "asura", + "title": "极诣·阿修罗", + "open": True + }, + { + "name": "ghostblade", + "title": "极诣·剑影", + "open": True + } + ] + }, + { + "name": "swordman_female", + "title": "鬼剑士(女)", + "children": [ + { + "name": "sword_master", + "title": "极诣·驭剑士", + "open": True + }, + { + "name": "dark_templar", + "title": "极诣·暗殿骑士", + "open": True + }, + { + "name": "demon_slayer", + "title": "极诣·契魔者", + "open": True + }, + { + "name": "vegabond", + "title": "极诣·流浪武士", + "open": True + }, + { + "name": "spectre", + "title": "极诣·刃影", + "open": True + } + ] + }, + { + "name": "fighter_male", + "title": "格斗家(男)", + "children": [ + { + "name": "nenmaster_male", + "title": "归元·气功师", + "open": True + }, + { + "name": "striker_male", + "title": "归元·散打", + "open": True + }, + { + "name": "brawler_male", + "title": "归元·街霸", + "open": True + }, + { + "name": "grappler_male", + "title": "归元·柔道家", + "open": True + }, + { + "name": "empty", + "title": "", + "comment": "首页" + } + ] + }, + { + "name": "fighter_female", + "title": "格斗家(女)", + "children": [ + { + "name": "nenmaster_female", + "title": "归元·气功师", + "open": True + }, + { + "name": "striker_female", + "title": "归元·散打", + "open": True + }, + { + "name": "brawler_female", + "title": "归元·街霸", + "open": True + }, + { + "name": "grappler_female", + "title": "归元·柔道家", + "open": True + }, + { + "name": "empty", + "title": "", + "comment": "设置" + } + ] + }, + { + "name": "gunner_male", + "title": "神枪手(男)", + "children": [ + { + "name": "ranger_male", + "title": "重霄·漫游枪手", + "open": True + + }, + { + "name": "launcher_male", + "title": "重霄·枪炮师", + "open": True + }, + { + "name": "mechanic_male", + "title": "重霄·机械师", + "open": True + }, + { + "name": "spitfire_male", + "title": "重霄·弹药专家", + "open": True + }, + { + "name": "assault", + "title": "重霄·合金战士", + "open": True + } + ] + }, + { + "name": "gunner_female", + "title": "神枪手(女)", + "children": [ + { + "name": "ranger_female", + "title": "重霄·漫游枪手", + "open": True + }, + { + "name": "launcher_female", + "title": "重霄·枪炮师", + "open": True + }, + { + "name": "mechanic_female", + "title": "重霄·机械师", + "open": True + + }, + { + "name": "spitfire_female", + "title": "重霄·弹药专家", + "open": True + }, + { + "name": "sponsor", + "url": "https://bbs.colg.cn", + "title": "", + "open": True + } + ] + }, + { + "name": "mage_male", + "title": "魔法师(男)", + "children": [ + { + "name": "elemental_bomber", + "title": "知源·元素爆破师", + "open": True + }, + { + "name": "glacial_master", + "title": "知源·冰结师", + "open": True + }, + { + "name": "blood_mage", + "title": "知源·血法师", + "open": True + }, + { + "name": "swift_master", + "title": "知源·逐风者", + "open": True + }, + { + "name": "dimension_walker", + "title": "知源·次元行者", + "open": True + } + ] + }, + { + "name": "mage_female", + "title": "魔法师(女)", + "children": [ + { + "name": "elementalist", + "title": "知源·元素师", + "open": True + }, + { + "name": "summoner", + "title": "知源·召唤师", + "open": True + }, + { + "name": "battle_mage", + "title": "知源·战斗法师", + "open": True + }, + { + "name": "witch", + "title": "知源·魔道学者", + "open": True + }, + { + "name": "enchantress", + "title": "知源·小魔女", + "open": True, + "options": [ + { "name": "default", "title": "奶", "class": "enchantress" }, + { "name": "default", "title": "输出", "class": "enchantress_carry" } + ] + } + ] + }, + { + "name": "priest_male", + "title": "圣职者(男)", + "children": [ + { + "name": "crusader_male", + "title": "神启·圣骑士", + "open": True, + "options": [ + { + "name": "default", + "title": "奶", + "class": "crusader_male" + }, + { + "name": "default", + "title": "审判", + "class": "crusader_male_carry" + } + ] + }, + { + "name": "infighter", + "title": "神启·蓝拳圣使", + "open": True + }, + { + "name": "exorcist", + "title": "神启·驱魔师", + "open": True + }, + { + "name": "avenger", + "title": "神启·复仇者", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "priest_female", + "title": "圣职者(女)", + "children": [ + { + "name": "crusader_female", + "title": "神启·圣骑士", + "open": True, + "options": [ + { + "name": "default", + "title": "奶", + "class": "crusader_female" + }, + { + "name": "default", + "title": "输出", + "class": "crusader_female_carry" + } + ] + }, + { + "name": "inquistor", + "title": "神启·异端审判者", + "open": True + }, + { + "name": "sorceress", + "title": "神启·巫女", + "open": True + }, + { + "name": "mistress", + "title": "神启·诱魔者", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "thief", + "title": "暗夜使者", + "children": [ + { + "name": "rogue", + "title": "隐夜·刺客", + "open": True + }, + { + "name": "necro", + "title": "隐夜·死灵术士", + "open": True + }, + { + "name": "kunoichi", + "title": "隐夜·忍者", + "open": True + }, + { + "name": "shadow_dancer", + "title": "隐夜·影舞者", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "knight", + "title": "守护者", + "children": [ + { + "name": "elven_knight", + "title": "皓曦·精灵骑士", + "open": True + }, + { + "name": "chaos", + "title": "皓曦·混沌魔灵", + "open": True + }, + { + "name": "paladin", + "title": "皓曦·帕拉丁", + "open": True + }, + { + "name": "dragon_knight", + "title": "皓曦·龙骑士", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "demonic_lancer", + "title": "魔枪士", + "children": [ + { + "name": "vanguard", + "title": "千魂·征战者", + "open": True + }, + { + "name": "skirmisher", + "title": "千魂·决战者", + "open": True + }, + { + "name": "dragoon", + "title": "千魂·狩猎者", + "open": True + }, + { + "name": "impaler", + "title": "千魂·暗枪士", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "gunblader", + "title": "枪剑士", + "children": [ + { + "name": "hitman", + "title": "苍暮·暗刃", + "open": True + }, + { + "name": "agent", + "title": "苍暮·特工", + "open": True + }, + { + "name": "trouble_shooter", + "title": "苍暮·战线佣兵", + "open": True + }, + { + "name": "specialist", + "title": "苍暮·源能专家", + "open": True + }, + { + "name": "empty", + "title": "" + } + ] + }, + { + "name": "archer", + "title": "弓箭手", + "children": [ + { + "name": "muse", + "title": "聆风·缪斯", + "open": True + }, + { + "name": "traveler", + "title": "聆风·旅人", + "open": True + }, + { "name": "hunter", "title": "聆风·猎人", "open": True }, + { "name": "vigilante", "title": "聆风·妖护使", "open": True }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "extra", + "title": "外传", + "children": [ + { + "name": "creator", + "title": "知源·缔造者", + "open": True + }, + { + "name": "dark_knight", + "title": "极诣·黑暗武士", + "open": True + }, + { + "name": "empty", + "title": "" + }, + { + "name": "empty", + "title": "" + }, + { + "name": "empty", + "title": "" + } + ] + } +] + +cur = "../api/core/characters" + +toAdd = [] + +for i in os.listdir(cur): + if os.path.isdir(os.path.join(cur,i)): + for j in os.listdir(os.path.join(cur,i)): + if os.path.isdir(os.path.join(cur,i,j)) and not j.startswith("_"): + for k in os.listdir(os.path.join(cur,i,j)): + if not k.startswith("_"): + toAdd.append(f'{i}.{j}.{k.replace(".py","")}') + +for i in res: + for j in i["children"]: + items = list(filter(lambda x:j['name'] in x,toAdd)) + if len(items) > 0: + for item in items: + temp = j.get("options",[]) + if len(temp) == 0: + temp.append({ + "name": "default", + "title": "国服", + "class": j['name'] + }) + j['options'] = temp.append({ + "name": "default", + "title": f"{'韩服' if item.startswith('HF') else '国服'}.{item.split('.')[1].split('_')[1]}", + "class": item + }) + j['options']= temp + +with open("../api/dataFiles/adventure-info.json", "w", encoding="utf-8") as fp: + json.dump(res, fp, ensure_ascii=False) \ No newline at end of file diff --git a/api/client.py b/api/client.py new file mode 100644 index 00000000..c0fb2f73 --- /dev/null +++ b/api/client.py @@ -0,0 +1,79 @@ +import threading + +import uvicorn +from multiprocessing import freeze_support + +from routers.config import config + +import subprocess +import sys +import psutil +import webview + +# pyinstaller .\main.py --exclude-module PyQt5 + +global BASE_URL + +def kill(proc_pid): + try: + if proc_pid is not None and proc_pid > 0: + process = psutil.Process(proc_pid) + for proc in process.children(recursive=True): + proc.kill() + process.kill() + except Exception: + pass + +def get_pid_by_port(port): + for conn in psutil.net_connections(): + if conn.laddr.port == port: + return conn.pid + return None + +class WIN: + def __init__(self,url="",width=800,height=600): + self.window = webview.create_window("DNF计算器",url=BASE_URL + url,frameless=True,easy_drag=False,width=width,height=height) + self.window.expose(self.invoke) + + # def onShow(self): + # print("show") + + def invoke(self,commond = "",arg = None): + if commond == "close-win": + self.window.destroy() + if commond == "minimize-win": + self.window.minimize() + if commond == "open-win": + WIN(arg.get("url",""),width=arg.get("width"),height=arg.get("height")) + + +if __name__ == "__main__": + + freeze_support() + # 启动服务 + # 创建webview窗口 + # 启动webview事件循环 + + env = 'release' + + for i in sys.argv: + if i.startswith("--dev"): + env = "dev" + break + q = 0 + + t=threading.Thread(target=uvicorn.run,kwargs=config) + t.daemon = True + t.start() + + if env == "dev": + kill(get_pid_by_port(25252)) + q = subprocess.Popen('vite ./packages/renderer',shell=True).pid + BASE_URL = "http://127.0.0.1:25252" + else: + BASE_URL = "http://127.0.0.1:17173" + + view = WIN() + view.window.events.closing += lambda : kill(q) + + webview.start(debug=env=='dev') diff --git a/ResourceFiles/Skins/LightStyle/标题字体.qcss b/api/core/__init__.py similarity index 100% rename from ResourceFiles/Skins/LightStyle/标题字体.qcss rename to api/core/__init__.py diff --git a/ResourceFiles/Skins/LightStyle/标题背景.qcss b/api/core/basic/__init__.py similarity index 100% rename from ResourceFiles/Skins/LightStyle/标题背景.qcss rename to api/core/basic/__init__.py diff --git a/api/core/basic/buffer/character.py b/api/core/basic/buffer/character.py new file mode 100644 index 00000000..60b2bf27 --- /dev/null +++ b/api/core/basic/buffer/character.py @@ -0,0 +1,37 @@ +from core.basic.character import Character + +class Character(Character): + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= (1-x) + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.CDR *= (1 - x) + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.恢复 += x + + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否主动 == 1: + i.CDR *= CD + + def set_individuation(self, info): + info['char_optiopns'] = [] + info['char_optiopns'].append({ + "name": '三觉绑定:', + "option": ["一次觉醒","二次觉醒"] + }) + + def 职业特殊设置(self): + self.get_skill_by_name("三次觉醒").关联技能= [self.get_skill_by_name('一次觉醒').名称 if self.get_individuation(0) == 0 else self.get_skill_by_name('二次觉醒').名称] + pass \ No newline at end of file diff --git a/api/core/basic/buffer/property.py b/api/core/basic/buffer/property.py new file mode 100644 index 00000000..a6f955a3 --- /dev/null +++ b/api/core/basic/buffer/property.py @@ -0,0 +1,143 @@ + +from core.basic.property import CharacterProperty +from core.basic.skill import 技能 + + +class Buffer(CharacterProperty): + + def BUFF量(): + return 0 + + def 辅助属性加成(self, buff固定力智=0, buff百分比力智=0.0, buff固定三攻=0, buff百分比三攻=0.0, 觉醒固定力智=0, 觉醒百分比力智=0.0, buff量=0, 百分比buff量=0.0): + pass + pass + + +class 辅助职业技能(技能): + 名称 = '' + 备注 = '' + 所在等级 = 0 + 等级上限 = 0 + 学习间隔 = 3 + 等级 = 0 + 基础等级 = 0 + 是否主动 = 0 + 站街生效 = 0 + 等级溢出 = 0 + + 是否启用 = 1 + 技能序号 = 0 + + 是否有伤害 = 0 + + def 等级加成(self, x, char={}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + if self.基础等级 != self.等级上限: + self.等级溢出 = 1 + else: + self.等级 += int(x) + + def 结算统计(self, context=None): + return [0, 0, 0, 0] + # 力智 三攻 智力 体精 + + +class 辅助职业被动技能(辅助职业技能): + 是否主动 = 0 + 进图加成 = 0 + + +class 辅助职业主动技能(辅助职业技能): + 是否主动 = 1 + 适用数值 = 0 + CD = 0.0 + CDR_O = 1.0 + CDR = 1.0 + 恢复 = 1.0 + 手搓 = False + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + + def 手搓CD(self): + cdr = 0 + if self.手搓: + if self.所在等级 >= 15 and self.所在等级 <= 30: + cdr = 0.01 * self.手搓收益 + if self.所在等级 >= 35 and self.所在等级 <= 70: + cdr = 0.02 * self.手搓收益 + if self.所在等级 >= 75 and self.所在等级 <= 100: + cdr = 0.05 * self.手搓收益 + if self.所在等级 in [50, 85, 100]: + cdr = 0.05 * self.手搓收益 + return cdr + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + 额外恢复 = argv.get('额外恢复', 0) + + cdr = self.手搓CD() + + return round(max(self.CD * self.CDR * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3)*self.CDR_O, 1) + +class 辅助职业觉醒技能(辅助职业主动技能): + 所在等级 = 50 + 等级精通 = 30 + 等级上限 = 50 + 等级精通 = 40 + 基础等级 = 14 + 一觉力智 = 0 + 一觉力智per = 1.0 + 一觉力智perTotal = 1.0 + # 28 原力智 941 测试修改为 939 + 力智 = [0, 43, 57, 74, 91, 111, 131, 153, 176, 201, 228, 255, 284, 315, 346, 379, 414, 449, 487, 526, 567, 608, 651, 696, 741, 789, 838, 888, + 939, 993, 1047, 1103, 1160, 1219, 1278, 1340, 1403, 1467, 1533, 1600, 1668, 1736, 1804, 1872, 1940, 2008, 2076, 2144, 2212, 2280, 2348] + + def 结算统计(self, context: Buffer, compute_3rd_awake=False): + buffer_power = context.BUFF量() + + 三次觉醒 = context.get_skill_by_name("三次觉醒") + if not context.check_fun_by_id(20064) and not compute_3rd_awake and self.名称 in 三次觉醒.关联技能: + return [0] * 5 + 旧词条力智 = ((self.适用数值/750 + 1) * + (self.力智[self.等级] + self.一觉力智))*self.一觉力智per + + 新词条力智 = (((self.适用数值 + 5250) / 750 + 1) * + (buffer_power + 5000) * 0.000025 * self.力智[self.等级]) if buffer_power > 0 else 0 + 力智 = (旧词条力智 + 新词条力智)*self.一觉力智perTotal + return [力智, 0, 0, 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 辅助职业三觉技能(辅助职业主动技能): + 所在等级 = 100 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 5 + 绑定一觉力智per = 1.08 + 绑定二觉力智per = 0.23 + 关联技能 = [] + + def 结算统计(self, context: Buffer): + awake = context.get_skill_by_name('一次觉醒') + if awake.是否启用: + values = awake.结算统计(context, True) + 倍率 = self.加成倍率(awake.名称 in self.关联技能) + return [int(round(i * 倍率)) for i in values] + return [0] * 5 + + def 加成倍率(self, bind_awake): + if bind_awake: + return round(1.08 + self.等级 * 0.01, 2) + else: + return round(0.23 + self.等级 * 0.01, 2) + + +BUFF影响技能 = ['勇气祝福', '勇气圣歌', '荣誉祝福', '禁忌诅咒', '死命召唤'] diff --git a/api/core/basic/character.py b/api/core/basic/character.py new file mode 100644 index 00000000..2710d142 --- /dev/null +++ b/api/core/basic/character.py @@ -0,0 +1,3213 @@ +import importlib +from copy import deepcopy +from pyclbr import Function +from typing import Dict, List, Union +from uuid import uuid1 +from utils.exception import ResponseException + +from core.basic.equipment import equipment, get_equ, get_global_data +from core.basic.property import CharacterProperty +from core.basic.skill import 主动技能, 技能, 被动技能 +from core.equipment.avatar import 装扮套装, 装扮套装集合, 装扮集合 +from core.equipment.emblems import get_emblems_setinfo +from core.equipment.enchanting import get_enchanting_setinfo +from core.equipment.jade import get_jade_setinfo +from core.equipment.property import ( + 增幅计算, + 左右计算, + 成长词条计算, + 武器强化计算, + 精通计算, + 耳环计算, + 获取基础属性, + 获取属性抗性基础, + 获取异常抗性基础, + 辅助精通计算, + 部位列表, + 锻造四维, + 锻造计算, +) +from core.equipment.sundry import get_sundries_setinfo + +# from core.basic.enchanting import get_encfunc_by_id +# from core.basic.emblems import get_embfunc_by_id +# from core.basic.jade import get_jadefunc_by_id + +MAXEQULV = 105 + + +class Character(CharacterProperty): + 等级 = 110 + # 辟邪玉属性 + 附加伤害增加增幅: float = 1.0 + 属性附加伤害增加增幅: float = 1.0 + 技能伤害增加增幅: float = 1.0 + 暴击伤害增加增幅: float = 1.0 + 伤害增加增幅: float = 1.0 + 最终伤害增加增幅: float = 1.0 + 力量智力增加增幅: float = 1.0 + 物理魔法攻击力增加增幅: float = 1.0 + 所有属性强化增幅: float = 1.0 + version = "default" + equVersion = "" + bufferCarry = False + + 等级: int = 110 + 防御输入: int = 506109 + 防御系数: int = 1 + 火抗输入: int = 0 + 冰抗输入: int = 0 + 光抗输入: int = 0 + 暗抗输入: int = 0 + 打造详情: Dict[str, Dict[str, int]] = {} + 装备栏: List[int] = [] # [装备id] + 部位装备: Dict[str, int] = {} # {部位: 装备id} + 部位附魔: Dict[str, Function] = {} # {部位: 附魔函数} + 词条等级: Dict[str, List[int]] = {} # {部位: [等级1, 2, 3, 4]} + 药剂: List[int] = [] + + # 需要职业自定义数据 + 实际名称 = "" + 名称 = "" + 角色 = "" + 角色类型 = "" + 职业 = "" + 武器选项: List[str] = [] + 输出类型选项: List[str] = [] + 防具精通属性: List[str] = [] + 排行类型 = "物理百分比" + 适用属性 = "智力" + 适用数值 = 0 + 类型 = "" + 武器类型 = "" + 防具类型 = "" + 转职 = "" + # 技能栏: List[技能 | 主动技能 | 被动技能] = [] + # 技能序号: Dict[int, 技能 | 主动技能 | 被动技能] = {} + 技能栏: List[Union[技能, 主动技能, 被动技能]] = [] + 技能序号: Dict[str, int] = {} + 自定义词条: Dict[int, List[int]] = {} + buff: float = 1.00 + hotkey: List[str] = [""] * 14 + 技能队列 = [] + 护石技能 = [] + 护石栏 = [] + 符文 = [] + skills_passive: Dict = {} + 融合列表 = [] + 武器融合 = [] + + 装扮栏: Dict[str, int] = {} + 装扮选项: Dict[str, str] = {} + + # 职业技能特殊选项 + individuation: Dict[str, int] = {} + + 技攻列表: Dict[str, List[float]] = {} + + 打造: Dict = {} + 觉醒技能 = [] + 冷却缩减 = 1.0 + 冷却恢复 = 0.0 + tip_part: List[str] = [] + trigger_set = {} + eq_params = {} + suits = [] + 特性列表 = [] + + def __init__(self, equVersion="") -> None: + self.equVersion = equVersion + self.eq_params = {} + # 计算变量 ########## + self.__基础力量: int = 0 + self.__基础智力: int = 0 + self.__基础体力: int = 0 + self.__基础精神: int = 0 + + self.进图力量: int = 0 + self.进图智力: int = 0 + self.__进图体力: int = 0 + self.__进图精神: int = 0 + self.__进图三攻: int = 0 + self.__BUFF补正智力: int = 0 + self.__BUFF补正体力: int = 0 + self.__BUFF补正精神: int = 0 + + self.__力量: int = 0 + self.__智力: int = 0 + self.__体力: int = 0 + self.__精神: int = 0 + + self.系统奶系数: float = 0.0 + self.系统奶基数: float = 0.0 + + self.冷却缩减 = 1.0 + self.冷却恢复 = 0 + + self.斗神宠物 = 1.0 + # self.年宠技能 = False + # self.白兔子技能 = False + # self.斗神之吼秘药 = False + + self.辅助对象力智 = 5000 + self.辅助对象三攻 = 3000 + + self.__物理攻击力: int = 65 + self.__魔法攻击力: int = 65 + self.__独立攻击力: int = 1134 + self.__火属性强化: float = 13 + self.__冰属性强化: float = 13 + self.__光属性强化: float = 13 + self.__暗属性强化: float = 13 + + # 旧词条 + self.__百分比力智: float = 0.0 + self.__百分比三攻: float = 0.0 + self.__伤害增加: float = 0.0 + self.__附加伤害: float = 0.0 + self.__属性附加: float = 0.0 + self.__暴击伤害: float = 0.0 + self.__最终伤害: float = 0.0 + self.技能攻击力: float = 1.0 + self.__面板技能攻击力: float = 1.0 + self.技能攻击力累加: float = 0.0 + self.__持续伤害: float = 0.0 + self.__加算冷却缩减: float = 0.0 + self.__百分比减防: float = 0.0 + self.__固定减防: int = 0 + self.__buff固定力智: int = 0 + self.__buff百分比力智: float = 1.0 + self.__buff固定三攻: int = 0 + self.__buff百分比三攻: float = 1.0 + + self.__觉醒固定力智: int = 0 + self.__觉醒百分比力智: float = 1.0 + self.__觉醒百分比力智Total: float = 1.0 + + # 其它词条 + self.__攻击速度: float = 0.00 + self.__攻击速度_其他: float = 0.00 + self.__移动速度: float = 0.00 + self.__施放速度: float = 0.00 + self.__命中率: float = 0.0 + self.__回避率: float = 0.0 + self.__物理暴击率: float = 0.00 + self.__魔法暴击率: float = 0.00 + self.__火属性抗性: int = 0 + self.__冰属性抗性: int = 0 + self.__光属性抗性: int = 0 + self.__暗属性抗性: int = 0 + + self.属强抗性倍率 = 1.0 + + # 新属性 + self.__攻击强化: int = 0 + self.__百分比攻击强化: float = 0.0 + self.__buff量: int = 0 + self.__百分比buff量: float = 0.0 + self.__基础精通倍率: float = 1.0 + self.伤害比例: Dict[str, float] = { + "直伤": 1.0, + "中毒": 0.0, + "灼伤": 0.0, + "感电": 0.0, + "出血": 0.0, + } + self.伤害系数: Dict[str, float] = { + "中毒": 1.0, + "灼伤": 1.0, + "感电": 1.0, + "出血": 1.0, + } + self.特效 = [] + self.__异常抗性: Dict[str, float] = {} + self.__异常抗性_职业基础: Dict[str, float] = {} + self.__指令效果: Dict[str, float] = {} + self.__MP消耗量: float = 1.0 + self.觉醒技能 = [] + + self.skills_passive = {} + self.异常基础加成 = { + "中毒": 1.1, + "灼伤": 1.0, + "感电": 1.05, + "出血": 1.1, + "灼伤破冰": 1.1, + } + self.异常结算加成 = { + "中毒": 1.0, + "灼伤": 1.0, + "感电": 1.0, + "出血": 1.0, + "灼伤破冰": 1.0, + } + self.异常时间 = { + # 基础持续时间 持续时间增加值 持续时间增加率 CD + "中毒": [5, 0, 1.0, 99], + "灼伤": [5, 0, 1.0, 99], + "感电": [10, 0, 1.0, 99], + "出血": [3, 0, 1.0, 99], + "冰冻": [5, 0, 10, 99], + } + self.打造 = {} + self.trigger_set = {} + for item in 部位列表 + ("称号", "宠物"): + self.打造[item] = { + # 成长 + "attack": [0] * 4, + # 成长 + "buffer": [0] * 4, + # 强化 + "强化四维": [0] * 4, + # 增幅 + "增幅四维": [0] * 4, + # 攻击力 + "强化攻击力": [0] * 3, + # 独立,四维 + "锻造加成": [0] * 2, + "params": [[None]] * 4, + "tips": [], + } + + self.tip_part = [] + if self.转职 == "": + self.转职 = self.职业 + + # 设置基础属性 + self.__设置基础属性() + self.技攻列表 = {} + + def __设置基础属性(self): + temp = 获取基础属性(self.角色, self.职业) + self.__基础力量 = temp[0] + self.__基础智力 = temp[1] + self.__基础体力 = temp[2] + self.__基础精神 = temp[3] + + self.__力量 = self.__基础力量 + self.__智力 = self.__基础智力 + self.__体力 = self.__基础体力 + self.__精神 = self.__基础精神 + + temp = 获取属性抗性基础(self.角色, self.职业) + self.__火属性抗性 += temp[0] + self.__冰属性抗性 += temp[1] + self.__光属性抗性 += temp[2] + self.__暗属性抗性 += temp[3] + + temp = 获取异常抗性基础(self.角色, self.职业) + + 异常状态 = [ + "出血", + "中毒", + "灼伤", + "感电", + "冰冻", + "减速", + "眩晕", + "诅咒", + "失明", + "石化", + "睡眠", + "混乱", + "束缚", + ] + for index in range(0, len(异常状态)): + self.异常抗性加成(异常状态[index], temp[index], mode=0) + + def 职业特殊设置(self): + pass + + # region 返回前端信息 + + def getinfo(self) -> Dict: + info = {} + info["alter"] = self.实际名称 + info["version"] = self.version + info["name"] = self.名称 + info["character"] = self.职业 + info["role"] = "buffer" if self.类型 == "辅助" else "delear" + info["weapon_types"] = self.武器选项 + info["carry_type_list"] = self.输出类型选项 + info["armor"] = self.防具类型 + info["armor_mastery"] = self.防具精通属性 + info["buff_ratio"] = self.buff + self.set_skill_info(info) + self.set_individuation(info) + dress_list = {} + i = 0 + for dress in 装扮集合: + 部位 = dress.部位 + if 部位 not in dress_list: + dress_list[部位] = [] + 选项集合 = dress.选项集合 + if dress.部位 == "上衣": + 选项集合 = 选项集合 + tuple(info["clothes_coat"]) + elif dress.部位 == "下装": + 选项集合 = 选项集合 + tuple(info["clothes_pants"]) + data = {} + data["id"] = i + data["options"] = 选项集合 + data["part"] = 部位 + data["rarity"] = dress.品质 + data["suit"] = dress.套装 + data["name"] = "{品质}装扮{部位}".format(品质=dress.品质, 部位=dress.部位) + i += 1 + dress_list[部位].append(data) + info["dress"] = dress_list + info["enchanting"] = get_enchanting_setinfo(self) + info["emblem"] = get_emblems_setinfo(self) + info["jade"] = get_jade_setinfo() + info["especificity"] = get_equ(self.equVersion).get_funs_info( + "specificity", self + ) + info["asrahan"] = get_equ(self.equVersion).get_funs_info("asrahan", self) + info["sundries"] = get_sundries_setinfo() + + for item in info["platinum"]: + info["emblem"].append( + { + "id": item, + "maxFame": 232, + "position": ["辅助装备", "魔法石"], + "props": item + " Lv+1" + " 四维 + 8", + "type": "技能", + "rarity": "白金", + "rate": 2000, + } + ) + return info + + def set_skills(self): + pass + + def get_acitve_skill_detail( + self, skill, temp_info, temp_char, weapon, ratio, skill_info + ): + if skill.是否有伤害: + if len(skill.形态) == 0: + skill.形态 = [""] + if ( + self.实际名称 == "elven_knight" + and len(list(filter(lambda x: "6c" in x, skill.形态))) > 0 + ): + skill.形态 = list(filter(lambda x: "6c" in x, skill.形态)) + for 形态 in skill.形态: + original = 0 + for i in ["直伤", "中毒", "灼伤", "感电", "出血"]: + original += skill.等效百分比( + char=temp_info, 武器类型=weapon, 形态=形态, 伤害类型=i + ) + skill_info["skills_active"].append( + { + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": original * ratio * skill.被动倍率, + "cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型, char=temp_info), + "mode": 形态, + "cost": skill.无色消耗, + "tp": skill.TP等级, + } + ) + if skill.是否有护石 == 1: + temp = temp_char.get_skill_by_name(skill.名称) + cp = 0 + for i in ["直伤", "中毒", "灼伤", "感电", "出血"]: + cp += temp.等效百分比( + char=temp_char, 武器类型=weapon, 形态=形态, 伤害类型=i + ) + skill_info["skills_cp"].append( + { + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": cp * ratio * temp.被动倍率, + "cd": temp.等效CD(武器类型=weapon, 输出类型=temp_info.类型, char=temp_info), + "original_data": original * ratio * skill.被动倍率, + "original_cd": skill.等效CD( + 武器类型=weapon, 输出类型=temp_info.类型, char=temp_info + ), + "mode": 形态, + "cost": temp.无色消耗, + "tp": skill.TP等级, + } + ) + pass + pass + + def get_passive_skill_detail(self, skill, temp_info): + if temp_info.类型 == "物理百分比": + 倍率 = skill.物理攻击力倍率(temp_info.武器类型) + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "物理攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = skill.物理攻击力倍率进图(temp_info.武器类型) + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "物理攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + elif temp_info.类型 == "魔法百分比": + 倍率 = skill.魔法攻击力倍率(temp_info.武器类型) + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "魔法攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = skill.魔法攻击力倍率进图(temp_info.武器类型) + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "魔法攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + + elif temp_info.类型 == "物理固伤" or temp_info.类型 == "魔法固伤": + 倍率 = skill.独立攻击力倍率(temp_info.武器类型) + if skill.名称 not in temp_info.skills_passive: + return + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "独立攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = skill.独立攻击力倍率进图(temp_info.武器类型) + if skill.名称 not in temp_info.skills_passive: + return + if 倍率 != 1: + temp_info.skills_passive[skill.名称]["info"].append( + { + "type": "独立攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + + def 设置觉醒技能(self): + self.觉醒技能 = [] + for i in self.技能栏: + if i.是否有伤害 == 1 and i.所在等级 in [50, 85, 100]: + self.觉醒技能.append(i.名称) + + def getskillinfos(self): + # 技能等级、技能TP + for skill in self.技能栏: + if skill.是否有伤害: + skill.TP等级 = skill.TP上限 + skill.等级 = skill.基础等级 + # 宠物 + self.加算冷却缩减(0.05) + self.技能等级加成("所有", 1, 95, 1) + # 光环 + self.技能等级加成("所有", 1, 95, 1) + # 至尊称号 + self.技能等级加成("被动", 95, 95, 1) + self.职业特殊设置() + # 白金、时装、BUFF + self.set_skills() + + for skill in self.技能栏: + self.skills_passive[skill.名称] = { + "info": [], + "lv": skill.等级, + "need_lv": skill.所在等级, + } + + self.加算冷却计算() + + ratio = self.buff + + infos = [] + for weapon in self.武器选项: + temp_info = deepcopy(self) + temp_char = deepcopy(self) + temp_char.护石栏 = [] + for skill in temp_char.技能栏: + if skill.是否有伤害 and skill.是否有护石 == 1: + temp_char.护石栏.append(skill.名称) + skill.装备护石(char=self) + temp_info.武器类型 = weapon + temp_info.职业特殊计算() + temp_info.被动倍率计算() + if self.类型 == "物理百分比": + ratio *= temp_info.站街物理攻击力倍率() * temp_info.进图物理攻击力倍率() + elif self.类型 == "魔法百分比": + ratio *= temp_info.站街魔法攻击力倍率() * temp_info.进图魔法攻击力倍率() + elif self.类型 == "物理固伤": + ratio *= temp_info.站街独立攻击力倍率() * temp_info.进图独立攻击力倍率() + elif self.类型 == "魔法固伤": + ratio *= temp_info.站街独立攻击力倍率() * temp_info.进图独立攻击力倍率() + temp_info.CD倍率计算() + temp_info.伤害指数计算() + temp_char.武器类型 = weapon + temp_char.职业特殊计算() + temp_char.被动倍率计算() + temp_char.CD倍率计算() + temp_char.伤害指数计算() + skill_info = { + "weapon": weapon, + "skills_active": [], + "skills_passive": [], + "skills_cp": [], + "type": temp_info.类型, + "buff": temp_info.buff, + } + for skill in temp_info.技能栏: + self.get_acitve_skill_detail( + skill, temp_info, temp_char, weapon, ratio, skill_info + ) + self.get_passive_skill_detail(skill, temp_info) + for i in temp_info.skills_passive: + skill = temp_info.skills_passive[i] + if len(skill["info"]) > 0: + for item in skill["info"]: + skill_info["skills_passive"].append( + { + "name": i, + "need_level": skill["need_lv"], + "lv": temp_info.get_skill_by_name(i).等级, + "data": item["info"][0], + "type": item["type"], + "remark": "{}{}".format( + "、".join(item["info"][1].split(",")), + "({}除外)".format( + "、".join(item["info"][2].split(",")) + ) + if item["info"][2] != "无" + and item["info"][2] != "" + and item["info"][2] != 0 + else "", + ), + } + ) + infos.append(skill_info) + return infos + + def 基础属性加成( + self, + 物理攻击力=0.00, + 魔法攻击力=0.00, + 独立攻击力=0.00, + 三攻=0, + 力量=0.00, + 智力=0, + 力智=0, + 体力=0, + 精神=0, + 体精=0, + 四维=0, + 物理暴击率=0.00, + 魔法暴击率=0.00, + 暴击率=0.00, + 攻击速度=0.00, + 施放速度=0.00, + 移动速度=0.00, + 三速=0.00, + 火属性抗性=0, + 光属性抗性=0, + 冰属性抗性=0, + 暗属性抗性=0, + 所有属性抗性=0, + 所有异常抗性=0, + 所有职业异常抗性=0, + 进图力量=0.00, + 进图智力=0.00, + **kwargs, + ): + self.__物理攻击力 += 物理攻击力 + 三攻 + self.__魔法攻击力 += 魔法攻击力 + 三攻 + self.__独立攻击力 += 独立攻击力 + 三攻 + self.__力量 += 力量 + 力智 + 四维 + self.__智力 += 智力 + 力智 + 四维 + self.__体力 += 体力 + 体精 + 四维 + self.__精神 += 精神 + 体精 + 四维 + self.__物理暴击率 += float(物理暴击率) + float(暴击率) + self.__魔法暴击率 += float(魔法暴击率) + float(暴击率) + self.__攻击速度 += float(攻击速度) + float(三速) + self.__施放速度 += float(施放速度) + float(三速) + self.__移动速度 += float(移动速度) + float(三速) + self.__火属性抗性 += 火属性抗性 + 所有属性抗性 + self.__光属性抗性 += 光属性抗性 + 所有属性抗性 + self.__冰属性抗性 += 冰属性抗性 + 所有属性抗性 + self.__暗属性抗性 += 暗属性抗性 + 所有属性抗性 + self.进图力量 += 进图力量 + self.进图智力 += 进图智力 + for 类型 in [ + "中毒", + "灼伤", + "感电", + "出血", + "冰冻", + "减速", + "眩晕", + "诅咒", + "失明", + "石化", + "睡眠", + "混乱", + "束缚", + ]: + self.__异常抗性[类型] = self.__异常抗性.get(类型, 0.0) + 所有异常抗性 + self.__异常抗性_职业基础[类型] = ( + self.__异常抗性_职业基础.get(类型, 0.0) + 所有职业异常抗性 + ) + super().基础属性加成( + 物理攻击力, + 魔法攻击力, + 独立攻击力, + 三攻, + 力量, + 智力, + 力智, + 体力, + 精神, + 体精, + 四维, + 物理暴击率, + 魔法暴击率, + 暴击率, + 攻击速度, + 施放速度, + 移动速度, + 三速, + 火属性抗性, + 光属性抗性, + 冰属性抗性, + 暗属性抗性, + 所有属性抗性, + 所有异常抗性, + 所有职业异常抗性, + 进图力量, + 进图智力, + ) + + def set_skill_info( + self, info, rune_except=[], clothes_pants=[], rune_start_lv=20 + ) -> None: + skillInfo = [] # 技能 + rune = [] # 符文 + talisman = [] # 护石 + platinum = [] # 白金 + clothes_coat = [] # 时装 + for skill in self.技能栏: + skill.等级 = skill.基础等级 + skillInfo.append( + { + "name": skill.名称, + "type": skill.是否有伤害, + "need_level": skill.所在等级, + "level_master": skill.等级精通, + "level_max": skill.等级上限, + "cooldown": 0 + if not skill.是否有伤害 + else ( + skill.CD[skill.等级] if isinstance(skill.CD, list) else skill.CD + ), + "current_level": skill.基础等级, + "data": 0 if not skill.是否有伤害 else skill.等效百分比(char=self), + "tp_max": skill.TP上限 if skill.是否有伤害 else None, + "tp_level": skill.TP等级 if skill.是否有伤害 else None, + "mode": [] if not skill.是否有伤害 else skill.形态, + } + ) + # 护石 + if skill.是否有伤害 == 1 and skill.是否有护石 == 1: + talisman.append(skill.名称) + # 符文 + if ( + skill.所在等级 >= rune_start_lv + and skill.所在等级 <= 80 + and skill.所在等级 != 50 + and ( + skill.是否有伤害 == 1 + or (skill.是否主动 == 1 and self.类型 == "辅助") + ) + and skill.名称 not in rune_except + ): + rune.append(skill.名称) + # 白金 + if ( + skill.所在等级 >= 15 + and skill.所在等级 <= 70 + and skill.所在等级 not in [48, 50] + ): + platinum.append(skill.名称) + # 时装 + if skill.所在等级 <= 95: + clothes_coat.append(skill.名称) + if self.类型 == "辅助": + talisman += self.护石技能 + info["skills"] = skillInfo + info["rune"] = rune + info["talisman"] = talisman + info["platinum"] = platinum + info["clothes_coat"] = clothes_coat + info["clothes_pants"] = clothes_pants + + def set_individuation(self, info) -> None: + pass + + # endregion + + # region 词条属性 + def set_eq_params(self, key, value): + self.eq_params[key] = value + + def add_eq_params(self, key, value, default=0): + self.eq_params[key] = self.eq_params.get(key, default) + value + + def multiply_eq_params(self, key, value, default=1): + self.eq_params[key] = self.eq_params.get(key, default) * value + + def get_eq_params(self, key, default=0): + return self.eq_params.get(key, default) + + def 基础精通加成(self, x: float) -> None: + self.__基础精通倍率 *= 1 + x + + def 百分比防御减少(self, x: float) -> None: + self.__百分比减防 += x + + def 固定防御减少(self, x: int) -> None: + self.__固定减防 += x + + def 伤害类型转化(self, 类型1: str, 类型2: str, x: float) -> None: + # 直伤 中毒 灼伤 感电 出血 + # if self.伤害比例.get(类型1, 0.0) - x <= 0: + # pass + self.伤害比例[类型1] = max(self.伤害比例.get(类型1, 0.0) - x, 0) + self.伤害比例[类型2] = self.伤害比例.get(类型2, 0.0) + x + + def 异常增伤(self, 类型: str, x: float) -> None: + # 中毒 灼伤 感电 出血 + self.伤害系数[类型] = self.伤害系数.get(类型, 1.0) + x + + def 异常抗性加成(self, 类型: str, x: float, mode: int = 1) -> None: + # 中毒 灼伤 感电 出血 冰冻 减速 眩晕 诅咒 失明 石化 睡眠 混乱 束缚 + if mode == 1: + self.__异常抗性[类型] = self.__异常抗性.get(类型, 0.0) + x + else: + self.__异常抗性_职业基础[类型] = self.__异常抗性_职业基础.get(类型, 0.0) + x + + def 异常抗性获取(self, 类型: str, mode: int = 1) -> float: + # mode = 1 显示抗性 mode = 0 装备加成抗性 + return round( + self.__异常抗性.get(类型, 0.0) + + (self.__异常抗性_职业基础.get(类型, 0.0) if mode == 1 else 0.0), + 4, + ) + + def 属性攻击(self, 类型: str) -> None: + pass + + def 所有异常抗性加成(self, x: float, mode: int = 1) -> None: + for 类型 in [ + "中毒", + "灼伤", + "感电", + "出血", + "冰冻", + "减速", + "眩晕", + "诅咒", + "失明", + "石化", + "睡眠", + "混乱", + "束缚", + ]: + self.异常抗性加成(类型, x, mode) + + def 指令效果加成(self, 类型: str, x: float) -> None: + # 所有 消耗无色 不消耗无色 (觉醒技能默认除外) + self.__指令效果[类型] = self.__指令效果.get(类型, 1.0) * (1 + x) + + def 指令技攻加成(self, x: float, min=1, max=100, exc=[], excName=[]) -> None: + count = 0 + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.所在等级 not in exc + and i.手搓 + and i.名称 not in excName + ): + count += 1 + if i.是否有伤害 == 1: + i.倍率 *= 1 + x * self.技能伤害增加增幅 + if i.名称 == "鬼连斩": + self.get_skill_by_name("鬼连斩:极").额外加成 /= ( + 1 + x * self.技能伤害增加增幅 + ) + return count + + def MP消耗量加成(self, x: float) -> None: + self.__MP消耗量 += x + + def 攻击强化加成(self, x: float) -> None: + self.__攻击强化 += x + + def 百分比攻击强化加成(self, x: float) -> None: + self.__百分比攻击强化 += x + super().百分比攻击强化加成(x) + + def buff量加成(self, x: float) -> None: + self.__buff量 += x + + def 辅助属性加成( + self, + buff固定力智=0, + buff百分比力智=0.0, + buff固定三攻=0, + buff百分比三攻=0.0, + 觉醒固定力智=0, + 觉醒百分比力智=0.0, + buff量=0, + 百分比buff量=0.0, + 觉醒百分比力智Total=0.0, + ): + self.__buff固定力智 += buff固定力智 + self.__buff百分比力智 *= 1.0 + buff百分比力智 + self.__buff固定三攻 += buff固定三攻 + self.__buff百分比三攻 *= 1.0 + buff百分比三攻 + self.__觉醒固定力智 += 觉醒固定力智 + self.__觉醒百分比力智 *= 1.0 + 觉醒百分比力智 + self.__觉醒百分比力智Total *= 1.0 + 觉醒百分比力智Total + self.__buff量 += buff量 + self.__百分比buff量 += 百分比buff量 + + super().辅助属性加成( + buff固定力智, + buff百分比力智, + buff固定三攻, + buff百分比三攻, + 觉醒固定力智, + 觉醒百分比力智, + buff量, + 百分比buff量, + ) + + def 附加伤害加成(self, x: float, 辟邪玉加成=1) -> None: + self.__附加伤害 += self.附加伤害增加增幅 * x if 辟邪玉加成 == 1 else x + + def 持续伤害加成(self, x: float) -> None: + self.__持续伤害 += x + + def 属性附加加成(self, x: float) -> None: + self.__属性附加 += self.属性附加伤害增加增幅 * x + + def 技能攻击力加成( + self, x: float, 辟邪玉加成=1, 适用累加=1, part="", show=True + ) -> None: + if x != 0: + self.技攻列表[part] = self.技攻列表.get(part, []) + [x] + last = 0 + if 辟邪玉加成 == 1: + if 适用累加 == 0: + last = self.技能伤害增加增幅 * x + # self.技能攻击力 *= 1 + self.技能伤害增加增幅 * x + else: + if self.技能攻击力累加 > 2: # 累计已经大于2不再加成 + # self.技能攻击力 *= 1 + x + last = x + elif ( + self.技能攻击力累加 + x > 2 + ): # 此次累计导致大于2,一部分加成,一部分不加成 + overflow = self.技能攻击力累加 + x - 2 # 溢出部分 + # self.技能攻击力 *= 1 + self.技能伤害增加增幅 * (x - overflow) + overflow + last = self.技能伤害增加增幅 * (x - overflow) + overflow + else: # 累计后仍小于等于2 + # self.技能攻击力 *= 1 + self.技能伤害增加增幅 * x + last = self.技能伤害增加增幅 * x + self.技能攻击力累加 += x # 累计计算 + else: + last = x + # self.技能攻击力 *= 1 + x + self.技能攻击力 *= 1 + last + self.__面板技能攻击力 *= 1 + (last if show else 0) + # print(self.技攻列表) + super().技能攻击力加成(x=x) + + def 暴击伤害加成(self, x: float, 辟邪玉加成=1) -> None: + self.__暴击伤害 += self.暴击伤害增加增幅 * x if 辟邪玉加成 == 1 else x + + def 伤害增加加成(self, x: float, 辟邪玉加成=1) -> None: + self.__伤害增加 += self.伤害增加增幅 * x if 辟邪玉加成 == 1 else x + + def 最终伤害加成(self, x: float, 辟邪玉加成=1) -> None: + self.__最终伤害 += self.最终伤害增加增幅 * x if 辟邪玉加成 == 1 else x + + def 百分比力智加成(self, x: float, 辟邪玉加成=1) -> None: + self.__百分比力智 += self.力量智力增加增幅 * x if 辟邪玉加成 == 1 else x + + def 百分比三攻加成(self, x: float, 辟邪玉加成=1) -> None: + self.__百分比三攻 += self.物理魔法攻击力增加增幅 * x if 辟邪玉加成 == 1 else x + + def 火属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + if mode == 0: + self.__火属性强化 += self.所有属性强化增幅 * x if 辟邪玉加成 == 1 else x + else: + self.__火属性强化 += int(self.所有属性强化增幅 * x) + + def 冰属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + if mode == 0: + self.__冰属性强化 += self.所有属性强化增幅 * x if 辟邪玉加成 == 1 else x + else: + self.__冰属性强化 += int(self.所有属性强化增幅 * x) + + def 光属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + if mode == 0: + self.__光属性强化 += self.所有属性强化增幅 * x if 辟邪玉加成 == 1 else x + else: + self.__光属性强化 += int(self.所有属性强化增幅 * x) + + def 暗属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + if mode == 0: + self.__暗属性强化 += self.所有属性强化增幅 * x if 辟邪玉加成 == 1 else x + else: + self.__暗属性强化 += int(self.所有属性强化增幅 * x) + + def 所有属性强化加成( + self, + 所有属性强化: float = 0, + 火属性强化: float = 0.00, + 冰属性强化: float = 0.00, + 光属性强化: float = 0.00, + 暗属性强化: float = 0.00, + 辟邪玉加成=1, + mode=0, + ) -> None: + super().所有属性强化加成( + 所有属性强化, 火属性强化, 冰属性强化, 光属性强化, 暗属性强化 + ) + 火属性强化 += 所有属性强化 + 冰属性强化 += 所有属性强化 + 光属性强化 += 所有属性强化 + 暗属性强化 += 所有属性强化 + # if 火属性强化 > 0: + self.火属性强化加成(火属性强化, 辟邪玉加成, mode) + # if 冰属性强化 > 0: + self.冰属性强化加成(冰属性强化, 辟邪玉加成, mode) + # if 光属性强化 > 0: + self.光属性强化加成(光属性强化, 辟邪玉加成, mode) + # if 暗属性强化 > 0: + self.暗属性强化加成(暗属性强化, 辟邪玉加成, mode) + # if mode == 0: + # temp = self.所有属性强化增幅 * 所有属性强化 if 辟邪玉加成 == 1 else 所有属性强化 + # else: + # temp = int(self.所有属性强化增幅 * 所有属性强化) + # self.__所有属性强化(temp) + # super().属性强化加成(所有属性强化=所有属性强化) + + def 火属性抗性加成(self, x: int) -> None: + self.__火属性抗性 += x + + def 冰属性抗性加成(self, x: int) -> None: + self.__冰属性抗性 += x + + def 光属性抗性加成(self, x: int) -> None: + self.__光属性抗性 += x + + def 暗属性抗性加成(self, x: int) -> None: + self.__暗属性抗性 += x + + def 所有属性抗性加成(self, x: int) -> None: + self.火属性抗性加成(x) + self.冰属性抗性加成(x) + self.光属性抗性加成(x) + self.暗属性抗性加成(x) + + def 攻击速度增加(self, x: float, part: str = "") -> None: + if part != "武器" and part != "特性": + self.__攻击速度 += x + else: + self.__攻击速度_其他 += x + + def 攻击速度(self) -> float: + return self.__攻击速度 + + def 移动速度增加(self, x: float) -> None: + self.__移动速度 += x + + def 施放速度增加(self, x: float) -> None: + self.__施放速度 += x + + def 所有速度增加(self, x: float, part: str = "") -> None: + if part != "武器" and part != "特性": + self.__攻击速度 += x + else: + self.__攻击速度_其他 += x + self.__移动速度 += x + self.__施放速度 += x + + def 命中率增加(self, x: float) -> None: + self.__命中率 += x + + def 回避率增加(self, x: float) -> None: + self.__回避率 += x + + def 物理暴击率增加(self, x: float) -> None: + self.__物理暴击率 += x + + def 魔法暴击率增加(self, x: float) -> None: + self.__魔法暴击率 += x + + def 暴击率增加(self, x: float) -> None: + self.物理暴击率增加(x) + self.魔法暴击率增加(x) + + def buff技能等级加成(self, LV: int, lv: int) -> None: + # LV级 buff技能等级 + lv + pass + + def 特殊主动等级加成(self, Lv: int, lv: int) -> None: + for i in self.技能栏: + if ( + i.所在等级 == Lv + and i.是否主动 == 1 + and i.名称 not in ["念兽:龙虎啸", "风雷啸", "圣灵符文", "神圣之光"] + ): + i.等级加成(lv, char=self) + + def 技能获取(self, min: int, max: int, exc=[]) -> None: + temp = [] + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.是否主动 == 1 + and i.名称 not in exc + ): + temp.append(i.名称) + return temp + + def 技能等级加成( + self, 加成类型: str, min: int, max: int, lv: int, exc=[], excName=[] + ) -> None: + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.所在等级 not in exc + and i.名称 not in excName + ): + if 加成类型 == "所有": + i.等级加成(lv, char=self) + else: + if (i.是否主动 == 1) == (加成类型 == "主动"): + i.等级加成(lv, char=self) + + super().技能等级加成(加成类型, min, max, lv, exc) + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[], excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= 1 - x + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.所在等级 not in exc + and i.名称 not in excName + ): + if i.是否有伤害 == 1: + i.CDR *= 1 - x + + def 无色技能加成(self, cost=0, x=0, min=1, max=100): + # 不消耗无色的技能加成 + if cost == 0: + for skill in self.技能队列: + if not (min == 1 and max == 100): + lv = self.get_skill_by_name(skill["名称"]).所在等级 + if lv < min or lv > max: + continue + if ( + skill["名称"] == "神罚之锤" + and self.实际名称 == "crusader_male_carry" + ): + skill["倍率"] *= ( + 1 + x * self.get_skill_by_name("神罚之锤").非无色占比() + ) + elif skill["无色消耗"] == 0 and skill["名称"] != "鬼连斩:极": + skill["倍率"] *= 1 + x + pass + if cost > 0: + for skill in self.技能队列: + if not (min == 1 and max == 100): + lv = self.get_skill_by_name(skill["名称"]).所在等级 + if lv < min or lv > max: + continue + if ( + skill["名称"] == "神罚之锤" + and self.实际名称 == "crusader_male_carry" + ): + skill["倍率"] *= ( + 1 + x * self.get_skill_by_name("神罚之锤").无色占比() + ) + elif skill["无色消耗"] >= cost: + skill["倍率"] *= 1 + x + pass + + def 加算冷却缩减(self, x: float) -> None: + self.__加算冷却缩减 += x + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[], excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.所在等级 not in exc + and i.名称 not in excName + ): + if i.是否有伤害 == 1: + i.恢复 += x + + def 技能倍率加成( + self, + min: int, + max: int, + x: float, + exc=[], + type="all", + excName=[], + changeSkill=False, + ) -> None: + for i in self.技能栏: + if ( + i.所在等级 >= min + and i.所在等级 <= max + and i.所在等级 not in exc + and i.名称 not in excName + ): + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= 1 + x * self.技能伤害增加增幅 + else: + i.技攻 *= 1 + x * self.技能伤害增加增幅 + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否有伤害 == 1: + i.倍率 *= 倍率 + i.CDR *= CD + + def __所有属性强化(self, x: float) -> None: + self.__火属性强化 += x + self.__冰属性强化 += x + self.__光属性强化 += x + self.__暗属性强化 += x + + def 斗神宠物加成(self, x: float) -> None: + self.斗神宠物 += x + + # endregion + + # region 面板相关函数 + + # 基础力量智力(站街力量智力) + def 站街力量(self) -> int: + return int(self.__力量) + + def 站街智力(self) -> int: + return int(self.__智力) + + def MP消耗倍率(self) -> float: + return self.__MP消耗量 + + def 火属性强化(self) -> float: + if self.check_fun_by_id(20045): + return max( + [ + self.__火属性强化, + self.__冰属性强化, + self.__光属性强化, + self.__暗属性强化, + ] + ) + return self.__火属性强化 + + def 冰属性强化(self) -> float: + if self.check_fun_by_id(20045): + return max( + [ + self.__火属性强化, + self.__冰属性强化, + self.__光属性强化, + self.__暗属性强化, + ] + ) + return self.__冰属性强化 + + def 光属性强化(self) -> float: + if self.check_fun_by_id(20045): + return max( + [ + self.__火属性强化, + self.__冰属性强化, + self.__光属性强化, + self.__暗属性强化, + ] + ) + return self.__光属性强化 + + def 暗属性强化(self) -> float: + if self.check_fun_by_id(20045): + return max( + [ + self.__火属性强化, + self.__冰属性强化, + self.__光属性强化, + self.__暗属性强化, + ] + ) + return self.__暗属性强化 + + def 火属性抗性(self) -> float: + return int(self.__火属性抗性 * self.属强抗性倍率) + + def 冰属性抗性(self) -> float: + return int(self.__冰属性抗性 * self.属强抗性倍率) + + def 光属性抗性(self) -> float: + return int(self.__光属性抗性 * self.属强抗性倍率) + + def 暗属性抗性(self) -> float: + return int(self.__暗属性抗性 * self.属强抗性倍率) + + def 被动力智系数(self) -> float: + return 0 + + # 新词条计算的力量智力 + + def 基础面板力量(self) -> float: + return ( + ( + self.__力量 + + int( + (self.__力量 - self.__基础力量) * self.系统奶系数 + self.系统奶基数 + ) + ) + + self.进图力量 + ) * (1 + self.被动力智系数()) + + def 基础面板智力(self) -> float: + return ( + ( + self.__智力 + + int( + (self.__智力 - self.__基础智力) * self.系统奶系数 + self.系统奶基数 + ) + ) + + self.进图智力 + ) * (1 + self.被动力智系数()) + + # 旧词条计算的力量智力(图内力量智力) + + def 面板力量(self) -> float: + return (self.基础面板力量()) * (1 + self.__百分比力智) + + def 面板智力(self) -> float: + return (self.基础面板智力()) * (1 + self.__百分比力智) + + # 站街生效的技能三攻倍率 + + def 站街物理攻击力倍率(self) -> float: + 站街物理攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "物理攻击力倍率"): + 倍率 = i.物理攻击力倍率(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 站街物理攻击倍率 *= 倍率 + return 站街物理攻击倍率 + + def 站街魔法攻击力倍率(self) -> float: + 站街魔法攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "魔法攻击力倍率"): + 倍率 = i.魔法攻击力倍率(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 站街魔法攻击倍率 *= 倍率 + return 站街魔法攻击倍率 + + def 站街独立攻击力倍率(self) -> float: + 站街独立攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "独立攻击力倍率"): + 倍率 = i.独立攻击力倍率(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 站街独立攻击倍率 *= 倍率 + return 站街独立攻击倍率 + + def 进图物理攻击力倍率(self) -> float: + 进图物理攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "物理攻击力倍率进图"): + 倍率 = i.物理攻击力倍率进图(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 进图物理攻击倍率 *= 倍率 + return 进图物理攻击倍率 + + def 进图魔法攻击力倍率(self) -> float: + 进图魔法攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "魔法攻击力倍率进图"): + 倍率 = i.魔法攻击力倍率进图(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 进图魔法攻击倍率 *= 倍率 + return 进图魔法攻击倍率 + + def 进图独立攻击力倍率(self) -> float: + 进图独立攻击倍率 = 1.0 + for i in self.技能栏: + if hasattr(i, "独立攻击力倍率进图"): + 倍率 = i.独立攻击力倍率进图(self.武器类型) + if 倍率 != 1 and 倍率 is not None: + 进图独立攻击倍率 *= 倍率 + return 进图独立攻击倍率 + + # 站街三攻 + + def 站街物理攻击力(self) -> float: + return self.__物理攻击力 * self.站街物理攻击力倍率() + + def 站街魔法攻击力(self) -> float: + return self.__魔法攻击力 * self.站街魔法攻击力倍率() + + def 站街独立攻击力(self) -> float: + return self.__独立攻击力 * self.站街独立攻击力倍率() + + # 新词条计算的三攻(旧词条需要额外乘百分比三攻) + + def 基础面板物理攻击力(self) -> float: + 面板物理攻击 = self.__物理攻击力 + int(self.__进图三攻) + for i in self.技能栏: + 面板物理攻击 *= i.物理攻击力倍率进图(self.武器类型) + return 面板物理攻击 * self.站街物理攻击力倍率() + + def 基础面板魔法攻击力(self) -> float: + 面板魔法攻击 = self.__魔法攻击力 + int(self.__进图三攻) + for i in self.技能栏: + 面板魔法攻击 *= i.魔法攻击力倍率进图(self.武器类型) + return 面板魔法攻击 * self.站街魔法攻击力倍率() + + def 基础面板独立攻击力(self) -> float: + 面板独立攻击 = self.__独立攻击力 + int(self.__进图三攻) + for i in self.技能栏: + 面板独立攻击 *= i.独立攻击力倍率进图(self.武器类型) + return 面板独立攻击 * self.站街独立攻击力倍率() + + # 图内显示的三攻(不参与伤害计算) + + def 面板物理攻击力(self) -> float: + 面板物理攻击 = ( + self.基础面板物理攻击力() * (1 + self.__百分比三攻) * (self.斗神宠物加成) + ) + return 面板物理攻击 + + def 面板魔法攻击力(self) -> float: + 面板魔法攻击 = ( + self.基础面板魔法攻击力() * (1 + self.__百分比三攻) * (self.斗神宠物加成) + ) + return 面板魔法攻击 + + def 面板独立攻击力(self) -> float: + 面板独立攻击 = self.基础面板独立攻击力() * (1 + self.__百分比三攻) + return 面板独立攻击 + + # endregion + + # region 其它函数 + # def get_skill_by_name(self, name) -> 技能 | 主动技能 | 被动技能: + + def 部位是否穿戴(self, part): + if self.部位装备.get(part, None) is None and part not in [ + "光环", + "武器装扮", + "皮肤", + "宠物装备-红", + "宠物装备-绿", + "宠物装备-蓝", + "快捷装备", + ]: + return False + else: + return True + + def get_skill_by_name(self, name) -> Union[技能, 主动技能, 被动技能]: + return self.技能栏[self.技能序号.get(name, 0)] + + def 已穿戴神话(self): + for i in self.装备栏: + temp = get_equ(self.equVersion).get_equ_by_id(i) + if temp.品质 == "神话": + return True + return False + + def 传说词条等级之和(self): + total = 0 + for i in self.装备栏: + temp = get_equ(self.equVersion).get_equ_by_id(i) + if ( + temp.等级 == 105 + and temp.部位 not in ["称号", "宠物"] + and temp.品质 == "传说" + ): + total += sum(self.词条等级.get(temp.部位, [0])) + return total + + def 已传说装备数目(self): + count = 0 + for i in self.装备栏: + temp = get_equ(self.equVersion).get_equ_by_id(i) + if ( + temp.等级 == 105 + and temp.部位 not in ["称号", "宠物"] + and temp.品质 == "传说" + ): + count += 1 + return count + + def 穿戴低于105(self): + for i in self.装备栏: + temp = get_equ(self.equVersion).get_equ_by_id(i) + if temp.等级 < 105 and temp.部位 not in ["称号", "宠物"]: + return True + return False + + def 获取强化等级(self, part=[]): + num = 0 + temp = part + if len(temp) == 0: + temp += 部位列表 + for i in temp: + num += self.打造详情.get(i, {}).get("cursed_number", 0) + return num + + def 获取改造等级(self, part=[]): + num = 0 + temp = part + if len(temp) == 0: + temp += 部位列表 + for i in temp: + num += self.打造详情.get(i, {}).get("wisdom_number", 0) + return num + + # endregion + + # 打造设置 + + def __打造设置(self, setinfo): + self.打造详情 = setinfo + for i in 部位列表 + ( + "称号", + "宠物", + "光环", + "武器装扮", + "皮肤", + "宠物装备-红", + "宠物装备-绿", + "宠物装备-蓝", + "快捷装备", + ): + from core.equipment.enchanting import get_encfunc_by_id + + id = setinfo.get(i, {}).get("enchanting", 0) + self.部位附魔[i] = get_encfunc_by_id(id) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + for item in setinfo: + self.技能队列.append( + { + "名称": item["name"], + "无色消耗": self.get_skill_by_name(item["name"]).无色消耗, + "倍率": 1.0, + "等级变化": 0, + "CDR": 1.0, + "恢复": 0, + "形态": item.get("mode", ""), + } + ) + + def __药剂设置(self, setinfo): + self.药剂 = setinfo + + def __怪物信息设置(self, id): + from core.basic.monster import get_monster_data + + data = get_monster_data(str(id)) + self.防御输入 = data["防御"] + self.火抗输入 = data["火抗"] + self.冰抗输入 = data["冰抗"] + self.光抗输入 = data["光抗"] + self.暗抗输入 = data["暗抗"] + pass + + def __场景设置(self, id): + from core.basic.monster import get_scene_data + + data = get_scene_data(str(id)) + self.系统奶系数 = data["系统奶系数"] + self.系统奶基数 = data["系统奶基数"] + self.防御系数 = data["防御系数"] + pass + + # 设置技能相关参数 + def __skill_set(self, setinfo): + for i in setinfo: + k = self.get_skill_by_name(i["name"]) + k.等级 = i["level"] + k.TP等级 = i["tp"] + k.手搓 = i["direct"] + k.手搓指令数 = i["directNumber"] + k.count = i["count"] + + # 设置装备选项参数 + def __equ_chose_set(self, setinfo): + get_equ(self.equVersion).set_func_chose(setinfo) + # for i in setinfo: + # equ.set_func_chose({i['id']: i['select']}) + + def hotkey_set(self, setinfo): + self.hotkey = setinfo + + def __set_char(self, info): + self.类型 = info["carry_type"] if self.类型 != "辅助" else self.类型 + try: + self.buff = info["buff_ratio"] / 100 + 1 + except Exception: + raise ResponseException("请在技能页设置buff倍率") + self.护石栏 = info["talisman_set"] + self.符文 = info["rune_set"] + + pass + + # 设置穿戴的装备 + + def __穿戴装备(self, idlist): + self.装备栏 = [] + self.部位装备 = {} + idlist = sorted(idlist) + for i in idlist: + 装备 = get_equ(self.equVersion).get_equ_by_id(i) + self.部位装备.update({装备.部位: i}) + for k in self.部位装备.keys(): + self.装备栏.append(self.部位装备[k]) + + def __穿戴装扮(self, info): + self.装扮栏 = {} + self.装扮选项 = {} + for i in info: + self.装扮栏[i] = info[i].get("id", 0) + self.装扮选项[i] = info[i].get("option", 0) + # print(len(self.装扮栏)) + + # region 伤害计算相关函数 + def __计算前预处理(self): + # 防止中途变更影响其他计算 + self.__equ_chose_set(self.trigger_set) + self.设置觉醒技能() + self.职业特殊设置() + self.__辟邪玉计算() + self.护石计算() + self.符文计算() + self.装备属性计算() + self.skills_passive = {} + for i in self.技能栏: + self.skills_passive[i.名称] = {"info": [], "lv": i.等级} + self.职业特殊计算() + if self.类型 != "辅助": + self.CD倍率计算() + self.加算冷却计算() + self.被动倍率计算() + self.伤害指数计算() + + def 适用数值计算(self): + 进图智力 = 0 + 进图体力 = 0 + 进图精神 = 0 + for skill in self.技能栏: + if skill.是否启用: + 结算 = skill.结算统计(self) + if skill.站街生效: + self.__智力 += 结算[2] + self.__体力 += 结算[3] + self.__精神 += 结算[4] + else: + 进图智力 += 结算[2] + 进图体力 += 结算[3] + 进图精神 += 结算[4] + + 进图 = 0 + BUFF补正 = 0 + + if self.适用属性 == "体力": + 进图 = self.__体力 + 进图体力 + BUFF补正 = self.__BUFF补正体力 + elif self.适用属性 == "精神": + 进图 = self.__精神 + 进图精神 + BUFF补正 = self.__BUFF补正精神 + else: + 进图 = self.__智力 + 进图智力 + BUFF补正 = self.__BUFF补正智力 + + awake = self.get_skill_by_name("一次觉醒") + buff = self.get_skill_by_name("BUFF") + + awake.适用数值 = 进图 + awake.一觉力智 = self.__觉醒固定力智 + awake.一觉力智per = self.__觉醒百分比力智 + awake.一觉力智perTotal = self.__觉醒百分比力智Total + + buff.适用数值 = 进图 + BUFF补正 + buff.BUFF力智per = self.__buff百分比力智 + buff.BUFF力智 = self.__buff固定力智 + buff.BUFF三攻per = self.__buff百分比三攻 + buff.BUFF三攻 = self.__buff固定三攻 + + self.适用数值 = 进图 + # print('copaosee:', self.适用数值, [ + # self.__智力, self.__体力, self.__精神], 进图, BUFF补正) + + def 站街系数(self): + if self.适用属性 == "体力": + return self.__体力 + elif self.适用属性 == "精神": + return self.__精神 + return self.__智力 + + def 提升率计算(self, 总数据): + 力智合计 = 0 + 三攻合计 = 0 + + for i in 总数据: + 力智合计 += i[0] + 三攻合计 += i[1] + + x1 = ( + ( + self.辅助对象力智 + + (self.辅助对象力智 - 950) * self.系统奶系数 + + self.系统奶基数 + ) + / 250 + + 1 + ) * self.辅助对象三攻 + + x2 = ( + ( + self.辅助对象力智 + + (self.辅助对象力智 - 950) * self.系统奶系数 + + self.系统奶基数 + + 力智合计 + ) + / 250 + + 1 + ) * (self.辅助对象三攻 + 三攻合计) + return [ + x2 / x1 * 100 * self.被动增伤倍率, + int(self.站街系数()), + 力智合计, + 三攻合计, + ] + + def BUFF量(self): + return self.__buff量 * (1 + self.__百分比buff量) + + def 辅助计算(self): + self.适用数值计算() + data = {} + data["无色消耗"] = 0 + + skills = {} + + values = [] + + CDR = [] + + for i in self.技能栏: + rs = i.结算统计(self)[:2] + cd = "-" if not i.是否主动 else i.等效CD() + cd_p = "-" if not i.是否主动 else round(100 - i.等效CD() / i.CD * 100, 2) + k = {} + k["name"] = i.名称 + k["data"] = rs + if hasattr(i, "适用数值"): + k["apply_status"] = i.适用数值 + if sum(rs) > 0 or cd != "-": + values.append(rs) + skills[i.名称] = { + "name": i.名称, + "level": i.等级, + "data": rs, + "cd": cd, + "cd_p": cd_p, + } + if i.是否主动: + CDR.append( + (i.名称,cd_p/100,cd) + ) + pass + 结果 = self.提升率计算(values) + + data["total_data"] = 结果[0] + data["buffer_addition"] = 结果 + data["skills"] = skills + data["CDR"] = CDR + + return data + + def 结果计算(self): + if self.类型 == "辅助": + return self.辅助计算() + else: + return self.伤害计算() + + def 职业特殊计算(self): + pass + + def 伤害计算技能特殊处理(self, skill: 技能): + pass + + def 异常系数计算(self, item, skill): + cur = item + pa = "" + if item == "中毒": + pa = "zd_rate" + if item == "出血": + pa = "cx_rate" + if item == "感电": + pa = "gd_rate" + if item == "灼伤": + pa = "zs_rate" + if ( + item == "灼伤" + and "灼伤" in get_global_data("state_type", self.equVersion) + and ( + "冰冻" in get_global_data("get_state_type", self.equVersion) + or ( + "冰冻" in get_global_data("state_type", self.equVersion) + and self.check_equ_by_name("永眠前的准备") + ) + ) + ): + pa = "zs_bd_rate" + cur = "灼伤破冰" + 保有率 = 0 + 异常基础加成 = 1.0 + 异常结算加成 = 1.0 + 装备加成异常结算 = 1.0 + if pa == "zs_bd_rate": + 保有率 = self.异常保有率计算(pa, cur) + 异常基础加成 = 1.0 + 异常结算加成 = self.异常基础加成["灼伤破冰"] + 装备加成异常结算 = self.异常结算加成.get(cur, 1.0) + else: + 保有率 = self.异常保有率计算(pa, cur) + # 叠层处理 + 异常基础加成 = 1 + (self.异常基础加成.get(cur, 1.0) - 1) * get_global_data( + pa, self.equVersion, 1.0 + ) + 异常结算加成 = 1.0 + 装备加成异常结算 = self.异常结算加成.get(cur, 1.0) + 系数 = self.伤害系数.get(item, 0.0) * ( + (1 - 保有率) * 异常基础加成 + + 保有率 * 异常基础加成 * 异常结算加成 * 装备加成异常结算 + ) + return 系数 + pass + + def 伤害计算(self): + data = {} + total_data = 0 + + skill_dict = {} + # 无色消耗 = 0 + CDR = [] + + for i in self.技能队列: + k = self.get_skill_by_name(i["名称"]) + if k.是否有伤害 == 1: + temp = skill_dict.get(k.名称, {}) + self.伤害计算技能特殊处理(k) + if k.名称 not in data.keys(): + temp["rate"] = k.被动倍率 + if temp.get("cd", 0) > 0: + temp["cd"] = ( + k.等效CD( + 武器类型=self.武器类型, + 输出类型=self.类型, + 额外CDR=i["CDR"], + 额外恢复=i["恢复"], + 形态=i["形态"], + char=self + ) + + temp["cd"] * temp["count"] + ) / (temp["count"] + 1) + else: + temp["cd"] = k.等效CD( + 武器类型=self.武器类型, + 输出类型=self.类型, + 额外CDR=i["CDR"], + 额外恢复=i["恢复"], + 形态=i["形态"], + char=self + ) + temp["mp"] = k.MP消耗( + 武器类型=self.武器类型, + 输出类型=self.类型, + 额外倍率=self.__MP消耗量, + char=self, + ) + temp["atk_rate"] = k.等效百分比( + 武器类型=self.武器类型, 形态=i["形态"], char=self + ) + temp["cosume_cube_frag"] = k.无色消耗 + temp["level"] = k.等级 + temp["cd_o"] = k.CD[k.等级] if isinstance(k.CD, list) else k.CD + temp["cd_unsave"] = ( + (k.恢复 + i["恢复"]) + if temp.get("cd_unsave", 1) == 1 + else (temp.get("cd_unsave", 1) + k.恢复 + i["恢复"]) / 2 + ) + 直伤 = k.等效百分比( + 武器类型=self.武器类型, + 额外等级=i["等级变化"], + 额外倍率=i["倍率"], + 伤害类型="直伤", + 形态=i["形态"], + char=self, + ) + + # 直伤处理:直伤伤害*比例*系数 + damage = ( + 直伤 + * self.伤害指数 + * k.被动倍率 + * (self.伤害比例.get("直伤", 0.0)) + / 100 + ) + for item in ["中毒", "灼伤", "感电", "出血"]: + 系数 = self.异常系数计算(item, k) + # 直伤转换的异常处理:直伤伤害*异常比例*异常系数 + damage += ( + 直伤 + * self.伤害指数 + * k.被动倍率 + * (self.伤害比例.get(item, 0.0) * 系数) + / 100 + ) + # 异常伤害处理:异常伤害*异常系数 + damage += ( + k.等效百分比( + 武器类型=self.武器类型, + 额外等级=i["等级变化"], + 额外倍率=i["倍率"], + 伤害类型=item, + 形态=i["形态"], + char=self, + ) + * self.伤害指数 + * k.被动倍率 + * 系数 + / 100 + ) + total_data += damage + temp["name"] = k.名称 + temp["damage"] = temp.get("damage", 0) + round(damage,0) + temp["count"] = temp.get("count", 0) + 1 + skill_dict[k.名称] = temp + # if k.名称 not in ['爆裂弹', '杀意波动', '万毒噬心诀', '神罚之锤']: + # 无色消耗 += i['无色消耗'] + # if k.CD > 1: + # CDR.append( + # (k.名称, round(1 - temp.get('cd', 0)/temp.get('cd_o', 0), 4))) + data["skills_passive"] = {} + for i in self.技能栏: + if i.关联技能 != ["无"] or i.冷却关联技能 != ["无"]: + temp = {} + temp["lv"] = i.等级 + temp["name"] = i.名称 + data["skills_passive"][i.名称] = temp + if skill_dict.get(i.名称, None) is not None: + if (i.CD[k.等级] if isinstance(i.CD, list) else i.CD) > 1: + temp = skill_dict.get(i.名称, {}) + if temp.get("cd_o", 0) == 0: + CDR.append((i.名称, 0, 0)) + else: + CDR.append( + ( + i.名称, + round(1 - temp.get("cd", 0) / temp.get("cd_o", 0), 4), + temp.get("cd", 0), + ) + ) + pass + data["skills"] = skill_dict + data["total_data"] = round(total_data,0) + # data['无色消耗'] = 无色消耗 + data["CDR"] = CDR + dps = 0 + for temp in data["skills"]: + skill = data["skills"][temp] + try: + dps += ( + (skill["damage"] / skill["count"]) + / skill["cd"] + * skill["damage"] + / total_data + ) + except Exception: + pass + data["dps"] = dps + return data + + def 装备属性计算(self): + self.套装统计() + self.装备基础() + self.__时装基础() + self.__附魔计算() + self.__杂项计算() + self.__徽章计算() + if self.类型 != "辅助": + self.药剂计算() + self.__装备词条计算() + + def __时装基础(self): + 时装品级列表 = {} + for 部位 in self.装扮栏: + id = int(self.装扮栏[部位]) + 时装 = 装扮集合[id] + 时装.效果(角色=self, 选项=self.装扮选项[部位]) + 时装品级列表[时装.套装] = 时装品级列表.get(时装.套装, 0) + 1 + + 套装集合: List[装扮套装] = [] + + for 套装 in 装扮套装集合: + 数量 = 时装品级列表.get(套装.名称, 0) + if 数量 > 0: + if 数量 >= 套装.所需数量: + 查找 = len( + [ + i + for i in 套装集合 + if hasattr(i, "兼容于") + and i.兼容于 == 套装.名称 + and i.所需数量 == 套装.所需数量 + ] + ) + if 查找 == 0: + 套装集合.append(套装) + else: + if hasattr(套装, "兼容于") and 套装.兼容于 is not None: + 数量 += 时装品级列表.get(套装.兼容于, 0) + 时装品级列表[套装.兼容于] = 数量 + 时装品级列表.pop(套装.名称) + for 套装 in 套装集合: + 套装.效果(self) + + pass + + def __辟邪玉计算(self): + if "jade" not in self.打造详情.keys(): + return + setinfo = self.打造详情["jade"] + info = {} + for i in ["jade_First", "jade_Second", "jade_Third", "jade_Fourth"]: + if i + "_type" in setinfo.keys(): + try: + id = setinfo[i + "_type"] + value = float(setinfo[i + "_value"]) + except Exception: + id = 0 + value = 0 + info[str(id)] = info.get(str(id), 0) + value + from core.equipment.jade import get_jadefunc_by_id + + for id in info.keys(): + func = get_jadefunc_by_id(int(id)) + func(self, value=info.get(str(id), 0)) + # 打印相关函数和效果 + + def 护石计算(self): + for item in self.护石栏: + try: + if item is not None and item != "" and item != "无": + self.get_skill_by_name(item).装备护石(char=self) + except Exception: + pass + + def 符文计算(self): + for item in self.符文: + if item is not None and item != "": + skill_name: str = item[0:-1] + type = item[-1] + skill = self.get_skill_by_name(skill_name) + + if skill is not None and skill.名称 == skill_name: + # 紫 + if type == "1": + skill.倍率 *= 1.04 + # 红 + if type == "2": + skill.倍率 *= 1.06 + skill.CDR *= 1.04 + # 绿 + if type == "3": + skill.倍率 *= 0.96 + skill.CDR *= 0.93 + # 蓝 + if type == "4": + skill.CDR *= 0.95 + else: + print(f"skill not found {skill_name}") + pass + + def __杂项计算(self, mode=0): + if "others" not in self.打造详情.keys(): + return + setinfo = self.打造详情["others"] + # 收集箱 + try: + from core.equipment.sundry import get_sundriesfunc_by_id + + func = get_sundriesfunc_by_id(setinfo["SJX_TYPE"]) + # print(func) + func(self, 0, False, setinfo["SJX_XY"], setinfo["SJX_SQ"]) + except Exception: + pass + # 勋章 + try: + from core.equipment.sundry import get_sundriesfunc_by_id + + func = get_sundriesfunc_by_id(setinfo["XZ_TYPE"]) + func( + self, + 0, + False, + setinfo.get("XZ_SHZ", 0), + setinfo.get("XZ_QH", 0), + setinfo.get("XZ_GS", 0), + ) + except Exception: + pass + # 勋章 - New + # 老徽章选择为无 才生效 + if int(setinfo.get("XZ_TYPE", 0)) == 0: + try: + from core.equipment.sundry import get_sundriesfunc_by_id + + func = get_sundriesfunc_by_id(27063) + func( + self, + 0, + False, + setinfo.get("medal_quality", 0), + setinfo.get("medal_lv", 0), + [ + setinfo.get("medal_gems_1", 0), + setinfo.get("medal_gems_2", 0), + setinfo.get("medal_gems_3", 0), + setinfo.get("medal_gems_4", 0), + ], + 0.1, + ) + pass + except Exception: + pass + for i in setinfo.keys(): + if i.startswith("SJX") or i.startswith("XZ"): + pass + else: + try: + id = setinfo[i] + from core.equipment.sundry import get_sundriesfunc_by_id + + func = get_sundriesfunc_by_id(id) + # 站街 + func(self) + # 进图 + func(self, mode=1) + except Exception: + pass + + def __徽章计算(self): + idlist = [] + for i in 部位列表 + ( + "皮肤", + "光环", + "武器装扮", + ): # ('皮肤', '光环', '武器装扮', ) + if i in self.打造详情.keys() and self.部位是否穿戴(i): + temp = self.打造详情[i] + for j in ["socket_left", "socket_right"]: + id = temp.get(j, 0) + if id == 0: + pass + elif str(id).isdigit(): + idlist.append(id) + else: + # 白金技能等级加成处理 id:技能名称 + self.单技能加成(名称=id, lv=1) + self.基础属性加成(四维=8) + pass + for i in idlist: + from core.equipment.emblems import get_embfunc_by_id + + func = get_embfunc_by_id(i) + func(self) + # 打印相关函数和效果 + # print('{}: {}'.format(func, func(self, text=TRUE))) + + def __附魔计算(self): + for i in self.部位附魔.keys(): + if self.部位是否穿戴(i): + func = self.部位附魔[i] + func(self, part=i) + func(self, mode=1, part=i) + # 打印相关函数和效果 + # print('{}: {}: {}'.format(i, func, func(self, text=TRUE))) + + def 装备基础(self): + # 移除不符合版本的装备,不参与后续计算 + self.装备栏 = list( + filter( + lambda x: get_equ(self.equVersion).get_equ_by_id(x).名称 != "", + self.装备栏, + ) + ) + for id in self.装备栏: + temp = get_equ(self.equVersion).get_equ_by_id(id) + temp = get_equ(self.equVersion).get_equ_by_id( + id, self.打造详情.get(temp.部位, {}).get("growth_sj", 0) > 0 + ) + if "甲" in temp.类型: + self.__防具计算(temp) + elif temp.类型 == "首饰": + self.__首饰计算(temp) + elif temp.类型 == "特殊装备": + self.__特殊装备计算(temp) + elif temp.部位 == "武器": + self.武器计算(temp) + elif temp.部位 in ["称号", "宠物"]: + self.__称号宠物计算(temp) + if temp.部位 not in ["称号", "宠物"]: + self.__增幅计算(temp) + pass + + # if temp.所属套装 != '智慧产物': + # return 精通计算(temp.等级, temp.品质, self.打造详情.get(部位, {}).get('cursed_number', 0), 部位) + # else: + # return 精通计算(temp.等级, temp.品质, self.打造详情.get(部位, {}).get('wisdom_number', 0), 部位) + + def __防具计算(self, temp: equipment) -> None: + self.基础属性加成(**temp.__dict__) + + 部位 = temp.部位 + 强化等级 = self.打造详情.get(部位, {}).get("cursed_number", 0) + + 力量 = 智力 = 体力 = 精神 = 0 + + if self.类型 == "辅助": + if "智力" in self.防具精通属性: + 智力 += 辅助精通计算( + 110 if temp.神 else temp.等级, temp.品质, 强化等级, 部位, "智力" + ) + if "精神" in self.防具精通属性: + 精神 += 辅助精通计算( + 110 if temp.神 else temp.等级, temp.品质, 强化等级, 部位, "精神" + ) + if "体力" in self.防具精通属性: + 体力 += 辅助精通计算( + 110 if temp.神 else temp.等级, temp.品质, 强化等级, 部位, "体力" + ) + else: + 精通数值 = 精通计算( + 110 if temp.神 else temp.等级, temp.品质, 强化等级, 部位, self.防具类型 + ) + if "力量" in self.防具精通属性: + 力量 += 精通数值 + if "智力" in self.防具精通属性: + 智力 += 精通数值 + + # if temp.等级 == 105: + # if self.类型 == '辅助': + # self.技能等级加成('主动', 30, 30, 1) + # self.技能等级加成('主动', 50, 50, 1) + self.基础属性加成(力量=力量, 智力=智力, 体力=体力, 精神=精神) + + def __增幅计算(self, temp: equipment) -> None: + if self.打造详情.get(temp.部位, {}).get("cursed_type", 1) == 1: + x = 增幅计算( + min(temp.等级, MAXEQULV), + temp.品质, + self.打造详情.get(temp.部位, {}).get("cursed_number", 0), + ) + if self.类型 == "物理百分比" or self.类型 == "物理固伤": + self.基础属性加成(力量=x) + self.打造[temp.部位]["增幅四维"][0] = x + elif self.类型 == "魔法百分比" or self.类型 == "魔法固伤": + self.基础属性加成(智力=x) + self.打造[temp.部位]["增幅四维"][1] = x + elif self.类型 == "辅助": + if self.适用属性 == "体力": + self.基础属性加成(体力=x) + self.打造[temp.部位]["增幅四维"][2] = x + elif self.适用属性 == "精神": + self.基础属性加成(精神=x) + self.打造[temp.部位]["增幅四维"][3] = x + else: + self.基础属性加成(智力=x) + self.打造[temp.部位]["增幅四维"][1] = x + # if self.是否增幅[i] and temp.所属套装 != '智慧产物': + # x = 增幅计算(temp.等级, temp.品质, self.强化等级[i]) + + def __称号宠物计算(self, temp: equipment) -> None: + self.基础属性加成(**temp.__dict__) + + def __首饰计算(self, temp: equipment) -> None: + self.基础属性加成(**temp.__dict__) + # if temp.等级 == 105 and self.类型 == '辅助': + # self.技能等级加成('主动', 30, 30, 1) + # self.技能等级加成('主动', 50, 50, 1) + + def __特殊装备计算(self, temp: equipment) -> None: + self.基础属性加成(**temp.__dict__) + # if temp.等级 == 105 and self.类型 == '辅助': + # self.技能等级加成('主动', 30, 30, 1) + # self.技能等级加成('主动', 50, 50, 1) + # if temp.品质 == '史诗' and temp.部位 == '魔法石': + # self.技能等级加成('主动', 50, 50, 1) + # 耳环 + if temp.部位 == "耳环": + # if temp.所属套装 != '智慧产物': + x = 耳环计算( + min(temp.等级, MAXEQULV), + temp.品质, + self.打造详情.get(temp.部位, {}).get("cursed_number", 0), + ) + self.打造["耳环"]["强化攻击力"] = [x] * 3 + self.基础属性加成(三攻=x) + # 辅助装备、魔法石 + else: + # if temp.所属套装 != '智慧产物': + x = 左右计算( + min(temp.等级, MAXEQULV), + temp.品质, + self.打造详情.get(temp.部位, {}).get("cursed_number", 0), + ) + if self.类型 == "辅助": + self.打造[temp.部位]["强化四维"] = [x] * 4 + else: + self.打造[temp.部位]["强化四维"] = [x] * 2 + self.基础属性加成(四维=x) + + def 武器计算(self, temp: equipment) -> None: + self.基础属性加成(**temp.__dict__) + self.武器类型 = temp.类型 + # if temp.等级 == 105 and self.类型 == '辅助': + # self.技能等级加成('主动', 30, 30, 3) + # self.技能等级加成('主动', 50, 50, 4) + # if temp.品质 == '史诗': + # self.技能等级加成('主动', 50, 50, 1) + # if temp.所属套装 != '智慧产物': + info = self.打造详情.get(temp.部位, {}) + # 暂时没有用110计算强化增幅的 + 物理攻击力 = 武器强化计算( + min(temp.等级, MAXEQULV), + temp.品质, + info.get("cursed_number", 0), + temp.类型, + "物理", + ) + 魔法攻击力 = 武器强化计算( + min(temp.等级, MAXEQULV), + temp.品质, + info.get("cursed_number", 0), + temp.类型, + "魔法", + ) + 独立攻击力 = 锻造计算( + min(temp.等级, MAXEQULV), temp.品质, info.get("dz_number", 0) + ) + + self.打造["武器"]["强化攻击力"] = [物理攻击力, 魔法攻击力, 0] + + self.打造["武器"]["锻造加成"][0] = 独立攻击力 + + 四维 = 0 + if self.类型 == "辅助": + 四维 = 锻造四维(min(temp.等级, MAXEQULV), temp.品质, info.get("dz_number", 0)) + self.打造["武器"]["锻造加成"][1] = 四维 + + self.基础属性加成( + 物理攻击力=物理攻击力, + 魔法攻击力=魔法攻击力, + 独立攻击力=独立攻击力, + 四维=四维, + ) + + def 职业装备特殊计算(self) -> None: + pass + + def 药剂计算(self, rate=1.0) -> None: + from core.equipment.consumable import get_sundriesfunc_by_id + + for item in self.药剂: + func = get_sundriesfunc_by_id(item) + func(self, rate=rate, mode=0) + func(self, rate=rate, mode=1) + + def 是否升级110(self, part): + return self.词条等级[part][0] > 80 + + def 兼容数量统计(self, suit): + equs = get_equ(self.equVersion) + count = 0 + for i in 部位列表: + equ = equs.get_equ_by_id(self.部位装备.get(i, 0)) + if len(equ.suits) < 2: + continue + if suit in equ.suits: + count += 1 + return count + + def 套装统计(self): + suit = [] + self.suits = [] + equs = get_equ(self.equVersion) + for i in 部位列表: + equ = equs.get_equ_by_id(self.部位装备.get(i, 0)) + if len(equ.suits) < 0: + continue + # 星辰百变 + if len(equ.可选属性) > 0: + if self.打造详情.get(i, {}).get("changeable", True): + suit += equ.suits + else: + suit += equ.suits + for i in self.融合列表: + equ = equs.get_equ_by_id(i) + if len(equ.suits) < 0: + continue + suit += equ.suits + suit_count = {} + for i in set(suit): + suit_count[i] = suit.count(i) + suits = [] + compatibility = [] + for i in suit_count: + suitsInfo = list( + filter( + lambda x: x["suit_id"] == i and x["need_num"] <= suit_count[i], + equs.suit_info, + ) + ) + for j in suitsInfo: + suits.append(j["id"]) + compatibility += j["compatibility"] + self.suits = list(set(suits) - set(compatibility)) + self.suitInfo = [] + for i in self.suits: + temp = list(filter(lambda x: x["id"] == i, equs.suit_info))[0] + self.suitInfo.append(f'{temp["name"]}[{temp["need_num"]}]') + pass + + def __装备词条计算(self): + # 攻击强化相关计算 + for i in 部位列表: + temp = [] + equ = get_equ(self.equVersion).get_equ_by_id(self.部位装备.get(i, 0)) + if equ.品质 == "传说": + # limit = 80 + # limit = 70 + # for j in [ + # "growth_cs_first", + # "growth_cs_second", + # "growth_cs_third", + # "growth_cs_fourth", + # ]: + temp = [80] * 4 + else: + temp = [140]*4 + # limit = 80 + # growth_sj = self.打造详情.get(i, {}).get("growth_sj", 0) + # if growth_sj > 0: + # temp = [80 + growth_sj] * 4 + # else: + # for j in [ + # "growth_first", + # "growth_second", + # "growth_third", + # "growth_fourth", + # ]: + # temp.append(min(limit, self.打造详情.get(i, {}).get(j, 1))) + # 锁定等级 常规武器升级锁神40 传说武器锁定70 + for name in ["霜", "雨", "雷", "风", "焰", "失衡"]: + if equ.名称.startswith(f"{name} :"): + temp = [120] * 4 + if equ.名称.startswith("跨越之忆"): + temp = [70] * 4 + # limit = 70 if get_equ(self.equVersion).get_equ_by_id( + # self.部位装备.get(i, 0)).品质 == "传说" else 80 + # for j in ["growth_first", "growth_second", "growth_third", "growth_fourth"]: + # temp.append(min(limit, self.打造详情.get(i, {}).get(j, 1))) + self.词条等级[i] = temp + + asrahan = False + weapon = ( + get_equ(self.equVersion).get_equ_by_id(self.部位装备.get("武器", 0)).名称 + ) + for index, name in enumerate(["雷", "风", "霜", "焰", "雨", "失衡"]): + if weapon.startswith(f"{name} :") and self.asrahan.get("type", 0) == index: + asrahan = True + if weapon.startswith("跨越之忆") and self.asrahan.get("type", 0) in [0, 1, 2, 3, 4]: + asrahan = True + if asrahan: + get_equ(self.equVersion).get_asrahan()( + self, + self.asrahan.get("type", 0), + self.asrahan.get("lv", 0), + self.asrahan.get("additional", 0), + ) + 武器融合词条 = self.武器融合.get(str(self.部位装备.get("武器", 0)), []) + 成长词条组合 = get_equ(self.equVersion).get_damagelist_by_idlist( + self.装备栏, self.自定义词条, self.融合列表, 武器融合词条 + ) + + temp_params = {} + for 部位, 序号, atk, buff, params, _type, index in 成长词条组合: + if _type > 0: + 等级 = self.词条等级[部位][序号] + else: + # 贴膜/融合 + 等级 = 1 + attack = 成长词条计算(atk, 等级, self.equVersion) + if ( + get_equ(self.equVersion).get_equ_by_id(self.部位装备.get(部位, 0)).品质 + == "传说" + and 等级 > 60 + ): + attack += 10 * (等级 - 60) / 4 + buffer = 成长词条计算(buff, 等级, self.equVersion) + self.攻击强化加成(attack) + self.辅助属性加成(buff量=buffer) + # 装备打造 + if _type > 0: + self.打造[部位]["attack"][序号] = attack + self.打造[部位]["buffer"][序号] = buffer + self.打造[部位]["params"][序号] = [] + + temp_params[部位] = temp_params.get(部位, {}) + temp_params[部位][str(序号)] = temp_params[部位].get(str(序号), []) + + params = [] if params is None else params + for param in params: + param = 成长词条计算(param, 等级, self.equVersion) + if _type > 0: + self.打造[部位]["params"][序号].append(param) + temp_params[部位][str(序号)].append(param) + + # 词条效果相关计算 + for func, 部位, 序号, index, _type, id, 融合石词条位置 in get_equ( + self.equVersion + ).get_func_list_by_idlist(self): + if _type > 0: + 等级 = self.词条等级[部位][序号] + # 特性 + elif _type == -2: + 等级 = self.特性等级.get(str(index), 0) + # 融合 + elif _type == -3: + 等级 = self.融合石等级.get(str(id),[0,0,0])[融合石词条位置] + else: + 等级 = 1 + params = temp_params.get(部位, {}).get(str(序号), []) + # print(部位, 序号, self.打造[部位]["params"][序号], index) + params = [] if params == [None] else params + # print(序号, params, index) + # print(序号, params, 部位) + res = func(self, mode=0, part=部位, lv=等级, params=params) # 进图效果 + if res is not None: + # print(res, type(res)) + if isinstance(res,list): + for i in res: + self.打造[部位]["tips"].append(i) + else: + self.打造[部位]["tips"].append(res) + if 部位 not in self.tip_part: + self.tip_part.append(部位) + + for func, 部位, 序号, index, _type, id, 融合石词条位置 in get_equ( + self.equVersion + ).get_func_list_by_idlist(self): + if _type > 0: + 等级 = self.词条等级[部位][序号] + # 特性 + elif _type == -2: + 等级 = self.特性等级.get(str(index), 0) + # 融合 + elif _type == -3: + 等级 = self.融合石等级.get(str(id),[0,0,0])[融合石词条位置] + else: + 等级 = 1 + params = temp_params.get(部位, {}).get(str(序号), []) + # print(部位, 序号, self.打造[部位]["params"][序号], index) + params = [] if params == [None] else params + # print(序号, params, index) + # print(序号, params, 部位) + # func(self, part=部位, lv=等级, params=params) # 站街效果 + res = func(self, mode=1, part=部位, lv=等级, params=params) # 进图效果 + if res is not None: + # print(res, type(res)) + if isinstance(res,list): + for i in res: + self.打造[部位]["tips"].append(i) + else: + self.打造[部位]["tips"].append(res) + if 部位 not in self.tip_part: + self.tip_part.append(部位) + # 打印相关函数和效果 + # print('{}(lv.{}): {} {}'.format(部位, 等级, func, func(self, text=TRUE))) + + def check_fun_by_id(self, id): + idList = get_equ(self.equVersion).get_func_list_by_idlist(self) + return id in [index for _, _, _, index, _,_,_ in idList] + + def check_equ_by_name(self, name): + id = get_equ(self.equVersion).get_equ_by_name(name).id + return id > 0 and (id in self.装备栏 or id in self.融合列表) + + def check_fusion_upgrade(self, part): + return self.打造详情.get(part, {}).get("fusion_upgrade", False) + + def 被动倍率计算(self): + if self.__基础精通倍率 != 1: + 基础精通 = self.get_skill_by_name("基础精通") + if 基础精通.名称 == "基础精通": + 基础精通.倍率 *= self.__基础精通倍率 + + for i in self.技能栏: + i.被动倍率 = 1 + for i in self.技能栏: + for index in range(0, 4): + index = "" if index == 0 else str(index) + 关联技能 = getattr(i, "关联技能" + index, ["无"]) + 非关联技能 = getattr(i, "非关联技能" + index, ["无"]) + try: + 加成倍率 = eval("i.加成倍率" + index + "(self.武器类型)") + except Exception: + 加成倍率 = 1.0 + try: + # print(i.名称, 加成倍率, eval("i.加成描述"+index+"(self.武器类型)")) + if 加成倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "倍率", + "info": eval("i.加成描述" + index + "(self.武器类型)"), + } + ) + except Exception: + pass + if 关联技能 != ["无"]: + if 关联技能 == ["所有"]: + for j in self.技能栏: + if j.是否有伤害 == 1: + j.被动倍率 *= 加成倍率 + else: + # print(self.技能序号) + for k in 关联技能: + self.技能栏[self.技能序号[k]].被动倍率 *= 加成倍率 + if 非关联技能 != ["无"]: + if 非关联技能 == ["所有"]: + for j in self.技能栏: + if j.是否有伤害 == 1: + j.被动倍率 /= 加成倍率 + else: + for k in 非关联技能: + self.技能栏[self.技能序号[k]].被动倍率 /= 加成倍率 + + def 加算冷却计算(self): + for i in self.技能栏: + if i.是否有伤害 == 1: + i.CDR *= 1 - self.__加算冷却缩减 + + def CD倍率计算(self): + for i in self.技能栏: + for index in range(0, 4): + index = "" if index == 0 else str(index) + 关联技能 = getattr(i, "冷却关联技能" + index, ["无"]) + 非关联技能 = getattr(i, "非冷却关联技能" + index, ["无"]) + 冷却类型 = getattr(i, "冷却类型" + index, 0) + try: + 加成倍率 = eval("i.CD缩减倍率" + index + "(self.武器类型)") + except Exception: + 加成倍率 = 1.0 + try: + if 加成倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "CDR", + "info": eval( + "i.CD缩减描述" + index + "(self.武器类型)" + ), + } + ) + except Exception: + pass + if 关联技能 != ["无"]: + if 关联技能 == ["所有"]: + for j in self.技能栏: + if j.是否有伤害 == 1: + if 冷却类型 == 0: + j.CDR *= 加成倍率 + if 冷却类型 == 1: + j.CDR_O *= 加成倍率 + else: + for k in 关联技能: + if 冷却类型 == 0: + self.技能栏[self.技能序号[k]].CDR *= 加成倍率 + if 冷却类型 == 1: + self.技能栏[self.技能序号[k]].CDR_O *= 加成倍率 + if 非关联技能 != ["无"]: + if 非关联技能 == ["所有"]: + for j in self.技能栏: + if j.是否有伤害 == 1: + if 冷却类型 == 0: + j.CDR /= 加成倍率 + if 冷却类型 == 1: + j.CDR_O /= 加成倍率 + else: + for k in 非关联技能: + if 冷却类型 == 0: + self.技能栏[self.技能序号[k]].CDR /= 加成倍率 + if 冷却类型 == 1: + self.技能栏[self.技能序号[k]].CDR_O /= 加成倍率 + + def __属性倍率计算(self): + # 火、冰、光、暗 + self.属性倍率组 = [] + self.属性倍率组.append(1.05 + 0.0045 * int(self.__火属性强化 - self.火抗输入)) + self.属性倍率组.append(1.05 + 0.0045 * int(self.__冰属性强化 - self.冰抗输入)) + self.属性倍率组.append(1.05 + 0.0045 * int(self.__光属性强化 - self.光抗输入)) + self.属性倍率组.append(1.05 + 0.0045 * int(self.__暗属性强化 - self.暗抗输入)) + self.属性倍率 = max(self.属性倍率组) + + def __面板系数计算(self, mode=1): + if self.类型 is None or self.类型 == "": + self.类型 = self.输出类型选项[0] + # 基础面板 不含百分比力智和百分比三攻 + if mode == 0: + if self.类型 == "物理百分比": + return int((self.基础面板力量() / 250 + 1) * self.基础面板物理攻击力()) + elif self.类型 == "魔法百分比": + return int((self.基础面板智力() / 250 + 1) * self.基础面板魔法攻击力()) + elif self.类型 == "物理固伤": + return int((self.基础面板力量() / 250 + 1) * self.基础面板独立攻击力()) + elif self.类型 == "魔法固伤": + return int((self.基础面板智力() / 250 + 1) * self.基础面板独立攻击力()) + # 旧版算法 不含斗神、宠物技能等 + else: + if self.类型 == "物理百分比": + return int( + (self.面板力量() / 250 + 1) + * self.基础面板物理攻击力() + * (1 + self.__百分比三攻) + ) + elif self.类型 == "魔法百分比": + return int( + (self.面板智力() / 250 + 1) + * self.基础面板魔法攻击力() + * (1 + self.__百分比三攻) + ) + elif self.类型 == "物理固伤": + return int( + (self.面板力量() / 250 + 1) + * self.基础面板独立攻击力() + * (1 + self.__百分比三攻) + ) + elif self.类型 == "魔法固伤": + return int( + (self.面板智力() / 250 + 1) + * self.基础面板独立攻击力() + * (1 + self.__百分比三攻) + ) + + def 伤害指数计算(self): + 防御 = max(self.防御输入 * self.防御系数 - self.__固定减防, 0) * ( + 1 - self.__百分比减防 + ) + + # 固定攻击方100级 + 基准倍率 = 1.5 * self.buff * (1 - 防御 / (防御 + 200 * 100)) + + self.__属性倍率计算() + + # 基础面板 不含百分比力智和百分比三攻 + 基础面板 = self.__面板系数计算(mode=0) + 旧版面板 = self.__面板系数计算(mode=1) + + # 攻击强化显示改版 + 新 = self.__攻击强化 * (1 + self.__百分比攻击强化) * 0.01 + # 攻击强化显示改版 + + 旧 = ( + 1 + int((self.__伤害增加 + 0.00000001) * 100) / 100 + ) # 避免出现浮点数取整BUG + 旧 *= 1 + self.__暴击伤害 + 旧 *= 1 + self.__最终伤害 + 旧 *= 1 + self.__持续伤害 + 旧 *= 1 + self.__附加伤害 + self.__属性附加 * self.属性倍率 + + self.伤害指数 = ( + (新 * 基础面板 + 旧 * 旧版面板) + * self.技能攻击力 + * self.属性倍率 + * 基准倍率 + * self.斗神宠物 + * ( + 1.25 + if "破招攻击" in get_global_data("attack_type", self.equVersion) + else 1.0 + ) + ) + + # 7.8日,伤害数据压缩 + self.伤害指数 /= 1000 + + def 基础属性修正(self, info): + from core.util.toNum import str_to_num + + self.攻击强化加成(str_to_num(info.get("攻击强化", 0))) + self.buff量加成(str_to_num(info.get("BUFF量", 0))) + self.百分比攻击强化加成(str_to_num(info.get("攻击强化百分比", 0)) / 100) + self.__百分比buff量 += str_to_num(info.get("BUFF量百分比", 0)) / 100 + if self.类型 == "辅助": + self.基础属性加成(四维=str_to_num(info.get("四维", 0))) + else: + self.基础属性加成( + 进图力量=str_to_num(info.get("四维", 0)), + 进图智力=str_to_num(info.get("四维", 0)), + 体精=str_to_num(info.get("四维", 0)), + 三攻=str_to_num(info.get("三攻", 0)), + ) + self.技能攻击力加成(str_to_num(info.get("技攻", 0)) / 100) + self.基础属性加成( + 火属性抗性=str_to_num(info.get("火抗", 0)), + 光属性抗性=str_to_num(info.get("光抗", 0)), + 冰属性抗性=str_to_num(info.get("冰抗", 0)), + 暗属性抗性=str_to_num(info.get("暗抗", 0)), + ) + self.攻击速度增加(str_to_num(info.get("攻速", 0)) / 100) + self.火属性强化加成(str_to_num(info.get("火强", 0))) + self.光属性强化加成(str_to_num(info.get("光强", 0))) + self.冰属性强化加成(str_to_num(info.get("冰强", 0))) + self.暗属性强化加成(str_to_num(info.get("暗强", 0))) + for 抗性 in [ + "出血", + "中毒", + "灼伤", + "感电", + "冰冻", + "减速", + "眩晕", + "诅咒", + "失明", + "石化", + "睡眠", + "混乱", + "束缚", + ]: + self.异常抗性加成(抗性, str_to_num(info.get(抗性 + "抗性", 0)) / 100) + self.MP消耗量加成(str_to_num(info.get("MP消耗量", 0)) / 100) + self.set_eq_params( + "skill_range", + self.get_eq_params("skill_range") + + str_to_num(info.get("技能范围Σ", 0)) / 100, + ) + + # endregion + + def get_individuation(self, index): + if index >= len(self.individuation): + return 0 + else: + return 0 if self.individuation[index] is None else self.individuation[index] + + def calc_init(self, info, equipList: List[int] = []): + # 获取打造数据 + self.__打造设置(info.get("forge_set", {})) + + self.asrahan = info.get("asrahan", {}) + # 设置职业信息 + self.__set_char(info) + + self.__怪物信息设置(info.get("monster", 2)) + + self.__场景设置(info.get("scene", 1)) + + # 自定义词条部分 + self.自定义词条 = info.get("customize", {}) + # 时装设置 + self.__穿戴装扮(info.get("dress_set", {})) + # 获取装备列表 + self.__穿戴装备(list(map(int, equipList))) + + # 获取技能数据 + self.__skill_set(info.get("skill_set", {})) + # 获取装备选项数据 + self.trigger_set = info.get("trigger_set", {}) + self.__equ_chose_set(self.trigger_set) + # 药剂设置 + self.__药剂设置(info.get("consumable_list", [])) + + self.hotkey_set(info.get("hotkey_set", [])) + + self.融合列表 = list(map(int, info.get("fusion_list", []))) + + self.武器融合 = info.get("merge", {}) + + self.特性列表 = [int(i) for i in list(info.get("specificity", {}).keys())] + + self.特性等级 = info.get("specificity", {}) + + self.融合石等级 = info.get("stone_set", {}) + + self.技能队列设置(info.get("skill_que", [])) + + self.individuation = info.get("individuation", []) + self.基础属性修正( + info.get( + "corrections", + { + "BUFF量": 0, + "BUFF量百分比": 0, + "三攻": 0, + "光强": 0, + "光抗": 0, + "冰强": 0, + "冰抗": 0, + "力智": 0, + "四维": 0, + "技攻": 0, + "攻击强化": 0, + "攻击强化百分比": 0, + "攻速": 0, + "暗强": 0, + "暗抗": 0, + "火强": 0, + "火抗": 0, + }, + ) + ) + + def jade_upgrade(self): + temp = [] + from core.equipment.jade import get_jade_setinfo, get_jadefunc_by_id + + num_range = [26001, 26020] + if self.类型 == "辅助": + num_range = [26011, 26206] + for jade in get_jade_setinfo(): + if jade["id"] > num_range[0] and jade["id"] <= num_range[1]: + char = deepcopy(self) + func = get_jadefunc_by_id(jade["id"]) + func(char, value=jade["max"]) + char.__计算前预处理() + temp.append( + { + "id": jade["id"], + "name": jade["props"] + + " " + + ("" if jade["max"] == 1 else ("+" + str(jade["max"]))) + + jade["unit"], + "damage": round(char.结果计算()["total_data"], 2), + "order": jade["order"], + } + ) + return temp + + def 异常保有率计算(self, pa, cur): + if cur == "灼伤破冰": + 冰冻CD = min( + self.异常时间["冰冻"][3], get_global_data("bd_cd", self.equVersion) + ) + # 不带鞋子,内置3秒结算CD + if not self.check_equ_by_name("信守誓约的步伐"): + 冰冻CD = max(3, 冰冻CD) + # 破韧后,原本的CD是多少就是多少 + if get_global_data("control_state", self.equVersion): + 冰冻CD = min( + self.异常时间["冰冻"][3], + 冰冻CD, + get_global_data("bd_cd", self.equVersion), + ) + 灼伤 = self.异常时间["灼伤"] + return max(1 - (2 * 冰冻CD + 1) / (4 * (灼伤[0] * 灼伤[2] + 灼伤[1])), 0) + else: + if self.get_eq_params(f"{cur}-结算") == 0: + return 0 + 持续时间 = ( + self.异常时间[cur][0] * self.异常时间[cur][2] + self.异常时间[cur][1] + ) + 异常CD = min( + self.异常时间[cur][3], + get_global_data(pa.split("_")[0] + "_cd", self.equVersion, 99), + ) + if self.check_equ_by_name("承诺誓约的腰带"): + 异常CD = max(0.5, 异常CD) + return max(1 - (2 * 异常CD + 1) / (4 * 持续时间), 0) + + def calc( + self, + setName: str = "set", + equipList: List[int] = [], + withJade=False, + withSet=False, + info=None, + ): + self.calc_init(info, equipList) + jade = [] + # cus = [] + # merge = [] + if withJade: + jade = self.jade_upgrade() + # if withCus and self.类型 != '辅助': + # cus = self.cus_upgrade(CusPosition) + # if withMerge and self.类型 != '辅助': + # merge = self.merge_upgrade() + self.__计算前预处理() + temp = self.结果计算() + calc_info = {} + + if self.类型 == "辅助": + calc_info[self.适用属性] = self.站街系数() + elif self.类型 == "物理百分比": + calc_info["力量"] = self.基础面板力量() + calc_info["物理攻击"] = self.站街物理攻击力() + elif self.类型 == "魔法百分比": + calc_info["智力"] = self.基础面板智力() + calc_info["魔法攻击"] = self.站街魔法攻击力() + elif self.类型 == "物理固伤": + calc_info["力量"] = self.基础面板力量() + calc_info["独立攻击"] = self.站街独立攻击力() + elif self.类型 == "魔法固伤": + calc_info["智力"] = self.基础面板智力() + calc_info["独立攻击"] = self.站街独立攻击力() + # print(suitInfo) + calc_info["火"] = int(self.火属性强化()) + calc_info["冰"] = int(self.冰属性强化()) + calc_info["光"] = int(self.光属性强化()) + calc_info["暗"] = int(self.暗属性强化()) + calc_info["火抗"] = self.火属性抗性() + calc_info["冰抗"] = self.冰属性抗性() + calc_info["光抗"] = self.光属性抗性() + calc_info["暗抗"] = self.暗属性抗性() + + for i in self.技能栏: + 倍率 = i.独立攻击力倍率(self.武器类型) + if i.名称 not in self.skills_passive: + continue + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "独立攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = i.魔法攻击力倍率(self.武器类型) + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "魔法攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = i.物理攻击力倍率(self.武器类型) + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "物理攻击力", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = i.独立攻击力倍率进图(self.武器类型) + if i.名称 not in self.skills_passive: + continue + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "独立攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = i.魔法攻击力倍率进图(self.武器类型) + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "魔法攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + 倍率 = i.物理攻击力倍率进图(self.武器类型) + if 倍率 != 1: + self.skills_passive[i.名称]["info"].append( + { + "type": "物理攻击力[进图]", + "info": [round((倍率 - 1) * 100), "所有", ""], + } + ) + buff = self.get_skill_by_name("BUFF") + awake = self.get_skill_by_name("一次觉醒") + + skills_passive = {} + for i in self.skills_passive.keys(): + if len(self.skills_passive[i].get("info", [])) > 0: + skills_passive[i] = self.skills_passive[i] + + result = { + "id": uuid1().hex, + "alter": self.实际名称, + "name": self.名称, + "role": "buffer" if self.类型 == "辅助" else "delear", + "equips_forge": self.打造, + "suits": self.suitInfo, + "info": { + # 站街 + "站街": calc_info, + # 词条 + "properties": { + # 攻击强化 + "攻击强化": round(self.__攻击强化, 0), + "buffer_power": round(self.BUFF量(), 0), + "buffer_power_value": round(self.__buff量, 0), + "buffer_power_per": round(self.__百分比buff量 * 100, 2), + "技能攻击力": round(100 * (self.技能攻击力 - 1), 2), + "面板技能攻击力": round(100 * (self.__面板技能攻击力 - 1), 2), + "百分比攻击强化": round(self.__百分比攻击强化 * 100, 1), + "MP消耗量": round(self.__MP消耗量 * 100 - 100, 2), + "伤害比例": [ + self.伤害比例.get("直伤", 1), + self.伤害比例.get("中毒", 0), + self.伤害比例.get("灼伤", 0), + self.伤害比例.get("感电", 0), + self.伤害比例.get("出血", 0), + ], + "伤害系数": [ + self.伤害系数.get("直伤", 1), + self.伤害系数.get("中毒", 1) - 1, + self.伤害系数.get("灼伤", 1) - 1, + self.伤害系数.get("感电", 1) - 1, + self.伤害系数.get("出血", 1) - 1, + ], + "技能范围": self.get_eq_params("skill_range"), + "技能范围∏": self.get_eq_params("skill_range_multi", 1), + "保护罩": self.get_eq_params("protect") + * (1 + self.get_eq_params("protect_max")), + # '无色消耗': temp['无色消耗'], + "apply_value": self.适用数值, + "buff_level": buff.等级, + "buff_name": buff.名称, + "awake_level": awake.等级, + "awake_name": awake.名称, + "buff_intstr_per": self.__buff百分比力智, + "buff_intstr": self.__buff固定力智, + "buff_attack_per": self.__buff百分比三攻, + "buff_attack": self.__buff固定三攻, + "awake_intstr_per": self.__觉醒百分比力智, + "awake_intstr": self.__觉醒固定力智, + "攻击速度": self.__攻击速度, + "其他攻击速度": self.__攻击速度_其他, + "施放速度": self.__施放速度, + "移动速度": self.__移动速度, + "cdr": temp.get("CDR", []), + "冷却缩减": self.冷却缩减 * (1 - self.__加算冷却缩减), + "冷却恢复": self.冷却恢复, + "defense": self.get_eq_params("defense"), + "defense_ratio": self.get_eq_params("defense_ratio"), + "hurted_ratio": self.get_eq_params("hurted_ratio"), + "era": round( + ( + 1 + - ( + 1 + - self.get_eq_params("defense") + * (1 + self.get_eq_params("defense_ratio")) + / ( + 100000 + + self.get_eq_params("defense") + * (1 + self.get_eq_params("defense_ratio")) + ) + ) + * (1 - self.get_eq_params("hurted_ratio")) + ) + * 100, + 2, + ), + }, + }, + "total_data": temp["buffer_addition"] + if "buffer_addition" in temp + else [temp["total_data"], 0, 0, 0], + "skills": temp["skills"], + "skills_passive": skills_passive, + "specificity": info.get("specificity", []), + "jade": sorted(jade, key=lambda x: x["order"]), + "talisman_set":info.get("talisman_set", []), + "rune_set":info.get("rune_set", []), + # "cus": cus, + "tip_part": self.tip_part, + } + + if withSet: + result["forge_set"] = info["forge_set"] + result["equips"] = list( + map(lambda x: get_equ(self.equVersion).get_json(x), self.装备栏) + ) + result["merge_list"] = self.武器融合 + result["fusion_list"] = self.融合列表 + result["customize"] = info["customize"] + + for 抗性 in [ + "出血", + "中毒", + "灼伤", + "感电", + "冰冻", + "减速", + "眩晕", + "诅咒", + "失明", + "石化", + "睡眠", + "混乱", + "束缚", + ]: + result["info"]["properties"][抗性 + "抗性"] = self.异常抗性获取(抗性) * 100 + return result + + +def createCharacter(alter: str, equVersion: str = "0"): + character: Character = None + module_name = "core.characters." + alter + try: + character = importlib.import_module(module_name).classChange(equVersion) + except Exception as ex: + print(ex) + print("create character " + module_name + " error.") + pass + return character diff --git a/api/core/basic/equipment.py b/api/core/basic/equipment.py new file mode 100644 index 00000000..4eac9c87 --- /dev/null +++ b/api/core/basic/equipment.py @@ -0,0 +1,789 @@ +from copy import deepcopy +import importlib +import json +import os +import sys +from decimal import Decimal +from pyclbr import Function +from typing import Dict, List +from routers.database.db import Session,get_engine,EquData,EntryData,SuitData + +try: + os.chdir(os.path.dirname(sys.argv[0])) +except Exception: + pass + + +def parse_to_number_list(info: str): + return [] if info == "" or info is None else [int(i) for i in info.split(",")] + + +def get_eq_info_data(version): + # equ_info = {} + # fileName = "./dataFiles/equ-data-{}.json".format(version) + # try: + # with open(fileName, encoding='utf-8') as fp: + # equ_info = json.load(fp) + # except Exception: + # with open("./dataFiles/equ-data-3.json", encoding='utf-8') as fp: + # equ_info = json.load(fp) + equ_info = {} + engine = get_engine(version) + with Session(bind=engine) as session: + for equ in session.query(EquData).all(): + equ.可选属性 = parse_to_number_list(equ.可选属性) + equ.固有属性 = parse_to_number_list(equ.固有属性) + equ.成长属性 = parse_to_number_list(equ.成长属性) + equ.特性 = parse_to_number_list(equ.特性) + equ.suits = parse_to_number_list(equ.suits) + equ_info[str(equ.id)] = equ.__dict__ + for i in list(filter(lambda x: x.startswith("_"), equ.__dict__.keys())): + del equ_info[str(equ.id)][i] + engine.dispose() + cus = [] + for key in equ_info.keys(): + if (('融合石' not in equ_info[key]["类型"]))and (len(equ_info[key]["可选属性"]) > 0): + cus.append(key) + for key in cus: + equ_info[str(100000+int(key))] = deepcopy(equ_info[key]) + equ_info[str(100000+int(key))]["名称"] += " - 对照" + # equ_info[str(10000+int(key))]["order"] += 100000 + return equ_info + + +def get_suit_info_data(version): + suit_info = [] + engine = get_engine(version) + with Session(bind=engine) as session: + for suit in session.query(SuitData).all(): + temp = suit.__dict__ + for i in list(filter(lambda x: x.startswith("_"), suit.__dict__.keys())): + del temp[i] + if temp['compatibility'] is None: + temp['compatibility'] = [] + else: + temp['compatibility'] = parse_to_number_list( + temp['compatibility']) + suit_info.append(temp) + pass + engine.dispose() + return suit_info + + +def get_entry_info_data(version): + # entry_info = {} + # fileName = "./dataFiles/entry-data-{}.json".format(version) + # try: + # with open(fileName, encoding='utf-8') as fp: + # entry_info = json.load(fp) + # except Exception: + # with open("./dataFiles/entry-data-0.json", encoding='utf-8') as fp: + # entry_info = json.load(fp) + entry_info = {} + engine = get_engine(version) + with Session(bind=engine) as session: + for entry in session.query(EntryData).all(): + entry_info[str(entry.id)] = entry.__dict__ + entry_info[str(entry.id)]["props"] = entry.props.split("
") + entry_info[str(entry.id)]["additional"] = json.loads(entry.additional) if entry.additional != "" and entry.additional is not None else [] + for i in list(filter(lambda x: x.startswith("_"), entry.__dict__.keys())): + del entry_info[str(entry.id)][i] + pass + engine.dispose() + # if int(version) == 0: + for item in entry_info: + props = entry_info[item]['props'] + if len(entry_info[item]['additional']) > 0: + entry_info[item]["template"] = ("
").join(entry_info[item]["props"]) + entry_info[item]["params"] = entry_info[item]['additional'] + props = ("
").join(entry_info[item]["props"]) + for index,param in enumerate(entry_info[item]['additional'][0]): + props = props.replace("{"+str(index)+"}",str(param)) + entry_info[item]["props"] = props.split("
") + else: + import re + res = re.findall(r'攻击强化[\s]\+\d+.?\d+%', + ("
").join(props).replace(",", "")) + + if len(res) > 0: + params = [] + template = ("
").join(props).replace(",", "") + for index in range(0, len(res)): + temp = res[index].replace("攻击强化+", "攻击强化 +") + params.append(float(re.findall(r'\d+\.?\d*', temp)[0])) + template = template.replace(temp, '攻击强化 {'+str(index)+'}') + entry_info[item]["template"] = template + entry_info[item]["params"] = params + entry_info[item]["filter"] = entry_info[item].get("filter", None) + + del entry_info[item]['additional'] + return entry_info + + +class equipment: + 名称 = '' + 等级 = '' + 品质 = '' + 部位 = '' + 类型 = '' + 力量 = 0 + 智力 = 0 + 体力 = 0 + 精神 = 0 + 物理攻击力 = 0 + 魔法攻击力 = 0 + 独立攻击力 = 0 + 固有属性 = [] + 成长属性 = [] + 可选属性 = [] + 物理暴击率 = 0 + 魔法暴击率 = 0 + 神 = False + id = 0 + suits = '' + + def __init__(self, info={}): + # 读取json获取装备属性 + self.__dict__.update(info) + + # 计算防具转甲基础 + if self.类型 in ['布甲', '皮甲', '轻甲', '重甲', '板甲']: + 设置防具基础(self) + if self.部位 == "武器": + 设置武器基础(self) + if self.类型 in ['首饰', '特殊装备']: + 设置其他基础(self) + # def __iter__(self): + # yield from [getattr(self, i, 0) for i in ('物理攻击力', '魔法攻击力', '独立攻击力', '三攻', '力量', '智力', '力智', '体力', '精神', '体精', '四维', '物理暴击率', '魔法暴击率', '暴击率', '攻击速度', '施放速度', '移动速度', '三速')] + + +防具基础 = { + "105-史诗-上衣": (141, 141, 141, 141, 1597, 0), + "105-史诗-头肩": (132, 132, 132, 132, 1065, 0), + "105-史诗-下装": (141, 141, 141, 141, 1331, 0), + "105-史诗-鞋": (124, 124, 124, 124, 799, 0), + "105-史诗-腰带": (124, 124, 124, 124, 532, 0), + "105-神话-上衣": (142, 142, 142, 142, 1637, 0), + "105-传说-上衣": (140, 140, 140, 140, 1558, 0), + "105-传说-头肩": (132, 132, 132, 132, 1038, 0), + "105-传说-下装": (140, 140, 140, 140, 1298, 0), + "105-传说-鞋": (124, 124, 124, 124, 779, 0), + "105-传说-腰带": (124, 124, 124, 124, 519, 0), + "110-史诗-上衣": (142, 142, 142, 142, 1663, 0), + "110-史诗-头肩": (134, 134, 134, 134, 1109, 0), + "110-史诗-下装": (142, 142, 142, 142, 1386, 0), + "110-史诗-鞋": (125, 125, 125, 125, 832, 0), + "110-史诗-腰带": (125, 125, 125, 125, 554, 0), +} + + +武器基础 = { + "110-史诗-短剑": (0, 88, 0, 0, 1277, 1547, 864), + "110-史诗-太刀": (88, 133, 0, 0, 1277, 1411, 864), + "110-史诗-钝器": (133, 0, 0, 0, 1478, 1277, 864), + "110-史诗-巨剑": (88, 0, 0, 0, 1614, 1210, 864), + "110-史诗-光剑": (88, 0, 0, 0, 1251, 1210, 864), + "110-史诗-手套": (0, 88, 0, 0, 1277, 1547, 864), + "110-史诗-臂铠": (133, 0, 0, 0, 1614, 1210, 864), + "110-史诗-爪": (88, 44, 0, 0, 1344, 1344, 864), + "110-史诗-拳套": (88, 0, 0, 0, 1411, 1277, 864), + "110-史诗-东方棍": (88, 133, 0, 0, 1277, 1344, 864), + "110-史诗-左轮枪": (88, 0, 0, 0, 1362, 1145, 864), + "110-史诗-自动手枪": (0, 88, 0, 0, 955, 1400, 864), + "110-史诗-步枪": (88, 133, 0, 0, 1463, 1273, 864), + "110-史诗-手炮": (133, 0, 0, 0, 1591, 955, 864), + "110-史诗-手弩": (88, 88, 0, 0, 1145, 1273, 864), + "110-史诗-矛": (133, 0, 0, 0, 1614, 1143, 864), + "110-史诗-棍棒": (120, 120, 0, 0, 1452, 1210, 864), + "110-史诗-魔杖": (0, 133, 0, 0, 1210, 1478, 864), + "110-史诗-法杖": (0, 88, 0, 0, 1277, 1614, 864), + "110-史诗-扫把": (0, 88, 0, 0, 1344, 1478, 864), + "110-史诗-十字架": (0, 88, 106, 106, 1344, 1277, 864), + "110-史诗-念珠": (0, 133, 0, 0, 1210, 1547, 864), + "110-史诗-图腾": (133, 0, 0, 0, 1411, 1210, 864), + "110-史诗-镰刀": (88, 88, 0, 0, 1277, 1344, 864), + "110-史诗-战斧": (88, 0, 0, 0, 1614, 1143, 864), + "110-史诗-匕首": (133, 0, 0, 0, 1283, 1210, 864), + "110-史诗-双剑": (88, 0, 0, 0, 1474, 1076, 864), + "110-史诗-手杖": (0, 88, 0, 0, 1196, 1547, 864), + "110-史诗-苦无": (0, 133, 0, 0, 1133, 1478, 864), + "110-史诗-长枪": (133, 0, 0, 0, 1411, 1210, 864), + "110-史诗-战戟": (88, 0, 0, 0, 1614, 1143, 864), + "110-史诗-光枪": (88, 88, 0, 0, 1277, 1547, 864), + "110-史诗-暗矛": (88, 133, 0, 0, 1277, 1411, 864), + "110-史诗-长刀": (88, 88, 0, 0, 1452, 1210, 864), + "110-史诗-小太刀": (88, 44, 0, 0, 1344, 1344, 864), + "110-史诗-重剑": (88, 0, 0, 0, 1614, 1210, 864), + "110-史诗-源力剑": (0, 88, 0, 0, 1277, 1547, 864), + "110-史诗-神弦弓": (0, 0, 0, 106, 1344, 1277, 864), + "110-史诗-玄机弓": (88, 88, 0, 0, 1452, 1210, 864), + "105-史诗-短剑": (0, 85, 0, 0, 1222, 1480, 818), + "105-史诗-太刀": (85, 128, 0, 0, 1222, 1351, 818), + "105-史诗-钝器": (128, 0, 0, 0, 1416, 1222, 818), + "105-史诗-巨剑": (85, 0, 0, 0, 1544, 1158, 818), + "105-史诗-光剑": (85, 0, 0, 0, 1197, 1158, 818), + "105-史诗-手套": (0, 85, 0, 0, 1222, 1480, 818), + "105-史诗-臂铠": (128, 0, 0, 0, 1544, 1158, 818), + "105-史诗-爪": (85, 43, 0, 0, 1287, 1287, 818), + "105-史诗-拳套": (85, 0, 0, 0, 1351, 1222, 818), + "105-史诗-东方棍": (85, 128, 0, 0, 1222, 1287, 818), + "105-史诗-左轮枪": (85, 0, 0, 0, 1300, 1093, 818), + "105-史诗-自动手枪": (0, 85, 0, 0, 911, 1337, 818), + "105-史诗-步枪": (85, 128, 0, 0, 1397, 1214, 818), + "105-史诗-手炮": (128, 0, 0, 0, 1518, 911, 818), + "105-史诗-手弩": (85, 85, 0, 0, 1093, 1214, 818), + "105-史诗-矛": (128, 0, 0, 0, 1544, 1093, 818), + "105-史诗-棍棒": (114, 114, 0, 0, 1389, 1158, 818), + "105-史诗-魔杖": (0, 128, 0, 0, 1158, 1416, 818), + "105-史诗-法杖": (0, 85, 0, 0, 1222, 1544, 818), + "105-史诗-扫把": (0, 85, 0, 0, 1287, 1416, 818), + "105-史诗-十字架": (0, 85, 101, 101, 1287, 1222, 818), + "105-史诗-念珠": (0, 128, 0, 0, 1158, 1480, 818), + "105-史诗-图腾": (128, 0, 0, 0, 1351, 1158, 818), + "105-史诗-镰刀": (85, 85, 0, 0, 1222, 1287, 818), + "105-史诗-战斧": (85, 0, 0, 0, 1544, 1093, 818), + "105-史诗-匕首": (128, 0, 0, 0, 1224, 1158, 818), + "105-史诗-双剑": (85, 0, 0, 0, 1408, 1030, 818), + "105-史诗-手杖": (0, 85, 0, 0, 1141, 1480, 818), + "105-史诗-苦无": (0, 128, 0, 0, 1081, 1416, 818), + "105-史诗-长枪": (128, 0, 0, 0, 1351, 1158, 818), + "105-史诗-战戟": (85, 0, 0, 0, 1544, 1093, 818), + "105-史诗-光枪": (85, 85, 0, 0, 1222, 1480, 818), + "105-史诗-暗矛": (85, 128, 0, 0, 1222, 1351, 818), + "105-史诗-长刀": (85, 85, 0, 0, 1389, 1158, 818), + "105-史诗-小太刀": (85, 43, 0, 0, 1287, 1287, 818), + "105-史诗-重剑": (85, 0, 0, 0, 1544, 1158, 818), + "105-史诗-源力剑": (0, 85, 0, 0, 1222, 1480, 818), + "105-史诗-神弦弓": (0, 85, 0, 101, 1287, 1222, 818), + "105-史诗-玄机弓": (85, 85, 0, 0, 1389, 1158, 818), + # "105-史诗-神弦弓": (0, 0, 0, 101, 1287, 1222, 818), + # "105-史诗-玄机弓": (0, 0, 0, 101, 1287, 1222, 818), + "105-传说-短剑": (0, 81, 0, 0, 1167, 1412, 766), + "105-传说-太刀": (81, 0, 0, 0, 1167, 1289, 766), + "105-传说-钝器": (122, 0, 0, 0, 1351, 1167, 766), + "105-传说-巨剑": (81, 122, 0, 0, 1474, 1106, 766), + "105-传说-光剑": (81, 0, 0, 0, 1142, 1106, 766), + "105-传说-手套": (0, 81, 0, 0, 1167, 1412, 766), + "105-传说-臂铠": (122, 0, 0, 0, 1474, 1106, 766), + "105-传说-爪": (81, 41, 0, 0, 1229, 1229, 766), + "105-传说-拳套": (81, 0, 0, 0, 1289, 1167, 766), + "105-传说-东方棍": (81, 122, 0, 0, 1167, 1229, 766), + "105-传说-左轮枪": (81, 0, 0, 0, 1239, 1042, 766), + "105-传说-自动手枪": (0, 81, 0, 0, 868, 1274, 766), + "105-传说-步枪": (81, 122, 0, 0, 1331, 1157, 766), + "105-传说-手炮": (122, 0, 0, 0, 1448, 868, 766), + "105-传说-手弩": (81, 81, 0, 0, 1042, 1157, 766), + "105-传说-矛": (110, 110, 0, 0, 1327, 1106, 766), + "105-传说-棍棒": (122, 0, 0, 0, 1474, 1044, 766), + "105-传说-魔杖": (0, 122, 0, 0, 1106, 1351, 766), + "105-传说-法杖": (0, 81, 0, 0, 1167, 1474, 766), + "105-传说-扫把": (0, 81, 0, 0, 1229, 1351, 766), + "105-传说-十字架": (0, 81, 99, 99, 1229, 1167, 766), + "105-传说-念珠": (0, 122, 0, 0, 1106, 1412, 766), + "105-传说-图腾": (122, 0, 0, 0, 1289, 1106, 766), + "105-传说-镰刀": (81, 81, 0, 0, 1167, 1229, 766), + "105-传说-战斧": (81, 0, 0, 0, 1474, 1044, 766), + "105-传说-匕首": (122, 0, 0, 0, 1167, 1106, 766), + "105-传说-双剑": (81, 0, 0, 0, 1343, 982, 766), + "105-传说-手杖": (0, 81, 0, 0, 1087, 1412, 766), + "105-传说-苦无": (0, 122, 0, 0, 1030, 1351, 766), + "105-传说-长枪": (122, 0, 0, 0, 1289, 1106, 766), + "105-传说-战戟": (81, 0, 0, 0, 1474, 1044, 766), + "105-传说-光枪": (81, 81, 0, 0, 1167, 1412, 766), + "105-传说-暗矛": (81, 122, 0, 0, 1167, 1289, 766), + "105-传说-长刀": (81, 81, 0, 0, 1327, 1106, 766), + "105-传说-小太刀": (81, 41, 0, 0, 1229, 1229, 766), + "105-传说-重剑": (81, 0, 0, 0, 1474, 1106, 766), + "105-传说-源力剑": (0, 81, 0, 0, 1167, 1412, 766), + "105-传说-玄机弓": (0, 81, 0, 0, 1327, 1106, 766), + "110-史诗-强攻弩": (88, 0, 0, 0, 1614, 1210, 864), + "105-史诗-强攻弩": (85, 0, 0, 0, 1544, 1158, 818), + "105-传说-强攻弩": (81, 0, 0, 0, 1474, 1106, 766), + "110-史诗-妖影弓": (88, 88, 0, 0, 1277, 1344, 864), + "105-史诗-妖影弓": (85, 85, 0, 0, 1222, 1287, 818), + "105-传说-妖影弓": (81, 81, 0, 0, 1167, 1229, 766) +} + +其他基础 = { + "110-史诗-项链": (100, 151, 100, 227, 0, 11159), + "110-史诗-戒指": (176, 176, 100, 100, 0, 4470), + "110-史诗-手镯": (151, 100, 227, 100, 0, 6706), + "110-史诗-辅助装备": (150, 150, 150, 150, 0, 0), + "110-史诗-魔法石": (175, 175, 175, 175, 0, 0), + "110-史诗-耳环": (175, 175, 175, 175, 0, 0), + "105-史诗-项链": (100, 150, 100, 222, 0, 10736), + "105-史诗-戒指": (173, 173, 100, 100, 0, 4294), + "105-史诗-手镯": (150, 100, 222, 100, 0, 6600), + "105-史诗-辅助装备": (149, 149, 149, 149, 0, 0), + "105-史诗-魔法石": (172, 172, 172, 172, 0, 0), + "105-史诗-耳环": (172, 172, 172, 172, 0, 0) +} + + +def 设置其他基础(装备): + + b = 其他基础.get('{}-{}-{}'.format(110 if 装备.神 else 装备.等级, 装备.品质, 装备.部位), + (0, 0, 0, 0, 0)) + + attr = ['力量', '智力', '体力', '精神'] + for i in range(len(attr)): + if (b[i] != 0): + setattr(装备, attr[i], round((b[i]) * Decimal(1.0))) + pass + + +def 设置武器基础(装备): + # 装备.力量 = {} + # 装备.智力 = {} + # 装备.体力 = {} + # 装备.精神 = {} + # 装备.物理攻击力 = {} + # 装备.魔法攻击力 = {} + # 装备.独立攻击力 = {} + + b = 武器基础.get('{}-{}-{}'.format(110 if 装备.神 else 装备.等级, 装备.品质, 装备.类型), + (0, 0, 0, 0, 0, 0, 0, 0)) + + attr = ['力量', '智力', '体力', '精神', '物理攻击力', '魔法攻击力', '独立攻击力'] + for i in range(len(attr)): + if (b[i] != 0): + setattr(装备, attr[i], round((b[i]) * Decimal(1.0))) + + +def 设置防具基础(装备): + b = 防具基础.get('{}-{}-{}'.format(110 if 装备.神 else 装备.等级, + 装备.品质, 装备.部位), (0, 0, 0, 0)) + attr = ['力量', '智力', '体力', '精神'] + for j in range(len(attr)): + setattr(装备, attr[j], round((b[j]) * Decimal(1.0))) + + +# 词条计算优先级,默认为100,特殊需求手动设置优先级 +priority = { + # 蓝拳CP-无色消耗 + 691: 0, + # 锁血上限 + 1248: 0, 1438: 0, 868: 0.5, 935: 0, + 1620: 0, + # 无色结算顺序 + 20067: 2, + 20069: 2, + 1147: 1, + 878: 998, + 1102: 999, + 1119: 1000, + 1120: 1000, + 1573: 1000, + 1589: 1000, + 1598: 1000, + 1609: 1000, + 1611: 1000, + 1614: 1000, + 1670: 1000, + 1692: 1000, + # MP结算顺序 + 1183: 998, + 1736: 998, + 988: 999, + 316: 998, + 1588: 998, + 1662: 998, + 20029: 998, + 20030: 998, + 20022: 998, + # 属强结算 + 1275: 1999, 1034: 1999, 1035: 1999, 1036: 1999, 1037: 1999, 975: 3000, 976: 1999.5, 1252: 3001, 1250: 3002, 1251: 3002, 1430: 3002, 1458: 3002, 235: 3000, 1689: 3000, 20045: 3000, + # 异常赋予结算顺序 + 190: 1, 799: 1, 810: 1, 916: 1, 900: 1, 968: 1, 977: 1, 1228: 1, 1192: 1, 1184: 1, 1333: 1, 1334: 1, 1335: 1, 1337: 1, 1338: 1, 1315: 1, 1300: 1, 1310: 1, 598: 1, 873: 1, 995: 1, 996: 1, 952: 1, 940: 1, 942: 1, 943: 1, 793: 1, 794: 1, 795: 1, 796: 1, 797: 1, 1123: 1, 1071: 1, 1072: 1, 1073: 1, 1074: 1, 59: 1, 60: 1, 61: 1, 62: 1, 63: 1, 64: 1, 65: 1, 66: 1, 67: 1, 68: 1, 69: 1, 70: 1, 71: 1, 177: 1, 178: 1, 179: 1, 180: 1, 1213: 2, 1207: 2, 1011: 1, 919: 2, 920: 1, 1219: 1, 924: 1, 1053: 1, 892: 1, 1197: 1, 842: 1, 839: 1, 1210: 3, 1276: 101, 1294: 1, 1340: 3, 1341: 1, 1342: 2, 1356: 1, 1357: 1, 1358: 1, 1343: 3, 966: 3, 1363: 1, 1364: 1, 1365: 1, 1366: 1, 1221: 2, 992: 3, + 1273: 1002, 1269: 4002, 1431: 4002, 1432: 4002, 1459: 4002, 1460: 4002, 1246: 4003, 198: 3000, 199: 3000, 203: 1, 204: 3000, 205: 3000, 1605: 4003, 1706: 3000, 1618: 4003, 1751: 3000, 1306: 3000, 20003: 4003, + # 睡眠结算顺序 + 934: 1, 1272: 1, 1271: 2004, 835: 2000, 305: 2000, 1746: 2000, 1591: 2000, 1592: 2000, + # CD耳环 + 991: 1000, + # 属性抗性 + 1297: 1999, 1316: 2000, 1317: 2000, 1239: 2000, 1253: 2000, 1148: 2000, 1387: 2000, 1256: 2000, 1257: 2000, 1012: 2000, 1013: 1999, 1014: 1999, 1015: 1999, 1016: 1999, 1002: 2000, 1028: 2000, 1029: 2000, 1030: 2000, 1031: 2000, 182: 3500, 342: 2000, 344: 3500, 350: 3500, 356: 3500, 301: 2000, 302: 2000, 303: 2000, 304: 2000, 352: 2000, 353: 2000, 354: 2000, 355: 2000, 1699: 2000, 1688: 2000, + 851: 2000, 846: 2000, 844: 2000, 849: 2000, 1022: 2000, 1385: 2000, 1386: 2000, + # 睡眠 + 1132: 2000, 265: 2000, 351: 2000, 20011: 20000, + 1566: 0, 1558: 3002, 1491: 1, 1492: 1, 1493: 1, 1494: 1, 1559: 4002, 1560: 4002, 1515: 2000, 1513: 2000, 1514: 2000, + 1637: 2001, + # TP + 1451: 2000, + 1574: 2001, 1680: 2001 +} + + +class equipment_list(): + def __init__(self, version: str) -> None: + self.version = version + self.info = get_eq_info_data(version) + self.entry_info = get_entry_info_data(version) + self.suit_info = get_suit_info_data(version) + self.parts = set() + self.load_equ() + self.info_sj = deepcopy(self.info) + self.load_equ_sj() + + def load_equ(self) -> None: + self.equ_list = {} + self.equ_id = {} + self.equ_tuple = () + self.equ_id_tuple = () + for k in self.info.keys(): + temp = equipment(self.info[k]) + i = int(k) + self.equ_list[i] = temp + self.equ_id[temp.名称] = i + self.equ_tuple += (temp, ) + self.equ_id_tuple += (i, ) + self.parts.add(temp.部位) + + def load_equ_sj(self) -> None: + self.equ_list_sj = {} + self.equ_id_sj = {} + self.equ_tuple_sj = () + self.equ_id_tuple_sj = () + for k in self.info_sj.keys(): + # 特殊处理,游戏中取的110装备基础,增幅等按照105装备等级计算 + # if self.info_sj[k]["等级"] == 105 and self.info_sj[k]["品质"] == "史诗": + # self.info_sj[k]["等级"] = 110 + if self.info_sj[k]["品质"] == "史诗": + self.info_sj[k]["神"] = True + info = self.info_sj[k] + temp = equipment(info) + attr = ['力量', '智力', '体力', '精神', '物理攻击力', '魔法攻击力', '独立攻击力'] + for i in attr: + self.info_sj[k][i] = getattr(temp, i) + i = int(k) + self.equ_list_sj[i] = temp + self.equ_id_sj[temp.名称] = i + self.equ_tuple_sj += (temp, ) + self.equ_id_tuple_sj += (i, ) + self.parts.add(temp.部位) + + def get_json(self, i): + temp = self.info[str(i)] + return { + "id": int(i), + "name": temp["名称"], + "icon": temp["icon"], + "part": temp["部位"], + 'type': temp['类型'], + "stable": temp["固有属性"], + "alternative": temp["可选属性"] if "可选属性" in temp else [], + "order": temp["order"] if "order" in temp else 0, + "features": temp["特性"] if "特性" in temp else [], + "rarity": temp["品质"] + } + + def get_equ_by_id(self, id, sj=False) -> equipment: + if sj: + return self.equ_list_sj.get(int(id), equipment()) + else: + return self.equ_list.get(int(id), equipment()) + + def get_equ_by_name(self, name, sj=False) -> equipment: + return self.get_equ_by_id(self.equ_id.get(name, 0), sj) + + def get_id_by_name(self, name) -> int: + return self.equ_id.get(name, 0) + + def get_equ_list(self) -> List[equipment]: + return self.equ_tuple + + def get_equ_id_list(self) -> List[int]: + return self.equ_id_tuple + + def get_entry_atk_by_id(self, id) -> int: + return self.entry_info.get(str(id), {}).get('attack', 0) + + def get_entry_buff_by_id(self, id) -> int: + return self.entry_info.get(str(id), {}).get('buff', 0) + + def get_entry_params_by_id(self, id) -> int: + return self.entry_info.get(str(id), {}).get('params', []) + + def get_entry_template_by_id(self, id) -> int: + return self.entry_info.get(str(id), {}).get('template', None) + + def get_damagelist_by_idlist(self, idlist, customize: Dict[str, List[int]] = {}, fusion_list=[], merge: Dict[str, List[int]] = {}) -> List[tuple]: + damagelist = [] # (部位, 序号, 基础伤害,类型,index) + # 1 有成长 -1 无成长 + # 序号说明 + # 0~9 成长属性 + # 10~19 固定属性 + # 20~29 贴膜属性 + # 30~39 词条融合 + for id in idlist: + i = self.get_equ_by_id(id) + temp = [] + if len(i.可选属性) > 0: + temp = customize.get(str(id), []) + num = 0 + for k in i.成长属性 + temp: + damagelist.append(( + i.部位, + num, + self.get_entry_atk_by_id(k), + self.get_entry_buff_by_id(k), + self.get_entry_params_by_id(k), + 1, + k + )), + num += 1 + pass + if i.部位 == "武器": + num = 30 + for j in merge: + damagelist.append(( + '武器', + num, + self.get_entry_atk_by_id(j), + self.get_entry_buff_by_id(j), + self.get_entry_params_by_id(j), + -1, + j + )) + num += 1 + for id in fusion_list: + i = self.get_equ_by_id(id) + temp = [] + if len(i.可选属性) > 0: + temp = list(filter(lambda x:x>0,customize.get(str(id), []))) + num = 20 + for k in i.固有属性 + temp: + damagelist.append(( + i.部位, + num, + self.get_entry_atk_by_id(k), + self.get_entry_buff_by_id(k), + self.get_entry_params_by_id(k), + -1, + k + )) + num += 1 + return damagelist + + def get_fusion_by_idlist(self, idlist) -> List[tuple]: + damagelist = [] # (部位, 序号, 基础伤害) + for id in idlist: + i = self.get_equ_by_id(id) + num = 0 + for k in i.固有属性: + damagelist.append(( + i.部位, + num, + self.get_entry_atk_by_id(k), + self.get_entry_buff_by_id(k))) + num += 1 + pass + return damagelist + + def set_func_chose(self, choseinfo) -> None: + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + variable_set = entry.variable_set + for i in choseinfo.keys(): + id = int(i) + if id >= 20000 and id in variable_set.keys(): # 额外选项,参数设置 + try: + variable_set[id](choseinfo[i]) + except Exception: + pass + # else: + # id 错误 + + def get_func_by_id(self, id) -> Function: + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + entry_func_list = entry.entry_func_list + func_list = entry_func_list.get(int(id), entry_func_list[0]) + return func_list + + def get_func_list_by_idlist(self, char) -> List[Function]: + temp = [] + for id in char.装备栏: + i = self.get_equ_by_id(id) + cus = [] + if len(i.可选属性) > 0: + cus = char.自定义词条.get(str(id), []) + index = 0 + for k in i.成长属性 + cus: + temp.append((k, i.部位, index, 1,id,0)) # 词条id 部位 部位序号(用于获取成长词条等级) + index += 1 + index = 30 + mer = char.武器融合.get(str(id), []) + for k in mer: + temp.append((k, i.部位, index, -1,id,0)) + index += 1 + index = 10 + for k in i.固有属性: + temp.append((k, i.部位, index, -1,id,0)) # 词条id 部位 部位序号(非成长词条无序号) + index += 1 + for id in char.融合列表: + i = self.get_equ_by_id(id) + index = 20 + cus = [] + if len(i.可选属性) > 0: + cus = list(filter(lambda x:x>0,char.自定义词条.get(str(id), []))) + for index2,k in enumerate(i.固有属性 + cus): + temp.append((k, i.部位, index, -3,id,index2)) # 词条id 部位 部位序号(非成长词条无序号) + index += 1 + for id in char.特性列表: + # 类型 -2 特性 + if id is not None and int(id) >= 20000: + temp.append((int(id), '', -1, -2,id,0)) + for id in char.suits: + if id is not None and int(id) > 30000: + temp.append((id, '', -1, -1,id,0)) + pass + # 词条优先级排序 + temp.sort(key=(lambda x: priority.get(x[0], 100))) + funclist = [] + for k, part, index, type,id,positon in temp: + funclist.append(( + self.get_func_by_id(int(k)), + part, + index, + k, + type, + id, + positon + )) + return funclist + + def get_chose_set_info(self) -> List[tuple]: + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + entry_chose = entry.entry_chose + info = [] + entry_chose.sort() + # for i in entry_func_list.keys(): + # temp = entry_func_list[i] + # if len(temp) > 1: + # ctext = [] + # for k in temp: + # ctext.append(k(text=True)) + # info.append((i, ctext)) + return info + entry_chose + + def get_chose_set(self, mode=0, alter="") -> List[Dict]: + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + multi_select = entry.multi_select + if mode == 1: + setinfo = {} + defaule_set = { + "20000": [75], + "20042": [0], + "20074": [0], + "20113": [16], + "20165": [1], + "20183": [1], + "20189": [0], + "20194": [0], + "20216": [0], + "20253": [0], + "20351": [0, 2, 3, 6, 8], + "20813": [0], + "20814": [0], + "20840": [22], + "21050": [0], + "21127": [0], + "21261": [0], + "31283": [0, 2], + "31286": [3], + "31287": [3], + "31288": [3], + "31289": [4], + "31292": [30], + "31334": [5], + "20037": [5], + "31465": [0], + "20990": [6], + "20948": [0], + "31666": [10], + "30223": [0] + } + for i in self.get_chose_set_info(): + if i[2] == "" or i[2] in alter: + setinfo[i[0]] = defaule_set.get(str(i[0]), [0]) + else: + setinfo = [] + for i in self.get_chose_set_info(): + if i[2] == "" or i[2] in alter: + setinfo.append({ + "id": i[0], + "selectList": i[1], + "multi-select": multi_select.get(i[0], True) + }) + return setinfo + + def get_asrahan(self): + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + return entry.asrahan_effect + + def get_funs_info(self, type, char): + try: + entry = importlib.import_module( + "core.equipment.entry_{}".format(self.version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0") + return entry.get_info(type, char) + + +def get_global_data(name="", version="0", defa=None): + try: + entry = importlib.import_module( + "core.equipment.entry_{}.params".format(version)) + except Exception: + entry = importlib.import_module("core.equipment.entry_0.params") + if hasattr(entry, name): + attr = getattr(entry, name) + return attr() if attr.__class__.__name__ == "function" else attr + else: + return defa + + # def set_equ_customize(self, customize): + # for key in customize.keys(): + # self.get_equ_by_id(key).成长属性 = customize[key] + # print(self.get_equ_by_id(key).成长属性,customize[key]) + + +global equ0 +equ0 = equipment_list("0") +# equ1 = equipment_list("1") + +# global equ1 +# equ1 = equipment_list("1") + + +def get_equ(version="0"): + if version is None or version == "": + version = "0" + try: + temp = eval("equ{}".format(version)) + except Exception: + temp = equ0 + return temp + + +def reload_equ(): + global equ0 + equ0 = equipment_list("0") diff --git a/api/core/basic/monster.py b/api/core/basic/monster.py new file mode 100644 index 00000000..4efca1b9 --- /dev/null +++ b/api/core/basic/monster.py @@ -0,0 +1,85 @@ + +monster_data = { + "0": { + "id": 0, + "name": "120沙袋(绿)", + "防御": 443243, + "火抗": 0, + "冰抗": 0, + "光抗": 0, + "暗抗": 0 + }, + "1": { + "id": 1, + "name": "130沙袋", + "防御": 506109, + "火抗": 0, + "冰抗": 0, + "光抗": 0, + "暗抗": 0 + }, + "2": { + "id": 2, + "name": "140巴卡尔", + "防御": 3025925, + "火抗": 20, + "冰抗": 20, + "光抗": 20, + "暗抗": 20 + }, + "3": { + "id": 3, + "name": "雾神“雾”", + "防御": 3025925, + "火抗": 20, + "冰抗": 20, + "光抗": 20, + "暗抗": 20 + } +} + +scene_data = { + "0": { + "id": 0, + "name": "修炼道场", + "防御系数": 1, + "系统奶系数": 0, + "系统奶基数": 0 + }, + "1": { + "id": 1, + "name": "巴卡尔攻坚战", + "防御系数": 40, + "系统奶系数": 3.08, + "系统奶基数": 3916 + }, + "2": { + "id": 2, + "name": "雾神攻坚战", + "防御系数": 80, + "系统奶系数": 3.08, + "系统奶基数": 3916 + } +} + + +def get_monster_data(id): + return monster_data.get(str(id), { + "id": 2, + "name": "140巴卡尔", + "防御": 3025925, + "火抗": 20, + "冰抗": 20, + "光抗": 20, + "暗抗": 20 + }) + + +def get_scene_data(id): + return scene_data.get(str(id), { + "id": 1, + "name": "巴卡尔攻坚战", + "防御系数": 40, + "系统奶系数": 3.08, + "系统奶基数": 3916 + }) diff --git a/api/core/basic/property.py b/api/core/basic/property.py new file mode 100644 index 00000000..00fa6b8b --- /dev/null +++ b/api/core/basic/property.py @@ -0,0 +1,316 @@ +from typing import Union +from xmlrpc.client import Boolean + +from core.basic.skill import 主动技能, 技能, 被动技能 + + +class CharacterProperty: + + 评分: float = 0 + + 类型: str + + 适用属性: str = "智力" + + def 基础属性加成(self, + 物理攻击力=0.00, 魔法攻击力=0.00, 独立攻击力=0.00, 三攻=0.00, + 力量=0.00, 智力=0.00, 力智=0.00, 体力=0.00, 精神=0.00, 体精=0.00, 四维=0.00, + 物理暴击率=0.00, 魔法暴击率=0.00, 暴击率=0.00, + 攻击速度=0.00, 施放速度=0.00, 移动速度=0.00, 三速=0.00, 火属性抗性=0, 光属性抗性=0, 冰属性抗性=0, 暗属性抗性=0, 所有属性抗性=0, 所有异常抗性=0, 所有职业异常抗性=0, 进图力量=0.00, 进图智力=0.00, **kwargs): + 物理攻击力 += 三攻 + 魔法攻击力 += 三攻 + 独立攻击力 += 三攻 + + 力量 += 力智 + 四维 + 进图力量 + 智力 += 力智 + 四维 + 进图智力 + 体力 += 体精 + 四维 + 精神 += 体精 + 四维 + + 物理暴击率 += 暴击率 + 魔法暴击率 += 暴击率 + + if (self.类型 == "辅助"): + if (self.适用属性 == '体力'): + if (体力 > 0): + self.评分 += 体力 * 15 + elif (self.适用属性 == '精神'): + if (精神 > 0): + self.评分 += 精神 * 15 + elif (self.适用属性 == '智力'): + if (智力 > 0): + self.评分 += 智力 * 15 + elif (self.类型 == "物理百分比"): + if 力量 > 0: + self.评分 += 力量 * 5 + if 物理攻击力 > 0: + self.评分 += 物理攻击力 * 10 + if 物理暴击率 > 0: + self.评分 += 物理暴击率 + elif (self.类型 == "魔法百分比"): + if 智力 > 0: + self.评分 += 智力 * 5 + if 魔法攻击力 > 0: + self.评分 += 魔法攻击力 * 10 + if 魔法暴击率 > 0: + self.评分 += 魔法暴击率 + elif (self.类型 == "物理固伤"): + if 力量 > 0: + self.评分 += 力量 * 5 + if 独立攻击力 > 0: + self.评分 += 独立攻击力 * 10 + if 物理暴击率 > 0: + self.评分 += 物理暴击率 + elif self.类型 == "魔法固伤": + if 智力 > 0: + self.评分 += 智力 * 5 + if 独立攻击力 > 0: + self.评分 += 独立攻击力 * 10 + if 魔法暴击率 > 0: + self.评分 += 魔法暴击率 + pass + + def 攻击强化加成(self, x=0): + if self.类型 != "辅助": + self.评分 += x * 1000 + pass + + def 百分比攻击强化加成(self, x=0.0): + if self.类型 != "辅助": + self.评分 = (self.评分 + 2000) * (1 + x * 1000) + + def 技能攻击力加成(self, x=0, 辟邪玉加成=1, 适用累加=1, part='', show=True): + if self.类型 != "辅助": + self.评分 = (self.评分 + 2000) * (1 + x * 2000) + + def 辅助属性加成(self, buff固定力智=0, buff百分比力智=0.0, buff固定三攻=0, buff百分比三攻=0.0, 觉醒固定力智=0, 觉醒百分比力智=0.0, buff量=0, 百分比buff量=0.0): + if self.类型 == '辅助': + self.评分 += buff固定力智 + self.评分 *= 1.0 + buff百分比力智 + self.评分 += buff固定三攻 + self.评分 *= 1.0 + buff百分比三攻 + self.评分 += 觉醒固定力智 + self.评分 *= 1.0 + 觉醒百分比力智 + self.评分 += buff量 / 100 + self.评分 *= 1.0 + 百分比buff量 + + def 技能等级加成(self, 加成类型: str, min: int, max: int, lv: int, exc=[],excName=[]) -> None: + if self.类型 == "辅助": + if 加成类型 == '主动': + if min < 30 and max >= 30: + self.评分 += 2000 * (lv + 1) + if min <= 50 and max >= 50: + self.评分 += 1000 * (lv + 1) + + if 加成类型 == '所有': + self.评分 += 1000 * (lv + 1) + + self.评分 += 100 * (lv + 1) + pass + + def 评分开始(self): + self.评分 = 0 + + def 评分结束(self): + 评分 = self.评分 + self.评分 = 0 + return 评分 + # def get_skill_by_name(self, name) -> 技能 | 主动技能 | 被动技能: + + def get_skill_by_name(self, name) -> Union[技能, 主动技能, 被动技能]: + pass + + def 已穿戴神话(self): + pass + + def 穿戴低于105(self): + pass + + def 获取强化等级(self, part=[]): + pass + + def 获取改造等级(self, part=[]): + pass + + def check_fun_by_id(self, id: int) -> Boolean: + pass + + def check_equ_by_name(self, name: str) -> Boolean: + pass + + # region 词条属性 + + def set_eq_params(self,key,value): + pass + + def get_eq_params(self,key)-> float: + pass + + def 基础精通加成(self, x: float) -> None: + pass + + def 百分比防御减少(self, x: float) -> None: + pass + + def 固定防御减少(self, x: int) -> None: + pass + + def 伤害类型转化(self, 类型1: str, 类型2: str, x: float) -> None: + pass + + def 异常增伤(self, 类型: str, x: float) -> None: + pass + + def 异常抗性加成(self, 类型: str, x: float, mode: int = 1) -> None: + pass + + def 异常抗性获取(self, 类型: str, mode: int = 1) -> float: + pass + + def 属性攻击(self, 类型: str) -> None: + pass + + def 所有异常抗性加成(self, x: float) -> None: + pass + + def 条件技攻加成(self, 类型: str, x: float) -> None: + pass + + def 条件冷却加成(self, 类型: str, x: float) -> None: + pass + + def 条件冷却恢复加成(self, 类型: str, x: float) -> None: + pass + + def 指令效果加成(self, 类型: str, x: float) -> None: + pass + + def 指令技攻加成(self, x: float, min=1, max=100, exc=[50, 85, 100],excName=[]) -> None: + pass + + def MP消耗量加成(self, x: float) -> None: + pass + + def buff量加成(self, x: float) -> None: + pass + + def 附加伤害加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 持续伤害加成(self, x: float) -> None: + pass + + def 属性附加加成(self, x: float) -> None: + pass + + def 暴击伤害加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 伤害增加加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 最终伤害加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 百分比力智加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 百分比三攻加成(self, x: float, 辟邪玉加成=1) -> None: + pass + + def 火属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + pass + + def 冰属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + pass + + def 光属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + pass + + def 暗属性强化加成(self, x: float, 辟邪玉加成=1, mode=0) -> None: + pass + + def 所有属性强化加成(self, 所有属性强化=0, 火属性强化=0, 冰属性强化=0, 光属性强化=0, 暗属性强化=0, 辟邪玉加成=1, mode=0) -> None: + if self.类型 != '辅助': + 光属性强化 += 所有属性强化 + 暗属性强化 += 所有属性强化 + 火属性强化 += 所有属性强化 + 冰属性强化 += 所有属性强化 + self.评分 += max(光属性强化, 暗属性强化, 火属性强化, 冰属性强化) * 100 + pass + + def 火属性抗性加成(self, x: int) -> None: + pass + + def 冰属性抗性加成(self, x: int) -> None: + pass + + def 光属性抗性加成(self, x: int) -> None: + pass + + def 暗属性抗性加成(self, x: int) -> None: + pass + + def 所有属性抗性加成(self, x: int) -> None: + pass + + def 攻击速度增加(self, x: float, part: str = '') -> None: + pass + + def 攻击速度(self) -> float: + pass + + def 移动速度增加(self, x: float) -> None: + pass + + def 施放速度增加(self, x: float) -> None: + pass + + def 所有速度增加(self, x: float, part: str = '') -> None: + pass + + def 命中率增加(self, x: float) -> None: + pass + + def 回避率增加(self, x: float) -> None: + pass + + def 物理暴击率增加(self, x: float) -> None: + pass + + def 魔法暴击率增加(self, x: float) -> None: + pass + + def 暴击率增加(self, x: float) -> None: + pass + + def buff技能等级加成(self, LV: int, lv: int) -> None: + pass + + def 特殊主动等级加成(self, Lv: int, lv: int) -> None: + pass + + def 技能获取(self, min: int, max: int, exc=[]) -> None: + pass + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + pass + + def 加算冷却缩减(self, x: float) -> None: + pass + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + pass + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + pass + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + pass + + def __所有属性强化(self, x: float) -> None: + pass + + def 斗神宠物加成(self, x: float) -> None: + pass + + # endregion diff --git a/api/core/basic/skill.py b/api/core/basic/skill.py new file mode 100644 index 00000000..c483e263 --- /dev/null +++ b/api/core/basic/skill.py @@ -0,0 +1,278 @@ +from core.equipment.property import 武器MP系数, 武器冷却惩罚 + + +角色等级 = 110 + + +class 技能: + 名称 = '' + 备注 = '' + 所在等级 = 0 + 等级上限 = 0 + 等级 = 0 + 基础等级 = 0 + 等级溢出 = 0 + 自定义描述 = 0 + 学习间隔 = 1 + 等级精通 = 60 + + 倍率 = 1.0 + + 关联技能 = ['无'] + 关联技能1 = ['无'] + 关联技能2 = ['无'] + 关联技能3 = ['无'] + 非关联技能 = ['无'] + 非关联技能1 = ['无'] + 非关联技能2 = ['无'] + 非关联技能3 = ['无'] + 冷却关联技能 = ['无'] + 冷却关联技能1 = ['无'] + 冷却关联技能2 = ['无'] + 冷却关联技能3 = ['无'] + 冷却类型 = 0 + 冷却类型1 = 0 + 冷却类型2 = 0 + 冷却类型3 = 0 + 非冷却关联技能 = ['无'] + 非冷却关联技能1 = ['无'] + 非冷却关联技能2 = ['无'] + 非冷却关联技能3 = ['无'] + + MP = [0, 0] + 手搓 = False + 手搓收益 = 1.0 + 手搓指令数 = 0 + 无色消耗 = 0 + 技能栏位置 = -1 + + def 等级加成(self, x, char={}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + # if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: + # self.等级溢出 = 1 + else: + self.等级 += int(x) + + def TP等级加成(self, x, char={}): + pass + + def 物理攻击力倍率(self, 武器类型): + return 1.0 + + def 魔法攻击力倍率(self, 武器类型): + return 1.0 + + def 独立攻击力倍率(self, 武器类型): + return 1.0 + + def 物理攻击力倍率进图(self, 武器类型): + return 1.0 + + def 魔法攻击力倍率进图(self, 武器类型): + return 1.0 + + def 独立攻击力倍率进图(self, 武器类型): + return 1.0 + + def MP消耗(self, **argv): + pass + + def 基础等级计算(self): + if self.基础等级 == 0: + self.基础等级 = min(int((角色等级 + 5 - self.所在等级) / self.学习间隔 + 1), + self.等级精通) + + def 加成倍率(self, 武器类型): + return 1.0 + + def 加成描述(self, 武器类型): + return [round((self.加成倍率(武器类型) - 1)*100, 1), ",".join(self.关联技能), ",".join(self.非关联技能)] + + def 加成倍率1(self, 武器类型): + return 1.0 + + def 加成描述1(self, 武器类型): + return [round((self.加成倍率1(武器类型) - 1)*100, 1), ",".join(self.关联技能1), ",".join(self.非关联技能1)] + + def 加成倍率2(self, 武器类型): + return 1.0 + + def 加成描述2(self, 武器类型): + return [round((self.加成倍率2(武器类型) - 1)*100, 1), ",".join(self.关联技能2), ",".join(self.非关联技能2)] + + def 加成倍率3(self, 武器类型): + return 1.0 + + def 加成描述3(self, 武器类型): + return [round((self.加成倍率3(武器类型) - 1)*100, 1), ",".join(self.关联技能3), ",".join(self.非关联技能3)] + + def CD缩减倍率(self, 武器类型): + return 1.0 + + def CD缩减描述(self, 武器类型): + return [round((1-self.CD缩减倍率(武器类型))*100, 1), ",".join(self.冷却关联技能), ",".join(self.非冷却关联技能)] + + + def CD缩减描述1(self, 武器类型): + return [round((1-self.CD缩减倍率1(武器类型))*100, 1), ",".join(self.冷却关联技能1), ",".join(self.非冷却关联技能1)] + + def CD缩减倍率2(self, 武器类型): + return 1.0 + + def CD缩减描述2(self, 武器类型): + return [round((1-self.CD缩减倍率2(武器类型))*100, 1), ",".join(self.冷却关联技能2), ",".join(self.非冷却关联技能2)] + + def CD缩减倍率3(self, 武器类型): + return 1.0 + + def CD缩减描述3(self, 武器类型): + return [round((1-self.CD缩减倍率3(武器类型))*100, 1), ",".join(self.冷却关联技能3), ",".join(self.非冷却关联技能3)] + + +class 主动技能(技能): + # 如果需要继续扩展,可以在各自职业类内继承后自行扩展,同时需要重写下等效百分比函数 + # 固伤在填写基础及成长的时候需要注意,技能面板/独立得到的成长及数值需要*100 + CD = 0.0 + CDR = 1.0 + CD固定缩减 = 0 + CDR_O = 1.0 + TP成长 = 0.0 + TP上限 = 0 + TP等级 = 0 + 是否主动 = 1 + 是否有伤害 = 1 + 恢复 = 1.0 + 倍率 = 1.0 + 技攻 = 1.0 + 被动倍率 = 1.0 + 基础施放次数 = 0 + 演出时间 = 0 + 是否有护石 = 0 + 武器倍率 = {} + 形态 = [] + 国服特色 = 1.0 + + data0 = [] + hit0 = 1 + power0 = 1 + + 感电data0 = [] + 感电hit0 = 0 + 感电power0 = 1 + + 灼伤data0 = [] + 灼伤hit0 = 0 + 灼伤power0 = 1 + + 中毒data0 = [] + 中毒hit0 = 0 + 中毒power0 = 1 + + 出血data0 = [] + 出血hit0 = 0 + 出血power0 = 1 + + def __init__(self) -> None: + super().__init__() + # self.倍率 = 1.0 + + def TP等级加成(self, x, char={}): + if self.TP等级 != 0: + self.TP等级 = min(self.TP等级+x, self.TP上限+2) + + def 形态变更(self, 形态, char): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + pass + + def TP加成(self): + return 1 + self.TP成长 * self.TP等级 + + def 基础百分比(self, 类型, 等级): + if 类型 == '直伤': + name = '' + else: + name = 类型 + 百分比 = 0.0 + for i in range(0, 8): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + power = getattr(self, '{}power{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power + return 百分比 * self.国服特色 + + def 武器百分比修正(self, 武器类型): + return self.武器倍率.get(武器类型, 1.0) + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + + self.形态变更(形态, char) + 等级 = min(self.等级 + 额外等级, self.等级上限) + + if 等级 == 0: + return 0 + + 百分比 = self.基础百分比(伤害类型, 等级) + + return 百分比 * self.TP加成() * self.技攻 * self.倍率 * 额外倍率 * self.武器百分比修正(武器类型) + + def 武器CD系数(self, 武器类型, 输出类型): + return 武器冷却惩罚(武器类型, 输出类型) + + def 手搓CD(self): + cdr = 0 + if self.手搓: + if self.所在等级 >= 15 and self.所在等级 <= 30: + cdr = 0.01 * self.手搓收益 + if self.所在等级 >= 35 and self.所在等级 <= 70: + cdr = 0.02 * self.手搓收益 + if self.所在等级 >= 75 and self.所在等级 <= 100: + cdr = 0.05 * self.手搓收益 + if self.所在等级 in [50, 85, 100]: + cdr = 0.05 * self.手搓收益 + return cdr + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + 额外恢复 = argv.get('额外恢复', 0) + cdr = self.手搓CD() + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + self.形态变更(形态, char) + + return max(0,round(max(self.CD * self.CDR * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3) * self.CDR_O, 1) - self.CD固定缩减 / ((self.恢复 + 额外恢复) if not 面板显示 else 1) ) + + def MP消耗(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复=True + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外倍率 = argv.get('额外倍率', 1.0) + if self.MP is None: + self.MP = [0, 0] + if self.等级上限 > 1: + mpnum = int(self.MP[0] + (self.等级 - 1) * + (self.MP[1] - self.MP[0]) / (self.等级上限 - 1)) + else: + mpnum = self.MP[0] + return round(mpnum * 武器MP系数(武器类型, 输出类型) * 额外倍率, 0) + + +class 被动技能(技能): + 是否主动 = 0 + 是否有伤害 = 0 + 关联技能 = ['所有'] diff --git a/api/core/characters/HF/__init__.py b/api/core/characters/HF/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/core/characters/TYF/__init__.py b/api/core/characters/TYF/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/core/characters/__init__.py b/api/core/characters/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/core/characters/agent.py b/api/core/characters/agent.py new file mode 100644 index 00000000..df38c6a2 --- /dev/null +++ b/api/core/characters/agent.py @@ -0,0 +1,473 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "连续射击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 292] + 无色消耗 = 0 + data0 = [0, 1209, 1334, 1456, 1579, 1704, 1825, 1948, 2069, 2194, 2316, 2437, 2561, 2684, 2806, 2930, 3053, 3176, 3298, 3422, 3544, 3668, 3791, 3913, 4034, 4158, 4281, 4404, 4527, 4651, 4773, 4896, 5019, 5141, 5263, 5386, 5509, 5633, 5754, 5878, 6001, 6124, 6246, 6371, 6492, 6614, 6737, 6861, 6983, 7107, 7230, 7352, 7474, 7599, 7722, 7844, 7969, 8088, 8211, 8333, 8458, 8580, 8703, 8827, 8949, 9071, 9196, 9318, 9440, 9561, 9686] + hit0 = 2 + data1 = [0, 1613, 1776, 1942, 2105, 2268, 2432, 2596, 2760, 2923, 3089, 3252, 3415, 3579, 3743, 3907, 4069, 4232, 4399, 4563, 4726, 4890, 5054, 5217, 5380, 5546, 5709, 5873, 6036, 6201, 6365, 6527, 6692, 6856, 7020, 7183, 7346, 7510, 7673, 7838, 8001, 8167, 8329, 8493, 8657, 8820, 8984, 9148, 9311, 9476, 9640, 9804, 9968, 10130, 10295, 10457, 10621, 10785, 10950, 11113, 11276, 11441, 11604, 11769, 11931, 12097, 12260, 12423, 12587, 12751, 12916] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "迅步突袭" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + # 二觉被动缩减1秒 + CD = 5 + MP = [12, 500] + 无色消耗 = 0 + data0 = [0, 3811, 4199, 4585, 4972, 5358, 5746, 6132, 6518, 6906, 7292, 7678, 8066, 8451, 8839, 9225, 9613, 9998, 10387, 10772, 11158, 11547, 11932, 12320, 12706, 13093, 13479, 13867, 14253, 14639, 15027, 15413, 15799, 16187, 16573, 16960, 17346, 17733, 18119, 18507, 18894, 19280, 19668, 20054, 20440, 20827, 21214, 21600, 21988, 22373, 22761, 23147, 23535, 23920, 24307, 24694, 25080, 25468, 25854, 26243, 26628, 27015, 27401, 27788, 28175, 28561, 28948, 29335, 29722, 30109, 30494] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '特工秘技' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.1 + 0.02 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = "双弦斩" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 292] + 无色消耗 = 0 + data0 = [0, 1599, 1761, 1922, 2085, 2247, 2408, 2571, 2736, 2895, 3059, 3221, 3385, 3545, 3708, 3871, 4032, 4194, 4358, 4519, 4681, 4843, 5005, 5167, 5329, 5494, 5655, 5818, 5979, 6141, 6305, 6467, 6628, 6791, 6953, 7114, 7277, 7440, 7602, 7763, 7926, 8088, 8251, 8413, 8575, 8737, 8899, 9061, 9224, 9386, 9549, 9709, 9872, 10036, 10196, 10359, 10522, 10685, 10846, 11009, 11172, 11333, 11495, 11658, 11819, 11983, 12144, 12306, 12469, 12630, 12792] + hit0 = 1 + data1 = [0, 2398, 2641, 2885, 3129, 3371, 3615, 3858, 4102, 4344, 4588, 4832, 5075, 5318, 5562, 5805, 6050, 6292, 6536, 6780, 7023, 7267, 7508, 7752, 7996, 8239, 8482, 8725, 8969, 9213, 9455, 9698, 9941, 10185, 10428, 10671, 10916, 11159, 11402, 11646, 11889, 12134, 12375, 12619, 12863, 13106, 13349, 13592, 13837, 14081, 14324, 14567, 14810, 15053, 15297, 15539, 15783, 16026, 16270, 16513, 16756, 17000, 17243, 17485, 17729, 17972, 18216, 18458, 18702, 18947, 19190] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '小太刀精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.040 + 0.01 * self.等级, 5) + if self.等级 > 10: + return round(1.150 + 0.02 * (self.等级 - 10), 5) + + +class 技能5(主动技能): + 名称 = "月光挥斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [15, 300] + 无色消耗 = 0 + data0 = [0, 2765, 3044, 3325, 3605, 3888, 4168, 4449, 4729, 5010, 5289, 5570, 5851, 6131, 6412, 6692, 6974, 7254, 7534, 7814, 8096, 8376, 8657, 8937, 9217, 9497, 9777, 10060, 10340, 10621, 10901, 11182, 11462, 11742, 12023, 12303, 12584, 12865, 13146, 13426, 13707, 13986, 14268, 14548, 14828, 15109, 15389, 15671, 15950, 16232, 16512, 16793, 17073, 17354, 17634, 17913, 18195, 18475, 18757, 19037, 19318, 19598, 19879, 20159, 20440, 20720, 21000, 21281, 21561, 21843, 22123] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "精准射击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 500] + 无色消耗 = 0 + data0 = [0, 8021, 8834, 9648, 10463, 11276, 12091, 12904, 13718, 14530, 15345, 16159, 16973, 17787, 18600, 19414, 20229, 21041, 21856, 22668, 23482, 24297, 25110, 25925, 26738, 27552, 28365, 29179, 29993, 30807, 31621, 32434, 33248, 34063, 34875, 35690, 36502, 37317, 38131, 38945, 39759, 40573, 41386, 42200, 43013, 43828, 44641, 45456, 46269, 47083, 47897, 48710, 49524, 50337, 51151, 51966, 52779, 53594, 54408, 55221, 56034, 56848, 57662, 58476, 59290, 60104, 60917, 61732, 62544, 63358, 64172] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "满月斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [100, 850] + 无色消耗 = 1 + data0 = [0, 1621, 1786, 1950, 2114, 2280, 2444, 2609, 2774, 2938, 3102, 3267, 3431, 3596, 3761, 3925, 4089, 4254, 4418, 4582, 4748, 4912, 5077, 5241, 5405, 5570, 5734, 5899, 6064, 6228, 6392, 6557, 6721, 6886, 7051, 7215, 7380, + 7544, 7708, 7874, 8039, 8203, 8368, 8532, 8696, 8861, 9026, 9190, 9355, 9519, 9683, 9848, 10012, 10178, 10342, 10506, 10671, 10835, 10999, 11164, 11329, 11493, 11658, 11822, 11986, 12151, 12316, 12480, 12645, 12809, 12973] + hit0 = 3 + data1 = [0, 5946, 6550, 7152, 7756, 8359, 8963, 9567, 10169, 10773, 11376, 11980, 12582, 13186, 13788, 14392, 14995, 15598, 16202, 16805, 17409, 18011, 18615, 19218, 19822, 20425, 21028, 21632, 22235, 22839, 23441, 24045, 24648, 25252, 25855, 26458, + 27062, 27665, 28269, 28871, 29475, 30077, 30681, 31284, 31887, 32491, 33094, 33697, 34300, 34904, 35507, 36111, 36714, 37317, 37921, 38524, 39127, 39730, 40334, 40937, 41541, 42144, 42747, 43351, 43954, 44557, 45159, 45764, 46366, 46970, 47573] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能8(主动技能): + 名称 = "月影秘步" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [60, 850] + 无色消耗 = 1 + data0 = [0, 1012, 1113, 1216, 1320, 1421, 1524, 1628, 1729, 1832, 1935, 2038, 2139, 2243, 2346, 2447, 2551, 2654, 2756, 2859, 2961, 3064, 3165, 3269, 3372, 3473, 3577, 3680, 3782, 3885, 3987, 4090, 4194, 4295, 4398, + 4501, 4603, 4706, 4809, 4911, 5013, 5117, 5220, 5321, 5425, 5527, 5629, 5733, 5835, 5938, 6040, 6143, 6246, 6348, 6451, 6553, 6657, 6759, 6861, 6964, 7066, 7169, 7272, 7374, 7477, 7579, 7683, 7785, 7887, 7991, 8092] + hit0 = 18 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + self.CDR *= 0.85 + + +class 技能9(主动技能): + 名称 = "锁定射击" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 1733, 1909, 2086, 2261, 2437, 2613, 2788, 2965, 3140, 3316, 3493, 3668, 3844, 4020, 4195, 4372, 4548, 4724, 4899, 5076, 5251, 5426, 5604, 5779, 5955, 6131, 6306, 6482, 6659, 6835, 7010, 7187, 7362, 7537, 7714, 7890, + 8066, 8242, 8418, 8593, 8769, 8946, 9121, 9298, 9473, 9648, 9825, 10000, 10177, 10353, 10529, 10704, 10880, 11056, 11231, 11409, 11584, 11759, 11936, 12111, 12287, 12464, 12640, 12815, 12990, 13167, 13342, 13519, 13695, 13871] + hit0 = 12 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.14 + + +class 技能10(主动技能): + 名称 = "枪刃旋杀" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [250, 2500] + 无色消耗 = 2 + data0 = [0, 1603, 1765, 1929, 2091, 2254, 2415, 2579, 2742, 2903, 3067, 3230, 3392, 3554, 3718, 3880, 4043, 4205, 4368, 4531, 4694, 4856, 5019, 5181, 5345, 5506, 5669, 5833, 5995, 6157, 6320, 6483, 6646, 6807, 6971, 7134, 7296, + 7458, 7622, 7784, 7947, 8110, 8272, 8435, 8598, 8760, 8923, 9085, 9249, 9411, 9573, 9737, 9898, 10061, 10224, 10387, 10549, 10712, 10875, 11038, 11199, 11363, 11526, 11688, 11850, 12014, 12176, 12339, 12502, 12664, 12827] + hit0 = 1 + data1 = [0, 1374, 1514, 1654, 1791, 1931, 2071, 2210, 2350, 2490, 2628, 2768, 2908, 3047, 3187, 3327, 3464, 3604, 3744, 3883, 4023, 4162, 4301, 4441, 4581, 4721, 4860, 4999, 5139, 5277, 5417, 5557, 5696, 5835, 5975, 6114, + 6254, 6394, 6532, 6672, 6812, 6951, 7090, 7230, 7368, 7508, 7648, 7788, 7927, 8066, 8206, 8345, 8485, 8625, 8764, 8902, 9042, 9181, 9321, 9461, 9600, 9739, 9879, 10018, 10158, 10298, 10436, 10575, 10715, 10855, 10994] + hit1 = 17 + data2 = [0, 7070, 7788, 8505, 9223, 9941, 10658, 11375, 12092, 12810, 13527, 14245, 14962, 15679, 16397, 17114, 17831, 18548, 19265, 19982, 20702, 21419, 22136, 22853, 23571, 24288, 25005, 25722, 26439, 27156, 27875, 28592, 29309, 30026, 30743, 31462, + 32179, 32896, 33613, 34332, 35049, 35766, 36483, 37200, 37917, 38635, 39352, 40069, 40786, 41505, 42223, 42940, 43657, 44374, 45092, 45809, 46526, 47243, 47961, 48679, 49396, 50113, 50830, 51547, 52264, 52983, 53700, 54418, 55135, 55853, 56570] + hit2 = 2 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 2.07 + self.hit2 = 0 + + +class 技能11(被动技能): + 名称 = '使命觉悟' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "噬血绝杀" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 7403] + 无色消耗 = 5 + data0 = [0, 37959, 46762, 55565, 64367, 73169, 81971, 90774, 99577, 108378, 117181, 125983, 134786, 143587, 152390, 161194, 169996, 178798, 187600, 196403, 205205, 214007, 222810, 231612, 240415, 249216, + 258019, 266821, 275623, 284426, 293228, 302031, 310832, 319636, 328438, 337241, 346043, 354845, 363648, 372450, 381252, 390054, 398857, 407660, 416461, 425264, 434066, 442868, 451670, 460474, 469277] + hit0 = 2 + + def 等效百分比(self, **argv): + if self.等级 >= 9: + return super().等效百分比(**argv) * 1.1 + return super().等效百分比(**argv) + + +class 技能13(主动技能): + 名称 = "终极锁定" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 7439, 8193, 8948, 9702, 10457, 11211, 11966, 12721, 13476, 14230, 14985, 15739, 16494, 17248, 18003, 18757, 19512, 20266, 21021, 21775, 22530, 23284, 24039, 24793, 25548, + 26303, 27058, 27812, 28567, 29321, 30076, 30831, 31585, 32341, 33095, 33850, 34604, 35359, 36113, 36868, 37622, 38378, 39132, 39887, 40641, 41395, 42149, 42904, 43658, 44413] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4.6 + self.倍率 *= 1.16 + self.CDR *= 0.90 + + +class 技能14(主动技能): + 名称 = "月相轮舞" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 6857, 7553, 8249, 8945, 9640, 10336, 11031, 11727, 12422, 13118, 13813, 14509, 15205, 15901, 16596, 17292, 17987, 18684, 19379, 20075, 20770, 21467, 22162, 22858, 23553, + 24249, 24945, 25641, 26336, 27032, 27727, 28424, 29119, 29815, 30510, 31206, 31902, 32598, 33293, 33989, 34685, 35381, 36076, 36772, 37467, 38164, 38859, 39555, 40250, 40946] + hit0 = 2 + data1 = [0, 7752, 8540, 9327, 10112, 10899, 11687, 12472, 13259, 14045, 14833, 15619, 16405, 17192, 17978, 18765, 19552, 20337, 21125, 21912, 22698, 23484, 24271, 25058, 25844, + 26630, 27418, 28203, 28990, 29777, 30564, 31350, 32137, 32923, 33710, 34496, 35283, 36070, 36856, 37643, 38430, 39215, 40003, 40789, 41575, 42362, 43149, 43936, 44722, 45508, 46296] + hit1 = 2 + data2 = [0, 9691, 10674, 11658, 12641, 13623, 14607, 15590, 16573, 17557, 18539, 19523, 20507, 21490, 22474, 23456, 24440, 25423, 26406, 27390, 28373, 29355, 30339, 31322, 32306, + 33289, 34271, 35255, 36238, 37222, 38205, 39187, 40171, 41154, 42137, 43121, 44104, 45087, 46070, 47053, 48037, 49020, 50002, 50986, 51969, 52953, 53936, 54919, 55902, 56885, 57870] + hit2 = 2 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + self.CDR *= 0.90 + + +class 技能15(主动技能): + 名称 = "月光镇魂曲" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 6179, 6807, 7433, 8061, 8687, 9315, 9941, 10569, 11197, 11822, 12449, 13076, 13704, 14330, 14958, 15584, 16212, 16838, 17466, 18092, 18720, 19347, 19973, 20600, 21227, + 21854, 22481, 23108, 23735, 24362, 24989, 25616, 26243, 26870, 27498, 28124, 28751, 29377, 30005, 30631, 31259, 31885, 32513, 33139, 33767, 34395, 35021, 35649, 36275, 36903] + hit0 = 9 + data1 = [0, 23836, 26256, 28674, 31092, 33511, 35929, 38347, 40765, 43184, 45603, 48021, 50440, 52858, 55276, 57695, 60113, 62532, 64949, 67369, 69786, 72205, 74623, 77042, 79460, 81878, 84296, + 86715, 89133, 91552, 93970, 96389, 98806, 101225, 103643, 106062, 108480, 110899, 113317, 115735, 118153, 120572, 122990, 125409, 127826, 130246, 132663, 135082, 137499, 139919, 142338] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 6 + self.power0 = 1.64 + self.power1 = 1.75 + + +class 技能16(被动技能): + 名称 = '冷酷杀意' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "毁灭狂欢" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [600, 5000] + 无色消耗 = 5 + data0 = [0, 6639, 7313, 7986, 8661, 9334, 10007, 10682, 11355, 12030, 12703, 13376, 14050, 14724, 15397, 16071, 16744, 17418, 18092, 18765, 19439, 20112, 20786, 21460, 22133, 22807, + 23480, 24156, 24829, 25502, 26176, 26849, 27523, 28197, 28870, 29544, 30217, 30891, 31565, 32238, 32912, 33585, 34259, 34933, 35606, 36279, 36955, 37628, 38302, 38975, 39648] + hit0 = 11 + data1 = [0, 12889, 14197, 15505, 16813, 18120, 19427, 20735, 22043, 23351, 24659, 25967, 27274, 28581, 29889, 31196, 32504, 33813, 35120, 36428, 37736, 39042, 40350, 41658, 42966, + 44273, 45581, 46890, 48197, 49504, 50812, 52120, 53427, 54735, 56043, 57350, 58657, 59966, 61273, 62581, 63889, 65197, 66504, 67812, 69119, 70426, 71734, 73043, 74351, 75658, 76966] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能18(主动技能): + 名称 = "月相天陨" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 5423, 6681, 7939, 9197, 10454, 11713, 12970, 14229, 15485, 16743, 18000, 19259, 20516, 21775, 23032, 24290, 25548, 26806, 28062, 29321, 30578, 31836, 33094, 34352, 35609, + 36868, 38126, 39383, 40642, 41898, 43155, 44414, 45672, 46929, 48188, 49445, 50703, 51961, 53219, 54476, 55734, 56991, 58249, 59507, 60765, 62022, 63281, 64538, 65797, 67054] + hit0 = 21 + data1 = [0, 61333, 75556, 89779, 104001, 118223, 132444, 146667, 160889, 175111, 189334, 203556, 217779, 232002, 246224, 260446, 274668, 288891, 303113, 317335, 331558, 345780, 360003, 374224, 388447, 402669, + 416891, 431114, 445336, 459558, 473780, 488003, 502226, 516448, 530671, 544893, 559115, 573338, 587560, 601781, 616003, 630226, 644449, 658671, 672894, 687116, 701338, 715560, 729783, 744005, 758227] + hit1 = 1 + + +class 技能19(主动技能): + 名称 = "夜影迷踪" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 44059, 48528, 52998, 57468, 61937, 66408, 70877, 75346, 79817, 84286, 88755, 93227, 97696, 102166, 106635, 111105, 115575, 120044, 124514, 128984, 133453, 137925, 142394, 146863, 151333, + 155803, 160272, 164742, 169212, 173682, 178151, 182620, 187092, 191561, 196030, 200501, 204970, 209440, 213910, 218379, 222849, 227319, 231789, 236259, 240728, 245199, 249668, 254137, 258608, 263077] + hit0 = 1 + data1 = [0, 46996, 51764, 56532, 61300, 66067, 70835, 75602, 80370, 85137, 89906, 94673, 99441, 104208, 108976, 113743, 118513, 123280, 128048, 132815, 137583, 142352, 147119, 151887, 156654, 161422, + 166189, 170958, 175725, 180493, 185260, 190029, 194796, 199565, 204332, 209100, 213867, 218635, 223402, 228171, 232938, 237706, 242473, 247241, 252008, 256776, 261546, 266313, 271081, 275848, 280616] + hit1 = 1 + data2 = [0, 55808, 61469, 67131, 72792, 78456, 84117, 89778, 95440, 101101, 106762, 112424, 118087, 123749, 129410, 135071, 140733, 146395, 152056, 157719, 163380, 169042, 174704, 180365, 186027, 191688, + 197351, 203012, 208674, 214336, 219997, 225658, 231320, 236981, 242645, 248306, 253967, 259629, 265290, 270953, 276614, 282276, 287938, 293599, 299262, 304923, 310584, 316246, 321908, 327569, 333232] + hit2 = 1 + + +class 技能20(被动技能): + 名称 = '无暇' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "月夜:终极行动" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 32411, 39928, 47443, 54960, 62474, 69989, 77506, 85021, 92538, 100054, 107570, 115086, 122601, 130116, 137633, 145148, 152665, 160180, 167697, 175211, 182727, 190243, 197759, 205275, 212791, + 220307, 227823, 235338, 242854, 250370, 257886, 265402, 272918, 280434, 287949, 295464, 302981, 310496, 318013, 325528, 333045, 340559, 348076, 355591, 363108, 370623, 378140, 385655, 393172, 400686] + hit0 = 11 + data1 = [0, 152799, 188230, 223662, 259094, 294525, 329958, 365389, 400820, 436253, 471684, 507116, 542549, 577979, 613411, 648842, 684275, 719707, 755137, 790570, 826001, 861433, 896864, 932296, 967728, 1003160, 1038592, + 1074022, 1109455, 1144887, 1180318, 1215751, 1251182, 1286613, 1322046, 1357477, 1392909, 1428341, 1463772, 1499204, 1534635, 1570068, 1605499, 1640930, 1676363, 1711794, 1747226, 1782658, 1818089, 1853521, 1888954] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'agent' + self.名称 = '苍暮·特工' + self.角色 = '枪剑士' + + self.职业 = '特工' + self.武器选项 = ['小太刀'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '小太刀' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) + + def 伤害计算(self): + data = super().伤害计算() + if '锁定射击' in self.护石栏: + skill_dict = data['skills'] + 毁灭狂欢 = skill_dict.get("毁灭狂欢", {}) + 锁定射击 = skill_dict.get("锁定射击", {}) + 毁灭狂欢次数 = 毁灭狂欢.get("count", 0) + 锁定射击次数 = 锁定射击.get("count", 0) + 锁定射击伤害 = 锁定射击.get("damage", 0) + if 锁定射击 != {}: + data['skills']['锁定射击']['count'] += 毁灭狂欢次数/2 + data['skills']['锁定射击']['damage'] += 毁灭狂欢次数/2 * 锁定射击伤害/锁定射击次数 + data['total_data'] += 毁灭狂欢次数/2 * 锁定射击伤害/锁定射击次数 + dps = 0 + for temp in data['skills']: + skill = data['skills'][temp] + try: + dps += (skill['damage']/skill['count'])/skill['cd'] + except Exception: + pass + data['dps'] = dps + return data diff --git a/api/core/characters/assault.py b/api/core/characters/assault.py new file mode 100644 index 00000000..dc9f792b --- /dev/null +++ b/api/core/characters/assault.py @@ -0,0 +1,654 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 +from core.basic.character import Character, equipment, 武器强化计算, 锻造计算 + +class 主动技能(主动技能): + + 上车CDR = 1.0 + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + 额外恢复 = argv.get('额外恢复', 1.0) + + cdr = self.手搓CD() + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + self.形态变更(形态, char) + + return round(max(self.CD * self.CDR * 额外CDR / ((self.恢复+额外恢复) if not 面板显示 else 1) * self.上车CDR * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3)*self.CDR_O, 1) + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 关联技能 = ['瞄准射击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + CD = 6.0 - 1.0 + TP成长 = 0.1 + TP上限 = 7 + 名称 = "超频:压制" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + # 学习诺维尔计划:涅磐后减少1秒 + CD = 6 - 1 + MP = [17, 178] + 无色消耗 = 0 + data0 = [0, 1983, 2183, 2385, 2585, 2787, 2987, 3188, 3390, 3591, 3793, 3994, 4194, 4395, 4597, 4798, 5000, 5200, 5402, 5603, 5803, 6005, 6205, 6407, 6608, 6810, 7011, 7212, 7413, 7613, 7815, 8016, 8217, 8418, 8620, 8821, 9023, 9222, 9423, 9625, 9826, 10028, 10229, 10430, 10631, 10832, 11033, 11235, 11435, 11636, 11838, 12039, 12241, 12441, 12642, 12843, 13045, 13246, 13447, 13648, 13849, 14051, 14251, 14452, 14653, 14855, 15056, 15258, 15459, 15660, 15860] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 电弧能量充能 = 20 + + +class 技能2(主动技能): + 名称 = "烟尘弹" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [300, 322] + 无色消耗 = 0 + data0 = [0, 499, 550, 600, 652, 701, 753, 803, 854, 905, 956, 1006, 1057, 1108, 1158, 1210, 1260, 1311, 1362, 1413, 1463, 1514, 1565, 1615, 1666, 1716, 1767, 1819, 1868, 1920, 1970, 2021, 2071, 2123, 2173, 2224, 2275, 2325, 2377, 2427, 2478, 2528, 2580, 2629, 2681, 2730, 2782, 2833, 2884, 2935, 2985, 3037, 3086, 3138, 3187, 3239, 3290, 3340, 3391, 3442, 3492, 3543, 3594, 3644, 3695, 3747, 3796, 3848, 3899, 3949, 4000] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + 电弧能量充能 = 0 + + +class 技能3(主动技能): + 名称 = '瞄准射击' + 所在等级 = 15 + 等级上限 = 1 + 基础等级 = 1 + data0 = [int(i) for i in [0, 130]] + hit0 = 7 + CD = 3 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能4(被动技能): + 名称 = '合金战士自动手枪精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.12 + 0.02 * self.等级, 3) + + +class 技能5(主动技能): + 名称 = "枪托强击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 315] + 无色消耗 = 0 + data0 = [0, 5081, 5596, 6112, 6627, 7143, 7658, 8174, 8689, 9204, 9720, 10235, 10752, 11268, 11783, 12298, 12814, 13329, 13844, 14360, 14876, 15391, 15906, 16422, 16938, 17452, 17968, 18484, 18998, 19514, 20030, 20547, 21063, 21577, 22093, 22609, 23123, 23639, 24155, 24670, 25185, 25701, 26217, 26732, 27247, 27763, 28278, 28793, 29309, 29826, 30341, 30857, 31372, 31887, 32403, 32918, 33434, 33949, 34465, 34980, 35495, 36011, 36527, 37042, 37557, 38073, 38588, 39104, 39620, 40136, 40652] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 电弧能量充能 = 0 + + +class 技能6(主动技能): + 名称 = "改装榴弹" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 315] + 无色消耗 = 0 + data0 = [0, 3814, 4200, 4587, 4974, 5361, 5748, 6135, 6522, 6909, 7295, 7682, 8070, 8456, 8843, 9230, 9617, 10003, 10391, 10778, 11165, 11551, 11938, 12326, 12713, 13099, 13486, 13873, 14260, 14646, 15034, 15421, 15808, 16194, 16581, 16969, 17356, 17742, 18129, 18516, 18904, 19290, 19677, 20064, 20451, 20837, 21224, 21612, 21999, 22385, 22772, 23159, 23547, 23933, 24320, 24707, 25094, 25480, 25868, 26255, 26641, 27028, 27415, 27802, 28189, 28576, 28963, 29350, 29736, 30124, 30511] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 电弧能量充能 = 0 + + 形态 = ["常规", "步行"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.上车CDR = 1.0 + if 形态 == "步行": + self.上车CDR = 0.7 + + +class 技能7(被动技能): + 名称 = '弱点扫描' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.02 * self.等级, 3) + + +class 技能8(主动技能): + 名称 = "超频:重盾保卫" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [43, 451] + 无色消耗 = 0 + data0 = [0, 7716, 8499, 9281, 10064, 10847, 11631, 12413, 13195, 13979, 14761, 15544, 16327, 17111, 17892, 18675, 19459, 20242, 21024, 21808, 22590, 23372, 24156, 24939, 25722, 26503, 27287, 28070, 28852, 29636, 30418, 31201, 31984, 32767, 33550, 34331, 35115, 35898, 36681, 37464, 38247, 39029, 39813, 40595, 41378, 42162, 42943, 43726, 44509, 45293, 46075, 46857, 47641, 48423, 49206, 49990, 50773, 51554, 52338, 53121, 53903, 54686, 55469, 56252, 57034, 57818, 58601, 59384, 60166, 60949, 61732] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 电弧能量充能 = 30 + + +class 技能9(被动技能): + 名称 = '改造烟尘弹' + 所在等级 = 25 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['烟尘弹'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.2, 3) + + +class 技能10(主动技能): + 名称 = "磁力手雷" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [122, 1024] + 无色消耗 = 0 + data0 = [0, 2402, 2646, 2891, 3135, 3378, 3622, 3865, 4110, 4353, 4597, 4840, 5084, 5330, 5573, 5817, 6060, 6304, 6547, 6791, 7034, 7279, 7523, 7767, 8011, 8254, 8499, 8742, 8986, 9229, 9473, 9717, 9960, 10206, 10449, 10693, 10936, 11180, 11424, 11668, 11912, 12155, 12399, 12643, 12888, 13131, 13375, 13618, 13862, 14105, 14350, 14594, 14837, 15082, 15325, 15569, 15812, 16057, 16300, 16544, 16788, 17031, 17276, 17519, 17764, 18007, 18251, 18494, 18738, 18983, 19226] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + 电弧能量充能 = 0 + + 形态 = ["常规", "步行"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.上车CDR = 1.0 + if 形态 == "步行": + self.上车CDR = 0.7 + + +class 技能11(主动技能): + 电弧能量充能 = 0 + 名称 = "三连霰弹" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [57, 598] + 无色消耗 = 0 + data0 = [0, 1234, 1358, 1484, 1609, 1735, 1859, 1986, 2111, 2235, 2361, 2486, 2611, 2736, 2861, 2986, 3113, 3237, 3363, 3488, 3612, 3738, 3863, 3989, 4113, 4239, 4365, 4489, 4614, 4740, 4865, 4990, 5115, 5240, 5367, 5491, 5617, 5742, 5866, 5992, 6117, 6242, 6368, 6493, 6619, 6744, 6868, 6994, 7119, 7244, 7369, 7495, 7621, 7745, 7870, 7996, 8120, 8246, 8371, 8496, 8622, 8747, 8873, 8998, 9122, 9248, 9373, 9497, 9623, 9749, 9875] + hit0 = 1 + data1 = [0, 1850, 2039, 2226, 2414, 2603, 2790, 2978, 3166, 3353, 3541, 3729, 3916, 4105, 4293, 4480, 4668, 4856, 5044, 5232, 5420, 5607, 5795, 5983, 6170, 6359, 6547, 6734, 6922, 7110, 7297, 7486, 7674, 7861, 8049, 8237, 8424, 8613, 8801, 8989, 9176, 9364, 9552, 9739, 9928, 10116, 10303, 10491, 10680, 10867, 11055, 11243, 11430, 11618, 11806, 11993, 12181, 12370, 12556, 12745, 12934, 13121, 13309, 13497, 13684, 13872, 14060, 14247, 14435, 14623, 14810] + hit1 = 1 + data2 = [0, 3084, 3398, 3711, 4025, 4337, 4650, 4963, 5277, 5590, 5904, 6215, 6528, 6842, 7156, 7467, 7780, 8094, 8407, 8721, 9033, 9346, 9659, 9973, 10285, 10598, 10911, 11224, 11538, 11850, 12164, 12476, 12790, 13102, 13416, 13729, 14043, 14355, 14667, 14981, 15294, 15608, 15920, 16233, 16546, 16860, 17173, 17484, 17798, 18112, 18425, 18738, 19050, 19363, 19677, 19990, 20303, 20616, 20929, 21242, 21556, 21868, 22182, 22494, 22807, 23120, 23433, 23747, 24059, 24373, 24685] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["常规", "步行"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.上车CDR = 1.0 + if 形态 == "步行": + self.上车CDR = 0.7 + + +class 技能12(主动技能): + 名称 = "爆裂飞踢" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [122, 1024] + 无色消耗 = 1 + data0 = [0, 3908, 4305, 4702, 5100, 5496, 5893, 6289, 6685, 7082, 7478, 7875, 8271, 8668, 9064, 9461, 9857, 10255, 10651, 11048, 11444, 11842, 12238, 12635, 13031, 13428, 13824, 14221, 14617, 15013, 15411, 15808, 16204, 16600, 16997, 17393, 17790, 18186, 18583, 18979, 19376, 19772, 20170, 20566, 20964, 21360, 21757, 22153, 22550, 22946, 23343, 23739, 24136, 24532, 24928, 25325, 25721, 26120, 26516, 26913, 27309, 27706, 28102, 28499, 28895, 29292, 29688, 30085, 30481, 30878, 31274] + hit0 = 1 + data1 = [0, 1465, 1614, 1762, 1912, 2060, 2209, 2357, 2506, 2654, 2804, 2952, 3102, 3250, 3399, 3549, 3697, 3846, 3994, 4143, 4291, 4441, 4589, 4738, 4886, 5035, 5184, 5333, 5481, 5630, 5778, 5927, 6076, 6225, 6373, 6522, 6670, 6819, 6968, 7117, 7266, 7414, 7562, 7712, 7861, 8009, 8158, 8306, 8457, 8605, 8754, 8902, 9051, 9199, 9349, 9497, 9646, 9794, 9943, 10091, 10241, 10390, 10538, 10686, 10835, 10985, 11133, 11282, 11430, 11579, 11727] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 电弧能量充能 = 0 + + 形态 = ["常规", "步行"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.上车CDR = 1.0 + if 形态 == "步行": + self.上车CDR = 0.7 + + +class 技能13(主动技能): + 名称 = "超频:机械冲撞" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 13 + MP = [122, 1024] + 无色消耗 = 1 + data0 = [0, 5628, 6200, 6770, 7341, 7912, 8483, 9055, 9625, 10196, 10767, 11339, 11911, 12481, 13052, 13623, 14194, 14764, 15336, 15907, 16478, 17049, 17619, 18191, 18761, 19334, 19905, 20475, 21047, 21617, 22188, 22760, 23330, 23902, 24472, 25043, 25614, 26185, 26758, 27328, 27899, 28470, 29041, 29612, 30183, 30754, 31325, 31896, 32466, 33038, 33609, 34179, 34752, 35322, 35894, 36465, 37035, 37607, 38177, 38749, 39319, 39890, 40462, 41032, 41603, 42174, 42745, 43318, 43888, 44459, 45030] + hit0 = 1 + data1 = [0, 3752, 4132, 4514, 4894, 5274, 5656, 6036, 6418, 6798, 7177, 7559, 7939, 8320, 8701, 9081, 9463, 9843, 10224, 10605, 10985, 11367, 11747, 12126, 12508, 12888, 13269, 13650, 14030, 14412, 14792, 15173, 15554, 15934, 16315, 16696, 17075, 17457, 17837, 18218, 18599, 18979, 19361, 19741, 20122, 20503, 20883, 21264, 21645, 22026, 22406, 22786, 23167, 23548, 23928, 24309, 24690, 25071, 25452, 25832, 26213, 26594, 26974, 27355, 27735, 28116, 28497, 28878, 29258, 29639, 30020] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 电弧能量充能 = 30 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1+0.91+0.32 + self.hit1 = 0 + + +class 技能14(主动技能): + 名称 = "战略轰炸" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [162, 1360] + 无色消耗 = 1 + data0 = [0, 1975, 2174, 2375, 2576, 2777, 2977, 3177, 3378, 3578, 3780, 3979, 4179, 4380, 4580, 4781, 4982, 5182, 5383, 5582, 5782, 5983, 6183, 6385, 6585, 6785, 6986, 7185, 7386, 7587, 7787, 7988, 8188, 8389, 8589, 8788, 8990, 9190, 9390, 9591, 9791, 9992, 10193, 10392, 10593, 10793, 10993, 11194, 11395, 11596, 11796, 11995, 12196, 12396, 12597, 12798, 12998, 13199, 13399, 13598, 13799, 14000, 14201, 14401, 14601, 14802, 15002, 15202, 15403, 15603, 15804] + hit0 = 3 + data1 = [0, 2963, 3263, 3564, 3865, 4165, 4467, 4766, 5067, 5367, 5669, 5969, 6269, 6571, 6871, 7171, 7472, 7773, 8073, 8374, 8675, 8975, 9276, 9576, 9877, 10179, 10478, 10779, 11079, 11381, 11681, 11981, 12283, 12582, 12883, 13184, 13485, 13785, 14086, 14387, 14687, 14987, 15288, 15589, 15891, 16190, 16491, 16791, 17093, 17392, 17693, 17995, 18294, 18595, 18896, 19197, 19497, 19798, 20099, 20399, 20699, 21000, 21301, 21603, 21902, 22203, 22503, 22804, 23104, 23405, 23707] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 电弧能量充能 = 0 + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 2 + self.power0 = 0.89 + self.power1 = 1.29 + self.CDR *= 0.9 + + +class 技能15(主动技能): + 名称 = "雷达扫射" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [285, 2394] + 无色消耗 = 2 + data0 = [0, 1743, 1921, 2098, 2273, 2451, 2628, 2806, 2983, 3158, 3336, 3513, 3691, 3866, 4043, 4221, 4398, 4574, 4751, 4928, 5106, 5283, 5459, 5636, 5813, 5990, 6167, 6344, 6521, 6698, 6874, 7052, 7229, 7405, 7582, 7759, 7937, 8114, 8290, 8467, 8644, 8822, 8999, 9174, 9352, 9529, 9706, 9883, 10059, 10236, 10414, 10590, 10768, 10944, 11121, 11299, 11475, 11653, 11829, 12006, 12183, 12360, 12537, 12714, 12890, 13068, 13245, 13422, 13598, 13775, 13952] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + 电弧能量充能 = 0 + + 形态 = ["常规", "步行"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.上车CDR = 1.0 + if 形态 == "步行": + self.上车CDR = 0.7 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.95 + + +class 技能16(被动技能): + 名称 = '机体复原' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 3) + + +class 技能17(主动技能): + 名称 = '电弧能量释放' + 所在等级 = 48 + 等级上限 = 1 + 基础等级 = 1 + data0 = [0, 10794, 12515, 14237, 15957, 17678, 19399, 21120, 22841, 24561, 26283, 28003, 29724, 31446, 33166, 34887, 36607, 38329, 40050, 41770, 43492, 45212, 46933, 48654, 50375, 52096, 53816, 55537, 57259, 58979, 60700, 62421, 64142, 65863, 67583, 69305, 71025, 72746, 74468, 76188, 77909, 79629, 81352, 83073, 84793, 86515, 88235, 89956, 91678, 93398, 95119] + hit0 = 1 + CD = 1 + + +class 技能18(主动技能): + 名称 = '超频:全领域攻击' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1065, 8946] + 无色消耗 = 5 + data0 = [0, 8324, 10254, 12185, 14113, 16044, 17974, 19903, 21834, 23764, 25695, 27624, 29555, 31485, 33416, 35345, 37276, 39206, 41137, 43066, 44997, 46927, 48858, 50787, 52718, 54648, 56577, 58508, 60438, 62369, 64298, 66229, 68159, 70090, 72019, 73950, 75880, 77811, 79740, 81671, 83601, 85530, 87461, 89392, 91322, 93251, 95182, 97112, 99043, 100972, 102903] + hit0 = 1 + data1 = [0, 4161, 5126, 6092, 7056, 8021, 8987, 9952, 10918, 11882, 12847, 13813, 14777, 15742, 16708, 17673, 18638, 19603, 20568, 21534, 22498, 23463, 24429, 25394, 26358, 27324, 28289, 29254, 30219, 31184, 32150, 33114, 34079, 35045, 36010, 36975, 37940, 38905, 39871, 40835, 41800, 42766, 43730, 44695, 45661, 46626, 47592, 48556, 49521, 50487, 51451] + hit1 = 4 + data2 = [0, 4161, 5126, 6092, 7056, 8021, 8987, 9952, 10918, 11882, 12847, 13813, 14777, 15742, 16708, 17673, 18638, 19603, 20568, 21534, 22498, 23463, 24429, 25394, 26358, 27324, 28289, 29254, 30219, 31184, 32150, 33114, 34079, 35045, 36010, 36975, 37940, 38905, 39871, 40835, 41800, 42766, 43730, 44695, 45661, 46626, 47592, 48556, 49521, 50487, 51451] + hit2 = 1 + data3 = [0, 41620, 51270, 60921, 70572, 80222, 89873, 99525, 109175, 118826, 128478, 138128, 147780, 157431, 167082, 176733, 186383, 196033, 205685, 215336, 224987, 234638, 244289, 253940, 263591, 273242, 282894, 292543, 302194, 311846, 321496, 331147, 340799, 350449, 360100, 369752, 379402, 389054, 398704, 408354, 418006, 427657, 437307, 446959, 456610, 466260, 475912, 485563, 495213, 504864, 514515] + hit3 = 1 + + 电弧能量充能 = 100 + + +class 技能19(主动技能): + 名称 = "超频:电流闪踢" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [356, 996] + 无色消耗 = 1 + data0 = [0, 21340, 23505, 25670, 27835, 29999, 32165, 34329, 36495, 38658, 40824, 42989, 45154, 47320, 49484, 51649, 53814, 55979, 58144, 60309, 62473, 64639, 66803, 68969, 71135, 73298, 75464, 77628, 79794, 81958, 84123, 86288, 88453, 90618, 92783, 94949, 97113, 99278, 101443, 103608, 105773, 107938, 110102, 112268, 114432, 116598, 118762, 120927, 123093, 125257, 127423] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 电弧能量充能 = 50 + 无色消耗 = 1 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.9 + + +class 技能20(主动技能): + 名称 = "堡垒轰击" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [732, 1537] + 无色消耗 = 2 + data0 = [0, 1597, 1759, 1921, 2084, 2245, 2407, 2570, 2731, 2893, 3055, 3218, 3379, 3541, 3704, 3866, 4027, 4190, 4352, 4513, 4676, 4838, 5000, 5162, 5324, 5486, 5649, 5810, 5972, 6135, 6297, 6458, 6620, 6783, 6944, 7106, 7269, 7431, 7592, 7755, 7917, 8079, 8241, 8403, 8565, 8728, 8889, 9051, 9214, 9375, 9537] + hit0 = 30 + TP成长 = 0.1 + TP上限 = 5 + + 电弧能量充能 = 0 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.7 + self.CD = 25 + + +class 技能21(主动技能): + 名称 = "AT-SO步行者" + 备注 = "若选择手动请按照射击发数填入次数;自动的单次为步行者一轮的伤害" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [606, 4696] + 无色消耗 = 3 + data0 = [0, 1251, 1379, 1504, 1632, 1760, 1887, 2012, 2140, 2268, 2395, 2521, 2648, 2776, 2902, 3029, 3156, 3284, 3410, 3537, 3664, 3792, 3918, 4045, 4172, 4299, 4426, 4553, 4680, 4807, 4934, 5061, 5188, 5315, 5442, 5570, 5695, 5823, 5950, 6078, 6203, 6331, 6459, 6586, 6712, 6839, 6967, 7092, 7220, 7347, 7475] + hit0 = 112 + data1 = [0, 707, 780, 851, 923, 994, 1067, 1138, 1210, 1282, 1354, 1426, 1497, 1569, 1640, 1713, 1785, 1856, 1928, 2001, 2072, 2144, 2215, 2288, 2359, 2431, 2503, 2574, 2647, 2718, 2790, 2861, 2934, 3006, 3077, 3149, 3222, 3293, 3365, 3436, 3508, 3580, 3652, 3724, 3795, 3868, 3939, 4011, 4083, 4155, 4227] + hit1 = 0 + + 电弧能量充能 = 0 + CD_min = 20 + 是否有护石 = 1 + + 形态 = ["自动", "手动"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "自动": + self.power0 = 1 + self.power1 = 0 + if 形态 == "手动": + self.power0 = 0 + self.power1 = 1 + + def 装备护石(self, char): + self.CD_min = 30 + # 增加持续时间 + self.hit0 *= 30/20 + # self.hit1 *= 30/20 + # 自爆 + self.data2 = self.data0 + self.hit2 = 11.2 + + +class 技能22(被动技能): + 名称 = '躯体重塑' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 3) + + +class 技能23(主动技能): + 名称 = "炎神攻城炮" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [877, 6577] + 无色消耗 = 5 + data0 = [0, 82195, 90534, 98873, 107211, 115550, 123890, 132228, 140567, 148905, 157245, 165583, 173922, 182260, 190600, 198937, 207276, 215614, 223954, 232292, 240631, 248969, 257309, 265647, 273986, 282326, 290664, 299003, 307341, 315681, 324019, 332358, 340696, 349036, 357374, 365713, 374050, 382390, 390728, 399067, 407405, 415745, 424084, 432422, 440761, 449100, 457439, 465777, 474116, 482455, 490794] + hit0 = 1 + + 是否有护石 = 1 + 电弧能量充能 = 0 + + def 装备护石(self, char): + self.倍率 *= 1.25 + self.CDR *= 0.9 + + +class 技能24(主动技能): + 名称 = '超频:伊奎利斯-MR' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2484, 4968] + 无色消耗 = 10 + data0 = [0, 9535, 11746, 13957, 16169, 18379, 20590, 22802, 25013, 27224, 29434, 31646, 33857, 36068, 38279, 40491, 42701, 44912, 47123, 49335, 51546, 53757, 55968, 58179, 60390, 62601, 64813, 67024, 69234, 71445, 73657, 75868, 78079, 80289, 82501, 84712, 86923, 89135, 91346, 93557, 95767, 97979, 100190, 102401, 104612, 106824, 109034, 111245, 113456, 115668, 117879] + hit0 = 20 + + 电弧能量充能 = 100 + + +class 技能25(主动技能): + 名称 = "超频:音速瞬杀" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1169, 8769] + 无色消耗 = 7 + data0 = [0, 7647, 8423, 9198, 9974, 10751, 11527, 12303, 13079, 13854, 14630, 15407, 16182, 16958, 17733, 18509, 19285, 20061, 20838, 21614, 22389, 23165, 23940, 24716, 25493, 26268, 27044, 27820, 28596, 29372, 30147, 30924, 31700, 32475, 33251, 34026, 34802, 35578, 36355, 37131, 37907, 38682, 39458, 40233, 41010, 41786, 42561, 43337, 44113, 44889, 45665] + hit0 = 4 + data1 = [0, 45887, 50541, 55197, 59852, 64508, 69163, 73819, 78473, 83128, 87784, 92439, 97095, 101749, 106405, 111060, 115716, 120370, 125025, 129681, 134336, 138992, 143647, 148303, 152958, 157611, 162267, 166922, 171578, 176233, 180889, 185544, 190200, 194855, 199509, 204165, 208819, 213475, 218130, 222786, 227441, 232096, 236751, 241406, 246062, 250717, 255373, 260028, 264682, 269338, 273992] + hit1 = 1 + data2 = [0, 76479, 84237, 91996, 99754, 107513, 115271, 123031, 130789, 138549, 146307, 154066, 161824, 169583, 177342, 185101, 192859, 200618, 208376, 216135, 223893, 231653, 239411, 247170, 254929, 262687, 270447, 278205, 285965, 293723, 301482, 309240, 316999, 324757, 332516, 340274, 348034, 355792, 363551, 371309, 379068, 386826, 394587, 402345, 410104, 417862, 425621, 433380, 441138, 448898, 456656] + hit2 = 1 + + 电弧能量充能 = 70 + + +class 技能26(被动技能): + 名称 = '诺维尔计划:涅磐' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能27(主动技能): + 名称 = "超频:末世终结之战" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4002, 8004] + 无色消耗 = 15 + data0 = [0, 51061, 62900, 74742, 86582, 98422, 110262, 122102, 133943, 145783, 157622, 169464, 181304, 193145, 204985, 216824, 228665, 240505, 252347, 264186, 276026, 287867, 299707, 311546, 323387, 335227, 347069, 358909, 370748, 382589, 394429, 406270, 418109, 429950, 441791, 453631, 465472, 477311, 489151, 500992, 512833, 524672, 536513, 548353, 560194, 572033, 583873, 595714, 607555, 619396, 631235] + hit0 = 1 + data1 = [0, 6382, 7862, 9341, 10822, 12301, 13782, 15261, 16742, 18222, 19702, 21183, 22662, 24143, 25622, 27103, 28582, 30063, 31542, 33023, 34503, 35983, 37463, 38943, 40423, 41903, 43383, 44864, 46343, 47824, 49303, 50784, 52263, 53744, 55223, 56704, 58184, 59663, 61142, 62623, 64102, 65583, 67064, 68543, 70024, 71503, 72984, 74463, 75944, 77424, 78904] + hit1 = 12 + data2 = [0, 25531, 31450, 37370, 43290, 49211, 55131, 61051, 66971, 72892, 78811, 84731, 90651, 96571, 102491, 108413, 114333, 120253, 126173, 132092, 138013, 143933, 149853, 155773, 161693, 167614, 173534, 179454, 185373, 191293, 197215, 203135, 209055, 214975, 220895, 226816, 232736, 238655, 244575, 250495, 256416, 262336, 268256, 274176, 280097, 286016, 291937, 297857, 303777, 309697, 315618] + hit2 = 3 + data3 = [0, 255307, 314506, 373708, 432910, 492111, 551313, 610515, 669716, 728917, 788119, 847320, 906522, 965724, 1024925, 1084127, 1143328, 1202529, 1261731, 1320933, 1380134, 1439336, 1498538, 1557738, 1616940, 1676142, 1735342, 1794544, 1853746, 1912948, 1972149, 2031350, 2090551, 2149753, 2208955, 2268156, 2327358, 2386559, 2445760, 2504962, 2564164, 2623366, 2682567, 2741769, 2800970, 2860172, 2919372, 2978574, 3037776, 3096978, 3156180] + hit3 = 1 + data4 = [0, 51061, 62900, 74742, 86582, 98422, 110262, 122102, 133943, 145783, 157622, 169464, 181304, 193145, 204985, 216824, 228665, 240505, 252347, 264186, 276026, 287867, 299707, 311546, 323387, 335227, 347069, 358909, 370748, 382589, 394429, 406270, 418109, 429950, 441791, 453631, 465472, 477311, 489151, 500992, 512833, 524672, 536513, 548353, 560194, 572033, 583873, 595714, 607555, 619396, 631235] + hit4 = 1 + + 电弧能量充能 = 100 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'assault' + self.名称 = '重霄·合金战士' + self.角色 = '神枪手(男)' + self.角色类型 = '输出' + self.职业 = '合金战士' + self.武器选项 = ['自动手枪'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '自动手枪' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 电弧能量释放 = self.get_skill_by_name('电弧能量释放') + 电弧能量释放.等级上限 = 50 + 电弧能量释放.等级 = self.get_skill_by_name('机体复原').等级 + + def set_individuation(self, info): + info['char_optiopns'] = [] + info['char_optiopns'].append({ + "name": '[AT-SO步行者]', + "option": ["手动单轮攻击 {} 次".format(str(i)) for i in range(1, 1000)] + }) + + def 职业特殊设置(self): + self.get_skill_by_name("AT-SO步行者").hit1 = self.get_individuation(0) + 1 + pass + + def 武器计算(self, temp: equipment) -> None: + self.武器类型 = temp.类型 + self.基础属性加成(物理攻击力=temp.魔法攻击力, 魔法攻击力=temp.魔法攻击力, 独立攻击力=temp.独立攻击力) + info = self.打造详情.get(temp.部位, {}) + 攻击力 = 武器强化计算(temp.等级, temp.品质, info.get('cursed_number', 0), temp.类型,'魔法') + 独立攻击力 = 锻造计算(temp.等级, temp.品质, info.get('dz_number', 0)) + + self.打造['武器']['强化攻击力'] = [攻击力, 攻击力, 0] + + self.打造['武器']['锻造加成'][0] = 独立攻击力 + + self.基础属性加成(物理攻击力=攻击力, 魔法攻击力=攻击力, 独立攻击力=独立攻击力) \ No newline at end of file diff --git a/api/core/characters/asura.py b/api/core/characters/asura.py new file mode 100644 index 00000000..9a06b99f --- /dev/null +++ b/api/core/characters/asura.py @@ -0,0 +1,729 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "波动刻印" + 所在等级 = 15 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + CD = 1 + MP = [126, 1380] + 无色消耗 = 0 + data0 = [0, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87] + hit0 = 1 + data1 = [0, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172] + hit1 = 1 + data2 = [0, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, 259] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 20: + return round(1.00 + 0.005 * self.等级, 5) + else: + return round(1.10 + 0.015 * (self.等级 - 20), 5) + + +class 技能1(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + # 基础等级 = 等级 + 关联技能 = ['波动刻印'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能2(主动技能): + 名称 = "地裂·波动剑" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [17, 168] + 无色消耗 = 0 + data0 = [0, 3431, 3779, 4125, 4474, 4822, 5170, 5519, 5866, 6217, 6562, 6911, 7260, 7607, 7956, 8303, 8651, 9000, 9347, 9696, 10043, 10393, 10737, 11087, 11436, 11784, 12131, 12481, 12827, 13176, 13523, 13873, 14220, 14570, 14914, 15264, 15612, 15960, 16309, 16655, 17003, 17351, 17701, 18046, 18397, 18742, 19092, 19440, 19788, 20137, 20486, 20832, 21182, 21528, 21877, 22224, 22574, 22920, 23268, 23616, 23963, 24314, 24661, 25010, 25359, 25704, 26054, 26402, 26749, 27098, 27445] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["地裂", "光翼"] + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '地裂') + char = argv.get('char', {}) + + if 形态 == "地裂": + self.CD = 3 + 等级 = min(self.等级 + 额外等级, self.等级上限) + 等效倍率 = self.基础百分比(伤害类型, 等级) + + return 等效倍率 * self.TP加成() * self.技攻 * self.倍率 * 额外倍率 + if 形态 == "光翼": + self.CD = 1.2 + skill = char.get_skill_by_name("暗天波动眼") + # 额外倍率暂不确定 应该是跟着觉醒走 + return skill.等效百分比(形态=形态, 伤害类型=伤害类型) * self.TP加成() * 额外倍率 + + +class 技能3(主动技能): + 名称 = "鬼印珠" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [95, 980] + 无色消耗 = 0 + data0 = [0, 270, 294, 322, 350, 379, 403, 434, 460, 488, 512, 542, 568, 596, 623, 652, 679, 708, 731, 760, 786, 814, 840, 870, 900, 922, 949, 979, 1008, 1031, 1059, 1089, 1118, 1140, 1170, 1198, 1226, 1251, 1279, 1308, 1337, 1360, 1389, 1415, 1445, 1469, 1497, 1525, 1554, 1576, 1606, 1635, 1662, 1687, 1716, 1744, 1773, 1795, 1826, 1853, 1881, 1906, 1935, 1966, 1991, 2014, 2044, 2073, 2099, 2128, 2152] + hit0 = 18 + data1 = [0, 1210, 1337, 1456, 1576, 1704, 1826, 1949, 2073, 2198, 2318, 2444, 2565, 2686, 2809, 2934, 3055, 3179, 3302, 3424, 3549, 3672, 3792, 3915, 4038, 4164, 4287, 4409, 4532, 4658, 4779, 4899, 5024, 5147, 5268, 5395, 5516, 5637, 5763, 5884, 6005, 6131, 6254, 6376, 6501, 6623, 6745, 6872, 6993, 7112, 7241, 7362, 7483, 7607, 7730, 7852, 7976, 8100, 8222, 8345, 8468, 8591, 8714, 8835, 8959, 9081, 9206, 9328, 9454, 9573, 9698] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # 波动刻印增幅 5印 + 倍率 = 1+0.2 + + +class 技能4(主动技能): + 名称 = "邪光斩" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [65, 616] + 无色消耗 = 0 + data0 = [0, 2814, 3101, 3386, 3673, 3956, 4244, 4528, 4813, 5099, 5386, 5671, 5957, 6243, 6529, 6811, 7100, 7384, 7671, 7956, 8239, 8526, 8814, 9099, 9384, 9668, 9956, 10240, 10526, 10813, 11096, 11383, 11668, 11953, 12240, 12525, 12812, 13097, 13382, 13667, 13953, 14240, 14525, 14808, 15095, 15381, 15669, 15953, 16237, 16524, 16809, 17093, 17382, 17665, 17952, 18237, 18525, 18810, 19094, 19379, 19666, 19950, 20238, 20521, 20809, 21094, 21378, 21664, 21950, 22237, 22521] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '修罗邪光斩' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['邪光斩'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.45 + 0.05 * self.等级, 5) + + +class 技能6(主动技能): + 名称 = "波动爆发" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 7.5 + MP = [65, 630] + 无色消耗 = 0 + data0 = [0, 9668, 11209, 12750, 14293, 15834, 17375, 18918, 20459, 22000, 23542, 25083, 26624, 28168, 29710, 31248, 32789, 34332, 35873, 37414, 38959, 40501, 42042, 43583, 45125, 46666, 48208, 49749, 51291, 52834, 54372, 55915, 57457, 58995, 60539, 62082, 63622, 65164, 66706, 68247, 69788, 71331, 72871, 74414, 75956, 77495, 79038, 80578, 82119, 83662, 85203, 86745, 88287, 89827, 91369, 92911, 94453, 95993, 97537, 99078, 100617, 102159, 103701, 105241, 106783, 108327, 109868, 111409, 112952, 114493, 116034] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '挫折意志' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.13 + 0.02 * self.等级, 5) + + +class 技能8(主动技能): + 名称 = "冰刃·波动剑" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [27, 308] + 无色消耗 = 0 + data0 = [0, 985, 1085, 1185, 1284, 1383, 1484, 1584, 1685, 1783, 1882, 1985, 2087, 2185, 2284, 2382, 2485, 2588, 2687, 2783, 2886, 2988, 3087, 3184, 3282, 3385, 3485, 3586, 3682, 3784, 3886, 3985, 4083, 4183, 4287, 4386, 4484, 4583, 4684, 4789, 4888, 4984, 5085, 5185, 5287, 5386, 5481, 5584, 5686, 5787, 5883, 5983, 6086, 6187, 6284, 6384, 6482, 6588, 6684, 6785, 6884, 6985, 7085, 7187, 7286, 7384, 7486, 7584, 7687, 7783, 7885] + hit0 = 9 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["冰刃", "天照"] + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '冰刃') + char = argv.get('char', {}) + + if 形态 == "冰刃": + self.CD = 3 + 等级 = min(self.等级 + 额外等级, self.等级上限) + 等效倍率 = self.基础百分比(伤害类型, 等级) + + return 等效倍率 * self.TP加成() * self.技攻 * self.倍率 * 额外倍率 + if 形态 == "天照": + self.CD = 2 + skill = char.get_skill_by_name("暗天波动眼") + # 额外倍率暂不确定 应该是跟着觉醒走 + return skill.等效百分比(形态=形态, 伤害类型=伤害类型) * self.TP加成() * 额外倍率 + + +class 技能9(主动技能): + 名称 = "杀意波动" + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + CD = 5 + MP = [268, 2935] + 无色消耗 = 0 + data0 = [0, 482, 499, 514, 531, 547, 561, 579, 593, 610, 625, 641, 659, 671, 688, 702, 717, 735, 749, 768, 782] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + def 等效CD(self, **argv): + return 1 + + +class 技能10(主动技能): + 名称 = "爆炎·波动剑" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [130, 1092] + 无色消耗 = 1 + data0 = [0, 6262, 6896, 7532, 8167, 8802, 9436, 10073, 10707, 11342, 11976, 12609, 13249, 13882, 14517, 15151, 15788, 16424, 17058, 17696, 18328, 18964, 19598, 20236, 20871, 21506, 22141, 22777, 23412, 24044, 24683, 25312, 25951, 26585, 27221, 27854, 28493, 29128, 29761, 30397, 31033, 31667, 32302, 32940, 33574, 34208, 34846, 35481, 36116, 36750, 37384, 38019, 38655, 39293, 39924, 40558, 41195, 41829, 42465, 43102, 43736, 44370, 45005, 45641, 46277, 46912, 47549, 48183, 48819, 49452, 50089] + hit0 = 3 + data1 = [0, 14, 14, 15, 16, 18, 19, 21, 22, 23, 23, 25, 27, 29, 30, 31, 33, 33, 35, 36, 39, 40, 42, 42, 42, 43, 45, 46, 47, 49, 49, 51, 54, 55, 56, 58, 58, 59, 59, 60, 64, 65, 66, 68, 68, 69, 70, 72, 75, 76, 76, 78, 78, 80, 81, 84, 85, 86, 87, 87, 88, 91, 92, 92, 93, 97, 98, 99, 100, 101, 102] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ["爆炎", "闪枪"] + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '爆炎') + char = argv.get('char', {}) + + if 形态 == "爆炎": + self.CD = 15 + 等级 = min(self.等级 + 额外等级, self.等级上限) + 等效倍率 = self.基础百分比(伤害类型, 等级) + + return 等效倍率 * self.TP加成() * self.技攻 * self.倍率 * 额外倍率 + if 形态 == "闪枪": + self.CD = 4.9 + skill = char.get_skill_by_name("暗天波动眼") + # 额外倍率暂不确定 应该是跟着觉醒走 + return skill.等效百分比(形态=形态, 伤害类型=伤害类型) * self.TP加成() * 额外倍率 + + +class 技能11(主动技能): + 名称 = "无双波" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [140, 1176] + 无色消耗 = 1 + data0 = [0, 21723, 23928, 26134, 28336, 30539, 32744, 34947, 37150, 39354, 41561, 43764, 45967, 48168, 50378, 52578, 54783, 56989, 59193, 61395, 63600, 65805, 68009, 70212, 72413, 74622, 76821, 79028, 81231, 83438, 85638, 87844, 90050, 92252, 94455, 96662, 98866, 101069, 103271, 105480, 107681, 109882, 112088, 114291, 116496, 118699, 120904, 123107, 125312, 127515, 129724, 131925, 134130, 136330, 138540, 140740, 142946, 145146, 147354, 149555, 151756, 153965, 156168, 158373, 160575, 162781, 164984, 167189, 169391, 171599, 173800] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能12(主动技能): + 名称 = "邪光波动阵" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 2423, 2666, 2914, 3158, 3404, 3651, 3895, 4140, 4386, 4635, 4878, 5124, 5368, 5615, 5861, 6108, 6351, 6597, 6844, 7089, 7336, 7582, 7828, 8072, 8317, 8561, 8809, 9057, 9302, 9547, 9793, 10038, 10284, 10527, 10774, 11021, 11266, 11514, 11759, 12004, 12248, 12496, 12740, 12986, 13231, 13478, 13725, 13971, 14217, 14461, 14707, 14952, 15197, 15443, 15691, 15935, 16180, 16426, 16672, 16918, 17164, 17408, 17656, 17901, 18146, 18393, 18638, 18883, 19130, 19377] + hit0 = 1 + data1 = [0, 2214, 2436, 2664, 2889, 3111, 3338, 3562, 3786, 4009, 4236, 4457, 4686, 4909, 5135, 5356, 5584, 5810, 6032, 6258, 6482, 6708, 6931, 7157, 7381, 7605, 7831, 8053, 8280, 8503, 8729, 8953, 9180, 9402, 9628, 9851, 10076, 10299, 10525, 10750, 10974, 11200, 11424, 11649, 11873, 12097, 12324, 12545, 12772, 12997, 13222, 13446, 13671, 13895, 14118, 14344, 14570, 14793, 15018, 15243, 15468, 15693, 15917, 16141, 16367, 16589, 16815, 17039, 17265, 17486, 17714] + hit1 = 7 + data2 = [0, 6297, 6935, 7574, 8212, 8853, 9490, 10130, 10769, 11408, 12048, 12685, 13323, 13962, 14602, 15240, 15879, 16519, 17157, 17795, 18434, 19071, 19711, 20350, 20990, 21628, 22267, 22904, 23544, 24184, 24823, 25462, 26102, 26739, 27377, 28017, 28654, 29295, 29934, 30572, 31211, 31850, 32490, 33126, 33767, 34406, 35045, 35684, 36321, 36960, 37601, 38237, 38878, 39515, 40154, 40793, 41432, 42069, 42708, 43348, 43987, 44627, 45265, 45905, 46544, 47184, 47820, 48460, 49099, 49738, 50375] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.15 + 0.09 + self.CDR *= 0.85 - 0.08 + + +class 技能13(主动技能): + 名称 = "不动明王阵" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 1944, 2147, 2340, 2540, 2738, 2934, 3129, 3334, 3525, 3723, 3925, 4121, 4315, 4518, 4713, 4910, 5107, 5307, 5503, 5704, 5904, 6097, 6299, 6492, 6693, 6891, 7088, 7282, 7487, 7680, 7877, 8078, 8275, 8470, 8674, 8866, 9064, 9257, 9463, 9655, 9852, 10051, 10250, 10444, 10645, 10840, 11039, 11237, 11435, 11628, 11832, 12031, 12224, 12428, 12622, 12820, 13020, 13218, 13411, 13615, 13810, 14005, 14204, 14405, 14597, 14801, 14993, 15192, 15392, 15587] + hit0 = 15 + data1 = [0, 14396, 15858, 17319, 18781, 20242, 21698, 23163, 24624, 26082, 27543, 29008, 30465, 31925, 33387, 34850, 36307, 37770, 39230, 40688, 42150, 43613, 45075, 46530, 47994, 49456, 50914, 52375, 53838, 55296, 56758, 58219, 59677, 61140, 62603, 64064, 65520, 66984, 68447, 69903, 71366, 72829, 74284, 75746, 77209, 78672, 80130, 81591, 83052, 84509, 85973, 87435, 88893, 90352, 91816, 93276, 94737, 96197, 97660, 99118, 100580, 102041, 103499, 104962, 106426, 107884, 109343, 110806, 112268, 113724, 115189] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + # 5印不动增幅 + 倍率 = 1 + 0.2 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1+0.16+0.17 + + +class 技能14(被动技能): + 名称 = '心眼' + 所在等级 = 48 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + 关联技能1 = ['地裂·波动剑'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 16: + return round(0.99 + 0.04 + 0.015 * self.等级, 5) + else: + return round(1.23 + 0.04 + 0.02 * (self.等级 - 16), 5) + + def 加成倍率1(self, 武器类型): + return self.地波加成() / self.加成倍率(武器类型) + + def 地波加成(self): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 16: + return round(1.105 + 0.04 + 0.015 * self.等级, 5) + else: + return round(1.345 + 0.04 + 0.02 * (self.等级 - 16), 5) + + +class 技能15(主动技能): + 名称 = "暗天波动眼" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 140 + MP = [1500, 12600] + 无色消耗 = 7 + # 最后天眼爆炸 + data0 = [0, 83639, 103035, 122431, 141827, 161221, 180619, 200013, 219408, 238802, 258199, 277593, 296989, 316383, 335778, 355172, 374569, 393961, 413358, 432753, 452150, 471543, 490939, 510334, 529730, 549126, 568520, 587917, 607311, 626706, 646102, 665496, 684892, 704287, 723683, 743078, 762471, 781868, 801261, 820659, 840050, 859447, 878843, 898239, 917632, 937028, 956424, 975818, 995213, 1014609, 1034005] + hit0 = 1 + # 普通攻击第一击魔法 + data1 = [0, 1521, 1875, 2224, 2580, 2931, 3280, 3635, 3989, 4342, 4694, 5046, 5399, 5750, 6105, 6455, 6809, 7159, 7515, 7868, 8220, 8572, 8924, 9277, 9626, 9984, 10337, 10690, 11042, 11392, 11746, 12098, 12452, 12804, 13159, 13508, 13862, 14216, 14566, 14919, 15270, 15626, 15976, 16331, 16682, 17035, 17386, 17739, 18097, 18446, 18802] + hit1 = 0 + # 普通攻击第二击魔法 + data2 = [0, 1710, 2107, 2504, 2898, 3296, 3693, 4090, 4488, 4880, 5280, 5677, 6071, 6470, 6870, 7265, 7661, 8057, 8456, 8850, 9245, 9644, 10041, 10438, 10835, 11228, 11627, 12026, 12421, 12818, 13213, 13612, 14007, 14403, 14802, 15199, 15595, 15993, 16386, 16785, 17184, 17577, 17975, 18373, 18769, 19166, 19559, 19957, 20356, 20753, 21150] + hit2 = 0 + # 普通攻击第三击魔法 + data3 = [0, 1898, 2339, 2781, 3223, 3664, 4103, 4544, 4986, 5427, 5864, 6307, 6748, 7189, 7629, 8069, 8510, 8953, 9392, 9834, 10274, 10715, 11159, 11597, 12038, 12480, 12918, 13360, 13800, 14241, 14684, 15122, 15564, 16005, 16446, 16887, 17328, 17770, 18209, 18649, 19089, 19534, 19973, 20412, 20854, 21295, 21737, 22178, 22615, 23057, 23499] + hit3 = 0 + # 波动剑 · 刺轮 + data4 = [0, 438, 538, 638, 739, 841, 944, 1043, 1146, 1247, 1348, 1450, 1551, 1652, 1755, 1855, 1955, 2056, 2160, 2261, 2360, 2462, 2566, 2666, 2767, 2870, 2968, 3072, 3173, 3277, 3375, 3475, 3580, 3678, 3780, 3884, 3988, 4084, 4190, 4289, 4389, 4489, 4595, 4696, 4793, 4897, 5002, 5097, 5201, 5304, 5403] + hit4 = 0 + # 波动剑 · 光翼 + data5 = [0, 3963, 4887, 5806, 6725, 7647, 8568, 9483, 10403, 11325, 12246, 13165, 14082, 15003, 15925, 16844, 17764, 18685, 19601, 20523, 21443, 22363, 23286, 24202, 25121, 26041, 26963, 27883, 28801, 29722, 30642, 31562, 32481, 33399, 34321, 35239, 36161, 37080, 38001, 38920, 39839, 40759, 41680, 42600, 43519, 44439, 45361, 46278, 47196, 48118, 49039] + hit5 = 0 + # 波动剑 · 天照 + data6 = [0, 973, 1201, 1428, 1652, 1878, 2104, 2329, 2556, 2784, 3008, 3233, 3461, 3686, 3911, 4140, 4364, 4593, 4817, 5041, 5269, 5496, 5718, 5946, 6174, 6397, 6624, 6850, 7078, 7301, 7527, 7753, 7978, 8208, 8432, 8659, 8884, 9112, 9336, 9564, 9789, 10013, 10241, 10464, 10693, 10919, 11147, 11372, 11598, 11825, 12047] + hit6 = 0 + # 波动剑 · 闪枪 + data7 = [0, 1269, 1563, 1861, 2151, 2447, 2744, 3038, 3333, 3624, 3919, 4215, 4509, 4803, 5098, 5394, 5685, 5982, 6277, 6571, 6864, 7158, 7454, 7747, 8044, 8339, 8634, 8926, 9223, 9514, 9812, 10106, 10402, 10694, 10987, 11283, 11579, 11871, 12167, 12461, 12757, 13048, 13345, 13640, 13935, 14226, 14523, 14816, 15113, 15409, 15700] + hit7 = 0 + + 形态 = ["开眼", "平X"] + + def 形态变更(self, 形态, char: Character): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "开眼": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 0 + self.hit7 = 0 + if 形态 == "平X": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 10 + self.hit5 = 0 + self.hit6 = 0 + self.hit7 = 0 + if 形态 == "光翼": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 1 + self.hit6 = 0 + self.hit7 = 0 + if 形态 == "天照": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 5 + self.hit7 = 0 + if 形态 == "闪枪": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 0 + self.hit7 = 7 + + +class 技能16(主动技能): + 名称 = "极冰·裂波剑" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 20 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 2839, 3129, 3416, 3702, 3991, 4281, 4569, 4855, 5143, 5434, 5718, 6010, 6298, 6582, 6873, 7161, 7449, 7734, 8025, 8314, 8600, 8888, 9178, 9468, 9752, 10043, 10332, 10615, 10907, 11194, 11482, 11770, 12058, 12348, 12636, 12924, 13209, 13501, 13790, 14075, 14365, 14650, 14943, 15228, 15517, 15804, 16091, 16382, 16670, 16961] + hit0 = 3 + data1 = [0, 4212, 4640, 5069, 5496, 5922, 6349, 6777, 7205, 7634, 8063, 8490, 8916, 9344, 9773, 10198, 10626, 11053, 11480, 11910, 12335, 12763, 13191, 13619, 14049, 14474, 14902, 15331, 15758, 16183, 16611, 17038, 17465, 17896, 18324, 18750, 19179, 19605, 20031, 20459, 20890, 21316, 21742, 22168, 22595, 23023, 23449, 23883, 24308, 24737, 25164] + hit1 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.53 + self.power1 = 1.24 + + +class 技能17(主动技能): + 名称 = "极炎·裂波剑" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 4048, 4460, 4871, 5281, 5694, 6102, 6513, 6923, 7336, 7747, 8157, 8569, 8977, 9389, 9799, 10211, 10622, 11032, 11445, 11854, 12264, 12674, 13086, 13497, 13908, 14319, 14729, 15140, 15552, 15963, 16372, 16784, 17195, 17605, 18016, 18427, 18837, 19248, 19661, 20071, 20479, 20891, 21303, 21713, 22125, 22535, 22946, 23355, 23768, 24179] + hit0 = 8 + data1 = [0, 8098, 8919, 9743, 10562, 11384, 12206, 13027, 13851, 14670, 15492, 16314, 17137, 17958, 18778, 19602, 20421, 21243, 22067, 22886, 23708, 24532, 25352, 26174, 26995, 27817, 28639, 29460, 30282, 31102, 31926, 32746, 33567, 34392, 35210, 36034, 36856, 37675, 38498, 39318, 40142, 40962, 41782, 42607, 43427, 44248, 45071, 45892, 46712, 47535, 48358] + hit1 = 4 + + # 灼伤待定 + 灼伤data0 = [0, 139, 147, 163, 175, 190, 207, 219, 235, 244, 259, 275, 286, 301, 317, 327, 345, 353, 371, 386, 398, 412, 421, 439, 453, 466, 482, 492, 509, 525, 533, 549, 560, 576, 593, 605, 621, 628, 646, 662, 673, 688, 699, 713, 730, 741, 756, 768, 783, 801, 809] + 灼伤hit0 = 4 + # bug:灼伤实际伤害只有面板的1/28.16 + 灼伤power0 = 1/28.16 + + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1+1.3+0.28 + self.灼伤hit0 = 4 + + +class 技能18(主动技能): + 名称 = "天雷·波动剑" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 18696, 20590, 22489, 24384, 26280, 28178, 30074, 31975, 33871, 35761, 37658, 39554, 41454, 43353, 45249, 47147, 49041, 50938, 52837, 54730, 56627, 58527, 60420, 62317, 64213, 66112, 68009, 69905, 71804, 73695, 75594, 77491, 79388, 81287, 83184, 85076, 86977, 88870, 90768, 92668, 94563, 96459, 98355, 100253, 102150, 104046, 105944, 107837, 109735, 111633] + hit0 = 5 + data1 = [0, 23368, 25739, 28111, 30481, 32852, 35224, 37594, 39966, 42335, 44705, 47078, 49448, 51819, 54190, 56562, 58932, 61304, 63674, 66047, 68417, 70787, 73156, 75526, 77899, 80270, 82639, 85011, 87383, 89753, 92124, 94496, 96868, 99236, 101609, 103979, 106349, 108721, 111090, 113463, 115833, 118203, 120576, 122947, 125315, 127687, 130059, 132428, 134801, 137170, 139539] + hit1 = 1 + 感电data0 = [0, 119, 131, 142, 156, 169, 181, 189, 204, 217, 226, 242, 254, 266, 275, 287, 300, 311, 323, 335, 351, 360, 371, 385, 396, 409, 423, 432, 446, 458, 470, 482, 494, 504, 519, 530, 542, 554, 565, 578, 591, 603, 614, 627, 640, 651, 664, 675, 686, 700, 713] + 感电hit0 = 6 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1+4.4+0.8 + self.感电hit0 = 1 + + +class 技能19(主动技能): + 名称 = '雷神之息' + 是否主动 = 0 + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + CD = 2.5 + 关联技能 = ['所有'] + 感电data0 = [0, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 20, 20, 21, 23, 23, 26, 26, 27, 27, 27, 29, 32, 32, 34, 35, 35, 36, 36, 37, 39, 39, 42, 44, 44, 46, 46, 46, 47, 47, 48, 50, 50, 52, 54, 54, 56, 58, 58] + 感电hit0 = 1 + + data0 = [0, 6426, 7449, 8472, 9499, 10523, 11545, 12566, 13595, 14619, 15643, 16666, 17688, 18714, 19737, 20761, 21786, 22812, 23833, 24858, 25882, 26907, 27931, 28955, 29979, 31003, 32029, 33052, 34075, 35101, 36125, 37143, 38170, 39194, 40218, 41242, 42266, 43290, 44316, 45338, 46363, 47388, 48411, 49436, 50460, 51484, 52510, 53531, 54557, 55580, 56605] + hit0 = 1 + + def 等效CD(self, **argv): + return 2.5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.06 + 0.02 * self.等级, 5) + + # def 感电加成(self): + # if self.等级 == 0: + # return 1.0 + # else: + # return round(1.186+0.002* self.等级,4) + + +class 技能20(主动技能): + 名称 = "天雷·降魔杵" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 1412, 1555, 1699, 1846, 1985, 2128, 2271, 2416, 2560, 2702, 2846, 2992, 3131, 3273, 3420, 3562, 3705, 3846, 3993, 4136, 4277, 4419, 4565, 4708, 4852, 4996, 5139, 5284, 5424, 5567, 5713, 5855, 5996, 6144, 6284, 6428, 6571, 6715, 6856, 7002, 7144, 7290, 7429, 7573, 7719, 7861, 8005, 8147, 8292, 8436] + hit0 = 16 + data1 = [0, 17849, 19661, 21472, 23283, 25091, 26907, 28720, 30528, 32337, 34149, 35965, 37772, 39588, 41393, 43206, 45019, 46832, 48638, 50448, 52260, 54077, 55883, 57693, 59506, 61317, 63125, 64939, 66755, 68562, 70369, 72182, 73996, 75807, 77612, 79426, 81236, 83051, 84863, 86671, 88482, 90294, 92111, 93914, 95728, 97540, 99350, 101157, 102972, 104784, 106595] + hit1 = 1 + data2 = [0, 49917, 54981, 60044, 65116, 70176, 75238, 80301, 85373, 90434, 95498, 100562, 105622, 110694, 115756, 120817, 125881, 130950, 136014, 141076, 146136, 151206, 156269, 161334, 166397, 171464, 176527, 181591, 186654, 191724, 196787, 201849, 206914, 211982, 217044, 222107, 227170, 232232, 237303, 242364, 247426, 252492, 257555, 262623, 267686, 272750, 277812, 282874, 287944, 293006, 298070] + hit2 = 1 + 感电data0 = [0, 62, 65, 74, 78, 85, 89, 96, 104, 110, 114, 120, 129, 133, 140, 147, 151, 159, 165, 169, 178, 183, 190, 195, 201, 206, 215, 219, 226, 230, 238, 242, 251, 256, 263, 269, 272, 281, 288, 290, 301, 305, 310, 317, 324, 327, 337, 341, 347, 355, 359] + 感电hit0 = 16 + + 形态 = ["终结", "雷针"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "雷针": + self.hit0 = 3*2 + self.hit1 = 0 + self.hit2 = 0 + self.感电hit0 = 6 + if 形态 == "终结": + self.hit0 = 8*2 + self.hit1 = 1 + self.hit2 = 1 + self.感电hit0 = 16 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.48 + self.power2 = 1.48 + # self.护石加成 *= 1.35628 + + +class 技能21(主动技能): + 名称 = "雷神降世:裁决" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [1500, 5000] + 无色消耗 = 10 + data0 = [0, 27271, 33604, 39924, 46256, 52577, 58903, 65229, 71553, 77879, 84208, 90529, 96858, 103181, 109515, 115831, 122161, 128482, 134809, 141135, 147458, 153787, 160108, 166436, 172760, 179090, 185410, 191736, 198066, 204392, 210716, 217042, 223363, 229689, 236016, 242348, 248669, 254992, 261322, 267642, 273968, 280298, 286621, 292945, 299273, 305594, 311926, 318249, 324573, 330899, 337226] + hit0 = 1 + data1 = [0, 49088, 60486, 71862, 83260, 94638, 106026, 117414, 128795, 140182, 151575, 162953, 174344, 185726, 197126, 208496, 219890, 231268, 242654, 254041, 265425, 276817, 288195, 299586, 310968, 322362, 333737, 345126, 356518, 367906, 379288, 390676, 402053, 413440, 424828, 436226, 447603, 458985, 470377, 481755, 493142, 504535, 515918, 527299, 538692, 550068, 561467, 572850, 584233, 595618, 607006] + hit1 = 5 + 感电data0 = [0, 173, 211, 254, 294, 335, 374, 415, 455, 494, 535, 576, 615, 653, 696, 737, 776, 817, 857, 894, 939, 978, 1015, 1056, 1096, 1135, 1178, 1218, 1257, 1297, 1338, 1379, 1420, 1457, 1499, 1539, 1578, 1621, 1658, 1697, 1737, 1780, 1819, 1862, 1900, 1939, 1982, 2022, 2062, 2101, 2139] + 感电hit0 = 25 + + +class 技能22(被动技能): + 名称 = '波动视界:慧眼' + 所在等级 = 95 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "波动慧眼:无为法" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1067, 8000] + 无色消耗 = 7 + data0 = [0, 12815, 14116, 15414, 16715, 18016, 19314, 20615, 21917, 23214, 24515, 25818, 27116, 28415, 29716, 31016, 32317, 33615, 34915, 36216, 37518, 38817, 40117, 41417, 42716, 44017, 45318, 46617, 47916, 49218, 50518, 51819, 53118, 54417, 55717, 57019, 58318, 59617, 60918, 62218, 63517, 64819, 66119, 67416, 68720, 70019, 71318, 72619, 73920, 75219, 76519] + hit0 = 5 + data1 = [0, 192229, 211731, 231233, 250734, 270233, 289734, 309239, 328740, 348239, 367740, 387243, 406744, 426246, 445747, 465248, 484750, 504252, 523752, 543254, 562755, 582258, 601761, 621261, 640761, 660262, 679764, 699267, 718768, 738269, 757769, 777271, 796775, 816274, 835777, 855278, 874780, 894281, 913780, 933285, 952788, 972288, 991791, 1011291, 1030792, 1050294, 1069796, 1089297, 1108799, 1128299, 1147801] + hit1 = 1 + + +class 技能24(主动技能): + 名称 = "波动神诀:万空" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 214480, 264214, 313948, 363681, 413416, 463150, 512885, 562619, 612355, 662087, 711823, 761558, 811292, 861024, 910760, 960494, 1010227, 1059964, 1109700, 1159433, 1209168, 1258901, 1308636, 1358370, 1408106, 1457838, 1507573, 1557308, 1607043, 1656776, 1706512, 1756245, 1805979, 1855712, 1905450, 1955182, 2004917, 2054652, 2104386, 2154119, 2203858, 2253590, 2303324, 2353056, 2402790, 2452527, 2502262, 2551996, 2601731, 2651464] + hit0 = 1 + data1 = [0, 35747, 44036, 52324, 60612, 68901, 77192, 85480, 93770, 102056, 110346, 118637, 126926, 135215, 143502, 151792, 160083, 168373, 176661, 184948, 193238, 201528, 209816, 218107, 226395, 234684, 242971, 251262, 259553, 267839, 276129, 284418, 292704, 300995, 309284, 317575, 325862, 334151, 342443, 350730, 359021, 367310, 375597, 383885, 392176, 400464, 408754, 417043, 425332, 433622, 441909] + hit1 = 6 + data2 = [0, 107238, 132107, 156973, 181841, 206709, 231575, 256441, 281309, 306175, 331043, 355910, 380777, 405646, 430514, 455380, 480248, 505115, 529981, 554848, 579714, 604583, 629449, 654315, 679185, 704053, 728919, 753787, 778652, 803521, 828386, 853254, 878121, 902989, 927853, 952724, 977593, 1002459, 1027327, 1052191, 1077060, 1101927, 1126793, 1151661, 1176529, 1201395, 1226262, 1251130, 1275998, 1300865, 1325730] + hit2 = 2 + data3 = [0, 216949, 267258, 317564, 367873, 418178, 468486, 518792, 569100, 619409, 669717, 720023, 770331, 820638, 870946, 921254, 971560, 1021866, 1072175, 1122482, 1172791, 1223100, 1273404, 1323712, 1374018, 1424327, 1474636, 1524941, 1575250, 1625557, 1675864, 1726173, 1776479, 1826787, 1877095, 1927401, 1977708, 2028016, 2078325, 2128632, 2178938, 2229246, 2279553, 2329861, 2380169, 2430477, 2480782, 2531090, 2581398, 2631706, 2682013] + hit3 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'asura' + self.名称 = '极诣·阿修罗' + self.角色 = '鬼剑士(男)' + self.职业 = '阿修罗' + self.类型 = '输出' + + self.武器选项 = ['太刀', '钝器', '巨剑', '短剑'] + + self.输出类型选项 = ['魔法固伤'] + + self.防具精通属性 = ['智力'] + + self.类型 = '魔法固伤' + self.武器类型 = '短剑' + self.防具类型 = '板甲' + + self.buff = 1.59 + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + + super().__init__(equVersion) + + # def 职业特殊计算(self): + # 雷神之息 = self.get_skill_by_name('雷神之息') + # self.伤害系数['感电'] *= 雷神之息.感电加成() + # self.skills_passive['雷神之息']['info'].append({ + # "type": "倍率", + # "info": [round((雷神之息.感电加成() -1)*100,2), '感电', '无'] + # }) + + def 伤害计算(self): + 额外倍率 = 1.0 + for skill in self.技能队列: + if skill['名称'] == '暗天波动眼': + 额外倍率 = skill['倍率'] + break + if 额外倍率 > 1: + for index in range(0,len(self.技能队列)): + if self.技能队列[index]['名称'] == '地裂·波动剑' and self.技能队列[index]['形态'] == '光翼': + self.技能队列[index]['倍率'] = 额外倍率 + if self.技能队列[index]['名称'] == '冰刃·波动剑' and self.技能队列[index]['形态'] == '天照': + self.技能队列[index]['倍率'] = 额外倍率 + if self.技能队列[index]['名称'] == '爆炎·波动剑' and self.技能队列[index]['形态'] == '闪枪': + self.技能队列[index]['倍率'] = 额外倍率 + return super().伤害计算() \ No newline at end of file diff --git a/api/core/characters/avenger.py b/api/core/characters/avenger.py new file mode 100644 index 00000000..af4c6771 --- /dev/null +++ b/api/core/characters/avenger.py @@ -0,0 +1,877 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 魔化倍率 = 1.0 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.魔化倍率 + + +class 技能0(主动技能): + 名称 = '恶魔之手' + 备注 = '魔化' + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [28, 308] + data0 = [0, 686, 754, 823, 892, 963, 1032, 1101, 1170, 1241, 1310, 1380, 1448, 1519, 1587, 1658, 1725, 1794, 1866, 1935, 2003, 2074, 2142, 2212, 2283, 2350, 2420, 2492, 2559, 2629, 2700, 2768, 2837, 2906, 2975, 3046, 3113, 3185, 3254, 3322, 3393, 3463, 3530, 3601, 3670, 3739, 3809, 3880, 3947, 4018, 4086, 4156, 4225, 4294, 4364, 4434, 4502, 4573, 4642, 4711, 4782, 4851, 4919, 4989, 5060, 5128, 5196, 5267, 5336, 5406, 5475] + hit0 = 1 + data1 = [0, 1369, 1507, 1647, 1786, 1924, 2062, 2204, 2340, 2480, 2619, 2758, 2896, 3037, 3173, 3313, 3450, 3590, 3731, 3867, 4008, 4145, 4285, 4423, 4563, 4700, 4840, 4980, 5118, 5256, 5397, 5535, 5672, 5812, 5950, 6090, 6226, 6368, 6507, 6644, 6783, 6924, 7061, 7200, 7339, 7478, 7617, 7757, 7894, 8034, 8172, 8311, 8449, 8589, 8728, 8866, 9007, 9143, 9284, 9421, 9561, 9700, 9838, 9976, 10118, 10254, 10393, 10533, 10671, 10811, 10948] + hit1 = 1 + 魔化倍率 = 2.24 + CD = 6 * 1.6 + TP成长 = 0.10 + TP上限 = 7 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 2.24 + self.CD = 6 * 1.6 + if 形态 == "常规": + self.魔化倍率 = 1.0 + self.CD = 6 + + +class 技能1(主动技能): + 名称 = "死亡切割" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 * 1.6 + MP = [30, 336] + 无色消耗 = 0 + data0 = [0, 358, 393, 430, 465, 502, 537, 573, 610, 647, 682, 719, 753, 792, 826, 863, 898, 933, 971, 1007, 1044, 1078, 1117, 1150, 1187, 1223, 1260, 1296, 1332, 1368, 1405, 1439, 1476, 1511, 1549, 1585, 1622, 1656, 1694, 1729, 1765, 1801, 1839, 1874, 1910, 1945, 1983, 2019, 2055, 2089, 2127, 2163, 2198, 2236, 2269, 2307, 2343, 2380, 2416, 2451, 2487, 2523, 2559, 2597, 2632, 2669, 2702, 2741, 2776, 2814, 2848] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + 魔化倍率 = 2.25 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 2.25 + self.CD = 5 * 1.6 + if 形态 == "常规": + self.魔化倍率 = 1.0 + self.CD = 5 + + +class 技能2(主动技能): + 名称 = '恶魔之力' + 是否主动 = 0 + 所在等级 = 15 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + data0 = [0, 1279, 1340, 1406, 1468, 1527, 1595, 1654, 1716, 1781, 1843, 1908, 1966, 2027, 2093, 2154, 2214, 2282, 2341, 2402, 2468, 2530, 2589, 2657, 2716, 2778, 2843, 2905, 2964, 3028, 3089] + hit0 = 1 + CD = 1 # 实际无冷却 + TP成长 = 0.1 + TP上限 = 7 + CP倍率 = 0 + + def 等效CD(self, **argv): + return 1.0 + + def 形态变更(self, 形态, char: Character): + if 形态 == "CP": + self.power0 = self.CP倍率 + else: + self.power0 = 1 + +class 技能3(主动技能): + 名称 = "裂地锤" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 * 1.55 + MP = [30, 336] + 无色消耗 = 0 + data0 = [0, 659, 726, 794, 861, 923, 996, 1066, 1130, 1199, 1270, 1334, 1405, 1469, 1542, 1606, 1676, 1744, 1810, 1878, 1949, 2012, 2082, 2150, 2217, 2285, 2357, 2420, 2487, 2555, 2622, 2693, 2759, 2828, 2893, 2963, 3032, 3100, 3166, 3237, 3304, 3372, 3437, 3507, 3574, 3638, 3711, 3779, 3845, 3915, 3979, 4048, 4118, 4182, 4252, 4321, 4389, 4455, 4523, 4591, 4657, 4729, 4796, 4862, 4932, 4999, 5064, 5134, 5201, 5270, 5339] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + 魔化倍率 = 2.0 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 4 + self.魔化倍率 = 2.0 + self.CD = 5 * 1.55 + if 形态 == "常规": + self.hit0 = 3 + self.魔化倍率 = 1.0 + self.CD = 5 + + +class 技能4(被动技能): + 名称 = '镰刀精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + def 等级加成(self, x, char: Character = {}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: + self.等级溢出 = 1 + else: + self.等级 += int(x) + char.暗属性抗性加成(6*x) + char.光属性抗性加成(-3*x) + + +class 技能5(主动技能): + 名称 = "回旋飞镰" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 * 1.5 + MP = [45, 462] + 无色消耗 = 0 + data0 = [0, 1041, 1132, 1228, 1328, 1455, 1535, 1630, 1745, 1835, 1930, 2022, 2138, 2231, 2324, 2427, 2522, 2614, 2726, 2821, 2935, 3029, 3134, 3225, 3317, 3410, 3526, 3630, 3723, 3828, 3918, 4012, 4115, 4209, 4325, 4416, 4523, 4611, 4705, 4811, 4903, 5029, 5120, 5225, 5318, 5410, 5514, 5607, 5702, 5806, 5919, 6012, 6115, 6210, 6314, 6408, 6499, 6602, 6694, 6810, 6901, 7007, 7098, 7203, 7296, 7399, 7493, 7609, 7702, 7803, 7898] + hit0 = 3 + data1 = [0, 612, 676, 742, 803, 863, 928, 993, 1052, 1116, 1181, 1247, 1306, 1371, 1435, 1498, 1562, 1627, 1687, 1753, 1811, 1877, 1938, 2004, 2067, 2133, 2193, 2254, 2319, 2383, 2443, 2510, 2572, 2635, 2697, 2760, 2822, 2889, 2952, 3015, 3079, 3137, 3203, 3264, 3329, 3395, 3455, 3521, 3584, 3647, 3704, 3770, 3833, 3899, 3960, 4025, 4089, 4152, 4216, 4276, 4340, 4400, 4467, 4531, 4594, 4657, 4720, 4782, 4847, 4907, 4973] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + 魔化倍率 = 1.9 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 3 + self.hit1 = 4 + self.魔化倍率 = 1.9 + self.CD = 10 * 1.5 + if 形态 == "常规": + self.hit0 = 5 + self.hit1 = 2 + self.魔化倍率 = 1.0 + self.CD = 10 + + +class 技能6(主动技能): + 名称 = "复仇之刺" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 * 1.6 + MP = [60, 686] + 无色消耗 = 0 + data0 = [0, 4594, 5060, 5525, 5991, 6458, 6923, 7389, 7855, 8322, 8788, 9252, 9718, 10185, 10652, 11119, 11584, 12049, 12514, 12982, 13448, 13913, 14378, 14845, 15310, 15778, 16242, 16708, 17175, 17640, 18108, 18572, 19038, 19505, 19969, 20437, 20900, 21369, 21835, 22299, 22767, 23230, 23699, 24164, 24629, 25095, 25561, 26028, 26495, 26960, 27426, 27891, 28358, 28823, 29290, 29755, 30222, 30687, 31153, 31617, 32085, 32551, 33017, 33483, 33948, 34413, 34881, 35347, 35813, 36279, 36744] + hit0 = 1 + data1 = [0, 6692, 7370, 8048, 8728, 9407, 10084, 10764, 11443, 12118, 12800, 13479, 14158, 14836, 15512, 16192, 16870, 17547, 18230, 18907, 19587, 20265, 20942, 21623, 22301, 22981, 23662, 24336, 25016, 25693, 26373, 27057, 27734, 28409, 29091, 29766, 30443, 31124, 31807, 32484, 33164, 33838, 34520, 35196, 35876, 36558, 37234, 37910, 38593, 39268, 39945, 40630, 41308, 41987, 42664, 43341, 44021, 44698, 45380, 46060, 46735, 47414, 48092, 48771, 49446, 50131, 50807, 51488, 52164, 52842, 53524] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 1 + self.hit1 = 1 + self.CD = 10 * 1.6 + if 形态 == "常规": + self.hit0 = 1 + self.hit1 = 0 + self.CD = 10 + + +class 技能7(被动技能): + 名称 = '恶魔诅咒' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['所有'] + 非关联技能 = ['魔化:末日审判者'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.03 * self.等级, 5) + + +class 技能8(主动技能): + 名称 = "厄运之轮" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 * 1.5 + MP = [180, 1512] + 无色消耗 = 0 + data0 = [0, 1184, 1303, 1423, 1543, 1664, 1784, 1902, 2024, 2142, 2262, 2383, 2503, 2621, 2741, 2861, 2983, 3101, 3222, 3343, 3460, 3581, 3702, 3821, 3941, 4062, 4179, 4300, 4418, 4542, 4661, 4780, 4902, 5020, 5141, 5261, 5381, 5500, 5621, 5738, 5860, 5979, 6101, 6219, 6339, 6459, 6580, 6700, 6818, 6939, 7059, 7178, 7299, 7419, 7537, 7660, 7779, 7898, 8019, 8140, 8257, 8378, 8499, 8619, 8739, 8858, 8979, 9097, 9217, 9338, 9458] + hit0 = 6 + 魔化倍率 = 2.34 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 6 + self.魔化倍率 = 2.34 + self.CD = 16 * 1.5 + if 形态 == "常规": + self.hit0 = 9 + self.魔化倍率 = 1.0 + self.CD = 16 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能9(主动技能): + 名称 = "恶魔之拳" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [300, 2604] + 无色消耗 = 1 + data0 = [0, 319, 351, 383, 416, 447, 481, 514, 545, 579, 610, 643, 674, 706, 737, 771, 804, 836, 868, 899, 933, 964, 997, 1030, 1063, 1093, 1126, 1158, 1191, 1225, 1256, 1287, 1319, 1353, 1384, 1417, 1450, 1482, 1513, 1545, 1579, 1611, 1643, 1674, 1708, 1740, 1772, 1804, 1837, 1867, 1900, 1934, 1966, 1999, 2031, 2063, 2093, 2128, 2160, 2192, 2224, 2257, 2289, 2320, 2351, 2386, 2419, 2449, 2483, 2514, 2547] + hit0 = 10 + data1 = [0, 12307, 13554, 14802, 16050, 17299, 18547, 19794, 21043, 22293, 23541, 24789, 26038, 27284, 28532, 29782, 31030, 32277, 33525, 34775, 36025, 37271, 38520, 39770, 41017, 42264, 43512, 44762, 46010, 47258, 48505, 49755, 51004, 52252, 53501, 54749, 55997, 57245, 58493, 59740, 60991, 62237, 63486, 64735, 65982, 67231, 68480, 69728, 70975, 72224, 73474, 74719, 75969, 77217, 78466, 79713, 80963, 82212, 83458, 84706, 85956, 87206, 88454, 89699, 90949, 92197, 93446, 94693, 95941, 97190, 98439] + hit1 = 1 + data2 = [0, 246, 274, 297, 323, 346, 373, 397, 422, 447, 472, 497, 523, 546, 572, 598, 623, 646, 673, 696, 722, 748, 772, 797, 823, 847, 872, 897, 923, 947, 973, 997, 1021, 1048, 1072, 1097, 1122, 1146, 1172, 1197, 1221, 1247, 1274, 1296, 1322, 1349, 1371, 1398, 1423, 1445, 1473, 1498, 1522, 1547, 1574, 1596, 1622, 1648, 1672, 1698, 1723, 1745, 1773, 1798, 1822, 1847, 1874, 1897, 1922, 1949, 1971] + hit2 = 0 + data3 = [0, 9065, 9985, 10902, 11823, 12743, 13663, 14583, 15502, 16420, 17339, 18260, 19180, 20100, 21018, 21937, 22855, 23777, 24697, 25617, 26536, 27453, 28375, 29294, 30214, 31132, 32052, 32972, 33892, 34811, 35729, 36650, 37570, 38490, 39408, 40328, 41247, 42168, 43086, 44005, 44926, 45847, 46767, 47684, 48603, 49523, 50444, 51362, 52283, 53202, 54120, 55039, 55961, 56880, 57800, 58719, 59638, 60559, 61478, 62397, 63315, 64235, 65155, 66074, 66993, 67912, 68833, 69753, 70671, 71591, 72510] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 10 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "常规": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 10 + self.hit3 = 1 + + def 装备护石(self, char): + self.power0 = 1.1 + self.power1 = 1.1*1.27 + self.power2 = 1.1 + self.power3 = 1.1*1.27 + self.CDR *= 0.85 + + +class 技能10(主动技能): + 名称 = "黑暗之触" + 所在等级 = 40 + 等级上限 = 60 + 学习间隔 = 2 + 等级精通 = 50 + CD = 25 + MP = [300, 2604] + 无色消耗 = 1 + data0 = [0, 1500, 1652, 1805, 1957, 2109, 2261, 2413, 2564, 2718, 2869, 3020, 3174, 3324, 3478, 3629, 3781, 3933, 4085, 4238, 4390, 4542, 4693, 4846, 4998, 5150, 5303, 5455, 5606, 5758, 5911, 6062, 6216, 6367, 6519, 6672, 6823, 6977, 7127, 7279, 7433, 7584, 7736, 7889, 8040, 8190, 8345, 8496, 8648, 8801, 8951, 9105, 9256, 9409, 9562, 9712, 9865, 10017, 10169, 10321, 10473] + hit0 = 3 + data1 = [0, 2625, 2890, 3156, 3423, 3689, 3956, 4221, 4487, 4754, 5020, 5287, 5551, 5819, 6084, 6350, 6616, 6883, 7149, 7416, 7682, 7949, 8213, 8479, 8745, 9012, 9278, 9545, 9811, 10078, 10342, 10609, 10875, 11142, 11408, 11675, 11939, 12206, 12471, 12739, 13004, 13272, 13537, 13803, 14069, 14335, 14602, 14867, 15134, 15400, 15665, 15933, 16197, 16465, 16730, 16998, 17263, 17530, 17796, 18060, 18327] + hit1 = 3 + data2 = [0, 10121, 11146, 12174, 13200, 14226, 15252, 16280, 17306, 18334, 19359, 20386, 21412, 22440, 23466, 24493, 25518, 26546, 27572, 28599, 29625, 30652, 31678, 32706, 33732, 34759, 35784, 36812, 37837, 38865, 39892, 40918, 41944, 42971, 43997, 45025, 46050, 47077, 48104, 49130, 50158, 51184, 52209, 53238, 54263, 55290, 56318, 57344, 58369, 59396, 60423, 61450, 62476, 63504, 64529, 65556, 66582, 67610, 68636, 69662, 70689] + hit2 = 1 + data3 = [0, 1111, 1223, 1337, 1449, 1563, 1674, 1788, 1899, 2013, 2125, 2238, 2351, 2462, 2577, 2688, 2802, 2913, 3027, 3139, 3252, 3365, 3477, 3590, 3702, 3815, 3929, 4041, 4153, 4266, 4378, 4491, 4604, 4716, 4829, 4942, 5054, 5168, 5279, 5392, 5505, 5618, 5730, 5844, 5955, 6067, 6181, 6294, 6406, 6519, 6631, 6744, 6857, 6969, 7084, 7194, 7308, 7420, 7534, 7645, 7758] + hit3 = 0 + data4 = [0, 1944, 2141, 2338, 2536, 2733, 2930, 3127, 3323, 3522, 3718, 3916, 4113, 4311, 4508, 4703, 4901, 5098, 5296, 5494, 5690, 5888, 6083, 6282, 6478, 6676, 6872, 7071, 7268, 7465, 7661, 7858, 8056, 8254, 8450, 8648, 8844, 9042, 9238, 9436, 9632, 9831, 10028, 10225, 10422, 10618, 10816, 11013, 11211, 11408, 11604, 11803, 11998, 12196, 12392, 12591, 12788, 12985, 13182, 13378, 13576] + hit4 = 0 + data5 = [0, 7497, 8257, 9018, 9777, 10538, 11298, 12059, 12819, 13581, 14340, 15101, 15861, 16622, 17382, 18142, 18903, 19664, 20424, 21185, 21944, 22706, 23466, 24227, 24986, 25747, 26507, 27268, 28028, 28789, 29549, 30310, 31071, 31831, 32590, 33352, 34111, 34872, 35633, 36393, 37154, 37914, 38674, 39436, 40194, 40955, 41716, 42477, 43237, 43998, 44758, 45519, 46279, 47040, 47799, 48560, 49320, 50081, 50841, 51602, 52362] + hit5 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 3 + self.hit1 = 3 + self.hit2 = 1 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + if 形态 == "常规": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 3 + self.hit4 = 3 + self.hit5 = 1 + + +class 技能11(主动技能): + 名称 = "黑暗权能" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [350, 2940] + 无色消耗 = 2 + data0 = [0, 3178, 3499, 3823, 4144, 4466, 4788, 5111, 5433, 5755, 6078, 6401, 6721, 7045, 7366, 7689, 8013, 8334, 8657, 8978, 9300, 9623, 9944, 10268, 10590, 10912, 11236, 11556, 11879, 12201, 12524, 12846, 13169, 13491, 13812, 14135, 14458, 14779, 15103, 15424, 15747, 16070, 16391, 16713, 17035, 17358, 17681, 18002, 18326, 18646, 18969, 19292, 19614, 19936, 20259, 20581, 20903, 21225, 21548, 21869, 22192, 22516, 22837, 23158, 23481, 23804, 24126, 24449, 24771, 25093, 25415] + hit0 = 1 + data1 = [0, 14295, 15747, 17197, 18646, 20098, 21548, 22999, 24449, 25899, 27350, 28797, 30248, 31699, 33148, 34599, 36050, 37499, 38951, 40401, 41851, 43301, 44752, 46201, 47651, 49102, 50553, 52002, 53453, 54904, 56354, 57802, 59254, 60704, 62152, 63604, 65054, 66504, 67955, 69405, 70856, 72305, 73756, 75207, 76656, 78108, 79558, 81006, 82458, 83908, 85359, 86807, 88258, 89709, 91158, 92609, 94060, 95509, 96960, 98410, 99859, 101310, 102761, 104211, 105661, 107112, 108562, 110012, 111463, 112914, 114361] + hit1 = 1 + data2 = [0, 14295, 15747, 17197, 18646, 20098, 21548, 22999, 24449, 25899, 27350, 28797, 30248, 31699, 33148, 34599, 36050, 37499, 38951, 40401, 41851, 43301, 44752, 46201, 47651, 49102, 50553, 52002, 53453, 54904, 56354, 57802, 59254, 60704, 62152, 63604, 65054, 66504, 67955, 69405, 70856, 72305, 73756, 75207, 76656, 78108, 79558, 81006, 82458, 83908, 85359, 86807, 88258, 89709, 91158, 92609, 94060, 95509, 96960, 98410, 99859, 101310, 102761, 104211, 105661, 107112, 108562, 110012, 111463, 112914, 114361] + hit2 = 1 + data3 = [0, 2353, 2593, 2832, 3069, 3310, 3548, 3785, 4026, 4264, 4502, 4742, 4980, 5217, 5459, 5697, 5934, 6173, 6413, 6651, 6890, 7129, 7366, 7606, 7846, 8083, 8322, 8562, 8799, 9039, 9277, 9516, 9755, 9993, 10232, 10471, 10710, 10948, 11187, 11426, 11664, 11904, 12142, 12379, 12621, 12859, 13096, 13336, 13574, 13812, 14053, 14291, 14528, 14769, 15007, 15245, 15484, 15724, 15961, 16200, 16440, 16677, 16917, 17156, 17393, 17633, 17873, 18110, 18349, 18587, 18825] + hit3 = 0 + data4 = [0, 10590, 11664, 12739, 13812, 14887, 15961, 17035, 18110, 19184, 20259, 21332, 22406, 23481, 24555, 25629, 26704, 27778, 28853, 29926, 31000, 32075, 33149, 34224, 35298, 36372, 37448, 38521, 39596, 40670, 41744, 42818, 43892, 44966, 46040, 47114, 48189, 49263, 50337, 51412, 52486, 53560, 54634, 55708, 56783, 57857, 58931, 60006, 61080, 62155, 63228, 64301, 65376, 66450, 67525, 68600, 69674, 70748, 71822, 72896, 73971, 75045, 76119, 77194, 78267, 79342, 80416, 81490, 82565, 83639, 84713] + hit4 = 0 + data5 = [0, 10590, 11664, 12739, 13812, 14887, 15961, 17035, 18110, 19184, 20259, 21332, 22406, 23481, 24555, 25629, 26704, 27778, 28853, 29926, 31000, 32075, 33149, 34224, 35298, 36372, 37448, 38521, 39596, 40670, 41744, 42818, 43892, 44966, 46040, 47114, 48189, 49263, 50337, 51412, 52486, 53560, 54634, 55708, 56783, 57857, 58931, 60006, 61080, 62155, 63228, 64301, 65376, 66450, 67525, 68600, 69674, 70748, 71822, 72896, 73971, 75045, 76119, 77194, 78267, 79342, 80416, 81490, 82565, 83639, 84713] + hit5 = 0 + TP成长 = 0.1 + TP上限 = 5 + + power2 = 1.11 + power5 = 1.11 + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + if 形态 == "常规": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + self.hit4 = 1 + self.hit5 = 1 + + def 装备护石(self, char): + self.power2 *= 1.67 + self.power5 *= 1.67 + self.CDR *= 0.9 + + +class 技能12(被动技能): + 名称 = '恶魔唤醒' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 非关联技能 = ['魔化:末日审判者','审判'] + 关联技能2 = ['魔化:末日审判者'] + 关联技能3 = ['审判'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.015 * self.等级, 5) + + def 加成倍率2(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.01 * self.等级, 5) + + def 加成倍率3(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "魔化:末日审判者" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 200 + MP = [1500, 12600] + 无色消耗 = 5 + data0 = [0, 1236, 1419, 1599, 1779, 1960, 2142, 2325, 2503, 2687, 2865, 3050, 3230, 3410, 3590, 3772, 3950, 4132, 4314, 4493, 4673, 4855, 5037, 5216, 5397, 5576, 5759, 5940, 6119, 6300, 6480, 6662, 6842, 7023, 7203, 7386, 7568, 7745, 7928, 8109, 8285, 8470, 8651, 8832, 9012, 9192, 9374, 9554, 9735, 9916, 10096] + hit0 = 0 + data1 = [0, 1479, 1721, 1965, 2208, 2451, 2695, 2937, 3179, 3427, 3669, 3911, 4156, 4397, 4642, 4883, 5126, 5369, 5615, 5856, 6098, 6340, 6586, 6829, 7070, 7311, 7557, 7798, 8044, 8285, 8526, 8773, 9014, 9255, 9501, 9740, 9986, 10230, 10473, 10716, 10958, 11202, 11445, 11688, 11931, 12174, 12416, 12660, 12903, 13147, 13388] + hit1 = 0 + data2 = [0, 2260, 2706, 3152, 3596, 4041, 4488, 4932, 5377, 5825, 6272, 6716, 7162, 7607, 8052, 8498, 8942, 9386, 9834, 10279, 10724, 11169, 11615, 12059, 12503, 12950, 13395, 13841, 14286, 14731, 15174, 15624, 16064, 16510, 16957, 17400, 17844, 18291, 18737, 19184, 19625, 20074, 20518, 20964, 21409, 21854, 22299, 22746, 23190, 23635, 24081] + hit2 = 0 + data3 = [0, 2409, 2895, 3380, 3865, 4346, 4833, 5316, 5801, 6287, 6773, 7254, 7741, 8226, 8711, 9192, 9677, 10160, 10645, 11129, 11614, 12096, 12583, 13067, 13550, 14034, 14519, 15000, 15488, 15969, 16453, 16939, 17420, 17906, 18393, 18873, 19358, 19843, 20325, 20811, 21295, 21781, 22265, 22750, 23233, 23717, 24202, 24686, 25169, 25654, 26138] + hit3 = 0 + data4 = [0, 2376, 2875, 3386, 3886, 4388, 4895, 5396, 5898, 6405, 6906, 7410, 7913, 8416, 8921, 9422, 9924, 10427, 10928, 11435, 11935, 12441, 12941, 13446, 13950, 14450, 14954, 15457, 15963, 16466, 16967, 17472, 17971, 18473, 18979, 19481, 19983, 20487, 20988, 21493, 21996, 22500, 23003, 23506, 24009, 24512, 25016, 25518, 26022, 26524, 27027] + hit4 = 0 + data5 = [0, 2902, 3539, 4187, 4822, 5464, 6104, 6744, 7379, 8024, 8661, 9304, 9942, 10582, 11223, 11861, 12499, 13141, 13779, 14417, 15058, 15698, 16337, 16978, 17616, 18254, 18895, 19535, 20175, 20815, 21453, 22095, 22733, 23373, 24013, 24650, 25289, 25933, 26570, 27209, 27849, 28489, 29129, 29768, 30408, 31048, 31686, 32327, 32967, 33606, 34246] + hit5 = 0 + + 形态 = ["x", "z", "z蓄"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "x": + self.hit0 = 2 + self.hit1 = 2 + self.hit2 = 2 + self.hit3 = 2 + self.hit4 = 0 + self.hit5 = 0 + # self.CD = 1 #有实际CD + if 形态 == "z": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 1 + self.hit5 = 0 + if 形态 == "z蓄": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 1 + # self.CD = 2 #有实际CD + self.power4 = self.power5 = char.get_skill_by_name('原罪之力').加成倍率('') + + 关联技能 = ['所有'] + + def 魔法攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.15 + + +class 技能14(主动技能): + 名称 = "审判" + 所在等级 = 50 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + CD = 145 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 13817, 17022, 20228, 23431, 26636, 29840, 33045, 36250, 39455, 42659, 45863, 49066, 52270, 55473, 58677, 61883, 65087, 68291, 71498, 74698, 77905, 81109, 84314, 87518, 90722, 93927, 97131, 100334, 103537, 106745, 109948, 113152, 116357, 119561, 122765, 125968, 129173, 132378, 135582, 138786, 141991, 145195, 148399, 151604, 154807, 158011, 161215, 164420, 167624, 170828] + hit0 = 1 + data1 = [0, 39330, 48450, 57571, 66690, 75810, 84930, 94049, 103169, 112291, 121410, 130529, 139651, 148768, 157888, 167007, 176129, 185249, 194367, 203489, 212609, 221726, 230847, 239967, 249087, 258207, 267327, 276447, 285569, 294685, 303806, 312928, 322045, 331166, 340289, 349408, 358526, 367644, 376767, 385884, 395005, 404127, 413246, 422366, 431485, 440606, 449725, 458845, 467966, 477085, 486206] + hit1 = 1 + data2 = [0, 6216, 7615, 9048, 10483, 11917, 13348, 14782, 16216, 17648, 19082, 20517, 21948, 23515, 24815, 26249, 27682, 29115, 30550, 31983, 33416, 34849, 36283, 37715, 39149, 40585, 42016, 43450, 44883, 46316, 47749, 49185, 50617, 52050, 53484, 54916, 56350, 57782, 59218, 60651, 62083, 63517, 64950, 66384, 67817, 69249, 70684, 72117, 73551, 74984, 76418] + hit2 = 0 + data3 = [0, 1229, 1515, 1800, 2086, 2370, 2657, 2941, 3227, 3510, 3797, 4080, 4367, 4651, 4936, 5222, 5507, 5793, 6078, 6361, 6647, 6931, 7218, 7503, 7789, 8073, 8359, 8644, 8928, 9212, 9499, 9783, 10069, 10353, 10640, 10923, 11210, 11493, 11782, 12064, 12349, 12635, 12919, 13205, 13489, 13776, 14061, 14346, 14630, 14916, 15201] + hit3 = 0 + data4 = [0, 3826, 4713, 5600, 6488, 7374, 8262, 9148, 10035, 10922, 11807, 12695, 13584, 14470, 15357, 16244, 17131, 18019, 18906, 19791, 20680, 21568, 22453, 23341, 24227, 25113, 26003, 26888, 27773, 28665, 29550, 30436, 31325, 32210, 33098, 33985, 34870, 35760, 36644, 37533, 38421, 39306, 40194, 41081, 41968, 42855, 43743, 44628, 45517, 46404, 47290] + hit4 = 0 + data5 = [0, 14823, 18260, 21699, 25135, 28573, 32010, 35446, 38885, 42321, 45759, 49196, 52633, 56071, 59507, 62945, 66382, 69820, 73256, 76695, 80129, 83569, 87006, 90443, 93881, 97316, 100755, 104190, 107628, 111065, 114504, 117941, 121379, 124815, 128252, 131689, 135126, 138564, 142003, 145439, 148878, 152313, 155750, 159187, 162625, 166062, 169499, 172937, 176373, 179812, 183248] + hit5 = 0 + data6 = [0, 33795, 41643, 49473, 57319, 65154, 73000, 80827, 88679, 96509, 104354, 112187, 120035, 127864, 135712, 143544, 151390, 159219, 167067, 174898, 182744, 190576, 198423, 206251, 214103, 221934, 229780, 237612, 245457, 253288, 261137, 268967, 276814, 284647, 292493, 300321, 308171, 316000, 323847, 331682, 339528, 347362, 355201, 363040, 370879, 378718, 386556, 394396, 402234, 410074, 417914] + hit6 = 0 + 魔化倍率 = 1.1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 1 + self.hit1 = 1 + self.魔化倍率 = 1.1 + if 形态 == "常规": + self.hit0 = 1 + self.hit1 = 1 + self.魔化倍率 = 1.0 + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class 技能15(主动技能): + 名称 = "地狱之门" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [600, 1680] + 无色消耗 = 1 + data0 = [0, 2392, 2634, 2874, 3114, 3358, 3605, 3842, 4084, 4330, 4570, 4813, 5055, 5297, 5541, 5780, 6022, 6267, 6506, 6752, 6993, 7235, 7478, 7723, 7961, 8206, 8446, 8688, 8931, 9175, 9416, 9658, 9901, 10143, 10387, 10628, 10869, 11109, 11356, 11596, 11837, 12082, 12325, 12565, 12810, 13052, 13293, 13538, 13777, 14017, 14265] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + 魔化倍率 = 1.5 + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.5 + if 形态 == "常规": + self.魔化倍率 = 1.0 + + def 装备护石(self, char): + self.hit0 = 9 + self.倍率 *= 1.08 + self.CDR *= 0.88 + + +class 技能16(主动技能): + 名称 = "末日浩劫" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [1200, 2520] + 无色消耗 = 2 + data0 = [0, 34774, 38303, 41832, 45357, 48886, 52414, 55939, 59468, 62998, 66525, 70051, 73580, 77109, 80634, 84162, 87691, 91216, 94746, 98275, 101802, 105329, 108858, 112386, 115912, 119440, 122970, 126495, 130024, 133552, 137078, 140606, 144134, 147662, 151188, 154718, 158248, 161773, 165300, 168830, 172355, 175884, 179412, 182940, 186468, 189996, 193524, 197051, 200578, 204107, 207633] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 魔化倍率 = 1.35 + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.35 + if 形态 == "常规": + self.魔化倍率 = 1.0 + + def 装备护石(self, char): + self.倍率 *= 1.24 + self.CDR *= 0.9 + + +class 技能17(主动技能): + 名称 = "不朽战吼" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 18827, 20736, 22648, 24557, 26467, 28374, 30286, 32197, 34106, 36017, 37927, 39834, 41746, 43655, 45564, 47477, 49386, 51294, 53206, 55114, 57025, 58935, 60843, 62753, 64665, 66574, 68485, 70396, 72303, 74213, 76124, 78034, 79944, 81856, 83762, 85671, 87583, 89493, 91403, 93314, 95220, 97130, 99043, 100952, 102862, 104774, 106683, 108590, 110500, 112413] + hit0 = 0 + data1 = [0, 13181, 14519, 15856, 17193, 18530, 19871, 21206, 22544, 23880, 25220, 26559, 27892, 29231, 30568, 31908, 33243, 34579, 35917, 37252, 38590, 39930, 41265, 42603, 43939, 45277, 46616, 47952, 49289, 50626, 51965, 53302, 54636, 55975, 57312, 58648, 59985, 61325, 62663, 63998, 65336, 66674, 68010, 69347, 70685, 72023, 73361, 74698, 76032, 77371, 78709] + hit1 = 5 + data2 = [0, 4711, 5193, 5671, 6144, 6622, 7101, 7576, 8058, 8535, 9016, 9494, 9971, 10447, 10923, 11404, 11882, 12359, 12842, 13313, 13793, 14272, 14749, 15226, 15708, 16182, 16658, 17137, 17616, 18096, 18573, 19052, 19531, 20006, 20484, 20960, 21437, 21919, 22395, 22870, 23349, 23829, 24307, 24786, 25265, 25742, 26217, 26699, 27175, 27653, 28131] + hit2 = 2 + + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.hit0 = 0 + self.hit1 = 5 + self.hit2 = 2 + if 形态 == "常规": + self.hit0 = 5 + self.hit1 = 0 + self.hit2 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.86 + + +class 技能18(被动技能): + 名称 = '原罪之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + # 这里有个问题,关联技能1中实际应该还有魔化:末日审判者中的恶魔之爪部分,但恶魔之爪没单独拆出来 + 关联技能 = ['所有'] + 非关联技能 = ['恶魔之力'] + 关联技能2 = ['恶魔之力'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.17 + 0.02 * self.等级, 5) + + def 加成倍率2(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.09 + 0.015 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = "毁灭强击" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 8768, 9655, 10546, 11437, 12326, 13213, 14103, 14994, 15885, 16772, 17661, 18552, 19443, 20333, 21219, 22109, 23001, 23889, 24777, 25666, 26555, 27447, 28337, 29225, 30112, 31005, 31895, 32785, 33670, 34561, 35452, 36342, 37228, 38117, 39008, 39899, 40788, 41676, 42566, 43457, 44346, 45234, 46125, 47014, 47904, 48794, 49681, 50570, 51460, 52351] + hit0 = 1 + data1 = [0, 40914, 45065, 49215, 53367, 57514, 61667, 65818, 69970, 74120, 78270, 82421, 86571, 90723, 94874, 99024, 103175, 107326, 111474, 115623, 119778, 123928, 128075, 132230, 136380, 140531, 144682, 148831, 152983, 157134, 161281, 165433, 169587, 173735, 177889, 182038, 186186, 190340, 194491, 198638, 202793, 206943, 211089, 215244, 219392, 223544, 227697, 231844, 235995, 240150, 244294] + hit1 = 1 + data2 = [0, 1752, 1933, 2110, 2288, 2466, 2642, 2819, 3001, 3178, 3355, 3534, 3709, 3887, 4068, 4244, 4424, 4599, 4776, 4957, 5134, 5312, 5490, 5667, 5847, 6024, 6199, 6380, 6558, 6733, 6914, 7090, 7266, 7446, 7624, 7803, 7982, 8157, 8335, 8514, 8693, 8870, 9048, 9224, 9404, 9580, 9759, 9938, 10115, 10291, 10471] + hit2 = 10 + + 魔化倍率 = 1.35 + 是否有护石 = 1 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.35 + if 形态 == "常规": + self.魔化倍率 = 1.00 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能20(主动技能): + 名称 = '永堕:混沌弑神' + 备注 = '追加操作' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 6038, 7438, 8839, 10237, 11639, 13039, 14438, 15839, 17239, 18637, 20040, 21438, 22837, 24237, 25638, 27039, 28436, 29838, 31237, 32637, 34038, 35438, 36837, 38237, 39638, 41038, 42437, 43838, 45238, 46637, 48039, 49438, 50838, 52237, 53639, 55038, 56438, 57839, 59240, 60638, 62040, 63439, 64838, 66238, 67639, 69039, 70437, 71839, 73236, 74638] + hit0 = 1 + data1 = [0, 4329, 5330, 6334, 7336, 8340, 9343, 10347, 11350, 12353, 13356, 14360, 15363, 16368, 17370, 18374, 19377, 20381, 21384, 22387, 23390, 24394, 25397, 26401, 27403, 28407, 29410, 30414, 31417, 32420, 33423, 34427, 35430, 36435, 37437, 38441, 39444, 40448, 41450, 42454, 43457, 44461, 45464, 46467, 47470, 48474, 49477, 50481, 51483, 52487, 53490] + hit1 = 12 + data2 = [0, 10868, 13387, 15909, 18429, 20948, 23467, 25988, 28508, 31029, 33548, 36068, 38588, 41109, 43627, 46148, 48669, 51188, 53707, 56228, 58749, 61268, 63787, 66310, 68829, 71348, 73867, 76389, 78909, 81427, 83946, 86469, 88988, 91508, 94029, 96549, 99067, 101587, 104109, 106629, 109148, 111669, 114188, 116708, 119228, 121749, 124269, 126788, 129308, 131828, 134348] + hit2 = 1 + data3 = [0, 25961, 31982, 38002, 44021, 50041, 56062, 62082, 68102, 74122, 80142, 86161, 92183, 98203, 104222, 110242, 116262, 122283, 128302, 134323, 140342, 146362, 152384, 158403, 164423, 170442, 176463, 182483, 188503, 194523, 200543, 206562, 212584, 218604, 224623, 230643, 236663, 242683, 248703, 254724, 260744, 266763, 272784, 278804, 284824, 290842, 296863, 302882, 308903, 314924, 320942] + hit3 = 2 + + power3 = 1.35 # 追加操作 + 魔化倍率 = 1.35 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.35 + if 形态 == "常规": + self.魔化倍率 = 1.00 + + +class 技能21(主动技能): + 名称 = "极恶洪流" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6000] + 无色消耗 = 7 + data0 = [0, 13909, 15319, 16732, 18142, 19552, 20963, 22373, 23786, 25197, 26605, 28018, 29429, 30840, 32252, 33663, 35072, 36483, 37896, 39305, 40716, 42128, 43538, 44948, 46360, 47772, 49182, 50594, 52004, 53413, 54825, 56238, 57648, 59058, 60468, 61881, 63292, 64702, 66113, 67526, 68937, 70346, 71756, 73168, 74578, 75991, 77403, 78811, 80223, 81634, 83042] + hit0 = 3 + data1 = [0, 62585, 68937, 75284, 81634, 87983, 94334, 100680, 107031, 113380, 119729, 126080, 132426, 138776, 145127, 151475, 157826, 164175, 170523, 176872, 183221, 189571, 195921, 202268, 208617, 214968, 221317, 227666, 234017, 240367, 246713, 253063, 259412, 265763, 272109, 278459, 284810, 291158, 297508, 303856, 310208, 316554, 322903, 329254, 335604, 341951, 348300, 354651, 361000, 367349, 373698] + hit1 = 1 + + power0 = 1.2 # 追加操作 + power1 = 1.2 # 追加操作 + 魔化倍率 = 1.3 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.30 + if 形态 == "常规": + self.魔化倍率 = 1.00 + + +class 技能22(被动技能): + 名称 = '光之影' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "末日福音:毁灭之翼" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 82164, 101217, 120271, 139323, 158375, 177428, 196481, 215535, 234585, 253638, 272692, 291745, 310796, 329849, 348903, 367955, 387009, 406059, 425113, 444166, 463219, 482270, 501324, 520377, 539429, 558481, 577536, 596586, 615640, 634690, 653745, 672798, 691850, 710903, 729956, 749010, 768060, 787114, 806168, 825219, 844271, 863324, 882378, 901430, 920482, 939535, 958589, 977640, 996694, 1015746] + hit0 = 1 + data1 = [0, 41083, 50609, 60136, 69661, 79188, 88713, 98240, 107767, 117293, 126820, 136347, 145870, 155398, 164924, 174450, 183979, 193504, 203030, 212557, 222083, 231610, 241135, 250661, 260190, 269714, 279241, 288769, 298294, 307821, 317344, 326872, 336399, 345924, 355452, 364979, 374503, 384031, 393556, 403085, 412610, 422135, 431662, 441189, 450715, 460242, 469769, 479295, 488820, 498345, 507873] + hit1 = 1 + data2 = [0, 102705, 126521, 150337, 174153, 197970, 221785, 245601, 269415, 293232, 317049, 340865, 364680, 388496, 412312, 436127, 459944, 483760, 507575, 531392, 555208, 579022, 602839, 626654, 650471, 674287, 698103, 721918, 745734, 769551, 793365, 817182, 840999, 864814, 888630, 912444, 936261, 960075, 983893, 1007708, 1031524, 1055341, 1079155, 1102972, 1126786, 1150603, 1174418, 1198236, 1222051, 1245866, 1269683] + hit2 = 1 + data3 = [0, 184871, 227741, 270607, 313476, 356344, 399214, 442082, 484950, 527817, 570688, 613556, 656425, 699292, 742160, 785030, 827899, 870766, 913636, 956504, 999373, 1042240, 1085109, 1127980, 1170847, 1213715, 1256583, 1299453, 1342321, 1385190, 1428057, 1470926, 1513795, 1556663, 1599532, 1642400, 1685269, 1728137, 1771005, 1813875, 1856745, 1899611, 1942480, 1985348, 2028219, 2071086, 2113954, 2156822, 2199690, 2242560, 2285429] + hit3 = 1 + + 魔化倍率 = 1.4 + CD = 290.0 + + 形态 = ["魔化", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "魔化": + self.魔化倍率 = 1.4 + if 形态 == "常规": + self.魔化倍率 = 1.0 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'avenger' + self.名称 = '神启·复仇者' + self.角色 = '圣职者(男)' + self.角色类型 = '输出' + self.职业 = '复仇者' + # 用来筛CP武器的 + self.转职 = '复仇者' + self.武器选项 = ['镰刀'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '镰刀' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.90 + + super().__init__(equVersion) + + def 职业特殊计算(self): + # 审判等级绑定 + 审判 = self.get_skill_by_name('审判') + 审判.等级上限 = 50 + 审判.等级 = self.get_skill_by_name('魔化:末日审判者').等级 + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + CP武器 = self.check_fun_by_id(695) + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + if CP武器: + if (item['name'] in ['黑暗权能', '不朽战吼', '毁灭强击', '极恶洪流']) or (item['name'] in ['厄运之轮', '恶魔之拳', '地狱之门'] and item['name'] in self.护石栏): + self.技能队列.append({ + '名称': '恶魔之力', + '无色消耗': 0, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': 'CP' + }) + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + 镰刀精通 = self.get_skill_by_name("镰刀精通") + self.暗属性抗性加成(6*镰刀精通.等级) + self.光属性抗性加成(-3*镰刀精通.等级) diff --git a/api/core/characters/battle_mage.py b/api/core/characters/battle_mage.py new file mode 100644 index 00000000..8c98d70c --- /dev/null +++ b/api/core/characters/battle_mage.py @@ -0,0 +1,618 @@ +from core.basic.character import Character, equipment, 武器强化计算, 锻造计算 +from core.basic.skill import 主动技能, 被动技能 +# class 主动技能(主动技能): +# def 等效CD(self, 武器类型, 输出类型): +# if 武器类型 == '矛': +# return round(self.CDR / self.恢复 * 1.05, 1) +# if 武器类型 == '棍棒': +# return round(self.CDR / self.恢复 * 0.95, 1) + +class 主动技能(主动技能): + 国服特色 = 1/0.95 + +class 技能0(主动技能): + 名称 = '基本攻击' + 备注 = '(一轮,TP为基础精通)' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + data0 = [0, 152+182+274] + # 基础 = 225.2*2.662/1.115*1.1 + # 基础2 = 1.16 * 225.2*2.662/1.115*1.1 + # 基础3 = 1.8 * 225.2*2.662/1.115*1.1 + 形态 = ['普通', '变身'] + CD = 1 + TP成长 = 0.10 + TP上限 = 5 + # 加强 + 倍率 = 1.127 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "普通": + self.data0 = [0, 152+182+274] + if 形态 == "变身": + self.data0 = [0, 149+177+267] + + +class 技能1(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + 关联技能 = ['基本攻击','炫纹发射'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能2(被动技能): + 名称 = '尼巫的战斗术' + 所在等级 = 15 + 等级上限 = 11 + 等级精通 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18+0.02*self.等级, 3) + + +class 技能3(被动技能): + 名称 = '炫纹' + 所在等级 = 15 + 等级上限 = 60 + 学习间隔 = 2 + 等级精通 = 50 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.20+0.00*self.等级, 3) + + +class 技能4(被动技能): + 名称 = '战斗法师武器精通' + 所在等级 = 20 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['星纹陨爆', '一骑当千碎霸', '太古星河·殒灭'] + + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or (武器类型 != '矛' and 武器类型 != '棍棒'): + return 1.0 + if self.等级 <= 20: + return round(1.00+0.01*self.等级, 3) + if self.等级 > 20: + return round(0.80+0.02*self.等级, 3) + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or (武器类型 != '矛' and 武器类型 != '棍棒'): + return 1.0 + if self.等级 <= 20: + return round(1.00+0.01*self.等级, 3) + if self.等级 > 20: + return round(0.80+0.02*self.等级, 3) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '棍棒': + return 1.0 + else: + return 0.95 + +class 技能5(主动技能): + 名称 = '炫纹发射' + 备注 = '(个数,TP为强化炫纹)' + 所在等级 = 15 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + 无色消耗 = 0 + data0 = [0, 246, 249, 254, 260, 264, 269, 275, 280, 286, 292, 297] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 #基础精通TP + MP = [12, 140] + CD = 0.5 + + 国服特色 = 1.0 + + def 等效CD(self, **argv): + return 0.5 + +class 技能6(主动技能): + 名称 = "双重锤击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 546] + 无色消耗 = 0 + data0 = [0, 670, 740, 813, 882, 948, 1017, 1087, 1156, 1226, 1295, 1361, 1429, 1503, 1573, 1641, 1717, 1787, 1854, 1922, 1994, 2061, 2131, 2200, 2268, 2335, 2409, 2477, 2546, 2615, 2687, 2754, 2820, 2890, 2959, 3032, 3100, 3171, 3237, 3306, 3378, 3445, 3515, 3586, 3647, 3728, 3795, 3864, 3937, 4006, 4077, 4143, 4214, 4283, 4350, 4419, 4491, 4558, 4630, 4698, 4767, 4834, 4905, 4976, 5042, 5109, 5183, 5251, 5321, 5389, 5458] + hit0 = 1 + data1 = [0, 2463, 2719, 2969, 3224, 3480, 3736, 3989, 4246, 4495, 4753, 5009, 5263, 5515, 5772, 6025, 6283, 6537, 6784, 7044, 7299, 7552, 7810, 8063, 8314, 8572, 8826, 9082, 9334, 9590, 9841, 10099, 10353, 10607, 10863, 11115, 11374, 11632, 11878, 12134, 12389, 12647, 12904, 13152, 13406, 13665, 13921, 14168, 14425, 14679, 14937, 15194, 15442, 15697, 15955, 16213, 16466, 16714, 16972, 17226, 17483, 17742, 17986, 18244, 18505, 18755, 19012, 19263, 19518, 19771, 20032] + hit1 = 1 + data2 = [0, 1882, 2071, 2268, 2463, 2657, 2852, 3042, 3237, 3433, 3634, 3823, 4021, 4214, 4405, 4601, 4793, 4989, 5183, 5377, 5570, 5764, 5965, 6156, 6356, 6547, 6738, 6933, 7125, 7326, 7518, 7705, 7906, 8095, 8298, 8492, 8679, 8878, 9069, 9264, 9459, 9658, 9847, 10041, 10237, 10423, 10632, 10822, 11010, 11211, 11404, 11598, 11792, 11990, 12175, 12374, 12570, 12762, 12964, 13155, 13341, 13546, 13736, 13927, 14123, 14314, 14512, 14704, 14902, 15094, 15296] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 国服特色 = 1.0 + +class 技能7(主动技能): + 名称 = "炫纹爆弹" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [60, 546] + 无色消耗 = 0 + data0 = [0, 1730, 1914, 2086, 2272, 2464, 2628, 2822, 2997, 3176, 3353, 3531, 3708, 3894, 4063, 4249, 4426, 4603, 4780, 4956, 5138, 5327, 5494, 5685, 5875, 6040, 6234, 6410, 6588, 6764, 6943, 7121, 7305, 7474, 7659, 7837, 8016, 8193, 8372, 8548, 8741, 8905, 9098, 9283, 9452, 9635, 9806, 9992, 10170, 10348, 10523, 10701, 10879, 11071, 11247, 11427, 11606, 11783, 11959, 12155, 12330, 12508, 12685, 12867, 13041, 13217, 13401, 13581, 13757, 13938, 14112] + hit0 = 1 + data1 = [0, 401, 437, 478, 522, 578, 617, 656, 690, 742, 772, 811, 882, 907, 943, 961, 1029, 1073, 1100, 1170, 1179, 1239, 1278, 1320, 1360, 1408, 1461, 1470, 1540, 1567, 1612, 1673, 1695, 1732, 1756, 1825, 1869, 1897, 1952, 1974, 2018, 2060, 2118, 2157, 2199, 2244, 2270, 2334, 2352, 2395, 2461, 2491, 2525, 2568, 2611, 2666, 2710, 2723, 2776, 2820, 2856, 2900, 2944, 2997, 3039, 3078, 3123, 3147, 3188, 3229, 3275] + hit1 = 7 + data2 = [0, 5210, 5743, 6277, 6825, 7362, 7898, 8432, 8979, 9517, 10043, 10585, 11131, 11664, 12211, 12743, 13284, 13834, 14353, 14897, 15430, 15969, 16507, 17052, 17602, 18132, 18665, 19204, 19752, 20273, 20819, 21360, 21891, 22437, 22973, 23521, 24061, 24586, 25125, 25661, 26209, 26740, 27280, 27827, 28360, 28894, 29427, 29982, 30505, 31046, 31591, 32130, 32671, 33202, 33733, 34282, 34814, 35360, 35896, 36436, 36967, 37512, 38051, 38592, 39121, 39668, 40200, 40750, 41283, 41817, 42355] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 国服特色 = 1.0 + + +class 技能8(主动技能): + 名称 = "碎霸" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 546] + 无色消耗 = 0 + data0 = [0, 5687, 6273, 6865, 7451, 8037, 8621, 9210, 9803, 10391, 10978, 11567, 12156, 12745, 13334, 13923, 14505, 15094, 15680, 16269, 16863, 17448, 18037, 18625, 19215, 19805, 20388, 20973, 21564, 22151, 22741, 23328, 23919, 24508, 25095, 25679, 26265, 26854, 27446, 28036, 28622, 29210, 29803, 30388, 30978, 31561, 32148, 32738, 33323, 33913, 34506, 35094, 35681, 36268, 36861, 37442, 38033, 38618, 39207, 39797, 40385, 40975, 41563, 42153, 42734, 43322, 43913, 44499, 45091, 45677, 46266] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 国服特色 = 1/0.9 + + +class 技能9(主动技能): + 名称 = "超级炫纹" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [25, 210] + 无色消耗 = 0 + data0 = [0, 6179, 6804, 7431, 8057, 8684, 9309, 9936, 10561, 11187, 11820, 12445, 13071, 13696, 14323, 14953, 15576, 16205, 16830, 17456, 18082, 18710, 19336, 19963, 20588, 21218, 21845, 22470, 23097, 23725, 24351, 24977, 25602, 26229, 26857, 27484, 28109, 28736, 29363, 29992, 30619, 31244, 31872, 32497, 33124, 33750, 34377, 35004, 35629, 36258, 36884, 37510, 38137, 38766, 39393, 40017, 40645, 41270, 41899, 42523, 43151, 43778, 44404, 45031, 45656, 46286, 46911, 47538, 48166, 48792, 49419] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 国服特色 = 1/0.9 + + def 等效百分比(self, **argv): + # 不携带强压护石时,炫纹上限9个,每个增加炫纹1%伤害,1个自动发射,携带强压护石,上限10个 + char = argv.get('char', {}) + return super().等效百分比(**argv) * (1.1 if '炫纹强压' in char.护石栏 else 1.08) + +class 技能10(主动技能): + 名称 = "流星闪影击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 14707, 16198, 17692, 19184, 20677, 22173, 23656, 25157, 26652, 28133, 29627, 31123, 32615, 34103, 35600, 37084, 38579, 40068, 41566, 43063, 44553, 46040, 47535, 49028, 50524, 52017, 53496, 54994, 56489, 57981, 59475, 60968, 62455, 63948, 65434, 66932, 68424, 69917, 71401, 72899, 74394, 75885, 77382, 78872, 80360, 81854, 83347, 84839, 86328, 87821, 89312, 90804, 92300, 93793, 95287, 96768, 98263, 99760, 101250, 102747, 104235, 105726, 107219, 108714, 110205, 111696, 113189, 114677, 116171, 117662] + hit0 = 1 + data1 = [0, 109, 120, 128, 135, 144, 155, 172, 182, 197, 202, 211, 224, 235, 245, 261, 262, 273, 291, 300, 314, 324, 330, 343, 354, 359, 381, 384, 394, 409, 416, 434, 440, 444, 463, 474, 479, 496, 506, 508, 525, 532, 549, 560, 569, 579, 589, 597, 613, 625, 629, 640, 654, 667, 676, 688, 697, 709, 717, 730, 741, 755, 757, 769, 780, 794, 808, 819, 822, 834, 848] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ['打满', '秒C'] + + def TP加成(self): + return 1 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "打满": + self.hit0 = 1 + self.hit1 = 15 + self.hit1 += self.TP等级 + self.power0 = 1 + self.TP成长 * self.TP等级 + if 形态 == "秒C": + self.hit0 = 1 + self.hit1 = 0 + self.power0 = 1 + self.TP成长 * self.TP等级 + + +class 技能11(主动技能): + 名称 = "炫纹强压" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 17 + MP = [300, 1260] + 无色消耗 = 1 + data0 = [0, 13657, 15044, 16428, 17814, 19201, 20588, 21971, 23356, 24743, 26129, 27514, 28899, 30286, 31670, 33056, 34442, 35829, 37213, 38598, 39984, 41369, 42754, 44141, 45526, 46912, 48298, 49684, 51068, 52453, 53840, 55226, 56612, 57995, 59382, 60768, 62154, 63540, 64927, 66312, 67696, 69082, 70468, 71855, 73238, 74625, 76011, 77395, 78781, 80167, 81554, 82940, 84325, 85712, 87096, 88483, 89868, 91253, 92638, 94025, 95410, 96796, 98180, 99566, 100954, 102339, 103722, 105107, 106495, 107881, 109266] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.92 + + +class 技能12(主动技能): + 名称 = "强袭流星打" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 16852, 18600, 20346, 22077, 23819, 25570, 27314, 29059, 30798, 32552, 34290, 36019, 37774, 39515, 41267, 43000, 44736, 46488, 48230, 49969, 51721, 53456, 55209, 56944, 58686, 60440, 62180, 63912, 65662, 67400, 69153, 70896, 72627, 74382, 76120, 77873, 79605, 81348, 83103, 84837, 86568, 88322, 90061, 91818, 93548, 95292, 97046, 98781, 100523, 102269, 104007, 105758, 107498, 109240, 110988, 112731, 114465, 116212, 117958, 119709, 121448, 123177, 124927, 126677, 128420, 130153, 131900, 133648, 135391, 137130] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.05*1.22 + + +class 技能13(主动技能): + 名称 = "煌龙偃月" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 6696, 7382, 8084, 8772, 9465, 10155, 10849, 11537, 12238, 12927, 13618, 14311, 15002, 15694, 16391, 17083, 17778, 18464, 19157, 19851, 20544, 21233, 21930, 22621, 23310, 24008, 24698, 25391, 26088, 26777, 27462, 28165, 28851, 29544, 30239, 30928, 31617, 32320, 33009, 33698, 34390, 35082, 35772, 36469, 37161, 37858, 38546, 39235, 39933, 40622, 41317, 42012, 42701, 43389, 44089, 44781, 45468, 46165, 46850, 47541, 48244, 48934, 49622, 50316, 51010, 51697, 52401, 53088, 53774, 54471] + hit0 = 1 + data1 = [0, 2233, 2460, 2698, 2929, 3157, 3385, 3614, 3845, 4080, 4311, 4540, 4769, 5002, 5234, 5462, 5695, 5927, 6157, 6386, 6622, 6853, 7080, 7312, 7540, 7768, 8005, 8236, 8464, 8693, 8928, 9156, 9390, 9620, 9847, 10080, 10309, 10540, 10773, 11006, 11233, 11462, 11694, 11924, 12157, 12390, 12617, 12848, 13075, 13313, 13549, 13773, 14005, 14234, 14465, 14696, 14928, 15158, 15387, 15617, 15847, 16081, 16312, 16543, 16774, 17005, 17231, 17468, 17698, 17930, 18158] + hit1 = 7 + data2 = [0, 9575, 10559, 11555, 12546, 13531, 14525, 15516, 16499, 17496, 18484, 19470, 20470, 21456, 22437, 23434, 24424, 25414, 26403, 27394, 28384, 29373, 30361, 31359, 32349, 33330, 34329, 35316, 36299, 37300, 38289, 39271, 40269, 41258, 42239, 43237, 44225, 45210, 46216, 47197, 48184, 49187, 50166, 51153, 52151, 53138, 54135, 55120, 56107, 57105, 58091, 59079, 60078, 61062, 62052, 63048, 64033, 65023, 66019, 67005, 67992, 68983, 69971, 70961, 71950, 72942, 73929, 74922, 75906, 76900, 77897] + hit2 = 1 + data3 = [0, 2277, 2509, 2739, 2971, 3200, 3433, 3665, 3895, 4128, 4356, 4589, 4819, 5051, 5281, 5514, 5744, 5974, 6207, 6438, 6669, 6899, 7130, 7362, 7594, 7823, 8056, 8286, 8518, 8749, 8981, 9209, 9444, 9673, 9902, 10136, 10365, 10598, 10827, 11060, 11291, 11524, 11752, 11986, 12216, 12445, 12678, 12908, 13141, 13371, 13602, 13831, 14065, 14297, 14526, 14760, 14989, 15220, 15450, 15681, 15914, 16144, 16375, 16607, 16839, 17070, 17300, 17532, 17761, 17993, 18224] + hit3 = 0 + data4 = [0, 17086, 18819, 20551, 22286, 24019, 25754, 27487, 29220, 30952, 32685, 34418, 36151, 37888, 39620, 41355, 43088, 44818, 46552, 48285, 50020, 51754, 53489, 55221, 56956, 58688, 60418, 62153, 63886, 65621, 67354, 69089, 70822, 72553, 74286, 76020, 77753, 79486, 81222, 82955, 84689, 86422, 88154, 89887, 91620, 93354, 95088, 96824, 98555, 100287, 102023, 103752, 105489, 107222, 108956, 110689, 112423, 114157, 115888, 117622, 119356, 121088, 122821, 124557, 126290, 128023, 129757, 131489, 133223, 134956, 136688] + hit4 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 形态变更(self, 形态, char: Character): + if char.get_skill_by_name("煌龙乱舞").等级 > 0: + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 5 + self.hit4 = 1 + if '煌龙偃月' in char.护石栏: + self.hit3 += 1 + self.power3 = 1.14 + self.power4 = 1.18 + else: + self.hit0 = 1 + self.hit1 = 7 + self.hit2 = 1 + self.hit3 = 0 + self.hit4 = 0 + if '煌龙偃月' in char.护石栏: + self.hit1 += 3 + self.power2 = 1.36 + + def 装备护石(self, char): + pass + + +class 技能14(被动技能): + 名称 = '煌龙乱舞' + 所在等级 = 45 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + + +class 技能15(被动技能): + 名称 = '斗神意志' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05+0.02*self.等级, 3) + + +class 技能16(主动技能): + 名称 = "星纹陨爆" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1500, 3500] + 无色消耗 = 7 + data0 = [0, 87885, 108260, 128640, 149017, 169399, 189777, 210155, 230536, 276004, 298420, 320838, 343256, 365672, 388088, 410505, 432922, 455337, 477755, 500172, 522589, 545007, 567423, 589838, 612254, 634672, 657089, 679506, 701924, 724338, 746757, 769174, 791591, 814006, 836423, 858839, 881257, 903673, 926090, 948507, 970923, 993341, 1015757, 1038173, 1060590, 1083009, 1105424, 1127840, 1150258, 1172672, 1195091] + hit0 = 1 + + + +class 技能17(主动技能): + 名称 = "闪击碎霸" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 26262, 28923, 31586, 34251, 36918, 39587, 42245, 44912, 47573, 50239, 52900, 55567, 58232, 60897, 63558, 66225, 68893, 71553, 74217, 76881, 79548, 82213, 84869, 87537, 90207, 92861, 95528, 98197, 100860, 103519, 106184, 108851, 111515, 114175, 116839, 119511, 122172, 124834, 127499, 130167, 132829, 135493, 138157, 140822, 143490, 146146, 148813, 151479, 154137, 156803] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.24 + self.CDR *= 0.90 + + +class 技能18(主动技能): + 名称 = "煌龙降临" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 3 + data0 = [0, 49611, 54527, 59399, 64301, 69127, 73958, 78864, 83751, 88587, 93507, 98347, 103199, 108003, 112937, 117792, 122628, 127568, 132386, 137310, 142144, 147052, 151848, 156706, 161661, 166442, 171315, 176217, 181104, 185942, 190778, 195733, 200522, 205404, 210244, 215179, 220000, 224889, 229760, 234664, 239502, 244300, 249226, 254037, 258944, 263817, 268669, 273556, 278458, 283277, 288118] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.695 + self.CD = 25 + self.CDR *= 0.9 + + +class 技能19(被动技能): + 名称 = '战灵潜能' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22+0.02*self.等级, 3) + + +class 技能20(主动技能): + 名称 = "炫纹簇" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [360, 3024] + 无色消耗 = 5 + data0 = [0, 9168, 10099, 11029, 11961, 12892, 13822, 14753, 15681, 16613, 17543, 18473, 19402, 20331, 21260, 22191, 23124, 24053, 24985, 25914, 26844, 27774, 28706, 29637, 30566, 31498, 32427, 33358, 34290, 35219, 36149, 37077, 38008, 38939, 39870, 40800, 41731, 42662, 43591, 44522, 45451, 46383, 47312, 48242, 49173, 50103, 51033, 51960, 52892, 53822, 54753] + hit0 = 7 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.倍率 *= 1+6.95+1.25 + + +class 技能21(主动技能): + 名称 = "使徒之舞" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [384, 3225] + 无色消耗 = 5 + data0 = [0, 2773, 3051, 3334, 3616, 3899, 4180, 4464, 4741, 5022, 5303, 5587, 5864, 6147, 6427, 6713, 6994, 7274, 7554, 7835, 8118, 8399, 8683, 8963, 9241, 9523, 9805, 10091, 10369, 10649, 10931, 11211, 11495, 11777, 12056, 12337, 12618, 12902, 13183, 13459, 13740, 14022, 14306, 14589, 14872, 15153, 15430, 15714, 15997, 16279, 16558] + hit0 = 3 + data1 = [0, 5547, 6108, 6673, 7235, 7794, 8359, 8921, 9484, 10047, 10612, 11172, 11735, 12295, 12859, 13420, 13984, 14546, 15112, 15676, 16238, 16796, 17359, 17923, 18487, 19050, 19610, 20174, 20735, 21298, 21862, 22422, 22986, 23552, 24116, 24674, 25239, 25796, 26363, 26926, 27490, 28054, 28613, 29173, 29737, 30302, 30864, 31427, 31988, 32552, 33114] + hit1 = 1 + data2 = [0, 55474, 61094, 66713, 72328, 77947, 83594, 89212, 94828, 100474, 106117, 111713, 117357, 122947, 128593, 134211, 139855, 145476, 151118, 156736, 162356, 167975, 173592, 179237, 184856, 190499, 196120, 201736, 207357, 212973, 218619, 224236, 229855, 235500, 241146, 246736, 252380, 257974, 263619, 269263, 274879, 280500, 286143, 291735, 297381, 303024, 308620, 314288, 319881, 325522, 331143] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + # self.倍率 *= 1.36801 + self.hit1 = 0 + self.power2 = 0.13*10*1.2 + + +class 技能22(主动技能): + 名称 = "一骑当千碎霸" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 190841, 235091, 279341, 323598, 367849, 412096, 456345, 500599, 544856, 589105, 633362, 677608, 721867, 766110, 810361, 854615, 898870, 943129, 987381, 1031632, 1075880, 1120134, 1164386, 1208642, 1252886, 1297144, 1341391, 1385646, 1429893, 1474152, 1518402, 1562654, 1606913, 1651152, 1695408, 1739667, 1783914, 1828169, 1872417, 1916667, 1960924, 2005176, 2049430, 2093684, 2137934, 2182188, 2226440, 2270684, 2314939, 2359191] + hit0 = 1 + + + +class 技能23(主动技能): + 名称 = "炫纹之源:太古神光" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 158536, 174620, 190702, 206788, 222870, 238953, 255037, 271121, 287203, 303288, 319369, 335454, 351537, 367621, 383704, 399789, 415869, 431956, 448037, 464121, 480205, 496288, 512370, 528455, 544538, 560623, 576705, 592789, 608872, 624956, 641038, 657124, 673205, 689289, 705372, 721456, 737538, 753623, 769705, 785791, 801872, 817956, 834042, 850123, 866206, 882291, 898375, 914456, 930543, 946623] + hit0 = 1 + + def 等效百分比(self, **argv): + # 额外计算10次炫纹 + char = argv.get('char', {}) + 伤害类型 = argv.get('伤害类型', '直伤') + 炫纹发射 = char.get_skill_by_name('炫纹发射') + 炫纹 = 炫纹发射.等效百分比(伤害类型=伤害类型) / 炫纹发射.hit0 + return super().等效百分比(**argv) + 炫纹 * 10 + +class 技能24(被动技能): + 名称 = '太古之力' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18+0.02*self.等级, 3) + + +class 技能25(主动技能): + 名称 = "太古星河·殒灭" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 15334, 18890, 22446, 26002, 29557, 33115, 36670, 40227, 43781, 47337, 50892, 54449, 58005, 61561, 65117, 68673, 72230, 75785, 79341, 82898, 86453, 90008, 93564, 97120, 100676, 104232, 107789, 111344, 114900, 118455, 122011, 125568, 129124, 132680, 136235, 139792, 143347, 146902, 150460, 154015, 157571, 161127, 164682, 168238, 171796, 175351, 178905, 182463, 186018, 189575] + hit0 = 5 + data1 = [0, 25558, 31483, 37410, 43337, 49263, 55192, 61117, 67042, 72969, 78896, 84821, 90748, 96677, 102602, 108529, 114455, 120381, 126308, 132236, 138163, 144088, 150015, 155940, 161866, 167793, 173720, 179649, 185574, 191499, 197426, 203352, 209282, 215206, 221134, 227059, 232987, 238912, 244837, 250766, 256691, 262619, 268544, 274471, 280397, 286326, 292253, 298177, 304105, 310030, 315958] + hit1 = 1 + data2 = [0, 51116, 62966, 74820, 86673, 98525, 110382, 122233, 134086, 145938, 157793, 169643, 181496, 193353, 205204, 217057, 228909, 240764, 252616, 264471, 276325, 288175, 300027, 311882, 323734, 335586, 347442, 359296, 371148, 382998, 394851, 406705, 418561, 430412, 442267, 454119, 465971, 477822, 489675, 501532, 513384, 525238, 537089, 548942, 560796, 572651, 584506, 596354, 608209, 620060, 631915] + hit2 = 1 + data3 = [0, 76674, 94450, 112229, 130008, 147788, 165574, 183350, 201129, 218907, 236689, 254464, 272245, 290030, 307806, 325586, 343365, 361145, 378923, 396707, 414489, 432263, 450042, 467821, 485600, 503379, 521163, 538945, 556722, 574498, 592278, 610057, 627843, 645618, 663402, 681178, 698958, 716734, 734512, 752299, 770075, 787857, 805632, 823413, 841193, 858976, 876758, 894530, 912314, 930090, 947873] + hit3 = 1 + data4 = [0, 18744, 23087, 27434, 31780, 36125, 40473, 44818, 49165, 53511, 57857, 62202, 66548, 70896, 75242, 79588, 83934, 88280, 92626, 96973, 101319, 105665, 110011, 114357, 118702, 123048, 127395, 131741, 136088, 140433, 144779, 149125, 153472, 157817, 162164, 166510, 170856, 175202, 179547, 183895, 188240, 192588, 196933, 201279, 205625, 209972, 214319, 218662, 223011, 227355, 231702] + hit4 = 15 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'battle_mage' + self.名称 = '知源·战斗法师' + self.角色 = '魔法师(女)' + + self.职业 = '战斗法师' + self.武器选项 = ['矛', '棍棒'] + self.输出类型选项 = ['物理百分比', '魔法百分比'] + self.防具精通属性 = ['力量', '智力'] + self.类型 = '物理百分比' + self.武器类型 = '矛' + self.防具类型 = '皮甲' + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) + + def 职业特殊计算(self): + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['魔法秀']) + + def 武器计算(self, temp: equipment) -> None: + self.武器类型 = temp.类型 + self.基础属性加成(物理攻击力=temp.物理攻击力, 魔法攻击力=temp.魔法攻击力, 独立攻击力=temp.独立攻击力) + info = self.打造详情.get(temp.部位, {}) + 物理攻击力 = 武器强化计算(temp.等级, temp.品质, info.get('cursed_number', 0), temp.类型, + '物理') + 魔法攻击力 = 武器强化计算(temp.等级, temp.品质, info.get('cursed_number', 0), temp.类型, + '物理') + 独立攻击力 = 锻造计算(temp.等级, temp.品质, info.get('dz_number', 0)) + + self.打造['武器']['强化攻击力'] = [物理攻击力, 魔法攻击力, 0] + + self.打造['武器']['锻造加成'][0] = 独立攻击力 + + self.基础属性加成(物理攻击力=物理攻击力, 魔法攻击力=魔法攻击力, 独立攻击力=独立攻击力) + + def set_individuation(self, info): + info['char_optiopns'] = [ + { + "name": "三觉变身(影响异常抗性)", + "option": ["否", "是"] + } + ] + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + for 类型 in ['冰冻', '减速', '眩晕', '诅咒', '失明', '石化', '睡眠', '混乱', '束缚']: + self.异常抗性加成(类型, 0.5*self.get_individuation(0), mode=0) diff --git a/api/core/characters/berserker.py b/api/core/characters/berserker.py new file mode 100644 index 00000000..632f70b6 --- /dev/null +++ b/api/core/characters/berserker.py @@ -0,0 +1,496 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "崩山击" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [17, 150] + 无色消耗 = 0 + data0 = [0, 200, 220, 240, 261, 283, 302, 322, 343, 363, 383, 405, 424, 445, 465, 487, 506, 526, 548, 567, 588, 609, 629, 649, 669, 690, 711, 731, 752, 772, 792, 811, 833, 854, 873, 895, 915, 935, 955, 976, 997, 1017, 1038, 1058, 1077, 1098, 1119, 1138, 1161, 1181, 1200, 1220, 1241, 1262, 1282, 1304, 1324, 1343, 1363, 1384, 1403, 1425, 1447, 1466, 1486, 1507, 1526, 1547, 1568, 1590, 1609] + hit0 = 1 + data1 = [0, 1129, 1245, 1360, 1473, 1590, 1704, 1819, 1933, 2049, 2163, 2277, 2392, 2507, 2621, 2736, 2851, 2967, 3080, 3196, 3310, 3426, 3539, 3654, 3769, 3883, 3999, 4114, 4230, 4343, 4458, 4574, 4687, 4803, 4917, 5032, 5146, 5262, 5377, 5492, 5605, 5721, 5835, 5950, 6064, 6179, 6294, 6408, 6524, 6639, 6753, 6868, 6982, 7098, 7211, 7327, 7441, 7559, 7670, 7787, 7902, 8016, 8131, 8246, 8360, 8475, 8589, 8705, 8818, 8935, 9049] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + power0 = 3.4 + + +class 技能1(主动技能): + 名称 = "十字斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [58, 249] + 无色消耗 = 0 + data0 = [0, 2596, 2860, 3120, 3388, 3647, 3916, 4180, 4444, 4703, 4970, 5235, 5499, 5759, 6022, 6287, 6549, 6819, 7079, 7343, 7604, 7873, 8132, 8399, 8662, 8928, 9188, 9458, 9716, 9982, 10247, 10512, 10772, 11041, 11302, 11568, 11829, 12096, 12355, 12615, 12886, 13147, 13411, 13674, 13938, 14203, 14468, 14730, 14995, 15254, 15526, 15787, 16052, 16313, 16581, 16840, 17109, 17369, 17634, 17897, 18166, 18425, 18691, 18953, 19220, 19481, 19742, 20009, 20270, 20536, 20798] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = '血之狂暴' + 所在等级 = 15 + 等级上限 = 30 + 基础等级 = 20 + 是否有伤害 = 0 + 关联技能 = ['所有'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['魔狱血刹', '血魔·弑天', '血魔极道灭世'] + + def 加成倍率(self, 武器类型): + if self.等级 <= 20: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(0.9 + 0.015 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.9 + + +class 技能3(被动技能): + 名称 = '血气唤醒' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.267 + 0.02 * self.等级, 5) + + +class 技能4(主动技能): + 名称 = "血之爪痕" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [62, 266] + 无色消耗 = 0 + data0 = [0, 662, 729, 797, 864, 932, 997, 1064, 1132, 1200, 1267, 1335, 1401, 1469, 1535, 1604, 1671, 1737, 1805, 1872, 1939, 2007, 2073, 2140, 2209, 2276, 2343, 2409, 2478, 2545, 2611, 2679, 2745, 2812, 2881, 2948, 3016, 3081, 3149, 3216, 3283, 3352, 3418, 3485, 3553, 3619, 3686, 3756, 3822, 3889, 3956, 4024, 4089, 4156, 4225, 4292, 4359, 4427, 4493, 4560, 4628, 4696, 4763, 4829, 4897, 4964, 5032, 5100, 5165, 5232, 5299] + hit0 = 2 + data1 = [0, 943, 1041, 1136, 1233, 1327, 1425, 1521, 1615, 1713, 1808, 1905, 1999, 2097, 2192, 2287, 2384, 2480, 2576, 2671, 2768, 2864, 2958, 3055, 3151, 3248, 3342, 3440, 3536, 3630, 3727, 3823, 3920, 4014, 4112, 4207, 4301, 4397, 4494, 4590, 4685, 4782, 4878, 4972, 5069, 5165, 5262, 5356, 5454, 5550, 5644, 5741, 5837, 5934, 6028, 6125, 6221, 6317, 6412, 6509, 6605, 6700, 6796, 6893, 6988, 7084, 7180, 7277, 7371, 7468, 7565] + hit1 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "嗜魂之手" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [37, 290] + 无色消耗 = 0 + data0 = [0, 3377, 3723, 4064, 4407, 4752, 5095, 5438, 5781, 6124, 6466, 6808, 7153, 7495, 7840, 8182, 8525, 8869, 9211, 9554, 9897, 10240, 10583, 10929, 11270, 11613, 11956, 12299, 12644, 12985, 13327, 13672, 14013, 14359, 14701, 15045, 15387, 15730, 16074, 16414, 16760, 17101, 17448, 17790, 18130, 18474, 18817, 19158, 19503, 19845, 20189, 20533, 20876, 21219, 21564, 21905, 22247, 22591, 22934, 23275, 23621, 23963, 24306, 24650, 24994, 25335, 25678, 26021, 26363, 26709, 27051] + hit0 = 1 + data1 = [0, 1873, 2062, 2251, 2441, 2634, 2824, 3014, 3203, 3394, 3584, 3775, 3965, 4154, 4346, 4535, 4727, 4916, 5106, 5298, 5488, 5678, 5867, 6058, 6248, 6437, 6629, 6820, 7009, 7198, 7388, 7578, 7769, 7958, 8149, 8339, 8530, 8721, 8910, 9100, 9291, 9480, 9672, 9862, 10051, 10243, 10431, 10623, 10812, 11003, 11194, 11383, 11574, 11764, 11953, 12144, 12334, 12526, 12717, 12905, 13096, 13286, 13477, 13666, 13856, 14048, 14237, 14430, 14618, 14808, 14998] + hit1 = 0 + data2 = [0, 2035, 2244, 2450, 2656, 2865, 3071, 3279, 3485, 3692, 3899, 4104, 4312, 4519, 4727, 4934, 5142, 5347, 5553, 5760, 5968, 6176, 6380, 6587, 6797, 7002, 7210, 7417, 7621, 7830, 8036, 8244, 8450, 8655, 8863, 9073, 9278, 9485, 9693, 9898, 10106, 10312, 10520, 10727, 10932, 11137, 11347, 11554, 11762, 11967, 12174, 12382, 12589, 12795, 13002, 13208, 13415, 13624, 13830, 14038, 14244, 14451, 14658, 14863, 15071, 15279, 15483, 15691, 15898, 16108, 16313] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ['非抓', '抓取'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + + +class 技能6(主动技能): + 名称 = "怒气爆发" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 13 + MP = [142, 607] + 无色消耗 = 0 + data0 = [0, 528, 582, 634, 688, 743, 795, 848, 904, 956, 1009, 1065, 1117, 1170, 1227, 1279, 1332, 1388, 1441, 1496, 1549, 1601, 1656, 1710, 1762, 1818, 1871, 1923, 1978, 2032, 2084, 2138, 2193, 2245, 2299, 2355, 2407, 2461, 2515, 2568, 2622, 2676, 2729, 2784, 2838, 2890, 2945, 2999, 3051, 3106, 3160, 3213, 3267, 3321, 3374, 3427, 3482, 3536, 3589, 3641, 3697, 3750, 3803, 3858, 3911, 3963, 4020, 4073, 4126, 4180, 4234] + hit0 = 10 + data1 = [0, 1386, 1526, 1669, 1808, 1948, 2089, 2231, 2371, 2510, 2653, 2794, 2935, 3074, 3215, 3358, 3499, 3637, 3778, 3920, 4060, 4201, 4341, 4483, 4624, 4764, 4904, 5047, 5187, 5328, 5467, 5608, 5749, 5890, 6030, 6171, 6313, 6453, 6593, 6735, 6876, 7017, 7156, 7298, 7439, 7580, 7720, 7861, 8002, 8143, 8284, 8424, 8565, 8707, 8847, 8986, 9129, 9269, 9411, 9551, 9692, 9833, 9974, 10113, 10255, 10395, 10536, 10677, 10817, 10958, 11099] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "残酷交锋" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [110, 467] + 无色消耗 = 0 + data0 = [0, 1098, 1211, 1322, 1433, 1545, 1657, 1766, 1878, 1990, 2101, 2213, 2325, 2436, 2548, 2660, 2770, 2882, 2993, 3105, 3217, 3328, 3440, 3552, 3663, 3774, 3885, 3997, 4109, 4220, 4332, 4444, 4555, 4667, 4777, 4888, 5000, 5111, 5223, 5335, 5446, 5558, 5669, 5780, 5891, 6004, 6115, 6226, 6339, 6450, 6561, 6673, 6784, 6895, 7008, 7119, 7230, 7343, 7454, 7565, 7677, 7788, 7898, 8010, 8122, 8233, 8345, 8457, 8567, 8678, 8791] + hit0 = 1 + data1 = [0, 1098, 1211, 1322, 1433, 1545, 1657, 1766, 1878, 1990, 2101, 2213, 2325, 2436, 2548, 2660, 2770, 2882, 2993, 3105, 3217, 3328, 3440, 3552, 3663, 3774, 3885, 3997, 4109, 4220, 4332, 4444, 4555, 4667, 4777, 4888, 5000, 5111, 5223, 5335, 5446, 5558, 5669, 5780, 5891, 6004, 6115, 6226, 6339, 6450, 6561, 6673, 6784, 6895, 7008, 7119, 7230, 7343, 7454, 7565, 7677, 7788, 7898, 8010, 8122, 8233, 8345, 8457, 8567, 8678, 8791] + hit1 = 1 + data2 = [0, 3296, 3630, 3965, 4299, 4634, 4969, 5302, 5637, 5972, 6306, 6641, 6976, 7310, 7645, 7980, 8313, 8647, 8982, 9316, 9651, 9986, 10320, 10655, 10990, 11322, 11658, 11993, 12326, 12661, 12996, 13329, 13664, 13999, 14333, 14667, 15001, 15336, 15671, 16005, 16340, 16675, 17009, 17344, 17678, 18012, 18346, 18681, 19015, 19350, 19685, 20019, 20354, 20688, 21022, 21357, 21692, 22026, 22361, 22696, 23030, 23365, 23698, 24032, 24367, 24702, 25036, 25371, 25706, 26040, 26375] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能8(主动技能): + 名称 = "嗜魂封魔斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [323, 1377] + 无色消耗 = 1 + data0 = [0, 12150, 13384, 14617, 15850, 17083, 18315, 19549, 20781, 22013, 23247, 24480, 25713, 26944, 28178, 29412, 30645, 31877, 33110, 34342, 35575, 36807, 38041, 39274, 40508, 41739, 42972, 44206, 45439, 46671, 47904, 49137, 50369, 51602, 52836, 54068, 55302, 56534, 57767, 59000, 60232, 61465, 62698, 63932, 65162, 66396, 67630, 68863, 70097, 71327, 72561, 73794, 75027, 76260, 77492, 78726, 79957, 81191, 82425, 83656, 84890, 86122, 87356, 88589, 89820, 91054, 92287, 93521, 94752, 95984, 97218] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "暴怒狂斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [113, 1117] + 无色消耗 = 1 + data0 = [0, 1682, 1854, 2026, 2196, 2367, 2539, 2710, 2880, 3052, 3222, 3393, 3565, 3735, 3905, 4078, 4248, 4418, 4591, 4760, 4933, 5103, 5275, 5445, 5616, 5788, 5958, 6130, 6300, 6471, 6641, 6812, 6982, 7154, 7325, 7496, 7667, 7837, 8009, 8179, 8351, 8521, 8692, 8864, 9034, 9207, 9376, 9548, 9719, 9889, 10062, 10232, 10402, 10573, 10745, 10915, 11087, 11258, 11428, 11600, 11771, 11942, 12113, 12284, 12454, 12626, 12796, 12968, 13139, 13309, 13481] + hit0 = 1 + data1 = [0, 490, 540, 588, 639, 690, 739, 788, 838, 888, 938, 988, 1037, 1089, 1139, 1187, 1237, 1287, 1339, 1388, 1436, 1487, 1536, 1587, 1638, 1686, 1736, 1785, 1837, 1886, 1936, 1985, 2035, 2086, 2136, 2184, 2234, 2285, 2336, 2384, 2435, 2485, 2533, 2583, 2634, 2684, 2733, 2784, 2835, 2883, 2933, 2983, 3033, 3084, 3132, 3182, 3232, 3281, 3332, 3381, 3432, 3480, 3530, 3582, 3632, 3680, 3731, 3780, 3831, 3880, 3930] + hit1 = 8 + data2 = [0, 2808, 3092, 3377, 3662, 3946, 4233, 4518, 4800, 5085, 5372, 5656, 5941, 6227, 6511, 6796, 7082, 7366, 7650, 7934, 8221, 8506, 8792, 9076, 9360, 9645, 9930, 10215, 10501, 10787, 11071, 11356, 11640, 11926, 12210, 12494, 12780, 13067, 13350, 13636, 13920, 14204, 14489, 14775, 15059, 15343, 15631, 15915, 16200, 16486, 16769, 17054, 17338, 17624, 17909, 18193, 18479, 18764, 19049, 19334, 19618, 19904, 20188, 20474, 20760, 21043, 21329, 21613, 21897, 22184, 22469] + hit2 = 2 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.56 + self.power2 = 1.56 + self.CDR *= 0.9 + + +class 技能10(主动技能): + 名称 = '嗜血' + 所在等级 = 35 + 等级上限 = 20 + 基础等级 = 10 + 是否有伤害 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.01 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = "血气之刃" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [297, 1267] + 无色消耗 = 1 + data0 = [0, 11201, 12338, 13475, 14611, 15747, 16884, 18018, 19158, 20294, 21430, 22564, 23704, 24838, 25976, 27114, 28249, 29386, 30523, 31658, 32794, 33930, 35069, 36204, 37341, 38477, 39613, 40750, 41889, 43023, 44161, 45297, 46434, 47569, 48707, 49842, 50981, 52117, 53253, 54388, 55525, 56664, 57800, 58936, 60072, 61210, 62345, 63482, 64619, 65755, 66892, 68029, 69164, 70300, 71437, 72575, 73711, 74848, 75984, 77120, 78258, 79393, 80530, 81667, 82804, 83939, 85077, 86212, 87348, 88488, 89623] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能12(主动技能): + 名称 = "崩山裂地斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [456, 1944] + 无色消耗 = 2 + data0 = [0, 570, 629, 684, 743, 802, 859, 918, 976, 1035, 1093, 1149, 1206, 1268, 1324, 1383, 1441, 1499, 1556, 1614, 1672, 1731, 1789, 1845, 1904, 1963, 2020, 2080, 2136, 2195, 2255, 2310, 2368, 2426, 2485, 2543, 2600, 2658, 2717, 2775, 2832, 2893, 2950, 3007, 3064, 3122, 3181, 3238, 3297, 3355, 3412, 3473, 3531, 3587, 3646, 3703, 3762, 3820, 3876, 3936, 3993, 4050, 4112, 4169, 4226, 4285, 4342, 4399, 4458, 4516, 4574] + hit0 = 1 + data1 = [0, 3813, 4200, 4583, 4971, 5357, 5745, 6131, 6519, 6907, 7292, 7680, 8067, 8455, 8840, 9227, 9616, 10002, 10389, 10775, 11162, 11548, 11937, 12325, 12709, 13096, 13481, 13870, 14257, 14644, 15030, 15418, 15806, 16190, 16579, 16965, 17351, 17738, 18127, 18514, 18899, 19288, 19673, 20059, 20445, 20834, 21220, 21607, 21995, 22381, 22768, 23155, 23544, 23929, 24315, 24703, 25089, 25477, 25864, 26252, 26636, 27023, 27413, 27796, 28184, 28571, 28957, 29344, 29733, 30119, 30505] + hit1 = 1 + data2 = [0, 2444, 2693, 2940, 3190, 3437, 3687, 3935, 4184, 4430, 4678, 4927, 5176, 5424, 5672, 5920, 6168, 6416, 6666, 6912, 7161, 7409, 7658, 7905, 8157, 8403, 8652, 8899, 9149, 9396, 9642, 9893, 10140, 10389, 10636, 10885, 11132, 11381, 11630, 11879, 12125, 12373, 12621, 12871, 13120, 13368, 13616, 13863, 14113, 14361, 14608, 14857, 15104, 15354, 15601, 15850, 16097, 16346, 16595, 16844, 17090, 17338, 17589, 17837, 18085, 18333, 18581, 18830, 19077, 19327, 19574] + hit2 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.26 + self.CDR *= 0.95 + + +class 技能13(被动技能): + 名称 = '鲜血之忆' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 独立攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.114 + 0.015 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "魔狱血刹" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 10758, 13253, 15751, 18244, 20738, 23235, 25728, 28226, 30720, 33215, 35710, 38206, 40700, 43196, 45691, 48185, 50683, 53177, 55670, 58168, 60662, 63159, 65652, 68148, 70644, 73138, 75633, 78129, 80624, 83119, 85616, 88109, 90604, 93101, 95594, 98091, 100586, 103081, 105577, 108071, 110565, 113062, 115557, 118051, 120549, 123043, 125536, 128033, 130526, 133024] + hit0 = 1 + data1 = [0, 1524, 1877, 2232, 2586, 2939, 3292, 3645, 3999, 4356, 4709, 5064, 5417, 5770, 6124, 6477, 6831, 7185, 7540, 7895, 8247, 8601, 8954, 9308, 9662, 10016, 10371, 10723, 11078, 11432, 11786, 12139, 12492, 12846, 13201, 13554, 13909, 14262, 14617, 14971, 15322, 15678, 16030, 16385, 16741, 17094, 17449, 17800, 18154, 18510, 18863] + hit1 = 27 + + +class 技能15(主动技能): + 名称 = "鲜血暴掠" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [344, 963] + 无色消耗 = 2 + data0 = [0, 2964, 3265, 3565, 3867, 4168, 4468, 4769, 5069, 5371, 5671, 5971, 6274, 6572, 6875, 7174, 7476, 7776, 8076, 8378, 8678, 8981, 9280, 9580, 9882, 10182, 10484, 10784, 11088, 11387, 11690, 11989, 12289, 12591, 12891, 13194, 13493, 13795, 14095, 14396, 14697, 14997, 15299, 15599, 15899, 16199, 16501, 16801, 17103, 17404, 17704] + hit0 = 1 + data1 = [0, 16801, 18508, 20212, 21917, 23621, 25327, 27030, 28737, 30441, 32144, 33849, 35553, 37258, 38966, 40668, 42375, 44079, 45784, 47487, 49194, 50897, 52602, 54307, 56011, 57717, 59423, 61127, 62830, 64537, 66239, 67946, 69650, 71356, 73060, 74765, 76469, 78175, 79877, 81584, 83288, 84993, 86697, 88402, 90106, 91813, 93515, 95222, 96926, 98631, 100335] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + # 血之连接 + # 施放过程中连接[崩山裂地斩]时, 血气爆炸的瞬间施放[崩山裂地斩] + # 攻击力 +14% + # 不抓取敌人也可以引发血气爆炸 + # 血气爆炸范围 +20% + # 攻击力 +6% + def 装备护石(self, char): + self.倍率 *= 1.29 + + +class 技能16(主动技能): + 名称 = "残血暴碎击" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [534, 1771] + 无色消耗 = 2 + data0 = [0, 7012, 7723, 8435, 9147, 9858, 10569, 11281, 11992, 12704, 13415, 14127, 14838, 15549, 16261, 16973, 17684, 18395, 19106, 19819, 20530, 21241, 21953, 22664, 23375, 24087, 24799, 25510, 26221, 26932, 27645, 28356, 29067, 29779, 30490, 31201, 31913, 32625, 33336, 34047, 34758, 35471, 36182, 36893, 37605, 38316, 39027, 39739, 40451, 41162, 41873] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.8*0.73 + self.CDR *= 0.9 + + +class 技能17(被动技能): + 名称 = '汲血之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "浴血之怒" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 54024, 59505, 64988, 70469, 75950, 81430, 86910, 92392, 97873, 103354, 108834, 114316, 119796, 125278, 130759, 136239, 141721, 147202, 152682, 158164, 163644, 169124, 174605, 180087, 185569, 191049, 196530, 202011, 207492, 212973, 218453, 223935, 229416, 234896, 240378, 245860, 251339, 256820, 262303, 267784, 273265, 278745, 284224, 289706, 295188, 300670, 306150, 311632, 317112, 322593] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能19(主动技能): + 名称 = "致命血陨" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [848, 6360] + 无色消耗 = 5 + data0 = [0, 13162, 14499, 15833, 17167, 18504, 19839, 21175, 22511, 23844, 25180, 26517, 27851, 29188, 30523, 31857, 33194, 34530, 35863, 37200, 38535, 39870, 41206, 42540, 43876, 45212, 46549, 47883, 49218, 50552, 51889, 53226, 54560, 55896, 57230, 58565, 59903, 61237, 62573, 63907, 65243, 66581, 67914, 69250, 70585, 71921, 73257, 74592, 75927, 77261, 78599] + hit0 = 1 + data1 = [0, 16453, 18122, 19792, 21460, 23129, 24800, 26469, 28137, 29807, 31476, 33146, 34816, 36484, 38153, 39823, 41493, 43161, 44831, 46500, 48169, 49840, 51508, 53177, 54847, 56516, 58184, 59855, 61523, 63193, 64860, 66532, 68200, 69871, 71539, 73208, 74878, 76548, 78216, 79886, 81554, 83225, 84894, 86564, 88231, 89902, 91571, 93241, 94908, 96579, 98247] + hit1 = 1 + data2 = [0, 36199, 39870, 43543, 47215, 50886, 54560, 58233, 61905, 65578, 69250, 72924, 76597, 80266, 83938, 87610, 91285, 94957, 98630, 102302, 105975, 109649, 113320, 116990, 120663, 124336, 128009, 131681, 135355, 139026, 142699, 146371, 150045, 153718, 157388, 161060, 164731, 168406, 172078, 175750, 179423, 183096, 186770, 190442, 194111, 197784, 201457, 205130, 208802, 212476, 216148] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power2 = 1.19 + self.倍率 *= 1.21 + self.CDR *= 0.9 + + +class 技能20(主动技能): + 名称 = "血魔·弑天" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 28415, 35004, 41595, 48183, 54772, 61363, 67952, 74541, 81131, 87721, 94309, 100898, 107489, 114078, 120669, 127258, 133847, 140437, 147026, 153616, 160204, 166795, 173384, 179972, 186563, 193152, 199743, 206332, 212922, 219509, 226099, 232689, 239277, 245868, 252457, 259048, 265636, 272225, 278816, 285405, 291995, 298583, 305174, 311763, 318352, 324943, 331531, 338122, 344710, 351300] + hit0 = 2 + data1 = [0, 69462, 85570, 101677, 117785, 133893, 150000, 166108, 182215, 198324, 214432, 230538, 246646, 262754, 278863, 294969, 311079, 327186, 343292, 359399, 375507, 391615, 407723, 423829, 439939, 456046, 472153, 488260, 504369, 520477, 536584, 552690, 568800, 584907, 601013, 617122, 633229, 649337, 665445, 681553, 697660, 713767, 729876, 745983, 762090, 778199, 794306, 810414, 826521, 842628, 858736] + hit1 = 1 + + +class 技能21(被动技能): + 名称 = '血气界限' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "疯魔血魂斩" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1017, 7632] + 无色消耗 = 7 + data0 = [0, 33249, 36622, 39995, 43368, 46742, 50115, 53488, 56861, 60234, 63608, 66980, 70353, 73728, 77100, 80475, 83848, 87221, 90595, 93968, 97341, 100714, 104088, 107460, 110834, 114205, 117579, 120953, 124325, 127698, 131073, 134447, 137818, 141193, 144566, 147939, 151312, 154686, 158059, 161433, 164805, 168179, 171551, 174925, 178298, 181672, 185045, 188418, 191793, 195163, 198538] + hit0 = 1 + data1 = [0, 15516, 17089, 18663, 20239, 21811, 23386, 24960, 26535, 28108, 29682, 31257, 32830, 34405, 35979, 37555, 39127, 40702, 42277, 43849, 45424, 46999, 48574, 50146, 51720, 53297, 54869, 56443, 58019, 59593, 61166, 62739, 64315, 65889, 67463, 69037, 70613, 72185, 73760, 75335, 76907, 78482, 80056, 81633, 83205, 84779, 86354, 87927, 89501, 91076, 92649] + hit1 = 5 + + +class 技能23(主动技能): + 名称 = '血魔极道灭世' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 13883, 17102, 20321, 23540, 26759, 29979, 33198, 36418, 39637, 42857, 46076, 49295, 52515, 55735, 58953, 62173, 65392, 68611, 71830, 75050, 78268, 81489, 84708, 87928, 91146, 94366, 97586, 100805, 104024, 107243, 110462, 113681, 116901, 120119, 123339, 126559, 129778, 132997, 136217, 139436, 142656, 145875, 149094, 152312, 155533, 158751, 161971, 165190, 168411, 171629] + hit0 = 4 + data1 = [0, 18510, 22804, 27096, 31388, 35681, 39973, 44265, 48556, 52851, 57142, 61434, 65727, 70019, 74311, 78604, 82897, 87189, 91482, 95774, 100066, 104359, 108652, 112944, 117236, 121529, 125821, 130113, 134406, 138699, 142991, 147284, 151576, 155868, 160161, 164453, 168746, 173038, 177331, 181623, 185914, 190207, 194499, 198792, 203084, 207377, 211669, 215962, 220255, 224546, 228840] + hit1 = 2 + data2 = [0, 37023, 45606, 54191, 62775, 71360, 79946, 88530, 97116, 105701, 114285, 122870, 131454, 140040, 148625, 157210, 165795, 174380, 182963, 191549, 200133, 208718, 217304, 225888, 234473, 243059, 251643, 260228, 268812, 277397, 285983, 294567, 303153, 311736, 320321, 328906, 337490, 346076, 354661, 363246, 371831, 380415, 389000, 397585, 406169, 414756, 423341, 431925, 440509, 449093, 457678] + hit2 = 1 + data3 = [0, 148087, 182428, 216767, 251107, 285445, 319785, 354124, 388465, 422802, 457143, 491482, 525821, 560161, 594500, 628840, 663178, 697518, 731858, 766197, 800536, 834876, 869216, 903555, 937894, 972233, 1006574, 1040911, 1075252, 1109590, 1143931, 1178269, 1212608, 1246949, 1281288, 1315627, 1349966, 1384306, 1418645, 1452985, 1487323, 1521664, 1556002, 1590342, 1624681, 1659021, 1693360, 1727700, 1762039, 1796379, 1830717] + hit3 = 1 + data4 = [0, 11568, 14252, 16935, 19616, 22299, 24983, 27665, 30349, 33031, 35715, 38397, 41079, 43762, 46445, 49128, 51811, 54492, 57175, 59858, 62541, 65224, 67907, 70591, 73272, 75955, 78638, 81321, 84004, 86686, 89369, 92053, 94734, 97417, 100099, 102782, 105466, 108149, 110831, 113513, 116197, 118880, 121562, 124245, 126928, 129610, 132293, 134975, 137659, 140342, 143024] + hit4 = 8 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'berserker' + self.名称 = '极诣·狂战士' + self.角色 = '鬼剑士(男)' + self.类型 = '输出' + self.职业 = '狂战士' + self.武器选项 = ['太刀', '钝器', '巨剑', '短剑'] + self.输出类型选项 = ['物理固伤'] + self.防具精通属性 = ['力量'] + self.类型 = '物理固伤' + self.武器类型 = '巨剑' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.16 + + super().__init__(equVersion) diff --git a/api/core/characters/blood_mage.py b/api/core/characters/blood_mage.py new file mode 100644 index 00000000..9fc8df64 --- /dev/null +++ b/api/core/characters/blood_mage.py @@ -0,0 +1,452 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "血蝠之袭" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [24, 240] + 无色消耗 = 0 + data0 = [0, 345, 378, 414, 448, 483, 518, 553, 587, 624, 659, 692, 727, 762, 796, 832, 867, 902, 937, 972, 1005, 1042, 1077, 1111, 1145, 1181, 1214, 1251, 1285, 1320, 1355, 1391, 1423, 1460, 1495, 1529, 1563, 1599, 1633, 1670, 1704, 1739, 1773, 1809, 1841, 1878, 1913, 1948, 1983, 2017, 2053, 2089, 2121, 2156, 2191, 2226, 2262, 2297, 2331, 2367, 2402, 2434, 2470, 2506, 2540, 2575, 2610, 2645, 2681, 2716, 2749] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "血翼突击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 4298, 4732, 5169, 5605, 6043, 6476, 6911, 7350, 7784, 8221, 8655, 9090, 9528, 9963, 10400, 10834, 11273, 11707, 12144, 12578, 13014, 13451, 13886, 14323, 14758, 15196, 15630, 16065, 16504, 16937, 17374, 17809, 18244, 18682, 19116, 19553, 19988, 20427, 20860, 21295, 21732, 22168, 22605, 23039, 23476, 23912, 24350, 24784, 25218, 25656, 26091, 26528, 26962, 27397, 27835, 28270, 28708, 29141, 29579, 30015, 30449, 30887, 31321, 31758, 32193, 32632, 33065, 33500, 33938, 34372] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '鲜血融合' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 冷却关联技能 = ["血翼突击","鲜血长枪","血腥狩猎","狱血之牙","血腥炼狱","狱血之噬","血翼绽放","死亡之握","血翼蔽空"] + + def 物理攻击力倍率进图(self, 武器类型): + if self.等级 <= 10: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(0.90 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 1: + return 1.0 + else: + return 0.9 + +class 技能3(主动技能): + 名称 = "鲜血长枪" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 2891, 3182, 3475, 3768, 4062, 4356, 4648, 4941, 5234, 5527, 5819, 6114, 6408, 6701, 6994, 7285, 7579, 7871, 8166, 8459, 8750, 9043, 9338, 9630, 9923, 10218, 10509, 10802, 11096, 11391, 11682, 11975, 12270, 12562, 12855, 13150, 13441, 13733, 14026, 14320, 14612, 14906, 15198, 15493, 15786, 16078, 16371, 16666, 16959, 17251, 17544, 17837, 18129, 18425, 18718, 19009, 19302, 19596, 19888, 20182, 20478, 20770, 21061, 21354, 21648, 21939, 22233, 22527, 22820, 23113] + hit0 = 1 + data1 = [0, 2891, 3182, 3475, 3768, 4062, 4356, 4648, 4941, 5234, 5527, 5819, 6114, 6408, 6701, 6994, 7285, 7579, 7871, 8166, 8459, 8750, 9043, 9338, 9630, 9923, 10218, 10509, 10802, 11096, 11391, 11682, 11975, 12270, 12562, 12855, 13150, 13441, 13733, 14026, 14320, 14612, 14906, 15198, 15493, 15786, 16078, 16371, 16666, 16959, 17251, 17544, 17837, 18129, 18425, 18718, 19009, 19302, 19596, 19888, 20182, 20478, 20770, 21061, 21354, 21648, 21939, 22233, 22527, 22820, 23113] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '血之共鸣' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "血蝠之舞" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [80, 800] + 无色消耗 = 0 + data0 = [0, 237, 260, 284, 309, 331, 354, 382, 404, 428, 451, 474, 498, 523, 547, 571, 595, 618, 643, 665, 691, 714, 738, 764, 785, 809, 833, 857, 882, 906, 930, 953, 977, 1001, 1026, 1050, 1074, 1097, 1120, 1145, 1167, 1192, 1216, 1241, 1265, 1288, 1312, 1335, 1362, 1384, 1408, 1433, 1454, 1479, 1503, 1528, 1550, 1574, 1600, 1623, 1646, 1671, 1695, 1720, 1744, 1767, 1789, 1813, 1838, 1862, 1885] + hit0 = 29 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "血腥狩猎" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 1501, 1654, 1809, 1961, 2112, 2263, 2418, 2570, 2722, 2874, 3028, 3179, 3332, 3482, 3636, 3788, 3940, 4093, 4246, 4397, 4549, 4704, 4856, 5007, 5159, 5314, 5466, 5618, 5769, 5922, 6076, 6227, 6379, 6532, 6682, 6835, 6989, 7141, 7293, 7447, 7597, 7751, 7903, 8055, 8208, 8362, 8512, 8665, 8817, 8970, 9124, 9274, 9426, 9579, 9732, 9884, 10037, 10188, 10341, 10493, 10647, 10800, 10952, 11103, 11256, 11409, 11561, 11714, 11865, 12018] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "狱血之犬" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [112, 1120] + 无色消耗 = 0 + data0 = [0, 562, 618, 675, 734, 789, 846, 902, 959, 1016, 1073, 1130, 1186, 1242, 1301, 1358, 1416, 1471, 1527, 1584, 1641, 1699, 1756, 1811, 1869, 1925, 1983, 2039, 2099, 2154, 2210, 2268, 2324, 2382, 2438, 2494, 2551, 2608, 2666, 2722, 2777, 2835, 2893, 2950, 3007, 3063, 3122, 3177, 3235, 3291, 3348, 3404, 3460, 3517, 3574, 3634, 3690, 3747, 3803, 3860, 3917, 3974, 4030, 4088, 4143, 4201, 4257, 4314, 4371, 4429, 4486] + hit0 = 1 + data1 = [0, 562, 618, 675, 734, 789, 846, 902, 959, 1016, 1073, 1130, 1186, 1242, 1301, 1358, 1416, 1471, 1527, 1584, 1641, 1699, 1756, 1811, 1869, 1925, 1983, 2039, 2099, 2154, 2210, 2268, 2324, 2382, 2438, 2494, 2551, 2608, 2666, 2722, 2777, 2835, 2893, 2950, 3007, 3063, 3122, 3177, 3235, 3291, 3348, 3404, 3460, 3517, 3574, 3634, 3690, 3747, 3803, 3860, 3917, 3974, 4030, 4088, 4143, 4201, 4257, 4314, 4371, 4429, 4486] + hit1 = 13 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "狱血之牙" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 10043, 11059, 12079, 13098, 14117, 15136, 16154, 17172, 18192, 19210, 20230, 21249, 22266, 23284, 24303, 25323, 26340, 27360, 28380, 29397, 30416, 31435, 32454, 33473, 34491, 35509, 36527, 37547, 38565, 39584, 40604, 41622, 42641, 43660, 44679, 45696, 46715, 47734, 48752, 49771, 50791, 51808, 52828, 53846, 54866, 55884, 56901, 57921, 58939, 59958, 60978, 61996, 63014, 64033, 65052, 66071, 67090, 68109, 69125, 70145, 71165, 72182, 73202, 74221, 75239, 76259, 77277, 78294, 79313, 80333] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "血腥炼狱" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [0, 0] + 无色消耗 = 1 + data0 = [0, 1768, 1949, 2126, 2306, 2485, 2664, 2844, 3025, 3203, 3383, 3562, 3741, 3920, 4101, 4280, 4457, 4637, 4816, 4995, 5176, 5356, 5535, 5714, 5892, 6073, 6252, 6431, 6610, 6790, 6967, 7149, 7329, 7507, 7687, 7867, 8044, 8225, 8402, 8585, 8763, 8940, 9123, 9300, 9479, 9660, 9839, 10018, 10197, 10376, 10556, 10734, 10914, 11094, 11274, 11453, 11632, 11811, 11991, 12169, 12350, 12528, 12706, 12886, 13065, 13247, 13425, 13605, 13783, 13963, 14142] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能10(主动技能): + 名称 = "噬魂囚笼" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [192, 1920] + 无色消耗 = 1 + data0 = [0, 947, 1043, 1139, 1237, 1333, 1428, 1524, 1620, 1717, 1813, 1910, 2004, 2101, 2199, 2293, 2390, 2484, 2580, 2678, 2775, 2870, 2967, 3061, 3158, 3255, 3352, 3447, 3542, 3639, 3735, 3831, 3929, 4023, 4120, 4216, 4310, 4408, 4504, 4601, 4697, 4793, 4888, 4985, 5081, 5177, 5274, 5370, 5465, 5563, 5658, 5753, 5848, 5945, 6043, 6138, 6235, 6330, 6426, 6523, 6618, 6715, 6812, 6906, 7004, 7100, 7194, 7291, 7386, 7485, 7580] + hit0 = 24 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.82 + + +class 技能11(主动技能): + 名称 = "噬魂囚笼" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [192, 1920] + 无色消耗 = 1 + data0 = [0, 947, 1043, 1139, 1237, 1333, 1428, 1524, 1620, 1717, 1813, 1910, 2004, 2101, 2199, 2293, 2390, 2484, 2580, 2678, 2775, 2870, 2967, 3061, 3158, 3255, 3352, 3447, 3542, 3639, 3735, 3831, 3929, 4023, 4120, 4216, 4310, 4408, 4504, 4601, 4697, 4793, 4888, 4985, 5081, 5177, 5274, 5370, 5465, 5563, 5658, 5753, 5848, 5945, 6043, 6138, 6235, 6330, 6426, 6523, 6618, 6715, 6812, 6906, 7004, 7100, 7194, 7291, 7386, 7485, 7580] + hit0 = 24 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.82 + + +class 技能11(主动技能): + 名称 = "狱血之噬" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [0, 0] + 无色消耗 = 2 + data0 = [0, 44844, 49392, 53942, 58490, 63039, 67590, 72138, 76688, 81235, 85786, 90335, 94886, 99433, 103982, 108533, 113080, 117631, 122179, 126729, 131279, 135827, 140376, 144928, 149475, 154025, 158573, 163124, 167672, 172220, 176771, 181320, 185869, 190418, 194967, 199517, 204066, 208615, 213164, 217714, 222263, 226813, 231361, 235911, 240461, 245008, 249558, 254106, 258657, 263206, 267754, 272305, 276854, 281403, 285952, 290501, 295052, 299599, 304150, 308697, 313247, 317799, 322345, 326896, 331444, 335994, 340543, 345091, 349641, 354191, 358739] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能12(被动技能): + 名称 = '血狱之力' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "伯爵之歌" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [0, 0] + 无色消耗 = 5 + data0 = [0, 5278, 6501, 7723, 8947, 10171, 11394, 12619, 13842, 15065, 16291, 17513, 18736, 19961, 21182, 22407, 23630, 24853, 26077, 27300, 28525, 29749, 30971, 32195, 33420, 34642, 35865, 37090, 38312, 39536, 40761, 41982, 43205, 44430, 45655, 46878, 48102, 49325, 50548, 51771, 52995, 54219, 55441, 56666, 57890, 59112, 60336, 61560, 62784, 64006, 65231] + hit0 = 14 + data1 = [0, 31660, 39001, 46340, 53684, 61024, 68366, 75708, 83049, 90388, 97732, 105072, 112412, 119756, 127098, 134437, 141778, 149121, 156461, 163802, 171142, 178485, 185825, 193168, 200509, 207851, 215191, 222531, 229873, 237215, 244556, 251897, 259236, 266580, 273922, 281262, 288604, 295946, 303285, 310627, 317968, 325310, 332652, 339992, 347334, 354674, 362016, 369357, 376700, 384039, 391380] + hit1 = 1 + + +class 技能14(主动技能): + 名称 = "魔仆召唤:狱犬" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [640, 1920] + 无色消耗 = 1 + data0 = [0, 1899, 2092, 2284, 2477, 2669, 2863, 3056, 3247, 3440, 3632, 3824, 4017, 4210, 4401, 4595, 4786, 4980, 5172, 5366, 5558, 5749, 5943, 6134, 6328, 6520, 6714, 6906, 7098, 7291, 7484, 7677, 7869, 8062, 8255, 8446, 8639, 8833, 9023, 9216, 9409, 9601, 9793, 9988, 10180, 10372, 10564, 10758, 10950, 11141, 11335] + hit0 = 17 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.22 + self.CDR *= 0.8 + + +class 技能15(主动技能): + 名称 = "血翼绽放" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [0, 0] + 无色消耗 = 2 + data0 = [0, 21552, 23736, 25923, 28110, 30295, 32482, 34669, 36855, 39040, 41228, 43413, 45599, 47784, 49971, 52160, 54345, 56531, 58718, 60904, 63091, 65278, 67463, 69649, 71835, 74022, 76209, 78394, 80581, 82768, 84952, 87140, 89326, 91513, 93699, 95884, 98071, 100258, 102444, 104629, 106815, 109000, 111190, 113376, 115560, 117746, 119933, 122118, 124305, 126492, 128678] + hit0 = 1 + data1 = [0, 32326, 35605, 38885, 42164, 45445, 48724, 52003, 55282, 58561, 61841, 65120, 68402, 71680, 74960, 78239, 81517, 84796, 88076, 91357, 94635, 97916, 101192, 104473, 107753, 111033, 114312, 117590, 120871, 124149, 127430, 130708, 133989, 137269, 140548, 143827, 147105, 150387, 153665, 156945, 160222, 163503, 166782, 170062, 173341, 176620, 179900, 183179, 186458, 189738, 193016] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能16(主动技能): + 名称 = "地狱冥犬" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [1066, 2133] + 无色消耗 = 3 + data0 = [0, 1621, 1879, 2139, 2396, 2650, 2914, 3172, 3428, 3687, 3945, 4201, 4463, 4719, 4977, 5237, 5495, 5753, 6012, 6269, 6529, 6787, 7045, 7305, 7564, 7822, 8081, 8337, 8596, 8857, 9111, 9370, 9628, 9886, 10143, 10403, 10661, 10919, 11179, 11436, 11694, 11954, 12210, 12471, 12727, 12986, 13245, 13502, 13760, 14020, 14279] + hit0 = 20 + data1 = [0, 32404, 37572, 42737, 47904, 53071, 58238, 63405, 68571, 73738, 78902, 84066, 89233, 94400, 99565, 104734, 109900, 115067, 120232, 125401, 130565, 135730, 140895, 146061, 151226, 156396, 161562, 166728, 171895, 177061, 182226, 187393, 192559, 197722, 202889, 208057, 213223, 218390, 223556, 228722, 233888, 239052, 244221, 249386, 254553, 259720, 264885, 270052, 275218, 280385, 285549] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能17(被动技能): + 名称 = '鲜血之殇' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "死亡之握" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [0, 0] + 无色消耗 = 5 + data0 = [0, 124351, 136965, 149580, 162196, 174810, 187427, 200042, 212656, 225273, 237887, 250503, 263118, 275732, 288349, 300964, 313578, 326194, 338809, 351425, 364040, 376654, 389269, 401886, 414501, 427116, 439731, 452346, 464961, 477577, 490192, 502807, 515421, 528037, 540654, 553269, 565883, 578498, 591113, 603730, 616344, 628960, 641576, 654190, 666805, 679421, 692036, 704652, 717266, 729881, 742498] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能19(主动技能): + 名称 = "血界彼岸" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [0, 0] + 无色消耗 = 10 + data0 = [0, 3549, 4373, 5194, 6018, 6841, 7664, 8487, 9309, 10132, 10955, 11779, 12601, 13425, 14248, 15070, 15893, 16716, 17539, 18363, 19185, 20005, 20829, 21651, 22476, 23299, 24121, 24944, 25767, 26590, 27414, 28236, 29060, 29882, 30704, 31527, 32350, 33174, 33995, 34819, 35642, 36466, 37288, 38111, 38934, 39756, 40579, 41403, 42225, 43049, 43870] + hit0 = 34 + data1 = [0, 120659, 148636, 176616, 204595, 232572, 260550, 288530, 316509, 344487, 372466, 400444, 428422, 456402, 484380, 512359, 540337, 568316, 596293, 624271, 652252, 680231, 708207, 736187, 764165, 792144, 820122, 848101, 876080, 904060, 932036, 960015, 987995, 1015973, 1043951, 1071931, 1099908, 1127887, 1155865, 1183845, 1211823, 1239801, 1267780, 1295758, 1323736, 1351716, 1379695, 1407673, 1435651, 1463631, 1491608] + hit1 = 1 + + +class 技能20(主动技能): + 名称 = "血翼蔽空" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [0, 0] + 无色消耗 = 7 + data0 = [0, 200503, 220846, 241187, 261528, 281868, 302210, 322551, 342892, 363234, 383575, 403916, 424257, 444597, 464937, 485279, 505621, 525961, 546302, 566644, 586984, 607326, 627668, 648006, 668350, 688689, 709032, 729371, 749713, 770054, 790395, 810737, 831079, 851417, 871760, 892100, 912442, 932781, 953123, 973464, 993806, 1014148, 1034488, 1054827, 1075170, 1095509, 1115852, 1136194, 1156535, 1176876, 1197216] + hit0 = 1 + + +class 技能21(被动技能): + 名称 = '血源之眼' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "血域帷幕·陨灭" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [0, 0] + 无色消耗 = 15 + data0 = [0, 68076, 83862, 99647, 115431, 131217, 147002, 162788, 178572, 194359, 210144, 225928, 241715, 257500, 273286, 289072, 304857, 320643, 336428, 352213, 367999, 383783, 399570, 415356, 431139, 446925, 462710, 478496, 494283, 510067, 525854, 541639, 557424, 573210, 588995, 604781, 620567, 636350, 652136, 667922, 683706, 699492, 715278, 731064, 746847, 762634, 778420, 794206, 809991, 825777, 841563] + hit0 = 1 + data1 = [0, 6808, 8387, 9965, 11543, 13122, 14701, 16278, 17857, 19435, 21014, 22593, 24172, 25750, 27329, 28909, 30486, 32064, 33643, 35222, 36800, 38378, 39957, 41536, 43114, 44693, 46271, 47849, 49428, 51007, 52585, 54164, 55744, 57321, 58899, 60478, 62057, 63636, 65214, 66793, 68371, 69950, 71528, 73106, 74684, 76263, 77843, 79422, 80999, 82579, 84158] + hit1 = 20 + data2 = [0, 476523, 587021, 697520, 808017, 918515, 1029014, 1139512, 1250009, 1360508, 1471007, 1581504, 1692003, 1802500, 1912998, 2023498, 2133996, 2244492, 2354990, 2465489, 2575986, 2686484, 2796983, 2907481, 3017979, 3128477, 3238976, 3349472, 3459973, 3570470, 3680968, 3791466, 3901964, 4012462, 4122960, 4233460, 4343956, 4454455, 4564950, 4675450, 4785950, 4896447, 5006946, 5117442, 5227940, 5338438, 5448939, 5559434, 5669934, 5780432, 5890929] + hit2 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'blood_mage' + self.名称 = '知源·血法师' + self.角色 = '魔法师(男)' + self.角色类型 = '输出' + self.职业 = '血法师' + # 用来筛CP武器的 + self.转职 = '血法师' + self.武器选项 = ['矛'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '矛' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.97 + + super().__init__(equVersion) diff --git a/api/core/characters/brawler_female.py b/api/core/characters/brawler_female.py new file mode 100644 index 00000000..c36e99d5 --- /dev/null +++ b/api/core/characters/brawler_female.py @@ -0,0 +1,1008 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 涂毒倍率 = 1.0 + + def 基础百分比(self, 类型, 等级): + temp = super().基础百分比(类型, 等级) + if 类型 == '中毒': + temp += super().基础百分比('涂毒', 等级) * self.涂毒倍率 + return temp*self.国服特色 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 关联技能 = ['天罗地网'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "抛沙" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [15, 154] + 无色消耗 = 0 + data0 = [0, 707, 792, 879, 963, 1048, 1135, 1220, 1306, 1394, 1475, 1561, 1647, 1733, 1818, 1904, 1985, 2072, 2156, 2242, 2327, 2413, 2498, 2585, 2671, 2757, 2843, 2928, 3011, 3095, 3182, 3269, 3354, 3438, 3525, 3612, 3697, 3783, 3864, 3952, 4037, 4125, 4209, 4291, 4377, 4460, 4547, 4633, 4716, 4802, 4889, 4974, 5061, 5146, 5233, 5316, 5404, 5487, 5572, 5659, 5743, 5827, 5912, 6001, 6084, 6167, 6253, 6341, 6426, 6511, 6598] + hit0 = 1 + 涂毒data0 = [0, 70, 82, 89, 96, 104, 116, 122, 129, 139, 147, 156, 165, 173, 183, 193, 199, 207, 214, 225, 231, 242, 251, 260, 268, 276, 284, 294, 301, 308, 319, 326, 335, 342, 353, 361, 369, 379, 386, 396, 403, 413, 423, 429, 439, 444, 456, 463, 471, 481, 491, 499, 507, 515, 524, 531, 539, 550, 558, 565, 572, 584, 592, 600, 608, 616, 626, 634, 641, 653, 660] + 涂毒hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # 双重投掷伤害减少仅适用于抛沙(直伤) + def 双重投掷(self, 等级): + self.hit0 *= 1+0.30+0.02*等级 + self.涂毒hit0 *= 2 + + +class 技能2(主动技能): + 名称 = "擒月炎" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5.5 + MP = [30, 280] + 无色消耗 = 0 + + data0 = [0, 745, 814, 883, 954, 1022, 1097, 1168, 1234, 1300, 1371, 1443, 1512, 1581, 1653, 1721, 1792, 1866, 1931, 2001, 2070, 2138, 2205, 2281, 2352, 2420, 2490, 2561, 2627, 2698, 2771, 2841, 2908, 2978, 3043, 3115, 3186, 3260, 3325, 3400, 3467, 3536, 3608, 3674, 3741, 3814, 3883, 3950, 4026, 4098, 4098, 4230, 4298, 4366, 4437, 4508, 4577, 4644, 4714, 4786, 4854, 4929, 4994, 5065, 5134, 5202, 5273, 5339, 5415, 5481, 5553] + power0 = 1.6 + hit0 = 1 + data1 = [0, 1715, 1869, 2032, 2194, 2352, 2518, 2684, 2837, 2994, 3156, 3316, 3474, 3636, 3805, 3960, 4124, 4284, 4440, 4603, 4760, 4915, 5076, 5246, 5409, 5564, 5727, 5887, 6043, 6203, 6375, 6530, 6686, 6852, 7007, 7167, 7330, 7493, 7645, 7815, 7981, 8134, 8295, 8455, 8608, 8771, 8934, 9088, 9258, 9418, 9418, 9725, 9888, 10042, 10207, 10367, 10522, 10686, 10842, 11010, 11166, 11332, 11485, 11647, 11809, 11966, 12125, 12282, 12452, 12608, 12769] + power1 = 1.6 + hit1 = 1 + 涂毒data0 = [0, 74, 81, 87, 94, 105, 110, 117, 123, 128, 136, 145, 152, 158, 167, 172, 180, 186, 194, 201, 208, 213, 220, 227, 237, 244, 250, 253, 261, 271, 279, 286, 290, 296, 303, 311, 318, 326, 332, 339, 346, 353, 361, 367, 375, 381, 388, 394, 403, 411, 411, 423, 432, 437, 445, 454, 459, 464, 470, 477, 486, 493, 501, 507, 511, 520, 526, 537, 540, 548, 552] + 涂毒power0 = 1.6 + 涂毒hit0 = 1 + 涂毒data1 = [0, 171, 186, 206, 220, 237, 252, 271, 286, 299, 315, 332, 346, 365, 379, 396, 411, 427, 445, 460, 477, 492, 509, 525, 540, 554, 573, 590, 604, 620, 637, 652, 669, 685, 703, 718, 734, 749, 765, 784, 798, 814, 831, 844, 862, 876, 890, 909, 926, 943, 943, 973, 990, 1005, 1022, 1036, 1051, 1069, 1084, 1100, 1117, 1132, 1150, 1164, 1182, 1197, 1212, 1228, 1247, 1261, 1277] + 涂毒power1 = 1.6 + 涂毒hit1 = 1 + + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "毒影针" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [50, 420] + 无色消耗 = 0 + + data0 = [0, 1161, 1279, 1396, 1514, 1632, 1750, 1868, 1984, 2101, 2220, 2336, 2455, 2573, 2691, 2808, 2928, 3045, 3162, 3281, 3400, 3516, 3632, 3752, 3869, 3986, 4104, 4221, 4339, 4456, 4577, 4694, 4811, 4929, 5047, 5167, 5283, 5399, 5519, 5635, 5753, 5870, 5991, 6108, 6225, 6344, 6460, 6577, 6696, 6814, 6931, 7049, 7166, 7286, 7401, 7520, 7639, 7755, 7875, 7992, 8110, 8228, 8345, 8463, 8580, 8697, 8815, 8931, 9052, 9169, 9285] + hit0 = 1 + 中毒data0 = [0, 1128, 1238, 1355, 1469, 1583, 1698, 1812, 1925, 2041, 2156, 2271, 2383, 2498, 2611, 2724, 2841, 2955, 3070, 3186, 3298, 3413, 3527, 3641, 3754, 3869, 3984, 4097, 4213, 4326, 4443, 4556, 4671, 4785, 4897, 5013, 5126, 5241, 5356, 5469, 5586, 5699, 5814, 5927, 6041, 6157, 6269, 6385, 6498, 6615, 6726, 6842, 6957, 7071, 7186, 7299, 7413, 7527, 7642, 7755, 7871, 7987, 8101, 8213, 8328, 8442, 8556, 8670, 8785, 8899, 9013] + 中毒hit0 = 1 + 出血data0 = [0, 1128, 1238, 1355, 1469, 1583, 1698, 1812, 1925, 2041, 2156, 2271, 2383, 2498, 2611, 2724, 2841, 2955, 3070, 3186, 3298, 3413, 3527, 3641, 3754, 3869, 3984, 4097, 4213, 4326, 4443, 4556, 4671, 4785, 4897, 5013, 5126, 5241, 5356, 5469, 5586, 5699, 5814, 5927, 6041, 6157, 6269, 6385, 6498, 6615, 6726, 6842, 6957, 7071, 7186, 7299, 7413, 7527, 7642, 7755, 7871, 7987, 8101, 8213, 8328, 8442, 8556, 8670, 8785, 8899, 9013] + 出血hit0 = 1 + 涂毒data0 = [0, 341, 376, 410, 444, 480, 514, 549, 582, 618, 653, 686, 722, 757, 791, 826, 861, 895, 929, 965, 997, 1033, 1067, 1105, 1136, 1173, 1208, 1243, 1277, 1308, 1346, 1379, 1415, 1448, 1485, 1519, 1554, 1588, 1625, 1656, 1690, 1727, 1760, 1797, 1830, 1867, 1900, 1932, 1970, 2002, 2038, 2073, 2107, 2142, 2176, 2212, 2247, 2280, 2313, 2352, 2384, 2419, 2454, 2490, 2523, 2556, 2594, 2625, 2661, 2695, 2732] + 涂毒hit0 = 1 + + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = '双重投掷' + 所在等级 = 20 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + 是否有伤害 = 0 + 关联技能 = ['无'] + MP = [194, 1840] + + +class 技能5(主动技能): + 名称 = '砖袭' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.0 + MP = [50, 420] + data0 = [0, 2231, 2459, 2687, 2911, 3140, 3367, 3592, 3820, 4046, 4273, 4500, 4725, 4954, 5177, 5404, 5633, 5858, 6087, 6313, 6539, 6766, 6989, 7220, 7447, 7673, 7898, 8128, 8351, 8578, 8804, 9031, 9259, 9485, 9713, 9937, 10165, 10393, 10618, 10844, 11070, 11300, 11523, 11751, 11979, 12205, 12430, 12658, 12886, 13110, 13338, 13566, 13792, 14018, 14244, 14472, 14695, 14923, 15151, 15376, 15602, 15829, 16058, 16283, 16510, 16736, 16964, 17189, 17416, 17644, 17868] + hit0 = 1 + data1 = [0, 1528, 1681, 1837, 1990, 2146, 2303, 2456, 2612, 2769, 2922, 3077, 3234, 3387, 3543, 3699, 3851, 4006, 4164, 4317, 4472, 4628, 4781, 4938, 5094, 5247, 5403, 5560, 5712, 5867, 6023, 6177, 6334, 6490, 6643, 6797, 6953, 7106, 7263, 7420, 7573, 7727, 7884, 8037, 8192, 8349, 8503, 8659, 8815, 8968, 9123, 9279, 9430, 9590, 9746, 9897, 10052, 10209, 10362, 10518, 10674, 10829, 10984, 11140, 11293, 11447, 11606, 11758, 11914, 12070, 12223] + hit1 = 1 + 涂毒data0 = [0, 221, 246, 268, 290, 313, 337, 359, 379, 403, 428, 449, 470, 492, 518, 541, 563, 585, 609, 629, 651, 679, 697, 720, 743, 766, 789, 811, 835, 857, 879, 901, 926, 950, 970, 992, 1017, 1038, 1060, 1084, 1109, 1128, 1150, 1176, 1197, 1218, 1241, 1267, 1288, 1309, 1333, 1358, 1379, 1401, 1423, 1448, 1468, 1490, 1516, 1537, 1559, 1581, 1606, 1627, 1651, 1674, 1697, 1716, 1740, 1766, 1784] + 涂毒hit0 = 1 + 涂毒data1 = [0, 153, 168, 183, 198, 213, 227, 246, 261, 278, 290, 307, 321, 337, 352, 371, 385, 401, 416, 430, 446, 460, 477, 492, 510, 525, 541, 553, 569, 585, 602, 616, 630, 649, 664, 680, 694, 709, 725, 741, 755, 773, 788, 803, 818, 835, 850, 865, 879, 894, 912, 926, 943, 957, 974, 989, 1004, 1018, 1035, 1051, 1068, 1081, 1097, 1113, 1127, 1142, 1157, 1176, 1192, 1207, 1221] + 涂毒hit1 = 1 + + TP成长 = 0.10 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '爪精通' + 所在等级 = 25 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + 关联技能 = ['无'] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.21 + 0.01 * self.等级, 5) + + def 魔法攻击力倍率(self, 武器类型): + return self.物理攻击力倍率(武器类型) + + +class 技能7(主动技能): + 名称 = '天罗地网' + 所在等级 = 35 + 等级上限 = 11 + 学习间隔 = 3 + 等级精通 = 1 + CD = 11 + MP = [180, 180] + 无色消耗 = 0 + data0 = [0, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809, 1809] + 涂毒data0 = [0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150] + 涂毒hit0 = 1.0 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能8(主动技能): + 名称 = '挑衅' + 所在等级 = 35 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 是否有伤害 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05 + 0.02 * self.等级, 5) + + +# 点狂·霸王拳TP时 +# 抓取的话就是基础8hit,每多1tp+1hit;但不受到狂·霸王拳额外倍率加成 +# 数据都用伏虎霸王拳的data +# 不点狂·霸王拳TP时 +# 抓取用伏虎霸王拳的data,8hit;非抓用狂·霸王拳的data,hit1 +class 技能9(主动技能): + 名称 = '伏虎霸王拳' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15.0 + MP = [80, 672] + 无色消耗 = 0 + data0 = [0, 760, 838, 916, 993, 1071, 1148, 1225, 1302, 1379, 1458, 1533, 1612, 1687, 1766, 1842, 1921, 1998, 2076, 2152, 2230, 2306, 2382, 2461, 2539, 2616, 2693, 2770, 2848, 2924, 3003, 3081, 3156, 3233, 3311, 3388, 3467, 3543, 3621, 3697, 3776, 3850, 3931, 4007, 4084, 4162, 4240, 4318, 4395, 4472, 4550, 4626, 4705, 4781, 4858, 4935, 5013, 5090, 5167, 5246, 5322, 5399, 5478, 5552, 5632, 5707, 5787, 5862, 5941, 6018, 6095] + # power0 = 1.6 + 涂毒data0 = [0, 76, 83, 91, 99, 107, 114, 122, 128, 138, 144, 153, 160, 169, 175, 184, 192, 198, 206, 214, 222, 230, 237, 245, 253, 260, 269, 275, 282, 292, 298, 308, 316, 322, 330, 339, 349, 353, 359, 369, 378, 384, 392, 400, 409, 416, 423, 430, 439, 447, 454, 462, 470, 478, 484, 493, 501, 508, 514, 523, 532, 539, 547, 555, 563, 570, 578, 586, 593, 600, 608] + # 涂毒power0 = 1.6 + 涂毒hit0 = 1.0 + + TP上限 = 5 + TP数据 = [0, 9.29, 10.14, 10.98, 11.83, 12.67, 13.51,14.357] + + def TP加成(self): + return self.TP数据[self.TP等级] + + +class 技能10(被动技能): + 名称 = '狂·霸王拳' + 所在等级 = 40 + 等级上限 = 11 + 学习间隔 = 3 + 等级精通 = 1 + 关联技能 = ['伏虎霸王拳'] + 额外倍率 = 1 + 异常倍率 = 1.6 + + MP = [0, 0] + 无色消耗 = 1 + + # 不点狂·霸王拳TP时,非抓用狂·霸王拳的data + # data0 = [int(i) for i in [0, 6411, 6595, 6778, 6962, 7147, 7331, 7516, 7698, 7883, 8067, 8251]] + # hit0 = 1 + # 涂毒data0 = [int(i) for i in [0, 572, 585, 597, 610, 624, 638, 651, 661, 675, 687, 701]] + # 涂毒hit0 = 1 + + def 技能描述(self, 武器类型): + temp = '' + temp += '加成倍率:' + \ + str(round(round(1.40 + 0.02 * self.等级, 5)*100-100, 2)) + '%
' + temp += '关联技能:伏虎霸王拳' + return temp + + def 加成倍率(self, 武器类型): + return round((1.40 + 0.02 * self.等级)*self.额外倍率*self.异常倍率, 5) + + + +class 技能11(主动技能): + 名称 = '裂地飞沙' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 1820] + 无色消耗 = 1 + data0 = [0, 11415, 12574, 13731, 14887, 16046, 17205, 18362, 19521, 20676, 21837, 22995, 24151, 25312, 26468, 27624, 28784, 29941, 31099, 32256, 33412, 34574, 35731, 36888, 38044, 39204, 40362, 41520, 42679, 43834, 44994, 46152, 47310, 48469, 49625, 50784, 51941, 53101, 54259, 55415, 56572, 57731, 58891, 60049, 61204, 62362, 63522, 64680, 65837, 66993, 68153, 69310, 70468, 71628, 72786, 73942, 75099, 76262, 77417, 78576, 79735, 80893, 82051, 83207, 84365, 85523, 86681, 87837, 88996, 90155, 91311] + hit0 = 1 + 涂毒data0 = [0, 1141, 1258, 1373, 1487, 1605, 1719, 1837, 1951, 2067, 2183, 2301, 2416, 2532, 2649, 2763, 2879, 2994, 3110, 3223, 3343, 3457, 3573, 3687, 3804, 3919, 4034, 4150, 4266, 4382, 4498, 4614, 4732, 4846, 4962, 5076, 5192, 5309, 5424, 5540, 5656, 5773, 5888, 6003, 6121, 6236, 6351, 6468, 6582, 6698, 6815, 6932, 7049, 7162, 7278, 7393, 7510, 7625, 7741, 7856, 7974, 8088, 8206, 8321, 8437, 8551, 8668, 8784, 8900, 9015, 9130] + 涂毒hit0 = 1.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.power0 = 1.2 + self.power1 = 1.2 + if 形态 == "抓取": + self.power0 = 1.0 + self.power1 = 1.0 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能12(主动技能): + 名称 = '毒雷引爆' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 24 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 1546, 1703, 1859, 2018, 2175, 2331, 2488, 2644, 2802, 2959, 3115, 3272, 3428, 3586, 3743, 3899, 4056, 4213, 4370, 4527, 4683, 4840, 4998, 5154, 5312, 5468, 5625, 5783, 5939, 6096, 6252, 6410, 6567, 6723, 6880, 7036, 7194, 7351, 7507, 7664, 7820, 7978, 8135, 8291, 8448, 8606, 8763, 8920, 9076, 9233, 9391, 9547, 9704, 9860, 10017, 10175, 10331, 10488, 10645, 10802, 10959, 11115, 11272, 11429, 11587, 11744, 11900, 12057, 12214, 12371] + hit0 = 7 + 中毒data0 = [0, 663, 729, 798, 864, 931, 998, 1067, 1133, 1201, 1268, 1336, 1402, 1469, 1537, 1604, 1671, 1738, 1806, 1873, 1940, 2007, 2074, 2142, 2208, 2276, 2344, 2411, 2478, 2546, 2613, 2679, 2747, 2814, 2882, 2948, 3016, 3083, 3151, 3217, 3285, 3352, 3419, 3486, 3553, 3621, 3688, 3755, 3822, 3890, 3957, 4023, 4092, 4159, 4226, 4293, 4361, 4428, 4495, 4562, 4630, 4697, 4763, 4831, 4898, 4966, 5032, 5101, 5167, 5235, 5301] + 中毒hit0 = 7 + 涂毒data0 = [0, 221, 243, 266, 288, 310, 333, 355, 377, 400, 423, 446, 468, 490, 512, 534, 557, 580, 602, 624, 646, 668, 691, 715, 737, 759, 781, 803, 825, 849, 871, 893, 915, 937, 960, 983, 1006, 1028, 1050, 1072, 1095, 1117, 1139, 1162, 1184, 1207, 1230, 1252, 1274, 1297, 1319, 1341, 1364, 1386, 1408, 1430, 1454, 1476, 1499, 1521, 1543, 1565, 1587, 1611, 1633, 1655, 1677, 1699, 1722, 1746, 1768] + 涂毒hit0 = 7 + CD = 24.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [180, 1512] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.42 + self.CD *= 0.5 + + +class 技能13(主动技能): + 名称 = '街头风暴' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [450, 3780] + 无色消耗 = 2 + data0 = [0, 219, 242, 264, 287, 308, 331, 352, 375, 398, 419, 442, 463, 487, 509, 531, 553, 575, 598, 620, 642, 664, 687, 709, 731, 754, 776, 798, 821, 843, 865, 886, 909, 932, 954, 976, 998, 1021, 1044, 1066, 1087, 1110, 1132, 1155, 1177, 1199, 1221, 1243, 1266, 1287, 1311, 1332, 1355, 1377, 1400, 1422, 1443, 1466, 1488, 1511, 1532, 1555, 1578, 1600, 1622, 1644, 1668, 1690, 1713, 1734, 1757] + hit0 = 25 + data1 = [0, 19282, 21235, 23192, 25148, 27105, 29062, 31017, 32974, 34930, 36885, 38842, 40797, 42754, 44711, 46664, 48622, 50579, 52534, 54491, 56445, 58402, 60359, 62314, 64271, 66228, 68182, 70138, 72094, 74051, 76008, 77963, 79920, 81875, 83831, 85788, 87744, 89700, 91656, 93612, 95568, 97524, 99480, 101437, 103391, 105348, 107305, 109260, 111217, 113173, 115128, 117086, 119042, 120997, 122954, 124909, 126866, 128821, 130777, 132734, 134690, 136646, 138602, 140558, 142515, 144470, 146426, 148383, 150338, 152294, 154250] + hit1 = 1 + # 灼伤异常 + 灼伤data0 = [0, 1812, 1996, 2180, 2364, 2548, 2732, 2915, 3099, 3283, 3468, 3651, 3836, 4020, 4203, 4388, 4572, 4755, 4939, 5123, 5306, 5490, 5674, 5858, 6042, 6226, 6410, 6594, 6777, 6963, 7147, 7330, 7515, 7699, 7881, 8066, 8250, 8433, 8616, 8802, 8985, 9168, 9354, 9537, 9720, 9907, 10090, 10272, 10457, 10641, 10824, 11009, 11193, 11376, 11560, 11744, 11928, 12112, 12296, 12480, 12663, 12847, 13031, 13215, 13400, 13582, 13768, 13952, 14135, 14320, 14504] + 灼伤hit0 = 1 + 涂毒data0 = [0, 18, 20, 21, 23, 26, 27, 29, 30, 35, 36, 38, 39, 41, 43, 44, 46, 48, 50, 51, 54, 57, 58, 60, 61, 64, 65, 67, 68, 70, 73, 74, 78, 79, 81, 83, 84, 86, 88, 90, 91, 94, 96, 97, 99, 101, 104, 105, 107, 108, 110, 112, 114, 116, 118, 119, 121, 123, 126, 128, 129, 131, 133, 136, 137, 139, 141, 142, 145, 146, 149] + 涂毒hit0 = 25 + 涂毒power0 = 1 + 涂毒data1 = [0, 2173, 2394, 2617, 2838, 3056, 3279, 3500, 3722, 3941, 4160, 4383, 4603, 4824, 5045, 5266, 5484, 5707, 5928, 6146, 6369, 6590, 6812, 7029, 7250, 7473, 7693, 7914, 8135, 8355, 8576, 8798, 9015, 9236, 9459, 9680, 9901, 10121, 10340, 10563, 10783, 11002, 11225, 11445, 11666, 11888, 12105, 12326, 12549, 12770, 12990, 13211, 13432, 13654, 13873, 14092, 14315, 14535, 14756, 14977, 15197, 15416, 15639, 15860, 16080, 16301, 16522, 16743, 16961, 17182, 17405] + 涂毒hit1 = 1 + + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + 形态 = ["满", "秒C"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.hit0 = 25 + self.hit1 = 1 + self.中毒hit0 = 1 + self.涂毒hit0 = 25 + self.涂毒hit1 = 1 + if 形态 == "秒C": + self.hit0 = 2 + self.hit1 = 1 + self.中毒hit0 = 1 + self.涂毒hit0 = 2 + self.涂毒hit1 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + # 双重投掷伤害减少仅适用于扔垃圾部分 + def 双重投掷(self, 等级): + self.power0 *= 1+0.49+0.01*等级 + self.涂毒power0 *= 2 + + +class 技能14(被动技能): + 名称 = '猛毒之血' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.035 + 0.015 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = '死亡毒雾' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 13028, 16078, 19134, 22195, 25245, 28297, 31355, 34406, 37450, 40510, 43565, 46615, 49671, 52726, 55780, 58834, 61882, 64943, 67985, 71045, 74104, 77155, 80209, 83259, 86310, 89359, 92422, 95471, 98530, 101580, 104636, 107693, 110749, 113797, 116845, 119898, 122957, 126018, 129062, 132119, 135172, 138223, 141287, 144330, 147391, 150441, 153495, 156546, 159605, 162660] + hit0 = 4 + # 中毒的持续时间为2s;每0.5shit跳为面板/4;跳满为33 + # 和常规不同的是,死亡毒雾的机制是刷新当前中毒的持续时间;常规的话多hit中毒叠加,中毒数字是会不断上升的 + # 但死亡毒雾机制因为是不断刷新范围内中毒的这个状态的刷新时间,所以伤害数字恒定。 + 中毒data0 = [0, 878, 1081, 1285, 1490, 1693, 1894, 2101, 2304, 2508, 2713, 2914, 3120, 3322, 3523, 3733, 3934, 4137, 4342, 4544, 4747, 4953, 5157, 5361, 5564, 5765, 5972, 6175, 6378, 6581, 6784, 6990, 7193, 7397, 7601, 7803, 8005, 8213, 8416, 8618, 8822, 9025, 9231, 9434, 9637, 9842, 10045, 10248, 10453, 10656, 10857] + 中毒hit0 = 33 + 中毒power0 = 1/3 + 涂毒data0 = [0, 1309, 1616, 1918, 2221, 2525, 2832, 3139, 3439, 3747, 4050, 4349, 4655, 4959, 5266, 5569, 5873, 6179, 6478, 6784, 7089, 7389, 7696, 8003, 8307, 8610, 8912, 9219, 9525, 9827, 10131, 10438, 10738, 11042, 11346, 11652, 11959, 12260, 12568, 12871, 13169, 13476, 13781, 14085, 14390, 14695, 15001, 15300, 15602, 15910, 16211] + 涂毒hit0 = 4 + 力智 = [0, 0, 0, 0, 0, 0, 130, 137, 143, 150, 156, 163, 169, 176, 182, 189, 195, 202, 208, 215, 221, 228, 234, 241, 247, 254, 260, 267, 273, 280, 286, 293, 299, 306, 312, 319, 325, 332, 338, 345, 351, 358, 364, 371, 377, 384, 390, 397, 403, 410, 416] + 防御 = [0, 0, 0, 1699, 1916, 2144, 2382, 2634, 2896, 3172, 3458, 3757, 4066, 4390, 4724, 5069, 5428, 5797, 6178, 6570, 6976, 7393, 7821, 8262, 8714, 9178, 9654, 10141, 10641, 11153, 11675, 12210, 12758, 13316, 13885, 14469, 15063, 15669, 16286, 16917, 17558, 18210, 18876, 19553, 20241, 20942, 21654, 22378, 23114, 23862, 24384] + CD = 145 + + 形态 = ["满", "x20", "x15", "x10", "buff"] + buff = False + temp = {} + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "buff": + if self.buff: + self.buff = False + char.固定防御减少(-self.temp['减防']) + char.基础属性加成(力智=-self.temp['力智']) + else: + self.buff = True + self.temp['减防'] = self.防御减少() + self.temp['力智'] = self.力智加成() + char.固定防御减少(self.temp['减防']) + char.基础属性加成(力智=self.temp['力智']) + char.伤害指数计算() + self.hit0 = 0.0 + self.中毒hit0 = 0.0 + self.涂毒hit0 = 0.0 + elif 形态 == "满": + self.hit0 = 4 + self.中毒hit0 = 33 + self.涂毒hit0 = 4 + elif 形态 == "x20": + self.hit0 = 4 + self.中毒hit0 = 20 + self.涂毒hit0 = 4 + elif 形态 == "x15": + self.hit0 = 4 + self.中毒hit0 = 15 + self.涂毒hit0 = 4 + elif 形态 == "x10": + self.hit0 = 4 + self.中毒hit0 = 10 + self.涂毒hit0 = 4 + + def 力智加成(self): + return self.力智[self.等级] + + def 防御减少(self): + return self.防御[self.等级] + + def 技能描述(self, 武器类型): + temp = '力量/智力+' + str(self.力智加成()) + temp += '
防御减少:' + str(self.防御减少()) + return temp + + +class 技能16(主动技能): + 名称 = '猛毒擒月炎' + 备注 = '3异常(满)' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [280, 784] + 无色消耗 = 1 + data0 = [0, 2463, 2716, 2965, 3214, 3465, 3716, 3966, 4214, 4464, 4713, 4965, 5214, 5465, 5718, 5966, 6216, 6466, 6715, 6967, 7218, 7468, 7716, 7965, 8216, 8464, 8716, 8966, 9218, 9467, 9716, 9967, 10219, 10465, 10715, 10968, 11219, 11468, 11718, 11967, 12217, 12467, 12719, 12967, 13217, 13467, 13718, 13969, 14217, 14467, 14718] + hit0 = 1 + power0 = 1.6 + data1 = [0, 11019, 12139, 13255, 14373, 15493, 16609, 17728, 18848, 19966, 21082, 22202, 23322, 24437, 25555, 26673, 27790, 28909, 30029, 31143, 32262, 33382, 34499, 35617, 36735, 37854, 38972, 40088, 41206, 42323, 43443, 44562, 45677, 46797, 47916, 49033, 50151, 51270, 52389, 53508, 54623, 55740, 56862, 57978, 59095, 60216, 61333, 62450, 63571, 64686, 65805] + hit1 = 1 + power1 = 1.6 + 中毒data0 = [0, 2132, 2351, 2566, 2784, 3000, 3215, 3431, 3651, 3867, 4083, 4298, 4517, 4733, 4949, 5165, 5384, 5599, 5815, 6033, 6247, 6463, 6680, 6896, 7115, 7331, 7545, 7763, 7980, 8197, 8414, 8629, 8846, 9063, 9279, 9495, 9715, 9929, 10146, 10364, 10579, 10795, 11010, 11226, 11445, 11660, 11878, 12093, 12311, 12529, 12743] + 中毒hit0 = 1.0 + 中毒power0 = 1.6 + 涂毒data0 = [0, 244, 271, 295, 321, 346, 371, 397, 422, 442, 468, 497, 522, 546, 573, 596, 620, 646, 672, 696, 722, 747, 773, 795, 820, 845, 870, 897, 919, 947, 971, 999, 1020, 1045, 1070, 1097, 1120, 1147, 1171, 1197, 1222, 1243, 1269, 1298, 1322, 1345, 1371, 1399, 1421, 1447, 1471] + 涂毒hit0 = 1.0 + 涂毒power0 = 1.6 + 涂毒data1 = [0, 1315, 1449, 1580, 1717, 1849, 1981, 2116, 2250, 2381, 2518, 2650, 2781, 2919, 3050, 3184, 3318, 3450, 3582, 3719, 3850, 3982, 4119, 4252, 4384, 4520, 4650, 4784, 4920, 5052, 5186, 5320, 5453, 5586, 5719, 5854, 5985, 6120, 6255, 6386, 6520, 6655, 6786, 6922, 7054, 7186, 7322, 7455, 7587, 7723, 7856] + 涂毒hit1 = 1.0 + 涂毒power1 = 1.6 + + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.15 + self.power0 = 1+(0.2+0.05)*3 # 异常增伤 + self.power1 = 1+(0.2+0.05)*3 # 异常增伤 + self.中毒power0 = 1+(0.2+0.05)*3 # 异常增伤 + self.涂毒power0 = 1+(0.2+0.05)*3 # 异常增伤 + self.涂毒power1 = 1+(0.2+0.05)*3 # 异常增伤 + self.CDR *= 0.80 + + +class 技能17(主动技能): + 名称 = '爆碎砖袭' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + # 冲击波攻击力 + data0 = [0, 5033, 5545, 6055, 6565, 7076, 7586, 8098, 8608, 9118, 9628, 10139, 10652, 11161, 11672, 12180, 12691, 13203, 13713, 14224, 14733, 15245, 15756, 16266, 16778, 17288, 17799, 18310, 18820, 19332, 19843, 20352, 20864, 21374, 21885, 22395, 22904, 23415, 23926, 24437, 24948, 25457, 25970, 26479, 26990, 27501, 28012, 28522, 29032, 29543, 30055] + hit0 = 1 + # 砖块攻击力 + data1 = [0, 2516, 2773, 3028, 3281, 3537, 3791, 4047, 4302, 4559, 4816, 5070, 5325, 5581, 5837, 6089, 6344, 6599, 6854, 7110, 7366, 7623, 7877, 8133, 8388, 8643, 8897, 9152, 9407, 9664, 9919, 10175, 10429, 10685, 10941, 11197, 11453, 11708, 11963, 12219, 12474, 12729, 12983, 13239, 13495, 13752, 14007, 14261, 14516, 14772, 15027] + hit1 = 2 + # 砖块爆炸攻击力 + data2 = [0, 1507, 1661, 1814, 1967, 2120, 2271, 2425, 2579, 2733, 2887, 3039, 3189, 3343, 3497, 3650, 3804, 3955, 4107, 4261, 4414, 4568, 4722, 4874, 5028, 5178, 5332, 5486, 5640, 5791, 5946, 6098, 6251, 6406, 6559, 6711, 6865, 7014, 7169, 7323, 7476, 7627, 7782, 7938, 8088, 8240, 8394, 8547, 8700, 8853, 9005] + hit2 = 4 + # 最后爆炸攻击力 + data3 = [0, 11087, 12213, 13337, 14461, 15589, 16713, 17839, 18961, 20087, 21211, 22338, 23463, 24588, 25712, 26837, 27963, 29088, 30214, 31335, 32461, 33587, 34711, 35836, 36961, 38085, 39210, 40337, 41462, 42587, 43711, 44835, 45963, 47086, 48211, 49336, 50461, 51586, 52711, 53836, 54963, 56088, 57210, 58336, 59459, 60584, 61709, 62834, 63959, 65084, 66210] + hit3 = 1 + # 冲击波攻击力 + 涂毒data0 = [0, 504, 554, 604, 658, 707, 758, 811, 859, 913, 963, 1014, 1067, 1116, 1168, 1218, 1267, 1320, 1368, 1422, 1473, 1522, 1575, 1624, 1678, 1728, 1778, 1832, 1878, 1933, 1984, 2033, 2086, 2135, 2189, 2240, 2288, 2342, 2390, 2442, 2496, 2543, 2596, 2647, 2698, 2751, 2800, 2852, 2902, 2954, 3006] + 涂毒hit0 = 1 + # 砖块攻击力 + 涂毒data1 = [0, 251, 276, 300, 327, 354, 378, 403, 430, 454, 481, 508, 530, 557, 583, 608, 636, 659, 683, 710, 737, 760, 786, 813, 838, 864, 890, 914, 940, 965, 992, 1017, 1041, 1068, 1093, 1119, 1146, 1169, 1195, 1223, 1246, 1272, 1297, 1323, 1349, 1374, 1400, 1424, 1451, 1478, 1501] + 涂毒hit1 = 2 + # 砖块爆炸攻击力 + 涂毒data2 = [0, 149, 167, 179, 197, 211, 228, 242, 257, 275, 287, 304, 317, 333, 351, 364, 378, 395, 411, 427, 441, 457, 471, 487, 500, 518, 531, 547, 564, 581, 597, 608, 625, 641, 656, 670, 683, 701, 716, 730, 746, 760, 779, 794, 809, 825, 838, 854, 868, 884, 901] + 涂毒hit2 = 4 + # 最后爆炸攻击力 + 涂毒data3 = [0, 1108, 1219, 1334, 1444, 1557, 1671, 1783, 1895, 2008, 2120, 2233, 2346, 2457, 2573, 2681, 2796, 2908, 3022, 3135, 3245, 3357, 3471, 3581, 3693, 3807, 3920, 4034, 4145, 4259, 4370, 4484, 4593, 4707, 4821, 4932, 5045, 5158, 5271, 5384, 5498, 5608, 5719, 5831, 5946, 6056, 6169, 6283, 6395, 6507, 6621] + 涂毒hit3 = 1 + CD = 50.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 1 + self.power2 = 15 + self.hit3 = 0 + self.涂毒hit0 = 1 + self.涂毒hit1 = 0 + self.涂毒hit2 = 1 + self.涂毒power2 = 15 + self.涂毒hit3 = 0 + self.倍率 *= 1.18 + + +class 技能18(主动技能): + 名称 = '连环毒爆弹' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 29737, 32752, 35771, 38788, 41803, 44822, 47835, 50856, 53874, 56888, 59907, 62921, 65940, 68954, 71973, 74990, 78007, 81024, 84040, 87059, 90073, 93091, 96109, 99124, 102142, 105156, 108174, 111193, 114208, 117226, 120242, 123260, 126275, 129293, 132309, 135326, 138344, 141359, 144379, 147393, 150412, 153430, 156443, 159462, 162477, 165495, 168513, 171529, 174547, 177563] + hit0 = 1 + data1 = [0, 12723, 14018, 15308, 16601, 17888, 19181, 20470, 21764, 23054, 24345, 25636, 26928, 28217, 29512, 30800, 32092, 33382, 34674, 35965, 37259, 38547, 39839, 41129, 42422, 43710, 45005, 46294, 47586, 48875, 50168, 51458, 52750, 54038, 55332, 56623, 57915, 59204, 60497, 61785, 63080, 64369, 65661, 66951, 68244, 69532, 70827, 72116, 73408, 74697, 75989] + hit1 = 1 + 中毒data0 = [0, 994, 1095, 1195, 1298, 1401, 1501, 1602, 1703, 1802, 1906, 2007, 2106, 2208, 2307, 2411, 2511, 2611, 2711, 2813, 2914, 3019, 3118, 3219, 3319, 3419, 3523, 3622, 3723, 3823, 3925, 4027, 4128, 4229, 4329, 4429, 4531, 4636, 4735, 4836, 4936, 5037, 5138, 5239, 5341, 5441, 5541, 5643, 5744, 5846, 5946] + 中毒hit0 = 1 + 涂毒data0 = [0, 2972, 3273, 3576, 3879, 4181, 4482, 4782, 5085, 5387, 5688, 5988, 6290, 6595, 6895, 7197, 7498, 7801, 8100, 8403, 8705, 9007, 9309, 9611, 9911, 10214, 10516, 10816, 11119, 11423, 11722, 12022, 12326, 12627, 12929, 13229, 13531, 13835, 14138, 14437, 14737, 15040, 15342, 15643, 15944, 16247, 16550, 16850, 17152, 17455, 17755] + 涂毒hit0 = 1 + 涂毒data1 = [0, 1371, 1509, 1650, 1789, 1928, 2067, 2205, 2346, 2485, 2623, 2764, 2901, 3041, 3180, 3322, 3460, 3600, 3739, 3878, 4015, 4156, 4295, 4434, 4573, 4713, 4853, 4993, 5133, 5271, 5408, 5548, 5688, 5826, 5964, 6105, 6244, 6384, 6520, 6659, 6801, 6940, 7080, 7217, 7356, 7497, 7635, 7777, 7916, 8053, 8193] + 涂毒hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + self.CDR *= 0.9 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + 秘制 = char.get_skill_by_name("秘制毒爆弹") + if 秘制.等级 > 0: + self.power0 = 1.5 + self.power1 = 1.4 + self.中毒power0 = 1.4 + self.涂毒power0 = 1.4 + self.涂毒power1 = 1.4 + else: + self.power0 = 1 + self.power1 = 1 + self.中毒power0 = 1 + self.涂毒power0 = 1 + self.涂毒power1 = 1 + return super().等效百分比(**argv) + + +class 技能19(被动技能): + 名称 = '秘制毒爆弹' + 所在等级 = 75 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + + 关联技能 = ["连环毒爆弹"] + + +class 技能20(被动技能): + 名称 = '猛毒之伤' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.16 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = '毒龙轰天雷' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 9950, 10960, 11969, 12978, 13985, 14997, 16005, 17016, 18023, 19034, 20043, 21052, 22059, 23072, 24081, 25090, 26099, 27108, 28118, 29126, 30135, 31148, 32155, 33165, 34174, 35184, 36193, 37201, 38210, 39222, 40230, 41241, 42250, 43258, 44268, 45277, 46286, 47297, 48306, 49315, 50324, 51333, 52345, 53352, 54360, 55373, 56381, 57391, 58398, 59409] + hit0 = 1 + data1 = [0, 9543, 10508, 11481, 12446, 13414, 14383, 15353, 16320, 17289, 18256, 19227, 20191, 21161, 22128, 23097, 24064, 25036, 26004, 26968, 27939, 28906, 29874, 30842, 31811, 32780, 33747, 34714, 35683, 36651, 37621, 38587, 39556, 40524, 41493, 42462, 43428, 44396, 45366, 46333, 47302, 48270, 49236, 50206, 51173, 52142, 53110, 54079, 55048, 56013, 56982] + hit1 = 5 + data2 = [0, 601, 665, 727, 787, 849, 910, 972, 1033, 1094, 1155, 1217, 1279, 1340, 1402, 1462, 1524, 1584, 1647, 1706, 1769, 1831, 1893, 1950, 2015, 2077, 2134, 2196, 2261, 2323, 2381, 2442, 2504, 2566, 2627, 2687, 2749, 2810, 2870, 2933, 2996, 3056, 3117, 3180, 3242, 3301, 3364, 3424, 3488, 3547, 3609] + hit2 = 10 + 中毒data0 = [0, 401, 443, 485, 524, 564, 607, 647, 688, 730, 770, 811, 850, 894, 935, 976, 1015, 1057, 1095, 1138, 1178, 1221, 1261, 1304, 1342, 1384, 1424, 1465, 1507, 1547, 1588, 1627, 1668, 1709, 1752, 1792, 1832, 1872, 1915, 1956, 1999, 2038, 2078, 2117, 2160, 2202, 2243, 2285, 2324, 2363, 2406] + 中毒hit0 = 10 + 涂毒data0 = [0, 994, 1095, 1195, 1298, 1396, 1499, 1601, 1702, 1801, 1904, 2003, 2102, 2204, 2307, 2407, 2506, 2608, 2711, 2810, 2912, 3013, 3116, 3215, 3315, 3416, 3520, 3616, 3718, 3820, 3922, 4020, 4124, 4225, 4326, 4425, 4527, 4628, 4731, 4829, 4930, 5031, 5133, 5232, 5334, 5435, 5536, 5636, 5740, 5837, 5941] + 涂毒hit0 = 1 + 涂毒data1 = [0, 1153, 1273, 1388, 1509, 1625, 1742, 1859, 1976, 2094, 2210, 2329, 2443, 2561, 2678, 2798, 2913, 3031, 3146, 3266, 3382, 3501, 3616, 3735, 3850, 3971, 4086, 4205, 4319, 4438, 4554, 4673, 4789, 4907, 5024, 5143, 5259, 5378, 5495, 5611, 5727, 5846, 5963, 6081, 6197, 6314, 6433, 6550, 6667, 6782, 6898] + 涂毒hit1 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能22(主动技能): + 名称 = '万毒噬心诀' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + 关联技能 = ['所有'] + CD = 60 + MP = [2445, 34577] + 无色消耗 = 10 + # 平x第一下 + data0 = [0, 2542, 2949, 3358, 3764, 4171, 4578, 4985, 5392, 5799, 6204, 6613, 7020, 7426, 7834, 8240, 8648, 9054, 9462, 9868, 10275, 10684, 11090, 11496, 11902, 12310, 12718, 13124, 13530, 13938, 14346, 14754, 15160, 15567, 15973, 16377, 16787, 17194, 17599, 18010, 18413, 18822, 19230, 19635, 20043, 20450, 20854, 21265, 21669, 22076, 22485] + hit0 = 1 + # 平x第二下 + data1 = [0, 2798, 3255, 3712, 4171, 4629, 5087, 5544, 6003, 6460, 6916, 7373, 7834, 8292, 8749, 9206, 9665, 10122, 10582, 11040, 11496, 11954, 12411, 12870, 13328, 13785, 14243, 14700, 15160, 15616, 16075, 16533, 16991, 17449, 17905, 18362, 18822, 19280, 19737, 20195, 20652, 21110, 21569, 22026, 22485, 22942, 23400, 23858, 24315, 24773, 25230] + hit1 = 1 + # 平x第三下 + data2 = [0, 3052, 3460, 3867, 4274, 4680, 5087, 5493, 5900, 6308, 6715, 7122, 7528, 7936, 8343, 8749, 9158, 9562, 9968, 10376, 10783, 11190, 11600, 12004, 12411, 12818, 13226, 13634, 14040, 14445, 14852, 15261, 15666, 16075, 16480, 16888, 17297, 17702, 18110, 18517, 18923, 19332, 19737, 20143, 20552, 20957, 21364, 21773, 22178, 22588, 22993] + hit2 = 1 + # 平x第四下 + data3 = [0, 3559, 4071, 4578, 5087, 5595, 6105, 6613, 7122, 7629, 8139, 8648, 9158, 9665, 10174, 10684, 11190, 11701, 12209, 12718, 13226, 13735, 14243, 14754, 15261, 15769, 16278, 16787, 17297, 17805, 18313, 18822, 19332, 19840, 20348, 20854, 21364, 21874, 22382, 22890, 23400, 23907, 24417, 24926, 25435, 25943, 26453, 26962, 27470, 27979, 28488] + hit3 = 0 + # 平x第五下 + data4 = [0, 5087, 5595, 6105, 6613, 7122, 7629, 8139, 8648, 9158, 9665, 10174, 10684, 11190, 11701, 12209, 12718, 13226, 13735, 14243, 14754, 15261, 15769, 16278, 16787, 17297, 17805, 18313, 18822, 19332, 19840, 20348, 20854, 21364, 21874, 22382, 22890, 23400, 23907, 24417, 24926, 25435, 25943, 26453, 26962, 27470, 27979, 28488, 28996, 29506, 30014] + hit4 = 0 + # 前X + data5 = [0, 6105, 6613, 7122, 7629, 8139, 8648, 9158, 9665, 10174, 10684, 11190, 11701, 12209, 12718, 13226, 13735, 14243, 14754, 15261, 15769, 16278, 16787, 17297, 17805, 18313, 18822, 19332, 19840, 20348, 20854, 21364, 21874, 22382, 22890, 23400, 23907, 24417, 24926, 25435, 25943, 26453, 26962, 27470, 27979, 28488, 28996, 29506, 30014, 30523, 31031] + hit5 = 0 + # 跳X + data6 = [0, 8139, 8951, 9767, 10582, 11394, 12209, 13022, 13836, 14651, 15463, 16278, 17093, 17905, 18719, 19534, 20348, 21162, 21976, 22789, 23603, 24417, 25230, 26045, 26860, 27673, 28488, 29301, 30114, 30928, 31740, 32558, 33370, 34183, 34999, 35813, 36625, 37440, 38254, 39067, 39881, 40695, 41510, 42323, 43137, 43951, 44767, 45577, 46393, 47207, 48021] + hit6 = 0 + # 平x第一下 + 涂毒data0 = [0, 255, 294, 336, 376, 417, 458, 498, 538, 579, 618, 660, 700, 741, 784, 824, 865, 906, 946, 987, 1026, 1068, 1108, 1150, 1189, 1230, 1273, 1312, 1352, 1392, 1436, 1476, 1516, 1556, 1597, 1637, 1679, 1719, 1760, 1801, 1841, 1879, 1923, 1962, 2003, 2043, 2086, 2126, 2169, 2207, 2248] + 涂毒hit0 = 1 + # 平x第二下 + 涂毒data1 = [0, 280, 328, 371, 417, 461, 508, 553, 597, 646, 690, 736, 784, 828, 874, 920, 965, 1012, 1056, 1104, 1150, 1195, 1241, 1287, 1332, 1379, 1424, 1470, 1516, 1562, 1608, 1653, 1699, 1745, 1789, 1835, 1879, 1927, 1974, 2018, 2064, 2113, 2157, 2203, 2248, 2293, 2339, 2384, 2432, 2476, 2522] + 涂毒hit1 = 1 + # 平x第三下 + 涂毒data2 = [0, 306, 345, 387, 426, 468, 508, 550, 590, 630, 671, 711, 753, 793, 833, 874, 916, 957, 996, 1037, 1077, 1116, 1160, 1200, 1241, 1281, 1322, 1362, 1406, 1445, 1485, 1527, 1568, 1608, 1647, 1687, 1728, 1767, 1812, 1850, 1893, 1933, 1974, 2014, 2055, 2096, 2135, 2178, 2218, 2260, 2298] + 涂毒hit2 = 1 + # 平x第四下 + 涂毒data3 = [0, 356, 405, 458, 508, 560, 610, 660, 711, 763, 815, 865, 916, 965, 1016, 1068, 1116, 1170, 1221, 1273, 1322, 1371, 1424, 1476, 1527, 1578, 1627, 1679, 1728, 1780, 1832, 1879, 1933, 1983, 2036, 2086, 2135, 2187, 2239, 2290, 2339, 2389, 2440, 2493, 2542, 2595, 2645, 2696, 2748, 2798, 2850] + 涂毒hit3 = 0 + # 平x第五下 + 涂毒data4 = [0, 508, 560, 610, 660, 711, 763, 815, 865, 916, 965, 1016, 1068, 1116, 1170, 1221, 1273, 1322, 1371, 1424, 1476, 1527, 1578, 1627, 1679, 1728, 1780, 1832, 1879, 1933, 1983, 2036, 2086, 2135, 2187, 2239, 2290, 2339, 2389, 2440, 2493, 2542, 2595, 2645, 2696, 2748, 2798, 2850, 2897, 2949, 3001] + 涂毒hit4 = 0 + # 前X + 涂毒data5 = [0, 610, 660, 711, 763, 815, 865, 916, 965, 1016, 1068, 1116, 1170, 1221, 1273, 1322, 1371, 1424, 1476, 1527, 1578, 1627, 1679, 1728, 1780, 1832, 1879, 1933, 1983, 2036, 2086, 2135, 2187, 2239, 2290, 2339, 2389, 2440, 2493, 2542, 2595, 2645, 2696, 2748, 2798, 2850, 2897, 2949, 3001, 3052, 3104] + 涂毒hit5 = 0 + # 跳X + 涂毒data6 = [0, 815, 897, 978, 1056, 1137, 1221, 1302, 1383, 1465, 1548, 1627, 1707, 1789, 1870, 1952, 2036, 2116, 2199, 2277, 2358, 2440, 2522, 2605, 2687, 2767, 2850, 2929, 3010, 3092, 3173, 3255, 3338, 3420, 3500, 3580, 3661, 3742, 3825, 3906, 3987, 4071, 4151, 4230, 4312, 4394, 4476, 4557, 4639, 4721, 4803] + 涂毒hit6 = 0 + + 形态 = ["x3", "x4", "x5", "前X", "跳X"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "x3": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 0 + self.涂毒hit0 = 1 + self.涂毒hit1 = 1 + self.涂毒hit2 = 1 + self.涂毒hit3 = 0 + self.涂毒hit4 = 0 + self.涂毒hit5 = 0 + self.涂毒hit6 = 0 + elif 形态 == "x4": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 0 + self.涂毒hit0 = 1 + self.涂毒hit1 = 1 + self.涂毒hit2 = 1 + self.涂毒hit3 = 1 + self.涂毒hit4 = 0 + self.涂毒hit5 = 0 + self.涂毒hit6 = 0 + elif 形态 == "x5": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 1 + self.hit5 = 0 + self.hit6 = 0 + self.涂毒hit0 = 1 + self.涂毒hit1 = 1 + self.涂毒hit2 = 1 + self.涂毒hit3 = 1 + self.涂毒hit4 = 1 + self.涂毒hit5 = 0 + self.涂毒hit6 = 0 + elif 形态 == "前X": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 1 + self.hit6 = 0 + self.涂毒hit0 = 0 + self.涂毒hit1 = 0 + self.涂毒hit2 = 0 + self.涂毒hit3 = 0 + self.涂毒hit4 = 0 + self.涂毒hit5 = 1 + self.涂毒hit6 = 0 + elif 形态 == "跳X": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + self.hit6 = 1 + self.涂毒hit0 = 0 + self.涂毒hit1 = 0 + self.涂毒hit2 = 0 + self.涂毒hit3 = 0 + self.涂毒hit4 = 0 + self.涂毒hit5 = 0 + self.涂毒hit6 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = '禁技:万毒蛇窟' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + MP = [1900, 1900] + data0 = [0, 12955, 15959, 18963, 21966, 24972, 27974, 30977, 33983, 36988, 39994, 42994, 46000, 49003, 52010, 55010, 58017, 61018, 64025, 67030, 70033, 73039, 76041, 79046, 82052, 85053, 88058, 91062, 94064, 97070, 100074, 103077, 106084, 109086, 112090, 115096, 118098, 121102, 124107, 127110, 130114, 133119, 136124, 139130, 142133, 145136, 148142, 151143, 154148, 157153, 160156] + hit0 = 8 + 涂毒data0 = [0, 1294, 1594, 1899, 2200, 2499, 2798, 3096, 3397, 3700, 3998, 4300, 4601, 4900, 5201, 5502, 5804, 6102, 6402, 6704, 7002, 7305, 7604, 7906, 8206, 8505, 8803, 9105, 9409, 9707, 10009, 10309, 10607, 10909, 11208, 11510, 11812, 12110, 12410, 12710, 13012, 13313, 13614, 13914, 14212, 14515, 14815, 15114, 15415, 15713, 16015] + 涂毒hit0 = 8 + CD = 180.0 + 无色消耗 = 10 + + +class 技能24(主动技能): + 名称 = '钻心毒爆' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + # 直伤(命中敌人) + data0 = [0, 41634, 45859, 50082, 54306, 58530, 62754, 66978, 71201, 75426, 79651, 83874, 88099, 92321, 96546, 100771, 104994, 109219, 113441, 117666, 121889, 126114, 130338, 134561, 138785, 143009, 147233, 151458, 155680, 159905, 164129, 168352, 172574, 176799, 181024, 185248, 189472, 193695, 197919, 202144, 206368, 210591, 214816, 219039, 223264, 227487, 231711, 235935, 240159, 244383, 248607] + hit0 = 1 + # 直伤(地面冲击波) + data1 = [0, 49531, 54558, 59582, 64608, 69632, 74656, 79683, 84707, 89732, 94757, 99782, 104807, 109833, 114857, 119882, 124907, 129931, 134957, 139982, 145008, 150032, 155057, 160082, 165106, 170133, 175157, 180182, 185207, 190232, 195258, 200282, 205308, 210332, 215358, 220383, 225409, 230433, 235458, 240483, 245508, 250534, 255558, 260584, 265608, 270633, 275658, 280683, 285708, 290733, 295758] + hit1 = 0 + # 直伤(爆炸*5) + data2 = [0, 9752, 10741, 11729, 12720, 13710, 14696, 15687, 16677, 17666, 18655, 19645, 20634, 21623, 22613, 23603, 24593, 25580, 26570, 27560, 28548, 29538, 30528, 31517, 32506, 33496, 34486, 35473, 36464, 37453, 38442, 39432, 40421, 41410, 42400, 43389, 44379, 45369, 46356, 47346, 48336, 49325, 50314, 51304, 52294, 53283, 54272, 55262, 56250, 57239, 58229] + hit2 = 5 + # 出血(命中敌人) + 出血data0 = [0, 13877, 15286, 16693, 18101, 19508, 20917, 22324, 23733, 25141, 26548, 27957, 29364, 30772, 32181, 33588, 34997, 36406, 37813, 39222, 40629, 42038, 43445, 44853, 46261, 47669, 49078, 50485, 51893, 53301, 54708, 56118, 57525, 58933, 60341, 61748, 63157, 64565, 65973, 67381, 68788, 70197, 71605, 73013, 74422, 75829, 77237, 78644, 80054, 81462, 82869] + 出血hit0 = 1 + # 中毒(爆炸*5) + 中毒data0 = [0, 2437, 2685, 2932, 3179, 3426, 3674, 3921, 4169, 4416, 4665, 4912, 5157, 5405, 5652, 5900, 6147, 6395, 6641, 6888, 7137, 7385, 7632, 7879, 8128, 8373, 8620, 8868, 9115, 9363, 9610, 9856, 10104, 10353, 10600, 10847, 11095, 11342, 11588, 11836, 12082, 12330, 12579, 12825, 13072, 13320, 13567, 13815, 14062, 14310, 14557] + 中毒hit0 = 5 + # 灼伤(爆炸*5) + 灼伤data0 = [0, 2437, 2685, 2932, 3179, 3426, 3674, 3921, 4169, 4416, 4665, 4912, 5157, 5405, 5652, 5900, 6147, 6395, 6641, 6888, 7137, 7385, 7632, 7879, 8128, 8373, 8620, 8868, 9115, 9363, 9610, 9856, 10104, 10353, 10600, 10847, 11095, 11342, 11588, 11836, 12082, 12330, 12579, 12825, 13072, 13320, 13567, 13815, 14062, 14310, 14557] + 灼伤hit0 = 5 + # 涂毒(命中敌人) + 涂毒data0 = [0, 5551, 6113, 6676, 7240, 7804, 8367, 8929, 9493, 10055, 10619, 11183, 11747, 12308, 12872, 13436, 13999, 14562, 15125, 15687, 16251, 16815, 17378, 17941, 18505, 19066, 19630, 20194, 20756, 21320, 21885, 22447, 23010, 23572, 24135, 24700, 25263, 25827, 26388, 26952, 27517, 28078, 28642, 29205, 29768, 30331, 30895, 31458, 32021, 32584, 33147] + 涂毒hit0 = 1 + # 涂毒(地面冲击波) + 涂毒data1 = [0, 4952, 5456, 5957, 6459, 6964, 7466, 7967, 8470, 8973, 9476, 9977, 10479, 10983, 11486, 11989, 12489, 12992, 13496, 13998, 14500, 15003, 15505, 16008, 16509, 17013, 17516, 18018, 18519, 19022, 19526, 20028, 20530, 21033, 21534, 22038, 22540, 23042, 23545, 24048, 24552, 25052, 25555, 26058, 26561, 27063, 27566, 28068, 28570, 29072, 29575] + 涂毒hit1 = 0 + # 涂毒(爆炸*5) + 涂毒data2 = [0, 1461, 1611, 1759, 1907, 2056, 2204, 2353, 2501, 2650, 2796, 2947, 3094, 3242, 3392, 3539, 3688, 3837, 3985, 4132, 4283, 4429, 4579, 4727, 4875, 5024, 5172, 5321, 5468, 5618, 5764, 5914, 6063, 6211, 6359, 6508, 6656, 6804, 6953, 7100, 7250, 7398, 7547, 7694, 7843, 7992, 8139, 8289, 8436, 8585, 8734] + 涂毒hit2 = 5 + + 形态 = ["命中", "地面"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "命中": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 5 + self.出血hit0 = 1 + self.中毒hit0 = 5 + self.灼伤hit0 = 5 + self.涂毒hit0 = 1 + self.涂毒hit1 = 0 + self.涂毒hit2 = 5 + elif 形态 == "地面": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 5 + self.出血hit0 = 0 + self.中毒hit0 = 5 + self.灼伤hit0 = 5 + self.涂毒hit0 = 0 + self.涂毒hit1 = 1 + self.涂毒hit2 = 5 + + +class 技能25(被动技能): + 名称 = '身化万毒' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = '万毒噬心诀:毒龙吞天' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + # 中毒(毒气) + 中毒data0 = [0, 31055, 38259, 45460, 52661, 59864, 67064, 74266, 81467, 88670, 95870, 103073, 110275, 117476, 124677, 131879, 139080, 146282, 153484, 160684, 167886, 175089, 182290, 189492, 196694, 203895, 211095, 218298, 225498, 232701, 239902, 247104, 254306, 261509, 268708, 275911, 283112, 290314, 297515, 304717, 311917, 319120, 326321, 333523, 340725, 347926, 355128, 362330, 369531, 376733, 383933] + 中毒hit0 = 1 + # 直伤(解除束缚) + data0 = [0, 10351, 12752, 15152, 17553, 19954, 22354, 24755, 27155, 29555, 31958, 34357, 36757, 39157, 41559, 43960, 46360, 48760, 51162, 53561, 55960, 58363, 60763, 63164, 65565, 67964, 70364, 72766, 75166, 77567, 79966, 82366, 84768, 87169, 89568, 91970, 94370, 96771, 99171, 101572, 103972, 106373, 108773, 111174, 113574, 115976, 118375, 120776, 123176, 125577, 127977] + hit0 = 1 + # 直伤2(膝踢) + data1 = [0, 41408, 51009, 60612, 70215, 79817, 89419, 99022, 108623, 118226, 127827, 137430, 147032, 156635, 166236, 175839, 185441, 195044, 204645, 214246, 223849, 233450, 243053, 252655, 262257, 271859, 281463, 291064, 300667, 310268, 319869, 329472, 339074, 348677, 358279, 367882, 377482, 387085, 396686, 406288, 415891, 425493, 435096, 444697, 454300, 463902, 473504, 483106, 492709, 502310, 511913] + hit1 = 1 + # 直伤3(下劈) + data2 = [0, 62113, 76516, 90919, 105323, 119726, 134130, 148532, 162934, 177339, 191742, 206144, 220548, 234951, 249354, 263758, 278161, 292564, 306968, 321371, 335773, 350176, 364579, 378982, 393387, 407789, 422192, 436597, 450998, 465403, 479807, 494210, 508611, 523015, 537419, 551821, 566225, 580628, 595033, 609435, 623838, 638241, 652645, 667048, 681451, 695853, 710257, 724660, 739063, 753466, 767870] + hit2 = 1 + # 直伤4(毒蛇群) + data3 = [0, 12939, 15939, 18942, 21942, 24942, 27942, 30945, 33945, 36945, 39946, 42947, 45948, 48947, 51948, 54948, 57949, 60950, 63951, 66951, 69951, 72954, 75954, 78954, 81954, 84955, 87957, 90957, 93958, 96958, 99959, 102959, 105961, 108961, 111961, 114963, 117964, 120964, 123964, 126966, 129965, 132966, 135967, 138967, 141968, 144969, 147969, 150970, 153970, 156971, 159972] + hit3 = 8 + # 直伤5(最后一击) + data4 = [0, 165637, 204044, 242453, 280862, 319271, 357678, 396086, 434496, 472904, 511313, 549721, 588130, 626538, 664948, 703354, 741764, 780172, 818581, 856990, 895397, 933807, 972214, 1010624, 1049032, 1087440, 1125850, 1164257, 1202667, 1241073, 1279483, 1317890, 1356300, 1394710, 1433116, 1471526, 1509934, 1548343, 1586749, 1625159, 1663569, 1701977, 1740384, 1778793, 1817202, 1855610, 1894019, 1932428, 1970835, 2009244, 2047653] + hit4 = 1 + # 涂毒1(膝踢) + 涂毒data0 = [0, 6211, 7652, 9090, 10532, 11971, 13412, 14853, 16293, 17734, 19174, 20614, 22054, 23496, 24934, 26375, 27816, 29256, 30696, 32136, 33577, 35016, 36458, 37899, 39337, 40779, 42219, 43659, 45099, 46539, 47980, 49421, 50861, 52301, 53742, 55181, 56622, 58062, 59502, 60943, 62383, 63824, 65264, 66705, 68144, 69585, 71024, 72465, 73905, 75346, 76786] + 涂毒hit0 = 1 + # 涂毒2(下劈) + 涂毒data1 = [0, 8282, 10200, 12122, 14041, 15964, 17884, 19804, 21724, 23644, 25566, 27485, 29406, 31326, 33247, 35168, 37087, 39009, 40928, 42850, 44768, 46691, 48610, 50531, 52451, 54370, 56292, 58213, 60133, 62052, 63972, 65895, 67815, 69736, 71655, 73574, 75496, 77417, 79337, 81256, 83178, 85097, 87019, 88939, 90859, 92779, 94700, 96621, 98541, 100462, 102382] + 涂毒hit1 = 1 + # 涂毒3(毒蛇群) + 涂毒data2 = [0, 1293, 1593, 1894, 2194, 2493, 2794, 3093, 3394, 3692, 3995, 4293, 4594, 4893, 5193, 5496, 5794, 6096, 6394, 6694, 6994, 7294, 7596, 7895, 8194, 8495, 8794, 9095, 9394, 9695, 9995, 10295, 10596, 10895, 11197, 11496, 11796, 12096, 12395, 12695, 12996, 13296, 13597, 13896, 14196, 14496, 14796, 15097, 15396, 15696, 15997] + 涂毒hit2 = 8 + # 涂毒4(最后一击) + 涂毒data3 = [0, 16564, 20403, 24246, 28087, 31925, 35768, 39607, 43448, 47289, 51130, 54972, 58812, 62653, 66494, 70335, 74175, 78017, 81857, 85697, 89538, 93379, 97221, 101061, 104903, 108744, 112584, 116425, 120266, 124106, 127948, 131789, 135629, 139470, 143310, 147152, 150992, 154833, 158674, 162516, 166356, 170197, 174038, 177879, 181719, 185560, 189401, 193242, 197082, 200923, 204764] + 涂毒hit3 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'brawler_female' + self.名称 = '归元·街霸' + self.角色 = '格斗家(女)' + self.职业 = '街霸' + # 用来筛CP武器的 + self.转职 = '街霸(女)' + self.武器选项 = ['爪'] + self.输出类型选项 = ['魔法百分比', '物理百分比'] + self.防具精通属性 = ['力量', '智力'] + self.类型 = '魔法百分比' + self.武器类型 = '爪' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 9.5 + + super().__init__(equVersion) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': 1 if (item['name'] == '伏虎霸王拳' and self.get_skill_by_name("狂·霸王拳").等级 > 0) else self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + + def 职业特殊计算(self): + # 涂毒计算相关 + for i in self.技能栏: + if i.是否主动 == 1: + i.涂毒倍率 *= (self.buff - 1) + self.buff = 1.0 + # 二觉解放等级绑定 + self.get_skill_by_name( + '禁技:万毒蛇窟').等级 = self.get_skill_by_name('万毒噬心诀').等级 + + # 双重投掷 + 等级 = self.get_skill_by_name('双重投掷').等级 + self.get_skill_by_name('抛沙').双重投掷(等级) + self.get_skill_by_name('街头风暴').双重投掷(等级) + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if min <= 30 and max >= 30 and i.名称 == '伏虎霸王拳': + self.get_skill_by_name("狂·霸王拳").额外倍率 /= (1 + x * self.技能伤害增加增幅) + if type == "all" and i.名称 == "狂·霸王拳" and (min == max == 40): + i.额外倍率 *= (1 + x * self.技能伤害增加增幅) + + def 伤害计算(self): + data = super().伤害计算() + 伏虎霸王拳 = data['skills'].get("伏虎霸王拳", None) + 被动加成 = self.get_skill_by_name('狂·霸王拳').加成倍率('') + if 伏虎霸王拳 is None or 被动加成 == 1: + return data + data['skills']['狂·霸王拳'] = 伏虎霸王拳 + del data['skills']['伏虎霸王拳'] + return data + + def 站街力量(self): + return max(super().站街力量(), super().站街智力()) + + def 站街智力(self): + return self.站街力量() + + def 面板力量(self): + return max(super().面板力量(), super().面板智力()) + + def 面板智力(self): + return self.面板力量() + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=15) -> None: + return super().set_skill_info(info, rune_except, clothes_pants=['远古记忆'], rune_start_lv=15) diff --git a/api/core/characters/brawler_male.py b/api/core/characters/brawler_male.py new file mode 100644 index 00000000..a64d5f55 --- /dev/null +++ b/api/core/characters/brawler_male.py @@ -0,0 +1,743 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 关联技能 = ['罗网投掷'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '抛沙' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [15, 154] + data0 = [0, 1567, 1749, 1942, 2135, 2327, 2511, 2700, 2890, 3082, 3263, 3457, 3642, 3836, 4020, 4216, 4400, 4587, 4774, 4963, 5158, 5341, 5528, 5721, 5908, 6100, 6287, 6478, 6669, 6855, 7047, 7237, 7428, 7613, 7801, 7993, 8181, 8371, 8552, 8748, 8937, 9128, 9312, 9509, 9695, 9876, 10067, 10258, 10436, 10632, 10824, 11015, 11208, 11391, 11580, 11773, 11959, 12144, 12340, 12526, 12713, 12903, 13094, 13280, 13471, 13661, 13850, 14040, 14222, 14417, 14606] + hit0 = 1 + power0 = 1.5 # 后街战术 + CD = 3.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = '毒瓶投掷' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + MP = [50, 420] + + # 不强化 + data0 = [0, 568, 661, 749, 840, 930, 1022, 1115, 1204, 1295, 1384, 1480, 1567, 1657, 1749, 1839, 1930, 2021, 2110, 2203, 2294, 2384, 2476, 2564, 2654, 2745, 2836, 2928, 3022, 3108, 3201, 3292, 3384, 3475, 3565, 3653, 3745, 3837, 3927, 4018, 4108, 4199, 4288, 4379, 4471, 4563, 4654, 4742, 4832, 4924, 5018, 5107, 5196, 5287, 5380, 5470, 5562, 5652, 5742, 5832, 5923, 6012, 6107, 6195, 6287, 6377, 6468, 6557, 6649, 6739, 6832] + hit0 = 0 + power0 = 1.6 # 后街战术 + 中毒data0 = [0, 598, 693, 788, 883, 981, 1075, 1172, 1268, 1363, 1455, 1551, 1651, 1741, 1839, 1933, 2029, 2122, 2220, 2315, 2410, 2507, 2603, 2699, 2793, 2889, 2982, 3079, 3173, 3270, 3362, 3460, 3556, 3651, 3747, 3842, 3939, 4031, 4130, 4225, 4320, 4412, 4512, 4606, 4698, 4797, 4891, 4986, 5081, 5179, 5274, 5369, 5463, 5562, 5656, 5750, 5847, 5943, 6037, 6130, 6228, 6321, 6420, 6515, 6610, 6705, 6799, 6897, 6991, 7088, 7182] + 中毒hit0 = 0 + 灼伤data0 = [0, 598, 693, 788, 883, 981, 1075, 1172, 1268, 1363, 1455, 1551, 1651, 1741, 1839, 1933, 2029, 2122, 2220, 2315, 2410, 2507, 2603, 2699, 2793, 2889, 2982, 3079, 3173, 3270, 3362, 3460, 3556, 3651, 3747, 3842, 3939, 4031, 4130, 4225, 4320, 4412, 4512, 4606, 4698, 4797, 4891, 4986, 5081, 5179, 5274, 5369, 5463, 5562, 5656, 5750, 5847, 5943, 6037, 6130, 6228, 6321, 6420, 6515, 6610, 6705, 6799, 6897, 6991, 7088, 7182] + 灼伤hit0 = 0 + # 强化 + 中毒data1 = [0, 2020, 2336, 2660, 2981, 3303, 3626, 3947, 4267, 4588, 4911, 5233, 5554, 5878, 6199, 6521, 6841, 7164, 7482, 7807, 8130, 8448, 8775, 9092, 9413, 9734, 10057, 10379, 10699, 11024, 11347, 11665, 11987, 12309, 12631, 12952, 13276, 13592, 13918, 14237, 14559, 14881, 15203, 15524, 15845, 16170, 16491, 16809, 17133, 17455, 17776, 18098, 18421, 18744, 19061, 19383, 19704, 20029, 20349, 20670, 20994, 21312, 21634, 21954, 22280, 22602, 22923, 23245, 23567, 23887, 24206] + 中毒hit1 = 1 + CD = 2.0 + TP成长 = 0.10 + TP上限 = 7 + + 形态 = ["强化", "不强化"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "强化": + self.hit0 = 0 + self.中毒hit0 = 0 + self.灼伤hit0 = 0 + self.中毒hit1 = 1 + if 形态 == "不强化": + self.hit0 = 1 + self.中毒hit0 = 1 + self.灼伤hit0 = 1 + self.中毒hit1 = 0 + + +class 技能3(主动技能): + 名称 = '擒月炎' + 备注 = '3异常(满)' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 280] + data0 = [0, 747, 821, 889, 960, 1029, 1102, 1170, 1241, 1310, 1380, 1449, 1523, 1593, 1664, 1734, 1806, 1874, 1945, 2010, 2084, 2152, 2223, 2293, 2365, 2434, 2505, 2574, 2644, 2716, 2778, 2856, 2919, 2995, 3060, 3133, 3202, 3277, 3340, 3414, 3483, 3554, 3624, 3696, 3763, 3842, 3897, 3978, 4043, 4118, 4118, 4247, 4321, 4388, 4462, 4530, 4603, 4666, 4744, 4806, 4886, 4950, 5016, 5089, 5159, 5228, 5299, 5370, 5440, 5507, 5578] + hit0 = 1 + data1 = [0, 747, 821, 889, 960, 1029, 1102, 1170, 1241, 1310, 1380, 1449, 1523, 1593, 1664, 1734, 1806, 1874, 1945, 2010, 2084, 2152, 2223, 2293, 2365, 2434, 2505, 2574, 2644, 2716, 2778, 2856, 2919, 2995, 3060, 3133, 3202, 3277, 3340, 3414, 3483, 3554, 3624, 3696, 3763, 3842, 3897, 3978, 4043, 4118, 4118, 4247, 4321, 4388, 4462, 4530, 4603, 4666, 4744, 4806, 4886, 4950, 5016, 5089, 5159, 5228, 5299, 5370, 5440, 5507, 5578] + hit1 = 1 + data2 = [0, 2717, 2978, 3227, 3483, 3741, 3992, 4247, 4507, 4760, 5010, 5267, 5519, 5776, 6035, 6283, 6543, 6799, 7050, 7305, 7566, 7815, 8073, 8326, 8577, 8833, 9090, 9343, 9600, 9857, 10106, 10366, 10620, 10873, 11130, 11386, 11639, 11890, 12151, 12403, 12660, 12912, 13166, 13422, 13678, 13932, 14193, 14442, 14694, 14956, 14956, 15443, 15693, 15946, 16207, 16458, 16710, 16966, 17218, 17476, 17722, 17984, 18241, 18489, 18747, 19001, 19254, 19514, 19762, 20015, 20275] + hit2 = 1 + 倍率 = 1.6 + CD = 5.5 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = '毒针投掷' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 280] + + # 不强化 + data0 = [0, 474, 522, 569, 618, 667, 713, 761, 807, 858, 907, 954, 1004, 1050, 1099, 1145, 1197, 1243, 1289, 1337, 1384, 1434, 1482, 1530, 1577, 1627, 1675, 1726, 1774, 1821, 1867, 1916, 1964, 2013, 2059, 2108, 2155, 2204, 2251, 2301, 2349, 2397, 2443, 2494, 2540, 2590, 2635, 2685, 2732, 2780, 2829, 2877, 2925, 2973, 3021, 3070, 3119, 3167, 3215, 3264, 3310, 3358, 3407, 3454, 3503, 3551, 3598, 3646, 3693, 3745, 3791] + hit0 = 0 + power0 = 1.9 # 后街战术 + 出血data0 = [0, 415, 454, 496, 539, 580, 622, 667, 706, 749, 788, 833, 874, 917, 956, 1001, 1041, 1084, 1127, 1168, 1211, 1253, 1295, 1336, 1378, 1417, 1463, 1502, 1543, 1588, 1629, 1672, 1714, 1755, 1798, 1841, 1881, 1924, 1964, 2005, 2050, 2090, 2132, 2176, 2216, 2262, 2302, 2344, 2386, 2430, 2469, 2511, 2551, 2594, 2635, 2679, 2721, 2764, 2804, 2848, 2890, 2931, 2973, 3017, 3055, 3099, 3138, 3182, 3223, 3265, 3309] + 出血hit0 = 0 + 感电data0 = [0, 415, 454, 496, 539, 580, 622, 667, 706, 749, 788, 833, 874, 917, 956, 1001, 1041, 1084, 1127, 1168, 1211, 1253, 1295, 1336, 1378, 1417, 1463, 1502, 1543, 1588, 1629, 1672, 1714, 1755, 1798, 1841, 1881, 1924, 1964, 2005, 2050, 2090, 2132, 2176, 2216, 2262, 2302, 2344, 2386, 2430, 2469, 2511, 2551, 2594, 2635, 2679, 2721, 2764, 2804, 2848, 2890, 2931, 2973, 3017, 3055, 3099, 3138, 3182, 3223, 3265, 3309] + 感电hit0 = 0 + 感电power0 = 2 # 逆道·皆允 + # 强化 + data1 = [0, 377, 416, 453, 492, 530, 568, 608, 643, 683, 721, 760, 799, 835, 872, 913, 952, 988, 1028, 1064, 1105, 1143, 1179, 1219, 1258, 1295, 1335, 1370, 1410, 1446, 1485, 1528, 1563, 1601, 1640, 1678, 1715, 1754, 1791, 1833, 1870, 1906, 1945, 1983, 2024, 2059, 2099, 2137, 2176, 2213, 2251, 2289, 2329, 2367, 2405, 2443, 2481, 2518, 2559, 2595, 2633, 2674, 2710, 2751, 2787, 2825, 2862, 2901, 2940, 2978, 3018] + hit1 = 4 + 出血data1 = [0, 494, 545, 595, 645, 694, 747, 796, 846, 898, 949, 996, 1047, 1098, 1146, 1197, 1249, 1299, 1348, 1398, 1450, 1500, 1548, 1600, 1650, 1702, 1752, 1802, 1852, 1904, 1953, 2003, 2053, 2106, 2154, 2204, 2255, 2305, 2355, 2406, 2457, 2508, 2556, 2608, 2659, 2708, 2758, 2809, 2859, 2911, 2958, 3008, 3059, 3109, 3159, 3208, 3261, 3310, 3361, 3412, 3463, 3512, 3562, 3614, 3663, 3712, 3765, 3814, 3864, 3912, 3964] + 出血hit1 = 4 + CD = 3 + TP成长 = 0.10 + TP上限 = 7 + + 形态 = ["强化", "不强化"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "强化": + self.hit0 = 0 + self.出血hit0 = 0 + self.感电hit0 = 0 + self.hit1 = 4 + self.出血hit1 = 4 + if 形态 == "不强化": + self.hit0 = 1 + self.出血hit0 = 1 + self.感电hit0 = 1 + self.hit1 = 0 + self.出血hit1 = 0 + + +class 技能5(被动技能): + 名称 = '爪精通' + 所在等级 = 25 + 等级上限 = 30 + 基础等级 = 20 + + def 物理攻击力倍率(self, 武器类型): + return (1.31 + (self.等级 - 20) * 0.02) if self.等级 >= 20 else (1.11 + self.等级 * 0.01) + + def 魔法攻击力倍率(self, 武器类型): + return self.物理攻击力倍率(武器类型) + + +class 技能6(主动技能): + 名称 = '砖块投掷' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [50, 420] + # 不强化 + # 砖块攻击力 (魔法):% + data0 = [0, 1238, 1366, 1493, 1619, 1745, 1871, 1998, 2123, 2249, 2374, 2499, 2623, 2751, 2877, 3002, 3129, 3256, 3380, 3510, 3635, 3758, 3884, 4008, 4136, 4266, 4392, 4516, 4644, 4768, 4893, 5020, 5143, 5270, 5399, 5525, 5652, 5777, 5900, 6027, 6152, 6278, 6405, 6531, 6657, 6782, 6909, 7034, 7160, 7286, 7407, 7537, 7665, 7791, 7915, 8044, 8169, 8297, 8421, 8542, 8671, 8800, 8924, 9051, 9178, 9301, 9429, 9553, 9680, 9804, 9931] + hit0 = 0 + power0 = 1.6 # 后街战术 + # 砖块碎片攻击力 (魔法):% + data1 = [0, 938, 1031, 1125, 1220, 1317, 1413, 1506, 1601, 1697, 1789, 1886, 1981, 2076, 2173, 2265, 2360, 2456, 2551, 2645, 2739, 2833, 2930, 3023, 3119, 3215, 3314, 3408, 3501, 3596, 3693, 3787, 3883, 3977, 4071, 4167, 4264, 4355, 4453, 4549, 4644, 4736, 4831, 4927, 5023, 5118, 5212, 5305, 5400, 5494, 5589, 5686, 5782, 5878, 5970, 6066, 6161, 6255, 6351, 6446, 6540, 6636, 6731, 6830, 6923, 7017, 7113, 7206, 7305, 7397, 7491] + hit1 = 0 + power1 = 1.6 # 后街战术 + # 强化 + # 巨石攻击力 (魔法):% + data2 = [0, 2201, 2430, 2651, 2877, 3098, 3321, 3545, 3769, 3993, 4218, 4441, 4665, 4889, 5112, 5335, 5562, 5782, 6007, 6228, 6454, 6678, 6900, 7125, 7348, 7572, 7795, 8019, 8242, 8468, 8690, 8916, 9138, 9361, 9586, 9806, 10033, 10254, 10481, 10703, 10928, 11151, 11374, 11597, 11820, 12045, 12268, 12492, 12720, 12941, 13163, 13384, 13610, 13831, 14057, 14282, 14505, 14732, 14953, 15178, 15399, 15622, 15848, 16070, 16296, 16517, 16746, 16966, 17189, 17410, 17637] + hit2 = 1 + # 巨石碎块攻击力 (魔法):% + data3 = [0, 1661, 1831, 2001, 2168, 2337, 2505, 2677, 2845, 3016, 3181, 3349, 3518, 3686, 3856, 4024, 4193, 4363, 4528, 4699, 4868, 5036, 5206, 5373, 5545, 5714, 5879, 6050, 6217, 6386, 6553, 6724, 6891, 7058, 7231, 7400, 7569, 7738, 7905, 8077, 8242, 8414, 8582, 8748, 8918, 9085, 9255, 9423, 9592, 9764, 9931, 10100, 10268, 10437, 10603, 10773, 10942, 11110, 11281, 11448, 11616, 11787, 11955, 12125, 12297, 12460, 12631, 12798, 12967, 13136, 13303] + hit3 = 1 + CD = 4.0 + TP成长 = 0.10 + TP上限 = 7 + + 形态 = ["强化", "不强化"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "强化": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + if 形态 == "不强化": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + + +class 技能7(主动技能): + 名称 = '伏虎霸王拳' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [80, 672] + # [伏虎霸王拳]攻击力 (魔法):% + data0 = [0, 2037, 2248, 2459, 2671, 2880, 3090, 3300, 3512, 3721, 3935, 4145, 4354, 4563, 4774, 4987, 5197, 5403, 5617, 5829, 6039, 6249, 6463, 6669, 6883, 7091, 7303, 7513, 7726, 7933, 8144, 8358, 8567, 8780, 8985, 9201, 9408, 9621, 9829, 10043, 10252, 10465, 10672, 10885, 11092, 11307, 11513, 11728, 11937, 12148, 12360, 12567, 12780, 12990, 13200, 13408, 13621, 13833, 14043, 14251, 14465, 14677, 14887, 15096, 15310, 15517, 15732, 15938, 16151, 16360, 16572] + hit0 = 3 + CD = 15 + TP成长 = 0.10 + TP上限 = 5 # 基础精通 + + +class 技能8(主动技能): + 名称 = '螺旋滑铲' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + # 攻击力 (魔法):% + data0 = [0, 5140, 5659, 6182, 6702, 7223, 7746, 8266, 8790, 9310, 9831, 10349, 10871, 11396, 11916, 12439, 12956, 13481, 14003, 14523, 15044, 15565, 16086, 16607, 17131, 17652, 18175, 18696, 19214, 19736, 20261, 20780, 21303, 21819, 22343, 22866, 23388, 23907, 24429, 24951, 25471, 25994, 26514, 27037, 27558, 28079, 28600, 29120, 29643, 30166, 30685, 31208, 31728, 32251, 32773, 33291, 33813, 34334, 34857, 35377, 35902, 36420, 36941, 37461, 37983, 38508, 39025, 39547, 40072, 40594, 41114] + hit0 = 3 + CD = 20 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [200, 1820] + 无色消耗 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.power0 = 1.2 + if 形态 == "抓取": + self.power0 = 1.0 + + def 装备护石(self, char): + self.hit0 = 1 + self.倍率 *= 3.89 + self.CDR *= 0.9 + + +class 技能9(主动技能): + 名称 = '罗网投掷' + 所在等级 = 35 + 等级上限 = 11 + 学习间隔 = 3 + 等级精通 = 1 + MP = [180, 1512] + data0 = [0, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489, 2489] + hit0 = 1 + CD = 15 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = '挑衅' + 所在等级 = 35 + 等级上限 = 20 + 基础等级 = 10 + 是否有伤害 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05 + 0.02 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = '毒雷引爆' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + # 毒气柱魔法攻击力:% + data0 = [0, 13051, 14375, 15697, 17021, 18346, 19670, 20989, 22313, 23640, 24964, 26286, 27609, 28935, 30261, 31586, 32908, 34231, 35554, 36880, 38200, 39525, 40848, 42173, 43499, 44824, 46148, 47470, 48794, 50117, 51441, 52767, 54089, 55413, 56736, 58060, 59385, 60710, 62035, 63354, 64678, 66004, 67328, 68651, 69974, 71298, 72622, 73947, 75269, 76595, 77919, 79245, 80567, 81890, 83212, 84539, 85864, 87185, 88510, 89830, 91157, 92480, 93808, 95130, 96453, 97780, 99103, 100424, 101749, 103071, 104398] + hit0 = 1 + # 侧踢攻击力 (魔法):% + data1 = [0, 6648, 7322, 7995, 8670, 9347, 10019, 10694, 11369, 12044, 12715, 13392, 14066, 14738, 15417, 16089, 16761, 17442, 18114, 18785, 19463, 20136, 20812, 21485, 22160, 22834, 23509, 24183, 24859, 25532, 26205, 26880, 27557, 28229, 28906, 29579, 30254, 30927, 31603, 32276, 32951, 33627, 34299, 34972, 35648, 36325, 36993, 37674, 38346, 39019, 39695, 40370, 41041, 41716, 42392, 43067, 43739, 44420, 45092, 45763, 46441, 47114, 47787, 48464, 49138, 49814, 50486, 51159, 51834, 52509, 53184] + hit1 = 1 + # 中毒攻击力 (魔法):% + 中毒data0 = [0, 3283, 3612, 3949, 4282, 4613, 4948, 5283, 5612, 5945, 6279, 6611, 6944, 7280, 7610, 7944, 8277, 8610, 8946, 9279, 9609, 9942, 10274, 10607, 10944, 11276, 11606, 11941, 12273, 12604, 12937, 13273, 13605, 13939, 14272, 14605, 14938, 15271, 15604, 15936, 16268, 16601, 16938, 17265, 17602, 17934, 18267, 18601, 18936, 19267, 19600, 19932, 20266, 20598, 20934, 21265, 21596, 21930, 22263, 22596, 22928, 23266, 23599, 23929, 24262, 24595, 24930, 25262, 25593, 25928, 26258] + 中毒hit0 = 1 + CD = 24 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [180, 1512] + 无色消耗 = 1 + + def 装备护石(self, char): + self.hit0 = 3 + self.hit1 = 0 + self.中毒hit0 = 3 + self.power0 = 0.52 + self.中毒power0 = 1.08 + + +class 技能12(被动技能): + 名称 = '狂·霸王拳' + 备注 = '3异常(满)' + 所在等级 = 40 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['伏虎霸王拳'] + 冷却关联技能 = ['伏虎霸王拳'] + 额外倍率 = 1 + 自定义描述 = 1 + + # [狂 · 霸王拳]附加魔法攻击力:% + # 这部分属于被动倍率,一般加强不会加强到这里 + data0 = [0, 630, 642, 654, 666, 678, 690, 702, 714, 726, 738, 750] + MP = [0, 0] + 无色消耗 = 1 + + 额外倍率 = 1 + CD缩减 = 1 + + def CD缩减倍率(self, 武器类型): + return self.CD缩减 + + def 技能描述(self, 武器类型): + temp = '' + temp += '[伏虎霸王拳]的攻击次数变更为1次
' + \ + '[狂·霸王拳]附加魔法攻击力' + \ + str(self.data0[self.等级]) + '%
' + \ + '每个异常状态附加攻击力 (最多3个):20%' + return temp + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round((self.data0[self.等级]/100)/3*1.6*self.额外倍率, 5) + + +class 技能13(主动技能): + 名称 = '残忍套索' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1735, 1911, 2086, 2262, 2440, 2616, 2792, 2968, 3143, 3319, 3495, 3671, 3848, 4024, 4199, 4376, 4552, 4728, 4904, 5081, 5256, 5432, 5608, 5784, 5960, 6137, 6313, 6489, 6665, 6841, 7017, 7193, 7369, 7544, 7720, 7898, 8074, 8250, 8426, 8601, 8777, 8953, 9129, 9306, 9482, 9657, 9834, 10010, 10186, 10362, 10539, 10714, 10890, 11066, 11242, 11418, 11595, 11771, 11946, 12123, 12299, 12475, 12651, 12827, 13002, 13178, 13354, 13532, 13708, 13884] + hit0 = 8 + data1 = [0, 3470, 3822, 4175, 4526, 4879, 5232, 5583, 5935, 6287, 6639, 6992, 7344, 7696, 8047, 8400, 8753, 9104, 9457, 9809, 10160, 10513, 10866, 11217, 11569, 11921, 12274, 12626, 12978, 13329, 13682, 14035, 14386, 14738, 15091, 15442, 15795, 16147, 16499, 16851, 17203, 17554, 17908, 18260, 18612, 18963, 19316, 19669, 20020, 20372, 20725, 21076, 21429, 21782, 22133, 22485, 22837, 23190, 23542, 23894, 24245, 24597, 24950, 25302, 25654, 26007, 26358, 26710, 27063, 27415, 27767] + hit1 = 1 + 出血data0 = [0, 1735, 1911, 2086, 2262, 2440, 2616, 2792, 2968, 3143, 3319, 3495, 3671, 3848, 4024, 4199, 4376, 4552, 4728, 4904, 5081, 5256, 5432, 5608, 5784, 5960, 6137, 6313, 6489, 6665, 6841, 7017, 7193, 7369, 7544, 7720, 7898, 8074, 8250, 8426, 8601, 8777, 8953, 9129, 9306, 9482, 9657, 9834, 10010, 10186, 10362, 10539, 10714, 10890, 11066, 11242, 11418, 11595, 11771, 11946, 12123, 12299, 12475, 12651, 12827, 13002, 13178, 13354, 13532, 13708, 13884] + 出血hit0 = 8 + 出血data1 = [0, 3470, 3822, 4175, 4526, 4879, 5232, 5583, 5935, 6287, 6639, 6992, 7344, 7696, 8047, 8400, 8753, 9104, 9457, 9809, 10160, 10513, 10866, 11217, 11569, 11921, 12274, 12626, 12978, 13329, 13682, 14035, 14386, 14738, 15091, 15442, 15795, 16147, 16499, 16851, 17203, 17554, 17908, 18260, 18612, 18963, 19316, 19669, 20020, 20372, 20725, 21076, 21429, 21782, 22133, 22485, 22837, 23190, 23542, 23894, 24245, 24597, 24950, 25302, 25654, 26007, 26358, 26710, 27063, 27415, 27767] + 出血hit1 = 1 + CD = 45 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [450, 3780] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 11 + self.出血hit0 = 11 + self.倍率 *= 1.16 + + +class 技能14(被动技能): + 名称 = '千手奥义' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 16: + return round(1.00 + 0.015 * self.等级, 5) + else: + return round(1.24 + 0.02 * (self.等级 - 16), 5) + + +class 技能15(主动技能): + 名称 = '天崩地裂' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + # 地面爆炸魔法攻击力:% + data0 = [0, 36553, 45032, 53509, 61982, 70461, 78933, 87415, 95890, 104367, 112847, 121321, 129799, 138278, 146751, 155229, 163702, 172182, 180658, 189136, 197612, 206086, 214564, 223042, 231518, 239992, 248468, 256948, 265425, 273897, 282378, 290853, 299334, 307807, 316286, 324763, 333238, 341716, 350194, 358664, 367145, 375622, 384098, 392576, 401051, 409527, 418005, 426481, 434958, 443434, 451912] + hit0 = 1 + # 石块落地魔法攻击力:% + data1 = [0, 52091, 64169, 76251, 88330, 100408, 112486, 124566, 136646, 148723, 160803, 172882, 184962, 197043, 209122, 221201, 233279, 245358, 257439, 269518, 281597, 293676, 305755, 317836, 329916, 341991, 354070, 366148, 378229, 390310, 402390, 414470, 426549, 438624, 450708, 462787, 474863, 486942, 499021, 511103, 523181, 535260, 547341, 559419, 571497, 583578, 595657, 607736, 619816, 631894, 643974] + hit1 = 1 + # 每秒灼伤攻击力 (魔法):% + 灼伤data0 = [0, 153, 185, 222, 259, 292, 327, 361, 398, 433, 470, 506, 539, 576, 613, 647, 682, 719, 749, 786, 823, 857, 891, 929, 964, 1001, 1035, 1073, 1105, 1141, 1174, 1210, 1247, 1284, 1316, 1353, 1386, 1424, 1458, 1493, 1531, 1564, 1600, 1635, 1671, 1706, 1741, 1778, 1812, 1847, 1882] + 灼伤hit0 = 6 + # 每秒中毒攻击力 (魔法):% + 中毒data0 = [0, 0, 0, 222, 259, 292, 327, 361, 398, 433, 470, 506, 539, 576, 613, 647, 682, 719, 749, 786, 823, 857, 891, 929, 964, 1001, 1035, 1073, 1105, 1141, 1174, 1210, 1247, 1284, 1316, 1353, 1386, 1424, 1458, 1493, 1531, 1564, 1600, 1635, 1671, 1706, 1741, 1778, 1812, 1847, 1882] + 中毒hit0 = 6 + # 出血攻击力 (魔法):% + 出血data0 = [0, 0, 0, 0, 0, 0, 1972, 2184, 2394, 2607, 2818, 3035, 3245, 3457, 3668, 3880, 4090, 4302, 4517, 4731, 4940, 5151, 5362, 5574, 5785, 5999, 6210, 6426, 6633, 6847, 7059, 7271, 7484, 7695, 7906, 8117, 8329, 8542, 8751, 8967, 9176, 9389, 9601, 9812, 10025, 10238, 10449, 10661, 10872, 11084, 11296] + 出血hit0 = 1 + CD = 145 + + MP = [900, 7560] + 无色消耗 = 5 + + +class 技能16(主动技能): + 名称 = '爆破污桶' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 26617, 29312, 32013, 34713, 37416, 40114, 42818, 45510, 48211, 50914, 53614, 56310, 59014, 61713, 64417, 67111, 69815, 72515, 75218, 77911, 80610, 83311, 86008, 88714, 91413, 94112, 96810, 99511, 102212, 104911, 107613, 110309, 113007, 115711, 118408, 121114, 123813, 126510, 129211, 131909, 134611, 137309, 140012, 142709, 145407, 148111, 150809, 153511, 156213, 158910] + hit0 = 1 + + 灼伤data0 = [0, 1120, 1234, 1348, 1462, 1576, 1688, 1802, 1916, 2030, 2144, 2258, 2371, 2485, 2598, 2712, 2826, 2940, 3053, 3167, 3281, 3394, 3507, 3621, 3735, 3849, 3963, 4077, 4189, 4303, 4417, 4531, 4645, 4758, 4872, 4986, 5099, 5213, 5327, 5440, 5554, 5668, 5782, 5895, 6008, 6122, 6236, 6350, 6464, 6578, 6690] + 灼伤hit0 = 1 + + CD = 20 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [280, 784] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能17(主动技能): + 名称 = '千锁乱舞' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + # 魔法攻击力:% + data0 = [0, 5199, 5730, 6255, 6786, 7311, 7840, 8368, 8895, 9423, 9948, 10478, 11005, 11536, 12059, 12590, 13115, 13645, 14173, 14702, 15228, 15758, 16286, 16813, 17341, 17865, 18397, 18923, 19449, 19976, 20507, 21032, 21563, 22091, 22615, 23146, 23674, 24199, 24729, 25253, 25782, 26313, 26841, 27364, 27895, 28423, 28947, 29476, 30003, 30531, 31059] + hit0 = 5 + # 出血攻击力 (魔法):% + 出血data0 = [0, 5199, 5730, 6255, 6786, 7311, 7840, 8368, 8895, 9423, 9948, 10478, 11005, 11536, 12059, 12590, 13115, 13645, 14173, 14702, 15228, 15758, 16286, 16813, 17341, 17865, 18397, 18923, 19449, 19976, 20507, 21032, 21563, 22091, 22615, 23146, 23674, 24199, 24729, 25253, 25782, 26313, 26841, 27364, 27895, 28423, 28947, 29476, 30003, 30531, 31059] + 出血hit0 = 5 + CD = 50 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 6 + self.出血hit0 = 6 + self.倍率 *= 1.07 + self.CDR *= 0.91 + + +class 技能18(主动技能): + 名称 = '暗街夺命锁' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 41272, 45460, 49647, 53836, 58018, 62207, 66394, 70584, 74769, 78954, 83143, 87331, 91517, 95702, 99889, 104079, 108268, 112452, 116637, 120824, 125015, 129199, 133388, 137575, 141761, 145948, 150134, 154323, 158510, 162697, 166884, 171068, 175259, 179445, 183633, 187818, 192003, 196191, 200382, 204568, 208753, 212942, 217128, 221316, 225502, 229690, 233876, 238063, 242249, 246438] + hit0 = 0 + data1 = [0, 24764, 27276, 29786, 32299, 34811, 37323, 39834, 42350, 44859, 47375, 49883, 52398, 54912, 57420, 59931, 62445, 64959, 67471, 69984, 72497, 75008, 77521, 80036, 82543, 85055, 87569, 90080, 92594, 95106, 97614, 100129, 102641, 105153, 107667, 110179, 112694, 115203, 117715, 120227, 122738, 125251, 127763, 130278, 132790, 135301, 137814, 140326, 142838, 145349, 147862] + hit1 = 0 + data2 = [0, 66036, 72735, 79436, 86134, 92834, 99531, 106232, 112930, 119632, 126327, 133028, 139728, 146426, 153126, 159828, 166525, 173223, 179924, 186623, 193322, 200020, 206719, 213419, 220119, 226818, 233519, 240217, 246915, 253615, 260315, 267014, 273717, 280411, 287110, 293809, 300511, 307211, 313909, 320610, 327309, 334007, 340707, 347406, 354104, 360804, 367505, 374203, 380902, 387602, 394300] + hit2 = 1 + 出血data0 = [0, 16509, 18181, 19857, 21531, 23209, 24882, 26556, 28231, 29907, 31581, 33256, 34934, 36609, 38283, 39955, 41630, 43304, 44981, 46655, 48328, 50006, 51680, 53356, 55026, 56706, 58379, 60052, 61725, 63406, 65079, 66753, 68427, 70105, 71777, 73451, 75130, 76801, 78475, 80151, 81829, 83502, 85176, 86851, 88526, 90200, 91875, 93550, 95225, 96900, 98575] + 出血hit0 = 1 + CD = 40 + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + def 装备护石(self, char): + self.倍率 *= 1.14 + self.灼伤data0 = [i*0.18 for i in self.data0] + self.灼伤hit0 = self.hit0 + self.灼伤data1 = [i*0.18 for i in self.data1] + self.灼伤hit1 = self.hit1 + self.灼伤data2 = [i*0.18 for i in self.data2] + self.灼伤hit2 = self.hit2 + self.灼伤data3 = [i*0.18 for i in self.出血data0] + self.灼伤hit3 = self.出血hit0 + + +class 技能19(被动技能): + 名称 = '诡诈之道' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = '飞沙走石' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + # 小石块魔法攻击力:% + data0 = [0, 3086, 3399, 3712, 4030, 4339, 4654, 4971, 5280, 5597, 5910, 6221, 6538, 6849, 7161, 7476, 7789, 8102, 8416, 8729, 9041, 9358, 9670, 9980, 10294, 10609, 10920, 11236, 11549, 11863, 12173, 12490, 12805, 13115, 13431, 13741, 14054, 14372, 14683, 14994, 15310, 15623, 15937, 16250, 16562, 16877, 17190, 17504, 17817, 18129, 18444] + hit0 = 10 + # 巨型石块魔法攻击力:% + data1 = [0, 18341, 20199, 22061, 23920, 25781, 27644, 29503, 31363, 33226, 35086, 36944, 38808, 40668, 42528, 44390, 46247, 48109, 49973, 51831, 53691, 55550, 57412, 59272, 61133, 62995, 64855, 66718, 68578, 70436, 72296, 74160, 76020, 77878, 79741, 81602, 83461, 85325, 87183, 89043, 90905, 92765, 94626, 96486, 98347, 100208, 102068, 103929, 105789, 107649, 109511] + hit1 = 1 + # 冲击波魔法攻击力:% + data2 = [0, 18341, 20199, 22061, 23920, 25781, 27644, 29503, 31363, 33226, 35086, 36944, 38808, 40668, 42528, 44390, 46247, 48109, 49973, 51831, 53691, 55550, 57412, 59272, 61133, 62995, 64855, 66718, 68578, 70436, 72296, 74160, 76020, 77878, 79741, 81602, 83461, 85325, 87183, 89043, 90905, 92765, 94626, 96486, 98347, 100208, 102068, 103929, 105789, 107649, 109511] + hit2 = 1 + # 出血攻击力 (魔法):% + 出血data0 = [0, 28958, 31892, 34832, 37769, 40709, 43646, 46585, 49525, 52459, 55397, 58333, 61272, 64213, 67148, 70088, 73024, 75962, 78898, 81836, 84774, 87715, 90654, 93589, 96531, 99468, 102403, 105341, 108278, 111219, 114155, 117095, 120033, 122970, 125905, 128843, 131784, 134722, 137659, 140597, 143538, 146473, 149411, 152348, 155287, 158224, 161163, 164100, 167039, 169976, 172915] + 出血hit0 = 1 + CD = 45 + 是否有护石 = 1 + + MP = [800, 6000] + 无色消耗 = 5 + + def 装备护石(self, char): + self.hit0 = 0 + self.power2 = 4.6 + self.CDR *= 0.9 + + +class 技能21(主动技能): + 名称 = '燃火轰天炮' + 备注 = '3异常(满)' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + # 铁管打击 (魔法):% + data0 = [0, 45856, 56493, 67126, 77763, 88393, 99026, 109661, 120297, 130928, 141560, 152197, 162839, 173464, 184095, 194737, 205361, 215998, 226636, 237268, 247901, 258540, 269168, 279806, 290438, 301073, 311711, 322343, 332972, 343610, 354243, 364875, 375511, 386144, 396776, 407413, 418045, 428680, 439318, 449947, 460578, 471216, 481849, 492484, 503117, 513751, 524385, 535018, 545653, 556287, 566920] + hit0 = 1 + # 第1~2次爆炸 (魔法):% + data1 = [0, 26584, 32749, 38912, 45079, 51244, 57411, 63571, 69737, 75902, 82066, 88229, 94394, 100562, 106724, 112890, 119053, 125219, 131380, 137551, 143710, 149877, 156042, 162207, 168369, 174532, 180699, 186865, 193029, 199197, 205355, 211523, 217688, 223852, 230016, 236181, 242345, 248510, 254674, 260841, 267005, 273168, 279334, 285497, 291664, 297826, 303991, 310156, 316320, 322485, 328650] + hit1 = 2 + # 第3~5次爆炸 (魔法):% + data2 = [0, 13293, 16375, 19457, 22539, 25623, 28703, 31786, 34871, 37951, 41034, 44116, 47197, 50281, 53363, 56444, 59527, 62611, 65694, 68774, 71856, 74938, 78024, 81102, 84185, 87267, 90351, 93432, 96515, 99597, 102681, 105762, 108842, 111923, 115012, 118087, 121174, 124257, 127337, 130420, 133502, 136584, 139667, 142750, 145831, 148913, 151995, 155078, 158161, 161242, 164324] + hit2 = 3 + 倍率 = 1.75 + CD = 180.0 + + MP = [2500, 5000] + 无色消耗 = 10 + + +class 技能22(主动技能): + 名称 = '逆道·爆狱' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + # 不强化 + # 木桶多段攻击力 (魔法):% + data0 = [0, 12395, 13654, 14912, 16167, 17425, 18683, 19942, 21198, 22455, 23713, 24971, 26227, 27486, 28744, 30002, 31259, 32516, 33774, 35032, 36288, 37546, 38805, 40063, 41320, 42577, 43835, 45093, 46349, 47607, 48865, 50124, 51381, 52638, 53896, 55154, 56410, 57668, 58927, 60184, 61442, 62699, 63957, 65214, 66472, 67729, 68986, 70245, 71502, 72759, 74018] + hit0 = 0 + # 爆炸攻击力 (魔法):% + data1 = [0, 92972, 102403, 111833, 121268, 130699, 140132, 149563, 158995, 168427, 177859, 187290, 196723, 206155, 215588, 225019, 234450, 243882, 253314, 262747, 272180, 281611, 291043, 300472, 309907, 319337, 328772, 338204, 347634, 357066, 366498, 375930, 385361, 394794, 404227, 413659, 423089, 432522, 441953, 451386, 460818, 470250, 479681, 489115, 498547, 507978, 517410, 526841, 536273, 545705, 555138] + hit1 = 0 + # 强化 + # 金属桶多段攻击力 (魔法):% + data2 = [0, 14277, 15725, 17174, 18620, 20071, 21518, 22965, 24416, 25863, 27311, 28762, 30210, 31658, 33104, 34555, 36003, 37450, 38899, 40349, 41795, 43246, 44695, 46141, 47590, 49040, 50487, 51935, 53383, 54832, 56280, 57729, 59177, 60627, 62074, 63523, 64971, 66418, 67868, 69315, 70765, 72213, 73661, 75110, 76559, 78007, 79455, 80903, 82352, 83800, 85249] + hit2 = 5 + # 连锁爆炸攻击力 (魔法):% + data3 = [0, 17846, 19656, 21466, 23278, 25088, 26899, 28708, 30520, 32330, 34140, 35952, 37761, 39571, 41382, 43192, 45003, 46815, 48626, 50437, 52246, 54057, 55868, 57678, 59487, 61299, 63109, 64919, 66729, 68540, 70350, 72162, 73972, 75782, 77593, 79404, 81215, 83024, 84834, 86646, 88456, 90266, 92079, 93887, 95698, 97509, 99320, 101130, 102940, 104751, 106562] + hit3 = 5 + # 灼伤攻击力 (魔法):% + 灼伤data0 = [0, 3569, 3929, 4293, 4655, 5017, 5381, 5741, 6104, 6466, 6827, 7190, 7552, 7914, 8276, 8636, 8999, 9363, 9726, 10087, 10450, 10810, 11173, 11535, 11896, 12260, 12621, 12983, 13344, 13707, 14067, 14432, 14796, 15155, 15518, 15881, 16242, 16603, 16966, 17328, 17691, 18053, 18414, 18776, 19138, 19500, 19863, 20226, 20587, 20950, 21312] + 灼伤hit0 = 5 + CD = 60.0 + + MP = [960, 7200] + 无色消耗 = 7 + + 形态 = ["强化", "不强化"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "强化": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 5 + self.hit3 = 5 + self.出血hit0 = 5 + if 形态 == "不强化": + self.hit0 = 5 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.出血hit0 = 0 + + +class 技能23(被动技能): + 名称 = '逆道·皆允' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = '逆道·幽链之界' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + # 锁链横扫攻击力 (魔法):% + data0 = [0, 18216, 22438, 26663, 30888, 35112, 39335, 43561, 47784, 52008, 56232, 60457, 64679, 68903, 73128, 77351, 81576, 85799, 90024, 94249, 98472, 102696, 106921, 111144, 115366, 119593, 123817, 128040, 132265, 136489, 140711, 144938, 149160, 153384, 157608, 161833, 166056, 170281, 174505, 178728, 182953, 187177, 191401, 195625, 199849, 204073, 208298, 212520, 216744, 220969, 225192] + hit0 = 5 + # 锁链突刺攻击力 (魔法):% + data1 = [0, 30358, 37401, 44438, 51478, 58520, 65560, 72599, 79640, 86681, 93720, 100761, 107799, 114838, 121880, 128921, 135960, 143001, 150041, 157080, 164121, 171160, 178198, 185242, 192281, 199321, 206360, 213401, 220441, 227481, 234522, 241561, 248599, 255642, 262681, 269720, 276762, 283802, 290842, 297882, 304921, 311962, 319001, 326043, 333083, 340121, 347162, 354202, 361241, 368283, 375323] + hit1 = 1 + # 锁链旋转攻击力 (魔法):% + data2 = [0, 18216, 22438, 26663, 30888, 35112, 39335, 43561, 47784, 52008, 56232, 60457, 64679, 68903, 73128, 77351, 81576, 85799, 90024, 94249, 98472, 102696, 106921, 111144, 115366, 119593, 123817, 128040, 132265, 136489, 140711, 144938, 149160, 153384, 157608, 161833, 166056, 170281, 174505, 178728, 182953, 187177, 191401, 195625, 199849, 204073, 208298, 212520, 216744, 220969, 225192] + hit2 = 10 + # 建筑炸弹地面上攻击力 (魔法):% + data3 = [0, 91079, 112200, 133320, 154441, 175561, 196679, 217801, 238921, 260041, 281161, 302282, 323401, 344522, 365642, 386763, 407883, 429003, 450124, 471244, 492365, 513484, 534605, 555725, 576844, 597964, 619084, 640204, 661324, 682445, 703564, 724685, 745805, 766926, 788045, 809167, 830287, 851407, 872527, 893647, 914768, 935887, 957008, 978128, 999249, 1020368, 1041489, 1062609, 1083728, 1104849, 1125969] + hit3 = 1 + # 建筑炸弹爆炸攻击力 (魔法):% + data4 = [0, 194304, 239360, 284418, 329474, 374529, 419587, 464644, 509700, 554756, 599814, 644868, 689924, 734982, 780037, 825095, 870152, 915206, 960264, 1005319, 1050378, 1095432, 1140487, 1185546, 1230602, 1275656, 1320714, 1365772, 1410828, 1455883, 1500942, 1545996, 1591052, 1636110, 1681165, 1726223, 1771279, 1816334, 1861392, 1906448, 1951503, 1996560, 2041616, 2086674, 2131730, 2176786, 2221843, 2266898, 2311956, 2357012, 2402067] + hit4 = 1 + # 出血攻击力 (魔法):% + 出血data0 = [0, 6072, 7479, 8887, 10296, 11705, 13112, 14518, 15926, 17336, 18742, 20151, 21561, 22967, 24377, 25782, 27191, 28599, 30008, 31414, 32823, 34232, 35639, 37048, 38454, 39863, 41271, 42680, 44089, 45494, 46903, 48311, 49720, 51127, 52536, 53945, 55352, 56759, 58167, 59576, 60984, 62391, 63800, 65208, 66616, 68024, 69432, 70840, 72247, 73657, 75064] + 出血hit0 = 1 + # 中毒攻击力 (魔法):% + 中毒data0 = [0, 6072, 7479, 8887, 10296, 11705, 13112, 14518, 15926, 17336, 18742, 20151, 21561, 22967, 24377, 25782, 27191, 28599, 30008, 31414, 32823, 34232, 35639, 37048, 38454, 39863, 41271, 42680, 44089, 45494, 46903, 48311, 49720, 51127, 52536, 53945, 55352, 56759, 58167, 59576, 60984, 62391, 63800, 65208, 66616, 68024, 69432, 70840, 72247, 73657, 75064] + 中毒hit0 = 1 + # 灼伤攻击力 (魔法):% + 灼伤data0 = [0, 6072, 7479, 8887, 10296, 11705, 13112, 14518, 15926, 17336, 18742, 20151, 21561, 22967, 24377, 25782, 27191, 28599, 30008, 31414, 32823, 34232, 35639, 37048, 38454, 39863, 41271, 42680, 44089, 45494, 46903, 48311, 49720, 51127, 52536, 53945, 55352, 56759, 58167, 59576, 60984, 62391, 63800, 65208, 66616, 68024, 69432, 70840, 72247, 73657, 75064] + 灼伤hit0 = 1 + CD = 290 + + MP = [4025, 8055] + 无色消耗 = 15 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'brawler_male' + self.名称 = '归元·街霸' + self.角色 = '格斗家(男)' + self.职业 = '街霸' + # 用来筛CP武器的 + self.转职 = '街霸(男)' + self.武器选项 = ['爪'] + self.输出类型选项 = ['魔法百分比', '物理百分比'] + self.防具精通属性 = ['力量', '智力'] + self.类型 = '魔法百分比' + self.武器类型 = '爪' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.79 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=15) -> None: + return super().set_skill_info(info, rune_except, clothes_pants, rune_start_lv=15) + + + def 站街力量(self): + return max(super().站街力量(), super().站街智力()) + + def 站街智力(self): + return self.站街力量() + + def 面板力量(self): + return max(super().面板力量(), super().面板智力()) + + def 面板智力(self): + return self.面板力量() + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if min <= 30 and max >= 30 and i.名称 == '伏虎霸王拳': + self.get_skill_by_name("狂·霸王拳").额外倍率 /= (1 + x * self.技能伤害增加增幅) + if type == "all" and i.名称 == "狂·霸王拳" and (min == max == 40): + i.额外倍率 *= (1 + x * self.技能伤害增加增幅) + + def 伤害计算(self): + data = super().伤害计算() + 伏虎霸王拳 = data['skills'].get("伏虎霸王拳", None) + 被动加成 = self.get_skill_by_name('狂·霸王拳').加成倍率('') + if 伏虎霸王拳 is None or 被动加成 == 1: + return data + data['skills']['狂·霸王拳'] = 伏虎霸王拳 + del data['skills']['伏虎霸王拳'] + return data diff --git a/api/core/characters/chaos.py b/api/core/characters/chaos.py new file mode 100644 index 00000000..2a5d065b --- /dev/null +++ b/api/core/characters/chaos.py @@ -0,0 +1,520 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "军团列队" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 5 + MP = [15, 360] + 无色消耗 = 0 + data0 = [0, 6065, 7024, 7995, 8961, 9930, 10897, 11857, 12827, 13794, 14763, 15730, 16692, 17660, 18628, 19597, 20558, 21525, 22495, 23462, 24432, 25390, 26360, 27326, 28297, 29264, 30226, 31192, 32162, 33129, 34097, 35060, 36029, 36993, 37963, 38923, 39891, 40861, 41829, 42798, 43757, 44726, 45694, 46663, 47632, 48592, 49558, 50530, 51494, 52462, 53426, 54394, 55359, 56330, 57290, 58260, 59226, 60195, 61163, 62125, 63091, 64061, 65029, 65997, 66957, 67926, 68895, 69862, 70824, 71793, 72760] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(被动技能): + 名称 = '魔灵血统' + 所在等级 = 15 + 等级上限 = 11 + 基础等级 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + +class 技能2(主动技能): + 名称 = "魔灵炸弹" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [80, 400] + 无色消耗 = 0 + data0 = [0, 1211, 1335, 1458, 1581, 1704, 1828, 1951, 2073, 2195, 2319, 2442, 2564, 2689, 2811, 2935, 3056, 3180, 3303, 3426, 3550, 3672, 3795, 3919, 4041, 4163, 4287, 4410, 4534, 4656, 4780, 4902, 5024, 5149, 5271, 5394, 5517, 5641, 5763, 5886, 6009, 6133, 6255, 6377, 6503, 6624, 6749, 6870, 6994, 7116, 7241, 7364, 7487, 7609, 7732, 7855, 7977, 8102, 8224, 8348, 8471, 8594, 8716, 8839, 8963, 9085, 9208, 9332, 9455, 9577, 9700] + hit0 = 1 + data1 = [0, 2424, 2671, 2916, 3162, 3407, 3654, 3901, 4146, 4393, 4638, 4885, 5131, 5377, 5622, 5868, 6114, 6361, 6606, 6854, 7098, 7346, 7593, 7839, 8084, 8329, 8576, 8820, 9067, 9314, 9560, 9806, 10051, 10298, 10545, 10790, 11035, 11281, 11528, 11774, 12020, 12266, 12512, 12758, 13005, 13250, 13497, 13741, 13988, 14235, 14479, 14726, 14972, 15219, 15464, 15710, 15957, 16203, 16447, 16693, 16940, 17187, 17431, 17678, 17924, 18171, 18417, 18662, 18909, 19155, 19400] + hit1 = 4 + data2 = [0, 3032, 3338, 3647, 3953, 4260, 4569, 4877, 5183, 5491, 5799, 6106, 6414, 6721, 7030, 7337, 7643, 7951, 8261, 8566, 8874, 9182, 9489, 9797, 10104, 10412, 10720, 11026, 11334, 11643, 11950, 12256, 12565, 12871, 13180, 13486, 13795, 14103, 14410, 14717, 15025, 15333, 15641, 15948, 16254, 16563, 16871, 17178, 17485, 17793, 18099, 18408, 18715, 19024, 19330, 19638, 19946, 20253, 20561, 20869, 21176, 21483, 21791, 22098, 22407, 22714, 23021, 23328, 23636, 23944, 24252] + hit2 = 1 + data3 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 21, 21, 21, 22, 22, 22, 22, 23, 23] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + self.power0 = 1 / char.get_skill_by_name("绝对魅力").加成倍率('') + return super().等效百分比(**argv) + + +class 技能3(主动技能): + 名称 = "连锁共振" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 1 + CDList = [0] + [6.5, 6.5, 6.5, 6.6, 6.6, 6.6, 6.6, 6.6, 6.6, 6.7, 6.7, 6.7, 6.7, 6.7, 6.8, 6.8, 6.8, 6.8, 6.8, 6.9, 6.9, 6.9, 6.9, 6.9, 6.9, 7, 7, 7, 7, 7, 7.1, 7.1, 7.1, 7.1, 7.1, 7.2, 7.2, 7.2, 7.2, 7.2, 7.2, 7.3, 7.3, 7.3, 7.3, 7.3, 7.4, 7.4, 7.4, 7.4, 7.4, 7.4, 7.5, 7.5, 7.5, 7.5, 7.5, 7.6, 7.6, 7.6, 7.6, 7.6, 7.7, 7.7, 7.7, 7.7, 7.7, 7.7, 7.8, 7.8] + MP = [20, 400] + 无色消耗 = 0 + data0 = [0, 1610, 1691, 1773, 1852, 1934, 2014, 2097, 2177, 2259, 2340, 2423, 2502, 2584, 2665, 2746, 2828, 2908, 2988, 3070, 3150, 3232, 3313, 3394, 3476, 3557, 3638, 3719, 3800, 3879, 3961, 4044, 4124, 4203, 4287, 4367, 4449, 4529, 4609, 4692, 4772, 4854, 4934, 5014, 5097, 5177, 5259, 5339, 5419, 5502, 5582, 5665, 5745, 5825, 5908, 5988, 6071, 6151, 6232, 6314, 6394, 6475, 6555, 6636, 6716, 6796, 6876, 6956, 7036, 7116, 7198] + hit0 = 1 + data1 = [0, 160, 169, 177, 185, 194, 203, 210, 219, 226, 234, 242, 250, 258, 266, 275, 283, 291, 299, 306, 315, 323, 331, 339, 348, 356, 364, 371, 380, 389, 396, 404, 412, 420, 429, 438, 445, 453, 461, 469, 478, 485, 493, 501, 510, 519, 526, 534, 543, 550, 559, 566, 574, 583, 591, 600, 606, 615, 624, 631, 639, 647, 654, 663, 670, 678, 686, 693, 701, 708, 717] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + + def 等效CD(self, **argv): + self.CD = self.CDList[self.等级] + return super().等效CD(**argv) + + +class 技能4(被动技能): + 名称 = '力量法则' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', + '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸:亚丁降临', '绽放·终章', '盛宴·恶之祭典'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.085 + 0.015 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "魔幻旋风" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [25, 480] + 无色消耗 = 0 + data0 = [0, 423, 463, 505, 550, 593, 635, 677, 720, 763, 807, 849, 892, 931, 977, 1020, 1061, 1106, 1147, 1190, 1233, 1277, 1318, 1359, 1403, 1446, 1488, 1532, 1575, 1617, 1660, 1702, 1745, 1785, 1831, 1873, 1915, 1958, 2002, 2046, 2086, 2129, 2172, 2215, 2257, 2300, 2344, 2386, 2428, 2472, 2512, 2556, 2598, 2641, 2686, 2727, 2771, 2812, 2856, 2898, 2940, 2982, 3025, 3069, 3112, 3155, 3197, 3239, 3281, 3325, 3366] + hit0 = 14 + data1 = [0, 1261, 1386, 1514, 1643, 1768, 1897, 2024, 2153, 2282, 2407, 2536, 2663, 2791, 2921, 3046, 3174, 3301, 3429, 3556, 3685, 3813, 3941, 4069, 4194, 4323, 4450, 4578, 4707, 4833, 4962, 5088, 5217, 5344, 5471, 5600, 5727, 5855, 5983, 6111, 6238, 6366, 6492, 6621, 6749, 6876, 7003, 7132, 7260, 7388, 7516, 7643, 7769, 7896, 8025, 8154, 8281, 8408, 8538, 8664, 8792, 8918, 9046, 9175, 9302, 9431, 9557, 9684, 9813, 9941, 10070] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = '绝对魅力' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + 是否有伤害 = 0 + 关联技能 = ["魔灵炸弹", "碎灵屠戮"] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.035 + 0.012 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "毁灭突进" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [30, 950] + 无色消耗 = 0 + data0 = [0, 4472, 4916, 5370, 5829, 6282, 6735, 7176, 7632, 8089, 8548, 8998, 9452, 9901, 10361, 10803, 11260, 11714, 12169, 12617, 13074, 13524, 13974, 14441, 14883, 15342, 15789, 16245, 16700, 17150, 17601, 18052, 18510, 18968, 19407, 19868, 20322, 20769, 21230, 21683, 22138, 22582, 23036, 23488, 23948, 24392, 24844, 25299, 25759, 26210, 26658, 27116, 27557, 28017, 28475, 28924, 29372, 29826, 30282, 30741, 31185, 31647, 32105, 32550, 33003, 33449, 33908, 34361, 34814, 35267, 35718] + hit0 = 2 + data1 = [0, 126, 140, 152, 165, 177, 191, 201, 217, 228, 240, 254, 264, 279, 293, 305, 317, 330, 342, 355, 365, 380, 392, 407, 419, 430, 443, 456, 469, 481, 494, 507, 520, 534, 546, 557, 570, 583, 593, 608, 620, 634, 649, 659, 672, 686, 696, 710, 723, 735, 748, 761, 773, 785, 798, 812, 824, 836, 849, 861, 876, 888, 902, 913, 926, 937, 949, 962, 978, 989, 1003] + hit1 = 5 + data2 = [0, 378, 414, 452, 492, 530, 568, 604, 644, 681, 720, 757, 794, 834, 871, 911, 947, 984, 1024, 1060, 1099, 1137, 1174, 1214, 1251, 1288, 1328, 1366, 1404, 1441, 1478, 1517, 1558, 1596, 1631, 1672, 1709, 1746, 1785, 1824, 1860, 1899, 1936, 1973, 2014, 2052, 2089, 2127, 2166, 2202, 2240, 2281, 2317, 2355, 2391, 2430, 2470, 2507, 2544, 2582, 2620, 2660, 2696, 2739, 2775, 2809, 2851, 2888, 2924, 2964, 3003] + hit2 = 5 + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + self.power1 = self.power2 = char.get_skill_by_name("绝对魅力").加成倍率('') + return super().等效百分比(**argv) + + +class 技能8(主动技能): + 名称 = "翔空剑" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [35, 1350] + 无色消耗 = 1 + data0 = [0, 1571, 1731, 1889, 2050, 2208, 2368, 2528, 2686, 2847, 3005, 3165, 3325, 3486, 3642, 3803, 3962, 4121, 4282, 4440, 4601, 4760, 4918, 5080, 5237, 5397, 5557, 5719, 5875, 6035, 6194, 6354, 6515, 6672, 6830, 6990, 7150, 7310, 7468, 7627, 7788, 7945, 8106, 8265, 8426, 8584, 8743, 8903, 9062, 9223, 9382, 9541, 9700, 9859, 10020, 10177, 10338, 10498, 10655, 10816, 10976, 11136, 11294, 11454, 11612, 11773, 11932, 12091, 12252, 12409, 12570] + hit0 = 1 + data1 = [0, 2059, 2267, 2476, 2685, 2895, 3102, 3311, 3521, 3730, 3940, 4147, 4357, 4567, 4775, 4983, 5190, 5399, 5610, 5818, 6027, 6236, 6443, 6653, 6861, 7072, 7281, 7489, 7698, 7906, 8114, 8324, 8531, 8741, 8950, 9158, 9367, 9578, 9785, 9996, 10205, 10413, 10624, 10829, 11039, 11248, 11456, 11666, 11874, 12082, 12292, 12500, 12710, 12920, 13126, 13336, 13547, 13754, 13963, 14170, 14379, 14588, 14797, 15007, 15215, 15423, 15633, 15841, 16050, 16260, 16469] + hit1 = 1 + data2 = [0, 1547, 1705, 1860, 2018, 2173, 2331, 2488, 2644, 2801, 2957, 3114, 3273, 3430, 3586, 3742, 3900, 4057, 4214, 4369, 4526, 4683, 4840, 4997, 5155, 5311, 5468, 5625, 5782, 5938, 6097, 6253, 6408, 6565, 6722, 6880, 7036, 7194, 7350, 7509, 7664, 7820, 7977, 8133, 8292, 8448, 8603, 8762, 8918, 9077, 9232, 9390, 9546, 9703, 9859, 10016, 10173, 10328, 10486, 10644, 10802, 10957, 11116, 11271, 11427, 11586, 11741, 11900, 12055, 12211, 12369] + hit2 = 1 + data3 = [0, 929, 1024, 1120, 1210, 1305, 1400, 1493, 1587, 1681, 1776, 1871, 1965, 2059, 2154, 2248, 2343, 2434, 2529, 2624, 2717, 2813, 2907, 3000, 3095, 3191, 3283, 3377, 3471, 3567, 3661, 3754, 3849, 3943, 4037, 4130, 4226, 4319, 4414, 4509, 4602, 4697, 4792, 4884, 4980, 5072, 5165, 5261, 5354, 5449, 5542, 5638, 5733, 5825, 5919, 6015, 6108, 6203, 6297, 6392, 6486, 6581, 6674, 6768, 6861, 6956, 7051, 7144, 7239, 7333, 7428] + hit3 = 1 + data4 = [0, 620, 682, 746, 808, 869, 933, 995, 1058, 1122, 1185, 1246, 1310, 1373, 1436, 1500, 1562, 1625, 1689, 1751, 1811, 1876, 1938, 2002, 2063, 2128, 2189, 2253, 2315, 2379, 2441, 2506, 2565, 2626, 2691, 2752, 2816, 2879, 2943, 3004, 3068, 3130, 3194, 3256, 3321, 3381, 3443, 3507, 3569, 3632, 3696, 3759, 3820, 3884, 3947, 4010, 4074, 4136, 4199, 4262, 4325, 4385, 4451, 4512, 4576, 4636, 4701, 4763, 4827, 4890, 4953] + hit4 = 15 + data5 = [0, 2465, 2716, 2966, 3216, 3468, 3717, 3966, 4217, 4469, 4718, 4968, 5217, 5468, 5720, 5970, 6216, 6467, 6717, 6969, 7218, 7467, 7719, 7969, 8219, 8469, 8719, 8969, 9221, 9471, 9719, 9971, 10221, 10471, 10722, 10968, 11219, 11470, 11720, 11970, 12221, 12470, 12721, 12972, 13222, 13471, 13722, 13972, 14222, 14474, 14721, 14971, 15224, 15473, 15724, 15972, 16222, 16473, 16724, 16973, 17223, 17473, 17724, 17975, 18223, 18473, 18725, 18975, 19225, 19474, 19724] + hit5 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.演出时间 += 0.32 + + def 等效百分比(self, **argv): + self.hit4 = 15 + self.TP等级 + return super().等效百分比(**argv) + + +class 技能9(主动技能): + 名称 = "碎灵屠戮" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [80, 3500] + 无色消耗 = 1 + data0 = [0, 10753, 11873, 12980, 14093, 15201, 16314, 17434, 18542, 19654, 20762, 21884, 22984, 24096, 25185, 26299, 27442, 28548, 29660, 30747, 31860, 33002, 34108, 35223, 36303, 37444, 38528, 39643, 40751, 41864, 43004, 44090, 45208, 46312, 47427, 48564, 49652, 50748, 51866, 52991, 54095, 55207, 56313, 57426, 58549, 59656, 60770, 61874, 62988, 64111, 65213, 66321, 67431, 68553, 69660, 70770, 71880, 72991, 74113, 75219, 76336, 77442, 78526, 79665, 80778, 81882, 82998, 84119, 85228, 86338, 87446] + hit0 = 1 + data1 = [0, 2500, 2747, 2993, 3240, 3486, 3730, 3975, 4222, 4466, 4715, 4960, 5208, 5455, 5709, 5955, 6190, 6438, 6683, 6937, 7182, 7420, 7670, 7912, 8169, 8405, 8661, 8904, 9153, 9399, 9636, 9892, 10135, 10386, 10629, 10868, 11121, 11373, 11614, 11859, 12107, 12353, 12601, 12845, 13087, 13338, 13580, 13827, 14077, 14318, 14566, 14816, 15062, 15303, 15551, 15796, 16044, 16293, 16534, 16782, 17027, 17272, 17530, 17768, 18010, 18260, 18506, 18751, 18994, 19241, 19487] + hit1 = 1 + data2 = [0, 4585, 5037, 5498, 5959, 6413, 6869, 7327, 7783, 8243, 8701, 9153, 9615, 10073, 10537, 10998, 11441, 11902, 12357, 12824, 13281, 13728, 14185, 14644, 15113, 15560, 16026, 16485, 16940, 17402, 17847, 18315, 18767, 19232, 19685, 20134, 20597, 21063, 21515, 21968, 22430, 22889, 23346, 23800, 24256, 24716, 25172, 25630, 26088, 26542, 27005, 27463, 27919, 28374, 28833, 29290, 29750, 30206, 30661, 31119, 31577, 32033, 32505, 32949, 33407, 33863, 34323, 34776, 35239, 35690, 36151] + hit2 = 1 + data3 = [0, 7720, 8502, 9284, 10070, 10852, 11634, 12421, 13202, 13985, 14768, 15549, 16332, 17116, 17898, 18684, 19466, 20250, 21034, 21814, 22599, 23378, 24165, 24947, 25728, 26511, 27297, 28080, 28862, 29644, 30428, 31214, 31995, 32778, 33560, 34342, 35127, 35912, 36692, 37476, 38257, 39043, 39825, 40609, 41388, 42176, 42956, 43742, 44524, 45307, 46090, 46871, 47655, 48441, 49222, 50004, 50788, 51574, 52355, 53138, 53920, 54703, 55486, 56264, 57054, 57834, 58618, 59401, 60186, 60969, 61749] + hit3 = 1 + data4 = [0, 9888, 10888, 11889, 12893, 13896, 14898, 15905, 16901, 17906, 18910, 19912, 20914, 21920, 22920, 23923, 24926, 25929, 26932, 27938, 28937, 29941, 30944, 31944, 32948, 33950, 34955, 35958, 36959, 37963, 38967, 39967, 40971, 41974, 42974, 43979, 44984, 45984, 46990, 47990, 48992, 49994, 50998, 52000, 53006, 54004, 55011, 56012, 57015, 58017, 59021, 60025, 61023, 62028, 63031, 64034, 65039, 66040, 67043, 68046, 69049, 70052, 71051, 72059, 73062, 74061, 75066, 76067, 77068, 78073, 79076] + hit4 = 1 + data5 = [0, 8955, 9863, 10775, 11681, 12588, 13496, 14404, 15311, 16223, 17127, 18035, 18948, 19856, 20764, 21671, 22579, 23488, 24396, 25306, 26213, 27122, 28028, 28940, 29848, 30756, 31665, 32571, 33481, 34388, 35297, 36208, 37114, 38022, 38929, 39841, 40749, 41656, 42566, 43473, 44381, 45291, 46198, 47104, 48012, 48919, 49829, 50740, 51645, 52554, 53462, 54373, 55281, 56187, 57098, 58007, 58913, 59822, 60730, 61640, 62550, 63454, 64362, 65274, 66182, 67089, 67997, 68905, 69816, 70723, 71630] + hit5 = 1 + data6 = [0, 2709, 2982, 3260, 3532, 3807, 4084, 4356, 4632, 4903, 5183, 5455, 5732, 6006, 6278, 6552, 6829, 7103, 7378, 7654, 7927, 8201, 8477, 8752, 9024, 6791, 9575, 9849, 10125, 10400, 10675, 10951, 11227, 11499, 11769, 12047, 12321, 12597, 12872, 13149, 13419, 13697, 13968, 14247, 14519, 14797, 15069, 15342, 15618, 15893, 16171, 16444, 16720, 16994, 17266, 17542, 17815, 18094, 18364, 18641, 18915, 19190, 19462, 19742, 20013, 20288, 20562, 20838, 21111, 21387, 21661] + hit6 = 1 + data7 = [0, 5414, 5963, 6515, 7066, 7610, 8161, 8711, 9262, 9810, 10360, 10910, 11457, 12010, 12557, 13105, 13655, 14205, 14755, 15303, 15853, 16402, 16953, 17500, 18049, 18600, 19147, 19699, 20250, 20797, 21348, 21900, 22444, 22995, 23545, 24092, 24642, 25193, 25744, 26290, 26841, 27392, 27938, 28488, 29034, 29585, 30137, 30688, 31237, 31786, 32334, 32884, 33432, 33983, 34533, 35082, 35629, 36181, 36732, 37280, 37828, 38378, 38925, 39475, 40024, 40575, 41126, 41675, 42224, 42775, 43323] + hit7 = 1 + data8 = [0, 2864, 3152, 3439, 3730, 4022, 4309, 4601, 4891, 5179, 5470, 5758, 6051, 6343, 6632, 6918, 7210, 7501, 7791, 8083, 8373, 8661, 8950, 9237, 9532, 9822, 10110, 10402, 10691, 10983, 11273, 11565, 11855, 12142, 12432, 12719, 13012, 13303, 13592, 13884, 14171, 14463, 14752, 15046, 15334, 15622, 15914, 16204, 16494, 16782, 17074, 17360, 17651, 17944, 18234, 18525, 18814, 19103, 19395, 19685, 19975, 20265, 20553, 20843, 21134, 21424, 21714, 22006, 22295, 22583, 22873] + hit8 = 1 + data9 = [0, 8123, 8947, 9770, 10596, 11418, 12244, 13068, 13891, 14715, 15540, 16362, 17188, 18010, 18833, 19657, 20484, 21307, 22130, 22957, 23780, 24605, 25428, 26249, 27074, 27900, 28723, 29547, 30373, 31199, 32019, 32847, 33668, 34490, 35316, 36138, 36962, 37790, 38613, 39437, 40262, 41087, 41909, 42732, 43557, 44381, 45205, 46028, 46854, 47678, 48503, 49324, 50149, 50974, 51796, 52623, 53446, 54269, 55092, 55920, 56741, 57566, 58389, 59213, 60039, 60860, 61687, 62509, 63335, 64157, 64982] + hit9 = 1 + data10 = [0, 722, 798, 869, 942, 1016, 1092, 1166, 1234, 1308, 1385, 1457, 1527, 1602, 1675, 1750, 1822, 1894, 1969, 2040, 2119, 2186, 2261, 2336, 2407, 2482, 2556, 2630, 2702, 2773, 2849, 2920, 2994, 3068, 3140, 3215, 3287, 3359, 3433, 3507, 3583, 3654, 3725, 3801, 3871, 3948, 4019, 4093, 4168, 4239, 4311, 4386, 4458, 4535, 4604, 4679, 4750, 4825, 4898, 4971, 5044, 5120, 5193, 5263, 5337, 5412, 5486, 5557, 5632, 5704, 5777] + hit10 = 7 + 出血data0 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19] + 出血hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + self.CDR *= 0.9 + + # 佩戴护石时,体术部分由于被整合,所以也被绝对魔力一起加成 + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + 倍率 = char.get_skill_by_name("绝对魅力").加成倍率('') + if '碎灵屠戮' not in char.护石栏: + self.power0 = 1.0 / 倍率 + else: + self.power0 = 1.0 + return super().等效百分比(**argv) + + def 基础百分比(self, 类型, 等级): + if 类型 == '直伤': + name = '' + else: + name = 类型 + 百分比 = 0.0 + for i in range(0, 11): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + power = getattr(self, '{}power{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power + return 百分比*self.国服特色 + + +class 技能10(主动技能): + 名称 = "聚灵升空剑" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [80, 5000] + 无色消耗 = 2 + data0 = [0, 7059, 7776, 8492, 9208, 9924, 10641, 11356, 12074, 12790, 13506, 14223, 14938, 15656, 16370, 17087, 17802, 18520, 19236, 19951, 20669, 21384, 22101, 22817, 23533, 24250, 24967, 25683, 26399, 27114, 27830, 28546, 29263, 29980, 30696, 31413, 32128, 32845, 33562, 34278, 34994, 35709, 36426, 37140, 37859, 38575, 39291, 40007, 40723, 41439, 42158, 42872, 43589, 44305, 45021, 45739, 46454, 47170, 47885, 48602, 49317, 50035, 50752, 51467, 52184, 52899, 53616, 54332, 55050, 55766, 56482] + hit0 = 2 + data1 = [0, 3530, 3887, 4246, 4602, 4963, 5321, 5678, 6036, 6394, 6753, 7112, 7469, 7828, 8185, 8543, 8901, 9259, 9618, 9976, 10334, 10691, 11051, 11409, 11767, 12124, 12483, 12841, 13198, 13558, 13915, 14272, 14631, 14990, 15347, 15706, 16064, 16423, 16779, 17139, 17496, 17855, 18213, 18570, 18929, 19286, 19646, 20004, 20361, 20720, 21078, 21436, 21793, 22152, 22512, 22868, 23228, 23584, 23943, 24301, 24659, 25017, 25374, 25734, 26091, 26450, 26807, 27167, 27524, 27882, 28240] + hit1 = 1 + data2 = [0, 17651, 19440, 21232, 23022, 24813, 26602, 28394, 30184, 31974, 33767, 35556, 37347, 39138, 40929, 42717, 44509, 46299, 48091, 49882, 51672, 53462, 55254, 57044, 58835, 60624, 62417, 64207, 65996, 67788, 69577, 71368, 73159, 74951, 76740, 78532, 80322, 82113, 83904, 85693, 87483, 89276, 91066, 92856, 94647, 96438, 98228, 100020, 101810, 103601, 105392, 107181, 108972, 110762, 112553, 114343, 116136, 117926, 119716, 121507, 123298, 125088, 126880, 128669, 130460, 132250, 134042, 135831, 137622, 139413, 141204] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能11(被动技能): + 名称 = '魔能榨取' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 非关联技能 = ['连锁共振'] + CP武器 = False + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 16: + return round(1.015 + 0.015 * self.等级 + (0.15 if self.CP武器 else 0), 5) + else: + return round(1.295 + 0.020 * (self.等级 - 16) + (0.15 if self.CP武器 else 0), 5) + + +class 技能12(主动技能): + 名称 = "魔神百裂拳" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 3023, 3728, 4426, 5130, 5829, 6528, 7227, 7932, 8631, 9334, 10031, 10737, 11437, 12137, 12838, 13537, 14240, 14941, 15644, 16341, 17041, 17745, 18445, 19145, 19847, 20549, 21250, 21952, 22652, 23353, 24054, 24755, 25454, 26156, 26858, 27559, 28259, 28963, 29663, 30362, 31064, 31764, 32467, 33168, 33869, 34569, 35272, 35970, 36672, 37372] + hit0 = 12 + data1 = [0, 18138, 22345, 26548, 30758, 34963, 39170, 43374, 47581, 51789, 55994, 60199, 64404, 68610, 72820, 77024, 81230, 85436, 89641, 93848, 98053, 102261, 106467, 110675, 114878, 119082, 123291, 127498, 131701, 135907, 140115, 144320, 148527, 152733, 156938, 161146, 165350, 169555, 173764, 177970, 182174, 186382, 190585, 194793, 199000, 203206, 207412, 211618, 215825, 220029, 224235] + hit1 = 1 + data2 = [0, 12089, 14897, 17696, 20503, 23304, 26112, 28912, 31722, 34521, 37328, 40129, 42936, 45740, 48544, 51351, 54148, 56958, 59757, 62565, 65363, 68173, 70973, 73779, 76579, 79386, 82196, 84995, 87804, 90602, 93410, 96209, 99018, 101817, 104624, 107426, 110233, 113032, 115841, 118648, 121445, 124254, 127055, 129863, 132662, 135470, 138269, 141078, 143878, 146685, 149485] + hit2 = 3 + + 倍率 = 1.1 # bb在场数量增伤;每只1% + + +class 技能13(主动技能): + 名称 = "黑暗冲击" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [750, 1560] + 无色消耗 = 1 + data0 = [0, 10961, 12073, 13185, 14297, 15409, 16521, 17632, 18744, 19855, 20969, 22080, 23191, 24302, 25414, 26527, 27639, 28751, 29863, 30975, 32087, 33199, 34311, 35423, 36535, 37646, 38759, 39871, 40982, 42094, 43205, 44319, 45431, 46543, 47654, 48767, 49878, 50991, 52102, 53215, 54326, 55438, 56549, 57663, 58774, 59887, 60998, 62111, 63223, 64334, 65445] + hit0 = 1 + data1 = [0, 6394, 7040, 7690, 8339, 8987, 9637, 10285, 10934, 11582, 12231, 12880, 13526, 14177, 14826, 15473, 16122, 16772, 17420, 18069, 18718, 19367, 20014, 20662, 21312, 21959, 22609, 23259, 23906, 24555, 25205, 25852, 26501, 27149, 27799, 28447, 29095, 29745, 30392, 31042, 31690, 32338, 32987, 33635, 34285, 34933, 35582, 36231, 36880, 37527, 38176] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.data2 = self.data1 + self.power2 = 0.35 + self.hit2 = 6 + self.CDR *= 0.9 + + +class 技能14(主动技能): + 名称 = "午夜嘉年华" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [1035, 2360] + 无色消耗 = 2 + data0 = [0, 2061, 2275, 2481, 2691, 2895, 3105, 3315, 3526, 3733, 3942, 4152, 4362, 4570, 4780, 4989, 5199, 5403, 5613, 5828, 6032, 6242, 6451, 6662, 6870, 7080, 7289, 7495, 7708, 7915, 8124, 8332, 8544, 8749, 8957, 9172, 9379, 9587, 9797, 10002, 10216, 10423, 10631, 10844, 11051, 11259, 11470, 11681, 11888, 12098, 12305] + hit0 = 31 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 35 + self.倍率 *= 1.16 + self.演出时间 += 0.2 + + +class 技能15(主动技能): + 名称 = "绚丽耀光" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [744, 5766] + 无色消耗 = 3 + data0 = [0, 28741, 31658, 34572, 37488, 40406, 43321, 46235, 49153, 52068, 54984, 57902, 60814, 63730, 66648, 69561, 72478, 75394, 78310, 81227, 84141, 87057, 89975, 92888, 95802, 98721, 101636, 104552, 107468, 110384, 113298, 116217, 119130, 122046, 124960, 127879, 130792, 133707, 136626, 139540, 142456, 145373, 148288, 151204, 154121, 157035, 159952, 162868, 165784, 168699, 171614] + hit0 = 1 + data1 = [0, 6707, 7389, 8067, 8750, 9429, 10110, 10790, 11469, 12148, 12831, 13510, 14192, 14872, 15552, 16232, 16912, 17592, 18273, 18955, 19633, 20315, 20994, 21676, 22357, 23036, 23717, 24396, 25075, 25758, 26438, 27119, 27798, 28480, 29158, 29840, 30519, 31200, 31881, 32560, 33239, 33922, 34600, 35283, 35963, 36642, 37322, 38002, 38684, 39364, 40043] + hit1 = 10 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.3 + self.power1 = 1.32 + self.演出时间 -= 0.72 + + +class 技能16(被动技能): + 名称 = '亚丁之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', + '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸:亚丁降临', '绽放·终章', '盛宴·恶之祭典'] + # 关联技能1 = ['魔灵召唤:波拉斯', '魔灵召唤:瓦尔琪', '魔灵召唤:狂暴布洛克', '魔灵召唤:假面杰森', '魔灵召唤:大画家芭芘', '魔灵召唤:旋转小冯', '魔灵召唤:小吸血鬼夏伊', '魔灵召唤:大富翁鲁邦', '魔灵召唤:迪克老爹', '魔灵召唤:红心女王艾丽莎'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.28 + 0.02 * self.等级, 5) + + # def 加成倍率1(self, 武器类型): + # if self.等级 == 0: + # return 1.0 + # else: + # return round(1.14 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "魔灵乱舞" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 9665, 10647, 11625, 12606, 13587, 14566, 15548, 16528, 17511, 18487, 19470, 20451, 21429, 22412, 23391, 24372, 25354, 26334, 27313, 28293, 29274, 30253, 31236, 32215, 33194, 34177, 35154, 36137, 37119, 38098, 39079, 40060, 41038, 42019, 43001, 43981, 44962, 45944, 46920, 47901, 48883, 49863, 50844, 51825, 52804, 53783, 54766, 55747, 56728, 57708] + hit0 = 12 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.23 + + +class 技能18(主动技能): + 名称 = "黑曜之眸:亚丁降临" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 19552, 24082, 28612, 33148, 37683, 42218, 46747, 51285, 55813, 60347, 64882, 69420, 73952, 78488, 83017, 87549, 92083, 96622, 101156, 105686, 110214, 114749, 119286, 123819, 128354, 132892, 137415, 141952, 146490, 151020, 155557, 160095, 164620, 169155, 173690, 178223, 182760, 187292, 191821, 196361, 200889, 205427, 209965, 214494, 219031, 223563, 228093, 232630, 237159, 241698] + hit0 = 11 + data1 = [0, 809, 998, 1182, 1374, 1562, 1747, 1935, 2121, 2309, 2496, 2684, 2872, 3059, 3248, 3434, 3622, 3806, 3999, 4184, 4372, 4559, 4746, 4937, 5122, 5309, 5497, 5683, 5871, 6057, 6248, 6433, 6622, 6807, 6995, 7183, 7371, 7561, 7747, 7936, 8121, 8307, 8495, 8682, 8871, 9062, 9245, 9433, 9620, 9808, 9996] + hit1 = 20 + + +class 技能19(主动技能): + 名称 = "绽放·终章" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1242, 2832] + 无色消耗 = 7 + data0 = [0, 52416, 57734, 63049, 68369, 73686, 79004, 84320, 89638, 94955, 100274, 105591, 110910, 116226, 121542, 126860, 132179, 137497, 142813, 148129, 153448, 158765, 164080, 169401, 174717, 180035, 185352, 190670, 195987, 201304, 206623, 211940, 217258, 222574, 227894, 233211, 238526, 243845, 249161, 254481, 259797, 265115, 270432, 275751, 281068, 286385, 291704, 297020, 302338, 307655, 312974] + hit0 = 1 + data1 = [0, 34070, 37525, 40983, 44440, 47896, 51351, 54808, 58266, 61723, 65177, 68634, 72091, 75547, 79004, 82460, 85917, 89372, 92828, 96284, 99741, 103198, 106655, 110112, 113565, 117024, 120480, 123937, 127394, 130848, 134306, 137762, 141218, 144674, 148129, 151587, 155044, 158500, 161955, 165412, 168868, 172326, 175782, 179238, 182696, 186150, 189607, 193063, 196519, 199977, 203434] + hit1 = 4 + data2 = [0, 1398, 1540, 1681, 1825, 1966, 2106, 2247, 2391, 2533, 2675, 2816, 2959, 3100, 3243, 3382, 3524, 3665, 3808, 3951, 4093, 4235, 4376, 4519, 4661, 4800, 4942, 5084, 5228, 5369, 5511, 5653, 5795, 5938, 6078, 6218, 6361, 6501, 6646, 6787, 6930, 7070, 7214, 7354, 7496, 7636, 7778, 7920, 8065, 8205, 8346] + hit2 = 15 + + +class 技能20(被动技能): + 名称 = '黑色曜日' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "盛宴·恶之祭典" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 687637, 847091, 1006542, 1165995, 1325448, 1484899, 1644352, 1803804, 1963256, 2122707, 2282160, 2441612, 2601065, 2760517, 2919968, 3079422, 3238873, 3398327, 3557778, 3717230, 3876682, 4036135, 4195587, 4355040, 4514492, 4673945, 4833396, 4992850, 5152303, 5311752, 5471207, 5630657, 5790112, 5949562, 6109015, 6268466, 6427920, 6587371, 6746823, 6906274, 7065726, 7225181, 7384634, 7544086, 7703538, 7862990, 8022440, 8181894, 8341345, 8500799] + hit0 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'chaos' + self.名称 = '皓曦·混沌魔灵' + self.角色 = '守护者' + self.角色类型 = '输出' + self.职业 = '混沌魔灵' + # 用来筛CP武器的 + self.转职 = '混沌魔灵' + self.武器选项 = ['太刀', '钝器', '巨剑', '短剑'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法固伤' + self.武器类型 = '短剑' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.0 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=["连锁共振"], clothes_pants=[], rune_start_lv=15) -> None: + return super().set_skill_info(info, rune_except, clothes_pants, rune_start_lv) diff --git a/api/core/characters/creator.py b/api/core/characters/creator.py new file mode 100644 index 00000000..a6b30fa2 --- /dev/null +++ b/api/core/characters/creator.py @@ -0,0 +1,610 @@ +from core.basic.character import Character +from core.basic.skill import 主动技能, 技能, 被动技能 + + +class 缔造主动技能(主动技能): + def 手搓CD(self): + cdr = 0 + if self.手搓: + if self.所在等级 >= 15 and self.所在等级 <= 30: + cdr = 0.01 * self.手搓收益 + if self.所在等级 >= 35 and self.所在等级 <= 70: + cdr = 0.02 * self.手搓收益 + if self.所在等级 >= 75 and self.所在等级 <= 100: + cdr = 0.05 * self.手搓收益 + if self.所在等级 in [85, 100]: + cdr = 0.05 * self.手搓收益 + return cdr + + 国服特色 = 1.065 + + +class 技能0(缔造主动技能): + 名称 = "烈火燎原" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [24, 252] + 无色消耗 = 0 + data0 = [0, 38, 52, 69, 82, 100, 106, 120, 136, 150, 163, 181, 194, 209, 220, 235, 251, 266, 281, 290, 303, 319, 333, 346, 364, 375, 392, 405, 418, 434, 448, 464, 474, 486, 503, 516, 530, 544, 559, 573, 588, 602, 618, 631, 648, 656, 670, 687, 699, 714, 727, 742, 758, 772, 784, 802, 816, 823, 839, 854, 869, 883, 894, 910, 923, 942, 958, 969, 987, 1000, 1005] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + power0 = 0 + 能量 = 140 + 最小值 = 4 + 持续秒数 = 6.0 + 硬直时长百分比 = 0 + + 国服特色 = 1.05 + + 形态 = ['普通', '觉醒'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 70 + self.power0 = 觉醒后能量消耗 / self.最小值 +# self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] +# self.data0 = [0.5*x for x in data0] + # self.最小值 = 觉醒后能量消耗 + + +class 技能1(缔造主动技能): + 名称 = "炽炎星陨" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [3, 36] + 无色消耗 = 0 + data0 = [0, 195, 267, 337, 405, 474, 544, 614, 684, 753, 822, 890, 962, 1031, 1100, 1170, 1236, 1309, 1377, 1447, 1517, 1588, 1656, 1726, 1793, 1864, 1936, 2004, 2073, 2141, 2211, 2282, 2351, 2421, 2487, 2556, 2629, 2695, 2767, 2833, 2904, 2976, 3044, 3112, 3184, 3255, 3321, 3393, 3460, 3530, 3603, 3669, 3737, 3807, 3879, 3948, 4018, 4083, 4156, 4226, 4294, 4365, 4432, 4501, 4574, 4643, 4710, 4781, 4850, 4920, 4990] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + power0 = 0 + 能量 = 140 + 最小值 = 20 + 持续秒数 = 1.0 + 硬直时长百分比 = 0 + + 形态 = ['普通', '觉醒'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 70 + self.power0 = 觉醒后能量消耗 / self.最小值 + + +class 技能2(缔造主动技能): + 名称 = "冰霜之球" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [4, 40] + 无色消耗 = 0 + data0 = [0, 112, 128, 144, 159, 178, 193, 209, 227, 243, 257, 275, 292, 308, 323, 341, 357, 373, 392, 406, 423, 442, 455, 471, 490, 507, 523, 539, 555, 572, 589, 607, 623, 638, 654, 670, 688, 705, 720, 737, 752, 770, 787, 802, 818, 836, 850, 866, 884, 900, 917, 933, 949, 966, 982, 1000, 1015, 1032, 1049, 1064, 1083, 1101, 1114, 1131, 1146, 1164, 1182, 1197, 1213, 1230, 1245] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + # 能量消耗值:20 + 能量 = 140 + 最小值 = 20 + 持续秒数 = 3.0 + 硬直时长百分比 = 0 + + MP = [4, 40] + + 形态 = ['普通', '觉醒'] + power0 = 0 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + self.最小值 = 20 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 70 + self.power0 = 觉醒后能量消耗 / self.最小值 + + +class 技能3(缔造主动技能): + 名称 = "冰天震地" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [9, 94] + 无色消耗 = 0 + data0 = [0, 1324, 1518, 1712, 1903, 2099, 2291, 2486, 2676, 2870, 3064, 3258, 3452, 3645, 3838, 4032, 4223, 4417, 4610, 4807, 4999, 5190, 5382, 5575, 5772, 5963, 6158, 6349, 6542, 6735, 6932, 7123, 7316, 7512, 7705, 7895, 8090, 8283, 8477, 8670, 8865, 9056, 9251, 9444, 9636, 9829, 10027, 10218, 10412, 10602, 10792, 10992, 11183, 11375, 11568, 11762, 11954, 12152, 12343, 12537, 12727, 12924, 13115, 13308, 13503, 13697, 13889, 14085, 14278, 14469, 14662] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # 能量消耗值:40 + 能量 = 140 + 最小值 = 40 + 持续秒数 = 1.0 + 硬直时长百分比 = 0 + + MP = [9, 94] + + 形态 = ['普通', '觉醒'] + power0 = 0 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 140 + self.power0 = 觉醒后能量消耗 / self.最小值 + + +class 技能4(被动技能): + 名称 = '幻想之境' + 所在等级 = 20 + + 等级上限 = 20 + 基础等级 = 10 + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1 + 0.01 * self.等级, 5) + else: + return round(1.1 + 0.015 * (self.等级 - 10), 5) + + +class 技能5(被动技能): + 名称 = '具象强化' + 所在等级 = 25 + + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05 + 0.025 * self.等级, 5) + + +class 技能6(缔造主动技能): + 名称 = "烈焰飓风" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [43, 452] + 无色消耗 = 1 + data0 = [0, 774, 850, 930, 1007, 1085, 1163, 1242, 1323, 1398, 1478, 1558, 1635, 1714, 1791, 1871, 1950, 2032, 2103, 2185, 2264, 2342, 2417, 2497, 2576, 2655, 2732, 2810, 2889, 2971, 3048, 3125, 3204, 3282, 3360, 3438, 3517, 3597, 3676, 3755, 3833, 3911, 3991, 4065, 4144, 4222, 4302, 4381, 4457, 4538, 4617, 4694, 4774, 4849, 4931, 5007, 5087, 5165, 5246, 5320, 5400, 5480, 5558, 5639, 5714, 5792, 5872, 5950, 6026, 6104, 6186] + hit0 = 12 + TP成长 = 0.1 + TP上限 = 5 + + # 烈焰飓风持续时间:3秒 + # 能量消耗值:60 + 能量 = 140 + 最小值 = 60 + 持续秒数 = 4.0 + + 硬直时长百分比 = 0.05 + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.85 + self.power0 *= 1.09 + + +class 技能7(缔造主动技能): + 名称 = "极冰护盾" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [43, 452] + 无色消耗 = 1 + data0 = [0, 5062, 5576, 6090, 6602, 7120, 7632, 8145, 8659, 9173, 9689, 10198, 10711, 11227, 11741, 12254, 12767, 13283, 13796, 14309, 14823, 15335, 15853, 16366, 16879, 17391, 17904, 18421, 18931, 19446, 19960, 20476, 20986, 21500, 22015, 22528, 23045, 23556, 24072, 24583, 25101, 25611, 26123, 26639, 27153, 27668, 28179, 28692, 29208, 29720, 30234, 30749, 31261, 31778, 32291, 32803, 33316, 33831, 34345, 34857, 35371, 35885, 36400, 36910, 37427, 37941, 38455, 38969, 39479, 39994, 40506] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 持续秒数 = 1.0 + 能量 = 140 + 最小值 = 60 + 硬直时长百分比 = 0.1 + + +class 技能8(缔造主动技能): + 名称 = "超能旋风波" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [81, 680] + 无色消耗 = 1 + data0 = [0, 621, 686, 745, 807, 873, 934, 997, 1062, 1125, 1189, 1253, 1313, 1378, 1441, 1503, 1566, 1632, 1694, 1755, 1820, 1882, 1943, 2006, 2072, 2135, 2199, 2258, 2325, 2387, 2450, 2512, 2573, 2638, 2700, 2763, 2827, 2891, 2954, 3017, 3082, 3142, 3207, 3270, 3333, 3395, 3460, 3522, 3586, 3648, 3710, 3772, 3836, 3898, 3963, 4026, 4087, 4153, 4218, 4279, 4341, 4404, 4468, 4530, 4592, 4658, 4721, 4786, 4846, 4908, 4971] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 持续秒数 = 5.0 + 能量 = 140 + 最小值 = 4 + + 硬直时长百分比 = 0 + 是否有护石 = 1 + 护石选项 = ['圣痕'] + + 形态 = ['普通', '觉醒'] + power0 = 0 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 46 + self.power0 = 觉醒后能量消耗 / self.最小值 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能9(缔造主动技能): + 名称 = "风暴漩涡" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [243, 2041] + 无色消耗 = 1 + data0 = [0, 2530, 2789, 3044, 3302, 3560, 3817, 4073, 4330, 4590, 4846, 5104, 5359, 5616, 5872, 6129, 6385, 6644, 6902, 7158, 7417, 7671, 7931, 8187, 8443, 8699, 8958, 9213, 9469, 9727, 9983, 10242, 10499, 10757, 11011, 11271, 11525, 11782, 12041, 12297, 12555, 12811, 13068, 13324, 13584, 13840, 14098, 14352, 14609, 14867, 15125, 15381, 15639, 15897, 16152, 16409, 16666, 16925, 17182, 17436, 17694, 17951, 18208, 18464, 18721, 18978, 19237, 19494, 19750, 20007, 20264] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 能量 = 140 + 最小值 = 20 + 持续秒数 = 5.0 + 硬直时长百分比 = 0 + 是否有护石 = 1 + + 形态 = ['普通', '觉醒'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.power0 = 1 + elif 形态 == '觉醒': + 觉醒后能量消耗 = 70 + self.power0 = 觉醒后能量消耗 / self.最小值 +# self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] + # self.最小值 = 觉醒后能量消耗 + + def 装备护石(self, char): + self.CDR *= 0.85 + self.倍率 *= 1.22 + + +class 技能10(被动技能): + 名称 = '洞悉' + 所在等级 = 48 + + 学习间隔 = 3 + 等级上限 = 50 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能11(缔造主动技能): + 名称 = "末日虫洞" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 45 + MP = [464, 3897] + 无色消耗 = 2 + data0 = [0, 460, 535, 609, 683, 757, 832, 908, 980, 1054, 1126, 1202, 1274, 1351, 1424, 1496, 1571, 1644, 1718, 1790, 1867, 1941, 2012, 2087, 2162, 2234, 2308, 2385, 2459, 2530, 2603, 2678, 2750, 2825, 2901, 2976, 3047, 3123, 3193, 3268, 3341, 3418, 3491, 3563, 3639, 3711, 3786, 3858, 3935, 4007, 4081] + hit0 = 19 + data1 = [0, 22591, 26197, 29800, 33403, 36999, 40606, 44209, 47810, 51412, 55012, 58618, 62219, 65818, 69423, 73025, 76626, 80229, 83832, 87432, 91038, 94637, 98239, 101842, 105444, 109047, 112649, 116250, 119853, 123455, 127057, 130658, 134260, 137863, 141469, 145068, 148671, 152269, 155876, 159480, 163079, 166680, 170284, 173887, 177489, 181093, 184691, 188293, 191899, 195500, 199101] + hit1 = 1 + + TP成长 = 0.10 + TP上限 = 5 + + 持续秒数 = 3.0 + 能量 = 100 + 最小值 = 100 + 硬直时长百分比 = 0 + 是否有护石 = 1 + + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能12(缔造主动技能): + 名称 = "冰雪降临" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 31.5 + MP = [619, 1733] + 无色消耗 = 1 + data0 = [0, 991, 1148, 1304, 1463, 1620, 1778, 1936, 2093, 2252, 2409, 2569, 2727, 2887, 3042, 3200, 3358, 3515, 3676, 3831, 3990, 4149, 4306, 4463, 4620, 4778, 4936, 5095, 5253, 5411, 5566, 5727, 5884, 6043, 6202, 6357, 6518, 6672, 6833, 6988, 7148, 7307, 7464, 7624, 7780, 7938, 8093, 8252, 8408, 8569, 8726] + hit0 = 21 + TP成长 = 0.1 + TP上限 = 5 + + # 范围大小 1.2~1的倍率 + power0 = 1.2 + 持续秒数 = 3.0 + 能量 = 100 + 最小值 = 50 + 硬直时长百分比 = 0 + 是否有护石 = 1 + + def 装备护石(self, char): + 能量消耗 = 2 + self.data0 = [int(x * 能量消耗 / self.最小值) for x in self.data0] + self.最小值 = 能量消耗 + self.power0 *= 1.37 + self.持续秒数 = 0.5 + self.硬直时长百分比 = 0.15 + + +class 技能13(缔造主动技能): + 名称 = "时空链接" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 54 + MP = [1098, 2305] + 无色消耗 = 3 + data0 = [0, 1210, 1331, 1454, 1577, 1699, 1822, 1948, 2070, 2191, 2315, 2437, 2561, 2682, 2805, 2927, 3049, 3174, 3297, 3422, 3541, 3664, 3786, 3910, 4034, 4155, 4279, 4403, 4524, 4647, 4769, 4892, 5015, 5139, 5260, 5384, 5504, 5627, 5753, 5875, 5999, 6120, 6243, 6366, 6488, 6611, 6733, 6858, 6979, 7103, 7226] + hit0 = 34 + TP成长 = 0.1 + TP上限 = 5 + + 持续秒数 = 5.0 + 能量 = 100 + 最小值 = 50 + 硬直时长百分比 = 0.05 + 是否有护石 = 1 + + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能14(被动技能): + 名称 = '创世之力' + 所在等级 = 75 + + 学习间隔 = 3 + 等级上限 = 50 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能15(缔造主动技能): + 名称 = "时空禁制" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 45 + MP = [1317, 9877] + 无色消耗 = 5 + data0 = [0, 1317, 1523, 1736, 1945, 2154, 2366, 2573, 2786, 2993, 3205, 3414, 3624, 3835, 4041, 4253, 4460, 4674, 4883, 5092, 5303, 5510, 5722, 5933, 6143, 6351, 6564, 6772, 6980, 7190, 7400, 7613, 7821, 8031, 8240, 8449, 8658, 8868, 9080, 9287, 9502, 9709, 9918, 10130, 10337, 10551, 10758, 10969, 11179, 11387, 11598] + hit0 = 30 + data1 = [0, 39489, 45785, 52080, 58374, 64670, 70967, 77262, 83556, 89854, 96149, 102444, 108738, 115034, 121329, 127624, 133921, 140216, 146512, 152804, 159102, 165398, 171693, 177991, 184284, 190580, 196876, 203172, 209467, 215764, 222057, 228351, 234648, 240942, 247239, 253536, 259832, 266123, 272422, 278716, 285012, 291309, 297604, 303900, 310193, 316489, 322785, 329082, 335374, 341671, 347966] + hit1 = 1 + + + 持续秒数 = 7.0 + 能量 = 100 + 最小值 = 100 + 硬直时长百分比 = 0 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.5 * 2.74 + + +class 技能16(缔造主动技能): + 名称 = "创世" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [3727, 7454] + 无色消耗 = 10 + data0 = [0, 35975, 44314, 52658, 61001, 69340, 77685, 86026, 94371, 102710, 111052, 119395, 127739, 136079, 144421, 152762, 161105, 169447, 177789, 186129, 194477, 202816, 211161, 219503, 227844, 236185, 244529, 252870, 261212, 269552, 277896, 286239, 294579, 302921, 311267, 319606, 327950, 336290, 344634, 352975, 361318, 369658, 378003, 386343, 394685, 403025, 411371, 419710, 428055, 436393, 444741] + hit0 = 6 + + 持续秒数 = 1 + 能量 = 100 + 最小值 = 100 + 硬直时长百分比 = 0 + + + +class 技能17(被动技能): + 名称 = '天工开物' + 所在等级 = 95 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能18(缔造主动技能): + 名称 = "创世之光" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 188838, 207995, 227149, 246308, 265466, 284624, 303781, 322941, 342094, 361257, 380412, 399568, 418727, 437882, 457043, 476200, 495358, 514514, 533674, 552829, 571991, 591148, 610301, 629462, 648618, 667777, 686933, 706091, 725249, 744410, 763566, 782719, 801880, 821036, 840197, 859352, 878509, 897665, 916827, 935984, 955138, 974298, 993454, 1012615, 1031770, 1050931, 1070085, 1089247, 1108399, 1127555] + hit0 = 1 + + 持续秒数 = 3.5 + 能量 = 100 + 最小值 = 100 + 硬直时长百分比 = 0 + + +# def 加成倍率(self, 武器类型): +# return 0.0 + + +class 技能19(缔造主动技能): + 名称 = "时之终末:归烬" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 20646, 25432, 30218, 35005, 39794, 44580, 49368, 54153, 58941, 63730, 68515, 73304, 78091, 82878, 87664, 92453, 97240, 102026, 106813, 111601, 116387, 121176, 125962, 130750, 135535, 140323, 145112, 149898, 154685, 159471, 164259, 169048, 173832, 178622, 183408, 188194, 192984, 197770, 202558, 207344, 212131, 216917, 221707, 226492, 231279, 236068, 240853, 245640, 250431, 255215] + hit0 = 9 + data1 = [0, 433537, 534067, 634597, 735129, 835658, 936187, 1036719, 1137248, 1237780, 1338310, 1438840, 1539373, 1639904, 1740433, 1840963, 1941491, 2042026, 2142556, 2243084, 2343616, 2444146, 2544676, 2645205, 2745737, 2846269, 2946798, 3047328, 3147860, 3248389, 3348918, 3449449, 3549980, 3650512, 3751043, 3851573, 3952103, 4052634, 4153165, 4253693, 4354223, 4454758, 4555286, 4655818, 4756349, 4856878, 4957409, 5057938, 5158468, 5258998, 5359532] + hit1 = 1 + + 持续秒数 = 6 + 能量 = 100 + 最小值 = 100 + 硬直时长百分比 = 0 + + +# def 加成倍率(self, 武器类型): +# return 0.0 + + +class 技能20(被动技能): + 名称 = '自我觉醒' + 所在等级 = 50 + 等级上限 = 1 + 基础等级 = 1 + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.11 + + +class 技能21(主动技能): + 名称 = "创世Buff" + 所在等级 = 85 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + CD = 180 + MP = [3727, 7454] + 无色消耗 = 10 + + def 等效CD(self, **argv): + return super().等效CD(**argv) - 40 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'creator' + self.名称 = '知源·缔造者' + self.角色 = '魔法师(女)' + self.职业 = '缔造者' + # 用来筛CP武器的 + self.转职 = '缔造者' + self.武器选项 = ['魔杖', '扫把'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法固伤' + self.武器类型 = '扫把' + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.66 + + super().__init__(equVersion) + + def 设置觉醒技能(self): + self.觉醒技能 = [] + for i in self.技能栏: + if i.是否有伤害 == 1 and i.所在等级 in [85,100]: + self.觉醒技能.append(i.名称) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info, rune_except, clothes_pants, rune_start_lv) + info['rune'].append("末日虫洞") \ No newline at end of file diff --git a/api/core/characters/crusader_female.py b/api/core/characters/crusader_female.py new file mode 100644 index 00000000..cc0b36b1 --- /dev/null +++ b/api/core/characters/crusader_female.py @@ -0,0 +1,426 @@ + +from copy import deepcopy +from typing import List + +from core.basic.buffer.property import * +from core.basic.buffer.character import Character + + +class 女圣骑士护石0: + def __init__(self): + self.name = '天使圣歌' + self.skill = '勇气圣歌' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.04) + pass + + +class 女圣骑士护石1: + def __init__(self): + self.name = '奇迹之光' + self.skill = '忏悔之雷' + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 女圣骑士护石2: + def __init__(self): + self.name = '神圣十字' + self.skill = '神光十字' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("神光十字").CDR *= 0.88 + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 女圣骑士护石3: + def __init__(self): + self.name = '乌列尔的庇佑' + self.skill = '圣佑之阵' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 女圣骑士护石4: + def __init__(self): + self.name = '光之祈祷' + self.skill = '忏悔重击' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("圣光天启").CD -= 25 + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 女圣骑士护石5: + def __init__(self): + self.name = '米迦勒的圣光球' + self.skill = '圣光普照' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +class 女圣骑士护石6: + def __init__(self): + self.name = '圣洁之源' + self.skill = '圣洁之翼' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +女圣骑士护石组合 = (女圣骑士护石0(), 女圣骑士护石1(), 女圣骑士护石2(), + 女圣骑士护石3(), 女圣骑士护石4(), 女圣骑士护石5(), 女圣骑士护石6()) + + +class 神启·圣骑士技能0(辅助职业被动技能): + 名称 = '启示圣歌' + 所在等级 = 15 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + 额外智力 = 0 + 站街生效 = 1 + 智力 = [0, 86, 90, 94, 98, 102, 107, 112, 117, 123, 129, 135, 141, 147, 154, 161, 169, 177, 185, 193, 201, 210, 219, 229, 238, 248, 258, 269, 279, 290, 301, + 313, 325, 337, 349, 361, 375, 388, 401, 415, 429, 443, 457, 473, 487, 503, 519, 535, 551, 567, 584, 598, 614, 630, 646, 662, 677, 693, 709, 725, 741] + + def 智力加成(self): + return self.智力[self.等级] + self.额外智力 + self.进图加成 + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 神启·圣骑士技能2(辅助职业主动技能): + 名称 = '勇气祝福' + 所在等级 = 30 + 等级精通 = 10 + 等级上限 = 40 + 学习间隔 = 3 + CD = 10 + + BUFF力智per = 1 + BUFF三攻per = 1 + + BUFF力智 = 0 + BUFF三攻 = 0 + + 倍率 = 1.0 + + 三攻 = [round(i*1.02) for i in [0, 38, 40, 42, 43, 44, 46, 48, 49, 51, 52, 53, 55, 57, 58, 60, 61, 62, 64, 66, 68, 69, 70, 72, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 88, 90, 92, 93, 95, + 96, 98, 100, 101, 103, 104, 105, 107, 109, 110, 112, 113, 114, 116, 118, 119, 121, 122, 123, 126, 127, 129, 130, 131, 133, 135, 136, 138, 139, 140, 143, 144]] + 力智 = [round(i*1.04) for i in [0, 148, 158, 169, 179, 189, 198, 208, 218, 228, 239, 249, 259, 269, 279, 290, 299, 309, 319, 329, 339, 349, 360, 370, 380, 390, 399, 409, 420, 430, 440, 450, 460, 470, 481, + 491, 500, 510, 520, 530, 541, 551, 561, 571, 581, 592, 601, 611, 621, 631, 641, 651, 662, 672, 682, 692, 701, 711, 722, 732, 742, 752, 762, 772, 783, 793, 802, 812, 822, 832, 843]] + + def 结算统计(self, context: Buffer): + buffer_power = context.BUFF量() + + 新词条倍率 = (((self.适用数值 + 4350) / 665 + 1) * + (buffer_power + 3500) / 26395) if buffer_power > 0 else 0 + + 新词条力智 = 新词条倍率 * (self.力智[self.等级]) + 新词条三攻 = 新词条倍率 * (self.三攻[self.等级]) + + 旧词条力智 = ((self.适用数值)/665 + 1) * \ + (self.力智[self.等级]+self.BUFF力智) * self.BUFF力智per + + 旧词条三攻 = ((self.适用数值)/665 + 1) * \ + (self.三攻[self.等级]+self.BUFF三攻) * self.BUFF三攻per + + 倍率 = self.倍率 + + 力智 = int((新词条力智 + 旧词条力智) * 倍率) + 三攻 = int((新词条三攻 + 旧词条三攻) * 倍率) + + return [力智, 三攻, 0, 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 神启·圣骑士技能3(辅助职业主动技能): + 名称 = '勇气圣歌' + 所在等级 = 35 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + CD = 40 + 增幅倍率 = 0.15 + + def 结算统计(self, context: Buffer): + buff = context.get_skill_by_name('BUFF') + if buff.是否启用: + values = buff.结算统计(context) + return [int(round(i * self.增幅倍率)) for i in values] + return [0]*5 + + +class 神启·圣骑士技能1(辅助职业主动技能): + 名称 = '神光十字' + 所在等级 = 45 + 等级上限 = 60 + 等级精通 = 50 + 学习间隔 = 2 + 力智 = 72 + CD = 45 + + def 力智加成(self): + return self.力智 + self.等级 * 6 + + def 结算统计(self, context): + return [self.力智加成(), 0, 0, 0, 0] + + +class 神启·圣骑士技能4(辅助职业被动技能): + 名称 = '虔诚信念' + 所在等级 = 48 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 额外力智 = 0 + 力智 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, + 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892] + + def 力智加成(self): + return self.力智[self.等级] + self.额外力智 + + def 结算统计(self, context: Buffer): + return [self.力智加成(), 0, self.力智加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 神启·圣骑士技能5(辅助职业觉醒技能): + 名称 = '圣光天启' + CD = 170 + pass + + +class 神启·圣骑士技能6(辅助职业被动技能): + 名称 = '大天使的庇护' + 所在等级 = 75 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 智力 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, + 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540] + + def 智力加成(self): + return self.智力[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 神启·圣骑士技能7(辅助职业主动技能): + 名称 = '救赎彼岸:惩戒圣枪' + 所在等级 = 85 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 5 + CD = 180 + + def 结算统计(self, context: Buffer): + return [0]*5 + + +class 神启·圣骑士技能8(辅助职业被动技能): + 名称 = '圣天使之光' + 所在等级 = 95 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 智力 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, + 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] + + def 智力加成(self): + return self.智力[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 神启·圣骑士技能9(辅助职业三觉技能): + 名称 = '祈愿·天使赞歌' + 关联技能 = ['救赎彼岸:惩戒圣枪'] + CD = 290 + pass + +class 神启·圣骑士技能10(辅助职业主动技能): + 名称 = '治愈祈祷' + 所在等级 = 5 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 3 + CD = 10 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能11(辅助职业主动技能): + 名称 = '圣光守护' + 所在等级 = 25 + 等级上限 = 60 + 等级精通 = 50 + 学习间隔 = 2 + CD = 20 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能12(辅助职业主动技能): + 名称 = '神之教诲' + 所在等级 = 35 + 等级上限 = 1 + 等级精通 = 1 + 学习间隔 = 2 + CD = 20 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能13(辅助职业主动技能): + 名称 = '新生圣歌' + 所在等级 = 45 + 等级上限 = 11 + 等级精通 = 1 + 学习间隔 = 2 + CD = 40 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能14(辅助职业主动技能): + 名称 = '圣洁之翼' + 所在等级 = 70 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 50 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能15(辅助职业主动技能): + 名称 = '圣佑之阵' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 50 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能16(辅助职业主动技能): + 名称 = '圣光普照' + 所在等级 = 80 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 40 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'crusader_female' + self.名称 = '神启·圣骑士' + self.角色 = '圣职者(女)' + + self.类型 = '辅助' + self.职业 = '圣骑士' + self.转职 = '圣骑士(女)' + + self.武器选项 = ['十字架'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.武器类型 = '十字架' + self.防具类型 = '板甲' + self.技能序号 = {} + 技能栏 = [] + + self.被动增伤倍率 = 1.135 + + i = 0 + while i >= 0: + try: + skill: 辅助职业技能 = eval("神启·圣骑士技能"+str(i)+"()") + skill.技能序号 = i + 名称 = skill.名称 + self.技能序号[名称] = i + if skill.所在等级 == 30: + 名称 = 'BUFF' + elif skill.所在等级 == 50: + 名称 = '一次觉醒' + elif skill.所在等级 == 85: + 名称 = '二次觉醒' + elif skill.所在等级 == 100: + 名称 = '三次觉醒' + skill.基础等级计算() + 技能栏.append(skill) + self.技能序号[名称] = i + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能栏 + self.buff = 1.70 + self.护石技能 = [i.skill for i in 女圣骑士护石组合] + + super().__init__(equVersion) + + def 护石计算(self): + for 护石 in 女圣骑士护石组合: + if 护石.skill in self.护石栏: + 护石.effect(self) + + def 职业特殊计算(self): + for skill in self.技能栏: + data = skill.结算统计(self) + if (data[2] > 0): + self.skills_passive[skill.名称]['info'] = [{ + 'type': '智力', + 'info': [data[2]], + 'percent': False + }] + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info,rune_except=['勇气祝福','神之教诲'],rune_start_lv=5) + + def 设置觉醒技能(self): + self.觉醒技能 = ['祈愿·天使赞歌','圣光天启','救赎彼岸:惩戒圣枪'] + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= (1-x) + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.CDR *= (1 - x) + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.恢复 += x + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否主动 == 1: + i.CDR *= CD \ No newline at end of file diff --git a/api/core/characters/crusader_female_carry.py b/api/core/characters/crusader_female_carry.py new file mode 100644 index 00000000..7273c1c8 --- /dev/null +++ b/api/core/characters/crusader_female_carry.py @@ -0,0 +1,479 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 +from typing import Dict, List, Union + + +class 技能0(被动技能): + 名称 = '圣光灌注' + 所在等级 = 1 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + 等级 = 1 + 冷却关联技能 = ['所有'] + 额外倍率 = 0 + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0 : + return 1.0 + else: + return 1.32 + self.额外倍率 + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 : + return 1 + else: + return 0.8 + +class 技能1(被动技能): + 名称 = '启示:惩戒' + 所在等级 = 1 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + 等级 = 1 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0 : + return 1.0 + else: + return 1.15 + +class 技能2(主动技能): + 名称 = "圣洁之光" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [27, 294] + 无色消耗 = 0 + data0 = [0, 2851, 3140, 3429, 3718, 4008, 4297, 4586, 4875, 5164, 5454, 5743, 6032, 6321, 6611, 6900, 7189, 7478, 7767, 8057, 8346, 8635, 8924, 9213, 9503, 9792, 10081, 10370, 10660, 10949, 11238, 11527, 11816, 12106, 12395, 12684, 12973, 13263, 13552, 13841, 14130, 14419, 14709, 14998, 15287, 15576, 15866, 16155, 16444, 16733, 17022, 17312, 17601, 17890, 18179, 18468, 18758, 19047, 19336, 19625, 19915, 20204, 20493, 20782, 21071, 21361, 21650, 21939, 22228, 22518, 22807] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '启示:圣歌' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + data0 = [0, 86, 90, 94, 98, 102, 107, 112, 117, 123, 129, 135, 141, 147, 154, 161, 169, 177, 185, 193, 201, 210, 219, 229, 238, 248, 258, 269, 279, 290, 301, 313, 325, 337, 349, 361, 375, 388, 401, 415, 429, 443, 457, 473, 487, 503, 519, 535, 551, 567, 584, 598, 614, 630, 646, 662, 677, 693, 709, 725, 741, 756, 772, 788, 804, 820, 835, 851, 867, 883, 899] + + def 智力加成(self,武器类型): + return self.data0[self.等级] + +class 技能4(被动技能): + 名称 = '十字架精通' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + data0 = [0, 6.5, 8, 9.5, 11, 12.5, 14, 15.5, 17, 18.5, 20, 21.5, 23, 24.5, 26, 27.5, 29, 30.5, 32, 33.5, 35] + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0 : + return 1.0 + else: + return 1 + self.data0[self.等级] / 100 + +class 技能5(主动技能): + 名称 = "胜利之矛" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [32, 343] + 无色消耗 = 0 + data0 = [0, 2214, 2438, 2663, 2887, 3111, 3337, 3561, 3786, 4010, 4234, 4459, 4684, 4909, 5133, 5358, 5582, 5807, 6032, 6256, 6481, 6705, 6929, 7155, 7379, 7604, 7828, 8053, 8277, 8503, 8727, 8951, 9176, 9400, 9626, 9850, 10074, 10299, 10523, 10748, 10973, 11198, 11422, 11646, 11871, 12096, 12321, 12545, 12769, 12994, 13218, 13444, 13668, 13893, 14117, 14341, 14566, 14791, 15016, 15240, 15465, 15689, 15914, 16139, 16363, 16588, 16812, 17036, 17262, 17486, 17711] + hit0 = 1 + data0 = [0, 3320, 3658, 3994, 4331, 4668, 5005, 5342, 5678, 6015, 6353, 6689, 7026, 7363, 7700, 8037, 8373, 8711, 9048, 9384, 9721, 10059, 10395, 10732, 11069, 11406, 11743, 12079, 12416, 12754, 13090, 13427, 13765, 14101, 14438, 14774, 15112, 15449, 15785, 16122, 16460, 16796, 17133, 17470, 17807, 18144, 18480, 18818, 19155, 19491, 19828, 20166, 20502, 20839, 21176, 21513, 21850, 22186, 22523, 22861, 23197, 23534, 23872, 24208, 24545, 24881, 25219, 25556, 25892, 26229, 26567] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能6(主动技能): + 名称 = "洗礼之光" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [32, 343] + 无色消耗 = 0 + data0 = [0, 5752, 6336, 6919, 7503, 8086, 8670, 9254, 9837, 10421, 11004, 11588, 12172, 12755, 13339, 13922, 14506, 15090, 15673, 16257, 16840, 17424, 18008, 18591, 19175, 19758, 20342, 20926, 21509, 22093, 22676, 23260, 23844, 24427, 25011, 25594, 26178, 26762, 27345, 27929, 28512, 29096, 29680, 30263, 30847, 31429, 32014, 32598, 33180, 33765, 34347, 34931, 35514, 36098, 36682, 37265, 37849, 38432, 39016, 39600, 40183, 40767, 41350, 41934, 42518, 43101, 43685, 44268, 44852, 45436, 46019] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能7(主动技能): + 名称 = "圣光守护" + 所在等级 = 25 + 等级上限 = 60 + 学习间隔 = 3 + 等级精通 = 50 + CD = 20 + MP = [15, 154] + 无色消耗 = 0 + data0 = [0, 11585, 13431, 15278, 17125, 18972, 20819, 22666, 24512, 26359, 28206, 30053, 31900, 33746, 35593, 37440, 39287, 41134, 42980, 44827, 46674, 48521, 50368, 52215, 54061, 55908, 57755, 59602, 61449, 63295, 65142, 66989, 68836, 70683, 72529, 74376, 76223, 78070, 79917, 81764, 83610, 85457, 87304, 89151, 90998, 92844, 94691, 96538, 98385, 100232, 102078, 103925, 105772, 107619, 109466, 111312, 113159, 115006, 116853, 118700, 120547] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "圣光烬盾" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [91, 763] + 无色消耗 = 0 + data0 = [0, 2455, 2703, 2952, 3202, 3451, 3699, 3948, 4198, 4447, 4695, 4945, 5194, 5443, 5692, 5941, 6190, 6439, 6689, 6937, 7186, 7435, 7685, 7934, 8182, 8431, 8681, 8930, 9178, 9428, 9677, 9926, 10174, 10424, 10673, 10922, 11172, 11420, 11669, 11918, 12168, 12416, 12665, 12914, 13164, 13413, 13661, 13911, 14160, 14409, 14657, 14907, 15156, 15405, 15653, 15903, 16152, 16401, 16651, 16899, 17148, 17398, 17647, 17895, 18144, 18394, 18643, 18891, 19140, 19390, 19639] + hit0 = 1 + data1 = [0, 5727, 6309, 6890, 7471, 8052, 8634, 9214, 9796, 10377, 10957, 11539, 12119, 12701, 13282, 13863, 14444, 15026, 15606, 16188, 16769, 17350, 17931, 18513, 19093, 19674, 20256, 20836, 21418, 21998, 22580, 23161, 23742, 24323, 24905, 25485, 26067, 26648, 27229, 27810, 28392, 28972, 29553, 30135, 30715, 31297, 31877, 32459, 33040, 33621, 34202, 34784, 35364, 35946, 36527, 37108, 37689, 38270, 38851, 39432, 40014, 40594, 41176, 41757, 42338, 42919, 43501, 44081, 44663, 45243, 45825] + hit1= 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能9(主动技能): + 名称 = "神光惩戒" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [400, 1000] + 无色消耗 = 0 + data0 = [0, 1593, 1755, 1916, 2077, 2239, 2401, 2563, 2725, 2885, 3047, 3209, 3371, 3533, 3693, 3855, 4017, 4179, 4341, 4503, 4663, 4825, 4987, 5149, 5311, 5472, 5633, 5795, 5957, 6119, 6280, 6442, 6603, 6765, 6927, 7088, 7250, 7412, 7574, 7735, 7896, 8058, 8220, 8382, 8544, 8704, 8866, 9028, 9190, 9352, 9514, 9674, 9836, 9998, 10160, 10322, 10482, 10644, 10806, 10968, 11130, 11291, 11452, 11614, 11776, 11938, 12099, 12261, 12422, 12584, 12746] + hit0 = 1 + data1 = [0, 2390, 2631, 2874, 3117, 3360, 3601, 3844, 4087, 4329, 4571, 4814, 5057, 5299, 5541, 5784, 6026, 6269, 6511, 6754, 6996, 7239, 7481, 7723, 7966, 8209, 8451, 8693, 8936, 9179, 9420, 9663, 9906, 10147, 10390, 10633, 10876, 11117, 11360, 11603, 11845, 12087, 12330, 12573, 12815, 13058, 13300, 13542, 13785, 14028, 14270, 14512, 14755, 14998, 15239, 15482, 15725, 15966, 16209, 16452, 16695, 16936, 17179, 17422, 17664, 17906, 18149, 18392, 18634, 18876, 19119] + hit1= 1 + data2 = [0, 3982, 4387, 4790, 5195, 5599, 6003, 6407, 6811, 7215, 7620, 8023, 8428, 8831, 9236, 9641, 10044, 10449, 10852, 11257, 11660, 12065, 12469, 12873, 13277, 13681, 14085, 14489, 14893, 15298, 15701, 16106, 16509, 16914, 17317, 17722, 18126, 18530, 18934, 19338, 19742, 20147, 20550, 20955, 21358, 21763, 22166, 22571, 22976, 23379, 23784, 24187, 24592, 24996, 25400, 25804, 26208, 26612, 27016, 27420, 27825, 28228, 28633, 29036, 29441, 29844, 30249, 30653, 31057, 31461, 31865] + hit2= 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能10(主动技能): + 名称 = "勇气圣歌" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 40 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 1379, 1599, 1818, 2039, 2259, 2478, 2699, 2919, 3138, 3359, 3578, 3798, 4019, 4238, 4458, 4679, 4898, 5118, 5338, 5558, 5778, 5998, 6218, 6437, 6658, 6878, 7097, 7318, 7537, 7757, 7978, 8197, 8417, 8638, 8857, 9077, 9297, 9517, 9737, 9957, 10177, 10396, 10617, 10837, 11056, 11277, 11496, 11716, 11937, 12156, 12376, 12595, 12816, 13036, 13255, 13476, 13696, 13915, 14136, 14355, 14575, 14796, 15015, 15235, 15455, 15675, 15895, 16115, 16335, 16554] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 22 + self.倍率 *= 1.23 + +class 技能11(主动技能): + 名称 = "神圣锁环" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 18 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 245, 270, 295, 319, 344, 370, 395, 419, 444, 470, 494, 519, 544, 568, 594, 619, 643, 668, 694, 719, 743, 768, 794, 818, 843, 868, 892, 918, 943, 967, 992, 1018, 1043, 1067, 1092, 1117, 1142, 1167, 1192, 1216, 1242, 1267, 1291, 1316, 1341, 1366, 1391, 1416, 1440, 1466, 1491, 1516, 1540, 1565, 1591, 1615, 1640, 1665, 1690, 1715, 1740, 1764, 1790, 1815, 1840, 1864, 1889, 1915, 1939, 1964] + hit0 = 13 + data1 = [0, 7449, 8205, 8960, 9716, 10471, 11228, 11983, 12739, 13495, 14250, 15006, 15761, 16518, 17273, 18029, 18785, 19540, 20296, 21052, 21808, 22563, 23319, 24075, 24830, 25586, 26342, 27098, 27853, 28609, 29365, 30120, 30877, 31632, 32388, 33143, 33899, 34655, 35410, 36167, 36922, 37678, 38433, 39189, 39945, 40701, 41457, 42212, 42968, 43723, 44479, 45235, 45991, 46747, 47502, 48258, 49013, 49769, 50526, 51281, 52037, 52792, 53548, 54303, 55060, 55816, 56571, 57327, 58082, 58838, 59593] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + +class 技能12(主动技能): + 名称 = "忏悔之雷" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 1526, 1682, 1835, 1991, 2146, 2301, 2456, 2610, 2765, 2920, 3075, 3230, 3384, 3539, 3695, 3850, 4005, 4159, 4314, 4469, 4624, 4779, 4933, 5088, 5243, 5399, 5554, 5708, 5863, 6018, 6173, 6328, 6482, 6637, 6792, 6947, 7103, 7257, 7412, 7567, 7722, 7877, 8031, 8186, 8341, 8496, 8651, 8805, 8961, 9116, 9271, 9426, 9580, 9735, 9890, 10045, 10200, 10354, 10509, 10665, 10820, 10975, 11129, 11284, 11439, 11594, 11749, 11903, 12058, 12213] + hit0 = 5 + data1 = [0, 7633, 8408, 9182, 9956, 10731, 11505, 12280, 13054, 13829, 14603, 15377, 16152, 16926, 17701, 18475, 19250, 20024, 20798, 21573, 22347, 23122, 23896, 24671, 25445, 26220, 26994, 27768, 28543, 29317, 30092, 30866, 31641, 32415, 33189, 33964, 34738, 35513, 36287, 37062, 37836, 38611, 39385, 40159, 40934, 41708, 42483, 43257, 44032, 44806, 45580, 46355, 47129, 47904, 48678, 49453, 50227, 51001, 51776, 52550, 53325, 54099, 54874, 55648, 56423, 57197, 57971, 58746, 59520, 60295, 61069] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.9 + self.power0 = 0 + self.power1 = 1 + 1 +0.42 + +class 技能13(主动技能): + 名称 = "神光十字" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [350, 2940] + 无色消耗 = 2 + data0 = [0, 12636, 13917, 15200, 16481, 17764, 19045, 20327, 21609, 22891, 24173, 25455, 26736, 28019, 29300, 30583, 31864, 33146, 34428, 35710, 36992, 38274, 39555, 40838, 42119, 43402, 44683, 45966, 47247, 48529, 49811, 51093, 52374, 53657, 54938, 56221, 57502, 58785, 60066, 61348, 62630, 63912, 65194, 66476, 67757, 69040, 70322, 71604, 72886, 74167, 75450, 76731, 78014, 79295, 80578, 81859, 83141, 84423, 85705, 86986, 88269, 89550, 90833, 92114, 93397, 94678, 95960, 97242, 98524, 99806, 101088] + hit0 = 1 + data1 = [0, 18954, 20877, 22799, 24722, 26645, 28568, 30491, 32413, 34337, 36259, 38182, 40105, 42028, 43951, 45873, 47797, 49720, 51642, 53565, 55489, 57411, 59334, 61256, 63180, 65103, 67025, 68948, 70871, 72794, 74717, 76640, 78563, 80485, 82408, 84332, 86254, 88177, 90099, 92023, 93946, 95868, 97791, 99715, 101637, 103560, 105483, 107406, 109329, 111251, 113175, 115097, 117020, 118943, 120866, 122789, 124711, 126634, 128558, 130480, 132403, 134327, 136249, 138172, 140094, 142018, 143941, 145863, 147786, 149709, 151632] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.88 + self.倍率 *= 1.11 + self.power1 = 1 + 0.23 + +class 技能14(被动技能): + 名称 = '虔诚信念' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + data0 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892, 914, 937, 959, 982, 1004, 1027, 1049, 1072, 1094, 1117] + data1 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31.5, 33, 34.5, 36, 37.5, 39, 40.5, 42, 43.5, 45, 46.5, 48, 49.5, 51, 52.5, 54, 55.5, 57, 58.5, 60, 61.5, 63, 64.5, 66, 67.5, 69, 70.5, 72, 73.5, 75] + 关联技能 = ['所有'] + + def 智力加成(self,武器类型): + return self.data0[self.等级] + + def 加成倍率(self, 武器类型): + return 1 + self.data1[self.等级] / 100 + +class 技能15(主动技能): + 名称 = "圣光天启" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 170 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 2070, 2550, 3031, 3511, 3991, 4471, 4952, 5432, 5912, 6392, 6873, 7353, 7833, 8314, 8794, 9274, 9754, 10235, 10715, 11195, 11675, 12156, 12636, 13116, 13597, 14077, 14557, 15037, 15518, 15998, 16478, 16958, 17439, 17919, 18399, 18879, 19360, 19840, 20320, 20801, 21281, 21761, 22241, 22722, 23202, 23682, 24162, 24643, 25123, 25602] + hit0 = 16 + data1 = [0, 61540, 75810, 90081, 104351, 118621, 132892, 147161, 161431, 175701, 189972, 204242, 218512, 232783, 247053, 261323, 275594, 289864, 304134, 318404, 332675, 346945, 361215, 375486, 389756, 404026, 418295, 432566, 446836, 461106, 475377, 489647, 503917, 518188, 532458, 546728, 560998, 575269, 589539, 603809, 618080, 632350, 646620, 660891, 675161, 689431, 703700, 717971, 732241, 746511, 760782] + hit1 = 1 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 3 else 1.0) + + +class 技能16(主动技能): + 名称 = "忏悔重击" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1000] + 无色消耗 = 2 + data0 = [0, 10706, 11793, 12879, 13965, 15050, 16136, 17223, 18309, 19395, 20481, 21567, 22654, 23740, 24826, 25912, 26998, 28085, 29171, 30257, 31343, 32429, 33516, 34602, 35688, 36774, 37860, 38947, 40033, 41119, 42205, 43291, 44378, 45464, 46549, 47635, 48721, 49808, 50894, 51980, 53066, 54152, 55239, 56325, 57411, 58497, 59583, 60670, 61756, 62842, 63928] + hit0 = 1 + data1 = [0, 16059, 17688, 19318, 20947, 22576, 24205, 25835, 27464, 29094, 30722, 32351, 33981, 35610, 37240, 38868, 40498, 42127, 43757, 45386, 47014, 48644, 50273, 51903, 53532, 55161, 56790, 58420, 60049, 61679, 63307, 64936, 66566, 68195, 69825, 71453, 73083, 74712, 76342, 77971, 79599, 81229, 82858, 84488, 86117, 87746, 89375, 91005, 92634, 94264, 95892] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CD = 15 + self.CDR *= 0.89 + self.power1 = 1 + 0.29 + self.倍率 *= 1 - 0.45 + +class 技能17(主动技能): + 名称 = "圣洁之翼" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [860, 1500] + 无色消耗 = 2 + data0 = [0, 45859, 50511, 55163, 59815, 64469, 69121, 73773, 78425, 83077, 87731, 92383, 97035, 101687, 106339, 110992, 115645, 120297, 124949, 129601, 134254, 138906, 143559, 148211, 152863, 157516, 162168, 166820, 171473, 176125, 180778, 185430, 190082, 194735, 199387, 204040, 208692, 213344, 217996, 222650, 227302, 231954, 236606, 241258, 245912, 250564, 255216, 259868, 264520, 269173, 273826] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.14 + self.data1 = [(i*0.01) for i in self.data0] + self.hit1 = 20 + +class 技能18(被动技能): + 名称 = '大天使的庇护' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + data0 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640] + data1 = [0, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114] + 关联技能 = ['所有'] + + def 智力加成(self,武器类型): + return self.data0[self.等级] + + def 加成倍率(self, 武器类型): + return 1 + self.data1[self.等级] / 100 + +class 技能19(主动技能): + 名称 = "圣佑之阵" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 86713, 95510, 104307, 113104, 121901, 130698, 139495, 148292, 157089, 165887, 174683, 183481, 192277, 201075, 209871, 218669, 227465, 236263, 245059, 253857, 262653, 271451, 280248, 289045, 297842, 306639, 315436, 324233, 333030, 341827, 350624, 359421, 368218, 377016, 385812, 394610, 403406, 412204, 421000, 429798, 438594, 447392, 456188, 464986, 473782, 482580, 491377, 500174, 508971, 517768] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.17 * 1.2 + +class 技能20(主动技能): + 名称 = "圣光普照" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [860, 1500] + 无色消耗 = 5 + data0 = [0, 8237, 9073, 9909, 10745, 11580, 12416, 13251, 14087, 14923, 15759, 16595, 17431, 18266, 19101, 19937, 20773, 21609, 22445, 23281, 24116, 24951, 25787, 26623, 27459, 28295, 29131, 29966, 30801, 31637, 32473, 33309, 34145, 34981, 35817, 36651, 37487, 38323, 39159, 39995, 40831, 41667, 42501, 43337, 44173, 45009, 45845, 46681, 47517, 48352, 49187] + hit0 = 10 + # 单体怪物增伤 + 倍率 = 1.1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.09 + self.hit0 = 12 + +class 技能21(主动技能): + 名称 = "救赎彼岸:惩戒圣枪" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 500] + 无色消耗 = 10 + data0 = [0, 77606, 95601, 113597, 131592, 149588, 167583, 185579, 203575, 221570, 239566, 257561, 275557, 293553, 311548, 329544, 347539, 365535, 383530, 401526, 419522, 437517, 455514, 473508, 491505, 509501, 527496, 545492, 563487, 581483, 599478, 617474, 635470, 653465, 671461, 689456, 707452, 725448, 743443, 761439, 779434, 797430, 815425, 833421, 851417, 869412, 887408, 905403, 923399, 941395, 959390] + hit0 = 1 + data1 = [0, 116409, 143401, 170395, 197389, 224382, 251376, 278369, 305363, 332356, 359349, 386342, 413336, 440329, 467323, 494317, 521310, 548304, 575296, 602290, 629283, 656277, 683270, 710264, 737257, 764251, 791243, 818237, 845230, 872224, 899218, 926211, 953205, 980197, 1007191, 1034184, 1061178, 1088171, 1115165, 1142158, 1169152, 1196144, 1223138, 1250132, 1277125, 1304119, 1331112, 1358106, 1385099, 1412093, 1439085] + hit1 = 1 + +class 技能22(被动技能): + 名称 = '圣天使之光' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + data0 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650] + data1 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118] + 关联技能 = ['所有'] + + def 智力加成(self,武器类型): + return self.data0[self.等级] + + def 加成倍率(self, 武器类型): + return 1 + self.data1[self.等级] / 100 + +class 技能23(主动技能): + 名称 = "圣言十字" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 33632, 37044, 40456, 43868, 47280, 50692, 54104, 57516, 60928, 64340, 67752, 71164, 74576, 77988, 81400, 84812, 88224, 91636, 95048, 98460, 101872, 105284, 108696, 112108, 115520, 118932, 122344, 125756, 129168, 132580, 135992, 139404, 142816, 146228, 149640, 153052, 156464, 159876, 163288, 166700, 170112, 173524, 176936, 180348, 183760, 187172, 190584, 193996, 197408, 200820] + hit0 = 1 + data1 = [0, 2102, 2315, 2528, 2741, 2954, 3167, 3381, 3594, 3807, 4021, 4234, 4448, 4661, 4874, 5087, 5300, 5514, 5727, 5940, 6153, 6366, 6579, 6793, 7006, 7219, 7433, 7646, 7860, 8073, 8286, 8499, 8712, 8926, 9139, 9352, 9565, 9778, 9991, 10205, 10418, 10631, 10845, 11058, 11272, 11485, 11698, 11911, 12124, 12338, 12551] + hit1 = 20 + data2 = [0, 92489, 101872, 111255, 120639, 130021, 139404, 148787, 158171, 167553, 176936, 186319, 195703, 205086, 214468, 223851, 233235, 242618, 252000, 261383, 270767, 280150, 289532, 298915, 308299, 317682, 327064, 336447, 345831, 355214, 364596, 373979, 383363, 392746, 402128, 411511, 420895, 430278, 439661, 449043, 458427, 467810, 477193, 486576, 495959, 505342, 514725, 524108, 533491, 542874, 552257] + hit2 = 1 + +class 技能24(主动技能): + 名称 = "祈愿·天使赞歌" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 22510, 27730, 32950, 38170, 43390, 48610, 53829, 59049, 64269, 69489, 74709, 79929, 85149, 90368, 95588, 100808, 106028, 111248, 116468, 121688, 126907, 132127, 137347, 142567, 147787, 153007, 158227, 163446, 168666, 173886, 179106, 184326, 189546, 194766, 199985, 205205, 210425, 215645, 220865, 226085, 231305, 236524, 241744, 246964, 252184, 257404, 262624, 267844, 273063, 278283] + hit0 = 10 + data1 = [0, 337659, 415956, 494254, 572552, 650851, 729149, 807447, 885745, 964042, 1042340, 1120638, 1198936, 1277234, 1355532, 1433829, 1512127, 1590425, 1668723, 1747021, 1825319, 1903616, 1981914, 2060212, 2138510, 2216808, 2295106, 2373404, 2451701, 2529999, 2608297, 2686595, 2764893, 2843190, 2921488, 2999786, 3078085, 3156382, 3234680, 3312978, 3391276, 3469574, 3547872, 3626170, 3704467, 3782766, 3861064, 3939361, 4017659, 4095957, 4174255] + hit1 = 1 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'crusader_female_carry' + self.名称 = '神启·圣骑士' + self.角色 = '圣职者(女)' + self.职业 = '圣骑士' + self.转职 = '圣骑士(女)' + self.武器选项 = ['十字架'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.武器类型 = '十字架' + self.防具类型 = '板甲' + self.bufferCarry = True + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.7 + + super().__init__(equVersion) + + def 伤害指数计算(self): + # 被动对智力加成 + for i in self.技能栏: + if hasattr(i, '智力加成'): + 智力 = i.智力加成(self.武器类型) + self.进图智力 += 智力 + super().伤害指数计算() + + # def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + # super().set_skill_info(info, rune_except=['死命召唤']) \ No newline at end of file diff --git a/api/core/characters/crusader_male.py b/api/core/characters/crusader_male.py new file mode 100644 index 00000000..0cc3709b --- /dev/null +++ b/api/core/characters/crusader_male.py @@ -0,0 +1,412 @@ + +from copy import deepcopy +from typing import List + +from core.basic.buffer.property import * +from core.basic.buffer.character import Character + + +class 男圣骑士护石0: + def __init__(self): + self.name = '绝对壁垒' + self.skill = '圣光球' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + pass + + +class 男圣骑士护石1: + def __init__(self): + self.name = '附庸的生命' + self.skill = '忏悔之锤' + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 男圣骑士护石2: + def __init__(self): + self.name = '米歇尔的审判' + self.skill = '正义审判' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("圣愈之风").CDR *= 0.84 + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 男圣骑士护石3: + def __init__(self): + self.name = '圣光奇袭' + self.skill = '圣光突袭' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +class 男圣骑士护石4: + def __init__(self): + self.name = '神圣操控' + self.skill = '神圣之矛' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("天启之珠").CD -= 25 + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 男圣骑士护石5: + def __init__(self): + self.name = '天堂结界' + self.skill = '圣佑结界' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +class 男圣骑士护石6: + def __init__(self): + self.name = '神圣守护' + self.skill = '神圣之光' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +男圣骑士护石组合 = (男圣骑士护石0(), 男圣骑士护石1(), 男圣骑士护石2(), + 男圣骑士护石3(), 男圣骑士护石4(), 男圣骑士护石5(), 男圣骑士护石6()) + + +class 神启·圣骑士技能0(辅助职业被动技能): + 名称 = '守护恩赐' + 所在等级 = 15 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + 额外体精 = 0 + 站街生效 = 1 + + 体力 = [0, 220, 224, 228, 232, 236, 241, 246, 251, 257, 263, 269, 275, 281, 288, 295, 303, 311, 319, 327, 335, 344, 353, 363, 372, 382, 392, 403, 413, 424, 435, 447, 459, 471, 483, 495, 509, 522, 535, 549, 563, 577, 591, 607, 621, 637, 653, 669, 685, 701, 718, 732, 748, 764, 780, 796, 811, 827, 843, 859, 875, 890, 906, 922, 937, 953, 969, 985, 1001, 1016, 1032] + 精神 = [0, 266, 270, 274, 278, 282, 287, 292, 297, 303, 309, 315, 321, 327, 334, 341, 349, 357, 365, 373, 381, 390, 399, 409, 418, 428, 438, 449, 459, 470, 481, 493, 505, 517, 529, 541, 555, 568, 581, 595, 609, 623, 637, 653, 667, 683, 699, 715, 731, 747, 764, 778, 794, 810, 826, 842, 857, 873, 889, 905, 921, 936, 952, 968, 983, 999, 1015, 1031, 1047, 1062, 1078] + + def 体力加成(self): + return self.体力[self.等级] + self.额外体精 + self.进图加成 + + def 精神加成(self): + return self.精神[self.等级] + self.额外体精 + self.进图加成 + + def 结算统计(self, context: Buffer): + return [0, 0, 0, self.体力加成(), self.精神加成()] + # 智力 体力 精神 力量 智力 物攻 魔攻 独立 + + +class 神启·圣骑士技能1(辅助职业主动技能): + 名称 = '圣光十字' + 所在等级 = 25 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 2 + 三攻 = [0, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 64, 65, 66, 67, 68, 69] + CD = 8 + + def 三攻加成(self): + return self.三攻[self.等级] + + def 结算统计(self, context): + return [0, self.三攻加成(), 0, 0, 0] + + +class 神启·圣骑士技能2(辅助职业主动技能): + 名称 = '荣誉祝福' + 所在等级 = 30 + 等级精通 = 10 + 等级上限 = 40 + 学习间隔 = 3 + + BUFF力智per = 1.0 + BUFF三攻per = 1.0 + + BUFF力智 = 0 + BUFF三攻 = 0 + + 倍率 = 1.0 + + 三攻 = [0, 41, 42, 44, 45, 46, 48, 50, 51, 53, 55, 56, 57, 59, 60, 62, 64, 65, 67, 69, 71, 72, 74, 76, 77, 79, 81, 81, 83, 85, 86, 88, 90, 91, 93, 94, 95, 97, 99, 100, 103] + 力智 = [0, 161, 171, 181, 193, 204, 214, 224, 236, 247, 258, 269, 279, 291, 301, 313, 322, 333, 345, 356, 366, 377, 389, 399, 410, 421, 431, 442, 454, 464, 474, 486, 497, 508, 518, 531, 540, 551, 562, 572, 584] + + CD = 10 + + def 结算统计(self, context: Buffer): + buffer_power = context.BUFF量() + + 新词条倍率 = (((self.适用数值 + 4350) / 665 + 1) * + (buffer_power + 3500) / 26395) if buffer_power > 0 else 0 + + 新词条力智 = 新词条倍率 * (self.力智[self.等级]) + 新词条三攻 = 新词条倍率 * (self.三攻[self.等级]) + + 旧词条力智 = ((self.适用数值)/665 + 1) * \ + (self.力智[self.等级]+self.BUFF力智) * self.BUFF力智per + + 旧词条三攻 = ((self.适用数值)/665 + 1) * \ + (self.三攻[self.等级]+self.BUFF三攻) * self.BUFF三攻per + + 倍率 = self.倍率 + + 力智 = int((新词条力智 + 旧词条力智) * 倍率) + 三攻 = int((新词条三攻 + 旧词条三攻) * 倍率) + + return [力智, 三攻, 0, 0, 0] + + +class 神启·圣骑士技能3(辅助职业主动技能): + 名称 = '守护徽章' + 所在等级 = 25 + 等级精通 = 10 + 等级上限 = 20 + 学习间隔 = 2 + 增幅倍率 = 0.15 + 数值 = [0, 94, 98, 102, 107, 112, 116, 122, 127, 131, 137, 141, 147, 153, 158, 163, 169, 175, 181, 187, 192] + + CD = 10 + + def 体精加成(self): + return int(self.数值[self.等级] * (1 + self.增幅倍率)) + + def 结算统计(self, context: Buffer): + return [0, 0, 0, self.体精加成(), self.体精加成()] + + +class 神启·圣骑士技能4(辅助职业被动技能): + 名称 = '信念光环' + 所在等级 = 48 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 额外体精 = 0 + 力智 = [0, 40, 48, 58, 67, 77, 87, 98, 109, 120, 133, 144, 157, 171, 184, 198, 212, 226, 242, 258, 273, 290, 306, 323, 341, 359, 378, 397, 416, 436, 456, 476, 498, 518, 541, 562, 586, 609, 632, 654, 678, 702, 726, 750, 774, 798, 823, 848, 873, 898, 923] + 体精 = [0, 10, 29, 48, 67, 86, 105, 124, 143, 162, 181, 200, 219, 238, 257, 276, 295, 314, 333, 352, 371, 390, 409, 428, 447, 466, 489, 511, 534, 556, 579, 601, 624, 646, 669, 691, 714, 736, 759, 781, 804, 826, 849, 871, 894, 916, 939, 961, 984, 1006, 1029] + + def 力智加成(self): + return self.力智[self.等级] + + def 体精加成(self): + return self.体精[self.等级] + self.额外体精 + + def 结算统计(self, context: Buffer): + return [self.力智加成(), 0, 0, self.体精加成(), self.体精加成()] + + +class 神启·圣骑士技能5(辅助职业觉醒技能): + 名称 = '天启之珠' + CD = 170 + pass + +class 神启·圣骑士技能6(辅助职业主动技能): + 名称 = '神圣之光' + 所在等级 = 75 + 等级精通 = 40 + 等级上限 = 50 + 学习间隔 = 3 + 数值 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640] + + CD = 20 + + def 体精加成(self): + return int(self.数值[self.等级]) + + def 结算统计(self, context: Buffer): + return [0, 0, 0, self.体精加成(), self.体精加成()] + +class 神启·圣骑士技能7(辅助职业主动技能): + 名称 = '神圣洗礼:信仰之翼' + 所在等级 = 85 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 5 + 增幅倍率 = 0.12 + CD = 180 + + def 结算统计(self, context: Buffer): + buff = context.get_skill_by_name('BUFF') + if buff.是否启用: + values = buff.结算统计(context) + return [int(round(i * self.增幅倍率)) for i in values] + return [0]*5 + + +class 神启·圣骑士技能8(辅助职业被动技能): + 名称 = '神之代行者' + 所在等级 = 95 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 体精 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650] + + def 体精加成(self): + return self.体精[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, 0, self.体精加成(), self.体精加成()] + # 力智 三攻 智力 体精 + + +class 神启·圣骑士技能9(辅助职业三觉技能): + 名称 = '生命礼赞:神威' + 关联技能 = ['神圣洗礼:信仰之翼'] + CD = 290 + pass + +class 神启·圣骑士技能10(辅助职业主动技能): + 名称 = '缓慢愈合' + 所在等级 = 5 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + CD = 8 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能11(辅助职业主动技能): + 名称 = '生命源泉' + 所在等级 = 40 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 60 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 神启·圣骑士技能12(辅助职业主动技能): + 名称 = '圣愈之风' + 所在等级 = 45 + 等级上限 = 30 + 等级精通 = 20 + 学习间隔 = 2 + CD = 60 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + + +class 神启·圣骑士技能13(辅助职业主动技能): + 名称 = '圣佑结界' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 40 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + + + +class classChange(Character): + def __init__(self, equVersion=""): + + self.技能序号 = {} + 技能栏 = [] + i = 0 + while i >= 0: + try: + skill: 辅助职业技能 = eval("神启·圣骑士技能"+str(i)+"()") + skill.技能序号 = i + 名称 = skill.名称 + self.技能序号[名称] = i + if skill.所在等级 == 30: + 名称 = 'BUFF' + elif skill.所在等级 == 50: + 名称 = '一次觉醒' + elif skill.所在等级 == 85: + 名称 = '二次觉醒' + elif skill.所在等级 == 100: + 名称 = '三次觉醒' + skill.基础等级计算() + 技能栏.append(skill) + self.技能序号[名称] = i + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能栏 + self.buff = 1.70 + self.护石技能 = [i.skill for i in 男圣骑士护石组合] + + self.实际名称 = 'crusader_male' + self.名称 = '神启·圣骑士' + self.角色 = '圣职者(男)' + + self.类型 = '辅助' + self.职业 = '圣骑士' + self.转职 = '圣骑士(男)' + self.武器选项 = ['十字架'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['体力', '精神'] + self.武器类型 = '十字架' + self.防具类型 = '板甲' + self.适用属性 = '体力' + self.被动增伤倍率 = 1.135 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info,rune_except=['荣誉祝福','守护徽章','守护恩赐','生命源泉'],rune_start_lv=10) + + def 护石计算(self): + for 护石 in 男圣骑士护石组合: + if 护石.skill in self.护石栏: + 护石.effect(self) + + def 职业特殊计算(self): + for skill in self.技能栏: + data = skill.结算统计(self) + info = [] + + if (data[3] > 0): + info.append({ + 'type': '体力', + 'info': [data[3]], + 'percent': False + }) + if (data[4] > 0): + info.append({ + 'type': '精神', + 'info': [data[4]], + 'percent': False + }) + self.skills_passive[skill.名称]['info'] = info + pass + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= (1-x) + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.CDR *= (1 - x) + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.恢复 += x + + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否主动 == 1: + i.CDR *= CD + + def 设置觉醒技能(self): + self.觉醒技能 = ['神启之珠','生命礼赞:神威','神圣洗礼:信仰之翼'] \ No newline at end of file diff --git a/api/core/characters/crusader_male_carry.py b/api/core/characters/crusader_male_carry.py new file mode 100644 index 00000000..01f9e7bb --- /dev/null +++ b/api/core/characters/crusader_male_carry.py @@ -0,0 +1,596 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + 关联技能 = ['神罚之锤', '空斩打'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(被动技能): + 名称 = '勇气恩赐' + 所在等级 = 15 + 等级上限 = 25 + 基础等级 = 15 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + return (1.15 + (self.等级 - 15) * 0.02) if self.等级 >= 15 else (1 + self.等级 * 0.01) + + +class 技能2(主动技能): + 名称 = '光之复仇' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [45, 469] + data0 = [0, 289, 317, 346, 376, 405, 435, 465, 493, 520, 552, 579, 609, 640, 667, 697, 727, 755, 784, 817, 844, 873, 903, 930, 959, 989, 1019, 1048, 1078, 1106, 1136, 1164, 1196, 1225, 1254, 1284, 1312, 1339, 1370, 1401, 1429, 1459, 1488, 1516, 1547, 1577, 1605, 1635, 1664, 1691, 1722, 1750, 1780, 1810, 1840, 1868, 1898, 1926, 1956, 1986, 2016, 2044, 2073, 2102, 2132, 2161, 2190, 2219, 2248, 2278, 2307] + hit0 = 1 + CD = 0.2 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = '纯白之刃' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [27, 294] + data0 = [0, 1675, 1845, 2015, 2183, 2355, 2524, 2694, 2863, 3035, 3204, 3373, 3543, 3714, 3883, 4054, 4223, 4394, 4562, 4733, 4902, 5073, 5243, 5413, 5581, 5753, 5922, 6092, 6261, 6433, 6602, 6771, 6941, 7112, 7281, 7452, 7621, 7792, 7960, 8131, 8300, 8471, 8641, 8811, 8979, 9151, 9320, 9490, 9659, 9831, 10000, 10170, 10339, 10510, 10679, 10850, 11019, 11190, 11358, 11529, 11698, 11869, 12039, 12209, 12378, 12550, 12718, 12888, 13057, 13229, 13398] + hit0 = 1 + CD = 2.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = '胜利之矛' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [32, 343] + data0 = [0, 1495, 1647, 1799, 1950, 2102, 2254, 2405, 2558, 2709, 2862, 3012, 3165, 3315, 3468, 3619, 3772, 3922, 4075, 4226, 4378, 4530, 4682, 4834, 4985, 5136, 5288, 5440, 5592, 5744, 5895, 6046, 6199, 6350, 6503, 6654, 6807, 6956, 7109, 7260, 7413, 7564, 7717, 7869, 8019, 8171, 8323, 8475, 8627, 8779, 8929, 9081, 9233, 9385, 9538, 9689, 9841, 9991, 10144, 10295, 10448, 10599, 10751, 10901, 11054, 11206, 11358, 11510, 11661, 11813, 11964] + hit0 = 1 + data1 = [0, 2168, 2388, 2608, 2827, 3048, 3268, 3488, 3708, 3928, 4149, 4368, 4589, 4809, 5030, 5247, 5467, 5688, 5907, 6128, 6348, 6569, 6788, 7008, 7229, 7449, 7669, 7888, 8109, 8328, 8547, 8768, 8988, 9208, 9428, 9649, 9869, 10088, 10308, 10528, 10748, 10968, 11189, 11409, 11629, 11848, 12068, 12289, 12508, 12728, 12948, 13168, 13388, 13608, 13829, 14048, 14269, 14489, 14710, 14929, 15149, 15368, 15587, 15808, 16028, 16249, 16468, 16688, 16909, 17129, 17349] + hit1 = 1 + CD = 6.6 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = '圣光十字' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [32, 343] + data0 = [0, 2399, 2642, 2886, 3130, 3373, 3616, 3860, 4104, 4348, 4590, 4834, 5078, 5322, 5565, 5808, 6052, 6296, 6540, 6782, 7026, 7270, 7514, 7756, 8000, 8244, 8488, 8731, 8974, 9218, 9462, 9706, 9948, 10192, 10436, 10680, 10923, 11166, 11410, 11654, 11897, 12140, 12384, 12628, 12871, 13115, 13358, 13602, 13846, 14089, 14333, 14576, 14820, 15063, 15307, 15550, 15794, 16037, 16281, 16525, 16768, 17011, 17255, 17499, 17742, 17986, 18229, 18473, 18717, 18960, 19203] + hit0 = 1 + data1 = [0, 3172, 3494, 3815, 4138, 4459, 4781, 5103, 5427, 5748, 6069, 6391, 6712, 7036, 7357, 7679, 8000, 8322, 8645, 8967, 9288, 9609, 9931, 10253, 10576, 10897, 11219, 11540, 11863, 12185, 12507, 12829, 13150, 13473, 13794, 14117, 14438, 14760, 15082, 15404, 15726, 16048, 16369, 16692, 17013, 17334, 17657, 17978, 18301, 18622, 18944, 19265, 19588, 19911, 20233, 20554, 20875, 21198, 21520, 21842, 22163, 22485, 22806, 23130, 23451, 23773, 24094, 24415, 24739, 25060, 25382] + hit1 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.2 + + +class 技能6(主动技能): + 名称 = '圣光沁盾' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [91, 763] + data0 = [0, 6180, 6807, 7434, 8060, 8687, 9315, 9942, 10568, 11195, 11824, 12451, 13077, 13703, 14330, 14956, 15584, 16212, 16839, 17466, 18093, 18720, 19347, 19974, 20600, 21227, 21855, 22481, 23108, 23735, 24362, 24989, 25616, 26244, 26871, 27499, 28124, 28751, 29378, 30004, 30633, 31260, 31887, 32513, 33140, 33768, 34395, 35021, 35648, 36275, 36903, 37529, 38156, 38783, 39410, 40038, 40665, 41292, 41919, 42544, 43172, 43799, 44425, 45053, 45680, 46308, 46935, 47561, 48188, 48815, 49444] + hit0 = 1 + power0 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '坚定信念' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 >= 10: + return (1.10 + (self.等级 - 10) * 0.015) + else: + return (1 + self.等级 * 0.01) + + +class 技能8(主动技能): + 名称 = '圣光球' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + # 圣光球 + data0 = [0, 1005, 1107, 1210, 1311, 1414, 1515, 1618, 1719, 1822, 1924, 2026, 2128, 2231, 2331, 2434, 2537, 2637, 2740, 2842, 2944, 3046, 3148, 3250, 3352, 3454, 3557, 3658, 3761, 3863, 3964, 4066, 4169, 4269, 4372, 4475, 4576, 4679, 4780, 4883, 4984, 5087, 5189, 5291, 5393, 5496, 5597, 5699, 5801, 5904, 6005, 6108, 6211, 6311, 6413, 6515, 6617, 6719, 6822, 6923, 7026, 7128, 7230, 7331, 7434, 7536, 7638, 7740, 7843, 7944, 8045] + hit0 = 15 + # 圣光琉璃碎 + data1 = [0, 13948, 15365, 16777, 18196, 19607, 21024, 22443, 23855, 25272, 26683, 28102, 29514, 30931, 32350, 33761, 35178, 36590, 38009, 39426, 40837, 42256, 43668, 45085, 46496, 47915, 49332, 50744, 52163, 53575, 54991, 56410, 57822, 59239, 60651, 62070, 63481, 64898, 66316, 67728, 69146, 70557, 71975, 73393, 74805, 76223, 77634, 79052, 80470, 81882, 83300, 84711, 86129, 87541, 88959, 90377, 91789, 93206, 94618, 96036, 97454, 98866, 100283, 101695, 103113, 104525, 105943, 107361, 108772, 110190, 111602] + hit1 = 0 + CD = 14.4 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [150, 1260] + 无色消耗 = 1 + + # 理论下需要怪物可移动才能达成 + 形态 = ["圣光球", "琉璃碎"] + # 护石的部分还没写 护石的话理论和固定目标是hit0上限变为17,(ceil(5 / (0.5 - 0.10 * self.TP等级))/10)就是tp下的hit0;不到17按实际算; + # 然后就是整体倍率*1.34 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "圣光球": + self.hit0 = 15 + self.hit1 = 0 + # self.hit0 = ceil(10 / (1 - 0.10 * self.TP等级)) + # self.hit1 = 1 + # self.power1 = 1 + self.TP成长 * self.TP等级 + if '圣光球' in char.护石栏: + # self.hit0 = min(17, self.hit0) + self.hit0 = 20 + if 形态 == "琉璃碎": + self.hit0 = 0 + self.hit1 = 1 + # self.hit0 = ceil(8 / (1 - 0.10 * self.TP等级)) + # self.hit1 = 1 + # self.power1 = 1 + self.TP成长 * self.TP等级 + if '圣光球' in char.护石栏: + self.power1 = 1.35 + + def 装备护石(self, char): + self.power1 = 1.35 + + +class 技能9(主动技能): + 名称 = '圣光聚合' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [32, 343] + data0 = [0, 682, 751, 821, 890, 959, 1029, 1098, 1166, 1235, 1305, 1374, 1443, 1513, 1582, 1652, 1721, 1790, 1859, 1927, 1997, 2066, 2136, 2205, 2275, 2344, 2413, 2481, 2550, 2620, 2689, 2759, 2828, 2898, 2967, 3035, 3105, 3174, 3244, 3313, 3383, 3452, 3521, 3591, 3659, 3728, 3796, 3866, 3935, 4004, 4074, 4143, 4213, 4281, 4351, 4420, 4489, 4559, 4628, 4698, 4767, 4837, 4905, 4975, 5044, 5112, 5182, 5251, 5321, 5390, 5459] + hit0 = 1 + data1 = [0, 1363, 1502, 1641, 1780, 1919, 2057, 2196, 2333, 2472, 2610, 2749, 2887, 3026, 3165, 3302, 3441, 3579, 3718, 3856, 3995, 4134, 4273, 4411, 4549, 4688, 4826, 4964, 5102, 5241, 5379, 5518, 5657, 5795, 5934, 6073, 6211, 6349, 6486, 6625, 6764, 6903, 7041, 7180, 7319, 7458, 7594, 7733, 7872, 8011, 8150, 8287, 8426, 8564, 8703, 8840, 8979, 9118, 9257, 9396, 9533, 9672, 9811, 9950, 10086, 10225, 10364, 10503, 10641, 10779, 10918] + hit1 = 1 + data2 = [0, 5204, 5731, 6259, 6786, 7315, 7842, 8370, 8899, 9427, 9954, 10481, 11010, 11539, 12066, 12594, 13121, 13649, 14177, 14706, 15233, 15760, 16290, 16817, 17345, 17871, 18401, 18929, 19456, 19985, 20511, 21040, 21568, 22096, 22624, 23152, 23680, 24207, 24735, 25264, 25792, 26319, 26846, 27375, 27904, 28431, 28958, 29486, 30015, 30542, 31071, 31598, 32125, 32654, 33182, 33710, 34236, 34766, 35294, 35821, 36349, 36877, 37405, 37933, 38461, 38989, 39516, 40044, 40572, 41100, 41629] + hit2 = 1 + CD = 10.0 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = '忏悔之锤' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 7625, 8399, 9174, 9946, 10720, 11493, 12267, 13042, 13815, 14588, 15362, 16135, 16910, 17684, 18456, 19230, 20003, 20777, 21552, 22325, 23097, 23870, 24644, 25419, 26192, 26966, 27739, 28512, 29287, 30061, 30834, 31607, 32380, 33155, 33929, 34702, 35476, 36249, 37023, 37797, 38571, 39344, 40119, 40891, 41665, 42439, 43212, 43987, 44761, 45533, 46307, 47081, 47855, 48629, 49401, 50175, 50949, 51723, 52497, 53271, 54042, 54816, 55591, 56364, 57138, 57911, 58684, 59459, 60232, 61006] + hit0 = 1 + data1 = [0, 3172, 3494, 3817, 4138, 4460, 4782, 5105, 5426, 5748, 6069, 6393, 6713, 7036, 7357, 7681, 8001, 8324, 8645, 8968, 9289, 9612, 9933, 10253, 10577, 10898, 11221, 11541, 11864, 12186, 12509, 12829, 13152, 13474, 13797, 14117, 14439, 14762, 15084, 15405, 15727, 16049, 16372, 16693, 17015, 17337, 17660, 17980, 18302, 18624, 18948, 19268, 19590, 19912, 20235, 20556, 20878, 21200, 21522, 21844, 22165, 22488, 22809, 23132, 23453, 23776, 24097, 24418, 24741, 25064, 25385] + hit1 = 1 + CD = 14.4 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [160, 1344] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + self.CDR *= 0.9 + + +class 技能11(主动技能): + 名称 = '正义审判' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 898, 990, 1081, 1172, 1264, 1355, 1446, 1537, 1628, 1719, 1812, 1903, 1994, 2085, 2176, 2267, 2360, 2450, 2542, 2632, 2724, 2814, 2907, 2997, 3089, 3180, 3271, 3362, 3453, 3544, 3635, 3726, 3817, 3908, 3999, 4092, 4183, 4274, 4365, 4456, 4547, 4639, 4730, 4822, 4912, 5004, 5094, 5186, 5277, 5369, 5459, 5551, 5642, 5733, 5825, 5916, 6008, 6098, 6190, 6280, 6373, 6464, 6555, 6646, 6737, 6828, 6920, 7011, 7103, 7193] + hit0 = 16 + data1 = [0, 14387, 15847, 17306, 18767, 20225, 21685, 23145, 24605, 26064, 27524, 28984, 30444, 31903, 33362, 34823, 36283, 37741, 39202, 40661, 42121, 43579, 45040, 46498, 47959, 49420, 50877, 52338, 53797, 55258, 56716, 58176, 59637, 61096, 62555, 64015, 65475, 66934, 68394, 69853, 71314, 72774, 74232, 75693, 77152, 78612, 80071, 81531, 82991, 84451, 85911, 87368, 88829, 90288, 91749, 93207, 94667, 96128, 97587, 99046, 100506, 101966, 103425, 104885, 106345, 107804, 109265, 110723, 112184, 113643, 115103] + hit1 = 1 + CD = 45.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [350, 2940] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 8 + self.power1 = 2.16 + + +class 技能12(被动技能): + 名称 = '信念光环' + 所在等级 = 48 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.015 + 0.02 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = '天启之珠' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 1645, 2027, 2409, 2791, 3172, 3553, 3935, 4317, 4699, 5081, 5461, 5843, 6225, 6607, 6989, 7371, 7752, 8132, 8516, 8897, 9278, 9661, 10042, 10424, 10806, 11187, 11569, 11950, 12332, 12714, 13094, 13478, 13859, 14240, 14623, 15004, 15384, 15767, 16149, 16530, 16912, 17294, 17676, 18058, 18438, 18820, 19202, 19583, 19966, 20348] + hit0 = 12 + data1 = [0, 46075, 56748, 67446, 78143, 88792, 99490, 110188, 120887, 131559, 142257, 152930, 163604, 174301, 185000, 195672, 206396, 217068, 227715, 238440, 249113, 259786, 270509, 281182, 291880, 302552, 313227, 323924, 334596, 345295, 355993, 366639, 377365, 388037, 398710, 409435, 420105, 430752, 441478, 452150, 462848, 473547, 484218, 494919, 505616, 516263, 526961, 537658, 548332, 559030, 569729] + hit1 = 1 + CD = 145 + + MP = [1200, 10080] + 无色消耗 = 5 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * ( 1.1 if self.等级 >=3 else 1.0) + + +class 技能14(主动技能): + 名称 = '圣光突袭' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 2509, 2762, 3017, 3272, 3527, 3781, 4035, 4290, 4544, 4799, 5054, 5309, 5562, 5817, 6072, 6327, 6581, 6835, 7090, 7344, 7599, 7854, 8109, 8362, 8617, 8872, 9127, 9381, 9635, 9890, 10143, 10398, 10653, 10908, 11161, 11416, 11671, 11925, 12180, 12434, 12689, 12943, 13198, 13453, 13708, 13961, 14216, 14471, 14725, 14980] + hit0 = 3 + data1 = [0, 16692, 18386, 20079, 21773, 23466, 25160, 26854, 28547, 30241, 31935, 33628, 35323, 37017, 38710, 40404, 42097, 43790, 45484, 47177, 48871, 50564, 52258, 53952, 55645, 57339, 59033, 60726, 62420, 64113, 65807, 67500, 69192, 70886, 72579, 74273, 75967, 77660, 79354, 81048, 82742, 84436, 86129, 87823, 89517, 91210, 92904, 94598, 96291, 97984, 99677] + hit1 = 1 + CD = 30.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [400, 1000] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.15 + self.CDR *= 0.85 + +class 技能15(主动技能): + 名称 = '神圣之矛' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 718, 791, 864, 936, 1009, 1081, 1153, 1227, 1299, 1373, 1445, 1519, 1591, 1664, 1736, 1809, 1882, 1956, 2028, 2100, 2174, 2247, 2320, 2392, 2466, 2538, 2612, 2684, 2757, 2829, 2903, 2975, 3049, 3121, 3193, 3267, 3339, 3412, 3484, 3557, 3629, 3704, 3776, 3849, 3921, 3995, 4067, 4140, 4212, 4285] + hit0 = 1 + data1 = [0, 2984, 3287, 3592, 3893, 4196, 4499, 4802, 5105, 5407, 5711, 6013, 6316, 6619, 6922, 7225, 7527, 7831, 8134, 8436, 8739, 9042, 9345, 9648, 9949, 10254, 10557, 10858, 11162, 11465, 11767, 12070, 12374, 12676, 12978, 13283, 13585, 13887, 14191, 14494, 14796, 15098, 15402, 15705, 16007, 16310, 16614, 16915, 17219, 17523, 17824] + hit1 = 1 + data2 = [0, 8435, 9291, 10145, 11002, 11858, 12714, 13569, 14425, 15280, 16136, 16993, 17848, 18704, 19558, 20416, 21272, 22127, 22982, 23838, 24695, 25550, 26406, 27261, 28118, 28972, 29829, 30685, 31540, 32396, 33252, 34108, 34963, 35820, 36675, 37531, 38385, 39242, 40099, 40954, 41809, 42665, 43520, 44377, 45233, 46088, 46944, 47798, 48656, 49512, 50367] + hit2 = 3 + CD = 40.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [860, 1500] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能16(主动技能): + 名称 = '神圣之光' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + MP = [580, 4500] + data0 = [0, 37290, 43235, 49181, 55125, 61070, 67015, 72960, 78905, 84849, 90795, 96739, 102684, 108630, 114574, 120519, 126465, 132409, 138354, 144298, 150244, 156189, 162133, 168079, 174023, 179968, 185914, 191858, 197803, 203749, 209693, 215638, 221582, 227528, 233473, 239417, 245363, 251307, 257252, 263198, 269142, 275087, 281032, 286977, 292922, 298866, 304812, 310757, 316701, 322647, 328591] + hit0 = 1 + CD = 20.0 + 是否有护石 = 1 + 无色消耗 = 3 + + # 破招下的技能本身额外加成和圣光十字的buff属于加算 + + def 装备护石(self, char): + self.倍率 *= 1.35 + self.无色消耗 -= 3 + + +class 技能17(主动技能): + 名称 = '圣佑结界' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 6277, 6914, 7551, 8188, 8825, 9461, 10098, 10735, 11372, 12009, 12646, 13283, 13919, 14556, 15193, 15830, 16467, 17104, 17741, 18378, 19014, 19652, 20289, 20926, 21563, 22200, 22837, 23474, 24110, 24747, 25384, 26021, 26658, 27295, 27932, 28568, 29205, 29842, 30479, 31116, 31753, 32390, 33026, 33663, 34300, 34937, 35574, 36212, 36849, 37486] + hit0 = 2 + data1 = [0, 31389, 34573, 37757, 40943, 44127, 47311, 50496, 53679, 56863, 60049, 63233, 66417, 69602, 72786, 75970, 79156, 82340, 85524, 88709, 91893, 95076, 98262, 101446, 104630, 107815, 110999, 114184, 117369, 120553, 123737, 126922, 130106, 133291, 136476, 139659, 142843, 146028, 149212, 152397, 155582, 158766, 161950, 165135, 168320, 171504, 174689, 177872, 181056, 184241, 187426] + hit1 = 1 + 倍率 = 1.43 # 圣灵之槌 + CD = 40.0 + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.78 + + +# 神罚之锤下的空斩打和落凤锤问题比较多,暂时放置了 +class 技能18(主动技能): + 名称 = '神罚之锤' + 备注 = '(一轮普通攻击,TP为基础精通)' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + # 平x第一击+平x第二击+平x第三击+神圣冲击光柱+神圣冲击冲击波;不成长 + # 冲击波吃圣光十字双加成 + data0 = [0] + [181+219+282+349*1.2+244*1.2] * 50 + hit0 = 1 + CD = 2.0 + TP成长 = 0.10 + TP上限 = 5 + + # 本身有无色消耗和蓝耗的,可以通过多次上buff来被无色套加成;但同时也可以吃到非无色技能+xx这种加成 + MP = [800, 6000] + 无色消耗 = 5 + + 关联技能 = ['所有'] + + 倍率 = 0.9 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.24 + 0.02 * self.等级, 5) + + def 非无色占比(self): + return 1 + + def 无色占比(self): + return 0 + +class 技能19(主动技能): + 名称 = '神圣洗礼:信仰之翼' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 3460, 4262, 5065, 5868, 6671, 7473, 8275, 9078, 9881, 10682, 11486, 12289, 13091, 13893, 14696, 15499, 16301, 17103, 17906, 18709, 19512, 20314, 21117, 21919, 22722, 23524, 24326, 25130, 25933, 26734, 27537, 28340, 29143, 29944, 30747, 31550, 32353, 33156, 33958, 34761, 35563, 36366, 37168, 37971, 38774, 39576, 40378, 41181, 41984, 42787] + hit0 = 15 + data1 = [0, 145365, 179071, 212780, 246489, 280196, 313904, 347613, 381320, 415028, 448737, 482444, 516152, 549860, 583567, 617276, 650984, 684691, 718400, 752107, 785815, 819524, 853232, 886940, 920647, 954354, 988063, 1021771, 1055478, 1089187, 1122894, 1156602, 1190311, 1224019, 1257726, 1291434, 1325142, 1358850, 1392558, 1426265, 1459974, 1493681, 1527390, 1561098, 1594806, 1628513, 1662221, 1695930, 1729636, 1763345, 1797054] + hit1 = 1 + CD = 180 + + # 这里有个小问题,现在二觉把终结技信仰之翼 : 裁决单独拆解出来了,而这个技能等级是锁1的;也就是MP消耗锁2500。 + # 不过这版本影响不大,只有耳环对MP4000以上有要求,本体部分能够4000基本上终结技也够的 + MP = [2500, 5000] + 无色消耗 = 10 + + +class 技能20(主动技能): + 名称 = '神罚之锤:天怒' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 93035, 102473, 111912, 121350, 130788, 140226, 149666, 159103, 168543, 177980, 187418, 196857, 206296, 215733, 225173, 234610, 244049, 253487, 262926, 272364, 281802, 291241, 300679, 310117, 319557, 328994, 338432, 347871, 357309, 366748, 376187, 385623, 395063, 404501, 413940, 423378, 432817, 442254, 451692, 461131, 470569, 480008, 489448, 498884, 508322, 517762, 527199, 536639, 546077, 555514] + hit0 = 1 + data1 = [0, 62022, 68314, 74607, 80900, 87191, 93484, 99776, 106069, 112361, 118653, 124945, 131238, 137531, 143821, 150114, 156406, 162699, 168991, 175283, 181575, 187868, 194161, 200453, 206745, 213037, 219330, 225621, 231913, 238205, 244498, 250790, 257083, 263375, 269667, 275960, 282252, 288544, 294836, 301129, 307420, 313713, 320004, 326297, 332590, 338882, 345174, 351466, 357759, 364051, 370344] + hit1 = 1 + CD = 60.0 + + MP = [1065, 8000] + 无色消耗 = 7 + + +class 技能21(被动技能): + 名称 = '神之代行者' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + 非关联技能 = ['空斩打'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = '生命礼赞:神威' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 60245, 74216, 88186, 102155, 116125, 130096, 144065, 158036, 172006, 185976, 199947, 213917, 227886, 241856, 255826, 269796, 283767, 297736, 311707, 325677, 339646, 353617, 367587, 381557, 395527, 409497, 423467, 437437, 451406, 465377, 479348, 493317, 507288, 521258, 535228, 549197, 563168, 577138, 591108, 605078, 619048, 633019, 646987, 660958, 674928, 688898, 702869, 716839, 730809, 744779] + hit0 = 8 + CD = 290 + + MP = [4025, 8055] + 无色消耗 = 15 + + +class 技能23(主动技能): + 名称 = '空斩打' + 所在等级 = 1 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + MP = [0, 0] + data0 = [int(i*1.0) for i in [0, 95, 105, 115, 126, 136, 147, 158, 168, 179, 189, 200, 210, 220, 231, 241, 252, 263, 273, 284, 294, 305, 315, 325, 336, 346, 357, 368, 378, 389, 399, 410, 420, + 430, 441, 451, 462, 473, 483, 494, 504, 515, 525, 535, 546, 556, 567, 578, 588, 599, 609, 620, 630, 640, 651, 661, 672, 683, 693, 704, 714, 725, 735, 745, 756, 766, 777, 788, 798, 809, 819]] + CD = 2.0 + + # 冲击波吃圣光十字双加成 + data1 = [0] + [349+244*1.2]*20 + hit1 = 1 + power1 = 1 + + TP成长 = 0.1 + TP上限 = 5 + + +class 技能24(主动技能): + 名称 = '落凤锤' + 所在等级 = 80 + 等级上限 = 1 + 基础等级 = 1 + # 当装备[神罚之锤]时,[落凤锤] : 可发动[雷霆粉碎] + data0 = [0, 3556, 3918, 4276, 4638, 4998, 5359, 5721, 6081, 6440, 6801, 7162, 7523, 7884, 8245, 8607, 8964, 9327, 9688, 10049, 10409, 10771, 11129, 11490, 11852, 12212, 12572, 12935, 13294, 13654, 14017, 14376, 14738, 15098, 15459, 15819, 16179, 16541, 16902, 17261, 17624, 17983, 18344, 18705, 19066, 19427, 19787, 20148, 20508, 20869, 21230] + hit0 = 2 + CD = 6.0 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'crusader_male_carry' + self.名称 = '战斗·神启·圣骑士' + self.角色 = '圣职者(男)' + self.角色类型 = '输出' + self.职业 = '圣骑士' + # 用来筛CP武器的 + self.转职 = '圣骑士(男)' + self.武器选项 = ['镰刀', '念珠', '战斧', '十字架'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法固伤' + self.武器类型 = '镰刀' + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.97 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 神罚之锤 = self.get_skill_by_name('神罚之锤') + 空斩打 = self.get_skill_by_name('空斩打') + 落凤锤 = self.get_skill_by_name('落凤锤') + + 空斩打.power0 *= 1+0.1*self.get_skill_by_name('神罚之锤').TP等级 + 落凤锤.等级 = 神罚之锤.等级 + + 落凤锤.等级上限 = 神罚之锤.等级上限 + + def 伤害指数计算(self): + + 神之代行者 = self.get_skill_by_name('神之代行者') + + x = 神之代行者.加成倍率(self.武器类型) + + self.get_skill_by_name('空斩打').power1 *= x + + super().伤害指数计算() + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + for item in setinfo: + 无色消耗 = self.get_skill_by_name(item['name']).无色消耗 + if item['name'] == '神圣之光' and '神圣之光' in self.护石栏: + 无色消耗 -= 3 + self.技能队列.append({ + '名称': item['name'], + '无色消耗': 无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info, rune_except, ['空斩打','落凤锤'], rune_start_lv) + info['clothes_coat'].remove("基础精通") + info['clothes_coat'].remove("空斩打") + info['clothes_coat'].remove("落凤锤") + + def set_individuation(self, info): + info['char_optiopns'] = [] + info['char_optiopns'].append({ + "name": '[奶系专属技攻]', + "option": ["不享受","享受"] + }) + + def 职业特殊设置(self): + self.bufferCarry = (not self.get_individuation(0) == 0) + pass diff --git a/api/core/characters/dark_knight.py b/api/core/characters/dark_knight.py new file mode 100644 index 00000000..68be3a00 --- /dev/null +++ b/api/core/characters/dark_knight.py @@ -0,0 +1,1201 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 技能施放时间 = 0.0 + 脱手 = 1 + data0 = [] + data1 = [] + data2 = [] + data3 = [] + + 类型 = '物理' + 武器惩罚类型 = '物理百分比' + 计算CD = 0 + + 连击倍率 = 1.0 + + 形态 = ['6','5','4','3','2','1'] + + def 武器CD系数(self, 武器类型, 输出类型): + 输出类型 = self.武器惩罚类型 + return super().武器CD系数(武器类型, 输出类型) + + def 手搓CD(self): + cdr = 0 + if self.手搓: + if self.所在等级 >= 15 and self.所在等级 <= 30: + cdr = 0.01 * self.手搓收益 + if self.所在等级 >= 35 and self.所在等级 <= 70: + cdr = 0.02 * self.手搓收益 + if self.所在等级 >= 75 and self.所在等级 <= 100: + cdr = 0.05 * self.手搓收益 + if self.所在等级 in [85, 100]: + cdr = 0.05 * self.手搓收益 + return cdr + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '6') + char:Character = argv.get('char', {}) + 连击倍率 = 1.0 + + self.形态变更(形态, char) + + count = 0 + # 连击处理 + 时间停滞 = char.get_skill_by_name('时间停滞').连击倍率 + # 上排处理 + if self.名称 in char.hotkey: + if 形态 == '': + 形态 = '6' + count = int(形态) + pass + + if self.所在等级 in [85, 100]: + count = 6 + + count = min(len(时间停滞),count) + + # 下排处理 + if self.名称 in char.排列: + count = int((char.排列.index(self.名称))/ 6) + 1 + + 连击倍率 = 时间停滞[count-1] + + 等级 = min(self.等级 + 额外等级, self.等级上限) + + if 等级 == 0: + return 0 + + 百分比 = self.基础百分比(伤害类型, 等级) + + return 百分比 * self.TP加成() * self.技攻 * self.倍率 * 额外倍率 * self.武器百分比修正(武器类型) * 连击倍率 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + 关联技能 = ['挑击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '挑击' + 类型 = '物理' + 所在等级 = 1 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + MP = [0, 0] + # 物理攻击力:% + data0 = [0, 124, 139, 151, 166, 179, 193, 208, 221, 235, 249, 263, 276, 290, 303, 317, 331, 346, 359, 373, 387] + hit0 = 1 + CD = 2.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能2(主动技能): + + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "暗影斩" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [17, 140] + 无色消耗 = 0 + data0 = [0, 798, 879, 960, 1041, 1119, 1204, 1285, 1365, 1445, 1528, 1607, 1690, 1770, 1850, 1932, 2013, 2093, 2175, 2257, 2336, 2417, 2500, 2579, 2660, 2742, 2825, 2904, 2984, 3066, 3148, 3229, 3308, 3391, 3470, 3553, 3633, 3714, 3795, 3875, 3959, 4040, 4119, 4199, 4282, 4362, 4443, 4523, 4606, 4687, 4768, 4848, 4929, 5009, 5090, 5174, 5253, 5333, 5416, 5498, 5576, 5659, 5736, 5820, 5901, 5981, 6062, 6143, 6226, 6308, 6386] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 类型 = '物理' + + 名称 = "滑斩" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [2, 100] + 无色消耗 = 0 + data0 = [0, 1035, 1139, 1243, 1349, 1455, 1558, 1664, 1769, 1873, 1980, 2084, 2188, 2295, 2400, 2503, 2609, 2714, 2818, 2925, 3029, 3133, 3240, 3345, 3448, 3554, 3660, 3763, 3870, 3974, 4078, 4185, 4290, 4393, 4499, 4605, 4708, 4815, 4919, 5024, 5130, 5235, 5338, 5446, 5550, 5653, 5760, 5864, 5969, 6075, 6180, 6283, 6391, 6495, 6600, 6705, 6810, 6917, 7020, 7125, 7232, 7336, 7440, 7545, 7650, 7755, 7862, 7965, 8070, 8177, 8281] + hit0 = 1 + + +class 技能4(主动技能): + 类型 = '物理' + + 名称 = "跃斩" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [2, 425] + 无色消耗 = 0 + data0 = [0, 773, 851, 930, 1009, 1087, 1164, 1243, 1321, 1398, 1478, 1558, 1637, 1716, 1793, 1871, 1951, 2028, 2108, 2187, 2265, 2342, 2422, 2500, 2577, 2655, 2735, 2813, 2891, 2972, 3050, 3128, 3206, 3285, 3364, 3443, 3520, 3598, 3677, 3754, 3833, 3912, 3992, 4069, 4148, 4226, 4304, 4384, 4464, 4542, 4620, 4698, 4777, 4856, 4933, 5011, 5088, 5168, 5247, 5325, 5403, 5481, 5559, 5637, 5720, 5797, 5876, 5954, 6031, 6110, 6188] + hit0 = 1 + data1 = [0, 520, 575, 630, 686, 740, 796, 851, 906, 961, 1016, 1071, 1127, 1181, 1237, 1292, 1348, 1402, 1457, 1514, 1568, 1622, 1679, 1733, 1788, 1845, 1898, 1953, 2010, 2065, 2119, 2176, 2230, 2284, 2340, 2396, 2450, 2506, 2561, 2618, 2671, 2727, 2784, 2837, 2892, 2948, 3002, 3058, 3114, 3168, 3222, 3278, 3333, 3388, 3443, 3499, 3555, 3610, 3666, 3720, 3776, 3830, 3886, 3941, 3996, 4051, 4107, 4161, 4217, 4271, 4327] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + if 武器类型 == '钝器': + self.hit1 = 1 + else: + self.hit1 = 0 + return super().等效百分比(**argv) + + +class 技能5(主动技能): + 类型 = '物理' + + 名称 = "黑暗十字斩" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [2, 170] + 无色消耗 = 0 + data0 = [0, 173, 191, 208, 226, 244, 262, 279, 297, 314, 332, 350, 368, 385, 403, 421, 439, 455, 473, 492, 510, 525, 543, 563, 579, 596, 614, 633, 650, 667, 685, 702, 721, 738, 755, 773, 792, 809, 826, 844, 861, 879, 897, 915, 932, 950, 968, 986, 1001, 1019, 1038, 1056, 1072, 1090, 1109, 1126, 1143, 1161, 1179, 1197, 1214, 1232, 1249, 1268, 1285, 1303, 1320, 1338, 1356, 1373, 1391] + hit0 = 2 + data1 = [0, 763, 842, 918, 996, 1073, 1151, 1230, 1306, 1385, 1461, 1539, 1616, 1693, 1770, 1848, 1926, 2004, 2080, 2158, 2235, 2313, 2390, 2469, 2546, 2624, 2701, 2779, 2856, 2933, 3011, 3089, 3167, 3243, 3322, 3399, 3476, 3553, 3632, 3709, 3787, 3864, 3942, 4019, 4096, 4175, 4251, 4330, 4408, 4485, 4562, 4640, 4717, 4795, 4871, 4951, 5028, 5105, 5182, 5261, 5337, 5414, 5490, 5570, 5648, 5724, 5803, 5879, 5957, 6033, 6112] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "暗影·波动剑" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [2, 110] + 无色消耗 = 0 + data0 = [0, 869, 955, 1044, 1132, 1221, 1307, 1396, 1484, 1573, 1659, 1749, 1836, 1926, 2012, 2102, 2188, 2277, 2364, 2454, 2544, 2629, 2719, 2806, 2896, 2981, 3071, 3158, 3247, 3333, 3423, 3511, 3599, 3687, 3776, 3863, 3951, 4039, 4128, 4214, 4304, 4391, 4481, 4569, 4656, 4745, 4833, 4921, 5009, 5099, 5184, 5274, 5361, 5451, 5536, 5626, 5713, 5803, 5888, 5978, 6066, 6155, 6242, 6330, 6418, 6506, 6594, 6683, 6773, 6859, 6948] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "旋涡斩" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [5, 200] + 无色消耗 = 0 + data0 = [0, 335, 369, 401, 437, 470, 505, 538, 573, 607, 639, 675, 708, 743, 776, 811, 844, 880, 912, 947, 981, 1013, 1049, 1082, 1118, 1150, 1184, 1219, 1253, 1285, 1321, 1354, 1388, 1422, 1456, 1491, 1523, 1559, 1592, 1627, 1660, 1695, 1729, 1761, 1796, 1830, 1865, 1897, 1933, 1966, 2002, 2034, 2068, 2103, 2137, 2171, 2204, 2238, 2272, 2306, 2340, 2375, 2407, 2443, 2476, 2511, 2544, 2578, 2613, 2645, 2680] + hit0 = 1 + data1 = [0, 515, 567, 619, 672, 725, 776, 830, 882, 933, 985, 1037, 1090, 1143, 1195, 1247, 1300, 1352, 1403, 1456, 1510, 1561, 1614, 1666, 1718, 1770, 1823, 1874, 1928, 1980, 2032, 2084, 2137, 2188, 2241, 2293, 2345, 2399, 2450, 2502, 2554, 2607, 2659, 2712, 2763, 2817, 2869, 2920, 2972, 3026, 3078, 3130, 3183, 3235, 3287, 3339, 3390, 3443, 3497, 3548, 3601, 3653, 3705, 3757, 3810, 3862, 3915, 3968, 4019, 4071, 4124] + hit1 = 3 + data2 = [0, 575, 633, 692, 749, 810, 866, 925, 983, 1041, 1101, 1159, 1218, 1275, 1333, 1393, 1450, 1510, 1567, 1626, 1685, 1743, 1800, 1860, 1918, 1977, 2034, 2093, 2152, 2211, 2268, 2326, 2385, 2444, 2502, 2560, 2619, 2678, 2736, 2794, 2851, 2911, 2969, 3027, 3086, 3144, 3204, 3261, 3319, 3378, 3435, 3496, 3553, 3612, 3670, 3729, 3786, 3845, 3903, 3962, 4021, 4079, 4137, 4196, 4255, 4313, 4370, 4429, 4487, 4546, 4605] + hit2 = 1 + TP成长 = 0 + TP上限 = 7 + + # TP影响第二段攻击次数 + def 等效百分比(self, **argv): + self.hit1 = 3 + self.TP等级 + return super().等效百分比(**argv) + + +class 技能8(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "暗月斩" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [3, 120] + 无色消耗 = 0 + data0 = [0, 546, 600, 658, 714, 766, 821, 878, 936, 988, 1044, 1099, 1157, 1208, 1266, 1320, 1374, 1434, 1486, 1542, 1598, 1655, 1709, 1764, 1818, 1873, 1931, 1987, 2044, 2097, 2151, 2207, 2265, 2316, 2375, 2429, 2481, 2537, 2595, 2652, 2707, 2759, 2816, 2871, 2925, 2981, 3036, 3092, 3148, 3205, 3259, 3317, 3369, 3428, 3480, 3538, 3594, 3646, 3701, 3759, 3812, 3867, 3922, 3976, 4031, 4086, 4141, 4196, 4250, 4305, 4360] + hit0 = 1 + data1 = [0, 591, 650, 710, 772, 831, 891, 950, 1013, 1071, 1132, 1194, 1250, 1310, 1369, 1430, 1493, 1551, 1610, 1672, 1731, 1791, 1848, 1910, 1969, 2032, 2094, 2151, 2211, 2270, 2332, 2391, 2449, 2512, 2568, 2631, 2692, 2748, 2810, 2871, 2930, 2993, 3049, 3111, 3170, 3232, 3292, 3351, 3408, 3471, 3529, 3590, 3652, 3711, 3773, 3835, 3893, 3951, 4012, 4073, 4132, 4192, 4252, 4312, 4372, 4433, 4493, 4553, 4613, 4673, 4733] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 类型 = '物理' + + 名称 = "跃地斩" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [4, 100] + 无色消耗 = 0 + data0 = [0, 440, 485, 527, 572, 617, 662, 707, 751, 795, 840, 885, 929, 973, 1018, 1064, 1109, 1153, 1197, 1242, 1287, 1332, 1376, 1419, 1464, 1509, 1554, 1599, 1643, 1687, 1732, 1776, 1821, 1865, 1910, 1955, 2001, 2045, 2089, 2134, 2178, 2223, 2268, 2311, 2356, 2401, 2446, 2491, 2535, 2578, 2623, 2668, 2713, 2757, 2802, 2847, 2893, 2937, 2982, 3025, 3070, 3115, 3160, 3204, 3248, 3293, 3338, 3383, 3427, 3470, 3515] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "冥光斩" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [15, 440] + 无色消耗 = 0 + data0 = [0, 592, 653, 712, 772, 833, 893, 953, 1013, 1073, 1133, 1193, 1253, 1313, 1373, 1435, 1494, 1555, 1613, 1674, 1735, 1796, 1855, 1914, 1974, 2034, 2096, 2155, 2216, 2275, 2336, 2397, 2456, 2516, 2575, 2637, 2697, 2756, 2817, 2876, 2937, 2998, 3057, 3118, 3179, 3239, 3299, 3357, 3418, 3479, 3539, 3599, 3659, 3718, 3779, 3839, 3900, 3959, 4020, 4080, 4139, 4200, 4259, 4320, 4380, 4441, 4500, 4561, 4620, 4681, 4741] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "暗影三击剑" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 8 + MP = [10, 600] + 无色消耗 = 0 + data0 = [0, 664, 771, 877, 983, 1090, 1195, 1302, 1407, 1515, 1619, 1726, 1831, 1938, 2044, 2151, 2257, 2362, 2470, 2574, 2681, 2787, 2893, 2998, 3106, 3213, 3317, 3425, 3529, 3636, 3742, 3849, 3953, 4061, 4166, 4272, 4380, 4485, 4591, 4697, 4804, 4908, 5016, 5121, 5228, 5333, 5440, 5547, 5652, 5759, 5864, 5971, 6076, 6183, 6287, 6395, 6500, 6606, 6714, 6819, 6926, 7031, 7138, 7242, 7350, 7455, 7562, 7667, 7774, 7880, 7986] + hit0 = 1 + data1 = [0, 664, 771, 877, 983, 1090, 1195, 1302, 1407, 1515, 1619, 1726, 1831, 1938, 2044, 2151, 2257, 2362, 2470, 2574, 2681, 2787, 2893, 2998, 3106, 3213, 3317, 3425, 3529, 3636, 3742, 3849, 3953, 4061, 4166, 4272, 4380, 4485, 4591, 4697, 4804, 4908, 5016, 5121, 5228, 5333, 5440, 5547, 5652, 5759, 5864, 5971, 6076, 6183, 6287, 6395, 6500, 6606, 6714, 6819, 6926, 7031, 7138, 7242, 7350, 7455, 7562, 7667, 7774, 7880, 7986] + hit1 = 1 + data2 = [0, 1330, 1542, 1755, 1967, 2180, 2392, 2604, 2817, 3029, 3240, 3453, 3664, 3876, 4089, 4301, 4514, 4726, 4937, 5151, 5363, 5574, 5787, 5999, 6211, 6424, 6636, 6848, 7060, 7272, 7485, 7697, 7910, 8121, 8333, 8546, 8758, 8971, 9183, 9394, 9607, 9818, 10031, 10244, 10455, 10667, 10880, 11092, 11305, 11517, 11728, 11941, 12153, 12365, 12578, 12790, 13002, 13214, 13427, 13639, 13851, 14063, 14275, 14487, 14701, 14912, 15124, 15336, 15549, 15761, 15973] + hit2 = 1 + + +class 技能12(主动技能): + 类型 = '物理' + + 名称 = "突刺" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [10, 300] + 无色消耗 = 0 + data0 = [0, 222, 245, 268, 290, 313, 336, 358, 380, 403, 426, 449, 471, 494, 518, 540, 563, 585, 609, 630, 653, 675, 699, 721, 743, 766, 789, 811, 834, 857, 879, 901, 924, 947, 970, 992, 1015, 1038, 1061, 1083, 1106, 1130, 1151, 1173, 1196, 1220, 1242, 1265, 1286, 1310, 1332, 1355, 1377, 1400, 1422, 1445, 1467, 1491, 1513, 1536, 1558, 1582, 1604, 1627, 1648, 1672, 1694, 1717, 1739, 1763, 1785] + hit0 = 3 + data1 = [0, 155, 172, 188, 203, 219, 235, 251, 266, 282, 298, 314, 330, 346, 363, 378, 394, 410, 426, 441, 457, 473, 489, 505, 520, 536, 552, 568, 584, 600, 615, 631, 647, 663, 679, 694, 711, 727, 743, 758, 774, 791, 806, 821, 837, 854, 869, 886, 900, 917, 932, 949, 964, 980, 995, 1012, 1027, 1044, 1059, 1075, 1091, 1107, 1123, 1139, 1154, 1170, 1186, 1202, 1217, 1234, 1250] + hit1 = 0 + + TP上限 = 3 + TP成长 = -0.05 + + # 太/光加成 + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + if 武器类型 == '光剑' or '太刀': + self.hit0 = 0 + self.hit1 = 5 + self.hit1 = self.hit1 + self.TP等级 + else: + self.hit0 = 3 + self.hit1 = 0 + self.hit0 = self.hit0 + self.TP等级 + return super().等效百分比(**argv) + + +class 技能13(主动技能): + 类型 = '物理' + + 名称 = "暗劲爆发" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [10, 450] + 无色消耗 = 1 + data0 = [0, 478, 526, 575, 623, 672, 720, 768, 817, 865, 915, 963, 1012, 1060, 1109, 1157, 1206, 1254, 1302, 1351, 1399, 1448, 1496, 1545, 1593, 1642, 1690, 1738, 1787, 1835, 1885, 1933, 1982, 2030, 2079, 2127, 2176, 2224, 2272, 2321, 2370, 2419, 2466, 2515, 2563, 2612, 2660, 2708, 2757, 2805, 2854, 2903, 2952, 3000, 3049, 3097, 3146, 3194, 3242, 3291, 3339, 3389, 3437, 3486, 3533, 3582, 3630, 3678, 3727, 3775, 3824] + hit0 = 1 + data1 = [0, 527, 580, 633, 687, 741, 794, 848, 901, 953, 1009, 1062, 1115, 1169, 1222, 1276, 1330, 1383, 1436, 1489, 1544, 1596, 1649, 1703, 1756, 1810, 1865, 1918, 1971, 2025, 2079, 2132, 2185, 2238, 2291, 2345, 2399, 2452, 2505, 2559, 2613, 2667, 2721, 2773, 2826, 2881, 2934, 2987, 3041, 3094, 3148, 3201, 3255, 3307, 3360, 3415, 3468, 3522, 3576, 3630, 3683, 3737, 3790, 3842, 3898, 3950, 4003, 4056, 4110, 4164, 4217] + hit1 = 8 + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + if self.TP等级 > 0: + self.power1 = 1.2 + return super().等效百分比(**argv) + + +class 技能14(被动技能): + 名称 = '暗·短剑精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 3.9, 5.4, 6.9, 8.4, 9.9, 11.4, 12.9, 14.4, 15.9, 17.4, 18.9, 20.4, 21.9, 23.4, 24.9, 26.4, 27.9, 29.4, 30.9, 32.4, 33.9, 35.4, 36.9, 38.4, 39.9, 41.4, 42.9, 44.4, 45.9, 47.4, 48.9, 50.4, 51.9, 53.4, 54.9, 56.4, 57.9, 59.4, 60.9, 62.4] + data1 = [0, 3.9, 5.4, 6.9, 8.4, 9.9, 11.4, 12.9, 14.4, 15.9, 17.4, 18.9, 20.4, 21.9, 23.4, 24.9, 26.4, 27.9, 29.4, 30.9, 32.4, 33.9, 35.4, 36.9, 38.4, 39.9, 41.4, 42.9, 44.4, 45.9, 47.4, 48.9, 50.4, 51.9, 53.4, 54.9, 56.4, 57.9, 59.4, 60.9, 62.4] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '短剑': + return 1.0 + else: + return round(1 + self.data0[self.等级]/100, 5) + # return round(1.00 + self.等级 * 0.015, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '短剑': + return 1.0 + else: + return round(1 + self.data1[self.等级]/100, 5) + + +class 技能15(被动技能): + 名称 = '暗·太刀精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + data1 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '太刀': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + # return round(1.00 + self.等级 * 0.013, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '太刀': + return 1.0 + else: + return round(1 + self.data1[self.等级] / 100, 5) + + +class 技能16(被动技能): + 名称 = '暗·巨剑精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + data1 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '巨剑': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + # return round(1.00 + self.等级 * 0.012, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '巨剑': + return 1.0 + else: + return round(1 + self.data1[self.等级] / 100, 5) + + +class 技能17(被动技能): + 名称 = '暗·钝器精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + data1 = [0, 1, 2.5, 4, 5.5, 7, 8.5, 10, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40, 41.5, 43, 44.5, 46, 47.5, 49, 50.5, 52, 53.5, 55, 56.5, 58, 59.5] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '钝器': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + # return round(1.00 + self.等级 * 0.012, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '钝器': + return 1.0 + else: + return round(1 + self.data1[self.等级] / 100, 5) + + +class 技能18(被动技能): + 名称 = '暗·光剑精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 6.6, 8.1, 9.6, 11.1, 12.6, 14.1, 15.6, 17.1, 18.6, 20.1, 21.6, 23.1, 24.6, 26.1, 27.6, 29.1, 30.6, 32.1, 33.6, 35.1, 36.6, 38.1, 39.6, 41.1, 42.6, 44.1, 45.6, 47.1, 48.6, 50.1, 51.6, 53.1, 54.6, 56.1, 57.6, 59.1, 60.6, 62.1, 63.6, 65.1] + data1 = [0, 6.6, 8.1, 9.6, 11.1, 12.6, 14.1, 15.6, 17.1, 18.6, 20.1, 21.6, 23.1, 24.6, 26.1, 27.6, 29.1, 30.6, 32.1, 33.6, 35.1, 36.6, 38.1, 39.6, 41.1, 42.6, 44.1, 45.6, 47.1, 48.6, 50.1, 51.6, 53.1, 54.6, 56.1, 57.6, 59.1, 60.6, 62.1, 63.6, 65.1] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '光剑': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + # return round(1.02 + self.等级 * 0.013, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '光剑': + return 1.0 + else: + return round(1 + self.data1[self.等级] / 100, 5) + + +class 技能19(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法固伤' + + 名称 = "邪影·波动剑" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [14, 450] + 无色消耗 = 0 + data0 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + hit0 = 1 + data1 = [0, 972, 1070, 1169, 1268, 1366, 1465, 1563, 1661, 1761, 1859, 1958, 2056, 2154, 2253, 2352, 2451, 2549, 2647, 2746, 2845, 2944, 3042, 3140, 3239, 3338, 3436, 3535, 3633, 3732, 3831, 3929, 4027, 4126, 4224, 4324, 4422, 4520, 4618, 4716, 4817, 4915, 5013, 5111, 5210, 5310, 5408, 5506, 5604, 5703, 5802, 5901, 5999, 6097, 6196, 6295, 6393, 6492, 6590, 6689, 6788, 6886, 6984, 7084, 7182, 7281, 7379, 7477, 7576, 7675, 7774] + hit1 = 3 + data2 = [0, 194, 214, 234, 253, 273, 293, 313, 333, 352, 372, 392, 413, 432, 450, 471, 491, 511, 531, 551, 570, 590, 610, 630, 649, 669, 688, 708, 728, 747, 767, 788, 808, 827, 846, 866, 886, 906, 927, 944, 964, 985, 1006, 1026, 1046, 1064, 1084, 1104, 1124, 1144, 1163, 1183, 1202, 1222, 1243, 1262, 1282, 1302, 1321, 1341, 1360, 1380, 1400, 1421, 1441, 1458, 1480, 1500, 1520, 1540, 1559] + hit2 = 4 + + +class 技能20(主动技能): + 类型 = '物理' + 武器惩罚类型 = '物理百分比' + + 名称 = "暗魂之手" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [7, 145] + 无色消耗 = 0 + data0 = [0, 2433, 2680, 2927, 3173, 3420, 3667, 3914, 4161, 4408, 4653, 4901, 5147, 5395, 5642, 5889, 6136, 6383, 6629, 6875, 7123, 7369, 7617, 7863, 8111, 8356, 8604, 8850, 9098, 9344, 9591, 9837, 10084, 10333, 10579, 10827, 11073, 11321, 11567, 11813, 12060, 12307, 12554, 12801, 13048, 13295, 13541, 13788, 14035, 14282, 14528, 14776, 15021, 15269, 15515, 15763, 16010, 16257, 16504, 16749, 16997, 17243, 17491, 17737, 17985, 18231, 18479, 18724, 18972, 19219, 19466] + hit0 = 1 + data1 = [0, 1651, 1820, 1987, 2154, 2321, 2489, 2656, 2824, 2991, 3160, 3328, 3495, 3663, 3830, 3997, 4165, 4333, 4500, 4668, 4834, 5002, 5169, 5339, 5507, 5673, 5841, 6008, 6176, 6343, 6511, 6679, 6846, 7014, 7181, 7348, 7516, 7685, 7853, 8020, 8186, 8354, 8522, 8689, 8858, 9024, 9192, 9359, 9527, 9696, 9862, 10031, 10198, 10366, 10533, 10700, 10867, 11035, 11204, 11371, 11537, 11705, 11874, 12041, 12210, 12377, 12544, 12711, 12879, 13046, 13213] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能21(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "暗影鞭" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 8 + MP = [10, 450] + 无色消耗 = 0 + data0 = [0, 927, 1075, 1222, 1371, 1519, 1666, 1815, 1963, 2109, 2258, 2406, 2553, 2702, 2850, 2997, 3146, 3293, 3441, 3590, 3736, 3884, 4034, 4181, 4329, 4478, 4625, 4773, 4921, 5068, 5216, 5364, 5512, 5660, 5808, 5956, 6104, 6252, 6400, 6546, 6695, 6843, 6990, 7139, 7287, 7434, 7583, 7731, 7877, 8026, 8173, 8321, 8470, 8617, 8766, 8915, 9062, 9210, 9359, 9505, 9653, 9801, 9949, 10097, 10245, 10393, 10541, 10689, 10836, 10984, 11132] + hit0 = 1 + data1 = [0, 2164, 2509, 2853, 3200, 3545, 3891, 4234, 4580, 4925, 5271, 5614, 5960, 6305, 6651, 6996, 7339, 7685, 8031, 8377, 8720, 9066, 9411, 9757, 10101, 10446, 10791, 11137, 11481, 11826, 12171, 12518, 12863, 13208, 13552, 13898, 14242, 14588, 14932, 15278, 15622, 15968, 16313, 16658, 17002, 17349, 17694, 18040, 18384, 18729, 19074, 19420, 19764, 20109, 20454, 20799, 21144, 21488, 21835, 22180, 22526, 22869, 23215, 23560, 23906, 24249, 24595, 24940, 25286, 25630, 25975] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能22(主动技能): + 类型 = '物理' + + 名称 = "瞬影斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [50, 880] + 无色消耗 = 0 + data0 = [0, 1784, 1966, 2146, 2328, 2510, 2689, 2870, 3053, 3234, 3414, 3595, 3777, 3957, 4139, 4320, 4501, 4682, 4863, 5044, 5226, 5406, 5587, 5770, 5950, 6132, 6312, 6492, 6675, 6856, 7036, 7218, 7399, 7580, 7761, 7943, 8123, 8304, 8485, 8667, 8849, 9028, 9209, 9392, 9572, 9753, 9934, 10115, 10296, 10478, 10660, 10839, 11021, 11202, 11382, 11565, 11745, 11926, 12108, 12289, 12470, 12650, 12832, 13013, 13195, 13374, 13556, 13738, 13918, 14099, 14281] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能23(主动技能): + 类型 = '物理' + + 名称 = "灭魂封魔斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 30 + MP = [20, 500] + 无色消耗 = 1 + data0 = [0, 17568, 19351, 21134, 22916, 24699, 26480, 28264, 30046, 31829, 33611, 35395, 37175, 38958, 40740, 42523, 44306, 46089, 47870, 49653, 51435, 53219, 55001, 56784, 58565, 60347, 62130, 63913, 65695, 67478, 69258, 71042, 72824, 74607, 76389, 78172, 79954, 81737, 83518, 85301, 87083, 88867, 90648, 92431, 94213, 95996, 97779, 99562, 101343, 103126, 104908, 106692, 108474, 110255, 112037, 113820, 115603, 117386, 119168, 120951, 122732, 124516, 126298, 128081, 129864, 131643, 133426, 135209, 136991, 138775, 140556] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # def 等效百分比(self, **argv): + # char = argv.get("char", {}) + # from core.basic.equipment import get_global_data + # attack_type = get_global_data("attack_type", char.equVersion) + # 倍率 = 1.24 + # if '领主敌人' in attack_type: + # 倍率 = 1.97 + # if '精英敌人' in attack_type: + # 倍率 = 1.78 + # return super().等效百分比(**argv) * 倍率 + + +class 技能24(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "冥魂珠" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [20, 350] + 无色消耗 = 0 + data0 = [0, 432, 477, 521, 563, 608, 653, 696, 740, 784, 826, 873, 915, 958, 1003, 1047, 1089, 1135, 1179, 1223, 1266, 1310, 1355, 1399, 1443, 1486, 1530, 1576, 1618, 1662, 1705, 1748, 1792, 1837, 1881, 1924, 1968, 2012, 2058, 2100, 2144, 2189, 2232, 2276, 2321, 2364, 2409, 2452, 2495, 2541, 2585, 2626, 2671, 2715, 2759, 2803, 2847, 2891, 2934, 2979, 3023, 3067, 3110, 3154, 3198, 3244, 3286, 3330, 3375, 3418, 3462] + hit0 = 13 + data1 = [0, 984, 1084, 1185, 1284, 1384, 1483, 1584, 1684, 1783, 1882, 1984, 2083, 2184, 2282, 2383, 2482, 2584, 2680, 2781, 2881, 2981, 3080, 3181, 3280, 3381, 3481, 3580, 3680, 3781, 3880, 3980, 4080, 4180, 4280, 4381, 4479, 4580, 4680, 4780, 4879, 4980, 5079, 5180, 5280, 5378, 5478, 5579, 5678, 5778, 5877, 5978, 6078, 6179, 6277, 6378, 6477, 6578, 6677, 6777, 6878, 6978, 7078, 7177, 7278, 7377, 7478, 7577, 7677, 7777, 7878] + hit1 = 1 + TP成长 = 0 + TP上限 = 7 + + def 等效百分比(self, **argv): + self.hit0 = 13 + 3 * self.TP等级 + return super().等效百分比(**argv) + + +class 技能25(主动技能): + 类型 = '物理' + + 名称 = "暗影升龙击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [15, 449] + 无色消耗 = 0 + data0 = [0, 1099, 1211, 1322, 1435, 1545, 1656, 1768, 1880, 1992, 2103, 2215, 2326, 2439, 2550, 2660, 2773, 2884, 2996, 3108, 3219, 3330, 3443, 3553, 3665, 3777, 3888, 4000, 4112, 4224, 4333, 4446, 4558, 4669, 4782, 4892, 5004, 5116, 5228, 5338, 5450, 5562, 5673, 5786, 5896, 6008, 6121, 6231, 6343, 6454, 6566, 6677, 6790, 6901, 7011, 7124, 7235, 7347, 7459, 7570, 7681, 7794, 7906, 8016, 8128, 8239, 8351, 8463, 8574, 8686, 8797] + hit0 = 1 + data1 = [0, 1654, 1822, 1990, 2157, 2325, 2493, 2660, 2830, 2997, 3164, 3332, 3499, 3669, 3836, 4003, 4172, 4340, 4508, 4675, 4842, 5010, 5179, 5346, 5515, 5682, 5849, 6018, 6185, 6353, 6521, 6690, 6857, 7025, 7192, 7359, 7529, 7696, 7863, 8032, 8199, 8369, 8535, 8702, 8871, 9038, 9207, 9375, 9542, 9709, 9878, 10046, 10214, 10381, 10549, 10718, 10886, 11052, 11220, 11388, 11556, 11724, 11892, 12059, 12229, 12395, 12564, 12732, 12900, 13068, 13236] + hit1 = 1 + data2 = [0, 1186, 1304, 1424, 1545, 1665, 1786, 1906, 2027, 2146, 2266, 2388, 2507, 2628, 2747, 2868, 2987, 3108, 3229, 3348, 3469, 3589, 3708, 3830, 3950, 4071, 4190, 4310, 4430, 4551, 4671, 4791, 4912, 5031, 5152, 5273, 5393, 5513, 5633, 5754, 5872, 5993, 6114, 6234, 6354, 6474, 6595, 6716, 6835, 6956, 7076, 7196, 7315, 7436, 7557, 7676, 7797, 7917, 8037, 8158, 8278, 8399, 8518, 8639, 8759, 8880, 9000, 9120, 9240, 9360, 9481] + hit2 = 1 + data3 = [0, 792, 874, 953, 1033, 1115, 1194, 1275, 1356, 1437, 1516, 1597, 1678, 1758, 1838, 1920, 2000, 2080, 2159, 2240, 2321, 2401, 2483, 2563, 2644, 2722, 2804, 2884, 2964, 3046, 3126, 3207, 3286, 3367, 3447, 3528, 3609, 3690, 3769, 3851, 3930, 4010, 4091, 4172, 4253, 4332, 4414, 4493, 4574, 4655, 4736, 4815, 4895, 4977, 5056, 5137, 5218, 5298, 5378, 5459, 5540, 5620, 5700, 5780, 5861, 5941, 6022, 6102, 6182, 6263, 6343] + hit3 = 1 + + +class 技能26(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "冥魂之陨" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [40, 886] + 无色消耗 = 1 + data0 = [0, 368, 407, 444, 481, 519, 557, 593, 632, 668, 707, 744, 782, 819, 855, 895, 930, 969, 1006, 1045, 1080, 1120, 1156, 1195, 1231, 1269, 1307, 1344, 1382, 1418, 1457, 1493, 1531, 1568, 1606, 1643, 1681, 1719, 1757, 1794, 1831, 1869, 1907, 1943, 1981, 2019, 2056, 2093, 2130, 2169, 2206, 2244, 2281, 2319, 2357, 2394, 2431, 2470, 2507, 2542, 2581, 2618, 2657, 2693, 2732, 2769, 2806, 2844, 2881, 2919, 2957] + hit0 = 24 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.24 + self.CDR *= 0.9 + + +class 技能27(主动技能): + 类型 = '物理' + + 名称 = "破魂之刃" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [15, 540] + 无色消耗 = 1 + data0 = [0, 1513, 1666, 1820, 1973, 2127, 2281, 2434, 2587, 2741, 2895, 3049, 3203, 3356, 3509, 3662, 3816, 3971, 4124, 4278, 4432, 4585, 4739, 4893, 5046, 5200, 5353, 5506, 5659, 5814, 5967, 6120, 6275, 6428, 6581, 6737, 6890, 7043, 7197, 7350, 7503, 7659, 7812, 7965, 8118, 8272, 8425, 8579, 8733, 8886, 9039, 9193, 9346, 9501, 9655, 9808, 9961, 10114, 10268, 10421, 10575, 10730, 10883, 11036, 11191, 11344, 11498, 11652, 11805, 11959, 12112] + hit0 = 1 + data1 = [0, 7651, 8428, 9204, 9981, 10758, 11533, 12311, 13086, 13862, 14639, 15415, 16191, 16969, 17744, 18522, 19297, 20072, 20850, 21626, 22402, 23179, 23954, 24732, 25508, 26284, 27061, 27837, 28613, 29390, 30165, 30943, 31719, 32494, 33272, 34046, 34824, 35600, 36376, 37152, 37929, 38705, 39482, 40258, 41034, 41810, 42587, 43363, 44140, 44915, 45693, 46469, 47246, 48021, 48797, 49574, 50351, 51126, 51903, 52680, 53457, 54232, 55008, 55784, 56562, 57337, 58114, 58890, 59668, 60444, 61221] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能28(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "凝魂波动阵" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [45, 1000] + 无色消耗 = 1 + data0 = [0, 883, 972, 1064, 1152, 1243, 1332, 1422, 1511, 1601, 1690, 1780, 1869, 1961, 2049, 2139, 2228, 2319, 2407, 2498, 2588, 2677, 2768, 2857, 2946, 3035, 3126, 3215, 3305, 3394, 3486, 3574, 3663, 3753, 3842, 3933, 4023, 4111, 4203, 4292, 4380, 4470, 4560, 4651, 4740, 4829, 4920, 5010, 5099, 5189, 5277, 5367, 5458, 5548, 5637, 5727, 5817, 5906, 5995, 6085, 6174, 6265, 6354, 6444, 6533, 6625, 6713, 6802, 6892, 6983, 7071] + hit0 = 1 + data1 = [0, 883, 972, 1064, 1152, 1243, 1332, 1422, 1511, 1601, 1690, 1780, 1869, 1961, 2049, 2139, 2228, 2319, 2407, 2498, 2588, 2677, 2768, 2857, 2946, 3035, 3126, 3215, 3305, 3394, 3486, 3574, 3663, 3753, 3842, 3933, 4023, 4111, 4203, 4292, 4380, 4470, 4560, 4651, 4740, 4829, 4920, 5010, 5099, 5189, 5277, 5367, 5458, 5548, 5637, 5727, 5817, 5906, 5995, 6085, 6174, 6265, 6354, 6444, 6533, 6625, 6713, 6802, 6892, 6983, 7071] + hit1 = 7 + data2 = [0, 1777, 1958, 2137, 2317, 2498, 2678, 2859, 3038, 3219, 3399, 3579, 3761, 3940, 4121, 4301, 4482, 4662, 4841, 5022, 5202, 5383, 5563, 5743, 5923, 6103, 6286, 6465, 6646, 6825, 7006, 7186, 7366, 7546, 7726, 7907, 8087, 8269, 8447, 8629, 8809, 8990, 9170, 9350, 9530, 9710, 9890, 10071, 10250, 10431, 10611, 10792, 10973, 11152, 11334, 11513, 11695, 11874, 12054, 12234, 12414, 12595, 12775, 12955, 13135, 13317, 13496, 13678, 13857, 14038, 14218] + hit2 = 1 + data3 = [0, 348, 384, 418, 456, 489, 526, 560, 597, 631, 666, 702, 738, 773, 808, 844, 880, 916, 949, 986, 1021, 1057, 1092, 1126, 1163, 1198, 1233, 1268, 1304, 1340, 1376, 1409, 1447, 1481, 1518, 1552, 1587, 1623, 1658, 1693, 1729, 1764, 1800, 1835, 1871, 1906, 1941, 1977, 2013, 2047, 2083, 2118, 2155, 2189, 2224, 2260, 2296, 2331, 2365, 2401, 2437, 2473, 2506, 2543, 2579, 2615, 2650, 2684, 2721, 2756, 2792] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能29(主动技能): + 类型 = '物理' + + 名称 = "破魂斩" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [25, 600] + 无色消耗 = 1 + data0 = [0, 7267, 8005, 8744, 9481, 10219, 10955, 11693, 12431, 13168, 13905, 14643, 15380, 16118, 16856, 17591, 18330, 19068, 19806, 20542, 21279, 22017, 22756, 23492, 24229, 24967, 25704, 26442, 27179, 27916, 28653, 29392, 30129, 30867, 31603, 32342, 33079, 33816, 34553, 35292, 36028, 36767, 37502, 38241, 38978, 39717, 40453, 41190, 41928, 42665, 43404, 44139, 44878, 45615, 46353, 47089, 47827, 48564, 49303, 50040, 50778, 51515, 52252, 52990, 53728, 54464, 55202, 55939, 56677, 57414, 58150] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能30(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "冥炎破空斩" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [100, 1260] + 无色消耗 = 2 + data0 = [0, 2017, 2219, 2427, 2631, 2834, 3039, 3245, 3448, 3653, 3859, 4062, 4267, 4473, 4676, 4881, 5085, 5290, 5493, 5701, 5903, 6108, 6316, 6518, 6724, 6926, 7130, 7336, 7540, 7745, 7949, 8155, 8360, 8564, 8766, 8973, 9178, 9381, 9589, 9792, 9998, 10202, 10406, 10609, 10815, 11020, 11224, 11429, 11634, 11838, 12042, 12248, 12453, 12656, 12861, 13064, 13271, 13474, 13680, 13885, 14088, 14294, 14497, 14700, 14907, 15111, 15315, 15520, 15726, 15929, 16135] + hit0 = 2 + data1 = [0, 3031, 3338, 3646, 3954, 4262, 4568, 4874, 5182, 5491, 5797, 6107, 6414, 6720, 7031, 7336, 7644, 7951, 8258, 8565, 8875, 9181, 9490, 9795, 10103, 10412, 10719, 11028, 11336, 11641, 11949, 12256, 12563, 12871, 13179, 13487, 13794, 14103, 14406, 14717, 15024, 15331, 15639, 15945, 16255, 16562, 16868, 17178, 17485, 17791, 18102, 18406, 18715, 19020, 19329, 19636, 19945, 20252, 20561, 20869, 21174, 21483, 21789, 22098, 22405, 22712, 23020, 23329, 23633, 23944, 24250] + hit1 = 2 + data2 = [0, 6061, 6676, 7292, 7908, 8522, 9137, 9754, 10367, 10981, 11598, 12215, 12828, 13443, 14057, 14671, 15286, 15903, 16519, 17131, 17748, 18364, 18979, 19594, 20209, 20824, 21437, 22053, 22669, 23285, 23898, 24514, 25128, 25742, 26358, 26975, 27591, 28203, 28819, 29435, 30048, 30665, 31281, 31894, 32508, 33123, 33741, 34356, 34968, 35584, 36200, 36813, 37431, 38046, 38662, 39273, 39890, 40506, 41122, 41734, 42349, 42966, 43579, 44194, 44811, 45429, 46039, 46656, 47272, 47886, 48500] + hit2 = 2 + data3 = [0, 203, 223, 242, 264, 286, 305, 325, 346, 366, 388, 408, 428, 447, 470, 491, 510, 532, 553, 570, 593, 615, 633, 656, 676, 696, 716, 738, 756, 779, 801, 820, 839, 860, 882, 901, 924, 942, 962, 985, 1005, 1025, 1046, 1066, 1088, 1109, 1127, 1149, 1171, 1191, 1211, 1233, 1251, 1274, 1296, 1314, 1334, 1355, 1376, 1396, 1416, 1436, 1459, 1478, 1499, 1519, 1540, 1561, 1582, 1601, 1623] + hit3 = 8 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4 + self.hit1 = 4 + self.power0 = 0.5 + self.power1 = 0.5 + self.power2 = 1.34 + self.power3 = 3.99 + + +class 技能31(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "禁魂斩" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [20, 800] + 无色消耗 = 1 + data0 = [0, 9234, 10173, 11111, 12047, 12984, 13920, 14859, 15796, 16732, 17669, 18606, 19544, 20481, 21417, 22355, 23291, 24230, 25166, 26103, 27041, 27976, 28914, 29851, 30788, 31725, 32661, 33599, 34537, 35473, 36410, 37346, 38285, 39222, 40158, 41095, 42032, 42971, 43907, 44844, 45781, 46718, 47656, 48593, 49528, 50467, 51402, 52340, 53277, 54214, 55151, 56087, 57025, 57963, 58899, 59836, 60772, 61711, 62649, 63584, 64522, 65458, 66397, 67333, 68270, 69207, 70144, 71082, 72019, 72954, 73893] + hit0 = 1 + TP成长 = 0 + TP上限 = 5 + + def TP加成(self): + if self.TP等级 <= 1: + return 1 + else: + return 1 + self.TP成长 * (self.TP等级-1) + + +class 技能32(主动技能): + 名称 = "魔狱裂魂斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [40, 1000] + 无色消耗 = 2 + data0 = [0, 4749, 5231, 5714, 6195, 6678, 7159, 7638, 8122, 8603, 9085, 9566, 10048, 10531, 11015, 11497, 11979, 12460, 12941, 13423, 13907, 14387, 14869, 15350, 15831, 16315, 16797, 17277, 17758, 18241, 18724, 19206, 19688, 20171, 20652, 21131, 21615, 22099, 22582, 23061, 23543, 24023, 24505, 24989, 25470, 25950, 26436, 26917, 27399, 27879, 28362, 28845, 29324, 29805, 30289, 30771, 31252, 31734, 32219, 32697, 33178, 33664, 34145, 34628, 35110, 35591, 36071, 36554, 37036, 37517, 37997] + hit0 = 1 + data1 = [0, 2912, 3207, 3502, 3798, 4094, 4387, 4685, 4980, 5275, 5571, 5867, 6163, 6456, 6753, 7048, 7342, 7638, 7935, 8225, 8523, 8819, 9116, 9410, 9705, 10002, 10295, 10592, 10886, 11181, 11480, 11775, 12070, 12365, 12660, 12957, 13251, 13546, 13843, 14139, 14432, 14728, 15024, 15320, 15615, 15910, 16206, 16501, 16797, 17092, 17385, 17683, 17977, 18272, 18567, 18864, 19159, 19454, 19750, 20046, 20340, 20635, 20931, 21226, 21521, 21818, 22116, 22411, 22704, 23001, 23295] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能33(主动技能): + 类型 = '魔法' + 武器惩罚类型 = '魔法百分比' + + 名称 = "黑暗明王阵" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [70, 1120] + 无色消耗 = 2 + data0 = [0, 3109, 3425, 3739, 4055, 4363, 4687, 4997, 5310, 5624, 5946, 6259, 6575, 6891, 7202, 7521, 7835, 8154, 8463, 8785, 9095, 9412, 9732, 10046, 10362, 10667, 10992, 11303, 11617, 11932, 12247, 12564, 12880, 13196, 13506, 13830, 14138, 14457, 14767, 15090, 15406, 15714, 16036, 16345, 16660, 16977, 17293, 17604, 17925, 18235, 18554, 18870, 19184, 19500, 19818, 20126, 20444, 20759, 21078, 21391, 21707, 22024, 22331, 22648, 22963, 23282, 23597, 23911, 24228, 24542, 24858] + hit0 = 4 + data1 = [0, 7212, 7946, 8669, 9398, 10162, 10857, 11619, 12355, 13079, 13800, 14528, 15271, 15987, 16736, 17459, 18195, 18918, 19669, 20386, 21127, 21860, 22573, 23308, 24038, 24796, 25496, 26255, 26986, 27718, 28444, 29174, 29904, 30634, 31383, 32086, 32839, 33568, 34318, 35020, 35751, 36503, 37211, 37972, 38693, 39429, 40148, 40897, 41609, 42356, 43088, 43811, 44546, 45272, 46001, 46756, 47480, 48211, 48930, 49665, 50395, 51120, 51884, 52607, 53338, 54065, 54798, 55527, 56249, 56989, 57726] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能34(主动技能): + 名称 = "魔影剑舞" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [50, 1080] + 无色消耗 = 2 + data0 = [0, 1144, 1261, 1370, 1488, 1604, 1723, 1838, 1954, 2070, 2185, 2298, 2415, 2533, 2646, 2762, 2879, 2994, 3113, 3228, 3343, 3458, 3575, 3690, 3806, 3925, 4039, 4153, 4270, 4384, 4501, 4617, 4733, 4849, 4961, 5083, 5196, 5310, 5429, 5546, 5658, 5776, 5892, 6005, 6124, 6240, 6355, 6471, 6586, 6703, 6815, 6929, 7047, 7163, 7276, 7390, 7508, 7622, 7739, 7857, 7972, 8086, 8200, 8315, 8432, 8548, 8663, 8780, 8895, 9008, 9123] + hit0 = 13 + data1 = [0, 2740, 3014, 3301, 3575, 3857, 4128, 4408, 4692, 4964, 5233, 5525, 5801, 6076, 6360, 6633, 6908, 7180, 7465, 7742, 8019, 8311, 8577, 8851, 9134, 9416, 9685, 9967, 10244, 10529, 10803, 11076, 11361, 11634, 11917, 12187, 12467, 12751, 13023, 13298, 13586, 13861, 14139, 14420, 14694, 14974, 15246, 15530, 15805, 16077, 16367, 16659, 16932, 17215, 17496, 17773, 18054, 18335, 18608, 18888, 19172, 19443, 19725, 20006, 20282, 20564, 20844, 21118, 21402, 21683, 21959] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 0.5 + self.hit1 = 1 + self.power1 = 1*0.19+1*1.3+6*0.91+1*1.63 + + +class 技能35(被动技能): + 名称 = '时间停滞' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 连击倍率 = [1.0,1.3,1.5,1.8,2.0] + + def 加成倍率(self, 武器类型): + if self.等级 <= 15: + return round(1.045 + 0.01 * self.等级, 5) + else: + return round(0.97 + 0.015 * self.等级, 5) + + +class 技能36(主动技能): + 名称 = "幽魂剑" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 45 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 324, 377, 428, 480, 532, 585, 635, 688, 739, 790, 843, 895, 945, 997, 1048, 1102, 1154, 1205, 1257, 1312, 1361, 1411, 1464, 1515, 1567, 1619, 1671, 1724, 1775, 1828, 1879, 1929, 1983, 2036, 2087, 2137, 2190, 2242, 2296, 2345, 2396, 2451, 2500, 2554, 2606, 2658, 2710, 2762, 2809, 2865] + hit0 = 33 + data1 = [0, 10728, 12438, 14148, 15859, 17568, 19280, 20992, 22701, 24410, 26120, 27831, 29540, 31252, 32962, 34671, 36384, 38093, 39806, 41515, 43224, 44937, 46646, 48356, 50064, 51777, 53486, 55196, 56909, 58617, 60327, 62040, 63749, 65458, 67170, 68879, 70589, 72301, 74011, 75722, 77432, 79142, 80851, 82565, 84274, 85983, 87695, 89404, 91114, 92826, 94535] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 6 + self.power1 = 2.27 + self.CDR *= 0.89 + + +class 技能37(主动技能): + 名称 = "暗炎冥魂波" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 4800, 5566, 6332, 7098, 7864, 8628, 9395, 10162, 10923, 11690, 12456, 13221, 13986, 14753, 15518, 16283, 17050, 17813, 18581, 19347, 20111, 20877, 21642, 22406, 23172, 23938, 24704, 25469, 26235, 26998, 27766, 28531, 29296, 30063, 30827, 31593, 32358, 33122, 33889, 34655, 35420, 36185, 36952, 37718, 38481, 39248, 40011, 40779, 41544, 42308] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能38(主动技能): + 名称 = "斩龙破" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 2748, 3027, 3309, 3585, 3864, 4143, 4421, 4702, 4979, 5260, 5538, 5817, 6097, 6377, 6653, 6931, 7210, 7489, 7770, 8047, 8327, 8606, 8884, 9165, 9445, 9722, 10000, 10278, 10559, 10838, 11114, 11395, 11674, 11954, 12232, 12511, 12790, 13068, 13348, 13627, 13906, 14183, 14462, 14740, 15022, 15301, 15579, 15857, 16138, 16416] + hit0 = 1 + data1 = [0, 2748, 3027, 3309, 3585, 3864, 4143, 4421, 4702, 4979, 5260, 5538, 5817, 6097, 6377, 6653, 6931, 7210, 7489, 7770, 8047, 8327, 8606, 8884, 9165, 9445, 9722, 10000, 10278, 10559, 10838, 11114, 11395, 11674, 11954, 12232, 12511, 12790, 13068, 13348, 13627, 13906, 14183, 14462, 14740, 15022, 15301, 15579, 15857, 16138, 16416] + hit1 = 1 + data2 = [0, 25049, 27590, 30130, 32674, 35214, 37755, 40297, 42836, 45378, 47920, 50459, 53003, 55542, 58085, 60627, 63167, 65708, 68250, 70790, 73333, 75873, 78414, 80956, 83498, 86037, 88581, 91122, 93661, 96205, 98744, 101286, 103829, 106369, 108911, 111452, 113992, 116535, 119075, 121617, 124158, 126700, 129241, 131783, 134323, 136863, 139405, 141945, 144486, 147029, 149569] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 6 + self.power2 = 0.29 + self.CDR *= 0.9 + + +class 技能39(被动技能): + 名称 = '次元融合' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['无'] + 自定义描述 = 1 + + def 技能描述(self, 武器类型): + return '力量/智力+' + str(int(self.力智倍率() * 100 - 100)) + '%' + + def 力智倍率(self): + return round(1 + 0.02 * self.等级, 5) + + +class 技能40(被动技能): + 名称 = '自我觉醒' + 所在等级 = 75 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['所有'] + + # 物理攻击力面板 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.01 + self.等级 * 0.1, 5) + + # 魔法攻击力面板 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.01 + self.等级 * 0.1, 5) + + +class 技能41(主动技能): + 武器惩罚类型 = '魔法固伤' + + 名称 = "邪影升龙斩" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 68488, 75436, 82383, 89333, 96282, 103230, 110178, 117128, 124074, 131021, 137971, 144917, 151868, 158814, 165762, 172709, 179659, 186607, 193557, 200503, 207453, 214400, 221348, 228295, 235244, 242193, 249142, 256088, 263039, 269986, 276934, 283881, 290833, 297780, 304728, 311673, 318621, 325570, 332517, 339466, 346417, 353364, 360312, 367260, 374207, 381158, 388104, 395053, 402001, 408949] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能42(主动技能): + 名称 = "超时空碎裂" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 3858, 4751, 5648, 6541, 7436, 8330, 9225, 10117, 11016, 11910, 12804, 13699, 14591, 15486, 16381, 17276, 18168, 19063, 19955, 20852, 21750, 22641, 23536, 24432, 25327, 26219, 27114, 28011, 28903, 29798, 30691, 31585, 32482, 33375, 34270, 35168, 36062, 36954, 37848, 38743, 39636, 40532, 41425, 42324, 43216, 44111, 45004, 45900, 46794, 47687] + hit0 = 19 + data1 = [0, 73292, 90284, 107282, 124276, 141273, 158267, 175263, 192256, 209252, 226248, 243248, 260238, 277235, 294234, 311225, 328220, 345216, 362208, 379205, 396203, 413196, 430192, 447189, 464185, 481180, 498173, 515172, 532164, 549161, 566154, 583149, 600144, 617141, 634139, 651131, 668129, 685125, 702118, 719112, 736106, 753102, 770100, 787094, 804088, 821085, 838080, 855077, 872071, 889068, 906060] + hit1 = 1 + + +class 技能43(主动技能): + 名称 = "暗黑溯回斩" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 7698, 8480, 9259, 10040, 10822, 11604, 12383, 13164, 13946, 14727, 15507, 16288, 17069, 17851, 18631, 19413, 20194, 20975, 21755, 22536, 23316, 24099, 24878, 25659, 26440, 27224, 28004, 28783, 29563, 30345, 31127, 31907, 32687, 33468, 34251, 35032, 35813, 36593, 37374, 38156, 38936, 39717, 40497, 41277, 42061, 42841, 43623, 44402, 45184, 45964] + hit0 = 8 + data1 = [0, 61583, 67831, 74079, 80327, 86573, 92820, 99070, 105316, 111564, 117810, 124058, 130306, 136555, 142802, 149050, 155297, 161546, 167793, 174042, 180289, 186536, 192784, 199031, 205277, 211526, 217774, 224023, 230269, 236518, 242765, 249013, 255262, 261508, 267754, 274002, 280250, 286498, 292747, 298992, 305241, 311487, 317737, 323984, 330233, 336478, 342726, 348973, 355222, 361469, 367716] + hit1 = 1 + + +class 技能44(被动技能): + 名称 = '时空主宰' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能45(主动技能): + 名称 = "时之止境:幻灭" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 465216, 573092, 680969, 788844, 896722, 1004596, 1112474, 1220350, 1328227, 1436101, 1543978, 1651854, 1759731, 1867605, 1975483, 2083359, 2191235, 2299112, 2406988, 2514866, 2622741, 2730618, 2838493, 2946370, 3054246, 3162123, 3269997, 3377876, 3485752, 3593628, 3701503, 3809379, 3917255, 4025132, 4133008, 4240884, 4348759, 4456636, 4564514, 4672389, 4780266, 4888142, 4996016, 5103893, 5211770, 5319646, 5427526, 5535397, 5643274, 5751150] + hit0 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'dark_knight' + self.名称 = '极诣·黑暗武士' + self.角色 = '鬼剑士(男)' + self.角色类型 = '输出' + self.职业 = '黑暗武士' + self.武器选项 = ['光剑', '太刀', '巨剑', '短剑', '钝器'] + self.输出类型选项 = ['物理百分比', '魔法百分比'] + self.防具精通属性 = ['力量', '智力'] + self.类型 = '魔法百分比' # 默认 + self.武器类型 = '短剑' # 默认 + self.防具类型 = '轻甲' # 默认 + self.排列 = ['']*30 + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.54 + + super().__init__(equVersion) + + # def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20): + # return super().set_skill_info(info, rune_start_lv=15) + + def hotkey_set(self, setinfo): + self.hotkey = setinfo[:6] + self.排列 = setinfo[6:] + + def 职业特殊设置(self): + + for index in range(min(30, len(self.排列))): + name = self.排列[index] + if index not in ['', None]: + skill = self.get_skill_by_name(name) + # 排列内技能 无法手搓 + skill.手搓 = False + skill.手搓指令数 = 0 + + def 装备基础(self): + if self.类型 == '物理百分比': + self.防具类型 = '轻甲' + self.防具精通属性 = ['力量'] + if self.类型 == '魔法百分比': + self.防具类型 = '布甲' + self.防具精通属性 = ['智力'] + super().装备基础() + + def 被动力智系数(self) -> float: + return self.get_skill_by_name('次元融合').力智倍率() - 1 + + def 基础面板力量(self) -> float: + return max(super().基础面板力量(), super().基础面板智力()) + + def 基础面板智力(self) -> float: + return self.基础面板力量() + + def 伤害计算(self): + data = super().伤害计算() + data = self.排列CD计算(data) + return data + + def 排列CD计算(self, data): + for i in range(0, 6): + skills = [] + for j in range(0, 5): + if j*6+i < len(self.排列) and self.排列[j*6+i] not in [None, '']: + skills.append(self.排列[j*6+i]) + if len(skills) > 0: + total_cd = 0 + total_unsave = 0 + for skill in skills: + temp = data['skills'].get(skill, None) + if temp is not None: + total_cd += temp['cd'] * (temp['cd_unsave']) + total_unsave += temp['cd_unsave'] + # 排列内大于1个开始计算平均CD + if total_unsave > 1: + avg_cd = round(total_cd / (total_unsave) * 1.2, 2) + for skill in skills: + temp = data['skills'].get(skill, None) + if temp is not None: + data['skills'][skill]['cd'] = avg_cd + for index in range(0, len(data['CDR'])): + item = data['CDR'][index] + skill = item[0] + data['CDR'][index] = (skill, round( + 1-data['skills'][skill].get('cd', 0)/data['skills'][skill].get('cd_o', 0), 4), data['skills'][skill].get('cd', 0)) + return data + + def 伤害指数计算(self): + if self.武器类型 in ['光剑', '钝器', '巨剑']: + self.类型 = '物理百分比' + else: + self.类型 = '魔法百分比' + temp = self.类型 + super().伤害指数计算() + self.类型 = '物理百分比' + self.伤害指数_物理 = self.伤害指数 + super().伤害指数计算() + self.类型 = '魔法百分比' + super().伤害指数计算() + self.伤害指数_魔法 = self.伤害指数 + self.类型 = temp + + def 伤害计算技能特殊处理(self, skill: 技能): + if skill.类型 == "物理": + self.伤害指数 = self.伤害指数_物理 + if skill.类型 == "魔法": + self.伤害指数 = self.伤害指数_魔法 + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info, clothes_pants=[ + '暗·光剑精通', '暗·短剑精通', '暗·太刀精通', '暗·钝器精通', '暗·巨剑精通',]) + info['rune'].append("幽魂剑") + + def getskillinfos(self): + info = super().getskillinfos() + skill = self.get_skill_by_name("次元融合") + for i in info: + i["skills_passive"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": round((skill.力智倍率()-1)*100, 0), + "type": "倍率", + "remark": "力智" + }) + return info + + def 设置觉醒技能(self): + self.觉醒技能 = [] + for i in self.技能栏: + if i.是否有伤害 == 1 and i.所在等级 in [85,100]: + self.觉醒技能.append(i.名称) \ No newline at end of file diff --git a/api/core/characters/dark_templar.py b/api/core/characters/dark_templar.py new file mode 100644 index 00000000..6e176fa4 --- /dev/null +++ b/api/core/characters/dark_templar.py @@ -0,0 +1,539 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 学习间隔 = 1 + 关联技能 = ['影刃'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "暗影之矛" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 300] + 无色消耗 = 0 + data0 = [0, 518, 572, 625, 676, 729, 783, 836, 888, 944, 993, 1047, 1099, 1151, 1205, 1258, 1310, 1364, 1417, 1469, 1520, 1573, 1627, 1680, 1732, 1787, 1839, 1891, 1942, 1997, 2050, 2101, 2155, 2207, 2261, 2315, 2364, 2416, 2472, 2525, 2577, 2631, 2683, 2736, 2788, 2841, 2893, 2945, 2998, 3053, 3105, 3158, 3213, 3262, 3316, 3368, 3421, 3474, 3527, 3579, 3631, 3687, 3739, 3788, 3843, 3897, 3949, 4003, 4056, 4107, 4160] + hit0 = 8 + TP成长 = 0.18 + TP上限 = 1 + + +class 技能2(被动技能): + 名称 = '乌希尔的诅咒' + 所在等级 = 15 + 等级上限 = 11 + 基础等级 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = "暗影缠袭" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [40, 350] + 无色消耗 = 0 + data0 = [0, 144, 161, 176, 188, 204, 218, 234, 248, 264, 278, 294, 306, 321, 336, 350, 365, 381, 397, 408, 424, 441, 455, 469, 485, 498, 514, 529, 542, 559, 572, 586, 603, 615, 632, 646, 660, 677, 692, 706, 719, 735, 751, 763, 779, 793, 810, 823, 837, 853, 868, 881, 897, 912, 928, 942, 957, 972, 987, 1001, 1012, 1029, 1046, 1058, 1075, 1090, 1104, 1118, 1132, 1149, 1163] + hit0 = 6 + data1 = [0, 1407, 1549, 1690, 1833, 1976, 2120, 2262, 2404, 2548, 2691, 2833, 2975, 3117, 3262, 3403, 3547, 3688, 3834, 3975, 4116, 4260, 4405, 4545, 4688, 4829, 4973, 5116, 5258, 5402, 5544, 5690, 5830, 5972, 6115, 6260, 6402, 6544, 6686, 6830, 6971, 7115, 7255, 7398, 7542, 7684, 7829, 7968, 8113, 8256, 8399, 8541, 8684, 8825, 8970, 9111, 9255, 9399, 9540, 9683, 9825, 9969, 10112, 10253, 10395, 10539, 10683, 10828, 10966, 11110, 11252] + # 受怪物体型大小影响,此处以白沙袋为对象 + hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +# 就是平x,只是受这个被动有额外加成 +class 技能4(主动技能): + 名称 = '影刃' + 是否主动 = 0 + 所在等级 = 15 + 等级上限 = 3 + 学习间隔 = 2 + 等级精通 = 1 + data0 = [int(i*1.051) for i in [0, 876, 876, 876]] + hit0 = 1 + CD = 0.5 + TP成长 = 0.10 + TP上限 = 5 + 关联技能 = ['影刃'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.20 + 0.05 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "暗影漩涡" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [15, 330] + 无色消耗 = 0 + data0 = [0, 2414, 2660, 2903, 3149, 3393, 3637, 3882, 4128, 4372, 4618, 4863, 5106, 5352, 5598, 5843, 6088, 6331, 6576, 6820, 7064, 7311, 7556, 7800, 8044, 8292, 8535, 8780, 9025, 9269, 9514, 9759, 10005, 10249, 10494, 10737, 10984, 11228, 11474, 11718, 11963, 12208, 12452, 12698, 12941, 13188, 13433, 13678, 13921, 14166, 14411, 14655, 14902, 15145, 15391, 15634, 15880, 16127, 16372, 16616, 16861, 17106, 17352, 17594, 17841, 18084, 18330, 18574, 18819, 19065, 19310] + hit0 = 1 + data1 = [0, 484, 531, 580, 627, 679, 727, 776, 824, 875, 920, 972, 1021, 1069, 1117, 1169, 1216, 1265, 1314, 1362, 1411, 1463, 1509, 1558, 1606, 1658, 1705, 1757, 1804, 1851, 1900, 1951, 1998, 2049, 2097, 2143, 2194, 2244, 2293, 2342, 2393, 2440, 2491, 2539, 2588, 2637, 2686, 2733, 2784, 2831, 2882, 2929, 2980, 3026, 3076, 3126, 3175, 3223, 3272, 3319, 3372, 3419, 3469, 3516, 3568, 3616, 3664, 3713, 3761, 3809, 3863] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "暗影禁锢" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [60, 390] + 无色消耗 = 0 + data0 = [0, 6637, 7310, 7984, 8659, 9331, 10005, 10681, 11350, 12025, 12699, 13371, 14046, 14721, 15391, 16064, 16740, 17411, 18085, 18761, 19433, 20109, 20780, 21453, 22128, 22801, 23472, 24149, 24822, 25492, 26168, 26843, 27515, 28185, 28862, 29536, 30207, 30885, 31557, 32229, 32904, 33579, 34248, 34923, 35598, 36270, 36942, 37619, 38290, 38962, 39636, 40312, 40985, 41658, 42332, 43006, 43679, 44351, 45025, 45699, 46370, 47046, 47719, 48391, 49066, 49741, 50412, 51087, 51761, 52433, 53105] + hit0 = 1 + data1 = [0, 4425, 4874, 5321, 5772, 6221, 6669, 7119, 7569, 8016, 8466, 8914, 9363, 9814, 10262, 10711, 11159, 11610, 12056, 12505, 12957, 13403, 13854, 14300, 14751, 15199, 15650, 16098, 16546, 16996, 17445, 17895, 18346, 18790, 19241, 19690, 20140, 20587, 21037, 21486, 21933, 22385, 22831, 23283, 23732, 24179, 24628, 25077, 25527, 25977, 26424, 26873, 27322, 27774, 28223, 28670, 29118, 29566, 30017, 30468, 30914, 31363, 31811, 32262, 32712, 33159, 33609, 34057, 34508, 34953, 35404] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "灵魂摄取" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [25, 550] + 无色消耗 = 0 + data0 = [0, 881, 968, 1060, 1149, 1239, 1325, 1417, 1506, 1595, 1684, 1773, 1864, 1954, 2040, 2130, 2220, 2311, 2400, 2490, 2577, 2670, 2756, 2848, 2936, 3024, 3115, 3205, 3293, 3383, 3471, 3563, 3650, 3740, 3828, 3920, 4010, 4100, 4186, 4278, 4366, 4458, 4545, 4635, 4725, 4815, 4902, 4993, 5080, 5171, 5260, 5351, 5439, 5528, 5616, 5708, 5796, 5887, 5974, 6068, 6155, 6242, 6333, 6422, 6511, 6602, 6691, 6780, 6868, 6957, 7047] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(被动技能): + 名称 = '汲魂之力' + 所在等级 = 25 + 等级上限 = 30 + 学习间隔 = 2 + 等级精通 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能9(主动技能): + 名称 = "释魂飞弹" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 5 + MP = [65, 450] + 无色消耗 = 0 + data0 = [0, 1044, 1209, 1378, 1545, 1708, 1875, 2042, 2209, 2375, 2540, 2708, 2875, 3042, 3206, 3372, 3540, 3705, 3874, 4038, 4204, 4374, 4539, 4706, 4871, 5038, 5204, 5371, 5536, 5703, 5874, 6037, 6203, 6370, 6537, 6701, 6869, 7034, 7200, 7369, 7534, 7702, 7869, 8037, 8200, 8367, 8533, 8698, 8866, 9032, 9198, 9366, 9532, 9697, 9866, 10032, 10197, 10366, 10530, 10696, 10862, 11031, 11197, 11363, 11529, 11694, 11864, 12029, 12195, 12361, 12529] + # 飞弹个数 + hit0 = 4 + # 每个飞弹消耗灵魂数 + power0 = 2 + TP成长 = 0.14 + TP上限 = 1 + + # TP描述是是减少1个灵魂消耗,然后减少14%伤害 + # 实质呢是减少了灵魂消耗,但是只是总伤害减少14%;意思就是原本是消耗2灵魂的4hit,也就是data0*2*4 + # TP后data0变成(1-0.14)*2*data0;也就是1.72倍data0,然后*4hit + + def TP加成(self): + if self.TP等级 == 0: + return 1 + else: + return (self.power0-1) * 2*(0.72 + self.TP成长 * self.TP等级) / self.power0 + + +class 技能10(主动技能): + 名称 = "魅影暗魂斩" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 11 + MP = [70, 400] + 无色消耗 = 0 + # 三觉后该部分不存在 + data0 = [0, 2510, 2765, 3020, 3276, 3527, 3783, 4038, 4292, 4550, 4804, 5059, 5312, 5568, 5824, 6079, 6334, 6589, 6844, 7099, 7353, 7608, 7866, 8121, 8375, 8627, 8883, 9135, 9390, 9645, 9899, 10154, 10411, 10666, 10921, 11175, 11432, 11683, 11940, 12195, 12450, 12706, 12962, 13213, 13468, 13723, 13980, 14234, 14489, 14746, 14998, 15254, 15507, 15764, 16019, 16274, 16529, 16782, 17035, 17292, 17546, 17800, 18054, 18310, 18564, 18818, 19075, 19330, 19584, 19841, 20095] + hit0 = 0 + data1 = [0, 2681, 2952, 3223, 3496, 3767, 4038, 4309, 4583, 4853, 5126, 5398, 5670, 5940, 6212, 6483, 6756, 7026, 7301, 7575, 7845, 8121, 8392, 8662, 8934, 9205, 9476, 9750, 10021, 10293, 10563, 10837, 11107, 11380, 11650, 11924, 12199, 12470, 12743, 13013, 13286, 13557, 13827, 14099, 14373, 14644, 14915, 15187, 15459, 15729, 16002, 16274, 16546, 16822, 17092, 17363, 17635, 17911, 18182, 18452, 18725, 18997, 19268, 19537, 19810, 20081, 20352, 20628, 20898, 21170, 21446] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 名称 = "魔镜幻影阵" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [110, 924] + 无色消耗 = 1 + data0 = [0, 1470, 1617, 1768, 1917, 2064, 2213, 2364, 2512, 2663, 2811, 2961, 3110, 3260, 3407, 3559, 3706, 3853, 4006, 4154, 4303, 4451, 4602, 4749, 4902, 5048, 5195, 5350, 5496, 5646, 5796, 5946, 6093, 6243, 6391, 6540, 6692, 6841, 6989, 7140, 7287, 7435, 7585, 7732, 7882, 8032, 8182, 8330, 8481, 8630, 8779, 8928, 9077, 9225, 9376, 9524, 9670, 9822, 9971, 10120, 10270, 10419, 10567, 10719, 10867, 11014, 11165, 11312, 11465, 11615, 11762] + hit0 = 1 + data1 = [0, 1470, 1621, 1768, 1917, 2067, 2213, 2364, 2516, 2663, 2811, 2962, 3110, 3260, 3409, 3559, 3706, 3858, 4006, 4157, 4304, 4451, 4604, 4751, 4902, 5050, 5202, 5350, 5500, 5648, 5796, 5947, 6096, 6244, 6393, 6544, 6694, 6842, 6990, 7142, 7290, 7439, 7588, 7735, 7885, 8036, 8183, 8334, 8483, 8632, 8781, 8931, 9079, 9231, 9379, 9527, 9678, 9823, 9975, 10122, 10274, 10422, 10572, 10720, 10872, 11020, 11168, 11320, 11469, 11617, 11768] + hit1 = 12 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.30 + + +class 技能12(主动技能): + 名称 = "释魂狂怒" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [100, 900] + 无色消耗 = 0 + data0 = [0, 25758, 28369, 30984, 33597, 36209, 38820, 41436, 44044, 46662, 49273, 51886, 54499, 57113, 59725, 62340, 64951, 67568, 70178, 72791, 75404, 78018, 80630, 83244, 85855, 88469, 91083, 93695, 96308, 98923, 101535, 104149, 106761, 109374, 111988, 114601, 117215, 119827, 122440, 125054, 127665, 130279, 132891, 135507, 138117, 140733, 143345, 145958, 148570, 151184, 153798, 156412, 159025, 161638, 164250, 166863, 169477, 172089, 174703, 177317, 179929, 182540, 185156, 187765, 190381, 192995, 195608, 198219, 200835, 203445, 206061] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能13(主动技能): + 名称 = "暗影囚杀" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [60, 830] + 无色消耗 = 1 + data0 = [0, 575, 635, 695, 753, 808, 870, 929, 988, 1044, 1102, 1163, 1221, 1278, 1337, 1400, 1456, 1514, 1573, 1632, 1689, 1748, 1806, 1868, 1925, 1983, 2042, 2102, 2159, 2217, 2276, 2335, 2395, 2453, 2512, 2570, 2629, 2687, 2745, 2803, 2863, 2921, 2980, 3038, 3096, 3155, 3214, 3272, 3328, 3388, 3449, 3509, 3565, 3626, 3683, 3743, 3799, 3859, 3918, 3977, 4035, 4094, 4151, 4210, 4268, 4328, 4385, 4447, 4502, 4562, 4621] + hit0 = 14 + data1 = [0, 17522, 19300, 21077, 22856, 24635, 26411, 28190, 29966, 31747, 33524, 35302, 37080, 38855, 40634, 42413, 44190, 45968, 47745, 49524, 51303, 53079, 54859, 56635, 58413, 60192, 61970, 63748, 65522, 67304, 69082, 70859, 72638, 74410, 76190, 77969, 79746, 81524, 83302, 85079, 86859, 88637, 90415, 92190, 93970, 95747, 97525, 99306, 101079, 102859, 104635, 106415, 108194, 109968, 111747, 113525, 115305, 117082, 118859, 120637, 122415, 124193, 125974, 127749, 129528, 131302, 133084, 134862, 136635, 138415, 140192] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + MP = [60, 830] + 无色消耗 = 1 + + def 装备护石(self, char): + self.hit0 = 5 + 4 * 2.31 + self.power1 = 1.52 + + +class 技能14(主动技能): + 名称 = "暗影盛宴" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [120, 2024] + 无色消耗 = 2 + data0 = [0, 2992, 3296, 3600, 3906, 4209, 4514, 4816, 5122, 5425, 5729, 6032, 6336, 6640, 6944, 7245, 7552, 7855, 8158, 8464, 8766, 9070, 9373, 9679, 9981, 10286, 10588, 10894, 11197, 11501, 11804, 12108, 12414, 12717, 13022, 13322, 13628, 13932, 14236, 14539, 14842, 15145, 15452, 15753, 16060, 16360, 16666, 16971, 17274, 17579, 17880, 18186, 18488, 18794, 19097, 19400, 19703, 20008, 20311, 20614, 20917, 21225, 21527, 21833, 22134, 22438, 22742, 23047, 23351, 23652, 23958] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 30 * 0.5 + 1 * 4.92 + self.CDR *= 0.84 + + +class 技能15(被动技能): + 名称 = '灵魂傀儡' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.055 + 0.015 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = "末日杀戮" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 1619, 1994, 2371, 2743, 3120, 3496, 3872, 4247, 4622, 4998, 5375, 5748, 6125, 6496, 6874, 7250, 7626, 8002, 8375, 8751, 9131, 9500, 9878, 10252, 10631, 11004, 11381, 11759, 12130, 12505, 12881, 13257, 13633, 14007, 14384, 14757, 15134, 15511, 15884, 16259, 16635, 17013, 17387, 17763, 18140, 18514, 18891, 19265, 19640, 20017] + hit0 = 1 + data1 = [0, 3249, 4000, 4753, 5510, 6263, 7015, 7768, 8525, 9277, 10030, 10786, 11538, 12291, 13043, 13798, 14552, 15304, 16057, 16812, 17562, 18317, 19074, 19827, 20579, 21331, 22087, 22840, 23593, 24347, 25100, 25854, 26606, 27362, 28115, 28868, 29623, 30375, 31129, 31881, 32637, 33390, 34141, 34894, 35651, 36402, 37156, 37910, 38665, 39418, 40169] + hit1 = 5 + data2 = [0, 13804, 17005, 20204, 23408, 26606, 29811, 33011, 36209, 39411, 42612, 45813, 49014, 52218, 55418, 58618, 61818, 65018, 68222, 71423, 74624, 77824, 81024, 84227, 87428, 90629, 93831, 97028, 100232, 103431, 106634, 109835, 113036, 116235, 119436, 122641, 125840, 129041, 132242, 135444, 138643, 141843, 145047, 148248, 151448, 154649, 157846, 161052, 164253, 167453, 170655] + hit2 = 5 + data3 = [0, 28028, 34528, 41025, 47527, 54025, 60525, 67025, 73523, 80023, 86520, 93023, 99522, 106022, 112520, 119019, 125518, 132020, 138517, 145017, 151520, 158017, 164517, 171016, 177514, 184017, 190515, 197013, 203512, 210013, 216512, 223012, 229511, 236011, 242508, 249010, 255508, 262008, 268507, 275008, 281506, 288007, 294506, 301004, 307505, 314002, 320504, 327003, 333502, 340002, 346500] + hit3 = 1 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 6 else 1) + + +class 技能17(主动技能): + 名称 = "魔影轰杀" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [600, 1840] + 无色消耗 = 1 + data0 = [0, 10986, 12098, 13214, 14328, 15443, 16556, 17674, 18790, 19903, 21016, 22132, 23247, 24360, 25475, 26589, 27704, 28816, 29933, 31051, 32160, 33278, 34392, 35508, 36619, 37737, 38851, 39963, 41078, 42193, 43311, 44421, 45538, 46654, 47769, 48881, 49997, 51111, 52225, 53339, 54455, 55570, 56681, 57798, 58912, 60031, 61140, 62257, 63372, 64486, 65600] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["打满", "常规", "连按"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "打满" and '魔影轰杀' in char.护石栏: + self.hit0 = 4 + 41 * 0.01 + # self.power0 = 1.22 + if 形态 == "常规": + if '魔影轰杀' in char.护石栏: + self.hit0 = 4 + 30 * 0.01 + # self.power0 = 1.22 + else: + 形态 = "连按" + if 形态 == "连按": + self.hit0 = 4 + + def 装备护石(self, char): + self.power0 = 1.22 + + +class 技能18(主动技能): + 名称 = "死亡献祭" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [1200, 2520] + 无色消耗 = 2 + data0 = [0, 3068, 3376, 3688, 3998, 4311, 4620, 4931, 5245, 5556, 5866, 6176, 6489, 6801, 7112, 7420, 7731, 8043, 8357, 8665, 8979, 9287, 9601, 9909, 10221, 10534, 10844, 11156, 11464, 11777, 12089, 12399, 12709, 13019, 13333, 13645, 13956, 14265, 14578, 14888, 15201, 15507, 15822, 16133, 16444, 16754, 17066, 17378, 17689, 17999, 18312] + hit0 = 11 + data1 = [0, 35113, 38674, 42234, 45796, 49357, 52922, 56485, 60044, 63607, 67168, 70732, 74297, 77854, 81419, 84979, 88544, 92106, 95665, 99228, 102789, 106354, 109914, 113476, 117039, 120599, 124160, 127725, 131288, 134848, 138411, 141969, 145536, 149098, 152660, 156222, 159782, 163346, 166907, 170471, 174031, 177591, 181156, 184719, 188279, 191840, 195404, 198967, 202529, 206088, 209653] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.46 + + +class 技能19(主动技能): + 名称 = "天罚死光" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 103631, 114144, 124657, 135171, 145683, 156200, 166710, 177225, 187737, 198252, 208763, 219279, 229791, 240304, 250817, 261330, 271845, 282360, 292871, 303385, 313896, 324411, 334925, 345438, 355951, 366465, 376977, 387494, 398006, 408520, 419031, 429546, 440056, 450572, 461086, 471598, 482113, 492623, 503140, 513654, 524166, 534680, 545192, 555705, 566223, 576734, 587248, 597758, 608271, 618787] + hit0 = 1 + # 灵魂消耗倍率;不加成护石附带的小激光 + 灵魂消耗倍率 = 1.15 + 是否有护石 = 1 + + def 装备护石(self, char): + # self.power0 = 1.1 + self.data1 = [int(i* 0.03 * 1.96) for i in self.data0] + self.power1 = 1 + self.hit1 = 4 + + def 等效百分比(self, **argv): + # self.power1 = 1 / self.灵魂消耗倍率 + return super().等效百分比(**argv) * self.灵魂消耗倍率 + +class 技能20(被动技能): + 名称 = '薄暮' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['影刃', '暗影之矛', '暗影缠袭', '灵魂摄取', '魅影暗魂斩', '暗影禁锢', '暗影漩涡', '魔镜幻影阵', '暗影囚杀', + '末日杀戮', '魔影轰杀', '死亡献祭', '暗影盛宴', '天罚死光', '天罚之剑', '神罚·灭世裁决', '暗影绽放:死亡荆棘', '冥王降临:净土救赎'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.24 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "天罚之剑" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 28773, 31689, 34611, 37529, 40444, 43366, 46284, 49203, 52123, 55042, 57959, 60882, 63797, 66717, 69637, 72556, 75474, 78393, 81312, 84227, 87150, 90068, 92987, 95907, 98826, 101743, 104664, 107581, 110498, 113421, 116338, 119259, 122176, 125095, 128015, 130933, 133852, 136774, 139690, 142607, 145525, 148445, 151364, 154282, 157205, 160119, 163042, 165960, 168877, 171798] + hit0 = 1 + data1 = [0, 75414, 83067, 90718, 98368, 106017, 113671, 121319, 128974, 136623, 144272, 151924, 159574, 167225, 174877, 182529, 190179, 197830, 205481, 213131, 220786, 228434, 236085, 243738, 251387, 259037, 266686, 274341, 281992, 289640, 297293, 304943, 312593, 320246, 327896, 335547, 343200, 350848, 358499, 366154, 373803, 381453, 389103, 396756, 404406, 412054, 419708, 427358, 435010, 442659, 450309] + hit1 = 1 + # 灵魂消耗倍率 + 灵魂消耗倍率 = 1.15 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * self.灵魂消耗倍率 + +class 技能22(主动技能): + 名称 = "神罚·灭世裁决" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 18772, 23121, 27472, 31827, 36177, 40530, 44881, 49232, 53588, 57939, 62291, 66644, 70994, 75346, 79700, 84052, 88406, 92759, 97108, 101460, 105814, 110164, 114518, 118870, 123225, 127574, 131927, 136280, 140631, 144985, 149336, 153688, 158042, 162391, 166745, 171100, 175451, 179802, 184156, 188505, 192859, 197211, 201561, 205918, 210269, 214619, 218973, 223322, 227677, 232030] + hit0 = 7 + data1 = [0, 131383, 161847, 192316, 222781, 253246, 283712, 314179, 344645, 375111, 405575, 436042, 466509, 496974, 527440, 557905, 588373, 618838, 649303, 679770, 710234, 740704, 771167, 801634, 832099, 862563, 893032, 923496, 953966, 984428, 1014896, 1045362, 1075827, 1106296, 1136759, 1167227, 1197691, 1228158, 1258624, 1289088, 1319556, 1350018, 1380487, 1410954, 1441419, 1471886, 1502348, 1532816, 1563284, 1593749, 1624217] + hit1 = 1 + + # 灵魂消耗倍率 + 灵魂消耗倍率 = 1.1 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * self.灵魂消耗倍率 + +class 技能23(主动技能): + 名称 = "暗影绽放:死亡荆棘" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 71339, 78567, 85801, 93033, 100267, 107499, 114730, 121964, 129196, 136428, 143660, 150893, 158127, 165358, 172591, 179824, 187056, 194287, 201519, 208750, 215984, 223215, 230449, 237682, 244915, 252146, 259378, 266611, 273845, 281076, 288309, 295541, 302775, 310005, 317239, 324470, 331703, 338934, 346166, 353400, 360632, 367864, 375097, 382329, 389562, 396793, 404024, 411258, 418490, 425726] + hit0 = 1 + data1 = [0, 166454, 183328, 200206, 217080, 233956, 250831, 267705, 284583, 301458, 318333, 335207, 352083, 368961, 385834, 402711, 419586, 436462, 453339, 470213, 487087, 503965, 520838, 537714, 554589, 571467, 588342, 605217, 622094, 638966, 655842, 672718, 689594, 706469, 723346, 740223, 757097, 773972, 790847, 807722, 824599, 841473, 858349, 875225, 892100, 908977, 925851, 942728, 959601, 976478, 993354] + hit1 = 1 + + +class 技能24(被动技能): + 名称 = '以身载灵' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能25(主动技能): + 名称 = "冥王降临:净土救赎" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8054] + 无色消耗 = 15 + data0 = [0, 21775, 26824, 31875, 36923, 41973, 47021, 52072, 57122, 62172, 67221, 72270, 77320, 82368, 87419, 92468, 97518, 102567, 107617, 112666, 117717, 122764, 127814, 132863, 137915, 142963, 148014, 153063, 158111, 163163, 168209, 173260, 178308, 183359, 188406, 193458, 198508, 203555, 208603, 213654, 218702, 223753, 228801, 233854, 238900, 243952, 249001, 254050, 259101, 264148, 269200] + hit0 = 10 + data1 = [0, 508098, 625922, 743738, 861561, 979382, 1097198, 1215023, 1332844, 1450662, 1568482, 1686304, 1804122, 1921945, 2039768, 2157588, 2275404, 2393229, 2511050, 2628869, 2746690, 2864510, 2982328, 3100151, 3217974, 3335791, 3453612, 3571434, 3689250, 3807075, 3924896, 4042713, 4160534, 4278359, 4396176, 4513998, 4631818, 4749637, 4867458, 4985282, 5103098, 5220921, 5338742, 5456560, 5574382, 5692203, 5810024, 5927844, 6045664, 6163489, 6281304] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'dark_templar' + self.名称 = '极诣·暗殿骑士' + self.角色 = '鬼剑士(女)' + self.角色类型 = '输出' + self.职业 = '暗殿骑士' + self.武器选项 = ['太刀', '短剑', '巨剑', '钝器'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '手套' + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.65 + + super().__init__(equVersion) diff --git a/api/core/characters/demon_slayer.py b/api/core/characters/demon_slayer.py new file mode 100644 index 00000000..e541d13a --- /dev/null +++ b/api/core/characters/demon_slayer.py @@ -0,0 +1,484 @@ + +from core.basic.character import Character +from core.basic.skill import 主动技能, 技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '唤魔:蛇腹剑' + 所在等级 = 15 + 等级上限 = 11 + 基础等级 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能1(主动技能): + 名称 = "蛇腹剑:破" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [8, 170] + 无色消耗 = 0 + data0 = [0, 910, 1002, 1096, 1187, 1278, 1372, 1464, 1557, 1648, 1742, 1834, 1925, 2019, 2110, 2204, 2295, 2387, 2480, 2572, 2665, 2757, 2849, 2942, 3034, 3127, 3218, 3311, 3404, 3496, 3587, 3681, 3772, 3865, 3956, 4050, 4141, 4232, 4326, 4418, 4511, 4602, 4695, 4788, 4879, 4972, 5065, 5157, 5249, 5340, 5435, 5526, 5619, 5711, 5804, 5896, 5987, 6081, 6173, 6265, 6358, 6451, 6542, 6634, 6726, 6820, 6912, 7005, 7096, 7188, 7281] + hit0 = 1 + data1 = [0, 910, 1002, 1096, 1187, 1278, 1372, 1464, 1557, 1648, 1742, 1834, 1925, 2019, 2110, 2204, 2295, 2387, 2480, 2572, 2665, 2757, 2849, 2942, 3034, 3127, 3218, 3311, 3404, 3496, 3587, 3681, 3772, 3865, 3956, 4050, 4141, 4232, 4326, 4418, 4511, 4602, 4695, 4788, 4879, 4972, 5065, 5157, 5249, 5340, 5435, 5526, 5619, 5711, 5804, 5896, 5987, 6081, 6173, 6265, 6358, 6451, 6542, 6634, 6726, 6820, 6912, 7005, 7096, 7188, 7281] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "蛇腹剑:舞" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [15, 300] + 无色消耗 = 0 + data0 = [0, 1497, 1650, 1802, 1954, 2106, 2258, 2411, 2563, 2714, 2867, 3018, 3170, 3322, 3475, 3628, 3779, 3931, 4084, 4236, 4386, 4540, 4692, 4843, 4995, 5148, 5300, 5452, 5604, 5757, 5909, 6059, 6212, 6364, 6515, 6669, 6821, 6973, 7125, 7276, 7430, 7582, 7732, 7886, 8037, 8190, 8341, 8493, 8647, 8799, 8949, 9103, 9254, 9404, 9559, 9710, 9864, 10014, 10166, 10319, 10471, 10622, 10776, 10927, 11078, 11231, 11382, 11537, 11687, 11840, 11992] + hit0 = 1 + data1 = [0, 1420, 1565, 1707, 1853, 1996, 2141, 2284, 2429, 2573, 2719, 2861, 3006, 3150, 3294, 3439, 3582, 3726, 3871, 4015, 4159, 4303, 4447, 4591, 4736, 4881, 5024, 5168, 5313, 5456, 5601, 5744, 5888, 6033, 6178, 6320, 6466, 6609, 6753, 6897, 7040, 7185, 7332, 7475, 7617, 7763, 7906, 8051, 8194, 8339, 8482, 8628, 8770, 8915, 9059, 9205, 9347, 9493, 9636, 9780, 9925, 10069, 10212, 10357, 10501, 10645, 10789, 10933, 11076, 11222, 11366] + hit1 = 1 + data2 = [0, 1864, 2055, 2244, 2433, 2622, 2811, 3001, 3191, 3380, 3568, 3758, 3947, 4137, 4325, 4515, 4704, 4893, 5084, 5272, 5462, 5651, 5841, 6031, 6221, 6409, 6597, 6787, 6977, 7167, 7356, 7542, 7732, 7921, 8111, 8300, 8490, 8679, 8868, 9058, 9247, 9437, 9626, 9816, 10006, 10194, 10383, 10573, 10762, 10951, 11142, 11330, 11519, 11708, 11898, 12086, 12276, 12466, 12654, 12844, 13033, 13224, 13413, 13602, 13792, 13978, 14169, 14358, 14548, 14737, 14926] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "蛇腹剑:刺" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [35, 300] + 无色消耗 = 0 + data0 = [0, 3315, 3654, 3990, 4326, 4663, 4998, 5336, 5672, 6008, 6344, 6683, 7018, 7355, 7691, 8028, 8365, 8700, 9037, 9373, 9709, 10048, 10383, 10722, 11056, 11394, 11730, 12066, 12404, 12739, 13077, 13414, 13750, 14086, 14422, 14759, 15096, 15432, 15768, 16107, 16442, 16778, 17114, 17450, 17789, 18124, 18461, 18797, 19133, 19471, 19806, 20144, 20481, 20817, 21153, 21488, 21826, 22162, 22498, 22836, 23175, 23509, 23845, 24181, 24519, 24856, 25192, 25529, 25864, 26202, 26539] + hit0 = 1 + data1 = [0, 4472, 4928, 5381, 5836, 6288, 6744, 7199, 7651, 8104, 8559, 9014, 9468, 9922, 10375, 10831, 11283, 11738, 12189, 12645, 13099, 13553, 14006, 14462, 14914, 15370, 15821, 16276, 16730, 17185, 17637, 18093, 18547, 19001, 19455, 19907, 20362, 20816, 21271, 21723, 22179, 22632, 23087, 23540, 23992, 24447, 24903, 25354, 25810, 26264, 26718, 27171, 27627, 28078, 28534, 28986, 29441, 29896, 30350, 30804, 31257, 31712, 32165, 32619, 33072, 33526, 33981, 34435, 34888, 35343, 35797] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "蛇腹剑:缠" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [25, 325] + 无色消耗 = 0 + data0 = [0, 3383, 3728, 4069, 4413, 4758, 5101, 5443, 5788, 6130, 6474, 6817, 7159, 7504, 7847, 8189, 8533, 8877, 9221, 9564, 9906, 10249, 10593, 10938, 11280, 11623, 11968, 12310, 12653, 12997, 13339, 13684, 14027, 14369, 14713, 15058, 15401, 15744, 16086, 16432, 16774, 17117, 17460, 17803, 18148, 18489, 18834, 19177, 19520, 19864, 20208, 20549, 20894, 21238, 21579, 21924, 22265, 22612, 22954, 23298, 23640, 23983, 24327, 24670, 25014, 25356, 25701, 26043, 26387, 26730, 27076] + hit0 = 1 + data1 = [0, 1663, 1830, 1998, 2166, 2336, 2503, 2672, 2842, 3009, 3179, 3347, 3515, 3684, 3854, 4021, 4191, 4357, 4527, 4696, 4865, 5032, 5201, 5371, 5538, 5708, 5876, 6043, 6214, 6383, 6550, 6720, 6886, 7055, 7225, 7394, 7561, 7730, 7897, 8066, 8237, 8406, 8574, 8742, 8910, 9080, 9249, 9415, 9585, 9753, 9921, 10091, 10260, 10426, 10596, 10766, 10935, 11104, 11271, 11439, 11608, 11778, 11947, 12114, 12282, 12450, 12620, 12789, 12956, 13126, 13295] + hit1 = 3 + # 不可抓取部分 + # data2 = [0, 1663, 1830, 1998, 2166, 2336, 2503, 2672, 2842, 3009, 3179, 3347, 3515, 3684, 3854, 4021, 4191, 4357, 4527, 4696, 4865, 5032, 5201, 5371, 5538, 5708, 5876, 6043, 6214, 6383, 6550, 6720, 6886, 7055, 7225, 7394, 7561, 7730, 7897, 8066, 8237, 8406, 8574, 8742, 8910, 9080, 9249, 9415, 9585, 9753, 9921, 10091, 10260, 10426, 10596, 10766, 10935, 11104, 11271, 11439, 11608, 11778, 11947, 12114, 12282, 12450, 12620, 12789, 12956, 13126, 13295] + # hit2 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "蛇腹剑:灭" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [40, 300] + 无色消耗 = 0 + data0 = [0, 834, 919, 1005, 1090, 1173, 1259, 1343, 1427, 1512, 1598, 1684, 1768, 1852, 1937, 2021, 2105, 2191, 2275, 2361, 2447, 2530, 2614, 2700, 2784, 2869, 2955, 3039, 3125, 3208, 3293, 3378, 3462, 3546, 3633, 3717, 3803, 3887, 3971, 4056, 4140, 4225, 4311, 4396, 4481, 4564, 4649, 4735, 4819, 4904, 4990, 5074, 5157, 5242, 5328, 5413, 5496, 5583, 5668, 5752, 5834, 5920, 6004, 6088, 6175, 6260, 6345, 6430, 6514, 6598, 6682] + hit0 = 12 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '魔剑控制' + 所在等级 = 30 + 等级上限 = 30 + 基础等级 = 20 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 20: + return round(1.000 + 0.015 * self.等级, 5) + else: + return round(1.300 + 0.025 * (self.等级 - 20), 5) + + +class 技能7(主动技能): + 名称 = "血饮狂舞" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [100, 920] + 无色消耗 = 1 + data0 = [0, 1031, 1136, 1241, 1347, 1451, 1557, 1660, 1766, 1871, 1976, 2081, 2183, 2290, 2394, 2500, 2604, 2709, 2813, 2918, 3023, 3129, 3233, 3338, 3441, 3547, 3652, 3756, 3862, 3967, 4072, 4176, 4281, 4386, 4491, 4594, 4699, 4803, 4910, 5015, 5120, 5224, 5328, 5434, 5538, 5645, 5748, 5852, 5957, 6062, 6167, 6272, 6378, 6482, 6587, 6692, 6797, 6902, 7005, 7108, 7215, 7318, 7426, 7530, 7633, 7740, 7843, 7950, 8053, 8158, 8262] + hit0 = 14 + data1 = [0, 2659, 2929, 3198, 3469, 3739, 4008, 4279, 4548, 4816, 5088, 5357, 5629, 5898, 6167, 6436, 6706, 6977, 7246, 7516, 7786, 8055, 8325, 8596, 8867, 9136, 9405, 9676, 9945, 10213, 10485, 10754, 11024, 11294, 11563, 11833, 12104, 12374, 12643, 12914, 13183, 13452, 13723, 13992, 14262, 14533, 14802, 15072, 15342, 15612, 15881, 16151, 16421, 16690, 16961, 17232, 17500, 17771, 18040, 18310, 18580, 18849, 19119, 19389, 19659, 19928, 20198, 20468, 20739, 21009, 21278] + hit1 = 1 + power1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + # 待定 + self.CD = 10 + self.hit0 = 10 + self.power1 = 0 + self.power0 = 1 - 0.06 + 0.16 + + +class 技能8(主动技能): + 名称 = "碎魔剑" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 2849, 3137, 3427, 3715, 4005, 4292, 4582, 4872, 5160, 5449, 5738, 6027, 6316, 6607, 6894, 7183, 7474, 7761, 8050, 8341, 8629, 8918, 9206, 9496, 9784, 10074, 10364, 10651, 10941, 11230, 11520, 11808, 12097, 12387, 12675, 12964, 13253, 13542, 13832, 14121, 14409, 14698, 14987, 15275, 15565, 15855, 16143, 16432, 16721, 17010, 17301, 17589, 17877, 18167, 18456, 18744, 19034, 19323, 19611, 19901, 20189, 20478, 20768, 21057, 21345, 21634, 21924, 22215, 22501, 22791] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "群魔乱舞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 25 + MP = [360, 3024] + 无色消耗 = 1 + data0 = [0, 1104, 1280, 1456, 1632, 1807, 1984, 2160, 2338, 2512, 2689, 2865, 3041, 3217, 3393, 3568, 3745, 3920, 4096, 4273, 4449, 4625, 4800, 4976, 5153, 5327, 5505, 5680, 5856, 6032, 6208, 6384, 6562, 6737, 6914, 7088, 7265, 7441, 7616, 7793, 7970, 8145, 8321, 8496, 8673, 8850, 9025, 9202, 9376, 9553, 9729, 9905, 10081, 10258, 10433, 10610, 10785, 10962, 11139, 11314, 11490, 11667, 11841, 12018, 12193, 12370, 12546, 12722, 12898, 13073, 13249] + hit0 = 4 + data1 = [0, 1472, 1706, 1941, 2176, 2411, 2645, 2879, 3115, 3349, 3585, 3819, 4052, 4288, 4523, 4758, 4993, 5226, 5463, 5696, 5931, 6167, 6400, 6636, 6870, 7104, 7339, 7574, 7809, 8044, 8277, 8513, 8746, 8983, 9217, 9450, 9687, 9920, 10156, 10391, 10625, 10859, 11094, 11329, 11564, 11798, 12034, 12266, 12502, 12738, 12971, 13208, 13441, 13675, 13911, 14145, 14380, 14616, 14848, 15085, 15319, 15555, 15788, 16024, 16260, 16493, 16728, 16962, 17198, 17432, 17667] + hit1 = 3 + data2 = [0, 2208, 2560, 2911, 3263, 3616, 3967, 4318, 4672, 5024, 5376, 5728, 6080, 6431, 6784, 7136, 7487, 7840, 8192, 8543, 8897, 9250, 9602, 9953, 10305, 10657, 11009, 11362, 11713, 12064, 12417, 12769, 13122, 13473, 13826, 14178, 14529, 14882, 15234, 15585, 15938, 16289, 16641, 16996, 17347, 17699, 18050, 18404, 18755, 19106, 19459, 19811, 20163, 20515, 20866, 21220, 21571, 21924, 22275, 22627, 22980, 23331, 23683, 24036, 24387, 24739, 25093, 25446, 25797, 26149, 26501] + hit2 = 2 + data3 = [0, 367, 426, 486, 543, 603, 661, 719, 780, 837, 895, 955, 1012, 1073, 1131, 1189, 1248, 1307, 1364, 1424, 1482, 1541, 1599, 1659, 1717, 1776, 1835, 1893, 1951, 2011, 2068, 2127, 2186, 2246, 2304, 2363, 2421, 2481, 2538, 2598, 2655, 2714, 2774, 2832, 2890, 2950, 3007, 3068, 3125, 3183, 3242, 3301, 3359, 3419, 3477, 3536, 3595, 3654, 3711, 3771, 3829, 3889, 3946, 4006, 4064, 4122, 4182, 4241, 4298, 4357, 4415] + hit3 = 12 + data4 = [0, 401, 464, 529, 592, 658, 721, 785, 848, 912, 977, 1040, 1105, 1169, 1233, 1297, 1360, 1425, 1489, 1553, 1618, 1681, 1744, 1808, 1873, 1938, 2000, 2066, 2128, 2193, 2257, 2322, 2385, 2449, 2513, 2577, 2641, 2705, 2770, 2833, 2897, 2961, 3026, 3090, 3154, 3218, 3280, 3345, 3410, 3474, 3537, 3602, 3665, 3730, 3792, 3859, 3921, 3985, 4050, 4113, 4177, 4242, 4306, 4370, 4433, 4498, 4561, 4626, 4690, 4754, 4818] + hit4 = 11 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能10(主动技能): + 名称 = "唤魔:塔莫斯之袭" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [90, 1500] + 无色消耗 = 2 + data0 = [0, 1566, 1725, 1884, 2045, 2202, 2360, 2518, 2678, 2837, 2995, 3154, 3315, 3474, 3633, 3790, 3951, 4110, 4269, 4429, 4585, 4743, 4902, 5064, 5220, 5380, 5541, 5700, 5859, 6015, 6176, 6335, 6494, 6654, 6810, 6968, 7128, 7289, 7448, 7606, 7765, 7925, 8084, 8242, 8400, 8560, 8720, 8878, 9038, 9196, 9354, 9513, 9673, 9832, 9990, 10150, 10309, 10468, 10627, 10786, 10945, 11103, 11263, 11422, 11579, 11738, 11898, 12057, 12215, 12375, 12535] + hit0 = 8 + data1 = [0, 12312, 13561, 14811, 16060, 17310, 18558, 19806, 21058, 22306, 23555, 24803, 26055, 27303, 28552, 29801, 31050, 32299, 33550, 34798, 36046, 37294, 38547, 39795, 41044, 42294, 43542, 44792, 46042, 47291, 48538, 49788, 51038, 52288, 53535, 54785, 56035, 57284, 58533, 59782, 61031, 62281, 63529, 64779, 66027, 67279, 68526, 69776, 71025, 72272, 73523, 74773, 76022, 77269, 78518, 79769, 81018, 82266, 83516, 84766, 86015, 87266, 88514, 89762, 91011, 92261, 93511, 94759, 96010, 97258, 98507] + hit1 = 1 + data2 = [0, 4726, 5205, 5685, 6164, 6643, 7122, 7603, 8083, 8563, 9042, 9522, 10001, 10481, 10961, 11438, 11917, 12398, 12876, 13357, 13836, 14315, 14794, 15274, 15755, 16233, 16714, 17193, 17675, 18153, 18632, 19112, 19590, 20072, 20551, 21028, 21508, 21987, 22467, 22947, 23426, 23906, 24384, 24865, 25346, 25826, 26304, 26783, 27263, 27743, 28223, 28702, 29180, 29660, 30138, 30620, 31098, 31578, 32057, 32535, 33018, 33497, 33976, 34455, 34936, 35416, 35894, 36374, 36853, 37333, 37812] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.48 + self.power2 = 0 + + +class 技能11(被动技能): + 名称 = '贪欲之燔祭' + 所在等级 = 48 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "空绝斩:千刃" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1500, 12232] + 无色消耗 = 5 + data0 = [0, 2681, 3301, 3924, 4545, 5167, 5790, 6412, 7032, 7657, 8276, 8899, 9520, 10142, 10764, 11385, 12007, 12628, 13251, 13873, 14494, 15115, 15738, 16359, 16981, 17602, 18226, 18845, 19469, 20090, 20711, 21335, 21955, 22577, 23199, 23821, 24442, 25065, 25685, 26308, 26928, 27551, 28174, 28793, 29418, 30039, 30660, 31282, 31905, 32525, 33147] + hit0 = 7 + data1 = [0, 0, 0, 0, 0, 0, 4473, 4955, 5434, 5916, 6396, 6876, 7356, 7838, 8317, 8798, 9280, 9758, 10240, 10719, 11200, 11680, 12162, 12641, 13122, 13603, 14083, 14563, 15044, 15525, 16004, 16485, 16966, 17445, 17927, 18406, 18887, 19368, 19849, 20329, 20810, 21291, 21769, 22251, 22730, 23211, 23691, 24173, 24652, 25134, 25614] + hit1 = 7 + data2 = [0, 11090, 13663, 16235, 18804, 21377, 23950, 26522, 29093, 31665, 34237, 36809, 39381, 41952, 44525, 47096, 49667, 52242, 54813, 57384, 59956, 62529, 65098, 67671, 70243, 72815, 75387, 77958, 80532, 83102, 85674, 88245, 90819, 93389, 95962, 98535, 101107, 103677, 106248, 108821, 111392, 113965, 116536, 119109, 121680, 124253, 126825, 129396, 131967, 134539, 137112] + hit2 = 1 + data3 = [0, 17062, 21020, 24975, 28932, 32889, 36846, 40802, 44759, 48717, 52673, 56631, 60586, 64542, 68500, 72455, 76412, 80369, 84327, 88283, 92240, 96196, 100152, 104110, 108066, 112022, 115980, 119937, 123894, 127851, 131808, 135763, 139720, 143677, 147633, 151591, 155548, 159504, 163462, 167416, 171373, 175330, 179286, 183243, 187200, 191158, 195114, 199071, 203028, 206983, 210941] + hit3 = 1 + data4 = [0, 23886, 29426, 34966, 40505, 46046, 51584, 57122, 62664, 68203, 73743, 79282, 84822, 90361, 95902, 101439, 106977, 112518, 118057, 123597, 129135, 134675, 140214, 145754, 151293, 156832, 162373, 167911, 173452, 178991, 184531, 190070, 195609, 201148, 206686, 212227, 217766, 223306, 228845, 234385, 239923, 245463, 251002, 256541, 262082, 267621, 273161, 278699, 284240, 289777, 295317] + hit4 = 1 + + def 等效百分比(self, **argv): + if self.等级 >= 3: + return super().等效百分比(**argv)*1.1 + return super().等效百分比(**argv) + + +class 技能13(主动技能): + 名称 = "唤魔:逆天之普诺" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [120, 1200] + 无色消耗 = 1 + data0 = [0, 2077, 2288, 2498, 2709, 2920, 3130, 3341, 3553, 3763, 3974, 4184, 4394, 4606, 4817, 5027, 5240, 5449, 5659, 5871, 6084, 6293, 6505, 6715, 6924, 7137, 7348, 7558, 7770, 7980, 8190, 8401, 8613, 8823, 9034, 9244, 9455, 9667, 9877, 10088, 10299, 10509, 10718, 10932, 11143, 11354, 11563, 11773, 11984, 12196, 12406] + hit0 = 5 + data1 = [0, 1730, 1907, 2081, 2258, 2435, 2610, 2785, 2960, 3136, 3311, 3488, 3663, 3838, 4014, 4192, 4366, 4541, 4718, 4892, 5068, 5244, 5418, 5594, 5771, 5948, 6123, 6298, 6472, 6649, 6825, 6999, 7177, 7352, 7528, 7704, 7879, 8055, 8229, 8406, 8583, 8757, 8933, 9109, 9284, 9459, 9636, 9810, 9986, 10164, 10339] + hit1 = 8 + data2 = [0, 10251, 11291, 12330, 13370, 14410, 15450, 16489, 17530, 18569, 19611, 20649, 21690, 22730, 23771, 24810, 25850, 26889, 27929, 28969, 30009, 31050, 32089, 33130, 34168, 35209, 36250, 37291, 38330, 39369, 40409, 41449, 42490, 43530, 44569, 45609, 46649, 47689, 48727, 49769, 50808, 51849, 52887, 53929, 54969, 56010, 57050, 58088, 59129, 60168, 61209] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit2 = 1 + 0.08 + 0.31 + + +class 技能14(主动技能): + 名称 = "汲血魔剑" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [400, 1500] + 无色消耗 = 2 + data0 = [0, 51648, 56887, 62127, 67367, 72606, 77846, 83087, 88324, 93566, 98803, 104043, 109284, 114523, 119762, 125003, 130242, 135481, 140720, 145962, 151200, 156441, 161680, 166920, 172159, 177398, 182639, 187877, 193118, 198356, 203597, 208837, 214076, 219315, 224556, 229795, 235035, 240275, 245515, 250753, 255995, 261234, 266473, 271713, 276953, 282192, 287432, 292671, 297912, 303151, 308390] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + 0.07 + 0.15 + + +class 技能15(被动技能): + 名称 = '唤魔:弑神剑' + 所在等级 = 75 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + def 特殊倍率(self): + return round(1.38 + 0.02 * self.等级, 5) + + data = [0, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19] + + def 次数加成(self): + return self.data[self.等级] + + +class 技能16(主动技能): + 名称 = "空绝斩:地裂" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 79576, 87648, 95722, 103797, 111868, 119941, 128014, 136087, 144159, 152234, 160307, 168379, 176454, 184525, 192598, 200672, 208744, 216818, 224891, 232963, 241037, 249108, 257182, 265256, 273330, 281401, 289473, 297548, 305620, 313694, 321767, 329841, 337913, 345985, 354058, 362131, 370206, 378279, 386351, 394424, 402498, 410570, 418642, 426717, 434790, 442863, 450935, 459007, 467081, 475156] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + +# 无法抓取 + + +class 技能17(主动技能): + 名称 = "弑神剑:极" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 89768, 98878, 107988, 117090, 126198, 135306, 144416, 153520, 162628, 171737, 180846, 189956, 199058, 208167, 217277, 226384, 235488, 244596, 253706, 262815, 271919, 281027, 290134, 299245, 308347, 317457, 326566, 335674, 344784, 353886, 362995, 372106, 381215, 390316, 399425, 408534, 417643, 426747, 435857, 444963, 454073, 463175, 472285, 481394, 490503, 499605, 508714, 517825, 526934, 536043] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + self.CDR *= 0.9 + + +class 技能18(主动技能): + 名称 = "弑神剑:诸神献祭" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 7074, 8714, 10353, 11995, 13635, 15275, 16918, 18556, 20196, 21837, 23478, 25118, 26759, 28398, 30039, 31681, 33321, 34959, 36601, 38241, 39881, 41522, 43163, 44802, 46441, 48083, 49725, 51363, 53003, 54643, 56284, 57925, 59565, 61204, 62847, 64487, 66127, 67767, 69408, 71047, 72688, 74328, 75970, 77611, 79250, 80890, 82532, 84172, 85811, 87453] + hit0 = 10 + data1 = [0, 26217, 32298, 38379, 44457, 50536, 56617, 62697, 68776, 74858, 80938, 87016, 93095, 99176, 105255, 111335, 117415, 123495, 129574, 135654, 141734, 147814, 153893, 159971, 166053, 172132, 178211, 184291, 190371, 196451, 202529, 208610, 214690, 220771, 226850, 232931, 239010, 245088, 251170, 257249, 263327, 269408, 275488, 281568, 287646, 293727, 299808, 305886, 311967, 318047, 324127] + hit1 = 3 + data2 = [0, 97950, 120662, 143375, 166090, 188802, 211515, 234226, 256940, 279654, 302365, 325078, 347794, 370505, 393219, 415932, 438644, 461357, 484071, 506785, 529497, 552210, 574922, 597636, 620348, 643062, 665776, 688489, 711201, 733913, 756628, 779338, 802052, 824768, 847479, 870193, 892905, 915618, 938331, 961046, 983755, 1006471, 1029185, 1051896, 1074610, 1097324, 1120035, 1142750, 1165463, 1188175, 1210888] + hit2 = 1 + + +class 技能19(被动技能): + 名称 = '魔源觉醒' + 所在等级 = 95 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "蛇舞血轮剑" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1065, 8000] + 无色消耗 = 7 + data0 = [0, 18643, 20534, 22425, 24317, 26210, 28102, 29992, 31885, 33775, 35668, 37557, 39450, 41342, 43231, 45124, 47015, 48906, 50798, 52690, 54581, 56472, 58363, 60256, 62146, 64038, 65930, 67820, 69712, 71606, 73495, 75387, 77280, 79171, 81062, 82952, 84845, 86736, 88628, 90519, 92409, 94301, 96194, 98085, 99976, 101867, 103759, 105650, 107540, 109433, 111323] + hit0 = 4 + data1 = [0, 111864, 123214, 134562, 145910, 157259, 168609, 179957, 191304, 202653, 214004, 225353, 236702, 248050, 259398, 270748, 282096, 293444, 304794, 316142, 327490, 338839, 350189, 361537, 372885, 384233, 395584, 406931, 418280, 429629, 440976, 452325, 463675, 475025, 486373, 497720, 509069, 520419, 531767, 543116, 554466, 565811, 577163, 588512, 599860, 611209, 622557, 633905, 645255, 656604, 667953] + hit1 = 1 + + +class 技能21(主动技能): + 名称 = "弑神剑:恶魔孤岛" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 15720, 19364, 23010, 26654, 30301, 33948, 37592, 41238, 44883, 48529, 52173, 55818, 59464, 63109, 66755, 70400, 74044, 77690, 81336, 84981, 88627, 92271, 95916, 99561, 103208, 106852, 110498, 114142, 117789, 121436, 125080, 128725, 132370, 136016, 139662, 143307, 146951, 150596, 154242, 157887, 161533, 165178, 168823, 172468, 176113, 179760, 183405, 187050, 190696, 194340] + hit0 = 15 + data1 = [0, 353711, 435729, 517750, 599768, 681790, 763809, 845828, 927849, 1009868, 1091888, 1173908, 1255929, 1337948, 1419968, 1501988, 1584007, 1666026, 1748047, 1830067, 1912087, 1994108, 2076127, 2158148, 2240166, 2322187, 2404208, 2486227, 2568246, 2650267, 2732288, 2814306, 2896326, 2978347, 3060364, 3142385, 3224406, 3306425, 3388443, 3470464, 3552486, 3634504, 3716525, 3798544, 3880564, 3962584, 4044604, 4126623, 4208644, 4290665, 4372683] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'demon_slayer' + self.名称 = '极诣·契魔者' + self.角色 = '鬼剑士(女)' + + self.职业 = '契魔者' + self.武器选项 = ['巨剑', '钝器', '太刀', '短剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '巨剑' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) + + def 伤害指数计算(self): + + 唤魔弑神剑 = self.get_skill_by_name('唤魔:弑神剑') + + x = 唤魔弑神剑.加成倍率(self.武器类型) + self.get_skill_by_name('血饮狂舞').被动倍率 /= x + self.get_skill_by_name('唤魔:塔莫斯之袭').被动倍率 /= x + + y = self.get_skill_by_name('魔源觉醒').加成倍率(self.武器类型) + self.get_skill_by_name('蛇腹剑:缠').被动倍率 *= (x + y - 1) / (x * y) + + self.get_skill_by_name('血饮狂舞').power0 *= 唤魔弑神剑.特殊倍率() + self.get_skill_by_name('血饮狂舞').power1 *= 唤魔弑神剑.特殊倍率() + self.get_skill_by_name('唤魔:塔莫斯之袭').hit0 = 8+唤魔弑神剑.次数加成() + self.get_skill_by_name('唤魔:塔莫斯之袭').power1 = 唤魔弑神剑.特殊倍率() + + super().伤害指数计算() + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=15): + super().set_skill_info(info, rune_start_lv=15) diff --git a/api/core/characters/dimension_walker.py b/api/core/characters/dimension_walker.py new file mode 100644 index 00000000..77756705 --- /dev/null +++ b/api/core/characters/dimension_walker.py @@ -0,0 +1,619 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '乖离:虚无' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['次元:虚影', '次元:跃迁', '次元:离子束', '次元:坠落', '次元:万花镜', '次元:粒子风暴', '次元:时空磁场', '次元:粒子波', + '次元:思维聚爆', '次元:奇点', '禁断之盛宴', '未明·次元崩坏'] # 次元:系技能 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1. + 0.015 * self.等级, 5) + + +class 技能1(主动技能): + 名称 = "次元:坠落" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [30, 280] + 无色消耗 = 0 + data0 = [0, 725, 800, 872, 946, 1019, 1093, 1166, 1241, 1314, 1387, 1461, 1534, 1607, 1682, 1754, 1828, 1904, 1977, 2051, 2125, 2198, 2271, 2345, 2418, 2492, 2565, 2639, 2712, 2787, 2860, 2933, 3005, 3080, 3153, 3229, 3303, 3375, 3450, 3523, 3597, 3671, 3743, 3816, 3891, 3964, 4038, 4110, 4185, 4258, 4332, 4405, 4478, 4553, 4627, 4701, 4774, 4849, 4921, 4995, 5069, 5143, 5215, 5289, 5362, 5436, 5510, 5584, 5656, 5731, 5804] + hit0 = 1 + data1 = [0, 2464, 2713, 2963, 3214, 3465, 3715, 3964, 4214, 4464, 4714, 4964, 5213, 5464, 5714, 5965, 6214, 6464, 6714, 6964, 7215, 7464, 7716, 7965, 8215, 8464, 8715, 8967, 9216, 9466, 9715, 9966, 10215, 10465, 10714, 10965, 11217, 11466, 11716, 11965, 12216, 12465, 12716, 12966, 13215, 13466, 13715, 13965, 14215, 14465, 14717, 14966, 15216, 15465, 15716, 15965, 16215, 16466, 16718, 16968, 17217, 17467, 17716, 17968, 18217, 18467, 18717, 18967, 19218, 19467, 19717] + hit1 = 1 + data2 = [0, 3106, 3419, 3735, 4051, 4366, 4682, 4997, 5312, 5626, 5941, 6257, 6571, 6886, 7202, 7519, 7833, 8148, 8462, 8777, 9093, 9409, 9724, 10037, 10352, 10668, 10984, 11300, 11614, 11930, 12244, 12559, 12873, 13188, 13505, 13820, 14136, 14448, 14765, 15080, 15396, 15711, 16026, 16341, 16655, 16970, 17285, 17601, 17917, 18232, 18547, 18861, 19177, 19492, 19807, 20122, 20437, 20753, 21066, 21381, 21698, 22014, 22329, 22643, 22958, 23272, 23589, 23904, 24218, 24533, 24850] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ['普通', '箱子'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.hit2 = 0 + if 形态 == '箱子': + self.hit2 = 1 + + +class 技能2(被动技能): + 名称 = '次元扭曲装置' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1.05 + 0.01 * self.等级, 5) + else: + return round(1.15 + 0.02 * (self.等级-10), 5) + + +class 技能3(主动技能): + 名称 = "次元:跃迁" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CDdata = [0, 15, 14.9, 14.9, 14.8, 14.7, 14.7, 14.6, 14.5, 14.5, 14.4, 14.3, 14.3, 14.2, 14.2, 14.1, 14, 14, 13.9, 13.8, 13.8, 13.7, 13.6, 13.6, 13.5, 13.4, 13.4, 13.3, 13.2, 13.2, 13.1, 13, 13, 12.9, 12.8, 12.8, 12.7, 12.7, 12.6, 12.5, 12.5, 12.4, 12.3, 12.3, 12.2, 12.1, 12.1, 12, 11.9, 11.9, 11.8, 11.7, 11.7, 11.6, 11.5, 11.5, 11.4, 11.3, 11.3, 11.2, 11.2, 11.1, 11, 11, 10.9, 10.8, 10.8, 10.7, 10.6, 10.6, 10.5] + MP = [20, 70] + 无色消耗 = 0 + data0 = [0, 8772, 10171, 11568, 12966, 14365, 15764, 17163, 18560, 19958, 21356, 22754, 24154, 25552, 26951, 28348, 29745, 31146, 32544, 33942, 35340, 36739, 38139, 39538, 40935, 42333, 43731, 45130, 46529, 47927, 49325, 50723, 52121, 53521, 54919, 56317, 57715, 59113, 60512, 61910, 63310, 64709, 66106, 67505, 68903, 70302, 71700, 73098, 74496, 75896, 77293, 78692, 80090, 81488, 82887, 84285, 85684, 87081, 88480, 89878, 91276, 92677, 94075, 95473, 96871, 98269, 99668, 101067, 102464, 103863, 105262] + hit0 = 1 + + def 等效CD(self, **argv): + self.CD = self.CDdata[self.等级] + if self.等级 <= 30: + self.CD = self.CDdata[self.等级] + else: + self.CD = 10.5 + return super().等效CD(**argv) + + +class 技能4(主动技能): + 名称 = "次元:虚影" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [20, 210] + 无色消耗 = 0 + data0 = [0, 4615, 5085, 5552, 6020, 6491, 6957, 7426, 7894, 8362, 8831, 9299, 9768, 10236, 10703, 11173, 11642, 12109, 12577, 13045, 13515, 13983, 14450, 14920, 15388, 15856, 16325, 16793, 17261, 17732, 18198, 18667, 19134, 19602, 20072, 20539, 21009, 21475, 21944, 22413, 22882, 23349, 23817, 24285, 24756, 25222, 25691, 26159, 26629, 27096, 27565, 28033, 28501, 28970, 29439, 29906, 30375, 30843, 31312, 31780, 32249, 32716, 33185, 33653, 34123, 34590, 35057, 35528, 35995, 36463, 36931] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "乖离:禁忌之奈雅丽" + 所在等级 = 20 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + CD = 5 + MP = [30, 90] + 无色消耗 = 0 + data0 = [0, 792, 792, 792, 792, 792, 792, 792, 792, 792, 792, 792] + hit0 = 1 + data1 = [0, 714, 714, 714, 714, 714, 714, 714, 714, 714, 714, 714] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 关联技能 = ["所有"] + + def 独立攻击力倍率进图(self, 武器类型): + return 1.10 + + +class 技能6(主动技能): + 名称 = "次元:离子束" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 1033, 1136, 1243, 1346, 1452, 1555, 1661, 1766, 1871, 1975, 2081, 2183, 2290, 2394, 2500, 2603, 2710, 2814, 2920, 3022, 3127, 3233, 3338, 3442, 3547, 3653, 3758, 3862, 3966, 4070, 4176, 4281, 4384, 4490, 4596, 4701, 4803, 4909, 5013, 5120, 5223, 5329, 5433, 5539, 5642, 5748, 5851, 5957, 6062, 6168, 6271, 6377, 6481, 6587, 6690, 6796, 6900, 7005, 7110, 7216, 7319, 7424, 7528, 7635, 7738, 7844, 7948, 8055, 8158, 8264] + hit0 = 6 + data1 = [0, 8024, 8839, 9652, 10466, 11280, 12094, 12910, 13723, 14536, 15350, 16165, 16978, 17793, 18608, 19420, 20236, 21049, 21862, 22678, 23493, 24306, 25119, 25934, 26747, 27563, 28377, 29190, 30004, 30818, 31633, 32448, 33261, 34074, 34888, 35704, 36517, 37331, 38146, 38958, 39774, 40588, 41402, 42216, 43030, 43844, 44658, 45473, 46285, 47100, 47915, 48728, 49543, 50357, 51170, 51984, 52799, 53614, 54427, 55241, 56055, 56869, 57685, 58497, 59313, 60126, 60940, 61753, 62569, 63384, 64196] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["强化", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.hit0 = 6 + self.hit1 = 0 + if 形态 == '强化': + self.hit0 = 0 + self.hit1 = 1 + + +class 技能7(主动技能): + 名称 = "次元:万花镜" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [180, 1512] + 无色消耗 = 0 + data0 = [0, 2876, 3169, 3460, 3753, 4045, 4337, 4628, 4919, 5213, 5504, 5796, 6088, 6378, 6671, 6963, 7255, 7547, 7840, 8131, 8422, 8716, 9007, 9299, 9590, 9883, 10174, 10466, 10759, 11049, 11342, 11634, 11924, 12218, 12510, 12802, 13093, 13386, 13678, 13970, 14261, 14553, 14845, 15136, 15430, 15720, 16013, 16305, 16597, 16888, 17181, 17473, 17764, 18057, 18348, 18639, 18932, 19224, 19516, 19807, 20100, 20390, 20683, 20976, 21267, 21559, 21851, 22144, 22435, 22726, 23019] + hit0 = 4 + data1 = [0, 2309, 2543, 2779, 3012, 3248, 3481, 3714, 3951, 4184, 4418, 4653, 4887, 5121, 5357, 5590, 5824, 6060, 6294, 6528, 6763, 6996, 7230, 7466, 7699, 7934, 8168, 8403, 8637, 8872, 9105, 9339, 9575, 9809, 10043, 10277, 10513, 10746, 10981, 11215, 11449, 11685, 11919, 12152, 12387, 12621, 12855, 13090, 13324, 13558, 13792, 14028, 14261, 14495, 14730, 14963, 15199, 15433, 15668, 15901, 16137, 16371, 16604, 16839, 17073, 17308, 17542, 17777, 18010, 18246, 18480] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["强化", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.hit0 = 4 + self.hit1 = 0 + if 形态 == '强化': + self.hit0 = 0 + self.hit1 = 4 + + +class 技能8(主动技能): + 名称 = "乖离:魅魔之舞" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [185, 1526] + 无色消耗 = 0 + data0 = [0, 329, 363, 398, 431, 465, 496, 531, 565, 598, 632, 664, 699, 733, 765, 801, 832, 866, 900, 934, 969, 1000, 1033, 1069, 1102, 1136, 1167, 1202, 1237, 1269, 1304, 1337, 1370, 1404, 1438, 1470, 1505, 1537, 1572, 1605, 1638, 1672, 1706, 1739, 1773, 1805, 1840, 1873, 1907, 1938, 1974, 2007, 2041, 2076, 2108, 2141, 2175, 2210, 2243, 2274, 2309, 2344, 2376, 2411, 2442, 2478, 2511, 2544, 2579, 2611, 2644] + hit0 = 15 + data1 = [0, 5626, 6195, 6767, 7337, 7909, 8478, 9051, 9620, 10193, 10761, 11334, 11903, 12475, 13044, 13616, 14186, 14758, 15327, 15899, 16469, 17041, 17609, 18182, 18751, 19324, 19893, 20465, 21034, 21607, 22176, 22749, 23317, 23890, 24459, 25032, 25600, 26173, 26743, 27314, 27884, 28455, 29026, 29597, 30167, 30738, 31309, 31880, 32451, 33021, 33592, 34163, 34733, 35304, 35874, 36446, 37016, 37589, 38157, 38730, 39299, 39872, 40440, 41013, 41583, 42155, 42724, 43296, 43866, 44437, 45007] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "次元:粒子风暴" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [185, 1526] + 无色消耗 = 1 + data0 = [0, 4773, 5256, 5740, 6224, 6708, 7195, 7677, 8162, 8645, 9129, 9615, 10097, 10583, 11067, 11551, 12034, 12519, 13003, 13488, 13972, 14455, 14939, 15424, 15909, 16392, 16877, 17361, 17845, 18330, 18813, 19297, 19781, 20266, 20751, 21236, 21718, 22203, 22686, 23170, 23657, 24139, 24624, 25107, 25592, 26076, 26561, 27045, 27529, 28013, 28497, 28980, 29466, 29951, 30434, 30919, 31401, 31887, 32372, 32856, 33340, 33822, 34307, 34792, 35277, 35761, 36245, 36728, 37213, 37697, 38181] + hit0 = 3 + data1 = [0, 18277, 20130, 21984, 23837, 25692, 27548, 29402, 31255, 33108, 34963, 36818, 38672, 40525, 42380, 44235, 46088, 47944, 49796, 51651, 53504, 55359, 57214, 59068, 60921, 62775, 64630, 66485, 68338, 70192, 72047, 73901, 75753, 77608, 79463, 81317, 83171, 85024, 86880, 88735, 90589, 92442, 94295, 96151, 98004, 99859, 101714, 103567, 105419, 107275, 109130, 110984, 112838, 114691, 116547, 118401, 120256, 122107, 123962, 125818, 127672, 129526, 131379, 133234, 135086, 136942, 138796, 140650, 142504, 144358, 146214] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["强化", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if "次元:粒子风暴" in char.护石栏: + 形态 == '强化' + if 形态 == '普通': + self.hit0 = 3 + self.hit1 = 0 + if 形态 == '强化': + self.hit0 = 0 + self.hit1 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.hit0 = 0 + self.hit1 = 1 + + +class 技能10(主动技能): + 名称 = "次元:时空磁场" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 14 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 6160, 6783, 7408, 8033, 8659, 9283, 9908, 10533, 11156, 11782, 12406, 13031, 13656, 14281, 14905, 15532, 16156, 16780, 17406, 18031, 18655, 19282, 19906, 20530, 21155, 21781, 22404, 23031, 23653, 24279, 24904, 25529, 26154, 26780, 27403, 28027, 28654, 29279, 29903, 30527, 31153, 31777, 32402, 33028, 33652, 34275, 34902, 35526, 36151, 36776, 37402, 38025, 38651, 39276, 39901, 40526, 41150, 41775, 42401, 43025, 43651, 44276, 44900, 45523, 46150, 46774, 47398, 48025, 48648, 49273] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能11(主动技能): + 名称 = "乖离:异界蜂群" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [350, 3080] + 无色消耗 = 1 + data0 = [0, 1138, 1254, 1371, 1486, 1602, 1717, 1833, 1948, 2065, 2181, 2296, 2412, 2527, 2642, 2758, 2874, 2989, 3105, 3219, 3335, 3452, 3567, 3683, 3798, 3914, 4031, 4146, 4262, 4377, 4492, 4607, 4724, 4839, 4955, 5071, 5186, 5303, 5418, 5534, 5649, 5765, 5881, 5997, 6113, 6228, 6342, 6457, 6573, 6690, 6805, 6921, 7036, 7152, 7267, 7384, 7500, 7615, 7731, 7846, 7963, 8077, 8193, 8308, 8424, 8540, 8656, 8772, 8887, 9003, 9118] + hit0 = 20 + data1 = [0, 241, 266, 292, 316, 340, 364, 390, 414, 440, 463, 487, 513, 537, 561, 586, 611, 636, 660, 684, 708, 734, 759, 783, 807, 833, 856, 882, 906, 930, 956, 980, 1004, 1029, 1055, 1079, 1103, 1128, 1151, 1177, 1202, 1226, 1251, 1275, 1299, 1325, 1349, 1374, 1399, 1422, 1447, 1471, 1496, 1522, 1545, 1570, 1594, 1621, 1645, 1669, 1693, 1717, 1743, 1768, 1792, 1817, 1841, 1866, 1890, 1914, 1940] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 23 + self.倍率 *= 1.14 + self.CDR *= 0.9 + + +class 技能12(主动技能): + 名称 = "次元:粒子波" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [350, 3080] + 无色消耗 = 2 + data0 = [0, 3979, 4383, 4788, 5191, 5594, 5998, 6403, 6806, 7210, 7613, 8018, 8421, 8825, 9228, 9633, 10036, 10440, 10845, 11248, 11651, 12055, 12460, 12863, 13266, 13670, 14075, 14479, 14881, 15285, 15690, 16094, 16496, 16900, 17305, 17709, 18112, 18515, 18920, 19324, 19727, 20130, 20535, 20939, 21342, 21746, 22150, 22554, 22957, 23361, 23766, 24169, 24572, 24977, 25381, 25784, 26187, 26592, 26996, 27400, 27802, 28207, 28611, 29015, 29417, 29822, 30226, 30630, 31033, 31437, 31841] + hit0 = 10 + data1 = [0, 3495, 3849, 4204, 4559, 4913, 5269, 5622, 5977, 6332, 6687, 7041, 7396, 7751, 8105, 8460, 8814, 9169, 9525, 9878, 10233, 10587, 10943, 11296, 11651, 12007, 12361, 12715, 13070, 13425, 13778, 14134, 14489, 14843, 15198, 15552, 15907, 16261, 16616, 16971, 17325, 17681, 18034, 18389, 18745, 19099, 19453, 19808, 20163, 20517, 20872, 21227, 21581, 21935, 22290, 22645, 22999, 23354, 23708, 24063, 24419, 24772, 25127, 25482, 25837, 26190, 26546, 26901, 27255, 27610, 27964] + hit1 = 20 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + 形态 = ["强化", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.hit0 = 10 + self.hit1 = 0 + if 形态 == '强化': + self.hit0 = 0 + self.hit1 = 10 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.CDR *= 0.9 + + +class 技能13(被动技能): + 名称 = '虚空之力' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "乖离:扭曲之恐惧" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 10308, 12697, 15087, 17475, 19865, 22257, 24647, 27037, 29428, 31816, 34208, 36598, 38986, 41376, 43766, 46155, 48549, 50939, 53327, 55717, 58107, 60496, 62887, 65276, 67667, 70058, 72447, 74838, 77228, 79617, 82007, 84397, 86786, 89178, 91568, 93958, 96348, 98738, 101127, 103519, 105909, 108298, 110688, 113077, 115469, 117859, 120249, 122639, 125029, 127418] + hit0 = 1 + data1 = [0, 2239, 2760, 3279, 3798, 4319, 4838, 5357, 5876, 6397, 6916, 7435, 7955, 8474, 8993, 9515, 10034, 10553, 11073, 11593, 12112, 12631, 13152, 13671, 14190, 14710, 15229, 15748, 16269, 16788, 17307, 17826, 18346, 18865, 19384, 19906, 20425, 20944, 21463, 21984, 22503, 23023, 23543, 24062, 24581, 25101, 25620, 26139, 26661, 27180, 27699] + hit1 = 23 + data2 = [0, 41226, 50787, 60347, 69907, 79468, 89028, 98590, 108148, 117708, 127270, 136828, 146390, 155949, 165511, 175070, 184630, 194192, 203750, 213312, 222872, 232430, 241992, 251553, 261113, 270673, 280232, 289794, 299351, 308913, 318473, 328034, 337593, 347155, 356714, 366274, 375834, 385395, 394956, 404515, 414075, 423637, 433195, 442757, 452316, 461877, 471437, 480997, 490558, 500116, 509678] + hit2 = 1 + + def 等效百分比(self, **argv): + if self.等级 >= 3: + self.power2 = 1.1 + return super().等效百分比(**argv) + + +class 技能15(主动技能): + 名称 = "次元:思维聚爆" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 895, 985, 1074, 1165, 1255, 1347, 1438, 1529, 1618, 1710, 1800, 1890, 1984, 2073, 2164, 2254, 2345, 2436, 2525, 2614, 2708, 2797, 2887, 2980, 3069, 3161, 3250, 3341, 3433, 3523, 3615, 3705, 3795, 3885, 3975, 4066, 4158, 4247, 4339, 4430, 4520, 4610, 4701, 4793, 4882, 4975, 5064, 5155, 5246, 5336] + hit0 = 1 + data1 = [0, 28884, 31813, 34745, 37674, 40602, 43533, 46463, 49394, 52323, 55255, 58184, 61113, 64045, 66976, 69906, 72834, 75764, 78695, 81626, 84555, 87486, 90415, 93348, 96277, 99207, 102135, 105065, 107997, 110926, 113857, 116786, 119719, 122648, 125578, 128506, 131436, 134368, 137299, 140228, 143157, 146089, 149019, 151949, 154879, 157808, 160738, 163671, 166600, 169528, 172461] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["打满", "瞬爆"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '打满': + self.hit0 = 12 + self.hit1 = 1 + if 形态 == '瞬爆': + self.hit0 = 1 + self.hit1 = 1 + + def 装备护石(self, char): + self.power1 = 1.25 + self.CDR *= 0.9 + self.倍率 *= 1.08 + + +class 技能16(主动技能): + 名称 = "乖离:禁锢" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [900, 1820] + 无色消耗 = 3 + data0 = [0, 58084, 63977, 69870, 75764, 81657, 87549, 93443, 99333, 105228, 111119, 117013, 122904, 128798, 134692, 140584, 146478, 152369, 158262, 164154, 170049, 175940, 181834, 187725, 193620, 199509, 205404, 211297, 217189, 223082, 228976, 234869, 240761, 246655, 252545, 258440, 264332, 270225, 276118, 282010, 287903, 293796, 299688, 305581, 311474, 317366, 323261, 329153, 335046, 340938, 346832] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.15 + + +class 技能17(主动技能): + 名称 = "次元:奇点" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 42882, 47233, 51585, 55935, 60286, 64636, 68987, 73336, 77687, 82039, 86389, 90741, 95090, 99440, 103791, 108142, 112493, 116843, 121193, 125544, 129894, 134246, 138596, 142945, 147296, 151647, 155998, 160348, 164700, 169049, 173400, 177749, 182102, 186451, 190804, 195153, 199503, 203854, 208205, 212557, 216906, 221258, 225607, 229958, 234307, 238660, 243009, 247360, 251710, 256062] + hit0 = 1 + data1 = [0, 49560, 54589, 59617, 64643, 69671, 74699, 79725, 84755, 89784, 94811, 99839, 104866, 109893, 114923, 119951, 124977, 130005, 135034, 140061, 145089, 150118, 155145, 160173, 165201, 170227, 175257, 180286, 185312, 190340, 195368, 200396, 205424, 210451, 215481, 220508, 225537, 230564, 235591, 240619, 245648, 250677, 255704, 260732, 265759, 270786, 275814, 280841, 285871, 290898, 295927] + hit1 = 1 + data2 = [0, 8354, 9201, 10048, 10896, 11742, 12590, 13438, 14286, 15132, 15981, 16828, 17674, 18523, 19370, 20216, 21065, 21912, 22760, 23609, 24456, 25301, 26150, 26998, 27845, 28694, 29540, 30386, 31235, 32082, 32930, 33778, 34624, 35472, 36319, 37167, 38014, 38863, 39709, 40556, 41406, 42253, 43100, 43947, 44794, 45642, 46490, 47338, 48185, 49031, 49879] + hit2 = 0 + data3 = [0, 12529, 13801, 15074, 16343, 17615, 18886, 20158, 21429, 22699, 23970, 25242, 26513, 27785, 29054, 30327, 31597, 32870, 34140, 35412, 36683, 37955, 39225, 40498, 41767, 43039, 44310, 45582, 46852, 48123, 49394, 50668, 51938, 53209, 54479, 55751, 57023, 58294, 59564, 60836, 62107, 63379, 64649, 65920, 67193, 68464, 69735, 71007, 72277, 73549, 74819] + hit3 = 0 + 是否有护石 = 1 + + 形态 = ["强化", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '普通': + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == '强化': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 4 + self.hit3 = 4 + + def 装备护石(self, char): + self.CDR *= 0.9 + self.倍率 *= 1.30 + + +class 技能18(被动技能): + 名称 = '混沌源能石' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.17 + 0.02 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = "乖离:沉沦" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 64716, 71281, 77846, 84411, 90977, 97542, 104109, 110673, 117238, 123805, 130370, 136934, 143500, 150066, 156630, 163197, 169763, 176327, 182892, 189460, 196023, 202589, 209155, 215720, 222285, 228851, 235417, 241980, 248546, 255112, 261676, 268243, 274809, 281375, 287938, 294505, 301071, 307635, 314201, 320766, 327332, 333898, 340462, 347028, 353593, 360158, 366725, 373290, 379855, 386420] + hit0 = 1 + data1 = [0, 2156, 2377, 2594, 2812, 3030, 3249, 3470, 3688, 3906, 4126, 4345, 4563, 4781, 5000, 5219, 5438, 5658, 5876, 6094, 6314, 6531, 6751, 6969, 7187, 7408, 7627, 7845, 8063, 8284, 8501, 8720, 8939, 9158, 9377, 9596, 9815, 10033, 10252, 10470, 10690, 10908, 11126, 11345, 11565, 11783, 12001, 12222, 12441, 12659, 12877] + hit1 = 25 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3 + + +class 技能20(主动技能): + 名称 = "禁断之盛宴" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 10657, 13128, 15598, 18070, 20543, 23014, 25485, 27955, 30427, 32899, 35369, 37841, 40313, 42783, 45255, 47726, 50197, 52668, 55140, 57611, 60082, 62555, 65025, 67497, 69967, 72439, 74910, 77380, 79854, 82324, 84795, 87266, 89738, 92209, 94680, 97151, 99623, 102095, 104565, 107037, 109509, 111979, 114451, 116923, 119394, 121866, 124336, 126806, 129278, 131749] + hit0 = 10 + data1 = [0, 8881, 10940, 12999, 15057, 17118, 19177, 21238, 23296, 25355, 27414, 29475, 31535, 33595, 35652, 37711, 39771, 41831, 43890, 45949, 48009, 50068, 52128, 54187, 56247, 58305, 60366, 62426, 64484, 66545, 68604, 70662, 72721, 74781, 76840, 78901, 80960, 83018, 85078, 87138, 89198, 91256, 93316, 95375, 97436, 99495, 101553, 103613, 105673, 107732, 109791] + hit1 = 12 + data2 = [0, 5300, 6530, 7759, 8990, 10220, 11448, 12678, 13908, 15136, 16366, 17596, 18826, 20053, 21283, 22513, 23743, 24971, 26201, 27431, 28661, 29889, 31118, 32348, 33578, 34806, 36036, 37266, 38495, 39724, 40955, 42184, 43415, 44643, 45873, 47103, 48333, 49561, 50791, 52021, 53251, 54478, 55708, 56938, 58168, 59396, 60626, 61856, 63086, 64315, 65543] + hit2 = 18 + data3 = [0, 4970, 6120, 7274, 8426, 9578, 10732, 11882, 13035, 14189, 15339, 16494, 17647, 18797, 19951, 21102, 22254, 23409, 24560, 25713, 26864, 28016, 29169, 30322, 31474, 32627, 33779, 34932, 36083, 37237, 38390, 39541, 40693, 41846, 42999, 44152, 45303, 46456, 47608, 48760, 49915, 51066, 52218, 53371, 54522, 55675, 56828, 57980, 59134, 60284, 61437] + hit3 = 18 + data4 = [0, 176218, 217080, 257942, 298804, 339667, 380530, 421392, 462254, 503116, 543981, 584844, 625706, 666568, 707430, 748292, 789155, 830016, 870879, 911741, 952604, 993466, 1034328, 1075192, 1116054, 1156917, 1197777, 1238640, 1279502, 1320365, 1361228, 1402089, 1442952, 1483814, 1524677, 1565538, 1606401, 1647263, 1688126, 1728988, 1769851, 1810713, 1851576, 1892438, 1933300, 1974162, 2015025, 2055888, 2096750, 2137612, 2178475] + hit4 = 1 + + 形态 = ["强化全", "强化简", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '强化全': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 10 + self.hit3 = 17 + self.hit4 = 1 + if 形态 == '强化简': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 17 + self.hit4 = 1 + if 形态 == '普通': + self.hit0 = 10 + self.hit1 = 12 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + + +class 技能21(主动技能): + 名称 = "乖离:边缘之兽" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1067, 8000] + 无色消耗 = 7 + data0 = [0, 400, 520, 640, 760, 880, 1000, 1120, 1240, 1360, 1480, 1600, 1720, 1840, 1960, 2080, 2200, 2320, 2440, 2560, 2680, 2800, 2920, 3040, 3160, 3280, 3400, 3520, 3640, 3760, 3880, 4000, 4120, 4240, 4360, 4480, 4600, 4720, 4840, 4960, 5080, 5200, 5320, 5440, 5560, 5680, 5800, 5920, 6040, 6160, 6280] + hit0 = 1 + data1 = [0, 234726, 258538, 282352, 306163, 329977, 353790, 377603, 401415, 425228, 449040, 472853, 496667, 520479, 544292, 568104, 591916, 615730, 639542, 663356, 687168, 710981, 734792, 758606, 782420, 806231, 830046, 853858, 877672, 901484, 925297, 949109, 972922, 996735, 1020548, 1044361, 1068173, 1091986, 1115798, 1139611, 1163424, 1187236, 1211050, 1234862, 1258675, 1282488, 1306300, 1330113, 1353926, 1377740, 1401552] + hit1 = 1 + +class 技能22(被动技能): + 名称 = '古史记忆' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "未明·次元崩坏" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 98094, 120839, 143588, 166333, 189081, 211827, 234571, 257319, 280065, 302813, 325559, 348307, 371051, 393799, 416545, 439291, 462039, 484785, 507531, 530279, 553024, 575772, 598517, 621263, 644011, 666757, 689503, 712250, 734996, 757743, 780490, 803236, 825983, 848730, 871476, 894222, 916969, 939715, 962464, 985209, 1007954, 1030703, 1053447, 1076195, 1098941, 1121688, 1144434, 1167182, 1189927, 1212673] + hit0 = 1 + data1 = [0, 326980, 402803, 478623, 554446, 630268, 706089, 781910, 857734, 933555, 1009376, 1085198, 1161021, 1236843, 1312663, 1388485, 1464307, 1540130, 1615950, 1691773, 1767594, 1843418, 1919238, 1995060, 2070882, 2146703, 2222525, 2298348, 2374169, 2449990, 2525812, 2601635, 2677456, 2753277, 2829099, 2904922, 2980744, 3056564, 3132386, 3208208, 3284030, 3359852, 3435674, 3511496, 3587319, 3663139, 3738960, 3814782, 3890604, 3966427, 4042249] + hit1 = 1 + data2 = [0, 57220, 70490, 83760, 97027, 110296, 123566, 136834, 150103, 163371, 176641, 189910, 203177, 216446, 229716, 242984, 256253, 269521, 282791, 296060, 309328, 322597, 335867, 349135, 362404, 375671, 388941, 402210, 415478, 428747, 442017, 455285, 468554, 481822, 495092, 508361, 521629, 534898, 548168, 561436, 574704, 587973, 601243, 614512, 627778, 641048, 654317, 667586, 680856, 694123, 707392] + hit2 = 4 + +class 技能24(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 学习间隔 = 1 + 等级精通 = 110 + 等级上限 = 200 + 关联技能 = ['乖离:禁忌之奈雅丽'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'dimension_walker' + self.名称 = '知源·次元行者' + self.角色 = '魔法师(男)' + + self.职业 = '次元行者' + self.武器选项 = ['扫把', '矛', '魔杖', '法杖', '棍棒'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '扫把' + self.防具类型 = '布甲' + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.850 + + super().__init__(equVersion) diff --git a/api/core/characters/dragon_knight.py b/api/core/characters/dragon_knight.py new file mode 100644 index 00000000..4d530466 --- /dev/null +++ b/api/core/characters/dragon_knight.py @@ -0,0 +1,664 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 所在等级 = 1 + 等级上限 = 200 + 基础等级 = 110 + 关联技能 = ['龙人剑术', '基本攻击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(0.463 + 0.089 * self.等级, 5) + + +class 技能1(主动技能): + 名称 = '基本攻击' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + # 3击 242.9176+259.9278+310.9584 + data0 = [(i) for i in [0, 813.8037]] + hit0 = 1 + CD = 1 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能2(主动技能): + 名称 = "龙人剑术" + 所在等级 = 15 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + CD = 3 + MP = [35, 35] + 无色消耗 = 0 + data0 = [0, 2067] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能3(主动技能): + 名称 = "火焰吐息" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 1524, 1676, 1832, 1986, 2141, 2294, 2450, 2605, 2758, 2913, 3067, 3224, 3377, 3532, 3687, 3841, 3995, 4149, 4305, 4461, 4613, 4768, 4924, 5076, 5231, 5388, 5541, 5695, 5849, 6003, 6160, 6312, 6468, 6624, 6776, 6931, 7087, 7239, 7395, 7551, 7705, 7858, 8014, 8167, 8323, 8476, 8632, 8787, 8940, 9096, 9251, 9404, 9557, 9714, 9868, 10023, 10176, 10331, 10489, 10641, 10795, 10950, 11104, 11260, 11414, 11567, 11724, 11878, 12032, 12187] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "龙翼突袭" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 503, 554, 606, 656, 708, 758, 809, 862, 912, 963, 1014, 1065, 1115, 1167, 1219, 1269, 1320, 1371, 1422, 1473, 1524, 1574, 1627, 1678, 1729, 1780, 1830, 1882, 1933, 1983, 2036, 2086, 2137, 2188, 2239, 2291, 2341, 2393, 2444, 2495, 2546, 2597, 2648, 2698, 2750, 2802, 2852, 2903, 2954, 3006, 3056, 3107, 3158, 3210, 3261, 3312, 3363, 3413, 3465, 3515, 3566, 3619, 3669, 3720, 3771, 3822, 3874, 3924, 3976, 4027] + hit0 = 1 + data1 = [0, 4528, 4988, 5448, 5908, 6365, 6826, 7286, 7747, 8204, 8664, 9124, 9585, 10044, 10502, 10963, 11422, 11880, 12341, 12801, 13261, 13720, 14179, 14640, 15099, 15558, 16015, 16478, 16937, 17397, 17857, 18316, 18775, 19234, 19694, 20154, 20613, 21072, 21533, 21992, 22453, 22912, 23371, 23830, 24289, 24748, 25211, 25670, 26127, 26586, 27047, 27509, 27968, 28425, 28885, 29344, 29806, 30267, 30724, 31183, 31642, 32101, 32563, 33023, 33480, 33941, 34399, 34861, 35321, 35780, 36238] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "龙语召唤:阿斯特拉" + 所在等级 = 20 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + CD = 5 + MP = [126, 975] + 无色消耗 = 0 + data0 = [0, 5144, 5967, 6787, 7604, 8428, 9246, 10069, 10887, 11709, 12528, 13351, 14168, 14989, 15811, 16629, 17450, 18271, 19092, 19911, 20733, 21552, 22374, 23194, 24011, 24835, 25656, 26477, 27294, 28117, 28939] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 关联技能 = ['所有'] + + def 独立攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 20: + return round(1.05 + 0.005 * self.等级, 5) + else: + return round(0.75 + 0.02 * self.等级, 5) + + +class 技能6(主动技能): + 名称 = "爆破龙角" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [35, 300] + 无色消耗 = 0 + data0 = [0, 2958, 3257, 3558, 3859, 4157, 4457, 4755, 5058, 5357, 5657, 5958, 6260, 6557, 6858, 7159, 7458, 7761, 8060, 8358, 8659, 8957, 9258, 9560, 9859, 10160, 10460, 10759, 11058, 11362, 11659, 11959, 12261, 12560, 12861, 13160, 13460, 13761, 14058, 14362, 14662, 14959, 15260, 15559, 15860, 16162, 16462, 16761, 17062, 17360, 17661, 17962, 18261, 18561, 18863, 19161, 19462, 19762, 20063, 20362, 20661, 20962, 21262, 21564, 21862, 22162, 22463, 22763, 23063, 23363, 23661] + hit0 = 1 + data1 = [0, 6902, 7599, 8301, 9001, 9703, 10402, 11102, 11803, 12503, 13204, 13904, 14603, 15304, 16004, 16705, 17404, 18106, 18804, 19505, 20206, 20904, 21606, 22305, 23007, 23704, 24406, 25105, 25807, 26507, 27208, 27907, 28607, 29307, 30007, 30708, 31409, 32109, 32809, 33509, 34209, 34909, 35611, 36309, 37011, 37710, 38412, 39110, 39812, 40511, 41212, 41913, 42610, 43311, 44013, 44712, 45413, 46112, 46814, 47512, 48215, 48916, 49614, 50315, 51016, 51716, 52416, 53117, 53817, 54517, 55219] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "龙拳" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [180, 1512] + 无色消耗 = 0 + data0 = [0, 3482, 3835, 4187, 4541, 4893, 5249, 5600, 5955, 6307, 6660, 7017, 7368, 7720, 8073, 8430, 8781, 9134, 9486, 9841, 10195, 10547, 10901, 11254, 11607, 11960, 12314, 12668, 13020, 13373, 13727, 14081, 14433, 14787, 15140, 15494, 15847, 16200, 16553, 16905, 17260, 17614, 17966, 18319, 18672, 19027, 19379, 19732, 20086, 20440, 20794, 21145, 21501, 21852, 22207, 22559, 22914, 23266, 23619, 23970, 24328, 24679, 25033, 25385, 25739, 26092, 26446, 26799, 27152, 27506, 27859] + hit0 = 1 + data1 = [0, 5223, 5753, 6283, 6814, 7342, 7871, 8400, 8932, 9462, 9991, 10524, 11053, 11582, 12113, 12644, 13171, 13700, 14231, 14763, 15291, 15821, 16352, 16881, 17412, 17940, 18471, 19001, 19531, 20059, 20591, 21121, 21651, 22180, 22712, 23241, 23770, 24300, 24830, 25360, 25890, 26421, 26950, 27481, 28011, 28540, 29071, 29599, 30129, 30659, 31190, 31718, 32250, 32780, 33310, 33839, 34371, 34899, 35427, 35957, 36490, 37019, 37548, 38077, 38608, 39138, 39666, 40197, 40726, 41256, 41786] + hit1 = 1 + data2 = [0, 960, 1058, 1153, 1251, 1349, 1446, 1543, 1640, 1740, 1834, 1931, 2030, 2127, 2224, 2324, 2421, 2515, 2614, 2710, 2808, 2904, 3005, 3101, 3198, 3296, 3392, 3490, 3588, 3685, 3781, 3879, 3977, 4073, 4174, 4270, 4365, 4464, 4561, 4659, 4755, 4854, 4951, 5047, 5146, 5243, 5340, 5438, 5536, 5634, 5728, 5827, 5923, 6020, 6119, 6217, 6315, 6410, 6508, 6604, 6704, 6800, 6898, 6996, 7093, 7190, 7289, 7385, 7483, 7580, 7678] + hit2 = 0 + data3 = [0, 8637, 9512, 10389, 11265, 12141, 13019, 13895, 14770, 15647, 16523, 17399, 18276, 19151, 20027, 20904, 21778, 22658, 23535, 24408, 25285, 26161, 27038, 27915, 28791, 29666, 30542, 31418, 32295, 33172, 34048, 34925, 35801, 36675, 37552, 38431, 39306, 40182, 41056, 41934, 42811, 43690, 44564, 45439, 46315, 47191, 48069, 48944, 49820, 50698, 51573, 52449, 53324, 54202, 55080, 55955, 56831, 57706, 58582, 59459, 60338, 61212, 62088, 62965, 63842, 64718, 65594, 66469, 67346, 68223, 69098] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ['地面', '空中'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "空中": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + + +class 技能8(主动技能): + 名称 = "龙之撕咬" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 1628, 1794, 1960, 2124, 2291, 2455, 2620, 2787, 2953, 3117, 3281, 3447, 3612, 3778, 3944, 4108, 4273, 4439, 4604, 4772, 4938, 5100, 5266, 5434, 5596, 5763, 5927, 6093, 6258, 6425, 6588, 6754, 6920, 7085, 7251, 7418, 7579, 7746, 7912, 8077, 8243, 8408, 8573, 8739, 8904, 9069, 9235, 9400, 9565, 9731, 9897, 10061, 10226, 10392, 10557, 10723, 10889, 11052, 11218, 11384, 11550, 11715, 11880, 12047, 12211, 12376, 12541, 12708, 12874, 13039] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "龙翼穿刺" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [200, 1820] + 无色消耗 = 1 + data0 = [0, 209, 229, 249, 272, 293, 313, 333, 356, 379, 396, 420, 441, 463, 485, 504, 525, 547, 568, 588, 610, 633, 652, 672, 694, 717, 737, 757, 780, 800, 821, 841, 864, 885, 905, 930, 949, 970, 990, 1014, 1032, 1054, 1077, 1098, 1117, 1138, 1161, 1182, 1201, 1223, 1246, 1265, 1288, 1307, 1330, 1349, 1373, 1394, 1415, 1436, 1457, 1480, 1500, 1521, 1542, 1564, 1584, 1605, 1627, 1649, 1668] + hit0 = 2 + data1 = [0, 12764, 14059, 15355, 16651, 17946, 19240, 20535, 21832, 23125, 24421, 25715, 27010, 28306, 29600, 30897, 32191, 33485, 34780, 36074, 37372, 38667, 39962, 41256, 42550, 43845, 45141, 46437, 47731, 49028, 50321, 51615, 52912, 54206, 55502, 56797, 58093, 59386, 60681, 61977, 63272, 64567, 65862, 67159, 68451, 69746, 71042, 72337, 73633, 74928, 76221, 77517, 78811, 80107, 81401, 82699, 83993, 85286, 86582, 87877, 89172, 90468, 91761, 93057, 94353, 95647, 96942, 98239, 99532, 100827, 102121] + hit1 = 1 + data2 = [0, 13983, 15391, 16814, 18236, 19654, 21066, 22486, 23910, 25329, 26738, 28160, 29582, 31007, 32426, 33835, 35256, 36680, 38102, 39508, 40929, 42354, 43776, 45184, 46605, 48027, 49448, 50860, 52279, 53702, 55122, 56532, 57953, 59374, 60797, 62219, 63629, 65050, 66473, 67895, 69301, 70724, 72146, 73568, 74977, 76396, 77822, 79240, 80650, 82071, 83495, 84916, 86336, 87745, 89168, 90591, 92014, 93421, 94842, 96263, 97688, 99101, 100518, 101940, 103358, 104777, 106195, 107614, 109034, 110452, 111871] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ['常规', '撕咬'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.hit0 = 2 + self.hit1 = 1 + self.hit2 = 0 + if 形态 == "撕咬": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + + +class 技能10(主动技能): + 名称 = "飞龙斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [105, 882] + 无色消耗 = 1 + data0 = [0, 7784, 8575, 9362, 10150, 10945, 11734, 12525, 13312, 14100, 14899, 15686, 16477, 17266, 18051, 18849, 19636, 20423, 21216, 22003, 22798, 23586, 24373, 25166, 25955, 26748, 27536, 28325, 29116, 29905, 30695, 31485, 32275, 33064, 33855, 34642, 35432, 36225, 37017, 37805, 38592, 39385, 40174, 40966, 41755, 42542, 43334, 44122, 44914, 45704, 46492, 47283, 48078, 48863, 49658, 50444, 51231, 52026, 52815, 53608, 54396, 55185, 55976, 56763, 57557, 58348, 59137, 59924, 60717, 61509, 62297] + hit0 = 1 + data1 = [0, 11434, 12593, 13754, 14915, 16074, 17234, 18398, 19556, 20713, 21874, 23035, 24197, 25356, 26517, 27677, 28834, 29995, 31155, 32316, 33476, 34636, 35796, 36958, 38116, 39277, 40437, 41595, 42756, 43916, 45078, 46239, 47398, 48558, 49718, 50878, 52039, 53198, 54358, 55520, 56677, 57838, 58997, 60159, 61319, 62480, 63639, 64796, 65958, 67118, 68278, 69440, 70599, 71757, 72921, 74079, 75241, 76401, 77559, 78720, 79880, 81041, 82200, 83360, 84521, 85682, 86841, 88003, 89162, 90322, 91481] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1 + 0.5 * 1.7 + self.CDR *= 0.9 + + +class 技能11(被动技能): + 名称 = '大胃王' + 所在等级 = 35 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + 是否有伤害 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.0 + 0.01 * self.等级, 5) + else: + return round(0.9 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "龙刃无双" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [188, 1579] + 无色消耗 = 1 + data0 = [0, 24702, 27210, 29712, 32220, 34728, 37235, 39737, 42245, 44749, 47255, 49763, 52270, 54773, 57281, 59787, 62295, 64799, 67306, 69813, 72317, 74823, 77331, 79835, 82342, 84849, 87356, 89859, 92367, 94874, 97378, 99885, 102392, 104895, 107403, 109910, 112417, 114921, 117428, 119934, 122439, 124946, 127453, 129956, 132462, 134969, 137478, 139981, 142488, 144994, 147498, 150005, 152513, 155018, 157524, 160031, 162537, 165041, 167549, 170056, 172560, 175068, 177574, 180079, 182585, 185092, 187600, 190104, 192611, 195116, 197623] + hit0 = 0 + data1 = [0, 26030, 28671, 31314, 33952, 36595, 39235, 41875, 44517, 47157, 49799, 52438, 55081, 57719, 60361, 63003, 65643, 68286, 70926, 73566, 76208, 78848, 81489, 84132, 86769, 89412, 92052, 94694, 97334, 99976, 102617, 105256, 107899, 110539, 113181, 115822, 118461, 121103, 123744, 126384, 129026, 131664, 134307, 136945, 139588, 142229, 144870, 147511, 150151, 152793, 155433, 158076, 160717, 163356, 165996, 168638, 171280, 173921, 176560, 179201, 181844, 184482, 187123, 189766, 192406, 195047, 197689, 200328, 202969, 205610, 208251] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 形态 = ['上挑', '平砍'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "上挑": + self.hit0 = 0 + self.hit1 = 1 + if 形态 == "平砍": + self.hit0 = 1 + self.hit1 = 0 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能13(主动技能): + 名称 = "魔龙之息" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [222, 2225] + 无色消耗 = 2 + data0 = [0, 3366, 3706, 4048, 4389, 4732, 5072, 5415, 5755, 6097, 6439, 6780, 7124, 7463, 7807, 8146, 8488, 8828, 9170, 9515, 9853, 10197, 10536, 10879, 11218, 11564, 11903, 12245, 12590, 12927, 13272, 13612, 13953, 14295, 14638, 14978, 15319, 15661, 16002, 16345, 16686, 17027, 17368, 17710, 18050, 18394, 18734, 19076, 19416, 19760, 20104, 20442, 20786, 21124, 21468, 21808, 22150, 22490, 22832, 23173, 23515, 23857, 24197, 24539, 24880, 25220, 25562, 25903, 26244, 26586, 26926] + hit0 = 13 + data1 = [0, 2229, 2452, 2681, 2908, 3133, 3359, 3586, 3812, 4037, 4263, 4492, 4716, 4942, 5169, 5394, 5620, 5848, 6075, 6299, 6527, 6751, 6978, 7203, 7427, 7653, 7882, 8107, 8333, 8559, 8784, 9012, 9237, 9463, 9690, 9915, 10142, 10368, 10594, 10820, 11048, 11273, 11500, 11724, 11950, 12179, 12403, 12629, 12857, 13082, 13309, 13535, 13760, 13986, 14213, 14439, 14665, 14890, 15118, 15345, 15568, 15796, 16023, 16249, 16475, 16701, 16927, 17154, 17380, 17606, 17831] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 护石CD缩减 = 0 + 形态 = ["脱手", "骑乘"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "脱手": + self.hit0 = 13 + self.hit1 = 0 + if 形态 == "骑乘": + self.hit0 = 0 + self.hit1 = 23 + if '魔龙之息' in char.护石栏: + self.hit1 = 25 + self.power1 = 1.07 + self.护石CD缩减 = 4 + + def 等效CD(self, **argv): + 额外恢复 = argv.get('额外恢复', 1.0) + + return super().等效CD(**argv) - self.护石CD缩减/(self.恢复+额外恢复) + + def 装备护石(self, char): + self.power0 *= 1.30 + self.CDR *= 0.9 + + +class 技能14(主动技能): + 名称 = "魔龙之力" + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 无色消耗 = 0 + data0 = [0, 1234, 1431, 1627, 1825, 2022, 2217, 2415, 2611, 2808, 3006, 3202, 3399, 3596, 3792, 3989, 4184, 4382, 4580, 4776, 4973, 5170, 5366, 5564, 5761, 5957, 6154, 6351, 6546, 6746, 6943, 7138, 7335, 7532, 7728, 7925, 8123, 8319, 8516, 8712, 8909, 9107, 9303, 9500, 9697, 9893, 10090, 10286, 10484, 10681, 10877] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否主动 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "雷光嘶吼" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 4324, 5325, 6331, 7332, 8335, 9337, 10340, 11341, 12347, 13349, 14351, 15354, 16357, 17363, 18363, 19367, 20366, 21374, 22374, 23379, 24379, 25384, 26385, 27389, 28390, 29394, 30396, 31399, 32402, 33405, 34408, 35411, 36414, 37415, 38421, 39421, 40427, 41427, 42431, 43433, 44434, 45437, 46440, 47442, 48444, 49447, 50450, 51452, 52455, 53456] + hit0 = 8 + data1 = [0, 76888, 94718, 112549, 130375, 148205, 166037, 183867, 201694, 219525, 237355, 255184, 273011, 290842, 308673, 326501, 344332, 362160, 379990, 397818, 415650, 433478, 451307, 469138, 486968, 504796, 522625, 540455, 558285, 576113, 593943, 611774, 629603, 647432, 665260, 683092, 700920, 718751, 736579, 754411, 772238, 790068, 807896, 825728, 843557, 861387, 879217, 897046, 914875, 932706, 950535] + hit1 = 1 + + def 等效百分比(self, **argv): + if self.等级 > 8: + return super().等效百分比(**argv)*1.1 + return super().等效百分比(**argv) + + +class 技能16(主动技能): + 名称 = "龙皇制裁" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [280, 784] + 无色消耗 = 1 + data0 = [0, 40655, 44782, 48906, 53030, 57154, 61277, 65405, 69529, 73653, 77777, 81904, 86027, 90151, 94277, 98399, 102527, 106650, 110775, 114900, 119022, 123150, 127272, 131398, 135522, 139646, 143772, 147895, 152021, 156145, 160270, 164396, 168517, 172644, 176766, 180893, 185019, 189140, 193267, 197392, 201516, 205641, 209765, 213889, 218016, 222138, 226265, 230388, 234512, 238639, 242762] + hit0 = 1 + data1 = [0, 7161, 7888, 8613, 9342, 10066, 10792, 11522, 12247, 12972, 13699, 14426, 15150, 15877, 16605, 17331, 18056, 18785, 19510, 20236, 20964, 21691, 22416, 23144, 23871, 24598, 25324, 26051, 26777, 27504, 28230, 28957, 29684, 30410, 31136, 31863, 32589, 33316, 34041, 34768, 35494, 36221, 36948, 37673, 38400, 39127, 39852, 40579, 41308, 42033, 42758] + hit1 = 0 + data2 = [0, 4375, 4821, 5263, 5708, 6150, 6595, 7038, 7483, 7930, 8371, 8816, 9261, 9702, 10148, 10592, 11034, 11478, 11923, 12365, 12810, 13257, 13699, 14143, 14588, 15033, 15474, 15919, 16365, 16805, 17250, 17694, 18139, 18584, 19027, 19472, 19915, 20360, 20801, 21248, 21691, 22134, 22578, 23022, 23466, 23910, 24357, 24800, 25243, 25688, 26130] + hit2 = 0 + data3 = [0, 4773, 5258, 5741, 6228, 6711, 7195, 7678, 8164, 8649, 9130, 9617, 10102, 10587, 11070, 11555, 12037, 12524, 13007, 13491, 13974, 14461, 14946, 15429, 15914, 16397, 16881, 17366, 17851, 18334, 18820, 19303, 19789, 20275, 20757, 21241, 21724, 22212, 22692, 23179, 23663, 24146, 24632, 25116, 25602, 26084, 26570, 27054, 27538, 28020, 28507] + hit3 = 0 + data4 = [0, 8497, 9363, 10225, 11087, 11950, 12810, 13674, 14537, 15397, 16261, 17123, 17986, 18850, 19709, 20572, 21436, 22296, 23158, 24022, 24886, 25744, 26609, 27472, 28334, 29196, 30057, 30922, 31785, 32645, 33508, 34371, 35233, 36095, 36956, 37819, 38684, 39543, 40406, 41269, 42132, 42991, 43855, 44719, 45583, 46445, 47306, 48169, 49032, 49891, 50755] + hit4 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 6 + self.hit3 = 1 + self.hit4 = 1 + if '龙皇制裁' in char.护石栏: + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能17(主动技能): + 名称 = "魔龙天翔" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [756, 1587] + 无色消耗 = 2 + data0 = [0, 57973, 63852, 69733, 75612, 81497, 87379, 93259, 99143, 105023, 110903, 116788, 122668, 128549, 134430, 140310, 146191, 152072, 157955, 163836, 169716, 175599, 181478, 187360, 193241, 199121, 205004, 210884, 216767, 222647, 228527, 234411, 240290, 246173, 252054, 257937, 263817, 269699, 275581, 281462, 287343, 293226, 299107, 304987, 310869, 316753, 322635, 328515, 334396, 340277, 346159] + hit0 = 1 + data1 = [0, 21304, 23468, 25629, 27790, 29953, 32115, 34273, 36438, 38598, 40758, 42922, 45083, 47243, 49406, 51567, 53726, 55892, 58049, 60209, 62375, 64533, 66697, 68859, 71018, 73180, 75344, 77503, 79665, 81828, 83987, 86149, 88312, 90472, 92635, 94797, 96958, 99118, 101282, 103442, 105604, 107765, 109926, 112087, 114249, 116411, 118571, 120732, 122894, 125056, 127216] + hit1 = 0 + data2 = [0, 16571, 18251, 19933, 21614, 23297, 24976, 26656, 28339, 30021, 31703, 33381, 35063, 36745, 38425, 40108, 41786, 43468, 45150, 46832, 48512, 50192, 51875, 53557, 55238, 56918, 58602, 60281, 61963, 63643, 65325, 67007, 68687, 70369, 72049, 73730, 75411, 77094, 78775, 80456, 82135, 83818, 85497, 87180, 88861, 90543, 92223, 93906, 95586, 97267, 98949] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 形态 = ["脱手", "骑乘"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "脱手": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if '魔龙天翔' in char.护石栏: + self.power0 = 1.26 + if 形态 == "骑乘": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 3 + if '魔龙天翔' in char.护石栏: + self.power1 = 1.31 + self.power2 = 1.31 + + def 装备护石(self, char): + pass + + +class 技能18(主动技能): + 名称 = "魔龙星落" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 7219, 7953, 8686, 9417, 10151, 10882, 11615, 12349, 13080, 13813, 14545, 15278, 16011, 16744, 17474, 18208, 18942, 19672, 20405, 21139, 21871, 22603, 23335, 24068, 24800, 25533, 26265, 26998, 27730, 28462, 29198, 29929, 30662, 31394, 32130, 32861, 33592, 34325, 35056, 35790, 36523, 37253, 37986, 38721, 39454, 40184, 40918, 41649, 42383, 43115] + hit0 = 9 + data1 = [0, 43324, 47719, 52114, 56510, 60905, 65301, 69697, 74092, 78487, 82881, 87276, 91674, 96068, 100464, 104860, 109255, 113649, 118047, 122441, 126836, 131232, 135627, 140020, 144416, 148813, 153208, 157602, 161998, 166393, 170788, 175184, 179580, 183973, 188370, 192764, 197160, 201557, 205951, 210345, 214743, 219136, 223531, 227931, 232325, 236718, 241116, 245509, 249904, 254298, 258697] + hit1 = 1 + data2 = [0, 4517, 4974, 5435, 5890, 6348, 6807, 7266, 7724, 8183, 8641, 9098, 9557, 10016, 10473, 10932, 11390, 11847, 12305, 12764, 13225, 13681, 14139, 14597, 15056, 15514, 15973, 16431, 16888, 17347, 17805, 18264, 18721, 19180, 19637, 20098, 20553, 21015, 21472, 21929, 22387, 22846, 23304, 23763, 24221, 24679, 25137, 25594, 26053, 26513, 26970] + hit2 = 0 + data3 = [0, 11293, 12435, 13583, 14729, 15875, 17021, 18165, 19309, 20457, 21603, 22749, 23894, 25040, 26184, 27331, 28476, 29622, 30766, 31914, 33059, 34202, 35350, 36494, 37642, 38787, 39930, 41077, 42223, 43370, 44514, 45659, 46806, 47950, 49098, 50243, 51387, 52534, 53679, 54824, 55970, 57116, 58260, 59407, 60553, 61697, 62844, 63989, 65135, 66282, 67423] + hit3 = 0 + data4 = [0, 33878, 37312, 40752, 44188, 47624, 51061, 54499, 57935, 61372, 64808, 68246, 71682, 75118, 78556, 81993, 85429, 88867, 92303, 95741, 99178, 102614, 106051, 109488, 112924, 116361, 119796, 123236, 126671, 130107, 133544, 136981, 140417, 143855, 147292, 150730, 154166, 157602, 161039, 164476, 167912, 171350, 174786, 178224, 181660, 185096, 188533, 191969, 195407, 198845, 202281] + hit4 = 0 + 是否有护石 = 1 + + 形态 = ["单独", "共同"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "单独": + self.hit0 = 9 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + + if 形态 == "共同": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 15 + self.hit3 = 1 + self.hit4 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能19(被动技能): + 名称 = '龙神血脉' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.21 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "征战无双" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 52230, 57528, 62828, 68127, 73428, 78725, 84025, 89325, 94623, 99923, 105219, 110520, 115816, 121116, 126415, 131716, 137013, 142316, 147613, 152912, 158208, 163509, 168808, 174108, 179404, 184705, 190002, 195302, 200600, 205902, 211201, 216497, 221796, 227096, 232393, 237694, 242992, 248290, 253590, 258887, 264190, 269487, 274786, 280084, 285384, 290682, 295982, 301279, 306579, 311875] + hit0 = 1 + data1 = [0, 80549, 88722, 96894, 105065, 113237, 121410, 129580, 137754, 145924, 154097, 162270, 170439, 178612, 186784, 194955, 203128, 211301, 219472, 227643, 235817, 243987, 252157, 260333, 268503, 276673, 284848, 293018, 301189, 309363, 317534, 325704, 333880, 342050, 350220, 358396, 366565, 374735, 382912, 391082, 399252, 407425, 415598, 423768, 431941, 440112, 448283, 456456, 464628, 472798, 480972] + hit1 = 1 + data2 = [0, 4029, 4434, 4844, 5252, 5662, 6070, 6477, 6886, 7294, 7705, 8112, 8522, 8930, 9336, 9747, 10155, 10565, 10973, 11381, 11791, 12198, 12606, 13017, 13424, 13832, 14242, 14649, 15057, 15469, 15875, 16283, 16694, 17100, 17512, 17918, 18326, 18737, 19144, 19552, 19961, 20370, 20780, 21187, 21596, 22007, 22413, 22821, 23230, 23639, 24046] + hit2 = 0 + + 是否有护石 = 1 + + 形态 = ["单独", "骑乘", "延长"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "单独": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + if '征战无双' in char.护石栏: + self.power1 = 1.16*1.23 + if 形态 == "延长": + if '征战无双' in char.护石栏: + self.hit0 = 0 + self.hit1 = 1 + self.power1 = 1.16*0.9 + self.hit2 = 28 + else: + 形态 = "骑乘" + if 形态 == "骑乘": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 20 + if '征战无双' in char.护石栏: + self.power1 = 1.16*1.28 + + def 装备护石(self, char): + self.power0 = 1.16 + self.power1 = 1.16*1.23 + self.power2 = 1.16 + self.CDR *= 0.9 + + +class 技能21(主动技能): + 名称 = "龙神裁决:终末之光" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 308051, 379486, 450916, 522351, 593784, 665215, 736649, 808079, 879512, 950948, 1022377, 1093812, 1165244, 1236678, 1308108, 1379542, 1450974, 1522405, 1593840, 1665270, 1736705, 1808138, 1879569, 1951003, 2022434, 2093866, 2165302, 2236731, 2308166, 2379598, 2451031, 2522463, 2593896, 2665328, 2736760, 2808194, 2879627, 2951058, 3022495, 3093923, 3165358, 3236792, 3308222, 3379656, 3451088, 3522520, 3593956, 3665386, 3736817, 3808250] + hit0 = 1 + + +class 技能22(主动技能): + 名称 = "龙哮雷鸣" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 18794, 20701, 22611, 24517, 26422, 28329, 30237, 32144, 34050, 35956, 37862, 39771, 41678, 43584, 45490, 47397, 49304, 51212, 53118, 55026, 56932, 58837, 60746, 62652, 64560, 66466, 68371, 70279, 72186, 74094, 76001, 77908, 79815, 81721, 83628, 85534, 87440, 89348, 91255, 93162, 95068, 96976, 98883, 100791, 102696, 104602, 106510, 108416, 110322, 112232] + hit0 = 5 + data1 = [0, 140969, 155270, 169572, 183874, 198175, 212476, 226775, 241079, 255381, 269682, 283982, 298282, 312585, 326886, 341188, 355490, 369788, 384091, 398392, 412695, 426996, 441295, 455598, 469897, 484200, 498503, 512803, 527106, 541404, 555707, 570010, 584309, 598612, 612911, 627214, 641513, 655816, 670119, 684418, 698721, 713020, 727323, 741625, 755925, 770228, 784526, 798829, 813131, 827431, 841734] + hit1 = 1 + + +class 技能23(被动技能): + 名称 = '龙血誓约' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = "龙神君临·虚空烬灭" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 77936, 96009, 114082, 132153, 150227, 168299, 186373, 204442, 222515, 240588, 258660, 276734, 294806, 312880, 330948, 349024, 367095, 385170, 403238, 421310, 439387, 457456, 475529, 493601, 511675, 529747, 547819, 565891, 583965, 602038, 620108, 638183, 656253, 674327, 692397, 710472, 728544, 746617, 764688, 782761, 800834, 818903, 836977, 855048, 873122, 891193, 909267, 927340, 945413, 963485] + hit0 = 1 + data1 = [0, 38969, 48003, 57039, 66079, 75112, 84147, 93185, 102220, 111257, 120293, 129329, 138366, 147402, 156439, 165475, 174511, 183546, 192584, 201620, 210656, 219694, 228729, 237766, 246799, 255835, 264873, 273908, 282945, 291981, 301016, 310054, 319090, 328126, 337162, 346198, 355236, 364271, 373307, 382345, 391381, 400416, 409452, 418490, 427525, 436562, 445596, 454636, 463670, 472704, 481744] + hit1 = 8 + data2 = [0, 233812, 288028, 342246, 396463, 450680, 504897, 559115, 613333, 667551, 721765, 775982, 830202, 884417, 938635, 992853, 1047071, 1101289, 1155505, 1209720, 1263940, 1318157, 1372373, 1426591, 1480809, 1535024, 1589243, 1643460, 1697676, 1751894, 1806112, 1860328, 1914546, 1968762, 2022981, 2077198, 2131417, 2185631, 2239850, 2294068, 2348283, 2402500, 2456720, 2510936, 2565153, 2619370, 2673588, 2727805, 2782022, 2836240, 2890457] + hit2 = 1 + data3 = [0, 38969, 48003, 57039, 66079, 75112, 84147, 93185, 102220, 111257, 120293, 129329, 138366, 147402, 156439, 165475, 174511, 183546, 192584, 201620, 210656, 219694, 228729, 237766, 246799, 255835, 264873, 273908, 282945, 291981, 301016, 310054, 319090, 328126, 337162, 346198, 355236, 364271, 373307, 382345, 391381, 400416, 409452, 418490, 427525, 436562, 445596, 454636, 463670, 472704, 481744] + hit3 = 4 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'dragon_knight' + self.名称 = '皓曦·龙骑士' + self.角色 = '守护者' + self.角色类型 = '输出' + self.职业 = '龙骑士' + # 用来筛CP武器的 + self.转职 = '龙骑士' + self.武器选项 = ['太刀', '钝器', '巨剑', '短剑'] + self.输出类型选项 = ['物理固伤'] + self.防具精通属性 = ['力量'] + self.类型 = '物理固伤' + self.武器类型 = '太刀' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.850 + + super().__init__(equVersion) diff --git a/api/core/characters/dragoon.py b/api/core/characters/dragoon.py new file mode 100644 index 00000000..71cb882c --- /dev/null +++ b/api/core/characters/dragoon.py @@ -0,0 +1,553 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 国服特色 = 1.07 + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['猎杀枪'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '魔枪发射' + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [10, 115] + data0 = [0, 677, 748, 819, 885, 957, 1025, 1092, 1162, 1232, 1299, 1368, 1440, 1507, 1577, 1646, 1716, 1783, 1853, 1921, 1991, 2060, 2127, 2196, 2266, 2335, 2403, 2473, 2541, 2612, 2680, 2750, 2818, 2887, 2955, 3026, 3095, 3161, 3232, 3303, 3369, 3438, 3511, 3575, 3647, 3717, 3787, 3854, 3924, 3993, 4061, 4130, 4201, 4268, 4336, 4406, 4475, 4544, 4613, 4681, 4751, 4821, 4889, 4958, 5028, 5096, 5165, 5235, 5303, 5372, 5440] + hit0 = 4 + CD = 5.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = '隐鼠袭杀' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [35, 350] + data0 = [0, 3678, 4049, 4423, 4795, 5168, 5544, 5916, 6290, 6662, 7036, 7409, 7782, 8155, 8529, 8902, 9273, 9646, 10019, 10393, 10765, 11138, 11511, 11884, 12259, 12632, 13006, 13377, 13750, 14124, 14496, 14870, 15242, 15616, 15990, 16363, 16736, 17109, 17482, 17856, 18227, 18601, 18975, 19347, 19722, 20094, 20467, 20841, 21213, 21587, 21959, 22332, 22706, 23077, 23454, 23824, 24199, 24572, 24945, 25318, 25691, 26064, 26437, 26809, 27184, 27558, 27928, 28301, 28674, 29047, 29421] + hit0 = 1 + CD = 5.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = '猎杀枪' + 所在等级 = 15 + 等级上限 = 5 + 学习间隔 = 2 + 等级精通 = 1 + MP = [6, 140] + data0 = [0, 409, 452, 493, 535, 576] + hit0 = 1 + CD = 0.85 + TP成长 = 0.10 + TP上限 = 5 + + def 等效CD(self, **argv): + return 0.85 + + +class 技能4(被动技能): + 名称 = '光枪精通' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + + # 魔法攻击力加成 + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "光焰飞枪" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [50, 550] + 无色消耗 = 0 + data0 = [0, 918, 1009, 1102, 1197, 1288, 1382, 1475, 1569, 1662, 1753, 1847, 1940, 2034, 2125, 2221, 2314, 2407, 2498, 2591, 2686, 2779, 2870, 2963, 3056, 3152, 3245, 3337, 3429, 3523, 3614, 3708, 3802, 3894, 3989, 4080, 4175, 4268, 4362, 4452, 4545, 4640, 4733, 4827, 4919, 5011, 5106, 5198, 5291, 5384, 5478, 5568, 5664, 5757, 5850, 5943, 6034, 6129, 6222, 6316, 6407, 6502, 6594, 6688, 6781, 6873, 6967, 7060, 7152, 7245, 7338] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '狩猎本能' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "蛮横冲撞" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [65, 650] + 无色消耗 = 0 + data0 = [0, 1883, 2074, 2266, 2457, 2649, 2840, 3030, 3221, 3414, 3604, 3794, 3987, 4177, 4369, 4560, 4750, 4941, 5134, 5324, 5516, 5707, 5898, 6090, 6281, 6471, 6662, 6855, 7045, 7237, 7426, 7618, 7808, 8000, 8191, 8381, 8573, 8765, 8956, 9147, 9339, 9529, 9721, 9912, 10102, 10294, 10487, 10677, 10867, 11059, 11249, 11441, 11631, 11822, 12014, 12207, 12397, 12588, 12780, 12970, 13162, 13352, 13543, 13736, 13926, 14118, 14308, 14499, 14690, 14882, 15072] + hit0 = 1 + data1 = [0, 2293, 2525, 2758, 2990, 3221, 3455, 3688, 3921, 4153, 4386, 4619, 4849, 5083, 5315, 5550, 5782, 6014, 6247, 6478, 6712, 6943, 7178, 7410, 7645, 7875, 8106, 8341, 8571, 8805, 9038, 9272, 9504, 9737, 9968, 10200, 10433, 10666, 10900, 11131, 11366, 11596, 11830, 12062, 12293, 12528, 12760, 12994, 13224, 13457, 13690, 13923, 14156, 14388, 14623, 14854, 15085, 15319, 15551, 15785, 16017, 16250, 16482, 16713, 16947, 17179, 17412, 17646, 17877, 18112, 18343] + hit1 = 1 + data2 = [0, 764, 840, 919, 995, 1072, 1152, 1227, 1307, 1383, 1461, 1539, 1616, 1694, 1772, 1849, 1928, 2004, 2083, 2159, 2238, 2313, 2393, 2470, 2547, 2626, 2700, 2780, 2855, 2935, 3013, 3089, 3167, 3245, 3322, 3402, 3476, 3556, 3632, 3710, 3787, 3865, 3942, 4020, 4098, 4175, 4254, 4332, 4408, 4486, 4563, 4642, 4716, 4795, 4875, 4950, 5030, 5104, 5183, 5260, 5338, 5417, 5494, 5571, 5648, 5726, 5804, 5882, 5959, 6035, 6115] + hit2 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "猎杀枪:掠食" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [30, 500] + 无色消耗 = 0 + data0 = [0, 6015, 6626, 7238, 7847, 8459, 9069, 9679, 10290, 10899, 11510, 12120, 12731, 13341, 13951, 14562, 15173, 15783, 16392, 17002, 17615, 18225, 18836, 19446, 20057, 20667, 21278, 21887, 22497, 23108, 23719, 24330, 24939, 25550, 26160, 26770, 27383, 27990, 28603, 29213, 29824, 30435, 31044, 31655, 32264, 32876, 33485, 34096, 34707, 35317, 35928, 36536, 37148, 37760, 38370, 38981, 39590, 40201, 40811, 41423, 42033, 42642, 43252, 43863, 44474, 45083, 45695, 46305, 46916, 47528, 48134] + hit0 = 1 + data1 = [0, 6179, 6808, 7433, 8059, 8687, 9314, 9940, 10568, 11195, 11821, 12448, 13076, 13704, 14329, 14956, 15583, 16211, 16836, 17465, 18091, 18717, 19347, 19973, 20598, 21225, 21853, 22479, 23107, 23735, 24360, 24987, 25616, 26242, 26869, 27494, 28120, 28749, 29376, 30005, 30631, 31256, 31883, 32509, 33138, 33766, 34391, 35018, 35646, 36272, 36898, 37527, 38153, 38779, 39408, 40034, 40660, 41287, 41916, 42543, 43169, 43796, 44423, 45048, 45676, 46305, 46931, 47557, 48185, 48811, 49437] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ['地面', '空中'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "空中": + self.hit0 = 0 + self.hit1 = 1 + + +class 技能9(主动技能): + 名称 = "光焰枪" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [47, 700] + 无色消耗 = 0 + data0 = [0, 9334, 10279, 11229, 12174, 13120, 14070, 15015, 15964, 16911, 17856, 18804, 19751, 20698, 21645, 22592, 23539, 24486, 25432, 26379, 27325, 28273, 29220, 30166, 31114, 32061, 33007, 33955, 34902, 35849, 36796, 37743, 38689, 39637, 40585, 41530, 42478, 43426, 44371, 45319, 46267, 47212, 48161, 49108, 50053, 51002, 51949, 52894, 53843, 54790, 55737, 56683, 57628, 58577, 59524, 60469, 61418, 62365, 63312, 64259, 65206, 66153, 67100, 68048, 68994, 69941, 70889, 71835, 72782, 73729, 74675] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "猎杀枪:穿心" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [30, 500] + 无色消耗 = 0 + data0 = [0, 729, 802, 876, 949, 1022, 1095, 1171, 1244, 1318, 1391, 1466, 1539, 1614, 1687, 1761, 1835, 1908, 1982, 2055, 2131, 2203, 2277, 2350, 2425, 2498, 2573, 2648, 2721, 2793, 2867, 2941, 3014, 3089, 3164, 3238, 3311, 3384, 3457, 3532, 3607, 3680, 3754, 3827, 3901, 3973, 4049, 4123, 4197, 4270, 4344, 4417, 4492, 4564, 4639, 4713, 4786, 4861, 4935, 5009, 5083, 5156, 5229, 5303, 5376, 5451, 5524, 5600, 5674, 5746, 5820] + hit0 = 6 + data1 = [0, 2910, 3205, 3500, 3794, 4090, 4386, 4681, 4976, 5272, 5565, 5862, 6155, 6453, 6748, 7042, 7338, 7633, 7928, 8226, 8520, 8816, 9111, 9406, 9702, 9997, 10291, 10588, 10882, 11177, 11472, 11769, 12062, 12359, 12653, 12949, 13244, 13538, 13835, 14131, 14424, 14721, 15014, 15310, 15607, 15901, 16196, 16492, 16786, 17084, 17377, 17673, 17968, 18263, 18558, 18854, 19148, 19444, 19739, 20035, 20329, 20625, 20919, 21217, 21511, 21806, 22101, 22396, 22691, 22988, 23282] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 名称 = "光焰囚杀" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [45, 850] + 无色消耗 = 1 + data0 = [0, 6874, 7572, 8268, 8965, 9664, 10361, 11058, 11755, 12453, 13150, 13849, 14544, 15243, 15940, 16637, 17334, 18031, 18730, 19427, 20122, 20824, 21520, 22217, 22915, 23611, 24310, 25007, 25703, 26400, 27097, 27797, 28494, 29190, 29889, 30586, 31283, 31980, 32676, 33373, 34073, 34770, 35468, 36166, 36863, 37560, 38257, 38953, 39652, 40348, 41046, 41744, 42442, 43139, 43836, 44535, 45230, 45928, 46626, 47323, 48020, 48718, 49416, 50114, 50811, 51506, 52205, 52902, 53599, 54296, 54994] + hit0 = 1 + data1 = [0, 6874, 7572, 8268, 8965, 9664, 10361, 11058, 11755, 12453, 13150, 13849, 14544, 15243, 15940, 16637, 17334, 18031, 18730, 19427, 20122, 20824, 21520, 22217, 22915, 23611, 24310, 25007, 25703, 26400, 27097, 27797, 28494, 29190, 29889, 30586, 31283, 31980, 32676, 33373, 34073, 34770, 35468, 36166, 36863, 37560, 38257, 38953, 39652, 40348, 41046, 41744, 42442, 43139, 43836, 44535, 45230, 45928, 46626, 47323, 48020, 48718, 49416, 50114, 50811, 51506, 52205, 52902, 53599, 54296, 54994] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能12(主动技能): + 名称 = "利刃收割" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [45, 850] + 无色消耗 = 1 + data0 = [0, 1588, 1748, 1909, 2070, 2233, 2394, 2553, 2716, 2876, 3039, 3198, 3360, 3519, 3682, 3845, 4005, 4165, 4326, 4489, 4650, 4810, 4971, 5134, 5294, 5455, 5616, 5777, 5940, 6099, 6262, 6422, 6581, 6745, 6906, 7067, 7227, 7389, 7550, 7711, 7874, 8032, 8195, 8356, 8518, 8676, 8840, 9000, 9162, 9322, 9483, 9647, 9805, 9968, 10128, 10290, 10452, 10612, 10774, 10934, 11097, 11257, 11417, 11579, 11739, 11902, 12062, 12224, 12383, 12545, 12706] + hit0 = 4 + data1 = [0, 6355, 6996, 7641, 8285, 8932, 9577, 10221, 10866, 11509, 12154, 12798, 13443, 14088, 14734, 15379, 16022, 16666, 17310, 17956, 18601, 19244, 19889, 20534, 21178, 21824, 22468, 23113, 23757, 24402, 25046, 25691, 26336, 26980, 27626, 28267, 28915, 29560, 30204, 30847, 31490, 32136, 32780, 33425, 34069, 34716, 35361, 36003, 36648, 37292, 37938, 38583, 39227, 39872, 40515, 41161, 41805, 42450, 43096, 43740, 44385, 45027, 45672, 46318, 46963, 47608, 48252, 48898, 49542, 50185, 50830] + hit1 = 1 + data2 = [0, 6438, 7094, 7746, 8398, 9052, 9705, 10361, 11012, 11664, 12319, 12972, 13626, 14279, 14931, 15586, 16239, 16893, 17545, 18198, 18853, 19507, 20157, 20813, 21465, 22119, 22772, 23424, 24080, 24731, 25386, 26040, 26692, 27346, 27998, 28651, 29307, 29959, 30613, 31264, 31920, 32574, 33224, 33879, 34532, 35187, 35839, 36491, 37146, 37798, 38452, 39106, 39757, 40413, 41066, 41719, 42372, 43026, 43680, 44331, 44985, 45640, 46293, 46944, 47599, 48253, 48906, 49558, 50211, 50863, 51519] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ['击退', '上升'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "击退": + self.hit0 = 4 + self.hit1 = 1 + self.hit2 = 0 + if 形态 == "上升": + self.hit0 = 4 + self.hit1 = 0 + self.hit2 = 1 + + def 装备护石(self, char): + self.power0 = 1.18 + self.power1 = 1.2 + self.power2 = 1.2 + self.CDR *= 0.9 + + +class 技能13(主动技能): + 名称 = "鹰坠" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 17920, 19738, 21555, 23372, 25191, 27010, 28828, 30645, 32462, 34281, 36097, 37916, 39734, 41554, 43373, 45189, 47007, 48824, 50644, 52462, 54278, 56098, 57914, 59732, 61552, 63368, 65188, 67005, 68824, 70641, 72459, 74279, 76097, 77913, 79730, 81551, 83367, 85185, 87003, 88822, 90639, 92459, 94277, 96093, 97912, 99730, 101548, 103365, 105183, 107003, 108818, 110636, 112456, 114275, 116092, 117910, 119728, 121546, 123363, 125183, 127001, 128816, 130637, 132453, 134271, 136091, 137908, 139727, 141544, 143362] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.19 + self.CDR *= 0.9 + + +class 技能14(主动技能): + 名称 = "龙鳞碎割" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [250, 2500] + 无色消耗 = 2 + data0 = [0, 635, 700, 765, 827, 893, 957, 1023, 1086, 1151, 1217, 1281, 1343, 1408, 1473, 1538, 1603, 1667, 1732, 1797, 1860, 1925, 1989, 2056, 2119, 2185, 2248, 2313, 2377, 2440, 2505, 2569, 2635, 2699, 2765, 2827, 2894, 2957, 3023, 3086, 3151, 3216, 3281, 3344, 3409, 3475, 3537, 3603, 3666, 3732, 3795, 3860, 3924, 3989, 4054, 4119, 4183, 4248, 4314, 4377, 4442, 4506, 4569, 4636, 4699, 4764, 4827, 4893, 4957, 5023, 5086] + hit0 = 20 + data1 = [0, 19076, 21011, 22946, 24883, 26817, 28753, 30687, 32622, 34558, 36493, 38429, 40363, 42298, 44237, 46170, 48105, 50040, 51977, 53911, 55847, 57783, 59716, 61652, 63587, 65523, 67458, 69392, 71331, 73265, 75199, 77134, 79070, 81006, 82941, 84877, 86811, 88746, 90679, 92617, 94552, 96486, 98425, 100358, 102294, 104231, 106164, 108099, 110035, 111971, 113905, 115840, 117778, 119712, 121646, 123580, 125517, 127451, 129387, 131325, 133259, 135193, 137127, 139065, 141000, 142934, 144872, 146806, 148741, 150674, 152611] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 20 + self.power0 = 0.7 + self.power1 = 1.13 + self.CDR *= 0.9 + + +class 技能15(被动技能): + 名称 = '枪魂感知' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = "逐云灭龙杀" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [980, 8232] + 无色消耗 = 5 + data0 = [0, 4377, 5393, 6408, 7425, 8440, 9457, 10471, 11486, 12502, 13518, 14534, 15549, 16564, 17580, 18596, 19612, 20628, 21642, 22656, 23672, 24690, 25704, 26719, 27735, 28750, 29767, 30782, 31798, 32813, 33828, 34844, 35861, 36876, 37892, 38906, 39923, 40938, 41950, 42967, 43982, 44998, 46013, 47029, 48045, 49060, 50076, 51090, 52107, 53124, 54138] + hit0 = 1 + data1 = [0, 3065, 3775, 4486, 5196, 5907, 6620, 7331, 8041, 8752, 9464, 10174, 10884, 11597, 12306, 13017, 13727, 14440, 15149, 15859, 16571, 17280, 17991, 18702, 19416, 20125, 20836, 21547, 22259, 22968, 23680, 24391, 25101, 25811, 26524, 27234, 27944, 28654, 29367, 30076, 30787, 31500, 32211, 32920, 33631, 34344, 35055, 35764, 36476, 37186, 37895] + hit1 = 10 + data2 = [0, 52551, 64738, 76923, 89110, 101295, 113481, 125669, 137855, 150039, 162226, 174413, 186598, 198784, 210971, 223157, 235345, 247528, 259713, 271901, 284087, 296271, 308459, 320645, 332832, 345015, 357202, 369389, 381574, 393762, 405947, 418133, 430320, 442504, 454689, 466878, 479064, 491250, 503436, 515622, 527808, 539997, 552180, 564366, 576551, 588739, 600923, 613110, 625295, 637484, 649667] + hit2 = 1 + + +class 技能17(主动技能): + 名称 = "天龙破" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 4084, 4498, 4911, 5326, 5743, 6156, 6569, 6984, 7398, 7812, 8227, 8641, 9057, 9471, 9885, 10299, 10713, 11126, 11542, 11958, 12369, 12785, 13200, 13613, 14029, 14443, 14857, 15271, 15687, 16100, 16513, 16929, 17344, 17758, 18173, 18586, 19000, 19417, 19832, 20243, 20658, 21073, 21486, 21903, 22318, 22730, 23145, 23560, 23974, 24387] + hit0 = 4 + data1 = [0, 10891, 11998, 13103, 14205, 15311, 16415, 17522, 18626, 19730, 20836, 21943, 23046, 24150, 25257, 26361, 27466, 28571, 29676, 30781, 31886, 32990, 34098, 35202, 36305, 37412, 38517, 39621, 40725, 41832, 42936, 44043, 45145, 46251, 47357, 48462, 49567, 50671, 51777, 52881, 53987, 55091, 56195, 57302, 58405, 59512, 60616, 61722, 62826, 63932, 65035] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "空中": + if '天龙破' in char.护石栏: + self.hit0 = 0 + self.hit1 = 1 + self.power1 = 1.48*2.25 + else: + 形态 = "地面" + if 形态 == "地面": + self.hit0 = 4 + self.hit1 = 1 + if '天龙破' in char.护石栏: + self.hit0 = 2 + self.hit1 = 1 + self.power0 = 2.28+0.24 + self.power1 = 1.48 + + def 装备护石(self, char): + pass + + +class 技能18(主动技能): + 名称 = "地龙狩" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 42637, 46964, 51287, 55616, 59939, 64265, 68593, 72916, 77243, 81567, 85893, 90219, 94544, 98869, 103195, 107523, 111845, 116174, 120498, 124823, 129148, 133475, 137801, 142125, 146451, 150779, 155101, 159429, 163754, 168080, 172404, 176730, 181056, 185381, 189709, 194033, 198360, 202685, 207008, 211337, 215661, 219987, 224311, 228639, 232961, 237288, 241617, 245939, 250267, 254590] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.68 + self.CD = 20.0 + + +class 技能19(主动技能): + 名称 = "凌空之狩" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 23642, 26039, 28437, 30838, 33236, 35634, 38031, 40431, 42829, 45227, 47625, 50024, 52423, 54823, 57222, 59620, 62019, 64415, 66815, 69212, 71610, 74008, 76407, 78806, 81205, 83603, 86004, 88401, 90799, 93198, 95597, 97994, 100392, 102791, 105190, 107587, 109987, 112387, 114785, 117184, 119582, 121981, 124379, 126777, 129173, 131575, 133971, 136369, 138767, 141170] + hit0 = 1 + data1 = [0, 53873, 59339, 64805, 70268, 75733, 81201, 86667, 92129, 97596, 103061, 108526, 113993, 119457, 124925, 130388, 135854, 141319, 146785, 152250, 157717, 163181, 168646, 174112, 179579, 185041, 190508, 195974, 201440, 206905, 212368, 217836, 223301, 228766, 234233, 239695, 245161, 250629, 256094, 261557, 267025, 272489, 277954, 283420, 288886, 294353, 299817, 305282, 310749, 316213, 321679] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.1*1.27 + self.power1 = 1.1*1.21 + + +class 技能20(被动技能): + 名称 = '狩猎之心' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "无尽杀戮" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [600, 5000] + 无色消耗 = 5 + data0 = [0, 2806, 3092, 3373, 3657, 3943, 4229, 4514, 4797, 5081, 5366, 5649, 5937, 6220, 6505, 6788, 7072, 7360, 7644, 7928, 8214, 8496, 8782, 9067, 9352, 9636, 9919, 10208, 10490, 10775, 11060, 11345, 11629, 11915, 12198, 12483, 12766, 13054, 13337, 13621, 13904, 14190, 14476, 14760, 15046, 15330, 15612, 15897, 16184, 16468, 16752] + hit0 = 11 + data1 = [0, 59412, 65438, 71464, 77492, 83519, 89544, 95572, 101599, 107628, 113655, 119683, 125709, 131738, 137765, 143793, 149820, 155848, 161873, 167898, 173926, 179954, 185982, 192009, 198037, 204064, 210093, 216120, 222145, 228173, 234200, 240227, 246254, 252283, 258310, 264338, 270364, 276390, 282417, 288444, 294473, 300500, 306528, 312555, 318580, 324608, 330635, 336664, 342690, 348718, 354745] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.18 + self.hit0 = 16 + self.hit1 = 2 + self.power0 = 1.35/(16/11) + self.power1 = 1.06/2 + + +class 技能22(主动技能): + 名称 = "绝命猎杀:死亡穿刺" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 114976, 141637, 168295, 194957, 221618, 248279, 274939, 301601, 328262, 354924, 381586, 408243, 434905, 461568, 488227, 514889, 541548, 568210, 594872, 621530, 648192, 674854, 701513, 728175, 754837, 781497, 808158, 834820, 861480, 888143, 914801, 941462, 968124, 994786, 1021445, 1048106, 1074768, 1101429, 1128091, 1154749, 1181411, 1208073, 1234733, 1261393, 1288055, 1314716, 1341377, 1368039, 1394697, 1421359] + hit0 = 1 + data1 = [0, 97731, 120394, 143056, 165719, 188382, 211046, 233705, 256369, 279030, 301696, 324359, 347020, 369682, 392344, 415008, 437669, 460333, 482995, 505657, 528318, 550983, 573644, 596306, 618971, 641634, 664296, 686958, 709621, 732282, 754945, 777609, 800270, 822931, 845595, 868257, 890922, 913586, 936247, 958908, 981570, 1004235, 1026896, 1049558, 1072221, 1094883, 1117545, 1140209, 1162871, 1185533, 1208198] + hit1 = 1 + + +class 技能23(被动技能): + 名称 = '狩魔之魂' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = "瞬光猎杀枪" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6666] + 无色消耗 = 7 + data0 = [0, 6081, 6701, 7316, 7932, 8551, 9167, 9784, 10402, 11018, 11636, 12252, 12871, 13487, 14103, 14722, 15338, 15954, 16573, 17189, 17806, 18423, 19040, 19658, 20274, 20892, 21509, 22125, 22743, 23360, 23977, 24593, 25211, 25828, 26445, 27063, 27679, 28296, 28914, 29530, 30148, 30764, 31382, 31999, 32615, 33233, 33850, 34466, 35085, 35701, 36319] + hit0 = 10 + data1 = [0, 91234, 100490, 109745, 119001, 128259, 137511, 146769, 156026, 165280, 174537, 183792, 193049, 202303, 211560, 220817, 230070, 239327, 248584, 257838, 267094, 276350, 285605, 294861, 304119, 313371, 322629, 331886, 341142, 350394, 359652, 368909, 378163, 387421, 396676, 405931, 415186, 424444, 433697, 442955, 452210, 461467, 470722, 479978, 489236, 498488, 507746, 517001, 526256, 535511, 544769] + hit1 = 1 + + +class 技能25(主动技能): + 名称 = "红月·狂狩盛宴" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 37318, 45973, 54625, 63279, 71933, 80587, 89239, 97893, 106547, 115200, 123855, 132508, 141161, 149815, 158469, 167122, 175776, 184428, 193083, 201736, 210390, 219043, 227698, 236351, 245004, 253659, 262311, 270966, 279619, 288272, 296925, 305580, 314233, 322886, 331539, 340194, 348847, 357502, 366155, 374807, 383463, 392115, 400769, 409421, 418076, 426729, 435382, 444038, 452690, 461343] + hit0 = 3 + data1 = [0, 447821, 551663, 655507, 759350, 863192, 967035, 1070879, 1174721, 1278564, 1382406, 1486249, 1590092, 1693935, 1797777, 1901621, 2005464, 2109305, 2213149, 2316992, 2420835, 2524681, 2628521, 2732368, 2836210, 2940053, 3043896, 3147739, 3251582, 3355423, 3459266, 3563109, 3666953, 3770795, 3874638, 3978481, 4082324, 4186167, 4290010, 4393852, 4497696, 4601539, 4705381, 4809223, 4913067, 5016909, 5120752, 5224595, 5328438, 5432281, 5536125] + hit1 = 1 + + 国服特色 = 1.08 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'dragoon' + self.名称 = '千魂·狩猎者' + self.角色 = '魔枪士' + self.角色类型 = '输出' + self.职业 = '狩猎者' + # 用来筛CP武器的 + self.武器选项 = ['光枪'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '光枪' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) diff --git a/api/core/characters/elemental_bomber.py b/api/core/characters/elemental_bomber.py new file mode 100644 index 00000000..07a73629 --- /dev/null +++ b/api/core/characters/elemental_bomber.py @@ -0,0 +1,565 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.05 + +class 技能0(主动技能): + 名称 = '魔球连射' + 所在等级 = 5 + 等级上限 = 11 + 基础等级 = 1 + data0 = [0+(108+2*i) for i in range(1, 11)] + hit0 = 5 + CD = 3 + MP = [22, 183] + + +class 技能1(被动技能): + 名称 = '元素融合' + 所在等级 = 15 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.095+0.005*self.等级, 5) + + +class 技能2(主动技能): + 名称 = "元素炮" + 所在等级 = 15 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + CD = 5 + MP = [31, 259] + 无色消耗 = 0 + data0 = [0, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600] + hit0 = 1 + + +class 技能3(主动技能): + 名称 = "属性变换" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 5 + 等级精通 = 60 + CD = 5 + MP = [181, 3134] + 无色消耗 = 0 + data0 = [0, 408, 503, 597, 693, 788, 884, 980, 1074, 1170, 1265, 1361, 1455, 1550, 1644, 1741, 1836, 1930, 2026, 2121, 2218, 2313, 2407, 2503, 2598, 2694, 2788, 2882, 2979, 3073, 3169, 3263, 3359, 3453, 3549, 3646, 3740, 3836, 3930, 4026, 4121, 4217, 4313, 4407, 4503, 4597, 4694, 4787, 4882, 4976, 5072, 5168, 5263, 5359, 5453, 5548, 5644, 5740, 5836, 5930, 6025, 6121, 6216, 6313, 6405, 6501, 6596, 6692, 6786, 6882, 6976] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 关联技能 = ['元素炮', '魔球连射'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round((self.data0[self.等级]*0.01) * (1+self.TP成长 * self.TP等级), 5) + + +class 技能4(被动技能): + 名称 = '元素之力' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + 每层加成 = [0, 7, 8, 10, 11, 13, 14, 15, 17, 18, 20, 21] + 关联技能 = ['元素炮'] + 额外倍率 = 0 + 层数 = 4 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1+(((0.01*self.每层加成[self.等级] + self.额外倍率)*self.层数) if self.额外倍率 > 0 else (0.01*self.每层加成[self.等级]*5)), 5) + + +class 技能5(主动技能): + 名称 = "冰晶坠" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 616] + 无色消耗 = 0 + data0 = [0, 721, 792, 866, 939, 1013, 1085, 1159, 1233, 1305, 1379, 1450, 1523, 1599, 1670, 1744, 1817, 1891, 1963, 2037, 2110, 2183, 2257, 2329, 2402, 2476, 2548, 2622, 2697, 2768, 2841, 2915, 2989, 3063, 3134, 3207, 3280, 3355, 3427, 3499, 3575, 3647, 3721, 3792, 3867, 3940, 4014, 4086, 4158, 4232, 4305, 4378, 4454, 4524, 4598, 4671, 4746, 4817, 4891, 4963, 5037, 5111, 5182, 5255, 5331, 5403, 5476, 5547, 5623, 5696, 5770] + hit0 = 7 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = '元素环绕' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + 是否有伤害 = 0 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03+0.005*self.等级, 5) + + +class 技能7(被动技能): + 名称 = '元素禁断' + 所在等级 = 25 + 基础等级 = 5 + 等级上限 = 5 + + 关联技能 = ['无'] + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['幻魔四重奏', '末日湮灭', '启源·微观宇宙'] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.8 + + +class 技能8(主动技能): + 名称 = "地炎" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [45, 476] + 无色消耗 = 0 + data0 = [0, 414, 456, 499, 540, 583, 624, 668, 710, 752, 793, 836, 880, 924, 964, 1007, 1047, 1091, 1134, 1176, 1218, 1260, 1301, 1343, 1386, 1429, 1473, 1511, 1556, 1598, 1641, 1683, 1725, 1767, 1809, 1851, 1895, 1935, 1978, 2021, 2063, 2105, 2147, 2189, 2233, 2273, 2315, 2360, 2400, 2443, 2485, 2528, 2570, 2614, 2655, 2696, 2738, 2782, 2824, 2867, 2909, 2952, 2993, 3035, 3076, 3121, 3162, 3205, 3247, 3287, 3330] + hit0 = 12 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "雷光链" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [100, 1050] + 无色消耗 = 0 + data0 = [0, 1809, 1993, 2179, 2359, 2544, 2727, 2911, 3095, 3280, 3462, 3645, 3830, 4016, 4199, 4383, 4565, 4750, 4932, 5119, 5301, 5485, 5668, 5853, 6036, 6219, 6404, 6589, 6771, 6955, 7138, 7322, 7507, 7691, 7873, 8057, 8241, 8426, 8609, 8792, 8977, 9160, 9343, 9529, 9713, 9897, 10079, 10262, 10447, 10632, 10815, 10997, 11181, 11368, 11550, 11734, 11919, 12101, 12284, 12468, 12654, 12837, 13020, 13203, 13387, 13572, 13756, 13940, 14121, 14306, 14490] + hit0 = 4 + TP成长 = 0.2 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "暗域扩张" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [80, 980] + 无色消耗 = 0 + data0 = [0, 10265, 11307, 12350, 13390, 14433, 15475, 16516, 17557, 18601, 19642, 20683, 21725, 22767, 23808, 24852, 25890, 26934, 27978, 29016, 30060, 31101, 32142, 33183, 34226, 35267, 36311, 37352, 38392, 39435, 40475, 41518, 42560, 43603, 44643, 45685, 46727, 47766, 48811, 49854, 50893, 51936, 52976, 54018, 55062, 56103, 57145, 58187, 59228, 60269, 61311, 62354, 63396, 64436, 65478, 66520, 67560, 68604, 69645, 70688, 71729, 72770, 73813, 74853, 75895, 76938, 77979, 79021, 80063, 81105, 82146] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(被动技能): + 名称 = '元素循环' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "冰晶之浴" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [150, 1148] + 无色消耗 = 0 + data0 = [0, 775, 853, 935, 1012, 1091, 1170, 1251, 1328, 1407, 1487, 1565, 1645, 1724, 1801, 1882, 1961, 2038, 2117, 2197, 2275, 2353, 2433, 2512, 2592, 2670, 2752, 2830, 2907, 2985, 3067, 3145, 3225, 3302, 3382, 3461, 3538, 3618, 3698, 3774, 3855, 3934, 4013, 4092, 4170, 4252, 4329, 4407, 4486, 4564, 4646, 4723, 4804, 4882, 4959, 5039, 5117, 5198, 5275, 5356, 5435, 5512, 5592, 5671, 5750, 5830, 5908, 5986, 6066, 6146, 6223] + hit0 = 14 + TP成长 = 0 + TP上限 = 1 + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + 额外恢复 = argv.get('额外恢复', 0) + + cdr = self.手搓CD() + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + self.形态变更(形态, char) + + return round(max(self.CD * (self.CDR*(0.75 if self.TP等级 > 0 else 1)) * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3) * self.CDR_O, 1) + + + +class 技能13(主动技能): + 名称 = "旋炎破" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1148] + 无色消耗 = 1 + data0 = [0, 1264, 1393, 1521, 1650, 1780, 1906, 2036, 2163, 2292, 2423, 2548, 2680, 2806, 2935, 3063, 3192, 3319, 3449, 3575, 3707, 3834, 3962, 4092, 4219, 4349, 4477, 4606, 4735, 4862, 4991, 5121, 5247, 5378, 5504, 5635, 5762, 5893, 6018, 6148, 6277, 6405, 6535, 6662, 6791, 6918, 7047, 7176, 7304, 7434, 7562, 7690, 7818, 7946, 8074, 8204, 8332, 8461, 8590, 8718, 8847, 8975, 9102, 9233, 9359, 9490, 9616, 9746, 9874, 10002, 10131] + hit0 = 6 + data1 = [0, 5064, 5579, 6093, 6607, 7121, 7636, 8148, 8664, 9177, 9692, 10204, 10718, 11231, 11746, 12260, 12775, 13288, 13802, 14315, 14829, 15344, 15858, 16372, 16887, 17400, 17914, 18427, 18942, 19456, 19970, 20486, 20999, 21513, 22027, 22541, 23055, 23568, 24082, 24598, 25112, 25625, 26139, 26653, 27167, 27680, 28197, 28709, 29224, 29736, 30252, 30764, 31279, 31790, 32309, 32823, 33336, 33851, 34366, 34879, 35394, 35906, 36420, 36934, 37449, 37962, 38476, 38990, 39504, 40018, 40532] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 无色消耗 = 1 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.30 + self.power1 = 1.34 + + +class 技能14(主动技能): + 名称 = "雷光屏障" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [350, 3080] + 无色消耗 = 1 + data0 = [0, 14067, 15494, 16922, 18351, 19776, 21205, 22632, 24059, 25486, 26915, 28341, 29766, 31194, 32622, 34049, 35476, 36906, 38331, 39758, 41185, 42614, 44041, 45467, 46896, 48322, 49750, 51177, 52602, 54033, 55459, 56888, 58314, 59742, 61170, 62595, 64023, 65450, 66879, 68305, 69733, 71159, 72590, 74016, 75445, 76873, 78298, 79726, 81151, 82579, 84007, 85433, 86859, 88288, 89717, 91145, 92571, 93998, 95424, 96853, 98280, 99707, 101133, 102563, 103989, 105416, 106844, 108272, 109700, 111125, 112554] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = (4 + 0.4) * (1 - 0.72) + + +class 技能15(主动技能): + 名称 = "黑暗禁域" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [300, 2520] + 无色消耗 = 1 + data0 = [0, 13288, 14636, 15983, 17333, 18678, 20029, 21377, 22725, 24074, 25420, 26770, 28119, 29466, 30814, 32160, 33509, 34859, 36206, 37555, 38903, 40252, 41600, 42950, 44296, 45643, 46992, 48342, 49689, 51037, 52386, 53735, 55083, 56429, 57781, 59126, 60476, 61824, 63171, 64521, 65870, 67218, 68564, 69913, 71262, 72611, 73957, 75308, 76653, 78004, 79353, 80697, 82049, 83393, 84745, 86092, 87440, 88789, 90136, 91485, 92832, 94181, 95530, 96877, 98224, 99576, 100921, 102272, 103619, 104967, 106316] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能16(主动技能): + 名称 = "元素轰炸" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [360, 3149] + 无色消耗 = 2 + data0 = [0, 4637, 5105, 5576, 6047, 6517, 6986, 7459, 7929, 8398, 8870, 9341, 9812, 10282, 10752, 11223, 11695, 12163, 12635, 13107, 13576, 14046, 14518, 14987, 15457, 15929, 16399, 16870, 17342, 17808, 18282, 18754, 19220, 19692, 20164, 20634, 21104, 21576, 22046, 22517, 22986, 23457, 23928, 24397, 24868, 25340, 25810, 26279, 26751, 27221, 27692, 28161, 28633, 29104, 29575, 30045, 30517, 30987, 31458, 31927, 32398, 32869, 33336, 33808, 34280, 34748, 35219, 35690, 36159, 36631, 37103] + hit0 = 1 + data1 = [0, 9274, 10215, 11155, 12097, 13037, 13978, 14923, 15862, 16804, 17745, 18686, 19624, 20566, 21507, 22447, 23389, 24332, 25272, 26213, 27155, 28095, 29036, 29978, 30918, 31858, 32802, 33742, 34684, 35624, 36565, 37506, 38447, 39388, 40329, 41271, 42211, 43154, 44095, 45035, 45977, 46918, 47857, 48797, 49739, 50684, 51622, 52563, 53506, 54446, 55386, 56329, 57269, 58209, 59154, 60093, 61032, 61975, 62916, 63856, 64797, 65739, 66678, 67621, 68561, 69503, 70446, 71385, 72327, 73269, 74209] + hit1 = 1 + data2 = [0, 424, 467, 512, 555, 596, 643, 684, 727, 772, 812, 858, 901, 943, 989, 1032, 1074, 1116, 1159, 1204, 1248, 1290, 1334, 1378, 1419, 1465, 1508, 1550, 1594, 1639, 1680, 1726, 1766, 1810, 1854, 1896, 1942, 1984, 2026, 2070, 2117, 2157, 2201, 2244, 2285, 2333, 2373, 2417, 2460, 2503, 2547, 2590, 2632, 2677, 2720, 2762, 2808, 2850, 2894, 2937, 2981, 3025, 3066, 3109, 3153, 3197, 3240, 3285, 3328, 3368, 3413] + hit2 = 45 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 2.26 + 0.27 + self.hit1 += 1.45 + 0.46 + self.hit2 = 0 + + +class 技能17(被动技能): + 名称 = '元素爆发' + 所在等级 = 48 + 等级上限 = 60 + 等级精通 = 50 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 16: + return round(1.015 + 0.015 * self.等级, 5) + else: + return round(1.255 + 0.020 * (self.等级 - 16), 5) + + +class 技能18(主动技能): + 名称 = "幻魔四重奏" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [600, 5040] + 无色消耗 = 5 + data0 = [0, 3265, 4022, 4780, 5538, 6294, 7051, 7811, 8568, 9325, 10084, 10839, 11598, 12358, 13114, 13872, 14631, 15387, 16145, 16903, 17659, 18418, 19175, 19933, 20689, 21447, 22206, 22963, 23719, 24479, 25237, 25995, 26752, 27511, 28267, 29024, 29783, 30541, 31297, 32056, 32811, 33569, 34328, 35085, 35842, 36599, 37358, 38117, 38874, 39632, 40391] + hit0 = 30 + + +class 技能19(主动技能): + 名称 = "元素浓缩球" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1260] + 无色消耗 = 1 + data0 = [0, 8162, 8992, 9820, 10648, 11477, 12305, 13133, 13962, 14790, 15619, 16447, 17275, 18103, 18933, 19761, 20589, 21416, 22245, 23075, 23904, 24731, 25560, 26387, 27217, 28046, 28873, 29701, 30532, 31358, 32188, 33015, 33843, 34673, 35500, 36328, 37157, 37985, 38815, 39642, 40470, 41298, 42129, 42956, 43784, 44612, 45440, 46270, 47098, 47926, 48755] + hit0 = 1 + data1 = [0, 19050, 20984, 22915, 24851, 26782, 28717, 30646, 32579, 34515, 36448, 38381, 40313, 42245, 44178, 46113, 48046, 49978, 51912, 53843, 55776, 57709, 59642, 61577, 63508, 65443, 67373, 69307, 71239, 73174, 75108, 77040, 78971, 80904, 82837, 84772, 86704, 88638, 90568, 92503, 94435, 96369, 98301, 100235, 102167, 104101, 106033, 107966, 109898, 111834, 113767] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 *= 1.60 + self.hit1 *= 1 + 0.1 * 2 + + +class 技能20(主动技能): + 名称 = "元素幻灭" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [935, 1960] + 无色消耗 = 2 + data0 = [0, 2252, 2481, 2710, 2941, 3166, 3393, 3624, 3853, 4082, 4310, 4541, 4768, 4997, 5224, 5455, 5682, 5911, 6143, 6369, 6597, 6825, 7056, 7285, 7512, 7742, 7972, 8199, 8424, 8656, 8885, 9114, 9343, 9572, 9800, 10030, 10259, 10485, 10715, 10943, 11174, 11400, 11630, 11859, 12089, 12316, 12543, 12772, 13003, 13231, 13460] + hit0 = 1 + data1 = [0, 42836, 47180, 51527, 55874, 60221, 64566, 68910, 73255, 77603, 81949, 86294, 90637, 94985, 99331, 103678, 108025, 112368, 116716, 121061, 125407, 129753, 134098, 138445, 142789, 147137, 151481, 155827, 160173, 164520, 168867, 173210, 177558, 181902, 186250, 190597, 194940, 199288, 203632, 207979, 212324, 216672, 221015, 225362, 229706, 234053, 238400, 242747, 247091, 251436, 255781] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 5.4 + self.power1 = 1.1 + + +class 技能21(主动技能): + 名称 = "元素禁域" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [800, 6000] + 无色消耗 = 3 + data0 = [0, 69396, 76437, 83474, 90518, 97560, 104597, 111639, 118680, 125719, 132760, 139801, 146841, 153882, 160922, 167962, 175003, 182045, 189085, 196125, 203165, 210206, 217247, 224284, 231329, 238370, 245408, 252448, 259489, 266527, 273569, 280612, 287650, 294692, 301732, 308773, 315813, 322853, 329893, 336936, 343975, 351015, 358056, 365097, 372139, 379179, 386216, 393257, 400296, 407338, 414378] + hit0 = 1 + + 是否有护石 = 1 + 护石CD缩减 = 0 + + def 装备护石(self, char): + self.倍率 *= 1.24 + self.护石CD缩减 = 0 + + def 等效CD(self, **argv): + 额外恢复 = argv.get('额外恢复', 1.0) + + return super().等效CD(**argv) - self.护石CD缩减/(self.恢复+额外恢复) + +class 技能22(被动技能): + 名称 = '黑瞳' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "聚能魔炮" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 88200, 97148, 106098, 115046, 123992, 132942, 141890, 150838, 159786, 168734, 177682, 186629, 195577, 204526, 213474, 222423, 231371, 240319, 249268, 258215, 267162, 276112, 285060, 294007, 302957, 311905, 320853, 329800, 338747, 347695, 356644, 365593, 374540, 383487, 392440, 401387, 410335, 419282, 428230, 437178, 446127, 455074, 464022, 472970, 481919, 490866, 499815, 508763, 517709, 526657] + hit0 = 1 + + 演出时间 = 1.5 + 是否有护石 = 1 + # 攻击倍率 = 1.083 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能24(主动技能): + 名称 = "末日湮灭" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 10697, 13179, 15661, 18143, 20624, 23107, 25587, 28068, 30550, 33031, 35512, 37993, 40476, 42957, 45438, 47919, 50402, 52883, 55363, 57846, 60325, 62809, 65290, 67771, 70253, 72734, 75215, 77699, 80177, 82660, 85142, 87622, 90105, 92586, 95067, 97550, 100031, 102511, 104992, 107475, 109958, 112437, 114919, 117401, 119881, 122363, 124844, 127326, 129806, 132290] + hit0 = 1 + data1 = [0, 889, 1096, 1304, 1511, 1716, 1923, 2129, 2336, 2542, 2751, 2956, 3164, 3370, 3577, 3786, 3992, 4197, 4405, 4611, 4816, 5024, 5232, 5440, 5645, 5851, 6058, 6266, 6473, 6679, 6887, 7094, 7300, 7506, 7713, 7919, 8127, 8332, 8539, 8747, 8952, 9161, 9368, 9574, 9781, 9987, 10195, 10402, 10607, 10815, 11021] + hit1 = 11 + data2 = [0, 192617, 237284, 281951, 326616, 371282, 415946, 460612, 505277, 549945, 594611, 639277, 683940, 728606, 773273, 817937, 862604, 907269, 951933, 996600, 1041267, 1085934, 1130599, 1175265, 1219930, 1264596, 1309261, 1353927, 1398592, 1443258, 1487923, 1532588, 1577254, 1621921, 1666589, 1711254, 1755920, 1800584, 1845249, 1889916, 1934581, 1979247, 2023913, 2068578, 2113243, 2157911, 2202576, 2247240, 2291908, 2336572, 2381237] + hit2 = 1 + + +class 技能25(被动技能): + 名称 = '异瞳' + 所在等级 = 95 + + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = "聚魔轰击" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6667] + 无色消耗 = 7 + data0 = [0, 8660, 9540, 10418, 11297, 12175, 13056, 13932, 14811, 15691, 16568, 17447, 18328, 19205, 20082, 20963, 21841, 22719, 23600, 24479, 25356, 26237, 27114, 27994, 28873, 29751, 30628, 31509, 32387, 33264, 34145, 35023, 35900, 36781, 37660, 38540, 39418, 40296, 41177, 42054, 42932, 43812, 44691, 45569, 46449, 47327, 48206, 49083, 49963, 50842, 51722] + hit0 = 20 + + +class 技能27(主动技能): + 名称 = "启源·微观宇宙" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 61459, 75708, 89960, 104211, 118463, 132715, 146966, 161218, 175468, 189720, 203970, 218222, 232474, 246725, 260977, 275227, 289479, 303731, 317981, 332232, 346485, 360736, 374986, 389239, 403489, 417741, 431993, 446243, 460497, 474748, 488999, 503250, 517502, 531753, 546005, 560256, 574507, 588758, 603009, 617261, 631513, 645764, 660015, 674268, 688519, 702768, 717021, 731271, 745523, 759775] + hit0 = 1 + data1 = [0, 10241, 12616, 14991, 17366, 19741, 22117, 24494, 26868, 29244, 31618, 33994, 36368, 38744, 41120, 43495, 45870, 48244, 50621, 52995, 55371, 57745, 60121, 62495, 64872, 67247, 69622, 71996, 74373, 76747, 79123, 81497, 83875, 86248, 88625, 90998, 93375, 95748, 98124, 100498, 102875, 105251, 107626, 110001, 112376, 114751, 117126, 119501, 121876, 124251, 126629] + hit1 = 12 + data2 = [0, 430211, 529971, 629730, 729491, 829250, 929009, 1028768, 1128529, 1228289, 1328049, 1427808, 1527568, 1627328, 1727088, 1826847, 1926606, 2026367, 2126125, 2225885, 2325645, 2425405, 2525165, 2624924, 2724684, 2824445, 2924202, 3023962, 3123722, 3223482, 3323244, 3423002, 3522760, 3622519, 3722280, 3822040, 3921800, 4021560, 4121321, 4221079, 4320838, 4420598, 4520358, 4620118, 4719878, 4819638, 4919395, 5019155, 5118916, 5218675, 5318435] + hit2 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'elemental_bomber' + self.名称 = '知源·元素爆破师' + self.角色 = '魔法师(男)' + + self.职业 = '元素爆破师' + self.武器选项 = ['魔杖', '法杖'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '魔杖' + self.防具类型 = '布甲' + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.07 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['元素炮']) + + def set_individuation(self, info): + info['char_optiopns'] = [ + { + "name": "属性变换属性(影响抗性)", + "option": ["火", "光", "冰", "暗"] + } + ] + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + 抗性 = [10, 10, 10, 10] + 抗性[self.get_individuation(0)] = 0 + self.火属性抗性加成(抗性[0]) + self.光属性抗性加成(抗性[1]) + self.冰属性抗性加成(抗性[2]) + self.暗属性抗性加成(抗性[3]) diff --git a/api/core/characters/elementalist.py b/api/core/characters/elementalist.py new file mode 100644 index 00000000..ee2e1c26 --- /dev/null +++ b/api/core/characters/elementalist.py @@ -0,0 +1,501 @@ +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 国服特色 = 1.05 + +class CP关联技能(主动技能): + cp_power = 1.0 + cp_cd = 1.0 + + 形态 = ['常规','CP'] + + def 形态变更(self, 形态, char: Character): + if 形态 == "CP": + self.cp_power = char.cp_power + self.cp_cd = char.cp_cd + else: + self.cp_power = 1.0 + self.cp_cd = 1.0 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.cp_power + + def 等效CD(self, **argv): + return super().等效CD(**argv)*self.cp_cd + +class 技能0(主动技能): + 名称 = "烈焰冲击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [40, 462] + 无色消耗 = 0 + data0 = [0, 3563, 3927, 4288, 4650, 5012, 5375, 5734, 6097, 6458, 6818, 7182, 7545, 7905, 8268, 8628, 8990, 9352, 9713, 10076, 10436, 10797, 11160, 11524, 11883, 12246, 12608, 12969, 13331, 13693, 14052, 14415, 14777, 15141, 15501, 15862, 16226, 16587, 16947, 17309, 17671, 18032, 18395, 18757, 19120, 19481, 19842, 20204, 20565, 20926, 21290, 21650, 22010, 22373, 22735, 23096, 23459, 23821, 24182, 24544, 24904, 25269, 25628, 25990, 26353, 26715, 27076, 27439, 27799, 28159, 28523] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(被动技能): + 名称 = '属性精通' + 所在等级 = 30 + 等级上限 = 15 + 基础等级 = 5 + 圣灵符文倍率 = 1.0 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + (0.30 + 0.02 * self.等级) * self.圣灵符文倍率, 5) + + def 等级加成(self, x, char: Character = {}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: + self.等级溢出 = 1 + else: + self.等级 += int(x) + char.所有属性抗性加成(x) + + +class 技能2(主动技能): + 名称 = "虚无之球" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [60, 616] + 无色消耗 = 0 + data0 = [0, 573, 630, 692, 748, 804, 862, 921, 978, 1035, 1094, 1154, 1210, 1270, 1327, 1386, 1443, 1502, 1561, 1616, 1678, 1734, 1794, 1848, 1909, 1966, 2025, 2083, 2144, 2197, 2257, 2315, 2374, 2429, 2490, 2545, 2604, 2660, 2722, 2780, 2837, 2897, 2956, 3011, 3067, 3128, 3184, 3246, 3301, 3361, 3417, 3477, 3533, 3593, 3648, 3710, 3767, 3824, 3884, 3941, 4000, 4055, 4117, 4173, 4230, 4291, 4348, 4405, 4462, 4522, 4581] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "冰墙" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [60, 616] + 无色消耗 = 0 + data0 = [0, 8834, 9729, 10622, 11516, 12419, 13309, 14204, 15098, 15999, 16894, 17788, 18683, 19576, 20476, 21372, 22264, 23159, 24061, 24954, 25849, 26743, 27642, 28535, 29430, 30324, 31228, 32120, 33016, 33909, 34810, 35705, 36596, 37491, 38395, 39284, 40178, 41072, 41975, 42869, 43764, 44657, 45557, 46453, 47346, 48240, 49142, 50038, 50930, 51824, 52723, 53617, 54512, 55406, 56308, 57201, 58097, 58990, 59890, 60785, 61678, 62573, 63470, 64365, 65260, 66153, 67053, 67950, 68844, 69744, 70635] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "雷旋" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [40, 462] + 无色消耗 = 0 + data0 = [0, 6303, 6942, 7581, 8221, 8860, 9499, 10139, 10778, 11417, 12057, 12696, 13335, 13975, 14614, 15254, 15894, 16533, 17172, 17812, 18451, 19090, 19730, 20369, 21008, 21648, 22287, 22926, 23566, 24206, 24845, 25485, 26124, 26763, 27403, 28042, 28681, 29321, 29960, 30599, 31239, 31878, 32517, 33158, 33797, 34436, 35076, 35715, 36354, 36994, 37633, 38272, 38912, 39551, 40190, 40830, 41470, 42109, 42749, 43388, 44027, 44667, 45306, 45945, 46585, 47224, 47863, 48503, 49142, 49781, 50422] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(CP关联技能): + 名称 = "天雷冲击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [125, 436] + 无色消耗 = 1 + data0 = [0, 4113, 4530, 4947, 5365, 5783, 6199, 6618, 7034, 7453, 7870, 8287, 8705, 9121, 9540, 9955, 10373, 10790, 11208, 11626, 12043, 12458, 12877, 13294, 13712, 14129, 14545, 14966, 15381, 15801, 16216, 16633, 17051, 17468, 17885, 18304, 18721, 19138, 19555, 19972, 20390, 20806, 21225, 21640, 22059, 22476, 22893, 23311, 23728, 24145, 24562, 24979, 25398, 25816, 26233, 26651, 27067, 27486, 27901, 28319, 28737, 29154, 29571, 29989, 30406, 30822, 31240, 31657, 32075, 32493, 32910] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 天雷攻击力增加率 = 1.55 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.天雷攻击力增加率 + + def 装备护石(self, char): + self.hit0 = 1 + self.天雷攻击力增加率 = 6.35 + + +class 技能6(CP关联技能): + 名称 = "极冰盛宴" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 19 + MP = [380, 3192] + 无色消耗 = 2 + data0 = [0, 1989, 2190, 2391, 2593, 2796, 2996, 3198, 3399, 3603, 3803, 4005, 4207, 4407, 4611, 4811, 5012, 5215, 5417, 5618, 5820, 6020, 6224, 6426, 6627, 6828, 7032, 7233, 7432, 7637, 7836, 8040, 8241, 8442, 8645, 8847, 9049, 9249, 9451, 9653, 9854, 10057, 10258, 10461, 10661, 10863, 11064, 11267, 11469, 11670, 11870, 12073, 12274, 12477, 12678, 12879, 13083, 13284, 13487, 13685, 13891, 14091, 14292, 14494, 14695, 14898, 15100, 15300, 15502, 15705, 15906] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能7(CP关联技能): + 名称 = "湮灭黑洞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 35 + MP = [300, 2520] + 无色消耗 = 2 + data0 = [0, 1387, 1529, 1668, 1809, 1950, 2093, 2232, 2373, 2514, 2656, 2794, 2936, 3076, 3220, 3359, 3500, 3639, 3781, 3921, 4063, 4202, 4345, 4485, 4625, 4765, 4907, 5049, 5190, 5329, 5471, 5611, 5751, 5892, 6033, 6172, 6316, 6456, 6598, 6736, 6878, 7019, 7159, 7300, 7442, 7581, 7723, 7863, 8006, 8145, 8286, 8427, 8569, 8707, 8849, 8989, 9133, 9272, 9413, 9552, 9694, 9834, 9976, 10115, 10258, 10398, 10539, 10679, 10821, 10962, 11103] + hit0 = 15 + data1 = [0, 6947, 7653, 8354, 9058, 9765, 10468, 11173, 11880, 12584, 13289, 13992, 14698, 15402, 16107, 16813, 17517, 18222, 18928, 19631, 20335, 21042, 21747, 22449, 23156, 23860, 24564, 25268, 25974, 26677, 27383, 28088, 28794, 29498, 30203, 30907, 31611, 32317, 33022, 33726, 34433, 35137, 35841, 36543, 37251, 37953, 38658, 39364, 40069, 40773, 41479, 42182, 42887, 43592, 44298, 45002, 45706, 46413, 47117, 47820, 48527, 49231, 49935, 50641, 51346, 52049, 52756, 53458, 54162, 54867, 55573] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 形态 = ['满', '秒炸', 'CP满','CP秒炸'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "秒炸": + self.hit0 = 2 + self.cp_power = 1.0 + self.cp_cd = 1.0 + if 形态 == "满": + self.hit0 = 15 + self.cp_power = 1.0 + self.cp_cd = 1.0 + if 形态 == "CP秒炸": + self.hit0 = 2 + self.cp_power = char.cp_power + self.cp_cd = char.cp_cd + if 形态 == "CP满": + self.hit0 = 15 + self.cp_power = char.cp_power + self.cp_cd = char.cp_cd + + def 装备护石(self, char): + self.data2 = self.data0 + self.hit2 = 10 + self.power2 = 0.34 + 0.4 + + +class 技能8(CP关联技能): + 名称 = "杰克降临" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [160, 1344] + 无色消耗 = 2 + data0 = [0, 6090, 6709, 7327, 7947, 8561, 9180, 9800, 10416, 11037, 11652, 12270, 12890, 13507, 14127, 14743, 15360, 15981, 16596, 17217, 17834, 18454, 19068, 19686, 20307, 20924, 21543, 22163, 22776, 23397, 24014, 24634, 25250, 25867, 26486, 27103, 27724, 28340, 28959, 29579, 30194, 30814, 31430, 32049, 32669, 33284, 33905, 34520, 35141, 35757, 36376, 36993, 37611, 38230, 38848, 39465, 40085, 40701, 41321, 41937, 42556, 43175, 43791, 44411, 45027, 45644, 46263, 46883, 47504, 48118, 48735] + hit0 = 1 + data1 = [0, 24368, 26841, 29312, 31783, 34257, 36728, 39200, 41674, 44146, 46618, 49091, 51561, 54034, 56508, 58979, 61448, 63923, 66395, 68867, 71339, 73814, 76283, 78757, 81228, 83701, 86173, 88646, 91118, 93591, 96059, 98534, 101005, 103478, 105952, 108422, 110894, 113369, 115839, 118312, 120786, 123257, 125728, 128199, 130674, 133146, 135615, 138091, 140563, 143032, 145507, 147978, 150449, 152924, 155394, 157866, 160341, 162812, 165285, 167755, 170228, 172702, 175171, 177646, 180119, 182588, 185061, 187534, 190005, 192480, 194949] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 0.1 * 4 + self.power1 = 1.54 + + +class 技能9(CP关联技能): + 名称 = "元素之幕" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1000] + 无色消耗 = 2 + data0 = [0, 1139, 1256, 1370, 1486, 1602, 1718, 1835, 1949, 2065, 2181, 2296, 2411, 2528, 2643, 2758, 2875, 2990, 3106, 3221, 3337, 3452, 3569, 3683, 3800, 3916, 4031, 4147, 4262, 4378, 4495, 4609, 4725, 4841, 4957, 5071, 5188, 5303, 5419, 5535, 5650, 5767, 5882, 5997, 6113, 6229, 6343, 6460, 6576, 6691, 6808] + hit0 = 20 + data1 = [0, 5700, 6279, 6857, 7434, 8013, 8592, 9171, 9747, 10326, 10905, 11483, 12061, 12640, 13218, 13796, 14374, 14953, 15532, 16110, 16687, 17266, 17844, 18423, 19002, 19578, 20157, 20736, 21315, 21892, 22471, 23049, 23628, 24205, 24784, 25363, 25942, 26518, 27097, 27676, 28254, 28833, 29410, 29989, 30567, 31146, 31724, 32302, 32880, 33459, 34037] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 3.0 + + def 装备护石(self, char): + self.CDR *= 0.95 + self.power0 = 1 + 0.22 + self.power1 = 1+0.94 + + +class 技能10(被动技能): + 名称 = '魔力增幅' + 所在等级 = 48 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 倍率 = 1.0 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.075 + 0.015 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = "陨星幻灭" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 245, 301, 358, 415, 472, 529, 586, 643, 830, 883, 938, 992, 1048, 1104, 1158, 1213, 1268, 1324, 1378, 1433, 1487, 1541, 1597, 1653, 1708, 1761, 1817, 1872, 1928, 1981, 2035, 2091, 2146, 2201, 2254, 2311, 2366, 2420, 2474, 2529, 2586, 2640, 2694, 2750, 2805, 2859, 2916, 2969, 3024, 3078] + hit0 = 40 + data1 = [0, 981, 1207, 1433, 1660, 1888, 2114, 2341, 2571, 3323, 3536, 3753, 3973, 4192, 4414, 4632, 4851, 5075, 5293, 5509, 5732, 5950, 6170, 6390, 6609, 6827, 7047, 7265, 7488, 7707, 7925, 8144, 8364, 8584, 8804, 9023, 9242, 9459, 9681, 9899, 10120, 10340, 10561, 10778, 10996, 11218, 11438, 11656, 11878, 12098, 12316] + hit1 = 40 + data2 = [0, 1960, 2412, 2866, 3320, 3773, 4227, 4681, 5141, 6646, 7071, 7506, 7945, 8382, 8826, 9265, 9701, 10146, 10584, 11018, 11462, 11901, 12340, 12777, 13219, 13655, 14091, 14532, 14974, 15416, 15850, 16285, 16724, 17166, 17610, 18045, 18481, 18920, 19362, 19798, 20238, 20681, 21120, 21557, 21993, 22437, 22873, 23311, 23754, 24192, 24632] + hit2 = 5 + data3 = [0, 7841, 9652, 11466, 13277, 15098, 16907, 18731, 20566, 26583, 28283, 30026, 31779, 33533, 35304, 37064, 38804, 40589, 42335, 44069, 45851, 47600, 49357, 51115, 52878, 54624, 56372, 58129, 59895, 61662, 63403, 65145, 66902, 68666, 70438, 72182, 73923, 75679, 77445, 79190, 80951, 82727, 84476, 86225, 87975, 89748, 91499, 93247, 95019, 96771, 98528] + hit3 = 5 + + +class 技能12(CP关联技能): + 名称 = "元素震荡" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [860, 1500] + 无色消耗 = 3 + data0 = [0, 7086, 7807, 8524, 9245, 9965, 10684, 11401, 12123, 12842, 13560, 14278, 14999, 15717, 16439, 17157, 17875, 18593, 19317, 20033, 20755, 21471, 22193, 22909, 23631, 24349, 25067, 25788, 26508, 27225, 27946, 28664, 29384, 30103, 30823, 31540, 32262, 32979, 33697, 34418, 35135, 35856, 36572, 37295, 38010, 38734, 39453, 40171, 40888, 41610, 42328] + hit0 = 3 + data1 = [0, 31900, 35135, 38372, 41610, 44847, 48081, 51318, 54558, 57790, 61026, 64264, 67498, 70736, 73973, 77209, 80445, 83683, 86920, 90153, 93392, 96628, 99864, 103100, 106338, 109572, 112810, 116046, 119284, 122519, 125754, 128993, 132227, 135465, 138701, 141937, 145174, 148412, 151646, 154882, 158121, 161357, 164593, 167829, 171068, 174300, 177536, 180775, 184009, 187247, 190484] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 0.14 * 17 + + +class 技能13(CP关联技能): + 名称 = "圣灵水晶" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 78396, 86348, 94302, 102255, 110210, 118162, 126112, 134066, 142019, 149975, 157928, 165881, 173833, 181789, 189739, 197691, 205645, 213597, 221552, 229506, 237460, 245413, 253366, 261316, 269273, 277224, 285176, 293130, 301086, 309039, 316993, 324943, 332897, 340851, 348804, 356757, 364709, 372666, 380618, 388569, 396522, 404475, 412428, 420383, 428336, 436289, 444243, 452197, 460147, 468102] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + + +class 技能14(被动技能): + 名称 = '元素奥义' + 所在等级 = 75 + 学习间隔 = 3 + 等级上限 = 50 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "元素之门" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 8206, 9042, 9874, 10707, 11539, 12377, 13199, 14034, 14866, 15701, 16540, 17363, 18203, 19035, 19869, 20701, 21533, 22364, 23198, 24022, 24859, 25693, 26524, 27361, 28194, 29030, 29856, 30693, 31525, 32360, 33197, 34017, 34856, 35686, 36523, 37355, 38191, 39018, 39853, 40684, 41521, 42358, 43190, 44015, 44846, 45685, 46508, 47348, 48181, 49014] + hit0 = 10 + + 是否有护石 = 1 + # 根据外门数量的攻击力最大增幅率110% + 倍率 = 1.1 + + def 装备护石(self, char): + self.hit0 = 1 + self.power0 = 13.25 + + +class 技能17(主动技能): + 名称 = "第六元素" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 3792, 4673, 5551, 6430, 7305, 8190, 9065, 9944, 10824, 11704, 12581, 13463, 14340, 15219, 16094, 16980, 17853, 18737, 19614, 20493, 21380, 22256, 23136, 24010, 24897, 25772, 26652, 27530, 28410, 29286, 30169, 31045, 31925, 32800, 33684, 34559, 35437, 36318, 37197, 38076, 38961, 39836, 40716, 41594, 42474, 43353, 44236, 45112, 45992, 46867] + hit0 = 20 + data1 = [0, 176927, 217951, 258984, 300005, 341036, 382064, 423088, 464117, 505146, 546169, 587199, 628226, 669255, 710285, 751311, 792337, 833367, 874393, 915422, 956447, 997471, 1038503, 1079526, 1120558, 1161587, 1202610, 1243642, 1284672, 1325694, 1366722, 1407750, 1448777, 1489811, 1530828, 1571857, 1612887, 1653913, 1694944, 1735970, 1776996, 1818025, 1859052, 1900081, 1941109, 1982136, 2023166, 2064185, 2105215, 2146246, 2187270] + hit1 = 1 + + +class 技能16(主动技能): + 名称 = '圣灵符文' + 所在等级 = 75 + 学习间隔 = 3 + 等级上限 = 11 + 等级精通 = 1 + 是否有伤害 = 0 + 是否主动 = 1 + data0 = [0, 13.1, 14.4, 15.6, 16.9, 18.1, 19.4, 20.6, 21.9, 23.1, 24.4, 25.6] + data1 = [0, 16, 17.4, 18.8, 20.1, 21.6, 22.9, 24.4, 25.7, 27.2, 28.5, 29.9] + + +class 技能18(主动技能): + 名称 = '魔法秀' + 所在等级 = 20 + 等级上限 = 15 + 基础等级 = 10 + 魔法秀数值 = [0, 2.2, 4.3, 6.5, 8.6, 10.8, 13, 15.1, 17.3, 19.4, 21.6, 23.8, 25.9, 28.1, 30.2, 32.4, 32.4, 32.4, 32.4, 32.4, 32.4] + 冷却类型 = 1 + + 是否有伤害 = 0 + 冷却关联技能 = ['冰墙', '元素之门', '元素之幕', '元素震荡', '圣灵水晶', '烈焰冲击', + '天雷冲击', '雷旋', '杰克降临', '湮灭黑洞', '极冰盛宴', '虚无之球', '光与暗的交响'] + + 圣灵符文倍率 = 1.0 + + def CD缩减倍率(self, 武器类型): + return round(1 - 0.01 * self.魔法秀数值[self.等级] * self.圣灵符文倍率, 3) + + +class 技能19(被动技能): + 名称 = '元素之源' + 所在等级 = 95 + 学习间隔 = 3 + 等级上限 = 50 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "光与暗的交响" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [833, 2666] + 无色消耗 = 7 + data0 = [0, 11800, 12998, 14196, 15394, 16590, 17788, 18986, 20181, 21378, 22577, 23774, 24970, 26169, 27367, 28563, 29758, 30958, 32155, 33351, 34550, 35747, 36943, 38140, 39338, 40535, 41731, 42929, 44127, 45323, 46521, 47719, 48916, 50114, 51310, 52508, 53706, 54902, 56098, 57296, 58494, 59690, 60888, 62087, 63283, 64479, 65678, 66875, 68072, 69269, 70467] + hit0 = 15 + + +class 技能21(主动技能): + 名称 = "宇宙寂灭:冰火之歌" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 12888] + 无色消耗 = 15 + data0 = [0, 405134, 499075, 593022, 686967, 780909, 874855, 968800, 1062745, 1156688, 1250629, 1344576, 1438522, 1532464, 1626409, 1720352, 1814297, 1908243, 2002185, 2096130, 2190076, 2284018, 2377964, 2471907, 2565850, 2659798, 2753739, 2847685, 2941627, 3035574, 3129519, 3223460, 3317406, 3411349, 3505294, 3599238, 3693183, 3787127, 3881073, 3975015, 4068962, 4162902, 4256850, 4350792, 4444737, 4538682, 4632624, 4726570, 4820515, 4914456, 5008404] + hit0 = 1 + data1 = [0, 38585, 47531, 56478, 65426, 74372, 83320, 92267, 101213, 110161, 119107, 128054, 137002, 145948, 154898, 163843, 172789, 181737, 190684, 199633, 208578, 217524, 226473, 235419, 244369, 253314, 262261, 271208, 280154, 289103, 298049, 306996, 315944, 324890, 333838, 342784, 351732, 360678, 369626, 378574, 387520, 396467, 405413, 414361, 423309, 432256, 441203, 450149, 459096, 468044, 476992] + hit1 = 7 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'elementalist' + self.名称 = '知源·元素师' + self.角色 = '魔法师(女)' + + self.职业 = '元素师' + self.武器选项 = ['魔杖', '法杖'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '魔杖' + self.防具类型 = '布甲' + self.cp_power = 1.0 + self.cp_cd = 1.0 + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 圣灵符文 = self.get_skill_by_name('圣灵符文') + self.get_skill_by_name('属性精通').圣灵符文倍率 = 1 + 圣灵符文.data0[圣灵符文.等级] / 100 + self.get_skill_by_name('魔法秀').圣灵符文倍率 = 1 + 圣灵符文.data1[圣灵符文.等级] / 100 + self.skills_passive['圣灵符文']['info'] = [{ + "type": "增幅", + "info": [圣灵符文.data0[圣灵符文.等级], '属性精通', '无'] + }, { + "type": "增幅", + "info": [圣灵符文.data1[圣灵符文.等级], '魔法秀', '无'] + }, + ] + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['魔法秀']) + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + 属性精通 = self.get_skill_by_name("属性精通") + self.所有属性抗性加成(属性精通.等级) diff --git a/api/core/characters/elven_knight.py b/api/core/characters/elven_knight.py new file mode 100644 index 00000000..c30eddf6 --- /dev/null +++ b/api/core/characters/elven_knight.py @@ -0,0 +1,981 @@ +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + + 剑盾加成 = 1.0 + chain = 0 + + 形态 = ["6c", "5c", "4c", "3c"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "6c": + self.chain = 6 + if 形态 == "5c": + self.chain = 5 + if 形态 == "4c": + self.chain = 4 + if 形态 == "3c": + self.chain = 3 + self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率() + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * self.剑盾加成 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级精通 = 110 + 等级上限 = 200 + 学习间隔 = 1 + 关联技能 = ['盾挑','骑乘召唤','骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '基本攻击' + 备注 = '一轮' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + MP = [0, 0] + data0 = [int(i*1.10) for i in [0, 108.75+151.86+174.39]] + hit0 = 1 + CD = 1.0 # 实际无CD + TP成长 = 0.10 + TP上限 = 5 + + 形态 = [] + + def 形态变更(self, 形态, char: Character): + pass + + +class 技能2(主动技能): + 名称 = "盾挑" + 所在等级 = 1 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 2 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 100, 111, 122, 133, 144, 155, 167, 178, 189, 200, 211, 222, 233, 244, 255, 266, 278, 289, 300, 311] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能3(主动技能): + 名称 = "强踢" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [2, 350] + 无色消耗 = 0 + data0 = [0, 1307, 1438, 1571, 1704, 1836, 1969, 2101, 2236, 2368, 2502, 2634, 2765, 2899, 3031, 3163, 3297, 3429, 3562, 3695, 3827, 3959, 4094, 4228, 4360, 4491, 4625, 4757, 4890, 5023, 5154, 5287, 5420, 5555, 5687, 5820, 5952, 6084, 6218, 6350, 6481, 6616, 6748, 6881, 7013, 7146, 7278, 7412, 7545, 7676, 7812, 7944, 8076, 8210, 8341, 8474, 8607, 8739, 8871, 9005, 9139, 9271, 9403, 9536, 9668, 9800, 9934, 10067, 10199, 10332, 10465] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能4(主动技能): + 名称 = "盾击" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [5, 180] + 无色消耗 = 0 + data0 = [0, 560, 617, 674, 730, 788, 845, 902, 959, 1015, 1072, 1129, 1187, 1244, 1300, 1358, 1416, 1471, 1532, 1588, 1645, 1701, 1758, 1817, 1874, 1930, 1987, 2043, 2099, 2158, 2215, 2271, 2328, 2385, 2441, 2501, 2558, 2614, 2670, 2728, 2786, 2842, 2899, 2956, 3014, 3070, 3128, 3185, 3240, 3298, 3355, 3413, 3469, 3528, 3585, 3641, 3697, 3756, 3811, 3869, 3926, 3983, 4040, 4098, 4155, 4211, 4267, 4324, 4381, 4439, 4496] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能5(主动技能): + 名称 = "致命突刺" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [6, 250] + 无色消耗 = 0 + data0 = [0, 268, 303, 339, 369, 400, 438, 470, 502, 533, 568, 601, 632, 667, 699, 734, 764, 801, 832, 866, 897, 931, 964, 997, 1031, 1064, 1095, 1128, 1159, 1194, 1227, 1262, 1294, 1327, 1361, 1392, 1427, 1459, 1492, 1525, 1558, 1591, 1627, 1659, 1691, 1721, 1756, 1790, 1822, 1854, 1888, 2115, 2153, 2189, 2227, 2263, 2299, 2337, 2373, 2411, 2447, 2484, 2521, 2557, 2596, 2634, 2670, 2706, 2744, 2783, 2817] + hit0 = 1 + data1 = [0, 339, 382, 421, 462, 502, 546, 586, 626, 668, 710, 750, 791, 832, 876, 918, 955, 1000, 1040, 1084, 1119, 1161, 1204, 1246, 1287, 1329, 1371, 1412, 1453, 1493, 1535, 1576, 1617, 1659, 1699, 1742, 1781, 1824, 1868, 1907, 1948, 1986, 2033, 2071, 2111, 2155, 2196, 2238, 2276, 2316, 2361, 2646, 2690, 2736, 2783, 2829, 2874, 2919, 2968, 3016, 3059, 3107, 3153, 3199, 3243, 3291, 3337, 3384, 3434, 3477, 3521] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + 形态 = ["6c", "5c", "4c", "3c", "6c蓄", "5c蓄", "4c蓄", "3c蓄"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "6c": + self.hit0 = 1 + self.hit1 = 0 + self.chain = 6 + if 形态 == "5c": + self.hit0 = 1 + self.hit1 = 0 + self.chain = 5 + if 形态 == "4c": + self.hit0 = 1 + self.hit1 = 0 + self.chain = 4 + if 形态 == "3c": + self.hit0 = 1 + self.hit1 = 0 + self.chain = 3 + if 形态 == "6c蓄": + self.hit0 = 0 + self.hit1 = 1 + self.chain = 6 + if 形态 == "5c蓄": + self.hit0 = 0 + self.hit1 = 1 + self.chain = 5 + if 形态 == "4c蓄": + self.hit0 = 0 + self.hit1 = 1 + self.chain = 4 + if 形态 == "3c蓄": + self.hit0 = 0 + self.hit1 = 1 + self.chain = 3 + self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率() + + +class 技能6(主动技能): + 名称 = "愤怒冲撞" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [15, 420] + 无色消耗 = 0 + data0 = [0, 4201, 4628, 5055, 5480, 5908, 6335, 6763, 7187, 7614, 8042, 8466, 8895, 9318, 9746, 10173, 10600, 11028, 11452, 11879, 12308, 12732, 13160, 13587, 14015, 14439, 14866, 15294, 15716, 16146, 16572, 16999, 17425, 17852, 18280, 18705, 19131, 19560, 19984, 20412, 20840, 21267, 21691, 22118, 22546, 22969, 23397, 23824, 24250, 24677, 25105, 25530, 25957, 26383, 26812, 27237, 27664, 28091, 28519, 28943, 29371, 29798, 30221, 30649, 31076, 31503, 31929, 32357, 32781, 33209, 33636] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能7(主动技能): + 名称 = "破武之轮" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [9, 250] + 无色消耗 = 0 + data0 = [0, 703, 840, 935, 1028, 1120, 1202, 1300, 1388, 1477, 1569, 1662, 1756, 1838, 1938, 2023, 2117, 2204, 2298, 2392, 2476, 2571, 2659, 2753, 2841, 2934, 3025, 3114, 3203, 3299, 3390, 3480, 3575, 3660, 3750, 3842, 3935, 4028, 4114, 4202, 4296, 4389, 4480, 4576, 4664, 4751, 4838, 4933, 5028, 5117, 5213, 5294, 5388, 5481, 5573, 5660, 5754, 5843, 5935, 6027, 6118, 6208, 6301, 6391, 6483, 6573, 6665, 6756, 6845, 6938, 7028] + hit0 = 1 + data1 = [0, 1408, 1682, 1873, 2052, 2238, 2404, 2603, 2777, 2955, 3137, 3328, 3511, 3677, 3878, 4049, 4233, 4409, 4600, 4785, 4951, 5142, 5322, 5508, 5683, 5874, 6046, 6229, 6407, 6598, 6781, 6961, 7152, 7320, 7503, 7681, 7871, 8054, 8228, 8405, 8593, 8780, 8959, 9150, 9328, 9501, 9677, 9868, 10052, 10232, 10425, 10589, 10773, 10961, 11146, 11321, 11506, 11690, 11871, 12055, 12237, 12418, 12601, 12782, 12964, 13145, 13328, 13510, 13693, 13874, 14056] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能8(被动技能): + 名称 = '骑士信念' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天'] + + def CD缩减倍率(self, 武器类型): + return 0.9 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能9(主动技能): + 名称 = "守护神鹿" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [10, 300] + 无色消耗 = 0 + data0 = [0, 516, 568, 621, 674, 725, 779, 832, 886, 938, 991, 1044, 1094, 1149, 1201, 1254, 1307, 1360, 1415, 1464, 1520, 1572, 1622, 1677, 1729, 1784, 1834, 1886, 1939, 1992, 2046, 2097, 2151, 2205, 2255, 2309, 2361, 2416, 2467, 2520, 2573, 2625, 2678, 2731, 2782, 2836, 2889, 2943, 2995, 3046, 3101, 3152, 3206, 3258, 3313, 3364, 3415, 3469, 3521, 3574, 3626, 3678, 3733, 3783, 3837, 3890, 3941, 3996, 4048, 4102, 4153] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + chain = 6 + + +class 技能10(主动技能): + 名称 = "审判之盾" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [20, 400] + 无色消耗 = 0 + data0 = [0, 521, 572, 628, 681, 734, 786, 841, 894, 946, 999, 1053, 1107, 1158, 1213, 1264, 1318, 1372, 1425, 1478, 1531, 1584, 1637, 1690, 1743, 1796, 1850, 1903, 1956, 2008, 2063, 2115, 2168, 2221, 2275, 2330, 2381, 2436, 2489, 2541, 2594, 2648, 2701, 2754, 2807, 2860, 2914, 2966, 3020, 3072, 3127, 3181, 3232, 3287, 3340, 3392, 3445, 3500, 3553, 3605, 3659, 3712, 3765, 3817, 3872, 3923, 3978, 4032, 4085, 4138, 4191] + hit0 = 1 + data1 = [0, 362, 401, 439, 475, 513, 549, 587, 625, 661, 699, 736, 773, 811, 847, 885, 922, 959, 995, 1033, 1070, 1108, 1146, 1184, 1220, 1259, 1296, 1333, 1366, 1404, 1443, 1480, 1519, 1553, 1592, 1630, 1667, 1705, 1742, 1777, 1813, 1851, 1888, 1925, 1963, 2001, 2038, 2075, 2113, 2150, 2188, 2225, 2261, 2298, 2336, 2374, 2412, 2447, 2484, 2522, 2560, 2597, 2633, 2671, 2708, 2746, 2782, 2820, 2858, 2895, 2934] + hit1 = 10 + TP成长 = 0.1 + TP上限 = 7 + + chain = 6 + + +class 技能11(主动技能): + 名称 = "破甲冲击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [25, 480] + 无色消耗 = 0 + data0 = [0, 3791, 4176, 4559, 4947, 5331, 5714, 6102, 6486, 6869, 7254, 7640, 8026, 8408, 8795, 9179, 9564, 9950, 10335, 10719, 11102, 11489, 11874, 12259, 12646, 13028, 13412, 13801, 14184, 14568, 14952, 15340, 15722, 16108, 16494, 16878, 17264, 17649, 18033, 18416, 18804, 19188, 19573, 19959, 20342, 20727, 21116, 21498, 21881, 22266, 22652, 23038, 23423, 23809, 24191, 24575, 24963, 25348, 25731, 26116, 26502, 26887, 27271, 27657, 28042, 28424, 28812, 29197, 29581, 29966, 30351] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + chain = 6 + + +class 技能12(主动技能): + 名称 = "精灵之跃" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7.5 + MP = [30, 650] + 无色消耗 = 0 + data0 = [0, 4968, 5475, 5979, 6482, 6986, 7491, 7997, 8500, 9005, 9509, 10013, 10519, 11023, 11528, 12032, 12535, 13040, 13545, 14048, 14553, 15061, 15564, 16067, 16572, 17075, 17581, 18085, 18589, 19094, 19600, 20104, 20608, 21112, 21617, 22120, 22625, 23130, 23636, 24140, 24643, 25148, 25651, 26156, 26659, 27164, 27670, 28175, 28678, 29183, 29686, 30193, 30697, 31201, 31704, 32211, 32715, 33219, 33723, 34229, 34733, 35238, 35740, 36244, 36748, 37255, 37759, 38265, 38768, 39272, 39777] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能13(主动技能): + 名称 = "神木刺击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [30, 950] + 无色消耗 = 0 + data0 = [0, 5893, 6493, 7091, 7691, 8287, 8887, 9487, 10082, 10681, 11278, 11880, 12477, 13074, 13675, 14272, 14872, 15467, 16066, 16665, 17263, 17863, 18461, 19058, 19659, 20254, 20855, 21452, 22051, 22649, 23248, 23847, 24445, 25041, 25639, 26239, 26838, 27435, 28037, 28633, 29230, 29832, 30426, 31027, 31624, 32224, 32822, 33420, 34019, 34617, 35214, 35814, 36411, 37010, 37608, 38207, 38805, 39405, 40004, 40601, 41198, 41797, 42396, 42995, 43593, 44191, 44790, 45386, 45985, 46585, 47181] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + chain = 6 + + +class 技能14(主动技能): + 名称 = "剑盾猛攻" + 所在等级 = 30 + 等级上限 = 16 + 学习间隔 = 10 + 等级精通 = 6 + CD = 5 + MP = [2, 75] + 无色消耗 = 0 + data0 = [0, 1998, 2460, 2925, 3387, 3852, 4315, 4779, 5243, 5708, 6170, 6636, 7100, 7563, 8026, 8490, 8953] + hit0 = 1 + data1 = [0, 2144, 2641, 3139, 3636, 4135, 4632, 5131, 5628, 6125, 6625, 7123, 7620, 8118, 8616, 9112, 9612] + hit1 = 0 + + 形态 = ["挥盾", "推进"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "挥盾": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "推进": + self.hit0 = 0 + self.hit1 = 1 + + def 剑盾倍率(self): + if self.等级 == 0: + return 1.0 + else: + return round(0.120 + 0.005 * self.等级, 5) + + # 仅适用于剑盾强袭 + def 剑盾倍率1(self): + if self.等级 == 0: + return 1.0 + else: + return round(0.120 + 0.05 + 0.005 * self.等级, 5) + + def 等效CD(self, **argv): + return 0.5 + + +class 技能15(主动技能): + 名称 = "铁壁推进" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [35, 1400] + 无色消耗 = 1 + data0 = [0, 648, 716, 783, 847, 913, 980, 1045, 1112, 1180, 1244, 1310, 1376, 1441, 1510, 1575, 1643, 1708, 1772, 1840, 1905, 1971, 2040, 2103, 2171, 2237, 2302, 2369, 2436, 2502, 2567, 2634, 2699, 2766, 2831, 2900, 2965, 3032, 3097, 3162, 3230, 3294, 3360, 3427, 3493, 3560, 3625, 3692, 3759, 3823, 3891, 3957, 4022, 4089, 4155, 4220, 4286, 4355, 4418, 4487, 4551, 4618, 4684, 4748, 4817, 4883, 4949, 5014, 5080, 5146, 5212] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + chain = 6 + + 形态 = ["6c(秒断)", "5c(秒断)", "4c(秒断)", "3c(秒断)", + "6c(满)", "5c(满)", "4c(满)", "3c(满)"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "6c(秒断)": + self.hit0 = 1 + self.chain = 6 + if 形态 == "5c(秒断)": + self.hit0 = 1 + self.chain = 5 + if 形态 == "4c(秒断)": + self.hit0 = 1 + self.chain = 4 + if 形态 == "3c(秒断)": + self.hit0 = 1 + self.chain = 3 + if 形态 == "6c(满)": + self.hit0 = 18 + self.chain = 6 + if 形态 == "5c(满)": + self.hit0 = 18 + self.chain = 5 + if 形态 == "4c(满)": + self.hit0 = 18 + self.chain = 4 + if 形态 == "3c(满)": + self.hit0 = 18 + self.chain = 3 + self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率() + + +class 技能16(主动技能): + 名称 = "自然束缚" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [35, 750] + 无色消耗 = 1 + data0 = [0, 8268, 9108, 9951, 10788, 11626, 12465, 13304, 14148, 14983, 15825, 16664, 17507, 18343, 19180, 20021, 20860, 21704, 22541, 23383, 24221, 25056, 25899, 26737, 27579, 28415, 29260, 30098, 30939, 31774, 32613, 33456, 34294, 35134, 35972, 36816, 37653, 38489, 39331, 40169, 41012, 41851, 42689, 43530, 44364, 45208, 46047, 46888, 47724, 48563, 49407, 50245, 51083, 51920, 52765, 53603, 54440, 55282, 56123, 56964, 57799, 58639, 59478, 60317, 61160, 61998, 62840, 63679, 64518, 65355, 66194] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能17(主动技能): + 名称 = "一刀两断" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [35, 1350] + 无色消耗 = 1 + data0 = [0, 2942, 3243, 3542, 3841, 4141, 4438, 4738, 5038, 5335, 5634, 5932, 6235, 6533, 6831, 7131, 7428, 7727, 8026, 8325, 8627, 8925, 9224, 9523, 9820, 10122, 10419, 10718, 11017, 11316, 11614, 11914, 12214, 12513, 12812, 13109, 13409, 13710, 14006, 14306, 14603, 14906, 15203, 15502, 15804, 16101, 16398, 16697, 16997, 17298, 17596, 17895, 18194, 18494, 18791, 19091, 19389, 19689, 19987, 20286, 20588, 20885, 21185, 21483, 21781, 22081, 22380, 22678, 22981, 23278, 23577] + hit0 = 1 + data1 = [0, 5014, 5524, 6034, 6542, 7051, 7560, 8069, 8579, 9088, 9596, 10108, 10616, 11124, 11633, 12144, 12652, 13162, 13671, 14181, 14687, 15199, 15706, 16216, 16725, 17235, 17742, 18253, 18761, 19271, 19780, 20290, 20799, 21307, 21815, 22327, 22836, 23344, 23853, 24365, 24871, 25381, 25888, 26398, 26908, 27420, 27926, 28435, 28943, 29454, 29963, 30471, 30982, 31492, 31998, 32508, 33019, 33527, 34036, 34547, 35055, 35564, 36072, 36582, 37092, 37602, 38110, 38618, 39127, 39636, 40146] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 3.64 + self.hit1 = 0 + + +class 技能18(主动技能): + 名称 = "飓风旋枪" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [40, 2800] + 无色消耗 = 1 + data0 = [0, 4758, 5240, 5723, 6206, 6689, 7174, 7653, 8137, 8621, 9104, 9587, 10070, 10553, 11035, 11520, 12001, 12487, 12968, 13450, 13933, 14417, 14898, 15382, 15865, 16350, 16831, 17315, 17797, 18281, 18762, 19246, 19728, 20210, 20695, 21178, 21661, 22145, 22626, 23110, 23591, 24077, 24559, 25042, 25525, 26008, 26491, 26972, 27457, 27937, 28423, 28906, 29390, 29870, 30354, 30837, 31319, 31804, 32286, 32770, 33253, 33736, 34218, 34700, 35184, 35666, 36150, 36634, 37117, 37600, 38081] + hit0 = 2 + data1 = [0, 508, 561, 612, 666, 717, 768, 821, 874, 925, 978, 1029, 1082, 1135, 1186, 1236, 1289, 1342, 1392, 1445, 1496, 1550, 1600, 1653, 1705, 1757, 1810, 1860, 1915, 1964, 2017, 2068, 2121, 2173, 2224, 2276, 2330, 2381, 2433, 2486, 2538, 2591, 2642, 2694, 2744, 2798, 2848, 2902, 2952, 3006, 3058, 3109, 3163, 3213, 3267, 3317, 3371, 3420, 3472, 3526, 3577, 3629, 3683, 3735, 3786, 3840, 3890, 3942, 3994, 4045, 4099] + hit1 = 10 + TP成长 = 0.1 + TP上限 = 5 + + chain = 6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.74 + self.CDR *= 0.90 + + +class 技能19(主动技能): + 名称 = "天陨断空斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [80, 3500] + 无色消耗 = 2 + data0 = [0, 2838, 3125, 3414, 3703, 3992, 4278, 4568, 4856, 5143, 5432, 5719, 6009, 6299, 6586, 6873, 7162, 7450, 7737, 8029, 8314, 8603, 8893, 9179, 9467, 9757, 10045, 10332, 10623, 10910, 11196, 11487, 11775, 12062, 12351, 12639, 12927, 13218, 13504, 13792, 14081, 14369, 14658, 14945, 15233, 15523, 15811, 16098, 16387, 16676, 16964, 17253, 17539, 17829, 18117, 18406, 18694, 18981, 19271, 19558, 19847, 20137, 20423, 20712, 21000, 21287, 21575, 21864, 22153, 22441, 22731] + hit0 = 1 + data1 = [0, 2181, 2403, 2625, 2849, 3069, 3291, 3513, 3735, 3957, 4178, 4398, 4622, 4845, 5066, 5286, 5509, 5731, 5953, 6174, 6393, 6618, 6837, 7061, 7281, 7505, 7726, 7948, 8169, 8391, 8614, 8834, 9056, 9278, 9500, 9722, 9942, 10166, 10387, 10610, 10830, 11054, 11273, 11496, 11717, 11939, 12161, 12384, 12605, 12826, 13048, 13271, 13492, 13715, 13934, 14156, 14378, 14601, 14822, 15043, 15266, 15488, 15710, 15930, 16152, 16374, 16597, 16817, 17039, 17262, 17484] + hit1 = 1 + data2 = [0, 3276, 3606, 3940, 4274, 4608, 4938, 5271, 5604, 5935, 6269, 6602, 6933, 7268, 7599, 7931, 8267, 8597, 8929, 9264, 9594, 9927, 10262, 10592, 10926, 11259, 11590, 11923, 12257, 12589, 12922, 13254, 13586, 13920, 14253, 14585, 14917, 15251, 15582, 15913, 16248, 16581, 16913, 17247, 17578, 17909, 18244, 18577, 18909, 19243, 19574, 19905, 20240, 20572, 20904, 21239, 21570, 21901, 22236, 22568, 22902, 23234, 23564, 23899, 24231, 24563, 24897, 25230, 25561, 25894, 26227] + hit2 = 1 + data3 = [0, 13547, 14923, 16296, 17673, 19048, 20423, 21796, 23174, 24548, 25922, 27297, 28672, 30047, 31423, 32796, 34171, 35547, 36922, 38296, 39671, 41046, 42422, 43796, 45169, 46547, 47921, 49296, 50672, 52046, 53421, 54796, 56171, 57546, 58921, 60295, 61668, 63046, 64420, 65794, 67170, 68545, 69920, 71295, 72670, 74042, 75421, 76795, 78169, 79543, 80918, 82293, 83668, 85042, 86418, 87793, 89168, 90541, 91918, 93291, 94665, 96042, 97417, 98791, 100165, 101541, 102914, 104291, 105665, 107039, 108418] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + chain = 6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 2.30 + self.power2 = 1.79 + self.power3 = 1.27 + + +class 技能20(被动技能): + 名称 = '自然恩泽' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 关联技能1 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00+0.02 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00+0.02 * self.等级, 5) + + def 等级加成(self, x, char: Character = {}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: + self.等级溢出 = 1 + else: + self.等级 += int(x) + char.所有属性抗性加成(x) + + +class 技能21(主动技能): + 名称 = "天马流星落" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [400, 8400] + 无色消耗 = 5 + data0 = [0, 5799, 7143, 8489, 9834, 11181, 12525, 13870, 15214, 16560, 17907, 19252, 20597, 21941, 23289, 24631, 25978, 27324, 28669, 30014, 31359, 32704, 34049, 35396, 36740, 38087, 39430, 40776, 42119, 43466, 44811, 46159, 47503, 48848, 50192, 51538, 52886, 54229, 55575, 56919, 58265, 59609, 60955, 62301, 63646, 64992, 66337, 67682, 69027, 70374, 71718] + hit0 = 1 + data1 = [0, 3419, 4214, 5009, 5800, 6595, 7388, 8183, 8975, 9770, 10563, 11359, 12150, 12946, 13738, 14532, 15325, 16119, 16914, 17707, 18500, 19295, 20088, 20883, 21674, 22470, 23263, 24058, 24850, 25644, 26437, 27233, 28024, 28820, 29612, 30407, 31200, 31993, 32788, 33581, 34375, 35169, 35964, 36757, 37549, 38345, 39137, 39933, 40724, 41518, 42313] + hit1 = 4 + data2 = [0, 57858, 71275, 84692, 98108, 111525, 124944, 138360, 151777, 165193, 178611, 192029, 205444, 218862, 232279, 245697, 259115, 272530, 285947, 299365, 312782, 326199, 339615, 353033, 366450, 379867, 393284, 406702, 420118, 433535, 446950, 460370, 473787, 487200, 500620, 514035, 527455, 540869, 554288, 567704, 581121, 594538, 607955, 621373, 634791, 648206, 661624, 675040, 688459, 701875, 715292] + hit2 = 1 + + 形态 = [] + + def 形态变更(self, 形态, char: Character): + pass + + +class 技能22(主动技能): + 名称 = "生命审判" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1560] + 无色消耗 = 1 + data0 = [0, 20940, 23068, 25192, 27315, 29440, 31566, 33689, 35815, 37938, 40066, 42191, 44315, 46437, 48564, 50689, 52815, 54937, 57063, 59191, 61314, 63440, 65564, 67689, 69814, 71939, 74061, 76188, 78314, 80440, 82562, 84688, 86812, 88938, 91061, 93186, 95315, 97438, 99563, 101687, 103811, 105937, 108063, 110185, 112311, 114436, 116564, 118686, 120812, 122937, 125062] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + chain = 6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.17 + + +class 技能23(主动技能): + 名称 = "壁垒突袭" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [935, 2360] + 无色消耗 = 3 + data0 = [0, 11730, 12920, 14109, 15299, 16492, 17682, 18872, 20061, 21253, 22441, 23632, 24821, 26012, 27204, 28394, 29584, 30771, 31963, 33152, 34343, 35532, 36724, 37914, 39105, 40294, 41485, 42675, 43865, 45055, 46245, 47436, 48628, 49815, 51007, 52197, 53388, 54577, 55768, 56959, 58149, 59338, 60528, 61720, 62909, 64100, 65289, 66481, 67671, 68860, 70050] + hit0 = 1 + data1 = [0, 21783, 23995, 26206, 28416, 30627, 32837, 35048, 37259, 39470, 41679, 43889, 46101, 48313, 50521, 52732, 54944, 57153, 59364, 61575, 63786, 65994, 68206, 70416, 72626, 74835, 77047, 79257, 81468, 83678, 85888, 88098, 90309, 92522, 94731, 96942, 99152, 101364, 103574, 105785, 107993, 110203, 112413, 114626, 116835, 119046, 121257, 123467, 125679, 127889, 130099] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + chain = 6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.47 + + +class 技能24(主动技能): + 名称 = "剑盾强袭" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 52069, 57352, 62633, 67917, 73199, 78481, 83765, 89046, 94330, 99612, 104895, 110177, 115461, 120744, 126025, 131309, 136592, 141875, 147157, 152438, 157721, 163004, 168288, 173568, 178849, 184135, 189417, 194701, 199982, 205266, 210549, 215830, 221112, 226393, 231679, 236961, 242245, 247526, 252809, 258093, 263374, 268657, 273939, 279222, 284505, 289787, 295071, 300353, 305635, 310918] + hit0 = 1 + + chain = 6 + 是否有护石 = 1 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "6c": + self.chain = 6 + if 形态 == "5c": + self.chain = 5 + if 形态 == "4c": + self.chain = 4 + if 形态 == "3c": + self.chain = 3 + self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率1() + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能25(被动技能): + 名称 = '信仰鼓舞' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = "自然之怒" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 10429, 11488, 12545, 13606, 14664, 15724, 16783, 17839, 18899, 19958, 21016, 22076, 23133, 24192, 25250, 26308, 27365, 28425, 29483, 30542, 31603, 32658, 33719, 34779, 35836, 36896, 37953, 39012, 40070, 41128, 42185, 43245, 44303, 45362, 46422, 47478, 48538, 49599, 50655, 51716, 52773, 53832, 54891, 55946, 57005, 58065, 59123, 60183, 61242, 62298] + hit0 = 1 + data1 = [0, 3894, 4289, 4684, 5078, 5476, 5870, 6268, 6663, 7055, 7454, 7848, 8245, 8639, 9036, 9429, 9824, 10220, 10615, 11012, 11408, 11803, 12199, 12592, 12989, 13383, 13779, 14177, 14572, 14968, 15361, 15757, 16152, 16549, 16943, 17341, 17732, 18130, 18525, 18921, 19315, 19712, 20105, 20501, 20896, 21293, 21690, 22083, 22482, 22873, 23271] + hit1 = 6 + data2 = [0, 26022, 28663, 31303, 33944, 36582, 39224, 41864, 44504, 47143, 49785, 52425, 55064, 57705, 60345, 62986, 65625, 68265, 70905, 73545, 76185, 78826, 81464, 84110, 86749, 89389, 92031, 94671, 97309, 99951, 102590, 105231, 107870, 110511, 113151, 115791, 118432, 121071, 123711, 126353, 128993, 131631, 134271, 136913, 139553, 142195, 144834, 147475, 150114, 152756, 155394] + hit2 = 1 + + chain = 6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 2.98 + self.CDR *= 0.9 + + +class 技能27(主动技能): + 名称 = "暮光之灵黄昏独角兽" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 11286, 13905, 16524, 19142, 21759, 24377, 26994, 29612, 32231, 34848, 37465, 40085, 42703, 45322, 47939, 50554, 53174, 55792, 58411, 61028, 63648, 66265, 68882, 71500, 74119, 76737, 79355, 81970, 84590, 87208, 89827, 92444, 95062, 97682, 100296, 102914, 105533, 108152, 110771, 113388, 116004, 118624, 121243, 123859, 126477, 129095, 131714, 134330, 136949, 139567] + hit0 = 3 + data1 = [0, 135477, 166891, 198308, 229723, 261138, 292555, 323971, 355388, 386800, 418218, 449634, 481047, 512464, 543881, 575296, 606711, 638126, 669542, 700958, 732373, 763789, 795204, 826621, 858036, 889452, 920866, 952282, 983697, 1015113, 1046529, 1077945, 1109359, 1140776, 1172192, 1203608, 1235021, 1266437, 1297854, 1329268, 1360684, 1392100, 1423514, 1454930, 1486346, 1517762, 1549177, 1580592, 1612009, 1643424, 1674840] + hit1 = 1 + data2 = [0, 3761, 4633, 5505, 6378, 7251, 8123, 8996, 9870, 10741, 11615, 12487, 13361, 14234, 15105, 15978, 16850, 17724, 18596, 19466, 20339, 21213, 22086, 22957, 23831, 24704, 25576, 26449, 27323, 28194, 29067, 29940, 30814, 31686, 32558, 33431, 34304, 35177, 36050, 36924, 37795, 38666, 39540, 40412, 41283, 42157, 43029, 43902, 44775, 45648, 46520] + hit2 = 5 + + 形态 = [] + + def 形态变更(self, 形态, char: Character): + pass + + +class 技能28(主动技能): + 名称 = "荆棘之城" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6667] + 无色消耗 = 7 + data0 = [0, 9827, 10827, 11824, 12819, 13820, 14816, 15813, 16811, 17808, 18805, 19803, 20800, 21797, 22795, 23791, 24789, 25785, 26783, 27781, 28777, 29775, 30774, 31770, 32768, 33765, 34762, 35760, 36757, 37754, 38752, 39748, 40745, 41744, 42740, 43737, 44738, 45732, 46729, 47730, 48726, 49722, 50718, 51718, 52715, 53710, 54710, 55707, 56703, 57702, 58699] + hit0 = 1 + data1 = [0, 88476, 97451, 106428, 115405, 124380, 133357, 142333, 151307, 160284, 169261, 178237, 187213, 196189, 205164, 214141, 223117, 232092, 241070, 250046, 259021, 267996, 276974, 285949, 294926, 303901, 312877, 321853, 330830, 339804, 348781, 357759, 366734, 375710, 384684, 393662, 402639, 411615, 420588, 429566, 438542, 447518, 456494, 465469, 474447, 483424, 492397, 501374, 510351, 519327, 528302] + hit1 = 1 + + chain = 6 + + +class 技能29(被动技能): + 名称 = '生命的恩宠' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能30(主动技能): + 名称 = "生命之律·神木擎天" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 50728, 62490, 74255, 86017, 97782, 109545, 121309, 133073, 144834, 156598, 168363, 180126, 191888, 203654, 215416, 227181, 238944, 250705, 262470, 274233, 285996, 297761, 309524, 321287, 333051, 344814, 356579, 368341, 380106, 391870, 403633, 415396, 427159, 438922, 450686, 462450, 474211, 485977, 497740, 509505, 521267, 533032, 544795, 556558, 568322, 580084, 591848, 603612, 615376, 627138] + hit0 = 1 + data1 = [0, 405839, 499946, 594055, 688162, 782270, 876378, 970486, 1064594, 1158703, 1252810, 1346918, 1441026, 1535134, 1629242, 1723351, 1817458, 1911566, 2005674, 2099782, 2193890, 2287999, 2382106, 2476214, 2570322, 2664430, 2758538, 2852644, 2946754, 3040860, 3134970, 3229076, 3323186, 3417291, 3511400, 3605508, 3699616, 3793724, 3887832, 3981940, 4076048, 4170156, 4264264, 4358372, 4452480, 4546588, 4640696, 4734804, 4828912, 4923020, 5017128] + hit1 = 1 + data2 = [0, 8453, 10413, 12373, 14334, 16295, 18255, 20216, 22175, 24136, 26098, 28059, 30020, 31979, 33939, 35900, 37862, 39822, 41783, 43743, 45704, 47664, 49624, 51586, 53545, 55507, 57467, 59427, 61388, 63348, 65309, 67269, 69231, 71191, 73152, 75111, 77072, 79033, 80995, 82954, 84915, 86876, 88836, 90797, 92756, 94718, 96678, 98640, 100600, 102561, 104521] + hit2 = 6 + + 形态 = [] + + def 形态变更(self, 形态, char: Character): + pass + + +class 技能31(主动技能): + 名称 = "骑乘召唤" + 所在等级 = 15 + 等级上限 = 11 + 等级精通 = 1 + 学习间隔 = 2 + + # 初始CD + # CD = 120 + # 平X + CD = 1 + MP = [9, 250] + 无色消耗 = 0 + # 普通攻击(3x) 前两x和第三x数据不一致,每x三段 + data0 = [0, 104, 114, 125, 135, 146, 158, 168, 178, 188, 199, 209] + hit0 = 3*2 + data1 = [0, 139, 152, 168, 181, 196, 209, 224, 237, 252, 265, 280] + hit1 = 3 + # 前冲 + data2 = [0, 130, 142, 157, 169, 182, 196, 209, 222, 235, 248, 262] + hit2 = 4 + # 刺击 + data3 = [0, 360, 397, 433, 470, 506, 542, 579, 616, 653, 689, 726] + hit3 = 4 + + 形态 = ["3x", "前冲", "刺击"] + + TP成长 = 0.1 + TP上限 = 5 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "3x": + self.hit0 = 3*2 + self.hit1 = 3 + self.hit2 = self.hit3= 0 + self.CD = 1 + if 形态 == "前冲": + self.hit2 = 4 + self.hit0 = self.hit1 = self.hit3 = 0 + self.CD = 1 + if 形态 == "刺击": + self.hit3 = 4 + self.hit0 = self.hit1 = self.hit2 = 0 + self.CD = 2 + +class 技能32(主动技能): + 名称 = "骑乘践踏" + 所在等级 = 15 + 等级上限 = 1 + 等级精通 = 1 + CD = 3 + MP = [9, 250] + 无色消耗 = 0 + + data0 = [0, 1782, 1963, 2143, 2324, 2505, 2685, 2867, 3048, 3228, 3409, 3590] + hit0 = 1 + + 形态 = [] + + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.等级 = char.get_skill_by_name('骑乘召唤').等级 + return super().等效百分比(**argv) + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class 技能33(主动技能): + 名称 = "骑乘前踏" + 所在等级 = 15 + 等级上限 = 1 + 等级精通 = 1 + CD = 8 + MP = [9, 250] + 无色消耗 = 0 + + data0 = [0, 369, 407, 444, 482, 519, 556, 594, 631, 669, 707, 743] + hit0 = 1 + data1 = [0, 3323, 3660, 3998, 4336, 4673, 5009, 5346, 5684, 6022, 6359, 6696] + hit1 = 1 + + 形态 = [] + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.等级 = char.get_skill_by_name('骑乘召唤').等级 + return super().等效百分比(**argv) + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class 技能34(主动技能): + 名称 = "骑乘后撩踢" + 所在等级 = 15 + 等级上限 = 1 + 等级精通 = 1 + CD = 7 + MP = [9, 250] + 无色消耗 = 0 + + data0 = [0, 3289, 3622, 3955, 4290, 4623, 4958, 5291, 5625, 5959, 6292, 6626] + hit0 = 1 + + 形态 = [] + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.等级 = char.get_skill_by_name('骑乘召唤').等级 + return super().等效百分比(**argv) + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class 技能35(主动技能): + 名称 = "骑乘奔袭" + 所在等级 = 15 + 等级上限 = 1 + 等级精通 = 1 + CD = 7 + MP = [9, 250] + 无色消耗 = 0 + + data0 = [0, 891, 982, 1072, 1163, 1253, 1344, 1434, 1525, 1616, 1705, 1796] + hit0 = 6 + + 形态 = [] + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.等级 = char.get_skill_by_name('骑乘召唤').等级 + return super().等效百分比(**argv) + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class 技能36(主动技能): + 名称 = "骑乘旋风刺击" + 所在等级 = 15 + 等级上限 = 1 + CD = 15 + MP = [9, 250] + 无色消耗 = 0 + + data0 = [0, 610, 673, 735, 797, 859, 920, 983, 1044, 1107, 1169, 1231] + hit0 = 10 + + 形态 = [] + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.等级 = char.get_skill_by_name('骑乘召唤').等级 + return super().等效百分比(**argv) + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'elven_knight' + self.名称 = '皓曦·精灵骑士' + self.角色 = '守护者' + self.角色类型 = '输出' + self.职业 = '精灵骑士' + + self.武器选项 = ['太刀', '钝器', '巨剑', '短剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '巨剑' + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.03 + + super().__init__(equVersion) + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + 自然恩泽 = self.get_skill_by_name("自然恩泽") + self.所有属性抗性加成(自然恩泽.等级+9) + 骑乘召唤 = self.get_skill_by_name("骑乘召唤") + for i in ['骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击']: + skill = self.get_skill_by_name(i) + skill.TP上限 = 骑乘召唤.TP上限 + skill.TP成长 = 骑乘召唤.TP成长 + skill.TP等级 = 骑乘召唤.TP等级 + skill.等级 = 骑乘召唤.等级 + skill.等级上限 = 骑乘召唤.等级上限 + + def 符文计算(self): + for item in self.符文: + if not item is None and item != '': + skill_name: str = item[0:-1] + type = item[-1] + skill = None + if skill_name == '骑乘召唤': + for i in ['骑乘召唤','骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击']: + skill = self.get_skill_by_name(i) + if skill is not None: + # 紫 + if type == "1": + skill.倍率 *= 1.04 + # 红 + if type == "2": + skill.倍率 *= 1.06 + skill.CDR *= 1.04 + # 绿 + if type == "3": + skill.倍率 *= 0.96 + skill.CDR *= 0.93 + # 蓝 + if type == "4": + skill.CDR *= 0.95 + else: + print("skill not found {skill_name}".format(skill_name)) + else: + skill = self.get_skill_by_name(skill_name) + if skill is not None: + # 紫 + if type == "1": + skill.倍率 *= 1.04 + # 红 + if type == "2": + skill.倍率 *= 1.06 + skill.CDR *= 1.04 + # 绿 + if type == "3": + skill.倍率 *= 0.96 + skill.CDR *= 0.93 + # 蓝 + if type == "4": + skill.CDR *= 0.95 + else: + print("skill not found {skill_name}".format(skill_name)) \ No newline at end of file diff --git a/api/core/characters/enchantress.py b/api/core/characters/enchantress.py new file mode 100644 index 00000000..f6b46f99 --- /dev/null +++ b/api/core/characters/enchantress.py @@ -0,0 +1,418 @@ + +from copy import deepcopy +from typing import List + +from core.basic.buffer.property import * +from core.basic.buffer.character import Character + + +class 小魔女护石0: + def __init__(self): + self.name = '黑魔法大师' + self.skill = '疯疯熊坠击' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + pass + + +class 小魔女护石1: + def __init__(self): + self.name = '好的主人!' + self.skill = '变大吧!疯疯熊' + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 小魔女护石2: + def __init__(self): + self.name = '黑暗救援' + self.skill = '哇咔咔!' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("苦痛庭院").CDR *= 0.9 + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 小魔女护石3: + def __init__(self): + self.name = '完美华尔兹' + self.skill = '死命召唤' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 小魔女护石4: + def __init__(self): + self.name = '永恒之舞' + self.skill = '人偶戏法' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 小魔女护石5: + def __init__(self): + self.name = '魔女的庭院' + self.skill = '苦痛庭院' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name("开幕!人偶剧场").CD -= 25 + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 小魔女护石6: + def __init__(self): + self.name = '个人主义者' + self.skill = '咆哮吧!疯疯熊' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +小魔女护石组合 = (小魔女护石0(), 小魔女护石1(), 小魔女护石2(), + 小魔女护石3(), 小魔女护石4(), 小魔女护石5(), 小魔女护石6()) + + +class 知源·小魔女技能0(辅助职业被动技能): + 名称 = '人偶操纵者' + 所在等级 = 15 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + 额外智力 = 0 + 站街生效 = 1 + 智力 = [0, 69, 73, 77, 81, 85, 90, 95, 100, 106, 112, 118, 124, 130, 137, 144, 152, 160, 168, 176, 184, 193, 202, 212, 221, 231, 241, 252, 262, 273, 284, + 296, 308, 320, 332, 344, 358, 371, 384, 398, 412, 426, 440, 456, 470, 486, 502, 518, 534, 550, 567, 581, 597, 613, 629, 645, 660, 676, 692, 708, 724] + + def 智力加成(self): + return self.智力[self.等级] + self.额外智力 + self.进图加成 + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 知源·小魔女技能1(辅助职业主动技能): + 名称 = '小魔女的偏爱' + 所在等级 = 20 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 增幅倍率 = 0.15 + CD = 10 + + def 结算统计(self, context: Buffer): + buff = context.get_skill_by_name('BUFF') + if buff.是否启用 and hasattr(context, '偏爱独立计算') and context.偏爱独立计算: + values = buff.结算统计(context) + return [int(round(i * self.增幅倍率, 3)) for i in values] + return [0]*5 + + +class 知源·小魔女技能2(辅助职业主动技能): + 名称 = '禁忌诅咒' + 所在等级 = 30 + 等级精通 = 10 + 等级上限 = 40 + 学习间隔 = 3 + + BUFF力智per = 1 + BUFF三攻per = 1 + + BUFF力智 = 0 + BUFF三攻 = 0 + + 倍率 = 1.0 + + 三攻 = [0, 34, 35, 37, 38, 39, 41, 42, 43, 45, 46, 47, 49, 50, 51, 53, 54, 55, 57, 58, + 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 84, 85, 87] + 力智 = [0, 131, 140, 149, 158, 167, 175, 184, 193, 202, 211, 220, 229, 238, 247, 256, 264, 273, 282, 291, + 300, 309, 318, 327, 336, 345, 353, 362, 371, 380, 389, 398, 407, 416, 425, 434, 442, 451, 460, 469, 478] + + CD = 10 + + def 结算统计(self, context: Buffer): + buffer_power = context.BUFF量() + + 新词条倍率 = (((self.适用数值 + 4350) / 665 + 1) * + (buffer_power + 3500) / 26395) if buffer_power > 0 else 0 + + 新词条力智 = 新词条倍率 * (self.力智[self.等级]) + 新词条三攻 = 新词条倍率 * (self.三攻[self.等级]) + + 旧词条力智 = ((self.适用数值)/665 + 1) * \ + (self.力智[self.等级]+self.BUFF力智) * self.BUFF力智per + + 旧词条三攻 = ((self.适用数值)/665 + 1) * \ + (self.三攻[self.等级]+self.BUFF三攻) * self.BUFF三攻per + + 倍率 = self.倍率 + + 偏爱 = context.get_skill_by_name('小魔女的偏爱') + if 偏爱.等级 > 0 and 偏爱.是否启用 and not (hasattr(context, '偏爱独立计算') and context.偏爱独立计算): + 倍率 *= 1 + 偏爱.增幅倍率 + + 力智 = int((新词条力智 + 旧词条力智) * 倍率) + 三攻 = int((新词条三攻 + 旧词条三攻) * 倍率) + + return [力智, 三攻, 0, 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 知源·小魔女技能3(辅助职业主动技能): + 名称 = '死命召唤' + 所在等级 = 35 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + 增幅倍率 = 0.25 + + CD = 1 + + def 等效CD(self, **argv): + return 1 + + def 结算统计(self, context: Buffer): + buff = context.get_skill_by_name('BUFF') + 偏爱 = context.get_skill_by_name('小魔女的偏爱') + if buff.是否启用: + values = buff.结算统计(context) + + if 偏爱.等级 > 0 and 偏爱.是否启用 and (hasattr(context, '偏爱独立计算') and context.偏爱独立计算): + temps = 偏爱.结算统计(context) + for i in range(len(temps)): + values[i] += temps[i] + + return [int(round(i * self.增幅倍率)) for i in values] + return [0]*5 + + +class 知源·小魔女技能4(辅助职业被动技能): + 名称 = '少女的爱' + 所在等级 = 48 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 额外力智 = 0 + 力智 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, + 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892] + + def 力智加成(self): + return self.力智[self.等级] + self.额外力智 + + def 结算统计(self, context: Buffer): + return [self.力智加成(), 0, self.力智加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 知源·小魔女技能5(辅助职业觉醒技能): + 名称 = '开幕!人偶剧场' + CD = 170 + pass + + +class 知源·小魔女技能6(辅助职业被动技能): + 名称 = '冥月绽放' + 所在等级 = 75 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 智力 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, + 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540] + + def 智力加成(self): + return self.智力[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 知源·小魔女技能7(辅助职业主动技能): + 名称 = '人偶之森' + 所在等级 = 85 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 5 + CD = 180 + + def 结算统计(self, context: Buffer): + return [0]*5 + + +class 知源·小魔女技能8(辅助职业被动技能): + 名称 = '不祥的微笑' + 所在等级 = 95 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 智力 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, + 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550] + + def 智力加成(self): + return self.智力[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, self.智力加成(), 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 知源·小魔女技能9(辅助职业三觉技能): + 名称 = '终幕!人偶剧场' + 关联技能 = ['人偶之森'] + CD = 290 + pass + +class 知源·小魔女技能10(辅助职业主动技能): + 名称 = '细心缝补' + 所在等级 = 15 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 3 + CD = 15 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 知源·小魔女技能11(辅助职业主动技能): + 名称 = '蔷薇藤鞭' + 所在等级 = 25 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 3 + CD = 10 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 知源·小魔女技能12(辅助职业主动技能): + 名称 = '爱之急救' + 所在等级 = 40 + 等级上限 = 11 + 等级精通 = 1 + 学习间隔 = 2 + CD = 40 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 知源·小魔女技能13(辅助职业主动技能): + 名称 = '苦痛庭院' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 40 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class 知源·小魔女技能14(辅助职业主动技能): + 名称 = '挚爱囚笼' + 所在等级 = 95 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 60 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'enchantress' + self.名称 = '知源·小魔女' + self.角色 = '魔法师(女)' + self.类型 = '辅助' + self.职业 = '小魔女' + self.武器选项 = ['扫把'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.武器类型 = '扫把' + self.防具类型 = '板甲' + self.技能序号 = {} + 技能栏 = [] + + self.被动增伤倍率 = 1.135 + + i = 0 + while i >= 0: + try: + skill: 辅助职业技能 = eval("知源·小魔女技能"+str(i)+"()") + skill.技能序号 = i + 名称 = skill.名称 + self.技能序号[名称] = i + if skill.所在等级 == 30: + 名称 = 'BUFF' + elif skill.所在等级 == 50: + 名称 = '一次觉醒' + elif skill.所在等级 == 85: + 名称 = '二次觉醒' + elif skill.所在等级 == 100: + 名称 = '三次觉醒' + skill.基础等级计算() + 技能栏.append(skill) + self.技能序号[名称] = i + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能栏 + self.buff = 1.70 + self.护石技能 = [i.skill for i in 小魔女护石组合] + + super().__init__(equVersion) + + def 护石计算(self): + for 护石 in 小魔女护石组合: + if 护石.skill in self.护石栏: + 护石.effect(self) + + def 职业特殊计算(self): + for skill in self.技能栏: + data = skill.结算统计(self) + if (data[2] > 0): + self.skills_passive[skill.名称]['info'] = [{ + 'type': '智力', + 'info': [data[2]], + 'percent': False + }] + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info,rune_except=['小魔女的偏爱','禁忌诅咒','死命召唤'],rune_start_lv=10) + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= (1-x) + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.CDR *= (1 - x) + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.恢复 += x + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否主动 == 1: + i.CDR *= CD + + def 设置觉醒技能(self): + self.觉醒技能 = ['开幕!人偶剧场', '终幕!人偶剧场','人偶之森'] \ No newline at end of file diff --git a/api/core/characters/enchantress_carry.py b/api/core/characters/enchantress_carry.py new file mode 100644 index 00000000..22b4f4fd --- /dev/null +++ b/api/core/characters/enchantress_carry.py @@ -0,0 +1,546 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 +from typing import Dict, List, Union + + +class 技能0(主动技能): + 名称 = "别过来!" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [10, 120] + 无色消耗 = 0 + data0 = [0, 4115, 4531, 4950, 5367, 5784, 6201, 6620, 7036, 7454, 7872, 8289, 8706, 9125, 9542, 9959, 10376, 10796, 11211, 11630, 12047, 12465, 12882, 13300, 13717, 14135, 14552, 14969, 15387, 15805, 16221, 16640, 17057, 17474, 17891, 18310, 18726, 19144, 19562, 19978, 20396, 20816, 21232, 21649, 22067, 22483, 22902, 23319, 23736, 24154, 24572, 24988, 25407, 25824, 26241, 26658, 27077, 27493, 27911, 28329, 28746, 29163, 29583, 29998, 30417, 30834, 31252, 31669, 32087, 32503, 32922] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "玫瑰藤蔓" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 793, 872, 953, 1036, 1115, 1197, 1277, 1356, 1437, 1517, 1599, 1678, 1759, 1842, 1920, 2003, 2082, 2160, 2243, 2324, 2405, 2485, 2565, 2647, 2725, 2807, 2887, 2966, 3049, 3130, 3210, 3291, 3371, 3451, 3531, 3613, 3692, 3773, 3854, 3934, 4016, 4097, 4174, 4257, 4337, 4419, 4498, 4579, 4660, 4740, 4820, 4901, 4980, 5062, 5143, 5224, 5304, 5385, 5465, 5545, 5626, 5707, 5787, 5868, 5948, 6029, 6111, 6189, 6270, 6351] + hit0 = 4 + 出血data0 = [0, 118, 130, 142, 153, 166, 178, 189, 202, 213, 225, 237, 249, 261, 273, 285, 296, 309, 320, 330, 344, 354, 367, 378, 390, 401, 414, 427, 437, 450, 461, 473, 485, 497, 511, 521, 533, 547, 559, 571, 583, 595, 606, 619, 630, 642, 655, 666, 678, 690, 702, 713, 726, 738, 749, 762, 773, 786, 797, 809, 822, 833, 845, 857, 869, 879, 893, 903, 916, 929, 940] + 出血hit0 = 0 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '人偶操纵者' + 所在等级 = 15 + 等级精通 = 60 + 等级上限 = 50 + 学习间隔 = 3 + + data = [0, 69, 73, 77, 81, 85, 90, 95, 100, 106, 112, 118, 124, 130, 137, 144, 152, 160, 168, 176, 184, 193, 202, 212, 221, 231, 241, 252, 262, 273, 284, 296, 308, 320, 332, 344, 358, 371, 384, 398, 412, 426, 440, 456, 470, 486, 502, 518, 534, 550, 567, 581, 597, 613, 629, 645, 660, 676, 692, 708, 724, 739, 755, 771, 787, 803, 818, 834, 850, 866, 882] + + def 智力加成(self,武器类型): + return self.data[self.等级] + + +class 技能3(主动技能): + 名称 = "疯狂乱抓" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [27, 294] + 无色消耗 = 0 + data0 = [0, 1097, 1209, 1319, 1431, 1542, 1654, 1764, 1875, 1987, 2099, 2208, 2321, 2433, 2544, 2656, 2765, 2878, 2990, 3101, 3212, 3322, 3435, 3547, 3656, 3769, 3880, 3992, 4103, 4213, 4325, 4437, 4548, 4659, 4770, 4881, 4994, 5104, 5216, 5328, 5438, 5551, 5660, 5772, 5885, 5995, 6105, 6217, 6329, 6441, 6552, 6662, 6775, 6886, 6998, 7107, 7219, 7332, 7442, 7554, 7664, 7776, 7889, 7999, 8110, 8222, 8333, None, None, None, None] + hit0 = 4 + data1 = [0, 1097, 1209, 1319, 1431, 1542, 1654, 1764, 1875, 1987, 2099, 2208, 2321, 2433, 2544, 2656, 2765, 2878, 2990, 3101, 3212, 3322, 3435, 3547, 3656, 3769, 3880, 3992, 4103, 4213, 4325, 4437, 4548, 4659, 4770, 4881, 4994, 5104, 5216, 5328, 5438, 5551, 5660, 5772, 5885, 5995, 6105, 6217, 6329, 6441, 6552, 6662, 6775, 6886, 6998, 7107, 7219, 7332, 7442, 7554, 7664, 7776, 7889, 7999, 8110, 8222, 8333, None, None, None, None] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + +class 技能4(主动技能): + 名称 = "小魔女的偏爱" + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 10 + MP = [35, 392] + 无色消耗 = 0 + 是否有伤害 = 0 + + 关联技能 = ['疯疯熊坠击','变大吧!疯疯熊','咆哮吧!疯疯熊','疯熊守护','哇咔咔!','疯熊火箭拳'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.1 + +class 技能5(被动技能): + 名称 = "邪恶的好奇心" + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + + 关联技能 = ['所有'] + + data = [0, 11.5, 13, 14.5, 16, 17.5, 19, 20.5, 22, 23.5, 25, 26.5, 28, 29.5, 31, 32.5, 34, 35.5, 37, 38.5, 40] + + def 加成倍率(self, 武器类型): + return self.data[self.等级] / 100 + 1 + +class 技能6(主动技能): + 名称 = "疯熊火箭拳" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [32, 343] + 无色消耗 = 0 + data0 = [0, 4464, 4917, 5371, 5822, 6276, 6728, 7182, 7633, 8088, 8541, 8993, 9447, 9898, 10352, 10806, 11258, 11710, 12164, 12618, 13069, 13521, 13976, 14429, 14880, 15334, 15787, 16242, 16692, 17146, 17600, 18053, 18503, 18957, 19412, 19863, 20316, 20769, 21223, 21677, 22128, 22582, 23033, 23488, 23940, 24393, 24846, 25299, 25751, 26206, 26658, 27111, 27564, 28016, 28470, 28923, 29376, 29827, 30282, 30735, 31187, 31641, 32093, 32547, 32997, 33452, 33906, 34359, 34810, 35263, 35718] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能7(主动技能): + 名称 = "火热的爱意" + 所在等级 = 20 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 6 + MP = [32, 343] + 无色消耗 = 0 + data0 = [0, 2648, 3070, 3493, 3915, 4335, 4760, 5183, 5605, 6027, 6449, 6872, 7292, 7714, 8136, 8558, 8981, 9403, 9825, 10248, 10671, 11093, 11515, 11937, 12360, 12782, 13203, 13625, 14048, 14470, 14892, 15317, 15739, 16160, 16582, 17004, 17427, 17849, 18271, 18693, 19115, 19537, 19959, 20381, 20804, 21226, 21648, 22070, 22493, 22915, 23337] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + +class 技能8(主动技能): + 名称 = "蔷薇藤鞭" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 10 + MP = [32, 343] + 无色消耗 = 0 + data0 = [0, 3916, 4539, 5162, 5786, 6410, 7036, 7659, 8283, 8907, 9531, 10156, 10779, 11404, 12027, 12653, 13277, 13900, 14525, 15149, 15773, 16398, 17021, 17646, 18271, 18894, 19519, 20143, 20767, 21391, 22014, 22640, 23264, 23890, 24513, 25137, 25760, 26385, 27008, 27634, 28258, 28881, 29507, 30131, 30754, 31379, 32003, 32627, 33252, 33873, 34499, 35121, 35747, 36372, 36995, 37619, 38243, 38867, 39491, 40115, 40740, 41365, 41989, 42613, 43238, 43861, 44485, 45111, 45733, 46359, 46983] + hit0 = 1 + data1 = [0, 3916, 4539, 5162, 5786, 6410, 7036, 7659, 8283, 8907, 9531, 10156, 10779, 11404, 12027, 12653, 13277, 13900, 14525, 15149, 15773, 16398, 17021, 17646, 18271, 18894, 19519, 20143, 20767, 21391, 22014, 22640, 23264, 23890, 24513, 25137, 25760, 26385, 27008, 27634, 28258, 28881, 29507, 30131, 30754, 31379, 32003, 32627, 33252, 33873, 34499, 35121, 35747, 36372, 36995, 37619, 38243, 38867, 39491, 40115, 40740, 41365, 41989, 42613, 43238, 43861, 44485, 45111, 45733, 46359, 46983] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + +class 技能9(主动技能): + 名称 = "疯熊守护" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 10 + MP = [91, 763] + 无色消耗 = 0 + data0 = [0, 7367, 8117, 8865, 9612, 10358, 11107, 11856, 12602, 13350, 14098, 14844, 15594, 16341, 17088, 17835, 18585, 19331, 20079, 20826, 21573, 22322, 23071, 23817, 24564, 25311, 26061, 26808, 27554, 28301, 29050, 29798, 30545, 31294, 32040, 32788, 33537, 34284, 35031, 35780, 36527, 37274, 38023, 38770, 39517, 40265, 41013, 41761, 42507, 43254, 44004, 44752, 45497, 46246, 46994, 47744, 48490, 49237, 49984, 50730, 51481, 52227, 52975, 53723, 54470, 55218, 55966, 56712, 57461, 58209, 58956] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "御敌之刺" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [69, 724] + 无色消耗 = 0 + data0 = [0, 1959, 2158, 2357, 2555, 2754, 2954, 3153, 3351, 3550, 3749, 3948, 4146, 4345, 4544, 4743, 4941, 5140, 5339, 5539, 5737, 5936, 6135, 6334, 6532, 6731, 6930, 7129, 7327, 7526, 7725, 7924, 8122, 8322, 8521, 8720, 8918, 9117, 9316, 9515, 9713, 9912, 10111, 10310, 10508, 10707, 10907, 11106, 11304, 11503, 11702, 11901, 12099, 12298, 12497, 12696, 12894, 13093, 13292, 13492, 13690, 13889, 14088, 14287, 14485, 14684, 14883, 15082, 15280, 15479, 15678] + hit0 = 5 + 出血data0 = [0, 174, 191, 209, 227, 244, 262, 279, 297, 315, 332, 351, 369, 386, 404, 421, 439, 457, 474, 492, 509, 527, 545, 562, 580, 597, 616, 634, 651, 669, 686, 704, 722, 739, 757, 774, 792, 810, 827, 845, 862, 881, 899, 916, 934, 952, 969, 987, 1004, 1022, 1040, 1057, 1075, 1092, 1110, 1128, 1146, 1164, 1181, 1199, 1217, 1234, 1252, 1269, 1287, 1305, 1322, 1340, 1357, 1375, 1393] + 出血hit0 = 0 + TP成长 = 0.1 + TP上限 = 7 + +class 技能11(主动技能): + 名称 = "疯疯熊坠击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [130, 1092] + 无色消耗 = 1 + data0 = [0, 11548, 12718, 13891, 15062, 16234, 17404, 18576, 19748, 20918, 22093, 23262, 24437, 25607, 26778, 27951, 29122, 30293, 31464, 32636, 33807, 34979, 36151, 37322, 38496, 39666, 40836, 42009, 43180, 44353, 45523, 46694, 47867, 49037, 50210, 51381, 52553, 53724, 54896, 56067, 57239, 58411, 59581, 60753, 61926, 63096, 64271, 65440, 66610, 67785, 68954, 70126, 71299, 72471, 73640, 74814, 75985, 77154, 78329, 79499, 80670, 81844, 83014, 84185, 85358, 86529, 87701, 88872, 90044, 91215, 92388] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.38 + +class 技能12(主动技能): + 名称 = "死命召唤" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 1 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 19225, 22289, 25354, 28419, 31484, 34550, 37614, 40679, 43745, 46810, 49875, 52939, 56004, 59069, 62134, 65198, 68264, 71329, 74394, 77460, 80525, 83589, 86654, 89719, 92784, 95848, 98913, 101978, 105044, 108109, 111175, 114239, 117304, 120369, 123434, 126498, 129563, 132628, 135692, 138759, 141823, 144889, 147954, 151019, 154084, 157147, 160212, 163277, 166342, 169406, 172471, 175537, 178603, 181668, 184733, 187797, 190862, 193927, 196992, 200056, 203121, 206186, 209252, 212318, 215383, 218447, 221512, 224577, 227642, 230706] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + def 等效CD(self, **argv): + return 1.0 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.16 + +class 技能13(主动技能): + 名称 = "蔷薇囚狱" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 1172, 1289, 1410, 1529, 1649, 1766, 1886, 2005, 2122, 2243, 2362, 2481, 2599, 2718, 2839, 2956, 3076, 3195, 3313, 3432, 3552, 3670, 3789, 3909, 4026, 4147, 4266, 4383, 4503, 4622, 4741, 4860, 4980, 5099, 5216, 5336, 5455, 5575, 5693, 5813, 5930, 6049, 6170, 6288, 6407, 6526, 6646, 6763, 6882, 7003, 7120, 7240, 7359, 7476, 7597, 7716, 7835, 7953, 8073, 8190, 8310, 8430, 8548, 8667, 8786, 8906, 9024, 9143, 9263, 9380] + hit0 = 6 + data1 = [0, 8795, 9686, 10579, 11472, 12364, 13257, 14148, 15040, 15934, 16826, 17718, 18609, 19502, 20394, 21288, 22180, 23072, 23963, 24855, 25749, 26642, 27534, 28425, 29317, 30209, 31103, 31996, 32886, 33779, 34671, 35564, 36457, 37348, 38240, 39133, 40025, 40918, 41811, 42702, 43594, 44487, 45381, 46272, 47164, 48056, 48948, 49842, 50734, 51625, 52518, 53409, 54302, 55196, 56088, 56979, 57872, 58763, 59657, 60550, 61440, 62333, 63225, 64117, 65010, 65902, 66794, 67687, 68579, 69471, 70364] + hit1 = 1 + 出血data0 = [0, 158, 175, 192, 207, 224, 241, 255, 272, 289, 304, 321, 338, 353, 370, 386, 401, 418, 435, 451, 469, 484, 499, 518, 532, 548, 566, 581, 597, 615, 629, 645, 663, 678, 694, 712, 727, 742, 760, 775, 791, 809, 824, 840, 858, 872, 888, 906, 921, 937, 955, 971, 985, 1003, 1019, 1034, 1052, 1068, 1083, 1101, 1116, 1132, 1148, 1165, 1182, 1198, 1214, 1231, 1246, 1262, 1279] + 出血hit0 = 0 + TP成长 = 0.1 + TP上限 = 5 + +class 技能14(主动技能): + 名称 = "变大吧!疯疯熊" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [338, 2839] + 无色消耗 = 2 + data0 = [0, 3636, 4005, 4374, 4743, 5113, 5481, 5850, 6218, 6588, 6957, 7326, 7696, 8064, 8432, 8802, 9172, 9540, 9910, 10277, 10647, 11016, 11385, 11754, 12124, 12491, 12861, 13229, 13599, 13968, 14337, 14705, 15074, 15443, 15813, 16183, 16551, 16918, 17288, 17658, 18027, 18396, 18765, 19133, 19502, 19872, 20240, 20610, 20979, 21348, 21716, 22085, 22454, 22824, 23192, 23562, 23929, 24299, 24668, 25037, 25407, 25776, 26143, 26513, 26883, 27251, 27621, 27989, 28358, 28727, 29096] + hit0 = 6 + data1 = [0, 14547, 16022, 17498, 18977, 20451, 21929, 23403, 24879, 26355, 27831, 29306, 30783, 32258, 33733, 35211, 36687, 38162, 39639, 41114, 42589, 44066, 45541, 47017, 48494, 49969, 51444, 52922, 54398, 55874, 57350, 58825, 60302, 61777, 63252, 64729, 66204, 67680, 69158, 70633, 72108, 73585, 75061, 76536, 78013, 79488, 80963, 82440, 83915, 85393, 86869, 88344, 89821, 91296, 92771, 94248, 95723, 97199, 98676, 100151, 101626, 103104, 104580, 106055, 107532, 109007, 110482, 111959, 113434, 114910, 116386] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + +class 技能15(被动技能): + 名称 = '少女的爱' + 所在等级 = 48 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 关联技能 = ['所有'] + + data0 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, 464, 487, 509, 532, 554, 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892, 914, 937, 959, 982, 1004, 1027, 1049, 1072, 1094, 1117] + data1 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31.5, 33, 34.5, 36, 37.5, 39, 40.5, 42, 43.5, 45, 46.5, 48, 49.5, 51, 52.5, 54, 55.5, 57, 58.5, 60, 61.5, 63, 64.5, 66, 67.5, 69, 70.5, 72, 73.5, 75] + + def 加成倍率(self, 武器类型): + return self.data1[self.等级] / 100 + 1 + + def 智力加成(self,武器类型): + return self.data0[self.等级] + +class 技能16(主动技能): + 名称 = "开幕!人偶剧场" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 170 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 95384, 117504, 139620, 161740, 183856, 205976, 228096, 250215, 272332, 294451, 316570, 338687, 360805, 382923, 405041, 427160, 449279, 471396, 493516, 515633, 537751, 559872, 581990, 604109, 626226, 648344, 670464, 692581, 714700, 736818, 758936, 781054, 803173, 825293, 847409, 869528, 891647, 913765, 935885, 958003, 980122, 1002239, 1024359, 1046478, 1068595, 1090714, 1112833, 1134952, 1157070, 1179188] + hit0 = 1 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 9 else 1.0) + +class 技能17(主动技能): + 名称 = "人偶戏法" + 所在等级 = 60 + 等级上限 = 40 + 学习间隔 = 2 + 等级精通 = 50 + CD = 1 + MP = [400, 1000] + 无色消耗 = 2 + data0 = [0, 2153, 2368, 2589, 2806, 3024, 3243, 3462, 3680, 3898, 4116, 4336, 4554, 4772, 4991, 5207, 5425, 5644, 5864, 6082, 6300, 6518, 6737, 6956, 7174, 7393, 7611, 7827, 8047, 8266, 8483, 8701, 8919, 9138, 9358, 9576, 9794, 10013, 10231, 10450, 10669, 10885, 11104, 11322, 11541, 11759, 11977, 12196, 12414, 12632, 12852] + hit0 = 4 + data1 = [0, 8607, 9480, 10355, 11227, 12101, 12976, 13850, 14721, 15595, 16470, 17344, 18215, 19089, 19964, 20835, 21709, 22584, 23458, 24330, 25203, 26077, 26949, 27823, 28697, 29570, 30442, 31317, 32190, 33062, 33938, 34812, 35684, 36557, 37432, 38304, 39178, 40051, 40923, 41798, 42671, 43544, 44419, 45292, 46165, 47038, 47913, 48785, 49659, 50532, 51406] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + def 等效CD(self, **argv): + return 1.0 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.26 + + +class 技能17(主动技能): + 名称 = "爱之刺痛" + 所在等级 = 60 + 等级上限 = 40 + 学习间隔 = 2 + 等级精通 = 50 + CD = 30 + MP = [400, 1000] + 无色消耗 = 2 + data0 = [0, 1098, 1210, 1321, 1433, 1544, 1656, 1768, 1879, 1991, 2101, 2213, 2324, 2436, 2547, 2659, 2770, 2882, 2993, 3105, 3217, 3328, 3440, 3551, 3663, 3774, 3886, 3996, 4108, 4219, 4331, 4442, 4554, 4666, 4777, 4889, 5000, 5112, 5223, 5335, 5446, 5558, 5670, 5780, 5891, 6003, 6115, 6226, 6338, 6449, 6561] + hit0 = 25 + data1 = [0, 976, 1075, 1174, 1273, 1373, 1472, 1571, 1670, 1769, 1868, 1968, 2067, 2165, 2264, 2363, 2462, 2562, 2661, 2760, 2859, 2958, 3057, 3157, 3256, 3355, 3453, 3552, 3651, 3751, 3850, 3949, 4048, 4147, 4246, 4346, 4445, 4544, 4643, 4741, 4840, 4940, 5039, 5138, 5237, 5336, 5435, 5535, 5634, 5733, 5832] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.26 + +class 技能18(主动技能): + 名称 = "哇咔咔!" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [860, 1500] + 无色消耗 = 3 + data0 = [0, 4737, 5219, 5700, 6179, 6661, 7142, 7622, 8103, 8584, 9064, 9545, 10027, 10505, 10987, 11468, 11948, 12429, 12912, 13391, 13872, 14354, 14832, 15314, 15793, 16275, 16757, 17237, 17718, 18199, 18678, 19158, 19640, 20121, 20601, 21083, 21563, 22043, 22525, 23007, 23487, 23967, 24447, 24929, 25409, 25890, 26371, 26850, 27332, 27813, 28293] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + +class 技能19(被动技能): + 名称 = '冥月绽放' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 关联技能 = ['所有'] + 冷却关联技能 = ['所有'] + 额外倍率 = 0 + + data0 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640] + data1 = [0, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118, 120, 122] + + def 加成倍率(self, 武器类型): + return self.data1[self.等级] / 100 +1 + + def 智力加成(self,武器类型): + return self.data0[self.等级] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.8 + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.32 + self.额外倍率 + +class 技能20(主动技能): + 名称 = "苦痛庭院" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 4339, 4780, 5221, 5661, 6100, 6540, 6982, 7423, 7864, 8305, 8742, 9183, 9623, 10064, 10505, 10945, 11384, 11826, 12266, 12707, 13148, 13589, 14027, 14468, 14907, 15348, 15789, 16230, 16668, 17110, 17551, 17991, 18432, 18873, 19312, 19753, 20194, 20633, 21074, 21515, 21954, 22394, 22835, 23275, 23716, 24156, 24596, 25037, 25478, 25917] + hit0 = 8 + data1 = [0, 39065, 43030, 46991, 50957, 54917, 58881, 62845, 66808, 70770, 74734, 78697, 82661, 86626, 90586, 94550, 98513, 102479, 106439, 110404, 114366, 118331, 122293, 126257, 130219, 134183, 138146, 142111, 146071, 150035, 153999, 157962, 161925, 165888, 169853, 173815, 177778, 181742, 185704, 189667, 193631, 197595, 201558, 205521, 209484, 213447, 217411, 221374, 225336, 229300, 233263] + hit1 = 1 + 出血data0 = [0, 964, 1062, 1159, 1256, 1353, 1454, 1551, 1649, 1747, 1843, 1941, 2041, 2139, 2235, 2333, 2433, 2529, 2628, 2725, 2823, 2921, 3020, 3116, 3213, 3312, 3410, 3509, 3607, 3704, 3800, 3898, 3997, 4096, 4193, 4291, 4389, 4488, 4584, 4682, 4780, 4878, 4976, 5074, 5171, 5270, 5367, 5465, 5563, 5661, 5758] + 出血hit0 = 0 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + self.CDR *= 0.9 + +class 技能21(主动技能): + 名称 = "咆哮吧!疯疯熊" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [860, 1500] + 无色消耗 = 5 + data0 = [0, 3609, 3974, 4341, 4706, 5073, 5438, 5806, 6171, 6538, 6904, 7271, 7635, 8003, 8369, 8735, 9101, 9468, 9832, 10199, 10565, 10933, 11298, 11665, 12031, 12395, 12762, 13128, 13496, 13861, 14228, 14593, 14959, 15325, 15693, 16058, 16425, 16790, 17157, 17522, 17889, 18254, 18622, 18988, 19354, 19719, 20086, 20452, 20820, 21185, 21550] + hit0 = 24 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.12 + self.data1 = [int(i*0.25) for i in self.data0] + self.hit1 = 24 + +class 技能22(主动技能): + 名称 = "欢迎光临人偶之森" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 11509, 14177, 16846, 19514, 22182, 24852, 27521, 30189, 32856, 35527, 38195, 40863, 43533, 46201, 48869, 51539, 54207, 56875, 59544, 62214, 64883, 67550, 70219, 72889, 75557, 78226, 80895, 83563, 86231, 88901, 91569, 94237, 96908, 99575, 102243, 104913, 107582, 110250, 112918, 115587, 118255, 120925, 123594, 126262, 128930, 131600, 134269, 136937, 139605, 142276] + hit0 = 7 + data1 = [0, 40282, 49621, 58962, 68302, 77641, 86981, 96323, 105663, 115004, 124343, 133685, 143026, 152366, 161706, 171045, 180388, 189727, 199067, 208407, 217748, 227087, 236430, 245770, 255110, 264451, 273792, 283131, 292471, 301812, 311151, 320493, 329833, 339174, 348515, 357853, 367196, 376535, 385876, 395215, 404556, 413897, 423238, 432577, 441918, 451258, 460600, 469941, 479279, 488620, 497960] + hit1 = 1 + data2 = [0, 107415, 132321, 157230, 182137, 207044, 231954, 256860, 281767, 306676, 331585, 356492, 381400, 406307, 431215, 456124, 481030, 505937, 530847, 555753, 580663, 605569, 630478, 655387, 680293, 705202, 730108, 755017, 779924, 804834, 829739, 854647, 879557, 904463, 929372, 954279, 979187, 1004094, 1029003, 1053910, 1078817, 1103725, 1128634, 1153540, 1178449, 1203356, 1228265, 1253174, 1278079, 1302986, 1327895] + hit2 = 1 + +class 技能23(被动技能): + 名称 = '不祥的微笑' + 所在等级 = 95 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 关联技能 = ['所有'] + + data0 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118] + data1 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650] + + def 加成倍率(self, 武器类型): + return self.data0[self.等级] / 100 +1 + + def 智力加成(self,武器类型): + return self.data1[self.等级] + +class 技能24(主动技能): + 名称 = "挚爱囚笼" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 21403, 23575, 25744, 27915, 30087, 32257, 34430, 36600, 38773, 40944, 43116, 45287, 47456, 49629, 51799, 53971, 56142, 58314, 60484, 62657, 64828, 67000, 69169, 71341, 73513, 75684, 77856, 80027, 82198, 84371, 86541, 88714, 90883, 93053, 95226, 97398, 99569, 101740, 103911, 106083, 108253, 110426, 112596, 114767, 116940, 119110, 121283, 123453, 125624, 127796] + hit0 = 3 + data1 = [0, 8324, 9167, 10012, 10855, 11701, 12543, 13388, 14233, 15078, 15922, 16767, 17610, 18455, 19299, 20144, 20990, 21834, 22678, 23522, 24365, 25210, 26053, 26898, 27744, 28588, 29433, 30277, 31122, 31965, 32810, 33654, 34500, 35344, 36188, 37031, 37876, 38721, 39565, 40409, 41254, 42098, 42943, 43787, 44632, 45476, 46320, 47165, 48010, 48853, 49697] + hit1 = 6 + data2 = [0, 14267, 15715, 17163, 18610, 20058, 21505, 22953, 24400, 25848, 27295, 28743, 30192, 31637, 33084, 34533, 35980, 37427, 38877, 40324, 41771, 43219, 44667, 46114, 47562, 49009, 50457, 51905, 53351, 54798, 56245, 57694, 59141, 60588, 62037, 63484, 64931, 66378, 67827, 69274, 70721, 72168, 73617, 75064, 76511, 77958, 79407, 80854, 82301, 83748, 85197] + hit2 = 2 + +class 技能25(主动技能): + 名称 = "终幕!人偶剧场" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 7877, 9703, 11530, 13357, 15182, 17008, 18837, 20663, 22489, 24315, 26140, 27968, 29795, 31621, 33449, 35275, 37101, 38928, 40755, 42580, 44408, 46234, 48059, 49886, 51713, 53541, 55367, 57192, 59019, 60846, 62675, 64500, 66326, 68152, 69980, 71805, 73633, 75459, 77284, 79112, 80938, 82766, 84591, 86418, 88245, 90071, 91896, 93724, 95552, 97378] + hit0 = 8 + data1 = [0, 31507, 38813, 46118, 53426, 60733, 68038, 75344, 82652, 89956, 97263, 104569, 111874, 119182, 126489, 133794, 141100, 148407, 155713, 163019, 170325, 177633, 184938, 192245, 199550, 206854, 214163, 221469, 228775, 236080, 243389, 250693, 257998, 265305, 272610, 279918, 287224, 294530, 301837, 309143, 316449, 323754, 331062, 338369, 345674, 352980, 360288, 367592, 374899, 382205, 389511] + hit1 = 3 + data2 = [0, 472619, 582211, 691806, 801399, 910991, 1020585, 1130176, 1239771, 1349364, 1458957, 1568549, 1678142, 1787736, 1897330, 2006922, 2116516, 2226109, 2335704, 2445295, 2554889, 2664481, 2774074, 2883667, 2993261, 3102855, 3212446, 3322040, 3431634, 3541227, 3650819, 3760412, 3870005, 3979600, 4089191, 4198785, 4308377, 4417972, 4527564, 4637157, 4746750, 4856342, 4965936, 5075530, 5185122, 5294715, 5404307, 5513902, 5623494, 5733087, 5842680] + hit2 = 1 + + 形态 = ['终结','打满'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "终结": + self.power2 = 1.0 + self.power0 = self.power1 = 0 + if 形态 == "打满": + self.power2 = 0 + self.power0 = self.power1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'enchantress_carry' + self.名称 = '知源·小魔女' + self.角色 = '魔法师(女)' + self.职业 = '小魔女' + self.转职 = '小魔女' + self.武器选项 = ['扫把'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.武器类型 = '扫把' + self.防具类型 = '板甲' + self.类型 = '魔法固伤' + self.bufferCarry = True + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.7 + + super().__init__(equVersion) + + def 伤害指数计算(self): + # 被动对智力加成 + for i in self.技能栏: + if hasattr(i, '智力加成'): + 智力 = i.智力加成(self.武器类型) + self.进图智力 += 智力 + super().伤害指数计算() + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, rune_except=['死命召唤']) \ No newline at end of file diff --git a/api/core/characters/exorcist.py b/api/core/characters/exorcist.py new file mode 100644 index 00000000..d1dc5de2 --- /dev/null +++ b/api/core/characters/exorcist.py @@ -0,0 +1,596 @@ +from math import floor +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 + + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['基本攻击', '空斩打' ,'疾风打'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '基本攻击' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + CD = 1 # 也没有CD + # 平x第一击 + data1 = [0, 94.27] + hit1 = 1 + + data2 = [0, 112.85] + hit2 = 1 + + data3 = [0, 138.57] + hit3 = 1 + + data4 = [0, 71.465] + hit4 = 1 + + TP成长 = 0.10 + TP上限 = 5 + + +class 技能2(主动技能): + 名称 = "空斩打" + 所在等级 = 1 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 2 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 140, 154, 169, 185, 200, 216, 231, 246, 262, 277, 294, 309, 323, 339, 353, 369, 386, 401, 416, 431] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + + +class 技能3(主动技能): + 名称 = "落凤锤" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [28, 308] + 无色消耗 = 0 + data0 = [0, 694, 765, 837, 905, 976, 1046, 1118, 1189, 1260, 1328, 1397, 1472, 1541, 1610, 1682, 1752, 1823, 1896, 1963, 2032, 2102, 2175, 2246, 2317, 2387, 2454, 2530, 2597, 2669, 2740, 2810, 2882, 2953, 3021, 3095, 3169, 3236, 3304, 3374, 3447, 3517, 3585, 3658, 3727, 3802, 3874, 3939, 4011, 4082, 4150, 4223, 4293, 4366, 4434, 4506, 4577, 4646, 4714, 4787, 4857, 4929, 4999, 5068, 5138, 5212, 5278, 5351, 5421, 5494, 5563] + hit0 = 1 + data1 = [0, 2780, 3063, 3345, 3626, 3911, 4192, 4474, 4759, 5040, 5321, 5603, 5885, 6168, 6450, 6734, 7015, 7299, 7579, 7861, 8145, 8425, 8711, 8990, 9274, 9553, 9834, 10120, 10400, 10684, 10965, 11249, 11530, 11814, 12096, 12378, 12661, 12943, 13225, 13508, 13787, 14073, 14352, 14638, 14918, 15201, 15483, 15764, 16050, 16331, 16613, 16894, 17174, 17460, 17739, 18025, 18304, 18588, 18871, 19152, 19435, 19718, 20002, 20284, 20564, 20849, 21128, 21413, 21692, 21979, 22259] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 倍率 = 1.2 # 转职 + + +class 技能4(主动技能): + 名称 = '疾风打' + 所在等级 = 15 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + CD = 4.5 + MP = [190, 190] + 无色消耗 = 0 + data0 = [0, 355] + hit0 = 1 + data1 = [0, 532] + hit1 = 1 + CD = 4.5 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "升天阵" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [28, 308] + 无色消耗 = 0 + data0 = [0, 3197, 3519, 3842, 4169, 4490, 4816, 5139, 5466, 5791, 6112, 6435, 6762, 7087, 7410, 7732, 8061, 8382, 8703, 9031, 9358, 9681, 10004, 10330, 10654, 10979, 11302, 11630, 11951, 12273, 12595, 12923, 13246, 13571, 13894, 14221, 14543, 14867, 15191, 15520, 15843, 16165, 16493, 16814, 17137, 17462, 17789, 18112, 18435, 18756, 19084, 19409, 19734, 20056, 20383, 20706, 21027, 21353, 21679, 22002, 22326, 22649, 22977, 23296, 23624, 23948, 24274, 24597, 24923, 25249, 25568] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 倍率 = 1.2 # 转职 + + +class 技能6(被动技能): + 名称 = '巨兵精通' + 所在等级 = 20 + 等级上限 = 40 + 基础等级 = 20 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.1 + 0.01 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "式神:热炎朱雀" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [40, 462] + 无色消耗 = 0 + data0 = [0, 555, 613, 667, 724, 781, 841, 895, 951, 1009, 1065, 1120, 1176, 1235, 1291, 1348, 1403, 1461, 1518, 1573, 1631, 1688, 1744, 1799, 1854, 1913, 1967, 2027, 2082, 2140, 2195, 2252, 2307, 2364, 2420, 2480, 2537, 2591, 2646, 2702, 2757, 2813, 2870, 2930, 2985, 3044, 3098, 3157, 3212, 3270, 3326, 3382, 3438, 3495, 3551, 3607, 3662, 3723, 3778, 3835, 3890, None, None, None, None, None, None, None, None, None, None] + hit0 = 4 + data1 = [0, 3333, 3676, 4000, 4344, 4687, 5043, 5368, 5705, 6055, 6392, 6723, 7053, 7409, 7746, 8090, 8421, 8764, 9108, 9438, 9788, 10125, 10462, 10793, 11124, 11480, 11804, 12160, 12491, 12841, 13172, 13515, 13839, 14183, 14520, 14882, 15219, 15544, 15875, 16212, 16542, 16879, 17223, 17579, 17910, 18266, 18590, 18940, 19271, 19621, 19958, 20295, 20625, 20969, 21306, 21643, 21974, 22336, 22667, 23010, 23341, None, None, None, None, None, None, None, None, None, None] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "星落打" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [60, 756] + 无色消耗 = 0 + data0 = [0, 9034, 9951, 10869, 11785, 12698, 13620, 14536, 15453, 16369, 17286, 18202, 19120, 20035, 20951, 21868, 22787, 23703, 24619, 25536, 26455, 27368, 28286, 29203, 30118, 31035, 31952, 32871, 33786, 34700, 35619, 36536, 37453, 38371, 39287, 40203, 41117, 42035, 42951, 43871, 44789, 45704, 46620, 47539, 48452, 49371, 50287, 51205, 52120, 53036, 53955, 54870, 55786, 56704, 57621, 58538, 59453, 60373, 61289, 62207, 63120, 64038, 64955, 65870, 66788, 67704, 68622, 69541, 70453, 71372, 72288] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "式神:地之玄武" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [65, 686] + 无色消耗 = 0 + data0 = [0, 718, 784, 857, 923, 1004, 1076, 1145, 1218, 1288, 1363, 1429, 1510, 1578, 1653, 1726, 1792, 1867, 1943, 2014, 2077, 2157, 2226, 2306, 2382, 2447, 2518, 2591, 2668, 2737, 2805, 2881, 2956, 3024, 3102, 3176, 3241, 3319, 3387, 3465, 3531, 3601, 3674, 3750, 3830, 3898, 3969, 4039, 4116, 4186, 4254, 4327, 4405, 4475, 4541, 4622, 4695, 4768, 4841, 4909, 4985, 5055, 5124, 5199, 5265, 5340, 5417, 5486, 5564, 5632, 5703] + hit0 = 10 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能10(被动技能): + 名称 = '驱魔之书' + 所在等级 = 30 + 等级上限 = 40 + 基础等级 = 10 + 关联技能 = ['所有'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ["四左天泰门","真龙焚天","雷鸣怒海·火啸山崩"] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.015 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.9 + + +class 技能11(主动技能): + 名称 = "狂乱锤击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 14 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 1878, 2067, 2258, 2451, 2638, 2829, 3020, 3210, 3400, 3590, 3780, 3971, 4160, 4352, 4541, 4734, 4925, 5114, 5304, 5494, 5685, 5875, 6066, 6256, 6448, 6636, 6828, 7018, 7208, 7400, 7591, 7782, 7972, 8162, 8353, 8542, 8734, 8924, 9113, 9304, 9495, 9684, 9875, 10066, 10255, 10446, 10637, 10826, 11018, 11210, 11400, 11591, 11780, 11970, 12161, 12353, 12542, 12732, 12921, 13111, 13305, 13494, 13683, 13875, 14066, 14256, 14445, 14638, 14826, 15016] + hit0 = 4 + data1 = [0, 4045, 4453, 4864, 5276, 5682, 6093, 6503, 6914, 7324, 7732, 8140, 8555, 8961, 9374, 9780, 10195, 10607, 11014, 11425, 11835, 12244, 12657, 13065, 13474, 13885, 14295, 14708, 15115, 15526, 15935, 16349, 16763, 17170, 17579, 17991, 18399, 18811, 19220, 19629, 20040, 20450, 20859, 21269, 21679, 22086, 22500, 22910, 23319, 23731, 24146, 24552, 24966, 25376, 25782, 26194, 26606, 27014, 27423, 27831, 28239, 28654, 29064, 29474, 29884, 30296, 30705, 31114, 31526, 31934, 32344] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能12(主动技能): + 名称 = "式神:空之白虎" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16.5 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 2109, 2325, 2540, 2752, 2968, 3181, 3394, 3610, 3825, 4040, 4251, 4466, 4681, 4893, 5109, 5322, 5535, 5752, 5965, 6180, 6395, 6607, 6822, 7034, 7252, 7465, 7678, 7896, 8107, 8322, 8534, 8752, 8967, 9181, 9393, 9607, 9824, 10035, 10249, 10468, 10677, 10894, 11108, 11322, 11536, 11751, 11967, 12180, 12392, 12607, 12822, 13038, 13250, 13461, 13681, 13894, 14108, 14322, 14534, 14749, 14963, 15178, 15392, 15606, 15823, 16034, 16249, 16461, 16677, 16892] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4 + self.CDR *= 0.85 + self.data1 = self.data0 + self.hit1 = 1 + self.power1 = 4.4 * 1.38 + + +class 技能13(主动技能): + 名称 = "疾空旋风破" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 2068, 2279, 2487, 2698, 2910, 3116, 3327, 3539, 3746, 3958, 4170, 4376, 4588, 4798, 5010, 5222, 5427, 5638, 5847, 6059, 6269, 6476, 6683, 6896, 7105, 7317, 7525, 7737, 7946, 8160, 8368, 8573, 8788, 8997, 9209, 9418, 9625, 9838, 10045, 10255, 10467, 10674, 10885, 11097, 11303, 11513, 11728, 11933, 12142, 12360, 12566, 12777, 12984, 13195, 13407, 13617, 13826, 14034, 14242, 14456, 14666, 14876, 15083, 15296, 15506, 15719, 15925, 16131, 16348, 16555] + hit0 = 6 + data1 = [0, 4325, 4764, 5204, 5643, 6080, 6517, 6960, 7398, 7834, 8276, 8713, 9153, 9597, 10034, 10469, 10913, 11352, 11788, 12230, 12667, 13105, 13547, 13986, 14424, 14861, 15301, 15740, 16179, 16620, 17055, 17494, 17936, 18374, 18813, 19253, 19689, 20128, 20570, 21009, 21447, 21887, 22325, 22763, 23199, 23641, 24079, 24519, 24959, 25397, 25836, 26276, 26713, 27152, 27592, 28030, 28467, 28910, 29349, 29785, 30229, 30665, 31105, 31541, 31985, 32420, 32858, 33301, 33738, 34175, 34619] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 1 + self.倍率 *= 1.17 + self.CDR *= 0.85 + + +class 技能14(主动技能): + 名称 = "无双击" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [350, 2940] + 无色消耗 = 2 + data0 = [0, 1926, 2118, 2313, 2510, 2702, 2897, 3097, 3291, 3488, 3681, 3877, 4073, 4267, 4460, 4657, 4853, 5049, 5245, 5438, 5633, 5831, 6024, 6221, 6416, 6609, 6804, 7005, 7195, 7391, 7587, 7780, 7976, 8173, 8366, 8562, 8762, 8957, 9149, 9346, 9543, 9733, 9933, 10126, 10318, 10517, 10710, 10904, 11103, 11299, 11491, 11688, 11885, 12081, 12275, 12467, 12663, 12859, 13056, 13251, 13445, 13640, 13837, 14033, 14229, 14422, 14616, 14808, 15008, 15202, 15397] + hit0 = 1 + data1 = [0, 25573, 28170, 30761, 33357, 35953, 38550, 41140, 43733, 46330, 48920, 51520, 54112, 56709, 59301, 61900, 64493, 67089, 69679, 72275, 74869, 77459, 80060, 82652, 85248, 87839, 90441, 93033, 95629, 98219, 100815, 103408, 106006, 108602, 111196, 113788, 116381, 118982, 121572, 124168, 126759, 129355, 131951, 134546, 137140, 139733, 142326, 144926, 147521, 150111, 152708, 155299, 157896, 160488, 163088, 165680, 168276, 170867, 173465, 176059, 178658, 181247, 183844, 186437, 189030, 191625, 194218, 196814, 199408, 202004, 204600] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + self.CDR *= 0.95 + + + +class 技能15(被动技能): + 名称 = '斗志散发' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.07 + 0.01 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = "四左天泰门" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 1669, 2056, 2442, 2830, 3216, 3603, 3990, 4377, 4763, 5151, 5538, 5924, 6312, 6698, 7086, 7472, 7859, 8246, 8633, 9020, 9407, 9794, 10180, 10568, 10954, 11342, 11728, 12115, 12503, 12889, 13276, 13663, 14050, 14436, 14824, 15210, 15597, 15985, 16371, 16758, 17145, 17532, 17919, 18306, 18692, 19080, 19467, 19853, 20241, 20627] + hit0 = 21 + data1 = [0, 50056, 61662, 73269, 84878, 96487, 108093, 119700, 131308, 142916, 154523, 166130, 177737, 189344, 200951, 212560, 224168, 235774, 247380, 258987, 270595, 282203, 293810, 305417, 317024, 328631, 340242, 351849, 363456, 375062, 386668, 398276, 409884, 421493, 433099, 444706, 456311, 467921, 479529, 491136, 502740, 514348, 525958, 537565, 549173, 560781, 572386, 583995, 595602, 607209, 618817] + hit1 = 1 + + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 9 else 1) + + +class 技能17(主动技能): + 名称 = "式神:幻海青龙" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 2973, 3278, 3579, 3879, 4180, 4483, 4785, 5086, 5389, 5691, 5994, 6295, 6596, 6896, 7203, 7503, 7805, 8105, 8412, 8712, 9010, 9314, 9614, 9916, 10218, 10520, 10820, 11124, 11426, 11728, 12029, 12330, 12634, 12937, 13237, 13538, 13839, 14145, 14447, 14748, 15049, 15351, 15652, 15954, 16256, 16558, 16860, 17161, 17462, 17765] + hit0 = 1 + data1 = [0, 5947, 6555, 7157, 7757, 8359, 8965, 9570, 10172, 10778, 11382, 11989, 12591, 13193, 13793, 14405, 15005, 15610, 16210, 16824, 17424, 18020, 18628, 19228, 19833, 20437, 21041, 21641, 22247, 22851, 23456, 24058, 24660, 25268, 25875, 26475, 27077, 27679, 28289, 28893, 29496, 30098, 30702, 31304, 31908, 32512, 33117, 33721, 34323, 34925, 35529] + hit1 = 1 + data2 = [0, 5947, 6555, 7157, 7757, 8359, 8965, 9570, 10172, 10778, 11382, 11989, 12591, 13193, 13793, 14405, 15005, 15610, 16210, 16824, 17424, 18020, 18628, 19228, 19833, 20437, 21041, 21641, 22247, 22851, 23456, 24058, 24660, 25268, 25875, 26475, 27077, 27679, 28289, 28893, 29496, 30098, 30702, 31304, 31908, 32512, 33117, 33721, 34323, 34925, 35529] + hit2 = 1 + data3 = [0, 14866, 16388, 17893, 19393, 20898, 22414, 23924, 25429, 26945, 28456, 29971, 31477, 32982, 34482, 36014, 37513, 39024, 40524, 42061, 43561, 45050, 46571, 48071, 49581, 51092, 52602, 54102, 55618, 57129, 58639, 60144, 61650, 63171, 64686, 66186, 67692, 69197, 70723, 72234, 73739, 75244, 76755, 78260, 79770, 81281, 82791, 84302, 85807, 87312, 88823] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = self.hit1 = self.hit2 = 0 + self.power3 = 2.32 + 0.32 + self.CDR *= 0.9 + + +class 技能18(主动技能): + 名称 = "逆鳞震" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 51191, 56385, 61586, 66769, 71967, 77160, 82360, 87558, 92743, 97947, 103138, 108332, 113519, 118720, 123911, 129110, 134294, 139495, 144693, 149880, 155079, 160269, 165469, 170654, 175854, 181049, 186245, 191446, 196629, 201832, 207026, 212220, 217408, 222605, 227796, 232987, 238186, 243387, 248582, 253767, 258966, 264159, 269355, 274542, 279745, 284932, 290134, 295318, 300519, 305715] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能19(主动技能): + 名称 = "逆龙七杀" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + + data0 = [0, 2267, 2501, 2727, 2962, 3192, 3421, 3652, 3883, 4112, 4342, 4573, 4803, 5035, 5264, 5492, 5724, 5955, 6181, 6415, 6647, 6878, 7106, 7337, 7567, 7796, 8025, 8257, 8488, 8716, 8951, 9176, 9409, 9641, 9868, 10100, 10332, 10561, 10792, 11021, 11250, 11482, 11712, 11941, 12174, 12404, 12634, 12864, 13094, 13326, 13553] + hit0 = 1 + data1 = [0, 4542, 4999, 5459, 5920, 6383, 6843, 7302, 7764, 8226, 8686, 9147, 9608, 10066, 10530, 10990, 11451, 11910, 12369, 12829, 13293, 13751, 14210, 14671, 15135, 15596, 16056, 16515, 16979, 17439, 17897, 18359, 18821, 19282, 19739, 20200, 20664, 21124, 21582, 22043, 22506, 22967, 23427, 23885, 24346, 24810, 25269, 25730, 26192, 26648, 27109] + hit1 = 1 + data2 = [0, 6808, 7501, 8191, 8882, 9572, 10264, 10955, 11646, 12335, 13031, 13719, 14410, 15103, 15790, 16485, 17172, 17862, 18558, 19249, 19941, 20631, 21319, 22011, 22701, 23392, 24085, 24772, 25465, 26155, 26846, 27540, 28231, 28919, 29610, 30301, 30993, 31683, 32375, 33069, 33756, 34450, 35139, 35832, 36523, 37213, 37901, 38594, 39285, 39976, 40669] + hit2 = 1 + data3 = [0, 9079, 10004, 10921, 11844, 12766, 13687, 14607, 15529, 16450, 17371, 18293, 19215, 20138, 21057, 21977, 22899, 23820, 24743, 25663, 26587, 27504, 28427, 29347, 30273, 31189, 32115, 33034, 33954, 34876, 35797, 36719, 37638, 38562, 39483, 40407, 41325, 42245, 43167, 44088, 45011, 45931, 46855, 47773, 48699, 49615, 50538, 51459, 52380, 53302, 54223] + hit3 = 1 + data4 = [0, 11352, 12501, 13655, 14806, 15956, 17108, 18261, 19412, 20563, 21715, 22866, 24017, 25171, 26321, 27472, 28624, 29775, 30925, 32078, 33231, 34383, 35534, 36687, 37837, 38990, 40140, 41291, 42445, 43594, 44745, 45899, 47049, 48201, 49351, 50506, 51657, 52808, 53961, 55113, 56264, 57415, 58565, 59718, 60869, 62018, 63172, 64323, 65475, 66627, 67779] + hit4 = 1 + data5 = [0, 13621, 15001, 16384, 17767, 19148, 20529, 21912, 23297, 24675, 26059, 27441, 28822, 30203, 31585, 32967, 34350, 35732, 37113, 38494, 39879, 41260, 42642, 44025, 45405, 46785, 48167, 49552, 50933, 52313, 53695, 55078, 56463, 57843, 59225, 60607, 61989, 63370, 64748, 66133, 67517, 68898, 70279, 71661, 73044, 74426, 75808, 77190, 78571, 79954, 81335] + hit5 = 1 + data6 = [0, 47695, 52533, 57371, 62208, 67048, 71887, 76725, 81566, 86407, 91239, 96081, 100918, 105760, 110598, 115436, 120274, 125114, 129951, 134790, 139627, 144468, 149305, 154143, 158983, 163823, 168664, 173497, 178337, 183175, 188016, 192855, 197693, 202530, 207371, 212209, 217046, 221886, 226726, 231562, 236402, 241241, 246080, 250919, 255758, 260594, 265432, 270272, 275110, 279950, 284791] + hit6 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.04*1.24 + + +class 技能20(被动技能): + 名称 = '式神之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 物理攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + def 魔法攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + +class 技能21(被动技能): + 名称 = '式神契结:真龙' + 所在等级 = 75 + 等级上限 = 11 + 学习间隔 = 50 + 等级精通 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.36 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "黄龙阵" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + + data0 = [0, 2666, 2931, 3204, 3476, 3744, 4015, 4287, 4555, 4826, 5096, 5367, 5639, 5908, 6177, 6446, 6718, 6988, 7258, 7530, 7800, 8070, 8340, 8612, 8880, 9151, 9424, 9691, 9963, 10233, 10504, 10774, 11043, 11313, 11584, 11856, 12123, 12393, 12666, 12933, 13205, 13475, 13747, 14017, 14287, 14559, 14826, 15100, 15371, 15635, 15908] + hit0 = 20 + data1 = [0, 53291, 58696, 64101, 69513, 74915, 80318, 85726, 91131, 96538, 101945, 107352, 112760, 118166, 123569, 128977, 134383, 139789, 145196, 150600, 156011, 161415, 166819, 172227, 177632, 183041, 188446, 193852, 199261, 204666, 210068, 215479, 220882, 226289, 231691, 237099, 242505, 247913, 253318, 258725, 264133, 269540, 274942, 280351, 285758, 291166, 296570, 301974, 307382, 312789, 318195] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1 + 4.9 + 0.85 + self.hit0 = 4 + self.power1 = 1 + 0.18 + 0.17 + self.CDR *= 0.9 + + +class 技能23(主动技能): + 名称 = "真龙焚天" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + + data0 = [0, 236183, 290953, 345721, 400490, 455256, 510026, 564792, 619560, 674329, 729096, 783864, 838636, 893400, 948170, 1002937, 1057708, 1112472, 1167239, 1222006, 1276777, 1331544, 1386314, 1441079, 1495848, 1550615, 1605380, 1660152, 1714918, 1769688, 1824459, 1879226, 1933994, 1988761, 2043530, 2098295, 2153062, 2207829, 2262598, 2317368, 2372134, 2426904, 2481670, 2536440, 2591206, 2645976, 2700739, 2755511, 2810280, 2865049, 2919814] + hit0 = 1 + + + +class 技能24(主动技能): + 名称 = "式神灭却·合" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + + # 力驱部分 + data0 = [0, 35590, 39200, 42813, 46423, 50034, 53644, 57255, 60864, 64475, 68086, 71699, 75309, 78919, 82531, 86140, 89751, 93361, 96972, 100583, 104196, 107806, 111416, 115026, 118637, 122247, 125857, 129467, 133078, 136691, 140301, 143912, 147522, 151132, 154743, 158353, 161964, 165578, 169187, 172797, 176407, 180019, 183629, 187239, 190848, 194460, 198072, 201683, 205293, 208905, 212515] + hit0 = 1 + data1 = [0, 17795, 19601, 21406, 23211, 25015, 26821, 28629, 30433, 32238, 34043, 35849, 37654, 39460, 41264, 43070, 44876, 46680, 48486, 50290, 52096, 53901, 55707, 57512, 59317, 61124, 62930, 64735, 66540, 68344, 70150, 71956, 73760, 75565, 77372, 79177, 80983, 82788, 84594, 86398, 88204, 90008, 91816, 93622, 95425, 97231, 99036, 100842, 102646, 104452, 106257] + hit1 = 1 + data2 = [0, 53386, 58802, 64218, 69634, 75051, 80465, 85882, 91298, 96715, 102131, 107546, 112961, 118380, 123794, 129211, 134627, 140041, 145458, 150875, 156291, 161707, 167122, 172538, 177954, 183372, 188787, 194202, 199619, 205033, 210451, 215868, 221282, 226698, 232115, 237530, 242948, 248364, 253778, 259195, 264611, 270026, 275445, 280859, 286275, 291690, 297108, 302524, 307939, 313355, 318771] + hit2 = 1 + data3 = [0, 17795, 19601, 21406, 23211, 25015, 26821, 28629, 30433, 32238, 34043, 35849, 37654, 39460, 41264, 43070, 44876, 46680, 48486, 50290, 52096, 53901, 55707, 57512, 59317, 61124, 62930, 64735, 66540, 68344, 70150, 71956, 73760, 75565, 77372, 79177, 80983, 82788, 84594, 86398, 88204, 90008, 91816, 93622, 95425, 97231, 99036, 100842, 102646, 104452, 106257] + hit3 = 4 + + +class 技能25(被动技能): + 名称 = '式神之悟' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 非关联技能 = ['基本攻击', '空斩打'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = "雷鸣怒海·火啸山崩" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 12888] + 无色消耗 = 15 + + data0 = [0, 30337, 37371, 44407, 51440, 58476, 65510, 72546, 79579, 86617, 93651, 100685, 107719, 114755, 121788, 128823, 135858, 142894, 149928, 156963, 163996, 171031, 178066, 185102, 192135, 199170, 206205, 213240, 220273, 227309, 234344, 241379, 248413, 255448, 262484, 269520, 276554, 283589, 290622, 297657, 304691, 311726, 318762, 325797, 332831, 339865, 346899, 353935, 360970, 368005, 375038] + hit0 = 5 + data1 = [0, 30337, 37371, 44407, 51440, 58476, 65510, 72546, 79579, 86617, 93651, 100685, 107719, 114755, 121788, 128823, 135858, 142894, 149928, 156963, 163996, 171031, 178066, 185102, 192135, 199170, 206205, 213240, 220273, 227309, 234344, 241379, 248413, 255448, 262484, 269520, 276554, 283589, 290622, 297657, 304691, 311726, 318762, 325797, 332831, 339865, 346899, 353935, 360970, 368005, 375038] + hit1 = 1 + data2 = [0, 242698, 298977, 355254, 411533, 467811, 524087, 580365, 636643, 692922, 749199, 805476, 861755, 918032, 974310, 1030587, 1086866, 1143144, 1199421, 1255700, 1311978, 1368256, 1424534, 1480811, 1537090, 1593368, 1649646, 1705923, 1762202, 1818480, 1874757, 1931035, 1987313, 2043589, 2099867, 2156145, 2212424, 2268701, 2324978, 2381257, 2437535, 2493813, 2550091, 2606368, 2662647, 2718925, 2775203, 2831480, 2887761, 2944037, 3000314] + hit2 = 1 + data3 = [0, 18203, 22422, 26643, 30865, 35086, 39307, 43528, 47749, 51970, 56192, 60410, 64630, 68852, 73072, 77293, 81514, 85736, 89957, 94178, 98399, 102619, 106838, 111062, 115281, 119504, 123725, 127945, 132166, 136384, 140606, 144827, 149048, 153269, 157489, 161711, 165930, 170154, 174373, 178596, 182814, 187036, 191256, 195478, 199700, 203920, 208140, 212361, 216579, 220803, 225022] + hit3 = 10 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'exorcist' + self.名称 = '神启·驱魔师' + self.角色 = '圣职者(男)' + + self.职业 = '驱魔师' + + self.武器选项 = ['念珠', '战斧'] + self.输出类型选项 = ['物理百分比', '魔法百分比'] + self.防具精通属性 = ['力量', '智力'] + self.类型 = '物理百分比' + self.武器类型 = "战斧" + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.76 + + super().__init__(equVersion) + + # def 装备基础(self): + # if self.类型 == '物理百分比': + # self.防具类型 = '板甲' + # if self.类型 == '魔法百分比': + # self.防具类型 = '布甲' + # super().装备基础() + + def 职业特殊计算(self): + 基本攻击 = self.get_skill_by_name('基本攻击') + 空斩打 = self.get_skill_by_name('空斩打') + + 空斩打.倍率 *= 1+0.1*基本攻击.TP等级 + + def 基础面板力量(self) -> float: + return max(super().基础面板力量(), super().基础面板智力()) + + def 基础面板智力(self) -> float: + return self.基础面板力量() + + def 基础面板物理攻击力(self) -> float: + return max(super().基础面板物理攻击力(), super().基础面板魔法攻击力()) + + def 基础面板魔法攻击力(self) -> float: + return self.基础面板物理攻击力() \ No newline at end of file diff --git a/api/core/characters/ghostblade.py b/api/core/characters/ghostblade.py new file mode 100644 index 00000000..16edd308 --- /dev/null +++ b/api/core/characters/ghostblade.py @@ -0,0 +1,674 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.07 + +class 技能0(被动技能): + 名称 = '剑影太刀精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + # def 加成倍率(self, 武器类型): + # if self.等级 == 0: + # return 1.0 + # else: + # return round(1.0 + 0.02 * self.等级, 5) + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能1(被动技能): + 名称 = '幻鬼之力' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能2(被动技能): + 名称 = '鬼夜' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.035 + 0.02 * self.等级, 5) + + +class 技能3(被动技能): + 名称 = '鬼咲' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能4(被动技能): + 名称 = '睥睨万物' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "鬼步" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [20, 210] + 无色消耗 = 0 + data0 = [0, 953, 1050, 1147, 1242, 1340, 1437, 1533, 1630, 1727, 1823, 1921, 2017, 2115, 2210, 2307, 2405, 2500, 2598, 2694, 2791, 2888, 2985, 3082, 3178, 3275, 3372, 3468, 3565, 3662, 3758, 3856, 3952, 4050, 4145, 4243, 4340, 4435, 4533, 4629, 4726, 4822, 4920, 5016, 5113, 5210, 5308, 5403, 5500, 5597, 5693, 5790, 5887, 5984, 6080, 6178, 6273, 6371, 6468, 6563, 6661, 6757, 6855, 6951, 7048, 7145, 7241, 7338, 7436, 7531, 7629] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "鬼连斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [20, 210] + 无色消耗 = 0 + data0 = [0, 774, 852, 931, 1009, 1088, 1168, 1245, 1324, 1402, 1481, 1560, 1637, 1716, 1795, 1873, 1953, 2032, 2109, 2188, 2267, 2345, 2424, 2502, 2580, 2659, 2737, 2817, 2896, 2973, 3052, 3131, 3209, 3288, 3366, 3444, 3524, 3603, 3681, 3759, 3838, 3916, 3995, 4073, 4151, 4231, 4309, 4388, 4467, 4545, 4623, 4702, 4780, 4859, 4938, 5015, 5095, 5174, 5252, 5331, 5408, 5487, 5566, 5644, 5723, 5803, 5880, 5959, 6038, 6116, 6195] + hit0 = 1 + data1 = [0, 929, 1024, 1117, 1212, 1305, 1401, 1495, 1589, 1683, 1777, 1871, 1966, 2060, 2155, 2248, 2343, 2436, 2532, 2625, 2720, 2814, 2908, 3004, 3097, 3192, 3285, 3380, 3474, 3569, 3663, 3757, 3851, 3945, 4039, 4135, 4228, 4323, 4416, 4511, 4605, 4700, 4794, 4888, 4982, 5076, 5172, 5266, 5360, 5454, 5548, 5642, 5737, 5831, 5926, 6019, 6114, 6208, 6303, 6396, 6491, 6585, 6679, 6774, 6868, 6962, 7056, 7150, 7245, 7340, 7434] + hit1 = 1 + data2 = [0, 1394, 1536, 1676, 1817, 1959, 2101, 2242, 2383, 2525, 2666, 2807, 2949, 3090, 3232, 3373, 3515, 3656, 3797, 3938, 4080, 4222, 4363, 4505, 4645, 4787, 4929, 5070, 5211, 5353, 5495, 5637, 5776, 5918, 6060, 6202, 6342, 6484, 6626, 6767, 6909, 7049, 7191, 7333, 7475, 7614, 7756, 7898, 8040, 8181, 8322, 8464, 8606, 8746, 8888, 9029, 9171, 9313, 9454, 9596, 9736, 9878, 10019, 10161, 10302, 10444, 10585, 10727, 10868, 11009, 11150] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '鬼连斩:极' + 所在等级 = 30 + 额外加成 = 1 + 等级上限 = 1 + 等级精通 = 1 + + data0 = [0, 1183, 1304, 1424, 1545, 1664, 1784, 1904, 2024, 2145, 2265, 2386, 2505, 2625, 2745, 2865, 2986, 3106, 3227, 3346, 3466, 3586, 3707, 3827, 3947, 4067, 4187, 4307, 4427, 4548, 4667, 4788, 4908, 5028, 5148, 5268, 5388, 5508, 5629, 5749, 5870, 5989, 6108, 6229, 6349, 6470, 6590, 6711, 6830, 6950, 7070, 7191, 7311, 7431, 7551, 7671, 7791, 7911, 8032, 8152, 8272, 8392, 8512, 8632, 8752, 8873, 8992, 9113, 9233, 9354, 9473] + hit0 = 3 + + 国服特色 = 1.07 + + def 获取百分比(self, lv): + return self.data0[lv] * self.hit0 * self.额外加成 * self.国服特色 + + def 等效CD(self, **argv): + # 无冷却 + return 0 + +class 技能8(主动技能): + 名称 = "幻鬼:一闪" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [32, 336] + 无色消耗 = 0 + data0 = [0, 3187, 3510, 3834, 4157, 4480, 4804, 5127, 5451, 5774, 6097, 6421, 6744, 7068, 7391, 7714, 8038, 8361, 8684, 9007, 9330, 9654, 9977, 10301, 10624, 10947, 11271, 11594, 11918, 12241, 12564, 12888, 13211, 13535, 13858, 14181, 14505, 14828, 15152, 15475, 15798, 16121, 16444, 16767, 17091, 17414, 17738, 18061, 18384, 18708, 19031, 19355, 19679, 20003, 20326, 20649, 20973, 21296, 21620, 21943, 22266, 22590, 22913, 23237, 23559, 23882, 24206, 24529, 24852, 25176, 25499] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "鬼连牙" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [46, 483] + 无色消耗 = 0 + data0 = [0, 5860, 6455, 7049, 7644, 8237, 8832, 9427, 10021, 10616, 11210, 11804, 12400, 12994, 13589, 14183, 14777, 15373, 15967, 16562, 17156, 17750, 18346, 18940, 19534, 20128, 20722, 21317, 21912, 22506, 23101, 23695, 24291, 24885, 25479, 26074, 26668, 27264, 27858, 28452, 29047, 29641, 30237, 30830, 31424, 32019, 32613, 33207, 33803, 34397, 34992, 35586, 36180, 36776, 37370, 37965, 38559, 39153, 39749, 40343, 40938, 41531, 42125, 42721, 43315, 43909, 44504, 45098, 45694, 46288, 46882] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "幻鬼:连斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 600] + 无色消耗 = 0 + data0 = [0, 797, 877, 959, 1040, 1120, 1201, 1283, 1363, 1444, 1526, 1605, 1687, 1767, 1849, 1930, 2010, 2092, 2171, 2253, 2334, 2415, 2496, 2577, 2658, 2738, 2820, 2900, 2982, 3062, 3143, 3225, 3304, 3386, 3466, 3548, 3629, 3710, 3791, 3871, 3952, 4033, 4114, 4195, 4277, 4356, 4437, 4519, 4599, 4681, 4761, 4843, 4923, 5003, 5085, 5165, 5247, 5328, 5409, 5489, 5570, 5651, 5732, 5814, 5894, 5976, 6055, 6136, 6218, 6298, 6380] + hit0 = 1 + data1 = [0, 1063, 1171, 1278, 1387, 1494, 1602, 1709, 1819, 1926, 2034, 2141, 2250, 2357, 2465, 2573, 2681, 2789, 2897, 3004, 3112, 3220, 3329, 3436, 3544, 3652, 3760, 3867, 3975, 4083, 4192, 4299, 4407, 4515, 4623, 4730, 4838, 4947, 5055, 5162, 5270, 5377, 5486, 5593, 5702, 5809, 5918, 6025, 6133, 6240, 6349, 6456, 6565, 6672, 6781, 6888, 6996, 7103, 7212, 7320, 7428, 7535, 7644, 7751, 7859, 7966, 8073, 8183, 8291, 8398, 8505] + hit1 = 1 + data2 = [0, 1329, 1464, 1598, 1734, 1868, 2002, 2138, 2272, 2408, 2542, 2676, 2812, 2946, 3081, 3216, 3351, 3487, 3621, 3756, 3891, 4026, 4160, 4296, 4430, 4564, 4700, 4834, 4970, 5104, 5238, 5374, 5508, 5643, 5778, 5913, 6047, 6183, 6318, 6453, 6588, 6722, 6858, 6992, 7127, 7262, 7396, 7532, 7666, 7800, 7936, 8070, 8205, 8340, 8475, 8610, 8744, 8880, 9015, 9150, 9284, 9420, 9554, 9689, 9824, 9958, 10094, 10228, 10362, 10498, 10632] + hit2 = 1 + data3 = [0, 2126, 2343, 2558, 2774, 2989, 3206, 3421, 3637, 3852, 4069, 4283, 4500, 4715, 4930, 5146, 5361, 5578, 5793, 6009, 6224, 6441, 6656, 6872, 7088, 7304, 7519, 7735, 7951, 8167, 8382, 8598, 8814, 9030, 9245, 9462, 9677, 9893, 10108, 10324, 10540, 10755, 10971, 11187, 11403, 11618, 11835, 12050, 12266, 12481, 12698, 12913, 13129, 13344, 13561, 13776, 13992, 14208, 14424, 14639, 14855, 15071, 15287, 15502, 15717, 15934, 16149, 16365, 16581, 16797, 17012] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 名称 = "共鸣:离魂一闪" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [61, 640] + 无色消耗 = 0 + data0 = [0, 2502, 2757, 3010, 3264, 3518, 3772, 4026, 4280, 4534, 4787, 5042, 5296, 5549, 5804, 6056, 6310, 6566, 6818, 7072, 7325, 7580, 7834, 8087, 8342, 8595, 8849, 9104, 9357, 9611, 9865, 10119, 10373, 10627, 10881, 11134, 11389, 11643, 11896, 12151, 12404, 12658, 12913, 13166, 13420, 13674, 13928, 14182, 14435, 14690, 14943, 15197, 15452, 15705, 15959, 16213, 16467, 16721, 16975, 17229, 17482, 17737, 17991, 18244, 18499, 18752, 19006, 19261, 19513, 19768, 20020] + hit0 = 1 + data1 = [0, 5838, 6432, 7024, 7616, 8209, 8801, 9394, 9987, 10578, 11171, 11763, 12357, 12948, 13540, 14134, 14726, 15318, 15910, 16503, 17096, 17687, 18281, 18873, 19465, 20057, 20650, 21243, 21835, 22427, 23020, 23612, 24206, 24797, 25389, 25982, 26575, 27167, 27759, 28351, 28945, 29536, 30129, 30722, 31313, 31906, 32499, 33092, 33683, 34275, 34869, 35461, 36054, 36646, 37238, 37831, 38422, 39016, 39608, 40200, 40794, 41385, 41978, 42571, 43162, 43755, 44347, 44941, 45532, 46124, 46718] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能12(主动技能): + 名称 = "魂破斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [129, 1083] + 无色消耗 = 1 + data0 = [0, 10463, 11524, 12585, 13648, 14709, 15771, 16832, 17892, 18955, 20016, 21078, 22138, 23201, 24263, 25324, 26385, 27447, 28508, 29570, 30631, 31692, 32754, 33817, 34877, 35938, 37000, 38062, 39123, 40184, 41246, 42308, 43370, 44430, 45493, 46553, 47616, 48677, 49738, 50799, 51861, 52924, 53983, 55046, 56107, 57169, 58230, 59292, 60352, 61415, 62477, 63537, 64599, 65661, 66723, 67782, 68845, 69906, 70968, 72030, 73091, 74153, 75214, 76276, 77337, 78398, 79460, 80522, 81584, 82644, 83707] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.24 + self.CDR *= 0.89 + + +class 技能13(主动技能): + 名称 = "共鸣:鬼灵斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [129, 1083] + 无色消耗 = 1 + data0 = [0, 11889, 13095, 14302, 15509, 16715, 17921, 19128, 20335, 21539, 22746, 23952, 25159, 26364, 27572, 28778, 29984, 31191, 32396, 33603, 34808, 36016, 37222, 38428, 39634, 40840, 42046, 43253, 44459, 45666, 46871, 48079, 49283, 50490, 51697, 52903, 54110, 55316, 56523, 57728, 58934, 60141, 61347, 62553, 63760, 64967, 66172, 67378, 68585, 69791, 70997, 72204, 73410, 74616, 75823, 77029, 78234, 79441, 80647, 81854, 83059, 84267, 85474, 86678, 87885, 89091, 90298, 91503, 92711, 93917, 95122] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能14(主动技能): + 名称 = "幻鬼:回天" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [170, 1428] + 无色消耗 = 1 + data0 = [0, 5378, 5921, 6468, 7013, 7559, 8105, 8650, 9196, 9741, 10286, 10833, 11378, 11924, 12469, 13013, 13560, 14105, 14651, 15196, 15743, 16287, 16833, 17378, 17924, 18470, 19016, 19560, 20107, 20651, 21198, 21743, 22289, 22835, 23378, 23925, 24471, 25016, 25562, 26107, 26652, 27199, 27743, 28290, 28835, 29381, 29926, 30471, 31017, 31563, 32108, 32655, 33200, 33744, 34290, 34836, 35382, 35927, 36472, 37017, 37564, 38109, 38655, 39201, 39746, 40291, 40837, 41382, 41929, 42473, 43020] + hit0 = 1 + data1 = [0, 8065, 8884, 9703, 10521, 11339, 12157, 12976, 13793, 14612, 15430, 16248, 17066, 17885, 18704, 19522, 20340, 21159, 21977, 22796, 23613, 24432, 25249, 26068, 26886, 27704, 28523, 29342, 30161, 30978, 31796, 32615, 33433, 34251, 35070, 35888, 36707, 37525, 38344, 39161, 39979, 40797, 41615, 42434, 43253, 44071, 44889, 45708, 46527, 47345, 48162, 48981, 49800, 50618, 51436, 52255, 53072, 53891, 54709, 55527, 56345, 57164, 57982, 58800, 59619, 60438, 61255, 62074, 62893, 63712, 64530] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4 + self.power0 = 0.25 + self.power1 = 0.25 + self.data2 = self.data1 + self.hit2 = 20 + self.power2 = 0.065 + + +class 技能15(主动技能): + 名称 = "冥灵断魂斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [299, 2511] + 无色消耗 = 2 + data0 = [0, 32097, 35354, 38609, 41865, 45121, 48377, 51634, 54890, 58146, 61403, 64660, 67914, 71171, 74428, 77685, 80940, 84197, 87453, 90708, 93965, 97222, 100478, 103734, 106991, 110245, 113502, 116758, 120015, 123271, 126528, 129784, 133039, 136296, 139553, 142808, 146065, 149322, 152576, 155833, 159090, 162347, 165602, 168859, 172116, 175371, 178626, 181883, 185139, 188396, 191652, 194907, 198164, 201421, 204677, 207933, 211190, 214447, 217701, 220958, 224215, 227470, 230727, 233984, 237241, 240495, 243752, 247009, 250264, 253520, 256777] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.23 + + +class 技能16(主动技能): + 名称 = "冥夜鬼天杀" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [998, 8383] + 无色消耗 = 5 + data0 = [0, 20523, 25281, 30040, 34800, 39558, 44316, 49075, 53834, 58593, 63352, 68111, 72869, 77629, 82388, 87146, 91906, 96664, 101423, 106181, 110940, 115699, 120457, 125217, 129976, 134734, 139494, 144252, 149011, 153771, 158529, 163288, 168046, 172805, 177564, 182323, 187082, 191840, 196600, 201360, 206117, 210878, 215636, 220395, 225155, 229913, 234671, 239430, 244189, 248948, 253707] + hit0 = 4 + + +class 技能17(主动技能): + 名称 = "幻鬼:奈落" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 20 + MP = [334, 935] + 无色消耗 = 2 + data0 = [0, 17544, 19326, 21106, 22886, 24666, 26446, 28225, 30005, 31785, 33566, 35345, 37126, 38907, 40686, 42466, 44246, 46026, 47806, 49586, 51366, 53145, 54925, 56706, 58487, 60266, 62046, 63826, 65607, 67386, 69166, 70947, 72725, 74505, 76286, 78067, 79847, 81627, 83407, 85186, 86966, 88746, 90527, 92306, 94087, 95866, 97646, 99427, 101207, 102987, 104767] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.22 + self.CDR *= 0.85 + + +class 技能18(主动技能): + 名称 = "共鸣:聚渊" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [686, 1440] + 无色消耗 = 3 + data0 = [0, 4498, 4955, 5412, 5868, 6324, 6780, 7235, 7693, 8149, 8606, 9063, 9518, 9975, 10432, 10888, 11343, 11801, 12258, 12714, 13170, 13626, 14082, 14540, 14997, 15452, 15908, 16365, 16822, 17277, 17735, 18191, 18646, 19104, 19560, 20016, 20473, 20929, 21385, 21842, 22299, 22754, 23210, 23667, 24125, 24580, 25037, 25493, 25949, 26407, 26863] + hit0 = 1 + data1 = [0, 17995, 19820, 21645, 23472, 25298, 27123, 28948, 30774, 32601, 34427, 36250, 38078, 39903, 41729, 43553, 45380, 47206, 49031, 50856, 52682, 54508, 56334, 58158, 59985, 61810, 63636, 65460, 67287, 69113, 70938, 72764, 74589, 76415, 78241, 80066, 81892, 83718, 85544, 87370, 89195, 91021, 92846, 94672, 96499, 98323, 100149, 101974, 103801, 105626, 107451] + hit1 = 1 + data2 = [0, 22494, 24776, 27058, 29341, 31621, 33904, 36186, 38469, 40750, 43032, 45315, 47597, 49879, 52161, 54443, 56724, 59006, 61289, 63571, 65853, 68134, 70417, 72699, 74981, 77263, 79545, 81828, 84109, 86392, 88673, 90956, 93237, 95520, 97803, 100084, 102366, 104647, 106930, 109210, 111493, 113776, 116058, 118340, 120621, 122904, 125186, 127468, 129751, 132032, 134315] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power2 = 1.36 * 1.20 + + +class 技能19(主动技能): + 名称 = "幻鬼:大回天" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [568, 4402] + 无色消耗 = 3 + data0 = [0, 20968, 23096, 25223, 27349, 29478, 31604, 33731, 35858, 37988, 40114, 42241, 44368, 46494, 48623, 50750, 52878, 55004, 57132, 59259, 61387, 63513, 65641, 67768, 69896, 72023, 74150, 76277, 78406, 80532, 82659, 84786, 86913, 89041, 91168, 93296, 95422, 97550, 99677, 101805, 103931, 106059, 108186, 110315, 112441, 114568, 116695, 118822, 120951, 123078, 125205] + hit0 = 3 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.36 + + def 等效百分比(self, **argv): + if self.等级 >= 9: + return super().等效百分比(**argv) * 1.1 + return super().等效百分比(**argv) + + +class 技能20(主动技能): + 名称 = "裂魂乱舞" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [823, 6172] + 无色消耗 = 5 + data0 = [0, 4500, 4957, 5413, 5869, 6327, 6782, 7239, 7696, 8152, 8609, 9065, 9522, 9978, 10434, 10891, 11348, 11803, 12260, 12718, 13173, 13630, 14087, 14543, 14999, 15456, 15913, 16369, 16826, 17282, 17739, 18195, 18651, 19109, 19565, 20021, 20478, 20935, 21390, 21847, 22305, 22760, 23217, 23674, 24130, 24586, 25043, 25499, 25956, 26413, 26869] + hit0 = 1 + data1 = [0, 13500, 14869, 16239, 17608, 18978, 20348, 21717, 23087, 24457, 25826, 27195, 28564, 29934, 31303, 32674, 34044, 35412, 36782, 38152, 39522, 40891, 42261, 43631, 44999, 46369, 47739, 49108, 50478, 51848, 53218, 54586, 55956, 57326, 58695, 60065, 61435, 62804, 64173, 65543, 66914, 68283, 69653, 71023, 72392, 73762, 75131, 76500, 77870, 79240, 80610] + hit1 = 1 + data2 = [0, 18000, 19826, 21651, 23479, 25305, 27130, 28956, 30783, 32608, 34434, 36261, 38087, 39913, 41738, 43564, 45392, 47216, 49044, 50871, 52696, 54522, 56348, 58173, 60001, 61827, 63652, 65479, 67305, 69130, 70956, 72783, 74609, 76435, 78260, 80087, 81914, 83740, 85567, 87393, 89218, 91044, 92871, 94696, 96523, 98349, 100175, 102001, 103826, 105652, 107479] + hit2 = 1 + data3 = [0, 11249, 12392, 13532, 14673, 15815, 16956, 18097, 19239, 20380, 21522, 22662, 23804, 24945, 26086, 27229, 28369, 29511, 30652, 31794, 32934, 34076, 35217, 36359, 37500, 38641, 39781, 40923, 42066, 43207, 44348, 45488, 46631, 47771, 48914, 50054, 51196, 52337, 53478, 54619, 55760, 56903, 58044, 59186, 60326, 61467, 62609, 63751, 64892, 66033, 67173] + hit3 = 2 + data4 = [0, 31500, 34696, 37891, 41087, 44283, 47478, 50674, 53870, 57065, 60262, 63458, 66653, 69849, 73044, 76239, 79435, 82630, 85826, 89022, 92217, 95414, 98609, 101805, 105001, 108196, 111392, 114588, 117783, 120979, 124175, 127370, 130567, 133762, 136958, 140154, 143349, 146545, 149741, 152936, 156132, 159326, 162522, 165719, 168914, 172110, 175306, 178501, 181697, 184893, 188088] + hit4 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.power3 = 2.11 + self.power4 = 2.3 + + +class 技能21(主动技能): + 名称 = "鬼隐·夜奈落" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2329, 4658] + 无色消耗 = 10 + data0 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708] + hit0 = 1 + data1 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708] + hit1 = 1 + data2 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708] + hit2 = 1 + data3 = [0, 109061, 134351, 159642, 184931, 210221, 235511, 260800, 286091, 311380, 336670, 361960, 387249, 412540, 437830, 463119, 488409, 513699, 538987, 564278, 589569, 614858, 640148, 665437, 690727, 716018, 741307, 766597, 791886, 817176, 842466, 867757, 893045, 918335, 943626, 968915, 994206, 1019495, 1044784, 1070075, 1095364, 1120654, 1145944, 1171233, 1196524, 1221814, 1247102, 1272393, 1297683, 1322973, 1348263] + hit3 = 1 + + +class 技能22(主动技能): + 名称 = "无式·极影剑" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1097, 8229] + 无色消耗 = 7 + data0 = [0, 8361, 9209, 10057, 10906, 11755, 12602, 13452, 14299, 15148, 15997, 16845, 17694, 18540, 19389, 20237, 21086, 21934, 22782, 23631, 24479, 25327, 26175, 27025, 27873, 28721, 29569, 30418, 31265, 32114, 32961, 33811, 34658, 35507, 36354, 37204, 38053, 38900, 39750, 40597, 41446, 42293, 43143, 43990, 44838, 45686, 46535, 47384, 48232, 49080, 49929] + hit0 = 5 + data1 = [0, 8361, 9209, 10057, 10906, 11755, 12602, 13452, 14299, 15148, 15997, 16845, 17694, 18540, 19389, 20237, 21086, 21934, 22782, 23631, 24479, 25327, 26175, 27025, 27873, 28721, 29569, 30418, 31265, 32114, 32961, 33811, 34658, 35507, 36354, 37204, 38053, 38900, 39750, 40597, 41446, 42293, 43143, 43990, 44838, 45686, 46535, 47384, 48232, 49080, 49929] + hit1 = 5 + data2 = [0, 41810, 46050, 50291, 54534, 58774, 63016, 67259, 71500, 75741, 79984, 84225, 88465, 92706, 96949, 101190, 105431, 109674, 113916, 118156, 122399, 126641, 130880, 135122, 139365, 143605, 147847, 152090, 156331, 160572, 164815, 169055, 173296, 177538, 181780, 186021, 190263, 194505, 198747, 202988, 207229, 211471, 215712, 219953, 224196, 228437, 232678, 236921, 241163, 245402, 249644] + hit2 = 5 + data3 = [0, 41810, 46050, 50291, 54534, 58774, 63016, 67259, 71500, 75741, 79984, 84225, 88465, 92706, 96949, 101190, 105431, 109674, 113916, 118156, 122399, 126641, 130880, 135122, 139365, 143605, 147847, 152090, 156331, 160572, 164815, 169055, 173296, 177538, 181780, 186021, 190263, 194505, 198747, 202988, 207229, 211471, 215712, 219953, 224196, 228437, 232678, 236921, 241163, 245402, 249644] + hit3 = 1 + data4 = [0, 14067, 15496, 16924, 18351, 19778, 21204, 22632, 24060, 25488, 26914, 28341, 29768, 31196, 32625, 34051, 35478, 36905, 38333, 39761, 41188, 42614, 44042, 45470, 46897, 48324, 49752, 51179, 52605, 54034, 55460, 56889, 58316, 59742, 61171, 62597, 64025, 65451, 66879, 68307, 69734, 71161, 72588, 74015, 75444, 76871, 78298, 79725, 81151, 82581, 84007] + hit4 = 1 + data5 = [0, 70345, 77482, 84619, 91754, 98891, 106028, 113164, 120300, 127437, 134574, 141711, 148847, 155983, 163120, 170257, 177394, 184530, 191667, 198803, 205940, 213076, 220213, 227350, 234487, 241623, 248760, 255897, 263034, 270170, 277307, 284444, 291580, 298716, 305853, 312990, 320127, 327264, 334399, 341535, 348672, 355808, 362945, 370082, 377218, 384355, 391491, 398628, 405765, 412902, 420037] + hit5 = 0 + + 形态 = ["共鸣", "幻鬼"] + + def 形态变更(self, 形态, char: Character): + if 形态 == "共鸣": + self.hit0 = 5 + self.hit1 = 5 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 0 + self.hit5 = 0 + else: + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 5 + self.hit5 = 1 + pass + + +class 技能23(主动技能): + 名称 = "灭魂极影剑·止煞" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [3752, 7505] + 无色消耗 = 15 + data0 = [0, 32905, 40536, 48166, 55797, 63427, 71057, 78687, 86317, 93948, 101578, 109207, 116838, 124469, 132099, 139729, 147361, 154990, 162620, 170251, 177882, 185512, 193141, 200773, 208403, 216032, 223663, 231294, 238923, 246554, 254184, 261815, 269445, 277075, 284705, 292336, 299967, 307597, 315226, 322857, 330488, 338118, 345747, 353379, 361008, 368638, 376270, 383900, 391530, 399159, 406791] + hit0 = 1 + data1 = [0, 9400, 11581, 13762, 15941, 18121, 20301, 22481, 24662, 26841, 29021, 31202, 33382, 35562, 37742, 39922, 42102, 44283, 46463, 48642, 50823, 53003, 55183, 57363, 59543, 61723, 63903, 66084, 68264, 70443, 72623, 74804, 76984, 79163, 81344, 83524, 85704, 87885, 90064, 92244, 94425, 96605, 98785, 100965, 103145, 105325, 107506, 109686, 111865, 114046, 116226] + hit1 = 7 + data2 = [0, 32905, 40536, 48166, 55797, 63427, 71057, 78687, 86317, 93948, 101578, 109207, 116838, 124469, 132099, 139729, 147361, 154990, 162620, 170251, 177882, 185512, 193141, 200773, 208403, 216032, 223663, 231294, 238923, 246554, 254184, 261815, 269445, 277075, 284705, 292336, 299967, 307597, 315226, 322857, 330488, 338118, 345747, 353379, 361008, 368638, 376270, 383900, 391530, 399159, 406791] + hit2 = 1 + data3 = [0, 28205, 34745, 41285, 47825, 54365, 60905, 67446, 73986, 80527, 87067, 93607, 100148, 106688, 113228, 119769, 126309, 132850, 139390, 145930, 152471, 159011, 165551, 172092, 178630, 185170, 191711, 198251, 204792, 211332, 217871, 224412, 230952, 237492, 244033, 250573, 257113, 263654, 270194, 276735, 283275, 289815, 296356, 302895, 309435, 315976, 322516, 329057, 335597, 342137, 348678] + hit3 = 7 + data4 = [0, 43874, 54047, 64220, 74395, 84570, 94742, 104916, 115091, 125264, 135437, 145611, 155786, 165958, 176132, 186306, 196481, 206654, 216828, 227001, 237176, 247349, 257522, 267696, 277870, 288043, 298217, 308393, 318565, 328739, 338913, 349088, 359260, 369434, 379608, 389780, 399955, 410129, 420302, 430477, 440651, 450824, 460998, 471172, 481345, 491519, 501692, 511866, 522040, 532214, 542387] + hit4 = 1 + data5 = [0, 43874, 54047, 64220, 74395, 84570, 94742, 104916, 115091, 125264, 135437, 145611, 155786, 165958, 176132, 186306, 196481, 206654, 216828, 227001, 237176, 247349, 257522, 267696, 277870, 288043, 298217, 308393, 318565, 328739, 338913, 349088, 359260, 369434, 379608, 389780, 399955, 410129, 420302, 430477, 440651, 450824, 460998, 471172, 481345, 491519, 501692, 511866, 522040, 532214, 542387] + hit5 = 1 + data6 = [0, 131623, 162143, 192664, 223186, 253708, 284229, 314749, 345270, 375793, 406314, 436834, 467357, 497878, 528399, 558920, 589442, 619963, 650484, 681004, 711527, 742048, 772569, 803089, 833611, 864132, 894654, 925176, 955696, 986217, 1016738, 1047262, 1077782, 1108303, 1138824, 1169346, 1199866, 1230388, 1260909, 1291431, 1321951, 1352472, 1382995, 1413516, 1444036, 1474557, 1505079, 1535601, 1566121, 1596642, 1627165] + hit6 = 1 + 国服特色 = 1.0 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'ghostblade' + self.名称 = '极诣·剑影' + self.角色 = '鬼剑士(男)' + + self.职业 = '剑影' + self.武器选项 = ['太刀'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '太刀' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.06 + + super().__init__(equVersion) + + def set_skill_info(self, info): + super().set_skill_info(info, rune_start_lv=15) + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if i.名称 == '鬼连斩:极' and type == "all": + i.额外加成 *= (1 + x * self.技能伤害增加增幅) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + if item['name'] == '鬼连斩': + self.技能队列.append({ + '名称': '鬼连斩:极', + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': '' + }) + + def 伤害计算(self): + + data = super().伤害计算() + skill_dict = data['skills'] + + + 鬼连斩极 = self.get_skill_by_name("鬼连斩:极") + 鬼连斩 = self.get_skill_by_name("鬼连斩") + damage = 0 + count = 0 + if '鬼连斩' in skill_dict and 鬼连斩极.等级 > 0 and 鬼连斩.等级 > 0: + for index in range(0,len(self.技能队列)): + # 特殊处理 + if self.技能队列[index]['名称'] == '鬼连斩': + count += 1 + 额外倍率 = self.技能队列[index+1]['倍率'] + 倍率 = 鬼连斩极.获取百分比(鬼连斩.等级) * (1 + 鬼连斩.TP等级 * + 鬼连斩.TP成长) * 鬼连斩.被动倍率 * 额外倍率 + # count = skill_dict['鬼连斩']['count'] + temp = 倍率 * self.伤害指数 * (self.伤害比例.get("直伤", 0.0)) / 100 + from core.basic.equipment import get_global_data + for item in ['中毒', '灼伤', '感电', '出血']: + cur = item + pa = '' + if item == '中毒': + pa = 'zd_rate' + if item == '出血': + pa = 'cx_rate' + if item == '感电': + pa = 'gd_rate' + if item == '灼伤': + pa = 'zs_rate' + if item == '灼伤' and '灼伤' in get_global_data("state_type", self.equVersion) and ('冰冻' in get_global_data("get_state_type", self.equVersion) or ('冰冻' in get_global_data("state_type", self.equVersion) and self.check_equ_by_name("永眠前的准备"))): + pa = 'zs_bd_rate' + cur = '灼伤破冰' + 保有率 = 0 + 异常基础加成 = 1.0 + 异常结算加成 = 1.0 + 装备加成异常结算 = 1.0 + if pa == 'zs_bd_rate': + 保有率 = self.异常保有率计算(pa,cur) + 异常基础加成 = 1.0 + 异常结算加成 = self.异常基础加成['灼伤破冰'] + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + else: + 保有率 = self.异常保有率计算(pa,cur) + # 叠层处理 + 异常基础加成 = 1+ (self.异常基础加成.get(cur,1.0)-1) * get_global_data(pa,self.equVersion,1.0) + 异常结算加成 = 1.0 + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + 系数 = self.伤害系数.get(item, 0.0) * ( (1-保有率) * 异常基础加成 + 保有率 * 异常基础加成 * 异常结算加成 * 装备加成异常结算) + # 直伤转换的异常处理:直伤伤害*异常比例*异常系数 + temp += 倍率 * self.伤害指数 * self.伤害比例.get(item, 0.0) * 系数 / 100 + damage += temp + data['skills']['鬼连斩:极'] = { + 'name': '鬼连斩:极', + 'rate': 鬼连斩.被动倍率, + 'cd': skill_dict['鬼连斩']['cd'], + 'mp': 0, + 'damage': damage, + 'count': count, + 'level': 1, + 'cosume_cube_frag': 0, + 'cd_o': skill_dict['鬼连斩']['cd_o'], + 'atk_rate': 鬼连斩极.获取百分比(鬼连斩.等级) * (1 + 鬼连斩.TP等级 * 鬼连斩.TP成长) + } + data['total_data'] += damage + return data + + def get_acitve_skill_detail(self, skill, temp_info, temp_char, weapon, ratio, skill_info): + if skill.是否有伤害: + if len(skill.形态) == 0: + skill.形态 = [''] + for 形态 in skill.形态: + original = 0 + for i in ['直伤', '中毒', '灼伤', '感电', '出血']: + original += skill.等效百分比( + char=temp_info, 武器类型=weapon, 形态=形态, 伤害类型=i) + skill_info["skills_active"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": original*ratio*skill.被动倍率, + "cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "mode": 形态, + "cost": skill.无色消耗, + "tp": skill.TP等级 + }) + if skill.名称 == "鬼连斩": + 鬼连斩极 = temp_info.get_skill_by_name("鬼连斩:极").获取百分比(skill.等级) + original += 鬼连斩极*(1+skill.TP等级*skill.TP成长) + skill_info["skills_active"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": original*ratio*skill.被动倍率, + "cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "mode": "极", + "cost": skill.无色消耗, + "tp": skill.TP等级 + }) + if skill.是否有护石 == 1: + temp = temp_char.get_skill_by_name(skill.名称) + cp = 0 + for i in ['直伤', '中毒', '灼伤', '感电', '出血']: + cp += temp.等效百分比(char=temp_char, + 武器类型=weapon, 形态=形态, 伤害类型=i) + skill_info["skills_cp"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": cp*ratio*temp.被动倍率, + "cd": temp.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "original_data": original*ratio*skill.被动倍率, + "original_cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "mode": 形态, + "cost": temp.无色消耗, + "tp": skill.TP等级 + }) + pass + pass diff --git a/api/core/characters/glacial_master.py b/api/core/characters/glacial_master.py new file mode 100644 index 00000000..4258d5fc --- /dev/null +++ b/api/core/characters/glacial_master.py @@ -0,0 +1,600 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 冰枪倍率 = 1 + + +class 技能0(主动技能): + 名称 = "冰魄剑" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 280] + 无色消耗 = 0 + data0 = [0, 1071, 1177, 1289, 1401, 1512, 1614, 1727, 1835, 1951, 2061, 2172, 2278, 2385, 2505, 2610, 2723, 2837, 2953, 3060, 3166, 3280, 3385, 3502, 3611, 3721, 3826, 3939, 4051, 4163, 4272, 4379, 4487, 4601, 4714, 4822, 4930, 5042, 5154, 5264, 5373, 5479, 5593, 5707, 5814, 5931, 6036, 6151, 6261, 6372, 6481, 6589, 6702, 6811, 6922, 7031, 7139, 7252, 7362, 7477, 7583, 7696, 7803, 7916, 8026, 8139, 8244, 8358, 8464, 8576, 8690] + hit0 = 2 + data1 = [0, 1281, 1412, 1546, 1673, 1807, 1941, 2074, 2207, 2343, 2476, 2608, 2737, 2869, 3004, 3135, 3270, 3406, 3536, 3671, 3796, 3929, 4064, 4197, 4333, 4467, 4598, 4732, 4858, 4994, 5127, 5255, 5392, 5518, 5652, 5786, 5916, 6053, 6180, 6312, 6449, 6576, 6713, 6839, 6972, 7116, 7252, 7380, 7513, 7645, 7775, 7907, 8041, 8173, 8310, 8435, 8568, 8706, 8834, 8970, 9100, 9238, 9364, 9496, 9633, 9762, 9897, 10030, 10164, 10292, 10424] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + def 技能形态改变(self): + self.hit1 = 0 + + +class 技能1(被动技能): + 名称 = '冰武精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.01 * self.等级, 5) + + +class 技能2(主动技能): + 名称 = "寒冰连枪" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [20, 210] + 无色消耗 = 0 + data0 = [0, 616, 679, 742, 804, 868, 929, 992, 1054, 1116, 1182, 1244, 1306, 1368, 1431, 1493, 1557, 1618, 1681, 1743, 1806, 1869, 1931, 1994, 2056, 2121, 2182, 2245, 2307, 2369, 2432, 2496, 2558, 2620, 2683, 2744, 2809, 2871, 2933, 2995, 3057, 3122, 3185, 3248, 3309, 3372, 3435, 3497, 3559, 3622, 3685, 3748, 3810, 3872, 3935, 3996, 4062, 4125, 4186, 4248, 4311, 4375, 4437, 4500, 4561, 4624, 4686, 4749, 4811, 4875, 4936] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "冰魄旋枪" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 401, 441, 482, 525, 564, 605, 646, 687, 726, 768, 807, 850, 891, 931, 972, 1014, 1055, 1094, 1134, 1178, 1216, 1257, 1300, 1339, 1380, 1421, 1461, 1503, 1544, 1582, 1624, 1665, 1708, 1747, 1787, 1830, 1870, 1911, 1950, 1991, 2033, 2073, 2113, 2156, 2196, 2236, 2277, 2319, 2358, 2399, 2442, 2481, 2521, 2564, 2605, 2644, 2686, 2727, 2765, 2807, 2849, 2889, 2929, 2971, 3012, 3052, 3093, 3134, 3175, 3215] + hit0 = 16 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = '冰霜之径' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + 是否有伤害 = 0 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.07 + 0.01 * self.等级, 5) + + +class 技能5(被动技能): + 名称 = '冰之领悟' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['所有'] + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return (1.02 + self.等级 * 0.01) + else: + return (1.12 + (self.等级 - 10) * 0.02) + + +class 技能6(主动技能): + 名称 = "冰魄之弓" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 546] + 无色消耗 = 0 + data0 = [0, 2179, 2402, 2622, 2846, 3066, 3289, 3509, 3730, 3951, 4173, 4394, 4614, 4836, 5058, 5278, 5500, 5721, 5943, 6163, 6385, 6608, 6829, 7050, 7271, 7494, 7712, 7934, 8156, 8376, 8599, 8820, 9041, 9263, 9483, 9706, 9926, 10147, 10370, 10591, 10811, 11033, 11254, 11474, 11697, 11917, 12141, 12361, 12583, 12804, 13025, 13246, 13468, 13686, 13909, 14130, 14352, 14574, 14795, 15017, 15238, 15460, 15680, 15902, 16124, 16345, 16565, 16788, 17007, 17229, 17450] + hit0 = 3 + data1 = [0, 3304, 3640, 3975, 4309, 4645, 4981, 5315, 5651, 5986, 6322, 6657, 6992, 7328, 7662, 7997, 8333, 8669, 9004, 9338, 9675, 10010, 10345, 10679, 11015, 11351, 11688, 12020, 12357, 12691, 13028, 13362, 13698, 14033, 14370, 14703, 15040, 15373, 15710, 16044, 16381, 16715, 17052, 17385, 17721, 18056, 18392, 18726, 19063, 19398, 19735, 20067, 20403, 20738, 21074, 21408, 21745, 22080, 22417, 22748, 23085, 23420, 23756, 24091, 24428, 24763, 25097, 25431, 25767, 26103, 26437] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "破冰飞刃" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 546] + 无色消耗 = 0 + data0 = [0, 400, 441, 480, 522, 564, 602, 643, 683, 724, 765, 803, 845, 887, 927, 968, 1009, 1049, 1089, 1129, 1171, 1212, 1252, 1293, 1333, 1373, 1414, 1454, 1496, 1537, 1576, 1618, 1659, 1697, 1738, 1781, 1820, 1861, 1903, 1941, 1982, 2022, 2063, 2105, 2145, 2186, 2227, 2266, 2307, 2348, 2388, 2431, 2470, 2511, 2551, 2591, 2632, 2673, 2713, 2755, 2796, 2834, 2876, 2915, 2956, 2998, 3039, 3079, 3120, 3160, 3200] + hit0 = 24 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(被动技能): + 名称 = '水晶剑' + 所在等级 = 30 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['冰魄剑'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return (2.00 + (self.等级-1) * 0.02) + + +class 技能9(主动技能): + 名称 = "旋冰穿刺" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [180, 1512] + 无色消耗 = 0 + data0 = [0, 14219, 15662, 17102, 18546, 19988, 21432, 22873, 24317, 25758, 27201, 28643, 30088, 31530, 32972, 34415, 35858, 37300, 38742, 40184, 41628, 43070, 44513, 45956, 47398, 48842, 50283, 51726, 53168, 54613, 56054, 57498, 58939, 60383, 61824, 63268, 64710, 66152, 67595, 69038, 70479, 71922, 73364, 74808, 76249, 77692, 79134, 80580, 82020, 83464, 84906, 86349, 87791, 89235, 90676, 92118, 93560, 95004, 96447, 97889, 99330, 100773, 102216, 103659, 105103, 106545, 107989, 109431, 110874, 112315, 113758] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = "冰魄锤击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [185, 1526] + 无色消耗 = 1 + data0 = [0, 15864, 17475, 19084, 20692, 22303, 23912, 25523, 27132, 28742, 30352, 31960, 33570, 35180, 36788, 38398, 40007, 41617, 43226, 44836, 46448, 48057, 49666, 51276, 52885, 54495, 56104, 57713, 59322, 60932, 62542, 64151, 65761, 67372, 68979, 70590, 72201, 73811, 75418, 77028, 78638, 80247, 81857, 83467, 85076, 86685, 88296, 89906, 91514, 93123, 94733, 96342, 97952, 99562, 101173, 102780, 104391, 106001, 107608, 109219, 110830, 112438, 114048, 115658, 117268, 118876, 120486, 122096, 123705, 125315, 126924] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能11(主动技能): + 名称 = "极冰绽放" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 1241, 1364, 1492, 1617, 1744, 1869, 1995, 2121, 2246, 2373, 2499, 2624, 2750, 2875, 3003, 3128, 3253, 3380, 3506, 3630, 3757, 3883, 4009, 4135, 4262, 4387, 4511, 4638, 4764, 4890, 5017, 5141, 5266, 5393, 5519, 5646, 5772, 5898, 6022, 6148, 6275, 6400, 6526, 6653, 6778, 6904, 7029, 7155, 7282, 7408, 7533, 7659, 7784, 7911, 8036, 8164, 8287, 8413, 8540, 8666, 8793, 8918, 9042, 9170, 9295, 9421, 9548, 9673, 9798, 9924] + hit0 = 4 + data1 = [0, 5482, 6037, 6593, 7150, 7707, 8261, 8818, 9375, 9930, 10486, 11043, 11599, 12155, 12712, 13267, 13823, 14381, 14935, 15491, 16048, 16605, 17159, 17717, 18272, 18829, 19385, 19940, 20498, 21054, 21609, 22166, 22723, 23278, 23834, 24391, 24947, 25503, 26058, 26615, 27171, 27726, 28283, 28840, 29395, 29952, 30508, 31063, 31619, 32177, 32732, 33287, 33846, 34401, 34956, 35513, 36070, 36626, 37181, 37738, 38294, 38851, 39405, 39963, 40519, 41075, 41631, 42188, 42743, 43299, 43855] + hit1 = 1 + data2 = [0, 2740, 3019, 3297, 3574, 3852, 4132, 4408, 4687, 4966, 5242, 5520, 5799, 6077, 6356, 6634, 6911, 7189, 7467, 7744, 8025, 8302, 8580, 8858, 9134, 9413, 9693, 9972, 10248, 10526, 10804, 11083, 11360, 11639, 11917, 12196, 12472, 12751, 13030, 13306, 13584, 13864, 14141, 14420, 14698, 14975, 15254, 15531, 15809, 16089, 16366, 16643, 16922, 17198, 17476, 17757, 18035, 18313, 18590, 18867, 19147, 19425, 19703, 19981, 20259, 20536, 20815, 21094, 21372, 21649, 21928] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.90 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + 冰舞 = char.get_skill_by_name("冰舞乱击") + if 冰舞.等级 > 0: + self.power0 = 1.95 + self.power1 = 2.35 + self.power2 = 0 + self.hit0 = 4 + self.hit1 = 1 + self.hit2 = 0 + else: + self.power0 = self.power1 = self.power2 = 1 + self.hit0 = 5 + self.hit1 = 1 + self.hit2 = 1 + if "极冰绽放" in char.护石栏: + self.power0 *= 1.11 + self.power1 *= 1.11 + 0.27 + self.power2 *= 1.11 + 0.35 + return super().等效百分比(**argv) + + +class 技能12(主动技能): + 名称 = "冰雪风暴" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [350, 3080] + 无色消耗 = 2 + data0 = [0, 1610, 1773, 1936, 2102, 2263, 2427, 2591, 2752, 2918, 3081, 3244, 3408, 3570, 3734, 3898, 4062, 4223, 4388, 4552, 4714, 4878, 5042, 5204, 5369, 5531, 5693, 5859, 6022, 6185, 6348, 6512, 6676, 6839, 7002, 7165, 7329, 7492, 7655, 7819, 7983, 8147, 8309, 8472, 8638, 8801, 8962, 9127, 9290, 9453, 9617, 9780, 9943, 10108, 10270, 10433, 10597, 10761, 10923, 11087, 11251, 11413, 11578, 11741, 11903, 12068, 12230, 12394, 12558, 12721, 12886] + hit0 = 14 + data1 = [0, 15723, 17319, 18914, 20508, 22105, 23701, 25296, 26891, 28485, 30081, 31677, 33273, 34867, 36462, 38060, 39653, 41249, 42843, 44438, 46034, 47630, 49225, 50820, 52415, 54011, 55606, 57202, 58797, 60391, 61987, 63581, 65176, 66773, 68368, 69963, 71558, 73152, 74750, 76345, 77940, 79535, 81129, 82726, 84320, 85916, 87510, 89106, 90702, 92297, 93893, 95488, 97083, 98678, 100273, 101869, 103464, 105058, 106654, 108248, 109846, 111441, 113035, 114631, 116225, 117823, 119417, 121012, 122607, 124203, 125796] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 16 + self.power1 = 1.34 + + +class 技能13(被动技能): + 名称 = '冰封奥义' + 所在等级 = 48 + + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "千旋冰轮破" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 1611, 1986, 2359, 2733, 3108, 3480, 3855, 4228, 4604, 4977, 5350, 5723, 6097, 6472, 6846, 7219, 7594, 7966, 8339, 8716, 9090, 9463, 9837, 10209, 10583, 10960, 11331, 11706, 12079, 12452, 12826, 13202, 13575, 13950, 14321, 14696, 15073, 15445, 15818, 16192, 16565, 16940, 17312, 17688, 18062, 18435, 18808, 19182, 19556, 19932] + hit0 = 42 + data1 = [0, 3423, 4218, 5010, 5813, 6610, 7403, 8200, 8990, 9394, 10154, 10925, 11686, 12449, 13207, 13973, 14734, 15499, 16262, 17026, 17786, 18547, 19313, 20078, 20839, 21605, 22366, 23131, 23892, 24655, 25423, 26184, 26950, 27710, 28474, 29234, 30000, 30761, 31524, 32287, 33053, 33814, 34579, 35340, 36103, 36864, 37627, 38390, 39154, 39922, 40685] + hit1 = 24 + data2 = [0, 4801, 5918, 7031, 8144, 9258, 10372, 11486, 12598, 13713, 14826, 15943, 17056, 18169, 19284, 20397, 21511, 22624, 23739, 24854, 25967, 27082, 28195, 29309, 30421, 31536, 32649, 33765, 34877, 35993, 37106, 38218, 39333, 40445, 41561, 42673, 43790, 44905, 46018, 47131, 48244, 49358, 50472, 51586, 52700, 53815, 54928, 56041, 57156, 58268, 59384] + hit2 = 1 + + def 等效百分比(self, **argv): + if self.等级 >= 3: + self.hit0 = 5 * 7 + else: + self.hit0 = 5* 5 + if self.等级 >= 9: + self.hit1 = 10 + else: + self.hit1 = 8 + return super().等效百分比(**argv) + +class 技能15(主动技能): + 名称 = "冰凌破" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 1195, 1316, 1438, 1557, 1681, 1801, 1923, 2044, 2166, 2287, 2407, 2530, 2649, 2772, 2893, 3015, 3136, 3257, 3379, 3498, 3621, 3743, 3863, 3985, 4106, 4226, 4349, 4470, 4593, 4712, 4833, 4956, 5076, 5198, 5319, 5439, 5562, 5684, 5804, 5925, 6047, 6169, 6289, 6411, 6533, 6653, 6776, 6896, 7017, 7138] + hit0 = 25 + data1 = [0, 5692, 6270, 6850, 7426, 8003, 8582, 9160, 9736, 10313, 10891, 11469, 12046, 12624, 13201, 13779, 14358, 14935, 15511, 16091, 16668, 17245, 17821, 18401, 18978, 19556, 20133, 20711, 21289, 21866, 22444, 23021, 23600, 24176, 24754, 25332, 25908, 26486, 27066, 27643, 28219, 28799, 29376, 29953, 30529, 31109, 31686, 32262, 32840, 33419, 33996] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能16(主动技能): + 名称 = "千里冰封" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [900, 1820] + 无色消耗 = 2 + data0 = [0, 17329, 19087, 20846, 22604, 24362, 26121, 27879, 29636, 31395, 33155, 34911, 36670, 38427, 40185, 41943, 43701, 45458, 47218, 48977, 50735, 52493, 54250, 56009, 57765, 59525, 61284, 63040, 64799, 66557, 68315, 70073, 71833, 73591, 75348, 77107, 78864, 80624, 82380, 84139, 85898, 87654, 89413, 91171, 92928, 94687, 96447, 98205, 99962, 101720, 103478] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.power0 = 3.8 + + +class 技能17(被动技能): + 名称 = '冰之技艺' + 所在等级 = 75 + + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + 关联技能 = ['所有'] + 冰枪关联技能 = ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩'] + 额外冰枪攻击力 = 0 + 额外冰枪倍率 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.16 + 0.02 * self.等级, 5) + + def 冰枪加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1 + (0.10 *(1+ self.额外冰枪攻击力)) + +class 技能18(主动技能): + 名称 = "碎冰破" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 63240, 69658, 76072, 82488, 88905, 95318, 101736, 108151, 114567, 120983, 127400, 133815, 140230, 146647, 153061, 159478, 165895, 172309, 178725, 185142, 191556, 197973, 204389, 210804, 217221, 223636, 230050, 236468, 242885, 249298, 255714, 262132, 268546, 274963, 281378, 287793, 294211, 300626, 307042, 313457, 319875, 326288, 332705, 339121, 345535, 351952, 358368, 364784, 371200, 377616] + hit0 = 1 + data1 = [0, 23025, 25360, 27697, 30032, 32370, 34706, 37042, 39377, 41712, 44049, 46386, 48722, 51057, 53394, 55729, 58062, 60402, 62739, 65072, 67408, 69744, 72080, 74417, 76753, 79089, 81425, 83760, 86096, 88433, 90769, 93105, 95441, 97777, 100114, 102450, 104785, 107119, 109456, 111791, 114129, 116464, 118801, 121136, 123473, 125808, 128146, 130482, 132818, 135152, 137488] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 1.46 + + +class 技能19(主动技能): + 名称 = "极冰领域" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 71457, 78704, 85953, 93203, 100451, 107700, 114950, 122198, 129447, 136698, 143949, 151195, 158446, 165696, 172943, 180194, 187443, 194690, 201942, 209191, 216440, 223688, 230938, 238187, 245435, 252685, 259934, 267183, 274433, 281682, 288931, 296180, 303429, 310678, 317927, 325176, 332428, 339677, 346926, 354175, 361423, 368673, 375922, 383169, 390420, 397670, 404919, 412168, 419416, 426665] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.CDR *= 0.9 + + +class 技能20(主动技能): + 名称 = "永罪冰狱" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 73425, 90451, 107478, 124503, 141528, 158558, 175584, 192609, 209635, 226659, 243687, 260713, 277737, 294767, 311793, 328819, 345844, 362869, 379895, 396921, 413947, 430977, 448002, 465028, 482054, 499079, 516105, 533130, 550156, 567186, 584212, 601236, 618262, 635290, 652314, 669340, 686368, 703394, 720420, 737446, 754471, 771498, 788524, 805550, 822577, 839604, 856629, 873655, 890681, 907707] + hit0 = 1 + data1 = [0, 48962, 60316, 71670, 83022, 94377, 105730, 117084, 128438, 139792, 151145, 162499, 173854, 185208, 196560, 207913, 219267, 230622, 241976, 253328, 264682, 276037, 287390, 298744, 310097, 321450, 332805, 344159, 355511, 366866, 378219, 389573, 400926, 412279, 423634, 434988, 446343, 457695, 469048, 480402, 491757, 503110, 514464, 525817, 537171, 548526, 559879, 571234, 582586, 593938, 605293] + hit1 = 0 + data2 = [0, 32623, 40187, 47752, 55317, 62882, 70447, 78011, 85577, 93141, 100705, 108270, 115836, 123399, 130965, 138528, 146093, 153658, 161223, 168788, 176351, 183916, 191483, 199047, 206612, 214177, 221741, 229306, 236871, 244435, 252002, 259567, 267130, 274695, 282259, 289825, 297390, 304954, 312518, 320085, 327649, 335214, 342779, 350344, 357908, 365471, 373036, 380601, 388167, 395731, 403296] + hit2 = 2 + data3 = [0, 49075, 60454, 71835, 83214, 94594, 105975, 117354, 128734, 140113, 151493, 162874, 174253, 185632, 197013, 208392, 219775, 231154, 242533, 253913, 265292, 276672, 288052, 299433, 310812, 322192, 333571, 344950, 356330, 367711, 379092, 390471, 401850, 413230, 424609, 435989, 447370, 458751, 470130, 481510, 492890, 504269, 515650, 527029, 538410, 549789, 561169, 572549, 583928, 595307, 606687] + hit3 = 1 + + +class 技能21(被动技能): + 名称 = '冰霜之手' + 所在等级 = 95 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "极冰猎魔斩" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 183055, 201626, 220196, 238767, 257339, 275910, 294481, 313052, 331621, 350191, 368763, 387335, 405906, 424475, 443046, 461618, 480190, 498760, 517331, 535900, 554471, 573043, 591615, 610185, 628756, 647325, 665896, 684467, 703039, 721610, 740180, 758752, 777322, 795894, 814465, 833035, 851604, 870175, 888747, 907319, 925890, 944459, 963031, 981602, 1000172, 1018744, 1037314, 1055884, 1074456, 1093027] + hit0 = 1 + + +class 技能23(主动技能): + 名称 = "永劫:纳斯特隆德" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 6118, 7536, 8952, 10370, 11790, 13208, 14627, 16047, 17464, 18880, 20300, 21719, 23137, 24555, 25974, 27393, 28810, 30230, 31646, 33065, 34485, 35903, 37322, 38740, 40158, 41576, 42996, 44413, 45831, 47250, 48669, 50088, 51505, 52924, 54342, 55760, 57179, 58598, 60017, 61433, 62853, 64271, 65691, 67109, 68526, 69944, 71364, 72781, 74200, 75619] + hit0 = 1 + data1 = [0, 61169, 75352, 89537, 103721, 117904, 132088, 146273, 160458, 174643, 188827, 203010, 217194, 231379, 245562, 259747, 273931, 288114, 302298, 316482, 330666, 344852, 359037, 373219, 387404, 401588, 415772, 429956, 444141, 458323, 472508, 486693, 500877, 515061, 529246, 543428, 557613, 571798, 585983, 600166, 614351, 628536, 642719, 656903, 671087, 685271, 699456, 713639, 727823, 742007, 756191] + hit1 = 1 + data2 = [0, 42818, 52748, 62675, 72605, 82534, 92462, 102391, 112321, 122248, 132178, 142106, 152035, 161966, 171894, 181822, 191752, 201680, 211609, 221539, 231467, 241396, 251325, 261253, 271182, 281112, 291040, 300969, 310900, 320827, 330757, 340685, 350614, 360543, 370470, 380400, 390330, 400258, 410187, 420116, 430043, 439974, 449904, 459832, 469761, 479690, 489618, 499548, 509476, 519405, 529334] + hit2 = 1 + data3 = [0, 42818, 52748, 62675, 72605, 82534, 92462, 102391, 112321, 122248, 132178, 142106, 152035, 161966, 171894, 181822, 191752, 201680, 211609, 221539, 231467, 241396, 251325, 261253, 271182, 281112, 291040, 300969, 310900, 320827, 330757, 340685, 350614, 360543, 370470, 380400, 390330, 400258, 410187, 420116, 430043, 439974, 449904, 459832, 469761, 479690, 489618, 499548, 509476, 519405, 529334] + hit3 = 1 + data4 = [0, 91753, 113028, 134306, 155582, 176857, 198133, 219410, 240687, 261963, 283238, 304516, 325792, 347067, 368343, 389620, 410896, 432173, 453450, 474725, 496002, 517278, 538553, 559830, 581105, 602382, 623658, 644935, 666211, 687488, 708763, 730040, 751316, 772592, 793868, 815143, 836421, 857698, 878973, 900250, 921526, 942801, 964078, 985355, 1006630, 1027906, 1049184, 1070460, 1091736, 1113012, 1134288] + hit4 = 1 + data5 = [0, 12232, 15070, 17906, 20745, 23581, 26417, 29255, 32093, 34927, 37765, 40601, 43438, 46276, 49112, 51950, 54785, 57622, 60460, 63295, 66133, 68968, 71806, 74643, 77480, 80318, 83155, 85990, 88828, 91664, 94501, 97338, 100174, 103012, 105846, 108685, 111523, 114359, 117195, 120033, 122869, 125707, 128541, 131379, 134218, 137054, 139891, 142726, 145564, 148402, 151237] + hit5 = 5 + data6 = [0, 20389, 25117, 29844, 34573, 39299, 44029, 48757, 53486, 58214, 62943, 67671, 72398, 77125, 81855, 86583, 91310, 96039, 100765, 105494, 110223, 114950, 119679, 124405, 129134, 133863, 138590, 143318, 148048, 152774, 157502, 162230, 166958, 171688, 176415, 181142, 185870, 190599, 195327, 200055, 204783, 209509, 214239, 218967, 223694, 228423, 233150, 237879, 242607, 247334, 252063] + hit6 = 6 + data7 = [0, 183505, 226059, 268612, 311164, 353717, 396269, 438820, 481375, 523926, 566478, 609030, 651582, 694136, 736688, 779240, 821793, 864346, 906898, 949451, 992003, 1034555, 1077108, 1119660, 1162213, 1204764, 1247317, 1289872, 1332423, 1374974, 1417529, 1460079, 1502633, 1545185, 1587739, 1630289, 1672843, 1715395, 1757949, 1800499, 1843052, 1885606, 1928158, 1970709, 2013263, 2055815, 2098368, 2140921, 2183473, 2226025, 2268577] + hit7 = 1 + + +class 技能24(被动技能): + 名称 = '冰舞乱击' + 所在等级 = 45 + + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + + 关联技能 = ['极冰绽放'] + + def 加成倍率(self, 武器类型): + return 1.0 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'glacial_master' + self.名称 = '知源·冰结师' + self.角色 = '魔法师(男)' + + self.职业 = '冰结师' + self.武器选项 = ['魔杖', '法杖'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '魔杖' + self.防具类型 = '皮甲' + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.80 + + super().__init__(equVersion) + + def 职业特殊计算(self): + if self.get_skill_by_name('水晶剑').等级 != 0: + self.get_skill_by_name('冰魄剑').技能形态改变() + 冰之技艺 = self.get_skill_by_name('冰之技艺') + temp = [0] * len(冰之技艺.冰枪关联技能) + for i in range(len(temp)-1): + temp[i] = 冰之技艺.冰枪关联技能[i]+',' + temp[len(temp)-1] = 冰之技艺.冰枪关联技能[len(temp)-1] + self.skills_passive['冰之技艺']['info'] = [{ + "type": "倍率", + "info": [round((冰之技艺.冰枪加成倍率(self.武器类型) - 1) * 100, 0), "".join(temp), '无'] + }, + ] + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['远古记忆']) + + def 伤害指数计算(self): + iceneedle = self.get_skill_by_name('冰之技艺') + for i in self.技能栏: + if i.名称 in iceneedle.冰枪关联技能: + i.冰枪倍率 = 1 / i.技攻 * (1 + i.技攻 - 1 + (iceneedle.冰枪加成倍率(self.武器类型) - 1) * (iceneedle.额外冰枪倍率)) + i.倍率 *= i.冰枪倍率 + + super().伤害指数计算() + + def set_individuation(self, info): + info['char_optiopns'] = [] + info['char_optiopns'].append({ + "name": '[冰之技艺]', + "option": ["统计整合","统计拆分"] + }) + + def 伤害计算(self): + data = super().伤害计算() + # 拆分统计 + if self.get_individuation(0) == 1: + 冰之技艺伤害 = 0 + iceneedle = self.get_skill_by_name('冰之技艺') + for skill in iceneedle.冰枪关联技能: + detail = data['skills'].get(skill,None) + if detail !=None: + 冰枪倍率 = self.get_skill_by_name(skill).冰枪倍率 + detail['damage'] /= 冰枪倍率 + detail['atk_rate'] /= 冰枪倍率 + 冰之技艺伤害 += detail['damage'] * (冰枪倍率-1) + if 冰之技艺伤害 > 0: + data['skills']['冰之技艺'] = { + 'name': '冰之技艺', + 'rate': 1.0, + 'cd': 1.0, + 'mp': 0, + 'damage': 冰之技艺伤害, + 'count': 1, + 'level': iceneedle.等级, + 'cosume_cube_frag': 0, + 'cd_o': 1.0, + 'atk_rate': 1.0 + } + return data + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if i.名称 == "冰之技艺" and min == 75 and type == "all": + i.额外冰枪倍率 *= (1 + x * self.技能伤害增加增幅) diff --git a/api/core/characters/grappler_female.py b/api/core/characters/grappler_female.py new file mode 100644 index 00000000..e65f2f76 --- /dev/null +++ b/api/core/characters/grappler_female.py @@ -0,0 +1,648 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +# class 技能0(被动技能): +# 名称 = '基础精通' +# 所在等级 = 1 +# 等级上限 = 200 +# 基础等级 = 100 +# 关联技能 = ['普通攻击'] + +# def 加成倍率(self, 武器类型): +# if self.等级 == 0: +# return 1.0 +# else: +# return round(0.463 + 0.089 * self.等级, 5) + + +# class 技能1(主动技能): +# 名称 = '普通攻击' +# 所在等级 = 1 +# 等级上限 = 1 +# 基础等级 = 1 +# #3击 243.3735+307.4934*2 +# data0 = [(i) for i in [0, 858.3604]] +# hit0 = 1 +# CD = 1 +# TP成长 = 0.10 +# TP上限 = 5 + + +class 技能0(主动技能): + 名称 = "背摔" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [20, 168] + 无色消耗 = 0 + data0 = [0, 3002, 3314, 3616, 3914, 4218, 4528, 4832, 5132, 5438, 5745, 6047, 6348, 6655, 6960, 7271, 7575, 7875, 8178, 8486, 8794, 9091, 9400, 9704, 10012, 10313, 10618, 10922, 11231, 11536, 11833, 12143, 12446, 12751, 13051, 13360, 13665, 13975, 14270, 14576, 14882, 15189, 15487, 15794, 16103, 16407, 16716, 17014, 17319, 17622, 17932, 18233, 18533, 18845, 19149, 19445, 19751, 20060, 20365, 20676, 20975, 21277, 21582, 21890, 22193, 22494, 22805, 23109, 23408, 23718, 24020] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "抛投" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8.5 + MP = [30, 336] + 无色消耗 = 0 + data0 = [0, 6784, 7477, 8162, 8850, 9538, 10229, 10917, 11607, 12291, 12984, 13670, 14361, 15048, 15735, 16426, 17111, 17802, 18490, 19178, 19868, 20556, 21244, 21933, 22622, 23309, 23997, 24688, 25373, 26064, 26750, 27441, 28129, 28816, 29509, 30194, 30880, 31572, 32260, 32948, 33637, 34322, 35015, 35701, 36393, 37080, 37771, 38457, 39145, 39835, 40521, 41211, 41901, 42586, 43277, 43965, 44655, 45343, 46029, 46719, 47407, 48096, 48783, 49472, 50161, 50851, 51538, 52227, 52916, 53605, 54290] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '摔技强化' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 10: + return round(1 + 0.01 * self.等级, 5) + else: + return round(1.1 + 0.02 * (self.等级 - 10), 5) + + +class 技能3(主动技能): + 名称 = "折颈" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7.7 + MP = [30, 336] + 无色消耗 = 0 + data0 = [0, 7181, 7907, 8639, 9366, 10091, 10823, 11549, 12279, 13008, 13737, 14463, 15195, 15921, 16652, 17379, 18108, 18839, 19563, 20292, 21021, 21750, 22480, 23208, 23936, 24668, 25392, 26122, 26850, 27580, 28307, 29036, 29762, 30490, 31221, 31949, 32676, 33408, 34135, 34866, 35591, 36322, 37050, 37779, 38506, 39233, 39963, 40689, 41421, 42148, 42878, 43607, 44335, 45065, 45794, 46518, 47251, 47977, 48704, 49435, 50162, 50892, 51619, 52347, 53078, 53805, 54534, 55265, 55992, 56718, 57452] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '强力抱摔' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "野蛮冲撞" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 8853, 9752, 10651, 11550, 12449, 13346, 14243, 15142, 16041, 16939, 17839, 18737, 19633, 20532, 21430, 22329, 23226, 24124, 25022, 25920, 26819, 27718, 28617, 29513, 30413, 31309, 32208, 33106, 34007, 34903, 35801, 36700, 37598, 38496, 39393, 40292, 41189, 42093, 42991, 43889, 44788, 45686, 46582, 47481, 48379, 49279, 50175, 51075, 51972, 52870, 53768, 54667, 55565, 56461, 57363, 58257, 59156, 60057, 60953, 61851, 62749, 63649, 64545, 65443, 66341, 67241, 68138, 69039, 69936, 70833] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "霹雳肘击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 11506, 12675, 13838, 15009, 16173, 17345, 18510, 19679, 20843, 22013, 23180, 24347, 25514, 26681, 27851, 29018, 30185, 31352, 32520, 33685, 34856, 36021, 37189, 38356, 39522, 40691, 41859, 43026, 44192, 45359, 46528, 47693, 48863, 50027, 51198, 52364, 53532, 54698, 55865, 57034, 58201, 59370, 60535, 61705, 62869, 64040, 65207, 66374, 67541, 68705, 69876, 71043, 72209, 73378, 74543, 75715, 76878, 78048, 79213, 80382, 81548, 82716, 83886, 85049, 86219, 87385, 88556, 89721, 90890, 92054] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "空绞锤" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 8344, 9195, 10050, 10930, 11792, 12647, 13507, 14377, 15244, 16104, 16955, 17826, 18683, 19551, 20411, 21277, 22134, 23005, 23862, 24736, 25583, 26442, 27312, 28181, 29048, 29903, 30759, 31635, 32496, 33345, 34203, 35069, 35948, 36805, 37663, 38518, 39391, 40264, 41110, 41969, 42837, 43696, 44565, 45422, 46293, 47150, 48021, 48872, 49740, 50601, 51464, 52323, 53190, 54052, 54917, 55782, 56633, 57501, 58364, 59220, 60093, 60949, 61820, 62678, 63543, 64395, 65267, 66124, 66997, 67852] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "霹雳冲击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 6099, 6718, 7338, 7955, 8576, 9192, 9813, 10430, 11051, 11667, 12288, 12907, 13526, 14141, 14763, 15379, 16002, 16614, 17238, 17856, 18476, 19095, 19713, 20329, 20950, 21569, 22185, 22804, 23425, 24043, 24666, 25280, 25900, 26518, 27139, 27754, 28375, 28995, 29615, 30231, 30850, 31467, 32088, 32705, 33326, 33944, 34565, 35183, 35802, 36418, 37038, 37658, 38279, 38894, 39514, 40131, 40753, 41371, 41989, 42607, 43227, 43846, 44464, 45085, 45701, 46322, 46939, 47558, 48177, 48797] + hit0 = 1 + data1 = [0, 13905, 15317, 16730, 18140, 19549, 20959, 22372, 23783, 25194, 26605, 28016, 29427, 30838, 32249, 33658, 35071, 36481, 37893, 39306, 40718, 42127, 43537, 44944, 46356, 47768, 49180, 50590, 52002, 53414, 54825, 56235, 57649, 59057, 60466, 61877, 63291, 64701, 66112, 67522, 68932, 70348, 71755, 73165, 74578, 75989, 77398, 78810, 80221, 81634, 83044, 84453, 85864, 87278, 88688, 90100, 91512, 92918, 94328, 95739, 97149, 98564, 99974, 101383, 102797, 104209, 105619, 107031, 108436, 109848, 111264] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "螺旋彗星落" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 20967, 23095, 25222, 27350, 29475, 31606, 33731, 35860, 37987, 40114, 42243, 44368, 46496, 48625, 50753, 52879, 55008, 57135, 59260, 61389, 63517, 65642, 67771, 69895, 72025, 74152, 76280, 78405, 80535, 82662, 84792, 86916, 89044, 91175, 93298, 95426, 97553, 99679, 101808, 103935, 106063, 108190, 110319, 112446, 114572, 116697, 118825, 120951, 123080, 125208, 127333, 129462, 131592, 133719, 135846, 137974, 140095, 142225, 144353, 146481, 148607, 150736, 152864, 154995, 157120, 159248, 161375, 163501, 165630, 167754] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.88 + + +class 技能10(主动技能): + 名称 = "地狱摇篮" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 30 + MP = [220, 1988] + 无色消耗 = 1 + data0 = [0, 32506, 35803, 39104, 42397, 45700, 48991, 52293, 55593, 58889, 62187, 65481, 68780, 72081, 75376, 78675, 81972, 85271, 88569, 91865, 95165, 98461, 101758, 105058, 108351, 111653, 114955, 118247, 121549, 124847, 128144, 131442, 134737, 138035, 141333, 144633, 147933, 151228, 154526, 157821, 161120, 164419, 167717, 171015, 174314, 177608, 180910, 184206, 187505, 190800, 194099, 197397, 200694, 203993, 207290, 210586, 213886, 217184, 220479, 223780, 227077, 230375, 233673, 236971, 240269, 243565, 246864, 250160, 253458, 256757, 260052] + hit0 = 1 + data1 = [0, 4511, 4968, 5429, 5887, 6345, 6799, 7257, 7715, 8174, 8631, 9089, 9544, 10002, 10460, 10919, 11379, 11835, 12293, 12747, 13206, 13662, 14124, 14583, 15039, 15498, 15953, 16412, 16870, 17330, 17786, 18244, 18702, 19159, 19618, 20075, 20531, 20988, 21444, 21902, 22364, 22821, 23278, 23734, 24193, 24650, 25112, 25569, 26026, 26484, 26941, 27399, 27855, 28314, 28770, 29230, 29684, 30144, 30600, 31060, 31518, 31975, 32432, 32889, 33348, 33809, 34265, 34724, 35178, 35636, 36093] + hit1 = 0 + data2 = [0, 9946, 10956, 11965, 12971, 13984, 14993, 15999, 17011, 18019, 19026, 20037, 21046, 22056, 23064, 24074, 25086, 26089, 27102, 28111, 29124, 30130, 31134, 32148, 33157, 34165, 35176, 36182, 37193, 38201, 39211, 40221, 41227, 42237, 43247, 44259, 45266, 46274, 47284, 48289, 49304, 50312, 51321, 52329, 53339, 54351, 55357, 56365, 57376, 58385, 59396, 60403, 61410, 62421, 63430, 64441, 65448, 66458, 67465, 68475, 69488, 70498, 71501, 72512, 73524, 74531, 75541, 76550, 77557, 78569, 79577] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if '地狱摇篮' in char.护石栏: + self.power0 = 1.32 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 5 + self.hit2 = 1 + if '地狱摇篮' in char.护石栏: + self.hit1 = 10 + self.power1 = 0.6 + self.power2 = 1.59 + + def 装备护石(self, char): + self.power0 = 1.32 + self.CDR *= 0.9 + + +class 技能11(主动技能): + 名称 = "裂石破天" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 23287, 25649, 28017, 30376, 32743, 35102, 37461, 39828, 42191, 44550, 46918, 49279, 51638, 54003, 56361, 58727, 61096, 63456, 65822, 68179, 70540, 72904, 75271, 77632, 79995, 82356, 84715, 87083, 89443, 91808, 94172, 96534, 98894, 101258, 103622, 105981, 108346, 110710, 113073, 115433, 117793, 120159, 122524, 124889, 127250, 129611, 131967, 134333, 136698, 139065, 141426, 143783, 146151, 148512, 150878, 153237, 155599, 157966, 160328, 162687, 165053, 167415, 169774, 172140, 174501, 176865, 179227, 181588, 183951, 186318] + hit0 = 1 + data1 = [0, 6000, 6604, 7214, 7823, 8433, 9039, 9649, 10255, 10868, 11474, 12080, 12689, 13302, 13908, 14518, 15127, 15732, 16345, 16950, 17565, 18169, 18779, 19387, 19995, 20601, 21213, 21818, 22434, 23036, 23646, 24253, 24862, 25469, 26082, 26689, 27305, 27907, 28516, 29124, 29735, 30337, 30952, 31558, 32165, 32775, 33383, 33992, 34603, 35208, 35820, 36425, 37035, 37644, 38250, 38861, 39470, 40078, 40689, 41292, 41903, 42511, 43121, 43727, 44340, 44947, 45555, 46159, 46769, 47380, 47989] + hit1 = 0 + data2 = [0, 1996, 2200, 2402, 2605, 2805, 3010, 3213, 3414, 3615, 3822, 4021, 4222, 4427, 4629, 4831, 5033, 5236, 5438, 5641, 5845, 6043, 6252, 6453, 6658, 6858, 7061, 7263, 7468, 7668, 7872, 8072, 8276, 8478, 8684, 8882, 9086, 9286, 9492, 9693, 9898, 10100, 10302, 10505, 10710, 10908, 11109, 11316, 11515, 11718, 11922, 12127, 12326, 12530, 12731, 12932, 13137, 13340, 13543, 13747, 13949, 14154, 14352, 14556, 14758, 14963, 15163, 15366, 15568, 15770, 15974] + hit2 = 0 + data3 = [0, 7947, 8751, 9560, 10365, 11171, 11976, 12786, 13593, 14398, 15202, 16008, 16814, 17621, 18428, 19235, 20037, 20842, 21650, 22459, 23265, 24071, 24880, 25685, 26490, 27295, 28104, 28911, 29716, 30518, 31329, 32131, 32939, 33744, 34553, 35353, 36165, 36970, 37779, 38581, 39389, 40196, 41000, 41806, 42617, 43423, 44227, 45036, 45841, 46649, 47451, 48257, 49062, 49869, 50677, 51485, 52289, 53094, 53900, 54710, 55517, 56321, 57125, 57933, 58740, 59546, 60353, 61160, 61963, 62766, 63578] + hit3 = 0 + data4 = [0, 21433, 23609, 25782, 27959, 30132, 32304, 34482, 36652, 38827, 41005, 43178, 45351, 47530, 49704, 51874, 54052, 56220, 58394, 60573, 62748, 64924, 67096, 69268, 71448, 73622, 75795, 77970, 80142, 82317, 84494, 86665, 88841, 91017, 93190, 95364, 97540, 99714, 101888, 104062, 106233, 108411, 110584, 112758, 114933, 117106, 119279, 121460, 123632, 125806, 127982, 130154, 132331, 134508, 136677, 138852, 141030, 143205, 145375, 147553, 149725, 151901, 154074, 156248, 158424, 160598, 162770, 164946, 167120, 169294, 171472] + hit4 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + # 摔技强化固定65%加成,别的技能已经直接加成在了面板上;仅裂石破天和死亡摇篮的非抓下需要额外65%加成 + power0 = 1.65 + + 形态 = ["应变", "抓取", "非抓"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "应变": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 1 + self.hit4 = 1 + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 3 + self.hit3 = 1 + self.hit4 = 1 + if '裂石破天' in char.护石栏: + self.hit2 += 2 + + def 装备护石(self, char): + self.power0 *= 1.31 + self.power3 = 1.28 + self.power4 = 1.28 + pass + + +class 技能12(被动技能): + 名称 = '抓取奥义' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.09 + 0.015 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "末日风暴" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 140 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 3471, 4277, 5079, 5882, 6690, 7495, 8299, 9102, 9909, 10712, 11518, 12321, 13126, 13936, 14736, 15541, 16347, 17149, 17953, 18762, 19565, 20367, 21171, 21978, 22785, 23587, 24391, 25197, 26003, 26809, 27612, 28416, 29221, 30025, 30828, 31637, 32439, 33244, 34050, 34852, 35660, 36463, 37267, 38073, 38879, 39682, 40486, 41292, 42099, 42902] + hit0 = 1 + data1 = [0, 54039, 66568, 79095, 91633, 104164, 116691, 129222, 141751, 154286, 166815, 179344, 191874, 204406, 216939, 229467, 241999, 254531, 267060, 279589, 292121, 304650, 317183, 329711, 342243, 354775, 367303, 379840, 392367, 404899, 417426, 429960, 442489, 455021, 467549, 480083, 492613, 505143, 517671, 530204, 542737, 555265, 567798, 580327, 592860, 605392, 617921, 630451, 642981, 655514, 668043] + hit1 = 1 + + 形态 = ["秒C", "满"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "秒C": + self.hit0 = 1 + self.hit1 = 1 + if 形态 == "满": + self.hit0 = 13 + self.hit1 = 1 + + def 等效百分比(self, **argv): + if self.等级 > 8: + self.power1 = 1.1 + return super().等效百分比(**argv) + + +class 技能14(主动技能): + 名称 = "空绞连锤" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1260] + 无色消耗 = 1 + data0 = [0, 2830, 3117, 3400, 3691, 3981, 4264, 4551, 4843, 5128, 5416, 5704, 5989, 6275, 6564, 6850, 7139, 7425, 7713, 7999, 8287, 8573, 8860, 9147, 9432, 9724, 10008, 10296, 10585, 10875, 11158, 11444, 11735, 12018, 12306, 12594, 12881, 13167, 13456, 13742, 14027, 14317, 14606, 14890, 15177, 15466, 15752, 16039, 16324, 16618, 16901] + hit0 = 3 + data1 = [0, 33987, 37435, 40886, 44331, 47779, 51228, 54676, 58124, 61573, 65024, 68470, 71918, 75366, 78815, 82259, 85709, 89156, 92606, 96054, 99500, 102947, 106398, 109849, 113296, 116744, 120191, 123637, 127087, 130536, 133985, 137429, 140878, 144329, 147776, 151223, 154670, 158118, 161571, 165019, 168465, 171914, 175360, 178810, 182257, 185706, 189154, 192599, 196047, 199497, 202945] + hit1 = 1 + data2 = [0, 12751, 14040, 15336, 16624, 17920, 19216, 20509, 21801, 23096, 24386, 25680, 26973, 28271, 29562, 30856, 32149, 33439, 34733, 36026, 37320, 38615, 39909, 41199, 42493, 43786, 45083, 46375, 47665, 48959, 50251, 51545, 52840, 54134, 55429, 56720, 58013, 59306, 60599, 61896, 63188, 64481, 65771, 67068, 68358, 69655, 70953, 72239, 73535, 74824, 76119] + hit2 = 0 + data3 = [0, 21239, 23394, 25550, 27705, 29854, 32011, 34166, 36321, 38477, 40636, 42788, 44945, 47096, 49252, 51409, 53561, 55718, 57869, 60027, 62182, 64333, 66491, 68644, 70801, 72955, 75111, 77264, 79415, 81572, 83728, 85881, 88035, 90192, 92348, 94501, 96658, 98814, 100966, 103123, 105278, 107433, 109589, 111740, 113897, 116054, 118205, 120360, 122517, 124671, 126825] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 3 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "抓取": + self.hit0 = 3 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.21 + + +class 技能15(主动技能): + 名称 = "死亡摇篮" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [840, 1764] + 无色消耗 = 2 + data0 = [0, 37734, 41567, 45392, 49217, 53050, 56874, 60703, 64535, 68362, 72193, 76018, 79846, 83676, 87502, 91328, 95161, 98987, 102816, 106644, 110472, 114302, 118130, 121959, 125787, 129612, 133442, 137270, 141098, 144928, 148755, 152583, 156411, 160239, 164068, 167898, 171724, 175552, 179380, 183208, 187037, 190867, 194695, 198523, 202352, 206178, 210005, 213835, 217664, 221492, 225320] + hit0 = 1 + data1 = [0, 3098, 3418, 3733, 4043, 4361, 4676, 4987, 5307, 5619, 5930, 6249, 6564, 6878, 7192, 7507, 7821, 8138, 8452, 8761, 9082, 9396, 9709, 10026, 10339, 10655, 10971, 11286, 11598, 11911, 12228, 12542, 12857, 13171, 13489, 13802, 14116, 14431, 14745, 15060, 15375, 15692, 16004, 16318, 16634, 16948, 17262, 17576, 17892, 18207, 18522] + hit1 = 0 + data2 = [0, 61932, 68212, 74498, 80780, 87062, 93343, 99630, 105912, 112194, 118475, 124764, 131044, 137326, 143608, 149895, 156177, 162458, 168739, 175027, 181309, 187589, 193871, 200157, 206440, 212722, 219003, 225291, 231574, 237856, 244139, 250422, 256702, 262986, 269268, 275555, 281835, 288119, 294401, 300686, 306966, 313247, 319531, 325820, 332100, 338384, 344666, 350949, 357231, 363512, 369797] + hit2 = 0 + data3 = [0, 65033, 71633, 78230, 84828, 91425, 98022, 104615, 111218, 117815, 124412, 131013, 137606, 144205, 150803, 157398, 163999, 170594, 177196, 183792, 190390, 196988, 203582, 210185, 216781, 223376, 229976, 236571, 243173, 249768, 256367, 262964, 269559, 276158, 282756, 289356, 295953, 302550, 309147, 315743, 322344, 328942, 335541, 342136, 348731, 355333, 361933, 368527, 375124, 381723, 388320] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + # 摔技强化固定65%加成,别的技能已经直接加成在了面板上;仅裂石破天和死亡摇篮的非抓下需要额外65%加成 + power0 = 1.65 + + 形态 = ["应变", "抓取", "非抓"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "应变": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + self.hit3 = 0 + if '死亡摇篮' in char.护石栏: + 形态 = "非抓" + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + + def 装备护石(self, char): + self.power0 *= 1.31 + self.power3 = 1.23 + + +class 技能16(主动技能): + 名称 = "末日摇篮" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 18494, 20369, 22245, 24123, 26002, 27876, 29753, 31629, 33505, 35380, 37257, 39132, 41010, 42889, 44762, 46639, 48517, 50390, 52268, 54146, 56025, 57896, 59771, 61652, 63524, 65403, 67280, 69155, 71031, 72909, 74785, 76658, 78537, 80413, 82289, 84165, 86042, 87919, 89792, 91673, 93547, 95425, 97300, 99175, 101053, 102928, 104806, 106681, 108558, 110433] + hit0 = 1 + data1 = [0, 73982, 81482, 88987, 96497, 103999, 111502, 119011, 126516, 134018, 141522, 149033, 156537, 164037, 171547, 179055, 186554, 194067, 201568, 209072, 216583, 224083, 231588, 239091, 246603, 254105, 261609, 269119, 276622, 284124, 291634, 299136, 306642, 314154, 321657, 329156, 336659, 344171, 351677, 359178, 366689, 374194, 381692, 389203, 396706, 404210, 411720, 419224, 426729, 434228, 441739] + hit1 = 1 + data2 = [0, 12686, 13972, 15255, 16541, 17829, 19116, 20401, 21687, 22975, 24266, 25552, 26837, 28125, 29410, 30694, 31981, 33270, 34559, 35845, 37130, 38416, 39705, 40990, 42274, 43562, 44849, 46138, 47426, 48709, 49998, 51284, 52570, 53856, 55143, 56434, 57718, 59005, 60291, 61578, 62863, 64150, 65435, 66727, 68013, 69299, 70583, 71871, 73157, 74443, 75728] + hit2 = 0 + data3 = [0, 19462, 21436, 23406, 25382, 27357, 29328, 31304, 33280, 35251, 37226, 39201, 41176, 43149, 45125, 47095, 49068, 51046, 53020, 54995, 56967, 58943, 60919, 62889, 64864, 66840, 68815, 70788, 72761, 74737, 76709, 78680, 80663, 82632, 84609, 86579, 88555, 90531, 92504, 94480, 96452, 98426, 100401, 102374, 104353, 106322, 108298, 110277, 112247, 114220, 116192] + hit3 = 0 + data4 = [0, 82922, 91334, 99746, 108158, 116574, 124986, 133396, 141810, 150223, 158637, 167051, 175460, 183872, 192285, 200699, 209109, 217524, 225937, 234348, 242765, 251176, 259587, 268000, 276415, 284823, 293235, 301648, 310062, 318476, 326889, 335297, 343711, 352125, 360539, 368952, 377364, 385775, 394187, 402602, 411016, 419426, 427837, 436249, 444665, 453077, 461490, 469903, 478315, 486725, 495138] + hit4 = 0 + + 是否有护石 = 1 + + 形态 = ["应变", "抓取", "非抓"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "应变": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 6 + self.hit3 = 1 + self.hit4 = 0 + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 0 + self.hit4 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3225 + self.CDR *= 0.9 + # 攻击力+15% ;生成总攻击力15%伤害的旋风(多段,15次攻击,每次1%) + + +class 技能17(被动技能): + 名称 = '极手奥义' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "风暴之舞" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 12672, 13960, 15241, 16531, 17813, 19098, 20384, 21674, 22959, 24242, 25530, 26809, 28101, 29381, 30666, 31951, 33238, 34525, 35808, 37093, 38379, 39667, 40949, 42235, 43525, 44805, 46096, 47378, 48666, 49949, 51237, 52521, 53808, 55094, 56375, 57665, 58947, 60231, 61516, 62806, 64088, 65375, 66662, 67942, 69232, 70514, 71803, 73091, 74373, 75659] + hit0 = 6 + data1 = [0, 35220, 38787, 42365, 45935, 49507, 53077, 56658, 60229, 63801, 67375, 70944, 74519, 78091, 81663, 85232, 88810, 92380, 95952, 99529, 103099, 106673, 110244, 113820, 117387, 120961, 124535, 128109, 131679, 135254, 138829, 142402, 145974, 149545, 153117, 156689, 160262, 163832, 167406, 170979, 174551, 178124, 181704, 185272, 188847, 192419, 195993, 199562, 203131, 206709, 210283] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 7 + self.power0 *= 0.56 + self.倍率 *= 1.19 + + +class 技能19(主动技能): + 名称 = "苍宇彗星落" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 22102, 27227, 32353, 37482, 42608, 47733, 52858, 57981, 63105, 68234, 73360, 78481, 83606, 88736, 93862, 98988, 104112, 109239, 114362, 119490, 124613, 129738, 134863, 139992, 145117, 150242, 155367, 160494, 165616, 170743, 175870, 180994, 186119, 191245, 196370, 201497, 206621, 211749, 216872, 221999, 227123, 232247, 237373, 242500, 247626, 252752, 257877, 263003, 268125, 273252] + hit0 = 1 + data1 = [0, 198977, 245112, 291248, 337392, 383530, 429672, 475806, 521946, 568087, 614224, 660369, 706504, 752644, 798782, 844921, 891062, 937200, 983337, 1029480, 1075618, 1121759, 1167898, 1214036, 1260176, 1306317, 1352458, 1398594, 1444732, 1490873, 1537011, 1583149, 1629292, 1675428, 1721568, 1767705, 1813846, 1859988, 1906122, 1952266, 1998404, 2044540, 2090681, 2136822, 2182963, 2229099, 2275236, 2321379, 2367518, 2413656, 2459797] + hit1 = 1 + data2 = [0, 30281, 37301, 44324, 51344, 58368, 65390, 72416, 79433, 86453, 93477, 100501, 107521, 114544, 121565, 128588, 135606, 142632, 149652, 156675, 163696, 170718, 177738, 184763, 191784, 198806, 205829, 212845, 219869, 226893, 233916, 240935, 247958, 254982, 262001, 269022, 276048, 283071, 290090, 297111, 304132, 311154, 318179, 325200, 332222, 339242, 346264, 353284, 360309, 367331, 374354] + hit2 = 0 + data3 = [0, 186325, 229531, 272737, 315943, 359149, 402356, 445562, 488767, 531973, 575179, 618386, 661590, 704800, 748004, 791212, 834414, 877621, 920829, 964033, 1007238, 1050444, 1093652, 1136857, 1180065, 1223270, 1266478, 1309682, 1352888, 1396093, 1439300, 1482503, 1525713, 1568918, 1612122, 1655328, 1698536, 1741742, 1784946, 1828152, 1871359, 1914567, 1957771, 2000978, 2044185, 2087386, 2130595, 2173803, 2217007, 2260214, 2303421] + hit3 = 0 + + 形态 = ["应变", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "应变": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + + +class 技能20(主动技能): + 名称 = "送葬舞步" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 20428, 22497, 24571, 26644, 28715, 30789, 32862, 34933, 37005, 39077, 41148, 43222, 45293, 47365, 49437, 51509, 53582, 55655, 57727, 59798, 61872, 63944, 66016, 68089, 70160, 72233, 74304, 76376, 78448, 80519, 82593, 84666, 86738, 88811, 90881, 92955, 95028, 97100, 99172, 101245, 103317, 105391, 107461, 109535, 111606, 113678, 115751, 117821, 119896, 121967] + hit0 = 1 + data1 = [0, 91914, 101243, 110568, 119891, 129218, 138541, 147867, 157193, 166517, 175842, 185170, 194493, 203818, 213146, 222468, 231794, 241120, 250444, 259768, 269093, 278421, 287747, 297070, 306395, 315718, 325045, 334370, 343694, 353020, 362348, 371672, 380997, 390322, 399645, 408971, 418294, 427621, 436947, 446271, 455597, 464922, 474247, 483570, 492895, 502222, 511548, 520874, 530197, 539523, 548849] + hit1 = 1 + data2 = [0, 91914, 101243, 110568, 119891, 129218, 138541, 147867, 157193, 166517, 175842, 185170, 194493, 203818, 213146, 222468, 231794, 241120, 250444, 259768, 269093, 278421, 287747, 297070, 306395, 315718, 325045, 334370, 343694, 353020, 362348, 371672, 380997, 390322, 399645, 408971, 418294, 427621, 436947, 446271, 455597, 464922, 474247, 483570, 492895, 502222, 511548, 520874, 530197, 539523, 548849] + hit2 = 1 + + +class 技能21(被动技能): + 名称 = '光芒之翼' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "女皇时代·辉煌舞台" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 63583, 78328, 93070, 107816, 122558, 137300, 152047, 166789, 181534, 196277, 211020, 225767, 240510, 255254, 269998, 284741, 299487, 314229, 328973, 343716, 358459, 373207, 387948, 402693, 417438, 432180, 446923, 461670, 476413, 491156, 505900, 520643, 535387, 550130, 564877, 579618, 594363, 609109, 623850, 638597, 653340, 668084, 682828, 697571, 712314, 727058, 741801, 756548, 771291, 786034] + hit0 = 1 + data1 = [0, 127167, 156653, 186143, 215629, 245115, 274604, 304094, 333583, 363069, 392556, 422045, 451531, 481022, 510505, 539995, 569485, 598972, 628459, 657945, 687435, 716922, 746412, 775899, 805385, 834873, 864363, 893848, 923338, 952826, 982313, 1011801, 1041286, 1070776, 1100264, 1129754, 1159240, 1188727, 1218216, 1247704, 1277192, 1306676, 1336167, 1365656, 1395144, 1424630, 1454117, 1483606, 1513094, 1542583, 1572070] + hit1 = 1 + data2 = [0, 127167, 156653, 186143, 215629, 245115, 274604, 304094, 333583, 363069, 392556, 422045, 451531, 481022, 510505, 539995, 569485, 598972, 628459, 657945, 687435, 716922, 746412, 775899, 805385, 834873, 864363, 893848, 923338, 952826, 982313, 1011801, 1041286, 1070776, 1100264, 1129754, 1159240, 1188727, 1218216, 1247704, 1277192, 1306676, 1336167, 1365656, 1395144, 1424630, 1454117, 1483606, 1513094, 1542583, 1572070] + hit2 = 1 + data3 = [0, 127167, 156653, 186143, 215629, 245115, 274604, 304094, 333583, 363069, 392556, 422045, 451531, 481022, 510505, 539995, 569485, 598972, 628459, 657945, 687435, 716922, 746412, 775899, 805385, 834873, 864363, 893848, 923338, 952826, 982313, 1011801, 1041286, 1070776, 1100264, 1129754, 1159240, 1188727, 1218216, 1247704, 1277192, 1306676, 1336167, 1365656, 1395144, 1424630, 1454117, 1483606, 1513094, 1542583, 1572070] + hit3 = 1 + data4 = [0, 31792, 39163, 46536, 53908, 61279, 68651, 76022, 83395, 90768, 98139, 105510, 112881, 120255, 127627, 134998, 142370, 149741, 157113, 164488, 171860, 179231, 186602, 193975, 201345, 208720, 216091, 223462, 230834, 238205, 245579, 252951, 260322, 267694, 275066, 282437, 289809, 297181, 304552, 311925, 319299, 326669, 334041, 341416, 348785, 356157, 363530, 370900, 378272, 385645, 393016] + hit4 = 6 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'grappler_female' + self.名称 = '归元·柔道家' + self.角色 = '格斗家(女)' + self.职业 = '柔道家' + # 用来筛CP武器的 + self.转职 = '柔道家(女)' + self.武器选项 = ['手套', '臂铠', '东方棍', '爪'] + self.输出类型选项 = ['物理固伤'] + self.防具精通属性 = ['力量'] + self.类型 = '物理固伤' + self.武器类型 = '臂铠' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.07 + + super().__init__(equVersion) diff --git a/api/core/characters/grappler_male.py b/api/core/characters/grappler_male.py new file mode 100644 index 00000000..7e721cb1 --- /dev/null +++ b/api/core/characters/grappler_male.py @@ -0,0 +1,615 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '臂铠精通' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['无'] + 冷却关联技能 = ['膝击', '抛投', '野蛮冲撞', '无情摔击', '空绞锤', '霹雳旋踢', '浮空凌云踢', + '疾波猛坠', '地狱风火轮', '裂石破天', '彗星冲击', '武莲华', '黑震旋风', '疾风闪电', '黑震流·殒灭'] + + def CD缩减倍率(self, 武器类型): + if 武器类型 == '臂铠': + return 0.9 + else: + return 1.0 + + +class 技能1(主动技能): + 名称 = '膝击' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [20, 168] + data0 = [0, 332, 366, 399, 433, 467, 499, 532, 566, 599, 634, 667, 701, 733, 768, 801, 835, 870, 903, 937, 970, 1003, 1036, 1072, 1106, 1139, 1172, 1207, 1239, 1273, 1306, 1342, 1375, 1408, 1442, 1475, 1509, 1543, 1577, 1609, 1644, 1677, 1711, 1743, 1779, 1813, 1846, 1879, 1912, 1947, 1979, 2014, 2047, 2083, 2114, 2149, 2182, 2216, 2251, 2284, 2318, 2351, 2385, 2418, 2452, 2485, 2520, 2553, 2587, 2619, 2653] + hit0 = 2 + data1 = [0, 1680, 1852, 2021, 2191, 2362, 2533, 2705, 2875, 3048, 3217, 3388, 3557, 3729, 3899, 4070, 4241, 4409, 4581, 4752, 4924, 5094, 5264, 5436, 5604, 5775, 5946, 6117, 6287, 6460, 6629, 6798, 6970, 7141, 7313, 7483, 7653, 7824, 7993, 8164, 8335, 8505, 8676, 8847, 9016, 9187, 9358, 9527, 9700, 9871, 10043, 10213, 10383, 10553, 10723, 10894, 11065, 11236, 11405, 11576, 11746, 11916, 12089, 12259, 12431, 12599, 12770, 12941, 13111, 13284, 13455] + hit1 = 1 + CD = 5.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '摔技强化' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.0 + 0.02 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = '抛投' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [20, 168] + data0 = [0, 1502, 1657, 1809, 1963, 2113, 2267, 2419, 2571, 2726, 2877, 3031, 3182, 3337, 3488, 3641, 3793, 3945, 4097, 4251, 4404, 4556, 4708, 4861, 5015, 5169, 5319, 5473, 5625, 5777, 5929, 6084, 6235, 6388, 6540, 6693, 6845, 6998, 7151, 7303, 7456, 7609, 7763, 7915, 8067, 8221, 8371, 8525, 8678, 8832, 8982, 9136, 9288, 9439, 9593, 9746, 9900, 10051, 10204, 10358, 10510, 10662, 10814, 10968, 11119, 11274, 11425, 11578, 11730, 11883, 12034] + hit0 = 1 + data1 = [0, 2372, 2610, 2852, 3093, 3334, 3574, 3815, 4055, 4297, 4536, 4778, 5018, 5261, 5497, 5739, 5980, 6221, 6461, 6703, 6943, 7185, 7424, 7666, 7906, 8148, 8388, 8629, 8870, 9111, 9349, 9592, 9832, 10072, 10313, 10555, 10792, 11035, 11275, 11518, 11756, 11998, 12238, 12480, 12718, 12959, 13200, 13440, 13681, 13922, 14164, 14402, 14644, 14885, 15127, 15366, 15608, 15848, 16090, 16327, 16570, 16809, 17051, 17291, 17532, 17772, 18014, 18253, 18495, 18736, 18978] + hit1 = 1 + CD = 7.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '连环抓取' + 所在等级 = 20 + 等级上限 = 11 + 学习间隔 = 5 + 等级精通 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + # 默认高阶 + return round(1.36 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = '野蛮冲撞' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [50, 420] + data0 = [0, 3852, 4243, 4634, 5024, 5417, 5807, 6199, 6587, 6979, 7370, 7760, 8153, 8542, 8935, 9324, 9716, 10106, 10496, 10889, 11280, 11671, 12061, 12451, 12841, 13234, 13626, 14017, 14405, 14796, 15188, 15579, 15970, 16360, 16751, 17144, 17533, 17925, 18314, 18706, 19098, 19490, 19880, 20268, 20660, 21050, 21443, 21834, 22225, 22615, 23005, 23397, 23788, 24178, 24569, 24961, 25353, 25744, 26132, 26523, 26914, 27305, 27698, 28088, 28478, 28869, 29260, 29652, 30041, 30434, 30824] + hit0 = 1 + data1 = [0, 2310, 2546, 2780, 3016, 3248, 3485, 3718, 3954, 4187, 4423, 4656, 4892, 5124, 5360, 5594, 5829, 6063, 6300, 6533, 6768, 7000, 7237, 7470, 7704, 7939, 8174, 8408, 8643, 8880, 9112, 9347, 9581, 9817, 10051, 10286, 10519, 10756, 10989, 11222, 11456, 11693, 11927, 12162, 12397, 12632, 12865, 13100, 13334, 13569, 13803, 14037, 14271, 14507, 14742, 14976, 15211, 15445, 15679, 15913, 16149, 16383, 16617, 16852, 17088, 17320, 17555, 17791, 18026, 18260, 18495] + hit1 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = '无情摔击' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [50, 420] + data0 = [0, 5661, 6234, 6809, 7382, 7959, 8533, 9105, 9681, 10255, 10831, 11404, 11978, 12553, 13126, 13701, 14275, 14850, 15426, 15998, 16572, 17149, 17721, 18296, 18870, 19444, 20019, 20592, 21168, 21743, 22315, 22890, 23465, 24040, 24614, 25188, 25762, 26336, 26910, 27485, 28060, 28634, 29208, 29782, 30355, 30931, 31506, 32079, 32653, 33229, 33803, 34378, 34951, 35525, 36100, 36674, 37250, 37823, 38398, 38972, 39545, 40121, 40695, 41269, 41843, 42417, 42992, 43565, 44139, 44716, 45289] + hit0 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = '空绞锤' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [50, 420] + data0 = [0, 5264, 5795, 6330, 6863, 7396, 7930, 8464, 8998, 9531, 10064, 10600, 11132, 11667, 12200, 12735, 13269, 13802, 14337, 14868, 15404, 15937, 16471, 17004, 17538, 18072, 18608, 19140, 19673, 20208, 20741, 21276, 21808, 22343, 22875, 23412, 23944, 24478, 25012, 25546, 26081, 26613, 27147, 27681, 28216, 28748, 29284, 29815, 30350, 30885, 31417, 31953, 32484, 33020, 33554, 34087, 34620, 35154, 35688, 36223, 36756, 37289, 37822, 38358, 38892, 39425, 39958, 40494, 41027, 41560, 42094] + hit0 = 1 + CD = 7.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '霹雳旋踢' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [50, 420] + data0 = [0, 7548, 8315, 9079, 9846, 10612, 11378, 12143, 12907, 13677, 14441, 15208, 15972, 16738, 17508, 18270, 19039, 19801, 20568, 21333, 22099, 22867, 23630, 24397, 25164, 25929, 26697, 27463, 28227, 28992, 29757, 30522, 31292, 32057, 32822, 33587, 34355, 35121, 35884, 36653, 37415, 38185, 38950, 39713, 40481, 41246, 42013, 42780, 43542, 44311, 45077, 45844, 46609, 47372, 48140, 48905, 49673, 50436, 51204, 51971, 52735, 53502, 54265, 55034, 55799, 56564, 57331, 58096, 58863, 59628, 60393] + hit0 = 1 + CD = 12.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = '浮空凌云踢' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 2713, 2989, 3263, 3539, 3814, 4089, 4365, 4641, 4916, 5191, 5466, 5741, 6016, 6293, 6569, 6844, 7119, 7393, 7670, 7944, 8220, 8496, 8772, 9043, 9319, 9594, 9869, 10146, 10422, 10696, 10971, 11246, 11522, 11797, 12072, 12350, 12623, 12898, 13175, 13450, 13725, 14000, 14274, 14552, 14826, 15101, 15378, 15653, 15928, 16202, 16479, 16755, 17030, 17304, 17580, 17854, 18129, 18405, 18681, 18956, 19232, 19506, 19781, 20057, 20333, 20609, 20884, 21159, 21434, 21710] + hit0 = 1 + data1 = [0, 4884, 5379, 5875, 6369, 6866, 7363, 7859, 8352, 8849, 9343, 9840, 10335, 10832, 11326, 11821, 12316, 12812, 13310, 13804, 14300, 14795, 15292, 15785, 16282, 16777, 17272, 17768, 18263, 18761, 19256, 19751, 20246, 20742, 21238, 21733, 22228, 22724, 23219, 23713, 24211, 24708, 25201, 25697, 26193, 26689, 27184, 27681, 28175, 28671, 29164, 29660, 30157, 30653, 31148, 31644, 32139, 32636, 33132, 33627, 34123, 34617, 35111, 35607, 36105, 36599, 37095, 37591, 38086, 38581, 39079] + hit1 = 1 + data2 = [0, 3255, 3586, 3917, 4245, 4578, 4908, 5239, 5569, 5898, 6228, 6559, 6889, 7221, 7551, 7881, 8210, 8542, 8873, 9202, 9532, 9864, 10194, 10523, 10854, 11186, 11515, 11845, 12175, 12505, 12837, 13167, 13497, 13829, 14159, 14487, 14817, 15148, 15480, 15813, 16140, 16471, 16800, 17132, 17464, 17791, 18122, 18453, 18782, 19113, 19444, 19775, 20106, 20433, 20765, 21094, 21427, 21758, 22086, 22417, 22749, 23077, 23409, 23739, 24069, 24401, 24730, 25060, 25390, 25722, 26052] + hit2 = 1 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 5 + + MP = [105, 882] + 无色消耗 = 1 + + +class 技能10(主动技能): + 名称 = '疾波猛坠' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 6424, 7075, 7729, 8378, 9031, 9684, 10336, 10987, 11638, 12288, 12940, 13593, 14244, 14898, 15551, 16200, 16853, 17505, 18154, 18808, 19459, 20112, 20764, 21415, 22069, 22718, 23367, 24023, 24672, 25325, 25976, 26630, 27282, 27932, 28584, 29236, 29886, 30542, 31193, 31845, 32496, 33151, 33799, 34450, 35103, 35754, 36406, 37058, 37711, 38364, 39013, 39665, 40317, 40966, 41621, 42271, 42924, 43576, 44229, 44881, 45532, 46182, 46835, 47487, 48139, 48790, 49441, 50094, 50746, 51399] + hit0 = 1 + data1 = [0, 808, 894, 975, 1057, 1137, 1221, 1305, 1386, 1467, 1549, 1630, 1713, 1800, 1880, 1956, 2046, 2126, 2207, 2290, 2370, 2455, 2538, 2618, 2700, 2782, 2863, 2945, 3026, 3112, 3192, 3276, 3359, 3440, 3526, 3605, 3686, 3769, 3851, 3934, 4016, 4095, 4177, 4260, 4344, 4426, 4508, 4592, 4673, 4756, 4838, 4920, 5003, 5084, 5162, 5249, 5328, 5412, 5497, 5578, 5661, 5741, 5823, 5906, 5987, 6070, 6152, 6235, 6316, 6399, 6481] + hit1 = 6 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [124, 1041] + 无色消耗 = 1 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.hit0 = 1 + self.hit1 = 6 + if '疾波猛坠' in char.护石栏: + self.hit0 = 0 + self.hit1 = 7 + self.power1 = 2.36 + else: + 形态 = "空中" + if 形态 == "空中": + self.hit0 = 1 + self.hit1 = 6 + if '疾波猛坠' in char.护石栏: + self.power0 = 1.39 + self.power1 = 1.39 + + def 装备护石(self, char): + pass + + +class 技能11(主动技能): + 名称 = '地狱风火轮' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 3604, 3969, 4335, 4700, 5066, 5430, 5797, 6160, 6529, 6893, 7259, 7624, 7990, 8354, 8721, 9087, 9452, 9818, 10183, 10550, 10915, 11280, 11646, 12012, 12377, 12743, 13110, 13474, 13841, 14203, 14572, 14936, 15301, 15667, 16032, 16398, 16763, 17128, 17494, 17860, 18225, 18593, 18957, 19324, 19688, 20054, 20419, 20786, 21149, 21517, 21880, 22248, 22612, 22978, 23343, 23710, 24074, 24441, 24807, 25172, 25538, 25902, 26269, 26635, 27000, 27366, 27732, 28098, 28463, 28830] + hit0 = 1 + power0 = 1 + data1 = [0, 2129, 2346, 2560, 2778, 2994, 3207, 3424, 3640, 3858, 4073, 4288, 4504, 4720, 4938, 5154, 5370, 5585, 5799, 6017, 6234, 6450, 6664, 6880, 7098, 7314, 7528, 7746, 7961, 8179, 8394, 8608, 8825, 9040, 9258, 9473, 9689, 9906, 10120, 10338, 10554, 10771, 10986, 11200, 11417, 11633, 11848, 12066, 12282, 12499, 12713, 12930, 13146, 13360, 13579, 13794, 14010, 14225, 14440, 14659, 14875, 15091, 15306, 15521, 15739, 15953, 16171, 16386, 16601, 16818, 17034] + hit1 = 1 + power1 = 1 + data2 = [0, 5732, 6315, 6896, 7477, 8059, 8641, 9222, 9803, 10385, 10966, 11548, 12132, 12711, 13292, 13875, 14456, 15039, 15619, 16200, 16781, 17364, 17947, 18527, 19109, 19691, 20271, 20854, 21434, 22019, 22599, 23179, 23763, 24343, 24924, 25507, 26086, 26670, 27251, 27834, 28415, 28996, 29578, 30159, 30740, 31322, 31903, 32485, 33067, 33648, 34230, 34813, 35394, 35974, 36558, 37138, 37719, 38302, 38883, 39465, 40046, 40628, 41210, 41790, 42373, 42954, 43535, 44117, 44702, 45282, 45863] + hit2 = 1 + power2 = 1 + data3 = [0, 4914, 5410, 5910, 6409, 6908, 7406, 7905, 8403, 8902, 9400, 9898, 10396, 10897, 11392, 11893, 12393, 12889, 13388, 13888, 14385, 14883, 15382, 15881, 16380, 16876, 17376, 17875, 18372, 18871, 19370, 19866, 20367, 20865, 21364, 21864, 22361, 22859, 23357, 23856, 24355, 24852, 25354, 25850, 26349, 26848, 27347, 27844, 28344, 28841, 29339, 29839, 30338, 30836, 31336, 31832, 32332, 32829, 33328, 33827, 34325, 34824, 35323, 35821, 36321, 36819, 37317, 37815, 38314, 38811, 39310] + hit3 = 1 + power3 = 1 + CD = 25.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [188, 1579] + 无色消耗 = 1 + + def 装备护石(self, char): + self.power2 *= 1.52 + self.power3 *= 1.52 + + +class 技能12(主动技能): + 名称 = '裂石破天' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 12801, 14100, 15397, 16698, 17995, 19294, 20595, 21892, 23192, 24489, 25789, 27087, 28384, 29686, 30983, 32282, 33579, 34881, 36179, 37477, 38777, 40074, 41373, 42671, 43971, 45269, 46568, 47869, 49167, 50465, 51762, 53062, 54361, 55659, 56958, 58257, 59556, 60854, 62154, 63452, 64750, 66049, 67348, 68647, 69946, 71244, 72545, 73842, 75141, 76439, 77737, 79038, 80336, 81635, 82932, 84231, 85531, 86829, 88129, 89427, 90727, 92024, 93323, 94621, 95920, 97218, 98519, 99818, 101115, 102414] + hit0 = 0 + data1 = [0, 8950, 9858, 10768, 11677, 12583, 13494, 14401, 15308, 16216, 17127, 18034, 18940, 19847, 20758, 21668, 22573, 23480, 24392, 25299, 26207, 27117, 28025, 28932, 29839, 30748, 31658, 32565, 33471, 34380, 35289, 36197, 37107, 38012, 38923, 39831, 40739, 41645, 42555, 43462, 44371, 45280, 46188, 47095, 48003, 48912, 49823, 50732, 51635, 52544, 53453, 54362, 55271, 56177, 57087, 57995, 58903, 59809, 60719, 61626, 62535, 63441, 64352, 65259, 66166, 67074, 67986, 68894, 69800, 70710, 71618] + hit1 = 1 + data2 = [0, 17667, 19457, 21251, 23044, 24836, 26628, 28418, 30212, 32005, 33797, 35590, 37382, 39174, 40966, 42759, 44552, 46344, 48136, 49927, 51720, 53513, 55305, 57099, 58889, 60681, 62475, 64268, 66059, 67850, 69642, 71437, 73228, 75021, 76813, 78605, 80396, 82189, 83982, 85775, 87567, 89358, 91151, 92945, 94737, 96526, 98319, 100113, 101906, 103697, 105490, 107282, 109074, 110868, 112660, 114452, 116244, 118035, 119827, 121621, 123413, 125206, 126996, 128790, 130583, 132374, 134167, 135958, 137751, 139544, 141338] + hit2 = 1 + CD = 40.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [320, 2688] + 无色消耗 = 2 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + if 形态 == "抓取": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能13(被动技能): + 名称 = '力之奥义' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = '死亡旋律' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 60709, 74793, 88867, 102950, 117031, 131110, 145188, 159266, 204936, 221581, 238224, 254864, 271516, 288159, 304807, 321448, 338095, 354738, 371381, 388025, 404672, 421315, 437961, 454606, 471253, 487896, 504541, 521183, 537826, 554475, 571118, 587765, 604407, 621052, 637696, 654340, 670985, 687632, 704271, 720921, 737561, 754210, 770852, 787498, 804142, 820789, 837431, 854076, 870723, 887367] + hit0 = 1 + data1 = [0, 3147, 3879, 4611, 5342, 6070, 6802, 7532, 8262, 8995, 9722, 10454, 11184, 11914, 12644, 13375, 14105, 14836, 15568, 16296, 17026, 17757, 18487, 19217, 19951, 20681, 21412, 22141, 22869, 23602, 24333, 25061, 25793, 26524, 27254, 27985, 28714, 29444, 30175, 30907, 31636, 32366, 33097, 33826, 34558, 35288, 36020, 36750, 37478, 38211, 38940] + hit1 = 0 + data2 = [0, 14697, 18107, 21516, 24925, 28333, 31745, 35150, 38560, 41968, 45378, 48787, 52195, 55602, 59011, 62422, 65828, 69241, 72644, 76054, 79464, 82871, 86278, 89691, 93097, 96507, 99916, 103324, 106734, 110142, 113551, 116956, 120369, 123776, 127185, 130594, 134001, 137412, 140819, 144226, 147638, 151048, 154454, 157861, 161271, 164678, 168087, 171497, 174906, 178318, 181724] + hit2 = 0 + data3 = [0, 41080, 50608, 60136, 69661, 79186, 88715, 98245, 107766, 117295, 126820, 136350, 145870, 155400, 164927, 174456, 183980, 193503, 203032, 212557, 222083, 231614, 241140, 250662, 260190, 269720, 279243, 288773, 298298, 307822, 317352, 326878, 336403, 345931, 355456, 364982, 374510, 384038, 393562, 403091, 412617, 422142, 431671, 441197, 450722, 460248, 469776, 479305, 488829, 498356, 507881] + hit3 = 0 + CD = 145.0 + + MP = [900, 7560] + 无色消耗 = 5 + + 形态 = ["空中", "地面"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "空中": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "地面": + self.hit0 = 0 + self.hit1 = 7 + self.hit2 = 1 + self.hit3 = 1 + + def 等效百分比(self, **argv): + if self.等级 >= 6: + self.power0 = 1.05 + self.power3 = 1.1 + return super().等效百分比(**argv) + + +class 技能15(主动技能): + 名称 = '彗星冲击' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 21257, 23414, 25570, 27728, 29886, 32040, 34199, 36355, 38512, 40669, 42826, 44981, 47139, 49297, 51451, 53609, 55765, 57923, 60078, 62236, 64391, 66550, 68704, 70862, 73018, 75173, 77332, 79490, 81645, 83800, 85959, 88115, 90272, 92427, 94585, 96741, 98899, 101053, 103212, 105370, 107524, 109683, 111839, 113994, 116151, 118310, 120464, 122621, 124777, 126935] + hit0 = 1 + CD = 25.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [280, 784] + 无色消耗 = 1 + + def 装备护石(self, char): + self.CDR *= 0.88 + self.倍率 *= 1.09 + + +class 技能16(主动技能): + 名称 = '武莲华' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 8163, 8988, 9820, 10645, 11473, 12305, 13130, 13960, 14789, 15619, 16442, 17273, 18099, 18928, 19759, 20584, 21410, 22239, 23069, 23899, 24728, 25556, 26384, 27213, 28039, 28866, 29693, 30521, 31351, 32183, 33012, 33837, 34666, 35491, 36320, 37153, 37977, 38804, 39633, 40461, 41291, 42118, 42946, 43776, 44602, 45432, 46261, 47088, 47916, 48743] + hit0 = 2 + data1 = [0, 2039, 2235, 2446, 2654, 2860, 3068, 3277, 3477, 3687, 3891, 4099, 4308, 4509, 4717, 4926, 5131, 5333, 5543, 5747, 5955, 6162, 6366, 6573, 6783, 6989, 7192, 7398, 7605, 7813, 8016, 8225, 8431, 8636, 8846, 9053, 9253, 9462, 9672, 9876, 10083, 10296, 10495, 10698, 10911, 11114, 11320, 11528, 11734, 11943, 12148] + hit1 = 12 + data2 = [0, 12238, 13482, 14724, 15969, 17209, 18451, 19691, 20935, 22178, 23416, 24657, 25900, 27141, 28384, 29625, 30871, 32113, 33353, 34597, 35839, 37085, 38324, 39567, 40806, 42049, 43292, 44534, 45774, 47016, 48258, 49500, 50739, 51987, 53227, 54470, 55709, 56951, 58193, 59433, 60676, 61919, 63158, 64401, 65644, 66884, 68129, 69366, 70611, 71853, 73093] + hit2 = 1 + CD = 45.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [756, 1587] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 4 + self.power0 *= 1.5 + self.hit1 = 0 + self.倍率 *= 1.07 + self.CDR *= 0.9 + + +class 技能17(主动技能): + 名称 = '黑震旋风' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 11221, 12359, 13499, 14638, 15774, 16914, 18051, 19192, 20330, 21466, 22606, 23743, 24884, 26022, 27159, 28298, 29437, 30576, 31713, 32852, 33992, 35130, 36268, 37405, 38544, 39684, 40822, 41960, 43098, 44236, 45377, 46515, 47655, 48790, 49928, 51069, 52207, 53347, 54482, 55621, 56761, 57899, 59038, 60175, 61315, 62453, 63590, 64730, 65868, 67007] + hit0 = 1 + data1 = [0, 4356, 4797, 5242, 5681, 6124, 6566, 7009, 7449, 7892, 8335, 8775, 9219, 9660, 10103, 10543, 10986, 11429, 11869, 12312, 12753, 13198, 13637, 14081, 14521, 14964, 15406, 15848, 16290, 16732, 17173, 17616, 18059, 18500, 18942, 19384, 19826, 20268, 20709, 21154, 21593, 22037, 22478, 22918, 23362, 23805, 24246, 24687, 25129, 25571, 26013] + hit1 = 5 + data2 = [0, 29411, 32393, 35378, 38361, 41345, 44328, 47313, 50295, 53282, 56264, 59249, 62232, 65217, 68199, 71183, 74168, 77155, 80135, 83120, 86105, 89086, 92073, 95057, 98040, 101024, 104008, 106991, 109976, 112960, 115942, 118927, 121910, 124893, 127878, 130862, 133844, 136830, 139814, 142796, 145781, 148765, 151750, 154732, 157717, 160702, 163685, 166669, 169653, 172636, 175620] + hit2 = 1 + CD = 40.0 + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能18(被动技能): + 名称 = '傲天之怒' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = '疾风闪电' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 39990, 44048, 48110, 52165, 56218, 60278, 64332, 68390, 72450, 76505, 80564, 84620, 88675, 92737, 96793, 100852, 104906, 108963, 113020, 117076, 121135, 125194, 129249, 133309, 137365, 141424, 145477, 149537, 153596, 157648, 161706, 165767, 169820, 173878, 177938, 181994, 186048, 190105, 194168, 198223, 202280, 206338, 210394, 214452, 218508, 222565, 226623, 230681, 234737, 238796] + hit0 = 1 + data1 = [0, 31590, 34792, 37994, 41200, 44404, 47611, 50811, 54017, 57220, 60426, 63632, 66834, 70041, 73247, 76454, 79652, 82864, 86065, 89269, 92472, 95679, 98877, 102086, 105289, 108497, 111697, 114905, 118110, 121314, 124516, 127723, 130928, 134130, 137337, 140543, 143748, 146952, 150156, 153359, 156565, 159768, 162974, 166178, 169382, 172587, 175791, 178996, 182201, 185406, 188610] + hit1 = 1 + data2 = [0, 20992, 23125, 25257, 27386, 29517, 31645, 33774, 35905, 38040, 40161, 42293, 44425, 46555, 48686, 50816, 52950, 55074, 57204, 59340, 61469, 63600, 65730, 67859, 69984, 72116, 74248, 76378, 78508, 80640, 82766, 84897, 87028, 89159, 91288, 93416, 95544, 97678, 99808, 101940, 104069, 106198, 108328, 110459, 112588, 114719, 116850, 118978, 121109, 123238, 125369] + hit2 = 0 + data3 = [0, 13996, 15416, 16838, 18259, 19679, 21098, 22520, 23937, 25356, 26775, 28197, 29621, 31034, 32457, 33873, 35297, 36719, 38137, 39555, 40976, 42396, 43818, 45236, 46659, 48078, 49500, 50921, 52338, 53759, 55177, 56599, 58015, 59436, 60859, 62279, 63700, 65116, 66537, 67958, 69378, 70797, 72217, 73637, 75060, 76478, 77899, 79318, 80739, 82159, 83578] + hit3 = 0 + data4 = [0, 34998, 38547, 42096, 45644, 49193, 52748, 56291, 59841, 63393, 66940, 70491, 74044, 77597, 81143, 84694, 88244, 91792, 95342, 98893, 102441, 105990, 109546, 113095, 116644, 120194, 123746, 127293, 130842, 134394, 137943, 141493, 145040, 148592, 152145, 155696, 159247, 162797, 166345, 169899, 173447, 176996, 180545, 184095, 187644, 191195, 194746, 198295, 201844, 205395, 208945] + hit4 = 0 + CD = 45.0 + 是否有护石 = 1 + + MP = [800, 6000] + 无色消耗 = 5 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + if 形态 == "抓取": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能20(主动技能): + 名称 = '一字传承:极义震天破' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 44917, 55334, 65745, 76166, 86576, 96996, 107411, 117828, 128243, 138659, 149075, 159489, 169905, 180321, 190737, 201151, 211566, 221984, 232398, 242815, 253233, 263645, 274062, 284478, 294892, 305309, 315726, 326139, 336557, 346972, 357387, 367801, 378220, 388632, 399050, 409469, 419881, 430300, 440712, 451128, 461545, 471961, 482375, 492790, 503208, 513621, 524038, 534455, 544870, 555286] + hit0 = 1 + data1 = [0, 3454, 4253, 5056, 5855, 6659, 7460, 8261, 9065, 9862, 10668, 11467, 12268, 13069, 13870, 14674, 15471, 16273, 17074, 17877, 18680, 19478, 20280, 21080, 21881, 22683, 23485, 24284, 25086, 25890, 26687, 27493, 28292, 29096, 29895, 30696, 31501, 32297, 33100, 33900, 34703, 35504, 36304, 37106, 37907, 38708, 39509, 40311, 41112, 41914, 42715] + hit1 = 13 + data2 = [0, 83162, 102447, 121734, 141018, 160303, 179584, 198871, 218150, 237435, 256722, 276005, 295288, 314573, 333862, 353143, 372430, 391717, 411000, 430284, 449564, 468852, 488137, 507421, 526709, 545990, 565275, 584556, 603844, 623128, 642411, 661699, 680980, 700263, 719548, 738836, 758120, 777401, 796686, 815967, 835255, 854538, 873825, 893110, 912394, 931679, 950961, 970247, 989531, 1008816, 1028100] + hit2 = 1 + CD = 185.0 + + MP = [2500, 5000] + 无色消耗 = 10 + + +class 技能21(主动技能): + 名称 = '黑震流·殒灭' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 6742, 7425, 8109, 8792, 9478, 10163, 10845, 11529, 12214, 12899, 13582, 14265, 14951, 15634, 16318, 17000, 17687, 18370, 19053, 19736, 20422, 21107, 21790, 22474, 23158, 23842, 24526, 25210, 25895, 26579, 27262, 27948, 28628, 29315, 29996, 30681, 31364, 32050, 32733, 33415, 34101, 34786, 35470, 36153, 36838, 37522, 38204, 38890, 39574, 40258] + hit0 = 1 + data1 = [0, 10676, 11756, 12841, 13924, 15006, 16088, 17173, 18254, 19339, 20422, 21505, 22587, 23671, 24753, 25837, 26920, 28004, 29085, 30170, 31252, 32334, 33415, 34503, 35583, 36666, 37749, 38833, 39915, 40998, 42083, 43165, 44246, 45331, 46413, 47497, 48580, 49663, 50746, 51830, 52912, 53995, 55076, 56160, 57244, 58326, 59410, 60492, 61576, 62659, 63742] + hit1 = 10 + data2 = [0, 21351, 23512, 25683, 27846, 30012, 32176, 34348, 36510, 38676, 40842, 43011, 45175, 47342, 49507, 51675, 53841, 56008, 58170, 60338, 62504, 64671, 66832, 69004, 71167, 73332, 75497, 77667, 79830, 81996, 84163, 86330, 88494, 90662, 92829, 94994, 97160, 99327, 101493, 103660, 105823, 107990, 110153, 112319, 114488, 116654, 118820, 120986, 123152, 125318, 127483] + hit2 = 1 + CD = 60.0 + + MP = [960, 7200] + 无色消耗 = 7 + + 形态 = ["空中", "突进"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "空中": + self.hit0 = 1 + self.hit1 = 10 + self.hit2 = 1 + if 形态 == "突进": + self.hit0 = 1 + self.hit1 = 12 + self.hit2 = 0 + + +class 技能22(被动技能): + 名称 = '神怡气静' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = '黑震流·山岳崩颓' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 23456, 28894, 34332, 39774, 45211, 50652, 56092, 61530, 66969, 72408, 77848, 83287, 88726, 94165, 99604, 105045, 110485, 115924, 121363, 126802, 132241, 137680, 143119, 148557, 153997, 159435, 164876, 170314, 175755, 181193, 186634, 192074, 197512, 202952, 208390, 213830, 219267, 224709, 230146, 235588, 241025, 246465, 251904, 257343, 262782, 268221, 273660, 279099, 284540, 289980] + hit0 = 1 + data1 = [0, 46914, 57791, 68669, 79548, 90426, 101305, 112183, 123060, 133938, 144819, 155699, 166577, 177455, 188333, 199212, 210090, 220967, 231846, 242723, 253602, 264482, 275360, 286238, 297118, 307996, 318875, 329753, 340632, 351511, 362388, 373269, 384146, 395023, 405901, 416779, 427658, 438538, 449416, 460294, 471173, 482052, 492931, 503809, 514687, 525564, 536444, 547324, 558202, 569079, 579957] + hit1 = 1 + data2 = [0, 70369, 86686, 103003, 119323, 135639, 151958, 168277, 184593, 200910, 217227, 233549, 249864, 266181, 282499, 298817, 315135, 331454, 347772, 364089, 380404, 396723, 413042, 429358, 445677, 461995, 478312, 494630, 510947, 527264, 543581, 559901, 576220, 592536, 608854, 625170, 641489, 657807, 674126, 690444, 706760, 723080, 739396, 755713, 772032, 788348, 804667, 820983, 837302, 853621, 869936] + hit2 = 2 + data3 = [0, 93825, 115583, 137339, 159096, 180855, 202612, 224366, 246125, 267881, 289639, 311396, 333153, 354911, 376666, 398422, 420181, 441938, 463693, 485451, 507208, 528967, 550724, 572478, 594235, 615992, 637750, 659509, 681265, 703019, 724777, 746535, 768292, 790049, 811804, 833562, 855321, 877076, 898833, 920591, 942346, 964104, 985861, 1007616, 1029376, 1051132, 1072888, 1094645, 1116403, 1138160, 1159916] + hit3 = 1 + data4 = [0, 164194, 202271, 240347, 278418, 316495, 354570, 392643, 430719, 468794, 506867, 544944, 583017, 621092, 659166, 697240, 735314, 773391, 811466, 849539, 887615, 925690, 963764, 1001837, 1039912, 1077989, 1116062, 1154136, 1192213, 1230288, 1268361, 1306438, 1344511, 1382584, 1420660, 1458735, 1496809, 1534883, 1572959, 1611032, 1649108, 1687183, 1725256, 1763332, 1801406, 1839480, 1877556, 1915632, 1953705, 1991780, 2029855] + hit4 = 1 + CD = 290 + + MP = [4025, 8055] + 无色消耗 = 15 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 2 + self.hit3 = 1 + self.hit4 = 1 + if 形态 == "抓取": + self.hit0 = 2 + self.hit1 = 2 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'grappler_male' + self.名称 = '归元·柔道家' + self.角色 = '格斗家(男)' + self.角色类型 = '输出' + self.职业 = '柔道家' + # 用来筛CP武器的 + self.转职 = '柔道家(男)' + self.武器选项 = ['臂铠', '手套', '东方棍', '爪'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '臂铠' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.08 + + super().__init__(equVersion) diff --git a/api/core/characters/hitman.py b/api/core/characters/hitman.py new file mode 100644 index 00000000..ac9b4b41 --- /dev/null +++ b/api/core/characters/hitman.py @@ -0,0 +1,557 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '长刀精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.95 + + +class 技能1(主动技能): + 名称 = "掩护射击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [21, 220] + 无色消耗 = 0 + data0 = [0, 409, 449, 491, 531, 572, 614, 654, 696, 736, 778, 817, 860, 901, 941, 983, 1025, 1065, 1107, 1148, 1190, 1230, 1270, 1312, 1352, 1394, 1434, 1477, 1518, 1558, 1599, 1642, 1681, 1722, 1766, 1805, 1846, 1888, 1929, 1969, 2011, 2052, 2092, 2134, 2174, 2217, 2257, 2297, 2341, 2380, 2421, 2462, 2506, 2544, 2587, 2628, 2669, 2709, 2750, 2793, 2832, 2874, 2915, 2956, 2995, 3038, 3079, 3119, 3161, 3203, 3242] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "捷影步" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [21, 220] + 无色消耗 = 0 + data0 = [0, 723, 796, 870, 944, 1017, 1090, 1163, 1233, 1309, 1381, 1453, 1525, 1602, 1675, 1746, 1820, 1892, 1967, 2039, 2113, 2185, 2257, 2333, 2405, 2478, 2550, 2626, 2698, 2772, 2843, 2916, 2990, 3063, 3134, 3208, 3284, 3355, 3428, 3501, 3573, 3646, 3721, 3794, 3867, 3941, 4015, 4088, 4159, 4234, 4307, 4381, 4452, 4526, 4599, 4671, 4747, 4819, 4892, 4965, 5039, 5110, 5182, 5255, 5330, 5404, 5476, 5549, 5622, 5696, 5769] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "轮盘连射" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [33, 346] + 无色消耗 = 0 + data0 = [0, 2322, 2558, 2793, 3030, 3264, 3502, 3737, 3973, 4206, 4442, 4678, 4914, 5148, 5385, 5621, 5856, 6091, 6329, 6564, 6799, 7036, 7271, 7503, 7740, 7974, 8209, 8446, 8683, 8915, 9151, 9389, 9626, 9859, 10095, 10331, 10566, 10800, 11037, 11271, 11507, 11744, 11976, 12214, 12450, 12687, 12920, 13156, 13394, 13628, 13861, 14098, 14332, 14569, 14804, 15041, 15276, 15512, 15748, 15983, 16220, 16456, 16691, 16922, 17158, 17393, 17628, 17865, 18101, 18335, 18572] + hit0 = 1 + data1 = [0, 2954, 3258, 3556, 3856, 4155, 4456, 4754, 5055, 5355, 5655, 5954, 6252, 6552, 6852, 7151, 7452, 7752, 8051, 8349, 8652, 8949, 9249, 9549, 9851, 10149, 10448, 10749, 11048, 11348, 11648, 11949, 12248, 12547, 12848, 13148, 13446, 13743, 14046, 14345, 14645, 14945, 15243, 15542, 15843, 16144, 16443, 16742, 17042, 17342, 17642, 17940, 18241, 18541, 18841, 19139, 19441, 19741, 20037, 20338, 20638, 20937, 21239, 21537, 21836, 22137, 22438, 22740, 23037, 23335, 23636] + hit1 = 0 + data2 = [0, 350, 385, 420, 455, 493, 528, 564, 597, 633, 667, 703, 738, 776, 808, 846, 879, 916, 952, 988, 1021, 1055, 1092, 1127, 1165, 1197, 1234, 1267, 1304, 1336, 1374, 1412, 1447, 1482, 1515, 1551, 1586, 1623, 1658, 1693, 1728, 1762, 1797, 1834, 1871, 1903, 1941, 1975, 2010, 2047, 2082, 2117, 2151, 2187, 2221, 2257, 2294, 2330, 2363, 2399, 2433, 2470, 2505, 2540, 2575, 2612, 2644, 2682, 2716, 2754, 2789] + hit2 = 3 + TP成长 = 0.1 + TP上限 = 7 + + # 三觉被动变更 + power2 = 3.72 + + +class 技能4(主动技能): + 名称 = "剑刃突刺" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [33, 346] + 无色消耗 = 0 + data0 = [0, 509, 561, 610, 661, 712, 765, 815, 866, 917, 968, 1019, 1074, 1126, 1175, 1226, 1278, 1328, 1381, 1432, 1481, 1532, 1584, 1635, 1686, 1739, 1789, 1841, 1893, 1941, 1994, 2047, 2098, 2149, 2199, 2251, 2302, 2355, 2405, 2455, 2506, 2558, 2608, 2661, 2714, 2761, 2814, 2866, 2920, 2970, 3020, 3072, 3123, 3173, 3225, 3275, 3327, 3378, 3428, 3480, 3535, 3581, 3635, 3687, 3739, 3787, 3839, 3892, 3943, 3995, 4044] + hit0 = 4 + data1 = [0, 1530, 1682, 1839, 1994, 2149, 2305, 2458, 2611, 2769, 2923, 3077, 3232, 3389, 3541, 3698, 3852, 4006, 4162, 4317, 4469, 4626, 4783, 4935, 5092, 5244, 5401, 5555, 5710, 5864, 6020, 6175, 6330, 6484, 6638, 6793, 6950, 7104, 7258, 7415, 7569, 7723, 7878, 8033, 8186, 8344, 8497, 8652, 8808, 8963, 9114, 9272, 9426, 9582, 9737, 9891, 10044, 10202, 10354, 10508, 10666, 10819, 10976, 11131, 11284, 11439, 11597, 11748, 11905, 12058, 12214] + hit1 = 1 + data2 = [0, 493, 544, 593, 643, 693, 743, 791, 842, 892, 940, 992, 1043, 1092, 1142, 1191, 1240, 1290, 1340, 1390, 1440, 1490, 1541, 1590, 1639, 1689, 1739, 1789, 1839, 1888, 1938, 1986, 2035, 2087, 2138, 2185, 2238, 2289, 2334, 2385, 2437, 2484, 2536, 2587, 2634, 2684, 2733, 2782, 2833, 2883, 2933, 2985, 3035, 3081, 3132, 3182, 3232, 3282, 3332, 3381, 3430, 3480, 3530, 3579, 3631, 3681, 3729, 3780, 3830, 3878, 3929] + hit2 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "潜行射击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [61, 255] + 无色消耗 = 0 + data0 = [0, 377, 415, 452, 492, 528, 568, 604, 642, 681, 719, 757, 796, 831, 871, 909, 947, 985, 1022, 1060, 1100, 1136, 1176, 1212, 1250, 1288, 1328, 1365, 1403, 1438, 1479, 1517, 1555, 1591, 1631, 1667, 1708, 1745, 1782, 1819, 1857, 1895, 1935, 1971, 2010, 2047, 2086, 2123, 2162, 2199, 2238, 2275, 2314, 2350, 2390, 2427, 2466, 2503, 2541, 2580, 2618, 2655, 2693, 2730, 2769, 2807, 2846, 2884, 2921, 2958, 2999] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "利刃旋斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [33, 346] + 无色消耗 = 0 + data0 = [0, 787, 865, 948, 1027, 1107, 1184, 1266, 1346, 1424, 1504, 1584, 1665, 1745, 1821, 1902, 1980, 2062, 2141, 2221, 2298, 2380, 2460, 2538, 2618, 2699, 2780, 2859, 2937, 3018, 3098, 3178, 3255, 3336, 3413, 3495, 3575, 3654, 3733, 3814, 3894, 3973, 4051, 4132, 4212, 4292, 4370, 4448, 4527, 4608, 4690, 4768, 4848, 4928, 5009, 5085, 5166, 5246, 5327, 5406, 5485, 5564, 5645, 5724, 5805, 5882, 5962, 6042, 6123, 6199, 6280] + hit0 = 2 + data1 = [0, 442, 487, 530, 577, 622, 665, 712, 755, 798, 844, 888, 933, 978, 1022, 1069, 1110, 1154, 1200, 1246, 1290, 1333, 1379, 1424, 1467, 1511, 1556, 1601, 1646, 1691, 1737, 1781, 1824, 1869, 1913, 1959, 2003, 2046, 2093, 2137, 2183, 2224, 2270, 2315, 2360, 2407, 2448, 2494, 2538, 2583, 2625, 2671, 2715, 2762, 2806, 2850, 2895, 2938, 2985, 3027, 3072, 3119, 3162, 3207, 3252, 3297, 3340, 3384, 3429, 3475, 3520] + hit1 = 5 + data2 = [0, 2514, 2768, 3024, 3279, 3533, 3787, 4045, 4298, 4553, 4810, 5064, 5316, 5571, 5827, 6080, 6333, 6591, 6845, 7099, 7356, 7610, 7864, 8118, 8374, 8629, 8882, 9139, 9393, 9647, 9902, 10158, 10411, 10667, 10922, 11176, 11432, 11689, 11941, 12196, 12451, 12707, 12961, 13215, 13469, 13722, 13977, 14234, 14488, 14742, 14998, 15253, 15508, 15762, 16016, 16272, 16528, 16782, 17038, 17291, 17547, 17800, 18055, 18311, 18563, 18819, 19076, 19330, 19585, 19838, 20094] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '暗刃战略' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10 + 0.02 * self.等级, 5) + + +class 技能8(主动技能): + 名称 = "游弹枪袭" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [62, 651] + 无色消耗 = 0 + data0 = [0, 279, 305, 333, 360, 388, 415, 445, 472, 501, 529, 556, 584, 611, 639, 666, 695, 724, 751, 779, 807, 835, 862, 890, 918, 947, 974, 1001, 1027, 1057, 1084, 1112, 1142, 1168, 1198, 1224, 1251, 1280, 1308, 1334, 1364, 1392, 1419, 1449, 1474, 1502, 1529, 1558, 1586, 1614, 1642, 1669, 1697, 1724, 1752, 1780, 1811, 1836, 1864, 1892, 1919, 1947, 1974, 2002, 2031, 2061, 2088, 2115, 2143, 2171, 2197] + hit0 = 30 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "全方位射击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [131, 1100] + 无色消耗 = 1 + data0 = [0, 549, 608, 662, 716, 774, 828, 883, 938, 994, 1050, 1105, 1161, 1216, 1271, 1331, 1384, 1441, 1496, 1551, 1608, 1661, 1719, 1774, 1829, 1885, 1942, 1995, 2051, 2108, 2162, 2220, 2273, 2330, 2382, 2444, 2498, 2549, 2610, 2663, 2717, 2777, 2830, 2885, 2941, 2997, 3050, 3107, 3164, 3219, 3275, 3331, 3386, 3441, 3497, 3552, 3609, 3662, 3721, 3774, 3833, 3889, 3942, 4000, 4053, 4112, 4164, 4220, 4276, 4334, 4385] + hit0 = 15 + data1 = [0, 916, 1009, 1101, 1192, 1285, 1378, 1470, 1564, 1656, 1750, 1845, 1938, 2028, 2119, 2212, 2308, 2398, 2492, 2581, 2675, 2766, 2860, 2955, 3047, 3141, 3233, 3324, 3419, 3512, 3602, 3695, 3787, 3880, 3974, 4066, 4158, 4252, 4344, 4438, 4534, 4625, 4717, 4806, 4901, 4994, 5086, 5180, 5271, 5364, 5453, 5550, 5641, 5736, 5828, 5921, 6012, 6107, 6201, 6289, 6383, 6474, 6567, 6663, 6755, 6847, 6939, 7032, 7127, 7218, 7311] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 技能施放时间 = 1 + + def 装备护石(self, char): + self.hit0 = 20 + self.hit1 = 0 + self.power0 = 1.4732 + self.CDR *= 0.95 + + +class 技能10(主动技能): + 名称 = "回旋飞剑" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [62, 651] + 无色消耗 = 1 + data0 = [0, 953, 1050, 1146, 1243, 1341, 1437, 1534, 1627, 1726, 1822, 1919, 2014, 2112, 2206, 2305, 2401, 2496, 2590, 2688, 2788, 2881, 2980, 3077, 3174, 3270, 3368, 3458, 3558, 3652, 3750, 3844, 3942, 4042, 4136, 4235, 4328, 4424, 4523, 4620, 4715, 4813, 4906, 5006, 5100, 5196, 5291, 5390, 5488, 5582, 5680, 5778, 5874, 5972, 6067, 6162, 6258, 6354, 6451, 6546, 6645, 6742, 6838, 6933, 7028, 7125, 7224, 7319, 7416, 7515, 7609] + hit0 = 1 + data1 = [0, 769, 847, 920, 999, 1078, 1157, 1231, 1311, 1387, 1466, 1543, 1622, 1699, 1777, 1852, 1933, 2010, 2085, 2163, 2243, 2319, 2397, 2474, 2550, 2631, 2708, 2780, 2864, 2941, 3015, 3093, 3174, 3249, 3326, 3405, 3483, 3561, 3635, 3714, 3792, 3870, 3944, 4026, 4101, 4179, 4256, 4337, 4412, 4489, 4569, 4647, 4724, 4801, 4876, 4955, 5034, 5110, 5187, 5266, 5342, 5423, 5500, 5578, 5653, 5733, 5806, 5889, 5966, 6041, 6118] + hit1 = 8 + data2 = [0, 2045, 2253, 2461, 2668, 2875, 3084, 3292, 3497, 3710, 3912, 4121, 4327, 4536, 4741, 4950, 5156, 5365, 5570, 5779, 5985, 6193, 6399, 6608, 6814, 7023, 7230, 7437, 7641, 7853, 8061, 8268, 8471, 8684, 8888, 9096, 9304, 9509, 9714, 9927, 10135, 10338, 10544, 10756, 10961, 11166, 11375, 11583, 11790, 11998, 12206, 12412, 12620, 12828, 13035, 13240, 13448, 13656, 13863, 14070, 14279, 14487, 14694, 14903, 15108, 15315, 15524, 15732, 15936, 16143, 16352] + hit2 = 5 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能11(主动技能): + 名称 = "枪刃乱舞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [174, 1461] + 无色消耗 = 1 + data0 = [0, 658, 720, 794, 856, 923, 991, 1055, 1120, 1187, 1256, 1324, 1385, 1457, 1524, 1589, 1653, 1720, 1786, 1851, 1921, 1985, 2051, 2119, 2186, 2254, 2318, 2385, 2452, 2515, 2587, 2649, 2715, 2782, 2848, 2915, 2981, 3048, 3117, 3183, 3248, 3316, 3382, 3444, 3513, 3580, 3648, 3710, 3777, 3846, 3911, 3979, 4047, 4113, 4177, 4244, 4312, 4379, 4441, 4507, 4576, 4639, 4708, 4776, 4841, 4909, 4977, 5040, 5107, 5172, 5240] + hit0 = 10 + data1 = [0, 454, 501, 547, 589, 639, 686, 729, 777, 822, 869, 914, 961, 1005, 1053, 1097, 1143, 1187, 1237, 1281, 1326, 1373, 1421, 1464, 1511, 1554, 1604, 1645, 1694, 1742, 1786, 1830, 1879, 1925, 1968, 2017, 2063, 2103, 2154, 2196, 2243, 2288, 2337, 2384, 2428, 2474, 2517, 2568, 2610, 2659, 2701, 2745, 2796, 2841, 2886, 2932, 2979, 3023, 3071, 3117, 3159, 3210, 3254, 3300, 3343, 3392, 3438, 3484, 3533, 3572, 3623] + hit1 = 15 + data2 = [0, 8545, 9413, 10282, 11148, 12015, 12883, 13751, 14615, 15480, 16348, 17215, 18082, 18949, 19817, 20680, 21552, 22418, 23287, 24154, 25019, 25884, 26752, 27621, 28488, 29353, 30223, 31088, 31954, 32821, 33687, 34556, 35421, 36288, 37154, 38021, 38887, 39752, 40624, 41489, 42358, 43222, 44089, 44954, 45824, 46690, 47556, 48423, 49295, 50159, 51027, 51892, 52760, 53627, 54496, 55361, 56226, 57096, 57960, 58829, 59696, 60562, 61428, 62297, 63162, 64031, 64894, 65765, 66633, 67496, 68363] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.07 + self.power1 = 1.07 + self.power2 = 1.50 + self.CDR *= 0.80 + + +class 技能12(主动技能): + 名称 = "血光斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [305, 2562] + 无色消耗 = 2 + data0 = [0, 32673, 35989, 39301, 42615, 45931, 49244, 52558, 55872, 59185, 62503, 65816, 69131, 72444, 75759, 79074, 82386, 85704, 89017, 92332, 95646, 98959, 102275, 105589, 108903, 112217, 115531, 118846, 122160, 125474, 128789, 132103, 135416, 138732, 142045, 145360, 148674, 151988, 155304, 158617, 161932, 165248, 168560, 171876, 175189, 178505, 181820, 185132, 188447, 191759, 195077, 198392, 201706, 205020, 208332, 211648, 214962, 218276, 221590, 224903, 228217, 231534, 234848, 238163, 241477, 244790, 248104, 251419, 254732, 258049, 261361] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能13(被动技能): + 名称 = 'BG枪刃改造' + 所在等级 = 48 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "电光飞掠" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1018, 8551] + 无色消耗 = 5 + data0 = [0, 2807, 3458, 4106, 4756, 5408, 6058, 6710, 7361, 8011, 8660, 9308, 9960, 10610, 11260, 11913, 12562, 13212, 13862, 14513, 15163, 15814, 16465, 17114, 17761, 18413, 19063, 19714, 20364, 21014, 21666, 22314, 22965, 23617, 24265, 24916, 25567, 26216, 26867, 27517, 28166, 28818, 29467, 30120, 30770, 31418, 32069, 32719, 33369, 34020, 34672] + hit0 = 13 + data1 = [0, 3422, 4212, 5007, 5799, 6591, 7383, 8176, 8966, 9760, 10557, 11348, 12139, 12932, 13723, 14516, 15308, 16102, 16894, 17687, 18478, 19272, 20065, 20857, 21648, 22441, 23236, 24027, 24820, 25610, 26403, 27196, 27991, 28781, 29575, 30368, 31160, 31951, 32745, 33537, 34330, 35122, 35915, 36707, 37501, 38291, 39085, 39878, 40669, 41461, 42255] + hit1 = 16 + + +class 技能15(主动技能): + 名称 = "近敌灭杀" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [340, 952] + 无色消耗 = 2 + data0 = [0, 12132, 13364, 14595, 15825, 17056, 18286, 19517, 20747, 21979, 23210, 24439, 25668, 26900, 28130, 29362, 30592, 31824, 33053, 34285, 35514, 36745, 37976, 39208, 40439, 41666, 42897, 44129, 45360, 46588, 47821, 49053, 50282, 51511, 52743, 53973, 55205, 56435, 57663, 58894, 60126, 61357, 62588, 63818, 65050, 66279, 67510, 68742, 69972, 71203, 72433] + hit0 = 1 + data1 = [0, 912, 1006, 1096, 1189, 1282, 1374, 1465, 1559, 1651, 1742, 1834, 1930, 2022, 2113, 2206, 2298, 2390, 2480, 2575, 2666, 2760, 2851, 2943, 3034, 3128, 3220, 3312, 3404, 3496, 3589, 3683, 3775, 3866, 3960, 4051, 4144, 4235, 4329, 4420, 4512, 4605, 4696, 4789, 4882, 4972, 5065, 5157, 5251, 5341, 5434] + hit1 = 20 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.553 + self.CDR *= 0.85 + + +class 技能16(主动技能): + 名称 = "大回旋坠斩" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [699, 1467] + 无色消耗 = 2 + data0 = [0, 1843, 2025, 2211, 2401, 2588, 2773, 2961, 3148, 3332, 3521, 3706, 3892, 4078, 4265, 4450, 4639, 4824, 5013, 5197, 5386, 5570, 5754, 5941, 6132, 6315, 6502, 6689, 6880, 7063, 7250, 7433, 7620, 7810, 7994, 8182, 8367, 8556, 8741, 8926, 9114, 9298, 9488, 9672, 9858, 10046, 10230, 10420, 10608, 10792, 10980] + hit0 = 10 + data1 = [0, 1926, 2121, 2315, 2512, 2705, 2899, 3095, 3289, 3482, 3679, 3874, 4068, 4263, 4458, 4649, 4848, 5042, 5237, 5430, 5623, 5820, 6018, 6211, 6405, 6601, 6799, 6989, 7185, 7381, 7576, 7767, 7965, 8160, 8355, 8549, 8743, 8939, 9131, 9328, 9524, 9716, 9911, 10109, 10304, 10498, 10693, 10887, 11082, 11279, 11473] + hit1 = 10 + data2 = [0, 15925, 17538, 19154, 20768, 22380, 23999, 25612, 27228, 28844, 30457, 32072, 33688, 35301, 36920, 38535, 40148, 41764, 43380, 44992, 46610, 48222, 49841, 51454, 53067, 54683, 56297, 57912, 59529, 61143, 62760, 64374, 65990, 67604, 69220, 70833, 72450, 74063, 75677, 77294, 78909, 80522, 82138, 83753, 85369, 86984, 88599, 90216, 91831, 93444, 95059] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + # 暂时只录入了地面形态的护石数据 + # 空中形态段数001,power2 *= 3.9483 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "空中": + if '大回旋坠斩' in char.护石栏: + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.power2 = 3.21 + else: + 形态 = "地面" + if 形态 == "地面": + self.hit0 = 10 + self.hit1 = 10 + self.hit2 = 1 + if '大回旋坠斩' in char.护石栏: + self.hit0 += 1 + self.hit1 += 1 + self.power2 = 1 + + def 装备护石(self, char): + self.hit0 += 1 + self.hit1 += 1 + self.倍率 *= 1.23 + + +class 技能17(主动技能): + 名称 = "致命焰火" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [579, 4487] + 无色消耗 = 3 + data0 = [0, 3473, 3825, 4176, 4529, 4883, 5234, 5588, 5938, 6289, 6641, 6994, 7347, 7698, 8048, 8400, 8757, 9105, 9459, 9809, 10161, 10516, 10866, 11217, 11570, 11924, 12275, 12629, 12980, 13332, 13687, 14038, 14387, 14739, 15093, 15445, 15796, 16146, 16499, 16853, 17204, 17557, 17910, 18261, 18615, 18964, 19318, 19670, 20019, 20374, 20727] + hit0 = 10 + data1 = [0, 3477, 3830, 4181, 4535, 4885, 5241, 5594, 5943, 6298, 6650, 6999, 7356, 7707, 8054, 8414, 8763, 9113, 9470, 9819, 10171, 10525, 10877, 11230, 11582, 11934, 12287, 12641, 12993, 13346, 13699, 14048, 14405, 14753, 15106, 15463, 15812, 16163, 16520, 16870, 17221, 17574, 17928, 18279, 18631, 18985, 19337, 19688, 20042, 20397, 20745] + hit1 = 15 + data2 = [0, 5209, 5734, 6268, 6791, 7321, 7851, 8379, 8904, 9435, 9963, 10488, 11018, 11545, 12074, 12602, 13132, 13661, 14184, 14717, 15242, 15771, 16300, 16828, 17355, 17884, 18413, 18942, 19471, 19997, 20521, 21054, 21581, 22109, 22638, 23163, 23693, 24219, 24751, 25278, 25803, 26335, 26860, 27391, 27917, 28446, 28973, 29503, 30030, 30560, 31088] + hit2 = 0 + + 是否有护石 = 1 + + 形态 = ["原地", "向后"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "原地": + self.hit0 = 10 + self.hit1 = 15 + self.hit2 = 0 + if 形态 == "向后": + self.hit0 = 10 + self.hit1 = 0 + self.hit2 = 10 + + def 装备护石(self, char): + self.倍率 *= 1.3 + self.CDR *= 0.90 + + +class 技能18(被动技能): + 名称 = 'BC精锐特训' + 所在等级 = 75 + + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = "碧波瞬斩" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [1240, 4072] + 无色消耗 = 5 + data0 = [0, 32122, 35380, 38638, 41897, 45156, 48413, 51672, 54932, 58191, 61449, 64708, 67966, 71226, 74482, 77740, 81000, 84259, 87518, 90776, 94032, 97294, 100550, 103809, 107067, 110326, 113584, 116844, 120101, 123358, 126619, 129876, 133136, 136394, 139653, 142912, 146169, 149427, 152686, 155945, 159203, 162463, 165721, 168981, 172239, 175496, 178756, 182012, 185272, 188530, 191790] + hit0 = 3 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.倍率 *= 4.11 + + +class 技能20(主动技能): + 名称 = "集结·暮光之翼" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 16279, 20054, 23826, 27602, 31372, 35148, 38922, 42698, 46471, 50244, 54017, 57791, 61568, 65340, 69114, 72889, 76661, 80436, 84211, 87983, 91758, 95532, 99307, 103079, 106854, 110629, 114403, 118177, 121949, 125723, 129498, 133275, 137045, 140821, 144592, 148368, 152146, 155916, 159692, 163464, 167240, 171012, 174786, 178560, 182334, 186110, 189884, 193655, 197431, 201207] + hit0 = 4 + data1 = [0, 3949, 4865, 5776, 6695, 7608, 8523, 9437, 10354, 11267, 12183, 13098, 14012, 14926, 15843, 16755, 17673, 18587, 19502, 20416, 21332, 22247, 23161, 24076, 24992, 25906, 26821, 27735, 28650, 29566, 30481, 31394, 32310, 33226, 34138, 35056, 35972, 36885, 37801, 38714, 39632, 40545, 41461, 42374, 43289, 44205, 45120, 46033, 46951, 47864, 48780] + hit1 = 11 + data2 = [0, 4342, 5348, 6357, 7364, 8367, 9376, 10381, 11389, 12393, 13401, 14409, 15413, 16419, 17427, 18434, 19438, 20446, 21452, 22458, 23464, 24471, 25476, 26485, 27488, 28499, 29503, 30510, 31519, 32523, 33530, 34535, 35543, 36547, 37555, 38559, 39567, 40574, 41579, 42588, 43592, 44600, 45603, 46613, 47617, 48624, 49629, 50637, 51641, 52650, 53659] + hit2 = 20 + data3 = [0, 21702, 26735, 31768, 36800, 41832, 46863, 51897, 56929, 61959, 66993, 72022, 77056, 82088, 87120, 92152, 97182, 102214, 107248, 112278, 117311, 122345, 127376, 132408, 137439, 142472, 147504, 152534, 157568, 162599, 167632, 172665, 177697, 182726, 187759, 192793, 197824, 202856, 207888, 212921, 217951, 222985, 228015, 233048, 238080, 243111, 248145, 253177, 258206, 263241, 268272] + hit3 = 1 + + +class 技能21(主动技能): + 名称 = "燃情协战" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1007, 7550] + 无色消耗 = 7 + # 此处为向前突进形态的数据,普通施放为10 6 0 0 0 + data0 = [0, 6088, 6704, 7319, 7936, 8553, 9172, 9790, 10406, 11022, 11640, 12257, 12873, 13495, 14110, 14726, 15344, 15959, 16578, 17195, 17810, 18426, 19046, 19662, 20279, 20896, 21514, 22130, 22747, 23363, 23980, 24600, 25216, 25832, 26450, 27068, 27685, 28302, 28918, 29537, 30153, 30771, 31387, 32005, 32622, 33237, 33853, 34474, 35090, 35708, 36323] + hit0 = 0 + data1 = [0, 18832, 20742, 22650, 24560, 26471, 28379, 30292, 32203, 34113, 36023, 37929, 39841, 41750, 43661, 45570, 47482, 49393, 51303, 53212, 55121, 57034, 58941, 60852, 62763, 64673, 66584, 68492, 70402, 72312, 74224, 76132, 78043, 79953, 81862, 83775, 85683, 87593, 89504, 91415, 93323, 95233, 97143, 99054, 100964, 102873, 104785, 106694, 108605, 110516, 112424] + hit1 = 0 + data2 = [0, 3478, 3830, 4183, 4538, 4889, 5240, 5593, 5949, 6300, 6652, 7004, 7360, 7709, 8061, 8415, 8768, 9120, 9472, 9826, 10178, 10529, 10884, 11236, 11588, 11940, 12296, 12647, 13000, 13351, 13702, 14057, 14410, 14760, 15114, 15467, 15818, 16172, 16525, 16878, 17231, 17583, 17935, 18287, 18642, 18993, 19347, 19697, 20050, 20403, 20755] + hit2 = 10 + data3 = [0, 10430, 11486, 12546, 13602, 14660, 15717, 16778, 17834, 18892, 19949, 21009, 22065, 23123, 24179, 25239, 26296, 27354, 28412, 29471, 30528, 31586, 32642, 33702, 34758, 35816, 36874, 37934, 38990, 40049, 41104, 42163, 43222, 44279, 45336, 46395, 47451, 48510, 49569, 50627, 51685, 52741, 53798, 54857, 55916, 56974, 58029, 59087, 60148, 61204, 62263] + hit3 = 5 + data4 = [0, 86893, 95712, 104523, 113339, 122154, 130970, 139784, 148600, 157413, 166231, 175044, 183860, 192674, 201490, 210303, 219118, 227933, 236747, 245564, 254379, 263193, 272009, 280825, 289639, 298454, 307270, 316084, 324898, 333714, 342527, 351343, 360160, 368973, 377788, 386605, 395419, 404233, 413049, 421866, 430680, 439495, 448309, 457124, 465939, 474755, 483569, 492384, 501199, 510015, 518829] + hit4 = 1 + + 形态 = ['突进', '普通'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "突进": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 10 + self.hit3 = 5 + self.hit4 = 1 + if 形态 == "普通": + self.hit0 = 10 + self.hit1 = 6 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + + +class 技能22(被动技能): + 名称 = '暮光战略' + 所在等级 = 95 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "暮光密令:黎明决战" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 1984, 2443, 2903, 3363, 3822, 4282, 4740, 5200, 5658, 6118, 6579, 7037, 7499, 7958, 8415, 8877, 9337, 9794, 10255, 10713, 11172, 11635, 12092, 12551, 13011, 13471, 13929, 14388, 14849, 15310, 15766, 16226, 16688, 17146, 17607, 18066, 18524, 18984, 19445, 19903, 20361, 20822, 21282, 21741, 22201, 22661, 23121, 23580, 24038, 24498] + hit0 = 22 + data1 = [0, 40870, 50348, 59827, 69302, 78776, 88257, 97731, 107207, 116688, 126162, 135638, 145116, 154592, 164070, 173546, 183023, 192501, 201976, 211451, 220930, 230407, 239881, 249361, 258837, 268312, 277788, 287268, 296743, 306219, 315697, 325173, 334648, 344127, 353604, 363079, 372559, 382035, 391509, 400989, 410464, 419942, 429419, 438894, 448373, 457849, 467324, 476804, 486279, 495754, 505234] + hit1 = 2 + data2 = [0, 34059, 41956, 49855, 57752, 65648, 73545, 81443, 89341, 97238, 105135, 113032, 120931, 128829, 136724, 144621, 152519, 160416, 168312, 176211, 184108, 192005, 199904, 207800, 215697, 223594, 231492, 239388, 247284, 255184, 263081, 270977, 278877, 286772, 294672, 302568, 310467, 318360, 326258, 334157, 342054, 349951, 357848, 365746, 373644, 381542, 389438, 397335, 405232, 413130, 421026] + hit2 = 4 + data3 = [0, 4089, 5036, 5984, 6933, 7879, 8829, 9775, 10723, 11670, 12618, 13566, 14514, 15461, 16410, 17355, 18304, 19252, 20199, 21148, 22096, 23044, 23992, 24936, 25884, 26834, 27780, 28728, 29677, 30624, 31570, 32520, 33466, 34415, 35362, 36310, 37259, 38205, 39153, 40101, 41048, 41996, 42943, 43892, 44838, 45788, 46734, 47683, 48629, 49578, 50527] + hit3 = 16 + data4 = [0, 217967, 268510, 319053, 369595, 420138, 470682, 521224, 571769, 622310, 672852, 723396, 773939, 824483, 875024, 925565, 976109, 1026649, 1077194, 1127736, 1178280, 1228823, 1279364, 1329908, 1380452, 1430994, 1481538, 1532079, 1582622, 1633164, 1683709, 1734251, 1784792, 1835335, 1885879, 1936422, 1986963, 2037506, 2088051, 2138593, 2189135, 2239676, 2290221, 2340764, 2391306, 2441849, 2492390, 2542936, 2593479, 2644021, 2694562] + hit4 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'hitman' + self.名称 = '苍暮·暗刃' + self.角色 = '枪剑士' + + self.职业 = '暗刃' + self.武器选项 = ['长刀'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '长刀' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) diff --git a/api/core/characters/hunter.py b/api/core/characters/hunter.py new file mode 100644 index 00000000..ba984726 --- /dev/null +++ b/api/core/characters/hunter.py @@ -0,0 +1,602 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + cost0 =0 + + ratio = {} + + # 标记消耗,大于0为消耗,小于0为生成 + cost0 = 0 + + def 基础百分比(self, 类型, 等级): + if 类型 == '直伤': + name = '' + else: + name = 类型 + 百分比 = 0.0 + for i in range(0, 8): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + power = getattr(self, '{}power{}'.format(name, i), 1) + cost = getattr(self, '{}cost{}'.format(name, i), 0) + 百分比 += data[等级] * hit * power * ((1+cost*self.ratio.get("标记", 0)) if cost > 0 else self.ratio.get("常规",1.0)) + return 百分比 * self.国服特色 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + + skill = char.get_skill_by_name("猎物识别") + + self.ratio = { + "常规": skill.常规加成(), + "标记": skill.终结加成() + } + + return super().等效百分比(**argv) + + +class 技能0(主动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + 是否主动 = 0 + TP成长 = 0.10 + TP上限 = 5 + + 关联技能 = ['急速扳机'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(被动技能): + 名称 = '强攻弩掌握' + 所在等级 = 1 + 等级上限 = 1 + 等级精通 = 1 + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['联合作战:围猎', '完美瞄准', '联合作战:最终一役'] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '强攻弩': + return 1.0 + else: + return 0.9 + + +class 技能2(主动技能): + 名称 = '迅猛速射' + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [16, 91] + 无色消耗 = 0 + data0 = [0, 377, 415, 453, 491, 530, 568, 606, 644, 683, 721, 759, 797, 836, 874, 912, 951, 989, 1027, 1065, 1104, 1142, 1180, 1218, 1257, 1295, 1333, 1371, 1410, 1448, 1486, 1524, 1563, 1601, 1639, 1677, 1716, 1754, 1792, 1830, 1869, 1907, 1945, 1983, 2022, 2060, 2098, 2137, 2175, 2213, 2251, 2290, 2328, 2366, 2404, 2443, 2481, 2519, 2557, 2596, 2634, 2672, 2710, 2749, 2787, 2825, 2863, 2902, 2940, 2978, 3016] + hit0 = 5 + cost0 = -1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = '帕伊卡:奇袭' + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [16, 91] + 无色消耗 = 0 + data0 = [0, 1770, 1949, 2129, 2309, 2488, 2668, 2847, 3027, 3206, 3386, 3566, 3745, 3925, 4104, 4284, 4464, 4643, 4823, 5002, 5182, 5362, 5541, 5721, 5900, 6080, 6260, 6439, 6619, 6798, 6978, 7157, 7337, 7517, 7696, 7876, 8055, 8235, 8415, 8594, 8774, 8953, 9133, 9313, 9492, 9672, 9851, 10031, 10210, 10390, 10570, 10749, 10929, 11108, 11288, 11468, 11647, 11827, 12006, 12186, 12366, 12545, 12725, 12904, 13084, 13264, 13443, 13623, 13802, 13982, 14161] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = '引爆发射' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [33, 187] + 无色消耗 = 0 + data0 = [0, 2172, 2392, 2613, 2833, 3054, 3274, 3495, 3715, 3935, 4156, 4376, 4597, 4817, 5037, 5258, 5478, 5699, 5919, 6139, 6360, 6580, 6801, 7021, 7241, 7462, 7682, 7903, 8123, 8344, 8564, 8784, 9005, 9225, 9446, 9666, 9886, 10107, 10327, 10548, 10768, 10988, 11209, 11429, 11650, 11870, 12090, 12311, 12531, 12752, 12972, 13192, 13413, 13633, 13854, 14074, 14295, 14515, 14735, 14956, 15176, 15397, 15617, 15837, 16058, 16278, 16499, 16719, 16939, 17160, 17380] + hit0 = 1 + cost0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '猎物识别' + 所在等级 = 15 + 等级上限 = 20 + 等级精通 = 10 + + def 常规加成(self): + if self.等级 == 0: + return 1.0 + else: + return 1.05 + 0.02*self.等级 + + def 终结加成(self): + if self.等级 == 0: + return 0.0 + else: + return 0.055 + 0.005*self.等级 + + +class 技能6(主动技能): + 名称 = '炽热喷涌' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [65, 361] + 无色消耗 = 0 + data0 = [0, 734, 808, 883, 957, 1032, 1106, 1180, 1255, 1329, 1404, 1478, 1553, 1627, 1702, 1776, 1851, 1925, 2000, 2074, 2149, 2223, 2298, 2372, 2447, 2521, 2596, 2670, 2744, 2819, 2893, 2968, 3042, 3117, 3191, 3266, 3340, 3415, 3489, 3564, 3638, 3713, 3787, 3862, 3936, 4011, 4085, 4160, 4234, 4308, 4383, 4457, 4532, 4606, 4681, 4755, 4830, 4904, 4979, 5053, 5128, 5202, 5277, 5351, 5426, 5500, 5575, 5649, 5724, 5798, 5872] + hit0 = 5 + cost0 = -1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = '帕伊卡:刃羽' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [65, 361] + 无色消耗 = 0 + data0 = [0, 706, 777, 849, 921, 992, 1064, 1136, 1207, 1279, 1351, 1422, 1494, 1566, 1637, 1709, 1781, 1852, 1924, 1996, 2067, 2139, 2210, 2282, 2354, 2425, 2497, 2569, 2640, 2712, 2784, 2855, 2927, 2999, 3070, 3142, 3214, 3285, 3357, 3429, 3500, 3572, 3644, 3715, 3787, 3859, 3930, 4002, 4073, 4145, 4217, 4288, 4360, 4432, 4503, 4575, 4647, 4718, 4790, 4862, 4933, 5005, 5077, 5148, 5220, 5292, 5363, 5435, 5507, 5578, 5650] + hit0 = 5 + cost0 = -1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '高压喷射' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [81, 453] + 无色消耗 = 0 + data0 = [0, 989, 1090, 1190, 1290, 1391, 1491, 1592, 1692, 1792, 1893, 1993, 2094, 2194, 2294, 2395, 2495, 2596, 2696, 2796, 2897, 2997, 3098, 3198, 3298, 3399, 3499, 3600, 3700, 3800, 3901, 4001, 4102, 4202, 4302, 4403, 4503, 4603, 4704, 4804, 4905, 5005, 5105, 5206, 5306, 5407, 5507, 5607, 5708, 5808, 5909, 6009, 6109, 6210, 6310, 6411, 6511, 6611, 6712, 6812, 6913, 7013, 7113, 7214, 7314, 7415, 7515, 7615, 7716, 7816, 7917] + hit0 = 1 + data1 = [0, 3958, 4360, 4761, 5163, 5564, 5966, 6368, 6769, 7171, 7572, 7974, 8376, 8777, 9179, 9580, 9982, 10384, 10785, 11187, 11588, 11990, 12392, 12793, 13195, 13596, 13998, 14400, 14801, 15203, 15604, 16006, 16408, 16809, 17211, 17612, 18014, 18415, 18817, 19219, 19620, 20022, 20423, 20825, 21227, 21628, 22030, 22431, 22833, 23235, 23636, 24038, 24439, 24841, 25243, 25644, 26046, 26447, 26849, 27251, 27652, 28054, 28455, 28857, 29259, 29660, 30062, 30463, 30865, 31267, 31668] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = '急速扳机' + 所在等级 = 20 + 等级上限 = 1 + 等级精通 = 1 + CD = 4 + MP = [40, 40] + 无色消耗 = 0 + data0 = [0, 337] + hit0 = 3 + cost0 = -1 + data1 = [0, 728] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(被动技能): + 名称 = '强攻弩精通' + 所在等级 = 20 + 等级上限 = 20 + 等级精通 = 10 + 关联技能 = ['所有'] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.05 + 0.02 * self.等级 + + +class 技能11(主动技能): + 名称 = '重型穿甲箭' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [77, 428] + 无色消耗 = 0 + data0 = [0, 3960, 4362, 4764, 5165, 5567, 5969, 6371, 6773, 7174, 7576, 7978, 8380, 8782, 9183, 9585, 9987, 10389, 10791, 11192, 11594, 11996, 12398, 12800, 13201, 13603, 14005, 14407, 14809, 15210, 15612, 16014, 16416, 16818, 17219, 17621, 18023, 18425, 18827, 19228, 19630, 20032, 20434, 20836, 21237, 21639, 22041, 22443, 22845, 23246, 23648, 24050, 24452, 24854, 25255, 25657, 26059, 26461, 26863, 27264, 27666, 28068, 28470, 28872, 29273, 29675, 30077, 30479, 30881, 31282, 31684] + hit0 = 1 + cost0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能12(主动技能): + 名称 = '霰弹之箭' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [99, 550] + 无色消耗 = 0 + data0 = [0, 1396, 1537, 1679, 1820, 1962, 2104, 2245, 2387, 2529, 2670, 2812, 2953, 3095, 3237, 3378, 3520, 3662, 3803, 3945, 4086, 4228, 4370, 4511, 4653, 4795, 4936, 5078, 5219, 5361, 5503, 5644, 5786, 5928, 6069, 6211, 6352, 6494, 6636, 6777, 6919, 7061, 7202, 7344, 7485, 7627, 7769, 7910, 8052, 8194, 8335, 8477, 8618, 8760, 8902, 9043, 9185, 9327, 9468, 9610, 9751, 9893, 10035, 10176, 10318, 10460, 10601, 10743, 10884, 11026, 11168] + hit0 = 5 + cost0 = -5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能13(主动技能): + 名称 = '帕伊卡:迷惑之舞' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [99, 550] + 无色消耗 = 0 + data0 = [0, 1118, 1232, 1345, 1459, 1572, 1686, 1799, 1913, 2026, 2140, 2253, 2367, 2480, 2594, 2707, 2821, 2934, 3048, 3161, 3275, 3388, 3502, 3615, 3729, 3843, 3956, 4070, 4183, 4297, 4410, 4524, 4637, 4751, 4864, 4978, 5091, 5205, 5318, 5432, 5545, 5659, 5772, 5886, 5999, 6113, 6226, 6340, 6453, 6567, 6680, 6794, 6907, 7021, 7134, 7248, 7361, 7475, 7588, 7702, 7815, 7929, 8042, 8156, 8269, 8383, 8496, 8610, 8723, 8837, 8950] + hit0 = 6 + cost0 = -1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能14(主动技能): + 名称 = '光爆箭' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [219, 1220] + 无色消耗 = 1 + data0 = [0, 2228, 2454, 2680, 2906, 3133, 3359, 3585, 3811, 4037, 4263, 4489, 4715, 4941, 5167, 5393, 5620, 5846, 6072, 6298, 6524, 6750, 6976, 7202, 7428, 7654, 7880, 8107, 8333, 8559, 8785, 9011, 9237, 9463, 9689, 9915, 10141, 10368, 10594, 10820, 11046, 11272, 11498, 11724, 11950, 12176, 12402, 12628, 12855, 13081, 13307, 13533, 13759, 13985, 14211, 14437, 14663, 14889, 15115, 15342, 15568, 15794, 16020, 16246, 16472, 16698, 16924, 17150, 17376, 17603, 17829] + hit0 = 5 + cost0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.38 + +class 技能15(被动技能): + 名称 = '二重助推' + 所在等级 = 35 + 等级上限 = 11 + 等级精通 = 1 + 关联技能 = ['重型穿甲箭'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.25 + 0.05*self.等级 + + +class 技能16(主动技能): + 名称 = '箭雨' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [338, 1882] + 无色消耗 = 1 + data0 = [0, 910, 1002, 1095, 1187, 1280, 1372, 1464, 1557, 1649, 1742, 1834, 1926, 2019, 2111, 2203, 2296, 2388, 2481, 2573, 2665, 2758, 2850, 2942, 3035, 3127, 3220, 3312, 3404, 3497, 3589, 3682, 3774, 3866, 3959, 4051, 4143, 4236, 4328, 4421, 4513, 4605, 4698, 4790, 4882, 4975, 5067, 5160, 5252, 5344, 5437, 5529, 5622, 5714, 5806, 5899, 5991, 6083, 6176, 6268, 6361, 6453, 6545, 6638, 6730, 6822, 6915, 7007, 7100, 7192, 7284] + hit0 = 20 + cost0 = -1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.9 + self.hit0 = 5 + self.power0 = 1 + 3.46 + 0.64 + +class 技能17(主动技能): + 名称 = '帕伊卡:困兽之网' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [422, 2353] + 无色消耗 = 1 + data0 = [0, 17239, 18988, 20737, 22486, 24235, 25984, 27733, 29482, 31231, 32980, 34729, 36478, 38227, 39975, 41724, 43473, 45222, 46971, 48720, 50469, 52218, 53967, 55716, 57465, 59214, 60963, 62712, 64461, 66210, 67959, 69708, 71457, 73205, 74954, 76703, 78452, 80201, 81950, 83699, 85448, 87197, 88946, 90695, 92444, 94193, 95942, 97691, 99440, 101189, 102938, 104687, 106435, 108184, 109933, 111682, 113431, 115180, 116929, 118678, 120427, 122176, 123925, 125674, 127423, 129172, 130921, 132670, 134419, 136168, 137917] + hit0 = 1 + cost0 = -3 + TP成长 = 0.1 + TP上限 = 5 + +class 技能18(主动技能): + 名称 = '三弓床弩' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [585, 3262] + 无色消耗 = 2 + data0 = [0, 218, 241, 263, 285, 307, 330, 352, 374, 396, 418, 441, 463, 485, 507, 529, 552, 574, 596, 618, 641, 663, 685, 707, 729, 752, 774, 796, 818, 841, 863, 885, 907, 929, 952, 974, 996, 1018, 1040, 1063, 1085, 1107, 1129, 1152, 1174, 1196, 1218, 1240, 1263, 1285, 1307, 1329, 1351, 1374, 1396, 1418, 1440, 1463, 1485, 1507, 1529, 1551, 1574, 1596, 1618, 1640, 1662, 1685, 1707, 1729, 1751] + hit0 = 1 + cost0 = 1 + data1 = [0, 218, 241, 263, 285, 307, 330, 352, 374, 396, 418, 441, 463, 485, 507, 529, 552, 574, 596, 618, 641, 663, 685, 707, 729, 752, 774, 796, 818, 841, 863, 885, 907, 929, 952, 974, 996, 1018, 1040, 1063, 1085, 1107, 1129, 1152, 1174, 1196, 1218, 1240, 1263, 1285, 1307, 1329, 1351, 1374, 1396, 1418, 1440, 1463, 1485, 1507, 1529, 1551, 1574, 1596, 1618, 1640, 1662, 1685, 1707, 1729, 1751] + hit1 = 1 + cost1 = 1 + data2 = [0, 21460, 23637, 25814, 27991, 30168, 32345, 34522, 36699, 38876, 41053, 43231, 45408, 47585, 49762, 51939, 54116, 56293, 58470, 60647, 62824, 65002, 67179, 69356, 71533, 73710, 75887, 78064, 80241, 82418, 84596, 86773, 88950, 91127, 93304, 95481, 97658, 99835, 102012, 104189, 106367, 108544, 110721, 112898, 115075, 117252, 119429, 121606, 123783, 125960, 128138, 130315, 132492, 134669, 136846, 139023, 141200, 143377, 145554, 147731, 149909, 152086, 154263, 156440, 158617, 160794, 162971, 165148, 167325, 169503, 171680] + hit2 = 1 + cost2 = 15 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.cost0 = self.cost1 = self.cost2 = 15 + self.power2 = 1 + 0.16 + 0.16 + +class 技能19(被动技能): + 名称 = '帕伊卡锐眼' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.02 + 0.02 * self.等级 + +class 技能20(主动技能): + 名称 = "联合作战:围猎" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1670, 7095] + 无色消耗 = 5 + data0 = [0, 845, 1041, 1237, 1433, 1629, 1825, 2021, 2217, 2413, 2609, 2805, 3001, 3197, 3393, 3589, 3785, 3981, 4177, 4374, 4570, 4766, 4962, 5158, 5354, 5550, 5746, 5942, 6138, 6334, 6530, 6726, 6922, 7118, 7314, 7510, 7706, 7902, 8098, 8294, 8490, 8686, 8882, 9078, 9274, 9470, 9666, 9862, 10059, 10255, 10451] + hit0 = 10 + cost0 = -1 + data1 = [0, 68477, 84356, 100234, 116113, 131992, 147871, 163750, 179628, 195507, 211386, 227265, 243144, 259022, 274901, 290780, 306659, 322538, 338416, 354295, 370174, 386053, 401932, 417811, 433689, 449568, 465447, 481326, 497204, 513083, 528962, 544841, 560720, 576598, 592477, 608356, 624235, 640114, 655993, 671871, 687750, 703629, 719508, 735387, 751265, 767144, 783023, 798902, 814781, 830659, 846538] + hit1 = 1 + cost1 = 5 + + def 等效百分比(self, **argv): + if self.等级 >= 9: + return super().等效百分比(**argv) * 1.1 + return super().等效百分比(**argv) + +class 技能21(主动技能): + 名称 = '联合作战:空中轰炸' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [418, 1775] + 无色消耗 = 1 + data0 = [0, 112, 124, 135, 147, 158, 170, 181, 193, 204, 215, 227, 238, 250, 261, 273, 284, 296, 307, 318, 330, 341, 353, 364, 376, 387, 399, 410, 421, 433, 444, 456, 467, 479, 490, 502, 513, 525, 536, 547, 559, 570, 582, 593, 605, 616, 628, 639, 650, 662, 673] + hit0 = 20 * 2 + cost0 = -1 + data1 = [0, 6094, 6712, 7331, 7949, 8567, 9185, 9804, 10422, 11040, 11658, 12277, 12895, 13513, 14132, 14750, 15368, 15986, 16605, 17223, 17841, 18460, 19078, 19696, 20314, 20933, 21551, 22169, 22787, 23406, 24024, 24642, 25261, 25879, 26497, 27115, 27734, 28352, 28970, 29589, 30207, 30825, 31443, 32062, 32680, 33298, 33917, 34535, 35153, 35771, 36390] + hit1 = 5 + cost1 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 7 + self.power1 = 1.24 - 0.21 + self.hit0 = 20 * 4 + self.power0 = 0.5 + + +class 技能22(主动技能): + 名称 = '帕伊卡:翼之刀锋' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [632, 2687] + 无色消耗 = 3 + data0 = [0, 56012, 61694, 67376, 73059, 78741, 84424, 90106, 95788, 101471, 107153, 112835, 118518, 124200, 129883, 135565, 141247, 146930, 152612, 158295, 163977, 169659, 175342, 181024, 186706, 192389, 198071, 203754, 209436, 215118, 220801, 226483, 232166, 237848, 243530, 249213, 254895, 260577, 266260, 271942, 277625, 283307, 288989, 294672, 300354, 306037, 311719, 317401, 323084, 328766, 334448] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1 + 0.19 * 1.72 + +class 技能23(被动技能): + 名称 = '装置升级' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.18 + 0.02 * self.等级 + +class 技能24(主动技能): + 名称 = '终结穿刺' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [1170, 4969] + 无色消耗 = 3 + # 总消耗为5,data0判定消耗,data1也享受加成 + data0 = [0, 722, 795, 868, 942, 1015, 1088, 1161, 1235, 1308, 1381, 1454, 1528, 1601, 1674, 1747, 1821, 1894, 1967, 2041, 2114, 2187, 2260, 2334, 2407, 2480, 2553, 2627, 2700, 2773, 2846, 2920, 2993, 3066, 3140, 3213, 3286, 3359, 3433, 3506, 3579, 3652, 3726, 3799, 3872, 3946, 4019, 4092, 4165, 4239, 4312] + hit0 = 1 + cost0 = 5 + data1 = [0, 7149, 7875, 8600, 9325, 10051, 10776, 11502, 12227, 12952, 13678, 14403, 15128, 15854, 16579, 17304, 18030, 18755, 19480, 20206, 20931, 21657, 22382, 23107, 23833, 24558, 25283, 26009, 26734, 27459, 28185, 28910, 29635, 30361, 31086, 31812, 32537, 33262, 33988, 34713, 35438, 36164, 36889, 37614, 38340, 39065, 39790, 40516, 41241, 41966, 42692] + hit1 = 10 + cost1 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 15 + self.power1 = 1 - 0.21 + 0.12 + +class 技能25(主动技能): + 名称 = '帕伊卡:追踪型子母弹' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [1462, 6210] + 无色消耗 = 5 + data0 = [0, 2933, 3231, 3528, 3826, 4124, 4421, 4719, 5016, 5314, 5612, 5909, 6207, 6505, 6802, 7100, 7397, 7695, 7993, 8290, 8588, 8885, 9183, 9481, 9778, 10076, 10374, 10671, 10969, 11266, 11564, 11862, 12159, 12457, 12754, 13052, 13350, 13647, 13945, 14243, 14540, 14838, 15135, 15433, 15731, 16028, 16326, 16624, 16921, 17219, 17516] + hit0 = 15 + cost0 = -1 + data1 = [0, 11129, 12258, 13387, 14516, 15645, 16774, 17903, 19032, 20161, 21290, 22419, 23548, 24677, 25806, 26935, 28064, 29193, 30322, 31451, 32580, 33709, 34838, 35967, 37096, 38226, 39355, 40484, 41613, 42742, 43871, 45000, 46129, 47258, 48387, 49516, 50645, 51774, 52903, 54032, 55161, 56290, 57419, 58548, 59677, 60806, 61935, 63064, 64193, 65322, 66451] + hit1 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CD = 22.5 + self.CDR *= 0.8 + self.hit0 = 10 + self.power0 = 1 - 0.15 + 0.05 + self.power1 = 1 - 0.44 + 0.04 + +class 技能26(主动技能): + 名称 = "完美瞄准" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2780, 11814] + 无色消耗 = 10 + data0 = [0, 204228, 251586, 298943, 346301, 393658, 441015, 488373, 535730, 583088, 630445, 677802, 725160, 772517, 819875, 867232, 914589, 961947, 1009304, 1056662, 1104019, 1151376, 1198734, 1246091, 1293449, 1340806, 1388163, 1435521, 1482878, 1530235, 1577593, 1624950, 1672308, 1719665, 1767023, 1814380, 1861737, 1909095, 1956452, 2003809, 2051167, 2098524, 2145882, 2193239, 2240596, 2287954, 2335311, 2382669, 2430026, 2477384, 2524741] + hit0 = 1 + cost0 = 5 + +class 技能27(被动技能): + 名称 = '追猎者勋章' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.18 + 0.02 * self.等级 + +class 技能28(主动技能): + 名称 = "联合作战:扭转战局" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1636, 6951] + 无色消耗 = 7 + data0 = [0, 1514, 1667, 1821, 1974, 2128, 2282, 2435, 2589, 2742, 2896, 3050, 3203, 3357, 3510, 3664, 3818, 3971, 4125, 4278, 4432, 4586, 4739, 4893, 5046, 5200, 5354, 5507, 5661, 5814, 5968, 6122, 6275, 6429, 6583, 6736, 6890, 7043, 7197, 7351, 7504, 7658, 7811, 7965, 8119, 8272, 8426, 8579, 8733, 8887, 9040] + hit0 = 10 + data1 = [0, 136268, 150092, 163916, 177741, 191565, 205389, 219214, 233038, 246862, 260687, 274511, 288335, 302160, 315984, 329808, 343633, 357457, 371281, 385106, 398930, 412754, 426578, 440403, 454227, 468051, 481876, 495700, 509524, 523349, 537173, 550997, 564822, 578646, 592470, 606295, 620119, 633943, 647768, 661592, 675416, 689241, 703065, 716889, 730713, 744538, 758362, 772187, 786011, 799835, 813659] + hit1 = 1 + cost1 = 5 + +class 技能29(主动技能): + 名称 = "联合作战:最终一役" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4538, 19283] + 无色消耗 = 15 + data0 = [0, 3205, 3949, 4692, 5435, 6179, 6922, 7665, 8409, 9152, 9895, 10639, 11382, 12125, 12869, 13612, 14355, 15099, 15842, 16585, 17329, 18072, 18816, 19559, 20302, 21046, 21789, 22532, 23276, 24019, 24762, 25506, 26249, 26992, 27736, 28479, 29222, 29966, 30709, 31452, 32196, 32939, 33683, 34426, 35169, 35913, 36656, 37399, 38143, 38886, 39629] + hit0 = 15 + cost0 = -1 + data1 = [0, 432768, 533120, 633473, 733825, 834177, 934529, 1034881, 1135233, 1235585, 1335938, 1436290, 1536642, 1636994, 1737346, 1837698, 1938050, 2038403, 2138755, 2239107, 2339459, 2439811, 2540163, 2640515, 2740868, 2841220, 2941572, 3041924, 3142276, 3242628, 3342981, 3443333, 3543685, 3644037, 3744389, 3844742, 3945093, 4045445, 4145798, 4246150, 4346502, 4446854, 4547207, 4647558, 4747911, 4848263, 4948616, 5048968, 5149319, 5249671, 5350023] + hit1 = 1 + cost1 = 5 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'hunter' + self.名称 = '聆风·猎人' + self.角色 = '弓箭手' + + self.职业 = '猎人' + self.武器选项 = ['强攻弩'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '强攻弩' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/impaler.py b/api/core/characters/impaler.py new file mode 100644 index 00000000..c78a4493 --- /dev/null +++ b/api/core/characters/impaler.py @@ -0,0 +1,493 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "双重投射" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 219] + 无色消耗 = 0 + data0 = [0, 1766, 1945, 2122, 2303, 2482, 2660, 2840, 3020, 3196, 3377, 3556, 3735, 3913, 4093, 4272, 4451, 4628, 4809, 4988, 5168, 5346, 5524, 5704, 5883, 6063, 6241, 6420, 6600, 6777, 6956, 7137, 7315, 7495, 7674, 7852, 8032, 8210, 8388, 8569, 8749, 8927, 9107, 9286, 9463, 9642, 9822, 10001, 10180, 10360, 10538, 10716, 10896, 11074, 11255, 11434, 11612, 11793, 11970, 12148, 12328, 12507, 12687, 12867, 13043, 13224, 13403, 13581, 13760, 13940, 14119] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "侵蚀之矛" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 219] + 无色消耗 = 0 + data0 = [0, 3472, 3825, 4179, 4530, 4882, 5235, 5588, 5939, 6291, 6643, 6995, 7347, 7701, 8052, 8404, 8758, 9110, 9460, 9815, 10167, 10518, 10871, 11223, 11574, 11928, 12281, 12634, 12984, 13337, 13691, 14042, 14393, 14747, 15098, 15450, 15805, 16156, 16507, 16861, 17213, 17562, 17915, 18269, 18622, 18972, 19325, 19678, 20030, 20383, 20735, 21086, 21438, 21792, 22144, 22496, 22849, 23201, 23553, 23906, 24258, 24610, 24963, 25315, 25667, 26019, 26373, 26725, 27075, 27429, 27781] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '暗蚀' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['所有'] + 关联技能1 = ['双重投射', '暗矛投射', '暗矛贯穿', '绝望枪', '暗蚀螺旋枪', '连锁侵蚀', + '坠蚀之雨', '暗蚀爆雷杀', '黑蚀酷刑', '冥夜裂空', '虚空碎灭'] + 关联技能2 = ["暗·渊灭禁绝", "冥蚀脉冲", "幽影暗蚀:寂灭", "无尽侵蚀:缚魂", "黑蚀葬礼"] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.07 + 0.01 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + return 1.2 + + # 部分加成 不享受加成部分在技能中需要设置倍率 + def 加成倍率2(self, 武器类型): + return 1.2 + + +class 技能3(主动技能): + 名称 = "暗矛投射" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [36, 262] + 无色消耗 = 0 + data0 = [0, 1111, 1224, 1334, 1447, 1561, 1673, 1785, 1898, 2012, 2124, 2237, 2350, 2462, 2575, 2686, 2800, 2912, 3026, 3137, 3250, 3362, 3475, 3588, 3701, 3814, 3925, 4038, 4150, 4264, 4376, 4489, 4602, 4715, 4827, 4940, 5052, 5166, 5277, 5388, 5502, 5613, 5727, 5840, 5954, 6065, 6178, 6291, 6404, 6516, 6630, 6743, 6854, 6965, 7078, 7191, 7304, 7417, 7530, 7643, 7754, 7868, 7980, 8094, 8205, 8319, 8431, 8544, 8655, 8767, 8881] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '暗矛精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 20: + return round(1 + 0.01 * self.等级, 5) + else: + return round(0.8 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "黑暗枪雨" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [78, 708] + 无色消耗 = 0 + data0 = [0, 1097, 1210, 1321, 1433, 1544, 1654, 1767, 1877, 1988, 2101, 2211, 2323, 2435, 2544, 2657, 2769, 2880, 2991, 3103, 3214, 3325, 3437, 3548, 3660, 3770, 3882, 3993, 4104, 4217, 4328, 4438, 4552, 4662, 4774, 4886, 4996, 5108, 5219, 5331, 5442, 5552, 5665, 5776, 5887, 5999, 6111, 6221, 6333, 6445, 6555, 6668, 6778, 6889, 7002, 7112, 7224, 7335, 7446, 7559, 7668, 7781, 7893, 8002, 8115, 8227, 8337, 8449, 8559, 8671, 8784] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "暗矛贯穿" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 2160, 2379, 2597, 2816, 3036, 3254, 3475, 3693, 3911, 4129, 4350, 4568, 4788, 5004, 5225, 5444, 5663, 5882, 6102, 6319, 6537, 6759, 6977, 7197, 7414, 7633, 7853, 8072, 8291, 8511, 8728, 8947, 9166, 9387, 9605, 9824, 10041, 10262, 10480, 10700, 10918, 11139, 11357, 11576, 11795, 12015, 12234, 12451, 12670, 12890, 13109, 13329, 13546, 13766, 13984, 14204, 14422, 14643, 14860, 15079, 15297, 15518, 15737, 15957, 16175, 16394, 16613, 16832, 17051, 17270] + hit0 = 1 + data1 = [0, 3221, 3548, 3878, 4204, 4531, 4857, 5184, 5510, 5838, 6166, 6493, 6819, 7146, 7473, 7801, 8126, 8454, 8781, 9109, 9434, 9760, 10089, 10417, 10743, 11068, 11396, 11722, 12050, 12377, 12705, 13031, 13358, 13684, 14013, 14338, 14665, 14993, 15321, 15646, 15974, 16300, 16628, 16955, 17281, 17607, 17933, 18263, 18588, 18915, 19242, 19570, 19896, 20223, 20549, 20877, 21204, 21532, 21857, 22186, 22512, 22839, 23164, 23492, 23820, 24148, 24474, 24800, 25127, 25453, 25781] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "黑蚀葬礼" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [72, 650] + 无色消耗 = 0 + data0 = [0, 2930, 3228, 3524, 3822, 4121, 4417, 4715, 5011, 5309, 5608, 5903, 6201, 6498, 6795, 7094, 7391, 7688, 7986, 8283, 8581, 8878, 9176, 9472, 9769, 10065, 10363, 10661, 10958, 11254, 11554, 11850, 12147, 12444, 12740, 13039, 13337, 13633, 13931, 14229, 14526, 14824, 15120, 15418, 15715, 16011, 16310, 16607, 16904, 17202, 17500, 17797, 18095, 18392, 18688, 18985, 19283, 19579, 19876, 20173, 20472, 20769, 21066, 21363, 21661, 21959, 22255, 22553, 22849, 23147, 23446] + hit0 = 1 + data1 = [0, 4396, 4842, 5289, 5734, 6180, 6625, 7073, 7517, 7966, 8409, 8857, 9302, 9748, 10194, 10638, 11086, 11531, 11978, 12422, 12869, 13315, 13761, 14208, 14654, 15100, 15545, 15990, 16438, 16882, 17329, 17775, 18222, 18667, 19111, 19558, 20004, 20451, 20896, 21344, 21788, 22234, 22681, 23127, 23572, 24018, 24464, 24911, 25356, 25803, 26248, 26694, 27140, 27586, 28032, 28476, 28924, 29369, 29817, 30262, 30709, 31154, 31599, 32045, 32492, 32937, 33383, 33830, 34275, 34722, 35167] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + power0 = 1/1.2 # 非黑雷系 + + +class 技能8(主动技能): + 名称 = "绝望枪" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [71, 745] + 无色消耗 = 0 + data0 = [0, 739, 816, 890, 966, 1042, 1114, 1191, 1265, 1341, 1417, 1492, 1565, 1642, 1715, 1792, 1868, 1942, 2017, 2093, 2166, 2243, 2317, 2391, 2468, 2541, 2617, 2693, 2768, 2842, 2918, 2992, 3068, 3142, 3219, 3293, 3368, 3443, 3518, 3593, 3670, 3743, 3818, 3895, 3968, 4044, 4118, 4195, 4269, 4345, 4419, 4495, 4569, 4645, 4719, 4796, 4870, 4945, 5020, 5096, 5170, 5246, 5320, 5394, 5470, 5545, 5621, 5696, 5771, 5845, 5920] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 7 + + # 三觉被动 增加了hit数 减少了单次伤害 + power0 = 0.72 + + +class 技能9(被动技能): + 名称 = '暗枪突破' + 所在等级 = 30 + 等级上限 = 11 + 基础等级 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.09 + 0.01 * self.等级, 5) + + +class 技能10(主动技能): + 名称 = "连锁侵蚀" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [194, 1600] + 无色消耗 = 1 + data0 = [0, 4459, 4910, 5363, 5815, 6267, 6720, 7173, 7626, 8075, 8527, 8980, 9433, 9886, 10338, 10790, 11241, 11693, 12145, 12598, 13051, 13504, 13956, 14406, 14859, 15312, 15765, 16217, 16669, 17122, 17573, 18025, 18478, 18931, 19384, 19836, 20287, 20738, 21191, 21644, 22097, 22548, 23001, 23453, 23905, 24357, 24810, 25263, 25715, 26168, 26619, 27071, 27524, 27977, 28428, 28880, 29332, 29785, 30236, 30689, 31142, 31594, 32047, 32498, 32951, 33403, 33856, 34308, 34759, 35211, 35664] + hit0 = 1 + data1 = [0, 1115, 1229, 1342, 1455, 1568, 1682, 1794, 1908, 2021, 2130, 2245, 2358, 2472, 2583, 2698, 2811, 2923, 3037, 3151, 3264, 3375, 3490, 3604, 3714, 3829, 3942, 4056, 4166, 4281, 4394, 4506, 4620, 4734, 4847, 4959, 5073, 5185, 5297, 5411, 5524, 5638, 5750, 5864, 5977, 6088, 6202, 6315, 6429, 6540, 6654, 6767, 6880, 6993, 7107, 7220, 7333, 7446, 7560, 7672, 7786, 7899, 8013, 8123, 8237, 8350, 8463, 8576, 8690, 8802, 8916] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能11(主动技能): + 名称 = "暗蚀螺旋枪" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [185, 1526] + 无色消耗 = 1 + data0 = [0, 389, 430, 468, 507, 548, 586, 626, 669, 706, 747, 787, 825, 865, 904, 944, 983, 1023, 1061, 1101, 1140, 1180, 1220, 1259, 1298, 1340, 1378, 1418, 1458, 1497, 1536, 1577, 1615, 1655, 1694, 1734, 1773, 1813, 1852, 1891, 1930, 1970, 2011, 2050, 2089, 2130, 2168, 2208, 2248, 2287, 2326, 2367, 2405, 2444, 2484, 2523, 2563, 2602, 2643, 2682, 2722, 2760, 2801, 2839, 2879, 2919, 2958, 2997, 3039, 3076, 3116] + hit0 = 20 + data1 = [0, 4563, 5026, 5489, 5952, 6415, 6877, 7340, 7804, 8267, 8731, 9193, 9654, 10118, 10580, 11044, 11508, 11970, 12431, 12894, 13357, 13821, 14284, 14748, 15208, 15672, 16135, 16597, 17062, 17525, 17988, 18449, 18913, 19375, 19840, 20301, 20765, 21228, 21689, 22152, 22616, 23079, 23543, 24005, 24467, 24929, 25393, 25857, 26319, 26783, 27245, 27709, 28170, 28634, 29096, 29560, 30021, 30486, 30949, 31411, 31873, 32337, 32798, 33263, 33726, 34189, 34652, 35114, 35578, 36039, 36503] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能12(主动技能): + 名称 = "坠蚀之雨" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 22 + MP = [200, 1650] + 无色消耗 = 1 + data0 = [0, 746, 821, 897, 974, 1050, 1127, 1201, 1276, 1351, 1428, 1503, 1580, 1655, 1730, 1806, 1882, 1958, 2033, 2108, 2185, 2259, 2336, 2410, 2487, 2563, 2640, 2715, 2789, 2866, 2941, 3017, 3093, 3168, 3243, 3319, 3395, 3471, 3547, 3623, 3696, 3773, 3848, 3925, 3999, 4076, 4153, 4228, 4304, 4379, 4455, 4530, 4606, 4682, 4756, 4833, 4908, 4985, 5060, 5137, 5211, 5287, 5362, 5438, 5514, 5589, 5664, 5742, 5817, 5894, 5968] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 2+3.6 + self.倍率 *= 1.09 + + +class 技能13(主动技能): + 名称 = "暗蚀爆雷杀" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [350, 3080] + 无色消耗 = 2 + data0 = [0, 9617, 10592, 11568, 12545, 13520, 14496, 15472, 16445, 17422, 18398, 19373, 20349, 21324, 22300, 23277, 24250, 25227, 26203, 27178, 28155, 29130, 30105, 31080, 32057, 33032, 34007, 34982, 35958, 36935, 37909, 38886, 39861, 40838, 41813, 42789, 43764, 44738, 45716, 46690, 47666, 48642, 49617, 50594, 51571, 52544, 53521, 54495, 55472, 56448, 57422, 58399, 59373, 60349, 61325, 62300, 63276, 64251, 65229, 66203, 67179, 68155, 69129, 70106, 71082, 72057, 73032, 74006, 74983, 75960, 76934] + hit0 = 1 + data1 = [0, 6775, 7462, 8152, 8838, 9525, 10213, 10900, 11587, 12276, 12961, 13649, 14337, 15023, 15710, 16400, 17086, 17772, 18462, 19147, 19834, 20521, 21209, 21896, 22583, 23271, 23958, 24646, 25334, 26021, 26708, 27396, 28082, 28770, 29458, 30144, 30831, 31520, 32207, 32894, 33583, 34269, 34956, 35644, 36331, 37018, 37706, 38392, 39080, 39768, 40456, 41142, 41831, 42518, 43204, 43894, 44580, 45265, 45953, 46641, 47327, 48014, 48703, 49390, 50077, 50765, 51451, 52138, 52827, 53513, 54200] + hit1 = 1 + data2 = [0, 10306, 11353, 12398, 13444, 14489, 15536, 16581, 17625, 18672, 19718, 20762, 21809, 22854, 23900, 24945, 25991, 27035, 28082, 29129, 30173, 31218, 32263, 33312, 34356, 35400, 36445, 37493, 38539, 39584, 40629, 41676, 42721, 43766, 44812, 45858, 46902, 47948, 48995, 50039, 51085, 52131, 53176, 54221, 55269, 56314, 57358, 58404, 59451, 60495, 61540, 62585, 63633, 64678, 65723, 66768, 67813, 68862, 69906, 70952, 71997, 73042, 74089, 75134, 76178, 77225, 78271, 79317, 80361, 81408, 82453] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.CDR *= 0.9 + + +class 技能14(被动技能): + 名称 = '黑暗支配者' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "无尽侵蚀:缚魂" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1200, 10080] + 无色消耗 = 5 + data0 = [0, 2447, 3015, 3584, 4150, 4717, 5285, 5853, 6420, 6987, 7556, 8123, 8690, 9257, 9826, 10392, 10959, 11527, 12095, 12662, 13229, 13798, 14365, 14933, 15500, 16069, 16634, 17202, 17771, 18336, 18904, 19473, 20040, 20606, 21176, 21742, 22310, 22876, 23444, 24012, 24579, 25147, 25714, 26282, 26850, 27416, 27984, 28553, 29119, 29688, 30255] + hit0 = 15 + data1 = [0, 4488, 5526, 6567, 7608, 8649, 9689, 10728, 11769, 12810, 13850, 14890, 15933, 16973, 18013, 19053, 20094, 21135, 22174, 23213, 24255, 25295, 26336, 27374, 28416, 29456, 30497, 31537, 32579, 33618, 34659, 35699, 36740, 37780, 38820, 39860, 40901, 41941, 42982, 44022, 45062, 46102, 47143, 48183, 49226, 50264, 51305, 52345, 53387, 54426, 55467] + hit1 = 10 + + power0 = 1/1.2 # 非黑雷系 + + +class 技能16(主动技能): + 名称 = "暗影蚀魂" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 28430, 31316, 34199, 37085, 39968, 42852, 45737, 48621, 51506, 54388, 57274, 60159, 63042, 65927, 68812, 71695, 74579, 77464, 80349, 83232, 86117, 89001, 91886, 94770, 97654, 100540, 103422, 106307, 109190, 112076, 114959, 117843, 120728, 123613, 126498, 129381, 132267, 135149, 138034, 140919, 143803, 146687, 149571, 152455, 155340, 158224, 161109, 163992, 166877, 169760] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能17(主动技能): + 名称 = "黑蚀酷刑" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 1650] + 无色消耗 = 2 + data0 = [0, 8882, 9782, 10684, 11584, 12486, 13388, 14288, 15188, 16090, 16991, 17893, 18793, 19694, 20594, 21497, 22397, 23299, 24198, 25099, 26001, 26901, 27803, 28704, 29604, 30506, 31407, 32307, 33210, 34111, 35011, 35913, 36812, 37714, 38617, 39517, 40416, 41319, 42218, 43121, 44021, 44922, 45822, 46723, 47626, 48526, 49427, 50328, 51228, 52129, 53032] + hit0 = 1 + data1 = [0, 2221, 2445, 2671, 2897, 3121, 3347, 3573, 3797, 4022, 4247, 4473, 4698, 4923, 5150, 5373, 5600, 5826, 6049, 6275, 6500, 6726, 6951, 7176, 7403, 7627, 7852, 8077, 8303, 8527, 8754, 8979, 9202, 9430, 9654, 9879, 10106, 10329, 10555, 10781, 11005, 11231, 11456, 11682, 11906, 12132, 12357, 12582, 12807, 13034, 13258] + hit1 = 10 + data2 = [0, 12488, 13754, 15022, 16288, 17556, 18821, 20089, 21357, 22625, 23888, 25156, 26423, 27691, 28956, 30224, 31489, 32757, 34026, 35290, 36558, 37825, 39092, 40359, 41627, 42892, 44159, 45425, 46694, 47959, 49227, 50493, 51759, 53027, 54295, 55559, 56827, 58095, 59362, 60630, 61894, 63162, 64428, 65697, 66963, 68229, 69496, 70763, 72029, 73297, 74563] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 0 + self.倍率 *= 2.58 + self.CDR *= 0.9 + + +class 技能18(主动技能): + 名称 = "冥夜裂空" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 3538, 3896, 4256, 4614, 4973, 5330, 5690, 6049, 6408, 6768, 7126, 7485, 7843, 8203, 8562, 8919, 9279, 9637, 9996, 10356, 10714, 11073, 11431, 11791, 12148, 12508, 12868, 13226, 13585, 13944, 14303, 14662, 15019, 15379, 15737, 16096, 16455, 16814, 17173, 17532, 17892, 18247, 18607, 18968, 19325, 19684, 20043, 20402, 20760, 21120] + hit0 = 20 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能19(被动技能): + 名称 = '黑暗本源' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "冥蚀脉冲" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 8091, 8909, 9731, 10552, 11371, 12192, 13012, 13835, 14655, 15474, 16295, 17116, 17938, 18757, 19577, 20398, 21221, 22040, 22861, 23681, 24502, 25323, 26143, 26964, 27783, 28604, 29425, 30247, 31068, 31886, 32708, 33528, 34348, 35170, 35990, 36811, 37632, 38452, 39273, 40094, 40914, 41735, 42553, 43376, 44197, 45018, 45838, 46658, 47480, 48300] + hit0 = 1 + data1 = [0, 4248, 4677, 5109, 5539, 5971, 6401, 6833, 7262, 7694, 8125, 8555, 8987, 9418, 9848, 10279, 10708, 11141, 11570, 12003, 12433, 12864, 13294, 13724, 14156, 14587, 15017, 15450, 15878, 16310, 16742, 17171, 17603, 18034, 18464, 18896, 19325, 19757, 20187, 20619, 21049, 21481, 21911, 22341, 22772, 23203, 23634, 24066, 24495, 24927, 25357] + hit1 = 8 + data2 = [0, 38827, 42767, 46705, 50644, 54583, 58522, 62460, 66400, 70339, 74279, 78216, 82156, 86095, 90033, 93972, 97912, 101849, 105788, 109730, 113669, 117607, 121547, 125485, 129425, 133363, 137301, 141242, 145179, 149119, 153058, 156996, 160935, 164875, 168813, 172752, 176692, 180631, 184568, 188509, 192447, 196385, 200325, 204263, 208202, 212141, 216080, 220018, 223958, 227898, 231838] + hit2 = 1 + + power0 = 1/1.2 # 非黑雷系 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.CDR *= 0.9 + + +class 技能21(主动技能): + 名称 = "幽影暗蚀:寂灭" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 8331, 10263, 12195, 14128, 16059, 17991, 19922, 21854, 23787, 25718, 27650, 29582, 31514, 33446, 35378, 37310, 39242, 41173, 43104, 45037, 46969, 48900, 50832, 52764, 54697, 56629, 58560, 60492, 62424, 64357, 66286, 68218, 70149, 72081, 74013, 75945, 77877, 79809, 81740, 83673, 85605, 87537, 89468, 91399, 93332, 95264, 97196, 99127, 101059, 102992] + hit0 = 1 + data1 = [0, 158291, 194997, 231700, 268405, 305109, 341814, 378520, 415224, 451928, 488634, 525340, 562044, 598749, 635454, 672158, 708862, 745569, 782273, 818979, 855684, 892389, 929094, 965797, 1002504, 1039208, 1075913, 1112618, 1149324, 1186028, 1222731, 1259436, 1296141, 1332847, 1369552, 1406256, 1442961, 1479666, 1516371, 1553076, 1589780, 1626486, 1663192, 1699895, 1736601, 1773306, 1810011, 1846715, 1883422, 1920126, 1956830] + hit1 = 1 + + power0 = 1/1.2 # 非黑雷系 + + +class 技能22(主动技能): + 名称 = "虚空碎灭" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 9600] + 无色消耗 = 7 + data0 = [0, 46934, 51697, 56459, 61221, 65981, 70743, 75505, 80266, 85028, 89790, 94552, 99314, 104073, 108835, 113597, 118359, 123122, 127884, 132643, 137406, 142167, 146927, 151690, 156451, 161212, 165975, 170737, 175499, 180260, 185019, 189782, 194544, 199306, 204067, 208830, 213591, 218351, 223113, 227876, 232636, 237398, 242159, 246920, 251682, 256444, 261206, 265968, 270728, 275491, 280252] + hit0 = 1 + data1 = [0, 1340, 1477, 1614, 1750, 1886, 2022, 2159, 2294, 2428, 2565, 2701, 2837, 2974, 3111, 3245, 3383, 3519, 3656, 3791, 3927, 4062, 4197, 4334, 4470, 4607, 4742, 4879, 5014, 5149, 5286, 5423, 5561, 5694, 5832, 5967, 6103, 6239, 6376, 6512, 6647, 6783, 6919, 7055, 7191, 7327, 7463, 7600, 7735, 7872, 8007] + hit1 = 20 + data2 = [0, 60346, 66467, 72591, 78713, 84834, 90955, 97079, 103200, 109321, 115445, 121565, 127687, 133809, 139931, 146053, 152175, 158299, 164421, 170542, 176663, 182786, 188908, 195029, 201151, 207274, 213396, 219518, 225640, 231761, 237883, 244005, 250129, 256251, 262372, 268494, 274617, 280738, 286859, 292982, 299105, 305226, 311348, 317470, 323591, 329712, 335836, 341956, 348079, 354200, 360325] + hit2 = 1 + + +class 技能23(被动技能): + 名称 = '暗源之蚀' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = "暗·渊灭禁绝" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 16833, 20738, 24641, 28542, 32447, 36350, 40254, 44158, 48061, 51964, 55866, 59770, 63672, 67576, 71480, 75383, 79287, 83190, 87093, 90996, 94901, 98805, 102706, 106611, 110511, 114416, 118320, 122223, 126127, 130030, 133934, 137836, 141740, 145644, 149546, 153450, 157354, 161257, 165159, 169064, 172965, 176868, 180773, 184675, 188580, 192484, 196386, 200291, 204193, 208098] + hit0 = 12 + data1 = [0, 37874, 46658, 55440, 64223, 73003, 81788, 90569, 99352, 108135, 116916, 125700, 134484, 143265, 152046, 160828, 169613, 178395, 187176, 195960, 204742, 213525, 222306, 231089, 239872, 248655, 257437, 266218, 275001, 283786, 292567, 301350, 310131, 318914, 327696, 336479, 345262, 354044, 362825, 371609, 380392, 389174, 397957, 406740, 415522, 424303, 433086, 441868, 450652, 459435, 468217] + hit1 = 8 + + power0 = 1/1.2 # 非黑雷系 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'impaler' + self.名称 = '千魂·暗枪士' + self.角色 = '魔枪士' + self.角色类型 = '输出' + self.职业 = '暗枪士' + self.武器选项 = ['暗矛'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '暗矛' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.93 + + super().__init__(equVersion) diff --git a/api/core/characters/infighter.py b/api/core/characters/infighter.py new file mode 100644 index 00000000..b5ca9928 --- /dev/null +++ b/api/core/characters/infighter.py @@ -0,0 +1,593 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['基本攻击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '基本攻击' + 备注 = '一轮' + 是否主动 = 0 + 关联技能 = ['无'] + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + CD = 1 # 也没有CD + # 共5击,127.96+143.96+158.99+174.97+190.96 + data0 = [int(i*1.093*1.08) for i in [0, 796.84]] + hit0 = 1 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能2(主动技能): + 名称 = "直拳冲击" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [15, 154] + 无色消耗 = 0 + data0 = [0, 468, 514, 562, 610, 658, 705, 753, 800, 848, 893, 943, 990, 1036, 1085, 1133, 1179, 1228, 1275, 1322, 1368, 1417, 1464, 1513, 1559, 1607, 1657, 1701, 1748, 1798, 1844, 1892, 1940, 1988, 2035, 2081, 2131, 2177, 2225, 2270, 2321, 2367, 2413, 2463, 2510, 2556, 2604, 2653, 2699, 2747, 2796, 2842, 2890, 2936, 2985, 3033, 3080, 3126, 3176, 3224, 3268, 3319, 3364, 3411, 3459, 3508, 3555, 3600, 3649, 3698, 3744] + hit0 = 2 + data1 = [0, 1404, 1545, 1689, 1832, 1974, 2117, 2260, 2400, 2543, 2688, 2828, 2971, 3114, 3256, 3397, 3542, 3685, 3827, 3968, 4111, 4253, 4399, 4539, 4679, 4822, 4964, 5107, 5251, 5394, 5535, 5677, 5821, 5962, 6106, 6249, 6391, 6532, 6675, 6819, 6961, 7105, 7246, 7388, 7529, 7673, 7814, 7958, 8101, 8243, 8386, 8529, 8670, 8813, 8957, 9099, 9241, 9384, 9526, 9670, 9812, 9953, 10095, 10236, 10379, 10522, 10665, 10808, 10949, 11092, 11234] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "俯冲直拳" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3.5 + MP = [18, 196] + 无色消耗 = 0 + data0 = [0, 3319, 3653, 3990, 4327, 4664, 5001, 5337, 5674, 6010, 6347, 6684, 7022, 7356, 7694, 8030, 8368, 8704, 9041, 9377, 9715, 10048, 10387, 10723, 11059, 11396, 11733, 12070, 12406, 12742, 13080, 13416, 13752, 14090, 14427, 14763, 15099, 15436, 15773, 16109, 16445, 16783, 17120, 17456, 17793, 18130, 18466, 18802, 19138, 19476, 19812, 20148, 20486, 20823, 21158, 21495, 21831, 22170, 22505, 22842, 23179, 23516, 23852, 24189, 24525, 24863, 25198, 25536, 25873, 26207, 26545] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "俯冲翔拳" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3.5 + MP = [18, 196] + 无色消耗 = 0 + data0 = [0, 3320, 3655, 3990, 4327, 4664, 5002, 5337, 5675, 6010, 6348, 6685, 7021, 7358, 7695, 8030, 8366, 8705, 9041, 9377, 9714, 10052, 10388, 10725, 11060, 11398, 11736, 12071, 12408, 12743, 13081, 13418, 13754, 14090, 14428, 14763, 15099, 15437, 15776, 16110, 16448, 16782, 17122, 17458, 17793, 18130, 18468, 18804, 19141, 19477, 19813, 20150, 20487, 20823, 21160, 21498, 21832, 22171, 22508, 22844, 23180, 23517, 23854, 24192, 24527, 24864, 25200, 25539, 25873, 26210, 26548] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '意念驱动' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 是否主动 = 1 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['泯灭神击', '制裁:怒火疾风', '正义执行:雷米迪奥斯的圣座'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.013 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if 武器类型 == '图腾': + return 0.9 + else: + return 1.0 + + +class 技能6(主动技能): + 名称 = "圣拳锤击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [12, 137] + 无色消耗 = 0 + data0 = [0, 461, 508, 554, 603, 648, 694, 742, 788, 834, 883, 929, 975, 1024, 1070, 1117, 1163, 1210, 1257, 1305, 1350, 1396, 1445, 1491, 1537, 1585, 1632, 1678, 1726, 1772, 1819, 1866, 1913, 1959, 2007, 2052, 2099, 2146, 2193, 2240, 2285, 2335, 2380, 2427, 2474, 2522, 2567, 2615, 2661, 2708, 2755, 2801, 2849, 2896, 2943, 2988, 3037, 3082, 3130, 3177, 3224, 3269, 3318, 3364, 3410, 3458, 3503, 3552, 3596, 3645, 3690] + hit0 = 1 + data1 = [0, 4151, 4572, 4994, 5416, 5837, 6259, 6679, 7101, 7523, 7944, 8366, 8786, 9208, 9629, 10050, 10473, 10894, 11315, 11738, 12159, 12580, 13001, 13422, 13844, 14264, 14686, 15106, 15527, 15949, 16371, 16793, 17214, 17635, 18057, 18476, 18899, 19320, 19741, 20163, 20584, 21007, 21427, 21848, 22270, 22691, 23114, 23535, 23956, 24377, 24798, 25219, 25642, 26063, 26485, 26906, 27326, 27746, 28168, 28590, 29011, 29432, 29853, 30275, 30697, 31118, 31539, 31961, 32382, 32803, 33224] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "俯冲腹拳" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3.5 + MP = [18, 196] + 无色消耗 = 0 + data0 = [0, 3573, 3938, 4298, 4661, 5025, 5387, 5749, 6114, 6476, 6837, 7199, 7563, 7926, 8288, 8652, 9013, 9375, 9740, 10102, 10464, 10827, 11191, 11551, 11915, 12278, 12640, 13003, 13367, 13729, 14090, 14453, 14816, 15180, 15542, 15905, 16266, 16629, 16991, 17355, 17718, 18080, 18443, 18805, 19168, 19531, 19894, 20256, 20620, 20983, 21344, 21706, 22069, 22433, 22795, 23158, 23520, 23882, 24244, 24609, 24971, 25333, 25697, 26058, 26421, 26785, 27147, 27509, 27874, 28236, 28596] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # def 神圣反击攻击力(self): + # # 神圣反击基础百分比与腹拳一样,但在修炼场手动开只有80%(和技巧精通等级相关,10级时80%,每级成长4%) + # # 技巧精通对于俯冲腹拳的额外加成不算在内 + # return int(self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率) + + +class 技能8(被动技能): + 名称 = '技巧精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['所有'] + 关联技能1 = ['俯冲直拳', '俯冲腹拳', '俯冲翔拳'] + 关联技能2 = ['圣拳连击'] + # 关联技能4 = ['神圣反击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(1.10 + 0.015 * (self.等级 - 10), 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10, 5) + + def 加成倍率2(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03, 5) + + # def 加成倍率4(self, 武器类型): + # if self.等级 == 0: + # return 1.0 + # else: + # return round(0.40+0.04 * self.等级, 5) + + +class 技能9(主动技能): + 名称 = "瞬拳" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [22, 231] + 无色消耗 = 0 + data0 = [0, 3568, 3931, 4294, 4656, 5017, 5380, 5743, 6105, 6465, 6828, 7193, 7553, 7916, 8278, 8640, 9002, 9363, 9724, 10088, 10450, 10813, 11175, 11537, 11899, 12261, 12624, 12987, 13347, 13711, 14073, 14436, 14798, 15158, 15520, 15882, 16244, 16608, 16968, 17331, 17695, 18057, 18419, 18780, 19144, 19505, 19868, 20229, 20593, 20954, 21316, 21678, 22040, 22401, 22765, 23125, 23489, 23850, 24213, 24575, 24938, 25301, 25661, 26025, 26387, 26750, 27109, 27472, 27835, 28197, 28560] + hit0 = 1 + data1 = [0, 891, 983, 1074, 1163, 1256, 1344, 1435, 1525, 1615, 1706, 1798, 1888, 1978, 2067, 2160, 2251, 2340, 2432, 2521, 2612, 2703, 2792, 2884, 2976, 3064, 3154, 3245, 3337, 3427, 3516, 3608, 3699, 3788, 3880, 3971, 4060, 4152, 4242, 4331, 4424, 4515, 4604, 4696, 4784, 4876, 4967, 5056, 5147, 5238, 5328, 5419, 5509, 5600, 5691, 5780, 5873, 5962, 6053, 6144, 6233, 6324, 6417, 6505, 6595, 6685, 6776, 6867, 6957, 7049, 7139] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "圣拳连击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [45, 462] + 无色消耗 = 0 + data0 = [0, 1806, 1989, 2173, 2354, 2539, 2722, 2905, 3088, 3270, 3456, 3639, 3822, 4004, 4188, 4371, 4555, 4736, 4920, 5104, 5288, 5472, 5654, 5838, 6020, 6206, 6388, 6571, 6753, 6937, 7123, 7305, 7488, 7671, 7854, 8037, 8221, 8403, 8587, 8769, 8953, 9137, 9319, 9504, 9686, 9870, 10052, 10236, 10419, 10603, 10784, 10969, 11152, 11335, 11520, 11701, 11887, 12070, 12253, 12436, 12618, 12801, 12986, 13168, 13352, 13536, 13718, 13903, 14086, 14268, 14451] + hit0 = 1 + data1 = [0, 2207, 2432, 2655, 2879, 3104, 3327, 3551, 3775, 3999, 4224, 4446, 4672, 4894, 5120, 5343, 5567, 5791, 6014, 6239, 6463, 6688, 6910, 7137, 7359, 7582, 7807, 8031, 8256, 8479, 8703, 8928, 9153, 9375, 9598, 9824, 10047, 10272, 10494, 10721, 10944, 11166, 11391, 11614, 11840, 12063, 12287, 12511, 12737, 12959, 13184, 13407, 13630, 13856, 14079, 14304, 14526, 14749, 14976, 15198, 15423, 15646, 15872, 16095, 16317, 16542, 16767, 16991, 17214, 17439, 17663] + hit1 = 1 + data2 = [0, 2675, 2945, 3219, 3489, 3761, 4033, 4305, 4575, 4847, 5120, 5390, 5662, 5934, 6206, 6476, 6748, 7021, 7292, 7563, 7834, 8107, 8376, 8648, 8921, 9192, 9462, 9734, 10006, 10278, 10549, 10822, 11093, 11364, 11635, 11907, 12179, 12450, 12723, 12992, 13264, 13536, 13808, 14079, 14350, 14623, 14893, 15165, 15437, 15709, 15981, 16251, 16521, 16794, 17066, 17338, 17610, 17882, 18150, 18421, 18694, 18966, 19237, 19510, 19782, 20051, 20322, 20595, 20867, 21138, 21411] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + +# class 技能10(主动技能): + # 名称 = '神圣反击' + # 所在等级 = 30 + # 等级上限 = 11 + # 学习间隔 = 3 + # 等级精通 = 1 + # MP = [22, 231] + # data0 = [0]*11 + # data1 = [0] + # CD = 6 + # TP上限 = 1 + + # def 等效百分比(self, **argv): + # char: Character = argv.get('char', {}) + # 腹拳 = char.get_skill_by_name("俯冲腹拳").神圣反击攻击力( + # )/char.get_skill_by_name("技巧精通").加成倍率4('') + # return super().等效百分比(**argv)+腹拳+self.TP等级*303 + + +class 技能11(主动技能): + 名称 = "破碎之锤" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [45, 462] + 无色消耗 = 0 + data0 = [0, 4443, 4896, 5346, 5795, 6247, 6697, 7148, 7599, 8051, 8500, 8951, 9403, 9854, 10305, 10756, 11207, 11657, 12107, 12560, 13010, 13460, 13913, 14362, 14814, 15265, 15714, 16166, 16616, 17068, 17518, 17968, 18421, 18871, 19321, 19774, 20223, 20674, 21124, 21577, 22028, 22477, 22930, 23380, 23828, 24282, 24732, 25182, 25631, 26085, 26534, 26984, 27438, 27887, 28338, 28791, 29239, 29691, 30141, 30592, 31044, 31493, 31946, 32396, 32845, 33299, 33748, 34197, 34649, 35100, 35551] + hit0 = 1 + data1 = [0, 2961, 3262, 3563, 3864, 4165, 4464, 4766, 5065, 5367, 5667, 5969, 6269, 6568, 6869, 7170, 7471, 7770, 8071, 8373, 8673, 8974, 9273, 9573, 9877, 10176, 10475, 10775, 11076, 11378, 11678, 11978, 12279, 12580, 12881, 13181, 13482, 13782, 14082, 14384, 14685, 14983, 15285, 15585, 15886, 16187, 16488, 16787, 17089, 17390, 17689, 17991, 18291, 18591, 18893, 19192, 19493, 19792, 20093, 20395, 20697, 20996, 21296, 21595, 21899, 22199, 22498, 22799, 23097, 23402, 23702] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能12(主动技能): + 名称 = "刺拳猛击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [50, 546] + 无色消耗 = 0 + data0 = [0, 842, 925, 1011, 1094, 1180, 1265, 1350, 1435, 1521, 1607, 1692, 1778, 1863, 1950, 2035, 2120, 2205, 2290, 2376, 2459, 2546, 2631, 2715, 2800, 2885, 2971, 3056, 3142, 3227, 3312, 3397, 3484, 3569, 3655, 3741, 3825, 3911, 3994, 4080, 4165, 4251, 4337, 4421, 4506, 4591, 4676, 4761, 4848, 4932, 5018, 5102, 5188, 5275, 5358, 5446, 5530, 5615, 5701, 5786, 5871, 5957, 6042, 6126, 6212, 6296, 6382, 6466, 6553, 6639, 6723] + hit0 = 10 + data1 = [0, 2508, 2764, 3018, 3271, 3526, 3782, 4034, 4291, 4544, 4800, 5054, 5308, 5563, 5817, 6072, 6327, 6581, 6835, 7090, 7345, 7599, 7854, 8108, 8362, 8618, 8872, 9128, 9382, 9635, 9891, 10145, 10401, 10654, 10907, 11163, 11418, 11672, 11925, 12182, 12436, 12690, 12944, 13199, 13454, 13709, 13962, 14218, 14472, 14728, 14981, 15237, 15490, 15744, 15999, 16254, 16510, 16762, 17016, 17273, 17527, 17784, 18035, 18291, 18546, 18800, 19053, 19309, 19564, 19818, 20072] + hit1 = 1 + data2 = [0, 1631, 1795, 1961, 2125, 2291, 2456, 2623, 2789, 2954, 3119, 3285, 3449, 3616, 3782, 3946, 4113, 4277, 4443, 4610, 4774, 4939, 5105, 5270, 5437, 5603, 5766, 5933, 6096, 6261, 6429, 6594, 6759, 6925, 7090, 7254, 7422, 7586, 7752, 7917, 8082, 8248, 8415, 8581, 8746, 8910, 9076, 9241, 9407, 9573, 9738, 9903, 10070, 10232, 10401, 10564, 10730, 10895, 11061, 11225, 11393, 11557, 11722, 11888, 12053, 12218, 12385, 12551, 12716, 12881, 13045] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + if self.TP等级 > 0: + self.hit0 = 10 + self.TP等级 + self.power1 = 1 + self.TP等级 * self.TP成长 + self.power2 = 1 + self.TP等级 * self.TP成长 + return super().等效百分比(**argv) + + +class 技能13(主动技能): + 名称 = "旋涡重拳" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [158, 1327] + 无色消耗 = 1 + data0 = [0, 818, 902, 986, 1068, 1151, 1234, 1317, 1400, 1484, 1568, 1651, 1733, 1815, 1900, 1982, 2066, 2149, 2233, 2313, 2398, 2481, 2565, 2648, 2731, 2814, 2897, 2979, 3063, 3147, 3229, 3312, 3396, 3478, 3562, 3645, 3728, 3810, 3895, 3977, 4062, 4144, 4228, 4309, 4393, 4475, 4560, 4643, 4726, 4808, 4893, 4974, 5058, 5142, 5225, 5307, 5391, 5474, 5558, 5640, 5723, 5806, 5889, 5972, 6057, 6140, 6223, 6304, 6389, 6470, 6554] + hit0 = 10 + data1 = [0, 12291, 13537, 14785, 16031, 17277, 18524, 19772, 21019, 22266, 23513, 24759, 26007, 27253, 28501, 29748, 30995, 32242, 33488, 34735, 35983, 37231, 38477, 39721, 40970, 42216, 43463, 44710, 45957, 47204, 48450, 49697, 50943, 52192, 53440, 54687, 55934, 57180, 58427, 59674, 60921, 62167, 63415, 64660, 65908, 67155, 68402, 69649, 70897, 72145, 73390, 74638, 75884, 77132, 78379, 79626, 80872, 82119, 83366, 84611, 85860, 87104, 88353, 89599, 90847, 92093, 93340, 94588, 95834, 97082, 98328] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.4 + self.power1 = 1.35 + + +class 技能14(主动技能): + 名称 = "神圣组合拳" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 4490, 4944, 5398, 5855, 6312, 6766, 7223, 7676, 8130, 8586, 9044, 9498, 9952, 10409, 10865, 11320, 11777, 12232, 12686, 13141, 13597, 14053, 14509, 14963, 15419, 15874, 16330, 16786, 17242, 17696, 18152, 18608, 19063, 19516, 19974, 20429, 20884, 21340, 21795, 22250, 22707, 23162, 23618, 24070, 24527, 24983, 25440, 25894, 26349, 26804, 27260, 27716, 28173, 28626, 29082, 29536, 29995, 30448, 30903, 31359, 31815, 32270, 32727, 33181, 33636, 34092, 34548, 35004, 35460, 35913] + hit0 = 1 + data1 = [0, 5855, 6448, 7041, 7637, 8231, 8826, 9419, 10013, 10608, 11201, 11795, 12389, 12982, 13576, 14172, 14766, 15360, 15953, 16547, 17142, 17736, 18330, 18923, 19516, 20110, 20707, 21300, 21896, 22488, 23081, 23676, 24270, 24865, 25458, 26052, 26647, 27241, 27835, 28430, 29022, 29616, 30211, 30804, 31399, 31992, 32586, 33181, 33776, 34370, 34965, 35556, 36150, 36745, 37339, 37934, 38526, 39120, 39716, 40310, 40905, 41499, 42092, 42687, 43280, 43874, 44468, 45061, 45655, 46251, 46844] + hit1 = 1 + data2 = [0, 9173, 10105, 11033, 11965, 12896, 13827, 14758, 15687, 16619, 17548, 18479, 19410, 20340, 21271, 22202, 23133, 24065, 24995, 25926, 26856, 27787, 28717, 29648, 30578, 31509, 32439, 33370, 34301, 35231, 36163, 37095, 38025, 38956, 39886, 40816, 41746, 42677, 43608, 44539, 45469, 46398, 47330, 48263, 49194, 50124, 51053, 51985, 52914, 53846, 54777, 55706, 56637, 57567, 58499, 59427, 60361, 61292, 62222, 63154, 64083, 65013, 65945, 66874, 67806, 68736, 69666, 70596, 71527, 72461, 73391] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.26 + + +class 技能15(主动技能): + 名称 = "极速飓风拳" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [311, 2612] + 无色消耗 = 2 + data0 = [0, 3047, 3358, 3668, 3975, 4285, 4596, 4905, 5213, 5522, 5833, 6142, 6451, 6761, 7069, 7379, 7688, 7997, 8305, 8617, 8928, 9234, 9544, 9852, 10163, 10473, 10779, 11090, 11400, 11709, 12019, 12330, 12638, 12946, 13255, 13566, 13874, 14184, 14493, 14803, 15112, 15421, 15732, 16039, 16351, 16661, 16967, 17277, 17587, 17896, 18207, 18514, 18824, 19133, 19443, 19750, 20060, 20372, 20680, 20988, 21297, 21609, 21917, 22227, 22536, 22843, 23154, 23465, 23771, 24082, 24393] + hit0 = 10 + data1 = [0, 13068, 14392, 15718, 17044, 18369, 19697, 21021, 22345, 23673, 24998, 26323, 27648, 28976, 30300, 31627, 32951, 34278, 35602, 36929, 38255, 39580, 40907, 42231, 43559, 44881, 46210, 47534, 48858, 50187, 51509, 52838, 54162, 55488, 56816, 58140, 59466, 60791, 62117, 63441, 64768, 66094, 67420, 68745, 70072, 71396, 72723, 74048, 75375, 76698, 78026, 79351, 80676, 82002, 83328, 84653, 85979, 87306, 88630, 89956, 91282, 92607, 93934, 95256, 96585, 97908, 99237, 100562, 101888, 103213, 104539] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.04 + self.hit0 = 6 + self.hit1 = 0 + self.CD = 15 + self.基础释放次数 = 2 + + +class 技能16(被动技能): + 名称 = '干涸之泉' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "泯灭神击" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [800, 6720] + 无色消耗 = 5 + data0 = [0, 10523, 12964, 15404, 17844, 20283, 22724, 25164, 27605, 30045, 32484, 34926, 37366, 39807, 42246, 44686, 47128, 49568, 52007, 54448, 56888, 59330, 61771, 64209, 66650, 69091, 71531, 73971, 76411, 78851, 81293, 83732, 86173, 88613, 91053, 93495, 95934, 98374, 100815, 103254, 105694, 108135, 110575, 113016, 115455, 117896, 120337, 122777, 125216, 127657, 130098] + hit0 = 1 + data1 = [0, 16265, 20035, 23805, 27579, 31349, 35121, 38892, 42663, 46435, 50206, 53978, 57748, 61520, 65292, 69062, 72834, 76606, 80376, 84149, 87920, 91690, 95464, 99235, 103005, 106776, 110548, 114320, 118091, 121862, 125634, 129404, 133177, 136948, 140718, 144491, 148262, 152032, 155805, 159576, 163346, 167119, 170889, 174661, 178434, 182204, 185976, 189748, 193519, 197290, 201061] + hit1 = 1 + data2 = [0, 21047, 25926, 30807, 35689, 40570, 45451, 50331, 55212, 60092, 64973, 69853, 74734, 79613, 84495, 89375, 94257, 99136, 104017, 108898, 113777, 118659, 123540, 128422, 133301, 138182, 143063, 147942, 152823, 157704, 162584, 167465, 172345, 177227, 182108, 186986, 191868, 196748, 201631, 206510, 211392, 216272, 221152, 226032, 230913, 235794, 240674, 245554, 250436, 255315, 260197] + hit2 = 1 + data3 = [0, 47835, 58925, 70020, 81111, 92205, 103296, 114388, 125481, 136573, 147666, 158757, 169849, 180943, 192034, 203126, 214220, 225312, 236404, 247496, 258590, 269680, 280775, 291865, 302956, 314051, 325141, 336235, 347326, 358419, 369511, 380603, 391697, 402788, 413881, 424972, 436065, 447158, 458249, 469343, 480435, 491525, 502619, 513711, 524804, 535896, 546988, 558080, 569172, 580266, 591357] + hit3 = 1 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 9 else 1) + + +class 技能18(主动技能): + 名称 = "破碎之拳" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 35 + MP = [350, 680] + 无色消耗 = 2 + data0 = [0, 2705, 2980, 3256, 3530, 3804, 4079, 4353, 4628, 4903, 5177, 5452, 5727, 6002, 6274, 6550, 6825, 7099, 7373, 7648, 7923, 8196, 8471, 8748, 9022, 9297, 9570, 9846, 10119, 10394, 10668, 10944, 11218, 11492, 11767, 12041, 12316, 12590, 12865, 13139, 13415, 13690, 13965, 14239, 14513, 14788, 15061, 15337, 15611, 15885, 16162] + hit0 = 10 + data1 = [0, 6765, 7451, 8138, 8826, 9514, 10197, 10884, 11570, 12258, 12945, 13628, 14316, 15004, 15690, 16377, 17061, 17748, 18435, 19124, 19810, 20494, 21180, 21868, 22555, 23240, 23927, 24614, 25300, 25988, 26674, 27358, 28045, 28733, 29420, 30105, 30791, 31478, 32165, 32851, 33539, 34223, 34911, 35598, 36282, 36969, 37656, 38342, 39030, 39717, 40403] + hit1 = 1 + data2 = [0, 11278, 12421, 13564, 14709, 15853, 16997, 18143, 19284, 20428, 21575, 22718, 23861, 25007, 26150, 27293, 28439, 29582, 30726, 31873, 33014, 34158, 35305, 36447, 37591, 38734, 39878, 41023, 42168, 43312, 44454, 45599, 46744, 47888, 49032, 50175, 51321, 52464, 53607, 54752, 55898, 57041, 58184, 59328, 60473, 61617, 62762, 63904, 65046, 66193, 67337] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1+0.3*1.78 + self.CDR *= 0.88 + + +class 技能19(主动技能): + 名称 = "破坏之拳" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [350, 2700] + 无色消耗 = 2 + data0 = [0, 51365, 56574, 61789, 66998, 72209, 77420, 82632, 87841, 93054, 98264, 103474, 108689, 113898, 119108, 124322, 129531, 134742, 139953, 145164, 150373, 155588, 160798, 166008, 171222, 176431, 181641, 186853, 192063, 197274, 202488, 207698, 212907, 218121, 223331, 228541, 233753, 238963, 244173, 249386, 254598, 259807, 265021, 270230, 275440, 280652, 285864, 291073, 296286, 301496, 306707] + hit0 = 1 + data1 = [0, 5706, 6286, 6863, 7444, 8023, 8600, 9180, 9760, 10339, 10918, 11495, 12077, 12655, 13232, 13812, 14391, 14972, 15550, 16127, 16708, 17286, 17865, 18445, 19025, 19602, 20181, 20761, 21340, 21919, 22497, 23076, 23656, 24235, 24813, 25394, 25971, 26550, 27130, 27708, 28289, 28866, 29444, 30026, 30603, 31184, 31761, 32340, 32921, 33498, 34078] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能20(主动技能): + 名称 = "仲裁怒击" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 75314, 82954, 90593, 98233, 105875, 113516, 121158, 128797, 136439, 144080, 151719, 159360, 167000, 174640, 182281, 189920, 197562, 205202, 212845, 220484, 228126, 235766, 243406, 251046, 258685, 266327, 273968, 281609, 289248, 296890, 304532, 312173, 319811, 327452, 335093, 342732, 350374, 358014, 365656, 373295, 380935, 388576, 396217, 403858, 411498, 419140, 426779, 434421, 442061, 449700] + hit0 = 1 + data1 = [0, 32277, 35551, 38826, 42101, 45374, 48648, 51923, 55198, 58473, 61749, 65023, 68297, 71570, 74845, 78121, 81394, 84669, 87944, 91218, 94494, 97769, 101041, 104315, 107590, 110865, 114140, 117414, 120688, 123963, 127238, 130514, 133786, 137062, 140336, 143610, 146886, 150161, 153434, 156710, 159984, 163257, 166531, 169807, 173081, 176355, 179631, 182905, 186180, 189455, 192728] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能21(被动技能): + 名称 = '正义惩戒' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "超重拳" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 24546, 27037, 29527, 32017, 34507, 36999, 39488, 41978, 44470, 46959, 49450, 51940, 54431, 56920, 59410, 61902, 64392, 66880, 69373, 71862, 74352, 76843, 79335, 81823, 84312, 86804, 89295, 91786, 94275, 96766, 99258, 101745, 104236, 106726, 109218, 111707, 114196, 116689, 119178, 121669, 124157, 126651, 129138, 131631, 134120, 136611, 139100, 141592, 144082, 146573] + hit0 = 1 + data1 = [0, 98188, 108150, 118111, 128073, 138034, 147996, 157957, 167917, 177879, 187838, 197800, 207762, 217723, 227686, 237646, 247607, 257569, 267530, 277492, 287453, 297413, 307376, 317337, 327298, 337259, 347220, 357180, 367142, 377104, 387066, 397026, 406987, 416948, 426911, 436871, 446833, 456793, 466756, 476718, 486678, 496641, 506600, 516561, 526521, 536483, 546444, 556406, 566368, 576328, 586291] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能23(主动技能): + 名称 = "制裁:怒火疾风" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 5787, 7128, 8470, 9812, 11154, 12496, 13841, 15181, 16524, 17865, 19208, 20548, 21890, 23233, 24574, 25918, 27258, 28601, 29943, 31285, 32628, 33969, 35311, 36652, 37996, 39337, 40679, 42021, 43363, 44705, 46046, 47388, 48732, 50073, 51417, 52757, 54099, 55442, 56783, 58126, 59466, 60810, 62152, 63494, 64835, 66176, 67519, 68860, 70203, 71546] + hit0 = 19 + data1 = [0, 8439, 10398, 12355, 14313, 16269, 18227, 20185, 22143, 24099, 26055, 28015, 29971, 31928, 33885, 35843, 37800, 39759, 41715, 43672, 45631, 47587, 49544, 51501, 53460, 55417, 57374, 59332, 61289, 63245, 65202, 67162, 69118, 71076, 73032, 74991, 76947, 78906, 80862, 82819, 84778, 86734, 88691, 90649, 92608, 94564, 96523, 98479, 100436, 102394, 104350] + hit1 = 2 + data2 = [0, 127821, 157461, 187100, 216741, 246382, 276021, 305661, 335302, 364942, 394581, 424222, 453862, 483501, 513141, 542782, 572420, 602061, 631702, 661340, 690981, 720622, 750261, 779901, 809542, 839181, 868820, 898461, 928101, 957741, 987381, 1017020, 1046662, 1076302, 1105941, 1135581, 1165222, 1194860, 1224501, 1254142, 1283779, 1313420, 1343061, 1372698, 1402339, 1431982, 1461619, 1491258, 1520900, 1550540, 1580179] + hit2 = 1 + + +class 技能24(主动技能): + 名称 = "正义铁拳" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 39754, 43788, 47820, 51854, 55887, 59921, 63954, 67987, 72020, 76051, 80088, 84119, 88152, 92183, 96219, 100251, 104284, 108319, 112351, 116384, 120417, 124452, 128484, 132516, 136549, 140582, 144615, 148649, 152682, 156715, 160749, 164781, 168814, 172849, 176882, 180913, 184948, 188981, 193013, 197048, 201080, 205112, 209147, 213179, 217213, 221245, 225279, 229310, 233346, 237378] + hit0 = 1 + data1 = [0, 3974, 4378, 4782, 5186, 5587, 5992, 6394, 6799, 7201, 7605, 8006, 8411, 8812, 9217, 9622, 10024, 10428, 10831, 11235, 11636, 12041, 12442, 12847, 13249, 13653, 14057, 14461, 14866, 15267, 15671, 16071, 16477, 16880, 17285, 17687, 18091, 18491, 18896, 19302, 19705, 20108, 20511, 20913, 21315, 21720, 22122, 22527, 22932, 23335, 23737] + hit1 = 15 + data2 = [0, 99386, 109470, 119553, 129635, 139719, 149800, 159883, 169969, 180050, 190132, 200216, 210299, 220381, 230464, 240547, 250630, 260713, 270796, 280877, 290961, 301044, 311128, 321210, 331291, 341375, 351457, 361540, 371625, 381706, 391789, 401872, 411955, 422036, 432120, 442203, 452287, 462370, 472451, 482533, 492618, 502702, 512785, 522866, 532948, 543032, 553116, 563199, 573281, 583363, 593446] + hit2 = 1 + + +class 技能25(被动技能): + 名称 = '绝对正义' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = "正义执行:雷米迪奥斯的圣座" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 254600, 313639, 372676, 431714, 490752, 549790, 608828, 667867, 726904, 785942, 844978, 904019, 963057, 1022092, 1081130, 1140169, 1199207, 1258245, 1317282, 1376320, 1435359, 1494396, 1553435, 1612472, 1671510, 1730549, 1789586, 1848624, 1907662, 1966700, 2025738, 2084776, 2143815, 2202852, 2261888, 2320928, 2379967, 2439004, 2498042, 2557080, 2616118, 2675156, 2734191, 2793230, 2852269, 2911307, 2970345, 3029383, 3088421, 3147459] + hit0 = 1 + data1 = [0, 381901, 470456, 559014, 647571, 736128, 824685, 913242, 1001799, 1090356, 1178913, 1267470, 1356027, 1444583, 1533142, 1621698, 1710256, 1798812, 1887366, 1975926, 2064481, 2153038, 2241595, 2330151, 2418709, 2507267, 2595823, 2684381, 2772937, 2861494, 2950052, 3038608, 3127164, 3215722, 3304278, 3392836, 3481392, 3569948, 3658505, 3747064, 3835619, 3924176, 4012733, 4101290, 4189848, 4278404, 4366962, 4455518, 4544072, 4632634, 4721189] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'infighter' + self.名称 = '神启·蓝拳圣使' + self.角色 = '圣职者(男)' + self.角色类型 = '输出' + self.职业 = '蓝拳圣使' + # 用来筛CP武器的 + self.转职 = '蓝拳圣使' + self.武器选项 = ['图腾', '战斧', '镰刀', '念珠', '十字架'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '图腾' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.99 + + super().__init__(equVersion) diff --git a/api/core/characters/inquistor.py b/api/core/characters/inquistor.py new file mode 100644 index 00000000..e753c34d --- /dev/null +++ b/api/core/characters/inquistor.py @@ -0,0 +1,553 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['神焰'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "惩戒十字" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 292] + 无色消耗 = 0 + data0 = [0, 2174, 2398, 2618, 2839, 3058, 3284, 3501, 3725, 3944, 4167, 4387, 4610, 4829, 5051, 5268, 5494, 5711, 5932, 6155, 6375, 6597, 6817, 7040, 7259, 7480, 7702, 7924, 8142, 8368, 8585, 8809, 9028, 9252, 9471, 9693, 9913, 10136, 10353, 10573, 10797, 11016, 11238, 11459, 11680, 11902, 12123, 12344, 12564, 12783, 13007, 13226, 13450, 13670, 13893, 14111, 14336, 14554, 14778, 14995, 15216, 15439, 15657, 15881, 16100, 16322, 16541, 16765, 16984, 17205, 17427] + hit0 = 1 + data1 = [0, 3267, 3598, 3930, 4261, 4594, 4922, 5255, 5587, 5918, 6251, 6582, 6914, 7244, 7578, 7908, 8239, 8571, 8902, 9236, 9565, 9898, 10228, 10562, 10892, 11224, 11556, 11885, 12219, 12550, 12882, 13214, 13544, 13877, 14206, 14539, 14869, 15204, 15535, 15867, 16197, 16526, 16860, 17191, 17524, 17854, 18187, 18519, 18848, 19181, 19511, 19845, 20176, 20508, 20839, 21169, 21503, 21834, 22165, 22495, 22829, 23161, 23491, 23823, 24154, 24486, 24818, 25148, 25479, 25811, 26144] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "净化火焰瓶" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 292] + 无色消耗 = 0 + data0 = [0, 4937, 5436, 5941, 6442, 6943, 7442, 7943, 8445, 8945, 9446, 9947, 10453, 10950, 11454, 11952, 12454, 12955, 13456, 13955, 14458, 14958, 15461, 15963, 16460, 16965, 17465, 17966, 18466, 18966, 19468, 19971, 20468, 20972, 21472, 21975, 22476, 22976, 23478, 23977, 24481, 24978, 25481, 25983, 26483, 26983, 27487, 27988, 28489, 28989, 29489, 29993, 30492, 30994, 31493, 31994, 32495, 32998, 33499, 33999, 34503, 35002, 35503, 36003, 36505, 37006, 37507, 38007, 38510, 39012, 39513] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "裁决之击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 8125, 8951, 9775, 10599, 11425, 12249, 13074, 13896, 14720, 15546, 16370, 17193, 18018, 18847, 19669, 20493, 21319, 22140, 22971, 23792, 24615, 25439, 26267, 27090, 27915, 28738, 29566, 30390, 31212, 32035, 32861, 33686, 34510, 35336, 36159, 36986, 37810, 38635, 39456, 40285, 41107, 41932, 42756, 43579, 44407, 45231, 46054, 46880, 47705, 48532, 49354, 50177, 51003, 51828, 52651, 53477, 54300, 55126, 55951, 56772, 57597, 58424, 59247, 60071, 60898, 61721, 62546, 63372, 64195, 65018] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "火焰精华" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 8 + MP = [10, 120] + 无色消耗 = 0 + data0 = [0, 6792, 7875, 8959, 10039, 11124, 12204, 13288, 14367, 15454, 16535, 17620, 18703, 19785, 20870, 21951, 23034, 24116, 25199, 26281, 27367, 28445, 29532, 30613, 31696, 32779, 33863, 34946, 36027, 37112, 38193, 39277, 40355, 41443, 42524, 43606, 44690, 45773, 46855, 47938, 49022, 50103, 51187, 52270, 53355, 54435, 55515, 56600, 57684, 58767, 59849, 60934, 62016, 63097, 64182, 65264, 66345, 67430, 68511, 69593, 70678, 71759, 72844, 73922, 75010, 76091, 77175, 78254, 79340, 80419, 81505] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '战斧精通' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1.05 + 0.01 * self.等级, 5) + else: + return round(0.95 + 0.02 * self.等级, 5) + + +class 技能6(主动技能): + 名称 = "神焰" + 所在等级 = 25 + 等级上限 = 20 + 学习间隔 = 5 + 等级精通 = 10 + CD = 7 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411, 4411] + hit0 = 1 + + # 基础精通TP + TP成长 = 0.1 + TP上限 = 5 + + 关联技能 = ['所有'] + 关联技能1 = ['所有'] + 非关联技能1 = ['火焰精华'] + + # 圣火造成额外5%持续伤害 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.05 + + # 除火焰精华外技能均加成 + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1.00+0.01*self.等级, 3) + else: + return round(1.10+0.02*(self.等级-10), 3) + + +class 技能7(主动技能): + 名称 = "审判重击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [30, 500] + 无色消耗 = 0 + data0 = [0, 5204, 5736, 6264, 6790, 7321, 7848, 8377, 8903, 9431, 9961, 10489, 11016, 11543, 12077, 12603, 13133, 13661, 14188, 14716, 15243, 15770, 16302, 16828, 17356, 17885, 18415, 18941, 19473, 20001, 20528, 21056, 21583, 22115, 22641, 23169, 23697, 24225, 24752, 25284, 25812, 26339, 26867, 27394, 27927, 28454, 28981, 29508, 30038, 30565, 31095, 31625, 32151, 32680, 33208, 33735, 34265, 34793, 35319, 35850, 36377, 36906, 37434, 37965, 38494, 39020, 39548, 40078, 40605, 41132, 41661] + hit0 = 1 + data1 = [0, 5533, 6092, 6653, 7214, 7776, 8340, 8901, 9462, 10021, 10582, 11144, 11704, 12269, 12831, 13390, 13951, 14513, 15074, 15638, 16200, 16759, 17321, 17879, 18441, 19005, 19566, 20128, 20691, 21250, 21812, 22371, 22935, 23497, 24056, 24617, 25181, 25739, 26301, 26866, 27424, 27986, 28546, 29110, 29672, 30231, 30794, 31357, 31916, 32477, 33037, 33602, 34163, 34723, 35283, 35846, 36406, 36968, 37527, 38092, 38653, 39213, 39776, 40337, 40897, 41459, 42025, 42583, 43144, 43705, 44266] + hit1 = 1 + TP成长 = 0.2 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + if self.TP等级 > 0: + self.power1 = 1 + self.TP等级 * self.TP成长 + return super().等效百分比(**argv) + +class 技能8(主动技能): + 名称 = "圣焰冲锋" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [68, 364] + 无色消耗 = 0 + data0 = [0, 9351, 10299, 11248, 12197, 13145, 14094, 15043, 15991, 16940, 17888, 18837, 19786, 20734, 21683, 22632, 23580, 24529, 25477, 26426, 27375, 28323, 29272, 30221, 31169, 32118, 33067, 34015, 34964, 35912, 36861, 37810, 38758, 39707, 40656, 41604, 42553, 43501, 44450, 45399, 46347, 47296, 48245, 49193, 50142, 51091, 52039, 52988, 53936, 54885, 55834, 56782, 57731, 58680, 59628, 60577, 61525, 62474, 63423, 64371, 65320, 66269, 67217, 68166, 69115, 70063, 71012, 71960, 72909, 73858, 74806] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "神焰洗礼" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [45, 850] + 无色消耗 = 1 + data0 = [0, 17111, 18849, 20589, 22323, 24061, 25795, 27533, 29266, 31006, 32741, 34474, 36213, 37950, 39686, 41424, 43159, 44897, 46631, 48365, 50102, 51841, 53579, 55315, 57050, 58787, 60522, 62259, 63993, 65732, 67465, 69205, 70941, 72678, 74414, 76150, 77886, 79624, 81356, 83094, 84830, 86568, 88306, 90040, 91777, 93514, 95246, 96984, 98721, 100460, 102196, 103931, 105667, 107404, 109140, 110876, 112613, 114351, 116084, 117823, 119558, 121297, 123031, 124769, 126504, 128241, 129975, 131710, 133449, 135188, 136921] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + def 净化之焰适用(self): + return int(self.data0[self.等级] * 0.3 * (1 + self.TP成长 * self.TP等级) * self.倍率) + + +class 技能10(主动技能): + 名称 = "神焰斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [45, 850] + 无色消耗 = 1 + data0 = [0, 2168, 2386, 2606, 2828, 3047, 3265, 3485, 3705, 3928, 4146, 4367, 4588, 4809, 5027, 5245, 5468, 5688, 5904, 6127, 6348, 6565, 6786, 7007, 7227, 7448, 7666, 7887, 8110, 8325, 8547, 8767, 8989, 9207, 9427, 9649, 9867, 10086, 10307, 10529, 10749, 10967, 11188, 11410, 11627, 11846, 12068, 12289, 12506, 12729, 12948, 13165, 13388, 13607, 13828, 14050, 14267, 14488, 14711, 14926, 15147, 15369, 15590, 15808, 16026, 16250, 16470, 16686, 16909, 17128, 17344] + hit0 = 1 + data1 = [0, 19516, 21496, 23478, 25457, 27436, 29418, 31397, 33379, 35360, 37338, 39317, 41300, 43279, 45258, 47242, 49220, 51202, 53180, 55161, 57142, 59122, 61103, 63081, 65063, 67044, 69022, 71002, 72984, 74962, 76944, 78926, 80903, 82884, 84865, 86844, 88825, 90806, 92786, 94767, 96747, 98725, 100707, 102688, 104664, 106648, 108628, 110607, 112587, 114570, 116545, 118528, 120510, 122491, 124470, 126450, 128431, 130408, 132389, 134371, 136350, 138329, 140310, 142291, 144272, 146253, 148229, 150212, 152193, 154170, 156153] + hit1 = 0 + data2 = [0, 19527, 21508, 23487, 25469, 27451, 29431, 31413, 33396, 35373, 37358, 39339, 41319, 43298, 45282, 47262, 49244, 51220, 53205, 55187, 57165, 59147, 61132, 63110, 65092, 67074, 69053, 71033, 73016, 74997, 76978, 78960, 80939, 82924, 84903, 86882, 88865, 90845, 92827, 94809, 96788, 98770, 100750, 102731, 104712, 106696, 108676, 110658, 112639, 114621, 116600, 118582, 120561, 122544, 124527, 126504, 128490, 130469, 132448, 134431, 136412, 138393, 140373, 142354, 144337, 146316, 148297, 150277, 152262, 154241, 156223] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + 形态 = ["焚烧", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "焚烧": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 1 + if 形态 == "常规": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + + def 装备护石(self, char): + self.power0 = 0 + self.倍率 *= 1.38 + self.CDR *= 0.85 + + +class 技能11(主动技能): + 名称 = "神焰怒火" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 3204, 3529, 3853, 4180, 4503, 4830, 5155, 5480, 5808, 6131, 6456, 6779, 7106, 7432, 7758, 8083, 8407, 8731, 9059, 9384, 9709, 10032, 10356, 10683, 11008, 11335, 11660, 11984, 12309, 12636, 12962, 13285, 13613, 13936, 14261, 14588, 14913, 15238, 15562, 15889, 16212, 16539, 16867, 17189, 17517, 17837, 18165, 18492, 18814, 19142, 19465, 19790, 20115, 20443, 20767, 21091, 21416, 21740, 22067, 22394, 22717, 23044, 23366, 23693, 24020, 24345, 24670, 24995, 25319, 25643] + hit0 = 5 + data1 = [0, 10683, 11770, 12852, 13936, 15019, 16104, 17189, 18273, 19357, 20443, 21524, 22611, 23693, 24777, 25861, 26947, 28030, 29113, 30198, 31283, 32368, 33451, 34538, 35619, 36700, 37789, 38869, 39955, 41041, 42123, 43208, 44291, 45378, 46460, 47544, 48629, 49713, 50797, 51881, 52966, 54049, 55137, 56220, 57302, 58387, 59472, 60556, 61637, 62726, 63806, 64895, 65976, 67058, 68142, 69227, 70313, 71396, 72481, 73566, 74646, 75735, 76817, 77901, 78985, 80072, 81153, 82236, 83323, 84406, 85492] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 2 + self.倍率 *= 1.09 + self.CDR *= 0.85 + + +class 技能12(主动技能): + 名称 = "净化之焰" + 所在等级 = 40 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + CD = 20 + MP = [288, 288] + 无色消耗 = 1 + # 伤害为神焰洗礼的0.3 + + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + self.data0 = [0, char.get_skill_by_name("神焰洗礼").净化之焰适用()] + self.hit0 = 1 + return super().等效百分比(**argv) + + +class 技能13(主动技能): + 名称 = "行刑" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [250, 2500] + 无色消耗 = 2 + data0 = [0, 41714, 45943, 50177, 54409, 58640, 62873, 67108, 71337, 75570, 79803, 84033, 88266, 92494, 96728, 100961, 105191, 109425, 113657, 117888, 122120, 126353, 130583, 134816, 139050, 143281, 147513, 151748, 155975, 160208, 164439, 168671, 172906, 177135, 181369, 185602, 189830, 194064, 198297, 202524, 206761, 210994, 215224, 219457, 223687, 227920, 232152, 236382, 240615, 244849, 249079, 253313, 257546, 261772, 266008, 270240, 274470, 278704, 282935, 287167, 291399, 295630, 299862, 304096, 308323, 312562, 316794, 321022, 325256, 329488, 333719] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能14(被动技能): + 名称 = '异端烙印' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.075 + 0.015 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "火刑" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 7403] + 无色消耗 = 5 + data0 = [0, 4918, 6057, 7198, 8340, 9478, 10621, 11762, 12900, 14042, 15180, 16323, 17465, 18602, 19745, 20883, 22024, 23166, 24304, 25447, 26585, 27727, 28867, 30008, 31148, 32287, 33427, 34572, 35708, 36851, 37991, 39130, 40273, 41413, 42553, 43694, 44834, 45975, 47115, 48255, 49397, 50538, 51676, 52817, 53956, 55099, 56238, 57379, 58518, 59662, 60801] + hit0 = 1 + data1 = [0, 14756, 18175, 21596, 25019, 28439, 31863, 35285, 38702, 42125, 45548, 48969, 52390, 55809, 59231, 62654, 66076, 69497, 72919, 76339, 79762, 83184, 86604, 90026, 93446, 96868, 100289, 103713, 107134, 110555, 113975, 117397, 120817, 124241, 127662, 131084, 134505, 137925, 141346, 144768, 148191, 151612, 155033, 158454, 161877, 165298, 168721, 172139, 175561, 178983, 182405] + hit1 = 1 + data2 = [0, 5252, 6467, 7689, 8907, 10125, 11342, 12560, 13778, 14996, 16214, 17432, 18649, 19869, 21088, 22306, 23523, 24740, 25958, 27178, 28394, 29612, 30833, 32051, 33267, 34485, 35703, 36921, 38138, 39356, 40575, 41793, 43011, 44228, 45448, 46666, 47883, 49101, 50321, 51538, 52754, 53973, 55193, 56411, 57629, 58845, 60064, 61281, 62498, 63716, 64936] + hit2 = 15 + + def 等效百分比(self, **argv): + if self.等级 >= 6: + self.power2 = 1.1 + return super().等效百分比(**argv) + + +class 技能16(主动技能): + 名称 = "神焰漩涡" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 3104, 3420, 3736, 4053, 4364, 4681, 4995, 5312, 5627, 5942, 6256, 6573, 6887, 7206, 7517, 7833, 8149, 8467, 8782, 9098, 9413, 9724, 10042, 10355, 10674, 10989, 11304, 11620, 11934, 12246, 12564, 12878, 13192, 13508, 13825, 14141, 14457, 14767, 15084, 15400, 15715, 16033, 16347, 16659, 16978, 17289, 17611, 17922, 18237, 18552] + hit0 = 10 + data1 = [0, 6557, 7226, 7889, 8555, 9219, 9887, 10552, 11217, 11883, 12547, 13214, 13879, 14545, 15208, 15875, 16542, 17207, 17874, 18537, 19206, 19867, 20534, 21201, 21863, 22533, 23196, 23862, 24530, 25191, 25861, 26522, 27192, 27856, 28521, 29188, 29855, 30519, 31183, 31851, 32513, 33181, 33848, 34513, 35177, 35842, 36510, 37174, 37841, 38505, 39170] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 13 + self.power0 = 1.01 + self.power1 = 1.14 + + +class 技能17(主动技能): + 名称 = "逆罪灭绝" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [390, 1598] + 无色消耗 = 2 + data0 = [0, 22601, 24894, 27188, 29480, 31773, 34066, 36359, 38652, 40945, 43238, 45531, 47823, 50117, 52410, 54703, 56995, 59288, 61582, 63875, 66167, 68460, 70753, 73047, 75339, 77632, 79925, 82218, 84511, 86804, 89097, 91390, 93682, 95976, 98269, 100562, 102854, 105147, 107441, 109734, 112026, 114319, 116612, 118906, 121198, 123491, 125784, 128077, 130370, 132663, 134956] + hit0 = 1 + data1 = [0, 33903, 37341, 40781, 44221, 47660, 51100, 54538, 57978, 61418, 64857, 68297, 71736, 75175, 78615, 82054, 85493, 88933, 92372, 95812, 99252, 102690, 106130, 109569, 113009, 116449, 119887, 123327, 126767, 130206, 133646, 137084, 140524, 143964, 147403, 150843, 154281, 157721, 161161, 164600, 168040, 171479, 174918, 178358, 181797, 185237, 188676, 192115, 195555, 198995, 202434] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1+0.95+0.26 + + +class 技能18(主动技能): + 名称 = "裁决轮回斩" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 5416, 5966, 6517, 7069, 7618, 8169, 8717, 9268, 9819, 10369, 10917, 11465, 12016, 12567, 13117, 13667, 14218, 14766, 15316, 15867, 16418, 16969, 17518, 18067, 18617, 19165, 19715, 20264, 20815, 21365, 21916, 22464, 23016, 23566, 24114, 24665, 25216, 25767, 26317, 26863, 27413, 27962, 28516, 29064, 29615, 30163, 30715, 31265, 31816, 32364] + hit0 = 3 + data1 = [0, 86317, 95077, 103832, 112592, 121347, 130101, 138860, 147619, 156376, 165130, 173889, 182647, 191407, 200161, 208917, 217673, 226431, 235188, 243945, 252704, 261461, 270217, 278976, 287729, 296487, 305247, 314003, 322757, 331517, 340276, 349034, 357787, 366544, 375303, 384062, 392816, 401573, 410332, 419087, 427848, 436602, 445360, 454117, 462874, 471631, 480386, 489146, 497903, 506662, 515414] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 2 + self.power0 = 3/2 # 原本3hit伤害被整合为2hit + self.power1 = 1.26*1.17 + self.CDR *= 0.92 + + +class 技能19(被动技能): + 名称 = '定罪法则' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 非关联技能 = ['火焰精华'] + 关联技能1 = ['火焰精华'] + 冷却关联技能 = ['火焰精华', '神焰'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return (round(1.073 + 0.017 * self.等级, 5)) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.85 + + +class 技能20(主动技能): + 名称 = "车轮刑" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [600, 5000] + 无色消耗 = 5 + data0 = [0, 3522, 3881, 4236, 4597, 4954, 5311, 5669, 6026, 6382, 6741, 7099, 7456, 7814, 8171, 8527, 8887, 9244, 9601, 9958, 10317, 10673, 11031, 11390, 11747, 12106, 12462, 12818, 13176, 13534, 13892, 14248, 14609, 14963, 15321, 15682, 16042, 16399, 16757, 17114, 17470, 17828, 18187, 18543, 18901, 19259, 19616, 19973, 20334, 20688, 21047] + hit0 = 1 + data1 = [0, 3522, 3881, 4236, 4597, 4954, 5311, 5669, 6026, 6382, 6741, 7099, 7456, 7814, 8171, 8527, 8887, 9244, 9601, 9958, 10317, 10673, 11031, 11390, 11747, 12106, 12462, 12818, 13176, 13534, 13892, 14248, 14609, 14963, 15321, 15682, 16042, 16399, 16757, 17114, 17470, 17828, 18187, 18543, 18901, 19259, 19616, 19973, 20334, 20688, 21047] + hit1 = 25 + data2 = [0, 22613, 24910, 27201, 29497, 31792, 34085, 36381, 38673, 40969, 43262, 45559, 47851, 50146, 52441, 54734, 57029, 59323, 61617, 63912, 66209, 68501, 70794, 73091, 75381, 77678, 79969, 82267, 84562, 86858, 89151, 91444, 93739, 96030, 98328, 100622, 102916, 105211, 107504, 109798, 112096, 114388, 116682, 118976, 121272, 123564, 125860, 128157, 130448, 132745, 135036] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能21(主动技能): + 名称 = "炎狱祭坛:炮烙" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 30923, 38091, 45262, 52431, 59604, 66775, 73943, 81113, 88284, 95457, 102628, 109799, 116967, 124138, 131310, 138481, 145650, 152818, 159991, 167162, 174334, 181502, 188675, 195843, 203016, 210186, 217359, 224527, 231698, 238868, 226763, 233373, 239981, 246590, 253197, 259808, 266416, 273025, 279635, 286245, 292852, 299461, 306070, 312679, 319287, 325896, 332505, 339115, 345723, 352334] + hit0 = 3 + data1 = [0, 139153, 171418, 203687, 235956, 268221, 300488, 332759, 365025, 397293, 429562, 461829, 494094, 526363, 558631, 590900, 623164, 655432, 687700, 719966, 752237, 784506, 816773, 849040, 881307, 913576, 945843, 978109, 1010377, 1042643, 1074912, 1020443, 1050181, 1079922, 1109659, 1139400, 1169141, 1198880, 1228620, 1258359, 1288099, 1317839, 1347579, 1377318, 1407058, 1436798, 1466537, 1496277, 1526016, 1555756, 1585496] + hit1 = 1 + + +class 技能22(主动技能): + 名称 = "补赎逆十字" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6667] + 无色消耗 = 7 + data0 = [0, 79466, 87528, 95590, 103652, 111715, 119775, 127839, 135901, 143963, 152024, 160086, 168149, 176210, 184272, 192334, 200395, 208458, 216521, 224582, 232644, 240707, 248769, 256830, 264892, 272955, 281014, 289077, 297142, 305201, 313263, 321326, 329387, 337449, 345510, 353573, 361634, 369696, 377761, 385821, 393883, 401947, 410007, 418069, 426130, 434193, 442254, 450316, 458378, 466441, 474503] + hit0 = 1 + data1 = [0, 99332, 109412, 119489, 129567, 139644, 149720, 159797, 169875, 179953, 190032, 200108, 210187, 220262, 230339, 240417, 250495, 260573, 270651, 280728, 290806, 300881, 310959, 321036, 331116, 341192, 351271, 361348, 371423, 381501, 391579, 401656, 411735, 421812, 431891, 441965, 452043, 462120, 472199, 482276, 492355, 502431, 512509, 522585, 532662, 542739, 552819, 562896, 572974, 583051, 593127] + hit1 = 1 + data2 = [0, 1989, 2187, 2386, 2591, 2789, 2993, 3196, 3397, 3595, 3797, 4002, 4201, 4405, 4603, 4806, 5009, 5211, 5410, 5612, 5815, 6015, 6219, 6418, 6619, 6824, 7025, 7224, 7425, 7628, 7831, 8033, 8232, 8436, 8635, 8840, 9041, 9240, 9441, 9644, 9847, 10046, 10250, 10450, 10653, 10855, 11053, 11256, 11457, 11662, 11860] + hit2 = 20 + + +class 技能23(被动技能): + 名称 = '狂炎告解' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = "无间业火:罪灭神威" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 6758, 8327, 9893, 11461, 13028, 14596, 16162, 17729, 19297, 20864, 22432, 23999, 25568, 27135, 28701, 30269, 31836, 33404, 34972, 36538, 38105, 39673, 41240, 42806, 44374, 45941, 47509, 49075, 50644, 52211, 53780, 55345, 56912, 58481, 60048, 61617, 63183, 64751, 66318, 67884, 69451, 71018, 72587, 74154, 75722, 77289, 78857, 80424, 81991, 83558] + hit0 = 1 + data1 = [0, 60832, 74939, 89044, 103149, 117256, 131361, 145469, 159574, 173681, 187787, 201893, 216001, 230103, 244211, 258316, 272423, 286529, 300636, 314741, 328847, 342953, 357060, 371165, 385271, 399377, 413483, 427591, 441696, 455802, 469908, 484014, 498120, 512227, 526333, 540439, 554544, 568652, 582757, 596864, 610968, 625075, 639180, 653286, 667392, 681498, 695605, 709711, 723818, 737923, 752030] + hit1 = 1 + data2 = [0, 473140, 582854, 692568, 802282, 911996, 1021713, 1131424, 1241138, 1350853, 1460566, 1570282, 1679995, 1789707, 1899423, 2009136, 2118850, 2228564, 2338276, 2447992, 2557706, 2667420, 2777132, 2886846, 2996562, 3106276, 3215989, 3325702, 3435417, 3545131, 3654844, 3764561, 3874273, 3983986, 4093700, 4203414, 4313128, 4422842, 4532554, 4642271, 4751985, 4861700, 4971414, 5081126, 5190841, 5300554, 5410268, 5519982, 5629694, 5739410, 5849122] + hit2 = 1 + data3 = [0, 16899, 20816, 24734, 28652, 32570, 36490, 40407, 44327, 48245, 52162, 56082, 59998, 63918, 67836, 71753, 75673, 79590, 83510, 87427, 91346, 95265, 99182, 103102, 107020, 110938, 114857, 118774, 122692, 126611, 130530, 134448, 138366, 142284, 146202, 150121, 154039, 157958, 161877, 165795, 169714, 173632, 177550, 181468, 185386, 189305, 193223, 197141, 201060, 204979, 208896] + hit3 = 8 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'inquistor' + self.名称 = '神启·异端审判者' + self.角色 = '圣职者(女)' + self.角色类型 = '输出' + self.职业 = '异端审判者' + # 用来筛CP武器的 + self.转职 = '异端审判者' + self.武器选项 = ['战斧'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '战斧' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.93 + + super().__init__(equVersion) diff --git a/api/core/characters/kunoichi.py b/api/core/characters/kunoichi.py new file mode 100644 index 00000000..a6f85940 --- /dev/null +++ b/api/core/characters/kunoichi.py @@ -0,0 +1,834 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 六道 = True + 灼伤转换 = [] + 灼伤倍率 = 0.25 + + def 等效百分比(self, **argv): + # 20%转化为灼伤,直伤和异常比为4:1 + for i in self.灼伤转换: + if len(getattr(self, 'data{}'.format(str(i)), [])) > 0: + setattr(self, '灼伤data{}'.format(str(i)), [ + int(j*self.灼伤倍率) for j in getattr(self, 'data{}'.format(str(i)), [])]) + setattr(self, '灼伤hit{}'.format(str(i)), + getattr(self, 'hit{}'.format(str(i)), 0)) + setattr(self, '灼伤power{}'.format(str(i)), + getattr(self, 'power{}'.format(str(i)), 0)) + return super().等效百分比(**argv) + + +class 技能0(主动技能): + 名称 = '投掷苦无' + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 2.5 + MP = [8, 91] + 无色消耗 = 0 + data0 = [0, 382, 432, 482, 530, 582, 631, 681, 730, 782, 830, 881, 930, 979, 1029, 1080, 1129, 1179, 1229, 1279, 1329, 1379, 1427, 1478, 1528, 1578, 1627, 1678, 1726, 1778, 1827, 1876, 1926, 1976, 2026, 2076, 2126, 2175, 2225, 2276, 2324, 2375, 2424, 2474, 2524, 2575, 2623, 2674, 2723, 2774, 2823, 2873, 2922, 2972, 3023, 3072, 3122, 3172, 3220, 3272, 3321, 3371, 3420, 3471, 3520, 3571, 3619, 3670, 3719, 3771, 3819] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 六道 = False + + +class 技能1(主动技能): + 名称 = '焰刃' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [15, 168] + 无色消耗 = 0 + data0 = [0, 1319, 1494, 1664, 1836, 2008, 2179, 2354, 2522, 2697, 2868, 3041, 3215, 3384, 3557, 3730, 3901, 4076, 4244, 4418, 4591, 4762, 4937, 5105, 5280, 5451, 5624, 5795, 5966, 6140, 6313, 6483, 6656, 6827, 7001, 7173, 7344, 7517, 7688, 7862, 8034, 8203, 8378, 8548, 8723, 8894, 9065, 9238, 9410, 9583, 9754, 9925, 10100, 10270, 10445, 10614, 10786, 10960, 11131, 11305, 11475, 11647, 11821, 11992, 12165, 12336, 12508, 12682, 12853, 13025, 13197] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + 六道 = False + + +class 技能2(主动技能): + 名称 = "火遁·豪火球之术" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7.5 + MP = [15, 150] + 无色消耗 = 0 + data0 = [0, 120, 133, 144, 159, 170, 184, 195, 208, 219, 234, 244, 258, 270, 282, 292, 306, 317, 331, 343, 355, 367, 381, 392, 402, 417, 428, 441, 450, 465, 476, 489, 500, 515, 526, 540, 551, 564, 575, 588, 599, 614, 625, 638, 647, 662, 674, 688, 698, 711, 722, 736, 748, 761, 771, 786, 797, 810, 822, 835, 845, 860, 872, 884, 897, 908, 919, 933, 946, 955, 969] + hit0 = 12 + data1 = [0, 561, 609, 657, 706, 758, 807, 854, 903, 953, 1003, 1051, 1100, 1149, 1199, 1249, 1297, 1347, 1395, 1443, 1493, 1543, 1592, 1640, 1689, 1740, 1790, 1837, 1887, 1934, 1986, 2033, 2083, 2132, 2183, 2232, 2279, 2330, 2379, 2429, 2476, 2525, 2575, 2624, 2673, 2722, 2773, 2821, 2872, 2919, 2969, 3017, 3066, 3115, 3165, 3215, 3262, 3312, 3362, 3412, 3460, 3509, 3558, 3608, 3655, 3705, 3755, 3805, 3854, 3902, 3952] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 灼伤转换 = [0, 1] + + +class 技能3(被动技能): + 名称 = '忍术精通' + 所在等级 = 15 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['无'] + 冷却关联技能 = ['投掷苦无', '焰刃', '火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', + '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照', '勾玉之火·镰鼬'] + + def CD缩减倍率(self, 武器类型): + return 0.8 + + +# 25%转化为灼伤,基础攻击力-20% +class 技能4(主动技能): + 名称 = "忍法:幻影手里剑" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [91, 910] + 无色消耗 = 0 + data0 = [0, 172, 191, 207, 226, 244, 261, 278, 296, 313, 331, 349, 366, 382, 400, 419, 437, 453, 471, 488, 507, 523, 541, 558, 576, 595, 611, 628, 647, 665, 680, 699, 717, 734, 753, 768, 788, 804, 822, 840, 858, 874, 892, 909, 926, 944, 962, 980, 997, 1015, 1031, 1050, 1067, 1084, 1102, 1121, 1136, 1155, 1173, 1190, 1207, 1224, 1243, 1262, 1276, 1294, 1314, 1329, 1347, 1364, 1383] + hit0 = 10 + data1 = [0, 172, 191, 207, 226, 244, 261, 278, 296, 313, 331, 349, 366, 382, 400, 419, 437, 453, 471, 488, 507, 523, 541, 558, 576, 595, 611, 628, 647, 665, 680, 699, 717, 734, 753, 768, 788, 804, 822, 840, 858, 874, 892, 909, 926, 944, 962, 980, 997, 1015, 1031, 1050, 1067, 1084, 1102, 1121, 1136, 1155, 1173, 1190, 1207, 1224, 1243, 1262, 1276, 1294, 1314, 1329, 1347, 1364, 1383] + hit1 = 20 + data2 = [0, 172, 191, 207, 226, 244, 261, 278, 296, 313, 331, 349, 366, 382, 400, 419, 437, 453, 471, 488, 507, 523, 541, 558, 576, 595, 611, 628, 647, 665, 680, 699, 717, 734, 753, 768, 788, 804, 822, 840, 858, 874, 892, 909, 926, 944, 962, 980, 997, 1015, 1031, 1050, 1067, 1084, 1102, 1121, 1136, 1155, 1173, 1190, 1207, 1224, 1243, 1262, 1276, 1294, 1314, 1329, 1347, 1364, 1383] + hit2 = 10 + hit5 = 10 + TP成长 = 0.1 + TP上限 = 7 + + 灼伤转换 = [0, 1, 2] + + +# 25%转化为灼伤,基础攻击力-20% +class 技能5(主动技能): + 名称 = "火遁·飓风煞" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 17 + MP = [61, 610] + 无色消耗 = 0 + data0 = [0, 122, 137, 149, 160, 174, 184, 197, 210, 223, 235, 248, 261, 271, 283, 298, 310, 323, 336, 346, 359, 372, 385, 397, 410, 421, 433, 446, 461, 472, 484, 496, 509, 521, 534, 547, 558, 572, 584, 597, 609, 622, 634, 646, 660, 669, 684, 698, 709, 722, 733, 746, 759, 771, 785, 795, 808, 820, 833, 846, 860, 869, 882, 896, 908, 922, 932, 946, 957, 970, 984] + hit0 = 25 + data1 = [0, 901, 993, 1083, 1174, 1266, 1359, 1450, 1543, 1632, 1722, 1813, 1904, 1998, 2089, 2180, 2271, 2363, 2455, 2546, 2638, 2729, 2820, 2910, 3003, 3094, 3185, 3275, 3369, 3460, 3551, 3643, 3732, 3825, 3914, 4008, 4099, 4191, 4282, 4373, 4464, 4558, 4649, 4741, 4830, 4922, 5013, 5104, 5196, 5288, 5379, 5469, 5561, 5653, 5745, 5838, 5928, 6019, 6109, 6201, 6294, 6384, 6475, 6567, 6659, 6751, 6842, 6932, 7024, 7113, 7206] + hit1 = 1 + + TP成长 = 0.1 + TP上限 = 7 + + 灼伤转换 = [0, 1] + + +class 技能6(被动技能): + 名称 = '苦无精通' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.01 * self.等级, 5) + + +class 技能7(被动技能): + 名称 = '烈焰印记' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.3 + 0.01 * self.等级, 5) + + +# 25%转化为灼伤,基础攻击力-20% youwenti +class 技能8(主动技能): + 名称 = "火遁·螺旋手里剑" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [91, 910] + 无色消耗 = 0 + data0 = [0, 192, 210, 229, 248, 268, 287, 307, 326, 347, 364, 384, 403, 423, 443, 462, 480, 501, 521, 539, 559, 579, 597, 618, 635, 656, 676, 693, 713, 732, 752, 773, 791, 809, 829, 848, 869, 887, 907, 926, 946, 964, 985, 1004, 1024, 1043, 1060, 1081, 1101, 1120, 1141, 1157, 1178, 1198, 1216, 1236, 1256, 1274, 1294, 1312, 1332, 1353, 1371, 1391, 1410, 1430, 1449, 1469, 1486, 1507, 1526] + hit0 = 15 + data1 = [0, 787, 868, 946, 1026, 1107, 1187, 1266, 1347, 1425, 1506, 1587, 1665, 1745, 1825, 1905, 1984, 2065, 2145, 2223, 2304, 2385, 2464, 2543, 2624, 2703, 2782, 2863, 2943, 3023, 3102, 3182, 3263, 3342, 3421, 3502, 3582, 3660, 3741, 3822, 3900, 3980, 4062, 4142, 4220, 4299, 4381, 4459, 4539, 4621, 4700, 4778, 4859, 4940, 5018, 5099, 5178, 5258, 5338, 5418, 5498, 5579, 5657, 5736, 5819, 5897, 5976, 6057, 6136, 6215, 6297] + hit1 = 1 + TP成长 = 0 + TP上限 = 7 + + 灼伤转换 = [0, 1] + + def 等效百分比(self, **argv): + if self.TP等级 == 0: + self.hit0 = 15 + self.hit1 = 1 + else: + self.hit0 = 15 - self.TP等级*2-1 + self.power1 = self.TP等级 + 1 + + return super().等效百分比(**argv) + + +class 技能9(主动技能): + 名称 = '忍法:残影术' + 所在等级 = 35 + 等级上限 = 11 + 基础等级 = 1 + 是否有伤害 = 0 + MP = [128, 1280] + 关联技能 = ['投掷苦无', '焰刃', '火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法:替身术', '火遁·炎天道', '火遁·蟾蜍油炎弹', + '火遁·炎舞天璇', '火遁·冥炎业火阵', '八岐大蛇', '火遁·风魔手里剑', '忍法:飞燕手里剑', '天照', '勾玉之火·镰鼬', '火炎灼空:草雉剑', '火源限界·八咫乌'] + 额外倍率 = 0 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(0.98 + 0.02 * self.等级, 5) + + def 六道倍率(self): + if self.等级 == 0: + return 1.0 + else: + return round(0.98 + 0.02 * self.等级 + self.额外倍率, 5)/round(0.98 + 0.02 * self.等级, 5) + + +class 技能10(主动技能): + 名称 = "忍法:替身术" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 25 + MP = [91, 910] + 无色消耗 = 0 + data0 = [0, 2886, 3347, 3807, 4268, 4728, 5185, 5646, 6107, 6571, 7027, 7490, 7950, 8410, 8869, 9331, 9790, 10250, 10711, 11169, 11631, 12090, 12550, 13013, 13473, 13933, 14392, 14852, 15313, 15774, 16234, 16691, 17152, 17613, 18073, 18533, 18997, 19455, 19916, 20376, 20835, 21294, 21755, 22214, 22675, 23136, 23594, 24056, 24518, 24976, 25439, 25898, 26356, 26817, 27279, 27735, 28197, 28658, 29117, 29579, 30039, 30495, 30960, 31422, 31879, 32340, 32800, 33261, 33720, 34181, 34642] + hit0 = 1 + data1 = [0, 1731, 2009, 2285, 2562, 2837, 3115, 3387, 3664, 3944, 4215, 4494, 4770, 5046, 5322, 5596, 5873, 6152, 6427, 6702, 6978, 7254, 7533, 7807, 8085, 8357, 8634, 8913, 9186, 9463, 9738, 10017, 10293, 10569, 10845, 11119, 11396, 11674, 11948, 12225, 12502, 12776, 13055, 13330, 13607, 13880, 14156, 14434, 14709, 14986, 15260, 15539, 15816, 16089, 16367, 16642, 16919, 17195, 17471, 17746, 18024, 18301, 18578, 18851, 19127, 19407, 19679, 19957, 20230, 20508, 20786] + hit1 = 1 + data2 = [0, 7622, 8835, 10051, 11266, 12482, 13696, 14912, 16126, 17343, 18556, 19770, 20987, 22197, 23418, 24628, 25847, 27059, 28279, 29491, 30703, 31922, 33133, 34354, 35564, 36781, 37995, 39207, 40426, 41638, 42857, 44068, 45283, 46499, 47714, 48928, 50142, 51358, 52573, 53788, 55003, 56219, 57432, 58650, 59862, 61079, 62294, 63510, 64724, 65937, 67155, 68368, 69586, 70798, 72013, 73229, 74442, 75659, 76874, 78090, 79304, 80516, 81734, 82947, 84165, 85375, 86592, 87808, 89023, 90236, 91452] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 六道 = False + + +class 技能11(主动技能): + 名称 = "火遁·炎天道" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [128, 1280] + 无色消耗 = 1 + data0 = [0, 262, 287, 317, 339, 366, 392, 420, 447, 473, 500, 525, 555, 580, 606, 630, 659, 687, 711, 741, 765, 792, 818, 845, 873, 898, 927, 950, 980, 1004, 1031, 1056, 1081, 1110, 1136, 1163, 1188, 1217, 1242, 1270, 1296, 1322, 1350, 1373, 1403, 1427, 1454, 1481, 1506, 1534, 1560, 1587, 1613, 1642, 1667, 1695, 1721, 1748, 1775, 1800, 1827, 1850, 1882, 1905, 1932, 1958, 1986, 2012, 2036, 2064, 2090] + hit0 = 1 + data1 = [0, 785, 863, 944, 1022, 1101, 1182, 1263, 1342, 1423, 1501, 1580, 1659, 1739, 1817, 1899, 1977, 2057, 2138, 2216, 2297, 2377, 2453, 2533, 2614, 2694, 2774, 2855, 2932, 3011, 3092, 3172, 3251, 3330, 3408, 3489, 3568, 3649, 3727, 3810, 3888, 3965, 4047, 4125, 4203, 4285, 4364, 4444, 4525, 4605, 4685, 4762, 4842, 4922, 5000, 5080, 5160, 5240, 5319, 5400, 5479, 5558, 5637, 5715, 5794, 5876, 5956, 6037, 6113, 6193, 6275] + hit1 = 0 + data2 = [0, 521, 575, 628, 682, 735, 791, 843, 896, 946, 1000, 1052, 1108, 1159, 1213, 1265, 1318, 1372, 1424, 1477, 1530, 1586, 1639, 1693, 1741, 1796, 1849, 1901, 1953, 2008, 2061, 2115, 2167, 2222, 2273, 2325, 2379, 2432, 2487, 2539, 2591, 2643, 2697, 2751, 2802, 2855, 2910, 2963, 3017, 3067, 3121, 3176, 3229, 3282, 3331, 3385, 3439, 3492, 3545, 3600, 3652, 3706, 3757, 3811, 3865, 3917, 3971, 4025, 4077, 4130, 4181] + hit2 = 1 + data3 = [0, 4857, 5348, 5842, 6334, 6827, 7319, 7812, 8306, 8798, 9293, 9782, 10275, 10768, 11262, 11754, 12247, 12737, 13231, 13724, 14217, 14711, 15204, 15695, 16188, 16682, 17174, 17667, 18160, 18652, 19146, 19639, 20127, 20621, 21115, 21607, 22100, 22593, 23086, 23577, 24071, 24562, 25055, 25550, 26040, 26534, 27028, 27520, 28014, 28505, 28998, 29491, 29985, 30476, 30968, 31459, 31951, 32447, 32938, 33432, 33926, 34417, 34910, 35403, 35895, 36388, 36880, 37373, 37866, 38357, 38850] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 灼伤转换 = [0, 1, 2, 3] + 是否有护石 = 1 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.hit0 = 1 + self.hit1 = 0 + elif 形态 == "空中": + self.hit0 = 0 + self.hit1 = 1 + + def 装备护石(self, char): + self.power3 = 1.08 + self.倍率 *= 1.18*1.0 + + +class 技能12(主动技能): + 名称 = "火遁·蟾蜍油炎弹" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [164, 1640] + 无色消耗 = 1 + data0 = [0, 222, 245, 266, 289, 311, 333, 356, 377, 401, 423, 445, 468, 490, 512, 534, 558, 580, 602, 625, 650, 669, 693, 717, 739, 760, 784, 807, 830, 850, 874, 898, 917, 941, 964, 986, 1007, 1030, 1054, 1076, 1098, 1120, 1142, 1165, 1187, 1209, 1233, 1254, 1276, 1299, 1320, 1344, 1368, 1391, 1415, 1436, 1458, 1481, 1501, 1526, 1548, 1571, 1592, 1616, 1639, 1661, 1683, 1706, 1728, 1750, 1772] + hit0 = 3 + data1 = [0, 883, 974, 1066, 1156, 1246, 1336, 1424, 1515, 1605, 1695, 1786, 1877, 1965, 2056, 2144, 2235, 2324, 2416, 2504, 2597, 2686, 2774, 2865, 2954, 3045, 3133, 3223, 3315, 3405, 3493, 3585, 3674, 3763, 3853, 3944, 4034, 4125, 4215, 4304, 4393, 4483, 4573, 4661, 4755, 4843, 4933, 5024, 5113, 5203, 5292, 5381, 5474, 5563, 5653, 5743, 5833, 5923, 6013, 6101, 6194, 6284, 6374, 6463, 6554, 6642, 6731, 6820, 6912, 7002, 7092] + hit1 = 1 + data2 = [0, 7092, 7811, 8533, 9251, 9973, 10692, 11410, 12131, 12849, 13569, 14290, 15010, 15727, 16446, 17167, 17884, 18605, 19324, 20042, 20764, 21482, 22204, 22923, 23641, 24362, 25082, 25800, 26522, 27241, 27959, 28680, 29399, 30119, 30838, 31559, 32276, 32996, 33717, 34436, 35156, 35877, 36595, 37313, 38036, 38754, 39471, 40192, 40912, 41631, 42351, 43072, 43792, 44509, 45229, 45949, 46670, 47388, 48109, 48827, 49546, 50267, 50987, 51708, 52427, 53145, 53866, 54584, 55304, 56026, 56744] + hit2 = 1 + data3 = [0, 222, 245, 266, 289, 311, 333, 356, 377, 401, 423, 445, 468, 490, 512, 534, 558, 580, 602, 625, 650, 669, 693, 717, 739, 760, 784, 807, 830, 850, 874, 898, 917, 941, 964, 986, 1007, 1030, 1054, 1076, 1098, 1120, 1142, 1165, 1187, 1209, 1233, 1254, 1276, 1299, 1320, 1344, 1368, 1391, 1415, 1436, 1458, 1481, 1501, 1526, 1548, 1571, 1592, 1616, 1639, 1661, 1683, 1706, 1728, 1750, 1772] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 灼伤转换 = [0, 1, 2, 3] + 是否有护石 = 1 + + def 装备护石(self, char): + self.power2 = 1.19 + self.倍率 *= 1.14 + self.CDR *= 0.88 + + +class 技能13(主动技能): + 名称 = '忍法:六道轮回' + 所在等级 = 40 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['火遁·豪火球之术', '忍法:幻影手里剑', '火遁·飓风煞', '火遁·螺旋手里剑', '忍法:替身术', + '火遁·炎天道', '火遁·蟾蜍油炎弹', '火遁·炎舞天璇', '八岐大蛇', '火遁·风魔手里剑', '天照', '勾玉之火·镰鼬'] + 六道技能显示 = [] + 六道 = False + CD = 30 + 是否有伤害 = 1 + + 自定义描述 = 1 + + def 技能描述(self, 武器类型): + temp = '' + temp += "CD:" + str(self.CD)+"
" + temp += '加成倍率:80%
' + temp += '关联技能:' + try: + for i in range(len(self.六道技能显示) - 1): + temp += self.六道技能显示[i] + ',' + temp += self.六道技能显示[len(self.六道技能显示) - 1] + except Exception: + temp += '无' + return temp + + def 加成倍率(self, 武器类型): + return 1.0 + + +class 技能14(主动技能): + 名称 = "火遁·炎舞天璇" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [311, 3110] + 无色消耗 = 2 + data0 = [0, 511, 562, 616, 668, 717, 769, 819, 874, 926, 975, 1028, 1081, 1132, 1184, 1234, 1288, 1339, 1391, 1441, 1493, 1548, 1599, 1650, 1701, 1752, 1806, 1858, 1908, 1962, 2012, 2063, 2115, 2169, 2219, 2271, 2321, 2375, 2426, 2478, 2531, 2582, 2635, 2684, 2737, 2789, 2841, 2893, 2946, 2995, 3048, 3099, 3153, 3204, 3255, 3307, 3358, 3410, 3464, 3515, 3566, 3617, 3669, 3723, 3773, 3825, 3877, 3929, 3979, 4031, 4085] + hit0 = 8 + data1 = [0, 155, 169, 184, 201, 215, 230, 247, 262, 278, 294, 307, 325, 341, 354, 370, 387, 401, 417, 433, 449, 464, 479, 494, 511, 527, 539, 558, 573, 591, 605, 618, 637, 650, 668, 680, 696, 712, 730, 744, 758, 776, 789, 807, 819, 838, 853, 866, 884, 898, 916, 929, 946, 961, 975, 992, 1007, 1023, 1039, 1056, 1069, 1085, 1102, 1117, 1132, 1148, 1164, 1179, 1196, 1209, 1227] + hit1 = 25 + data2 = [0, 4213, 4641, 5066, 5492, 5920, 6348, 6774, 7202, 7629, 8056, 8482, 8911, 9339, 9767, 10191, 10620, 11045, 11475, 11902, 12329, 12756, 13183, 13610, 14039, 14465, 14892, 15319, 15745, 16174, 16601, 17029, 17456, 17882, 18308, 18735, 19164, 19594, 20020, 20448, 20872, 21298, 21728, 22154, 22582, 23009, 23436, 23862, 24291, 24718, 25147, 25573, 26001, 26426, 26855, 27281, 27708, 28135, 28562, 28990, 29419, 29847, 30271, 30698, 31125, 31555, 31981, 32409, 32836, 33263, 33689] + hit2 = 1 + TP成长 = 0.10 + TP上限 = 5 + + 灼伤转换 = [0, 1, 2] + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 3 + self.power1 = 2.38 + self.CDR *= 0.9 + + +class 技能15(被动技能): + 名称 = '暗炎残星' + 所在等级 = 45 + 等级上限 = 11 + 学习间隔 = 5 + 等级精通 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.09 + 0.01 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = '毕方之印' + 是否主动 = 0 + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + CD = 1 + # 该部分待测试,持续部分固定,但爆炸的时间点还需研究 + # 火烙印 持续部分每2.5s一跳 + data0 = [0, 169, 196, 223, 250, 277, 304, 331, 358, 385, 412, 439, 466, 492, 519, 546, 573, 600, 627, 654, 681, 708, 735, 762, 789, 816, 843, 870, 897, 924, 951, 978, 1005, 1031, 1058, 1085, 1112, 1139, 1166, 1193, 1220, 1247, 1274, 1301, 1328, 1355, 1382, 1409, 1436, 1463, 1490] + hit0 = 0.4 + data1 = [0, 423, 490, 557, 625, 692, 760, 827, 894, 962, 1029, 1096, 1164, 1231, 1299, 1366, 1433, 1501, 1568, 1635, 1703, 1770, 1838, 1905, 1972, 2040, 2107, 2174, 2242, 2309, 2377, 2444, 2511, 2579, 2646, 2713, 2781, 2848, 2916, 2983, 3050, 3118, 3185, 3252, 3320, 3387, 3455, 3522, 3589, 3657, 3724] + hit1 = 1 + data2 = [0, 203, 235, 268, 300, 332, 365, 397, 429, 462, 494, 526, 559, 591, 623, 656, 688, 720, 753, 785, 817, 850, 882, 914, 947, 979, 1011, 1044, 1076, 1108, 1141, 1173, 1205, 1238, 1270, 1302, 1335, 1367, 1399, 1432, 1464, 1496, 1529, 1561, 1593, 1626, 1658, 1691, 1723, 1755, 1788] + hit2 = 2 + data3 = [0, 1014, 1176, 1338, 1499, 1661, 1823, 1985, 2146, 2308, 2470, 2631, 2793, 2955, 3116, 3278, 3440, 3602, 3763, 3925, 4087, 4248, 4410, 4572, 4733, 4895, 5057, 5219, 5380, 5542, 5704, 5865, 6027, 6189, 6350, 6512, 6674, 6836, 6997, 7159, 7321, 7482, 7644, 7806, 7967, 8129, 8291, 8453, 8614, 8776, 8938] + hit3 = 1 + + 六道 = False + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.07 + 0.005 * self.等级, 5) + + def 等效CD(self, **argv): + return 1.0 + + +class 技能17(主动技能): + 名称 = "火遁·冥炎业火阵" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 7403] + 无色消耗 = 5 + data0 = [0, 4649, 5729, 6807, 7886, 8964, 10045, 11122, 12200, 13278, 14358, 15434, 16515, 17594, 18672, 19749, 20828, 21908, 22987, 24064, 25144, 26222, 27299, 28381, 29457, 30535, 31613, 32693, 33772, 34850, 35928, 37006, 38083, 39164, 40242, 41322, 42399, 43480, 44557, 45636, 46713, 47792, 48871, 49948, 51028, 52106, 53186, 54263, 55342, 56421, 57499] + hit0 = 1 + data1 = [0, 6332, 7797, 9269, 10735, 12206, 13672, 15142, 16610, 18077, 19546, 21013, 22482, 23951, 25419, 26887, 28357, 29823, 31291, 32759, 34228, 35697, 37163, 38634, 40102, 41569, 43038, 44506, 45974, 47443, 48913, 50380, 51849, 53317, 54784, 56254, 57720, 59190, 60658, 62128, 63595, 65063, 66532, 68000, 69468, 70936, 72404, 73872, 75342, 76810, 78278] + hit1 = 1 + data2 = [0, 1308, 1611, 1916, 2220, 2521, 2826, 3130, 3434, 3738, 4039, 4343, 4647, 4951, 5256, 5559, 5861, 6165, 6470, 6774, 7077, 7380, 7683, 7987, 8292, 8595, 8898, 9202, 9506, 9810, 10113, 10416, 10720, 11024, 11327, 11631, 11933, 12238, 12542, 12846, 13148, 13452, 13756, 14060, 14363, 14667, 14971, 15274, 15578, 15880, 16184] + hit2 = 1 + data3 = [0, 8987, 11075, 13158, 15242, 17326, 19413, 21497, 23581, 25666, 27751, 29837, 31919, 34005, 36089, 38173, 40257, 42343, 44429, 46511, 48598, 50681, 52766, 54849, 56936, 59018, 61103, 63190, 65273, 67357, 69442, 71528, 73611, 75697, 77782, 79867, 81950, 84033, 86119, 88202, 90288, 92373, 94459, 96542, 98627, 100712, 102795, 104880, 106965, 109050, 111134] + hit3 = 1 + data4 = [0, 10551, 13000, 15449, 17893, 20340, 22789, 25237, 27682, 30128, 32577, 35026, 37469, 39918, 42366, 44812, 47258, 49708, 52154, 54600, 57048, 59495, 61942, 64388, 66836, 69284, 71733, 74178, 76624, 79073, 81518, 83967, 86415, 88863, 91307, 93756, 96203, 98650, 101097, 103543, 105993, 108440, 110887, 113334, 115783, 118228, 120676, 123123, 125570, 128017, 130465] + hit4 = 1 + data5 = [0, 0, 0, 903, 1048, 1191, 1336, 1477, 1620, 1766, 1908, 2050, 2192, 2338, 2482, 2623, 2765, 2910, 3053, 3198, 3340, 3484, 3628, 3769, 3913, 4055, 4199, 4343, 4484, 4630, 4774, 5002, 5154, 5307, 5458, 5610, 5761, 5914, 6064, 6215, 6370, 6515, 6658, 6800, 6943, 7088, 7231, 7374, 7518, 7661, 7804] + hit5 = 10 + 灼伤转换 = [0, 1, 2, 3, 4, 5] + + def 等效百分比(self, **argv): + return (1.1 if self.等级 >= 6 else 1.0)*super().等效百分比(**argv) + + +class 技能18(主动技能): + 名称 = "忍法:飞燕手里剑" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 116, 131, 139, 152, 163, 176, 185, 201, 211, 222, 236, 247, 257, 269, 282, 292, 305, 318, 330, 340, 350, 366, 375, 387, 398, 412, 421, 436, 448, 459, 468, 480, 491, 506, 517, 530, 542, 552, 565, 576, 588, 599, 612, 624, 635, 646, 658, 669, 682, 694] + hit0 = 1 + data1 = [0, 146, 160, 176, 188, 203, 219, 234, 249, 262, 279, 292, 307, 323, 337, 350, 366, 381, 396, 412, 425, 439, 455, 468, 485, 500, 514, 528, 544, 558, 574, 588, 600, 617, 631, 646, 660, 675, 690, 705, 721, 736, 750, 764, 777, 792, 807, 824, 836, 853, 869] + hit1 = 3 + data2 = [0, 82, 89, 100, 108, 116, 123, 132, 143, 151, 158, 168, 176, 185, 194, 201, 211, 217, 228, 236, 240, 251, 258, 269, 279, 284, 292, 301, 308, 318, 326, 336, 342, 352, 362, 370, 378, 386, 396, 405, 412, 419, 428, 438, 446, 452, 460, 468, 480, 488, 494] + hit2 = 15 + data3 = [0, 168, 183, 201, 217, 234, 251, 269, 282, 301, 318, 336, 350, 367, 386, 402, 419, 437, 452, 468, 486, 504, 520, 535, 554, 570, 588, 604, 621, 640, 655, 670, 688, 705, 721, 737, 756, 773, 789, 806, 824, 841, 858, 874, 890, 906, 925, 940, 957, 974, 992] + hit3 = 15 + data4 = [0, 583, 640, 699, 758, 818, 875, 935, 994, 1053, 1109, 1172, 1229, 1289, 1345, 1406, 1466, 1523, 1584, 1642, 1700, 1761, 1819, 1879, 1935, 1994, 2055, 2113, 2171, 2232, 2289, 2350, 2408, 2468, 2526, 2585, 2645, 2702, 2760, 2819, 2880, 2939, 2996, 3057, 3114, 3174, 3231, 3293, 3350, 3408, 3468] + hit4 = 1 + data5 = [0, 485, 534, 585, 631, 682, 730, 777, 827, 877, 925, 974, 1026, 1074, 1123, 1174, 1222, 1271, 1317, 1367, 1415, 1466, 1516, 1563, 1614, 1662, 1711, 1763, 1811, 1861, 1911, 1958, 2004, 2055, 2104, 2151, 2204, 2251, 2302, 2351, 2399, 2449, 2500, 2547, 2597, 2646, 2693, 2742, 2792, 2839, 2889] + hit5 = 10 + data6 = [0, 678, 746, 818, 885, 953, 1021, 1089, 1158, 1228, 1297, 1366, 1434, 1503, 1573, 1641, 1710, 1779, 1847, 1915, 1983, 2054, 2122, 2192, 2259, 2328, 2395, 2467, 2534, 2605, 2671, 2741, 2809, 2880, 2948, 3015, 3084, 3151, 3223, 3290, 3360, 3427, 3497, 3565, 3635, 3703, 3773, 3838, 3910, 3977, 4047] + hit6 = 10 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 六道 = False + + 形态 = ["满", "空中"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.hit0 = 1 + self.hit1 = 3 + self.hit2 = 15 + self.hit3 = 15 + self.hit4 = 1 + self.hit5 = 10 + self.hit6 = 10 + if 形态 == "空中": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 15 + self.hit6 = 15 + + def 装备护石(self, char): + self.倍率 *= 1.16 + + +class 技能19(主动技能): + 名称 = "火遁·风魔手里剑" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 339, 371, 407, 440, 476, 509, 544, 577, 613, 646, 679, 715, 749, 783, 818, 852, 885, 922, 955, 991, 1023, 1058, 1092, 1127, 1159, 1196, 1229, 1264, 1298, 1333, 1365, 1402, 1436, 1471, 1505, 1538, 1573, 1607, 1642, 1675, 1710, 1743, 1779, 1812, 1846, 1881, 1916, 1950, 1985, 2018] + hit0 = 15 + data1 = [0, 760, 837, 916, 992, 1069, 1147, 1223, 1300, 1378, 1454, 1533, 1610, 1686, 1764, 1842, 1919, 1994, 2073, 2150, 2226, 2305, 2381, 2457, 2536, 2614, 2689, 2767, 2845, 2922, 2999, 3075, 3153, 3230, 3307, 3386, 3462, 3539, 3617, 3694, 3771, 3847, 3926, 4002, 4079, 4158, 4234, 4310, 4389, 4466, 4544] + hit1 = 10 + data2 = [0, 12682, 13967, 15255, 16541, 17828, 19116, 20402, 21687, 22976, 24261, 25548, 26836, 28122, 29409, 30694, 31981, 33268, 34556, 35841, 37128, 38416, 39702, 40987, 42274, 43561, 44848, 46134, 47421, 48708, 49994, 51280, 52567, 53854, 55141, 56428, 57714, 59000, 60286, 61575, 62860, 64146, 65435, 66722, 68005, 69294, 70581, 71867, 73154, 74441, 75727] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 20 + self.power2 = 1.3 + # 灼伤 仅佩戴护石时有效,选用data1的数据;为data1的6% + self.灼伤转换 = [1] + self.灼伤倍率 = 0.06 + + +class 技能20(主动技能): + 名称 = "八岐大蛇" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 43 + MP = [600, 4500] + 无色消耗 = 3 + data0 = [0, 3420, 3631, 3844, 4055, 4266, 4476, 4689, 4902, 5113, 5325, 5535, 5747, 5959, 6172, 6382, 6595, 6806, 7018, 7229, 7442, 7652, 7864, 8075, 8288, 8500, 8712, 8923, 9134, 9346, 9558, 9768, 9980, 10194, 10403, 10616, 10828, 11039, 11250, 11463, 11673, 11884, 12098, 12308, 12521, 12734, 12944, 13155, 13367, 13580, 13790] + hit0 = 1 + data1 = [0, 3539, 3863, 4191, 4515, 4841, 5165, 5491, 5817, 6144, 6469, 6794, 7119, 7446, 7771, 8097, 8423, 8748, 9076, 9401, 9724, 10052, 10375, 10704, 11029, 11354, 11678, 12004, 12331, 12656, 12983, 13306, 13633, 13959, 14285, 14609, 14937, 15260, 15588, 15913, 16239, 16563, 16890, 17215, 17542, 17867, 18192, 18517, 18844, 19169, 19494] + hit1 = 10 + data2 = [0, 552, 638, 725, 808, 893, 979, 1062, 1146, 1231, 1316, 1402, 1484, 1570, 1653, 1740, 1824, 1908, 1994, 2079, 2161, 2248, 2331, 2416, 2503, 2585, 2671, 2756, 2840, 2925, 3011, 3093, 3179, 3263, 3348, 3432, 3518, 3602, 3685, 3771, 3857, 3939, 4026, 4109, 4194, 4280, 4363, 4449, 4535, 4617, 4702] + hit2 = 21 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.hit1 = 11 + self.power1 = 1.74 + self.hit2 = 0 + + +class 技能21(主动技能): + 名称 = '八尺琼勾玉' + 备注 = '来回两次伤害' + 是否主动 = 0 + 所在等级 = 75 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + + data0 = [int(i) for i in [0, 740]] + hit0 = 2 + data1 = [int(i) for i in [0, 820]] + hit1 = 2 + data2 = [int(i) for i in [0, 850]] + hit2 = 2 + CD = 3.0 + + 六道 = False + + def 等效CD(self, **argv): + return 3.0 + + +class 技能22(被动技能): + 名称 = '八咫镜' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "天照" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 51 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 4552, 5012, 5475, 5937, 6400, 6861, 7322, 7784, 8245, 8709, 9170, 9630, 10093, 10556, 11018, 11478, 11941, 12401, 12865, 13327, 13787, 14249, 14712, 15175, 15634, 16097, 16558, 17020, 17481, 17943, 18405, 18866, 19330, 19792, 20253, 20714, 21177, 21637, 22099, 22561, 23024, 23487, 23947, 24409, 24870, 25332, 25793, 26257, 26718, 27180] + hit0 = 2 + data1 = [0, 4844, 5338, 5829, 6320, 6813, 7304, 7796, 8288, 8778, 9272, 9761, 10254, 10746, 11237, 11729, 12220, 12711, 13205, 13694, 14186, 14677, 15171, 15663, 16152, 16643, 17136, 17628, 18120, 18611, 19102, 19596, 20087, 20580, 21069, 21562, 22053, 22545, 23034, 23528, 24019, 24509, 25003, 25493, 25986, 26477, 26968, 27460, 27951, 28442, 28934] + hit1 = 8 + + 倍率 = 1.06 # 者皆阵倍率 + # 攻击倍率 = 1.03 # 临兵斗倍率 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.33 + self.CDR *= 0.85 + + +class 技能24(主动技能): + 名称 = "火炎灼空:草雉剑" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2800, 5000] + 无色消耗 = 10 + data0 = [0, 2991, 3116, 3243, 3361, 3491, 3613, 3738, 3861, 3987, 4110, 4228, 4355, 4480, 4598, 4732, 4854, 4970, 5101, 5228, 5346, 5465, 5599, 5718, 5843, 5971, 6089, 6210, 6343, 6459, 6585, 6707, 6836, 6956, 7081, 7207, 7333, 7455, 7578, 7700, 7825, 7949, 8074, 8196, 8322, 8449, 8570, 8693, 8822, 8945, 9067] + hit0 = 0 + data1 = [0, 3002, 3120, 3238, 3350, 3473, 3588, 3706, 3821, 3940, 4055, 4166, 4284, 4404, 4516, 4640, 4755, 4864, 4990, 5108, 5219, 5332, 5457, 5568, 5686, 5805, 5916, 6031, 6157, 6266, 6384, 6499, 6620, 6733, 6851, 6970, 7088, 7204, 7318, 7433, 7551, 7667, 7786, 7901, 8019, 8138, 8253, 8367, 8489, 8606, 8720] + hit1 = 0 + data2 = [0, 3077, 3212, 3349, 3478, 3618, 3749, 3886, 4018, 4155, 4286, 4415, 4551, 4687, 4816, 4959, 5091, 5217, 5359, 5496, 5623, 5753, 5896, 6026, 6160, 6297, 6426, 6560, 6701, 6826, 6962, 7094, 7233, 7364, 7499, 7635, 7771, 7904, 8036, 8168, 8303, 8437, 8571, 8705, 8841, 8977, 9109, 9242, 9381, 9514, 9645] + hit2 = 0 + data3 = [0, 6063, 7471, 8878, 10282, 11688, 13095, 14500, 15906, 17313, 18717, 20123, 21532, 22938, 24343, 25750, 27156, 28560, 29966, 31375, 32781, 34186, 35594, 37000, 38405, 39811, 41218, 42623, 44030, 45436, 46841, 48247, 49654, 51060, 52465, 53873, 55279, 56684, 58091, 59496, 60901, 62307, 63716, 65121, 66527, 67934, 69340, 70744, 72151, 73557, 74962] + hit3 = 1 + data4 = [0, 30724, 37848, 44970, 52097, 59220, 66344, 73468, 80594, 87716, 94840, 101965, 109089, 116214, 123339, 130463, 137586, 144711, 151835, 158959, 166083, 173206, 180331, 187457, 194579, 201706, 208828, 215953, 223076, 230199, 237326, 244449, 251576, 258698, 265824, 272946, 280070, 287195, 294318, 301443, 308568, 315690, 322815, 329942, 337065, 344189, 351313, 358438, 365561, 372686, 379808] + hit4 = 3 + + 灼伤倍率 = 0.1 + 灼伤转换 = [0, 1, 2] + + CD = 180 + + 六道 = False + + 形态 = ["平x", "空中", "终结"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "终结": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + self.hit4 = 3 + if 形态 == "平x": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + if 形态 == "空中": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 2 + self.hit3 = 0 + self.hit4 = 0 + + +class 技能25(主动技能): + 名称 = "勾玉之火·镰鼬" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 * 0.6 + MP = [960, 2000] + 无色消耗 = 7 + data0 = [0, 6212, 6843, 7473, 8101, 8731, 9364, 9993, 10623, 11253, 11884, 12514, 13145, 13776, 14406, 15035, 15666, 16294, 16926, 17557, 18186, 18816, 19447, 20077, 20708, 21339, 21969, 22599, 23228, 23857, 24491, 25119, 25749, 26379, 27010, 27639, 28270, 28902, 29532, 30161, 30792, 31421, 32051, 32682, 33312, 33941, 34573, 35202, 35832, 36463, 37095] + hit0 = 5 + data1 = [0, 72483, 79834, 87186, 94517, 101867, 109238, 116590, 123941, 131292, 138643, 145994, 153365, 160716, 168068, 175419, 182770, 190101, 197472, 204823, 212173, 219525, 226876, 234228, 241598, 248948, 256301, 263652, 271003, 278334, 285725, 293056, 300406, 307758, 315110, 322460, 329811, 337183, 344533, 351885, 359236, 366587, 373917, 381289, 388639, 395989, 403342, 410694, 418044, 425415, 432766] + hit1 = 1 + 结算加成 = 1.0 + + # def 等效CD(self, **argv): + # # 武器类型 输出类型 额外CDR 手搓收益 恢复 + # 武器类型 = argv.get('武器类型', '') + # 输出类型 = argv.get('输出类型', '') + # 额外CDR = argv.get('额外CDR', 1.0) + # # 手搓收益 = argv.get('手搓收益', 1.0) + # 面板显示 = argv.get('面板显示', False) + # 额外恢复 = argv.get('额外恢复', 0) + + # cdr = self.手搓CD() + + # return round(max(self.CD * self.CDR * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3)*self.CDR_O + # - ((self.CD * self.CDR * 额外CDR * 0.4 * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0))) if not 面板显示 else 0), 1) + + +class 技能26(被动技能): + 名称 = '三元刹' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能27(主动技能): + 名称 = "火源限界·八咫乌" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 7970, 9818, 11664, 13512, 15360, 17207, 19055, 20904, 22751, 24599, 26447, 28295, 30142, 31990, 33839, 35685, 37534, 39382, 41229, 43078, 44925, 46774, 48620, 50469, 52316, 54164, 56013, 57860, 59709, 61555, 63404, 65251, 67099, 68947, 70795, 72644, 74490, 76339, 78187, 80034, 81882, 83730, 85579, 87425, 89274, 91122, 92969, 94817, 96665, 98512] + hit0 = 12 + data1 = [0, 10246, 12622, 14997, 17373, 19748, 22124, 24500, 26876, 29252, 31627, 34003, 36378, 38755, 41130, 43506, 45883, 48258, 50634, 53010, 55386, 57761, 60137, 62513, 64888, 67265, 69640, 72016, 74391, 76767, 79144, 81519, 83895, 86270, 88646, 91021, 93399, 95775, 98150, 100526, 102901, 105277, 107654, 110029, 112405, 114780, 117156, 119530, 121908, 124284, 126658] + hit1 = 14 + data2 = [0, 239063, 294499, 349933, 405368, 460804, 516238, 571672, 627108, 682543, 737977, 793412, 848847, 904284, 959717, 1015152, 1070588, 1126022, 1181456, 1236892, 1292327, 1347761, 1403196, 1458631, 1514068, 1569501, 1624935, 1680372, 1735807, 1791241, 1846676, 1902111, 1957546, 2012980, 2068416, 2123852, 2179285, 2234720, 2290156, 2345590, 2401025, 2456460, 2511895, 2567330, 2622764, 2678201, 2733635, 2789069, 2844504, 2899940, 2955376] + hit2 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'kunoichi' + self.名称 = '隐夜·忍者' + self.角色 = '暗夜使者' + + self.职业 = '忍者' + self.武器选项 = ['苦无'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '苦无' + self.防具类型 = '布甲' + + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.04 + + super().__init__(equVersion) + + def set_individuation(self, info): + info['char_optiopns'] = [] + for skill in self.技能栏: + if skill.是否有伤害 == 1 and getattr(skill, "六道", False): + info['char_optiopns'].append({ + "name": "["+skill.名称+"]"+"六道", + "option": ["跟随六道次数"]+[i for i in range(0, 16)] + }) + # 设置选项example + # name为名称,option内为选项 + # 其他地方调用的时候,调用self.individuation + # 比如取第二个选项的选择结果,函数传入第几个-1,返回选择的index,比如选择了选项2,返回1 + # self.get_individuation(1) + + def 异常系数计算(self,item,skill): + from core.basic.equipment import get_global_data + cur = item + pa = '' + if item == '中毒': + pa = 'zd_rate' + if item == '出血': + pa = 'cx_rate' + if item == '感电': + pa = 'gd_rate' + if item == '灼伤': + pa = 'zs_rate' + if item == '灼伤' and '灼伤' in get_global_data("state_type", self.equVersion) and ('冰冻' in get_global_data("get_state_type", self.equVersion) or ('冰冻' in get_global_data("state_type", self.equVersion) and self.check_equ_by_name("永眠前的准备"))): + pa = 'zs_bd_rate' + cur = '灼伤破冰' + 保有率 = 0 + 异常基础加成 = 1.0 + 异常结算加成 = 1.0 + 装备加成异常结算 = 1.0 + if pa == 'zs_bd_rate': + 保有率 = self.异常保有率计算(pa,cur) + 异常基础加成 = 1.0 + 异常结算加成 = self.异常基础加成['灼伤破冰'] + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + else: + 保有率 = self.异常保有率计算(pa,cur) + # 叠层处理 + 异常基础加成 = 1+ (self.异常基础加成.get(cur,1.0)-1) * get_global_data(pa,self.equVersion,1.0) + 异常结算加成 = 1.0 + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + # 95结算灼伤,且结算灼伤加成>1,仅仅结算非95及100技能 + if item == '灼伤' and self.get_skill_by_name("勾玉之火·镰鼬").结算加成 > 1 and skill.所在等级 < 95: + 持续时间 = self.异常时间[cur][0] * self.异常时间[cur][2] + self.异常时间[cur][1] + 异常CD = 3.5 + 保有率 = max(1 - (2*异常CD + 1) / (4*持续时间),0) + 异常基础加成 = 1 + 异常结算加成 = self.get_skill_by_name("勾玉之火·镰鼬").结算加成 + 装备加成异常结算 = 1 + 系数 = self.伤害系数.get(item, 0.0) * ( (1-保有率) * 异常基础加成 + 保有率 * 异常基础加成 * 异常结算加成 * 装备加成异常结算) + return 系数 + + def 伤害计算(self): + data = super().伤害计算() + 六道 = data['skills'].get("忍法:六道轮回", None) + if 六道 is None: + return data + 六道技能 = [] + 六道倍率 = self.get_skill_by_name("忍法:残影术").六道倍率() + for skill in self.技能栏: + if skill.是否有伤害 == 1 and getattr(skill, "六道", False): + 六道技能.append(skill.名称) + for index in range(0, len(六道技能)): + skill = 六道技能[index] + temp = data['skills'].get(skill, None) + if temp is not None: + count = self.get_individuation(index) + 六道['damage'] += temp['damage']/temp['count'] * \ + min(六道['count'] if count == 0 else ( + count-1), temp['count'])*0.8*六道倍率 + pass + data['total_data'] += 六道['damage'] + dps = 0 + for temp in data['skills']: + skill = data['skills'][temp] + try: + dps += (skill['damage']/skill['count'])/skill['cd'] + except Exception: + pass + data['dps'] = dps + return data diff --git a/api/core/characters/launcher_female.py b/api/core/characters/launcher_female.py new file mode 100644 index 00000000..166eb4ea --- /dev/null +++ b/api/core/characters/launcher_female.py @@ -0,0 +1,515 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + + def 基础等级计算(self): + if self.基础等级 == 0: + super().基础等级计算() + if self.所在等级 not in [50, 85, 100] and self.是否主动 == 1: + self.基础等级 = min(self.基础等级 + 1, self.等级上限) + + def MP消耗(self, **argv): + char = argv.get("char", {}) + k = char.get_skill_by_name('重火器精通').MP消耗量比率() + return super().MP消耗(**argv) * k + + +class 技能0(主动技能): + 名称 = "M3喷火器" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [45, 392] + 无色消耗 = 0 + data0 = [0, 290, 320, 351, 379, 407, 439, 466, 497, 527, 554, 585, 614, 644, 674, 705, 734, 762, 794, 821, 850, 881, 909, 939, 969, 996, 1027, 1059, 1088, 1117, 1147, 1176, 1204, 1236, 1264, 1293, 1324, 1351, 1383, 1412, 1441, 1472, 1501, 1531, 1559, 1590, 1618, 1647, 1679, 1706, 1735, 1767, 1795, 1825, 1856, 1884, 1914, 1942, 1973, 2002, 2031, 2061, 2090, 2121, 2149, 2179, 2208, 2238, 2269, 2297, 2327] + hit0 = 14 + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + self.hit0 = 14 + (1 if self.TP等级 >= 5 else 0) # 5级以上TP能多打一段 + return super().等效百分比(**argv) + + +class 技能1(被动技能): + 名称 = '重火器精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 学习间隔 = 3 + 关联技能 = ['所有'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['远古粒子炮', '火力全开', '制胜·最终兵器'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.02 * self.等级, 5) + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.01 * self.等级, 5) + + def MP消耗量比率(self): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.03 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if not 武器类型 == '手炮' or self.等级 == 1: + return 1.0 + else: + return 0.9 + + +class 技能2(主动技能): + 名称 = "加农炮" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 280] + 无色消耗 = 0 + data0 = [0, 1550, 1706, 1865, 2021, 2176, 2337, 2493, 2651, 2808, 2965, 3123, 3279, 3437, 3595, 3752, 3909, 4067, 4223, 4382, 4537, 4696, 4852, 5012, 5167, 5325, 5482, 5638, 5798, 5955, 6111, 6267, 6426, 6583, 6740, 6898, 7054, 7212, 7370, 7527, 7684, 7841, 7998, 8156, 8314, 8471, 8629, 8784, 8942, 9099, 9258, 9415, 9570, 9727, 9887, 10044, 10202, 10358, 10514, 10673, 10830, 10988, 11144, 11299, 11461, 11616, 11775, 11930, 12089, 12246, 12402] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "反坦克炮" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 391] + 无色消耗 = 0 + data0 = [0, 244, 267, 289, 316, 339, 366, 388, 413, 440, 462, 486, 511, 537, 561, 586, 610, 633, 662, 685, 708, 732, 757, 783, 806, 832, 857, 881, 903, 929, 954, 979, 1004, 1028, 1051, 1078, 1102, 1125, 1150, 1176, 1201, 1224, 1250, 1273, 1301, 1324, 1346, 1372, 1395, 1421, 1447, 1472, 1494, 1521, 1545, 1567, 1594, 1619, 1643, 1667, 1692, 1717, 1743, 1766, 1789, 1812, 1841, 1864, 1890, 1912, 1936] + hit0 = 1 + data1 = [0, 1264, 1392, 1521, 1650, 1780, 1906, 2035, 2164, 2292, 2420, 2550, 2676, 2805, 2932, 3060, 3190, 3318, 3447, 3574, 3703, 3831, 3962, 4090, 4217, 4346, 4473, 4601, 4730, 4858, 4988, 5117, 5243, 5372, 5502, 5628, 5759, 5885, 6014, 6142, 6272, 6399, 6527, 6655, 6785, 6912, 7040, 7168, 7297, 7427, 7554, 7685, 7813, 7941, 8069, 8197, 8323, 8452, 8582, 8710, 8838, 8965, 9094, 9223, 9353, 9480, 9610, 9738, 9866, 9994, 10121] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = 'APG63' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + 学习间隔 = 3 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.14 + 0.01 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "激光炮" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [61, 512] + 无色消耗 = 0 + data0 = [0, 4034, 4445, 4854, 5265, 5672, 6083, 6492, 6901, 7312, 7721, 8131, 8541, 8947, 9358, 9768, 10179, 10588, 10997, 11406, 11816, 12224, 12634, 13043, 13454, 13864, 14271, 14681, 15090, 15502, 15912, 16320, 16731, 17138, 17549, 17957, 18368, 18777, 19188, 19594, 20005, 20413, 20826, 21236, 21644, 22054, 22462, 22872, 23281, 23691, 24102, 24509, 24919, 25328, 25738, 26148, 26557, 26966, 27378, 27785, 28196, 28604, 29015, 29425, 29833, 30242, 30652, 31061, 31471, 31880, 32291] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '蓄电激光炮' + 所在等级 = 25 + 等级上限 = 11 + 基础等级 = 1 + 学习间隔 = 2 + 关联技能 = ['激光炮'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.25+0.05 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "聚焦喷火器" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [130, 980] + 无色消耗 = 0 + data0 = [0, 339, 377, 411, 445, 479, 517, 549, 584, 618, 654, 688, 723, 757, 794, 827, 860, 897, 932, 966, 1000, 1034, 1069, 1105, 1137, 1174, 1208, 1243, 1277, 1314, 1346, 1382, 1416, 1451, 1485, 1521, 1555, 1590, 1624, 1658, 1695, 1728, 1763, 1798, 1834, 1867, 1902, 1937, 1972, 2005, 2041, 2075, 2112, 2145, 2178, 2213, 2250, 2284, 2317, 2350, 2386, 2421, 2454, 2490, 2524, 2560, 2594, 2629, 2663, 2698, 2733] + hit0 = 29 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "FM31榴弹发射器" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [50, 630] + 无色消耗 = 0 + data0 = [0, 1361, 1500, 1638, 1774, 1913, 2054, 2192, 2330, 2466, 2605, 2742, 2882, 3020, 3159, 3295, 3433, 3571, 3712, 3850, 3989, 4125, 4264, 4401, 4539, 4679, 4817, 4956, 5091, 5230, 5369, 5509, 5647, 5785, 5922, 6061, 6198, 6337, 6476, 6615, 6750, 6888, 7028, 7164, 7306, 7443, 7581, 7717, 7857, 7995, 8135, 8273, 8408, 8547, 8685, 8823, 8961, 9102, 9238, 9378, 9514, 9654, 9791, 9932, 10066, 10206, 10344, 10483, 10620, 10760, 10897] + hit0 = 8 + TP成长 = 0.2 + TP上限 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.基础施放次数 = 4 + self.hit0 = 2 + self.倍率 *= 1.27 + self.CD = 4 + + +class 技能9(主动技能): + 名称 = "FM92mk2榴弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [164, 1376] + 无色消耗 = 1 + data0 = [0, 1781, 1961, 2142, 2324, 2505, 2684, 2865, 3046, 3226, 3407, 3588, 3768, 3949, 4130, 4310, 4493, 4671, 4854, 5034, 5212, 5396, 5577, 5755, 5940, 6119, 6298, 6481, 6660, 6843, 7022, 7204, 7385, 7564, 7745, 7927, 8107, 8287, 8468, 8649, 8828, 9011, 9192, 9371, 9553, 9732, 9915, 10095, 10275, 10457, 10636, 10816, 11000, 11178, 11359, 11541, 11719, 11903, 12082, 12265, 12444, 12626, 12807, 12987, 13168, 13348, 13528, 13710, 13891, 14073, 14252] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + # 重武装改追加功能 攻击力与 冷却时间- 40%,变为贮存最多2次的充能类技能 + 倍率 = 0.6 + CD = 20.0*0.6 + 基础施放次数 = 2 + + +class 技能10(主动技能): + 名称 = "量子爆弹" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [164, 1376] + 无色消耗 = 1 + data0 = [0, 1139, 1257, 1372, 1488, 1604, 1718, 1833, 1951, 2065, 2183, 2297, 2415, 2530, 2645, 2763, 2877, 2992, 3109, 3223, 3340, 3456, 3572, 3688, 3804, 3916, 4034, 4149, 4265, 4383, 4498, 4615, 4729, 4845, 4962, 5076, 5192, 5308, 5423, 5538, 5655, 5771, 5888, 6004, 6120, 6234, 6349, 6465, 6582, 6697, 6814, 6928, 7044, 7161, 7276, 7390, 7509, 7623, 7740, 7855, 7972, 8087, 8204, 8317, 8435, 8548, 8666, 8780, 8897, 9014, 9129] + hit0 = 1 + data1 = [0, 13121, 14454, 15786, 17117, 18451, 19781, 21109, 22442, 23775, 25105, 26437, 27768, 29099, 30431, 31762, 33094, 34425, 35757, 37087, 38418, 39752, 41082, 42413, 43745, 45075, 46408, 47739, 49070, 50403, 51735, 53064, 54397, 55727, 57059, 58392, 59723, 61051, 62384, 63715, 65047, 66380, 67712, 69040, 70373, 71703, 73036, 74368, 75697, 77029, 78360, 79692, 81025, 82356, 83685, 85016, 86350, 87680, 89012, 90345, 91673, 93006, 94338, 95668, 97001, 98334, 99662, 100992, 102326, 103657, 104988] + hit1 = 1 + + 感电data0 = [0, 10, 10, 10, 10, 10, 10, 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 18, 19, 19, 20, 21, 21, 22, 23, 23, 24, 25, 25, 26, 27, 27, 28, 29, 30, 30, 31, 32, 32, 33, 34, 34, 35, 36, 36, 37, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 50, 51, 52, 52, 53, 54, 54] + 感电hit0 = 1 + + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 0.16 * 8 * 1.14 + self.power0 = 0.16 * 8 * 1.14 + self.CDR *= 0.9 + + +class 技能11(主动技能): + 名称 = "X-2太阳神光炮" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [350, 2940] + 无色消耗 = 2 + data0 = [0, 31145, 34306, 37464, 40623, 43782, 46944, 50104, 53263, 56423, 59582, 62743, 65903, 69062, 72221, 75380, 78542, 81703, 84861, 88021, 91180, 94340, 97499, 100659, 103817, 106978, 110141, 113299, 116460, 119619, 122779, 125938, 129097, 132256, 135415, 138577, 141736, 144897, 148056, 151216, 154375, 157536, 160694, 163854, 167012, 170175, 173335, 176493, 179655, 182813, 185974, 189133, 192293, 195451, 198611, 201772, 204931, 208091, 211252, 214412, 217572, 220731, 223889, 227050, 230208, 233370, 236529, 239689, 242850, 246009, 249169] + hit0 = 1 + 灼伤data0 = [0, 3461, 3811, 4162, 4514, 4865, 5217, 5568, 5918, 6268, 6620, 6971, 7322, 7673, 8025, 8377, 8728, 9078, 9429, 9780, 10130, 10482, 10833, 11185, 11536, 11887, 12238, 12589, 12940, 13290, 13642, 13993, 14344, 14696, 15046, 15397, 15749, 16100, 16450, 16801, 17153, 17504, 17855, 18206, 18557, 18908, 19259, 19611, 19963, 20312, 20663, 21015, 21365, 21716, 22068, 22419, 22771, 23122, 23473, 23824, 24174, 24525, 24876, 25227, 25579, 25931, 26281, 26632, 26984, 27335, 27685] + 灼伤hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.24 + + +class 技能12(被动技能): + 名称 = '超温重火器' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.04 + 0.02 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "远古粒子炮" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 7558, 9310, 11065, 12818, 14571, 16322, 18076, 19828, 21581, 23335, 25088, 26841, 28595, 30346, 32100, 33852, 35604, 37358, 39110, 40863, 42616, 44368, 46120, 47874, 49626, 51380, 53133, 54886, 56637, 58390, 60143, 61897, 63650, 65402, 67156, 68909, 70660, 72415, 74168, 75921, 77674, 79426, 81180, 82932, 84684, 86437, 88189, 89943, 91696, 93449] + hit0 = 0 + data1 = [0, 8787, 10827, 12866, 14905, 16942, 18980, 21019, 23057, 25096, 27133, 29171, 31208, 33245, 35285, 37324, 39362, 41400, 43438, 45477, 47515, 49554, 51592, 53631, 55668, 57706, 59743, 61782, 63819, 65859, 67896, 69935, 71973, 74012, 76052, 78090, 80128, 82166, 84202, 86240, 88279, 90317, 92357, 94394, 96433, 98470, 100509, 102548, 104586, 106623, 108661] + hit1 = 10 + + +class 技能14(主动技能): + 名称 = "等离子放射器" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 753, 829, 908, 984, 1060, 1137, 1212, 1288, 1366, 1442, 1519, 1595, 1672, 1748, 1827, 1902, 1978, 2055, 2132, 2208, 2285, 2359, 2438, 2516, 2590, 2668, 2743, 2821, 2896, 2974, 3049, 3128, 3201, 3279, 3357, 3433, 3510, 3587, 3661, 3740, 3816, 3890, 3968, 4044, 4123, 4198, 4276, 4351, 4429, 4503] + hit0 = 37 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.85 + self.CDR *= 0.60 + + +class 技能15(主动技能): + 名称 = "FM92mk2SW榴弹" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 5537, 6098, 6658, 7223, 7784, 8346, 8907, 9469, 10032, 10594, 11155, 11718, 12278, 12840, 13402, 13966, 14526, 15090, 15648, 16213, 16774, 17336, 17897, 18460, 19020, 19582, 20145, 20707, 21269, 21831, 22392, 22953, 23516, 24075, 24639, 25200, 25764, 26323, 26887, 27447, 28010, 28573, 29133, 29695, 30257, 30817, 31380, 31944, 32505, 33067] + hit0 = 8 + data1 = [0, 275, 302, 332, 358, 385, 414, 441, 470, 498, 525, 552, 583, 608, 636, 666, 692, 720, 748, 776, 805, 829, 860, 887, 916, 945, 971, 999, 1027, 1056, 1083, 1112, 1138, 1167, 1194, 1221, 1252, 1279, 1304, 1335, 1362, 1391, 1419, 1444, 1473, 1500, 1530, 1557, 1585, 1613, 1641] + hit1 = 24 + + # 灼伤攻击力,在点TP之后删除 + 灼伤data0 = [0, 31, 36, 39, 41, 44, 47, 51, 55, 58, 60, 64, 67, 70, 74, 78, 80, 83, 86, 89, 93, 97, 99, 102, 106, 109, 112, 115, 119, 122, 125, 128, 132, 135, 138, 141, 144, 148, 151, 154, 156, 161, 164, 167, 170, 174, 176, 180, 183, 186, 190] + # 灼伤8次 + 灼伤hit0 = 8 + + TP成长 = 0.10 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + self.CDR *= 0.9 + + def 等效百分比(self, **argv): + if self.TP等级 > 0: + self.灼伤hit0 = 0 + else: + self.灼伤hit0 = 8 + return super().等效百分比(**argv) + + +class 技能16(被动技能): + 名称 = '重武装改造' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "FSC7" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [777, 6021] + 无色消耗 = 3 + data0 = [0, 3388, 3735, 4078, 4422, 4765, 5109, 5453, 5797, 6140, 6483, 6829, 7171, 7517, 7861, 8204, 8549, 8892, 9235, 9579, 9927, 10266, 10612, 10957, 11300, 11644, 11989, 12332, 12676, 13020, 13363, 13709, 14053, 14395, 14739, 15084, 15428, 15770, 16116, 16460, 16805, 17145, 17492, 17835, 18180, 18523, 18867, 19210, 19553, 19899, 20242] + hit0 = 1 + data1 = [0, 6441, 7096, 7749, 8402, 9053, 9706, 10362, 11013, 11670, 12321, 12977, 13628, 14280, 14936, 15589, 16243, 16897, 17551, 18203, 18855, 19510, 20164, 20816, 21470, 22127, 22777, 23432, 24085, 24739, 25392, 26045, 26699, 27350, 28006, 28659, 29315, 29968, 30620, 31273, 31924, 32580, 33234, 33888, 34540, 35196, 35846, 36501, 37154, 37808, 38463] + hit1 = 10 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.64 + self.CD = 18 + self.CDR *= 0.9 + self.基础施放次数 = 1.0 + # self.恢复 = 1.0 + + +class 技能18(主动技能): + 名称 = 'PT15原始型压缩炮' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 83858, 92364, 100872, 109380, 117887, 126394, 134904, 143411, 151918, 160425, 168933, 177438, 185947, 194454, 202962, 211468, 219976, 228484, 236990, 245497, 254005, 262514, 271020, 279530, 288037, 296541, 305050, 313558, 322065, 330573, 339080, 347588, 356094, 364602, 373109, 381617, 390123, 398631, 407137, 415645, 424153, 432662, 441169, 449676, 458183, 466691, 475197, 483706, 492213, 500721] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能19(主动技能): + 名称 = "火力全开" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 1545, 1904, 2261, 2620, 2977, 3338, 3696, 4054, 4411, 4772, 5130, 5488, 5847, 6204, 6562, 6924, 7282, 7639, 7997, 8356, 8715, 9074, 9432, 9790, 10149, 10508, 10864, 11224, 11583, 11941, 12302, 12658, 13017, 13374, 13734, 14092, 14450, 14809, 15167, 15526, 15884, 16243, 16603, 16959, 17318, 17679, 18036, 18395, 18752, 19111] + hit0 = 50 + data1 = [0, 3863, 4760, 5651, 6549, 7444, 8341, 9238, 10135, 11028, 11929, 12824, 13719, 14618, 15511, 16407, 17307, 18202, 19096, 19993, 20890, 21786, 22686, 23580, 24472, 25372, 26269, 27162, 28058, 28956, 29851, 30749, 31645, 32542, 33437, 34333, 35229, 36126, 37023, 37919, 38816, 39710, 40609, 41505, 42399, 43295, 44193, 45089, 45985, 46882, 47776] + hit1 = 20 + data2 = [0, 48031, 59167, 70305, 81443, 92582, 103719, 114855, 125995, 137132, 148268, 159409, 170544, 181684, 192820, 203959, 215097, 226235, 237370, 248511, 259646, 270782, 281922, 293058, 304197, 315334, 326471, 337611, 348747, 359884, 371023, 382161, 393298, 404437, 415573, 426711, 437850, 448986, 460127, 471262, 482400, 493538, 504677, 515814, 526953, 538088, 549227, 560365, 571501, 582642, 593776] + hit2 = 1 + + +class 技能20(被动技能): + 名称 = 'Pandora_01' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = 'UHT-03爆炎喷火器' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 6263, 6901, 7535, 8171, 8808, 9443, 10076, 10710, 11348, 11984, 12620, 13254, 13891, 14526, 15162, 15798, 16432, 17068, 17704, 18341, 18974, 19611, 20246, 20879, 21518, 22154, 22788, 23422, 24061, 24693, 25330, 25965, 26603, 27237, 27873, 28509, 29142, 29776, 30416, 31048, 31688, 32321, 32957, 33591, 34228, 34866, 35499, 36134, 36771, 37404] + hit0 = 24 + + +class 技能22(主动技能): + 名称 = '制胜·最终兵器' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 12889] + 无色消耗 = 15 + data0 = [0, 21018, 25894, 30770, 35641, 40518, 45394, 50268, 55142, 60015, 64890, 69767, 74639, 79515, 84392, 89263, 94138, 99014, 103888, 108761, 113638, 118511, 123385, 128263, 133134, 138010, 142884, 147759, 152633, 157508, 162382, 167257, 172133, 177007, 181880, 186755, 191630, 196505, 201381, 206254, 211129, 216002, 220877, 225751, 230625, 235501, 240376, 245252, 250125, 254999, 259874] + hit0 = 5 + data1 = [0, 5255, 6475, 7694, 8909, 10129, 11348, 12567, 13786, 15002, 16222, 17442, 18661, 19880, 21099, 22316, 23536, 24755, 25971, 27191, 28409, 29629, 30848, 32064, 33283, 34502, 35721, 36940, 38159, 39377, 40595, 41814, 43032, 44252, 45471, 46689, 47908, 49125, 50345, 51564, 52783, 54001, 55217, 56437, 57657, 58877, 60094, 61313, 62531, 63751, 64970] + hit1 = 5 + data2 = [0, 10509, 12948, 15385, 17823, 20260, 22698, 25132, 27571, 30008, 32445, 34884, 37320, 39757, 42195, 44632, 47069, 49505, 51943, 54382, 56819, 59256, 61694, 64132, 66567, 69005, 71444, 73879, 76316, 78753, 81191, 83628, 86066, 88502, 90940, 93379, 95814, 98253, 100691, 103126, 105564, 108001, 110439, 112876, 115313, 117752, 120187, 122626, 125062, 127499, 129936] + hit2 = 10 + data3 = [0, 12613, 15537, 18464, 21385, 24313, 27236, 30160, 33086, 36010, 38935, 41861, 44782, 47709, 50634, 53558, 56484, 59407, 62332, 65256, 68184, 71108, 74030, 76957, 79880, 82805, 85730, 88657, 91580, 94505, 97429, 100354, 103279, 106203, 109128, 112053, 114978, 117903, 120829, 123753, 126677, 129601, 132526, 135450, 138375, 141301, 144226, 147150, 150075, 153000, 155923] + hit3 = 25 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'launcher_female' + self.名称 = '重霄·枪炮师' + self.角色 = '神枪手(女)' + + self.职业 = '枪炮师' + # 用来筛CP武器的 + self.转职 = '枪炮师(女)' + self.武器选项 = ['手炮'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '手炮' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.957 + + super().__init__(equVersion) + + # def 职业特殊计算(self): + # k = self.get_skill_by_name('重火器精通').MP消耗量比率() + # for i in self.技能栏: + # if i.是否主动 == 1: + # i.MP = [int(i.MP[0] * k), int(i.MP[1] * k)] + + def 火属性强化(self) -> float: + max_num = max([super().火属性强化(), super().光属性强化()]) + return max_num + + def 光属性强化(self) -> float: + max_num = max([super().火属性强化(), super().光属性强化()]) + return max_num diff --git a/api/core/characters/launcher_male.py b/api/core/characters/launcher_male.py new file mode 100644 index 00000000..2fa918bd --- /dev/null +++ b/api/core/characters/launcher_male.py @@ -0,0 +1,519 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + + def 基础等级计算(self): + if self.基础等级 == 0: + super().基础等级计算() + if self.所在等级 not in [50, 85, 100] and self.是否主动 == 1: + self.基础等级 = min(self.基础等级 + 1, self.等级上限) + + def MP消耗(self, **argv): + char = argv.get("char", {}) + k = char.get_skill_by_name('重火器精通').MP消耗量比率() + return super().MP消耗(**argv) * k + + +class 技能0(主动技能): + 名称 = 'M137格林机枪' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [10, 252] + 无色消耗 = 0 + data0 = [0, 84, 94, 102, 109, 120, 129, 137, 146, 155, 162, 171, 179, 188, 198, 206, 214, 223, 231, 241, 249, 258, 267, 276, 283, 292, 302, 310, 319, 328, 336, 345, 353, 361, 370, 381, 388, 397, 405, 414, 422, 430, 441, 450, 457, 466, 475, 482, 491, 502, 509, 519, 527, 535, 544, 551, 561, 570, 579, 587, 596, 604, 613, 622, 630, 640, 649, 655, 665, 674, 683] + hit0 = 30 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(被动技能): + 名称 = '重火器精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 学习间隔 = 3 + 关联技能 = ['所有'] + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['卫星射线', '毁灭射线', '裂核轨道炮'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.02 * self.等级, 5) + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.01 * self.等级, 5) + + def MP消耗量比率(self): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.03 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if not 武器类型 == '手炮' or self.等级 == 1: + return 1.0 + else: + return 0.9 + + +class 技能2(主动技能): + 名称 = "加农炮" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 280] + 无色消耗 = 0 + data0 = [0, 1903, 2097, 2290, 2485, 2679, 2871, 3065, 3258, 3451, 3645, 3837, 4031, 4223, 4417, 4609, 4804, 4996, 5190, 5383, 5576, 5770, 5963, 6156, 6349, 6542, 6736, 6929, 7123, 7315, 7510, 7702, 7897, 8090, 8283, 8476, 8670, 8863, 9056, 9248, 9443, 9636, 9828, 10021, 10214, 10409, 10602, 10795, 10987, 11181, 11375, 11568, 11760, 11954, 12147, 12342, 12533, 12727, 12920, 13114, 13305, 13501, 13694, 13888, 14081, 14274, 14467, 14661, 14854, 15047, 15240] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "反坦克炮" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 391] + 无色消耗 = 0 + data0 = [0, 882, 972, 1060, 1151, 1241, 1331, 1418, 1508, 1598, 1688, 1778, 1868, 1956, 2046, 2136, 2225, 2315, 2404, 2493, 2583, 2673, 2763, 2852, 2942, 3032, 3123, 3210, 3299, 3389, 3478, 3569, 3658, 3747, 3836, 3927, 4017, 4106, 4193, 4284, 4374, 4464, 4554, 4643, 4733, 4822, 4912, 5001, 5090, 5180, 5270, 5359, 5449, 5538, 5628, 5718, 5808, 5899, 5985, 6075, 6165, 6254, 6345, 6434, 6523, 6613, 6703, 6792, 6881, 6971, 7060] + hit0 = 1 + data1 = [0, 3529, 3889, 4246, 4604, 4962, 5320, 5679, 6037, 6395, 6754, 7111, 7470, 7828, 8186, 8544, 8902, 9262, 9620, 9978, 10336, 10695, 11053, 11410, 11769, 12127, 12486, 12844, 13200, 13559, 13917, 14274, 14634, 14991, 15349, 15708, 16065, 16425, 16782, 17140, 17499, 17856, 18216, 18575, 18932, 19291, 19648, 20007, 20366, 20723, 21082, 21439, 21798, 22157, 22514, 22872, 23231, 23589, 23948, 24305, 24662, 25019, 25379, 25737, 26095, 26453, 26810, 27170, 27528, 27886, 28244] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '超动力补给包' + 所在等级 = 25 + 等级上限 = 11 + 基础等级 = 1 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.09 + 0.01 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "激光炮" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [61, 512] + 无色消耗 = 0 + data0 = [0, 4669, 5142, 5616, 6089, 6563, 7036, 7512, 7984, 8458, 8933, 9405, 9879, 10353, 10826, 11301, 11773, 12249, 12721, 13194, 13669, 14143, 14616, 15090, 15564, 16037, 16510, 16985, 17458, 17932, 18407, 18880, 19352, 19826, 20300, 20775, 21247, 21722, 22196, 22667, 23143, 23617, 24089, 24565, 25038, 25512, 25985, 26457, 26932, 27405, 27881, 28354, 28826, 29300, 29774, 30249, 30722, 31195, 31670, 32141, 32616, 33090, 33563, 34038, 34512, 34984, 35460, 35931, 36406, 36880, 37353] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '蓄电激光炮' + 所在等级 = 25 + 等级上限 = 11 + 基础等级 = 1 + 学习间隔 = 2 + 关联技能 = ['激光炮'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.45 + 0.05 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "聚焦喷火器" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [130, 980] + 无色消耗 = 0 + data0 = [0, 417, 460, 503, 545, 587, 631, 671, 713, 757, 798, 841, 884, 926, 968, 1012, 1052, 1095, 1138, 1180, 1222, 1265, 1307, 1349, 1393, 1433, 1476, 1519, 1561, 1603, 1647, 1688, 1731, 1774, 1814, 1857, 1900, 1944, 1984, 2029, 2071, 2113, 2155, 2198, 2239, 2283, 2325, 2367, 2410, 2453, 2494, 2536, 2579, 2620, 2664, 2706, 2748, 2791, 2834, 2875, 2918, 2960, 3002, 3045, 3088, 3130, 3172, 3215, 3257, 3299, 3341] + hit0 = 29 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = 'FM31榴弹发射器' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [50, 630] + 无色消耗 = 0 + data0 = [0, 4411, 4856, 5305, 5751, 6200, 6646, 7095, 7543, 7989, 8437, 8883, 9332, 9778, 10226, 10674, 11121, 11570, 12015, 12462, 12911, 13358, 13805, 14253, 14701, 15147, 15596, 16043, 16491, 16936, 17384, 17833, 18280, 18728, 19173, 19622, 20068, 20517, 20966, 21412, 21861, 22306, 22755, 23202, 23649, 24097, 24544, 24992, 25438, 25886, 26334, 26782, 27228, 27677, 28124, 28570, 29019, 29466, 29913, 30362, 30808, 31257, 31702, 32150, 32596, 33045, 33494, 33940, 34388, 34834, 35283] + hit0 = 3 + TP成长 = 0.10 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.64 * 2 + + +class 技能9(主动技能): + 名称 = 'FM92刺弹炮' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [164, 1376] + 无色消耗 = 1 + data0 = [0, 3322, 3659, 3997, 4335, 4672, 5010, 5347, 5683, 6020, 6356, 6695, 7032, 7369, 7706, 8043, 8380, 8718, 9056, 9393, 9730, 10065, 10403, 10740, 11078, 11415, 11753, 12090, 12426, 12763, 13102, 13439, 13776, 14112, 14449, 14787, 15125, 15462, 15800, 16137, 16474, 16812, 17148, 17486, 17823, 18161, 18497, 18834, 19170, 19509, 19846, 20183, 20520, 20858, 21195, 21532, 21869, 22206, 22543, 22880, 23217, 23553, 23892, 24229, 24566, 24904, 25241, 25578, 25913, 26252, 26589] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = "量子爆弹" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [164, 1376] + 无色消耗 = 1 + data0 = [0, 4108, 4523, 4942, 5357, 5775, 6190, 6608, 7023, 7442, 7858, 8276, 8693, 9107, 9526, 9941, 10360, 10775, 11193, 11610, 12026, 12442, 12860, 13276, 13694, 14110, 14524, 14943, 15361, 15777, 16194, 16610, 17028, 17443, 17860, 18277, 18694, 19112, 19528, 19945, 20361, 20778, 21194, 21612, 22028, 22446, 22863, 23277, 23696, 24111, 24530, 24945, 25363, 25778, 26196, 26611, 27030, 27446, 27864, 28280, 28695, 29113, 29529, 29946, 30364, 30780, 31198, 31613, 32030, 32447, 32864] + hit0 = 1 + data1 = [0, 13009, 14328, 15648, 16968, 18288, 19608, 20927, 22247, 23567, 24884, 26205, 27524, 28845, 30164, 31485, 32805, 34123, 35444, 36763, 38083, 39402, 40723, 42041, 43361, 44683, 46002, 47322, 48641, 49962, 51280, 52600, 53920, 55239, 56559, 57880, 59199, 60519, 61839, 63159, 64478, 65798, 67118, 68436, 69757, 71076, 72398, 73716, 75037, 76357, 77675, 78996, 80315, 81635, 82954, 84276, 85595, 86914, 88234, 89554, 90873, 92193, 93514, 94832, 96152, 97472, 98793, 100112, 101432, 102749, 104071] + hit1 = 1 + 感电data0 = [0, 13, 13, 14, 16, 16, 18, 19, 20, 21, 23, 24, 25, 26, 26, 27, 30, 31, 32, 33, 35, 36, 37, 38, 38, 39, 42, 43, 44, 45, 46, 48, 49, 49, 50, 52, 54, 55, 56, 57, 58, 60, 61, 61, 63, 64, 65, 67, 68, 69, 70, 72, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 83, 86, 87, 88, 89, 91, 92, 93, 94] + 感电hit0 = 1 + CD = 18.0 + TP成长 = 0.10 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 0.20 * 9 + self.感电power0 = 0.20 * 9 + + +class 技能11(主动技能): + 名称 = "X1压缩量子炮" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [350, 2940] + 无色消耗 = 2 + data0 = [0, 38136, 42005, 45875, 49744, 53614, 57482, 61351, 65220, 69089, 72959, 76827, 80696, 84565, 88435, 92304, 96173, 100043, 103911, 107781, 111650, 115518, 119387, 123256, 127125, 130994, 134864, 138733, 142603, 146471, 150338, 154208, 158077, 161947, 165816, 169686, 173553, 177422, 181292, 185160, 189032, 192900, 196766, 200637, 204506, 208376, 212245, 216115, 219983, 223853, 227720, 231589, 235459, 239328, 243197, 247066, 250936, 254804, 258672, 262542, 266410, 270280, 274149, 278019, 281887, 285756, 289625, 293493, 297365, 301233, 305103] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.2768 + + +class 技能12(被动技能): + 名称 = '卫星定位' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.075 + 0.015 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "卫星射线" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 5288] + 无色消耗 = 5 + data0 = [0, 6103, 7517, 8933, 10348, 11763, 13178, 14592, 16010, 17424, 18839, 20255, 21669, 23084, 24499, 25916, 27330, 28745, 30160, 31576, 32991, 34405, 35821, 37237, 38651, 40067, 41482, 42898, 44312, 45726, 47144, 48558, 49973, 51389, 52803, 54219, 55633, 57049, 58465, 59879, 61294, 62710, 64125, 65539, 66955, 68371, 69786, 71201, 72616, 74031, 75446] + hit0 = 1 + data1 = [0, 2276, 2804, 3332, 3860, 4388, 4916, 5442, 5971, 6499, 7026, 7555, 8083, 8609, 9138, 9666, 10193, 10722, 11251, 11777, 12306, 12834, 13361, 13890, 14418, 14944, 15473, 16001, 16528, 17057, 17585, 18111, 18640, 19168, 19696, 20224, 20752, 21279, 21806, 22336, 22864, 23392, 23920, 24447, 24975, 25503, 26031, 26559, 27087, 27614, 28141] + hit1 = 42 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >= 9 else 1) + + +class 技能14(主动技能): + 名称 = "等离子放射器" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 2601, 2865, 3128, 3391, 3655, 3920, 4183, 4448, 4712, 4976, 5240, 5502, 5767, 6030, 6294, 6558, 6823, 7086, 7350, 7615, 7877, 8142, 8406, 8670, 8934, 9196, 9461, 9725, 9989, 10252, 10517, 10780, 11044, 11309, 11572, 11837, 12100, 12363, 12628, 12891, 13155, 13419, 13684, 13947, 14212, 14476, 14739, 15003, 15265, 15530] + hit0 = 12 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + self.CDR *= 0.88 + + +class 技能15(主动技能): + 名称 = 'FM92SW刺弹炮' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 10839, 11940, 13040, 14140, 15240, 16341, 17441, 18538, 19639, 20739, 21838, 22938, 24040, 25140, 26237, 27338, 28438, 29538, 30637, 31737, 32839, 33937, 35037, 36137, 37237, 38336, 39436, 40538, 41636, 42736, 43836, 44936, 46036, 47135, 48234, 49335, 50435, 51535, 52634, 53735, 54834, 55933, 57033, 58135, 59234, 60333, 61434, 62534, 63632, 64732] + hit0 = 4 + data1 = [0, 1269, 1397, 1528, 1657, 1783, 1912, 2042, 2170, 2300, 2429, 2557, 2686, 2816, 2944, 3073, 3201, 3330, 3459, 3586, 3715, 3846, 3974, 4103, 4231, 4360, 4490, 4619, 4747, 4875, 5004, 5132, 5263, 5392, 5519, 5648, 5778, 5906, 6036, 6165, 6292, 6421, 6550, 6678, 6808, 6937, 7065, 7195, 7323, 7451, 7582] + hit1 = 12 + # 灼伤攻击力,在点TP之后删除 + 灼伤data0 = [0, 31, 34, 37, 39, 43, 46, 49, 53, 56, 59, 61, 65, 68, 71, 73, 78, 81, 83, 87, 90, 93, 95, 99, 103, 105, 108, 112, 115, 117, 120, 124, 127, 130, 134, 137, 139, 142, 146, 148, 151, 155, 159, 161, 164, 168, 170, 173, 176, 181, 183] + # 灼伤8次 + 灼伤hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + # self.hit0 = 6 + # self.power0 = 1.06 + # self.倍率 *= 0.57 + self.CD = 25 + self.基础施放次数 = 2 + self.灼伤power0 = 0 + self.倍率 *= 0.57 + 0.06*6/4 + + def 比等效百分比(self, **argv): + if self.TP等级 > 0: + self.灼伤hit0 = 0 + else: + self.灼伤hit0 = 8 + return super().等效百分比(**argv) + + +class 技能16(被动技能): + 名称 = '重火器改良' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "地脉震荡器" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 3395, 3741, 4085, 4430, 4774, 5119, 5463, 5810, 6152, 6496, 6841, 7185, 7530, 7874, 8219, 8564, 8909, 9253, 9598, 9942, 10287, 10632, 10975, 11320, 11664, 12009, 12353, 12699, 13043, 13388, 13733, 14077, 14421, 14766, 15111, 15456, 15800, 16143, 16489, 16832, 17177, 17522, 17867, 18211, 18556, 18899, 19245, 19590, 19935, 20279] + hit0 = 1 + data1 = [0, 11885, 13093, 14297, 15504, 16710, 17916, 19122, 20327, 21534, 22740, 23945, 25151, 26358, 27564, 28770, 29977, 31182, 32388, 33593, 34800, 36006, 37211, 38416, 39623, 40828, 42034, 43242, 44446, 45653, 46857, 48065, 49270, 50476, 51682, 52889, 54094, 55300, 56508, 57712, 58919, 60124, 61331, 62536, 63742, 64947, 66153, 67358, 68566, 69770, 70977] + hit1 = 1 + data2 = [0, 2547, 2805, 3065, 3321, 3580, 3840, 4096, 4356, 4615, 4871, 5131, 5388, 5648, 5906, 6164, 6424, 6680, 6940, 7199, 7456, 7715, 7973, 8232, 8490, 8747, 9007, 9265, 9524, 9783, 10040, 10299, 10558, 10816, 11074, 11332, 11592, 11849, 12108, 12366, 12624, 12883, 13142, 13400, 13658, 13917, 14175, 14434, 14692, 14951, 15209] + hit2 = 1 + data3 = [0, 5942, 6546, 7149, 7751, 8355, 8958, 9561, 10164, 10766, 11370, 11974, 12575, 13178, 13783, 14385, 14988, 15591, 16194, 16797, 17400, 18003, 18606, 19207, 19811, 20413, 21016, 21620, 22222, 22825, 23429, 24031, 24635, 25238, 25840, 26443, 27048, 27650, 28252, 28854, 29459, 30062, 30663, 31268, 31871, 32473, 33076, 33680, 34282, 34886, 35487] + hit3 = 6 + data4 = [0, 31415, 34603, 37789, 40976, 44164, 47352, 50537, 53724, 56912, 60099, 63286, 66474, 69661, 72847, 76035, 79221, 82409, 85596, 88784, 91970, 95158, 98345, 101532, 104720, 107904, 111093, 114280, 117467, 120655, 123843, 127028, 130216, 133404, 136589, 139776, 142964, 146152, 149338, 152526, 155714, 158900, 162087, 165273, 168461, 171648, 174837, 178022, 181210, 184397, 187585] + hit4 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + self.power3 = 11 + self.power4 = 1.52 + # self.倍率 *= 1.3324 + + +class 技能18(主动技能): + 名称 = "MSC7" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [824, 6180] + 无色消耗 = 5 + data0 = [0, 9003, 9916, 10827, 11741, 12656, 13568, 14483, 15396, 16308, 17221, 18136, 19048, 19961, 20873, 21787, 22701, 23616, 24528, 25441, 26354, 27267, 28180, 29094, 30007, 30923, 31834, 32747, 33663, 34574, 35487, 36401, 37313, 38226, 39143, 40054, 40967, 41881, 42793, 43707, 44620, 45533, 46448, 47361, 48273, 49187, 50101, 51013, 51927, 52840, 53754] + hit0 = 1 + data1 = [0, 81024, 89243, 97463, 105682, 113903, 122122, 130342, 138561, 146782, 155001, 163221, 171439, 179660, 187879, 196099, 204317, 212539, 220757, 228979, 237199, 245419, 253637, 261857, 270077, 278297, 286516, 294736, 302956, 311176, 319395, 327615, 335836, 344055, 352275, 360495, 368714, 376933, 385153, 393372, 401594, 409813, 418033, 426252, 434473, 442692, 450912, 459132, 467352, 475571, 483791] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.88 + self.power0 = 0 + self.power1 = 1+0.27+0.21 + + +class 技能19(主动技能): + 名称 = "毁灭射线" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 9435, 11622, 13812, 15999, 18187, 20374, 22562, 24750, 26937, 29127, 31314, 33502, 35689, 37878, 40065, 42253, 44443, 46631, 48818, 51005, 53194, 55381, 57570, 59758, 61946, 64133, 66321, 68509, 70696, 72885, 75072, 77261, 79448, 81636, 83824, 86012, 88200, 90387, 92577, 94764, 96952, 99140, 101329, 103516, 105704, 107892, 110080, 112267, 114456, 116644] + hit0 = 10 + data1 = [0, 141530, 174349, 207170, 239989, 272807, 305625, 338445, 371263, 404083, 436902, 469720, 502539, 535358, 568178, 600997, 633815, 666634, 699452, 732273, 765092, 797909, 830728, 863548, 896367, 929186, 962004, 994824, 1027642, 1060462, 1093281, 1126099, 1158918, 1191737, 1224555, 1257376, 1290194, 1323013, 1355831, 1388652, 1421471, 1454288, 1487107, 1519927, 1552745, 1585564, 1618383, 1651203, 1684021, 1716840, 1749660] + hit1 = 1 + + +class 技能20(被动技能): + 名称 = '连锁卫星' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = 'MLDRS95发射器' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 2982, 3283, 3585, 3889, 4191, 4493, 4796, 5099, 5402, 5703, 6005, 6308, 6611, 6914, 7216, 7518, 7822, 8123, 8425, 8730, 9032, 9334, 9636, 9938, 10242, 10543, 10846, 11149, 11452, 11754, 12056, 12357, 12662, 12964, 13266, 13568, 13870, 14173, 14475, 14778, 15082, 15383, 15685, 15988, 16290, 16593, 16896, 17198, 17502, 17803] + hit0 = 15 + data1 = [0, 134176, 147789, 161401, 175013, 188627, 202240, 215851, 229464, 243077, 256688, 270300, 283912, 297525, 311137, 324749, 338362, 351975, 365586, 379199, 392812, 406422, 420035, 433648, 447261, 460872, 474484, 488097, 501710, 515321, 528933, 542545, 556157, 569770, 583382, 596995, 610607, 624219, 637833, 651446, 665056, 678669, 692282, 705893, 719506, 733119, 746731, 760343, 773955, 787568, 801180] + hit1 = 1 + + +class 技能22(主动技能): + 名称 = "裂核轨道炮" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8054] + 无色消耗 = 15 + data0 = [0, 12988, 16000, 19012, 22023, 25037, 28047, 31060, 34071, 37083, 40095, 43107, 46118, 49131, 52141, 55155, 58164, 61177, 64189, 67201, 70212, 73225, 76236, 79248, 82261, 85272, 88285, 91295, 94308, 97320, 100332, 103343, 106356, 109366, 112380, 115391, 118403, 121415, 124426, 127437, 130451, 133462, 136474, 139486, 142497, 145511, 148522, 151534, 154546, 157558, 160567] + hit0 = 5 + data1 = [0, 259771, 320008, 380246, 440482, 500720, 560957, 621192, 681431, 741666, 801906, 862141, 922380, 982616, 1042853, 1103091, 1163327, 1223563, 1283801, 1344039, 1404275, 1464513, 1524749, 1584986, 1645223, 1705461, 1765697, 1825934, 1886172, 1946408, 2006647, 2066883, 2127118, 2187358, 2247593, 2307831, 2368068, 2428305, 2488541, 2548780, 2609016, 2669252, 2729490, 2789727, 2849963, 2910202, 2970438, 3030674, 3090912, 3151149, 3211385] + hit1 = 1 + data2 = [0, 32472, 40000, 47529, 55060, 62588, 70119, 77648, 85178, 92709, 100236, 107768, 115297, 122828, 130357, 137885, 145416, 152944, 160475, 168004, 175533, 183063, 190592, 198123, 205652, 213181, 220711, 228241, 235771, 243300, 250832, 258359, 265889, 273420, 280950, 288479, 296007, 303537, 311067, 318597, 326127, 333655, 341186, 348715, 356245, 363775, 371304, 378834, 386364, 393894, 401422] + hit2 = 10 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'launcher_male' + self.名称 = '重霄·枪炮师' + self.角色 = '神枪手(男)' + + self.职业 = '枪炮师' + # 用来筛CP武器的 + self.转职 = '枪炮师(男)' + self.武器选项 = ['手炮'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '手炮' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.957 + + super().__init__(equVersion) + + # def 职业特殊计算(self): + # k = self.get_skill_by_name('重火器精通').MP消耗量比率() + # for i in self.技能栏: + # if i.是否主动 == 1: + # i.MP = [int(i.MP[0] * k), int(i.MP[1] * k)] + + def 火属性强化(self) -> float: + max_num = max([super().火属性强化(), super().光属性强化()]) + return max_num + + def 光属性强化(self) -> float: + max_num = max([super().火属性强化(), super().光属性强化()]) + return max_num diff --git a/api/core/characters/mechanic_female.py b/api/core/characters/mechanic_female.py new file mode 100644 index 00000000..68402b7d --- /dev/null +++ b/api/core/characters/mechanic_female.py @@ -0,0 +1,707 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = 'RX-78追击者' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [10, 168] + data0 = [0, 700, 771, 842, 912, 983, 1053, 1125, 1197, 1267, 1339, 1410, 1480, 1551, 1623, 1694, 1764, 1836, 1908, 1978, 2050, 2121, 2191, 2263, 2333, 2404, 2477, 2547, 2619, 2689, 2760, 2831, 2901, 2973, 3043, 3115, 3187, 3257, 3327, 3399, 3470, 3541, 3612, 3684, 3755, 3825, 3898, 3968, 4038, 4111, 4181, 4251, 4323, 4395, 4466, 4536, 4608, 4679, 4749, 4820, 4891, 4962, 5033, 5105, 5175, 5246, 5318, 5389, 5459, 5529, 5603] + hit0 = 1 + CD = 2.8 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = 'Ez-8自爆者' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [60, 504] + data0 = [0, 2395, 2638, 2880, 3124, 3366, 3610, 3853, 4096, 4339, 4582, 4825, 5067, 5311, 5553, 5797, 6040, 6283, 6527, 6769, 7012, 7255, 7498, 7741, 7984, 8227, 8469, 8714, 8956, 9199, 9443, 9685, 9929, 10171, 10413, 10658, 10899, 11142, 11387, 11629, 11871, 12115, 12357, 12600, 12844, 13086, 13330, 13572, 13816, 14059, 14302, 14545, 14788, 15031, 15273, 15517, 15759, 16002, 16247, 16489, 16732, 16975, 17218, 17462, 17704, 17947, 18190, 18433, 18675, 18920, 19162] + hit0 = 1 + CD = 7.5 + TP成长 = 0.10 + TP上限 = 7 + 演出时间 = 5.5 + + +class 技能2(被动技能): + 名称 = '机械引爆' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 5 + 是否主动 = 1 + 关联技能 = ['RX-78追击者', 'Ez-8自爆者'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.40 + + +class 技能3(被动技能): + 名称 = '机械原理' + 所在等级 = 15 + 等级上限 = 11 + 学习间隔 = 3 + 等级精通 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.085+0.015*self.等级, 5) + + +class 技能4(主动技能): + 名称 = 'G1科罗纳' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [40, 420] + 关联技能 = ['G2旋雷者', 'G3捕食者'] + data0 = [0, 171, 192, 208, 225, 242, 261, 276, 295, 312, 329, 349, 366, 384, 400, 419, 437, 453, 471, 489, 504, 524, 543, 560, 576, 594, 613, 628, 646, 664, 683, 700, 717, 738, 755, 771, 788, 805, 822, 842, 860, 878, 895, 912, 929, 945, 965, 982, 1001, 1016, 1034, 1054, 1070, 1089, 1106, 1125, 1140, 1159, 1176, 1194, 1212, 1230, 1248, 1264, 1281, 1299, 1317, 1334, 1355, 1373, 1387] + hit0 = 1 + 攻击间隔0 = 0.2 + TP成长 = 0.10 + TP上限 = 7 + CD = 20.0 # 召唤冷却 + 输出时间 = 0 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.59+0.01*self.等级, 5) + + def 等效百分比(self, **argv): + self.hit0 = self.输出时间 / self.攻击间隔0 * 1 + char = argv.get('char', {}) + # G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("") + G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("") + G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("") + return super().等效百分比(**argv) / G2倍率 / G3倍率 * (G3倍率 + G2倍率 - 1) + + +class 技能5(被动技能): + 名称 = '危机追击者' + 备注 = '期望' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 关联技能 = ['RX-78追击者'] + + data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.0+self.data0/1000 + + +class 技能6(主动技能): + 名称 = 'G2旋雷者' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [58, 609] + 关联技能 = ['G1科罗纳', 'G3捕食者', 'G1磁力弹'] + # 静电 近身 + data0 = [0, 86, 95, 104, 113, 122, 129, 139, 147, 157, 165, 174, 182, 191, 200, 207, 217, 226, 234, 243, 251, 261, 270, 278, 287, 296, 305, 312, 322, 330, 340, 347, 357, 365, 375, 382, 391, 400, 408, 418, 426, 434, 444, 452, 461, 469, 479, 488, 495, 505, 513, 523, 529, 540, 548, 557, 565, 574, 583, 592, 601, 609, 618, 627, 635, 644, 652, 662, 670, 677, 687] + hit0 = 0 + 攻击间隔0 = 1 + # 电波 远程 + data1 = [0, 859, 946, 1033, 1119, 1208, 1294, 1382, 1469, 1556, 1642, 1731, 1817, 1905, 1990, 2079, 2164, 2253, 2339, 2427, 2513, 2601, 2688, 2776, 2861, 2950, 3036, 3124, 3212, 3298, 3385, 3471, 3560, 3645, 3734, 3820, 3907, 3995, 4082, 4168, 4256, 4342, 4431, 4516, 4605, 4691, 4778, 4864, 4953, 5039, 5127, 5213, 5301, 5387, 5476, 5562, 5649, 5737, 5825, 5911, 5999, 6085, 6172, 6259, 6347, 6434, 6520, 6608, 6693, 6782, 6867] + hit1 = 4 + 攻击间隔1 = 6 + + CD = 1 # 技能本身没有CD + + 输出时间 = 0 + + 形态 = ["远程", "近身"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "远程": + self.hit0 = 0 + self.hit1 = self.输出时间 / self.攻击间隔1 * 4 + if 形态 == "近身": + # 二觉被动 + self.hit0 = self.输出时间 / (self.攻击间隔0 / 1.05) + self.hit1 = 0 + + def 等效CD(self, **argv): + return round(1.5, 1) + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.50+0.01*self.等级, 5) + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("") + # G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("") + G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("") + return super().等效百分比(**argv) / G1倍率 / G3倍率 * (G3倍率+G1倍率-1) + + +class 技能7(主动技能): + 名称 = '毒蛇炮' + 备注 = '满' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [60, 504] + data0 = [0, 104, 115, 127, 136, 148, 156, 169, 180, 190, 201, 211, 222, 232, 244, 254, 265, 276, 285, 295, 306, 318, 329, 338, 350, 360, 370, 381, 393, 403, 413, 424, 434, 446, 454, 466, 478, 487, 499, 508, 519, 530, 542, 551, 562, 571, 583, 594, 606, 615, 627, 635, 646, 657, 669, 680, 690, 700, 711, 722, 731, 743, 755, 764, 775, 784, 796, 806, 817, 828, 839] + hit0 = 30 + CD = 3.5 + TP成长 = 0.10 + TP上限 = 7 + 演出时间 = 5.5 + + +class 技能8(被动技能): + 名称 = '电能转换' + 所在等级 = 25 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 关联技能 = ['毒蛇炮', '空战机械:狂风', '空投支援', '拦截机工厂', 'G0战争领主', 'HS12等离子体发生器', 'G4雷行者', + 'GSP猎鹰', '高压电磁场', '终结者:博尔特MX', '超时空光耀加农炮', 'G-X星尘天穹', 'RX-78追击者', 'Ez-8自爆者'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.10+0.02*self.等级, 5) + + +class 技能9(主动技能): + 名称 = 'G3捕食者' + 备注 = '秒伤' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [77, 808] + 关联技能 = ['G1科罗纳', 'G2旋雷者', 'G1磁力弹'] + data0 = [0, 155, 170, 186, 201, 217, 232, 248, 264, 279, 295, 308, 325, 343, 358, 372, 388, 403, 418, 436, 450, 466, 481, 497, 512, 527, 545, 561, 575, 591, 606, 622, 638, 653, 669, 685, 700, 715, 731, 746, 763, 776, 792, 808, 823, 838, 852, 869, 885, 901, 916, 932, 947, 964, 979, 994, 1011, 1026, 1041, 1057, 1073, 1088, 1104, 1119, 1135, 1150, 1166, 1182, 1197, 1213, 1230] + hit0 = 4 + 攻击间隔0 = 0.5 + CD = 0 # 技能本身没有CD + 输出时间 = 0 + + def 等效CD(self, **argv): + return round(0.5, 1) + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 <= 12: + return round(1.49+0.01*self.等级, 3) + else: + return round(1.37+0.02*self.等级, 3) + + def 等效百分比(self, **argv): + self.hit0 = self.输出时间 / self.攻击间隔0 * 4 + char = argv.get('char', {}) + G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("") + G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("") + # G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("") + return super().等效百分比(**argv) / G1倍率 / G2倍率 * (G2倍率+G1倍率-1) + + +class 技能10(主动技能): + 名称 = 'G1磁力弹' + 所在等级 = 30 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + MP = [70, 1600] + data0 = [0, 171, 192, 208, 225, 242, 261, 276, 295, 312, 329, 349, 366, 384, 400, 419, 437, 453, 471, 489, 504, 524, 543, 560, 576, 594, 613, 628, 646, 664, 683, 700, 717, 738, 755, 771, 788, 805, 822, 842, 860, 878, 895, 912, 929, 945, 965, 982, 1001, 1016, 1034, 1054, 1070, 1089, 1106, 1125, 1140, 1159, 1176, 1194, 1212, 1230, 1248, 1264, 1281, 1299, 1317, 1334, 1355, 1373, 1387] + hit0 = 10 + CD = 15.0 + 倍率 = 1.72 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + # G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("") + G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("") + G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("") + return super().等效百分比(**argv) / G2倍率 / G3倍率 * (G3倍率 + G2倍率 - 1) + + +class 技能11(主动技能): + 名称 = '空战机械:狂风' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + # 机枪一轮 + data0 = [0, 854, 943, 1029, 1114, 1202, 1289, 1375, 1462, 1548, 1635, 1722, 1809, 1896, 1982, 2068, 2157, 2243, 2327, 2414, 2502, 2589, 2676, 2760, 2849, 2935, 3023, 3109, 3195, 3282, 3370, 3457, 3542, 3627, 3714, 3804, 3889, 3976, 4061, 4149, 4237, 4323, 4410, 4496, 4582, 4670, 4757, 4842, 4928, 5015, 5103, 5190, 5275, 5363, 5449, 5537, 5623, 5710, 5796, 5883, 5968, 6056, 6143, 6228, 6318, 6403, 6490, 6575, 6663, 6751, 6837] + hit0 = 3 + 攻击间隔0 = 3 + + # 导弹一轮 + data1 = [0, 386, 425, 463, 502, 540, 581, 620, 658, 698, 736, 776, 815, 853, 892, 930, 970, 1010, 1048, 1086, 1126, 1166, 1204, 1243, 1281, 1321, 1360, 1399, 1438, 1477, 1517, 1555, 1595, 1633, 1672, 1713, 1752, 1789, 1829, 1868, 1907, 1945, 1984, 2024, 2061, 2102, 2141, 2180, 2218, 2258, 2296, 2335, 2374, 2413, 2452, 2491, 2531, 2569, 2606, 2647, 2686, 2727, 2765, 2802, 2844, 2883, 2921, 2960, 2999, 3038, 3077] + hit1 = 6 + 攻击间隔1 = 3 + + # 爆炸 + data2 = [0, 3077, 3387, 3701, 4012, 4324, 4637, 4949, 5261, 5572, 5886, 6197, 6511, 6822, 7133, 7445, 7760, 8070, 8381, 8694, 9006, 9318, 9629, 9940, 10256, 10568, 10879, 11190, 11503, 11814, 12127, 12441, 12751, 13063, 13374, 13687, 13998, 14310, 14624, 14937, 15247, 15559, 15872, 16184, 16496, 16809, 17119, 17432, 17745, 18055, 18367, 18680, 18992, 19305, 19616, 19929, 20241, 20553, 20863, 21178, 21490, 21802, 22112, 22425, 22736, 23048, 23361, 23673, 23986, 24297, 24610] + hit2 = 1 + power2 = 1.4 # 引爆 + CD = 30.0 # 召唤CD + TP成长 = 0.10 + TP上限 = 5 + 装备护石 = 0 + 是否有护石 = 1 + 输出时间 = 0 + + MP = [200, 1680] + 无色消耗 = 1 + + 形态 = ['续航', '爆炸'] + + def 手搓CD(self): + return 0 + + def 装备护石(self, char): + self.power0 = 0 + self.power1 = 0 + self.power2 *= 9.24 / 1.4 + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if "空战机械:狂风" in char.护石栏: + 形态 = "爆炸" + if 形态 == "续航": + self.hit0 = self.输出时间 / self.攻击间隔0 * 3 + self.hit1 = self.输出时间 / self.攻击间隔1 * 6 + self.hit2 = 0 + if 形态 == "爆炸": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + + + +class 技能12(主动技能): + 名称 = '空投支援' + 备注 = '直接引爆' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1379, 1520, 1660, 1798, 1940, 2080, 2220, 2359, 2500, 2641, 2778, 2920, 3061, 3198, 3340, 3479, 3621, 3758, 3898, 4040, 4181, 4320, 4459, 4600, 4738, 4880, 5020, 5159, 5298, 5439, 5581, 5718, 5858, 5999, 6139, 6279, 6420, 6560, 6700, 6837, 6980, 7119, 7256, 7400, 7537, 7679, 7816, 7958, 8099, 8236, 8379, 8516, 8658, 8798, 8937, 9079, 9218, 9358, 9498, 9638, 9776, 9917, 10058, 10198, 10338, 10477, 10619, 10756, 10898, 11037] + hit0 = 20 + CD = 35 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [300, 2520] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 23 + self.倍率 *= 1.16 + self.CDR = 0.9 + + +class 技能13(主动技能): + 名称 = '拦截机工厂' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 244, 270, 296, 318, 343, 367, 392, 417, 444, 469, 493, 518, 542, 567, 593, 618, 641, 667, 691, 715, 743, 767, 792, 814, 841, 865, 891, 914, 939, 964, 990, 1014, 1039, 1066, 1089, 1113, 1137, 1165, 1189, 1212, 1237, 1262, 1288, 1312, 1338, 1360, 1388, 1410, 1435, 1459, 1486, 1509, 1534, 1560, 1583, 1609, 1632, 1659, 1682, 1707, 1733, 1758, 1780, 1808, 1833, 1858, 1884, 1907, 1931, 1958] + hit0 = 110 + data1 = [0, 1834, 2019, 2208, 2393, 2578, 2765, 2952, 3138, 3324, 3508, 3694, 3880, 4066, 4250, 4439, 4626, 4812, 4998, 5184, 5368, 5554, 5742, 5927, 6115, 6299, 6485, 6671, 6858, 7045, 7229, 7417, 7602, 7788, 7974, 8160, 8346, 8533, 8718, 8903, 9089, 9277, 9462, 9649, 9836, 10022, 10208, 10393, 10578, 10764, 10949, 11135, 11323, 11510, 11696, 11881, 12066, 12253, 12439, 12626, 12811, 12995, 13185, 13370, 13555, 13739, 13926, 14115, 14301, 14486, 14669] + hit1 = 6 + data2 = [0, 32202, 35468, 38737, 42003, 45271, 48536, 51803, 55069, 58337, 61604, 64872, 68139, 71407, 74670, 77937, 81204, 84474, 87741, 91007, 94275, 97538, 100807, 104074, 107342, 110608, 113876, 117142, 120409, 123674, 126943, 130209, 133477, 136743, 140011, 143276, 146544, 149811, 153078, 156344, 159612, 162878, 166144, 169411, 172680, 175945, 179212, 182479, 185746, 189012, 192279, 195547, 198814, 202080, 205347, 208615, 211880, 215148, 218415, 221683, 224949, 228217, 231482, 234749, 238015, 241284, 244550, 247818, 251084, 254350, 236719] + hit2 = 0 + CD = 45 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [450, 3780] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 120 + self.power0 = 1.25 + self.power1 = 1.25 + self.power2 = 1.22 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + 光能 = char.get_skill_by_name("光反应能量模块") + if 光能.等级 > 0: + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + else: + self.hit0 = 110 + self.hit1 = 6 + self.hit2 = 0 + if '拦截机工厂' in char.护石栏: + self.hit0 = 120 + return super().等效百分比(**argv) + + +class 技能14(被动技能): + 名称 = '光反应能量模块' + 所在等级 = 45 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['拦截机工厂'] + 倍率 = 1.0 + + def 加成倍率(self, 武器类型): + return self.倍率 + + +class 技能15(被动技能): + 名称 = 'G系扩张' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025+0.02*self.等级, 5) + + +class 技能16(主动技能): + 名称 = 'G0战争领主' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 781, 963, 1145, 1325, 1506, 1688, 1870, 2052, 2230, 2413, 2592, 2776, 2956, 3138, 3317, 3500, 3682, 3862, 4045, 4226, 4406, 4586, 4767, 4949, 5132, 5313, 5494, 5675, 5857, 6036, 6218, 6400, 6580, 6761, 6943, 7123, 7307, 7485, 7668, 7847, 8031, 8213, 8393, 8572, 8755, 8937, 9117, 9300, 9481, 9661] + hit0 = 30 + data1 = [0, 978, 1205, 1430, 1657, 1882, 2109, 2336, 2563, 2788, 3015, 3242, 3469, 3695, 3920, 4147, 4373, 4600, 4828, 5054, 5281, 5508, 5734, 5961, 6187, 6414, 6641, 6866, 7093, 7319, 7546, 7774, 7999, 8226, 8450, 8678, 8905, 9131, 9358, 9585, 9810, 10038, 10264, 10491, 10717, 10942, 11169, 11396, 11623, 11849, 12076] + hit1 = 24 + data2 = [0, 4232, 5215, 6196, 7177, 8159, 9141, 10122, 11103, 12086, 13066, 14049, 15029, 16013, 16994, 17975, 18957, 19937, 20920, 21903, 22881, 23865, 24845, 25827, 26808, 27791, 28772, 29754, 30735, 31717, 32698, 33680, 34662, 35644, 36624, 37606, 38587, 39569, 40552, 41530, 42515, 43496, 44478, 45457, 46439, 47423, 48403, 49383, 50366, 51346, 52328] + hit2 = 12 + CD = 145.0 + 演出时间 = 7.1 + + MP = [400, 1120] + 无色消耗 = 2 + + +class 技能17(主动技能): + 名称 = 'HS12等离子体发生器' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 27368, 30143, 32920, 35698, 38474, 41249, 44026, 46803, 49578, 52356, 55132, 57909, 60686, 63460, 66237, 69014, 71790, 74566, 77343, 80120, 82895, 85673, 88449, 91223, 94002, 96778, 99556, 102332, 105106, 107883, 110661, 113436, 116214, 118990, 121765, 124544, 127319, 130095, 132872, 135647, 138424, 141202, 143978, 146753, 149529, 152306, 155083, 157860, 160636, 163412] + hit0 = 1 + CD = 30 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [400, 1120] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.21 + + +class 技能18(主动技能): + 名称 = 'G4雷行者' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 840, 926, 1011, 1094, 1179, 1267, 1351, 1436, 1522, 1608, 1693, 1779, 1863, 1948, 2032, 2117, 2204, 2289, 2373, 2460, 2544, 2629, 2715, 2799, 2883, 2969, 3053, 3141, 3227, 3311, 3396, 3482, 3566, 3653, 3736, 3821, 3906, 3991, 4077, 4163, 4247, 4333, 4419, 4503, 4587, 4672, 4758, 4843, 4928, 5015] + hit0 = 48 + data1 = [0, 1731, 1908, 2084, 2260, 2432, 2611, 2787, 2962, 3135, 3312, 3489, 3663, 3839, 4015, 4191, 4367, 4542, 4719, 4892, 5070, 5245, 5421, 5595, 5773, 5948, 6125, 6299, 6475, 6650, 6827, 7001, 7179, 7351, 7531, 7705, 7880, 8056, 8233, 8406, 8583, 8758, 8934, 9110, 9286, 9462, 9636, 9812, 9991, 10164, 10339] + hit1 = 3 + CD = 45 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + 演出时间 = 7.3 + + MP = [580, 4500] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.2 + self.CDR = 0.9 + + +class 技能19(主动技能): + 名称 = 'GSP猎鹰' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 26830, 29552, 32273, 34995, 37716, 40439, 43160, 45883, 48602, 51325, 54049, 56771, 59493, 62214, 64936, 67658, 70380, 73102, 75823, 78544, 81266, 83989, 86711, 89434, 92154, 94877, 97598, 100320, 103041, 105762, 108484, 111207, 113930, 116652, 119373, 122093, 124817, 127539, 130261, 132981, 135704, 138426, 141148, 143870, 146590, 149311, 152034, 154756, 157478, 160201] + hit0 = 1 + data1 = [0, 8947, 9853, 10762, 11670, 12576, 13483, 14391, 15300, 16206, 17115, 18023, 18929, 19837, 20744, 21651, 22559, 23468, 24375, 25283, 26190, 27097, 28005, 28912, 29820, 30726, 31636, 32543, 33449, 34358, 35266, 36172, 37080, 37988, 38895, 39803, 40711, 41619, 42525, 43433, 44341, 45249, 46155, 47063, 47973, 48879, 49786, 50694, 51602, 52508, 53416] + hit1 = 0 + data2 = [0, 1153, 1271, 1389, 1503, 1621, 1737, 1855, 1969, 2088, 2205, 2322, 2440, 2554, 2672, 2789, 2906, 3023, 3139, 3257, 3375, 3489, 3607, 3723, 3843, 3960, 4075, 4192, 4309, 4426, 4544, 4659, 4778, 4893, 5012, 5127, 5244, 5361, 5477, 5595, 5713, 5828, 5946, 6061, 6178, 6296, 6413, 6532, 6647, 6763, 6881] + hit2 = 0 + CD = 13 + 演出时间 = 2 + 是否有护石 = 1 + 演出时间 = 3 + + MP = [239, 1851] + # 无色消耗 = 3 + + 形态 = ["G-3", "G-2", "G-1"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "G-1": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if 形态 == "G-2": + self.hit0 = 0 + self.hit1 = 3 + self.hit2 = 0 + if 形态 == "G-3": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 25 + + def 装备护石(self, char): + self.power0 = 1.35 + self.power1 = 1.34 + self.power2 = (15/25)*2.19 # hit2降低为15 + self.CDR = 0.9 + + +class 技能20(被动技能): + 名称 = 'GX主宰者' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['G0战争领主', '终结者:博尔特MX', 'G-X星尘天穹', 'RX-78追击者'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 in [1, 2]: + return round(1.08+0.02*self.等级, 5) + if self.等级 == 3: + return round(1.15, 5) + if self.等级 == 4: + return round(1.20, 5) + if self.等级 >= 5: + return round(1.12+0.02*self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.85 + + +class 技能21(主动技能): + 名称 = '高压电磁场' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 6393, 7043, 7690, 8338, 8985, 9637, 10286, 10933, 11583, 12229, 12880, 13525, 14175, 14825, 15473, 16121, 16770, 17418, 18069, 18714, 19364, 20011, 20662, 21311, 21957, 22607, 23258, 23903, 24552, 25200, 25850, 26500, 27146, 27796, 28443, 29092, 29741, 30388, 31038, 31687, 32336, 32984, 33631, 34280, 34931, 35576, 36227, 36873, 37525, 38171] + hit0 = 15 + CD = 50 + 演出时间 = 3.5 + 是否有护石 = 1 + + MP = [1038, 7785] + 无色消耗 = 5 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.9 + + +class 技能22(主动技能): + 名称 = '终结者:博尔特MX' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 2726, 3357, 3992, 4622, 5255, 5887, 6518, 7150, 7782, 8416, 9047, 9680, 10310, 10944, 11575, 12207, 12839, 13471, 14104, 14735, 15370, 15999, 16632, 17264, 17896, 18529, 19159, 19792, 20424, 21057, 21688, 22321, 22953, 23585, 24217, 24850, 25481, 26114, 26745, 27375, 28010, 28642, 29275, 29905, 30537, 31170, 31802, 32435, 33066, 33698] + hit0 = 8 + data1 = [0, 5947, 7329, 8704, 10084, 11464, 12843, 14223, 15601, 16980, 18359, 19739, 21121, 22496, 23875, 25256, 26633, 28012, 29391, 30771, 32150, 33531, 34908, 36286, 37667, 39046, 40426, 41802, 43182, 44561, 45942, 47322, 48698, 50078, 51457, 52837, 54215, 55595, 56973, 58353, 59733, 61109, 62488, 63869, 65248, 66627, 68005, 69385, 70764, 72144, 73525] + hit1 = 2 + data2 = [0, 3482, 4288, 5097, 5902, 6710, 7516, 8326, 9137, 9947, 10752, 11559, 12365, 13175, 13978, 14788, 15595, 16402, 17211, 18017, 18827, 19630, 20439, 21245, 22053, 22859, 23667, 24479, 25285, 26093, 26902, 27709, 28518, 29323, 30131, 30936, 31745, 32549, 33359, 34165, 34972, 35780, 36588, 37398, 38202, 39010, 39820, 40627, 41438, 42243, 43051] + hit2 = 15 + data3 = [0, 4296, 5293, 6288, 7283, 8280, 9277, 10272, 11269, 12264, 13258, 14257, 15252, 16250, 17244, 18241, 19235, 20232, 21228, 22224, 23220, 24216, 25213, 26209, 27204, 28200, 29196, 30192, 31188, 32185, 33179, 34176, 35172, 36169, 37164, 38162, 39155, 40150, 41148, 42145, 43140, 44137, 45131, 46126, 47124, 48121, 49115, 50112, 51107, 52101, 53100] + hit3 = 6 + data4 = [0, 43613, 53726, 63841, 73953, 84066, 94179, 104293, 114407, 124519, 134633, 144746, 154861, 164972, 175087, 185200, 195314, 205425, 215541, 225652, 235766, 245880, 255991, 266106, 276219, 286332, 296444, 306560, 316670, 326785, 336899, 347011, 357125, 367237, 377351, 387463, 397579, 407689, 417804, 427918, 438032, 448143, 458257, 468370, 478482, 488597, 498708, 508823, 518936, 529049, 539162] + hit4 = 1 + data5 = [0, 43613, 53726, 63841, 73953, 84066, 94179, 104293, 114407, 124519, 134633, 144746, 154861, 164972, 175087, 185200, 195314, 205425, 215541, 225652, 235766, 245880, 255991, 266106, 276219, 286332, 296444, 306560, 316670, 326785, 336899, 347011, 357125, 367237, 377351, 387463, 397579, 407689, 417804, 427918, 438032, 448143, 458257, 468370, 478482, 488597, 498708, 508823, 518936, 529049, 539162] + hit5 = 1 + CD = 180 + + MP = [2500, 8000] + 无色消耗 = 10 + + +class 技能23(主动技能): + 名称 = '超时空光耀加农炮' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 8481, 9340, 10202, 11062, 11923, 12782, 13644, 14503, 15363, 16225, 17084, 17943, 18804, 19663, 20524, 21384, 22245, 23104, 23967, 24826, 25688, 26547, 27407, 28268, 29128, 29987, 30849, 31709, 32569, 33428, 34290, 35149, 36011, 36870, 37732, 38592, 39453, 40312, 41173, 42032, 27849, 28408, 28966, 29525, 30087, 30642, 31202, 31759, 32319, 32877] + hit0 = 6 + data1 = [0, 29680, 32692, 35702, 38714, 41724, 44736, 47748, 50758, 53769, 56779, 59791, 62802, 65813, 68823, 71835, 74846, 77858, 80868, 83879, 86890, 89902, 92913, 95923, 98933, 101944, 104957, 107967, 110978, 113989, 117001, 120011, 123023, 126034, 129046, 132055, 135067, 138077, 141090, 144099, 147110, 150121, 153134, 156143, 159155, 162165, 165178, 168187, 171199, 174209, 177221] + hit1 = 4 + CD = 60 + + MP = [833, 2667] + 无色消耗 = 7 + + +class 技能24(被动技能): + 名称 = '微型制导' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能25(主动技能): + 名称 = 'G-X星尘天穹' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 23622, 29100, 34577, 40056, 45533, 51010, 56488, 61965, 67443, 72920, 78397, 83876, 89353, 94831, 100307, 105785, 111263, 116740, 122218, 127696, 133173, 138650, 144127, 149606, 155083, 160562, 166038, 171516, 176993, 182470, 187948, 193426, 198903, 204382, 209858, 215337, 220813, 226289, 231768, 237245, 242724, 248202, 253677, 259155, 264633, 270110, 275588, 281067, 286544, 292019] + hit0 = 8 + data1 = [0, 62993, 77600, 92206, 106813, 121420, 136026, 150633, 165238, 179846, 194454, 209060, 223668, 238274, 252879, 267486, 282093, 296699, 311306, 325913, 340519, 355126, 369733, 384340, 398947, 413553, 428160, 442767, 457373, 471979, 486587, 501193, 515800, 530408, 545014, 559621, 574227, 588834, 603441, 618047, 632654, 647261, 661867, 676473, 691082, 705688, 720295, 734902, 749508, 764115, 778722] + hit1 = 7 + CD = 290 + 演出时间 = 6.5 + + MP = [4028, 12889] + 无色消耗 = 15 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'mechanic_female' + self.名称 = '重霄·机械师' + self.角色 = '神枪手(女)' + + self.职业 = '机械师' + # 用来筛CP武器的 + self.转职 = '机械师(女)' + self.武器选项 = ['自动手枪'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '自动手枪' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) + + def set_individuation(self, info): + info['char_optiopns'] = [ + { + "name": " [G1科罗纳] ", + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)] + }, + { + "name": " [G2旋雷者] ", + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)] + }, { + "name": " [G3捕食者] ", + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)] + }, { + "name": " [空战机械:狂风] ", + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)] + } + ] + + def 职业特殊设置(self): + G1 = self.get_skill_by_name("G1科罗纳") + G2 = self.get_skill_by_name("G2旋雷者") + G3 = self.get_skill_by_name("G3捕食者") + G1磁力弹 = self.get_skill_by_name("G1磁力弹") + G1.输出时间 = self.get_individuation(0) + 1 + G2.输出时间 = self.get_individuation(1) + 1 + G3.输出时间 = self.get_individuation(2) + 1 + self.get_skill_by_name("空战机械:狂风").输出时间 = self.get_individuation(3) + 1 + G2.TP上限 = G1.TP上限 + G2.TP成长 = G1.TP成长 + G2.TP等级 = G1.TP等级 + G3.TP上限 = G1.TP上限 + G3.TP成长 = G1.TP成长 + G3.TP等级 = G1.TP等级 + G1磁力弹.TP上限 = G1.TP上限 + G1磁力弹.TP成长 = G1.TP成长 + G1磁力弹.TP等级 = G1.TP等级 + G1磁力弹.等级 = G1.等级 + G1磁力弹.等级上限 = G1.等级上限 diff --git a/api/core/characters/mechanic_male.py b/api/core/characters/mechanic_male.py new file mode 100644 index 00000000..c0d8f7b7 --- /dev/null +++ b/api/core/characters/mechanic_male.py @@ -0,0 +1,609 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 追加 = 0 + 国服特色 = 1.07 + + +class 技能0(主动技能): + 名称 = 'RX78追击者' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 2.5 + MP = [10, 82] + 无色消耗 = 0 + data0 = [0, 886, 974, 1066, 1154, 1243, 1334, 1424, 1512, 1603, 1694, 1784, 1874, 1965, 2053, 2142, 2233, 2322, 2413, 2503, 2591, 2683, 2770, 2861, 2950, 3040, 3130, 3220, 3311, 3400, 3490, 3578, 3669, 3759, 3848, 3937, 4029, 4118, 4208, 4299, 4386, 4477, 4566, 4658, 4748, 4838, 4928, 5017, 5108, 5196, 5286, 5376, 5465, 5557, 5645, 5735, 5825, 5915, 6005, 6094, 6182, 6274, 6363, 6453, 6544, 6633, 6723, 6812, 6904, 6991, 7081] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + CP倍率 = 0 + + +class 技能1(主动技能): + 名称 = 'Ez8自爆者' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.5 + MP = [41, 347] + 无色消耗 = 0 + data0 = [0, 3193, 3517, 3841, 4166, 4490, 4812, 5137, 5462, 5785, 6110, 6433, 6756, 7081, 7405, 7729, 8053, 8375, 8701, 9025, 9348, 9674, 9998, 10320, 10644, 10969, 11293, 11617, 11940, 12264, 12588, 12912, 13236, 13561, 13883, 14207, 14532, 14856, 15180, 15504, 15826, 16152, 16475, 16799, 17126, 17447, 17771, 18095, 18419, 18745, 19069, 19390, 19716, 20040, 20364, 20689, 21013, 21335, 21660, 21985, 22308, 22632, 22954, 23280, 23604, 23927, 24252, 24577, 24899, 25223, 25548] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '机械引爆' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 5 + 是否主动 = 1 + 关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者', + '空投支援', '拦截机工厂', 'EZ10反击者', 'TX-45特攻队'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.40 + + +class 技能3(被动技能): + 名称 = '机械概论' + 所在等级 = 15 + 等级上限 = 11 + 基础等级 = 1 + 关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者', '毒蛇炮', '空战机械:风暴', '空投支援', '拦截机工厂', '盖波加之拳', + 'EZ10反击者', 'EXSZero毒蛇炮', 'TN80终结者', 'TX-45特攻队', '超时空行军', 'HS1全息机械猎手', 'GW16-瓦尔德斯坦'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.085+0.015*self.等级, 3) + + +class 技能4(被动技能): + 名称 = '嗜战追击者' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 关联技能 = ['RX78追击者'] + + data0 = [0, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.0+self.data0[self.等级]/100 + + +class 技能5(主动技能): + 名称 = '毒蛇炮' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3.5 + MP = [39, 328] + 无色消耗 = 0 + data0 = [0, 154, 170, 187, 203, 218, 234, 249, 264, 282, 296, 313, 328, 344, 359, 375, 390, 409, 423, 437, 454, 469, 486, 501, 517, 533, 550, 564, 579, 595, 610, 627, 642, 659, 674, 688, 707, 722, 737, 753, 768, 783, 800, 815, 832, 848, 863, 880, 893, 909, 925, 942, 956, 973, 988, 1006, 1021, 1036, 1052, 1067, 1083, 1098, 1113, 1129, 1148, 1162, 1178, 1194, 1208, 1224, 1239] + hit0 = 30 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '方舟反应堆' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.05+0.02*self.等级, 3) + + +class 技能7(主动技能): + 名称 = 'RX60陷阱追击者' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [88, 741] + 无色消耗 = 0 + data0 = [0, 7196, 7926, 8656, 9386, 10118, 10846, 11576, 12306, 13037, 13766, 14497, 15227, 15957, 16686, 17416, 18148, 18878, 19606, 20337, 21067, 21796, 22527, 23258, 23988, 24718, 25447, 26178, 26908, 27637, 28368, 29098, 29827, 30558, 31288, 32018, 32748, 33478, 34208, 34938, 35669, 36398, 37128, 37859, 38590, 39318, 40048, 40779, 41509, 42239, 42969, 43700, 44428, 45158, 45890, 46620, 47349, 48079, 48808, 49539, 50269, 51000, 51730, 52460, 53188, 53918, 54650, 55380, 56110, 56840, 57570] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + +# 技能韩服描述有改动,需要正式服上线后测试 +# 护石数据暂时延用老版 + + +class 技能8(主动技能): + 名称 = '空战机械:风暴' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 30 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 457, 504, 549, 595, 642, 688, 734, 782, 827, 874, 919, 966, 1012, 1059, 1105, 1152, 1198, 1243, 1290, 1337, 1382, 1430, 1476, 1522, 1567, 1614, 1660, 1706, 1754, 1799, 1846, 1891, 1938, 1984, 2031, 2077, 2124, 2170, 2216, 2262, 2309, 2354, 2402, 2448, 2494, 2540, 2587, 2632, 2679, 2726, 2772, 2817, 2865, 2910, 2957, 3003, 3050, 3096, 3141, 3188, 3234, 3281, 3326, 3374, 3420, 3465, 3512, 3558, 3604, 3650] + hit0 = 0 + data1 = [0, 1367, 1506, 1643, 1782, 1921, 2059, 2197, 2335, 2474, 2613, 2750, 2890, 3028, 3165, 3306, 3445, 3582, 3721, 3861, 3998, 4138, 4275, 4414, 4552, 4690, 4828, 4968, 5105, 5245, 5384, 5522, 5660, 5797, 5937, 6076, 6214, 6353, 6492, 6629, 6768, 6908, 7045, 7184, 7323, 7461, 7599, 7739, 7877, 8015, 8153, 8291, 8430, 8570, 8707, 8846, 8983, 9122, 9262, 9400, 9540, 9678, 9816, 9954, 10093, 10230, 10371, 10508, 10646, 10785, 10923] + hit1 = 0 + data2 = [0, 714, 788, 859, 931, 1004, 1076, 1149, 1221, 1294, 1367, 1438, 1511, 1583, 1656, 1728, 1801, 1874, 1945, 2018, 2090, 2163, 2236, 2308, 2381, 2452, 2525, 2597, 2669, 2743, 2814, 2888, 2959, 3031, 3104, 3177, 3249, 3322, 3395, 3465, 3539, 3613, 3683, 3757, 3829, 3902, 3973, 4046, 4118, 4191, 4264, 4335, 4407, 4480, 4552, 4626, 4697, 4770, 4842, 4914, 4986, 5059, 5133, 5204, 5278, 5349, 5421, 5494, 5566, 5639, 5711] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 输出时间 = 30.0 + + def 装备护石(self, char): + self.hit0 = 20 + self.power0 = 2.86 + self.power1 = 0 + self.power2 = 0 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + self.hit0 = round(self.输出时间 / 60 * 17, 2) + self.hit1 = round(self.输出时间 / 60 * 20, 2) + if '空战机械:风暴' in char.护石栏: + self.hit0 = 20 + return super().等效百分比(**argv) + + +class 技能9(主动技能): + 名称 = "空投支援" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 30 + MP = [300, 2520] + 无色消耗 = 2 + data0 = [0, 1008, 1111, 1213, 1316, 1417, 1520, 1622, 1725, 1827, 1929, 2032, 2132, 2235, 2336, 2440, 2542, 2644, 2746, 2850, 2951, 3054, 3155, 3259, 3360, 3463, 3565, 3668, 3770, 3873, 3974, 4078, 4179, 4282, 4383, 4487, 4589, 4691, 4793, 4896, 4998, 5101, 5201, 5305, 5406, 5509, 5610, 5712, 5816, 5917, 6020, 6121, 6225, 6326, 6429, 6532, 6634, 6736, 6839, 6940, 7044, 7145, 7248, 7349, 7453, 7555, 7657, 7760, 7861, 7963, 8065] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3 + + +class 技能10(主动技能): + 名称 = "拦截机工厂" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [355, 2981] + 无色消耗 = 2 + data0 = [0, 4107, 4526, 4941, 5358, 5775, 6191, 6608, 7026, 7441, 7858, 8275, 8694, 9109, 9526, 9944, 10359, 10776, 11192, 11609, 12025, 12443, 12859, 13276, 13693, 14108, 14526, 14944, 15360, 15777, 16193, 16611, 17027, 17444, 17861, 18276, 18694, 19111, 19526, 19943, 20361, 20778, 21194, 21611, 22029, 22444, 22862, 23279, 23694, 24112, 24529, 24945, 25362, 25779, 26196, 26611, 27028, 27446, 27861, 28279, 28696, 29112, 29530, 29947, 30363, 30779, 31196, 31615, 32030, 32447, 32864] + hit0 = 0 + data1 = [0, 36159, 39828, 43496, 47165, 50835, 54503, 58171, 61840, 65508, 69176, 72845, 76513, 80181, 83850, 87518, 91187, 94856, 98524, 102192, 105862, 109530, 113198, 116866, 120534, 124202, 127871, 131539, 135207, 138877, 142545, 146213, 149882, 153550, 157218, 160887, 164555, 168223, 171892, 175560, 179230, 182899, 186567, 190235, 193904, 197572, 201240, 204909, 208577, 212245, 215914, 219582, 223251, 226920, 230588, 234256, 237926, 241594, 245262, 248927, 252597, 256265, 259933, 263602, 267270, 270940, 274609, 278276, 281944, 285613, 289281] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + 光能 = char.get_skill_by_name("光反应能量模块") + if 光能.等级 > 0: + self.hit0 = 0 + self.hit1 = 1 + else: + self.hit0 = 8 + self.hit1 = 0 + return super().等效百分比(**argv) + + +class 技能11(被动技能): + 名称 = '光反应能量模块' + 所在等级 = 45 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['拦截机工厂'] + 倍率 = 1.0 + + def 加成倍率(self, 武器类型): + return self.倍率 + + +class 技能12(被动技能): + 名称 = '斗志之歌' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 < 17: + return round(1.01+0.015*self.等级, 3) + else: + return round(1.25+0.02*(self.等级-16), 3) + + +class 技能13(主动技能): + 名称 = "盖波加之拳" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 7403] + 无色消耗 = 5 + data0 = [0, 12027, 14817, 17607, 20396, 23185, 28571, 31640, 34706, 302199, 326737, 351287, 375850, 400388, 424937, 449474, 474023, 498561, 523111, 547647, 572197, 596735, 621297, 645834, 670385, 694920, 719470, 744008, 768558, 793093, 817643, 842194, 866744, 891282, 915831, 940368, 964917, 989454, 1014004, 1038541, 1063092, 1087641, 1112190, 1136727, 1161277, 1185815, 1210364, 1234902, 1259451, 1283989, 1308551] + hit0 = 1 + + +class 技能14(主动技能): + 名称 = 'EZ10反击者' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [122, 1027] + 无色消耗 = 2 + data0 = [0, 11660, 12843, 14027, 15210, 16392, 17574, 18757, 19941, 21124, 22306, 23490, 24673, 25856, 27039, 28221, 29405, 30588, 31771, 32953, 34135, 35319, 36502, 37685, 38868, 40050, 41235, 42417, 43601, 44783, 45964, 47150, 48331, 49516, 50697, 51879, 53064, 54246, 55430, 56612, 57794, 58979, 60161, 61344, 62527, 63708, 64894, 66075, 67259, 68441, 69626] + hit0 = 1 + data1 = [0, 3887, 4282, 4676, 5071, 5464, 5857, 6252, 6645, 7041, 7435, 7830, 8223, 8619, 9012, 9408, 9802, 10197, 10590, 10985, 11378, 11773, 12166, 12562, 12956, 13350, 13744, 14138, 14533, 14928, 15323, 15717, 16111, 16505, 16899, 17293, 17688, 18082, 18477, 18870, 19264, 19658, 20052, 20449, 20842, 21237, 21631, 22025, 22419, 22814, 23208] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 0 + self.power0 *= 3.55 + + +class 技能15(主动技能): + 名称 = 'EXSZero毒蛇炮' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [218, 1830] + 无色消耗 = 2 + data0 = [0, 584, 642, 701, 759, 819, 878, 938, 995, 1056, 1115, 1174, 1233, 1293, 1350, 1410, 1468, 1529, 1589, 1647, 1706, 1766, 1824, 1883, 1943, 2001, 2061, 2120, 2179, 2239, 2297, 2355, 2415, 2473, 2534, 2592, 2652, 2712, 2771, 2828, 2888, 2947, 3006, 3066, 3125, 3185, 3243, 3303, 3360, 3420, 3480] + hit0 = 40 + data1 = [0, 2345, 2582, 2820, 3058, 3296, 3533, 3774, 4010, 4248, 4486, 4725, 4961, 5199, 5437, 5674, 5914, 6151, 6389, 6627, 6865, 7101, 7341, 7578, 7816, 8052, 8293, 8530, 8766, 9006, 9243, 9482, 9718, 9957, 10194, 10432, 10669, 10910, 11147, 11384, 11622, 11861, 12097, 12336, 12574, 12810, 13049, 13287, 13526, 13762, 14001] + hit1 = 18 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 20 + self.倍率 *= 1.22 + + +class 技能16(主动技能): + 名称 = 'TN80终结者' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 4458, 4912, 5363, 5817, 6269, 6720, 7174, 7626, 8077, 8530, 8982, 9434, 9887, 10340, 10791, 11244, 11697, 12148, 12602, 13053, 13505, 13958, 14410, 14863, 15315, 15768, 16220, 16672, 17126, 17577, 18028, 18480, 18933, 19386, 19838, 20290, 20743, 21195, 21648, 22100, 22551, 23004, 23456, 23909, 24361, 24814, 25266, 25718, 26172, 26623] + hit0 = 18 + data1 = [0, 14162, 15600, 17037, 18474, 19910, 21347, 22784, 24220, 25658, 27094, 28531, 29968, 31404, 32843, 34279, 35715, 37152, 38588, 40026, 41462, 42902, 44338, 45774, 47211, 48647, 50085, 51522, 52958, 54396, 55832, 57269, 58705, 60141, 61580, 63016, 64454, 65890, 67326, 68763, 70200, 71638, 73074, 74511, 75948, 77384, 78822, 80258, 81696, 83132, 84568] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 9 + self.power0 *= 2.83 + + +class 技能17(被动技能): + 名称 = 'HS1机械助手' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['盖波加之拳', '超时空行军', 'GW16-瓦尔德斯坦'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18+0.02*self.等级, 3) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.85 + + +class 技能18(主动技能): + 名称 = 'TX-45特攻队' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 18504, 20379, 22258, 24134, 26012, 27887, 29765, 31643, 33519, 35398, 37273, 39151, 41028, 42905, 44782, 46659, 48537, 50413, 52292, 54167, 56044, 57922, 59799, 61676, 63553, 65431, 67307, 69185, 71062, 72938, 74816, 76693, 78570, 80447, 82323, 84201, 86079, 87957, 89832, 91708, 93587, 95463, 97343, 99217, 101096, 102974, 104849, 106728, 108604, 110482] + hit0 = 1 + data1 = [0, 12335, 13587, 14837, 16088, 17341, 18592, 19843, 21095, 22347, 23600, 24850, 26101, 27354, 28604, 29855, 31106, 32357, 33609, 34860, 36112, 37363, 38615, 39867, 41117, 42369, 43620, 44872, 46124, 47375, 48626, 49877, 51129, 52380, 53631, 54882, 56133, 57386, 58636, 59887, 61140, 62392, 63643, 64895, 66146, 67398, 68649, 69900, 71152, 72403, 73655] + hit1 = 1 + data2 = [0, 12335, 13587, 14837, 16088, 17341, 18592, 19843, 21095, 22347, 23600, 24850, 26101, 27354, 28604, 29855, 31106, 32357, 33609, 34860, 36112, 37363, 38615, 39867, 41117, 42369, 43620, 44872, 46124, 47375, 48626, 49877, 51129, 52380, 53631, 54882, 56133, 57386, 58636, 59887, 61140, 62392, 63643, 64895, 66146, 67398, 68649, 69900, 71152, 72403, 73655] + hit2 = 1 + data3 = [0, 9251, 10191, 11128, 12066, 13006, 13945, 14882, 15821, 16759, 17699, 18637, 19576, 20514, 21452, 22391, 23330, 24268, 25207, 26145, 27085, 28021, 28961, 29899, 30839, 31776, 32715, 33653, 34592, 35530, 36470, 37408, 38346, 39285, 40224, 41161, 42101, 43039, 43979, 44915, 45855, 46793, 47732, 48670, 49609, 50549, 51486, 52424, 53364, 54301, 55241] + hit3 = 1 + data4 = [0, 9251, 10191, 11128, 12066, 13006, 13945, 14882, 15821, 16759, 17699, 18637, 19576, 20514, 21452, 22391, 23330, 24268, 25207, 26145, 27085, 28021, 28961, 29899, 30839, 31776, 32715, 33653, 34592, 35530, 36470, 37408, 38346, 39285, 40224, 41161, 42101, 43039, 43979, 44915, 45855, 46793, 47732, 48670, 49609, 50549, 51486, 52424, 53364, 54301, 55241] + hit4 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + + +class 技能19(主动技能): + 名称 = '超时空行军' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 27384, 33742, 40089, 46439, 52789, 59141, 65490, 71840, 78187, 84541, 90889, 97239, 103589, 109945, 116298, 122644, 128991, 135346, 141697, 148046, 154397, 160745, 167098, 173444, 179796, 186150, 192502, 198851, 205201, 211548, 217903, 224253, 230603, 236953, 243302, 249656, 256002, 262352, 268707, 275057, 281407, 287759, 294108, 300459, 306805, 313161, 319511, 325858, 332213, 338559] + hit0 = 9 + + +class 技能20(主动技能): + 名称 = 'HS1全息机械猎手' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 184829, 203581, 222331, 241083, 259833, 278583, 297334, 316083, 334836, 353588, 372338, 391089, 409839, 428589, 447340, 466093, 484843, 503595, 522343, 541094, 559846, 578596, 597348, 616098, 634848, 653598, 672351, 691101, 709853, 728605, 747353, 766104, 784854, 803606, 822358, 841108, 859860, 878609, 897360, 916111, 934863, 953612, 972365, 991112, 1009865, 1028616, 1047368, 1066118, 1084870, 1103618] + hit0 = 1 + + +class 技能21(被动技能): + 名称 = 'SOPHIA' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = 'GW16-瓦尔德斯坦' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 12889] + 无色消耗 = 15 + data0 = [0, 136552, 168218, 199881, 231545, 263209, 294873, 326539, 358202, 389867, 421531, 453195, 484861, 516526, 548190, 579854, 611518, 643180, 674847, 706511, 738176, 769839, 801505, 833169, 864833, 896497, 928162, 959825, 991491, 1023155, 1054818, 1086483, 1118147, 1149813, 1181476, 1213141, 1244804, 1276469, 1308134, 1339799, 1371462, 1403127, 1434792, 1466454, 1498121, 1529784, 1561449, 1593112, 1624778, 1656441, 1688107] + hit0 = 1 + data1 = [0, 4877, 6009, 7138, 8269, 9401, 10531, 11661, 12794, 13923, 15056, 16185, 17316, 18447, 19578, 20708, 21841, 22970, 24102, 25232, 26362, 27494, 28625, 29757, 30887, 32019, 33149, 34280, 35410, 36541, 37672, 38804, 39934, 41065, 42197, 43326, 44457, 45588, 46718, 47851, 48980, 50112, 51243, 52373, 53503, 54636, 55765, 56896, 58028, 59158, 60290] + hit1 = 7 + data2 = [0, 204827, 252324, 299823, 347317, 394814, 442312, 489809, 537305, 584801, 632298, 679794, 727291, 774788, 822284, 869780, 917278, 964773, 1012270, 1059766, 1107264, 1154759, 1202256, 1249752, 1297249, 1344745, 1392242, 1439739, 1487235, 1534732, 1582227, 1629725, 1677222, 1724718, 1772214, 1819711, 1867208, 1914703, 1962200, 2009697, 2057193, 2104690, 2152186, 2199682, 2247179, 2294678, 2342174, 2389669, 2437166, 2484663, 2532158] + hit2 = 1 + data3 = [0, 21946, 27035, 32124, 37212, 42301, 47390, 52480, 57569, 62659, 67744, 72833, 77924, 83013, 88102, 93191, 98279, 103369, 108458, 113547, 118636, 123724, 128813, 133903, 138991, 144079, 149168, 154256, 159346, 164435, 169524, 174613, 179702, 184791, 189880, 194969, 200059, 205146, 210234, 215325, 220414, 225503, 230592, 235682, 240769, 245858, 250947, 256036, 261125, 266215, 271302] + hit3 = 14 + +# region G系暂不实现 + +# class 技能23(主动技能): +# 名称 = 'G1科罗纳' +# 备注 = '(秒伤)' +# 所在等级 = 20 +# 等级上限 = 70 +# 学习间隔 = 2 +# 等级精通 = 60 +# MP = [60, 504] +# 关联技能 = ['G2旋雷者', 'G3捕食者'] +# data0 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]] +# hit0 = 2 #每0.5s一次 +# #攻击间隔 = 0.5 +# #G123切换CD为7s +# TP成长 = 0.10 +# TP上限 = 7 +# CD = 50.0 #召唤冷却 + +# def 等效CD(self, 武器类型, 输出类型): +# return round(1, 1) + +# def 加成倍率(self,武器类型): +# if self.等级 == 0: +# return 0.0 +# else: +# return round(0.59+0.01*self.等级, 5) + + +# class 技能24(主动技能): +# 名称 = 'G2旋雷者' +# 备注 = '(秒伤)' +# 所在等级 = 25 +# 等级上限 = 70 +# 学习间隔 = 2 +# 等级精通 = 60 +# MP = [40, 336] +# 关联技能 = ['G1科罗纳', 'G3捕食者'] +# # 静电 近身 +# data0 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]] +# hit0 = 0 #每s三次 +# # 攻击间隔0 = 1/3 + +# # 电波 远程 +# data1 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]] +# hit1 = 3/2 #每2.0s一次 +# # 攻击间隔1 = 1/2 + +# CD = 6.0 #技能本身没有CD,此处为上一任作者写的 +# TP成长 = 0.10 +# TP上限 = 7 + +# 形态 = ["电波(远程)", "静电(近身)"] + +# def 形态变更(self, 形态, char:Character): +# if 形态 == '' and len(self.形态) > 0: +# 形态 = self.形态[0] +# if 形态 == "电波(远程)": +# self.hit0 = 0 +# self.hit1 = 3 +# if 形态 == "静电(近身)": +# self.hit0 = 6.0*3 +# self.hit1 = 0 + +# def 等效CD(self, 武器类型, 输出类型): +# return round(6, 1) + +# def 加成倍率(self,武器类型): +# if self.等级 == 0: +# return 0.0 +# else: +# return round(0.50+0.01*self.等级, 5) + +# class 技能25(主动技能): +# 名称 = 'G3捕食者' +# 备注 = '秒伤' +# 所在等级 = 30 +# 等级上限 = 70 +# 学习间隔 = 2 +# 等级精通 = 60 +# MP = [50, 420] +# 关联技能 = ['G1科罗纳', 'G2旋雷者'] +# data0 = [int(i) for i in [0, 116, 128, 140, 152, 164, 176, 187, 199, 211, 223, 235, 247, 258, 270, 282, 294, 306, 318, 330, 341, 353, 365, 377, 389, 401, 412, 424, 436, 448, 460, 472, 484, 495, 507, 519, 531, 543, 555, 566, 578, 590, 602, 614, 626, 638, 649, 661, 673, 685, 697, 709, 720, 732, 744, 756, 768, 780, 792, 803, 815, 827, 839, 851, 863, 874, 886, 898, 910, 922, 934]] +# hit0 = 2/0.5 #每0.5s2次 +# # 攻击间隔0 = 0.5 +# CD = 1 #技能本身没有CD,此处为上一任作者写的 +# TP成长 = 0.10 +# TP上限 = 7 + +# def 等效CD(self, 武器类型, 输出类型): +# return round(1, 1) + +# def 加成倍率(self,武器类型): +# if self.等级 == 0: +# return 0.0 +# else: +# return round(0.48+0.01*self.等级, 3) + +# endregion + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'mechanic_male' + self.名称 = '重霄·机械师' + self.角色 = '神枪手(男)' + + self.职业 = '机械师' + # 用来筛CP武器的 + self.转职 = '机械师(男)' + self.武器选项 = ['自动手枪'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '自动手枪' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.85 + + super().__init__(equVersion) + + def set_individuation(self, info): + info['char_optiopns'] = [ + { + "name": " [空战机械:风暴] ", + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)] + } + ] + + def 职业特殊设置(self): + self.get_skill_by_name("空战机械:风暴").输出时间 = self.get_individuation(0) + 1 + + def 伤害计算(self): + + data = super().伤害计算() + skill_dict = data['skills'] + + RX78追击者 = self.get_skill_by_name("RX78追击者") + 嗜战追击者 = self.get_skill_by_name("嗜战追击者") + if 'RX78追击者' in skill_dict and RX78追击者.等级 > 0 and RX78追击者.CP倍率 > 0: + info = data['skills']['RX78追击者'] + # CP追加不享受嗜战追击者额外生成 + avg = info['damage'] / info['count'] / 嗜战追击者.加成倍率('') + count = 0 + for skill in skill_dict: + 追加 = self.get_skill_by_name(skill).追加 + count += data['skills'][skill]['count'] * 追加 + data['skills']['RX78追击者']['count'] += count + data['skills']['RX78追击者']['damage'] += avg * RX78追击者.CP倍率 * count + data['total_data'] += avg * RX78追击者.CP倍率 * count + dps = 0 + for temp in data['skills']: + skill = data['skills'][temp] + try: + dps += (skill['damage']/skill['count'])/skill['cd'] + except Exception: + pass + data['dps'] = dps + return data diff --git a/api/core/characters/mistress.py b/api/core/characters/mistress.py new file mode 100644 index 00000000..78db5ef7 --- /dev/null +++ b/api/core/characters/mistress.py @@ -0,0 +1,480 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = '罪业加身' + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 252] + data0 = [0, 3472, 3826, 4180, 4530, 4882, 5234, 5588, 5941, 6294, 6645, 6996, 7349, 7702, 8054, 8407, 8757, 9111, 9466, 9816, 10172, 10522, 10872, 11229, 11580, 11932, 12283, 12638, 12988, 13342, 13693, 14046, 14396, 14751, 15104, 15455, 15810, 16159, 16513, 16865, 17219, 17574, 17923, 18276, 18629, 18981, 19332, 19685, 20038, 20390, 20745, 21093, 21446, 21798, 22152, 22505, 22857, 23209, 23559, 23912, 24267, 24619, 24972, 25324, 25676, 26032, 26381, 26736, 27086, 27437, 27793] + hit0 = 1 + CD = 6.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = '双重切割' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [12, 120] + data0 = [0, 1846, 2032, 2220, 2404, 2594, 2781, 2967, 3156, 3341, 3532, 3717, 3905, 4091, 4279, 4465, 4653, 4840, 5028, 5215, 5402, 5588, 5777, 5963, 6152, 6340, 6525, 6714, 6902, 7090, 7276, 7463, 7649, 7838, 8024, 8211, 8396, 8586, 8772, 8961, 9147, 9335, 9522, 9709, 9896, 10083, 10272, 10461, 10648, 10831, 11019, 11208, 11396, 11582, 11769, 11955, 12146, 12332, 12520, 12705, 12892, 13080, 13267, 13456, 13641, 13831, 14016, 14204, 14389, 14579, 14766] + hit0 = 1 + data1 = [0, 2768, 3048, 3327, 3612, 3890, 4170, 4454, 4734, 5014, 5295, 5576, 5858, 6138, 6419, 6699, 6983, 7261, 7543, 7825, 8104, 8384, 8667, 8947, 9229, 9508, 9788, 10072, 10354, 10632, 10912, 11192, 11474, 11756, 12032, 12317, 12599, 12879, 13161, 13441, 13721, 14002, 14285, 14564, 14845, 15127, 15406, 15689, 15968, 16248, 16530, 16813, 17092, 17371, 17655, 17934, 18218, 18499, 18777, 19059, 19340, 19618, 19903, 20182, 20462, 20747, 21025, 21305, 21587, 21868, 22148] + hit1 = 1 + CD = 6.0 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '负罪者镰刀精通' + 所在等级 = 15 + 等级上限 = 30 + 基础等级 = 20 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 <= 20: + return round(1.05 + 0.01 * self.等级, 5) + else: + return round(0.85 + 0.02 * self.等级, 5) + + +class 技能3(被动技能): + 名称 = '罪业诱惑' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(0.90 + 0.02 * self.等级, 5) + + +class 技能4(主动技能): + 名称 = '断头台' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [65, 616] + data0 = [0, 2943, 3242, 3541, 3840, 4135, 4436, 4736, 5033, 5332, 5632, 5928, 6229, 6526, 6824, 7124, 7423, 7722, 8020, 8320, 8619, 8915, 9214, 9513, 9811, 10112, 10409, 10709, 11006, 11305, 11604, 11905, 12201, 12500, 12801, 13099, 13395, 13694, 13992, 14291, 14592, 14889, 15188, 15487, 15786, 16083, 16383, 16682, 16978, 17279, 17579, 17873, 18174, 18473, 18769, 19071, 19369, 19669, 19966, 20264, 20564, 20862, 21161, 21459, 21759, 22057, 22356, 22654, 22952, 23251, 23551] + hit0 = 1 + data1 = [0, 4525, 4985, 5446, 5903, 6364, 6822, 7283, 7742, 8201, 8659, 9122, 9579, 10038, 10497, 10955, 11416, 11876, 12333, 12793, 13253, 13713, 14172, 14631, 15089, 15551, 16010, 16468, 16926, 17389, 17847, 18305, 18765, 19223, 19683, 20141, 20602, 21060, 21519, 21980, 22440, 22897, 23358, 23818, 24276, 24735, 25196, 25653, 26114, 26574, 27031, 27491, 27953, 28409, 28869, 29327, 29788, 30247, 30706, 31164, 31626, 32083, 32544, 33003, 33463, 33921, 34382, 34840, 35301, 35759, 36219] + hit1 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = '欲望之手' + 备注 = '2层' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [65, 616] + data0 = [0, 2756, 3033, 3312, 3594, 3871, 4150, 4432, 4710, 4990, 5272, 5550, 5828, 6109, 6389, 6668, 6948, 7227, 7507, 7788, 8066, 8345, 8626, 8905, 9182, 9463, 9742, 10022, 10305, 10582, 10862, 11144, 11423, 11699, 11976, 12258, 12537, 12819, 13098, 13377, 13656, 13939, 14218, 14493, 14773, 15054, 15335, 15615, 15894, 16171, 16454, 16733, 17009, 17290, 17570, 17849, 18132, 18409, 18688, 18971, 19249, 19528, 19805, 20085, 20366, 20646, 20924, 21203, 21484, 21765, 22043] + hit0 = 1 + data1 = [0, 4356, 4797, 5241, 5683, 6123, 6566, 7008, 7450, 7894, 8335, 8777, 9216, 9662, 10104, 10547, 10986, 11428, 11872, 12316, 12752, 13197, 13639, 14082, 14524, 14966, 15409, 15849, 16293, 16733, 17175, 17619, 18059, 18504, 18941, 19387, 19829, 20273, 20712, 21153, 21598, 22041, 22479, 22924, 23362, 23806, 24247, 24689, 25130, 25573, 26017, 26458, 26898, 27343, 27783, 28228, 28667, 29110, 29553, 29992, 30435, 30878, 31321, 31764, 32203, 32647, 33088, 33531, 33974, 34415, 34857] + hit1 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '七宗罪' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 20 + 关联技能 = ['欲望之手', '傲慢之堕', '怠惰之息', '贪婪之刺', '愤怒之袭', '嫉妒之吻', '暴食之噬'] + + # 部分技能依照消耗罪业层数获得额外加成 + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.07 + + +class 技能7(主动技能): + 名称 = '傲慢之堕' + 备注 = '2层' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + MP = [65, 630] + data0 = [0, 8058, 9345, 10628, 11915, 13198, 14484, 15770, 17054, 18340, 19624, 20911, 22193, 23479, 24765, 26048, 27332, 28619, 29905, 31188, 32474, 33760, 35041, 36329, 37615, 38899, 40184, 41469, 42753, 44039, 45324, 46607, 47896, 49179, 50463, 51749, 53032, 54317, 55605, 56891, 58171, 59460, 60744, 62028, 63312, 64601, 65883, 67166, 68451, 69738, 71022, 72307, 73594, 74878, 76162, 77448, 78735, 80018, 81303, 82588, 83873, 85157, 86443, 87728, 89013, 90296, 91582, 92867, 94153, 95437, 96724] + hit0 = 1 + CD = 10.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '屠戮回旋斩' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [47, 700] + data0 = [0, 1427, 1569, 1715, 1857, 2003, 2148, 2292, 2439, 2584, 2726, 2869, 3017, 3161, 3305, 3447, 3596, 3739, 3884, 4029, 4174, 4318, 4459, 4604, 4749, 4896, 5040, 5185, 5329, 5474, 5618, 5763, 5908, 6053, 6198, 6345, 6487, 6631, 6776, 6921, 7067, 7208, 7354, 7498, 7644, 7788, 7933, 8079, 8221, 8367, 8507, 8656, 8803, 8945, 9089, 9235, 9379, 9521, 9670, 9815, 9957, 10102, 10248, 10391, 10538, 10681, 10827, 10969, 11114, 11256, 11407] + hit0 = 4 + data1 = [0, 5702, 6282, 6861, 7438, 8016, 8594, 9175, 9752, 10329, 10909, 11486, 12064, 12645, 13224, 13802, 14379, 14956, 15536, 16113, 16693, 17273, 17849, 18427, 19009, 19585, 20164, 20741, 21322, 21901, 22479, 23058, 23638, 24216, 24792, 25373, 25949, 26528, 27106, 27687, 28262, 28841, 29422, 29997, 30579, 31157, 31735, 32312, 32889, 33471, 34049, 34627, 35203, 35785, 36360, 36942, 37521, 38098, 38680, 39253, 39835, 40414, 40991, 41570, 42148, 42726, 43307, 43884, 44461, 45044, 45617] + hit1 = 1 + CD = 12.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = '怠惰之息' + 备注 = '2层' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [27, 308] + data0 = [0, 12420, 13679, 14939, 16197, 17457, 18718, 19978, 21242, 22500, 23759, 25020, 26279, 27540, 28798, 30058, 31320, 32581, 33841, 35098, 36359, 37619, 38877, 40137, 41400, 42660, 43917, 45176, 46438, 47697, 48958, 50218, 51477, 52737, 53997, 55256, 56516, 57776, 59037, 60297, 61558, 62816, 64079, 65337, 66598, 67859, 69116, 70379, 71639, 72899, 74158, 75417, 76678, 77937, 79198, 80458, 81717, 82978, 84238, 85499, 86758, 88017, 89277, 90537, 91798, 93057, 94316, 95577, 96838, 98098, 99356] + hit0 = 1 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = '诱魔之手' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 4602, 5070, 5535, 6002, 6471, 6937, 7404, 7873, 8339, 8807, 9273, 9740, 10207, 10674, 11139, 11607, 12074, 12540, 13011, 13476, 13944, 14409, 14876, 15345, 15811, 16277, 16746, 17211, 17678, 18144, 18613, 19082, 19547, 20013, 20482, 20948, 21413, 21883, 22348, 22814, 23284, 23751, 24216, 24685, 25152, 25619, 26085, 26552, 27019, 27486, 27953, 28420, 28885, 29354, 29820, 30286, 30757, 31223, 31687, 32157, 32624, 33089, 33558, 34023, 34490, 34958, 35424, 35890, 36361, 36827] + hit0 = 1 + data1 = [0, 10739, 11829, 12918, 14011, 15101, 16190, 17278, 18368, 19458, 20549, 21638, 22728, 23817, 24904, 25996, 27085, 28176, 29268, 30356, 31444, 32532, 33623, 34714, 35802, 36894, 37985, 39071, 40162, 41252, 42342, 43433, 44522, 45610, 46698, 47788, 48880, 49968, 51059, 52151, 53239, 54328, 55418, 56507, 57598, 58687, 59777, 60865, 61954, 63045, 64136, 65226, 66317, 67404, 68493, 69583, 70672, 71764, 72853, 73942, 75032, 76121, 77211, 78301, 79391, 80482, 81570, 82661, 83749, 84838, 85929] + hit1 = 1 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 5 + + MP = [105, 882] + 无色消耗 = 1 + + +class 技能11(主动技能): + 名称 = '贪婪之刺' + 备注 = '3层' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1722, 1893, 2074, 2243, 2420, 2594, 2766, 2939, 3118, 3293, 3466, 3642, 3813, 3989, 4168, 4342, 4513, 4690, 4865, 5037, 5215, 5389, 5564, 5736, 5913, 6084, 6259, 6434, 6610, 6782, 6958, 7134, 7306, 7484, 7657, 7833, 8007, 8181, 8354, 8530, 8703, 8880, 9057, 9228, 9402, 9578, 9752, 9924, 10103, 10274, 10450, 10628, 10800, 10974, 11151, 11326, 11498, 11672, 11847, 12021, 12200, 12373, 12547, 12721, 12895, 13070, 13244, 13417, 13593, 13768] + hit0 = 9 + CD = 20.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [140, 1176] + 无色消耗 = 1 + + def 装备护石(self, char): + self.hit0 = 22 + self.倍率 *= 0.65*0.82 + self.CDR *= 0.85 + + +class 技能12(主动技能): + 名称 = '杀戮战镰' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 2348, 2588, 2829, 3066, 3303, 3541, 3779, 4019, 4258, 4496, 4732, 4974, 5212, 5451, 5688, 5926, 6168, 6405, 6645, 6881, 7120, 7356, 7597, 7835, 8075, 8309, 8551, 8788, 9025, 9267, 9504, 9742, 9983, 10219, 10458, 10696, 10936, 11174, 11412, 11650, 11886, 12125, 12367, 12603, 12843, 13079, 13322, 13560, 13795, 14037, 14274, 14513, 14752, 14990, 15227, 15467, 15704, 15943, 16179, 16421, 16657, 16894, 17137, 17375, 17613, 17850, 18087, 18329, 18565, 18807] + hit0 = 9 + CD = 20.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [180, 1512] + 无色消耗 = 1 + + def 装备护石(self, char): + self.hit0 = 15 + self.倍率 *= 0.68*1.16 + + +class 技能13(主动技能): + 名称 = '愤怒之袭' + 备注 = '3层' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 35445, 39039, 42637, 46231, 49831, 53426, 57018, 60617, 64212, 67807, 71406, 75003, 78597, 82194, 85788, 89385, 92982, 96576, 100172, 103770, 107365, 110962, 114556, 118154, 121748, 125343, 128941, 132536, 136132, 139727, 143323, 146920, 150516, 154114, 157705, 161307, 164902, 168495, 172092, 175690, 179284, 182880, 186477, 190072, 193668, 197263, 200860, 204457, 208050, 211649, 215245, 218839, 222438, 226031, 229626, 233226, 236819, 240414, 244014, 247609, 251205, 254799, 258396, 261994, 265588, 269185, 272779, 276376, 279972, 283568] + hit0 = 1 + CD = 45.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [400, 3360] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能14(被动技能): + 名称 = '罪业宣告' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.04+0.02 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = '净化之花' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 1278, 1574, 1869, 2166, 2461, 2759, 3054, 3351, 3648, 3945, 4238, 4539, 4831, 5131, 5427, 5723, 6017, 6313, 6612, 6908, 7204, 7501, 7796, 8094, 8391, 8688, 8982, 9282, 9573, 9872, 10169, 10461, 10761, 11058, 11353, 11649, 11948, 12242, 12541, 12836, 13133, 13428, 13725, 14019, 14317, 14615, 14912, 15208, 15504, 15798] + hit0 = 15 + data1 = [0, 78335, 96495, 114661, 132826, 150992, 169154, 187321, 205483, 223647, 241812, 259978, 278140, 296306, 314474, 332635, 350800, 368968, 387129, 405294, 423461, 441622, 459785, 477953, 496114, 514280, 532449, 550609, 568771, 586939, 605100, 623268, 641433, 659593, 677760, 695924, 714087, 732254, 750418, 768582, 786744, 804911, 823074, 841240, 859407, 877571, 895734, 913899, 932065, 950227, 968394] + hit1 = 1 + CD = 140 + + MP = [1500, 3500] + 无色消耗 = 0 + + +class 技能16(主动技能): + 名称 = '嫉妒之吻' + 备注 = '4层' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 33729, 37153, 40575, 43998, 47418, 50840, 54261, 57684, 61105, 64528, 67951, 71372, 74796, 78216, 81637, 85058, 88485, 91904, 95327, 98748, 102172, 105592, 109013, 112437, 115862, 119281, 122702, 126125, 129544, 132969, 136389, 139813, 143233, 146658, 150080, 153500, 156923, 160342, 163768, 167189, 170612, 174031, 177455, 180875, 184299, 187719, 191144, 194567, 197985, 201410] + hit0 = 1 + CD = 30 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [400, 1120] + 无色消耗 = 7 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能17(主动技能): + 名称 = '暴食之噬' + 备注 = '4层' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 3631, 4003, 4370, 4741, 5106, 5482, 5845, 6216, 6584, 6959, 7319, 7690, 8061, 8426, 8797, 9167, 9545, 9906, 10275, 10653, 11009, 11389, 11755, 12126, 12491, 12862, 13234, 13600, 13965, 14338, 14703, 15069, 15442, 15808, 16181, 16546, 16920, 17286, 17653, 18020, 18391, 18762, 19131, 19495, 19869, 20236, 20605, 20976, 21349, 21714] + hit0 = 3 + data1 = [0, 10909, 12016, 13123, 14231, 15338, 16447, 17552, 18656, 19764, 20871, 21979, 23085, 24191, 25299, 26406, 27511, 28617, 29727, 30835, 31939, 33048, 34155, 35261, 36370, 37474, 38583, 39687, 40796, 41901, 43009, 44118, 45223, 46331, 47440, 48545, 49652, 50756, 51865, 52971, 54078, 55183, 56292, 57399, 58505, 59613, 60722, 61825, 62930, 64041, 65149] + hit1 = 4 + CD = 50 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能18(主动技能): + 名称 = '灵魂烙印:原罪冲击' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 16706, 18405, 20100, 21795, 23492, 25186, 26881, 28575, 30266, 31968, 33660, 35357, 37052, 38748, 40441, 42139, 43831, 45529, 47225, 48919, 50615, 52310, 54006, 55700, 57392, 59087, 60788, 62480, 64177, 65871, 67567, 69258, 70955, 72652, 74347, 76043, 77740, 79434, 81126, 82825, 84518, 86216, 87910, 89603, 91301, 92996, 94688, 96384, 98078, 99775] + hit0 = 1 + data1 = [0, 66837, 73620, 80400, 87182, 93965, 100746, 107525, 114306, 121087, 127871, 134646, 141432, 148213, 154993, 161775, 168555, 175334, 182116, 188899, 195676, 202459, 209238, 216019, 222801, 229580, 236363, 243143, 249927, 256708, 263487, 270267, 277050, 283830, 290609, 297391, 304173, 310953, 317734, 324513, 331297, 338078, 344858, 351640, 358420, 365199, 371982, 378765, 385546, 392324, 399109] + hit1 = 1 + CD = 40 + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能19(主动技能): + 名称 = '智慧起源:原罪结晶' + 是否主动 = 0 + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + data0 = [0, 6997, 8111, 9230, 10344, 11458, 12575, 13690, 14808, 15922, 17037, 18153, 19270, 20384, 21500, 22614, 23733, 24848, 25962, 27078, 28194, 29310, 30425, 31539, 32656, 33774, 34888, 36003, 37117, 38236, 39350, 40465, 41581, 42698, 43813, 44928, 46042, 47158, 48277, 49391, 50506, 51619, 52738, 53852, 54968, 56085, 57201, 58316, 59430, 60545, 61661] + hit0 = 1 + CD = 2.0 + + def 等效CD(self, **argv): + return 2.0 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = '肋骨重塑:原罪战矛' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 52127, 57415, 62703, 67991, 73278, 78568, 83855, 89144, 94432, 99723, 105011, 110296, 115587, 120875, 126161, 131451, 136738, 142029, 147315, 152601, 157891, 163180, 168472, 173757, 179047, 184335, 189621, 194910, 200198, 205486, 210776, 216061, 221352, 226641, 231929, 237214, 242505, 247794, 253082, 258370, 263658, 268946, 274234, 279522, 284811, 290099, 295389, 300674, 305966, 311252] + hit0 = 1 + data1 = [0, 21027, 23157, 25288, 27421, 29554, 31689, 33822, 35955, 38087, 40219, 42355, 44483, 46620, 48755, 50886, 53016, 55151, 57282, 59415, 61549, 63684, 65817, 67947, 70083, 72215, 74346, 76482, 78614, 80744, 82878, 85011, 87144, 89278, 91411, 93545, 95677, 97813, 99944, 102073, 104208, 106341, 108475, 110609, 112739, 114872, 117006, 119140, 121271, 123407, 125541] + hit1 = 3 + CD = 45.0 + 是否有护石 = 1 + + MP = [800, 6000] + 无色消耗 = 5 + + def 装备护石(self, char): + self.power1 = 1.54 + + +class 技能21(主动技能): + 名称 = '失乐园' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 6556, 8077, 9595, 11116, 12635, 14157, 15676, 17195, 18718, 20237, 21758, 23277, 24798, 26317, 27836, 29359, 30878, 32399, 33919, 35438, 36958, 38478, 40000, 41519, 43040, 44560, 46080, 47601, 49121, 50641, 52160, 53680, 55201, 56721, 58242, 59763, 61283, 62802, 64322, 65842, 67362, 68883, 70404, 71924, 73444, 74963, 76484, 78003, 79524, 81045] + hit0 = 7 + data1 = [0, 183561, 226127, 268693, 311258, 353823, 396388, 438953, 481517, 524085, 566649, 609213, 651779, 694345, 736910, 779474, 822041, 864606, 907171, 949735, 992301, 1034867, 1077431, 1119997, 1162563, 1205127, 1247692, 1290258, 1332822, 1375387, 1417954, 1460520, 1503083, 1545648, 1588215, 1630779, 1673343, 1715911, 1758475, 1801040, 1843606, 1886171, 1928735, 1971300, 2013867, 2056432, 2098996, 2141562, 2184128, 2226691, 2269257] + hit1 = 1 + CD = 180.0 + + MP = [1500, 5000] + 无色消耗 = 10 + + +class 技能22(主动技能): + 名称 = '至高之刑' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 20339, 22400, 24464, 26527, 28591, 30655, 32719, 34783, 36846, 38908, 40972, 43035, 45097, 47164, 49227, 51287, 53350, 55415, 57478, 59544, 61606, 63667, 65731, 67796, 69859, 71923, 73987, 76050, 78111, 80175, 82238, 84303, 86366, 88430, 90493, 92555, 94619, 96684, 98747, 100809, 102874, 104937, 106998, 109063, 111126, 113189, 115254, 117318, 119379, 121442] + hit0 = 6 + data1 = [0, 81353, 89607, 97864, 106116, 114369, 122622, 130874, 139129, 147383, 155638, 163890, 172142, 180397, 188650, 196904, 205158, 213410, 221665, 229916, 238171, 246424, 254677, 262934, 271185, 279440, 287690, 295944, 304200, 312452, 320707, 328960, 337211, 345467, 353721, 361973, 370227, 378483, 386736, 394986, 403241, 411494, 419747, 428002, 436256, 444507, 452761, 461016, 469268, 477523, 485777] + hit1 = 1 + CD = 60 + + MP = [1066, 8000] + 无色消耗 = 7 + + +class 技能23(被动技能): + 名称 = '原罪之初' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = '原罪之翼·永息' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 634497, 781629, 928756, 1075887, 1223019, 1370147, 1517278, 1664406, 1811540, 1958670, 2105799, 2252928, 2400057, 2547190, 2694320, 2841450, 2988579, 3135708, 3282840, 3429970, 3577098, 3724229, 3871360, 4018490, 4165620, 4312748, 4459879, 4607010, 4754142, 4901268, 5048402, 5195532, 5342661, 5489791, 5636918, 5784050, 5931180, 6078312, 6225440, 6372570, 6519702, 6666830, 6813960, 6961092, 7108219, 7255351, 7402481, 7549610, 7696742, 7843870] + hit0 = 1 + CD = 290 + + MP = [4028, 8056] + 无色消耗 = 15 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'mistress' + self.名称 = '神启·诱魔者' + self.角色 = '圣职者(女)' + self.角色类型 = '输出' + self.职业 = '诱魔者' + # 用来筛CP武器的 + self.转职 = '诱魔者' + self.武器选项 = ['镰刀'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '镰刀' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.875 + + super().__init__(equVersion) diff --git a/api/core/characters/muse.py b/api/core/characters/muse.py new file mode 100644 index 00000000..a2f9fb51 --- /dev/null +++ b/api/core/characters/muse.py @@ -0,0 +1,381 @@ + + +from core.basic.buffer.property import * +from core.basic.buffer.character import Character + +class 护石0: + def __init__(self): + self.name = '跃动情思' + self.skill = '乐章再现' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + pass + + +class 护石1: + def __init__(self): + self.name = '强力音符' + self.skill = '音力增强' + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +class 护石2: + def __init__(self): + self.name = '舞台魅力' + self.skill = '缪斯之声' + pass + + def effect(self, 角色: Buffer): + 角色.get_skill_by_name('梦想的舞台').CD -= 25 + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 护石3: + def __init__(self): + self.name = '活力节奏' + self.skill = '调音放送' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.04) + + +class 护石4: + def __init__(self): + self.name = '演出技巧' + self.skill = '闪耀旋律' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +class 护石5: + def __init__(self): + self.name = '完美开场' + self.skill = '巨星登场' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.08) + + +class 护石6: + def __init__(self): + self.name = '四季问安' + self.skill = '辉光变奏' + pass + + def effect(self, 角色: Buffer): + 角色.辅助属性加成(buff百分比力智=0.06) + + +护石组合 = (护石0(), 护石1(), 护石2(), + 护石3(), 护石4(), 护石5(), 护石6()) + + +class 技能0(辅助职业被动技能): + 名称 = '多彩感性' + 所在等级 = 15 + 等级精通 = 50 + 等级上限 = 60 + 学习间隔 = 3 + 额外精神 = 0 + 站街生效 = 1 + 精神 = [0, 276, 280, 284, 288, 292, 297, 302, 307, 313, 319, 325, 331, 337, 344, 351, 359, 367, 375, 383, 391, 400, 409, 419, 428, 438, 448, 459, 469, 480, 491, 503, 515, 527, 539, 551, + 565, 578, 591, 605, 619, 633, 647, 663, 677, 693, 709, 725, 741, 757, 774, 788, 804, 820, 836, 852, 867, 883, 899, 915, 931, 946, 962, 978, 994, 1010, 1025, 1041, 1057, 1073, 1089] + + def 精神加成(self): + return self.精神[self.等级] + self.额外精神 + self.进图加成 + + def 结算统计(self, context: Buffer): + return [0, 0, 0, 0, self.精神加成()] + # 力智、三攻、智力、体力、精神 + + +class 技能1(辅助职业主动技能): + 名称 = '主角登场' + 所在等级 = 20 + 等级精通 = 10 + 等级上限 = 20 + 学习间隔 = 3 + 额外体精 = 0 + 站街生效 = 0 + 进图加成 = 0 + 体精 = [0, 94, 98, 102, 107, 112, 116, 122, 127, 131, 137, + 141, 147, 153, 158, 163, 169, 175, 181, 187, 192] + CD = 10 + + def 体精加成(self): + return self.体精[self.等级] + self.额外体精 + self.进图加成 + + def 结算统计(self, context: Buffer): + return [0, 0, 0, self.体精加成(), self.体精加成()] + # 力智、三攻、智力、体力、精神 + + +class 技能2(辅助职业主动技能): + 名称 = '可爱节拍' + 所在等级 = 30 + 等级精通 = 10 + 等级上限 = 40 + 学习间隔 = 3 + + BUFF力智per = 1 + BUFF三攻per = 1 + + BUFF力智 = 0 + BUFF三攻 = 0 + + 倍率 = 1.0 + + 三攻 = [0, 40, 42, 44, 46, 47, 49, 51, 52, 54, 55, 56, 58, 60, 61, 63, 64, 65, 67, 70, + 72, 73, 74, 76, 78, 80, 82, 83, 84, 86, 88, 89, 92, 93, 94, 96, 98, 99, 101, 102, 104] + 力智 = [0, 162, 173, 186, 196, 207, 217, 227, 239, 249, 262, 272, 283, 295, 306, 318, 328, 338, 350, 360, + 372, 382, 394, 406, 416, 428, 437, 448, 460, 471, 482, 493, 503, 516, 527, 539, 548, 559, 570, 581, 593] + + CD = 10 + + def 结算统计(self, context: Buffer): + buffer_power = context.BUFF量() + + 新词条倍率 = (((self.适用数值 + 4350) / 665 + 1) * + (buffer_power + 3500) / 26395) if buffer_power > 0 else 0 + + 新词条力智 = 新词条倍率 * (self.力智[self.等级]) + 新词条三攻 = 新词条倍率 * (self.三攻[self.等级]) + + 旧词条力智 = ((self.适用数值)/665 + 1) * \ + (self.力智[self.等级]+self.BUFF力智) * self.BUFF力智per + + 旧词条三攻 = ((self.适用数值)/665 + 1) * \ + (self.三攻[self.等级]+self.BUFF三攻) * self.BUFF三攻per + + 倍率 = self.倍率 + + 力智 = int((新词条力智 + 旧词条力智) * 倍率) + 三攻 = int((新词条三攻 + 旧词条三攻) * 倍率) + + return [力智, 三攻, 0, 0, 0] + # 力智、三攻、智力、体力、精神 + + +class 技能3(辅助职业被动技能): + 名称 = '燃情狂想曲' + 所在等级 = 40 + 等级精通 = 1 + 等级上限 = 1 + 学习间隔 = 3 + 增幅倍率 = 0.1 + + def 结算统计(self, context: Buffer): + buff = context.get_skill_by_name('BUFF') + if buff.是否启用: + values = buff.结算统计(context) + return [int(round(i * self.增幅倍率)) for i in values] + return [0]*5 + + +class 技能4(辅助职业被动技能): + 名称 = '明星气场' + 所在等级 = 48 + 等级精通 = 40 + 等级上限 = 50 + 学习间隔 = 3 + 额外力智 = 0 + 力智 = [0, 14, 37, 59, 82, 104, 127, 149, 172, 194, 217, 239, 262, 284, 307, 329, 352, 374, 397, 419, 442, 464, 487, 509, 532, 554, + 577, 599, 622, 644, 667, 689, 712, 734, 757, 779, 802, 824, 847, 869, 892, 914, 937, 959, 982, 1004, 1027, 1049, 1072, 1094, 1117] + 额外精神 = 0 + 精神 = [0, 6, 25, 44, 63, 82, 101, 120, 139, 158, 177, 196, 215, 234, 253, 272, 291, 310, 329, 348, 367, 386, 405, 424, 443, 462, + 485, 507, 530, 552, 575, 597, 620, 642, 665, 687, 710, 732, 755, 777, 800, 822, 845, 867, 890, 912, 935, 957, 980, 1002, 1025] + + def 力智加成(self): + return self.力智[self.等级] + self.额外力智 + + def 精神加成(self): + return self.精神[self.等级] + self.额外精神 + + def 结算统计(self, context: Buffer): + return [self.力智加成(), 0, self.力智加成(), 0, self.精神加成()] + # 力智、三攻、智力、体力、精神 + + +class 技能5(辅助职业觉醒技能): + 名称 = '梦想的舞台' + CD = 170 + pass + + +class 技能6(辅助职业被动技能): + 名称 = '崭新曲风' + 所在等级 = 75 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 精神 = [0, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, + 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640] + + def 精神加成(self): + return self.精神[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, 0, 0, self.精神加成()] + # 力智、三攻、智力、体力、精神 + + +class 技能7(辅助职业主动技能): + 名称 = '开场:唯我璀璨' + 所在等级 = 85 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 5 + CD = 180 + + def 结算统计(self, context: Buffer): + return [0]*5 + + +class 技能8(辅助职业被动技能): + 名称 = '和茉霓之歌' + 所在等级 = 95 + 等级精通 = 30 + 等级上限 = 40 + 学习间隔 = 3 + 站街生效 = 1 + 精神 = [0, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, + 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, 630, 640, 650] + + def 精神加成(self): + return self.精神[self.等级] + + def 结算统计(self, context: Buffer): + return [0, 0, 0, 0, self.精神加成()] + # 力智、三攻、智力、体力、精神 + + +class 技能9(辅助职业三觉技能): + 名称 = '终曲:霓虹蝶梦' + 关联技能 = ['开场:唯我璀璨'] + CD = 290 + pass + +class 技能10(辅助职业主动技能): + 名称 = '夜与梦' + 所在等级 = 10 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 3 + CD = 10 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + + +class 技能11(辅助职业主动技能): + 名称 = '辉光变奏' + 所在等级 = 80 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 50 + + def 结算统计(self, context): + return [0, 0, 0, 0, 0] + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'muse' + self.名称 = '聆风·缪斯' + self.角色 = '弓箭手' + + self.类型 = '辅助' + self.职业 = '缪斯' + self.转职 = '缪斯' + + self.武器选项 = ['神弦弓'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['精神'] + self.武器类型 = '神弦弓' + self.防具类型 = '板甲' + self.适用属性 = '精神' + self.技能序号 = {} + self.被动增伤倍率 = 1.165 + + 技能栏 = [] + i = 0 + while i >= 0: + try: + skill: 辅助职业技能 = eval("技能"+str(i)+"()") + skill.技能序号 = i + 名称 = skill.名称 + self.技能序号[名称] = i + if skill.所在等级 == 30: + 名称 = 'BUFF' + elif skill.所在等级 == 50: + 名称 = '一次觉醒' + elif skill.所在等级 == 85: + 名称 = '二次觉醒' + elif skill.所在等级 == 100: + 名称 = '三次觉醒' + skill.基础等级计算() + 技能栏.append(skill) + self.技能序号[名称] = i + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能栏 + self.buff = 1.70 + self.护石技能 = [i.skill for i in 护石组合] + + super().__init__(equVersion) + + def 护石计算(self): + for 护石 in 护石组合: + if 护石.skill in self.护石栏: + 护石.effect(self) + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + super().set_skill_info(info,rune_except=['主角登场'],rune_start_lv=10) + + def 职业特殊计算(self): + for skill in self.技能栏: + data = skill.结算统计(self) + if (data[4] > 0): + self.skills_passive[skill.名称]['info'] = [{ + 'type': '精神', + 'info': [data[4]], + 'percent': False + }] + pass + + def 技能冷却缩减(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却缩减 *= (1-x) + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.CDR *= (1 - x) + + def 技能恢复加成(self, min: int, max: int, x: float, exc=[],excName=[]) -> None: + if min == 1 and max == 100: + self.冷却恢复 += x + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否主动 == 1: + i.恢复 += x + + def 单技能加成(self, 名称: str, 倍率=1.0, CD=1.0, lv=0) -> None: + i = self.get_skill_by_name(名称) + i.等级加成(lv, char=self) + if i.是否主动 == 1: + i.CDR *= CD + + def 设置觉醒技能(self): + self.觉醒技能 = ['梦想的舞台','开场:唯我璀璨','终曲:霓虹蝶梦'] \ No newline at end of file diff --git a/api/core/characters/necro.py b/api/core/characters/necro.py new file mode 100644 index 00000000..4f533f28 --- /dev/null +++ b/api/core/characters/necro.py @@ -0,0 +1,791 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = '暗魂波' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [15, 161] + # 三觉后技能数据有轻微变化 + data0 = [0, 758, 851, 948, 1039, 1130, 1219, 1312, 1406, 1497, 1586, 1681, 1771, 1866, 1959, 2045, 2144, 2233, 2319, 2417, 2506, 2600, 2691, 2783, 2877, 2964, 3055, 3153, 3240, 3334, 3426, 3517, 3611, 3700, 3793, 3885, 3979, 4072, 4160, 4251, 4348, 4436, 4531, 4621, 4708, 4807, 4899, 4986, 5078, 5169, 5268, 5356, 5447, 5541, 5632, 5722, 5815, 5903, 6001, 6094, 6180, 6274, 6367, 6462, 6550, 6641, 6735, 6823, 6915, 7012, 7100] + hit0 = 4 + # 蓄力增伤35% + 倍率 = 1.35 + CD = 3.5 + TP成长 = 0.10 + TP上限 = 7 + 国服特色 = 1 + + +class 技能1(主动技能): + 名称 = '诅咒之箭' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [22, 235] + data0 = [0, 545, 599, 654, 710, 766, 821, 876, 931, 986, 1043, 1099, 1153, 1209, 1264, 1319, 1374, 1431, 1484, 1541, 1595, 1652, 1706, 1764, 1817, 1873, 1928, 1984, 2038, 2093, 2149, 2205, 2260, 2316, 2370, 2424, 2482, 2538, 2593, 2648, 2703, 2757, 2813, 2869, 2923, 2979, 3034, 3090, 3145, 3201, 3256, 3312, 3367, 3423, 3478, 3532, 3588, 3644, 3698, 3755, 3808, 3863, 3921, 3977, 4031, 4087, 4141, 4196, 4252, 4308, 4363] + hit0 = 5 + CD = 10 + TP成长 = 0.1 + TP上限 = 7 + 国服特色 = 1 + + +class 技能2(主动技能): + 名称 = '降临:尼古拉斯' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 420] + data0 = [0, 113, 122, 135, 145, 158, 170, 182, 192, 205, 215, 229, 238, 251, 261, 274, 282, 294, 306, 319, 329, 342, 351, 365, 375, 388, 398, 410, 422, 435, 445, 456, 467, 480, 491, 503, 514, 525, 538, 549, 561, 572, 583, 596, 607, 618, 629, 640, 652, 664, 676, 687, 698, 710, 722, 734, 745, 756, 768, 780, 790, 803, 813, 826, 837, 850, 859, 872, 883, 896, 906] + hit0 = 4 + # CD为测试数据 + CD = 2 + TP成长 = 0.1 + TP上限 = 7 + + data1 = [0, 223, 246, 270, 292, 316, 339, 362, 386, 407, 430, 454, 477, 500, 523, 546, 567, 590, 614, 637, 659, 683, 706, 728, 752, 774, 798, 821, 844, 868, 890, 914, 937, 960, 984, 1006, 1030, 1053, 1075, 1099, 1121, 1144, 1167, 1191, 1215, 1236, 1259, 1282, 1305, 1330, 1352, 1375, 1395, 1419, 1442, 1466, 1489, 1511, 1535, 1558, 1582, 1605, 1627, 1651, 1674, 1698, 1721, 1742, 1766, 1789, 1812] + hit1 = 0 + data2 = [0, 669, 738, 809, 874, 945, 1013, 1083, 1152, 1220, 1290, 1360, 1429, 1499, 1567, 1637, 1703, 1774, 1842, 1912, 1980, 2050, 2120, 2188, 2259, 2327, 2396, 2465, 2532, 2602, 2671, 2742, 2811, 2879, 2949, 3017, 3087, 3156, 3225, 3294, 3364, 3434, 3502, 3571, 3641, 3710, 3778, 3847, 3917, 3986, 4056, 4125, 4193, 4263, 4331, 4400, 4469, 4538, 4607, 4677, 4747, 4816, 4885, 4953, 5022, 5091, 5161, 5228, 5298, 5368, 5438] + hit2 = 0 + + 形态 = ['蜘蛛', '艾克'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "蜘蛛": + self.hit0 = 4 + self.hit1 = 0 + self.hit2 = 0 + self.CD = 2 + if self.TP等级 > 0: + self.power0 = 1.5 + if 形态 == "艾克": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + self.CD = 6 + + +class 技能3(主动技能): + 名称 = '驱使僵尸' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 420] + # 僵尸自爆(非抓) + data0 = [0, 719, 789, 861, 934, 1008, 1080, 1152, 1227, 1298, 1373, 1442, 1515, 1588, 1663, 1737, 1808, 1880, 1952, 2028, 2098, 2172, 2245, 2318, 2390, 2462, 2535, 2605, 2679, 2749, 2827, 2897, 2971, 3044, 3115, 3189, 3260, 3337, 3409, 3482, 3551, 3625, 3699, 3772, 3843, 3919, 3987, 4061, 4135, 4205, 4279, 4351, 4421, 4498, 4571, 4646, 4715, 4789, 4864, 4937, 5007, 5078, 5152, 5225, 5299, 5372, 5441, 5512, 5586, 5660, 5733] + hit0 = 5 + # 僵尸撕咬(抓取--对单) + data1 = [0, 61, 65, 72, 75, 80, 88, 93, 99, 104, 110, 118, 124, 128, 137, 141, 148, 154, 155, 165, 169, 174, 182, 187, 193, 200, 204, 213, 217, 225, 230, 235, 243, 244, 251, 257, 265, 269, 277, 280, 289, 293, 300, 307, 311, 318, 322, 328, 332, 339, 344, 352, 358, 364, 369, 373, 382, 385, 393, 399, 405, 411, 417, 422, 428, 435, 441, 445, 454, 458, 463] + hit1 = 0 + data2 = [0, 114, 127, 140, 153, 166, 175, 188, 197, 209, 221, 233, 245, 258, 270, 280, 291, 305, 317, 328, 342, 353, 362, 372, 383, 398, 411, 424, 435, 442, 458, 469, 480, 493, 505, 519, 532, 537, 549, 563, 576, 583, 599, 610, 623, 634, 646, 660, 669, 685, 691, 704, 714, 727, 740, 751, 764, 775, 787, 799, 811, 824, 835, 843, 855, 869, 880, 893, 904, 917, 928] + hit2 = 0 + data3 = [0, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151, 153, 155] + hit3 = 0 + CD = 8 + TP成长 = 0.10 + TP上限 = 7 + + 形态 = ["自爆", "撕咬"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "自爆": + self.hit0 = 5 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "撕咬": + self.hit0 = 5 + self.hit1 = 2 + self.hit2 = 1 + self.hit3 = 1 + + +class 技能4(主动技能): + 名称 = '服从' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + 是否有伤害 = 0 + # 本来还应该有个近战模式 降临:尼古拉斯(蜘蛛斩) 伤害和原尼古拉斯TP无关,只和服从等级相关 + # 不过用的太少而且很弱 就忽略掉了 + 关联技能 = ['降临:尼古拉斯'] + # 蜘蛛斩 + # data0 = [int(i*1.0) for i in [0, 777, 957, 1138, 1318, 1498, 1679, 1859, 2039, 2220, 2400, 2580, 2761, 2941, 3121, 3302, 3482, 3662, 3843, 4023, 4203]] + # hit0 = 1 + # CD = 2 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.0 + 0.04 * self.等级, 5) + + +class 技能5(被动技能): + 名称 = '黑暗之环' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.1 + 0.01 * self.等级, 5) + + +class 技能6(主动技能): + 名称 = '暗影蛛丝阵' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [95, 952] + data0 = [0, 436, 480, 523, 565, 611, 655, 698, 744, 785, 832, 876, 918, 963, 1007, 1051, 1095, 1138, 1185, 1228, 1271, 1316, 1360, 1402, 1448, 1492, 1533, 1578, 1623, 1668, 1710, 1754, 1800, 1844, 1886, 1932, 1974, 2021, 2064, 2107, 2152, 2194, 2240, 2284, 2328, 2374, 2417, 2459, 2505, 2548, 2591, 2637, 2678, 2727, 2769, 2812, 2856, 2900, 2945, 2989, 3032, 3077, 3120, 3163, 3209, 3254, 3298, 3340, 3385, 3429, 3473] + hit0 = 19 + CD = 20 + TP成长 = 0.07 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = '死亡之爪' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [24, 259] + data0 = [0, 3353, 3693, 4033, 4373, 4713, 5054, 5394, 5734, 6074, 6413, 6755, 7095, 7435, 7775, 8115, 8456, 8796, 9136, 9476, 9816, 10156, 10497, 10837, 11177, 11516, 11857, 12198, 12538, 12879, 13218, 13558, 13898, 14239, 14579, 14919, 15259, 15600, 15940, 16280, 16621, 16960, 17300, 17641, 17982, 18321, 18661, 19001, 19342, 19682, 20022, 20362, 20702, 21042, 21383, 21724, 22063, 22403, 22743, 23085, 23424, 23764, 24104, 24444, 24785, 25125, 25466, 25805, 26145, 26485, 26827] + hit0 = 1 + CD = 7 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '死灵之怨' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [32, 336] + data0 = [0, 406, 447, 487, 530, 571, 612, 654, 694, 735, 776, 819, 860, 900, 942, 984, 1024, 1066, 1107, 1148, 1189, 1232, 1273, 1313, 1353, 1396, 1437, 1479, 1520, 1561, 1602, 1644, 1687, 1725, 1766, 1809, 1850, 1891, 1933, 1974, 2015, 2056, 2099, 2140, 2179, 2221, 2264, 2306, 2346, 2387, 2427, 2468, 2512, 2553, 2592, 2634, 2677, 2719, 2760, 2800, 2841, 2883, 2924, 2966, 3005, 3047, 3090, 3130, 3172, 3211, 3254] + hit0 = 13 + CD = 10 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = '百鬼夜行' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [65, 700] + data0 = [0, 356, 391, 428, 465, 500, 536, 574, 608, 645, 683, 715, 751, 787, 823, 860, 895, 933, 969, 1004, 1042, 1078, 1113, 1150, 1187, 1221, 1259, 1295, 1331, 1368, 1402, 1437, 1472, 1510, 1546, 1580, 1619, 1654, 1690, 1729, 1763, 1798, 1837, 1872, 1907, 1946, 1981, 2016, 2048, 2088, 2122, 2160, 2196, 2231, 2268, 2305, 2340, 2378, 2413, 2449, 2486, 2522, 2557, 2595, 2632, 2666, 2698, 2738, 2772, 2808, 2847] + hit0 = 14 + CD = 12 + TP成长 = 0 + TP上限 = 7 + # 增加持续时间,hit0变化依次为 15 17 18 20 21 23 24 + TP倍率 = [1, 15/14, 17/14, 18/14, 20/14, 21/14, 23/14, 24/14, 26/14 , 26/14] + + def TP加成(self): + return self.TP倍率[self.TP等级] + + 形态 = ["自爆", "引爆"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "自爆": + self.power0 = 1.2 + if 形态 == "引爆": + self.power0 = 1.0 + + +class 技能10(被动技能): + 名称 = '黑魔法书:亡者之魂' + 所在等级 = 30 + 等级上限 = 10 + 学习间隔 = 2 + 等级精通 = 1 + 关联技能 = ['暗魂波', '诅咒之箭', '驱使僵尸', '暗影蛛丝阵', '死亡之爪', '死灵之怨', '百鬼夜行', '降临:暴君巴拉克', '暗击拳', '巴拉克强击', + '杀戮乱舞', '吸魂暗劲波', '巴拉克的野心', '降临:僵尸莱迪娅', '巴拉克的愤怒', '千魂祭', '死灵之缚', '怨噬之沼', '暗黑蛛丝引', '暴君极刑斩', '亡者君临:巴拉克之戮', '亡者之茧', '命运殇痕·摩罗斯之咒'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.21 + 0.015 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = '降临:暴君巴拉克' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [338, 3702] + data0 = [0, 547, 562, 581, 598, 616, 636, 656, 677, 697, 719, 740, 764, 787, 812, 838, 862, 889, 916, 944, 972, 1004, 1035, 1066, 1100, 1134, 1170, 1202, 1237, 1269, 1304, 1337, 1367, 1406, 1437, 1472, 1505, 1539, 1572, 1608, 1640, 1673, 1708, 1741, 1776, 1809, 1840, 1874, 1911, 1945, 1975, 2011, 2045, 2077, 2110, 2146, 2179, 2211, 2247, 2281, 2314, 2349, 2382, 2417, 2448, 2482, 2515, 2549, 2584, 2618, 2652] + hit0 = 1 + data1 = [0, 606, 623, 643, 664, 685, 706, 728, 750, 772, 798, 821, 847, 873, 900, 928, 957, 986, 1017, 1049, 1080, 1115, 1149, 1186, 1221, 1259, 1297, 1336, 1375, 1411, 1447, 1486, 1522, 1562, 1599, 1635, 1672, 1709, 1750, 1785, 1822, 1859, 1897, 1935, 1974, 2011, 2047, 2084, 2122, 2159, 2200, 2234, 2272, 2308, 2347, 2384, 2422, 2459, 2497, 2534, 2569, 2608, 2645, 2684, 2719, 2758, 2796, 2834, 2871, 2908, 2944] + hit1 = 1 + data2 = [0, 319, 328, 339, 349, 361, 371, 381, 394, 407, 419, 432, 445, 459, 473, 488, 505, 518, 534, 552, 568, 586, 604, 622, 641, 662, 683, 701, 722, 742, 763, 780, 801, 821, 840, 859, 879, 900, 919, 937, 960, 976, 997, 1017, 1036, 1058, 1075, 1094, 1116, 1134, 1150, 1174, 1194, 1215, 1234, 1252, 1273, 1292, 1312, 1331, 1351, 1371, 1391, 1411, 1429, 1450, 1469, 1490, 1505, 1525, 1545] + hit2 = 5 + data3 = [0, 728, 751, 774, 798, 824, 847, 874, 901, 928, 957, 988, 1018, 1050, 1082, 1115, 1150, 1186, 1222, 1259, 1298, 1339, 1380, 1422, 1468, 1512, 1559, 1602, 1649, 1694, 1737, 1782, 1830, 1871, 1915, 1962, 2007, 2051, 2098, 2143, 2187, 2232, 2279, 2323, 2368, 2410, 2456, 2501, 2548, 2589, 2637, 2682, 2726, 2773, 2815, 2860, 2905, 2951, 2995, 3039, 3087, 3131, 3177, 3219, 3266, 3311, 3355, 3401, 3444, 3489, 3536] + hit3 = 1 + CD = 1 # 非实际CD + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + pass + + 形态 = ["x4", "x3"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "x4": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 5 + self.hit3 = 1 + if 形态 == "x3": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 5 + self.hit3 = 0 + + +class 技能12(主动技能): + 名称 = '暗击拳' + 所在等级 = 35 + 等级上限 = 1 + 基础等级 = 1 + MP = [338, 3702] + data0 = [0, 1269, 1309, 1348, 1391, 1433, 1477, 1524, 1569, 1620, 1668, 1721, 1773, 1828, 1884, 1944, 2003, 2065, 2130, 2194, 2262, 2332, 2406, 2480, 2555, 2636, 2716, 2795, 2871, 2951, 3027, 3107, 3184, 3262, 3341, 3421, 3499, 3576, 3656, 3731, 3812, 3891, 3967, 4046, 4121, 4205, 4283, 4359, 4439, 4516, 4595, 4672, 4751, 4831, 4906, 4987, 5065, 5143, 5222, 5299, 5380, 5456, 5536, 5612, 5691, 5770, 5848, 5926, 6004, 6084, 6160] + hit0 = 1 + data1 = [0, 1620, 1668, 1721, 1773, 1826, 1884, 1941, 2002, 2064, 2127, 2193, 2261, 2332, 2404, 2480, 2556, 2633, 2714, 2801, 2887, 2973, 3068, 3164, 3260, 3359, 3465, 3560, 3666, 3761, 3857, 3962, 4058, 4162, 4257, 4358, 4465, 4560, 4664, 4760, 4856, 4957, 5056, 5162, 5257, 5362, 5458, 5558, 5663, 5759, 5864, 5955, 6055, 6155, 6256, 6357, 6456, 6557, 6658, 6759, 6854, 6953, 7054, 7155, 7255, 7355, 7456, 7556, 7657, 7756, 7852] + hit1 = 0 + CD = 3.0 + + 形态 = ["可抓", "非抓"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "可抓": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 1 + + def MP消耗(self, **argv): + char = argv.get('char', {}) + return char.get_skill_by_name("降临:暴君巴拉克").MP消耗(**argv) + + +class 技能13(主动技能): + 名称 = '巴拉克强击' + 所在等级 = 35 + 等级上限 = 1 + 基础等级 = 1 + MP = [338, 3702] + data0 = [0, 2338, 2410, 2484, 2561, 2639, 2724, 2809, 2894, 2986, 3075, 3170, 3266, 3369, 3474, 3581, 3693, 3808, 3925, 4045, 4171, 4300, 4435, 4571, 4711, 4857, 5006, 5152, 5295, 5441, 5583, 5728, 5869, 6014, 6160, 6304, 6452, 6592, 6739, 6880, 7026, 7171, 7314, 7459, 7603, 7750, 7896, 8038, 8184, 8327, 8473, 8613, 8760, 8906, 9047, 9192, 9338, 9482, 9628, 9769, 9916, 10060, 10206, 10347, 10493, 10636, 10782, 10927, 11071, 11214, 11360] + hit0 = 1 + CD = 2.0 + + def MP消耗(self, **argv): + char = argv.get('char', {}) + return char.get_skill_by_name("降临:暴君巴拉克").MP消耗(**argv) + + +class 技能14(主动技能): + 名称 = '杀戮乱舞' + 所在等级 = 35 + 等级上限 = 1 + 基础等级 = 1 + MP = [338, 3702] + data0 = [0, 1071, 1102, 1135, 1171, 1208, 1246, 1286, 1324, 1366, 1407, 1450, 1495, 1541, 1591, 1638, 1689, 1743, 1796, 1852, 1910, 1968, 2030, 2091, 2156, 2222, 2290, 2359, 2424, 2488, 2556, 2621, 2686, 2753, 2819, 2884, 2951, 3015, 3082, 3149, 3216, 3280, 3348, 3413, 3481, 3546, 3613, 3680, 3745, 3811, 3878, 3943, 4007, 4076, 4140, 4207, 4275, 4339, 4407, 4472, 4538, 4604, 4671, 4735, 4803, 4867, 4933, 5001, 5067, 5130, 5199] + hit0 = 3 + CD = 7.0 + 国服特色 = 1.05 + + def MP消耗(self, **argv): + char = argv.get('char', {}) + return char.get_skill_by_name("降临:暴君巴拉克").MP消耗(**argv) + + # 是否有护石 = 1 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + if "降临:暴君巴拉克" in char.护石栏: + self.hit0 = 5 + self.power0 = 1.2862 + return super().等效百分比(**argv) + + +class 技能15(主动技能): + 名称 = '吸魂暗劲波' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1924, 2118, 2313, 2509, 2704, 2899, 3093, 3290, 3485, 3680, 3875, 4070, 4265, 4460, 4657, 4850, 5046, 5241, 5437, 5631, 5826, 6022, 6218, 6412, 6607, 6804, 6997, 7193, 7388, 7584, 7778, 7973, 8169, 8365, 8559, 8754, 8951, 9144, 9340, 9535, 9729, 9925, 10120, 10316, 10511, 10706, 10901, 11098, 11291, 11486, 11682, 11876, 12073, 12267, 12463, 12658, 12853, 13048, 13245, 13438, 13634, 13829, 14023, 14220, 14414, 14610, 14805, 14999, 15196, 15391] + hit0 = 2 + data1 = [0, 8665, 9542, 10423, 11302, 12181, 13060, 13938, 14818, 15698, 16576, 17455, 18334, 19214, 20091, 20972, 21851, 22729, 23609, 24487, 25368, 26245, 27126, 28005, 28883, 29763, 30641, 31521, 32400, 33278, 34157, 35037, 35916, 36794, 37674, 38553, 39432, 40312, 41190, 42070, 42948, 43827, 44707, 45585, 46466, 47344, 48223, 49102, 49981, 50860, 51740, 52617, 53497, 54377, 55256, 56135, 57013, 57893, 58773, 59651, 60530, 61409, 62288, 63166, 64047, 64925, 65805, 66684, 67562, 68443, 69320] + hit1 = 1 + CD = 35 + TP成长 = 0.1 + TP上限 = 5 + 国服特色 = 1.0455 + + MP = [164, 1376] + 无色消耗 = 1 + + +class 技能16(主动技能): + 名称 = '巴拉克的野心' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 2581, 2842, 3106, 3369, 3628, 3890, 4154, 4415, 4676, 4939, 5203, 5463, 5724, 5987, 6247, 6511, 6774, 7034, 7297, 7559, 7821, 8082, 8344, 8606, 8869, 9130, 9391, 9654, 9917, 10176, 10439, 10702, 10964, 11226, 11487, 11749, 12012, 12275, 12535, 12797, 13061, 13321, 13583, 13845, 14108, 14370, 14631, 14893, 15155, 15418, 15680, 15940, 16202, 16466, 16726, 16989, 17251, 17512, 17775, 18037, 18298, 18560, 18824, 19084, 19346, 19608, 19871, 20132, 20394, 20655] + hit0 = 1 + data1 = [0, 11591, 12768, 13943, 15120, 16295, 17471, 18648, 19823, 20999, 22174, 23351, 24527, 25702, 26880, 28056, 29231, 30407, 31585, 32760, 33936, 35112, 36288, 37464, 38639, 39816, 40990, 42166, 43344, 44519, 45695, 46870, 48047, 49223, 50398, 51575, 52750, 53926, 55102, 56279, 57456, 58632, 59808, 60984, 62159, 63335, 64512, 65687, 66863, 68040, 69215, 70392, 71568, 72744, 73918, 75094, 76271, 77446, 78622, 79799, 80974, 82150, 83325, 84503, 85680, 86855, 88032, 89208, 90383, 91559, 92735] + hit1 = 1 + CD = 25 + TP成长 = 0.1 + TP上限 = 5 + 国服特色 = 1.0457 + + MP = [164, 1376] + 无色消耗 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.18 * 1.18 + self.CDR *= 0.94 + + +class 技能17(被动技能): + 名称 = '巴拉克的盟约' + 所在等级 = 40 + 等级上限 = 10 + 学习间隔 = 2 + 等级精通 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.38 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = '降临:僵尸莱迪娅' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 742, 817, 892, 966, 1039, 1115, 1193, 1268, 1340, 1417, 1491, 1568, 1642, 1719, 1793, 1867, 1943, 2019, 2093, 2167, 2242, 2317, 2394, 2468, 2545, 2618, 2693, 2770, 2844, 2918, 2995, 3069, 3144, 3219, 3294, 3372, 3446, 3517, 3598, 3670, 3749, 3820, 3898, 3967, 4046, 4122, 4200, 4275, 4344, 4423, 4496, 4574, 4648, 4721, 4797, 4873, 4951, 5023, 5099, 5173, 5249, 5322, 5399, 5475, 5550, 5624, 5697, 5777, 5849, 5927] + hit0 = 30 + CD = 45 + TP成长 = 0.1 + TP上限 = 5 + 国服特色 = 1.042 + + MP = [380, 3192] + 无色消耗 = 2 + + CP武器 = False + + 形态 = ["蓄力", "非蓄"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if self.CP武器: + 形态 = "非蓄" + if 形态 == "蓄力": + self.power0 = 1.3 + if 形态 == "非蓄": + self.power0 = 1.0 + + +class 技能19(主动技能): + 名称 = '巴拉克的愤怒' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1271, 1401, 1531, 1659, 1787, 1919, 2045, 2175, 2305, 2433, 2563, 2691, 2819, 2950, 3078, 3208, 3338, 3467, 3595, 3724, 3855, 3982, 4110, 4241, 4369, 4498, 4628, 4757, 4886, 5015, 5144, 5272, 5403, 5533, 5662, 5790, 5920, 6047, 6175, 6305, 6434, 6566, 6694, 6822, 6952, 7080, 7208, 7338, 7470, 7598, 7727, 7856, 7984, 8112, 8241, 8369, 8500, 8631, 8758, 8887, 9017, 9146, 9273, 9404, 9534, 9664, 9792, 9921, 10048, 10177] + hit0 = 1 + data1 = [0, 1276, 1406, 1534, 1665, 1795, 1925, 2054, 2183, 2313, 2443, 2573, 2702, 2832, 2962, 3090, 3220, 3350, 3481, 3609, 3740, 3869, 3998, 4128, 4258, 4388, 4517, 4648, 4776, 4905, 5037, 5165, 5295, 5423, 5555, 5682, 5811, 5943, 6072, 6201, 6330, 6461, 6591, 6722, 6850, 6979, 7109, 7237, 7368, 7499, 7629, 7757, 7886, 8016, 8146, 8276, 8406, 8536, 8665, 8793, 8923, 9053, 9185, 9314, 9443, 9572, 9701, 9830, 9962, 10092, 10221] + hit1 = 1 + data2 = [0, 1081, 1190, 1301, 1408, 1519, 1628, 1739, 1846, 1958, 2066, 2178, 2287, 2396, 2506, 2616, 2724, 2835, 2944, 3054, 3167, 3274, 3384, 3494, 3604, 3712, 3822, 3931, 4039, 4149, 4260, 4369, 4480, 4588, 4700, 4808, 4918, 5027, 5137, 5246, 5356, 5465, 5575, 5686, 5795, 5903, 6015, 6122, 6234, 6342, 6453, 6564, 6673, 6782, 6892, 7003, 7110, 7222, 7330, 7441, 7549, 7660, 7769, 7881, 7988, 8099, 8208, 8317, 8427, 8537, 8645] + hit2 = 4 + data3 = [0, 4591, 5058, 5524, 5991, 6457, 6923, 7391, 7856, 8323, 8788, 9256, 9720, 10186, 10653, 11118, 11585, 12052, 12515, 12982, 13449, 13915, 14381, 14848, 15313, 15780, 16243, 16711, 17176, 17644, 18109, 18577, 19041, 19509, 19974, 20439, 20906, 21372, 21836, 22303, 22770, 23234, 23701, 24168, 24634, 25100, 25566, 26033, 26497, 26966, 27429, 27897, 28362, 28829, 29295, 29762, 30225, 30693, 31159, 31624, 32092, 32555, 33024, 33489, 33957, 34420, 34888, 35354, 35821, 36286, 36753] + hit3 = 1 + data4 = [0, 11502, 12670, 13838, 15005, 16173, 17340, 18506, 19674, 20841, 22009, 23175, 24343, 25508, 26677, 27844, 29009, 30176, 31345, 32511, 33679, 34847, 36013, 37181, 38349, 39514, 40682, 41849, 43016, 44183, 45352, 46515, 47683, 48851, 50019, 51186, 52354, 53522, 54687, 55853, 57023, 58189, 59356, 60524, 61690, 62856, 64026, 65192, 66357, 67527, 68692, 69860, 71028, 72194, 73362, 74529, 75696, 76863, 78032, 79197, 80365, 81530, 82697, 83866, 85031, 86199, 87367, 88534, 89702, 90867, 92035] + hit4 = 1 + CD = 45 + TP成长 = 0.1 + TP上限 = 5 + 国服特色 = 1.0455 + + 是否有护石 = 1 + + MP = [380, 3192] + 无色消耗 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.12 * 1.13 + self.CDR *= 0.89 + + +class 技能20(被动技能): + 名称 = '屠戮之惧' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.075 + 0.015 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = '千魂祭' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 835, 1027, 1220, 1414, 1608, 1804, 1994, 2188, 2383, 2575, 2769, 2963, 3157, 3351, 3544, 3737, 3931, 4125, 4318, 4513, 4704, 4899, 5091, 5286, 5480, 5674, 5867, 6060, 6254, 6447, 6640, 6834, 7029, 7223, 7414, 7609, 7803, 7996, 8187, 8382, 8576, 8769, 8964, 9158, 9351, 9544, 9738, 9931, 10125, None] + hit0 = 9 + data1 = [0, 2893, 3564, 4234, 4908, 5578, 6252, 6922, 7593, 8264, 8937, 9607, 10280, 10949, 11620, 12291, 12961, 13633, 14306, 14976, 15648, 16319, 16989, 17660, 18333, 19003, 19674, 20347, 21017, 21689, 22357, 23029, 23700, 24371, 25045, 25717, 26387, 27059, 27730, 28400, 29070, 29742, 30413, 31085, 31755, 32427, 33098, 33770, 34440, 35111, None] + hit1 = 13 + data2 = [0, 18829, 23194, 27563, 31927, 36294, 40659, 45026, 49391, 53760, 58125, 62493, 66857, 71223, 75589, 79955, 84322, 88689, 93056, 97419, 101787, 106152, 110521, 114886, 119253, 123619, 127984, 132349, 136718, 141083, 145450, 149816, 154180, 158547, 162913, 167280, 171647, 176014, 180379, 184746, 189110, 193478, 197844, 202210, 206576, 210942, 215308, 219675, 224041, 228408, None] + hit2 = 1 + CD = 145 + 国服特色 = 1.0437 + + MP = [881, 7403] + 无色消耗 = 5 + + # + def 技能描述(self, 武器类型): + temp = '' + temp += '降临:尼古拉斯(蜘蛛团/黑蜘蛛), 降临:尼古拉斯(艾克洛索/艾克尼亚) Lv+5
' + temp += '降临:暴君巴拉克(平x), 降临:暴君巴拉克(暗击拳), 降临:暴君巴拉克(巴拉克强击),降临:暴君巴拉克(杀戮乱舞)Lv+4' + return temp + + +class 技能22(主动技能): + 名称 = '死灵之缚' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 1188, 1307, 1429, 1548, 1668, 1792, 1911, 2028, 2149, 2268, 2391, 2511, 2632, 2749, 2871, 2996, 3114, 3234, 3356, 3474, 3594, 3717, 3835, 3956, 4074, 4194, 4316, 4436, 4562, 4681, 4798, 4917, 5041, 5160, 5282, 5400, 5521, 5640, 5763, 5882, 6002, 6124, 6243, 6361, 6487, 6607, 6727, 6844, 6966, 7087] + hit0 = 20 + CD = 30 + TP成长 = 0.10 + TP上限 = 5 + 国服特色 = 1.0457 + + 是否有护石 = 1 + + MP = [400, 1120] + 无色消耗 = 2 + + def 装备护石(self, char): + # 实际情况是先是一个4hit+1hit组成;4hit部分占原伤害的30%,1hit部分为原伤害的1.21*0.88 + self.倍率 *= 0.3+1.21*0.88 + + +class 技能23(主动技能): + 名称 = '怨噬之沼' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 7594, 8366, 9137, 9906, 10680, 11449, 12220, 12989, 13762, 14532, 15302, 16071, 16844, 17614, 18384, 19157, 19928, 20697, 21467, 22239, 23010, 23779, 24552, 25321, 26092, 26861, 27635, 28405, 29175, 29947, 30717, 31487, 32256, 33029, 33798, 34570, 35343, 36112, 36882, 37652, 38425, 39194, 39964, 40734, 41507, 42278, 43047, 43820, 44589, 45360] + hit0 = 1 + data1 = [0, 3795, 4184, 4568, 4953, 5339, 5723, 6108, 6493, 6881, 7267, 7650, 8035, 8421, 8807, 9190, 9579, 9963, 10349, 10733, 11118, 11503, 11888, 12276, 12661, 13046, 13431, 13816, 14200, 14586, 14974, 15358, 15744, 16129, 16513, 16898, 17284, 17671, 18057, 18440, 18826, 19212, 19595, 19981, 20366, 20754, 21138, 21523, 21908, 22294, 22678] + hit1 = 3 + data2 = [0, 2531, 2788, 3045, 3300, 3558, 3814, 4073, 4328, 4587, 4842, 5099, 5357, 5613, 5871, 6127, 6386, 6642, 6897, 7156, 7411, 7670, 7925, 8184, 8439, 8696, 8953, 9209, 9468, 9724, 9982, 10238, 10493, 10753, 11008, 11266, 11522, 11781, 12037, 12292, 12550, 12807, 13064, 13320, 13576, 13835, 14090, 14349, 14604, 14864, 15119] + hit2 = 3 + data3 = [0, 11393, 12550, 13705, 14864, 16018, 17173, 18331, 19486, 20643, 21797, 22955, 24111, 25265, 26423, 27578, 28737, 29891, 31049, 32203, 33358, 34516, 35670, 36828, 37983, 39137, 40296, 41450, 42608, 43763, 44921, 46076, 47231, 48387, 49543, 50701, 51855, 53013, 54169, 55323, 56481, 57636, 58793, 59949, 61104, 62260, 63415, 64574, 65728, 66886, 68041] + hit3 = 1 + CD = 50 + TP成长 = 0.10 + TP上限 = 5 + 国服特色 = 1.0457 + + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3 + + +class 技能24(主动技能): + 名称 = '暗黑蛛丝引' # 一部分伤害统计时分给尼古拉斯了,约2.32765倍 + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 8400, 9256, 10106, 10954, 11810, 12660, 13517, 14364, 15219, 16072, 16922, 17776, 18625, 19481, 20329, 21185, 22036, 22889, 23742, 24592, 25446, 26298, 27151, 28002, 28857, 29705, 30561, 31412, 32262, 33118, 33966, 34821, 35672, 36526, 37377, 38227, 39083, 39935, 40787, 41637, 42490, 43343, 44195, 45047, 45899, 46752, 47603, 48456, 49309, 50162] + hit0 = 1 + data1 = [0, 11200, 12341, 13473, 14607, 15747, 16882, 18021, 19155, 20294, 21429, 22560, 23701, 24836, 25977, 27107, 28247, 29381, 30521, 31657, 32789, 33928, 35060, 36203, 37334, 38475, 39609, 40750, 41881, 43016, 44157, 45290, 46429, 47561, 48702, 49836, 50969, 52110, 53244, 54382, 55517, 56655, 57790, 58927, 60062, 61200, 62336, 63471, 64609, 65744, 66881] + hit1 = 1 + data2 = [0, 1401, 1542, 1685, 1828, 1967, 2111, 2252, 2395, 2535, 2680, 2823, 2963, 3105, 3247, 3388, 3529, 3673, 3813, 3956, 4100, 4241, 4384, 4525, 4667, 4808, 4951, 5091, 5235, 5378, 5517, 5662, 5804, 5946, 6086, 6230, 6373, 6512, 6656, 6798, 6939, 7081, 7224, 7365, 7508, 7650, 7792, 7934, 8075, 8217, 8359] + hit2 = 6 + CD = 20 + 国服特色 = 1.0444 + + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 0 + self.power2 = 4.53 + self.CDR *= 0.9 + + +class 技能25(被动技能): + 名称 = '亡魂之息' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['降临:尼古拉斯', '驱使僵尸', '暗影蛛丝阵', '死亡之爪', '死灵之怨', '百鬼夜行', + '降临:暴君巴拉克', '暗击拳', '巴拉克强击', + '杀戮乱舞', '吸魂暗劲波', '巴拉克的野心', '降临:僵尸莱迪娅', + '巴拉克的愤怒', '千魂祭', '死灵之缚', '怨噬之沼', '暗黑蛛丝引', '暴君极刑斩', '亡者君临:巴拉克之戮', '亡者之茧', '命运殇痕·摩罗斯之咒'] + 关联技能1 = ['暗魂波', '诅咒之箭'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.16 + 0.02 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.31 + 0.02 * self.等级, 5) + + +class 技能26(主动技能): + 名称 = '暴君极刑斩' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 62747, 69113, 75478, 81844, 88209, 94575, 100941, 107307, 113673, 120038, 126404, 132770, 139135, 145500, 151866, 158231, 164599, 170963, 177330, 183693, 190060, 196426, 202791, 209158, 215522, 221890, 228253, 234620, 240984, 247351, 253716, 260082, 266448, 272812, 279180, 285545, 291911, 298276, 304642, 311007, 317372, 323738, 330105, 336470, 342836, 349202, 355567, 361932, 368298, 374664] + hit0 = 1 + CD = 45 + 国服特色 = 1.0457 + + 是否有护石 = 1 + + MP = [800, 6000] + 无色消耗 = 5 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能27(主动技能): + 名称 = '亡者君临:巴拉克之戮' + 所在等级 = 85 + 等级上限 = 40 + 学习间隔 = 5 + 等级精通 = 30 + + data0 = [0, 27576, 33972, 40364, 46760, 53157, 59550, 65947, 72340, 78735, 85128, 91524, 97922, 104315, 110710, 117103, 123498, 129893, 136285, 142683, 149079, 155472, 161868, 168261, 174656, 181049, 187448, 193842, 200236, 206632, 213024, 219420, 225815, 232211, 238605, 245000, 251393, 257789, 264183, 270578, 276971, 283368, 289763, 296157, 302552, 308946, 315343, 321737, 328132, 334526, 340921] + hit0 = 1 + data1 = [0, 3759, 4631, 5501, 6373, 7244, 8116, 8990, 9862, 10734, 11606, 12474, 13346, 14219, 15091, 15962, 16833, 17705, 18577, 19449, 20321, 21191, 22063, 22935, 23807, 24680, 25554, 26424, 27295, 28166, 29038, 29910, 30779, 31651, 32523, 33395, 34267, 35139, 36009, 36882, 37754, 38626, 39498, 40369, 41240, 42112, 42984, 43856, 44728, 45599, 46471] + hit1 = 11 + data2 = [0, 68943, 84931, 100919, 116906, 132895, 148879, 164866, 180855, 196841, 212830, 228816, 244802, 260790, 276777, 292766, 308752, 324739, 340728, 356714, 372699, 388688, 404674, 420663, 436650, 452638, 468626, 484609, 500597, 516585, 532571, 548561, 564548, 580535, 596523, 612506, 628494, 644484, 660470, 676458, 692446, 708433, 724419, 740406, 756394, 772380, 788368, 804355, 820342, 836330, 852316] + hit2 = 1 + 国服特色 = 1.0457 + + CD = 180 + + MP = [1500, 5000] + 无色消耗 = 10 + + +class 技能28(被动技能): + 名称 = '冥河之钥' + 所在等级 = 95 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能29(主动技能): + 名称 = '亡者之茧' + 所在等级 = 95 + 等级上限 = 40 + 学习间隔 = 2 + 等级精通 = 30 + + data0 = [0, 7283, 8023, 8761, 9498, 10240, 10976, 11716, 12455, 13195, 13933, 14671, 15411, 16151, 16888, 17628, 18365, 19105, 19844, 20582, 21321, 22059, 22800, 23539, 24276, 25016, 25756, 26493, 27232, 27970, 28711, 29449, 30188, 30927, 31664, 32405, 33144, 33883, 34620, 35361, 36099, 36837, 37576, 38316, 39056, 39793, 40532, 41272, 42010, 42749, 43487] + hit0 = 5 + data1 = [0, 84970, 93589, 102208, 110828, 119449, 128070, 136689, 145310, 153930, 162549, 171170, 179789, 188412, 197031, 205650, 214271, 222893, 231511, 240131, 248751, 257372, 265991, 274611, 283230, 291853, 300472, 309092, 317712, 326331, 334954, 343573, 352193, 360812, 369432, 378054, 386673, 395293, 403914, 412532, 421152, 429772, 438395, 447013, 455634, 464253, 472877, 481495, 490113, 498734, 507354] + hit1 = 1 + 国服特色 = 1.0455 + + CD = 60.0 + + MP = [1066, 8000] + 无色消耗 = 7 + + +class 技能30(主动技能): + 名称 = '命运殇痕·摩罗斯之咒' + 所在等级 = 100 + 等级上限 = 40 + 学习间隔 = 5 + 等级精通 = 30 + + data0 = [0, 408438, 503153, 597863, 692574, 787284, 881995, 976708, 1071419, 1166130, 1260840, 1355550, 1450264, 1544975, 1639685, 1734396, 1829106, 1923820, 2018532, 2113242, 2207951, 2302662, 2397376, 2492087, 2586798, 2681509, 2776219, 2870932, 2965643, 3060354, 3155063, 3249774, 3344488, 3439198, 3533909, 3628621, 3723330, 3818043, 3912755, 4007465, 4102175, 4196885, 4291600, 4386311, 4481020, 4575733, 4670441, 4765155, 4859867, 4954578, 5049288] + hit0 = 1 + CD = 290.0 + 国服特色 = 1.0448 + + MP = [4027, 12888] + 无色消耗 = 15 + + +class 技能31(被动技能): + 名称 = '手杖精通' + 所在等级 = 15 + 等级精通 = 1 + 等级上限 = 1 + 学习间隔 = 1 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['千魂祭', '亡者君临:巴拉克之戮', '命运殇痕·摩罗斯之咒'] + + def CD缩减倍率(self, 武器类型): + if 武器类型 == '手杖' and self.等级 > 0: + return 0.9 + else: + return 1.0 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'necro' + self.名称 = '隐夜·死灵术士' + self.角色 = '暗夜使者' + self.角色类型 = '输出' + self.职业 = '死灵术士' + self.武器选项 = ['手杖'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '手杖' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.14 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, rune_except=[ + '降临:暴君巴拉克', '杀戮乱舞', '巴拉克强击', '暗击拳'],) + + def 职业特殊计算(self): + + 暴君巴拉克 = self.get_skill_by_name("降临:暴君巴拉克") + 等级 = 暴君巴拉克.等级 + TP = 暴君巴拉克.TP等级 + 杀戮乱舞 = self.get_skill_by_name("杀戮乱舞") + 杀戮乱舞.等级 = 等级 + 杀戮乱舞.等级上限 = 70 + 杀戮乱舞.TP上限 = 5 + 杀戮乱舞.TP成长 = 0.1 + 杀戮乱舞.TP等级 = TP + 巴拉克强击 = self.get_skill_by_name("巴拉克强击") + 巴拉克强击.等级 = 等级 + 巴拉克强击.等级上限 = 70 + 巴拉克强击.TP上限 = 5 + 巴拉克强击.TP成长 = 0.1 + 巴拉克强击.TP等级 = TP + 暗击拳 = self.get_skill_by_name("暗击拳") + 暗击拳.等级 = 等级 + 暗击拳.等级上限 = 70 + 暗击拳.TP上限 = 5 + 暗击拳.TP成长 = 0.1 + 暗击拳.TP等级 = TP diff --git a/api/core/characters/nenmaster_female.py b/api/core/characters/nenmaster_female.py new file mode 100644 index 00000000..768abcc6 --- /dev/null +++ b/api/core/characters/nenmaster_female.py @@ -0,0 +1,580 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.02 + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['念兽:龙虎啸'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '分身' + 所在等级 = 5 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + MP = [6, 84] + 基础个数 = 0 + 是否有伤害 = 0 + TP上限 = 0 + 关联技能 = ['幻影爆碎'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 0 + else: + return self.基础个数 + self.等级 + 1 + + +class 技能2(主动技能): + 名称 = "气玉弹" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [20, 168] + 无色消耗 = 0 + data0 = [0, 568, 621, 681, 737, 795, 852, 907, 963, 1021, 1079, 1134, 1196, 1250, 1307, 1363, 1422, 1478, 1533, 1589, 1651, 1706, 1765, 1820, 1879, 1934, 1995, 2049, 2105, 2165, 2221, 2276, 2336, 2389, 2450, 2502, 2566, 2621, 2677, 2734, 2790, 2848, 2907, 2964, 3021, 3074, 3139, 3190, 3248, 3306, 3361, 3419, 3473, 3534, 3590, 3645, 3707, 3759, 3823, 3875, 3938, 3988, 4044, 4107, 4161, 4223, 4277, 4329, 4391, 4447, 4507] + hit0 = 11 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "念气波" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 1 + MP = [15, 154] + 无色消耗 = 0 + data0 = [0, 1265, 1394, 1523, 1651, 1781, 1905, 2036, 2165, 2288, 2420, 2546, 2675, 2803, 2933, 3062, 3189, 3319, 3448, 3571, 3699, 3827, 3957, 4085, 4214, 4341, 4471, 4597, 4728, 4855, 4983, 5110, 5239, 5365, 5495, 5624, 5752, 5880, 6009, 6140, 6265, 6391, 6520, 6648, 6777, 6908, 7036, 7162, 7290, 7417, 7545, 7674, 7803, 7933, 8058, 8187, 8316, 8443, 8572, 8702, 8829, 8955, 9084, 9213, 9341, 9469, 9597, 9725, 9853, 9981, 10110] + hit0 = 1 + 感电data0 = [0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] + 感电hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ['蓄力', '普通'] + + 蓄念炮加成 = 1.0 + + CP武器 = False + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if self.CP武器: + 形态 = '蓄力' + if 形态 == '蓄力': + self.power0 = self.蓄念炮加成 + self.CD = 4 + elif 形态 == '普通': + self.power0 = 1 + self.CD = 1 + if self.CP武器: + self.power0 = self.蓄念炮加成 + self.CD = 5 + + def 等效CD(self, **argv): + if self.CP武器: + self.CD = 5 + return super().等效CD(**argv) + + +class 技能4(被动技能): + 名称 = '蓄念炮' + + 所在等级 = 20 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + + 基础等级 = 1 + + 关联技能 = ['念气波'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(2.26 + 0.05 * self.等级, 5) + + def 加成描述(self, 武器类型): + return [round((self.加成倍率(武器类型) - 1)*100), "念气波(蓄力)", "无"] + +# 幻爆的伤害实质属于被动技能,不能受1-35主动技能+xx的加成 +# MP消耗也是按分身的等级来 + + +class 技能5(主动技能): + 名称 = '幻影爆碎' + 是否主动 = 0 + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + data0 = [0, 839, 923, 1009, 1093, 1179, 1266, 1350, 1430, 1520, 1604, 1686, 1774, 1859, 1940, 2030, 2114, 2196, 2285, 2366, 2451, 2537, 2622, 2709, 2793, 2874, 2962, 3046, 3130, 3219, 3302, 3384, 3473, 3557, 3639, 3728, 3810, 3896, 3982, 4068, 4147, 4232, 4320, 4403, 4489, 4577, 4657, 4743, 4828, 4916, 5000, 5086, 5170, 5254, 5336, 5423, 5509, 5591, 5679, 5763, 5848, 5936, 6017, 6101, 6189, 6274, 6357, 6445, 6530, 6610, 6697] + hit0 = 1 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + +class 技能6(主动技能): + 名称 = "念雷破" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [48, 403] + 无色消耗 = 0 + data0 = [0, 6304, 6944, 7584, 8223, 8864, 9503, 10142, 10780, 11420, 12059, 12701, 13339, 13980, 14615, 15256, 15897, 16535, 17176, 17815, 18454, 19093, 19732, 20371, 21012, 21650, 22289, 22928, 23569, 24210, 24847, 25488, 26126, 26766, 27405, 28046, 28684, 29325, 29960, 30602, 31239, 31880, 32522, 33160, 33801, 34437, 35078, 35716, 36358, 36996, 37637, 38273, 38915, 39551, 40191, 40834, 41470, 42112, 42750, 43391, 44029, 44671, 45307, 45947, 46585, 47226, 47867, 48504, 49146, 49781, 50422] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "念兽螺旋波" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [96, 806] + 无色消耗 = 0 + data0 = [0, 1537, 1693, 1849, 2005, 2162, 2315, 2473, 2628, 2784, 2939, 3097, 3251, 3408, 3562, 3718, 3876, 4032, 4185, 4341, 4498, 4653, 4809, 4964, 5121, 5276, 5431, 5590, 5745, 5899, 6055, 6212, 6367, 6523, 6679, 6835, 6990, 7145, 7301, 7459, 7613, 7769, 7924, 8081, 8239, 8392, 8547, 8705, 8861, 9015, 9170, 9327, 9481, 9638, 9794, 9949, 10104, 10261, 10418, 10573, 10726, 10886, 11042, 11197, 11352, 11508, 11665, 11820, 11976, 12131, 12288] + hit0 = 3 + data1 = [0, 1729, 1906, 2080, 2256, 2431, 2607, 2781, 2958, 3133, 3307, 3485, 3656, 3833, 4007, 4184, 4359, 4534, 4710, 4885, 5060, 5236, 5411, 5584, 5760, 5935, 6111, 6287, 6463, 6637, 6814, 6988, 7164, 7339, 7513, 7689, 7863, 8040, 8213, 8391, 8565, 8741, 8917, 9092, 9266, 9442, 9617, 9791, 9968, 10142, 10317, 10493, 10669, 10844, 11019, 11194, 11370, 11544, 11719, 11895, 12068, 12245, 12419, 12597, 12772, 12948, 13121, 13298, 13472, 13648, 13824] + hit1 = 4 + 感电data0 = [0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12] + 感电hit0 = 7 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '念气环绕' + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + # 实际CD4,0.5为攻击间隔 + CD = 0.5 + MP = [268, 1694] + 无色消耗 = 0 + data0 = [0, 579, 636, 693, 754, 813, 872, 928, 987, 1045, 1106, 1163, 1222, 1279, 1340, 1398, 1455, 1514, 1572, 1631, 1687] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03 + 0.02 * self.等级, 3) + + +class 技能9(主动技能): + 名称 = "狮子吼" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [120, 1008] + 无色消耗 = 1 + data0 = [0, 12283, 13528, 14773, 16017, 17264, 18505, 19754, 20999, 22246, 23489, 24738, 25983, 27228, 28472, 29721, 30965, 32210, 33459, 34703, 35946, 37192, 38438, 39685, 40929, 42177, 43420, 44668, 45912, 47161, 48406, 49653, 50889, 52133, 53383, 54629, 55876, 57118, 58366, 59614, 60856, 62104, 63349, 64595, 65838, 67084, 68330, 69574, 70821, 72066, 73311, 74557, 75804, 77047, 78295, 79539, 80788, 82036, 83278, 84522, 85767, 87013, 88261, 89507, 90749, 91995, 93243, 94491, 95735, 96980, 98226] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + MP = [120, 1008] + 无色消耗 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能10(主动技能): + 名称 = "螺旋念气场" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [170, 1428] + 无色消耗 = 1 + data0 = [0, 2057, 2262, 2467, 2677, 2882, 3092, 3294, 3502, 3716, 3917, 4129, 4336, 4539, 4746, 4958, 5164, 5371, 5579, 5784, 5994, 6202, 6410, 6618, 6821, 7031, 7241, 7447, 7654, 7864, 8072, 8274, 8481, 8689, 8902, 9108, 9315, 9519, 9725, 9933, 10138, 10355, 10564, 10771, 10973, 11182, 11391, 11597, 11805, 12012, 12218, 12426, 12636, 12844, 13047, 13255, 13462, 13670, 13879, 14087, 14292, 14499, 14707, 14910, 15125, 15327, 15537, 15744, 15954, 16160, 16368] + hit0 = 10 + data1 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + self.hit0 = 10 + self.TP等级 + return super().等效百分比(**argv) + + def 装备护石(self, char): + self.倍率 *= 1.22 + + +class 技能11(主动技能): + 名称 = "念兽:龙虎啸" + 所在等级 = 40 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + # 攻击间隔 实际CD5秒 + CD = 1.0 + MP = [550, 5217] + 无色消耗 = 0 + data0 = [0, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169, 169] + hit0 = 1 + data1 = [0, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191] + hit1 = 1 + data2 = [0, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225, 225] + hit2 = 1 + data3 = [0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255] + hit3 = 1 + data4 = [0, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349, 349] + hit4 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.04 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "念兽:雷龙出海" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [450, 3780] + 无色消耗 = 2 + data0 = [0, 912, 1002, 1098, 1181, 1285, 1377, 1474, 1570, 1660, 1750, 1839, 1936, 2031, 2125, 2219, 2308, 2404, 2500, 2591, 2690, 2786, 2871, 2966, 3061, 3157, 3249, 3346, 3436, 3528, 3622, 3718, 3811, 3902, 3993, 4089, 4187, 4279, 4374, 4463, 4557, 4652, 4742, 4842, 4932, 5028, 5122, 5217, 5307, 5401, 5498, 5590, 5679, 5774, 5869, 5963, 6058, 6147, 6247, 6335, 6433, 6523, 6618, 6713, 6803, 6899, 6994, 7086, 7177, 7273, 7365] + hit0 = 29 + data1 = [0, 912, 1002, 1098, 1181, 1285, 1377, 1474, 1570, 1660, 1750, 1839, 1936, 2031, 2125, 2219, 2308, 2404, 2500, 2591, 2690, 2786, 2871, 2966, 3061, 3157, 3249, 3346, 3436, 3528, 3622, 3718, 3811, 3902, 3993, 4089, 4187, 4279, 4374, 4463, 4557, 4652, 4742, 4842, 4932, 5028, 5122, 5217, 5307, 5401, 5498, 5590, 5679, 5774, 5869, 5963, 6058, 6147, 6247, 6335, 6433, 6523, 6618, 6713, 6803, 6899, 6994, 7086, 7177, 7273, 7365] + hit1 = 20 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["打满", "秒C"] + + # 秒C 多段攻击次数为1 且爆炸攻击力随着剩余时间增加而增加 极限秒c加成为78.75% + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "打满": + self.hit0 = 29 + self.hit1 = 20 + if 形态 == "秒C": + self.hit0 = 1 + self.hit1 = 20 + self.power1 = 1.7875 + + def 装备护石(self, char): + self.倍率 *= 1.21 + + +class 技能13(被动技能): + 名称 = '乱舞千叶花' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.15 + 0.01 * self.等级, 5) + + +# 仅录入最高阶段 +class 技能14(主动技能): + 名称 = "千莲怒放" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 14602, 17984, 21371, 24755, 28144, 31528, 34909, 38296, 41680, 45065, 48451, 51836, 55220, 58603, 61992, 65373, 68759, 72146, 75531, 78914, 82301, 85684, 89072, 92456, 95844, 99226, 102611, 105995, 109383, 112768, 116149, 119539, 122919, 126306, 129690, 133074, 136462, 139845, 143229, 146611, 150001, 153384, 156768, 160155, 163537, 166923, 170307, 173695, 177080, 180466] + hit0 = 6 + + +class 技能15(主动技能): + 名称 = "奔雷掌" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1260] + 无色消耗 = 1 + data0 = [0, 3267, 3599, 3931, 4261, 4590, 4921, 5254, 5584, 5916, 6249, 6574, 6909, 7241, 7569, 7901, 8235, 8564, 8895, 9229, 9559, 9889, 10218, 10546, 10879, 11211, 11543, 11871, 12207, 12535, 12867, 13197, 13531, 13857, 14193, 14523, 14854, 15181, 15520, 15846, 16177, 16507, 16840, 17172, 17501, 17837, 18161, 18497, 18827, 19156, 19487] + hit0 = 6 + data1 = [0, 13058, 14380, 15706, 17030, 18354, 19673, 21000, 22324, 23646, 24974, 26298, 27623, 28946, 30271, 31595, 32917, 34240, 35566, 36891, 38215, 39539, 40861, 42186, 43515, 44835, 46158, 47486, 48807, 50133, 51454, 52782, 54109, 55429, 56752, 58078, 59402, 60726, 62050, 63374, 64702, 66020, 67348, 68666, 69994, 71321, 72643, 73967, 75293, 76615, 77939] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 3.22 + self.CDR *= 0.90 + + +class 技能16(主动技能): + 名称 = "狂狮怒吼" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 7723, 8506, 9287, 10071, 10856, 11635, 12419, 13199, 13985, 14768, 15550, 16330, 17115, 17897, 18679, 19463, 20246, 21027, 21812, 22599, 23379, 24160, 24948, 25730, 26510, 27293, 28078, 28858, 29642, 30427, 31208, 31990, 32774, 33558, 34340, 35122, 35903, 36689, 37472, 38254, 39038, 39819, 40603, 41386, 42168, 42950, 43735, 44519, 45300, 46083] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 6 + self.倍率 *= 0.57 + self.CDR *= 0.90 + + +class 技能17(主动技能): + 名称 = "奇袭幻影" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 21631, 23827, 26026, 28220, 30412, 32607, 34802, 36995, 39193, 41387, 43581, 45778, 47969, 50166, 52363, 54553, 56747, 58944, 61140, 63331, 65523, 67719, 69915, 72112, 74305, 76498, 78692, 80888, 83083, 85275, 87471, 89666, 91865, 94057, 96250, 98445, 100640, 102835, 105032, 107225, 109416, 111611, 113805, 116000, 118194, 120390, 122582, 124777, 126971, 129169] + hit0 = 4 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能18(主动技能): + 名称 = "聚能念气炮" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 20821, 22935, 25045, 27158, 29269, 31383, 33493, 35605, 37717, 39832, 41944, 44050, 46169, 48278, 50390, 52499, 54613, 56723, 58837, 60946, 63058, 65170, 67282, 69394, 71504, 73619, 75732, 77843, 79957, 82066, 84179, 86288, 88403, 90515, 92627, 94738, 96852, 98966, 101076, 103189, 105300, 107414, 109522, 111636, 113744, 115861, 117970, 120083, 122195, 124308] + hit0 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.26 + + +class 技能19(被动技能): + 名称 = '心之念意' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.24 + 0.03 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "念帝旋天破" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 202638, 249626, 296614, 343604, 390590, 437578, 484568, 531555, 578543, 625534, 672521, 719510, 766495, 813482, 860470, 907458, 954445, 1001432, 1048422, 1095409, 1142398, 1189388, 1236374, 1283361, 1330352, 1377338, 1424325, 1471316, 1518305, 1565290, 1612276, 1659262, 1706249, 1753244, 1800229, 1847218, 1894205, 1941192, 1988179, 2035172, 2082157, 2129145, 2176134, 2223118, 2270110, 2317101, 2364088, 2411073, 2458062, 2505046] + hit0 = 0 + data1 = [0, 233033, 287068, 341106, 395142, 449179, 503215, 557252, 611287, 665322, 719361, 773398, 827435, 881469, 935504, 989537, 1043574, 1097610, 1151645, 1205683, 1259718, 1313757, 1367795, 1421829, 1475866, 1529905, 1583939, 1637974, 1692010, 1746048, 1800083, 1854117, 1908152, 1962186, 2016230, 2070264, 2124298, 2178334, 2232371, 2286405, 2340445, 2394480, 2448516, 2502552, 2556586, 2610626, 2664664, 2718700, 2772734, 2826769, 2880802] + hit1 = 1 + + 形态 = ["蓄满", "秒炸"] + + # 秒C 多段攻击次数为1 且爆炸攻击力随着剩余时间增加而增加 极限秒c加成为78.75% + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "蓄满": + self.hit0 = 0 + self.hit1 = 1 + if 形态 == "秒炸": + self.hit0 = 1 + self.hit1 = 0 + + +class 技能21(主动技能): + 名称 = "天雷分身步" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [833, 1667] + 无色消耗 = 7 + data0 = [0, 36589, 40302, 44012, 47722, 51435, 55147, 58860, 62571, 66282, 69992, 73704, 77417, 81128, 84840, 88550, 92264, 95976, 99688, 103398, 107108, 110821, 114533, 118244, 121956, 125666, 129378, 133093, 136804, 140515, 144226, 147939, 151650, 155362, 159073, 162784, 166496, 170208, 173920, 177631, 181343, 185055, 188768, 192477, 196188, 199900, 203612, 207326, 211035, 214748, 218459] + hit0 = 1 + data1 = [0, 5490, 6046, 6606, 7162, 7718, 8275, 8831, 9387, 9944, 10501, 11057, 11615, 12172, 12730, 13286, 13841, 14399, 14954, 15510, 16070, 16625, 17182, 17739, 18295, 18851, 19410, 19967, 20525, 21078, 21634, 22192, 22750, 23305, 23863, 24420, 24977, 25536, 26090, 26646, 27204, 27760, 28316, 28873, 29432, 29988, 30544, 31099, 31658, 32214, 32771] + hit1 = 10 + data2 = [0, 91468, 100747, 110028, 119307, 128584, 137864, 147145, 156422, 165702, 174980, 184261, 193538, 202819, 212096, 221376, 230656, 239935, 249213, 258492, 267771, 277052, 286330, 295610, 304887, 314168, 323446, 332725, 342004, 351284, 360564, 369842, 379120, 388402, 397679, 406959, 416237, 425516, 434795, 444076, 453353, 462632, 471913, 481192, 490470, 499749, 509028, 518308, 527586, 536867, 546143] + hit2 = 1 + + +class 技能22(主动技能): + 名称 = "念印幻流破" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 4028] + 无色消耗 = 15 + data0 = [0, 11942, 14712, 17480, 20248, 23017, 25789, 28557, 31325, 34094, 36861, 39631, 42402, 45169, 47938, 50710, 53477, 56246, 59015, 61781, 64551, 67318, 70089, 72858, 75626, 78396, 81166, 83934, 86704, 89472, 92240, 95008, 97777, 100546, 103315, 106085, 108853, 111624, 114392, 117160, 119928, 122696, 125466, 128235, 131002, 133773, 136543, 139312, 142081, 144850, 147617] + hit0 = 5 + data1 = [0, 11942, 14712, 17480, 20248, 23017, 25789, 28557, 31325, 34094, 36861, 39631, 42402, 45169, 47938, 50710, 53477, 56246, 59015, 61781, 64551, 67318, 70089, 72858, 75626, 78396, 81166, 83934, 86704, 89472, 92240, 95008, 97777, 100546, 103315, 106085, 108853, 111624, 114392, 117160, 119928, 122696, 125466, 128235, 131002, 133773, 136543, 139312, 142081, 144850, 147617] + hit1 = 5 + data2 = [0, 119409, 147098, 174788, 202476, 230165, 257853, 285544, 313230, 340919, 368608, 396298, 423986, 451673, 479362, 507050, 534739, 562429, 590118, 617804, 645493, 673182, 700872, 728561, 756250, 783937, 811627, 839315, 867004, 894692, 922381, 950072, 977760, 1005447, 1033136, 1060824, 1088512, 1116202, 1143890, 1171579, 1199267, 1226957, 1254645, 1282334, 1310023, 1337712, 1365400, 1393089, 1420777, 1448466, 1476153] + hit2 = 1 + data3 = [0, 119409, 147098, 174788, 202476, 230165, 257853, 285544, 313230, 340919, 368608, 396298, 423986, 451673, 479362, 507050, 534739, 562429, 590118, 617804, 645493, 673182, 700872, 728561, 756250, 783937, 811627, 839315, 867004, 894692, 922381, 950072, 977760, 1005447, 1033136, 1060824, 1088512, 1116202, 1143890, 1171579, 1199267, 1226957, 1254645, 1282334, 1310023, 1337712, 1365400, 1393089, 1420777, 1448466, 1476153] + hit3 = 1 + data4 = [0, 238817, 294194, 349572, 404949, 460326, 515704, 571082, 626458, 681835, 737215, 792591, 847968, 903345, 958721, 1014099, 1069476, 1124854, 1180231, 1235608, 1290986, 1346364, 1401742, 1457120, 1512497, 1567874, 1623249, 1678628, 1734005, 1789382, 1844759, 1900138, 1955514, 2010892, 2066271, 2121648, 2177023, 2232402, 2287777, 2343155, 2398532, 2453910, 2509288, 2564665, 2620045, 2675420, 2730797, 2786174, 2841552, 2896930, 2952306] + hit4 = 1 + +# 念气归元 + + +class 技能23(被动技能): + 名称 = '念气归元' + 所在等级 = 95 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'nenmaster_female' + self.名称 = '归元·气功师' + self.角色 = '格斗家(女)' + self.角色类型 = '输出' + self.职业 = '气功师' + # 用来筛CP武器的 + self.转职 = '气功师(女)' + self.武器选项 = ['手套'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '手套' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.57*1.21 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 幻影爆碎 = self.get_skill_by_name('幻影爆碎') + 分身 = self.get_skill_by_name('分身') + 分身.基础个数 = 幻影爆碎.TP等级 + + 念气波 = self.get_skill_by_name('念气波') + 蓄念炮倍率 = self.get_skill_by_name('蓄念炮').加成倍率(self.武器类型) + + 念气波.倍率 /= 蓄念炮倍率 + 念气波.蓄念炮加成 = 蓄念炮倍率 + + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['远古记忆','分身']) diff --git a/api/core/characters/nenmaster_male.py b/api/core/characters/nenmaster_male.py new file mode 100644 index 00000000..141409d1 --- /dev/null +++ b/api/core/characters/nenmaster_male.py @@ -0,0 +1,699 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 主动技能(主动技能): + 风雷啸 = 1.0 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.风雷啸 + + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['念兽:龙虎啸'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): # 分身 + 名称 = '分身' + 所在等级 = 5 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + MP = [6, 84] + 基础个数 = 0 + 是否有伤害 = 0 + TP上限 = 0 + 关联技能 = ['幻影爆碎'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 0 + else: + return self.等级 + 1 + + +class 技能2(主动技能): # 雷霆踏 + 名称 = '雷霆踏' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [20, 168] + data0 = [0, 5703, 6280, 6861, 7439, 8017, 8595, 9174, 9753, 10332, 10911, 11489, 12067, 12647, 13225, 13803, 14380, 14961, 15540, 16117, 16697, 17276, 17854, 18431, 19012, 19589, 20168, 20747, 21325, 21903, 22483, 23060, 23639, 24217, 24798, 25375, 25954, 26533, 27112, 27690, 28267, 28848, 29426, 30004, 30582, 31162, 31740, 32319, 32898, 33475, 34054, 34635, 35211, 35790, 36370, 36948, 37526, 38105, 38683, 39263, 39840, 40419, 40998, 41577, 42153, 42733, 43312, 43890, 44468, 45048, 45627] + hit0 = 1 + 感电data0 = [0, 703, 775, 846, 920, 992, 1062, 1133, 1204, 1277, 1348, 1419, 1491, 1563, 1635, 1704, 1776, 1849, 1920, 1991, 2063, 2136, 2206, 2278, 2349, 2420, 2493, 2564, 2635, 2706, 2778, 2850, 2922, 2991, 3063, 3135, 3206, 3279, 3352, 3422, 3494, 3565, 3637, 3708, 3780, 3851, 3921, 3994, 4064, 4136, 4207, 4280, 4352, 4421, 4494, 4567, 4639, 4709, 4781, 4854, 4923, 4995, 5065, 5137, 5210, 5281, 5352, 5423, 5495, 5567, 5640] + 感电hit0 = 1 + CD = 7.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能3(主动技能): # 念气波 + 名称 = '念气波' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [15, 154] + data0 = [0, 2198, 2421, 2645, 2866, 3089, 3313, 3535, 3758, 3982, 4205, 4427, 4649, 4873, 5095, 5319, 5541, 5765, 5987, 6212, 6434, 6657, 6881, 7102, 7327, 7549, 7772, 7995, 8219, 8442, 8665, 8887, 9111, 9333, 9556, 9779, 10001, 10225, 10448, 10672, 10894, 11118, 11340, 11561, 11786, 12008, 12230, 12454, 12678, 12900, 13125, 13348, 13568, 13793, 14016, 14238, 14462, 14686, 14907, 15132, 15354, 15576, 15800, 16022, 16245, 16468, 16692, 16914, 17139, 17361, 17584] + hit0 = 1 + 感电data0 = [0, 245, 269, 294, 318, 343, 367, 394, 418, 442, 466, 490, 516, 540, 566, 590, 615, 640, 665, 689, 714, 739, 765, 789, 813, 837, 862, 886, 913, 937, 962, 986, 1011, 1036, 1062, 1086, 1111, 1135, 1161, 1185, 1209, 1235, 1259, 1283, 1309, 1333, 1358, 1382, 1409, 1434, 1459, 1483, 1508, 1532, 1558, 1583, 1608, 1631, 1656, 1680, 1706, 1730, 1756, 1780, 1805, 1830, 1855, 1879, 1905, 1929, 1955] + 感电hit0 = 1 + CD = 2.5 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能4(主动技能): # 蓄念炮 是被动不能受1-35主动技能+xx的加成 + 名称 = '蓄念炮' + + 所在等级 = 20 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + + MP = [40, 56] + CD = 8.0 + + 是否主动 = 0 + + TP上限 = 1 + + # 这里需要加一个蓄念炮的tp + # 蓄念炮TP的加成倍率和蓄念炮本身等级有关,从1到11级各不相同 + # 蓄念炮TP下的蓄念炮倍率为(0.18+蓄念炮等级*0.01)*14;无tp下蓄念炮倍率为(2.59+蓄念炮等级*0.06) + # 两者相除即是蓄念炮TP所带来的额外倍率 + # 上述描述是针对念气波直伤部分的,关于蓄念炮TP感电部分的额外倍率为(1/(2.59+蓄念炮等级*0.06)); + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + 额外等级 = argv.get('额外等级', 0) + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + + 百分比 = char.get_skill_by_name("念气波").等效百分比(伤害类型=伤害类型) + + if self.等级 == 0: + 倍率 = 1.0 + else: + 倍率 = round(2.59 + 0.06 * self.等级, 5) + if self.TP等级 > 0: + 倍率 = (0.18+self.等级*0.01)*14 + + return 百分比 * 倍率 * self.技攻 * self.倍率 * 额外倍率 + + +# 幻爆的伤害实质属于被动技能,不能受1-35主动技能+xx的加成 +# MP消耗也是按分身的等级来 +class 技能5(主动技能): + 名称 = '幻影爆碎' + 是否主动 = 0 + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + 是否主动 = 0 + data0 = [0, 1122, 1235, 1348, 1461, 1577, 1690, 1803, 1918, 2032, 2145, 2259, 2373, 2487, 2601, 2715, 2828, 2942, 3056, 3169, 3281, 3397, 3510, 3624, 3739, 3852, 3967, 4079, 4194, 4307, 4422, 4534, 4649, 4763, 4878, 4990, 5104, 5218, 5331, 5444, 5559, 5673, 5787, 5899, 6015, 6127, 6242, 6355, 6470, 6584, 6697, 6812, 6925, 7039, 7153, 7268, 7380, 7493, 7608, 7720, 7834, 7949, 8063, 8175, 8289, 8405, 8517, 8631, 8746, 8860, 8973] + CD = 12 + TP成长 = 0.10 + TP上限 = 7 + + + +class 技能6(主动技能): # 念雷轰 #data部分需后续核对 + 名称 = '念雷轰' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [20, 168] # 计算可得 + data0 = [0, 1510, 1663, 1817, 1969, 2122, 2275, 2430, 2582, 2735, 2888, 3043, 3197, 3350, 3503, 3656, 3809, 3963, 4116, 4269, 4422, 4575, 4729, 4882, 5035, 5188, 5340, 5494, 5648, 5801, 5954, 6107, 6260, 6416, 6569, 6722, 6874, 7027, 7182, 7335, 7488, 7640, 7794, 7948, 8101, 8253, 8406, 8560, 8713, 8867, 9019, 9173, 9326, 9479, 9632, 9787, 9940, 10093, 10247, 10401, 10553, 10706, 10860, 11013, 11166, 11319, 11472, 11626, 11778, 11931, 12085] + hit0 = 4 + 感电data0 = [0, 166, 184, 201, 218, 235, 253, 269, 286, 302, 320, 337, 355, 371, 387, 406, 422, 439, 456, 473, 491, 507, 524, 540, 560, 576, 594, 610, 628, 645, 661, 678, 694, 712, 729, 746, 763, 781, 798, 814, 830, 849, 865, 883, 899, 915, 934, 950, 967, 984, 1002, 1019, 1035, 1052, 1068, 1087, 1103, 1120, 1137, 1155, 1172, 1188, 1204, 1223, 1239, 1257, 1273, 1290, 1308, 1324, 1341] + 感电hit0 = 4 + CD = 7 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = '念气环绕' + 所在等级 = 20 + 等级上限 = 35 + 学习间隔 = 3 + 等级精通 = 25 + MP = [5, 210] + data0 = [0, 76, 91, 101, 117, 127, 141, 152, 166, 178, 191, 202, 216, 226, 241, 254, 266, 277, 290, 304, 315, 328, 340, 353, 365, 379, 391, 404, 415, 429, 441, 453, 465, 478, 491, 503] + # 念气环绕 开御(全程)一秒10次 + hit0 = 1 + CD = 4 + 关联技能 = ['所有'] + 关联技能1 = ['念气环绕:御'] + + def 加成倍率1(self, 武器类型): + return self.data0[self.等级]/100 + + def 加成倍率(self, 武器类型): + if (self.等级 <= 25): + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(1.25 + 0.02 * (self.等级 - 25), 5) + + + def 加成倍率2(self, 武器类型): + if (self.等级 <= 25): + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(1.25 + 0.02 * (self.等级 - 25), 5) + + +class 技能8(主动技能): # 念气环绕:袭 + 名称 = '念气环绕:袭' + 所在等级 = 25 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + MP = [75, 630] + data0 = [0, 25214, 25750, 26289, 26826, 27364, 27903, 28440, 28978, 29516, 30055, 30592] + hit0 = 1 + CD = 4.5 + + +class 技能9(主动技能): + 名称 = '念气环绕:御' + 所在等级 = 30 + 等级上限 = 11 + 学习间隔 = 2 + 等级精通 = 1 + MP = [200, 980] + # 这里的data0实质上是倍率;念气环绕里有个对念气环绕:御额外加成倍率,那个是技能百分比 + data0 = [0, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 181] + # 念气环绕:御 一秒10次 + hit0 = 10 + CD = 1 + + +# 其风雷啸部分需要后续确认 +class 技能10(主动技能): + 名称 = "天雷虎踢" + 所在等级 = 35 + 学习间隔 = 2 + 等级上限 = 70 + 等级精通 = 60 + + data0 = [0, 6996, 7705, 8415, 9124, 9833, 10545, 11254, 11965, 12674, 13383, 14093, 14802, 15513, 16222, 16933, 17641, 18351, 19061, 19770, 20482, 21191, 21900, 22610, 23320, 24030, 24739, 25449, 26158, 26868, 27578, 28288, 28998, 29708, 30418, 31127, 31837, 32546, 33257, 33966, 34676, 35385, 36094, 36805, 37514, 38226, 38935, 39643, 40354, 41063, 41774, 42483, 43194, 43903, 44611, 45322, 46031, 46742, 47452, 48162, 48871, 49580, 50291, 51000, 51710, 52420, 53129, 53839, 54548, 55258, 55968] + hit0 = 1 + data1 = [0, 248, 274, 298, 325, 351, 376, 401, 428, 452, 478, 504, 528, 554, 580, 604, 630, 654, 680, 706, 730, 756, 782, 806, 832, 857, 882, 908, 934, 959, 984, 1010, 1035, 1060, 1085, 1111, 1136, 1161, 1186, 1212, 1237, 1262, 1288, 1313, 1338, 1365, 1390, 1415, 1442, 1467, 1492, 1517, 1542, 1568, 1593, 1618, 1644, 1669, 1694, 1720, 1744, 1770, 1796, 1820, 1846, 1872, 1896, 1922, 1946, 1973, 1999] + hit1 = 8 + 感电data0 = [0, 123, 136, 149, 163, 175, 188, 201, 213, 226, 239, 251, 264, 276, 289, 302, 314, 327, 341, 353, 366, 379, 391, 404, 416, 429, 442, 454, 467, 479, 492, 505, 518, 530, 542, 555, 568, 581, 594, 606, 618, 631, 644, 657, 669, 681, 694, 707, 720, 733, 744, 757, 770, 783, 796, 807, 820, 833, 846, 860, 873, 883, 897, 910, 923, 936, 947, 960, 973, 986, 999] + 感电hit0 = 8 + 风雷啸 = 1.70 # 风雷啸 + CD = 17.0 + TP成长 = 0.10 + TP上限 = 5 + + MP = [120, 1008] + 无色消耗 = 1 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if 形态 == "普通": + self.风雷啸 = 1.00 + + +class 技能11(主动技能): # 狮子吼 + 名称 = '狮子吼' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 8574, 9444, 10315, 11183, 12053, 12923, 13792, 14663, 15532, 16402, 17272, 18143, 19012, 19882, 20751, 21621, 22493, 23361, 24232, 25102, 25971, 26841, 27712, 28580, 29452, 30319, 31190, 32060, 32931, 33800, 34670, 35541, 36409, 37281, 38149, 39020, 39890, 40759, 41629, 42500, 43368, 44240, 45109, 45979, 46848, 47720, 48587, 49458, 50327, 51197, 52066, 52938, 53806, 54678, 55545, 56417, 57286, 58156, 59027, 59897, 60766, 61636, 62506, 63376, 64246, 65117, 65986, 66854, 67726, 68594] + hit0 = 1 + 风雷啸 = 1.70 # 风雷啸 + CD = 17 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [120, 1008] + 无色消耗 = 1 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if 形态 == "普通": + self.风雷啸 = 1.00 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能12(主动技能): # 螺旋念气场 + 名称 = '螺旋念气场' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 783, 864, 942, 1023, 1102, 1183, 1262, 1341, 1422, 1500, 1580, 1658, 1739, 1820, 1897, 1980, 2060, 2139, 2220, 2298, 2378, 2457, 2537, 2616, 2696, 2777, 2854, 2936, 3016, 3095, 3174, 3253, 3334, 3413, 3492, 3572, 3652, 3731, 3810, 3891, 3971, 4051, 4129, 4209, 4289, 4368, 4448, 4528, 4607, 4687, 4765, 4845, 4925, 5006, 5085, 5165, 5244, 5324, 5403, 5483, 5562, 5643, 5721, 5801, 5880, 5960, 6041, 6119, 6200, 6280] + hit0 = 17 + 风雷啸 = 1.70 # 风雷啸 + 感电data0 = [0, 351, 385, 421, 458, 492, 527, 566, 600, 636, 672, 707, 743, 778, 813, 850, 885, 921, 956, 992, 1027, 1063, 1100, 1134, 1170, 1206, 1240, 1275, 1314, 1347, 1384, 1420, 1454, 1491, 1526, 1562, 1597, 1633, 1670, 1704, 1739, 1776, 1811, 1846, 1883, 1918, 1954, 1990, 2025, 2062, 2097, 2131, 2169, 2204, 2239, 2275, 2311, 2346, 2381, 2419, 2454, 2487, 2523, 2561, 2594, 2630, 2669, 2703, 2738, 2773, 2810] + 感电hit0 = 2 + CD = 20.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [170, 1428] + 无色消耗 = 1 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + # 感电部分不受风雷啸加成;但是风雷啸是螺旋球体*5,每个伤害为原来总伤(含感电)的14%;所以直伤的占比会上升 + # 无风雷啸时,感电为直伤的4.9975% + self.风雷啸 = 1.70 + self.power0 = 1.049975 + self.感电power0 = 1/1.70 + if 形态 == "普通": + self.风雷啸 = 1.00 + self.power0 = 1.00 + self.感电power0 = 1.00 + + def 装备护石(self, char): # 1.09 0.83 + self.倍率 *= 1.18 + self.CDR *= 0.83 + + +class 技能13(主动技能): # 念兽:龙虎啸 + 名称 = '念兽:龙虎啸' + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + MP = [357, 2911] + # 第1击魔法武器攻击力:% + data0 = [0, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174] + hit0 = 1 + # 第2击魔法武器攻击力:% + data1 = [0, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196] + hit1 = 1 + # 第3击魔法武器攻击力:% + data2 = [0, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218] + hit2 = 1 + # 第4击魔法武器攻击力:% + data3 = [0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240] + hit3 = 1 + # 第5击魔法武器攻击力:% + data4 = [0, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261] + hit4 = 1 + # 感电只有最后一击才会赋予 + 感电data0 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14] + 感电hit0 = 1 + CD = 1.0 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 < 7: + return round(1.17 + 0.01 * self.等级, 5) + else: + return round(1.3 + 0.02 * (self.等级-10), 5) + + +class 技能14(主动技能): # 念兽:猛虎震地 CP武器 爆炸=多段(多段*2) + 名称 = '念兽:猛虎震地' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 2892, 3187, 3479, 3772, 4068, 4360, 4654, 4948, 5240, 5535, 5828, 6120, 6416, 6708, 7004, 7295, 7589, 7884, 8175, 8471, 8764, 9058, 9351, 9643, 9939, 10231, 10526, 10818, 11111, 11406, 11699, 11992, 12286, 12579, 12873, 13167, 13459, 13754, 14047, 14340, 14634, 14928, 15222, 15514, 15809, 16103, 16396, 16689, 16982, 17276, 17569, 17864, 18156, 18452, 18744, 19036, 19331, 19624, 19918, 20211, 20506, 20798, 21093, 21386, 21678, 21973, 22267, 22561, 22853, 23147] + hit0 = 4 + data1 = [0, 11573, 12749, 13920, 15095, 16269, 17444, 18619, 19791, 20967, 22140, 23315, 24488, 25664, 26837, 28012, 29185, 30359, 31534, 32709, 33882, 35057, 36229, 37406, 38577, 39752, 40927, 42102, 43275, 44449, 45624, 46797, 47972, 49145, 50321, 51495, 52668, 53843, 55018, 56191, 57365, 58538, 59713, 60888, 62061, 63236, 64410, 65584, 66758, 67931, 69106, 70282, 71454, 72629, 73803, 74978, 76150, 77326, 78501, 79675, 80847, 82021, 83198, 84369, 85544, 86719, 87893, 89067, 90240, 91415, 92589] + hit1 = 1 + 风雷啸 = 1.7 # 风雷啸,分成4段 + CD = 45 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [450, 3780] + 无色消耗 = 2 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if '念兽:猛虎震地' in char.护石栏: + self.风雷啸 = 1.49+0.7 + if 形态 == "普通": + self.风雷啸 = 1.00 + if '念兽:猛虎震地' in char.护石栏: + self.风雷啸 = 1.49 + + def 装备护石(self, char): # 风雷啸部分不受护石的加成 + pass + + +class 技能15(被动技能): # 念之奥义 一觉被动 + 名称 = '念之奥义' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + # 增伤倍率 *= 1 + self.暴击伤害 + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.055 + 0.015 * self.等级, 5) + + +class 技能16(主动技能): # 念兽:审判之金雷虎 一觉 + 名称 = '念兽:审判之金雷虎' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + # 金雷虎身体攻击力:% + data0 = [0, 2984, 3674, 4368, 5058, 5751, 6442, 7134, 7825, 8518, 9209, 9901, 10595, 11285, 11979, 12669, 13362, 14053, 14746, 15436, 16129, 16820, 17513, 18204, 18896, 19588, 20280, 20973, 21664, 22357, 23048, 23741, 24431, 25124, 25815, 26509, 27200, 27892, 28584, 29276, 29969, 30660, 31351, 32044, 32735, 33427, 34120, 34811, 35504, 36195, 36887] + hit0 = 6 + # 金雷虎落地时的冲击波攻击力:% + data1 = [0, 8098, 9974, 11854, 13732, 15609, 17488, 19367, 21244, 23122, 25000, 26878, 28757, 30633, 32511, 34391, 36268, 38145, 40023, 41903, 43780, 45658, 47537, 49415, 51294, 53168, 55047, 56926, 58803, 60682, 62560, 64438, 66317, 68196, 70071, 71951, 73828, 75705, 77584, 79464, 81340, 83220, 85096, 86974, 88854, 90730, 92608, 94487, 96366, 98244, 100119] + hit1 = 3 + # 金雷虎爆炸攻击力:% + data2 = [0, 21738, 26780, 31820, 36861, 41903, 46944, 51985, 57026, 74481, 80527, 86578, 92629, 98676, 104727, 110777, 116823, 122872, 128924, 134972, 141021, 147072, 153118, 159167, 165215, 171267, 177316, 183364, 189414, 195463, 201511, 207562, 213612, 219660, 225709, 231759, 237807, 243858, 249907, 255956, 262005, 268054, 274103, 280152, 286202, 292251, 298301, 304348, 310397, 316447, 322497] + hit2 = 1 + CD = 145 + + 风雷啸 = 1.7 # 风雷啸 + + MP = [900, 7560] + 无色消耗 = 5 + + +class 技能17(主动技能): # 念之战矛 + 名称 = '念之战矛' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 4449, 4898, 5351, 5801, 6253, 6705, 7154, 7606, 8055, 8508, 8959, 9410, 9862, 10314, 10764, 11217, 11665, 12117, 12569, 13020, 13473, 13925, 14375, 14828, 15279, 15730, 16181, 16630, 17082, 17534, 17985, 18436, 18887, 19338, 19790, 20240, 20693, 21144, 21594, 22046, 22497, 22947, 23400, 23850, 24302, 24754, 25204, 25656, 26107, 26557] + hit0 = 1 + data1 = [0, 17791, 19598, 21400, 23207, 25011, 26817, 28621, 30427, 32231, 34037, 35841, 37647, 39450, 41257, 43061, 44866, 46671, 48477, 50280, 52087, 53892, 55697, 57502, 59307, 61110, 62917, 64720, 66526, 68331, 70137, 71942, 73748, 75552, 77356, 79162, 80966, 82771, 84576, 86382, 88187, 89992, 91797, 93602, 95406, 97211, 99016, 100822, 102627, 104431, 106237] + hit1 = 1 + 感电data0 = [0, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 53, 57, 58, 59, 60, 61, 63, 65, 66, 68, 69, 70, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 87, 89, 91] + 感电hit0 = 1 + 风雷啸 = 1.7 # 风雷啸 + CD = 30 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [450, 1260] + 无色消耗 = 1 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if '念之战矛' in char.护石栏: + # 护石会删除掉本体的伤害,但不会删除风雷啸的部分 + # 但同样,护石也只会加成本体的伤害,不会加成风雷啸的伤害 + self.power1 = (1.99+0.7)/1.7 + if 形态 == "普通": + self.风雷啸 = 1.00 + if '念之战矛' in char.护石栏: + self.power1 = 1.99 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 1 + self.感电hit0 = 0 + pass + + +class 技能18(主动技能): # 冲云念气场 + 名称 = '冲云念气场' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 5154, 5676, 6198, 6722, 7243, 7767, 8289, 8814, 9336, 9858, 10380, 10903, 11425, 11950, 12471, 12994, 13517, 14040, 14563, 15087, 15610, 16132, 16655, 17176, 17701, 18222, 18746, 19269, 19790, 20313, 20838, 21359, 21883, 22405, 22929, 23449, 23972, 24497, 25019, 25542, 26065, 26588, 27109, 27634, 28156, 28679, 29202, 29725, 30246, 30769] + hit0 = 6 + 感电data0 = [0, 637, 702, 767, 829, 895, 958, 1024, 1088, 1152, 1218, 1282, 1346, 1410, 1476, 1541, 1604, 1670, 1734, 1800, 1864, 1927, 1993, 2057, 2121, 2188, 2252, 2317, 2382, 2446, 2510, 2576, 2641, 2704, 2770, 2833, 2898, 2963, 3027, 3092, 3157, 3220, 3284, 3351, 3416, 3478, 3544, 3608, 3673, 3737, 3801] + 感电hit0 = 6 + 风雷啸 = 1.7 # 风雷啸 + CD = 50 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if '冲云念气场' in char.护石栏: + # 护石会直接取代原本风雷啸的加成 + self.风雷啸 = 2.3 + if 形态 == "普通": + self.风雷啸 = 1.00 + + def 装备护石(self, char): + pass + + +class 技能19(主动技能): # 奔雷螺旋击 + 名称 = '奔雷螺旋击' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 72799, 80183, 87570, 94955, 102341, 109727, 117113, 124498, 131883, 139267, 146653, 154039, 161425, 168812, 176195, 183581, 190968, 198354, 205739, 213124, 220509, 227895, 235280, 242666, 250052, 257437, 264822, 272209, 279593, 286978, 294363, 301749, 309134, 316521, 323906, 331293, 338676, 346062, 353448, 360834, 368218, 375605, 382988, 390375, 397760, 405146, 412533, 419918, 427303, 434689] + hit0 = 1 + 风雷啸 = 1.7 # 风雷啸 + CD = 42 + 是否有护石 = 1 + + 形态 = ['风雷啸', '普通'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "风雷啸": + self.风雷啸 = 1.70 + if '奔雷螺旋击' in char.护石栏: + # 护石会直接取代原本风雷啸的加成 + self.风雷啸 = 2.15 + if 形态 == '普通': + self.风雷啸 = 1.00 + + MP = [170, 1428] + 无色消耗 = 3 + + def 装备护石(self, char): + pass + + +class 技能20(主动技能): # 月辉念气破 + 名称 = '月辉念气破' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 9638, 10614, 11592, 12571, 13549, 14527, 15502, 16482, 17458, 18438, 19415, 20392, 21371, 22349, 23328, 24303, 25282, 26259, 27238, 28213, 29193, 30169, 31148, 32126, 33103, 34081, 35059, 36038, 37014, 37993, 38971, 39948, 40923, 41904, 42881, 43859, 44837, 45813, 46792, 47771, 48747, 49726, 50703, 51682, 52658, 53636, 54613, 55592, 56571, 57547] + hit0 = 10 + CD = 45 + 是否有护石 = 1 + + MP = [450, 1260] + 无色消耗 = 5 + + def 装备护石(self, char): + self.倍率 *= 1.3 + self.CDR *= 0.9 + + +class 技能21(被动技能): # 风雷啸 + 名称 = '风雷啸' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 是否主动 = 1 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.11 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): # 月华万象 二觉 + 名称 = '月华万象' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 6700, 8253, 9807, 11361, 12915, 14469, 16022, 17575, 19130, 20682, 22237, 23790, 25345, 26898, 28452, 30007, 31561, 33111, 34666, 36220, 37774, 39327, 40882, 42436, 43990, 45542, 47098, 48649, 50203, 51756, 53311, 54865, 56418, 57973, 59527, 61080, 62635, 64187, 65742, 67294, 68848, 70402, 71956, 73510, 75064, 76617, 78173, 79724, 81278, 82832] + hit0 = 12 + data1 = [0, 140709, 173337, 205965, 238593, 271223, 303850, 336476, 369107, 401734, 434363, 466990, 499619, 532247, 564876, 597502, 630132, 662759, 695390, 728016, 760645, 793272, 825902, 858530, 891159, 923785, 956415, 989042, 1021671, 1054299, 1086926, 1119554, 1152184, 1184813, 1217440, 1250068, 1282696, 1315325, 1347954, 1380581, 1413209, 1445837, 1478465, 1511095, 1543722, 1576350, 1608978, 1641608, 1674236, 1706864, 1739492] + hit1 = 1 + CD = 180 + + MP = [500, 4480] + 无色消耗 = 10 + + +class 技能23(被动技能): # 禅意·万象 三觉被动 + 名称 = '禅意·万象' + 所在等级 = 95 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): # 禅语·形灭 + 名称 = '禅语·形灭' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 6237, 6868, 7502, 8133, 8766, 9399, 10033, 10663, 11297, 11929, 12563, 13195, 13828, 14460, 15094, 15725, 16360, 16991, 17624, 18256, 18890, 19521, 20155, 20787, 21420, 22051, 22684, 23315, 23949, 24582, 25216, 25846, 26480, 27112, 27747, 28379, 29011, 29644, 30276, 30909, 31543, 32175, 32807, 33440, 34073, 34704, 35338, 35971, 36603, 37236] + hit0 = 10 + data1 = [0, 62362, 68688, 75016, 81342, 87669, 93995, 100321, 106648, 112975, 119302, 125627, 131955, 138282, 144607, 150934, 157261, 163587, 169914, 176242, 182569, 188894, 195221, 201547, 207874, 214199, 220528, 226855, 233182, 239507, 245834, 252161, 258488, 264814, 271141, 277466, 283793, 290119, 296446, 302772, 309102, 315428, 321754, 328081, 334408, 340734, 347059, 353387, 359714, 366039, 372366] + hit1 = 1 + 风雷啸 = 1.7 # 风雷啸 + CD = 60.0 + + MP = [773, 6000] + 无色消耗 = 7 + + +class 技能25(主动技能): # 禅念·归一 三觉 + 名称 = '禅念·归一' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 401727, 494883, 588037, 681190, 774344, 867499, 960655, 1053807, 1146962, 1240118, 1333272, 1426426, 1519579, 1612734, 1705890, 1799043, 1892198, 1985353, 2078507, 2171661, 2264814, 2357969, 2451125, 2544277, 2637433, 2730588, 2823741, 2916896, 3010050, 3103204, 3196360, 3289512, 3382668, 3475823, 3568978, 3662131, 3755285, 3848441, 3941592, 4034747, 4127902, 4221058, 4314212, 4407366, 4500520, 4593676, 4686829, 4779982, 4873138, 4966292] + hit0 = 1 + data1 = [0, 44635, 54985, 65336, 75686, 86037, 96388, 106738, 117091, 127439, 137790, 148141, 158492, 168842, 179192, 189542, 199893, 210245, 220595, 230945, 241294, 251645, 261997, 272347, 282697, 293046, 303397, 313747, 324100, 334450, 344800, 355150, 365500, 375852, 386201, 396552, 406903, 417253, 427603, 437953, 448305, 458655, 469006, 479357, 489705, 500058, 510408, 520759, 531108, 541459, 551810] + hit1 = 6 + CD = 290.0 + + MP = [4027, 8054] + 无色消耗 = 15 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'nenmaster_male' + self.名称 = '归元·气功师' + self.角色 = '格斗家(男)' + self.角色类型 = '输出' + self.职业 = '气功师' + # 用来筛CP武器的 + self.转职 = '气功师(男)' + self.武器选项 = ['手套'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '手套' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.43*1.21 + + super().__init__(equVersion) + + def 职业特殊计算(self): + + 念气波 = self.get_skill_by_name('念气波') + 蓄念炮倍率 = self.get_skill_by_name('蓄念炮').加成倍率(self.武器类型) + + 念气波.倍率 /= 蓄念炮倍率 + 念气波.蓄念炮加成 = 蓄念炮倍率 + + pass + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['远古记忆','分身']) diff --git a/api/core/characters/paladin.py b/api/core/characters/paladin.py new file mode 100644 index 00000000..ef9c3c07 --- /dev/null +++ b/api/core/characters/paladin.py @@ -0,0 +1,524 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.05 + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 学习间隔 = 1 + 关联技能 = ['基本攻击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "神光冲击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [30, 300] + 无色消耗 = 0 + data0 = [0, 3487, 3840, 4195, 4546, 4900, 5255, 5609, 5962, 6316, 6669, 7023, 7376, 7733, 8084, 8439, 8793, 9146, 9499, 9852, 10207, 10561, 10915, 11266, 11620, 11974, 12330, 12684, 13038, 13391, 13744, 14098, 14452, 14804, 15158, 15512, 15865, 16220, 16574, 16928, 17281, 17637, 17989, 18342, 18695, 19049, 19403, 19757, 20111, 20464, 20820, 21174, 21526, 21879, 22233, 22588, 22941, 23294, 23648, 24001, 24355, 24709, 25063, 25417, 25770, 26125, 26478, 26832, 27184, 27539, 27894] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "神光连斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 300] + 无色消耗 = 0 + data0 = [0, 2309, 2545, 2776, 3010, 3248, 3481, 3716, 3951, 4185, 4420, 4653, 4888, 5122, 5357, 5590, 5825, 6062, 6294, 6530, 6763, 6997, 7233, 7467, 7702, 7936, 8169, 8403, 8638, 8874, 9109, 9344, 9577, 9811, 10046, 10280, 10516, 10749, 10983, 11218, 11451, 11685, 11921, 12156, 12390, 12625, 12859, 13093, 13328, 13562, 13797, 14031, 14264, 14502, 14735, 14966, 15203, 15437, 15670, 15906, 16140, 16375, 16610, 16843, 17077, 17311, 17547, 17780, 18017, 18251, 18484] + hit0 = 1 + data1 = [0, 2309, 2545, 2776, 3015, 3248, 3481, 3717, 3951, 4185, 4420, 4653, 4888, 5122, 5357, 5590, 5825, 6062, 6296, 6530, 6763, 6998, 7233, 7467, 7703, 7936, 8169, 8404, 8638, 8874, 9109, 9344, 9578, 9811, 10046, 10281, 10516, 10749, 10984, 11218, 11451, 11688, 11921, 12156, 12391, 12625, 12861, 13095, 13328, 13563, 13797, 14031, 14266, 14502, 14735, 14971, 15203, 15437, 15672, 15906, 16142, 16376, 16610, 16844, 17078, 17311, 17548, 17781, 18017, 18252, 18484] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '天使光翼' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['信仰聚合:神光惩戒', '神圣意志:大天使降临', '启示录:末日救赎'] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(0.90 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.95 + + +class 技能4(被动技能): + 名称 = '天使降临' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.08 + 0.01 * self.等级, 5) + else: + return round(0.98 + 0.02 * self.等级, 5) + + +class 技能5(主动技能): + 名称 = "圣盾突击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 400] + 无色消耗 = 0 + data0 = [0, 1500, 1652, 1805, 1958, 2109, 2262, 2413, 2566, 2717, 2871, 3022, 3176, 3327, 3478, 3631, 3784, 3936, 4089, 4238, 4391, 4544, 4698, 4849, 5001, 5153, 5305, 5458, 5609, 5762, 5915, 6066, 6219, 6372, 6524, 6676, 6829, 6981, 7133, 7285, 7436, 7590, 7743, 7894, 8046, 8197, 8351, 8503, 8656, 8806, 8960, 9112, 9263, 9416, 9569, 9720, 9873, 10024, 10177, 10329, 10482, 10633, 10788, 10940, 11090, 11242, 11396, 11548, 11699, 11852, 12003] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "神光喷涌" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [50, 500] + 无色消耗 = 0 + data0 = [0, 1903, 2096, 2290, 2483, 2675, 2869, 3060, 3254, 3447, 3640, 3832, 4027, 4220, 4413, 4605, 4798, 4993, 5183, 5377, 5569, 5763, 5957, 6151, 6346, 6540, 6730, 6925, 7118, 7312, 7504, 7695, 7889, 8083, 8276, 8469, 8662, 8854, 9048, 9241, 9435, 9626, 9820, 10013, 10206, 10399, 10591, 10786, 10977, 11171, 11365, 11557, 11751, 11945, 12139, 12331, 12523, 12715, 12910, 13104, 13295, 13489, 13683, 13877, 14070, 14263, 14457, 14646, 14841, 15034, 15228] + hit0 = 1 + data1 = [0, 1903, 2096, 2290, 2483, 2675, 2869, 3060, 3254, 3447, 3640, 3832, 4027, 4220, 4413, 4605, 4798, 4993, 5183, 5377, 5569, 5763, 5957, 6151, 6346, 6540, 6730, 6925, 7118, 7312, 7504, 7695, 7889, 8083, 8276, 8469, 8662, 8854, 9048, 9241, 9435, 9626, 9820, 10013, 10206, 10399, 10591, 10786, 10977, 11171, 11365, 11557, 11751, 11945, 12139, 12331, 12523, 12715, 12910, 13104, 13295, 13489, 13683, 13877, 14070, 14263, 14457, 14646, 14841, 15034, 15228] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + + def 形态变更(self, 形态, char): + if 形态 == '小型': + self.power0 = 0 + self.power1 = 0.1 + self.hit1 = 5 + else: + self.power0 = 1 + self.power1 = 1 + self.hit1 = 4 + + +class 技能7(主动技能): + 名称 = "神光盾击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 600] + 无色消耗 = 0 + data0 = [0, 1751, 1929, 2106, 2285, 2461, 2639, 2817, 2995, 3174, 3351, 3529, 3704, 3882, 4059, 4239, 4417, 4594, 4773, 4949, 5127, 5305, 5482, 5659, 5839, 6015, 6193, 6371, 6549, 6726, 6905, 7081, 7259, 7436, 7616, 7792, 7972, 8149, 8326, 8503, 8679, 8858, 9035, 9214, 9394, 9570, 9747, 9925, 10102, 10280, 10457, 10636, 10812, 10991, 11168, 11347, 11526, 11702, 11879, 12056, 12235, 12412, 12591, 12767, 12944, 13125, 13301, 13479, 13656, 13835, 14012] + hit0 = 3 + data1 = [0, 1797, 1978, 2161, 2345, 2525, 2707, 2889, 3070, 3254, 3436, 3618, 3802, 3983, 4165, 4347, 4530, 4711, 4893, 5077, 5257, 5440, 5624, 5805, 5988, 6171, 6352, 6533, 6716, 6897, 7081, 7265, 7447, 7628, 7810, 7993, 8174, 8356, 8539, 8721, 8904, 9087, 9268, 9450, 9634, 9814, 9997, 10180, 10359, 10543, 10727, 10908, 11091, 11275, 11455, 11636, 11819, 12000, 12184, 12367, 12549, 12731, 12913, 13096, 13277, 13459, 13642, 13823, 14007, 14189, 14371] + hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "烈光" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 600] + 无色消耗 = 0 + data0 = [0, 5472, 6026, 6582, 7137, 7691, 8246, 8802, 9357, 9912, 10468, 11024, 11578, 12132, 12687, 13244, 13797, 14353, 14908, 15463, 16020, 16574, 17129, 17683, 18237, 18796, 19350, 19904, 20459, 21016, 21571, 22127, 22678, 23235, 23791, 24346, 24900, 25455, 26011, 26567, 27120, 27676, 28230, 28786, 29343, 29897, 30451, 31006, 31562, 32119, 32672, 33226, 33783, 34337, 34893, 35448, 36002, 36559, 37114, 37668, 38224, 38778, 39334, 39888, 40445, 41000, 41554, 42111, 42664, 43219, 43774] + hit0 = 1 + data1 = [0, 5489, 6046, 6603, 7156, 7713, 8271, 8827, 9385, 9942, 10499, 11056, 11613, 12169, 12725, 13282, 13840, 14395, 14953, 15510, 16066, 16625, 17181, 17738, 18296, 18852, 19406, 19965, 20521, 21079, 21635, 22193, 22748, 23306, 23862, 24420, 24977, 25533, 26091, 26646, 27203, 27760, 28317, 28874, 29430, 29988, 30544, 31101, 31659, 32216, 32770, 33330, 33884, 34441, 34998, 35555, 36112, 36668, 37227, 37780, 38340, 38895, 39454, 40009, 40567, 41124, 41681, 42236, 42793, 43351, 43908] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "神光闪耀" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [70, 700] + 无色消耗 = 1 + data0 = [0, 1339, 1476, 1613, 1750, 1887, 2022, 2159, 2293, 2430, 2565, 2702, 2839, 2974, 3111, 3248, 3383, 3520, 3656, 3790, 3927, 4062, 4199, 4334, 4472, 4611, 4743, 4881, 5018, 5153, 5289, 5425, 5560, 5698, 5834, 5969, 6107, 6241, 6377, 6512, 6651, 6786, 6922, 7058, 7195, 7329, 7468, 7603, 7737, 7876, 8010, 8146, 8284, 8421, 8556, 8693, 8827, 8965, 9101, 9236, 9372, 9508, 9644, 9781, 9919, 10054, 10189, 10326, 10461, 10598, 10734] + hit0 = 10 + data1 = [0, 5748, 6334, 6916, 7501, 8084, 8666, 9253, 9835, 10416, 11001, 11583, 12167, 12752, 13334, 13918, 14498, 15085, 15668, 16250, 16835, 17416, 18002, 18587, 19168, 19752, 20335, 20920, 21503, 22085, 22669, 23251, 23833, 24420, 25003, 25585, 26169, 26751, 27337, 27919, 28502, 29085, 29667, 30255, 30837, 31420, 32004, 32587, 33171, 33754, 34338, 34920, 35505, 36088, 36670, 37252, 37837, 38421, 39003, 39588, 40171, 40753, 41337, 41922, 42505, 43089, 43672, 44255, 44839, 45422, 46005] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 技能施放时间 = 2 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能10(主动技能): + 名称 = "神光闪影击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [70, 700] + 无色消耗 = 1 + data0 = [0, 1525, 1677, 1832, 1989, 2142, 2294, 2454, 2607, 2759, 2914, 3072, 3225, 3379, 3531, 3691, 3844, 3996, 4152, 4309, 4460, 4615, 4771, 4928, 5079, 5235, 5389, 5547, 5698, 5854, 6007, 6166, 6316, 6474, 6628, 6783, 6939, 7093, 7246, 7401, 7558, 7710, 7867, 8020, 8175, 8330, 8485, 8635, 8795, 8948, 9102, 9257, 9413, 9566, 9722, 9874, 10031, 10186, 10342, 10493, 10651, 10804, 10958, 11114, 11270, 11422, 11578, 11732, 11887, 12041, 12196] + hit0 = 10 + data1 = [0, 6762, 7447, 8134, 8820, 9506, 10191, 10878, 11566, 12251, 12936, 13623, 14308, 14994, 15682, 16368, 17052, 17738, 18424, 19110, 19797, 20484, 21169, 21855, 22540, 23228, 23914, 24599, 25285, 25971, 26656, 27343, 28031, 28716, 29402, 30088, 30773, 31459, 32146, 32831, 33518, 34204, 34888, 35576, 36263, 36947, 37634, 38321, 39008, 39693, 40378, 41064, 41749, 42436, 43123, 43809, 44496, 45180, 45867, 46552, 47238, 47925, 48612, 49296, 49982, 50670, 51354, 52041, 52727, 53415, 54099] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能11(主动技能): + 名称 = "神罚之锤" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [80, 800] + 无色消耗 = 1 + data0 = [0, 26096, 28743, 31389, 34039, 36685, 39333, 41981, 44628, 47275, 49924, 52570, 55216, 57865, 60511, 63160, 65807, 68455, 71102, 73751, 76396, 79045, 81693, 84340, 86987, 89636, 92280, 94929, 97578, 100222, 102872, 105520, 108166, 110814, 113463, 116108, 118757, 121405, 124051, 126699, 129348, 131993, 134642, 137290, 139934, 142584, 145232, 147878, 150526, 153175, 155820, 158469, 161117, 163763, 166412, 169060, 171704, 174355, 177001, 179647, 182297, 184945, 187591, 190239, 192886, 195533, 198182, 200826, 203474, 206122, 208769] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能12(主动技能): + 名称 = "神光之跃" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [90, 900] + 无色消耗 = 2 + data0 = [0, 43698, 48131, 52565, 56997, 61432, 65865, 70298, 74732, 79165, 83595, 88030, 92462, 96898, 101330, 105764, 110197, 114630, 119063, 123496, 127929, 132363, 136796, 141230, 145662, 150098, 154528, 158961, 163395, 167829, 172262, 176695, 181130, 185561, 189994, 194427, 198863, 203294, 207729, 212161, 216595, 221027, 225461, 229894, 234325, 238762, 243194, 247628, 252060, 256496, 260925, 265359, 269794, 274226, 278660, 283095, 287528, 291961, 296392, 300828, 305259, 309694, 314127, 318561, 322994, 327427, 331857, 336294, 340726, 345160, 349593] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能13(被动技能): + 名称 = '荣耀之光' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "信仰聚合:神光惩戒" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [300, 3000] + 无色消耗 = 5 + data0 = [0, 117802, 145116, 172431, 199749, 227064, 254378, 281695, 309011, 336329, 363643, 390959, 418275, 445591, 472907, 500222, 527539, 554856, 582171, 609487, 636801, 664119, 691433, 718750, 746068, 773382, 800698, 828013, 855330, 882646, 909960, 937278, 964594, 991910, 1019223, 1046541, 1073857, 1101173, 1128491, 1155805, 1183121, 1210437, 1237752, 1265068, 1292383, 1319700, 1347018, 1374332, 1401647, 1428965, 1456280] + hit0 = 1 + + +class 技能15(主动技能): + 名称 = "圣盾裁决" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [120, 1200] + 无色消耗 = 1 + data0 = [0, 34070, 37526, 40982, 44439, 47896, 51351, 54809, 58266, 61720, 65179, 68634, 72091, 75548, 79005, 82460, 85917, 89373, 92830, 96286, 99742, 103198, 106655, 110111, 113568, 117024, 120481, 123936, 127392, 130848, 134306, 137764, 141218, 144676, 148133, 151590, 155045, 158503, 161957, 165416, 168870, 172329, 175786, 179242, 182701, 186158, 189614, 193070, 196525, 199982, 203440] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + self.CDR *= 0.90 + + +class 技能16(主动技能): + 名称 = "破晓之光" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [140, 1400] + 无色消耗 = 2 + data0 = [0, 64794, 71367, 77943, 84514, 91089, 97664, 104236, 110810, 117384, 123954, 130530, 137103, 143676, 150251, 156824, 163397, 169970, 176546, 183118, 189691, 196266, 202838, 209411, 215983, 222557, 229132, 235705, 242279, 248851, 255426, 262001, 268572, 275146, 281720, 288293, 294866, 301439, 308014, 314587, 321160, 327731, 334308, 340881, 347453, 354028, 360603, 367174, 373749, 380323, 386896] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.19 + self.CDR *= 0.90 + + +class 技能17(主动技能): + 名称 = "神光回旋斩" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [450, 4500] + 无色消耗 = 5 + data0 = [0, 101997, 112346, 122691, 133041, 143386, 153736, 164082, 174432, 184779, 195128, 205473, 215820, 226168, 236517, 246864, 257212, 267562, 277907, 288255, 298601, 308951, 319299, 329646, 339994, 350342, 360689, 371035, 381384, 391733, 402079, 412426, 422775, 433122, 443470, 453819, 464165, 474511, 484861, 495208, 505556, 515905, 526252, 536598, 546945, 557294, 567643, 577989, 588337, 598686, 609030] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.2*1.14*6 + + +class 技能18(被动技能): + 名称 = '戒律' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = "神圣信约" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [500, 5000] + 无色消耗 = 5 + data0 = [0, 10571, 11643, 12714, 13790, 14859, 15933, 17004, 18078, 19152, 20222, 21295, 22368, 23440, 24514, 25585, 26656, 27730, 28801, 29876, 30947, 32020, 33093, 34166, 35235, 36310, 37383, 38453, 39528, 40597, 41672, 42744, 43816, 44890, 45962, 47034, 48108, 49180, 50253, 51324, 52395, 53468, 54541, 55614, 56684, 57759, 58829, 59905, 60977, 62047, 63121] + hit0 = 11 + + 是否有护石 = 1 + + 形态 = ["蓄力", "非蓄"] + + def 装备护石(self, char): + pass + + # 抄的刃影75写法,不知道最后还需不需要再覆盖 + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + self.power0 = 1 + if 形态 == "非蓄": + self.hit0 = 11 + if '神圣信约' in char.护石栏: + self.power0 = 1.32 + else: + 形态 = "蓄力" + if 形态 == "蓄力": + self.hit0 = 11 + if '神圣信约' in char.护石栏: + self.hit0 = 1 + self.power0 = (11+0.23)*1.32 + + +class 技能20(主动技能): + 名称 = "神圣意志:大天使降临" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2000, 5000] + 无色消耗 = 10 + data0 = [0, 271278, 334184, 397090, 459993, 522899, 585804, 648710, 711614, 774521, 837425, 900329, 963235, 1026142, 1089046, 1151953, 1214856, 1277761, 1340667, 1403572, 1466477, 1529384, 1592288, 1655192, 1718099, 1781005, 1843908, 1906814, 1969719, 2032624, 2095530, 2158434, 2221340, 2284246, 2347149, 2410054, 2472961, 2535866, 2598772, 2661676, 2724583, 2787487, 2850393, 2913297, 2976202, 3039108, 3102013, 3164918, 3227824, 3290729, 3353634] + hit0 = 1 + + +class 技能21(被动技能): + 名称 = '超越之翼' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "神光耀世" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 19406, 21375, 23343, 25310, 27278, 29246, 31216, 33185, 35154, 37123, 39092, 41058, 43027, 44995, 46965, 48933, 50905, 52873, 54840, 56809, 58776, 60746, 62714, 64683, 66650, 68620, 70587, 72557, 74526, 76496, 78463, 80433, 82402, 84370, 86338, 88307, 90274, 92242, 94212, 96181, 98150, 100117, 102088, 104056, 106025, 107992, 109963, 111930, 113899, 115867] + hit0 = 4 + data1 = [0, 25872, 28498, 31121, 33748, 36372, 38997, 41620, 44247, 46871, 49496, 52121, 54749, 57370, 59997, 62620, 65247, 67869, 70496, 73121, 75745, 78369, 80995, 83620, 86244, 88870, 91495, 94119, 96744, 99369, 101993, 104619, 107244, 109867, 112493, 115117, 117744, 120366, 122993, 125616, 128242, 130865, 133492, 136117, 138741, 141366, 143991, 146616, 149242, 151867, 154489] + hit1 = 1 + data2 = [0, 25872, 28498, 31121, 33748, 36372, 38997, 41620, 44247, 46871, 49496, 52121, 54749, 57370, 59997, 62620, 65247, 67869, 70496, 73121, 75745, 78369, 80995, 83620, 86244, 88870, 91495, 94119, 96744, 99369, 101993, 104619, 107244, 109867, 112493, 115117, 117744, 120366, 122993, 125616, 128242, 130865, 133492, 136117, 138741, 141366, 143991, 146616, 149242, 151867, 154489] + hit2 = 6 + + +class 技能23(主动技能): + 名称 = "启示录:末日救赎" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 70618, 86997, 103371, 119744, 136122, 152498, 168874, 185248, 201624, 217999, 234375, 250749, 267125, 283502, 299877, 316251, 332628, 349003, 365380, 381756, 398130, 414506, 430881, 447258, 463634, 480009, 496383, 512760, 529136, 545510, 561888, 578261, 594636, 611012, 627388, 643763, 660139, 676515, 692890, 709266, 725641, 742016, 758394, 774768, 791142, 807519, 823895, 840270, 856646, 873021] + hit0 = 1 + data1 = [0, 20176, 24855, 29532, 34213, 38891, 43569, 48246, 52928, 57608, 62285, 66965, 71640, 76321, 80999, 85679, 90356, 95037, 99715, 104392, 109073, 113751, 118431, 123109, 127788, 132465, 137145, 141824, 146501, 151180, 155860, 160540, 165216, 169896, 174574, 179254, 183933, 188611, 193288, 197968, 202647, 207326, 212005, 216682, 221362, 226040, 230720, 235397, 240077, 244754, 249434] + hit1 = 7 + data2 = [0, 282478, 347979, 413482, 478984, 544486, 609989, 675492, 740993, 806498, 871999, 937501, 1003004, 1068504, 1134006, 1199510, 1265010, 1330514, 1396016, 1461520, 1527021, 1592524, 1658027, 1723529, 1789030, 1854532, 1920034, 1985536, 2051040, 2116542, 2182044, 2247546, 2313049, 2378550, 2444051, 2509554, 2575058, 2640560, 2706061, 2771565, 2837067, 2902568, 2968070, 3033574, 3099075, 3164577, 3230079, 3295582, 3361086, 3426588, 3492089] + hit2 = 1 + data3 = [0, 30265, 37283, 44301, 51320, 58337, 65355, 72373, 79392, 86410, 93429, 100446, 107462, 114483, 121501, 128518, 135537, 142556, 149571, 156591, 163608, 170627, 177646, 184663, 191681, 198698, 205717, 212735, 219753, 226773, 233790, 240807, 247827, 254843, 261862, 268881, 275898, 282916, 289935, 296953, 303972, 310989, 318007, 325025, 332044, 339062, 346079, 353098, 360115, 367132, 374151] + hit3 = 7 + + +class 技能24(主动技能): + 名称 = '基本攻击' + 备注 = '一轮' + 是否主动 = 0 + 关联技能 = ['无'] + 所在等级 = 1 + 等级上限 = 1 + 等级精通 = 1 + 学习间隔 = 1 + CD = 1 # 也没有CD,不知道为什么原来有 + # 163.0%+182.0%+446.0% 三段平x + data0 = [0, (163.0+182.0+446.0)*1.062] + hit0 = 1 + TP成长 = 0.10 + TP上限 = 5 + # 以下部分是原有的 + # 三觉后平x组成为3段平x(三觉前4段总伤害不变)+最后一击的小型神光喷涌;小型神光喷涌的单段伤害是神光喷涌单段的10%;共5段 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'paladin' + self.名称 = '皓曦·帕拉丁' + self.角色 = '守护者' + self.角色类型 = '输出' + self.职业 = '帕拉丁' + self.武器选项 = ['钝器'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '钝器' + self.防具类型 = '板甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.89 + + super().__init__(equVersion) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + if item['name'] == '基本攻击': + self.技能队列.append({ + '名称': '神光喷涌', + '无色消耗': self.get_skill_by_name('神光喷涌').无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': '小型' + }) \ No newline at end of file diff --git a/api/core/characters/ranger_female.py b/api/core/characters/ranger_female.py new file mode 100644 index 00000000..b7107c18 --- /dev/null +++ b/api/core/characters/ranger_female.py @@ -0,0 +1,473 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "烟尘弹" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 322] + 无色消耗 = 0 + data0 = [0, 621, 684, 747, 809, 873, 937, 999, 1063, 1125, 1188, 1252, 1314, 1379, 1443, 1505, 1566, 1628, 1692, 1755, 1819, 1883, 1946, 2008, 2071, 2136, 2198, 2262, 2326, 2388, 2451, 2514, 2577, 2640, 2704, 2767, 2828, 2891, 2955, 3017, 3080, 3145, 3207, 3270, 3334, 3396, 3459, 3521, 3587, 3650, 3712, 3776, 3839, 3901, 3964, 4029, 4091, 4153, 4216, 4279, 4341, 4405, 4469, 4531, 4595, 4658, 4720, 4783, 4847, 4911, 4974] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "刺踢" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4.4 + MP = [20, 224] + 无色消耗 = 0 + data0 = [0, 3826, 4212, 4603, 4988, 5377, 5768, 6152, 6543, 6930, 7317, 7707, 8096, 8488, 8872, 9259, 9650, 10037, 10427, 10814, 11200, 11591, 11978, 12368, 12753, 13142, 13532, 13918, 14309, 14696, 15088, 15474, 15861, 16252, 16639, 17029, 17415, 17803, 18192, 18580, 18968, 19358, 19742, 20134, 20521, 20908, 21296, 21684, 22071, 22460, 22850, 23238, 23624, 24013, 24402, 24789, 25178, 25566, 25953, 26342, 26731, 27117, 27507, 27896, 28284, 28672, 29059, 29450, 29838, 30225, 30615] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "致命射击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.2 + MP = [60, 560] + 无色消耗 = 0 + data0 = [0, 2619, 2884, 3151, 3415, 3683, 3946, 4212, 4479, 4744, 5010, 5276, 5541, 5808, 6072, 6340, 6603, 6870, 7135, 7401, 7667, 7934, 8198, 8464, 8730, 8998, 9260, 9527, 9793, 10058, 10324, 10591, 10855, 11121, 11388, 11655, 11917, 12185, 12450, 12715, 12980, 13248, 13513, 13778, 14045, 14311, 14574, 14842, 15107, 15373, 15637, 15905, 16170, 16436, 16702, 16966, 17232, 17499, 17765, 18030, 18298, 18562, 18827, 19093, 19361, 19623, 19890, 20157, 20422, 20687, 20955] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '左轮奥义' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.0 + 0.02 * self.等级, 5) + + +class 技能4(被动技能): + 名称 = '花式枪术' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 10: + return round(1 + 0.01 * self.等级, 5) + else: + return round(1.1 + 0.02 * (self.等级 - 10), 5) + + +class 技能5(主动技能): + 名称 = "锁链截击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 5 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 675, 783, 892, 998, 1107, 1213, 1321, 1429, 1536, 1645, 1753, 1860, 1967, 2076, 2183, 2290, 2399, 2506, 2615, 2722, 2830, 2937, 3045, 3152, 3260, 3369, 3475, 3584, 3692, 3800, 3906, 4014, 4122, 4230, 4338, 4445, 4554, 4662, 4767, 4876, 4984, 5092, 5199, 5308, 5415, 5524, 5631, 5737, 5846, 5953, 6061, 6169, 6277, 6385, 6491, 6599, 6707, 6816, 6922, 7031, 7139, 7247, 7354, 7461, 7569, 7676, 7785, 7892, 8001, 8108] + hit0 = 5 + data1 = [0, 1013, 1175, 1337, 1498, 1659, 1821, 1983, 2144, 2305, 2468, 2629, 2791, 2953, 3114, 3275, 3437, 3598, 3760, 3923, 4084, 4245, 4407, 4568, 4730, 4891, 5051, 5214, 5375, 5538, 5699, 5860, 6021, 6183, 6344, 6506, 6669, 6830, 6991, 7153, 7314, 7476, 7638, 7798, 7960, 8123, 8284, 8446, 8608, 8768, 8930, 9092, 9253, 9416, 9578, 9738, 9900, 10061, 10223, 10385, 10545, 10707, 10870, 11031, 11193, 11355, 11515, 11677, 11839, 12000, 12162] + hit1 = 1 + data2 = [0, 1013, 1175, 1337, 1498, 1659, 1821, 1983, 2144, 2305, 2468, 2629, 2791, 2953, 3114, 3275, 3437, 3598, 3760, 3923, 4084, 4245, 4407, 4568, 4730, 4891, 5051, 5214, 5375, 5538, 5699, 5860, 6021, 6183, 6344, 6506, 6669, 6830, 6991, 7153, 7314, 7476, 7638, 7798, 7960, 8123, 8284, 8446, 8608, 8768, 8930, 9092, 9253, 9416, 9578, 9738, 9900, 10061, 10223, 10385, 10545, 10707, 10870, 11031, 11193, 11355, 11515, 11677, 11839, 12000, 12162] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "音速劫击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4.4 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 1844, 2032, 2219, 2407, 2593, 2781, 2968, 3156, 3341, 3530, 3718, 3905, 4093, 4280, 4466, 4655, 4841, 5028, 5214, 5402, 5592, 5777, 5964, 6152, 6339, 6527, 6712, 6901, 7088, 7275, 7463, 7650, 7837, 8026, 8211, 8399, 8586, 8773, 8961, 9145, 9336, 9525, 9710, 9898, 10083, 10271, 10458, 10644, 10833, 11019, 11208, 11397, 11582, 11769, 11957, 12144, 12331, 12518, 12706, 12892, 13081, 13268, 13455, 13643, 13828, 14015, 14204, 14390, 14578, 14763] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "枪舞" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 17.6 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 419, 463, 505, 548, 590, 634, 676, 718, 761, 804, 846, 889, 932, 976, 1018, 1059, 1103, 1146, 1188, 1231, 1274, 1316, 1360, 1401, 1443, 1487, 1529, 1574, 1615, 1657, 1701, 1744, 1785, 1828, 1870, 1914, 1957, 1999, 2040, 2084, 2127, 2170, 2212, 2255, 2298, 2340, 2385, 2427, 2468, 2511, 2554, 2599, 2641, 2683, 2727, 2769, 2812, 2856, 2897, 2939, 2982, 3026, 3069, 3110, 3153, 3197, 3240, 3281, 3323, 3367] + hit0 = 20 + data1 = [0, 747, 823, 900, 976, 1050, 1128, 1202, 1279, 1354, 1430, 1506, 1583, 1657, 1734, 1812, 1884, 1960, 2037, 2113, 2188, 2266, 2340, 2418, 2494, 2567, 2644, 2721, 2800, 2872, 2950, 3026, 3099, 3177, 3254, 3329, 3404, 3480, 3556, 3632, 3708, 3783, 3860, 3937, 4011, 4088, 4164, 4239, 4314, 4391, 4466, 4543, 4618, 4695, 4770, 4847, 4922, 4997, 5074, 5150, 5225, 5301, 5378, 5452, 5529, 5604, 5682, 5755, 5833, 5908, 5985] + hit1 = 9 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CDR *= 0.9 + self.hit0 = 0 + self.power1 = (2 * 1.49) + + +class 技能8(主动技能): + 名称 = "移动射击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 24.3 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 713, 785, 857, 930, 1002, 1075, 1146, 1220, 1291, 1364, 1436, 1510, 1580, 1654, 1728, 1799, 1872, 1944, 2017, 2088, 2160, 2232, 2306, 2377, 2450, 2523, 2596, 2667, 2740, 2813, 2887, 2955, 3029, 3102, 3173, 3246, 3320, 3392, 3464, 3538, 3609, 3683, 3752, 3825, 3898, 3970, 4042, 4116, 4188, 4261, 4333, 4406, 4480, 4548, 4621, 4695, 4767, 4839, 4913, 4984, 5056, 5130, 5200, 5274, 5346, 5417, 5491, 5564, 5635, 5708] + hit0 = 30 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "多重射击" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 19.8 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 3684, 4057, 4429, 4806, 5178, 5553, 5926, 6299, 6673, 7045, 7422, 7795, 8166, 8542, 8916, 9290, 9663, 10035, 10410, 10784, 11159, 11532, 11906, 12279, 12653, 13029, 13400, 13775, 14148, 14522, 14898, 15269, 15643, 16018, 16391, 16766, 17138, 17511, 17887, 18259, 18634, 19007, 19381, 19756, 20127, 20503, 20876, 21249, 21625, 21996, 22370, 22746, 23118, 23492, 23867, 24241, 24613, 24985, 25362, 25735, 26109, 26483, 26856, 27229, 27604, 27979, 28351, 28725, 29098, 29472] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + + +class 技能10(主动技能): + 名称 = "双鹰回旋" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 44.5 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 672, 739, 808, 876, 944, 1013, 1080, 1148, 1218, 1285, 1354, 1421, 1490, 1559, 1626, 1694, 1764, 1833, 1901, 1967, 2037, 2105, 2174, 2240, 2311, 2378, 2444, 2515, 2583, 2652, 2719, 2785, 2857, 2924, 2993, 3060, 3130, 3198, 3265, 3333, 3402, 3470, 3538, 3606, 3675, 3743, 3810, 3879, 3948, 4016, 4083, 4151, 4221, 4289, 4357, 4424, 4495, 4562, 4629, 4698, 4766, 4836, 4903, 4970, 5040, 5107, 5176, 5244, 5313, 5381] + hit0 = 14 + data1 = [0, 686, 755, 825, 895, 966, 1034, 1104, 1176, 1244, 1313, 1383, 1452, 1524, 1592, 1663, 1731, 1802, 1872, 1942, 2011, 2080, 2149, 2221, 2289, 2360, 2428, 2499, 2570, 2639, 2708, 2778, 2847, 2917, 2986, 3057, 3125, 3197, 3266, 3336, 3406, 3474, 3544, 3614, 3684, 3752, 3822, 3892, 3963, 4033, 4102, 4171, 4242, 4311, 4381, 4450, 4520, 4590, 4660, 4730, 4799, 4869, 4940, 5008, 5079, 5147, 5217, 5288, 5357, 5426, 5497] + hit1 = 18 + data2 = [0, 728, 802, 876, 950, 1024, 1097, 1172, 1246, 1320, 1395, 1468, 1541, 1616, 1688, 1762, 1837, 1910, 1984, 2059, 2133, 2208, 2281, 2354, 2428, 2502, 2576, 2652, 2726, 2798, 2873, 2947, 3021, 3095, 3167, 3241, 3316, 3390, 3464, 3538, 3611, 3685, 3760, 3834, 3907, 3982, 4056, 4129, 4204, 4278, 4352, 4425, 4499, 4574, 4646, 4721, 4794, 4869, 4942, 5016, 5091, 5163, 5237, 5313, 5387, 5460, 5535, 5608, 5682, 5756, 5830] + hit2 = 32 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + 无色消耗 = 2 + MP = [360, 3024] + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.2 + self.hit1 = 24 + self.hit2 = 46 + + +class 技能11(被动技能): + 名称 = '隐匿切割' + 所在等级 = 48 + + 等级上限 = 40 + 等级精通 = 30 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.065 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "血腥狂欢" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 3114, 3836, 4557, 5278, 6001, 6724, 7444, 8167, 8888, 9611, 10334, 11056, 11776, 12499, 13221, 13942, 14666, 15386, 16110, 16830, 17553, 18277, 19000, 19722, 20441, 21164, 21888, 22610, 23331, 24052, 24774, 25498, 26218, 26941, 27664, 28385, 29108, 29828, 30551, 31274, 31995, 32718, 33440, 34162, 34885, 35605, 36328, 37050, 37772, 38495] + hit0 = 24 + data1 = [0, 9236, 11377, 13520, 15661, 17803, 19944, 22086, 24227, 26371, 28514, 30653, 32795, 34937, 37081, 39221, 41364, 43504, 45646, 47788, 49933, 52074, 54215, 56355, 58497, 60639, 62783, 64923, 67065, 69207, 71348, 73491, 75634, 77775, 79915, 82058, 84200, 86341, 88485, 90623, 92766, 94910, 97051, 99192, 101334, 103476, 105617, 107760, 109902, 112043, 114185] + hit1 = 1 + + +class 技能13(主动技能): + 名称 = "鲜血劫击" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 12761, 14057, 15351, 16646, 17941, 19234, 20529, 21823, 23119, 24414, 25710, 27002, 28299, 29593, 30888, 32181, 33478, 34773, 36065, 37362, 38656, 39951, 41246, 42541, 43833, 45131, 46425, 47718, 49016, 50308, 51603, 52897, 54193, 55487, 56783, 58077, 59371, 60667, 61962, 63257, 64550, 65845, 67139, 68435, 69728, 71026, 72320, 73613, 74907, 76204] + hit0 = 1 + data1 = [0, 14299, 15749, 17198, 18648, 20100, 21550, 23002, 24451, 25902, 27352, 28805, 30254, 31707, 33155, 34605, 36055, 37507, 38957, 40409, 41859, 43310, 44762, 46210, 47661, 49110, 50562, 52012, 53464, 54913, 56364, 57815, 59266, 60716, 62168, 63618, 65066, 66518, 67968, 69419, 70870, 72321, 73774, 75222, 76672, 78124, 79574, 81024, 82474, 83926, 85375] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1 + 1.47 + 0.44 + self.hit1 = 0 + # self.倍率 *= 1.44 + + +class 技能14(主动技能): + 名称 = "压制射击" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 3 + data0 = [0, 2515, 2769, 3023, 3280, 3533, 3793, 4049, 4303, 4559, 4814, 5069, 5323, 5579, 5833, 6090, 6343, 6599, 6853, 7109, 7367, 7621, 7877, 8132, 8386, 8642, 8897, 9152, 9407, 9661, 9917, 10172, 10426, 10683, 10936, 11195, 11450, 11705, 11960, 12216, 12470, 12725, 12980, 13236, 13491, 13746, 14004, 14258, 14513, 14768, 15024] + hit0 = 20 + data1 = [0, 5593, 6157, 6726, 7291, 7861, 8427, 8994, 9560, 10129, 10695, 11263, 11828, 12398, 12963, 13530, 14101, 14666, 15233, 15798, 16369, 16936, 17501, 18071, 18637, 19204, 19772, 20339, 20907, 21473, 22040, 22609, 23174, 23743, 24308, 24877, 25443, 26011, 26578, 27145, 27711, 28280, 28847, 29414, 29981, 30549, 31115, 31683, 32250, 32818, 33385] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 无色消耗 = 3 + MP = [800, 1680] + + def 装备护石(self, char): + self.power1 = 1 + 1.30 + # self.power0 = 1 + 1/20*0.37*10 + self.data3 = [0.37*i for i in self.data0] + self.hit3 = 10 + + +class 技能15(被动技能): + 名称 = '枪刃改良' + 所在等级 = 75 + + 等级上限 = 40 + 等级精通 = 30 + 学习间隔 = 3 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = "死亡锁链" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 8853, 10265, 11677, 13087, 14499, 15912, 17323, 18735, 20147, 21561, 22969, 24381, 25792, 27204, 28616, 30028, 31438, 32850, 34261, 35674, 37086, 38499, 39910, 41319, 42730, 44142, 45553, 46966, 48379, 49792, 51202, 52613, 54026, 55437, 56849, 58258, 59671, 61081, 62493, 63905, 65318, 66728, 68140, 69553, 70963, 72375, 73787, 75198, 76610, 78020] + hit0 = 5 + data1 = [0, 26564, 30800, 35033, 39269, 43503, 47739, 51970, 56205, 60439, 64676, 68912, 73144, 77381, 81614, 85851, 90083, 94320, 98556, 102790, 107024, 111257, 115495, 119729, 123962, 128197, 132433, 136669, 140901, 145137, 149372, 153608, 157839, 162076, 166313, 170547, 174782, 179013, 183250, 187485, 191719, 195954, 200189, 204424, 208659, 212893, 217129, 221363, 225598, 229833, 234067] + hit1 = 1 + MP = [580, 4500] + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1 + 0.375 * 0.94 + + +class 技能17(主动技能): + 名称 = "锁链切割" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 8000] + 无色消耗 = 5 + data0 = [0, 26240, 28903, 31567, 34227, 36890, 39550, 42213, 44877, 47537, 50199, 52863, 55524, 58188, 60851, 63509, 66173, 68835, 71497, 74161, 76821, 79485, 82147, 84809, 87469, 90133, 92795, 95458, 98121, 100782, 103444, 106106, 108769, 111429, 114092, 116754, 119418, 122078, 124741, 127405, 130066, 132728, 135390, 138052, 140715, 143377, 146040, 148701, 151363, 154026, 156688] + hit0 = 1 + data1 = [0, 26240, 28903, 31567, 34227, 36890, 39550, 42213, 44877, 47537, 50199, 52863, 55524, 58188, 60851, 63509, 66173, 68835, 71497, 74161, 76821, 79485, 82147, 84809, 87469, 90133, 92795, 95458, 98121, 100782, 103444, 106106, 108769, 111429, 114092, 116754, 119418, 122078, 124741, 127405, 130066, 132728, 135390, 138052, 140715, 143377, 146040, 148701, 151363, 154026, 156688] + hit1 = 1 + data2 = [0, 34987, 38538, 42088, 45636, 49187, 52736, 56286, 59834, 63385, 66935, 70483, 74032, 77583, 81131, 84682, 88232, 91783, 95329, 98880, 102429, 105979, 109529, 113079, 116627, 120178, 123725, 127276, 130826, 134376, 137927, 141474, 145025, 148575, 152126, 155672, 159223, 162773, 166322, 169871, 173422, 176971, 180521, 184070, 187620, 191169, 194719, 198268, 201817, 205367, 208917] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能18(主动技能): + 名称 = "血舞祭" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 187882, 231453, 275018, 318586, 362154, 405721, 449291, 492858, 536426, 579992, 623561, 667127, 710697, 754263, 797830, 841398, 884965, 928535, 972103, 1015670, 1059237, 1102802, 1146371, 1189939, 1233508, 1277074, 1320643, 1364209, 1407778, 1451345, 1494911, 1538480, 1582047, 1625615, 1669183, 1712751, 1756318, 1799887, 1843454, 1887021, 1930589, 1974157, 2017724, 2061292, 2104860, 2148428, 2191995, 2235564, 2279130, 2322698] + hit0 = 1 + + +class 技能19(被动技能): + 名称 = '锁链意志' + 所在等级 = 95 + + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "毁灭风暴" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 9600] + 无色消耗 = 7 + data0 = [0, 6448, 7103, 7758, 8412, 9066, 9722, 10374, 11029, 11683, 12338, 12991, 13648, 14302, 14955, 15610, 16265, 16917, 17573, 18228, 18882, 19536, 20189, 20843, 21497, 22153, 22806, 23461, 24116, 24768, 25423, 26080, 26734, 27387, 28042, 28697, 29349, 30004, 30659, 31313, 31967, 32621, 33275, 33931, 34586, 35238, 35892, 36547, 37201, 37857, 38512] + hit0 = 3 + data1 = [0, 6636, 7310, 7984, 8657, 9330, 10005, 10676, 11350, 12024, 12698, 13370, 14045, 14718, 15390, 16064, 16738, 17409, 18085, 18759, 19432, 20105, 20777, 21450, 22123, 22798, 23471, 24145, 24819, 25490, 26164, 26839, 27512, 28184, 28859, 29533, 30204, 30878, 31552, 32225, 32898, 33571, 34244, 34920, 35594, 36265, 36938, 37612, 38284, 38959, 39633] + hit1 = 3 + data2 = [0, 6823, 7517, 8210, 8902, 9594, 10289, 10978, 11672, 12364, 13057, 13748, 14443, 15135, 15826, 16519, 17212, 17902, 18596, 19290, 19982, 20674, 21365, 22057, 22749, 23444, 24135, 24828, 25521, 26211, 26904, 27599, 28291, 28982, 29675, 30368, 31058, 31752, 32445, 33137, 33829, 34521, 35214, 35908, 36601, 37291, 37983, 38676, 39368, 40062, 40755] + hit2 = 3 + data3 = [0, 7011, 7724, 8436, 9147, 9858, 10572, 11281, 11993, 12704, 13416, 14127, 14840, 15551, 16261, 16974, 17686, 18395, 19108, 19821, 20532, 21243, 21953, 22664, 23376, 24089, 24799, 25511, 26224, 26933, 27645, 28358, 29070, 29780, 30492, 31204, 31913, 32626, 33338, 34049, 34760, 35472, 36183, 36896, 37608, 38317, 39029, 39741, 40451, 41164, 41877] + hit3 = 3 + data4 = [0, 7199, 7930, 8662, 9392, 10122, 10855, 11583, 12314, 13044, 13776, 14505, 15238, 15968, 16697, 17428, 18160, 18888, 19620, 20352, 21082, 21812, 22541, 23271, 24002, 24734, 25463, 26195, 26926, 27654, 28385, 29118, 29848, 30577, 31309, 32040, 32768, 33500, 34231, 34961, 35691, 36422, 37152, 37884, 38616, 39344, 40074, 40805, 41535, 42267, 42999] + hit4 = 3 + data5 = [0, 51190, 56382, 61578, 66770, 71963, 77155, 82349, 87544, 92736, 97930, 103123, 108314, 113509, 118703, 123896, 129088, 134282, 139475, 144668, 149863, 155055, 160248, 165442, 170637, 175828, 181021, 186216, 191407, 196600, 201796, 206988, 212181, 217375, 222567, 227761, 232954, 238148, 243340, 248534, 253729, 258920, 264114, 269307, 274500, 279693, 284888, 290081, 295273, 300467, 305660] + hit5 = 1 + data6 = [0, 3411, 3757, 4105, 4451, 4798, 5144, 5490, 5836, 6181, 6528, 6874, 7220, 7567, 7915, 8259, 8606, 8952, 9298, 9645, 9990, 10338, 10684, 11029, 11376, 11721, 12068, 12414, 12760, 13106, 13451, 13799, 14145, 14491, 14837, 15184, 15529, 15875, 16221, 16567, 16916, 17261, 17607, 17954, 18299, 18646, 18991, 19338, 19684, 20030, 20377] + hit6 = 5 + + +class 技能21(主动技能): + 名称 = "盛放·绯红花园" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 9667] + 无色消耗 = 15 + data0 = [0, 5677, 6995, 8310, 9626, 10944, 12261, 13578, 14893, 16210, 17527, 18845, 20161, 21475, 22794, 24110, 25428, 26743, 28061, 29377, 30693, 32010, 33328, 34643, 35961, 37276, 38595, 39910, 41227, 42544, 43859, 45177, 46493, 47810, 49127, 50445, 51759, 53076, 54394, 55711, 57027, 58343, 59660, 60976, 62293, 63611, 64926, 66243, 67560, 68876, 70193] + hit0 = 5 + data1 = [0, 7097, 8743, 10388, 12034, 13681, 15325, 16972, 18616, 20263, 21910, 23554, 25201, 26847, 28492, 30138, 31784, 33429, 35076, 36721, 38367, 40012, 41659, 43304, 44950, 46596, 48242, 49886, 51535, 53178, 54824, 56473, 58117, 59763, 61410, 63055, 64700, 66348, 67992, 69638, 71284, 72930, 74576, 76221, 77867, 79512, 81158, 82805, 84449, 86096, 87743] + hit1 = 6 + data2 = [0, 12166, 14988, 17809, 20630, 23453, 26275, 29094, 31915, 34738, 37560, 40381, 43202, 46022, 48844, 51665, 54487, 57309, 60130, 62951, 65773, 68594, 71416, 74238, 77058, 79880, 82702, 85524, 88343, 91166, 93986, 96809, 99629, 102452, 105273, 108093, 110914, 113737, 116558, 119381, 122201, 125022, 127844, 130665, 133486, 136308, 139130, 141951, 144772, 147594, 150415] + hit2 = 7 + data3 = [0, 7097, 8743, 10388, 12034, 13681, 15325, 16972, 18616, 20263, 21910, 23554, 25201, 26847, 28492, 30138, 31784, 33429, 35076, 36721, 38367, 40012, 41659, 43304, 44950, 46596, 48242, 49886, 51535, 53178, 54824, 56473, 58117, 59763, 61410, 63055, 64700, 66348, 67992, 69638, 71284, 72930, 74576, 76221, 77867, 79512, 81158, 82805, 84449, 86096, 87743] + hit3 = 6 + data4 = [0, 10919, 13451, 15983, 18515, 21047, 23577, 26111, 28643, 31174, 33707, 36238, 38771, 41304, 43835, 46365, 48898, 51430, 53963, 56495, 59026, 61558, 64092, 66624, 69157, 71686, 74218, 76750, 79284, 81816, 84346, 86879, 89411, 91945, 94477, 97006, 99539, 102071, 104603, 107133, 109667, 112199, 114731, 117263, 119796, 122328, 124859, 127391, 129924, 132455, 134986] + hit4 = 13 + data5 = [0, 66243, 81605, 96965, 112326, 127687, 143050, 158409, 173768, 189130, 204490, 219853, 235213, 250574, 265934, 281296, 296657, 312018, 327379, 342741, 358102, 373461, 388822, 404182, 419544, 434905, 450266, 465627, 480988, 496349, 511709, 527070, 542432, 557794, 573154, 588515, 603875, 619237, 634597, 649957, 665318, 680681, 696040, 711401, 726762, 742123, 757485, 772846, 788206, 803568, 818928] + hit5 = 3 + data6 = [0, 4730, 5828, 6924, 8022, 9120, 10217, 11314, 12410, 13509, 14605, 15702, 16799, 17897, 18995, 20092, 21188, 22285, 23385, 24479, 25577, 26674, 27771, 28871, 29967, 31065, 32162, 33257, 34356, 35453, 36550, 37648, 38745, 39842, 40940, 42036, 43132, 44231, 45328, 46424, 47522, 48619, 49716, 50814, 51911, 53009, 54106, 55202, 56300, 57397, 58494] + hit6 = 6 + +# class 技能22(主动技能): +# 名称 = '致命回射' +# 所在等级 = 30 +# 等级上限 = 1 +# 基础等级 = 1 +# CD = 12.474 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'ranger_female' + self.名称 = '重霄·漫游枪手' + self.角色 = '神枪手(女)' + + self.职业 = '漫游枪手' + # 用来筛CP武器的 + self.转职 = '漫游枪手(女)' + self.武器选项 = ['左轮枪'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '左轮枪' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.25 + + super().__init__(equVersion) + + # def 被动倍率计算(self): + # super().被动倍率计算() + # self.技能栏[self.技能序号['致命回射']].基础 = self.技能栏[self.技能序号['致命射击']].等效百分比( + # self.武器类型)*1.25 + # self.技能栏[self.技能序号['致命回射']].被动倍率 = self.技能栏[self.技能序号['致命射击']].被动倍率 diff --git a/api/core/characters/ranger_male.py b/api/core/characters/ranger_male.py new file mode 100644 index 00000000..34854660 --- /dev/null +++ b/api/core/characters/ranger_male.py @@ -0,0 +1,523 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "回旋踢" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [18, 196] + 无色消耗 = 0 + data0 = [0, 1325, 1459, 1594, 1731, 1865, 1999, 2135, 2269, 2403, 2537, 2674, 2808, 2942, 3078, 3212, 3346, 3480, 3615, 3751, 3885, 4020, 4154, 4289, 4423, 4559, 4694, 4829, 4964, 5098, 5232, 5368, 5502, 5637, 5774, 5908, 6042, 6176, 6311, 6445, 6579, 6713, 6849, 6984, 7118, 7254, 7388, 7523, 7657, 7793, 7927, 8062, 8197, 8331, 8465, 8602, 8737, 8871, 9006, 9141, 9275, 9409, 9544, 9679, 9813, 9947, 10082, 10218, 10352, 10488, 10623] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "烟尘弹" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [300, 322] + 无色消耗 = 0 + data0 = [0, 603, 663, 725, 786, 847, 907, 971, 1030, 1092, 1155, 1214, 1275, 1337, 1396, 1459, 1522, 1581, 1644, 1705, 1766, 1826, 1889, 1949, 2010, 2070, 2134, 2195, 2255, 2318, 2378, 2439, 2500, 2564, 2623, 2685, 2748, 2807, 2868, 2930, 2991, 3052, 3111, 3174, 3237, 3297, 3358, 3420, 3481, 3541, 3603, 3663, 3726, 3788, 3848, 3910, 3970, 4032, 4092, 4154, 4216, 4278, 4338, 4400, 4461, 4522, 4584, 4644, 4704, 4767, 4829] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "致命射击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.9 + MP = [60, 560] + 无色消耗 = 0 + data0 = [0, 1870, 2060, 2249, 2439, 2630, 2818, 3010, 3201, 3391, 3580, 3770, 3960, 4150, 4339, 4529, 4720, 4909, 5100, 5289, 5479, 5669, 5859, 6048, 6238, 6430, 6620, 6811, 6999, 7189, 7380, 7570, 7758, 7948, 8140, 8329, 8518, 8709, 8899, 9088, 9278, 9468, 9657, 9848, 10040, 10229, 10419, 10609, 10799, 10989, 11178, 11368, 11560, 11748, 11938, 12128, 12319, 12507, 12697, 12888, 13077, 13267, 13458, 13648, 13837, 14029, 14218, 14407, 14598, 14788, 14977] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '左轮奥义' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 <= 10: + return round(1.1 + 0.01 * self.等级, 5) + else: + return round(1.2 + 0.02 * (self.等级 - 10), 5) + + +class 技能4(被动技能): + 名称 = '花式枪术' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 10: + return round(1 + 0.01 * self.等级, 5) + else: + return round(1.1 + 0.02 * (self.等级 - 10), 5) + + +class 技能5(主动技能): + 名称 = '复仇反击' + 所在等级 = 25 + 等级上限 = 1 + 基础等级 = 1 + MP = [252, 252] + data0 = [int(i) for i in [0, 0]] + hit0 = 1 + CD = 4.0 + # 自身有TP,相关数据的致命射击也有TP + TP成长 = 0.1 + TP上限 = 7 + + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + 致命射击 = char.get_skill_by_name('致命射击') + self.data1 = [0, 致命射击.data0[致命射击.等级]] + self.hit1 = char.get_skill_by_name("致命射击").hit0 + self.power1 = 1+致命射击.TP等级*致命射击.TP成长 + return super().等效百分比(**argv) + + +class 技能6(主动技能): + 名称 = "浮空劫击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4.2 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 2485, 2737, 2990, 3242, 3496, 3748, 4001, 4253, 4505, 4758, 5010, 5262, 5514, 5766, 6020, 6272, 6524, 6777, 7028, 7280, 7532, 7785, 8037, 8290, 8542, 8794, 9048, 9300, 9552, 9804, 10056, 10309, 10561, 10814, 11066, 11318, 11570, 11824, 12076, 12329, 12581, 12834, 13086, 13338, 13590, 13842, 14094, 14348, 14601, 14853, 15105, 15358, 15610, 15862, 16115, 16367, 16620, 16872, 17125, 17377, 17629, 17881, 18133, 18385, 18637, 18890, 19143, 19396, 19648, 19901] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = '致命回射' + 所在等级 = 30 + 等级上限 = 1 + 基础等级 = 1 + MP = [150, 150] + data0 = [int(i) for i in [0, 0]] + hit0 = 1 + 倍率 = 1.5 + CD = 8.3 + # 自身无TP,TP就是致命射击 + TP成长 = 0.1 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + char: Character = argv.get('char', {}) + 致命射击 = char.get_skill_by_name('致命射击') + self.data1 = [0, 致命射击.data0[致命射击.等级]] + self.hit1 = char.get_skill_by_name("致命射击").hit0 + self.power1 = 1+致命射击.TP等级*致命射击.TP成长 + return super().等效百分比(**argv) + + +class 技能8(主动技能): + 名称 = "三连发" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 308, 339, 370, 401, 433, 464, 495, 526, 558, 589, 620, 651, 683, 714, 745, 776, 808, 839, 870, 901, 932, 964, 995, 1026, 1057, 1089, 1120, 1151, 1182, 1214, 1245, 1276, 1307, 1339, 1370, 1401, 1432, 1464, 1495, 1526, 1557, 1589, 1620, 1651, 1682, 1714, 1745, 1776, 1807, 1839, 1870, 1901, 1932, 1964, 1995, 2026, 2057, 2088, 2120, 2151, 2182, 2213, 2245, 2276, 2307, 2338, 2370, 2401, 2432, 2463] + hit0 = 1 + data1 = [0, 3692, 4067, 4442, 4816, 5192, 5566, 5942, 6316, 6691, 7068, 7443, 7816, 8193, 8567, 8942, 9316, 9690, 10066, 10441, 10814, 11191, 11565, 11940, 12314, 12691, 13065, 13438, 13814, 14190, 14567, 14938, 15314, 15689, 16064, 16439, 16815, 17188, 17564, 17938, 18314, 18687, 19063, 19438, 19813, 20189, 20563, 20940, 21313, 21688, 22065, 22437, 22813, 23187, 23564, 23938, 24312, 24687, 25061, 25438, 25812, 26187, 26562, 26937, 27311, 27685, 28061, 28436, 28812, 29187, 29560] + hit1 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "移动射击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 24.3 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 733, 806, 883, 958, 1031, 1106, 1180, 1254, 1330, 1403, 1479, 1553, 1628, 1703, 1778, 1851, 1927, 2001, 2076, 2150, 2224, 2299, 2374, 2449, 2523, 2598, 2673, 2747, 2821, 2897, 2970, 3046, 3120, 3195, 3270, 3343, 3419, 3493, 3567, 3642, 3717, 3790, 3867, 3941, 4016, 4090, 4164, 4239, 4314, 4388, 4462, 4537, 4614, 4687, 4761, 4837, 4910, 4985, 5059, 5134, 5209, 5283, 5357, 5432, 5507, 5583, 5657, 5731, 5806, 5880] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = "乱射" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 17.6 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 762, 840, 917, 996, 1073, 1150, 1228, 1306, 1384, 1461, 1539, 1617, 1695, 1771, 1849, 1927, 2005, 2083, 2160, 2240, 2317, 2393, 2470, 2550, 2627, 2705, 2782, 2861, 2939, 3014, 3090, 3170, 3248, 3325, 3403, 3481, 3559, 3635, 3713, 3791, 3869, 3946, 4024, 4103, 4180, 4257, 4334, 4413, 4490, 4568, 4645, 4724, 4800, 4878, 4955, 5034, 5112, 5189, 5267, 5345, 5421, 5498, 5576, 5653, 5732, 5809, 5887, 5965, 6042, 6120] + hit0 = 20 + # 每点TP加2hit,效果和常规TP是一样的 + TP成长 = 0 + TP上限 = 5 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + self.hit0 = 20 + self.TP等级 * 2 + return super().等效百分比(**argv) + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.22*1.1 + + +class 技能11(主动技能): + 名称 = "多重射击" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 19.8 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 3434, 3782, 4131, 4480, 4828, 5177, 5526, 5874, 6222, 6571, 6919, 7268, 7618, 7966, 8315, 8661, 9011, 9359, 9708, 10057, 10406, 10755, 11102, 11451, 11799, 12149, 12497, 12846, 13197, 13543, 13890, 14241, 14590, 14938, 15288, 15635, 15984, 16330, 16681, 17029, 17378, 17727, 18075, 18424, 18773, 19121, 19469, 19818, 20166, 20515, 20865, 21213, 21562, 21908, 22258, 22606, 22955, 23305, 23653, 24002, 24350, 24698, 25047, 25396, 25744, 26093, 26440, 26790, 27138, 27486] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.倍率 *= 6.55 + + +class 技能12(主动技能): + 名称 = "双鹰回旋" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 44.5 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 682, 750, 822, 891, 959, 1029, 1098, 1167, 1236, 1305, 1377, 1445, 1514, 1583, 1653, 1722, 1791, 1860, 1932, 2000, 2069, 2138, 2208, 2277, 2346, 2415, 2486, 2555, 2624, 2694, 2763, 2831, 2901, 2970, 3041, 3110, 3178, 3249, 3318, 3386, 3456, 3527, 3596, 3665, 3733, 3804, 3872, 3941, 4011, 4081, 4151, 4219, 4288, 4359, 4427, 4496, 4565, 4636, 4706, 4774, 4843, 4914, 4982, 5051, 5120, 5191, 5261, 5329, 5398, 5468] + hit0 = 16 + data1 = [0, 706, 777, 849, 921, 993, 1064, 1135, 1206, 1279, 1351, 1423, 1494, 1566, 1638, 1711, 1782, 1853, 1924, 1997, 2068, 2140, 2211, 2284, 2356, 2428, 2499, 2570, 2642, 2713, 2786, 2856, 2929, 3001, 3073, 3145, 3216, 3288, 3360, 3431, 3502, 3574, 3645, 3718, 3790, 3862, 3933, 4005, 4077, 4150, 4219, 4292, 4363, 4436, 4507, 4580, 4650, 4723, 4795, 4866, 4939, 5008, 5081, 5152, 5225, 5295, 5368, 5440, 5512, 5584, 5656] + hit1 = 18 + data2 = [0, 740, 815, 892, 968, 1043, 1118, 1193, 1268, 1344, 1419, 1494, 1570, 1644, 1721, 1797, 1871, 1947, 2022, 2098, 2173, 2247, 2323, 2399, 2474, 2551, 2625, 2700, 2776, 2851, 2927, 3002, 3076, 3152, 3228, 3302, 3379, 3454, 3530, 3605, 3679, 3755, 3831, 3906, 3982, 4057, 4131, 4208, 4283, 4359, 4434, 4508, 4584, 4660, 4735, 4810, 4885, 4960, 5037, 5112, 5187, 5263, 5338, 5413, 5489, 5563, 5639, 5714, 5790, 5867, 5940] + hit2 = 29 + TP成长 = 0.05 + TP上限 = 5 + + 攻击间隔 = 1 + 是否有护石 = 1 + + 形态 = ["满", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.hit0 = 16 + self.hit1 = 18 + self.hit2 = 29 + if '双鹰回旋' in char.护石栏: + self.hit0 = 0 + self.hit1 = 28 # 护石+10 + self.power1 = 1.08 + self.hit2 = 46 # 护石+17 + self.power2 = 1.15 + if 形态 == "常规": + self.hit0 = 16 + self.hit1 = 18 + self.hit2 = 22 + if '双鹰回旋' in char.护石栏: + self.hit0 = 0 + self.hit1 = 28 # 护石+10 + self.power1 = 1.08 + self.hit2 = 37 # 护石+15 + self.power2 = 1.15 + self.hit0 += int(((4 / 5) * self.TP等级) / self.攻击间隔) + self.hit1 += int(((6 / 5) * self.TP等级) / self.攻击间隔) + self.hit2 += int(((8 / 5) * self.TP等级) / self.攻击间隔) + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.08 + self.power2 = 1.15 + + +class 技能13(被动技能): + 名称 = '死亡印记' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.065 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "疯狂屠戮" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 865, 1065, 1267, 1468, 1671, 1872, 2071, 2274, 2475, 2677, 2875, 3080, 3281, 3482, 3682, 3884, 4085, 4287, 4488, 4688, 4890, 5092, 5293, 5493, 5696, 5897, 6098, 6299, 6499, 6701, 6903, 7104, 7304, 7506, 7708, 7909, 8109, 8311, 8513, 8714, 8915, 9116, 9317, 9518, 9720, 9921, 10122, 10324, 10525, 10726] + hit0 = 70 + data1 = [0, 1531, 1887, 2241, 2597, 2954, 3309, 3664, 4018, 4375, 4732, 5085, 5442, 5796, 6153, 6507, 6863, 7219, 7573, 7931, 8285, 8640, 8997, 9353, 9707, 10062, 10419, 10775, 11129, 11486, 11840, 12196, 12551, 12907, 13263, 13617, 13975, 14330, 14684, 15040, 15397, 15752, 16107, 16463, 16818, 17174, 17531, 17885, 18240, 18596, 18952] + hit1 = 25 + data2 = [0, 1057, 1302, 1549, 1793, 2039, 2284, 2531, 2775, 3021, 3266, 3512, 3759, 4003, 4248, 4495, 4740, 4984, 5231, 5476, 5722, 5969, 6213, 6460, 6705, 6951, 7195, 7443, 7687, 7932, 8178, 8424, 8669, 8915, 9159, 9406, 9652, 9897, 10143, 10388, 10634, 10879, 11127, 11370, 11618, 11863, 12108, 12355, 12599, 12846, 13091] + hit2 = 3 + + +class 技能15(主动技能): + 名称 = "死亡突袭" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1620] + 无色消耗 = 2 + data0 = [0, 10709, 11797, 12883, 13971, 15056, 16144, 17231, 18316, 19403, 20490, 21577, 22663, 23751, 24838, 25925, 27010, 28097, 29184, 30272, 31358, 32444, 33532, 34617, 35703, 36791, 37878, 38965, 40051, 41137, 42225, 43310, 44398, 45485, 46572, 47658, 48744, 49832, 50919, 52005, 53092, 54179, 55266, 56351, 57438, 58525, 59612, 60699, 61786, 62872, 63960] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.90 + + +class 技能16(主动技能): + 名称 = "压制射击" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 3 + data0 = [0, 2394, 2639, 2882, 3127, 3368, 3613, 3857, 4099, 4343, 4584, 4829, 5072, 5316, 5559, 5802, 6046, 6289, 6532, 6777, 7018, 7262, 7506, 7748, 7992, 8235, 8479, 8721, 8967, 9209, 9452, 9697, 9938, 10183, 10425, 10669, 10912, 11155, 11399, 11641, 11886, 12129, 12372, 12615, 12858, 13102, 13344, 13588, 13832, 14075, 14318] + hit0 = 20 + data1 = [0, 5327, 5869, 6408, 6950, 7489, 8031, 8572, 9113, 9653, 10192, 10733, 11276, 11814, 12356, 12897, 13438, 13978, 14518, 15059, 15599, 16140, 16682, 17222, 17763, 18304, 18844, 19386, 19925, 20466, 21008, 21548, 22089, 22628, 23170, 23712, 24251, 24793, 25334, 25873, 26415, 26956, 27496, 28037, 28577, 29119, 29659, 30200, 30741, 31282, 31821] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 24 + self.power1 = 2.42 + + +class 技能17(主动技能): + 名称 = "疾风骤雨" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 3743, 4124, 4502, 4882, 5263, 5643, 6024, 6402, 6784, 7163, 7544, 7923, 8301, 8684, 9062, 9442, 9823, 10203, 10583, 10961, 11342, 11723, 12103, 12482, 12862, 13243, 13624, 14002, 14381, 14762, 15142, 15522, 15901, 16283, 16663, 17043, 17422, 17803, 18183, 18564, 18942, 19322, 19703, 20083, 20463, 20842, 21223, 21602, 21981, 22362] + hit0 = 4*6 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 3 * 6 + self.power0 = 1 + 0.53 + 0.28 + + +class 技能18(被动技能): + 名称 = '射击掌握' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 非关联技能 = ['致命射击','致命回射'] + 关联技能2 = ['致命射击','致命回射'] + 冷却关联技能 = ['致命回射'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + def 加成倍率2(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round((1.305 + 0.045 * self.等级)/(1.22 + 0.02 * self.等级), 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.235 - 0.015 * self.等级, 3) + + +class 技能19(主动技能): + 名称 = "抹杀" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 8000] + 无色消耗 = 5 + data0 = [0, 12169, 13404, 14641, 15876, 17111, 18344, 19580, 20814, 22050, 23285, 24519, 25754, 26989, 28224, 29460, 30693, 31928, 33164, 34400, 35635, 36869, 38103, 39339, 40574, 41808, 43043, 44280, 45513, 46748, 47982, 49217, 50454, 51687, 52923, 54157, 55393, 56629, 57863, 59097, 60332, 61567, 62803, 64037, 65273, 66507, 67742, 68976, 70211, 71448, 72682] + hit0 = 7 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 14 + self.power0 = 0.5*1.17*(1+0.14) + + +class 技能20(主动技能): + 名称 = "第七翼动" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 10380, 12786, 15193, 17601, 20008, 22412, 24819, 27227, 29634, 32041, 34449, 36855, 39262, 41670, 44077, 46484, 48892, 51299, 53704, 56111, 58519, 60925, 63332, 65741, 68148, 70554, 72962, 75369, 77775, 80182, 82591, 84995, 87402, 89810, 92217, 94623, 97030, 99438, 101844, 104252, 106659, 109066, 111473, 113880, 116287, 118694, 121101, 123509, 125915, 128322] + hit0 = 13 + data1 = [0, 57832, 71241, 84651, 98064, 111473, 124884, 138294, 151704, 165115, 178524, 191938, 205348, 218757, 232169, 245578, 258988, 272401, 285810, 299220, 312630, 326041, 339452, 352861, 366274, 379685, 393094, 406504, 419915, 433325, 446737, 460147, 473557, 486968, 500377, 513788, 527198, 540610, 554022, 567431, 580841, 594253, 607663, 621072, 634483, 647894, 661305, 674714, 688125, 701536, 714947] + hit1 = 1 + + +class 技能21(主动技能): + 名称 = "爆燃突击" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1064, 7980] + 无色消耗 = 7 + data0 = [0, 16507, 18181, 19859, 21532, 23209, 24883, 26558, 28233, 29908, 31582, 33258, 34933, 36609, 38282, 39958, 41633, 43307, 44982, 46657, 48332, 50006, 51682, 53357, 55032, 56707, 58381, 60056, 61731, 63407, 65082, 66757, 68433, 70108, 71781, 73458, 75132, 76807, 78482, 80156, 81831, 83506, 85182, 86857, 88532, 90206, 91882, 93556, 95231, 96907, 98581] + hit0 = 6 + data1 = [0, 66038, 72739, 79439, 86140, 92839, 99537, 106238, 112937, 119639, 126340, 133037, 139737, 146437, 153137, 159838, 166538, 173237, 179937, 186637, 193337, 200036, 206737, 213438, 220136, 226836, 233535, 240235, 246936, 253635, 260336, 267036, 273735, 280435, 287135, 293836, 300536, 307234, 313935, 320634, 327335, 334035, 340733, 347434, 354133, 360834, 367534, 374234, 380932, 387633, 394333] + hit1 = 1 + + +class 技能22(被动技能): + 名称 = '卓尔不群' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "鹰眸·致命危机" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 3251, 4004, 4759, 5514, 6268, 7022, 7777, 8530, 9285, 10040, 10795, 11549, 12303, 13056, 13813, 14566, 15321, 16074, 16829, 17581, 18337, 19092, 19845, 20600, 21354, 22108, 22863, 23617, 24371, 25126, 25879, 26634, 27389, 28143, 28897, 29651, 30405, 31160, 31914, 32669, 33422, 34178, 34933, 35685, 36439, 37193, 37949, 38703, 39456, 40211] + hit0 = 60 + data1 = [0, 16727, 20607, 24486, 28365, 32244, 36124, 40001, 43880, 47759, 51640, 55519, 59398, 63277, 67156, 71035, 74917, 78795, 82674, 86554, 90431, 94310, 98189, 102069, 105949, 109827, 113707, 117586, 121465, 125345, 129224, 133102, 136981, 140862, 144742, 148619, 152499, 156377, 160256, 164136, 168017, 171894, 175775, 179654, 183532, 187412, 191292, 195169, 199048, 202929, 206807] + hit1 = 6 + data2 = [0, 16727, 20607, 24486, 28365, 32244, 36124, 40001, 43880, 47759, 51640, 55519, 59398, 63277, 67156, 71035, 74917, 78795, 82674, 86554, 90431, 94310, 98189, 102069, 105949, 109827, 113707, 117586, 121465, 125345, 129224, 133102, 136981, 140862, 144742, 148619, 152499, 156377, 160256, 164136, 168017, 171894, 175775, 179654, 183532, 187412, 191292, 195169, 199048, 202929, 206807] + hit2 = 4 + data3 = [0, 55761, 68692, 81623, 94554, 107483, 120416, 133346, 146276, 159206, 172136, 185068, 197998, 210929, 223859, 236791, 249722, 262651, 275583, 288512, 301444, 314374, 327304, 340235, 353165, 366098, 379027, 391958, 404889, 417818, 430750, 443680, 456611, 469541, 482474, 495403, 508333, 521265, 534193, 547126, 560056, 572987, 585917, 598848, 611779, 624709, 637641, 650571, 663500, 676432, 689361] + hit3 = 1 + data4 = [0, 83643, 103041, 122434, 141832, 161226, 180623, 200020, 219414, 238810, 258208, 277602, 296999, 316396, 335790, 355186, 374582, 393978, 413375, 432769, 452166, 471561, 490958, 510354, 529750, 549145, 568542, 587936, 607334, 626730, 646127, 665521, 684917, 704313, 723710, 743105, 762502, 781896, 801293, 820689, 840085, 859480, 878878, 898272, 917670, 937065, 956460, 975856, 995252, 1014648, 1034045] + hit4 = 1 + data5 = [0, 5574, 6868, 8159, 9453, 10746, 12039, 13332, 14626, 15919, 17213, 18506, 19799, 21092, 22384, 23677, 24971, 26265, 27556, 28850, 30143, 31435, 32728, 34021, 35315, 36608, 37900, 39194, 40488, 41780, 43074, 44367, 45658, 46953, 48247, 49539, 50832, 52125, 53419, 54710, 56003, 57297, 58591, 59882, 61176, 62470, 63763, 65057, 66347, 67641, 68935] + hit5 = 10 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'ranger_male' + self.名称 = '重霄·漫游枪手' + self.角色 = '神枪手(男)' + + self.职业 = '漫游枪手' + # 用来筛CP武器的 + self.转职 = '漫游枪手(男)' + self.武器选项 = ['左轮枪'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '左轮枪' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.25 + + super().__init__(equVersion) diff --git a/api/core/characters/rogue.py b/api/core/characters/rogue.py new file mode 100644 index 00000000..2478cdde --- /dev/null +++ b/api/core/characters/rogue.py @@ -0,0 +1,731 @@ +from dataclasses import dataclass +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 收招技能(主动技能): + 终结data0 = [] + 终结hit0 = 0 + 终结power0 = 1 + 终结rate0 = 1 + + 终结data1 = [] + 终结hit1 = 0 + 终结power1 = 1 + 终结rate1 = 1 + + 形态 = ['收招', '非收'] + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + char: Character = argv.get('char', {}) + 终结追击 = char.get_skill_by_name("终结追击") + self.终结rate0 = self.终结rate1 = 终结追击.终结追击倍率()*终结追击.终结追击倍率1(武器类型) * \ + char.get_skill_by_name("双剑精通").终结追击倍率(武器类型) + return super().等效百分比(**argv) + + def 基础百分比(self, 类型, 等级): + 百分比 = super().基础百分比(类型, 等级) + if 类型 == '直伤': + name = '终结' + for i in range(0, 2): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + power = getattr(self, '{}power{}'.format(name, i), 1) + rate = getattr(self, '{}rate{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power * rate + return 百分比*self.国服特色 + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '收招': + self.终结hit0 = 1 + self.终结hit1 = 1 + if 形态 == '非收': + self.终结hit0 = 0 + self.终结hit1 = 0 + + +class 技能0(主动技能): + 名称 = '终结追击' + 所在等级 = 15 + 等级上限 = 30 + 学习间隔 = 2 + 等级精通 = 20 + 是否有伤害 = 0 + MP = [18, 56] + + def 终结追击倍率(self): + if self.等级 == 0: + return 0.0 + else: + return round(0.79 + 0.02 * self.等级, 5) + + def 终结追击倍率1(self, 武器类型): + if self.等级 == 0: + return 0.0 + elif 武器类型 == '匕首': # 1.00, 1.25, 1.55, 1.95, 2.50, 3.25, 4.25;双剑最多6星 + return 4.25 + elif 武器类型 == '双剑': # 1.00, 1.25, 1.55, 1.95, 2.50, 3.25, 4.25;双剑最多6星 + return 3.25 + else: + return 0.0 + + +class 技能1(收招技能): + 名称 = '双刃穿刺' + 备注 = '单体' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [47, 518] + 无色消耗 = 0 + # 本体 + data0 = [0, 850, 934, 1021, 1109, 1195, 1279, 1367, 1453, 1539, 1624, 1711, 1799, 1884, 1970, 2055, 2141, 2230, 2313, 2401, 2488, 2572, 2659, 2745, 2834, 2916, 3004, 3092, 3180, 3262, 3350, 3437, 3523, 3608, 3696, 3783, 3868, 3953, 4041, 4126, 4213, 4299, 4384, 4472, 4557, 4643, 4729, 4816, 4904, 4987, 5075, 5160, 5245, 5334, 5419, 5506, 5590, 5678, 5763, 5853, 5935, 6024, 6110, 6196, 6282, 6369, 6456, 6542, 6626, 6714, 6799] + hit0 = 1 + data1 = [0, 1274, 1402, 1533, 1662, 1790, 1919, 2048, 2182, 2310, 2438, 2569, 2698, 2825, 2956, 3085, 3214, 3345, 3474, 3604, 3732, 3861, 3990, 4120, 4248, 4378, 4508, 4636, 4768, 4895, 5023, 5156, 5284, 5414, 5543, 5673, 5803, 5932, 6060, 6189, 6319, 6449, 6578, 6705, 6838, 6967, 7094, 7225, 7353, 7482, 7612, 7740, 7869, 8002, 8131, 8261, 8391, 8518, 8648, 8776, 8905, 9037, 9165, 9295, 9424, 9553, 9683, 9811, 9939, 10071, 10198] + hit1 = 1 + data2 = [0, 1699, 1870, 2046, 2217, 2390, 2562, 2733, 2904, 3080, 3251, 3425, 3596, 3769, 3940, 4115, 4284, 4461, 4632, 4805, 4975, 5150, 5322, 5495, 5667, 5839, 6010, 6184, 6355, 6530, 6702, 6876, 7046, 7219, 7391, 7566, 7738, 7910, 8080, 8255, 8426, 8601, 8772, 8945, 9117, 9291, 9460, 9637, 9808, 9981, 10152, 10326, 10497, 10669, 10843, 11015, 11186, 11361, 11531, 11704, 11876, 12052, 12223, 12396, 12567, 12740, 12912, 13086, 13257, 13432, 13602] + hit2 = 1 + # 终结追击 + 终结data0 = [0, 763, 842, 919, 998, 1075, 1153, 1231, 1307, 1385, 1461, 1539, 1617, 1695, 1772, 1849, 1927, 2005, 2084, 2162, 2240, 2315, 2393, 2470, 2548, 2625, 2701, 2782, 2859, 2937, 3015, 3094, 3172, 3249, 3327, 3403, 3481, 3559, 3635, 3713, 3791, 3868, 3946, 4022, 4101, 4180, 4258, 4336, 4413, 4489, 4567, 4645, 4724, 4800, 4876, 4954, 5032, 5109, 5190, 5268, 5346, 5423, 5499, 5577, 5655, 5734, 5810, 5887, 5965, 6042, 6120] + 终结hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 演出时间 = 0.2 + + +class 技能2(收招技能): + 名称 = '绝杀斩' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [25, 273] + 无色消耗 = 0 + # 本体 + data0 = [0, 3501, 3855, 4210, 4566, 4922, 5278, 5633, 5985, 6341, 6697, 7053, 7407, 7763, 8118, 8473, 8829, 9184, 9539, 9894, 10251, 10604, 10961, 11316, 11671, 12027, 12384, 12737, 13093, 13447, 13803, 14158, 14514, 14871, 15222, 15577, 15933, 16289, 16645, 17002, 17353, 17709, 18065, 18421, 18778, 19129, 19485, 19841, 20197, 20555, 20911, 21261, 21617, 21975, 22331, 22686, 23039, 23393, 23750, 24104, 24460, 24818, 25170, 25524, 25880, 26236, 26593, 26946, 27302, 27656, 28012] + hit0 = 1 + # 终结追击 + 终结data0 = [0, 107, 114, 124, 136, 146, 158, 169, 180, 187, 201, 210, 222, 232, 243, 254, 263, 274, 285, 296, 306, 318, 325, 341, 347, 359, 370, 381, 392, 403, 411, 423, 434, 444, 457, 466, 478, 488, 499, 509, 519, 529, 542, 552, 559, 571, 581, 595, 604, 615, 628, 637, 645, 657, 668, 680, 689, 702, 712, 721, 733, 742, 754, 765, 776, 786, 799, 806, 818, 828, 840] + 终结hit0 = 1 + 终结data1 = [0, 198, 219, 236, 256, 277, 299, 318, 341, 357, 380, 398, 419, 440, 458, 479, 499, 519, 541, 558, 580, 598, 620, 641, 662, 680, 699, 721, 740, 763, 780, 801, 822, 840, 861, 881, 901, 921, 944, 962, 985, 1002, 1022, 1044, 1063, 1085, 1102, 1123, 1145, 1163, 1184, 1203, 1224, 1243, 1266, 1284, 1303, 1325, 1343, 1366, 1385, 1406, 1427, 1444, 1465, 1486, 1506, 1527, 1547, 1566, 1589] + 终结hit1 = 3 + TP成长 = 0.1 + TP上限 = 7 + 演出时间 = 0.2 + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '收招': + self.终结hit0 = 1 + self.终结hit1 = 3 + if 形态 == '非收': + self.终结hit0 = 0 + self.终结hit1 = 0 + + +class 技能3(收招技能): + 名称 = '旋舞斩' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [25, 273] + 无色消耗 = 0 + # 本体 + data0 = [0, 3311, 3649, 3983, 4319, 4653, 4990, 5327, 5662, 5999, 6335, 6671, 7008, 7342, 7679, 8012, 8349, 8687, 9022, 9359, 9693, 10030, 10367, 10701, 11039, 11373, 11709, 12046, 12381, 12718, 13052, 13390, 13728, 14062, 14399, 14733, 15069, 15406, 15741, 16079, 16413, 16750, 17087, 17421, 17758, 18097, 18432, 18769, 19104, 19439, 19776, 20110, 20448, 20786, 21119, 21457, 21791, 22129, 22464, 22800, 23138, 23471, 23808, 24144, 24480, 24815, 25151, 25489, 25824, 26160, 26497] + hit0 = 1 + # 终结追击 + 终结data0 = [0, 663, 728, 795, 863, 930, 998, 1064, 1131, 1199, 1266, 1334, 1401, 1469, 1535, 1602, 1670, 1737, 1805, 1869, 1941, 2005, 2071, 2140, 2206, 2276, 2341, 2407, 2475, 2542, 2610, 2676, 2746, 2811, 2879, 2945, 3012, 3081, 3148, 3214, 3281, 3348, 3417, 3482, 3552, 3617, 3686, 3753, 3821, 3888, 3955, 4023, 4089, 4157, 4223, 4289, 4358, 4424, 4492, 4559, 4627, 4694, 4762, 4829, 4895, 4963, 5030, 5098, 5164, 5230, 5299] + 终结hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 演出时间 = 0.1 + + 形态 = ['收x7', '收x6', '收x5', '收x4', '收x3', '收x2', '收x1', '非收'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '收x7': + self.终结hit0 = 7 + if 形态 == '收x6': + self.终结hit0 = 6 + if 形态 == '收x5': + self.终结hit0 = 5 + if 形态 == '收x4': + self.终结hit0 = 4 + if 形态 == '收x3': + self.终结hit0 = 3 + if 形态 == '收x2': + self.终结hit0 = 2 + if 形态 == '收x1': + self.终结hit0 = 1 + if 形态 == '非收': + self.终结hit0 = 0 + + +class 技能4(被动技能): + 名称 = '匕首精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + 冷却关联技能 = ['所有'] + data0 = [0, 3.6, 5.3, 7, 8.7, 10.4, 12.1, 13.8, 15.5, 17.2, 18.9, 20.6, 22.3, 24, 25.7, 27.4, 29.1, 30.8, 32.5, 34.2, 35.9, 38.7, 41.5, 44.3, 47.1, 49.9, 52.7, 55.5, 58.3, 61.1, 63.9] + data1 = [0, 1, 1.3, 1.6, 1.9, 2.2, 2.5, 2.8, 3.1, 3.4, 3.7, 4, 4.3, 4.6, 4.9, 5.2, 5.5, 5.8, 6.1, 6.4, 6.7, 7, 7.3, 7.6, 7.9, 8.2, 8.5, 8.8, 9.1, 9.4, 9.7] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '匕首': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '匕首': + return 1.0 + else: + return round(1 - self.data1[self.等级] / 100, 5) + + +class 技能5(被动技能): + 名称 = '双剑精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + data0 = [0, 3.6, 5.3, 7, 8.7, 10.4, 12.1, 13.8, 15.5, 17.2, 18.9, 20.6, 22.3, 24, 25.7, 27.4, 29.1, 30.8, 32.5, 34.2, 35.9, 38.7, 41.5, 44.3, 47.1, 49.9, 52.7, 55.5, 58.3, 61.1, 63.9] + data1 = [0, 22, 23, 25, 26, 27, 28, 29, 31, 32, 33, 34, 36, 37, 38, 39, 40, 42, 43, 44, 45, 46, 48, 49, 50, 51, 52, 54, 55, 56, 57] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '双剑': + return 1.0 + else: + return round(1 + self.data0[self.等级] / 100, 5) + + def 终结追击倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '双剑': + return 1.0 + else: + return round(1 + self.data1[self.等级] / 100, 5) + + +class 技能6(收招技能): + 名称 = '旋刃' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [45, 469] + 无色消耗 = 0 + # 本体 + data0 = [0, 364, 403, 440, 476, 514, 548, 588, 625, 663, 702, 739, 775, 811, 847, 888, 924, 959, 997, 1033, 1074, 1111, 1145, 1183, 1222, 1261, 1296, 1333, 1368, 1408, 1445, 1483, 1519, 1558, 1592, 1629, 1668, 1707, 1743, 1780, 1813, 1853, 1891, 1930, 1966, 2000, 2040, 2077, 2116, 2152, 2188, 2227, 2264, 2299, 2338, 2376, 2411, 2449, 2486, 2523, 2561, 2599, 2634, 2672, 2709, 2746, 2785, 2822, 2856, 2896, 2933] + hit0 = 3 + data1 = [0, 503, 556, 607, 657, 707, 759, 811, 864, 913, 964, 1014, 1066, 1119, 1170, 1222, 1272, 1321, 1374, 1425, 1478, 1527, 1578, 1629, 1681, 1734, 1781, 1835, 1887, 1938, 1988, 2040, 2089, 2143, 2194, 2244, 2296, 2347, 2396, 2449, 2501, 2552, 2601, 2654, 2704, 2756, 2808, 2858, 2909, 2962, 3011, 3063, 3113, 3165, 3218, 3270, 3320, 3371, 3422, 3471, 3524, 3576, 3628, 3677, 3729, 3779, 3832, 3884, 3936, 3984, 4037] + hit1 = 3 + data2 = [0, 688, 757, 826, 897, 966, 1033, 1107, 1178, 1244, 1317, 1384, 1456, 1524, 1595, 1664, 1735, 1805, 1875, 1944, 2012, 2083, 2152, 2222, 2294, 2362, 2433, 2501, 2572, 2642, 2712, 2780, 2852, 2922, 2989, 3061, 3129, 3199, 3270, 3340, 3410, 3479, 3549, 3619, 3688, 3756, 3828, 3897, 3966, 4038, 4106, 4176, 4245, 4317, 4385, 4456, 4525, 4596, 4666, 4733, 4806, 4874, 4944, 5014, 5084, 5153, 5224, 5294, 5363, 5433, 5502] + hit2 = 3 + # 终结追击 + 终结data0 = [0, 310, 343, 375, 407, 437, 471, 502, 531, 565, 596, 628, 658, 691, 723, 755, 788, 817, 847, 880, 912, 945, 976, 1008, 1041, 1072, 1102, 1132, 1165, 1197, 1228, 1262, 1292, 1325, 1355, 1387, 1419, 1451, 1484, 1514, 1545, 1577, 1609, 1641, 1672, 1703, 1736, 1767, 1798, 1831, 1863, 1892, 1924, 1957, 1988, 2021, 2052, 2083, 2116, 2145, 2178, 2210, 2241, 2273, 2306, 2336, 2367, 2397, 2431, 2462, 2495] + 终结hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + 演出时间 = 0.2 + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '收招': + self.终结hit0 = 3 + self.终结hit1 = 0 + if 形态 == '非收': + self.终结hit0 = 0 + self.终结hit1 = 0 + + +class 技能7(收招技能): + 名称 = '剑刃风暴' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [65, 699] + 无色消耗 = 0 + # 本体 + data0 = [0, 669, 741, 807, 875, 944, 1012, 1080, 1148, 1217, 1284, 1351, 1422, 1489, 1557, 1625, 1692, 1759, 1829, 1897, 1965, 2034, 2102, 2172, 2238, 2305, 2375, 2442, 2512, 2579, 2646, 2716, 2783, 2852, 2921, 2988, 3055, 3124, 3192, 3260, 3331, 3395, 3466, 3532, 3601, 3671, 3737, 3805, 3873, 3939, 4010, 4078, 4146, 4214, 4283, 4350, 4421, 4487, 4554, 4623, 4692, 4757, 4829, 4895, 4963, 5032, 5101, 5169, 5236, 5304, 5372] + hit0 = 10 + # 终结追击 + 终结data0 = [0, 1343, 1476, 1614, 1753, 1884, 2023, 2160, 2298, 2431, 2570, 2706, 2839, 2977, 3115, 3250, 3387, 3522, 3661, 3793, 3931, 4069, 4204, 4339, 4479, 4613, 4749, 4886, 5022, 5158, 5297, 5431, 5566, 5706, 5840, 5975, 6113, 6249, 6387, 6522, 6658, 6795, 6930, 7067, 7204, 7339, 7475, 7610, 7750, 7884, 8020, 8158, 8291, 8427, 8567, 8700, 8837, 8975, 9113, 9245, 9384, 9519, 9654, 9793, 9929, 10063, 10201, 10336, 10475, 10611, 10746] + 终结hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + 演出时间 = 0.5 + + 形态 = ["收x10", "收x8", "非收x10", "非收x8"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "收x10": + self.hit0 = 10 + self.终结hit0 = 1 + if 形态 == "收x8": + self.hit0 = 8 + self.终结hit0 = 1 + if 形态 == "非收x10": + self.hit0 = 10 + self.终结hit0 = 0 + if 形态 == "非收x8": + self.hit0 = 8 + self.终结hit0 = 0 + + +class 技能8(收招技能): + 名称 = '雷光刃影' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [91, 763] + 无色消耗 = 1 + # 本体 + # 抓取 + data0 = [0, 1067, 1177, 1283, 1393, 1500, 1610, 1718, 1826, 1936, 2044, 2153, 2260, 2369, 2476, 2586, 2694, 2803, 2911, 3020, 3127, 3237, 3345, 3454, 3561, 3670, 3777, 3885, 3995, 4103, 4213, 4321, 4431, 4539, 4648, 4754, 4863, 4970, 5081, 5188, 5296, 5404, 5513, 5621, 5730, 5838, 5947, 6054, 6163, 6271, 6379, 6489, 6597, 6706, 6812, 6924, 7031, 7140, 7248, 7357, 7465, 7574, 7682, 7791, 7899, 8008, 8115, 8224, 8332, 8441, 8549] + hit0 = 0 + data1 = [0, 3205, 3531, 3857, 4180, 4506, 4832, 5158, 5481, 5808, 6132, 6458, 6783, 7109, 7435, 7760, 8084, 8410, 8734, 9060, 9385, 9710, 10038, 10362, 10688, 11012, 11338, 11663, 11986, 12312, 12639, 12964, 13289, 13614, 13940, 14264, 14590, 14915, 15243, 15566, 15891, 16216, 16541, 16866, 17192, 17515, 17842, 18168, 18494, 18818, 19144, 19468, 19796, 20118, 20444, 20771, 21095, 21421, 21746, 22072, 22396, 22720, 23047, 23373, 23697, 24023, 24348, 24673, 24999, 25324, 25648] + hit1 = 0 + # 非抓 + data2 = [0, 6410, 7063, 7714, 8362, 9012, 9666, 10315, 10966, 11616, 12267, 12918, 13567, 14218, 14869, 15520, 16170, 16820, 17472, 18120, 18772, 19422, 20074, 20724, 21374, 22024, 22675, 23326, 23976, 24626, 25278, 25927, 26578, 27228, 27882, 28531, 29180, 29830, 30482, 31133, 31783, 32435, 33084, 33734, 34385, 35035, 35686, 36337, 36989, 37639, 38287, 38939, 39589, 40240, 40890, 41543, 42192, 42842, 43492, 44143, 44794, 45443, 46093, 46746, 47396, 48046, 48696, 49349, 49997, 50647, 51298] + hit2 = 1 + data3 = [0, 4275, 4708, 5140, 5575, 6008, 6443, 6877, 7311, 7743, 8177, 8611, 9046, 9479, 9912, 10346, 10779, 11212, 11649, 12080, 12515, 12948, 13382, 13816, 14250, 14683, 15115, 15550, 15983, 16416, 16852, 17286, 17719, 18153, 18587, 19019, 19456, 19887, 20320, 20754, 21188, 21622, 22055, 22491, 22924, 23356, 23791, 24223, 24656, 25092, 25526, 25959, 26392, 26827, 27259, 27694, 28128, 28562, 28995, 29429, 29861, 30296, 30731, 31163, 31596, 32030, 32463, 32899, 33332, 33767, 34200] + hit3 = 1 + # 终结追击 + 终结data0 = [0, 2135, 2353, 2570, 2786, 3004, 3222, 3439, 3655, 3872, 4090, 4306, 4521, 4738, 4956, 5172, 5389, 5606, 5823, 6041, 6257, 6474, 6690, 6907, 7124, 7341, 7558, 7774, 7992, 8208, 8426, 8644, 8859, 9075, 9293, 9510, 9726, 9944, 10160, 10376, 10594, 10810, 11025, 11244, 11461, 11679, 11895, 12112, 12330, 12544, 12761, 12978, 13196, 13411, 13628, 13847, 14064, 14281, 14498, 14714, 14931, 15148, 15365, 15583, 15798, 16013, 16230, 16448, 16665, 16882, 17098] + 终结hit0 = 1 + CD = 15.0 + TP成长 = 0.1 + TP上限 = 5 + 演出时间 = 0.3 + + +class 技能9(收招技能): + 名称 = '螺旋穿刺' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [128, 1072] + 无色消耗 = 1 + # 本体 + data0 = [0, 1010, 1114, 1218, 1320, 1422, 1528, 1628, 1732, 1833, 1939, 2041, 2144, 2244, 2349, 2451, 2554, 2656, 2761, 2865, 2966, 3066, 3170, 3276, 3376, 3481, 3582, 3684, 3787, 3892, 3993, 4097, 4198, 4302, 4404, 4506, 4613, 4715, 4818, 4918, 5020, 5127, 5229, 5331, 5435, 5536, 5638, 5739, 5845, 5948, 6050, 6156, 6255, 6356, 6462, 6566, 6667, 6770, 6871, 6973, 7079, 7182, 7284, 7388, 7488, 7592, 7695, 7800, 7901, 8004, 8110] + hit0 = 3 + data1 = [0, 3545, 3907, 4265, 4624, 4985, 5344, 5702, 6065, 6424, 6785, 7144, 7505, 7864, 8224, 8585, 8944, 9306, 9665, 10025, 10384, 10745, 11102, 11461, 11821, 12182, 12542, 12902, 13263, 13622, 13979, 14343, 14701, 15061, 15421, 15783, 16143, 16501, 16861, 17221, 17581, 17944, 18297, 18657, 19016, 19379, 19739, 20099, 20460, 20820, 21177, 21538, 21899, 22259, 22621, 22980, 23340, 23696, 24058, 24417, 24777, 25139, 25497, 25855, 26216, 26576, 26936, 27298, 27659, 28014, 28373] + hit1 = 1 + # 终结追击 + 终结data0 = [0, 2128, 2341, 2561, 2774, 2992, 3206, 3424, 3639, 3855, 4070, 4285, 4503, 4716, 4933, 5151, 5365, 5583, 5799, 6015, 6230, 6446, 6662, 6878, 7093, 7309, 7526, 7741, 7956, 8174, 8388, 8607, 8821, 9038, 9252, 9469, 9684, 9901, 10117, 10332, 10550, 10764, 10979, 11195, 11409, 11630, 11842, 12060, 12272, 12492, 12705, 12921, 13140, 13354, 13569, 13785, 14002, 14218, 14432, 14650, 14865, 15082, 15295, 15515, 15728, 15945, 16163, 16378, 16595, 16808, 17026] + 终结hit0 = 1 + + TP成长 = 0.1 + TP上限 = 5 + + 演出时间 = 0.5 + 是否有护石 = 1 + + 形态 = ["常规", "理论"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.hit0 = 3 + self.hit1 = 1 + if '螺旋穿刺' in char.护石栏: + self.hit0 = 12 + else: + 形态 == "理论" + if 形态 == "理论": + self.hit0 = 6 + self.hit1 = 1 + if '螺旋穿刺' in char.护石栏: + self.hit0 = 19 + + def 装备护石(self, char): + self.power0 = 0.5*1.47 + + +class 技能10(收招技能): + 名称 = '疾风乱舞' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [164, 1376] + 无色消耗 = 1 + # 本体 + # 角色11下,分身4下 + data0 = [0, 1016, 1116, 1220, 1324, 1426, 1530, 1634, 1736, 1837, 1944, 2044, 2147, 2251, 2353, 2457, 2561, 2664, 2765, 2867, 2971, 3075, 3177, 3281, 3385, 3488, 3589, 3692, 3795, 3898, 4001, 4105, 4209, 4311, 4412, 4517, 4620, 4722, 4825, 4930, 5033, 5135, 5238, 5340, 5442, 5546, 5651, 5752, 5856, 5960, 6061, 6165, 6267, 6371, 6475, 6578, 6679, 6784, 6885, 6988, 7091, 7196, 7297, 7401, 7506, 7607, 7710, 7812, 7916, 8020, 8123] + hit0 = 11 + data1 = [0, 1009, 1113, 1217, 1319, 1422, 1522, 1624, 1729, 1830, 1933, 2036, 2137, 2239, 2343, 2445, 2549, 2650, 2753, 2855, 2958, 3062, 3165, 3266, 3370, 3474, 3575, 3678, 3780, 3882, 3985, 4088, 4190, 4292, 4395, 4497, 4599, 4701, 4806, 4907, 5011, 5113, 5215, 5316, 5421, 5522, 5625, 5727, 5830, 5931, 6035, 6139, 6242, 6344, 6447, 6550, 6651, 6754, 6857, 6958, 7062, 7166, 7268, 7370, 7472, 7574, 7677, 7780, 7883, 7983, 8086] + hit1 = 4 + data2 = [0, 1817, 2001, 2185, 2368, 2552, 2737, 2923, 3104, 3292, 3477, 3659, 3844, 4029, 4214, 4396, 4582, 4768, 4950, 5135, 5319, 5503, 5686, 5871, 6057, 6241, 6425, 6609, 6794, 6979, 7161, 7348, 7532, 7717, 7900, 8085, 8269, 8451, 8636, 8819, 9007, 9191, 9376, 9559, 9743, 9928, 10113, 10297, 10481, 10665, 10849, 11035, 11218, 11403, 11586, 11770, 11956, 12140, 12325, 12508, 12693, 12877, 13062, 13247, 13431, 13615, 13800, 13984, 14167, 14352, 14540] + hit2 = 1 + # 终结追击 + 终结data0 = [0, 3405, 3751, 4095, 4442, 4786, 5131, 5478, 5824, 6169, 6513, 6858, 7204, 7550, 7895, 8241, 8586, 8931, 9277, 9622, 9968, 10311, 10660, 11003, 11351, 11694, 12042, 12385, 12730, 13079, 13422, 13769, 14113, 14459, 14804, 15150, 15495, 15842, 16186, 16532, 16877, 17223, 17568, 17912, 18260, 18605, 18951, 19295, 19639, 19986, 20330, 20676, 21022, 21369, 21713, 22058, 22404, 22750, 23095, 23441, 23786, 24133, 24475, 24823, 25167, 25512, 25858, 26204, 26552, 26895, 27241] + 终结hit0 = 1 + + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + 演出时间 = 0.6 + + def 装备护石(self, char): + self.hit1 = 8 + self.power1 = 1.44 + self.终结power0 = 1.08 + self.CDR *= 0.9 + + +class 技能11(主动技能): + 名称 = '死亡风暴' + 是否主动 = 0 + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + + data0 = [0, 634, 699, 765, 833, 896, 963, 1029, 1094, 1161, 1226, 1294, 1356, 1423, 1490, 1553, 1619, 1686, 1749, 1816, 1883, 1950, 2012, 2079, 2144, 2212, 2279, 2341, 2406, 2472, 2536, 2605, 2672, 2734, 2801, 2867, 2935, 2998, 3065, 3131, 3194, 3260, 3328, 3390, 3457, 3523, 3588, 3657, 3721, 3787, 3852, 3918, 3981, 4049, 4114, 4179, 4244, 4311, 4380, 4443, 4510, 4575, 4640, 4707, 4774, 4836, 4903, 4966, 5033, 5099, 5166] + hit0 = 15 + CD = 12.0 + 演出时间 = 0.5 + CP武器 = False + + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ["正背", "中心"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "正背": + self.hit0 = 15 + if 形态 == "中心": + self.hit0 = 30 + if self.CP武器: + self.hit0 = 20 + + +class 技能12(收招技能): + 名称 = '绝命瞬狱杀' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [311, 2612] + 无色消耗 = 2 + # 本体 + data0 = [0, 2819, 3104, 3392, 3677, 3961, 4249, 4534, 4820, 5107, 5395, 5680, 5964, 6250, 6537, 6823, 7108, 7395, 7681, 7966, 8252, 8540, 8825, 9112, 9398, 9681, 9970, 10255, 10542, 10826, 11113, 11399, 11686, 11973, 12257, 12544, 12828, 13115, 13401, 13687, 13973, 14261, 14544, 14832, 15118, 15401, 15690, 15977, 16262, 16547, 16834, 17119, 17406, 17692, 17977, 18263, 18551, 18836, 19119, 19408, 19692, 19981, 20264, 20553, 20838, 21123, 21410, 21696, 21981, 22267, 22555] + hit0 = 1 + data1 = [0, 4227, 4658, 5084, 5516, 5944, 6373, 6801, 7233, 7660, 8090, 8517, 8945, 9376, 9805, 10235, 10664, 11092, 11521, 11951, 12378, 12809, 13236, 13666, 14097, 14525, 14954, 15383, 15812, 16242, 16670, 17098, 17527, 17958, 18385, 18816, 19246, 19672, 20103, 20532, 20959, 21389, 21818, 22245, 22676, 23106, 23536, 23963, 24395, 24823, 25251, 25679, 26109, 26536, 26967, 27397, 27824, 28254, 28685, 29110, 29540, 29971, 30397, 30827, 31256, 31685, 32115, 32545, 32972, 33402, 33832] + hit1 = 1 + data2 = [0, 5638, 6209, 6781, 7355, 7926, 8497, 9072, 9642, 10214, 10788, 11358, 11929, 12500, 13074, 13646, 14218, 14791, 15363, 15933, 16508, 17080, 17649, 18223, 18795, 19367, 19938, 20513, 21082, 21655, 22228, 22800, 23369, 23943, 24514, 25087, 25659, 26231, 26804, 27375, 27949, 28520, 29091, 29663, 30236, 30807, 31381, 31951, 32524, 33095, 33669, 34242, 34810, 35383, 35956, 36527, 37101, 37673, 38243, 38818, 39389, 39961, 40530, 41106, 41676, 42248, 42823, 43392, 43964, 44538, 45110] + hit2 = 1 + data3 = [0, 7046, 7763, 8478, 9192, 9906, 10623, 11337, 12054, 12768, 13484, 14198, 14913, 15627, 16343, 17059, 17773, 18487, 19205, 19918, 20635, 21348, 22064, 22779, 23493, 24209, 24925, 25639, 26354, 27068, 27784, 28498, 29215, 29930, 30646, 31360, 32073, 32789, 33505, 34218, 34936, 35650, 36365, 37079, 37792, 38508, 39224, 39940, 40656, 41371, 42084, 42799, 43514, 44230, 44945, 45660, 46375, 47090, 47804, 48520, 49234, 49952, 50665, 51382, 52096, 52810, 53525, 54241, 54954, 55671, 56384] + hit3 = 1 + # 终结追击 + 终结data0 = [0, 3945, 4347, 4745, 5147, 5548, 5947, 6348, 6750, 7149, 7550, 7951, 8350, 8750, 9152, 9551, 9951, 10350, 10754, 11155, 11556, 11955, 12356, 12757, 13156, 13556, 13955, 14357, 14758, 15157, 15559, 15960, 16359, 16761, 17162, 17561, 17961, 18360, 18761, 19163, 19561, 19962, 20363, 20762, 21163, 21566, 21966, 22367, 22764, 23165, 23567, 23969, 24368, 24769, 25170, 25569, 25970, 26373, 26772, 27173, 27571, 27972, 28373, 28772, 29173, 29574, 29973, 30374, 30775, 31174, 31576] + 终结hit0 = 1 + + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + 演出时间 = 0.6 + + def 装备护石(self, char): + self.终结power0 = 3 * 0.47*1.16 + + +class 技能13(被动技能): + 名称 = '月弧' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.095 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = '月舞终结' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [850, 7000] + 无色消耗 = 0 + + data0 = [0, 13774, 16967, 20162, 23356, 26550, 29747, 32940, 36132, 39326, 42522, 45716, 48910, 52105, 55300, 58493, 61686, 64882, 68074, 71270, 74466, 77659, 80851, 84046, 87241, 90436, 93629, 96823, 100020, 103212, 106406, 109602, 112795, 115990, 119186, 122378, 125570, 128765, 131961, 135155, 138349, 141542, 144738, 147932, 151126, 154321, 157515, 160709, 163902, 167097, 170291] + hit0 = 1 + data1 = [0, 15742, 19391, 23042, 26692, 30343, 33996, 37646, 41294, 44944, 48597, 52246, 55898, 59549, 63200, 66850, 70498, 74151, 77799, 81451, 85104, 88753, 92402, 96052, 99704, 103355, 107005, 110655, 114308, 117957, 121606, 125259, 128908, 132560, 136212, 139861, 143509, 147160, 150813, 154462, 158113, 161762, 165414, 169065, 172715, 176366, 180017, 183667, 187317, 190968, 194618] + hit1 = 1 + data2 = [0, 17709, 21815, 25923, 30029, 34136, 38246, 42351, 46455, 50562, 54671, 58777, 62885, 66992, 71100, 75206, 79311, 83420, 87524, 91633, 95742, 99847, 103952, 108059, 112167, 116275, 120380, 124487, 128597, 132701, 136807, 140917, 145022, 149130, 153239, 157343, 161447, 165555, 169664, 173770, 177877, 181983, 186091, 190198, 194305, 198412, 202519, 206626, 210731, 214839, 218946] + hit2 = 1 + data3 = [0, 19677, 24239, 28803, 33365, 37929, 42495, 47057, 51617, 56180, 60746, 65308, 69872, 74436, 79000, 83562, 88123, 92689, 97249, 101814, 106380, 110941, 115502, 120065, 124630, 129194, 133756, 138319, 142885, 147446, 152008, 156574, 161135, 165700, 170265, 174826, 179386, 183950, 188516, 193078, 197641, 202203, 206768, 211331, 215894, 220458, 225021, 229584, 234146, 238710, 243273] + hit3 = 1 + data4 = [0, 31483, 38782, 46085, 53384, 60686, 67992, 75291, 82587, 89888, 97194, 104493, 111795, 119098, 126400, 133699, 140997, 148302, 155598, 162902, 170208, 177506, 184803, 192104, 199408, 206710, 214010, 221310, 228616, 235914, 243213, 250518, 257816, 265120, 272424, 279722, 287018, 294320, 301626, 308925, 316226, 323525, 330829, 338130, 345430, 352733, 360034, 367334, 374634, 381936, 389237] + hit4 = 1 + + 演出时间 = 0.6 + + # 月轮舞的冷却不受武器类型影响,但月舞终结是正常受到武器类型影响的 + + +class 技能15(收招技能): + 名称 = '旋刃冲击' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 2 + # 本体 + data0 = [0, 787, 867, 946, 1027, 1105, 1186, 1266, 1346, 1426, 1505, 1585, 1665, 1746, 1825, 1904, 1984, 2065, 2144, 2224, 2305, 2385, 2465, 2544, 2625, 2703, 2783, 2863, 2944, 3023, 3103, 3182, 3264, 3341, 3422, 3502, 3583, 3662, 3742, 3821, 3902, 3982, 4061, 4142, 4221, 4302, 4380, 4461, 4540, 4623, 4701] + hit0 = 30 + # 终结追击 + 终结data0 = [0, 881, 971, 1060, 1150, 1237, 1330, 1418, 1506, 1597, 1685, 1775, 1863, 1956, 2045, 2135, 2224, 2311, 2401, 2491, 2581, 2670, 2761, 2849, 2939, 3028, 3117, 3207, 3296, 3386, 3474, 3564, 3654, 3743, 3833, 3923, 4013, 4101, 4192, 4280, 4369, 4459, 4548, 4638, 4728, 4817, 4906, 4995, 5085, 5178, 5267] + 终结hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 35 + self.power0 = 1.07 + self.终结power0 = 31/5*0.2*1.07 + self.CDR *= 0.89 + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '收招': + self.终结hit0 = 5 + if 形态 == '非收': + self.终结hit0 = 0 + + +class 技能16(收招技能): + 名称 = '陨落螺旋刺' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 3 + # 本体 + data0 = [0, 3496, 3850, 4204, 4559, 4912, 5270, 5625, 5976, 6333, 6688, 7041, 7397, 7751, 8104, 8459, 8815, 9169, 9523, 9879, 10234, 10587, 10943, 11297, 11651, 12007, 12362, 12714, 13070, 13426, 13778, 14135, 14491, 14843, 15199, 15555, 15907, 16262, 16615, 16972, 17326, 17680, 18035, 18391, 18745, 19101, 19456, 19808, 20164, 20519, 20873] + hit0 = 3 + data1 = [0, 24469, 26953, 29436, 31918, 34400, 36883, 39366, 41847, 44331, 46814, 49297, 51779, 54261, 56743, 59227, 61708, 64193, 66675, 69157, 71639, 74122, 76604, 79088, 81569, 84054, 86536, 89020, 91500, 93984, 96466, 98949, 101430, 103915, 106397, 108881, 111362, 113845, 116327, 118807, 121294, 123777, 126258, 128739, 131223, 133705, 136188, 138668, 141154, 143637, 146121] + hit1 = 1 + # 终结追击 + 终结data0 = [0, 6991, 7701, 8408, 9119, 9829, 10537, 11246, 11957, 12665, 13374, 14084, 14794, 15501, 16212, 16919, 17632, 18341, 19048, 19760, 20466, 21176, 21889, 22595, 23305, 24016, 24723, 25432, 26143, 26852, 27562, 28271, 28978, 29690, 30399, 31108, 31815, 32527, 33233, 33944, 34656, 35363, 36073, 36780, 37491, 38203, 38909, 39621, 40330, 41037, 41750] + 终结hit0 = 1 + + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 2.27 + + +class 技能17(收招技能): + 名称 = '乱空杀' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + CD = 30 + MP = [580, 4500] + 无色消耗 = 3 + # 本体 + data0 = [0, 4187, 4852, 5522, 6189, 6856, 7525, 8191, 8860, 9527, 10195, 10860, 11531, 12198, 12865, 13535, 14201, 14869, 15533, 16201, 16868, 17537, 18203, 18872, 19539, 20207, 20877, 21542, 22210, 22878, 23546, 24212, 24881, 25550, 26216, 26885, 27550, 28219, 28888, 29555, 30222, 30890, 31557, 32224, 32892, 33560, 34228, 34894, 35562, 36230, 36897] + hit0 = 6 + data1 = [0, 16748, 19417, 22092, 24761, 27430, 30100, 32769, 35442, 38112, 40782, 43452, 46120, 48793, 51463, 54132, 56805, 59476, 62144, 64814, 67485, 70156, 72827, 75498, 78167, 80837, 83506, 86177, 88848, 91518, 94187, 96857, 99528, 102199, 104868, 107540, 110212, 112879, 115550, 118220, 120893, 123562, 126232, 128902, 131574, 134244, 136913, 139584, 142254, 144925, 147596] + hit1 = 1 + # 终结追击 + 终结data0 = [0, 8372, 9710, 11045, 12380, 13715, 15047, 16384, 17721, 19054, 20391, 21726, 23060, 24396, 25730, 27067, 28402, 29738, 31070, 32405, 33741, 35078, 36411, 37747, 39083, 40418, 41754, 43089, 44424, 45760, 47095, 48427, 49762, 51097, 52435, 53768, 55104, 56439, 57775, 59109, 60446, 61780, 63116, 64450, 65785, 67120, 68456, 69792, 71127, 72462, 73797] + 终结hit0 = 1 + + 是否有护石 = 1 + 演出时间 = 0.2 + + def 装备护石(self, char): + self.倍率 *= 1.17 + self.CDR *= 0.89 + + +class 技能18(被动技能): + 名称 = '极限追击' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 物理攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.08 + 0.02 * self.等级, 5) + + +class 技能19(收招技能): + 名称 = '月影突袭' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + # 本体 + data0 = [0, 6453, 7111, 7766, 8419, 9075, 9728, 10384, 11041, 11694, 12349, 13006, 13660, 14312, 14967, 15625, 16280, 16934, 17589, 18244, 18899, 19556, 20211, 20863, 21519, 22173, 22829, 23482, 24140, 24795, 25451, 26104, 26758, 27412, 28069, 28725, 29379, 30035, 30687, 31342, 31998, 32652, 33308, 33963, 34618, 35272, 35929, 36583, 37239, 37893, 38547] + hit0 = 10 + # 终结追击 + 终结data0 = [0, 12910, 14221, 15530, 16841, 18151, 19460, 20770, 22082, 23391, 24700, 26009, 27320, 28630, 29938, 31250, 32562, 33869, 35180, 36489, 37801, 39111, 40418, 41729, 43036, 44349, 45657, 46968, 48281, 49588, 50898, 52209, 53520, 54828, 56140, 57448, 58755, 60068, 61378, 62688, 63995, 65308, 66618, 67927, 69238, 70548, 71858, 73166, 74477, 75787, 77097] + 终结hit0 = 1 + + 演出时间 = 0.6 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能20(收招技能): + 名称 = '天渊星狱' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + # 本体 + data0 = [0, 539, 664, 789, 914, 1039, 1164, 1290, 1414, 1540, 1664, 1790, 1916, 2040, 2165, 2291, 2416, 2541, 2666, 2791, 2917, 3040, 3166, 3294, 3416, 3541, 3666, 3792, 3918, 4041, 4167, 4293, 4417, 4541, 4667, 4793, 4917, 5042, 5169, 5293, 5421, 5542, 5668, 5794, 5916, 6044, 6168, 6294, 6418, 6546, 6670] + hit0 = 7 # 上一任作者写的8;个人测试7 + data1 = [0, 124644, 153548, 182452, 211356, 240257, 269160, 298064, 326968, 355870, 384773, 413679, 442583, 471483, 500388, 529292, 558194, 587098, 616004, 644906, 673810, 702710, 731613, 760519, 789420, 818324, 847230, 876130, 905036, 933938, 962842, 991746, 1020648, 1049552, 1078456, 1107358, 1136260, 1165163, 1194069, 1222973, 1251875, 1280780, 1309683, 1338583, 1367488, 1396394, 1425296, 1454200, 1483102, 1512004, 1540909] + hit1 = 1 + # 终结追击 + 终结data0 = [0, 25899, 31906, 37912, 43916, 49922, 55927, 61933, 67940, 73947, 79952, 85959, 91964, 97969, 103977, 109981, 115987, 121994, 128001, 134005, 140009, 146018, 152024, 158027, 164035, 170039, 176046, 182053, 188059, 194065, 200070, 206076, 212083, 218090, 224096, 230098, 236104, 242111, 248117, 254123, 260129, 266134, 272141, 278148, 284152, 290160, 296165, 302171, 308177, 314182, 320188] + 终结hit0 = 1 + 演出时间 = 3 + + +class 技能21(收招技能): + 名称 = '幻灭瞬杀' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + # 本体 + data0 = [0, 20894, 23013, 25133, 27254, 29373, 31492, 33614, 35731, 37851, 39973, 42092, 44211, 46331, 48452, 50570, 52690, 54811, 56928, 59050, 61170, 63290, 65409, 67528, 69650, 71768, 73888, 76009, 78128, 80247, 82368, 84487, 86606, 88728, 90846, 92965, 95086, 97205, 99324, 101445, 103565, 105685, 107806, 109925, 112044, 114165, 116283, 118404, 120524, 122643, 124763] + hit0 = 5 + # 终结追击 + 终结data0 = [0, 20894, 23013, 25133, 27254, 29373, 31492, 33614, 35731, 37851, 39973, 42092, 44211, 46331, 48452, 50570, 52690, 54811, 56928, 59050, 61170, 63290, 65409, 67528, 69650, 71768, 73888, 76009, 78128, 80247, 82368, 84487, 86606, 88728, 90846, 92965, 95086, 97205, 99324, 101445, 103565, 105685, 107806, 109925, 112044, 114165, 116283, 118404, 120524, 122643, 124763] + 终结hit0 = 1 + + 演出时间 = 0.5 + + +class 技能22(被动技能): + 名称 = '绝命时刻' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(收招技能): + 名称 = '影·万古星辰' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 9667] + 无色消耗 = 15 + # 本体 + data0 = [0, 26099, 32152, 38205, 44257, 50311, 56362, 62413, 68467, 74519, 80571, 86624, 92675, 98729, 104782, 110833, 116886, 122939, 128990, 135043, 141095, 147146, 153201, 159252, 165304, 171357, 177409, 183462, 189513, 195566, 201619, 207671, 213724, 219777, 225828, 231880, 237934, 243985, 250038, 256091, 262142, 268194, 274248, 280300, 286353, 292404, 298457, 304510, 310562, 316614, 322665] + hit0 = 13 + # 终结追击 + 终结data0 = [0, 67861, 83599, 99333, 115071, 130806, 146543, 162277, 178015, 193750, 209486, 225222, 240960, 256696, 272431, 288167, 303904, 319639, 335375, 351113, 366850, 382585, 398320, 414057, 429792, 445529, 461265, 477002, 492738, 508474, 524210, 539945, 555682, 571418, 587154, 602889, 618627, 634364, 650098, 665835, 681571, 697307, 713042, 728780, 744515, 760252, 775987, 791724, 807459, 823196, 838933] + 终结hit0 = 1 + 演出时间 = 6 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'rogue' + self.名称 = '隐夜·刺客' + self.角色 = '暗夜使者' + + self.职业 = '刺客' + self.武器选项 = ['匕首', '双剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '匕首' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.77 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 匕首精通 = self.get_skill_by_name('匕首精通') + 双剑精通 = self.get_skill_by_name('双剑精通') + # 同步匕首和双剑精通等级,防止白金和时装有问题 + 双剑精通.等级 = 匕首精通.等级 = max(双剑精通.等级, 匕首精通.等级) diff --git a/api/core/characters/shadow_dancer.py b/api/core/characters/shadow_dancer.py new file mode 100644 index 00000000..bd9be3b2 --- /dev/null +++ b/api/core/characters/shadow_dancer.py @@ -0,0 +1,534 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +# 以下所有技能数据只录入背击时数据 + +class 主动技能(主动技能): + 国服特色 = 1.05 + +class 技能0(主动技能): + 名称 = '影袭' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [15, 168] + 无色消耗 = 0 + data0 = [0, 1386, 1601, 1811, 2032, 2245, 2464, 2669, 2892, 3103, 3316, 3533, 3749, 3967, 4178, 4393, 4611, 4827, 5040, 5248, 5469, 5682, 5895, 6113, 6329, 6546, 6757, 6973, 7194, 7404, 7619, 7829, 8042, 8261, 8476, 8692, 8904, 9125, 9338, 9554, 9764, 9985, 10198, 10406, 10623, 10842, 11057, 11271, 11484, 11704, 11918, 12132, 12348, 12564, 12772, 12987, 13203, 13423, 13634, 13852, 14067, 14277, 14498, 14711, 14928, 15135, 15355, 15568, 15782, 15994, 16215] + hit0 = 1 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "天诛" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [28, 308] + 无色消耗 = 0 + data0 = [0, 758, 851, 948, 1039, 1130, 1219, 1312, 1406, 1497, 1586, 1681, 1771, 1866, 1959, 2045, 2144, 2233, 2319, 2417, 2506, 2600, 2691, 2783, 2877, 2964, 3055, 3153, 3240, 3334, 3426, 3517, 3611, 3700, 3793, 3885, 3979, 4072, 4160, 4251, 4348, 4436, 4531, 4621, 4708, 4807, 4899, 4986, 5078, 5169, 5268, 5356, 5447, 5541, 5632, 5722, 5815, 5903, 6001, 6094, 6180, 6274, 6367, 6462, 6550, 6641, 6735, 6823, 6915, 7012, 7100] + hit0 = 0 + data1 = [0, 3175, 3559, 3944, 4329, 4702, 5091, 5471, 5860, 6239, 6624, 7002, 7388, 7772, 8151, 8535, 8920, 9303, 9688, 10062, 10451, 10832, 11221, 11597, 11984, 12363, 12752, 13131, 13513, 13899, 14284, 14671, 15044, 15434, 15813, 16201, 16580, 16964, 17343, 17728, 18114, 18496, 18877, 19265, 19644, 20029, 20409, 20794, 21176, 21557, 21940, 22326, 22708, 23093, 23472, 23858, 24241, 24627, 25000, 25388, 25773, 26157, 26542, 26920, 27305, 27689, 28076, 28449, 28837, 29218, 29606] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 1 + self.power1 = 1.1 + if 形态 == "抓取": + self.hit0 = 2 + self.hit1 = 1 + self.power1 = 1 + + +class 技能2(主动技能): + 名称 = "割喉" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 2684, 2957, 3229, 3503, 3777, 4045, 4322, 4589, 4865, 5140, 5409, 5682, 5956, 6227, 6499, 6771, 7046, 7321, 7589, 7861, 8134, 8406, 8679, 8956, 9226, 9498, 9768, 10046, 10319, 10586, 10860, 11135, 11406, 11680, 11948, 12220, 12497, 12768, 13042, 13310, 13585, 13859, 14135, 14404, 14675, 14947, 15222, 15495, 15767, 16040, 16311, 16584, 16859, 17132, 17401, 17674, 17946, 18219, 18489, 18764, 19036, 19308, 19586, 19853, 20125, 20398, 20673, 20948, 21215, 21487] + hit0 = 1 + data1 = [0, 1342, 1478, 1617, 1753, 1890, 2025, 2159, 2297, 2435, 2569, 2704, 2842, 2979, 3114, 3250, 3387, 3521, 3659, 3797, 3929, 4064, 4204, 4341, 4476, 4612, 4747, 4884, 5021, 5160, 5292, 5429, 5566, 5702, 5841, 5977, 6112, 6249, 6384, 6522, 6654, 6796, 6926, 7066, 7204, 7338, 7473, 7608, 7746, 7884, 8018, 8156, 8291, 8428, 8566, 8701, 8838, 8975, 9111, 9245, 9385, 9518, 9655, 9790, 9928, 10063, 10201, 10335, 10472, 10608, 10745] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '暗杀教义' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.185 + 0.015 * self.等级, 5) + + +class 技能4(主动技能): + 名称 = "夺魂" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [40, 292] + 无色消耗 = 0 + data0 = [0, 2565, 2827, 3087, 3348, 3608, 3868, 4128, 4388, 4651, 4913, 5170, 5430, 5693, 5951, 6211, 6474, 6733, 6994, 7254, 7513, 7776, 8037, 8294, 8556, 8819, 9074, 9337, 9597, 9857, 10119, 10380, 10643, 10900, 11160, 11422, 11680, 11943, 12205, 12462, 12722, 12986, 13245, 13505, 13768, 14025, 14286, 14548, 14806, 15068, 15329, 15586, 15851, 16111, 16368, 16629, 16891, 17151, 17412, 17669, 17928, 18192, 18452, 18715, 18977, 19235, 19497, 19754, 20015, 20278, 20538] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '暗杀之匕首精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 20: + return round(1.0 + 0.015 * self.等级, 5) + else: + return round(1.3 + 0.025 * (self.等级 - 20), 5) + + +class 技能6(主动技能): + 名称 = "穿心" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 500] + 无色消耗 = 0 + data0 = [0, 4271, 4703, 5141, 5575, 6008, 6444, 6874, 7307, 7741, 8174, 8609, 9043, 9475, 9906, 10344, 10775, 11211, 11642, 12074, 12518, 12946, 13380, 13812, 14248, 14679, 15114, 15545, 15980, 16417, 16850, 17281, 17714, 18147, 18578, 19016, 19451, 19880, 20315, 20746, 21183, 21618, 22051, 22491, 22920, 23353, 23786, 24222, 24649, 25090, 25517, 25953, 26387, 26818, 27255, 27688, 28120, 28551, 28990, 29421, 29853, 30294, 30724, 31159, 31592, 32025, 32458, 32889, 33324, 33758, 34194] + hit0 = 1 + data1 = [0, 2134, 2353, 2572, 2785, 3004, 3221, 3439, 3653, 3871, 4086, 4302, 4523, 4739, 4956, 5172, 5392, 5605, 5819, 6040, 6256, 6471, 6689, 6909, 7123, 7340, 7559, 7774, 7988, 8208, 8419, 8640, 8858, 9078, 9293, 9509, 9726, 9940, 10158, 10375, 10588, 10811, 11027, 11243, 11458, 11675, 11894, 12107, 12326, 12544, 12764, 12976, 13196, 13411, 13626, 13843, 14059, 14274, 14493, 14712, 14927, 15145, 15365, 15580, 15792, 16012, 16230, 16446, 16661, 16880, 17099] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "追命" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 5338, 5877, 6423, 6965, 7506, 8042, 8588, 9128, 9668, 10211, 10755, 11295, 11836, 12380, 12922, 13457, 14001, 14541, 15090, 15630, 16172, 16713, 17253, 17798, 18336, 18877, 19420, 19960, 20502, 21042, 21590, 22127, 22670, 23213, 23750, 24292, 24835, 25378, 25920, 26461, 27002, 27546, 28087, 28628, 29173, 29711, 30252, 30790, 31332, 31878, 32416, 32965, 33499, 34043, 34582, 35125, 35670, 36211, 36752, 37293, 37835, 38374, 38916, 39458, 40000, 40543, 41082, 41626, 42168, 42708] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + # 背击时增加50% + 倍率 = 1.5 + + +class 技能8(主动技能): + 名称 = "潜影刺击" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [126, 1058] + 无色消耗 = 1 + data0 = [0, 1679, 1850, 2021, 2187, 2361, 2532, 2700, 2870, 3043, 3211, 3383, 3553, 3722, 3893, 4063, 4231, 4404, 4578, 4744, 4914, 5088, 5256, 5427, 5601, 5771, 5939, 6110, 6281, 6450, 6621, 6792, 6962, 7133, 7303, 7471, 7643, 7817, 7984, 8153, 8328, 8494, 8664, 8838, 9006, 9178, 9348, 9519, 9688, 9861, 10028, 10202, 10371, 10539, 10710, 10881, 11051, 11222, 11393, 11563, 11734, 11903, 12071, 12244, 12418, 12588, 12756, 12928, 13101, 13266, 13438] + hit0 = 2 + data1 = [0, 6718, 7402, 8080, 8763, 9446, 10128, 10808, 11494, 12175, 12858, 13536, 14219, 14903, 15581, 16264, 16947, 17630, 18309, 18994, 19675, 20358, 21036, 21719, 22403, 23081, 23764, 24447, 25129, 25809, 26493, 27173, 27856, 28537, 29220, 29904, 30587, 31265, 31948, 32629, 33312, 33993, 34676, 35358, 36037, 36719, 37404, 38086, 38765, 39447, 40129, 40811, 41491, 42174, 42857, 43536, 44219, 44903, 45586, 46266, 46947, 47630, 48314, 48994, 49677, 50358, 51038, 51722, 52405, 53086, 53766] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "刃舞" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [45, 850] + 无色消耗 = 1 + data0 = [0, 381, 420, 463, 501, 542, 581, 617, 656, 699, 733, 775, 808, 850, 891, 931, 969, 1008, 1043, 1085, 1122, 1164, 1203, 1243, 1279, 1319, 1360, 1395, 1437, 1476, 1512, 1552, 1593, 1628, 1671, 1707, 1746, 1784, 1826, 1859, 1904, 1945, 1981, 2022, 2058, 2095, 2137, 2177, 2214, 2255, 2294, 2330, 2368, 2411, 2446, 2488, 2526, 2563, 2604, 2644, 2682, 2720, 2762, 2798, 2841, 2877, 2917, 2956, 2993, 3030, 3072] + hit0 = 18 + data1 = [0, 6527, 7189, 7852, 8514, 9176, 9837, 10501, 11158, 11820, 12482, 13142, 13805, 14470, 15132, 15792, 16455, 17117, 17779, 18439, 19106, 19767, 20429, 21090, 21753, 22419, 23075, 23737, 24401, 25063, 25724, 26388, 27050, 27711, 28371, 29033, 29697, 30361, 31021, 31683, 32346, 33008, 33668, 34330, 34995, 35655, 36314, 36979, 37638, 38301, 38966, 39627, 40288, 40950, 41614, 42276, 42939, 43601, 44263, 44926, 45582, 46246, 46912, 47575, 48234, 48896, 49557, 50219, 50881, 51547, 52209] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 18*2 + self.power0 = 0.62*1.3 + + +class 技能10(主动技能): + 名称 = "影戮" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 2616, 2887, 3144, 3412, 3682, 3949, 4207, 4474, 4741, 5003, 5272, 5536, 5805, 6065, 6331, 6599, 6864, 7125, 7392, 7661, 7923, 8190, 8459, 8727, 8984, 9251, 9517, 9786, 10044, 10311, 10579, 10848, 11109, 11379, 11645, 11904, 12169, 12436, 12706, 12963, 13231, 13499, 13766, 14024, 14297, 14564, 14822, 15088, 15357, 15624, 15886, 16152, 16418, 16686, 16943, 17214, 17481, 17741, 18006, 18277, 18543, 18806, 19071, 19339, 19609, 19867, 20133, 20401, 20659, 20926] + hit0 = 4 + data1 = [0, 9402, 10361, 11312, 12269, 13221, 14177, 15128, 16086, 17040, 17989, 18945, 19899, 20858, 21808, 22764, 23719, 24667, 25622, 26582, 27532, 28487, 29441, 30396, 31348, 32305, 33261, 34216, 35166, 36119, 37079, 38029, 38984, 39940, 40887, 41845, 42799, 43755, 44708, 45663, 46616, 47567, 48524, 49482, 50437, 51384, 52340, 53296, 54247, 55203, 56160, 57113, 58066, 59019, 59974, 60928, 61882, 62837, 63790, 64744, 65697, 66657, 67608, 68564, 69516, 70471, 71425, 72380, 73334, 74284, 75241] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4+3 + self.power0 = 0.74*1.26 + + +class 技能11(主动技能): + 名称 = "瞬杀" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [250, 2500] + 无色消耗 = 2 + data0 = [0, 37887, 41732, 45576, 49420, 53268, 57108, 60957, 64797, 68643, 72484, 76332, 80178, 84017, 87860, 91704, 95549, 99393, 103238, 107082, 110919, 114766, 118612, 122455, 126304, 130144, 133985, 137833, 141674, 145520, 149363, 153212, 157050, 160900, 164741, 168585, 172431, 176274, 180119, 183955, 187803, 191647, 195490, 199338, 203182, 207020, 210868, 214710, 218557, 222399, 226247, 230085, 233937, 237777, 241618, 245468, 249309, 253147, 256993, 260841, 264685, 268528, 272375, 276218, 280058, 283902, 287745, 291588, 295436, 299275, 303121] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能12(被动技能): + 名称 = '暗杀之心' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 20: + return round(1.03 + 0.02 * self.等级, 5) + else: + return round(1.43 + 0.021 * (self.等级 - 20), 5) + + +class 技能13(主动技能): + 名称 = "影斩·乱舞" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [881, 7403] + 无色消耗 = 7 + data0 = [0, 2206, 2714, 3227, 3736, 4249, 4759, 5272, 5784, 6294, 6804, 7314, 7827, 8340, 8850, 9361, 9870, 10383, 10894, 11406, 11917, 12426, 12937, 13447, 13961, 14474, 14984, 15495, 16004, 16515, 17028, 17540, 18051, 18560, 19071, 19583, 20094, 20608, 21119, 21628, 22138, 22649, 23162, 23672, 24185, 24697, 25207, 25717, 26228, 26740, 27253] + hit0 = 20 + data1 = [0, 34641, 42674, 50705, 58738, 66774, 74803, 82839, 90869, 98905, 106938, 114969, 123003, 131035, 139068, 147102, 155133, 163164, 171200, 179232, 187264, 195297, 203332, 211363, 219396, 227428, 235461, 243497, 251527, 259561, 267596, 275627, 283661, 291693, 299725, 307760, 315791, 323822, 331858, 339889, 347921, 355955, 363986, 372021, 380054, 388085, 396119, 404152, 412185, 420219, 428249] + hit1 = 1 + + # LV9效果 + CDR = 0.9 + # LV3效果 + power1 = 1.1 + + +class 技能14(主动技能): + 名称 = "绝命飞刃" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 2256, 2486, 2712, 2945, 3173, 3404, 3629, 3855, 4087, 4318, 4543, 4774, 5002, 5231, 5458, 5689, 5923, 6146, 6379, 6604, 6837, 7063, 7292, 7519, 7750, 7978, 8209, 8437, 8665, 8896, 9127, 9352, 9582, 9813, 10038, 10270, 10494, 10725, 10956, 11182, 11412, 11641, 11869, 12101, 12329, 12555, 12786, 13016, 13245, 13472] + hit0 = 1 + data1 = [0, 9027, 9942, 10854, 11774, 12685, 13604, 14519, 15433, 16348, 17263, 18178, 19093, 20011, 20930, 21846, 22760, 23675, 24590, 25503, 26418, 27337, 28253, 29167, 30082, 30995, 31914, 32830, 33745, 34663, 35580, 36492, 37409, 38322, 39237, 40157, 41071, 41990, 42901, 43816, 44731, 45647, 46563, 47479, 48393, 49316, 50226, 51143, 52056, 52974, 53889] + hit1 = 1 + data2 = [0, 18052, 19880, 21713, 23542, 25375, 27207, 29036, 30864, 32697, 34531, 36358, 38194, 40024, 41856, 43685, 45519, 47348, 49183, 51011, 52843, 54673, 56502, 58332, 60167, 62000, 63824, 65657, 67494, 69322, 71151, 72986, 74813, 76649, 78478, 80311, 82140, 83968, 85803, 87636, 89466, 91295, 93127, 94955, 96790, 98622, 100455, 102281, 104115, 105947, 107780] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power2 = 1.58 + + +class 技能15(主动技能): + 名称 = "八荒影杀" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 3923, 4321, 4720, 5121, 5519, 5917, 6313, 6714, 7112, 7511, 7906, 8300, 8703, 9099, 9502, 9896, 10293, 10694, 11093, 11491, 11887, 12285, 12683, 13082, 13483, 13878, 14279, 14675, 15074, 15474, 15870, 16266, 16667, 17062, 17467, 17862, 18261, 18658, 19057, 19455, 19848, 20249, 20648, 21046, 21444, 21840, 22243, 22641, 23038, 23436] + hit0 = 1 + data1 = [0, 3923, 4321, 4720, 5121, 5519, 5917, 6313, 6714, 7112, 7511, 7906, 8300, 8703, 9099, 9502, 9896, 10293, 10694, 11093, 11491, 11887, 12285, 12683, 13082, 13483, 13878, 14279, 14675, 15074, 15474, 15870, 16266, 16667, 17062, 17467, 17862, 18261, 18658, 19057, 19455, 19848, 20249, 20648, 21046, 21444, 21840, 22243, 22641, 23038, 23436] + hit1 = 8 + data2 = [0, 15699, 17291, 18887, 20473, 22069, 23665, 25253, 26848, 28440, 30033, 31628, 33216, 34812, 36403, 37993, 39590, 41181, 42773, 44367, 45957, 47553, 49144, 50737, 52330, 53927, 55515, 57110, 58703, 60292, 61888, 63484, 65072, 66667, 68255, 69851, 71447, 73033, 74629, 76220, 77813, 79406, 80997, 82593, 84185, 85777, 87372, 88958, 90554, 92147, 93738] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 2.50 + self.hit1 = 7 + self.power1 = 1.32 # 上一任作者写的还额外*1.2,为bug加成,没有测试出触发方式,就未计入 + self.power2 = 1.32 + + +class 技能16(主动技能): + 名称 = "死亡连舞" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 4633, 5100, 5572, 6038, 6509, 6978, 7447, 7919, 8387, 8859, 9328, 9797, 10265, 10735, 11205, 11674, 12149, 12613, 13090, 13552, 14022, 14491, 14967, 15436, 15906, 16377, 16844, 17312, 17783, 18253, 18722, 19193, 19661, 20133, 20599, 21072, 21538, 22012, 22480, 22950, 23419, 23889, 24358, 24828, 25302, 25766, 26240, 26706, 27183, 27646] + hit0 = 3 + data1 = [0, 27779, 30595, 33414, 36237, 39056, 41870, 44693, 47513, 50330, 53146, 55962, 58782, 61605, 64419, 67241, 70061, 72880, 75696, 78512, 81331, 84147, 86965, 89786, 92611, 95421, 98242, 101062, 103881, 106696, 109515, 112333, 115150, 117966, 120786, 123606, 126432, 129246, 132064, 134883, 137699, 140515, 143336, 146155, 148970, 151789, 154614, 157433, 160248, 163065, 165881] + hit1 = 0 + data2 = [0, 54884, 60458, 66021, 71589, 77155, 82723, 88295, 93860, 99428, 105002, 110574, 116136, 121705, 127271, 132839, 138413, 143976, 149547, 155108, 160679, 166244, 171815, 177376, 182957, 188521, 194092, 199654, 205226, 210795, 216358, 221933, 227499, 233066, 238631, 244200, 249768, 255331, 260901, 266473, 272049, 277618, 283183, 288749, 294315, 299884, 305455, 311018, 316591, 322151, 327725] + hit2 = 1 + + 是否有护石 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if '死亡连舞' in char.护石栏: + 形态 = '非抓' + if 形态 == "非抓": + self.hit0 = 3 + self.hit1 = 0 + self.hit2 = 1 + if 形态 == "抓取": + self.hit0 = 6 + self.hit1 = 2 + self.hit2 = 0 + + # 装备护石后总是非抓模式 + def 装备护石(self, char): + self.hit0 = 3 + self.hit1 = 0 + self.hit2 = 1 + self.power2 = 1.4 + self.CDR *= 0.9 + + +class 技能17(被动技能): + 名称 = '潜行暗杀' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "剜心" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 115482, 127196, 138914, 150624, 162342, 174059, 185779, 197492, 209202, 220924, 232637, 244355, 256075, 267790, 279500, 291221, 302932, 314651, 326367, 338080, 349797, 361510, 373230, 384946, 396655, 408373, 420090, 431805, 443523, 455239, 466951, 478666, 490383, 502099, 513815, 525533, 537248, 548964, 560682, 572399, 584111, 595827, 607542, 619259, 630971, 642686, 654404, 666117, 677837, 689552] + hit0 = 1 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.24 + + +class 技能19(主动技能): + 名称 = "幽冥链狱:索命" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 4065, 4478, 4890, 5304, 5716, 6130, 6542, 6953, 7367, 7778, 8192, 8604, 9017, 9429, 9842, 10254, 10666, 11079, 11491, 11904, 12315, 12729, 13141, 13556, 13967, 14381, 14792, 15204, 15618, 16029, 16443, 16855, 17268, 17680, 18093, 18505, 18917, 19329, 19742, 20155, 20566, 20980, 21394, 21806, 22218, 22632, 23043, 23455, 23869, 24280] + hit0 = 1 + data1 = [0, 7081, 8727, 10371, 12014, 13649, 15297, 16938, 18575, 20222, 21863, 23507, 25149, 26790, 28433, 30077, 31720, 33357, 35004, 36645, 38289, 39932, 41574, 43217, 44858, 46498, 48147, 49789, 51425, 53072, 54713, 56355, 57997, 59641, 61283, 62924, 64571, 66213, 67856, 69492, 71133, 72781, 74416, 76061, 77707, 79349, 80990, 82634, 84275, 85919, 87559] + hit1 = 0 + data2 = [0, 155818, 191957, 228092, 264221, 300355, 336486, 372622, 408758, 444887, 481021, 517156, 553289, 589422, 625552, 661690, 697825, 733954, 770084, 806216, 842354, 878486, 914620, 950751, 986880, 1023021, 1059153, 1095283, 1131418, 1167550, 1203688, 1239820, 1275953, 1312086, 1348217, 1384351, 1420483, 1456615, 1492749, 1528886, 1565016, 1601151, 1637284, 1673417, 1709549, 1745681, 1781815, 1817953, 1854083, 1890217, 1926352] + hit2 = 0 + data3 = [0, 161331, 198739, 236152, 273558, 310969, 348378, 385795, 423201, 460609, 498021, 535432, 572848, 610252, 647659, 685075, 722481, 759889, 797295, 834714, 872120, 909532, 946942, 984350, 1021760, 1059169, 1096586, 1133996, 1171402, 1208813, 1246222, 1283631, 1321047, 1358452, 1395868, 1433273, 1470683, 1508096, 1545505, 1582914, 1620327, 1657736, 1695140, 1732549, 1769964, 1807377, 1844784, 1882195, 1919603, 1957013, 1994428] + hit3 = 1 + + 形态 = ["非抓", "抓取"] + + def 形态变更(self, 形态, char: Character): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + if 形态 == "抓取": + self.hit0 = 1 + self.hit1 = 4 + self.hit2 = 1 + self.hit3 = 0 + + +class 技能20(主动技能): + 名称 = '锁链' + 所在等级 = 85 + 等级上限 = 1 + # 学习间隔 = 5 + # 等级精通 = 40 + 基础等级 = 1 + 无色消耗 = 10 + MP = [2500, 5000] + data0 = [0, 4065, 4478, 4890, 5304, 5716, 6130, 6542, 6953, 7367, 7778, 8192, 8604, 9017, 9429, 9842, 10254, 10666, 11079, 11491, 11904, 12315, 12729, 13141, 13556, 13967, 14381, 14792, 15204, 15618, 16029, 16443, 16855, 17268, 17680, 18093, 18505, 18917, 19329, 19742, 20155, 20566, 20980, 21394, 21806, 22218, 22632, 23043, 23455, 23869, 24280] + hit0 = 1 + data1 = [0, 16265, 17914, 19565, 21213, 22864, 24513, 26164, 27815, 29464, 31115, 32765, 34415, 36065, 37714, 39365, 41014, 42665, 44316, 45965, 47615, 49265, 50916, 52565, 54215, 55864, 57515, 59166, 60816, 62466, 64115, 65766, 67416, 69065, 70714, 72365, 74016, 75667, 77316, 78965, 80616, 82266, 83916, 85565, 87215, 88866, 90517, 92167, 93815, 95466, 97117] + hit1 = 1 + CD = 1 + + def 等效CD(self, **argv): + return 1.0 + + +class 技能21(主动技能): + 名称 = "影缚追魂锁" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6000] + 无色消耗 = 7 + data0 = [0, 9351, 10300, 11249, 12198, 13148, 14095, 15044, 15993, 16942, 17892, 18841, 19788, 20737, 21686, 22636, 23585, 24532, 25481, 26430, 27380, 28329, 29276, 30225, 31174, 32124, 33073, 34020, 34969, 35918, 36868, 37817, 38764, 39713, 40663, 41612, 42561, 43510, 44457, 45407, 46356, 47305, 48254, 49201, 50151, 51100, 52049, 52998, 53945, 54895, 55844] + hit0 = 4 + data1 = [0, 149641, 164822, 180003, 195183, 210364, 225545, 240726, 255907, 271089, 286270, 301451, 316632, 331813, 346994, 362174, 377355, 392536, 407717, 422899, 438080, 453261, 468442, 483623, 498804, 513985, 529165, 544346, 559527, 574708, 589890, 605071, 620252, 635433, 650614, 665795, 680977, 696158, 711337, 726518, 741700, 756881, 772062, 787243, 802424, 817605, 832786, 847968, 863149, 878328, 893510] + hit1 = 1 + + +class 技能22(被动技能): + 名称 = '暗影禁忌' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "无间影狱·噬灭" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 15676, 19311, 22945, 26580, 30215, 33851, 37486, 41121, 44756, 48390, 52027, 55662, 59296, 62931, 66566, 70201, 73837, 77472, 81107, 84741, 88376, 92013, 95647, 99282, 102917, 106552, 110187, 113823, 117458, 121092, 124727, 128362, 131998, 135633, 139268, 142903, 146537, 150172, 153809, 157443, 161078, 164713, 168348, 171984, 175619, 179254, 182888, 186523, 190158, 193794] + hit0 = 3 + data1 = [0, 188114, 231735, 275355, 318976, 362596, 406218, 449839, 493460, 537080, 580701, 624321, 667943, 711564, 755184, 798805, 842426, 886046, 929668, 973289, 1016909, 1060530, 1104150, 1147771, 1191393, 1235014, 1278634, 1322255, 1365875, 1409496, 1453118, 1496738, 1540359, 1583979, 1627600, 1671221, 1714841, 1758463, 1802084, 1845704, 1889325, 1932945, 1976566, 2020188, 2063809, 2107429, 2151050, 2194670, 2238291, 2281913, 2325533] + hit1 = 1 + data2 = [0, 47027, 57933, 68838, 79744, 90648, 101554, 112460, 123364, 134270, 145174, 156080, 166985, 177891, 188795, 199701, 210605, 221511, 232417, 243321, 254227, 265132, 276038, 286942, 297848, 308752, 319658, 330563, 341468, 352373, 363279, 374185, 385089, 395995, 406899, 417805, 428710, 439615, 450520, 461426, 472330, 483236, 494140, 505046, 515952, 526857, 537762, 548667, 559573, 570477, 581383] + hit2 = 3 + data3 = [0, 94056, 115867, 137677, 159487, 181297, 203109, 224920, 246730, 268540, 290350, 312161, 333971, 355781, 377591, 399402, 421212, 443022, 464834, 486644, 508455, 530265, 552075, 573885, 595696, 617506, 639316, 661127, 682937, 704747, 726559, 748369, 770179, 791990, 813800, 835610, 857421, 879231, 901041, 922851, 944662, 966472, 988282, 1010094, 1031904, 1053715, 1075525, 1097335, 1119145, 1140956, 1162766] + hit3 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'shadow_dancer' + self.名称 = '隐夜·影舞者' + self.角色 = '暗夜使者' + + self.职业 = '影舞者' + self.武器选项 = ['匕首'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '匕首' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.03 + + super().__init__(equVersion) + + def 职业特殊计算(self): + # 二觉解放等级绑定 + 锁链 = self.get_skill_by_name('锁链') + 锁链.等级上限 = 50 + 锁链.等级 = self.get_skill_by_name('幽冥链狱:索命').等级 diff --git a/api/core/characters/skirmisher.py b/api/core/characters/skirmisher.py new file mode 100644 index 00000000..7638abdb --- /dev/null +++ b/api/core/characters/skirmisher.py @@ -0,0 +1,770 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 行云倍率 = 1 + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['基本攻击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '基本攻击' + 备注 = '一轮' + 是否主动 = 0 + 关联技能 = ['无'] + 所在等级 = 1 + 等级上限 = 1 + 学习间隔 = 2 # 实际没有间隔 + 等级精通 = 1 + # 平x第一击 + data0 = [int(i) for i in [235.924]] + hit0 = 1 + # 平x第二击 + data1 = [int(i) for i in [262.165]] + hit1 = 1 + # 平x第三击 + data2 = [int(i) for i in [296.684]] + hit2 = 1 + # 平x第四击 + data3 = [int(i) for i in [296.684]] + hit3 = 1 + TP成长 = 0.10 + TP上限 = 5 + CD = 1 # 也没有CD + + +class 技能2(主动技能): + 名称 = "刺击" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [6, 40] + 无色消耗 = 0 + data0 = [0, 2208, 2432, 2657, 2879, 3105, 3329, 3551, 3775, 4003, 4224, 4449, 4674, 4899, 5120, 5346, 5570, 5794, 6018, 6243, 6467, 6691, 6914, 7139, 7362, 7589, 7812, 8033, 8259, 8482, 8707, 8931, 9156, 9377, 9603, 9826, 10052, 10276, 10502, 10724, 10949, 11170, 11397, 11620, 11845, 12069, 12294, 12517, 12740, 12966, 13191, 13412, 13637, 13863, 14086, 14309, 14536, 14758, 14982, 15207, 15432, 15654, 15879, 16101, 16327, 16551, 16776, 16998, 17222, 17448, 17670] + hit0 = 1 + data1 = [0, 2443, 2688, 2939, 3185, 3435, 3681, 3927, 4176, 4423, 4673, 4919, 5167, 5417, 5664, 5912, 6158, 6407, 6654, 6901, 7152, 7399, 7645, 7892, 8143, 8390, 8638, 8886, 9134, 9381, 9629, 9877, 10125, 10372, 10620, 10869, 11116, 11364, 11610, 11860, 12106, 12357, 12603, 12850, 13098, 13345, 13595, 13842, 14090, 14338, 14583, 14833, 15080, 15329, 15576, 15825, 16072, 16320, 16567, 16814, 17063, 17310, 17561, 17807, 18053, 18302, 18549, 18800, 19047, 19295, 19543] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["枪尾", "枪身"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "枪尾": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "枪身": + self.hit0 = 0 + self.hit1 = 1 + + +class 技能3(主动技能): + 名称 = "落凤枪" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4.5 + MP = [12, 125] + 无色消耗 = 0 + data0 = [0, 2047, 2254, 2461, 2671, 2876, 3086, 3294, 3500, 3707, 3917, 4123, 4332, 4537, 4745, 4955, 5163, 5370, 5577, 5786, 5991, 6200, 6408, 6616, 6825, 7032, 7237, 7445, 7655, 7862, 8071, 8277, 8485, 8692, 8901, 9107, 9316, 9525, 9730, 9939, 10146, 10354, 10563, 10771, 10976, 11185, 11392, 11599, 11808, 12016, 12226, 12431, 12639, 12845, 13054, 13263, 13472, 13677, 13885, 14091, 14301, 14510, 14715, 14925, 15131, 15338, 15546, 15753, 15964, 16171, 16377] + hit0 = 1 + data1 = [0, 1102, 1213, 1326, 1434, 1546, 1661, 1770, 1884, 1995, 2106, 2221, 2332, 2444, 2553, 2664, 2779, 2890, 3002, 3113, 3225, 3336, 3448, 3563, 3671, 3784, 3897, 4008, 4121, 4232, 4342, 4456, 4568, 4678, 4790, 4901, 5015, 5128, 5238, 5350, 5463, 5574, 5686, 5797, 5908, 6023, 6134, 6244, 6356, 6469, 6581, 6693, 6807, 6915, 7027, 7140, 7251, 7364, 7474, 7587, 7701, 7812, 7922, 8034, 8144, 8258, 8371, 8482, 8594, 8704, 8817] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "扫堂枪" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [12, 120] + 无色消耗 = 0 + data0 = [0, 3942, 4341, 4743, 5142, 5543, 5944, 6343, 6744, 7143, 7542, 7944, 8343, 8746, 9142, 9545, 9946, 10344, 10745, 11145, 11546, 11947, 12345, 12746, 13146, 13544, 13946, 14345, 14748, 15144, 15547, 15947, 16347, 16747, 17147, 17547, 17949, 18346, 18748, 19148, 19548, 19948, 20348, 20747, 21149, 21547, 21950, 22347, 22749, 23150, 23549, 23949, 24349, 24750, 25150, 25549, 25950, 26348, 26749, 27150, 27550, 27948, 28349, 28749, 29152, 29548, 29951, 30350, 30752, 31151, 31551] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "行云:风" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [45, 234] + 无色消耗 = 0 + data0 = [0, 208, 230, 250, 273, 295, 314, 336, 358, 379, 399, 421, 442, 464, 486, 505, 527, 550, 571, 591, 613, 634, 656, 677, 697, 720, 741, 762, 782, 806, 825, 848, 866, 890, 912, 932, 954, 975, 996, 1017, 1039, 1058, 1081, 1103, 1123, 1145, 1166, 1187, 1208, 1229, 1251, 1272, 1293, 1315, 1338, 1357, 1379, 1401, 1422, 1443, 1464, 1485, 1507, 1529, 1548, 1570, 1593, 1613, 1634, 1655, 1676] + hit0 = 1 + data1 = [0, 349, 382, 418, 454, 489, 524, 561, 595, 630, 666, 699, 736, 770, 807, 842, 876, 913, 948, 982, 1019, 1054, 1090, 1124, 1160, 1196, 1232, 1265, 1301, 1338, 1370, 1406, 1443, 1477, 1513, 1548, 1584, 1618, 1655, 1690, 1724, 1761, 1795, 1831, 1867, 1902, 1938, 1971, 2008, 2045, 2076, 2113, 2149, 2183, 2218, 2255, 2291, 2325, 2361, 2396, 2431, 2468, 2502, 2538, 2573, 2609, 2644, 2678, 2715, 2751, 2783] + hit1 = 8 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '长枪精通' + 所在等级 = 15 + 等级上限 = 30 + 基础等级 = 20 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['流云幻灭', '极影无形杀', '问鼎·千军破云'] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 20: + return round(1 + 0.01 * self.等级, 5) + else: + return round(0.8 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.87 + + +class 技能7(主动技能): + 名称 = "双重刺击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [38, 290] + 无色消耗 = 0 + data0 = [0, 2649, 2919, 3188, 3458, 3725, 3995, 4263, 4533, 4803, 5070, 5339, 5609, 5877, 6146, 6416, 6683, 6955, 7223, 7490, 7759, 8030, 8297, 8567, 8834, 9106, 9375, 9642, 9912, 10181, 10452, 10718, 10987, 11257, 11525, 11794, 12063, 12333, 12602, 12871, 13138, 13409, 13676, 13945, 14217, 14484, 14754, 15021, 15292, 15561, 15830, 16096, 16368, 16635, 16905, 17173, 17442, 17712, 17981, 18248, 18519, 18789, 19056, 19325, 19594, 19863, 20132, 20401, 20670, 20939, 21206] + hit0 = 1 + data1 = [0, 2907, 3203, 3499, 3794, 4089, 4385, 4678, 4976, 5270, 5564, 5860, 6154, 6448, 6747, 7041, 7335, 7630, 7926, 8221, 8518, 8814, 9108, 9403, 9697, 9991, 10289, 10582, 10876, 11172, 11468, 11763, 12061, 12354, 12648, 12943, 13239, 13534, 13831, 14127, 14423, 14714, 15009, 15303, 15600, 15896, 16192, 16488, 16782, 17075, 17373, 17668, 17963, 18259, 18553, 18848, 19144, 19437, 19731, 20027, 20322, 20616, 20915, 21211, 21505, 21799, 22094, 22388, 22686, 22981, 23276] + hit1 = 1 + data2 = [0, 2944, 3241, 3542, 3842, 4140, 4440, 4739, 5036, 5336, 5635, 5934, 6230, 6529, 6827, 7128, 7429, 7727, 8024, 8323, 8622, 8922, 9220, 9518, 9816, 10117, 10418, 10716, 11013, 11313, 11611, 11910, 12209, 12506, 12805, 13105, 13403, 13704, 14002, 14301, 14599, 14898, 15197, 15497, 15795, 16094, 16392, 16691, 16989, 17290, 17588, 17888, 18185, 18482, 18783, 19082, 19381, 19679, 19977, 20275, 20577, 20877, 21175, 21472, 21772, 22070, 22370, 22668, 22966, 23264, 23563] + hit2 = 0 + data3 = [0, 3520, 3878, 4235, 4595, 4951, 5310, 5666, 6020, 6379, 6736, 7094, 7452, 7811, 8166, 8522, 8880, 9239, 9596, 9951, 10311, 10667, 11025, 11383, 11738, 12096, 12454, 12813, 13168, 13525, 13884, 14241, 14598, 14954, 15311, 15670, 16026, 16384, 16741, 17099, 17455, 17812, 18169, 18529, 18887, 19244, 19599, 19955, 20314, 20670, 21031, 21387, 21744, 22102, 22459, 22817, 23171, 23529, 23888, 24246, 24603, 24960, 25316, 25676, 26032, 26388, 26746, 27103, 27461, 27818, 28176] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["枪尾", "枪身"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "枪尾": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "枪身": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + + +class 技能8(主动技能): + 名称 = "行云:疾" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 220] + 无色消耗 = 0 + data0 = [0, 3758, 4142, 4524, 4905, 5285, 5667, 6049, 6432, 6811, 7194, 7574, 7956, 8337, 8719, 9100, 9482, 9866, 10245, 10628, 11009, 11389, 11771, 12153, 12534, 12915, 13297, 13678, 14060, 14442, 14822, 15205, 15587, 15970, 16350, 16732, 17114, 17494, 17876, 18258, 18638, 19018, 19401, 19782, 20164, 20545, 20927, 21309, 21692, 22071, 22454, 22835, 23218, 23597, 23980, 24362, 24743, 25124, 25506, 25886, 26268, 26651, 27032, 27413, 27796, 28175, 28558, 28939, 29321, 29702, 30084] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "行云:落" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [72, 380] + 无色消耗 = 0 + data0 = [0, 5552, 6115, 6680, 7241, 7804, 8367, 8932, 9495, 10060, 10622, 11185, 11748, 12313, 12876, 13438, 14001, 14565, 15127, 15689, 16256, 16819, 17382, 17944, 18508, 19071, 19635, 20199, 20761, 21324, 21886, 22452, 23016, 23578, 24142, 24704, 25268, 25832, 26394, 26958, 27520, 28084, 28648, 29211, 29775, 30337, 30901, 31464, 32028, 32591, 33153, 33716, 34279, 34845, 35409, 35971, 36533, 37096, 37662, 38225, 38787, 39350, 39913, 40477, 41040, 41606, 42167, 42730, 43294, 43858, 44421] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(被动技能): + 名称 = '行云:沐' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 10: + return round(1.05 + 0.01 * self.等级, 5) + else: + return round(0.95 + 0.02 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = "旋风枪" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [37, 370] + 无色消耗 = 0 + data0 = [0, 783, 863, 938, 1020, 1100, 1178, 1259, 1337, 1419, 1496, 1577, 1656, 1735, 1816, 1894, 1974, 2053, 2131, 2210, 2290, 2369, 2450, 2529, 2608, 2688, 2766, 2843, 2925, 3005, 3085, 3163, 3243, 3324, 3401, 3481, 3563, 3641, 3722, 3798, 3879, 3958, 4038, 4118, 4198, 4275, 4357, 4437, 4513, 4595, 4672, 4755, 4831, 4910, 4991, 5069, 5147, 5229, 5307, 5388, 5467, 5546, 5624, 5704, 5784, 5865, 5942, 6023, 6103, 6179, 6261] + hit0 = 11 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能12(主动技能): + 名称 = "无畏波动枪" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [91, 479] + 无色消耗 = 0 + data0 = [0, 2375, 2616, 2858, 3096, 3339, 3582, 3820, 4062, 4304, 4546, 4784, 5025, 5269, 5508, 5749, 5992, 6232, 6473, 6714, 6954, 7197, 7436, 7679, 7918, 8160, 8403, 8641, 8883, 9124, 9365, 9607, 9849, 10088, 10330, 10570, 10813, 11051, 11293, 11537, 11776, 12017, 12259, 12499, 12739, 12980, 13222, 13464, 13704, 13946, 14187, 14427, 14668, 14909, 15150, 15394, 15633, 15874, 16117, 16354, 16597, 16838, 17079, 17320, 17560, 17803, 18043, 18283, 18525, 18767, 19008] + hit0 = 1 + data1 = [0, 5703, 6280, 6859, 7436, 8016, 8593, 9174, 9751, 10330, 10908, 11486, 12066, 12644, 13222, 13801, 14379, 14956, 15539, 16117, 16691, 17272, 17850, 18429, 19008, 19586, 20165, 20742, 21321, 21899, 22478, 23056, 23637, 24214, 24791, 25370, 25948, 26528, 27106, 27684, 28263, 28842, 29420, 29999, 30579, 31158, 31736, 32313, 32892, 33469, 34049, 34627, 35205, 35783, 36361, 36940, 37521, 38099, 38676, 39256, 39833, 40412, 40990, 41571, 42147, 42726, 43304, 43882, 44461, 45041, 45620] + hit1 = 1 + data2 = [0, 2850, 3141, 3428, 3718, 4006, 4296, 4585, 4875, 5163, 5452, 5741, 6033, 6323, 6612, 6901, 7190, 7480, 7767, 8058, 8347, 8635, 8924, 9215, 9506, 9793, 10083, 10372, 10660, 10949, 11238, 11527, 11817, 12105, 12395, 12684, 12974, 13263, 13553, 13842, 14131, 14421, 14710, 14999, 15288, 15578, 15865, 16155, 16445, 16734, 17023, 17315, 17605, 17893, 18182, 18469, 18760, 19048, 19338, 19626, 19916, 20205, 20494, 20785, 21074, 21363, 21652, 21942, 22230, 22520, 22809] + hit2 = 0 + data3 = [0, 6649, 7326, 8002, 8677, 9351, 10027, 10702, 11375, 12051, 12727, 13403, 14076, 14750, 15424, 16101, 16775, 17451, 18127, 18802, 19474, 20150, 20825, 21501, 22175, 22851, 23527, 24199, 24874, 25550, 26225, 26900, 27576, 28248, 28924, 29599, 30276, 30949, 31625, 32300, 32971, 33648, 34324, 34998, 35672, 36349, 37025, 37698, 38372, 39048, 39724, 40399, 41074, 41748, 42424, 43097, 43771, 44448, 45124, 45798, 46471, 47147, 47823, 48497, 49173, 49848, 50523, 51197, 51873, 52545, 53222] + hit3 = 0 + data4 = [0, 1426, 1570, 1717, 1860, 2004, 2150, 2294, 2438, 2583, 2726, 2870, 3015, 3160, 3304, 3450, 3593, 3738, 3883, 4027, 4172, 4317, 4461, 4606, 4752, 4897, 5040, 5185, 5330, 5475, 5619, 5764, 5908, 6053, 6197, 6341, 6487, 6632, 6775, 6921, 7065, 7209, 7355, 7498, 7642, 7788, 7933, 8076, 8222, 8366, 8513, 8657, 8800, 8946, 9091, 9236, 9380, 9524, 9669, 9814, 9957, 10102, 10248, 10392, 10537, 10681, 10825, 10969, 11112, 11257, 11402] + hit4 = 0 + data5 = [0, 1613, 1779, 1944, 2106, 2270, 2433, 2598, 2764, 2924, 3091, 3254, 3418, 3582, 3746, 3911, 4074, 4238, 4402, 4566, 4728, 4893, 5058, 5220, 5385, 5547, 5711, 5876, 6040, 6204, 6366, 6533, 6697, 6860, 7025, 7189, 7352, 7515, 7680, 7843, 8007, 8171, 8334, 8499, 8663, 8827, 8990, 9154, 9318, 9482, 9647, 9808, 9974, 10139, 10302, 10467, 10630, 10793, 10957, 11122, 11287, 11451, 11613, 11776, 11942, 12104, 12268, 12433, 12596, 12759, 12924] + hit5 = 0 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["非抓", "抓地", "抓墙"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非抓": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.hit5 = 0 + if 形态 == "抓地": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 1 + self.hit5 = 0 + if 形态 == "抓墙": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 1 + self.hit4 = 0 + self.hit5 = 1 + + +class 技能13(主动技能): + 名称 = "螺旋波动枪" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [78, 800] + 无色消耗 = 0 + data0 = [0, 2776, 3055, 3339, 3621, 3900, 4184, 4463, 4744, 5028, 5307, 5589, 5874, 6154, 6437, 6718, 6999, 7281, 7563, 7843, 8126, 8406, 8688, 8970, 9253, 9532, 9816, 10096, 10376, 10660, 10940, 11221, 11505, 11786, 12066, 12349, 12631, 12913, 13195, 13474, 13758, 14038, 14318, 14602, 14883, 15163, 15447, 15727, 16007, 16291, 16574, 16855, 17137, 17418, 17700, 17980, 18263, 18544, 18825, 19107, 19389, 19669, 19952, 20233, 20515, 20795, 21076, 21359, 21639, 21922, 22205] + hit0 = 1 + data1 = [0, 4162, 4586, 5008, 5430, 5852, 6275, 6697, 7119, 7541, 7965, 8385, 8810, 9231, 9654, 10077, 10497, 10921, 11342, 11766, 12186, 12609, 13032, 13453, 13877, 14300, 14722, 15147, 15566, 15990, 16411, 16834, 17255, 17678, 18100, 18523, 18945, 19368, 19791, 20213, 20635, 21058, 21481, 21903, 22325, 22747, 23169, 23590, 24014, 24435, 24860, 25280, 25704, 26126, 26548, 26971, 27392, 27815, 28237, 28658, 29082, 29503, 29928, 30350, 30772, 31195, 31617, 32040, 32461, 32884, 33306] + hit1 = 1 + data2 = [0, 6937, 7642, 8347, 9050, 9753, 10455, 11161, 11865, 12569, 13273, 13975, 14682, 15386, 16088, 16793, 17498, 18201, 18905, 19610, 20311, 21015, 21719, 22423, 23130, 23834, 24537, 25242, 25944, 26647, 27351, 28056, 28761, 29465, 30167, 30872, 31574, 32280, 32984, 33688, 34392, 35097, 35799, 36504, 37208, 37910, 38615, 39317, 40022, 40726, 41432, 42136, 42841, 43544, 44247, 44951, 45654, 46358, 47061, 47767, 48472, 49173, 49881, 50584, 51286, 51990, 52693, 53400, 54104, 54807, 55509] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能14(主动技能): + 名称 = "升龙破空枪" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [115, 1150] + 无色消耗 = 1 + data0 = [0, 3755, 4136, 4519, 4901, 5281, 5661, 6043, 6423, 6804, 7184, 7569, 7948, 8331, 8711, 9091, 9471, 9853, 10235, 10614, 10997, 11377, 11761, 12142, 12521, 12902, 13284, 13665, 14044, 14427, 14810, 15190, 15572, 15951, 16333, 16713, 17095, 17475, 17858, 18238, 18620, 19002, 19382, 19762, 20145, 20526, 20907, 21286, 21668, 22049, 22430, 22812, 23192, 23575, 23954, 24336, 24716, 25099, 25477, 25862, 26242, 26623, 27004, 27387, 27766, 28148, 28528, 28910, 29289, 29673, 30052] + hit0 = 1 + data1 = [0, 5634, 6207, 6777, 7349, 7920, 8491, 9065, 9637, 10207, 10779, 11353, 11923, 12495, 13065, 13637, 14210, 14780, 15353, 15924, 16498, 17068, 17639, 18212, 18784, 19355, 19927, 20497, 21070, 21644, 22213, 22786, 23356, 23928, 24501, 25072, 25642, 26214, 26787, 27357, 27929, 28499, 29074, 29645, 30215, 30787, 31360, 31931, 32503, 33075, 33644, 34218, 34790, 35361, 35933, 36506, 37076, 37648, 38219, 38791, 39364, 39936, 40506, 41077, 41652, 42222, 42793, 43366, 43935, 44508, 45082] + hit1 = 1 + data2 = [0, 7682, 8461, 9243, 10022, 10799, 11582, 12359, 13142, 13920, 14700, 15480, 16257, 17038, 17817, 18597, 19376, 20156, 20936, 21715, 22495, 23275, 24052, 24834, 25612, 26393, 27172, 27950, 28731, 29511, 30290, 31072, 31851, 32629, 33409, 34188, 34968, 35748, 36527, 37306, 38086, 38865, 39646, 40425, 41203, 41983, 42764, 43543, 44325, 45102, 45881, 46662, 47441, 48221, 48999, 49779, 50559, 51339, 52118, 52900, 53676, 54457, 55237, 56017, 56794, 57575, 58354, 59133, 59915, 60694, 61472] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.19 + self.CDR *= 0.88 + + +class 技能15(主动技能): + 名称 = "狂龙怒啸" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [73, 890] + 无色消耗 = 1 + data0 = [0, 1106, 1220, 1332, 1446, 1559, 1671, 1783, 1896, 2007, 2122, 2235, 2348, 2457, 2572, 2684, 2796, 2906, 3022, 3134, 3245, 3360, 3472, 3583, 3696, 3810, 3922, 4036, 4147, 4258, 4372, 4483, 4596, 4710, 4822, 4933, 5046, 5160, 5271, 5384, 5498, 5611, 5723, 5835, 5948, 6059, 6172, 6285, 6397, 6510, 6622, 6734, 6847, 6962, 7072, 7184, 7299, 7410, 7523, 7638, 7747, 7860, 7973, 8086, 8197, 8310, 8422, 8537, 8648, 8760, 8873] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.1*1.08 + self.CDR *= 0.76 + + +class 技能16(主动技能): + 名称 = "夺命雷霆枪" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [375, 3200] + 无色消耗 = 2 + data0 = [0, 1296, 1430, 1561, 1693, 1825, 1954, 2088, 2222, 2352, 2484, 2615, 2747, 2879, 3009, 3142, 3273, 3406, 3536, 3669, 3800, 3932, 4066, 4197, 4328, 4462, 4590, 4724, 4856, 4985, 5119, 5248, 5381, 5514, 5644, 5778, 5910, 6040, 6173, 6305, 6436, 6567, 6698, 6830, 6963, 7092, 7226, 7358, 7490, 7622, 7755, 7885, 8018, 8149, 8279, 8411, 8542, 8675, 8808, 8938, 9069, 9204, 9334, 9466, 9599, 9729, 9861, 9993, 10123, 10257, 10386] + hit0 = 0 + data1 = [0, 1296, 1430, 1561, 1693, 1825, 1954, 2088, 2222, 2352, 2484, 2615, 2747, 2879, 3009, 3142, 3273, 3406, 3536, 3669, 3800, 3932, 4066, 4197, 4328, 4462, 4590, 4724, 4856, 4985, 5119, 5248, 5381, 5514, 5644, 5778, 5910, 6040, 6173, 6305, 6436, 6567, 6698, 6830, 6963, 7092, 7226, 7358, 7490, 7622, 7755, 7885, 8018, 8149, 8279, 8411, 8542, 8675, 8808, 8938, 9069, 9204, 9334, 9466, 9599, 9729, 9861, 9993, 10123, 10257, 10386] + hit1 = 15 + data2 = [0, 235, 259, 283, 308, 331, 356, 380, 402, 427, 450, 475, 497, 521, 548, 572, 596, 619, 643, 667, 691, 714, 738, 761, 786, 810, 835, 860, 882, 906, 930, 953, 979, 1002, 1027, 1049, 1073, 1097, 1121, 1144, 1170, 1193, 1219, 1242, 1266, 1289, 1313, 1337, 1361, 1384, 1409, 1432, 1458, 1483, 1503, 1529, 1553, 1576, 1601, 1624, 1650, 1672, 1695, 1719, 1743, 1770, 1792, 1816, 1841, 1865, 1890] + hit2 = 15 + data3 = [0, 14165, 15603, 17040, 18477, 19915, 21352, 22787, 24227, 25664, 27099, 28537, 29975, 31411, 32849, 34286, 35721, 37162, 38598, 40033, 41474, 42910, 44345, 45784, 47221, 48656, 50095, 51533, 52969, 54406, 55844, 57281, 58718, 60155, 61593, 63030, 64468, 65903, 67340, 68778, 70215, 71652, 73089, 74527, 75964, 77401, 78838, 80277, 81712, 83149, 84588, 86023, 87459, 88900, 90335, 91771, 93212, 94646, 96084, 97523, 98957, 100396, 101835, 103269, 104707, 106146, 107581, 109019, 110455, 111893, 113331] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["枪尾", "枪身"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "枪尾": + self.power0 = 0 + self.power1 = 1 + self.power2 = 1 + if 形态 == "枪身": + self.power0 = 1 + self.power1 = 0 + self.power2 = 0 + def 装备护石(self, char): + self.power3 = 1.86 + + +class 技能17(被动技能): + 名称 = '行云:启' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['基本攻击', '刺击', '落凤枪', '扫堂枪', '双重刺击', '旋风枪', '无畏波动枪', '螺旋波动枪', '升龙破空枪', '狂龙怒啸', + '夺命雷霆枪', '流云幻灭', '风火燎原', '三一斩月', '无双突刺', '流光无影闪', '极影无形杀', '双龙流云灭', '问鼎·千军破云'] + 关联技能1 = ['行云:风'] + 关联技能2 = ['行云:疾'] + 关联技能3 = ['行云:落'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.06 + 0.015 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.095 + 0.015 * self.等级, 5) + + def 加成倍率2(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.080 + 0.015 * self.等级, 5) + + def 加成倍率3(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.075 + 0.015 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "流云幻灭" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 1523, 1879, 2232, 2585, 2936, 3290, 3643, 3996, 4351, 4705, 5058, 5412, 5765, 6119, 6471, 6826, 7178, 7531, 7887, 8240, 8594, 8948, 9300, 9652, 10005, 10361, 10714, 11068, 11422, 11775, 12128, 12481, 12837, 13187, 13539, 13895, 14248, 14602, 14955, 15309, 15662, 16014, 16370, 16722, 17076, 17430, 17784, 18136, 18489, 18845] + hit0 = 1 + data1 = [0, 3809, 4694, 5578, 6460, 7346, 8227, 9113, 9997, 10879, 11765, 12646, 13531, 14414, 15299, 16183, 17066, 17948, 18833, 19717, 20601, 21482, 22367, 23252, 24134, 25018, 25900, 26786, 27669, 28553, 29437, 30324, 31203, 32087, 32972, 33856, 34741, 35622, 36507, 37390, 38274, 39159, 40040, 40926, 41808, 42692, 43575, 44459, 45344, 46227, 47111] + hit1 = 1 + data2 = [0, 4573, 5632, 6693, 7754, 8814, 9874, 10935, 11994, 13054, 14117, 15175, 16237, 17298, 18360, 19419, 20480, 21538, 22599, 23659, 24721, 25780, 26841, 27902, 28961, 30020, 31083, 32144, 33203, 34265, 35325, 36386, 37445, 38506, 39566, 40627, 41687, 42747, 43808, 44870, 45927, 46988, 48050, 49111, 50170, 51231, 52293, 53352, 54412, 55472, 56534] + hit2 = 1 + data3 = [0, 5335, 6571, 7809, 9046, 10283, 11518, 12758, 13993, 15231, 16468, 17705, 18942, 20179, 21418, 22655, 23892, 25128, 26365, 27602, 28839, 30079, 31316, 32552, 33790, 35027, 36263, 37501, 38738, 39977, 41213, 42450, 43687, 44924, 46161, 47398, 48636, 49872, 51110, 52346, 53583, 54820, 56057, 57296, 58533, 59771, 61007, 62244, 63480, 64718, 65954] + hit3 = 1 + data4 = [0, 6097, 7512, 8922, 10338, 11752, 13168, 14579, 15994, 17408, 18821, 20236, 21649, 23063, 24479, 25891, 27305, 28720, 30133, 31547, 32961, 34374, 35787, 37204, 38614, 40030, 41445, 42857, 44272, 45685, 47099, 48515, 49926, 51341, 52754, 54169, 55583, 56997, 58410, 59825, 61238, 62653, 64066, 65481, 66894, 68309, 69720, 71137, 72550, 73965, 75377] + hit4 = 1 + data5 = [0, 2285, 2815, 3346, 3878, 4405, 4937, 5467, 5995, 6528, 7056, 7588, 8118, 8648, 9179, 9708, 10239, 10771, 11299, 11828, 12361, 12889, 13419, 13950, 14480, 15011, 15542, 16072, 16602, 17132, 17664, 18190, 18722, 19253, 19782, 20313, 20842, 21373, 21904, 22434, 22963, 23496, 24024, 24556, 25085, 25614, 26147, 26675, 27206, 27737, 28267] + hit5 = 3 + data6 = [0, 6858, 8450, 10040, 11632, 13221, 14812, 16404, 17992, 19583, 21174, 22765, 24355, 25947, 27538, 29127, 30718, 32309, 33899, 35489, 37082, 38673, 40263, 41854, 43444, 45034, 46625, 48216, 49806, 51396, 52989, 54577, 56167, 57760, 59350, 60939, 62530, 64122, 65710, 67301, 68893, 70486, 72075, 73667, 75258, 76848, 78437, 80029, 81619, 83209, 84801] + hit6 = 1 + data7 = [0, 7621, 9389, 11155, 12924, 14688, 16458, 18224, 19993, 21759, 23528, 25295, 27061, 28828, 30597, 32365, 34132, 35900, 37666, 39434, 41202, 42969, 44735, 46501, 48270, 50037, 51805, 53573, 55340, 57108, 58875, 60642, 62408, 64177, 65944, 67713, 69477, 71246, 73013, 74783, 76549, 78317, 80083, 81852, 83618, 85386, 87152, 88921, 90689, 92455, 94222] + hit7 = 1 + data8 = [0, 38111, 46946, 61359, 71082, 80800, 90521, 100241, 109964, 119682, 129404, 139125, 148845, 158566, 168285, 178005, 187728, 197448, 207170, 216887, 226612, 236329, 246049, 255772, 265490, 275214, 284933, 294652, 304374, 314094, 323816, 333535, 343256, 352979, 362697, 372418, 382138, 391860, 401579, 411301, 421020, 430743, 440463, 450181, 459903, 469624, 479344, 489066, 498784, 508509, 518226] + hit8 = 1 + + +class 技能19(主动技能): + 名称 = "风火燎原" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [500, 1300] + 无色消耗 = 1 + data0 = [0, 2003, 2206, 2411, 2613, 2817, 3020, 3223, 3426, 3630, 3833, 4037, 4239, 4442, 4645, 4848, 5052, 5256, 5460, 5662, 5865, 6069, 6272, 6476, 6680, 6883, 7084, 7289, 7493, 7695, 7899, 8102, 8305, 8509, 8713, 8916, 9118, 9322, 9526, 9729, 9931, 10133, 10337, 10539, 10744, 10946, 11150, 11353, 11556, 11758, 11963] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 30 + self.倍率 *= 0.91 + + +class 技能20(主动技能): + 名称 = "三一斩月" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [770, 1800] + 无色消耗 = 2 + data0 = [0, 1108, 1220, 1332, 1444, 1556, 1668, 1782, 1895, 2007, 2119, 2232, 2344, 2457, 2571, 2682, 2794, 2907, 3019, 3130, 3243, 3357, 3470, 3582, 3694, 3806, 3916, 4031, 4142, 4258, 4370, 4481, 4591, 4704, 4816, 4929, 5044, 5156, 5268, 5380, 5491, 5603, 5715, 5831, 5943, 6055, 6167, 6279, 6393, 6504, 6618] + hit0 = 1 + data1 = [0, 6788, 7477, 8164, 8852, 9542, 10230, 10920, 11610, 12298, 12985, 13675, 14363, 15052, 15741, 16430, 17117, 17807, 18495, 19184, 19874, 20562, 21250, 21940, 22628, 23317, 24005, 24696, 25383, 26072, 26760, 27449, 28137, 28826, 29514, 30204, 30892, 31580, 32269, 32958, 33645, 34337, 35024, 35712, 36401, 37090, 37778, 38468, 39155, 39846, 40535] + hit1 = 8 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能21(主动技能): + 名称 = "无双突刺" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 33 + MP = [783, 3154] + 无色消耗 = 3 + data0 = [0, 5035, 5547, 6056, 6567, 7080, 7590, 8100, 8613, 9122, 9633, 10144, 10654, 11168, 11678, 12187, 12700, 13210, 13722, 14231, 14742, 15254, 15765, 16276, 16786, 17299, 17808, 18319, 18830, 19342, 19850, 20364, 20873, 21386, 21895, 22407, 22917, 23428, 23938, 24451, 24964, 25471, 25984, 26494, 27003, 27516, 28026, 28538, 29051, 29558, 30072] + hit0 = 2 + data1 = [0, 31767, 34988, 38212, 41435, 44658, 47881, 51103, 54324, 57548, 60770, 63993, 67216, 70439, 73660, 76886, 80108, 83329, 86553, 89775, 92998, 96222, 99444, 102666, 105888, 109111, 112334, 115558, 118780, 122003, 125227, 128445, 131670, 134894, 138116, 141339, 144562, 147784, 151006, 154232, 157453, 160675, 163897, 167120, 170343, 173568, 176791, 180014, 183234, 186457, 189680] + hit1 = 0 + data2 = [0, 35642, 39255, 42871, 46487, 50104, 53720, 57334, 60951, 64566, 68182, 71798, 75415, 79029, 82645, 86262, 89877, 93492, 97107, 100725, 104340, 107954, 111570, 115186, 118803, 122418, 126035, 129653, 133265, 136881, 140498, 144112, 147727, 151345, 154962, 158576, 162191, 165807, 169424, 173038, 176655, 180272, 183885, 187501, 191118, 194734, 198349, 201965, 205582, 209198, 212811] + hit2 = 2 + + 是否有护石 = 1 + + 形态 = ["枪尾", "枪身"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "枪尾": + self.hit0 = 2 + self.hit1 = 0 + self.hit2 = 2 + if 形态 == "枪身": + self.hit0 = 2 + self.hit1 = 2 + self.hit2 = 0 + + def 装备护石(self, char): + self.power0 = 0 + self.power1 = 1.45 + self.power2 = 1.45 + self.CDR *= 0.9 + + +class 技能22(被动技能): + 名称 = '行云:冥' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['基本攻击', '落凤枪', '扫堂枪', '旋风枪', '无畏波动枪', '螺旋波动枪', '升龙破空枪', '狂龙怒啸', + '夺命雷霆枪', '流云幻灭', '风火燎原', '三一斩月', '无双突刺', '流光无影闪', '极影无形杀', '双龙流云灭', '问鼎·千军破云'] + 行云技能 = ['基本攻击','行云:风', '行云:疾', '行云:落', '刺击', '双重刺击'] + 额外倍率 = 1.0 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.16 + 0.02 * self.等级, 5) + + def 行云倍率(self): + if self.等级 == 0: + return 1.0 + else: + return round(1+ (0.17 + 0.02 * self.等级), 5) + + + +class 技能23(主动技能): + 名称 = "流光无影闪" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 44 + MP = [550, 4600] + 无色消耗 = 5 + data0 = [0, 8531, 9400, 10264, 11129, 11996, 12861, 13726, 14594, 15457, 16324, 17191, 18054, 18922, 19786, 20652, 21519, 22383, 23248, 24116, 24979, 25848, 26713, 27577, 28445, 29309, 30174, 31041, 31907, 32771, 33639, 34505, 35367, 36235, 37102, 37967, 38832, 39697, 40564, 41431, 42293, 43161, 44027, 44890, 45758, 46625, 47489, 48355, 49221, 50086, 50953] + hit0 = 1 + data1 = [0, 86281, 95034, 103789, 112541, 121295, 130048, 138799, 147556, 156308, 165059, 173815, 182567, 191320, 200074, 208826, 217581, 226334, 235088, 243840, 252592, 261348, 270099, 278853, 287607, 296359, 305115, 313866, 322620, 331374, 340126, 348881, 357633, 366385, 375141, 383892, 392644, 401399, 410153, 418906, 427659, 436412, 445164, 453919, 462673, 471426, 480179, 488932, 497685, 506440, 515191] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.2*1.14 + self.CDR *= 0.88 + + +class 技能24(主动技能): + 名称 = "极影无形杀" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2600, 5300] + 无色消耗 = 10 + data0 = [0, 20660, 25451, 30241, 35032, 39823, 44616, 49407, 54198, 58989, 63780, 68570, 73361, 78153, 82942, 87733, 92524, 97314, 102106, 106895, 111688, 116480, 121272, 126062, 130854, 135643, 140435, 145226, 150018, 154807, 159597, 164389, 169181, 173974, 178764, 183554, 188345, 193137, 197927, 202719, 207507, 212299, 217089, 221881, 226674, 231466, 236254, 241044, 245836, 250627, 255420] + hit0 = 1 + data1 = [0, 11477, 14139, 16802, 19462, 22123, 24786, 27448, 30109, 32770, 35431, 38095, 40756, 43415, 46078, 48741, 51404, 54062, 56725, 59388, 62050, 64709, 67373, 70035, 72697, 75356, 78018, 80680, 83342, 86006, 88667, 91327, 93990, 96652, 99312, 101973, 104635, 107297, 109959, 112621, 115280, 117944, 120605, 123268, 125930, 128592, 131252, 133913, 136577, 139237, 141897] + hit1 = 7 + data2 = [0, 4590, 5655, 6721, 7786, 8850, 9916, 10978, 12043, 13107, 14172, 15235, 16302, 17365, 18433, 19496, 20561, 21623, 22689, 23753, 24819, 25883, 26948, 28013, 29079, 30143, 31209, 32272, 33336, 34400, 35466, 36528, 37595, 38658, 39726, 40788, 41853, 42919, 43983, 45047, 46112, 47177, 48240, 49307, 50371, 51436, 52501, 53566, 54630, 55696, 56759] + hit2 = 17 + data3 = [0, 50504, 62214, 73927, 85636, 97350, 109062, 120771, 132484, 144193, 155905, 167617, 179328, 191041, 202751, 214462, 226175, 237885, 249596, 261308, 273020, 284731, 296442, 308154, 319864, 331577, 343285, 354997, 366711, 378418, 390132, 401843, 413553, 425264, 436977, 448688, 460398, 472112, 483821, 495533, 507245, 518956, 530667, 542377, 554089, 565802, 577512, 589225, 600936, 612646, 624358] + hit3 = 1 + + +class 技能25(主动技能): + 名称 = "双龙流云灭" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 52978, 58351, 63726, 69100, 74474, 79849, 85223, 90597, 95973, 101348, 106723, 112097, 117473, 122847, 128221, 133595, 138970, 144344, 149718, 155093, 160467, 165843, 171218, 176591, 181966, 187341, 192716, 198090, 203465, 208840, 214214, 219588, 224964, 230336, 235710, 241087, 246461, 251834, 257209, 262584, 267960, 273334, 278708, 284083, 289457, 294833, 300208, 305580, 310957, 316329] + hit0 = 1 + data1 = [0, 8830, 9725, 10622, 11517, 12412, 13308, 14204, 15102, 15995, 16891, 17787, 18682, 19580, 20476, 21371, 22265, 23162, 24057, 24951, 25850, 26745, 27641, 28535, 29432, 30328, 31225, 32119, 33015, 33911, 34805, 35702, 36598, 37494, 38389, 39284, 40181, 41077, 41973, 42869, 43764, 44658, 45556, 46451, 47347, 48244, 49138, 50034, 50930, 51827, 52722] + hit1 = 2 + data2 = [0, 52978, 58351, 63726, 69100, 74474, 79849, 85223, 90597, 95973, 101348, 106723, 112097, 117473, 122847, 128221, 133595, 138970, 144344, 149718, 155093, 160467, 165843, 171218, 176591, 181966, 187341, 192716, 198090, 203465, 208840, 214214, 219588, 224964, 230336, 235710, 241087, 246461, 251834, 257209, 262584, 267960, 273334, 278708, 284083, 289457, 294833, 300208, 305580, 310957, 316329] + hit2 = 2 + + +class 技能26(被动技能): + 名称 = '一身是胆' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能27(主动技能): + 名称 = "问鼎·千军破云" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 69498, 85616, 101729, 117847, 133962, 150080, 166193, 182309, 198426, 214541, 230657, 246773, 262890, 279006, 295120, 311235, 327353, 343466, 359583, 375699, 391816, 407930, 424046, 440163, 456277, 472394, 488510, 504627, 520741, 536857, 552974, 569088, 585205, 601320, 617438, 633551, 649668, 665784, 681899, 698015, 714132, 730248, 746363, 762478, 778592, 794711, 810824, 826942, 843057, 859174] + hit0 = 1 + data1 = [0, 41698, 51368, 61037, 70707, 80377, 90047, 99718, 109384, 119054, 128724, 138396, 148065, 157735, 167404, 177073, 186741, 196412, 206081, 215751, 225420, 235090, 244758, 254429, 264097, 273768, 283437, 293105, 302775, 312444, 322114, 331784, 341453, 351123, 360792, 370460, 380132, 389801, 399471, 409140, 418810, 428478, 438149, 447817, 457488, 467156, 476827, 486494, 496165, 505834, 515504] + hit1 = 5 + data2 = [0, 104249, 128422, 152595, 176770, 200944, 225119, 249291, 273465, 297638, 321811, 345986, 370160, 394333, 418506, 442679, 466855, 491026, 515201, 539376, 563548, 587723, 611896, 636070, 660242, 684416, 708591, 732766, 756937, 781112, 805287, 829460, 853634, 877807, 901981, 926153, 950328, 974502, 998677, 1022848, 1047023, 1071199, 1095370, 1119544, 1143717, 1167892, 1192063, 1216239, 1240412, 1264585, 1288758] + hit2 = 4 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'skirmisher' + self.名称 = '千魂·决战者' + self.角色 = '魔枪士' + self.角色类型 = '输出' + self.职业 = '决战者' + + self.武器选项 = ['长枪'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '长枪' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if type == "all" and min == 75 and i.名称 == '行云:冥': + i.额外倍率 *= (1 + x * self.技能伤害增加增幅) + + def 职业特殊计算(self): + 行云 = self.get_skill_by_name('行云:冥') + temp = [0] * len(行云.行云技能) + for i in range(len(temp)-1): + temp[i] = 行云.行云技能[i]+',' + temp[len(temp)-1] = 行云.行云技能[len(temp)-1] + self.skills_passive['行云:冥']['info'] = [{ + "type": "倍率", + "info": [round((行云.行云倍率() - 1) * 100, 0), "".join(temp), '无'] + }, + ] + + def 伤害指数计算(self): + 被动 = self.get_skill_by_name('行云:冥') + for i in self.技能栏: + if i.名称 in 被动.行云技能: + i.行云倍率 = 1 / i.技攻 * (1 + i.技攻 - 1 + (被动.行云倍率() - 1) * (被动.额外倍率)) + i.倍率 *= i.行云倍率 + + super().伤害指数计算() + + def set_individuation(self, info): + info['char_optiopns'] = [] + info['char_optiopns'].append({ + "name": '[行云:冥]', + "option": ["统计整合","统计拆分"] + }) + + + def 伤害计算(self): + data = super().伤害计算() + # 拆分统计 + if self.get_individuation(0) == 1: + 被动伤害 = 0 + 行云 = self.get_skill_by_name('行云:冥') + for skill in 行云.行云技能: + detail = data['skills'].get(skill,None) + if detail is not None: + 行云倍率 = self.get_skill_by_name(skill).行云倍率 + detail['damage'] /= 行云倍率 + detail['atk_rate'] /= 行云倍率 + 被动伤害 += detail['damage'] * (行云倍率-1) + if 被动伤害 > 0: + data['skills']['行云:冥'] = { + 'name': '行云:冥', + 'rate': 1.0, + 'cd': 1.0, + 'mp': 0, + 'damage': 被动伤害, + 'count': 1, + 'level': 行云.等级, + 'cosume_cube_frag': 0, + 'cd_o': 1.0, + 'atk_rate': 1.0 + } + return data \ No newline at end of file diff --git a/api/core/characters/sorceress.py b/api/core/characters/sorceress.py new file mode 100644 index 00000000..47a2acd6 --- /dev/null +++ b/api/core/characters/sorceress.py @@ -0,0 +1,496 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 关联技能 = ['念珠连射'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '罪业加身' + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 252] + data0 = [0, 3269, 3603, 3936, 4266, 4597, 4928, 5262, 5594, 5927, 6257, 6588, 6920, 7252, 7584, 7916, 8246, 8579, 8913, 9243, 9578, 9908, 10237, 10573, 10904, 11235, 11566, 11900, 12230, 12563, 12894, 13226, 13556, 13890, 14222, 14553, 14887, 15216, 15549, 15880, 16214, 16548, 16877, 17209, 17541, 17873, 18203, 18536, 18868, 19200, 19534, 19862, 20194, 20525, 20859, 21191, 21523, 21854, 22184, 22516, 22850, 23182, 23514, 23846, 24177, 24512, 24841, 25175, 25505, 25835, 26170] + hit0 = 1 + CD = 6.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "唤雷符" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 3033, 3340, 3649, 3958, 4266, 4574, 4882, 5191, 5498, 5808, 6115, 6419, 6729, 7039, 7347, 7652, 7964, 8269, 8578, 8885, 9190, 9502, 9809, 10117, 10424, 10733, 11042, 11350, 11656, 11967, 12274, 12580, 12888, 13198, 13507, 13815, 14120, 14428, 14737, 15044, 15351, 15658, 15967, 16277, 16584, 16894, 17200, 17510, 17817, 18124, 18431, 18740, 19047, 19357, 19663, 19970, 20282, 20589, 20894, 21204, 21511, 21819, 22127, 22435, 22742, 23053, 23360, 23668, 23975, 24285] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = '念珠连射' + 备注 = '(TP为基础精通)' + 所在等级 = 15 + 等级上限 = 1 + 基础等级 = 1 + MP = [1, 1] + # 计算得出的百分比 + data0 = [0, 1.085*132.41] + hit0 = 6 + CD = 0.7 + TP成长 = 0.10 + TP上限 = 5 + + +class 技能4(主动技能): + 名称 = "木槵子经" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 438, 484, 531, 576, 619, 663, 710, 754, 799, 844, 888, 932, 979, 1021, 1068, 1112, 1158, 1202, 1247, 1292, 1335, 1382, 1426, 1472, 1515, 1561, 1607, 1650, 1695, 1741, 1784, 1830, 1873, 1921, 1965, 2008, 2054, 2096, 2143, 2189, 2233, 2277, 2322, 2368, 2411, 2456, 2502, 2548, 2590, 2636, 2680, 2727, 2771, 2816, 2859, 2906, 2951, 2994, 3039, 3084, 3131, 3175, 3219, 3266, 3309, 3354, 3397, 3445, 3489, 3532] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "束灵符" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [40, 300] + 无色消耗 = 0 + data0 = [0, 4152, 4571, 4995, 5416, 5836, 6259, 6678, 7101, 7523, 7942, 8363, 8785, 9207, 9627, 10049, 10471, 10891, 11313, 11734, 12154, 12577, 12999, 13420, 13841, 14262, 14684, 15105, 15524, 15948, 16370, 16789, 17211, 17631, 18053, 18476, 18895, 19319, 19738, 20160, 20582, 21002, 21425, 21846, 22267, 22687, 23110, 23530, 23953, 24371, 24795, 25218, 25636, 26058, 26477, 26901, 27322, 27743, 28164, 28585, 29008, 29428, 29849, 30272, 30693, 31113, 31535, 31955, 32379, 32800, 33219] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "驱邪咒" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 715, 791, 862, 935, 1006, 1081, 1153, 1225, 1300, 1371, 1445, 1516, 1591, 1663, 1734, 1811, 1884, 1953, 2026, 2102, 2171, 2247, 2320, 2392, 2463, 2535, 2612, 2683, 2754, 2826, 2903, 2974, 3048, 3121, 3192, 3266, 3337, 3412, 3484, 3556, 3630, 3704, 3774, 3847, 3923, 3993, 4066, 4138, 4212, 4284, 4357, 4430, 4503, 4575, 4647, 4723, 4794, 4868, 4940, 5014, 5086, 5157, 5231, 5304, 5374, 5449, 5524, 5594, 5667, 5742] + hit0 = 15 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '祈雨祭' + 所在等级 = 25 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能8(主动技能): + 名称 = "和合之玉" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [150, 420] + 无色消耗 = 0 + data0 = [0, 6471, 7128, 7784, 8440, 9098, 9755, 10410, 11067, 11723, 12380, 13037, 13693, 14349, 15007, 15663, 16321, 16977, 17631, 18290, 18946, 19604, 20260, 20916, 21574, 22229, 22886, 23544, 24198, 24855, 25512, 26170, 26825, 27482, 28139, 28794, 29453, 30109, 30763, 31421, 32078, 32736, 33391, 34047, 34706, 35362, 36018, 36675, 37331, 37988, 38644, 39301, 39959, 40614, 41271, 41928, 42584, 43240, 43897, 44554, 45209, 45868, 46524, 47179, 47837, 48494, 49152, 49806, 50462, 51121, 51776] + hit0 = 1 + data1 = [0, 2771, 3054, 3336, 3616, 3899, 4179, 4461, 4741, 5023, 5306, 5586, 5868, 6149, 6431, 6714, 6992, 7275, 7556, 7837, 8120, 8401, 8684, 8962, 9244, 9526, 9808, 10088, 10370, 10652, 10934, 11214, 11496, 11777, 12059, 12339, 12622, 12903, 13186, 13466, 13746, 14029, 14310, 14590, 14873, 15154, 15437, 15716, 15998, 16279, 16560, 16843, 17124, 17406, 17686, 17968, 18250, 18531, 18812, 19094, 19375, 19656, 19938, 20220, 20501, 20782, 21062, 21345, 21627, 21909, 22190] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(被动技能): + 名称 = '神术强化' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 <= 10: + return round(1.05 + 0.015 * self.等级, 5) + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能10(主动技能): + 名称 = "聚魂吸星符" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [200, 850] + 无色消耗 = 1 + data0 = [0, 596, 659, 716, 780, 838, 901, 963, 1024, 1084, 1145, 1207, 1264, 1328, 1385, 1448, 1508, 1569, 1629, 1692, 1750, 1813, 1872, 1934, 1994, 2056, 2115, 2176, 2237, 2298, 2358, 2420, 2480, 2541, 2601, 2662, 2723, 2784, 2843, 2906, 2964, 3027, 3087, 3148, 3208, 3271, 3329, 3392, 3451, 3513, 3573, 3635, 3694, 3756, 3817, 3877, 3939, 3998, 4060, 4120, 4181, 4242, 4302, 4363, 4423, 4485, 4545, 4606, 4667, 4728, 4788] + hit0 = 19 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 22 + self.倍率 *= 1.19 + self.CDR *= 0.95 + + +class 技能11(主动技能): + 名称 = "龙魂之怒" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [250, 1260] + 无色消耗 = 1 + data0 = [0, 16055, 17687, 19314, 20944, 22571, 24201, 25831, 27461, 29087, 30718, 32346, 33975, 35605, 37233, 38863, 40491, 42118, 43749, 45378, 47007, 48638, 50266, 51895, 53522, 55153, 56783, 58409, 60039, 61670, 63297, 64927, 66555, 68184, 69815, 71443, 73070, 74700, 76330, 77960, 79589, 81217, 82848, 84474, 86104, 87734, 89361, 90991, 92621, 94249, 95877, 97508, 99136, 100766, 102395, 104022, 105652, 107282, 108911, 110541, 112168, 113798, 115426, 117054, 118685, 120312, 121944, 123573, 125200, 126829, 128460] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能12(主动技能): + 名称 = "百八念珠" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [250, 1260] + 无色消耗 = 1 + data0 = [0, 1213, 1337, 1461, 1584, 1707, 1828, 1952, 2075, 2200, 2323, 2444, 2570, 2691, 2816, 2939, 3062, 3182, 3307, 3430, 3555, 3677, 3801, 3922, 4047, 4168, 4294, 4417, 4536, 4664, 4785, 4910, 5034, 5156, 5281, 5403, 5526, 5647, 5773, 5897, 6017, 6142, 6265, 6390, 6512, 6636, 6755, 6879, 7002, 7127, 7249, 7374, 7495, 7622, 7741, 7866, 7987, 8111, 8233, 8359, 8482, 8605, 8730, 8851, 8973, 9100, 9221, 9345, 9469, 9591, 9715] + hit0 = 20 + data1 = [0, 1511, 1665, 1821, 1973, 2127, 2278, 2433, 2587, 2739, 2895, 3046, 3201, 3356, 3509, 3662, 3814, 3969, 4122, 4277, 4429, 4583, 4734, 4890, 5043, 5198, 5351, 5504, 5656, 5812, 5967, 6117, 6269, 6425, 6578, 6734, 6888, 7039, 7191, 7347, 7501, 7654, 7808, 7959, 8112, 8267, 8423, 8575, 8730, 8882, 9036, 9189, 9342, 9495, 9650, 9803, 9957, 10108, 10265, 10417, 10570, 10725, 10878, 11031, 11186, 11339, 11491, 11643, 11799, 11955, 12107] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + power0 = 1 + power1 = 1 + 是否有护石 = 1 + + 形态 = ["单体", "范围"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "单体": + self.hit0 = 20 + self.hit1 = 0 + if 形态 == "范围": + self.hit0 = 0 + self.hit1 = 10 + + def 装备护石(self, char): + self.power0 = 1.27 + self.power1 = 1.14 + self.CDR *= 0.83 + + +class 技能13(主动技能): + 名称 = "不动珠箔阵" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [250, 2500] + 无色消耗 = 2 + data0 = [0, 752, 826, 904, 980, 1058, 1135, 1211, 1288, 1362, 1440, 1516, 1593, 1670, 1747, 1820, 1899, 1973, 2052, 2128, 2203, 2279, 2356, 2433, 2510, 2586, 2662, 2739, 2815, 2892, 2968, 3046, 3120, 3198, 3274, 3350, 3426, 3505, 3578, 3656, 3733, 3808, 3884, 3963, 4038, 4114, 4192, 4267, 4344, 4421, 4497, 4573, 4650, 4726, 4803, 4877, 4954, 5032, 5108, 5185, 5261, 5337, 5413, 5491, 5566, 5643, 5720, 5796, 5871, 5949, 6025] + hit0 = 24 + data1 = [0, 12050, 13275, 14497, 15720, 16942, 18166, 19388, 20610, 21834, 23056, 24280, 25501, 26724, 27947, 29171, 30393, 31615, 32839, 34062, 35284, 36506, 37730, 38953, 40175, 41400, 42620, 43843, 45065, 46290, 47512, 48736, 49956, 51179, 52403, 53625, 54848, 56072, 57295, 58516, 59739, 60962, 62186, 63407, 64633, 65853, 67077, 68298, 69521, 70745, 71968, 73190, 74412, 75636, 76858, 78081, 79306, 80528, 81749, 82971, 84194, 85417, 86642, 87864, 89085, 90309, 91531, 92754, 93975, 95201, 96420] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.17 + self.CDR *= 0.90 + + +class 技能14(主动技能): + 名称 = '神龙如意珠' + 备注 = '(1次)' + 是否主动 = 0 + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + data0 = [0, 526, 611, 694, 779, 862, 946, 1030, 1113, 1198, 1282, 1366, 1450, 1534, 1618, 1702, 1786, 1870, 1954, 2038, 2121, 2207, 2290, 2374, 2458, 2542, 2626, 2710, 2794, 2878, 2962, 3046, 3130, 3213, 3298, 3382, 3466, 3550, 3634, 3718, 3802, 3886, 3970, 4054, 4138, 4222, 4306, 4390, 4474, 4558, 4642] + hit0 = 1 + + CD = 0.5 + 关联技能 = ['所有'] + + def 等效CD(self, **argv): + return 0.5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.115 + 0.015 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "神谕:神龙雷雨祭" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 3871, 4769, 5668, 6567, 7462, 8361, 9259, 10157, 11055, 11954, 12850, 13750, 14649, 15545, 16442, 17341, 18240, 19137, 20034, 20933, 21832, 22728, 23627, 24524, 25421, 26321, 27219, 28115, 29014, 29913, 30812, 31708, 32606, 33505, 34403, 35300, 36199, 37099, 37994, 38893, 39789, 40688, 41587, 42484, 43382, 44280, 45179, 46077, 46975, 47871] + hit0 = 16 + data1 = [0, 26552, 32711, 38869, 45027, 51183, 57343, 63498, 69656, 75813, 81970, 88130, 94287, 100446, 106602, 112761, 118916, 125073, 131233, 137390, 143548, 149706, 155863, 162020, 168177, 174334, 180493, 186651, 192810, 198966, 205124, 211282, 217438, 223596, 229755, 235911, 242070, 248227, 254384, 260541, 266698, 272858, 279014, 285173, 291330, 297488, 303645, 309803, 315960, 322118, 328276] + hit1 = 1 + + +class 技能16(主动技能): + 名称 = "因果业火符" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 2634, 2902, 3170, 3440, 3702, 3971, 4239, 4507, 4773, 5041, 5309, 5578, 5843, 6111, 6377, 6647, 6913, 7179, 7448, 7716, 7982, 8250, 8517, 8785, 9051, 9319, 9589, 9854, 10121, 10390, 10658, 10925, 11191, 11458, 11727, 11994, 12261, 12528, 12796, 13066, 13328, 13597, 13865, 14134, 14400, 14668, 14935, 15204, 15470, 15739] + hit0 = 7 + data1 = [0, 9933, 10942, 11950, 12959, 13966, 14975, 15979, 16990, 17996, 19007, 20015, 21020, 22031, 23036, 24045, 25057, 26061, 27069, 28075, 29085, 30093, 31100, 32108, 33116, 34123, 35133, 36139, 37148, 38156, 39164, 40174, 41180, 42188, 43194, 44204, 45211, 46219, 47230, 48236, 49243, 50252, 51259, 52267, 53276, 54284, 55292, 56300, 57308, 58318, 59323] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能17(主动技能): + 名称 = "夺命大念阵" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 3388, 3731, 4074, 4417, 4762, 5106, 5449, 5792, 6135, 6480, 6822, 7167, 7511, 7858, 8200, 8543, 8887, 9233, 9575, 9918, 10261, 10607, 10949, 11292, 11636, 11983, 12326, 12667, 13011, 13358, 13702, 14045, 14387, 14733, 15075, 15421, 15761, 16108, 16452, 16794, 17138, 17482, 17825, 18171, 18514, 18859, 19201, 19546, 19890, 20234] + hit0 = 6 + data1 = [0, 30497, 33591, 36684, 39779, 42870, 45968, 49061, 52157, 55248, 58343, 61439, 64531, 67626, 70719, 73813, 76907, 80002, 83093, 86190, 89283, 92375, 95471, 98564, 101661, 104752, 107846, 110939, 114036, 117132, 120224, 123317, 126412, 129507, 132598, 135694, 138787, 141879, 144975, 148069, 151164, 154256, 157352, 160445, 163539, 166633, 169726, 172820, 175916, 179007, 182101] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能18(主动技能): + 名称 = "退魔阴阳符" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 872, 959, 1047, 1136, 1224, 1316, 1402, 1491, 1580, 1670, 1758, 1845, 1933, 2022, 2110, 2198, 2287, 2376, 2464, 2554, 2643, 2730, 2819, 2908, 2997, 3086, 3174, 3262, 3350, 3439, 3528, 3615, 3703, 3794, 3882, 3972, 4058, 4146, 4235, 4324, 4414, 4502, 4591, 4679, 4767, 4857, 4944, 5032, 5120, 5209] + hit0 = 1 + data1 = [0, 7197, 7928, 8658, 9390, 10121, 10850, 11580, 12314, 13042, 13772, 14505, 15233, 15964, 16694, 17425, 18155, 18886, 19617, 20344, 21077, 21806, 22537, 23270, 23998, 24729, 25460, 26191, 26919, 27650, 28381, 29109, 29841, 30572, 31302, 32031, 32764, 33494, 34222, 34955, 35685, 36414, 37148, 37877, 38607, 39338, 40068, 40796, 41529, 42259, 42988] + hit1 = 12 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能19(被动技能): + 名称 = '龙神之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + # 二觉被动双加成 + 关联技能1 = ['念珠连射'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "天坠阴阳玉" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 5716, 6296, 6874, 7456, 8034, 8615, 9193, 9775, 10353, 10935, 11515, 12094, 12673, 13253, 13833, 14413, 14992, 15571, 16153, 16732, 17312, 17893, 18473, 19053, 19631, 20213, 20791, 21373, 21951, 22533, 23112, 23691, 24274, 24852, 25433, 26011, 26592, 27170, 27750, 28330, 28910, 29489, 30069, 30651, 31231, 31810, 32390, 32971, 33550, 34129] + hit0 = 3 + data1 = [0, 67513, 74362, 81213, 88059, 94907, 101759, 108608, 115459, 122307, 129156, 136002, 142853, 149703, 156552, 163403, 170252, 177099, 183948, 190798, 197647, 204498, 211347, 218196, 225044, 231894, 238742, 245592, 252442, 259291, 266141, 272989, 279839, 286686, 293536, 300386, 307235, 314087, 320934, 327783, 334632, 341481, 348331, 355179, 362032, 368879, 375727, 382578, 389425, 396276, 403125] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.倍率 *= 1.61 + self.CDR *= 0.86 + + +class 技能21(主动技能): + 名称 = "龙威如狱·龙恩如海" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 6087, 7499, 8911, 10326, 11736, 13149, 14561, 15971, 17385, 18797, 20207, 21620, 23033, 24445, 25857, 27269, 28681, 30092, 31504, 32917, 34330, 35741, 37154, 38566, 39976, 41390, 42803, 44214, 45627, 47040, 48453, 49864, 51275, 52688, 54099, 55511, 56924, 58337, 59747, 61160, 62573, 63984, 65396, 66808, 68219, 69631, 71044, 72458, 73869, 75280] + hit0 = 9 + data1 = [0, 9132, 11251, 13369, 15486, 17606, 19724, 21843, 23961, 26078, 28196, 30314, 32432, 34552, 36669, 38787, 40905, 43024, 45140, 47260, 49377, 51496, 53612, 55731, 57848, 59969, 62086, 64204, 66322, 68441, 70559, 72676, 74796, 76913, 79032, 81149, 83267, 85384, 87504, 89621, 91740, 93856, 95975, 98092, 100214, 102328, 104449, 106566, 108685, 110805, 112921] + hit1 = 6 + data2 = [0, 73074, 90019, 106965, 123909, 140854, 157798, 174744, 191688, 208633, 225579, 242525, 259468, 276412, 293358, 310304, 327249, 344194, 361138, 378083, 395027, 411974, 428918, 445863, 462809, 479754, 496697, 513644, 530590, 547533, 564479, 581423, 598368, 615314, 632259, 649202, 666148, 683092, 700039, 716983, 733928, 750871, 767818, 784762, 801709, 818653, 835598, 852542, 869488, 886432, 903379] + hit2 = 1 + + +class 技能22(被动技能): + 名称 = '乾坤之境' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "天泽神龙阵" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [870, 6750] + 无色消耗 = 7 + data0 = [0, 11174, 12307, 13442, 14574, 15708, 16843, 17976, 19112, 20246, 21380, 22510, 23644, 24778, 25912, 27045, 28182, 29316, 30448, 31582, 32715, 33849, 34982, 36117, 37249, 38383, 39519, 40652, 41787, 42920, 44054, 45186, 46320, 47453, 48588, 49722, 50856, 51990, 53122, 54258, 55390, 56525, 57658, 58792, 59925, 61059, 62194, 63327, 64461, 65595, 66729] + hit0 = 10 + data1 = [0, 63122, 69524, 75930, 82333, 88736, 95141, 101543, 107947, 114352, 120755, 127158, 133564, 139965, 146372, 152777, 159179, 165582, 171987, 178391, 184792, 191198, 197602, 204006, 210409, 216812, 223216, 229621, 236024, 242427, 248831, 255235, 261638, 268045, 274446, 280849, 287255, 293659, 300065, 306467, 312871, 319275, 325679, 332081, 338485, 344890, 351294, 357697, 364100, 370504, 376911] + hit1 = 1 + + +class 技能24(主动技能): + 名称 = "神龙之舞·天一" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4000, 8000] + 无色消耗 = 15 + data0 = [0, 33492, 41261, 49025, 56793, 64559, 72326, 80093, 87858, 95626, 103394, 111157, 118928, 126693, 134459, 142227, 149993, 157760, 165525, 173293, 181059, 188825, 196595, 204360, 212126, 219895, 227659, 235427, 243192, 250960, 258726, 266495, 274261, 282027, 289794, 297560, 305326, 313095, 320859, 328628, 336395, 344160, 351929, 359693, 367460, 375227, 382994, 390760, 398527, 406292, 414061] + hit0 = 5 + data1 = [0, 111644, 137534, 163423, 189310, 215200, 241090, 266979, 292867, 318755, 344644, 370535, 396424, 422312, 448202, 474091, 499978, 525868, 551756, 577645, 603537, 629425, 655315, 681203, 707091, 732982, 758871, 784759, 810648, 836538, 862425, 888314, 914203, 940092, 965981, 991871, 1017760, 1043647, 1069537, 1095427, 1121316, 1147204, 1173093, 1198981, 1224872, 1250760, 1276648, 1302538, 1328427, 1354316, 1380206] + hit1 = 1 + data2 = [0, 39873, 49119, 58364, 67612, 76858, 86103, 95349, 104595, 113842, 123086, 132335, 141580, 150826, 160072, 169318, 178565, 187807, 197057, 206303, 215547, 224794, 234040, 243286, 252531, 261778, 271024, 280269, 289516, 298762, 308008, 317255, 326500, 335748, 344992, 354238, 363486, 372730, 381978, 391223, 400470, 409715, 418960, 428209, 437453, 446700, 455946, 465192, 474437, 483682, 492931] + hit2 = 7 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'sorceress' + self.名称 = '神启·巫女' + self.角色 = '圣职者(女)' + self.角色类型 = '输出' + self.职业 = '巫女' + self.武器选项 = ['念珠'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '念珠' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.08 + + super().__init__(equVersion) diff --git a/api/core/characters/soul_bender.py b/api/core/characters/soul_bender.py new file mode 100644 index 00000000..aff43d94 --- /dev/null +++ b/api/core/characters/soul_bender.py @@ -0,0 +1,694 @@ +from math import ceil +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +# 封印解除,部分技能等级+1 +class 主动技能(主动技能): + + def 基础等级计算(self): + if self.基础等级 == 0: + super().基础等级计算() + if self.所在等级 not in [50, 85, 100] and self.是否主动 == 1 and self.名称 in ['刀魂之卡赞', '冰霜之萨亚', '侵蚀之普戾蒙', '鬼斩', '瘟疫之罗刹', '冥炎之卡洛']: + self.基础等级 = min(self.基础等级 + 1, self.等级上限) + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 关联技能 = ['残影之凯贾'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0*ceil(1/10) + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "鬼斩" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [17, 196] + 无色消耗 = 0 + data0 = [0, 1339, 1504, 1672, 1834, 1997, 2160, 2326, 2494, 2659, 2822, 2982, 3152, 3311, 3472, 3637, 3805, 3964, 4130, 4297, 4456, 4628, 4791, 4952, 5117, 5280, 5443, 5611, 5774, 5938, 6099, 6266, 6428, 6598, 6763, 6923, 7086, 7250, 7416, 7578, 7743, 7904, 8068, 8235, 8399, 8562, 8730, 8892, 9055, 9223, 9387, 9550, 9714, 9882, 10039, 10209, 10370, 10535, 10703, 10865, 11028, 11192, 11357, 11517, 11685, 11847, 12007, 12173, 12340, 12502, 12669] + hit0 = 1 + data1 = [0, 1302, 1464, 1626, 1787, 1943, 2100, 2262, 2424, 2585, 2743, 2899, 3060, 3221, 3380, 3543, 3701, 3858, 4015, 4178, 4338, 4503, 4658, 4818, 4975, 5137, 5294, 5461, 5619, 5775, 5934, 6093, 6254, 6419, 6574, 6733, 6889, 7053, 7212, 7373, 7534, 7690, 7849, 8012, 8171, 8330, 8491, 8648, 8805, 8969, 9129, 9285, 9447, 9611, 9766, 9927, 10088, 10245, 10408, 10570, 10726, 10884, 11045, 11201, 11364, 11526, 11680, 11841, 12006, 12160, 12325] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + # 噬灵鬼斩额外加成倍率,TP只加成鬼斩部分 + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + char: Character = argv.get('char', {}) + self.power0 = 1 + self.TP等级*self.TP成长 + self.power1 = char.get_skill_by_name("噬灵鬼斩").额外倍率() + return super().等效百分比(**argv) + + +class 技能2(被动技能): + 名称 = '刀魂之卡赞' + 是否主动 = 1 + 所在等级 = 5 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + MP = [10, 400] + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.04 + 0.01 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = "月光斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [17, 182] + 无色消耗 = 0 + data0 = [0, 718, 787, 862, 934, 1007, 1080, 1153, 1223, 1297, 1372, 1443, 1517, 1589, 1663, 1734, 1807, 1879, 1953, 2026, 2099, 2170, 2244, 2316, 2389, 2462, 2533, 2606, 2681, 2753, 2825, 2900, 2970, 3043, 3116, 3188, 3263, 3336, 3406, 3480, 3552, 3625, 3698, 3769, 3842, 3917, 3989, 4061, 4136, 4207, 4280, 4352, 4424, 4498, 4572, 4643, 4716, 4789, 4861, 4934, 5007, 5077, 5152, 5226, 5298, 5371, 5444, 5516, 5588, 5661, 5734] + hit0 = 1 + data1 = [0, 811, 894, 975, 1058, 1139, 1222, 1306, 1388, 1472, 1551, 1635, 1717, 1799, 1881, 1963, 2047, 2128, 2211, 2292, 2374, 2456, 2539, 2623, 2703, 2788, 2871, 2952, 3035, 3116, 3199, 3280, 3364, 3447, 3527, 3610, 3692, 3775, 3855, 3938, 4023, 4105, 4188, 4270, 4352, 4434, 4516, 4600, 4682, 4763, 4846, 4928, 5009, 5091, 5175, 5259, 5340, 5422, 5504, 5587, 5670, 5753, 5835, 5916, 5999, 6081, 6163, 6245, 6328, 6412, 6492] + hit1 = 1 + data2 = [0, 1139, 1256, 1372, 1486, 1603, 1717, 1833, 1949, 2065, 2181, 2296, 2412, 2526, 2643, 2757, 2873, 2991, 3107, 3219, 3337, 3454, 3568, 3684, 3800, 3917, 4030, 4146, 4262, 4378, 4493, 4609, 4725, 4841, 4954, 5071, 5189, 5302, 5419, 5535, 5648, 5765, 5881, 5998, 6114, 6228, 6346, 6459, 6576, 6691, 6806, 6923, 7040, 7153, 7269, 7386, 7500, 7617, 7732, 7849, 7963, 8079, 8194, 8310, 8426, 8544, 8657, 8774, 8887, 9004, 9122] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '侵蚀之普戾蒙' + 是否主动 = 1 + 所在等级 = 15 + 等级上限 = 11 + 学习间隔 = 3 + 等级精通 = 1 + MP = [40, 644] + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.01 * self.等级, 5) + + +class 技能5(被动技能): + 名称 = '太刀精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 1.3, 2.8, 4.1, 5.4, 6.8, 8.2, 9.6, 10.9, 12.3, 13.7, 15, 16.4, 17.7, 19.1, 20.5, 21.9, 23.3, 24.5, 25.9, 27.3, 28.7, 30.1, 31.4, 32.8, 34.1, 35.5, 36.9, 38.2, 39.6, 41, 42.4, 43.7, 45, 46.4, 47.8, 49.2, 50.6, 52, 53.2, 54.6] + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 == '太刀': + return self.data0[self.等级] / 100 + 1 + else: + self.关联技能 = ['无'] + return 1.0 + + +class 技能6(被动技能): + 名称 = '短剑精通' + 所在等级 = 15 + 等级上限 = 40 + 学习间隔 = 3 + 等级精通 = 30 + 关联技能 = ['所有'] + data0 = [0, 1.2, 2.6, 3.9, 5.1, 6.4, 7.7, 9, 10.3, 11.6, 12.9, 14.1, 15.4, 16.7, 18, 19.3, 20.6, 21.9, 23.1, 24.4, 25.7, 27, 28.3, 29.6, 30.9, 32.1, 33.4, 34.7, 36, 37.3, 38.6, 39.9, 41.1, 42.4, 43.7, 45, 46.3, 47.6, 48.9, 50.1, 51.4] + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 == '短剑': + return self.data0[self.等级] / 100 + 1 + else: + self.关联技能 = ['无'] + return 1.0 + + +class 技能7(被动技能): + 名称 = '暗月降临' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 5 + 等级精通 = 10 + 关联技能 = ['所有'] + 暗抗 = [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.01 * self.等级, 5) + + def 等级加成(self, x, char: Character = {}): + if self.等级 != 0: + if self.等级 + x > self.等级上限: + self.等级 = self.等级上限 + if self.基础等级 != self.等级上限 and self.关联技能 != ['无']: + self.等级溢出 = 1 + else: + char.暗属性抗性加成(-self.暗抗[self.等级]) + self.等级 += int(x) + char.暗属性抗性加成(self.暗抗[self.等级]) + + +class 技能8(主动技能): + 名称 = "残影之凯贾" + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 5 + MP = [194, 2125] + 无色消耗 = 0 + data0 = [0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130] + hit0 = 1 + data1 = [0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150] + hit1 = 1 + data2 = [0, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175] + hit2 = 1 + data3 = [0, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194] + hit3 = 1 + TP成长 = 0.10 + TP上限 = 5 # 基础精通 + + +class 技能9(被动技能): + 名称 = '噬灵鬼斩' + 所在等级 = 25 + 等级上限 = 5 + 基础等级 = 1 + + def 额外倍率(self): + if self.等级 == 0: + return 0.0 + else: + return round(1.0 + 0.1 * self.等级, 5) + + +class 技能10(主动技能): + 名称 = "鬼影鞭" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 8 + MP = [55, 700] + 无色消耗 = 0 + data0 = [0, 1785, 2071, 2356, 2642, 2926, 3211, 3496, 3781, 4066, 4350, 4636, 4920, 5206, 5491, 5775, 6060, 6345, 6630, 6914, 7200, 7485, 7770, 8052, 8340, 8624, 8910, 9195, 9476, 9763, 10047, 10334, 10619, 10904, 11188, 11474, 11758, 12042, 12329, 12612, 12898, 13183, 13469, 13754, 14036, 14322, 14607, 14893, 15177, 15463, 15746, 16031, 16317, 16603, 16887, 17171, 17456, 17742, 18025, 18311, 18597, 18881, 19167, 19450, 19736, 20020, 20305, 20589, 20875, 21161, 21445] + hit0 = 1 + data1 = [0, 4170, 4834, 5499, 6163, 6828, 7492, 8158, 8823, 9488, 10152, 10818, 11482, 12147, 12813, 13477, 14140, 14806, 15470, 16135, 16801, 17465, 18129, 18795, 19460, 20124, 20789, 21453, 22117, 22783, 23448, 24112, 24779, 25443, 26108, 26773, 27439, 28101, 28767, 29430, 30096, 30761, 31426, 32090, 32756, 33420, 34085, 34751, 35414, 36078, 36744, 37408, 38073, 38739, 39403, 40067, 40733, 41399, 42062, 42728, 43392, 44057, 44722, 45387, 46051, 46717, 47381, 48046, 48711, 49375, 50039] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 名称 = "冰霜之萨亚" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [150, 1260] + 无色消耗 = 0 + data0 = [0, 901, 993, 1084, 1176, 1267, 1359, 1450, 1542, 1633, 1725, 1816, 1908, 1999, 2091, 2182, 2274, 2365, 2457, 2549, 2641, 2732, 2824, 2915, 3007, 3098, 3190, 3281, 3372, 3464, 3556, 3646, 3739, 3830, 3921, 4012, 4105, 4195, 4287, 4381, 4470, 4561, 4655, 4745, 4836, 4930, 5020, 5111, 5204, 5294, 5386, 5479, 5569, 5661, 5753, 5842, 5934, 6027, 6117, 6208, 6301, 6391, 6483, 6576, 6667, 6757, 6851, 6941, 7033, 7126, 7216] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + def 等效CD(self, **argv): + self.hit0 = ceil(10 / (1 - 0.07 * self.TP等级)) + return super().等效CD(**argv) + + +class 技能12(主动技能): + 名称 = "死亡墓碑" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [165, 1386] + 无色消耗 = 1 + data0 = [0, 1302, 1433, 1567, 1698, 1830, 1962, 2094, 2225, 2359, 2488, 2621, 2754, 2885, 3017, 3150, 3281, 3415, 3547, 3677, 3810, 3944, 4075, 4208, 4340, 4471, 4604, 4737, 4866, 4999, 5131, 5263, 5395, 5527, 5659, 5792, 5923, 6055, 6188, 6320, 6452, 6585, 6717, 6849, 6981, 7113, 7245, 7377, 7509, 7640, 7772, 7905, 8037, 8169, 8301, 8433, 8565, 8698, 8828, 8961, 9094, 9226, 9358, 9491, 9622, 9754, 9888, 10017, 10151, 10284, 10414] + hit0 = 9 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能13(主动技能): + 名称 = "瘟疫之罗刹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [154, 1293] + 无色消耗 = 1 + data0 = [0, 1236, 1361, 1489, 1614, 1738, 1863, 1991, 2116, 2241, 2368, 2492, 2617, 2743, 2870, 2995, 3119, 3245, 3372, 3496, 3623, 3748, 3871, 3998, 4123, 4249, 4377, 4501, 4625, 4751, 4878, 5003, 5128, 5254, 5379, 5504, 5631, 5756, 5882, 6006, 6133, 6258, 6384, 6510, 6635, 6758, 6886, 7012, 7137, 7265, 7390, 7513, 7638, 7764, 7890, 8015, 8140, 8265, 8392, 8518, 8643, None, None, None, None, None, None, None, None, None, None] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 0.5 * 1.1 + 1.1 * 5 * 0.1 * 1.24 + + +class 技能14(主动技能): + 名称 = "鬼斩:狂怒" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [165, 1386] + 无色消耗 = 1 + data0 = [0, 14108, 15540, 16970, 18401, 19833, 21264, 22696, 24127, 25558, 26989, 28420, 29854, 31283, 32715, 34147, 35579, 37010, 38439, 39871, 41303, 42734, 44166, 45598, 47029, 48458, 49890, 51322, 52754, 54184, 55616, 57048, 58479, 59911, 61340, 62773, 64205, 65636, 67068, 68499, 69929, 71360, 72792, 74224, 75655, 77086, 78518, 79948, 81380, 82811, 84242, 85674, 87106, 88537, 89967, 91398, 92831, 94262, 95694, 97126, 98557, 99988, 101419, 102850, 104282, 105712, 107144, 108576, 110008, 111438, 112869] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能15(主动技能): + 名称 = "鬼影闪" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 1680] + 无色消耗 = 1 + data0 = [0, 11575, 12750, 13926, 15099, 16274, 17448, 18624, 19799, 20973, 22148, 23320, 24494, 25670, 26845, 28019, 29195, 30369, 31542, 32717, 33892, 35066, 36241, 37415, 38588, 39762, 40937, 42112, 43287, 44461, 45636, 46809, 47985, 49159, 50334, 51508, 52685, 53858, 55032, 56206, 57381, 58555, 59731, 60905, 62078, 63254, 64428, 65602, 66778, 67953, 69127, 70301, 71475, 72647, 73823, 74998, 76172, 77346, 78520, 79694, 80871, 82045, 83220, 84395, 85568, 86744, 87918, 89091, 90267, 91441, 92614] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能16(主动技能): + 名称 = "冥炎之卡洛" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [492, 4920] + 无色消耗 = 2 + data0 = [0, 347, 384, 418, 453, 489, 523, 558, 593, 632, 665, 698, 735, 770, 804, 842, 877, 910, 946, 982, 1016, 1053, 1086, 1122, 1157, 1192, 1225, 1265, 1300, 1332, 1371, 1403, 1442, 1477, 1510, 1545, 1582, 1617, 1651, 1688, 1722, 1758, 1792, 1830, 1866, 1899, 1936, 1970, 2005, 2039, 2078, 2111, 2146, 2182, 2219, 2255, 2290, 2324, 2357, 2391, 2430, 2465, 2499, 2535, 2572, 2605, 2642, 2676, 2712, 2747, 2782] + hit0 = 3 + data1 = [0, 212, 234, 256, 277, 298, 322, 343, 364, 385, 407, 429, 451, 473, 493, 516, 535, 558, 582, 601, 624, 645, 666, 688, 709, 731, 754, 774, 796, 818, 839, 862, 882, 905, 927, 947, 968, 990, 1012, 1035, 1056, 1075, 1100, 1122, 1142, 1163, 1188, 1209, 1225, 1251, 1273, 1296, 1315, 1337, 1360, 1383, 1400, 1422, 1445, 1467, 1488, 1510, 1532, 1550, 1573, 1596, 1617, 1640, 1661, 1682, 1706] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + CP武器 = False + + 形态 = ["分身", "冥炎"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or (形态 not in self.形态 and 形态!='爆炸')) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "分身": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if 形态 == "冥炎": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 0 + if 形态 == "爆炸": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.data2 = self.data1 + + +class 技能17(主动技能): + 名称 = "冥炎剑" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [492, 4920] + 无色消耗 = 2 + data0 = [0, 1379, 1518, 1657, 1800, 1939, 2079, 2219, 2358, 2497, 2637, 2781, 2919, 3059, 3198, 3338, 3477, 3619, 3757, 3898, 4039, 4178, 4318, 4457, 4598, 4737, 4879, 5017, 5157, 5298, 5438, 5578, 5717, 5859, 5997, 6138, 6277, 6417, 6558, 6697, 6837, 6977, 7117, 7257, 7397, 7537, 7677, 7816, 7956, 8099, 8237, 8379, 8516, 8656, 8795, 8936, 9079, 9218, 9358, 9496, 9636, 9775, 9917, 10059, 10198, 10338, 10475, 10616, 10755, 10897, 11036] + hit0 = 2 + data1 = [0, 2019, 2223, 2429, 2634, 2838, 3043, 3250, 3454, 3660, 3865, 4071, 4272, 4478, 4683, 4887, 5094, 5298, 5503, 5708, 5914, 6118, 6324, 6527, 6732, 6937, 7143, 7348, 7551, 7757, 7961, 8167, 8372, 8577, 8780, 8987, 9191, 9396, 9602, 9805, 10011, 10216, 10421, 10626, 10833, 11034, 11240, 11445, 11650, 11855, 12059, 12264, 12469, 12676, 12880, 13086, 13289, 13494, 13699, 13905, 14109, 14313, 14519, 14723, 14929, 15134, 15340, 15542, 15748, 15953, 16158] + hit1 = 2 + data2 = [0, 4330, 4768, 5210, 5648, 6088, 6527, 6967, 7404, 7847, 8286, 8724, 9164, 9603, 10042, 10482, 10922, 11361, 11800, 12239, 12678, 13119, 13559, 13998, 14435, 14876, 15314, 15756, 16194, 16634, 17072, 17512, 17951, 18391, 18831, 19271, 19709, 20149, 20587, 21027, 21468, 21905, 22346, 22785, 23223, 23665, 24104, 24543, 24982, 25422, 25860, 26300, 26741, 27179, 27617, 28059, 28496, 28937, 29378, 29815, 30255, 30694, 31133, 31573, 32012, 32452, 32891, 33328, 33770, 34209, 34649] + hit2 = 2 + data3 = [0, 7034, 7747, 8462, 9174, 9889, 10601, 11314, 12029, 12743, 13456, 14171, 14883, 15598, 16312, 17025, 17738, 18451, 19165, 19879, 20592, 21306, 22021, 22733, 23449, 24159, 24874, 25588, 26302, 27015, 27729, 28442, 29157, 29870, 30584, 31296, 32010, 32725, 33438, 34151, 34866, 35580, 36293, 37006, 37718, 38435, 39149, 39860, 40573, 41289, 42002, 42715, 43428, 44143, 44857, 45571, 46282, 46997, 47711, 48425, 49137, 49852, 50566, 51280, 51991, 52706, 53420, 54134, 54847, 55559, 56275] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能18(被动技能): + 名称 = '恐惧光环' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105 + 0.015 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = '第七鬼神:邪神之怖拉修' + + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 140 + MP = [600, 5040] + 无色消耗 = 5 + data0 = [0, 9674, 11918, 14161, 16405, 18649, 20893, 23136, 25377, 27623, 29867, 32109, 34352, 36596, 38841, 41085, 43326, 45569, 47814, 50059, 52301, 54544, 56788, 59032, 61275, 63519, 65763, 68005, 70248, 72492, 74736, 76981, 79222, 81467, 83710, 85955, 88199, 90441, 92684, 94927, 97172, None, None, None, None, None, None, None, None, None, None] + hit0 = 1 + data1 = [0, 13078, 16111, 19146, 22180, 25214, 28245, 31278, 34312, 37345, 40376, 43411, 46444, 49479, 52512, 55542, 58575, 61609, 64643, 67677, 70708, 73742, 76776, 79809, 82843, 85874, 88908, 91941, 94976, 98007, 101040, 104073, 107106, 110141, 113173, 116205, 119239, 122273, 125307, 128338, 131372, None, None, None, None, None, None, None, None, None, None] + hit1 = 1 + data2 = [0, 2605, 3209, 3812, 4415, 5021, 5624, 6230, 6833, 7439, 8041, 8646, 9249, 9854, 10457, 11063, 11666, 12272, 12874, 13478, 14081, 14686, 15291, 15895, 16500, 17103, 17707, 18311, 18916, 19519, 20125, 20728, 21334, 21936, 22541, 23143, 23750, 24353, 24958, 25561, 26166, None, None, None, None, None, None, None, None, None, None] + hit2 = 5 + + power0 = 1.8 + power1 = 1.8 + 倍率 = 1.1 + CD = 140 + + +class 技能20(主动技能): + 名称 = "鬼斩:炼狱" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 1 + data0 = [0, 1865, 2056, 2246, 2433, 2624, 2812, 3003, 3191, 3380, 3570, 3759, 3950, 4139, 4329, 4516, 4707, 4896, 5084, 5274, 5465, 5656, 5844, 6032, 6222, 6411, 6600, 6790, 6979, 7168, 7357, 7549, 7736, 7927, 8116, 8306, 8494, 8682, 8874, 9061, 9252, 9441, 9631, 9820, 10010, 10199, 10386, 10578, 10766, 10958, 11145] + hit0 = 1 + data1 = [0, 7258, 7995, 8732, 9468, 10203, 10942, 11678, 12416, 13150, 13885, 14622, 15360, 16097, 16833, 17569, 18305, 19044, 19779, 20514, 21250, 21987, 22726, 23462, 24198, 24933, 25671, 26408, 27143, 27879, 28615, 29353, 30090, 30827, 31562, 32300, 33035, 33769, 34509, 35244, 35982, 36716, 37453, 38191, 38928, 39665, 40398, 41135, 41872, 42610, 43345] + hit1 = 2 + data2 = [0, 6222, 6854, 7483, 8116, 8745, 9379, 10010, 10640, 11272, 11903, 12536, 13166, 13796, 14428, 15060, 15688, 16322, 16953, 17585, 18214, 18846, 19478, 20110, 20738, 21371, 22003, 22635, 23265, 23895, 24527, 25160, 25790, 26421, 27053, 27685, 28316, 28945, 29579, 30208, 30841, 31472, 32105, 32734, 33366, 33997, 34629, 35259, 35891, 36523, 37155] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power2 = 1.43 * (1 + 0.09 * 5) + self.CDR *= 0.9 + + +class 技能21(主动技能): + 名称 = "冥祭之沼" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [822, 1726] + 无色消耗 = 2 + data0 = [0, 23869, 26292, 28712, 31131, 33556, 35977, 38402, 40822, 43242, 45661, 48086, 50506, 52927, 55351, 57769, 60192, 62615, 65036, 67459, 69881, 72299, 74724, 77145, 79565, 81988, 84407, 86830, 89252, 91673, 94096, 96518, 98938, 101360, 103783, 106202, 108625, 111047, 113467, 115891, 118311, 120734, 123156, 125577, 127997, 130420, 132840, 135262, 137682, 140105, 142527] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能22(主动技能): + 名称 = "幽魂之布雷德" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 487, 538, 587, 639, 686, 737, 786, 836, 886, 934, 985, 1033, 1084, 1133, 1185, 1233, 1283, 1333, 1381, 1432, 1479, 1531, 1580, 1632, 1681, 1729, 1779, 1828, 1878, 1926, 1979, 2027, 2077, 2126, 2176, 2224, 2275, 2325, 2375, 2425, 2473, 2523, 2572, 2623, 2672, 2720, 2772, 2823, 2871, 2920] + hit0 = 32 + data1 = [0, 5445, 5995, 6550, 7101, 7653, 8207, 8760, 9310, 9863, 10416, 10970, 11520, 12074, 12626, 13178, 13730, 14284, 14836, 15389, 15941, 16491, 17047, 17599, 18149, 18701, 19255, 19808, 20360, 20913, 21464, 22017, 22570, 23122, 23674, 24227, 24780, 25330, 25886, 26436, 26990, 27540, 28093, 28645, 29200, 29750, 30303, 30856, 31406, 31962, 32512] + hit1 = 4 + data2 = [0, 30629, 33737, 36842, 39951, 43056, 46165, 49274, 52379, 55488, 58595, 61701, 64810, 67917, 71023, 74132, 77240, 80344, 83452, 86563, 89668, 92776, 95885, 98990, 102098, 105206, 108311, 111419, 114526, 117634, 120743, 123849, 126956, 130064, 133170, 136279, 139386, 142491, 145600, 148709, 151813, 154922, 158031, 161137, 164245, 167351, 170459, 173566, 176673, 179779, 182888] + hit2 = 1 + + 是否有护石 = 1 + + 形态 = ["满", "秒C"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.hit0 = 32 + if '幽魂之布雷德' in char.护石栏: + self.hit0 = 24 + self.power1 = 1.61 + self.power2 = 1.41 + else: + self.hit0 = 4 + if '幽魂之布雷德' in char.护石栏: + self.hit0 = 24 + self.power1 = 1.61 + self.power2 = 1.41 + + def 装备护石(self, char): + self.hit0 = 24 + self.power1 = 1.61 + self.power2 = 1.41 + + +class 技能23(被动技能): + 名称 = '御鬼之极' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.20 + 0.02 * self.等级, 5) + + +class 技能24(主动技能): + 名称 = "幽魂降临:式" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 26978, 29714, 32452, 35191, 37925, 40663, 43400, 46139, 48874, 51609, 54348, 57083, 59820, 62560, 65297, 68032, 70770, 73507, 76244, 78980, 81719, 84455, 87192, 89930, 92668, 95402, 98138, 100877, 103613, 106352, 109087, 111825, 114561, 117299, 120037, 122774, 125508, 128247, 130983, 133719, 129959, 132566, 135172, 137780, 140386, 142992, 145599, 148207, 150812, 153420] + hit0 = 1 + data1 = [0, 40466, 44574, 48678, 52785, 56889, 60994, 65102, 69205, 73311, 77416, 81523, 85627, 89733, 93841, 97944, 102050, 106154, 110260, 114365, 118473, 122577, 126683, 130789, 134892, 138999, 143103, 147210, 151314, 155422, 159527, 163631, 167738, 171842, 175948, 180052, 184160, 188266, 192370, 196475, 200582, 194939, 198849, 202760, 206670, 210579, 214490, 218400, 222311, 226219, 230130] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能25(主动技能): + 名称 = "王者号令:吉格降临" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 24580, 30279, 35979, 41680, 47378, 53079, 58778, 64478, 70179, 75876, 81577, 87278, 92978, 98678, 104377, 110077, 115778, 121473, 127174, 132876, 138576, 144274, 149973, 155674, 161376, 167072, 172774, 178474, 184173, 189875, 195571, 201272, 206973, 212670, 218372, 224072, 229772, 235472, 241170, 246871, 252572, 258269, 263970, 269669, 275368, 281070, 286768, 292469, 298169, 303868] + hit0 = 1 + data1 = [0, 1229, 1514, 1798, 2083, 2368, 2651, 2938, 3224, 3507, 3794, 4079, 4364, 4649, 4933, 5218, 5502, 5788, 6072, 6358, 6643, 6927, 7213, 7500, 7784, 8068, 8353, 8637, 8922, 9209, 9493, 9777, 10064, 10346, 10633, 10919, 11202, 11489, 11772, 12057, 12343, 12628, 12913, 13196, 13482, 13769, 14053, 14339, 14622, 14907, 15194] + hit1 = 15 + data2 = [0, 30725, 37848, 44975, 52098, 59224, 66346, 73473, 80597, 87722, 94847, 101972, 109098, 116222, 123346, 130471, 137596, 144720, 151845, 158968, 166095, 173218, 180344, 187467, 194595, 201718, 208842, 215966, 223093, 230215, 237342, 244467, 251592, 258716, 265841, 272967, 280089, 287215, 294339, 301463, 308587, 315715, 322837, 329963, 337087, 344214, 351335, 358462, 365586, 372710, 379835] + hit2 = 1 + data3 = [0, 49160, 60559, 71958, 83356, 94758, 106158, 117557, 128954, 140356, 151756, 163155, 174554, 185955, 197355, 208753, 220152, 231553, 242953, 254352, 265751, 277149, 288551, 299949, 311349, 322748, 334150, 345548, 356947, 368346, 379748, 391148, 402546, 413944, 425346, 436746, 448144, 459544, 470945, 482345, 493740, 505142, 516540, 527943, 539338, 550739, 562138, 573541, 584937, 596338, 607737] + hit3 = 1 + + +class 技能26(主动技能): + 名称 = "鬼神剑·黄泉摆渡" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1064, 7980] + 无色消耗 = 7 + data0 = [0, 27914, 30746, 33578, 36410, 39243, 42076, 44905, 47740, 50571, 53403, 56235, 59068, 61899, 64732, 67564, 70396, 73227, 76060, 78891, 81724, 84555, 87388, 90220, 93052, 95883, 98716, 101547, 104378, 107211, 110044, 112874, 115707, 118540, 121369, 124203, 127034, 129868, 132698, 135531, 138363, 141196, 144027, 146859, 149692, 152522, 155355, 158187, 161021, 163852, 166684] + hit0 = 2 + data1 = [0, 13957, 15374, 16789, 18204, 19622, 21037, 22453, 23867, 25286, 26701, 28117, 29533, 30949, 32364, 33781, 35196, 36614, 38029, 39445, 40860, 42278, 43693, 45108, 46525, 47942, 49358, 50773, 52188, 53603, 55022, 56438, 57853, 59270, 60686, 62101, 63517, 64933, 66350, 67766, 69182, 70598, 72015, 73429, 74845, 76262, 77677, 79094, 80510, 81926, 83341] + hit1 = 1 + data2 = [0, 48850, 53806, 58764, 63719, 68674, 73632, 78587, 83542, 88501, 93456, 98411, 103368, 108323, 113279, 118235, 123192, 128147, 133104, 138059, 143016, 147971, 152927, 157884, 162840, 167795, 172752, 177707, 182663, 187620, 192576, 197531, 202489, 207444, 212400, 217357, 222314, 227270, 232226, 237181, 242138, 247093, 252049, 257005, 261961, 266917, 271873, 276829, 281785, 286741, 291698] + hit2 = 1 + data3 = [0, 4187, 4612, 5037, 5460, 5883, 6311, 6735, 7160, 7585, 8011, 8433, 8862, 9285, 9709, 10135, 10558, 10983, 11408, 11833, 12258, 12682, 13107, 13534, 13957, 14384, 14806, 15230, 15656, 16081, 16507, 16931, 17357, 17780, 18204, 18631, 19056, 19479, 19905, 20328, 20753, 21179, 21603, 22029, 22454, 22879, 23302, 23726, 24152, 24577, 25002] + hit3 = 5 + +class 技能27(被动技能): + 名称 = '鬼神冠冕' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能28(主动技能): + 名称 = "黄泉之门:万鬼度灵" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 23464, 28903, 34346, 39785, 45227, 50667, 56109, 61549, 66990, 72431, 77871, 83313, 88754, 94195, 99635, 105077, 110517, 115958, 121401, 126839, 132282, 137723, 143162, 148603, 154043, 159485, 164926, 170368, 175807, 181248, 186690, 192130, 197572, 203012, 208453, 213894, 219336, 224776, 230217, 235659, 241098, 246539, 251980, 257421, 262862, 268303, 273744, 279184, 284626, 290067] + hit0 = 1 + data1 = [0, 140781, 173427, 206072, 238718, 271363, 304007, 336654, 369299, 401945, 434590, 467234, 499879, 532526, 565171, 597818, 630462, 663107, 695754, 728398, 761044, 793690, 826333, 858980, 891625, 924270, 956914, 989561, 1022206, 1054851, 1087498, 1120140, 1152787, 1185434, 1218077, 1250724, 1283368, 1316013, 1348659, 1381304, 1413951, 1446596, 1479242, 1511887, 1544532, 1577177, 1609823, 1642468, 1675113, 1707759, 1740404] + hit1 = 2 + data2 = [0, 6255, 7708, 9158, 10608, 12061, 13511, 14959, 16412, 17864, 19314, 20766, 22216, 23667, 25120, 26569, 28020, 29471, 30924, 32371, 33823, 35275, 36725, 38175, 39628, 41077, 42528, 43981, 45431, 46882, 48334, 49784, 51233, 52685, 54136, 55587, 57036, 58489, 59940, 61389, 62843, 64293, 65744, 67194, 68645, 70096, 71547, 72997, 74449, 75900, 77351] + hit2 = 15 + data3 = [0, 8797, 10837, 12879, 14921, 16960, 19000, 21040, 23081, 25121, 27162, 29202, 31242, 33282, 35323, 37364, 39403, 41442, 43483, 45524, 47564, 49603, 51645, 53686, 55728, 57765, 59806, 61847, 63888, 65927, 67967, 70008, 72049, 74089, 76129, 78169, 80210, 82250, 84290, 86330, 88370, 90412, 92452, 94493, 96533, 98572, 100613, 102653, 104693, 106734, 108775] + hit3 = 8 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'soul_bender' + self.名称 = '极诣·鬼泣' + self.角色 = '鬼剑士(男)' + + self.职业 = '鬼泣' + self.武器选项 = ['太刀', '短剑'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '太刀' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.69 + + super().__init__(equVersion) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + CP武器 = self.check_fun_by_id(547) + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + if CP武器: + if item['name'] in ['鬼斩', '鬼斩:狂怒', '鬼影闪', '鬼斩:炼狱', '幽魂降临:式']: + self.技能队列.append({ + '名称': '冥炎之卡洛', + '无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': '爆炸' + }) + if item['name'] in ['月光斩', '鬼神剑·黄泉摆渡']: + self.技能队列.append({ + '名称': '冥炎之卡洛', + '无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗, + '倍率': 2.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': '爆炸' + }) + if item['name'] in ['冥炎剑']: + self.技能队列.append({ + '名称': '冥炎之卡洛', + '无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗, + '倍率': 1.0 if '冥炎剑' in self.护石栏 else 4.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': '爆炸' + }) + + def 职业特殊计算(self): + 冥炎剑 = self.get_skill_by_name('冥炎剑') + 冥炎剑.等级上限 = 70 + 冥炎剑.等级 = self.get_skill_by_name('冥炎之卡洛').等级 + + # 抗性有成长的较为特殊 需要按照以下进行添加 + def 职业特殊设置(self): + 暗月降临 = self.get_skill_by_name("暗月降临") + self.暗属性抗性加成(暗月降临.暗抗[暗月降临.等级]) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['刀魂之卡赞', '太刀精通', '短剑精通']) diff --git a/api/core/characters/specialist.py b/api/core/characters/specialist.py new file mode 100644 index 00000000..cef26354 --- /dev/null +++ b/api/core/characters/specialist.py @@ -0,0 +1,501 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "源光斩" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [16, 161] + 无色消耗 = 0 + data0 = [0, 1649, 1816, 1983, 2152, 2322, 2488, 2655, 2823, 2990, 3161, 3322, 3494, 3663, 3830, 3998, 4163, 4332, 4500, 4669, 4838, 5003, 5171, 5339, 5506, 5675, 5843, 6010, 6177, 6345, 6511, 6680, 6848, 7015, 7184, 7351, 7519, 7686, 7857, 8022, 8189, 8359, 8525, 8694, 8862, 9027, 9195, 9364, 9534, 9700, 9867, 10033, 10202, 10368, 10537, 10703, 10873, 11042, 11207, 11376, 11541, 11711, 11881, 12044, 12214, 12382, 12548, 12716, 12885, 13052, 13222] + hit0 = 1 + data1 = [0, 279, 308, 335, 365, 391, 424, 452, 481, 509, 536, 566, 595, 625, 652, 681, 709, 739, 765, 794, 822, 852, 883, 909, 936, 967, 996, 1023, 1051, 1080, 1112, 1140, 1169, 1196, 1224, 1254, 1281, 1310, 1340, 1367, 1400, 1425, 1454, 1481, 1510, 1539, 1569, 1599, 1626, 1656, 1684, 1712, 1739, 1770, 1796, 1829, 1856, 1885, 1914, 1941, 1970, 1999, 2029, 2056, 2085, 2115, 2143, 2169, 2199, 2226, 2259] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "旋转源能波" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [23, 241] + 无色消耗 = 0 + data0 = [0, 605, 671, 731, 793, 856, 915, 978, 1041, 1105, 1164, 1224, 1288, 1353, 1412, 1476, 1536, 1596, 1661, 1723, 1785, 1846, 1908, 1971, 2035, 2096, 2156, 2219, 2280, 2342, 2407, 2468, 2527, 2591, 2651, 2713, 2776, 2840, 2901, 2961, 3025, 3088, 3151, 3211, 3273, 3337, 3394, 3458, 3521, 3585, 3646, 3703, 3769, 3830, 3893, 3954, 4016, 4077, 4143, 4203, 4265, 4328, 4389, 4453, 4513, 4576, 4639, 4700, 4763, 4824, 4887] + hit0 = 1 + data1 = [0, 861, 950, 1040, 1127, 1216, 1305, 1390, 1479, 1569, 1654, 1741, 1832, 1921, 2008, 2097, 2186, 2270, 2359, 2448, 2535, 2622, 2710, 2798, 2889, 2976, 3065, 3154, 3239, 3327, 3417, 3505, 3589, 3677, 3767, 3856, 3944, 4031, 4119, 4208, 4297, 4384, 4472, 4558, 4647, 4739, 4824, 4913, 5000, 5085, 5173, 5265, 5353, 5438, 5526, 5615, 5701, 5793, 5882, 5967, 6057, 6147, 6235, 6323, 6410, 6501, 6588, 6678, 6766, 6855, 6942] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "源能护盾" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [23, 241] + 无色消耗 = 0 + data0 = [0, 5861, 6454, 7644, 8236, 8834, 9427, 10020, 10616, 11212, 11810, 12401, 12996, 13591, 14185, 14781, 15375, 15967, 16564, 17159, 17751, 18348, 18942, 19542, 20132, 20728, 21322, 21916, 22512, 23107, 23697, 24294, 24890, 25487, 26079, 26675, 27271, 27864, 28459, 29054, 29647, 30243, 30839, 31431, 32026, 32621, 33218, 33810, 34404, 35002, 35595, 36190, 36786, 37379, 37974, 38572, 39162, 39757, 40352, 40949, 41542, 42136, 42734, 43323, 43921, 44517, 45110, 45705, 46303, 46894, 47489] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "镭射源能枪" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [36, 378] + 无色消耗 = 0 + data0 = [0, 1058, 1167, 1273, 1383, 1489, 1597, 1705, 1813, 1919, 2028, 2133, 2243, 2349, 2459, 2566, 2673, 2783, 2887, 2995, 3103, 3211, 3317, 3427, 3533, 3642, 3749, 3857, 3963, 4071, 4179, 4287, 4393, 4504, 4610, 4716, 4826, 4932, 5040, 5148, 5256, 5363, 5471, 5579, 5685, 5792, 5903, 6008, 6115, 6226, 6331, 6438, 6548, 6656, 6762, 6872, 6978, 7086, 7193, 7303, 7407, 7514, 7624, 7730, 7838, 7946, 8054, 8160, 8270, 8377, 8484] + hit0 = 2 + data1 = [0, 3072, 3383, 3696, 4006, 4321, 4632, 4942, 5255, 5567, 5879, 6190, 6502, 6813, 7126, 7438, 7747, 8061, 8374, 8685, 8997, 9309, 9618, 9933, 10244, 10556, 10867, 11179, 11492, 11803, 12117, 12426, 12740, 13051, 13365, 13674, 13986, 14300, 14609, 14923, 15236, 15548, 15859, 16171, 16482, 16795, 17107, 17417, 17729, 18042, 18353, 18665, 18978, 19288, 19602, 19913, 20224, 20536, 20849, 21160, 21471, 21783, 22094, 22407, 22719, 23030, 23342, 23653, 23966, 24277, 24589] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '源力剑精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + + def 魔法攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 <= 20: + return round(1 + (0.05 + 0.01 * self.等级), 5) + else: + return round(1 + (0.25 + 0.02 * (self.等级 - 20)), 5) + + +class 技能5(主动技能): + 名称 = "源能波刃" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7.5 + MP = [55, 396] + 无色消耗 = 0 + data0 = [0, 3205, 3531, 3857, 4185, 4510, 4833, 5160, 5486, 5812, 6139, 6461, 6788, 7116, 7442, 7767, 8092, 8417, 8744, 9068, 9393, 9719, 10042, 10372, 10697, 11023, 11348, 11673, 12001, 12326, 12652, 12976, 13301, 13629, 13955, 14279, 14605, 14930, 15257, 15580, 15908, 16232, 16556, 16885, 17210, 17538, 17863, 18187, 18514, 18838, 19166, 19490, 19814, 20141, 20466, 20795, 21119, 21445, 21769, 22093, 22420, 22747, 23072, 23398, 23724, 24048, 24375, 24700, 25027, 25352, 25678] + hit0 = 1 + data1 = [0, 2622, 2888, 3154, 3422, 3689, 3955, 4220, 4488, 4754, 5022, 5287, 5555, 5820, 6087, 6353, 6621, 6887, 7152, 7419, 7685, 7952, 8219, 8485, 8750, 9017, 9286, 9552, 9817, 10084, 10349, 10614, 10884, 11149, 11417, 11682, 11948, 12213, 12483, 12748, 13016, 13283, 13548, 13813, 14080, 14345, 14614, 14881, 15145, 15415, 15679, 15946, 16211, 16479, 16745, 17013, 17279, 17543, 17810, 18076, 18341, 18609, 18876, 19142, 19408, 19674, 19941, 20207, 20472, 20740, 21006] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "能量飞鱼弹" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.5 + MP = [52, 369] + 无色消耗 = 0 + data0 = [0, 6349, 6993, 7640, 8282, 8927, 9572, 10219, 10859, 11507, 12151, 12793, 13437, 14084, 14727, 15372, 16017, 16663, 17307, 17950, 18595, 19240, 19884, 20528, 21173, 21819, 22462, 23107, 23751, 24397, 25040, 25686, 26330, 26974, 27618, 28265, 28907, 29553, 30197, 30842, 31484, 32131, 32775, 33421, 34063, 34709, 35354, 36000, 36640, 37287, 37932, 38576, 39220, 39868, 40510, 41153, 41799, 42445, 43087, 43733, 44379, 45022, 45668, 46311, 46956, 47601, 48245, 48890, 49535, 50180, 50825] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '细胞弱化' + 所在等级 = 25 + 等级上限 = 11 + 基础等级 = 1 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能8(主动技能): + 名称 = "脉冲斩" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [67, 475] + 无色消耗 = 0 + data0 = [0, 1982, 2184, 2386, 2586, 2789, 2990, 3190, 3394, 3593, 3797, 3995, 4199, 4401, 4598, 4803, 5002, 5206, 5407, 5608, 5809, 6011, 6213, 6413, 6614, 6816, 7018, 7219, 7422, 7626, 7826, 8026, 8228, 8429, 8632, 8833, 9031, 9234, 9434, 9637, 9838, 10038, 10241, 10441, 10644, 10845, 11049, 11248, 11451, 11652, 11855, 12055, 12255, 12458, 12659, 12861, 13062, 13263, 13463, 13668, 13867, 14068, 14270, 14471, 14673, 14875, 15075, 15277, 15479, 15680, 15881] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "电磁领域" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [145, 1218] + 无色消耗 = 1 + data0 = [0, 1837, 2023, 2211, 2399, 2584, 2771, 2958, 3144, 3331, 3518, 3707, 3893, 4080, 4266, 4453, 4641, 4826, 5014, 5199, 5387, 5570, 5758, 5947, 6136, 6323, 6508, 6696, 6883, 7070, 7254, 7440, 7628, 7815, 8002, 8190, 8376, 8564, 8746, 8934, 9121, 9310, 9499, 9685, 9871, 10057, 10245, 10430, 10617, 10804, 10990, 11175, 11364, 11551, 11739, 11925, 12112, 12298, 12486, 12671, 12858, 13045, 13232, 13418, 13606, 13792, 13978, 14165, 14351, 14538, 14725] + hit0 = 5 + data1 = [0, 3941, 4340, 4743, 5141, 5542, 5945, 6344, 6743, 7146, 7546, 7948, 8345, 8744, 9145, 9545, 9944, 10348, 10748, 11147, 11549, 11948, 12348, 12748, 13149, 13549, 13949, 14348, 14749, 15149, 15549, 15952, 16353, 16751, 17152, 17552, 17951, 18352, 18751, 19153, 19553, 19952, 20356, 20755, 21153, 21553, 21956, 22354, 22756, 23156, 23556, 23955, 24355, 24758, 25157, 25555, 25959, 26358, 26757, 27158, 27560, 27959, 28361, 28760, 29161, 29563, 29962, 30364, 30763, 31164, 31564] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = "引力源光弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [145, 1218] + 无色消耗 = 1 + data0 = [0, 1248, 1371, 1503, 1626, 1753, 1882, 2007, 2134, 2261, 2388, 2515, 2641, 2766, 2896, 3022, 3148, 3276, 3404, 3529, 3657, 3781, 3911, 4038, 4164, 4290, 4416, 4545, 4671, 4801, 4926, 5053, 5179, 5308, 5432, 5560, 5685, 5815, 5938, 6066, 6188, 6319, 6448, 6573, 6702, 6829, 6954, 7083, 7212, 7334, 7463, 7587, 7715, 7844, 7970, 8094, 8223, 8351, 8477, 8603, 8732, 8859, 8986, 9113, 9239, 9367, 9495, 9621, 9748, 9876, 10002] + hit0 = 8 + data1 = [0, 3523, 3884, 4241, 4595, 4953, 5312, 5670, 6030, 6387, 6744, 7103, 7461, 7817, 8176, 8534, 8891, 9251, 9609, 9965, 10325, 10682, 11043, 11396, 11754, 12114, 12471, 12831, 13185, 13542, 13903, 14261, 14620, 14977, 15333, 15692, 16054, 16410, 16767, 17126, 17481, 17840, 18200, 18554, 18914, 19273, 19627, 19986, 20345, 20702, 21061, 21420, 21777, 22133, 22495, 22851, 23209, 23567, 23924, 24284, 24642, 24999, 25357, 25715, 26072, 26431, 26789, 27147, 27505, 27863, 28223] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 额外倍率 = 1.0 + 是否有护石 = 1 + 技能施放时间 = 1 + + 形态 = ["常规", "注能"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "注能": + if '引力源光弹' in char.护石栏: + self.额外倍率 = 1.3 + else: + 形态 = "常规" + if 形态 == "常规": + self.额外倍率 = 1.0 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.额外倍率 + + def 装备护石(self, char): + self.power1 = 1.6 + + +class 技能11(主动技能): + 名称 = "光裂斩" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [193, 1621] + 无色消耗 = 1 + data0 = [0, 12072, 13297, 14522, 15749, 16973, 18199, 19423, 20646, 21873, 23095, 24324, 25550, 26770, 27997, 29225, 30451, 31675, 32899, 34124, 35347, 36575, 37801, 39025, 40249, 41475, 42700, 43925, 45151, 46377, 47599, 48824, 50050, 51274, 52503, 53727, 54951, 56174, 57402, 58627, 59854, 61077, 62301, 63527, 64752, 65976, 67202, 68431, 69652, 70877, 72102, 73325, 74557, 75779, 77004, 78228, 79454, 80681, 81903, 83127, 84355, 85580, 86805, 88030, 89255, 90481, 91707, 92931, 94156, 95382, 96607] + hit0 = 1 + data1 = [0, 1606, 1768, 1932, 2094, 2260, 2420, 2587, 2753, 2910, 3074, 3238, 3402, 3564, 3731, 3896, 4058, 4221, 4382, 4547, 4709, 4873, 5036, 5200, 5363, 5527, 5691, 5853, 6014, 6180, 6342, 6506, 6671, 6833, 6996, 7160, 7322, 7486, 7649, 7814, 7974, 8141, 8303, 8468, 8630, 8793, 8955, 9121, 9284, 9449, 9611, 9775, 9938, 10097, 10263, 10425, 10590, 10752, 10918, 11079, 11244, 11406, 11569, 11731, 11896, 12058, 12222, 12384, 12549, 12711, 12877] + hit1 = 5 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.98*1.14 + self.hit1 = 0 + + +class 技能12(主动技能): + 名称 = "光导裂地斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [338, 2839] + 无色消耗 = 2 + data0 = [0, 13723, 15114, 16509, 17899, 19292, 20686, 22079, 23472, 24865, 26257, 27650, 29041, 30436, 31829, 33219, 34615, 36005, 37399, 38792, 40184, 41576, 42972, 44361, 45755, 47148, 48542, 49932, 51327, 52720, 54109, 55506, 56898, 58287, 59681, 61074, 62466, 63857, 65253, 66641, 68035, 69431, 70824, 72214, 73610, 75002, 76393, 77785, 79181, 80571, 81963, 83359, 84747, 86142, 87536, 88927, 90321, 91716, 93106, 94500, 95891, 97284, 98678, 100069, 101462, 102855, 104247, 105640, 107034, 108426, 109818] + hit0 = 1 + data1 = [0, 20897, 23017, 25139, 27259, 29377, 31499, 33620, 35741, 37863, 39982, 42104, 44223, 46343, 48462, 50585, 52706, 54827, 56947, 59067, 61187, 63310, 65429, 67548, 69666, 71791, 73912, 76029, 78152, 80273, 82392, 84512, 86632, 88754, 90876, 92994, 95115, 97236, 99356, 101479, 103598, 105718, 107839, 109961, 112081, 114200, 116323, 118442, 120561, 122683, 124803, 126925, 129048, 131167, 133288, 135406, 137528, 139646, 141766, 143887, 146007, 148128, 150247, 152366, 154488, 156606, 158728, 160848, 162967, 165089, 167208] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.17 + self.power1 = 1.33 + + +class 技能13(被动技能): + 名称 = '源能增幅' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "超能场域" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1129, 9483] + 无色消耗 = 5 + data0 = [0, 1118, 1376, 1636, 1894, 2153, 2415, 2674, 2935, 3191, 3450, 3712, 3973, 4233, 4494, 4749, 5011, 5270, 5531, 5790, 6052, 6309, 6568, 6829, 7089, 7350, 7610, 7866, 8125, 8387, 8646, 8908, 9168, 9426, 9686, 9945, 10205, 10466, 10724, 10985, 11241, 11503, 11763, 12021, 12281, 12539, 12801, 13060, 13318, 13578, 13837] + hit0 = 14 + data1 = [0, 57009, 70230, 83448, 96669, 109893, 123112, 136334, 149555, 179050, 193595, 208138, 222680, 237223, 251767, 266309, 280851, 295393, 309939, 324480, 339023, 353563, 368106, 382648, 397192, 411733, 426276, 440818, 455365, 469906, 484449, 498990, 513533, 528076, 542619, 557160, 571705, 586250, 600790, 615333, 629875, 644419, 658960, 673503, 688044, 702587, 717131, 731673, 746215, 760758, 775298] + hit1 = 1 + + 形态 = ["速C", "能源"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "速C": + self.hit0 = 14 + self.hit1 = 1 + if 形态 == "能源": + self.hit0 = 25 + self.hit1 = 1 + + +class 技能15(主动技能): + 名称 = "能量禁锢" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [378, 1058] + 无色消耗 = 1 + data0 = [0, 1263, 1391, 1523, 1651, 1778, 1907, 2034, 2165, 2292, 2421, 2550, 2678, 2806, 2936, 3062, 3189, 3319, 3448, 3577, 3706, 3833, 3961, 4091, 4218, 4348, 4476, 4605, 4732, 4861, 4991, 5120, 5250, 5379, 5506, 5636, 5762, 5890, 6020, 6147, 6278, 6405, 6534, 6662, 6792, 6918, 7047, 7176, 7304, 7434, 7561] + hit0 = 10 + data1 = [0, 7598, 8369, 9138, 9910, 10680, 11453, 12225, 12996, 13768, 14537, 15308, 16080, 16851, 17622, 18393, 19164, 19934, 20709, 21478, 22250, 23019, 23791, 24563, 25332, 26107, 26878, 27645, 28419, 29189, 29961, 30733, 31504, 32276, 33045, 33815, 34588, 35362, 36131, 36903, 37673, 38443, 39215, 39985, 40759, 41530, 42300, 43072, 43841, 44614, 45386] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 14 + self.power0 = 0.89 + self.power1 = 1.66 + + +class 技能16(主动技能): + 名称 = "离散能量波" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [776, 1629] + 无色消耗 = 2 + data0 = [0, 3623, 3990, 4357, 4722, 5093, 5462, 5830, 6196, 6563, 6931, 7298, 7668, 8035, 8400, 8772, 9138, 9509, 9875, 10241, 10609, 10974, 11344, 11713, 12081, 12448, 12815, 13182, 13555, 13919, 14285, 14654, 15020, 15392, 15757, 16128, 16493, 16860, 17232, 17598, 17965, 18330, 18699, 19066, 19435, 19805, 20171, 20538, 20907, 21277, 21645] + hit0 = 10 + data1 = [0, 15533, 17108, 18686, 20263, 21837, 23415, 24989, 26567, 28141, 29720, 31294, 32871, 34451, 36024, 37600, 39174, 40754, 42328, 43904, 45479, 47057, 48634, 50209, 51785, 53362, 54938, 56514, 58091, 59666, 61242, 62820, 64395, 65971, 67546, 69126, 70701, 72275, 73851, 75431, 77006, 78582, 80157, 81734, 83309, 84886, 86464, 88038, 89615, 91189, 92769] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 15 + self.power0 = 0.75 + self.power1 = 1.66 + self.CDR *= 0.9 + + +class 技能17(主动技能): + 名称 = "绝望圆舞" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [642, 4975] + 无色消耗 = 3 + data0 = [0, 7286, 8026, 8767, 9508, 10246, 10985, 11726, 12466, 13208, 13945, 14685, 15424, 16165, 16905, 17644, 18383, 19121, 19864, 20601, 21341, 22080, 22821, 23561, 24299, 25040, 25784, 26523, 27258, 27998, 28738, 29481, 30219, 30957, 31697, 32440, 33178, 33915, 34655, 35396, 36136, 36876, 37618, 38357, 39097, 39836, 40577, 41313, 42053, 42794, 43534] + hit0 = 8 + data1 = [0, 24997, 27531, 30068, 32601, 35141, 37676, 40212, 42745, 45290, 47821, 50357, 52891, 55430, 57967, 60501, 63038, 65577, 68111, 70648, 73185, 75720, 78255, 80792, 83326, 85866, 88398, 90936, 93472, 96009, 98544, 101081, 103617, 106152, 108689, 111222, 113764, 116299, 118835, 121370, 123909, 126442, 128980, 131514, 134052, 136588, 139124, 141659, 144197, 146733, 149268] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能18(被动技能): + 名称 = '源力汇聚' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能19(主动技能): + 名称 = "CEAB-2超能爆发" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [930, 6975] + 无色消耗 = 5 + data0 = [0, 92943, 102373, 111799, 121231, 130660, 140089, 149519, 158951, 168379, 177806, 187237, 196667, 206094, 215524, 224952, 234383, 243813, 253242, 262668, 272099, 281531, 290959, 300391, 309819, 319248, 328678, 338105, 347534, 356964, 366395, 375823, 385254, 394684, 404110, 413539, 422969, 432399, 441829, 451261, 460691, 470118, 479547, 488979, 498408, 507834, 517263, 526694, 536124, 545554, 554981] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.39 + self.CDR *= 0.9 + + +class 技能20(主动技能): + 名称 = "终焉:超世界崩坏" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2633, 5266] + 无色消耗 = 10 + data0 = [0, 1848, 2271, 2701, 3132, 3564, 3989, 4417, 4847, 5275, 5705, 6132, 6562, 6990, 7417, 7848, 8279, 8704, 9134, 9566, 9993, 10420, 10850, 11279, 11706, 12137, 12563, 12993, 13421, 13849, 14282, 14706, 15135, 15565, 15995, 16423, 16852, 17281, 17710, 18139, 18567, 18994, 19424, 19852, 20284, 20713, 21138, 21567, 21999, 22427, 22856] + hit0 = 6 + data1 = [0, 173235, 213409, 253582, 293752, 333927, 374097, 414268, 454443, 494612, 534782, 574956, 615128, 655299, 695473, 735643, 775816, 815989, 856159, 896332, 936503, 976677, 1016846, 1057018, 1097190, 1137362, 1177535, 1217707, 1257879, 1298050, 1338222, 1378394, 1418567, 1458740, 1498910, 1539078, 1579252, 1619423, 1659596, 1699768, 1739940, 1780112, 1820286, 1860456, 1900629, 1940800, 1980974, 2021144, 2061314, 2101487, 2141658] + hit1 = 1 + + 形态 = ["速C", "满"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "速C": + self.hit0 = 6 + self.hit1 = 1 + if 形态 == "满": + self.hit0 = 14 + self.hit1 = 1 + + +class 技能21(主动技能): + 名称 = "临界源能弹" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [800, 6667] + 无色消耗 = 7 + data0 = [0, 31504, 34699, 37894, 41089, 44286, 47482, 50680, 53874, 57071, 60267, 63467, 66662, 69855, 73052, 76248, 79443, 82641, 85837, 89033, 92229, 95422, 98620, 101818, 105015, 108210, 111405, 114601, 117800, 120996, 124189, 127385, 130581, 133778, 136977, 140173, 143367, 146563, 149760, 152957, 156150, 159347, 162543, 165741, 168939, 172136, 175330, 178524, 181721, 184917, 188114] + hit0 = 5 + data1 = [0, 175027, 192780, 210537, 228293, 246051, 263806, 281563, 299317, 317077, 334835, 352591, 370345, 388101, 405858, 423615, 441372, 459128, 476884, 494642, 512397, 530155, 547909, 565666, 583424, 601179, 618937, 636692, 654449, 672206, 689963, 707720, 725473, 743231, 760987, 778746, 796504, 814256, 832015, 849770, 867528, 885282, 903039, 920796, 938552, 956310, 974066, 991822, 1009576, 1027334, 1045091] + hit1 = 0 + + 形态 = ["常规", "能源"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "常规": + self.hit0 = 5 + self.hit1 = 0 + if 形态 == "能源": + self.hit0 = 0 + self.hit1 = 1 + + +class 技能22(被动技能): + 名称 = '奇点源核' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = "源能场域:黑暗边缘" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 542566, 668381, 794194, 920009, 1045823, 1171636, 1297449, 1423262, 1549078, 1674888, 1800704, 1926515, 2052330, 2178143, 2303957, 2429769, 2555582, 2681396, 2807210, 2933024, 3058837, 3184650, 3310464, 3436278, 3562090, 3687903, 3813718, 3939530, 4065344, 4191157, 4316973, 4442785, 4568600, 4694414, 4820226, 4946040, 5071854, 5197668, 5323481, 5449294, 5575107, 5700920, 5826731, 5952546, 6078360, 6204174, 6329988, 6455801, 6581614, 6707427] + hit0 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'specialist' + self.名称 = '苍暮·源能专家' + self.角色 = '枪剑士' + self.角色类型 = '输出' + self.职业 = '源能专家' + self.武器选项 = ['源力剑'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '源力剑' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/spectre.py b/api/core/characters/spectre.py new file mode 100644 index 00000000..fdbd0750 --- /dev/null +++ b/api/core/characters/spectre.py @@ -0,0 +1,580 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.05 + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 关联技能 = ['鬼缚钉'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = "双重斩" + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [20, 250] + 无色消耗 = 0 + data0 = [0, 872, 960, 1048, 1136, 1226, 1315, 1401, 1489, 1579, 1667, 1755, 1843, 1934, 2021, 2110, 2198, 2285, 2376, 2463, 2552, 2642, 2729, 2818, 2905, 2993, 3084, 3170, 3260, 3347, 3436, 3524, 3612, 3702, 3791, 3879, 3967, 4054, 4145, 4234, 4321, 4410, 4496, 4586, 4674, 4762, 4852, 4940, 5029, 5117, 5206, 5294, 5381, 5472, 5561, 5648, 5736, 5824, 5912, 6003, 6090, 6178, 6266, 6354, 6444, 6531, 6620, 6710, 6797, 6886, 6974] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(主动技能): + 名称 = "鬼缚钉" + 所在等级 = 5 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + CD = 7 + MP = [75, 75] + 无色消耗 = 0 + data0 = [0, 553] + hit0 = 1 + data1 = [0, 1288] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能3(主动技能): + 名称 = "冲击斩" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 2932, 3232, 3528, 3826, 4123, 4422, 4719, 5015, 5314, 5611, 5908, 6207, 6503, 6802, 7100, 7396, 7694, 7992, 8290, 8587, 8885, 9182, 9480, 9777, 10074, 10373, 10670, 10968, 11266, 11563, 11861, 12159, 12456, 12753, 13050, 13347, 13647, 13944, 14242, 14540, 14837, 15135, 15431, 15729, 16027, 16323, 16622, 16920, 17218, 17515, 17813, 18110, 18407, 18706, 19003, 19300, 19597, 19896, 20192, 20489, 20789, 21087, 21383, 21682, 21980, 22276, 22574, 22873, 23168, 23466] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "回旋勾斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [60, 560] + 无色消耗 = 0 + data0 = [0, 1390, 1535, 1674, 1817, 1957, 2098, 2239, 2381, 2521, 2665, 2806, 2946, 3088, 3227, 3371, 3511, 3652, 3794, 3936, 4077, 4217, 4360, 4501, 4642, 4781, 4924, 5065, 5207, 5347, 5490, 5631, 5771, 5913, 6054, 6197, 6338, 6479, 6621, 6761, 6900, 7043, 7185, 7326, 7468, 7609, 7749, 7891, 8032, 8176, 8315, 8457, 8599, 8739, 8879, 9022, 9164, 9303, 9445, 9587, 9730, 9869, 10011, 10153, 10294, 10433, 10575, 10717, 10859, 11001, 11140] + hit0 = 1 + data1 = [0, 3442, 3791, 4139, 4490, 4838, 5187, 5539, 5886, 6237, 6585, 6933, 7284, 7632, 7981, 8331, 8683, 9030, 9379, 9730, 10077, 10428, 10775, 11123, 11474, 11823, 12172, 12521, 12871, 13219, 13570, 13921, 14268, 14618, 14965, 15315, 15665, 16012, 16363, 16712, 17062, 17412, 17761, 18109, 18459, 18810, 19155, 19505, 19856, 20203, 20554, 20903, 21251, 21602, 21952, 22301, 22649, 23000, 23347, 23696, 24047, 24394, 24745, 25095, 25444, 25793, 26142, 26491, 26841, 27192, 27537] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "封喉丝" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [46, 380] + 无色消耗 = 0 + data0 = [0, 5770, 6354, 6939, 7525, 8111, 8695, 9282, 9869, 10451, 11036, 11623, 12207, 12793, 13378, 13965, 14549, 15135, 15722, 16305, 16892, 17476, 18061, 18647, 19232, 19818, 20403, 20988, 21573, 22158, 22745, 23331, 23913, 24501, 25086, 25671, 26258, 26842, 27426, 28011, 28599, 29183, 29767, 30354, 30940, 31525, 32109, 32696, 33280, 33865, 34451, 35036, 35622, 36208, 36791, 37378, 37963, 38549, 39134, 39720, 40305, 40889, 41476, 42062, 42644, 43231, 43817, 44402, 44987, 45573, 46159] + hit0 = 0 + data1 = [0, 7378, 8128, 8878, 9625, 10374, 11123, 11872, 12620, 13369, 14119, 14867, 15615, 16364, 17111, 17862, 18609, 19357, 20105, 20854, 21602, 22352, 23100, 23847, 24597, 25345, 26096, 26844, 27592, 28342, 29088, 29837, 30587, 31334, 32085, 32834, 33580, 34330, 35079, 35826, 36576, 37326, 38072, 38822, 39571, 40319, 41068, 41817, 42564, 43314, 44063, 44812, 45560, 46310, 47058, 47805, 48556, 49304, 50052, 50802, 51550, 52297, 53047, 53795, 54545, 55294, 56042, 56790, 57539, 58287, 59036] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["抓取", "非抓"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "抓取": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "非抓": + self.hit0 = 0 + self.hit1 = 1 + + +class 技能6(被动技能): + 名称 = '孤勇之志' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + + def 独立攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.14 + 0.02 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "利刃旋风" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [35, 300] + 无色消耗 = 0 + data0 = [0, 1120, 1234, 1347, 1462, 1575, 1689, 1801, 1917, 2028, 2143, 2255, 2370, 2483, 2597, 2712, 2825, 2939, 3053, 3167, 3280, 3395, 3508, 3623, 3736, 3849, 3964, 4077, 4190, 4305, 4418, 4532, 4643, 4758, 4872, 4985, 5098, 5214, 5327, 5440, 5553, 5668, 5782, 5894, 6009, 6124, 6237, 6350, 6465, 6578, 6692, 6803, 6918, 7032, 7145, 7258, 7373, 7486, 7600, 7713, 7828, 7940, 8054, 8170, 8282, 8396, 8509, 8624, 8737, 8852, 8965] + hit0 = 1 + data1 = [0, 1643, 1810, 1976, 2143, 2310, 2477, 2644, 2810, 2976, 3144, 3310, 3476, 3643, 3811, 3978, 4144, 4309, 4476, 4642, 4811, 4976, 5144, 5310, 5478, 5643, 5809, 5976, 6145, 6309, 6477, 6644, 6812, 6978, 7143, 7311, 7479, 7644, 7811, 7979, 8145, 8312, 8477, 8645, 8812, 8978, 9145, 9312, 9479, 9645, 9814, 9977, 10145, 10311, 10479, 10645, 10812, 10978, 11147, 11311, 11479, 11644, 11813, 11979, 12145, 12312, 12481, 12644, 12812, 12979, 13147] + hit1 = 1 + data2 = [0, 540, 595, 648, 705, 758, 812, 868, 922, 977, 1032, 1085, 1143, 1197, 1250, 1305, 1359, 1415, 1470, 1523, 1579, 1634, 1689, 1745, 1800, 1854, 1908, 1962, 2017, 2073, 2127, 2182, 2237, 2291, 2346, 2402, 2456, 2510, 2564, 2619, 2676, 2730, 2784, 2839, 2892, 2948, 3003, 3056, 3112, 3167, 3221, 3277, 3330, 3388, 3443, 3496, 3551, 3606, 3659, 3716, 3770, 3826, 3880, 3933, 3988, 4043, 4099, 4153, 4207, 4263, 4317] + hit2 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "白牙落斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [44, 375] + 无色消耗 = 0 + data0 = [0, 8080, 8900, 9720, 10542, 11359, 12178, 13000, 13818, 14640, 15458, 16279, 17098, 17916, 18736, 19557, 20376, 21196, 22017, 22835, 23655, 24476, 25295, 26115, 26935, 27754, 28576, 29393, 30214, 31034, 31853, 32673, 33494, 34313, 35132, 35954, 36772, 37593, 38412, 39233, 40052, 40869, 41692, 42510, 43331, 44151, 44972, 45790, 46609, 47431, 48250, 49070, 49890, 50710, 51529, 52347, 53169, 53989, 54805, 55628, 56446, 57267, 58086, 58907, 59726, 60544, 61365, 62184, 63006, 63824, 64645] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能9(主动技能): + 名称 = "疾刃之影" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [61, 640] + 无色消耗 = 0 + data0 = [0, 7019, 7730, 8442, 9156, 9867, 10579, 11291, 12003, 12717, 13427, 14140, 14851, 15564, 16276, 16989, 17700, 18412, 19125, 19836, 20548, 21262, 21973, 22685, 23396, 24110, 24821, 25533, 26245, 26959, 27670, 28381, 29093, 29805, 30519, 31231, 31942, 32654, 33367, 34078, 34791, 35501, 36215, 36928, 37639, 38350, 39063, 39775, 40488, 41200, 41911, 42624, 43336, 44046, 44761, 45472, 46183, 46895, 47610, 48321, 49032, 49746, 50457, 51170, 51880, 52593, 53305, 54016, 54729, 55441, 56152] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = "薄暮利刃" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [70, 700] + 无色消耗 = 0 + data0 = [0, 1613, 1777, 1940, 2105, 2267, 2429, 2594, 2756, 2922, 3085, 3250, 3412, 3576, 3740, 3903, 4066, 4230, 4393, 4557, 4721, 4883, 5048, 5212, 5377, 5539, 5701, 5866, 6028, 6193, 6357, 6520, 6684, 6848, 7009, 7174, 7337, 7503, 7665, 7828, 7993, 8155, 8320, 8484, 8649, 8810, 8974, 9138, 9300, 9464, 9629, 9792, 9956, 10119, 10281, 10446, 10609, 10774, 10937, 11100, 11265, 11427, 11592, 11755, 11917, 12082, 12246, 12408, 12573, 12736, 12900] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能11(主动技能): + 名称 = "黑夜之花" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 14 + MP = [156, 822] + 无色消耗 = 0 + data0 = [0, 845, 931, 1016, 1103, 1188, 1275, 1360, 1444, 1533, 1618, 1704, 1789, 1874, 1960, 2047, 2131, 2218, 2302, 2390, 2475, 2561, 2647, 2732, 2818, 2905, 2989, 3077, 3161, 3249, 3334, 3419, 3505, 3592, 3676, 3763, 3847, 3934, 4018, 4106, 4192, 4278, 4364, 4448, 4535, 4622, 4706, 4791, 4878, 4962, 5050, 5134, 5220, 5306, 5393, 5479, 5565, 5650, 5737, 5821, 5908, 5992, 6079, 6165, 6250, 6335, 6422, 6507, 6596, 6680, 6766] + hit0 = 5 + data1 = [0, 1802, 1986, 2169, 2351, 2533, 2716, 2899, 3082, 3266, 3447, 3630, 3814, 3997, 4180, 4364, 4548, 4730, 4912, 5096, 5279, 5462, 5645, 5827, 6009, 6192, 6376, 6558, 6740, 6924, 7106, 7290, 7472, 7656, 7839, 8021, 8205, 8386, 8570, 8754, 8936, 9119, 9300, 9484, 9667, 9851, 10035, 10215, 10399, 10583, 10765, 10949, 11132, 11315, 11497, 11680, 11864, 12046, 12229, 12412, 12593, 12777, 12960, 13143, 13325, 13509, 13693, 13874, 14057, 14240, 14423] + hit1 = 1 + data2 = [0, 6040, 6654, 7267, 7879, 8492, 9105, 9717, 10331, 10944, 11557, 12169, 12782, 13396, 14009, 14621, 15233, 15846, 16459, 17072, 17685, 18297, 18911, 19524, 20137, 20749, 21361, 21974, 22588, 23200, 23813, 24427, 25039, 25652, 26266, 26878, 27490, 28103, 28716, 29328, 29944, 30556, 31168, 31782, 32395, 33007, 33620, 34232, 34844, 35458, 36072, 36684, 37296, 37909, 38524, 39136, 39748, 40360, 40972, 41588, 42200, 42812, 43425, 44038, 44652, 45265, 45876, 46488, 47102, 47716, 48328] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能12(主动技能): + 名称 = "回旋十字斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [179, 940] + 无色消耗 = 1 + data0 = [0, 944, 1039, 1136, 1231, 1327, 1421, 1517, 1614, 1709, 1805, 1901, 1997, 2093, 2190, 2284, 2381, 2476, 2571, 2666, 2763, 2859, 2954, 3050, 3145, 3242, 3338, 3431, 3529, 3626, 3722, 3817, 3913, 4008, 4103, 4199, 4296, 4391, 4487, 4583, 4677, 4774, 4870, 4967, 5061, 5158, 5253, 5350, 5446, 5539, 5635, 5732, 5828, 5923, 6019, 6114, 6211, 6306, 6402, 6498, 6595, 6689, 6786, 6882, 6978, 7072, 7167, 7263, 7360, 7457, 7552] + hit0 = 5 + data1 = [0, 7975, 8784, 9593, 10404, 11211, 12021, 12829, 13638, 14447, 15256, 16064, 16875, 17685, 18492, 19302, 20111, 20921, 21728, 22539, 23349, 24156, 24967, 25775, 26584, 27392, 28201, 29011, 29821, 30629, 31438, 32248, 33055, 33865, 34676, 35485, 36293, 37102, 37912, 38719, 39530, 40339, 41147, 41959, 42766, 43576, 44384, 45192, 46002, 46811, 47621, 48429, 49239, 50048, 50856, 51666, 52475, 53284, 54094, 54903, 55711, 56522, 57329, 58139, 58949, 59755, 60567, 61375, 62184, 62992, 63802] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "空中": + if '回旋十字斩' in char.护石栏: + self.hit0 = 0 + self.hit1 = 1 + self.power1 = 2.21 + else: + 形态 = "地面" + if 形态 == "地面": + self.hit0 = 5 + self.hit1 = 1 + if '回旋十字斩' in char.护石栏: + self.hit1 = 0 + self.power0 = 3.51 + + def 装备护石(self, char): + self.hit1 = 0 + self.power1 = 3.51 + + +class 技能13(被动技能): + 名称 = '刃之决意' + 所在等级 = 35 + 等级上限 = 60 + 基础等级 = 10 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.02 * self.等级, 5) + + +class 技能14(主动技能): + 名称 = "夜之风" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [235, 1974] + 无色消耗 = 1 + data0 = [0, 5482, 6039, 6595, 7151, 7709, 8264, 8819, 9377, 9933, 10488, 11046, 11602, 12158, 12712, 13270, 13824, 14380, 14939, 15495, 16050, 16607, 17163, 17720, 18276, 18832, 19388, 19945, 20502, 21057, 21615, 22169, 22725, 23283, 23839, 24395, 24950, 25508, 26063, 26619, 27177, 27732, 28287, 28846, 29402, 29955, 30513, 31069, 31625, 32183, 32738, 33293, 33852, 34407, 34963, 35518, 36076, 36633, 37187, 37745, 38300, 38856, 39414, 39970, 40526, 41082, 41638, 42193, 42752, 43307, 43863] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.power0 = 4.05 + + +class 技能15(主动技能): + 名称 = "秘术·心斩" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [250, 2503] + 无色消耗 = 2 + data0 = [0, 31476, 34671, 37864, 41057, 44251, 47445, 50638, 53830, 57025, 60219, 63410, 66604, 69798, 72991, 76184, 79378, 82572, 85766, 88959, 92153, 95345, 98538, 101730, 104923, 108119, 111313, 114505, 117700, 120893, 124085, 127278, 130473, 133666, 136860, 140053, 143246, 146439, 149632, 152825, 156019, 159214, 162405, 165599, 168793, 171986, 175179, 178374, 181567, 184761, 187954, 191148, 194339, 197533, 200726, 203920, 207113, 210308, 213500, 216695, 219888, 223081, 226274, 229469, 232660, 235854, 239047, 242242, 245434, 248628, 251822] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.30 + self.CDR *= 0.9 + + +class 技能16(被动技能): + 名称 = '收刀秘术' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03 + 0.015 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "沉寂之狱" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 28176, 34710, 41242, 47778, 54312, 60844, 67379, 73913, 80446, 86981, 93514, 100047, 106583, 113116, 119648, 126183, 132718, 139252, 145785, 152319, 158852, 165387, 171920, 178454, 184988, 191521, 198055, 204588, 211122, 217657, 224190, 230724, 237257, 243793, 250325, 256860, 263393, 269925, 276461, 282994, 289529, 296061, 302596, 309130, 315663, 322196, 328731, 335266, 341797, 348331] + hit0 = 1 + data1 = [0, 59735, 73586, 87439, 101289, 115141, 128993, 142844, 156696, 170550, 184399, 198252, 212101, 225954, 239805, 253657, 267509, 281360, 295212, 309064, 322916, 336768, 350620, 364472, 378321, 392174, 406025, 419878, 433730, 447581, 461431, 475283, 489136, 502985, 516838, 530691, 544541, 558393, 572245, 586096, 599950, 613801, 627652, 641501, 655355, 669206, 683058, 696911, 710762, 724613, 738464] + hit1 = 1 + + def 等效百分比(self, **argv): + if self.等级 >= 9: + return super().等效百分比(**argv) * 1.1 + return super().等效百分比(**argv) + + +class 技能18(主动技能): + 名称 = "瞬影碎魂击" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [280, 784] + 无色消耗 = 1 + data0 = [0, 5440, 5992, 6544, 7097, 7648, 8200, 8752, 9304, 9855, 10408, 10962, 11513, 12064, 12617, 13168, 13720, 14272, 14825, 15375, 15928, 16480, 17030, 17584, 18136, 18689, 19239, 19793, 20345, 20895, 21448, 22000, 22552, 23103, 23656, 24209, 24759, 25312, 25864, 26416, 26967, 27520, 28071, 28623, 29176, 29727, 30281, 30831, 31385, 31935, 32488] + hit0 = 1 + data1 = [0, 2548, 2805, 3065, 3323, 3579, 3840, 4096, 4356, 4612, 4873, 5132, 5389, 5649, 5906, 6165, 6423, 6682, 6940, 7199, 7459, 7715, 7974, 8231, 8491, 8748, 9008, 9267, 9526, 9782, 10040, 10300, 10558, 10817, 11075, 11335, 11591, 11850, 12108, 12368, 12625, 12884, 13143, 13401, 13660, 13918, 14176, 14434, 14693, 14953, 15209] + hit1 = 3 + data2 = [0, 12737, 14027, 15321, 16613, 17904, 19199, 20489, 21782, 23073, 24364, 25659, 26948, 28243, 29535, 30827, 32120, 33410, 34704, 35995, 37288, 38578, 39872, 41166, 42456, 43751, 45040, 46333, 47626, 48917, 50209, 51501, 52794, 54088, 55378, 56670, 57963, 59255, 60547, 61839, 63129, 64424, 65716, 67008, 68300, 69592, 70885, 72175, 73467, 74761, 76053] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.24 + self.CDR *= 0.8 + + +class 技能19(主动技能): + 名称 = "追命索魂丝" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [756, 1587] + 无色消耗 = 2 + data0 = [0, 36163, 39832, 43500, 47168, 50838, 54507, 58178, 61844, 65512, 69182, 72851, 76518, 80188, 83858, 87526, 91193, 94862, 98531, 102202, 105868, 109538, 113206, 116877, 120545, 124212, 127881, 131550, 135220, 138887, 142556, 146225, 149895, 153564, 157232, 160901, 164569, 168236, 171906, 175575, 179245, 182915, 186582, 190249, 193920, 197587, 201255, 204926, 208595, 212264, 215932] + hit0 = 1 + data1 = [0, 15497, 17071, 18642, 20214, 21787, 23358, 24932, 26503, 28077, 29649, 31222, 32795, 34366, 35938, 37512, 39083, 40654, 42228, 43800, 45372, 46942, 48516, 50089, 51661, 53234, 54805, 56377, 57951, 59523, 61097, 62666, 64240, 65814, 67386, 68957, 70531, 72102, 73674, 75247, 76818, 78391, 79962, 81536, 83106, 84680, 86252, 87825, 89397, 90969, 92542] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + + +class 技能20(被动技能): + 名称 = '无情夜行' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['沉寂之狱', '黑曜真刃·破晓', '秘术·雨夜终曲'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.9 + + +class 技能21(主动技能): + 名称 = "秘术·曜夜斩" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 76299, 84040, 91782, 99521, 107263, 115003, 122744, 130484, 138225, 145966, 153707, 161446, 169187, 176928, 184669, 192409, 200149, 207890, 215631, 223371, 231111, 238853, 246592, 254334, 262073, 269815, 277556, 285298, 293037, 300779, 308518, 316261, 324000, 331741, 339481, 347223, 354962, 362704, 370443, 378182, 385924, 393664, 401406, 409144, 416886, 424626, 432369, 440108, 447849, 455588] + hit0 = 1 + + 是否有护石 = 1 + + 形态 = ["收刀", "不收"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "收刀" and '秘术·曜夜斩' in char.护石栏: + self.power0 = 1.05 + else: + self.power0 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + + +class 技能22(主动技能): + 名称 = "悬丝风暴" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1700] + 无色消耗 = 5 + data0 = [0, 10962, 12071, 13185, 14296, 15408, 16519, 17632, 18744, 19855, 20968, 22081, 23193, 24304, 25414, 26529, 27639, 28752, 29863, 30976, 32087, 33199, 34310, 35424, 36535, 37647, 38761, 39872, 40984, 42095, 43207, 44319, 45432, 46542, 47655, 48768, 49878, 50992, 52104, 53215, 54328, 55438, 56552, 57662, 58775, 59885, 60998, 62110, 63221, 64336, 65447] + hit0 = 1 + data1 = [0, 16440, 18108, 19775, 21445, 23112, 24782, 26449, 28115, 29783, 31453, 33121, 34788, 36457, 38124, 39792, 41459, 43129, 44796, 46464, 48132, 49798, 51467, 53135, 54805, 56472, 58139, 59808, 61474, 63141, 64811, 66479, 68148, 69815, 71481, 73150, 74819, 76488, 78156, 79823, 81491, 83158, 84827, 86495, 88162, 89831, 91498, 93166, 94834, 96503, 98171] + hit1 = 1 + data2 = [0, 30264, 33336, 36406, 39477, 42548, 45617, 48689, 51759, 54830, 57901, 60968, 64040, 67109, 70182, 73252, 76321, 79393, 82463, 85535, 88605, 91672, 94744, 97814, 100885, 103955, 107026, 110097, 113168, 116238, 119309, 122378, 125449, 128520, 131590, 134661, 137731, 140803, 143873, 146944, 150014, 153082, 156153, 159223, 162295, 165365, 168436, 171505, 174575, 177647, 180717] + hit2 = 1 + data3 = [0, 3150, 3469, 3786, 4110, 4427, 4745, 5067, 5385, 5703, 6025, 6344, 6663, 6983, 7302, 7621, 7941, 8261, 8581, 8899, 9218, 9538, 9858, 10176, 10496, 10818, 11136, 11456, 11776, 12095, 12415, 12735, 13054, 13373, 13691, 14011, 14331, 14651, 14970, 15289, 15609, 15928, 16249, 16568, 16886, 17207, 17526, 17845, 18166, 18485, 18803] + hit3 = 14 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + +class 技能23(主动技能): + 名称 = "黑曜真刃·破晓" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 74634, 91937, 109245, 126549, 143858, 161164, 178467, 195776, 213080, 230388, 247695, 264998, 282306, 299611, 316920, 334224, 351529, 368838, 386142, 403450, 420752, 438060, 455367, 472672, 489981, 507284, 524592, 541898, 559204, 576511, 593814, 611123, 628429, 645734, 663041, 680346, 697653, 714960, 732266, 749571, 766876, 784185, 801490, 818795, 836103, 853407, 870715, 888021, 905326, 922633] + hit0 = 3 + + +class 技能24(被动技能): + 名称 = '夜色杀意' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能25(主动技能): + 名称 = "绚烂之舞" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 17283, 19036, 20790, 22542, 24296, 26050, 27802, 29555, 31309, 33060, 34815, 36570, 38322, 40076, 41829, 43582, 45337, 47088, 48845, 50598, 52351, 54104, 55857, 57608, 59362, 61118, 62870, 64624, 66377, 68130, 69884, 71638, 73391, 75143, 76896, 78650, 80404, 82157, 83911, 85665, 87417, 89170, 90923, 92676, 94431, 96184, 97937, 99690, 101443, 103196] + hit0 = 1 + data1 = [0, 6050, 6664, 7277, 7892, 8504, 9118, 9732, 10341, 10956, 11572, 12184, 12800, 13411, 14026, 14639, 15254, 15870, 16482, 17096, 17710, 18324, 18935, 19549, 20163, 20778, 21391, 22005, 22617, 23230, 23845, 24458, 25073, 25687, 26301, 26914, 27529, 28139, 28754, 29366, 29982, 30597, 31210, 31824, 32437, 33052, 33664, 34279, 34892, 35507, 36119] + hit1 = 10 + data2 = [0, 25923, 28554, 31184, 33814, 36443, 39074, 41705, 44333, 46964, 49594, 52226, 54856, 57484, 60115, 62744, 65377, 68005, 70635, 73265, 75895, 78525, 81156, 83787, 86416, 89046, 91675, 94303, 96934, 99566, 102195, 104826, 107454, 110085, 112715, 115346, 117975, 120605, 123236, 125866, 128498, 131125, 133754, 136386, 139016, 141647, 144277, 146908, 149536, 152165, 154796] + hit2 = 1 + data3 = [0, 69132, 76146, 83158, 90172, 97186, 104201, 111212, 118225, 125239, 132253, 139267, 146279, 153294, 160307, 167319, 174334, 181347, 188361, 195374, 202387, 209402, 216415, 223430, 230440, 237455, 244468, 251481, 258496, 265508, 272522, 279534, 286550, 293562, 300576, 307590, 314603, 321617, 328629, 335643, 342658, 349670, 356682, 363697, 370710, 377723, 384736, 391752, 398764, 405779, 412792] + hit3 = 1 + + +class 技能26(主动技能): + 名称 = "秘术·雨夜终曲" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 55002, 67756, 80509, 93264, 106018, 118773, 131526, 144280, 157035, 169790, 182543, 195296, 208051, 220804, 233561, 246313, 259069, 271822, 284576, 297332, 310085, 322837, 335593, 348346, 361103, 373855, 386609, 399364, 412117, 424873, 437626, 450380, 463133, 475888, 488643, 501398, 514151, 526905, 539658, 552414, 565167, 577921, 590675, 603428, 616185, 628938, 641693, 654446, 667199, 679955] + hit0 = 1 + data1 = [0, 192507, 237148, 281787, 326426, 371066, 415704, 460343, 504984, 549623, 594262, 638903, 683543, 728182, 772821, 817460, 862098, 906740, 951380, 996018, 1040658, 1085296, 1129937, 1174577, 1219215, 1263856, 1308497, 1353135, 1397773, 1442413, 1487052, 1531690, 1576333, 1620972, 1665610, 1710250, 1754891, 1799529, 1844169, 1888810, 1933448, 1978088, 2022727, 2067366, 2112006, 2156644, 2201286, 2245926, 2290564, 2335202, 2379844] + hit1 = 1 + data2 = [0, 357515, 440416, 523317, 606218, 689122, 772025, 854926, 937827, 1020729, 1103632, 1186532, 1269436, 1352336, 1435239, 1518142, 1601043, 1683945, 1766847, 1849748, 1932650, 2015552, 2098454, 2181358, 2264257, 2347159, 2430062, 2512964, 2595867, 2678768, 2761670, 2844572, 2927474, 3010376, 3093278, 3176180, 3259081, 3341984, 3424886, 3507788, 3590688, 3673592, 3756492, 3839394, 3922298, 4005201, 4088101, 4171002, 4253905, 4336807, 4419710] + hit2 = 1 + + 形态 = ["白牙", "非白"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "白牙": + self.hit0 = 1 + self.hit1 = 1 + self.hit2 = 1 + if 形态 == "非白": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'spectre' + self.名称 = '极诣·刃影' + self.角色 = '鬼剑士(女)' + self.角色类型 = '输出' + self.职业 = '刃影' + self.武器选项 = ['太刀'] + self.输出类型选项 = ['物理固伤'] + self.防具精通属性 = ['力量'] + self.类型 = '物理固伤' + self.武器类型 = '太刀' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/spitfire_female.py b/api/core/characters/spitfire_female.py new file mode 100644 index 00000000..59b491d5 --- /dev/null +++ b/api/core/characters/spitfire_female.py @@ -0,0 +1,532 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 +from typing import Dict, List, Union + + +class 职业主动技能(主动技能): + 技能施放时间 = 0.0 + 脱手 = 1 + + +class 技能0(被动技能): + 名称 = '单兵推进器' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['交叉射击', '聚合弹', '凝固汽油弹', '超真空弹:切利'] + 关联技能1 = ['爆裂弹'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + (10 + self.等级) / 100, 3) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + (2 * self.等级) / 100, 3) + + +class 技能1(被动技能): + 名称 = '兵器研究' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['EMP磁暴', '决战之日', '终解·制空霸权'] + + def 独立攻击力倍率(self, 武器类型): + return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.01 * self.等级, 3) + + +class 技能2(被动技能): + 名称 = '手雷精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['G35感电手雷', 'G18冰冻手雷'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 1.2*(0.1 * self.等级), 3) + + +class 技能3(被动技能): + 名称 = '弹药改良' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['所有'] + 技能加成描述 = '' + 加成数值 = 1.0 + 关联技能1 = ['所有'] + + def 加成倍率(self, 武器类型): + return 1.1 + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.03 + min(10, self.等级) * 0.02 + max(0, self.等级 - 10) * 0.01 + + +class 技能4(职业主动技能): + 名称 = "M18阔剑地雷" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [70, 588] + 无色消耗 = 0 + data0 = [0, 1232, 1357, 1482, 1607, 1732, 1857, 1981, 2106, 2231, 2358, 2483, 2608, 2733, 2858, 2983, 3108, 3233, 3358, 3483, 3607, 3732, 3857, 3982, 4107, 4234, 4359, 4484, 4609, 4734, 4859, 4984, 5109, 5233, 5358, 5483, 5608, 5733, 5858, 5983, 6108, 6235, 6360, 6485, 6610, 6735, 6859, 6984, 7109, 7234, 7359, 7484, 7609, 7734, 7859, 7984, 8111, 8236, 8360, 8485, 8610, 8735, 8860, 8985, 9110, 9235, 9360, 9485, 9610, 9735, 9860] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(职业主动技能): + 名称 = 'G35感电手雷' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [40, 350] + 无色消耗 = 0 + data0 = [0, 954, 1051, 1148, 1242, 1340, 1437, 1534, 1631, 1727, 1825, 1921, 2018, 2116, 2212, 2310, 2404, 2502, 2598, 2696, 2792, 2889, 2985, 3083, 3181, 3277, 3374, 3470, 3567, 3663, 3760, 3856, 3954, 4050, 4148, 4245, 4341, 4439, 4535, 4633, 4729, 4825, 4921, 5018, 5115, 5212, 5310, 5406, 5503, 5600, 5697, 5793, 5891, 5985, 6083, 6179, 6277, 6374, 6470, 6568, 6664, 6762, 6858, 6955, 7053, 7148, 7244, 7341, 7439, 7535, 7633] + hit0 = 1 + 感电data0 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14] + 感电hit0 = 1 + 感电power0 = 1 + TP成长 = 0.10 + TP基础 = 7 + TP上限 = 7 + 基础施放次数 = 3 + + 形态 = ["特化", "普通"] + + def 形态变更(self, 形态, char): + if 形态 == '70特': + 形态 = '特化' + if 形态 == '70普': + 形态 = '普通' + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "特化": + if char.get_skill_by_name("手雷精通").等级 > 0: + self.power0 = 1.2 + self.感电power0 = 1 + if 形态 == "普通": + self.power0 = 1 + self.感电power0 = 1 + # def 等效CD(self, 武器类型, 输出类型): + # # 经过测试,手雷恢复速度无法享受技能冷却恢复加成 + # return round(self.CD, 1) + + +class 技能6(职业主动技能): + 名称 = "交叉射击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [70, 588] + 无色消耗 = 0 + data0 = [0, 2172, 2391, 2611, 2832, 3052, 3273, 3493, 3712, 3933, 4154, 4374, 4595, 4815, 5034, 5255, 5475, 5696, 5917, 6137, 6356, 6577, 6797, 7018, 7239, 7459, 7678, 7899, 8119, 8340, 8560, 8781, 9000, 9221, 9441, 9662, 9882, 10103, 10322, 10542, 10763, 10984, 11204, 11425, 11644, 11864, 12085, 12306, 12526, 12747, 12966, 13186, 13407, 13627, 13848, 14069, 14288, 14508, 14729, 14949, 15170, 15390, 15609, 15830, 16051, 16271, 16492, 16712, 16931, 17152, 17372] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(职业主动技能): + 名称 = "爆裂弹" + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 0.115 + MP = [357, 2765] + 无色消耗 = 0 + data0 = [0, 1034, 1200, 1364, 1528, 1693, 1857, 2021, 2187, 2352, 2516, 2682, 2846, 3010, 3175, 3339, 3505, 3671, 3835, 4000, 4164] + hit0 = 1 + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + if 武器类型 == "手弩": + return 0.115 + if 武器类型 == "步枪": + return 0.14 + return 0.5 + + +class 技能8(职业主动技能): + 名称 = 'G18冰冻手雷' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 4 + MP = [70, 560] + 无色消耗 = 0 + data0 = [0, 1174, 1292, 1412, 1531, 1649, 1770, 1887, 2008, 2127, 2245, 2365, 2483, 2602, 2723, 2841, 2961, 3079, 3198, 3319, 3436, 3557, 3675, 3794, 3913, 4032, 4153, 4270, 4390, 4509, 4628, 4747, 4866, 4985, 5103, 5224, 5343, 5462, 5581, 5699, 5819, 5939, 6058, 6177, 6295, 6415, 6534, 6653, 6773, 6890, 7011, 7130, 7248, 7368, 7486, 7607, 7726, 7844, 7964, 8082, 8202, 8322, 8439, 8560, 8678, 8798, 8917, 9035, 9156, 9273, 9393] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 基础施放次数 = 3 + + 形态 = ["特化", "普通"] + + def 形态变更(self, 形态, char): + if 形态 == '70特': + 形态 = '特化' + if 形态 == '70普': + 形态 = '普通' + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "特化": + if char.get_skill_by_name("手雷精通").等级 > 0: + self.power0 = 1.2 + if 形态 == "普通": + self.power0 = 1 + + +class 技能9(职业主动技能): + 名称 = "聚合弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [150, 1232] + 无色消耗 = 0 + data0 = [0, 16283, 17936, 19588, 21240, 22891, 24545, 26196, 27848, 29501, 31153, 32805, 34456, 36110, 37761, 39413, 41065, 42718, 44370, 46021, 47673, 49326, 50978, 52629, 54281, 55935, 57586, 59238, 60889, 62543, 64194, 65846, 67498, 69151, 70803, 72454, 74106, 75759, 77411, 79063, 80714, 82368, 84019, 85671, 87324, 88976, 90628, 92279, 93933, 95584, 97236, 98887, 100541, 102192, 103844, 105496, 107149, 108801, 110452, 112104, 113757, 115409, 117061, 118712, 120366, 122017, 123669, 125321, 126974, 128626, 130277] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(职业主动技能): + 名称 = "C4飞弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1232] + 无色消耗 = 0 + data0 = [0, 14160, 15597, 17033, 18470, 19907, 21343, 22780, 24216, 25653, 27090, 28526, 29963, 31399, 32836, 34274, 35709, 37146, 38582, 40019, 41457, 42892, 44330, 45765, 47202, 48640, 50075, 51513, 52948, 54386, 55823, 57258, 58696, 60131, 61569, 63006, 64442, 65879, 67314, 68752, 70189, 71625, 73062, 74497, 75935, 77372, 78808, 80245, 81681, 83118, 84555, 85991, 87428, 88864, 90301, 91738, 93174, 94611, 96047, 97484, 98921, 100357, 101794, 103230, 104667, 106104, 107540, 108977, 110413, 111850, 113288] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 1.25 + + +class 技能11(职业主动技能): + 名称 = "凝固汽油弹" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 1812] + 无色消耗 = 1 + data0 = [0, 16469, 18139, 19808, 21478, 23151, 24821, 26491, 28163, 29834, 31504, 33174, 34844, 36517, 38187, 39857, 41528, 43200, 44869, 46539, 48211, 49881, 51552, 53222, 54893, 56563, 58235, 59906, 61576, 63246, 64918, 66587, 68259, 69929, 71599, 73272, 74942, 76611, 78285, 79955, 81624, 83294, 84964, 86637, 88307, 89977, 91648, 93320, 94990, 96660, 98329, 100003, 101672, 103342, 105014, 106684, 108355, 110027, 111697, 113366, 115038, 116708, 118379, 120049, 121721, 123392, 125062, 126732, 128402, 130073, 131745] + hit0 = 1 + data1 = [0, 86, 91, 101, 108, 118, 125, 135, 142, 152, 159, 168, 178, 185, 195, 202, 212, 219, 229, 235, 245, 253, 262, 272, 279, 289, 296, 305, 312, 322, 331, 339, 348, 356, 367, 373, 382, 389, 399, 408, 416, 425, 433, 442, 449, 459, 468, 476, 485, 493, 502, 510, 517, 526, 534, 545, 553, 562, 570, 579, 587, 594, 603, 611, 622, 629, 639, 647, 656, 663, 671] + hit1 = 15 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.4 + self.hit1 = 0 + self.CDR *= 0.94 + + +class 技能12(职业主动技能): + 名称 = "镭射狙击" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 5603, 6171, 6739, 7308, 7877, 8446, 9013, 9582, 10151, 10719, 11290, 11857, 12426, 12995, 13563, 14132, 14700, 15268, 15837, 16406, 16973, 17542, 18111, 18680, 19247, 19816, 20385, 20953, 21522, 22090, 22658, 23227, 23796, 24363, 24932, 25501, 26070, 26638, 27206, 27775, 28343, 28912, 29480, 30050, 30619, 31187, 31756, 32323, 32892, 33461, 34030, 34599, 35166, 35735, 36304, 36872, 37440, 38009, 38577, 39146, 39715, 40282, 40851, 41420, 41989, 42556, 43125, 43694, 44262, 44831] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 0.28 + self.hit0 = 24 + self.技能施放时间 = 3.0 + + +class 技能13(被动技能): + 名称 = '弹药强化' + 所在等级 = 48 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + return 1.105 + self.等级 * 0.015 if self.等级 > 0 else 1 + + +class 技能14(职业主动技能): + 名称 = "EMP磁暴" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [880, 7392] + 无色消耗 = 5 + data0 = [0, 21013, 25886, 30758, 35632, 40504, 45376, 50249, 55123, 59995, 64867, 69741, 74613, 79486, 84358, 89232, 94104, 98977, 103851, 108723, 113595, 118467, 123341, 128214, 133086, 137958, 142832, 147704, 152577, 157451, 162323, 167195, 172068, 176942, 181814, 186686, 191560, 196432, 201305, 206177, 211051, 215923, 220796, 225670, 230542, 235414, 240286, 245160, 250033, 254905, 259777] + hit0 = 1 + data1 = [0, 21013, 25886, 30758, 35632, 40504, 45376, 50249, 55123, 59995, 64867, 69741, 74613, 79486, 84358, 89232, 94104, 98977, 103851, 108723, 113595, 118467, 123341, 128214, 133086, 137958, 142832, 147704, 152577, 157451, 162323, 167195, 172068, 176942, 181814, 186686, 191560, 196432, 201305, 206177, 211051, 215923, 220796, 225670, 230542, 235414, 240286, 245160, 250033, 254905, 259777] + hit1 = 1 + data2 = [0, 1049, 1293, 1537, 1781, 2025, 2268, 2512, 2754, 2998, 3242, 3486, 3730, 3974, 4218, 4462, 4704, 4948, 5191, 5435, 5679, 5923, 6167, 6409, 6653, 6897, 7141, 7385, 7628, 7872, 8114, 8358, 8602, 8846, 9090, 9334, 9578, 9822, 10064, 10308, 10551, 10795, 11039, 11283, 11527, 11769, 12013, 12257, 12501, 12745, 12988] + hit2 = 20 + data3 = [0, 21013, 25886, 30758, 35632, 40504, 45376, 50249, 55123, 59995, 64867, 69741, 74613, 79486, 84358, 89232, 94104, 98977, 103851, 108723, 113595, 118467, 123341, 128214, 133086, 137958, 142832, 147704, 152577, 157451, 162323, 167195, 172068, 176942, 181814, 186686, 191560, 196432, 201305, 206177, 211051, 215923, 220796, 225670, 230542, 235414, 240286, 245160, 250033, 254905, 259777] + hit3 = 1 + + +class 技能15(职业主动技能): + 名称 = 'G61重力手雷' + + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 20 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 345, 381, 416, 452, 485, 520, 556, 592, 627, 662, 697, 731, 767, 801, 837, 872, 908, 944, 977, 1012, 1048, 1083, 1119, 1153, 1187, 1223, 1259, 1294, 1329, 1364, 1400, 1434, 1468, 1504, 1539, 1575, 1611, 1646, 1679, 1715, 1750, 1786, 1822, 1856, 1890, 1926, 1961, 1996, 2031, 2067] + hit0 = 29 + data1 = [0, 10385, 11439, 12494, 13547, 14602, 15655, 16710, 17762, 18816, 19870, 20924, 21976, 23031, 24084, 25139, 26193, 27247, 28301, 29353, 30408, 31461, 32516, 33568, 34622, 35676, 36730, 37783, 38838, 39890, 40945, 41999, 43053, 44107, 45159, 46214, 47267, 48322, 49375, 50430, 51481, 52536, 53589, 54644, 55697, 56752, 57805, 58858, 59913, 60966, 62021] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 技能施放时间 = 3 + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 2.34 + self.技能施放时间 = 0.5 + self.hit0 = 5 + + +class 技能16(职业主动技能): + 名称 = '超真空弹:切利' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [800, 1680] + 无色消耗 = 3 + data0 = [0, 164, 181, 197, 213, 231, 248, 264, 280, 298, 315, 331, 347, 364, 382, 398, 415, 431, 447, 465, 482, 498, 514, 532, 549, 565, 581, 598, 616, 632, 648, 665, 681, 699, 716, 732, 748, 765, 783, 799, 815, 832, 850, 866, 882, 899, 915, 933, 949, 966, 982] + hit0 = 20 + data1 = [0, 658, 725, 792, 858, 925, 992, 1059, 1126, 1193, 1260, 1326, 1393, 1460, 1527, 1594, 1661, 1727, 1794, 1861, 1928, 1995, 2062, 2129, 2194, 2261, 2328, 2395, 2463, 2530, 2595, 2662, 2729, 2796, 2863, 2930, 2996, 3063, 3130, 3197, 3264, 3331, 3398, 3464, 3531, 3598, 3665, 3732, 3799, 3865, 3932] + hit1 = 5 + data2 = [0, 26346, 29020, 31691, 34365, 37038, 39710, 42383, 45056, 47729, 50401, 53074, 55748, 58421, 61093, 63766, 66439, 69112, 71784, 74457, 77131, 79804, 82476, 85149, 87822, 90494, 93167, 95840, 98514, 101185, 103859, 106532, 109205, 111877, 114550, 117223, 119897, 122568, 125242, 127915, 130588, 133260, 135933, 138606, 141278, 143951, 146625, 149298, 151970, 154643, 157316] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 技能施放时间 = 1 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + self.CDR *= 0.95 + + +class 技能17(被动技能): + 名称 = '制空掌握' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 3) + + +class 技能18(职业主动技能): + 名称 = "开火" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [160, 1600] + 无色消耗 = 5 + data0 = [0, 14086, 15516, 16944, 18372, 19802, 21230, 22660, 24090, 25518, 26948, 28378, 29806, 31236, 32665, 34094, 35523, 36953, 38381, 39810, 41238, 42668, 44097, 45526, 46955, 48384, 49813, 51243, 52671, 54101, 55531, 56959, 58389, 59819, 61246, 62675, 64104, 65533, 66963, 68391, 69821, 71251, 72679, 74109, 75537, 76967, 78396, 79825, 81255, 82684, 84111] + hit0 = 6 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.35 + + +class 技能19(职业主动技能): + 名称 = "光子霰雷发射器" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 12572, 13850, 15124, 16400, 17675, 18952, 20227, 21502, 22778, 24053, 25330, 26605, 27881, 29156, 30432, 31708, 32983, 34259, 35533, 36809, 38085, 39362, 40636, 41912, 43187, 44464, 45739, 47014, 48290, 49565, 50842, 52117, 53393, 54668, 55945, 57220, 58496, 59771, 61045, 62323, 63597, 64873, 66148, 67425, 68700, 69976, 71251, 72526, 73803, 75078] + hit0 = 8 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.power0 = 1 + 8.66 + 0.96 + self.CDR *= 0.93 + + +class 技能20(职业主动技能): + 名称 = "决战之日" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 5644, 6954, 8263, 9573, 10881, 12190, 13500, 14808, 16117, 17427, 18736, 20044, 21354, 22664, 23973, 25281, 26591, 27900, 29208, 30518, 31827, 33137, 34445, 35754, 37064, 38373, 39681, 40991, 42301, 43608, 44918, 46228, 47537, 48845, 50155, 51464, 52772, 54082, 55391, 56701, 58009, 59318, 60628, 61938, 63245, 64555, 65865, 67172, 68482, 69792] + hit0 = 40 + + 技能施放时间 = 5 + + +class 技能21(被动技能): + 名称 = '单兵推进器-02X' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(职业主动技能): + 名称 = "空袭战略" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 3000] + 无色消耗 = 7 + data0 = [0, 95173, 104828, 114483, 124139, 133794, 143449, 153104, 162760, 172415, 182070, 191726, 201380, 211036, 220691, 230347, 240001, 249657, 259313, 268967, 278623, 288278, 297933, 307588, 317244, 326899, 336554, 346210, 355865, 365520, 375175, 384831, 394486, 404141, 413796, 423452, 433107, 442762, 452418, 462072, 471728, 481383, 491038, 500693, 510349, 520004, 529659, 539315, 548970, 558625, 568280] + hit0 = 1 + + 技能施放时间 = 2 + 持续时间 = 2 + + +class 技能23(职业主动技能): + 名称 = "终解·制空霸权" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 28558, 35180, 41802, 48424, 55046, 61670, 68292, 74914, 81536, 88157, 94781, 101403, 108025, 114647, 121269, 127891, 134515, 141137, 147759, 154380, 161002, 167624, 174248, 180870, 187492, 194114, 200736, 207360, 213982, 220604, 227225, 233847, 240469, 247093, 253715, 260337, 266959, 273581, 280203, 286827, 293448, 300070, 306692, 313314, 319936, 326560, 333182, 339804, 346426, 353048] + hit0 = 7 + data1 = [0, 93290, 114923, 136555, 158188, 179822, 201454, 223087, 244719, 266352, 287984, 309618, 331251, 352883, 374515, 396148, 417780, 439414, 461047, 482679, 504312, 525944, 547578, 569211, 590843, 612475, 634108, 655740, 677374, 699007, 720639, 742272, 763904, 785537, 807171, 828803, 850436, 872068, 893700, 915334, 936967, 958599, 980232, 1001864, 1023497, 1045131, 1066763, 1088396, 1110028, 1131660, 1153293] + hit1 = 5 + + 脱手 = 0 + 技能施放时间 = 6.8 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'spitfire_female' + self.名称 = '重霄·弹药专家' + self.角色 = '神枪手(女)' + + self.职业 = '弹药专家' + # 用来筛CP武器的 + self.转职 = '弹药专家(女)' + self.武器选项 = ['手弩', '步枪'] + self.输出类型选项 = ['魔法固伤', '物理固伤'] + self.防具精通属性 = ['智力', '力量'] + self.类型 = '魔法固伤' + self.武器类型 = '手弩' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.84 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, rune_except=[ + '爆裂弹'], clothes_pants=['远古记忆']) + diff --git a/api/core/characters/spitfire_male.py b/api/core/characters/spitfire_male.py new file mode 100644 index 00000000..293fa0a5 --- /dev/null +++ b/api/core/characters/spitfire_male.py @@ -0,0 +1,539 @@ + +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 职业主动技能(主动技能): + 技能施放时间 = 0.0 + 脱手 = 1 + + +class 技能0(被动技能): + 名称 = '弹夹改装' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['交叉射击', '聚合弹', '凝固汽油弹', '电磁弹:麦克斯韦'] + 关联技能1 = ['爆裂弹', '贯穿弹', '狙击手增援'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + (10 + self.等级) / 100, 3) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + (2 * self.等级) / 100, 3) + + +class 技能1(被动技能): + 名称 = '兵器研究' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['黑玫瑰特种战队', '超新星核爆', '赤魂风暴狙击'] + + def 物理攻击力倍率(self, 武器类型): + return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) + + def 魔法攻击力倍率(self, 武器类型): + return (1.1 + (self.等级 - 10) * 0.02) if self.等级 >= 10 else (1 + self.等级 * 0.01) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.01 * self.等级, 3) + + +class 技能2(被动技能): + 名称 = '手雷精通' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['G35感电手雷', 'G18冰冻手雷'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.1 * self.等级, 3) + + +class 技能3(被动技能): + 名称 = '弹药改良' + 所在等级 = 20 + 等级上限 = 20 + 基础等级 = 10 + 等级精通 = 10 + 关联技能 = ['所有'] + 技能加成描述 = '' + 加成数值 = 1.0 + 关联技能1 = ['所有'] + + def 加成倍率(self, 武器类型): + return 1.1 + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.03 + min(10, self.等级) * 0.02 + max(0, self.等级 - 10) * 0.01 + + +class 技能4(职业主动技能): + 名称 = "M18阔剑地雷" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [70, 588] + 无色消耗 = 0 + data0 = [0, 1063, 1170, 1279, 1386, 1493, 1602, 1709, 1818, 1925, 2032, 2141, 2248, 2357, 2464, 2572, 2680, 2787, 2895, 3003, 3111, 3219, 3327, 3434, 3542, 3650, 3757, 3866, 3973, 4082, 4189, 4296, 4405, 4512, 4621, 4728, 4835, 4944, 5051, 5160, 5267, 5376, 5483, 5590, 5699, 5806, 5914, 6022, 6130, 6238, 6345, 6453, 6561, 6669, 6776, 6884, 6992, 7099, 7208, 7315, 7424, 7531, 7638, 7747, 7854, 7963, 8070, 8179, 8286, 8393, 8502] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(职业主动技能): + 名称 = 'G35感电手雷' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [40, 350] + 无色消耗 = 0 + data0 = [0, 2414, 2660, 2904, 3149, 3395, 3640, 3884, 4129, 4375, 4620, 4864, 5110, 5355, 5599, 5844, 6090, 6335, 6579, 6825, 7070, 7314, 7559, 7805, 8050, 8294, 8539, 8785, 9029, 9274, 9520, 9765, 10009, 10254, 10500, 10745, 10989, 11235, 11480, 11724, 11969, 12215, 12460, 12704, 12950, 13195, 13439, 13684, 13930, 14175, 14419, 14665, 14910, 15155, 15399, 15645, 15890, 16134, 16380, 16625, 16870, 17114, 17360, 17605, 17849, 18095, 18340, 18585, 18829, 19075, 19320] + hit0 = 1 + data1 = [0, 267, 295, 322, 349, 376, 404, 432, 458, 486, 513, 539, 567, 595, 621, 649, 676, 704, 730, 758, 785, 812, 839, 867, 893, 921, 948, 976, 1002, 1030, 1058, 1084, 1112, 1139, 1166, 1193, 1221, 1248, 1275, 1302, 1330, 1356, 1384, 1411, 1438, 1465, 1493, 1519, 1547, 1575, 1602, 1628, 1656, 1684, 1710, 1738, 1765, 1792, 1819, 1847, 1874, 1901, 1928, 1956, 1982, 2010, 2037, 2064, 2091, 2119, 2147] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(职业主动技能): + 名称 = "交叉射击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [70, 588] + 无色消耗 = 0 + data0 = [0, 2207, 2431, 2654, 2878, 3103, 3327, 3550, 3774, 3998, 4222, 4445, 4669, 4894, 5118, 5341, 5565, 5789, 6013, 6236, 6460, 6685, 6909, 7132, 7356, 7580, 7805, 8027, 8252, 8476, 8700, 8923, 9147, 9371, 9596, 9818, 10043, 10267, 10491, 10714, 10938, 11163, 11387, 11610, 11834, 12058, 12282, 12505, 12729, 12954, 13178, 13401, 13625, 13849, 14073, 14296, 14520, 14745, 14969, 15192, 15416, 15640, 15865, 16087, 16312, 16536, 16760, 16983, 17207, 17431, 17656] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + # 三觉被动,变为10秒 + power0 = 0.6 + CD = 10.0 + + +class 技能7(职业主动技能): + 名称 = "爆裂弹" + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 5 + MP = [357, 2765] + 无色消耗 = 0 + data0 = [0, 960, 1114, 1266, 1418, 1572, 1724, 1876, 2030, 2184, 2336, 2490, 2642, 2794, 2948, 3100, 3254, 3407, 3560, 3713, 3866] + hit0 = 1 + power0 = 1.37 * 0.95 + + +class 技能8(职业主动技能): + 名称 = "贯穿弹" + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + CD = 5 + MP = [357, 2765] + 无色消耗 = 0 + data0 = [0, 960, 1114, 1266, 1418, 1572, 1724, 1876, 2030, 2184, 2336, 2490, 2642, 2794, 2948, 3100, 3254, 3407, 3560, 3713, 3866] + hit0 = 1 + + def 等效百分比(self, **argv): + self.出血data0 = [int(i*0.34*0.9) for i in self.data0] + self.出血hit0 = 1 + return super().等效百分比(**argv) + + +class 技能9(职业主动技能): + 名称 = 'G18冰冻手雷' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [70, 560] + 无色消耗 = 0 + data0 = [0, 3107, 3423, 3738, 4054, 4368, 4684, 5000, 5315, 5631, 5945, 6261, 6576, 6892, 7206, 7522, 7838, 8153, 8469, 8783, 9099, 9414, 9730, 10045, 10360, 10676, 10991, 11306, 11621, 11937, 12252, 12568, 12883, 13198, 13514, 13829, 14144, 14459, 14775, 15090, 15405, 15721, 16036, 16352, 16666, 16982, 17297, 17613, 17929, 18243, 18559, 18874, 19190, 19504, 19820, 20135, 20451, 20767, 21081, 21397, 21712, 22028, 22342, 22658, 22974, 23289, 23605, 23919, 24235, 24550, 24866] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能10(职业主动技能): + 名称 = "聚合弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [150, 1232] + 无色消耗 = 0 + data0 = [0, 14382, 15843, 17302, 18760, 20219, 21678, 23139, 24597, 26056, 27515, 28976, 30434, 31893, 33352, 34811, 36271, 37730, 39189, 40648, 42109, 43567, 45026, 46485, 47944, 49404, 50863, 52322, 53781, 55241, 56700, 58159, 59618, 61077, 62537, 63996, 65455, 66914, 68373, 69833, 71292, 72751, 74210, 75670, 77129, 78588, 80047, 81506, 82966, 84425, 85884, 87343, 88803, 90262, 91721, 93180, 94639, 96099, 97558, 99017, 100476, 101936, 103395, 104854, 106313, 107772, 109232, 110691, 112150, 113609, 115067] + hit0 = 1 + data1 = [0, 5276, 5812, 6347, 6883, 7418, 7954, 8488, 9023, 9559, 10094, 10630, 11165, 11700, 12236, 12771, 13307, 13842, 14378, 14912, 15447, 15983, 16518, 17054, 17589, 18125, 18660, 19196, 19731, 20266, 20801, 21336, 21872, 22407, 22942, 23478, 24013, 24549, 25084, 25620, 26155, 26689, 27225, 27760, 28296, 28831, 29367, 29902, 30438, 30973, 31508, 32044, 32578, 33114, 33649, 34184, 34720, 35255, 35791, 36326, 36862, 37397, 37933, 38467, 39002, 39538, 40073, 40609, 41144, 41680, 42215] + hit1 = 0 + data2 = [0, 4103, 4520, 4937, 5353, 5769, 6186, 6602, 7018, 7434, 7851, 8268, 8683, 9100, 9517, 9932, 10349, 10766, 11183, 11598, 12015, 12432, 12847, 13264, 13681, 14096, 14513, 14930, 15346, 15762, 16179, 16595, 17011, 17428, 17844, 18261, 18677, 19093, 19510, 19925, 20342, 20759, 21174, 21591, 22008, 22425, 22840, 23257, 23674, 24089, 24506, 24923, 25339, 25755, 26172, 26588, 27004, 27421, 27837, 28254, 28670, 29086, 29503, 29919, 30335, 30752, 31167, 31584, 32001, 32418, 32833] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + CP武器 = False + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 武器类型 = argv.get('武器类型', '') + if 武器类型 == '手弩' and not self.CP武器: + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 3 + else: + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + return super().等效百分比(**argv) + + MP = [150, 1232] + + +class 技能11(职业主动技能): + 名称 = "C4飞弹" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [150, 1232] + 无色消耗 = 0 + data0 = [0, 12294, 13542, 14789, 16036, 17283, 18531, 19778, 21025, 22272, 23520, 24767, 26014, 27263, 28510, 29756, 31003, 32252, 33499, 34746, 35992, 37241, 38488, 39735, 40983, 42230, 43477, 44724, 45972, 47219, 48466, 49713, 50961, 52208, 53455, 54702, 55951, 57197, 58444, 59693, 60940, 62187, 63433, 64682, 65929, 67176, 68423, 69671, 70918, 72165, 73413, 74660, 75907, 77154, 78402, 79649, 80896, 82143, 83392, 84638, 85885, 87132, 88381, 89628, 90874, 92123, 93370, 94617, 95864, 97112, 98359] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 1.32 + + +class 技能12(职业主动技能): + 名称 = "凝固汽油弹" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 1812] + 无色消耗 = 1 + data0 = [0, 15138, 16673, 18209, 19745, 21281, 22816, 24352, 25888, 27423, 28961, 30495, 32030, 33566, 35103, 36639, 38173, 39710, 41246, 42781, 44318, 45853, 47388, 48925, 50460, 51996, 53531, 55067, 56603, 58138, 59676, 61210, 62745, 64283, 65818, 67354, 68890, 70425, 71961, 73496, 75033, 76568, 78103, 79640, 81175, 82711, 84247, 85783, 87318, 88854, 90391, 91925, 93460, 94998, 96533, 98069, 99605, 101141, 102676, 104212, 105748, 107283, 108818, 110355, 111890, 113426, 114962, 116498, 118033, 119569, 121106] + hit0 = 1 + data1 = [0, 82, 90, 99, 107, 114, 123, 131, 140, 148, 155, 165, 172, 182, 188, 196, 205, 213, 222, 230, 238, 247, 255, 264, 272, 279, 289, 296, 305, 313, 321, 330, 338, 347, 355, 363, 372, 379, 389, 396, 404, 413, 421, 430, 438, 446, 455, 463, 472, 480, 487, 496, 504, 513, 521, 529, 538, 546, 555, 563, 571, 580, 587, 597, 604, 612, 621, 629, 638, 646, 654] + hit1 = 15 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 1.4 + self.hit1 = 0 + self.CDR *= 0.94 + + +class 技能13(职业主动技能): + 名称 = "狙击手增援" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 4841, 5331, 5823, 6313, 6805, 7296, 7787, 8278, 8770, 9260, 9752, 10242, 10733, 11225, 11715, 12207, 12698, 13189, 13680, 14171, 14663, 15154, 15644, 16137, 16627, 17118, 17609, 18100, 18592, 19082, 19574, 20065, 20556, 21047, 21537, 22029, 22520, 23011, 23502, 23994, 24484, 24976, 25466, 25959, 26449, 26939, 27431, 27922, 28414, 28904, 29395, 29887, 30378, 30869, 31361, 31851, 32343, 32833, 33324, 33816, 34306, 34798, 35289, 35780, 36271, 36762, 37253, 37745, 38235, 38726] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.技能施放时间 = 2.0 + + +class 技能14(被动技能): + 名称 = '弹药主宰' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 关联技能 = ['所有'] + 关联技能1 = ['爆裂弹', '贯穿弹'] + + def 加成倍率(self, 武器类型): + return 1.105 + self.等级 * 0.015 if self.等级 > 0 else 1 + + def 加成倍率1(self, 武器类型): + return 1.3 if self.等级 > 0 else 1 + + +class 技能15(职业主动技能): + 名称 = "黑玫瑰特种战队" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 3023, 3724, 4425, 5126, 5826, 6527, 7228, 7929, 8631, 9332, 10033, 10734, 11435, 12136, 12838, 13539, 14238, 14940, 15641, 16342, 17043, 17744, 18445, 19147, 19848, 20549, 21250, 21950, 22651, 23352, 24053, 24754, 25456, 26157, 26858, 27559, 28260, 28962, 29663, 30362, 31064, 31765, 32466, 33167, 33868, 34569, 35271, 35972, 36673, 37374] + hit0 = 16 + data1 = [0, 537, 661, 786, 911, 1036, 1159, 1284, 1409, 1534, 1658, 1783, 1908, 2033, 2158, 2281, 2406, 2531, 2656, 2779, 2904, 3029, 3155, 3278, 3403, 3528, 3653, 3776, 3901, 4026, 4151, 4275, 4400, 4525, 4650, 4775, 4898, 5023, 5148, 5273, 5397, 5522, 5647, 5772, 5895, 6020, 6145, 6270, 6393, 6519, 6644] + # 上下会有一个枪兵空掉一半 + hit1 = 82 + + +class 技能16(职业主动技能): + 名称 = 'G61重力手雷' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 20 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 9469, 10429, 11390, 12350, 13312, 14271, 15233, 16195, 17154, 18116, 19077, 20036, 20998, 21959, 22919, 23880, 24841, 25801, 26762, 27722, 28683, 29645, 30604, 31566, 32526, 33487, 34447, 35409, 36368, 37330, 38290, 39251, 40211, 41172, 42132, 43094, 44053, 45015, 45976, 46936, 47897, 48859, 49818, 50780, 51740, 52701, 53661, 54623, 55582, 56544] + hit0 = 1 + data1 = [0, 315, 348, 379, 411, 443, 475, 506, 539, 571, 604, 634, 666, 700, 732, 763, 795, 827, 860, 891, 923, 955, 987, 1018, 1052, 1084, 1116, 1147, 1179, 1212, 1244, 1275, 1307, 1339, 1373, 1404, 1436, 1468, 1500, 1532, 1564, 1596, 1628, 1659, 1691, 1725, 1757, 1787, 1820, 1852, 1885] + hit1 = 29 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 2.01 + self.技能施放时间 = 1.5 + self.hit1 = 15 + + +class 技能17(职业主动技能): + 名称 = "电磁弹:麦克斯韦" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [800, 1680] + 无色消耗 = 3 + data0 = [0, 32575, 35881, 39185, 42490, 45795, 49099, 52404, 55709, 59014, 62319, 65624, 68928, 72233, 75538, 78842, 82148, 85453, 88757, 92062, 95367, 98671, 101976, 105282, 108587, 111891, 115196, 118501, 121805, 125110, 128416, 131720, 135025, 138330, 141634, 144939, 148244, 151549, 154854, 158159, 161463, 164768, 168073, 171377, 174683, 177988, 181292, 184597, 187902, 191206, 194511] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.33 + self.CDR *= 0.95 + + +class 技能18(被动技能): + 名称 = '战地功勋' + 所在等级 = 75 + 等级上限 = 30 + 学习间隔 = 3 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 3) + + +class 技能19(职业主动技能): + 名称 = "重火力支援" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [880, 1848] + 无色消耗 = 3 + data0 = [0, 7982, 8791, 9600, 10411, 11220, 12029, 12839, 13648, 14457, 15268, 16077, 16886, 17696, 18506, 19315, 20125, 20934, 21746, 22555, 23363, 24175, 24984, 25793, 26603, 27412, 28221, 29032, 29841, 30650, 31461, 32270, 33079, 33889, 34698, 35507, 36318, 37127, 37936, 38748, 39557, 40367, 41176, 41986, 42796, 43605, 44414, 45225, 46034, 46843, 47653] + hit0 = 10 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.脱手 = 1 + self.power0 *= 1.35 + + +class 技能20(职业主动技能): + 名称 = 'G38ARG智能手雷' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 25582, 28178, 30773, 33368, 35964, 38559, 41154, 43750, 46345, 48940, 51536, 54132, 56726, 59322, 61918, 64512, 67108, 69704, 72300, 74894, 77490, 80086, 82680, 85276, 87872, 90466, 93062, 95658, 98254, 100848, 103444, 106040, 108634, 111230, 113826, 116420, 119016, 121612, 124207, 126802, 129398, 131993, 134588, 137184, 139779, 142374, 144970, 147565, 150161, 152756] + hit0 = 1 + data1 = [0, 5968, 6574, 7180, 7786, 8390, 8996, 9602, 10208, 10814, 11420, 12024, 12630, 13236, 13841, 14447, 15053, 15657, 16263, 16869, 17475, 18081, 18687, 19291, 19897, 20503, 21109, 21714, 22320, 22925, 23530, 24136, 24742, 25348, 25954, 26558, 27164, 27770, 28376, 28981, 29587, 30192, 30797, 31403, 32009, 32615, 33219, 33825, 34431, 35037, 35643] + hit1 = 10 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 *= 4.22 + self.hit1 = 0 + + +class 技能21(职业主动技能): + 名称 = "超新星核爆" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 122276, 150630, 178984, 207338, 235692, 264046, 292401, 320753, 349107, 377461, 405815, 434170, 462524, 490878, 519232, 547586, 575940, 604294, 632649, 661001, 689355, 717709, 746063, 774417, 802772, 831126, 859480, 887834, 916188, 944542, 972896, 1001251, 1029603, 1057957, 1086311, 1114665, 1143020, 1171374, 1199728, 1228082, 1256436, 1284790, 1313144, 1341498, 1369853, 1398205, 1426559, 1454913, 1483267, 1511622] + hit0 = 1 + data1 = [0, 3493, 4303, 5113, 5923, 6734, 7544, 8354, 9164, 9974, 10785, 11593, 12403, 13214, 14024, 14834, 15644, 16454, 17265, 18075, 18885, 19695, 20505, 21316, 22126, 22936, 23746, 24557, 25365, 26175, 26986, 27796, 28606, 29416, 30226, 31037, 31847, 32657, 33467, 34277, 35088, 35898, 36708, 37518, 38329, 39137, 39947, 40757, 41568, 42378, 43188] + hit1 = 15 + + +class 技能22(被动技能): + 名称 = '赤诚之心' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['所有'] + 关联技能1 = ['交叉射击'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + def 加成倍率1(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.16 + + +class 技能23(职业主动技能): + 名称 = "皇鹰特战队" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1067, 8000] + 无色消耗 = 7 + data0 = [0, 11914, 13122, 14331, 15539, 16748, 17957, 19165, 20374, 21584, 22792, 24001, 25209, 26418, 27627, 28835, 30044, 31252, 32461, 33670, 34878, 36088, 37295, 38505, 39714, 40922, 42131, 43339, 44548, 45757, 46965, 48174, 49384, 50591, 51801, 53008, 54218, 55427, 56635, 57844, 59052, 60261, 61470, 62678, 63887, 65095, 66304, 67514, 68722, 69931, 71139] + hit0 = 4 + data1 = [0, 3176, 3498, 3821, 4143, 4466, 4788, 5111, 5433, 5755, 6078, 6399, 6721, 7044, 7366, 7689, 8011, 8334, 8656, 8979, 9300, 9622, 9945, 10267, 10590, 10912, 11235, 11557, 11879, 12202, 12523, 12845, 13168, 13490, 13813, 14135, 14458, 14780, 15103, 15425, 15746, 16069, 16391, 16714, 17036, 17359, 17681, 18003, 18326, 18647, 18969] + hit1 = 16 + data2 = [0, 79428, 87485, 95544, 103601, 111659, 119717, 127775, 135834, 143891, 151948, 160007, 168065, 176123, 184181, 192238, 200297, 208354, 216413, 224470, 232528, 240587, 248644, 256701, 264760, 272817, 280876, 288934, 296991, 305050, 313107, 321166, 329223, 337281, 345340, 353397, 361456, 369513, 377570, 385629, 393687, 401745, 409803, 417860, 425919, 433976, 442035, 450092, 458150, 466209, 474266] + hit2 = 1 + + +class 技能24(职业主动技能): + 名称 = '赤魂风暴狙击' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 5354, 6596, 7838, 9080, 10322, 11564, 12806, 14048, 15288, 16530, 17772, 19014, 20256, 21498, 22740, 23982, 25224, 26464, 27706, 28948, 30190, 31432, 32674, 33916, 35158, 36400, 37641, 38882, 40124, 41366, 42608, 43850, 45092, 46334, 47576, 48817, 50059, 51301, 52543, 53785, 55027, 56269, 57510, 58752, 59993, 61235, 62477, 63719, 64961, 66203] + hit0 = 12 + data1 = [0, 224920, 277075, 329230, 381387, 433542, 485697, 537853, 590008, 642163, 694318, 746475, 798630, 850785, 902940, 955097, 1007252, 1059407, 1111564, 1163719, 1215874, 1268029, 1320185, 1372340, 1424495, 1476650, 1528807, 1580962, 1633117, 1685274, 1737429, 1789584, 1841739, 1893895, 1946051, 1998206, 2050361, 2102517, 2154672, 2206827, 2258984, 2311139, 2363294, 2415449, 2467606, 2519761, 2571916, 2624071, 2676227, 2728383, 2780538] + hit1 = 1 + data2 = [0, 80328, 98955, 117581, 136209, 154836, 173462, 192090, 210717, 229343, 247971, 266598, 285224, 303852, 322479, 341105, 359733, 378360, 396986, 415612, 434240, 452867, 471493, 490121, 508748, 527374, 546002, 564629, 583255, 601883, 620510, 639136, 657764, 676391, 695017, 713644, 732272, 750898, 769525, 788153, 806779, 825406, 844034, 862660, 881287, 899915, 918541, 937168, 955796, 974422, 993049] + hit2 = 4 + data3 = [0, 4283, 5278, 6271, 7264, 8257, 9251, 10244, 11237, 12230, 13224, 14219, 15212, 16205, 17198, 18192, 19185, 20178, 21171, 22165, 23160, 24153, 25146, 26139, 27133, 28126, 29119, 30112, 31106, 32099, 33094, 34087, 35080, 36074, 37067, 38060, 39053, 40047, 41040, 42035, 43028, 44021, 45015, 46008, 47001, 47994, 48988, 49981, 50976, 51969, 52962] + hit3 = 3 + data4 = [0, 19278, 23748, 28219, 32689, 37160, 41630, 46101, 50571, 55042, 59512, 63983, 68453, 72924, 77394, 81865, 86335, 90806, 95276, 99747, 104217, 108688, 113158, 117628, 122099, 126569, 131040, 135510, 139981, 144451, 148922, 153392, 157863, 162333, 166804, 171274, 175745, 180215, 184686, 189156, 193627, 198097, 202568, 207038, 211508, 215979, 220449, 224920, 229390, 233861, 238331] + hit4 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'spitfire_male' + self.名称 = '重霄·弹药专家' + self.角色 = '神枪手(男)' + self.职业类型 = '输出' + self.职业 = '弹药专家' + # 用来筛CP武器的 + self.转职 = '弹药专家(男)' + self.武器选项 = ['手弩', '步枪'] + self.输出类型选项 = ['魔法百分比', '物理百分比'] + self.防具精通属性 = ['智力', '力量'] + self.类型 = '魔法百分比' + self.武器类型 = '手弩' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.84 + + super().__init__(equVersion) + + # def __set_individuation(self, info): + # info['individuation'] = [ + # {"type": "checkbox", "value": "测试checkbox", + # "items": [], "row":0, "column":0, "key":0}, + # {"type": "select", "value": "", "items": [ + # 1, 2, 3, 4, 5, 6, 7], "row":1, "column":0, "key":1}, + # {"type": "label", "value": "测试label", + # "items": [], "row":2, "column":0, "key":2} + # ] + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, rune_except=[ + '爆裂弹', '贯穿弹'], clothes_pants=['远古记忆']) diff --git a/api/core/characters/striker_female.py b/api/core/characters/striker_female.py new file mode 100644 index 00000000..18620d30 --- /dev/null +++ b/api/core/characters/striker_female.py @@ -0,0 +1,429 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "崩拳" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 4061, 4472, 4884, 5297, 5708, 6122, 6533, 6944, 7357, 7770, 8181, 8594, 9007, 9416, 9829, 10240, 10654, 11066, 11476, 11889, 12302, 12713, 13126, 13539, 13950, 14361, 14773, 15186, 15598, 16009, 16423, 16835, 17244, 17657, 18070, 18482, 18894, 19307, 19718, 20130, 20542, 20955, 21367, 21777, 22189, 22602, 23014, 23426, 23839, 24251, 24663, 25074, 25487, 25899, 26311, 26723, 27135, 27546, 27958, 28371, 28783, 29195, 29609, 30018, 30430, 30843, 31255, 31667, 32080, 32490] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(被动技能): + 名称 = '拳套精通' + 所在等级 = 15 + 等级上限 = 10 + 基础等级 = 10 + # 拳套精通cd + 关联技能 = ['无'] + 冷却关联技能 = ['崩拳', '铁山靠', '碎骨', '寸拳', '升龙拳', '闪电之舞', + '纷影连环踢', '破碎拳', '回天连环击', '虎啸神拳', '无影脚', '雷霆之舞'] + + def 加成倍率(self, 武器类型): + return 1.0 + + def CD缩减倍率(self, 武器类型): + if 武器类型 == '拳套': + if self.等级 == 0: + return 1.0 + else: + return (1 - 0.01 * self.等级) + else: + return 1.0 + + +class 技能2(主动技能): + 名称 = "铁山靠" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 5840, 6432, 7024, 7618, 8208, 8802, 9394, 9986, 10578, 11171, 11763, 12357, 12949, 13541, 14134, 14727, 15318, 15911, 16504, 17096, 17687, 18281, 18872, 19465, 20059, 20650, 21244, 21836, 22428, 23020, 23613, 24207, 24797, 25390, 25982, 26575, 27166, 27760, 28353, 28946, 29538, 30129, 30723, 31315, 31907, 32500, 33092, 33685, 34276, 34869, 35461, 36055, 36648, 37239, 37832, 38425, 39016, 39609, 40202, 40792, 41386, 41979, 42570, 43164, 43756, 44350, 44942, 45534, 46127, 46718] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "碎骨" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 5972, 6580, 7185, 7792, 8397, 9003, 9610, 10217, 10821, 11428, 12035, 12641, 13247, 13853, 14458, 15065, 15673, 16277, 16884, 17490, 18095, 18701, 19308, 19913, 20520, 21125, 21731, 22338, 22944, 23550, 24157, 24761, 25369, 25975, 26581, 27186, 27793, 28398, 29006, 29611, 30217, 30823, 31430, 32033, 32641, 33248, 33853, 34460, 35065, 35672, 36278, 36885, 37489, 38096, 38703, 39309, 39914, 40520, 41126, 41734, 42339, 42945, 43551, 44157, 44763, 45370, 45975, 46582, 47187, 47792] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(被动技能): + 名称 = '柔化肌肉' + 所在等级 = 30 + 等级上限 = 15 + 基础等级 = 5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.125 + 0.015 * self.等级, 5) + + +class 技能5(被动技能): + 名称 = '弱点感知' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if self.等级 <= 10: + return round(1.01 + 0.01 * self.等级, 5) + else: + return round(1.11 + 0.02 * (self.等级-10), 5) + + +class 技能6(主动技能): + 名称 = "升龙拳" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [170, 1428] + 无色消耗 = 1 + data0 = [0, 3002, 3306, 3611, 3916, 4221, 4524, 4828, 5133, 5438, 5743, 6046, 6351, 6656, 6961, 7266, 7569, 7874, 8178, 8483, 8786, 9091, 9396, 9701, 10006, 10309, 10614, 10919, 11224, 11528, 11832, 12137, 12442, 12745, 13050, 13355, 13659, 13964, 14268, 14573, 14878, 15182, 15486, 15791, 16096, 16401, 16705, 17009, 17314, 17619, 17924, 18227, 18532, 18837, 19142, 19447, 19750, 20055, 20360, 20665, 20970, 21273, 21578, 21882, 22186, 22489, 22794, 23099, 23404, 23708, 24013] + hit0 = 4 + data1 = [0, 2600, 2863, 3127, 3391, 3655, 3919, 4182, 4446, 4711, 4974, 5237, 5503, 5766, 6031, 6293, 6556, 6822, 7085, 7350, 7612, 7875, 8140, 8404, 8668, 8931, 9194, 9460, 9723, 9988, 10251, 10515, 10778, 11042, 11306, 11570, 11834, 12097, 12361, 12625, 12888, 13153, 13416, 13682, 13945, 14207, 14472, 14735, 15001, 15264, 15526, 15791, 16054, 16318, 16583, 16846, 17110, 17373, 17637, 17902, 18167, 18429, 18694, 18957, 19221, 19484, 19748, 20013, 20276, 20540, 20803] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 演出时间 = 2.0 + + +class 技能7(主动技能): + 名称 = "寸拳" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [130, 1092] + 无色消耗 = 1 + data0 = [0, 13361, 14716, 16071, 17427, 18783, 20138, 21493, 22848, 24203, 25560, 26915, 28270, 29627, 30981, 32337, 33693, 35047, 36404, 37758, 39114, 40469, 41825, 43182, 44537, 45892, 47247, 48605, 49959, 51314, 52670, 54025, 55381, 56735, 58091, 59449, 60802, 62158, 63513, 64868, 66226, 67580, 68935, 70290, 71648, 73001, 74357, 75712, 77067, 78426, 79778, 81136, 82492, 83847, 85203, 86556, 87912, 89267, 90623, 91980, 93334, 94689, 96046, 97402, 98757, 100111, 101469, 102822, 104179, 105532, 106888] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 0.5 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能8(主动技能): + 名称 = "闪电之舞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 2869, 3160, 3453, 3742, 4034, 4325, 4616, 4908, 5199, 5491, 5782, 6074, 6365, 6656, 6947, 7240, 7529, 7822, 8111, 8403, 8694, 8985, 9277, 9568, 9858, 10150, 10441, 10733, 11023, 11315, 11605, 11897, 12188, 12479, 12770, 13064, 13353, 13645, 13936, 14228, 14518, 14810, 15101, 15392, 15683, 15976, 16265, 16557, 16847, 17139, 17430, 17722, 18012, 18304, 18595, 18886, 19177, 19469, 19759, 20051, 20340, 20634, 20925, 21217, 21507, 21800, 22090, 22381, 22672, 22964] + hit0 = 7 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 2.2 + + def 装备护石(self, char): + self.hit0 += 2 + self.倍率 *= 0.99 + self.CDR *= 0.85 + self.演出时间 = 2.7 + + +class 技能9(主动技能): + 名称 = "纷影连环踢" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 932, 1028, 1122, 1218, 1311, 1406, 1500, 1597, 1690, 1786, 1881, 1975, 2070, 2164, 2259, 2354, 2448, 2543, 2638, 2733, 2828, 2923, 3016, 3111, 3206, 3302, 3395, 3491, 3585, 3680, 3774, 3869, 3964, 4059, 4152, 4247, 4343, 4438, 4532, 4626, 4721, 4816, 4911, 5005, 5099, 5195, 5290, 5384, 5479, 5574, 5668, 5763, 5857, 5952, 6048, 6144, 6236, 6331, 6426, 6522, 6615, 6709, 6804, 6901, 6994, 7090, 7184, 7279, 7372, 7468] + hit0 = 10 + data1 = [0, 20711, 22813, 24915, 27016, 29118, 31218, 33319, 35420, 37523, 39624, 41725, 43827, 45927, 48028, 50130, 52232, 54333, 56434, 58534, 60635, 62737, 64839, 66941, 69042, 71142, 73243, 75345, 77447, 79549, 81650, 83751, 85852, 87953, 90054, 92155, 94257, 96358, 98460, 100561, 102662, 104763, 106865, 108968, 111068, 113169, 115270, 117371, 119472, 121572, 123676, 125776, 127877, 129978, 132080, 134181, 136285, 138385, 140486, 142587, 144688, 146790, 148890, 150992, 153093, 155194, 157295, 159397, 161497, 163598, 165700] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 4 + + def 装备护石(self, char): + self.hit0 = 20 + self.power0 = 0.77 + self.power1 = 1.21 + self.演出时间 = 4.4 + + +class 技能10(被动技能): + 名称 = '武神步' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.05 + 0.02 * self.等级, 5) + + +class 技能11(主动技能): + 名称 = "武神强踢" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [900, 7559] + 无色消耗 = 5 + data0 = [0, 71667, 88283, 104900, 121521, 138139, 154757, 171377, 187996, 204612, 221231, 237849, 254468, 271084, 287702, 304322, 320940, 337559, 354179, 370797, 387413, 404031, 420651, 437270, 453886, 470505, 487124, 503742, 520361, 536978, 553598, 570215, 586832, 603453, 620070, 636687, 653307, 669924, 686543, 703161, 719780, 736398, 753016, 769635, 786252, 802873, 819488, 836108, 852727, 869345, 885962] + hit0 = 1 + + 演出时间 = 0.5 + + +class 技能12(主动技能): + 名称 = "破碎拳" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1260] + 无色消耗 = 1 + data0 = [0, 31274, 34444, 37617, 40790, 43961, 47134, 50307, 53480, 56653, 59824, 62997, 66171, 69343, 72516, 75688, 78860, 82034, 85206, 88379, 91552, 94723, 97898, 101069, 104241, 107414, 110586, 113760, 116933, 120104, 123277, 126450, 129623, 132796, 135969, 139140, 142313, 145486, 148659, 151832, 155004, 158176, 161350, 164521, 167694, 170867, 174039, 177212, 180384, 183557, 186730] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 1.5 + + def 装备护石(self, char): + self.倍率 *= 1.28 + + +class 技能13(主动技能): + 名称 = "回天连环击" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [935, 1960] + 无色消耗 = 2 + data0 = [0, 4790, 5277, 5764, 6249, 6735, 7222, 7707, 8194, 8680, 9165, 9651, 10138, 10623, 11110, 11595, 12081, 12567, 13054, 13539, 14026, 14511, 14998, 15483, 15971, 16455, 16944, 17428, 17916, 18401, 18888, 19373, 19859, 20345, 20832, 21317, 21804, 22289, 22775, 23261, 23748, 24233, 24720, 25204, 25691, 26177, 26665, 27149, 27637, 28121, 28608] + hit0 = 1 + data1 = [0, 9938, 10945, 11953, 12962, 13970, 14976, 15986, 16995, 18001, 19010, 20019, 21027, 22034, 23043, 24053, 25061, 26066, 27075, 28084, 29091, 30101, 31109, 32118, 33123, 34133, 35142, 36150, 37157, 38166, 39175, 40182, 41190, 42199, 43208, 44215, 45223, 46232, 47239, 48246, 49256, 50265, 51272, 52280, 53290, 54296, 55304, 56313, 57322, 58330, 59338] + hit1 = 1 + data2 = [0, 14757, 16254, 17752, 19249, 20745, 22246, 23742, 25240, 26734, 28234, 29730, 31227, 32726, 34223, 35720, 37214, 38714, 40210, 41709, 43206, 44704, 46201, 47696, 49195, 50691, 52189, 53686, 55184, 56681, 58178, 59674, 61173, 62670, 64168, 65664, 67163, 68659, 70155, 71653, 73150, 74648, 76144, 77643, 79139, 80638, 82132, 83632, 85128, 86625, 88124] + hit2 = 1 + data3 = [0, 19361, 21325, 23290, 25255, 27218, 29184, 31147, 33112, 35075, 37040, 39004, 40969, 42932, 44897, 46860, 48826, 50790, 52755, 54718, 56684, 58646, 60610, 62575, 64540, 66504, 68469, 70432, 72395, 74360, 76326, 78290, 80255, 82219, 84183, 86146, 88111, 90075, 92039, 94004, 95969, 97933, 99898, 101861, 103825, 105790, 107754, 109718, 111682, 113647, 115608] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 演出时间 = 2.2 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.42 + self.power2 = 1.42 + self.power3 = 1.28 + + +class 技能14(主动技能): + 名称 = "虎啸神拳" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 2698, 2971, 3244, 3520, 3792, 4067, 4338, 4614, 4888, 5161, 5437, 5708, 5983, 6255, 6531, 6805, 7077, 7352, 7625, 7899, 8171, 8447, 8721, 8994, 9269, 9541, 9815, 10090, 10363, 10638, 10909, 11185, 11457, 11732, 12006, 12279, 12554, 12826, 13101, 13376, 13648, 13922, 14195, 14470, 14743, 15016, 15292, 15564, 15839, 16110] + hit0 = 15 + data1 = [0, 26364, 29039, 31715, 34390, 37062, 39737, 42412, 45088, 47763, 50437, 53112, 55785, 58461, 61136, 63811, 66484, 69160, 71836, 74511, 77185, 79858, 82534, 85208, 87883, 90558, 93232, 95907, 98583, 101257, 103931, 106605, 109281, 111956, 114630, 117305, 119978, 122653, 125329, 128004, 130679, 133353, 136028, 138703, 141378, 144052, 146727, 149402, 152076, 154751, 157427] + hit1 = 1 + data2 = [0, 6968, 7674, 8380, 9087, 9795, 10502, 11209, 11916, 12624, 13329, 14036, 14744, 15451, 16158, 16865, 17571, 18276, 18984, 19691, 20399, 21106, 21812, 22519, 23226, 23932, 24640, 25348, 26055, 26762, 27467, 28175, 28881, 29588, 30297, 31002, 31710, 32416, 33122, 33830, 34536, 35244, 35952, 36657, 37365, 38071, 38778, 39486, 40193, 40900, 41606] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 15*2 + self.power0 = 0.83 + + +class 技能15(被动技能): + 名称 = '神武之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能16(主动技能): + 名称 = "无影脚" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 8499, 9361, 10223, 11084, 11946, 12809, 13670, 14532, 15395, 16257, 17119, 17984, 18846, 19706, 20568, 21432, 22294, 23155, 24020, 24880, 25741, 26606, 27468, 28328, 29191, 30053, 30915, 31777, 32639, 33501, 34363, 35230, 36091, 36953, 37815, 38678, 39537, 40401, 41261, 42123, 42986, 43850, 44712, 45575, 46436, 47298, 48160, 49023, 49883, 50745] + hit0 = 1 + data1 = [0, 4297, 4731, 5168, 5605, 6040, 6474, 6910, 7348, 7782, 8217, 8654, 9091, 9527, 9960, 10397, 10832, 11269, 11705, 12141, 12577, 13015, 13448, 13883, 14319, 14756, 15192, 15628, 16065, 16499, 16933, 17370, 17807, 18242, 18677, 19115, 19551, 19987, 20421, 20859, 21294, 21730, 22165, 22600, 23037, 23473, 23910, 24345, 24779, 25216, 25651] + hit1 = 1 + data2 = [0, 4301, 4738, 5174, 5611, 6047, 6484, 6919, 7356, 7794, 8230, 8666, 9100, 9537, 9975, 10410, 10848, 11283, 11719, 12157, 12593, 13028, 13465, 13903, 14338, 14776, 15212, 15647, 16085, 16521, 16958, 17394, 17830, 18266, 18703, 19140, 19575, 20012, 20449, 20886, 21321, 21759, 22195, 22629, 23068, 23503, 23941, 24379, 24813, 25248, 25685] + hit2 = 1 + data3 = [0, 67200, 74017, 80832, 87651, 94468, 101286, 108103, 114920, 121738, 128554, 135372, 142189, 149007, 155825, 162641, 169458, 176276, 183095, 189909, 196727, 203547, 210363, 217182, 223999, 230815, 237633, 244452, 251267, 258084, 264903, 271720, 278536, 285353, 292172, 298989, 305805, 312624, 319442, 326258, 333076, 339892, 346710, 353528, 360344, 367161, 373981, 380799, 387614, 394432, 401250] + hit3 = 1 + + 是否有护石 = 1 + 演出时间 = 2 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.power3 = 1.66 + + +class 技能17(主动技能): + 名称 = "极尽:霸皇断空拳" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 169618, 208949, 248279, 287613, 326944, 366276, 405607, 444940, 484271, 523604, 562934, 602268, 641600, 680930, 720262, 759594, 798927, 838258, 877589, 916920, 956254, 995586, 1034917, 1074249, 1113580, 1152913, 1192244, 1231575, 1270906, 1310241, 1349572, 1388903, 1428235, 1467567, 1506900, 1546231, 1585562, 1624892, 1664223, 1703556, 1742887, 1782218, 1821551, 1860884, 1900214, 1939547, 1978879, 2018210, 2057543, 2096874] + hit0 = 1 + + +class 技能18(主动技能): + 名称 = "雷霆之舞" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [870, 6750] + 无色消耗 = 7 + data0 = [0, 16542, 18220, 19896, 21576, 23253, 24932, 26609, 28289, 29965, 31644, 33324, 35001, 36680, 38358, 40037, 41713, 43392, 45070, 46748, 48426, 50105, 51782, 53460, 55138, 56817, 58494, 60172, 61852, 63530, 65208, 66887, 68565, 70243, 71922, 73598, 75277, 76954, 78634, 80311, 81989, 83666, 85345, 87025, 88702, 90382, 92058, 93737, 95415, 97093, 98771] + hit0 = 7 + data1 = [0, 49625, 54659, 59694, 64728, 69763, 74799, 79833, 84867, 89899, 94935, 99971, 105004, 110040, 115073, 120108, 125144, 130177, 135211, 140245, 145280, 150314, 155349, 160385, 165418, 170453, 175485, 180522, 185556, 190590, 195625, 200659, 205694, 210730, 215763, 220798, 225830, 230866, 235901, 240935, 245970, 251004, 256038, 261075, 266107, 271142, 276175, 281211, 286247, 291280, 296316] + hit1 = 1 + + +class 技能19(被动技能): + 名称 = '疾风劲' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能20(主动技能): + 名称 = "陨星灭天击" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 51726, 63721, 75715, 87708, 99703, 111697, 123691, 135687, 147681, 159675, 171670, 183663, 195658, 207652, 219646, 231642, 243636, 255630, 267625, 279618, 291614, 303608, 315601, 327596, 339590, 351585, 363580, 375573, 387567, 399562, 411556, 423552, 435545, 447540, 459535, 471528, 483523, 495517, 507511, 519506, 531501, 543496, 555488, 567482, 579477, 591472, 603466, 615460, 627455, 639450] + hit0 = 1 + data1 = [0, 51726, 63721, 75715, 87708, 99703, 111697, 123691, 135687, 147681, 159675, 171670, 183663, 195658, 207652, 219646, 231642, 243636, 255630, 267625, 279618, 291614, 303608, 315601, 327596, 339590, 351585, 363580, 375573, 387567, 399562, 411556, 423552, 435545, 447540, 459535, 471528, 483523, 495517, 507511, 519506, 531501, 543496, 555488, 567482, 579477, 591472, 603466, 615460, 627455, 639450] + hit1 = 1 + data2 = [0, 51726, 63721, 75715, 87708, 99703, 111697, 123691, 135687, 147681, 159675, 171670, 183663, 195658, 207652, 219646, 231642, 243636, 255630, 267625, 279618, 291614, 303608, 315601, 327596, 339590, 351585, 363580, 375573, 387567, 399562, 411556, 423552, 435545, 447540, 459535, 471528, 483523, 495517, 507511, 519506, 531501, 543496, 555488, 567482, 579477, 591472, 603466, 615460, 627455, 639450] + hit2 = 1 + data3 = [0, 103451, 127438, 151428, 175417, 199404, 223394, 247383, 271372, 295361, 319349, 343339, 367327, 391315, 415304, 439292, 463282, 487271, 511259, 535249, 559237, 583226, 607216, 631202, 655190, 679180, 703169, 727157, 751147, 775135, 799124, 823112, 847102, 871090, 895078, 919068, 943057, 967046, 991034, 1015023, 1039013, 1063001, 1086990, 1110976, 1134966, 1158955, 1182942, 1206932, 1230921, 1254909, 1278899] + hit3 = 1 + data4 = [0, 258629, 318593, 378566, 438540, 498511, 558485, 618454, 678427, 738401, 798372, 858344, 918317, 978286, 1038260, 1098231, 1158205, 1218177, 1278148, 1338122, 1398093, 1458064, 1518037, 1578004, 1637977, 1697949, 1757920, 1817894, 1877864, 1937837, 1997808, 2057782, 2117754, 2177724, 2237697, 2297670, 2357642, 2417615, 2477584, 2537557, 2597530, 2657502, 2717475, 2777440, 2837412, 2897386, 2957357, 3017331, 3077301, 3137274, 3197247] + hit4 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'striker_female' + self.名称 = '归元·散打' + self.角色 = '格斗家(女)' + self.角色类型 = '输出' + self.职业 = '散打' + # 用来筛CP武器的 + self.转职 = '散打(女)' + self.武器选项 = ['拳套', '臂铠'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '拳套' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.13 + + super().__init__(equVersion) diff --git a/api/core/characters/striker_male.py b/api/core/characters/striker_male.py new file mode 100644 index 00000000..2b70f164 --- /dev/null +++ b/api/core/characters/striker_male.py @@ -0,0 +1,529 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 技能0(主动技能): + 名称 = "下段踢" + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 2 + MP = [10, 112] + 无色消耗 = 0 + data0 = [0, 1246, 1372, 1498, 1624, 1754, 1878, 2004, 2130, 2260, 2385, 2510, 2637, 2763, 2890, 3017, 3143, 3269, 3394, 3522, 3648, 3774, 3904, 4029, 4155, 4282, 4409, 4534, 4661, 4788, 4914, 5040, 5167, 5293, 5419, 5546, 5672, 5799, 5926, 6051, 6178, 6305, 6431, 6556, 6682, 6811, 6937, 7062, 7191, 7317, 7443, 7571, 7698, 7824, 7951, 8077, 8202, 8329, 8456, 8582, 8709, 8837, 8963, 9089, 9217, 9342, 9468, 9593, 9721, 9846, 9973] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(被动技能): + 名称 = '拳套掌握' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 基础等级 = 10 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['烈焰焚步', '双重释放', '极武霸皇踢', '焚火逐日拳'] + 关联技能 = ['无'] + + def 加成倍率(self, 武器类型): + return 1.0 + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + if 武器类型 == '拳套': + return 0.9 + else: + return 1.0 + + +class 技能2(主动技能): + 名称 = "肘击" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [30, 252] + 无色消耗 = 0 + data0 = [0, 3282, 3614, 3946, 4278, 4612, 4943, 5277, 5610, 5944, 6277, 6608, 6942, 7275, 7607, 7941, 8273, 8606, 8940, 9272, 9604, 9938, 10271, 10604, 10939, 11270, 11604, 11934, 12270, 12601, 12936, 13269, 13600, 13932, 14265, 14597, 14934, 15265, 15597, 15931, 16262, 16596, 16929, 17263, 17596, 17927, 18260, 18593, 18926, 19260, 19592, 19925, 20258, 20588, 20924, 21257, 21589, 21923, 22254, 22589, 22922, 23252, 23588, 23919, 24253, 24585, 24919, 25250, 25584, 25915, 26251] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(主动技能): + 名称 = "铁山靠" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 4924, 5425, 5926, 6426, 6926, 7425, 7925, 8425, 8926, 9425, 9927, 10426, 10925, 11426, 11927, 12426, 12927, 13425, 13925, 14427, 14925, 15426, 15925, 16425, 16924, 17426, 17924, 18425, 18925, 19425, 19925, 20425, 20925, 21425, 21926, 22425, 22927, 23426, 23926, 24425, 24926, 25425, 25927, 26423, 26923, 27425, 27923, 28424, 28925, 29424, 29924, 30425, 30924, 31424, 31926, 32424, 32925, 33424, 33924, 34426, 34926, 35425, 35925, 36423, 36925, 37423, 37922, 38425, 38924, 39423] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "碎骨" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 4992, 5497, 6003, 6509, 7016, 7523, 8031, 8534, 9042, 9547, 10054, 10560, 11067, 11573, 12081, 12587, 13092, 13600, 14105, 14610, 15119, 15624, 16131, 16636, 17143, 17649, 18157, 18663, 19171, 19675, 20182, 20688, 21196, 21701, 22207, 22713, 23220, 23725, 24234, 24738, 25245, 25753, 26258, 26764, 27272, 27776, 28286, 28790, 29297, 29802, 30309, 30814, 31323, 31828, 32336, 32843, 33346, 33853, 34361, 34866, 35374, 35878, 36387, 36891, 37397, 37905, 38411, 38916, 39424, 39930] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(被动技能): + 名称 = '柔化肌肉' + 所在等级 = 30 + 等级上限 = 15 + 学习间隔 = 5 + 等级精通 = 5 + + 额外加成 = 0 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.125 + 0.015 * self.等级 + self.额外加成, 5) + + +class 技能6(主动技能): + 名称 = "闪击快打" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [50, 420] + 无色消耗 = 0 + data0 = [0, 3375, 3717, 4058, 4404, 4745, 5085, 5431, 5772, 6116, 6459, 6800, 7142, 7484, 7827, 8170, 8511, 8856, 9197, 9539, 9884, 10225, 10566, 10908, 11254, 11594, 11939, 12279, 12624, 12965, 13307, 13652, 13991, 14336, 14677, 15020, 15360, 15706, 16046, 16391, 16732, 17076, 17418, 17758, 18104, 18443, 18787, 19129, 19473, 19815, 20157, 20499, 20843, 21185, 21528, 21870, 22212, 22556, 22895, 23240, 23581, 23925, 24269, 24609, 24953, 25295, 25637, 25980, 26322, 26667, 27007] + hit0 = 1 + data1 = [0, 4691, 5169, 5645, 6124, 6595, 7073, 7546, 8025, 8500, 8978, 9452, 9928, 10403, 10881, 11358, 11832, 12311, 12786, 13262, 13736, 14213, 14687, 15166, 15641, 16119, 16595, 17072, 17547, 18023, 18499, 18974, 19451, 19926, 20403, 20878, 21354, 21831, 22307, 22783, 23259, 23736, 24213, 24690, 25165, 25640, 26114, 26591, 27069, 27544, 28021, 28496, 28972, 29448, 29925, 30400, 30877, 31353, 31831, 32309, 32780, 33258, 33732, 34209, 34685, 35163, 35638, 36117, 36589, 37067, 37543] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "冲膝" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [130, 1092] + 无色消耗 = 1 + data0 = [0, 11859, 13064, 14262, 15465, 16670, 17873, 19077, 20281, 21483, 22686, 23890, 25095, 26296, 27497, 28702, 29906, 31107, 32314, 33515, 34718, 35921, 37123, 38327, 39529, 40736, 41938, 43139, 44344, 45546, 46748, 47953, 49157, 50360, 51560, 52765, 53968, 55171, 56375, 57580, 58780, 59983, 61187, 62391, 63594, 64798, 66002, 67204, 68403, 69609, 70814, 72015, 73218, 74422, 75626, 76827, 78031, 79236, 80438, 81641, 82844, 84045, 85251, 86455, 87659, 88858, 90061, 91266, 92468, 93674, 94876] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 国服特色 = 1.065 + +class 技能8(主动技能): + 名称 = "炽焰旋风腿" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [170, 1428] + 无色消耗 = 1 + data0 = [0, 1456, 1605, 1751, 1899, 2047, 2193, 2345, 2492, 2639, 2788, 2935, 3085, 3232, 3377, 3525, 3672, 3822, 3969, 4117, 4266, 4413, 4561, 4710, 4858, 5005, 5152, 5300, 5448, 5597, 5745, 5893, 6039, 6188, 6334, 6483, 6631, 6780, 6928, 7075, 7225, 7370, 7518, 7667, 7813, 7961, 8112, 8258, 8406, 8554, 8701, 8850, 8999, 9146, 9292, 9437, 9589, 9736, 9886, 10034, 10180, 10328, 10474, 10622, 10771, 10920, 11068, 11215, 11364, 11511, 11658] + hit0 = 1 + data1 = [0, 1456, 1605, 1751, 1899, 2047, 2193, 2345, 2492, 2639, 2788, 2935, 3085, 3232, 3377, 3525, 3672, 3822, 3969, 4117, 4266, 4413, 4561, 4710, 4858, 5005, 5152, 5300, 5448, 5597, 5745, 5893, 6039, 6188, 6334, 6483, 6631, 6780, 6928, 7075, 7225, 7370, 7518, 7667, 7813, 7961, 8112, 8258, 8406, 8554, 8701, 8850, 8999, 9146, 9292, 9437, 9589, 9736, 9886, 10034, 10180, 10328, 10474, 10622, 10771, 10920, 11068, 11215, 11364, 11511, 11658] + hit1 = 6 + data2 = [0, 4411, 4860, 5304, 5752, 6199, 6650, 7095, 7543, 7991, 8438, 8884, 9333, 9782, 10228, 10675, 11123, 11570, 12019, 12466, 12914, 13362, 13809, 14256, 14703, 15153, 15600, 16047, 16492, 16942, 17390, 17835, 18286, 18730, 19180, 19628, 20075, 20522, 20972, 21417, 21864, 22313, 22762, 23209, 23657, 24103, 24550, 24999, 25445, 25893, 26343, 26790, 27235, 27684, 28130, 28579, 29025, 29474, 29920, 30371, 30816, 31264, 31712, 32157, 32605, 33053, 33503, 33952, 34398, 34844, 35293] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.hit1 += 6 + self.power1 = 1 - 0.31 + 0.17 + + +class 技能9(主动技能): + 名称 = "闪电之舞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 1769, 1952, 2129, 2308, 2489, 2667, 2849, 3029, 3207, 3386, 3569, 3748, 3925, 4106, 4287, 4464, 4645, 4825, 5003, 5185, 5364, 5542, 5724, 5901, 6082, 6264, 6443, 6619, 6803, 6981, 7162, 7339, 7519, 7701, 7880, 8058, 8238, 8419, 8599, 8777, 8957, 9138, 9318, 9496, 9674, 9856, 10036, 10215, 10395, 10575, 10755, 10935, 11115, 11292, 11475, 11655, 11831, 12013, 12192, 12370, 12552, 12732, 12909, 13091, 13270, 13450, 13630, 13808, 13989, 14170] + hit0 = 1 + data1 = [0, 12397, 13655, 14914, 16169, 17429, 18686, 19945, 21202, 22461, 23718, 24975, 26235, 27492, 28747, 30007, 31264, 32524, 33780, 35036, 36296, 37555, 38812, 40069, 41327, 42587, 43846, 45101, 46362, 47618, 48875, 50134, 51390, 52650, 53906, 55164, 56424, 57680, 58938, 60196, 61453, 62713, 63968, 65227, 66485, 67742, 69000, 70258, 71516, 72774, 74030, 75290, 76547, 77807, 79064, 80321, 81578, 82837, 84098, 85353, 86609, 87868, 89126, 90386, 91640, 92899, 94157, 95416, 96674, 97929, 99190] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能10(主动技能): + 名称 = "瞬影连环踢" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [400, 3360] + 无色消耗 = 2 + data0 = [0, 27513, 30307, 33098, 35890, 38680, 41472, 44263, 47056, 49846, 52641, 55430, 58220, 61013, 63804, 66597, 69388, 72180, 74971, 77764, 80554, 83346, 86135, 88928, 91718, 94512, 97304, 100094, 102885, 105674, 108468, 111260, 114053, 116842, 119637, 122427, 125216, 128009, 130800, 133593, 136384, 139175, 141965, 144759, 147549, 150343, 153133, 155923, 158717, 161507, 164298, 167089, 169880, 172672, 175466, 178256, 181049, 183839, 186630, 189421, 192214, 195006, 197798, 200589, 203379, 206172, 208962, 211757, 214547, 217338, 220129] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.倍率 *= 1.31 + + +class 技能11(被动技能): + 名称 = '烈焰燃烧' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + # 物理攻击力加成 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03 + 0.01 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "烈焰焚步" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [500, 4480] + 无色消耗 = 5 + data0 = [0, 0, 0, 4523, 4954, 5386, 5816, 6248, 6679, 7111, 7542, 7974, 8405, 8837, 9267, 9699, 10130, 10562, 10993, 11425, 11856, 12288, 12718, 13150, 13581, 14013, 14444, 14876, 15307, 15738, 16169, 16601, 17032, 17464, 17895, 18327, 18757, 19189, 19620, 20052, 20483, 20915, 21346, 21778, 22208, 22640, 23071, 23503, 23934, 24366, 24797] + hit0 = 1 + + 关联技能 = ['所有'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['烈焰焚步', '双重释放', '极武霸皇踢', '焚火逐日拳'] + + 国服特色 = 1.065 + + # 被动技能攻击力加成 + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.02 + 0.04 * (self.等级-1), 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.85 + + +# 双重释放不被视为觉醒技能(Lv50);其等级同烈焰焚步 +class 技能13(主动技能): + 名称 = '双重释放' + 所在等级 = 49 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + 基础等级 = 1 + MP = [850, 7000] + 无色消耗 = 0 + data0 = [0, 66520, 81946, 97369, 112792, 128218, 143642, 159068, 174493, 189918, 205341, 220767, 236192, 251621, 267043, 282468, 297896, 313317, 328745, 344167, 359595, 375018, 390443, 405869, 421291, 436718, 452143, 467565, 482992, 498418, 513841, 529265, 544690, 560118, 575544, 590969, 606390, 621816, 637241, 652666, 668090, 683521, 698946, 714363, 729793, 745215, 760642, 776068, 791491, 806918, 822340] + hit0 = 1 + CD = 145 + + 国服特色 = 1.065 + + 关联技能 = ['所有'] + 额外倍率 = 1.0 + 非关联技能 = ['双重释放', '烈焰焚步', '极武霸皇踢', '焚火逐日拳'] + + def 加成倍率(self, 武器类型): + return self.额外倍率 + + 关联技能1 = ['所有'] + 额外倍率1 = 1.0 + 非关联技能1 = ["下段踢","肘击","铁山靠","碎骨","闪击快打"] + + def 加成倍率1(self, 武器类型): + return self.额外倍率1 + + +class 技能14(主动技能): + 名称 = "飞燕旋风" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1260] + 无色消耗 = 1 + data0 = [0, 5798, 6384, 6972, 7560, 8150, 8741, 9326, 9914, 10502, 11091, 11677, 12267, 12855, 13443, 14033, 14621, 15209, 15795, 16384, 16975, 17561, 18148, 18737, 19327, 19916, 20502, 21089, 21679, 22265, 22854, 23442, 24032, 24620, 25208, 25796, 26384, 26972, 27559, 28148, 28739, 29327, 29915, 30503, 31089, 31679, 32268, 32856, 33444, 34033, 34621] + hit0 = 2 + data1 = [0, 11928, 13142, 14350, 15560, 16772, 17984, 19195, 20402, 21612, 22823, 24035, 25246, 26454, 27665, 28876, 30087, 31296, 32506, 33716, 34928, 36139, 37350, 38560, 39770, 40979, 42190, 43401, 44610, 45822, 47034, 48242, 49453, 50664, 51875, 53084, 54296, 55504, 56717, 57927, 59138, 60346, 61558, 62769, 63980, 65188, 66400, 67610, 68822, 70031, 71240] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 国服特色 = 1.065 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 += 2 + self.power0 = 0.88 + self.power1 = 0.88 + + +class 技能15(主动技能): + 名称 = "旋风碎心踢" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [935, 1960] + 无色消耗 = 2 + data0 = [0, 801, 884, 964, 1045, 1128, 1208, 1291, 1372, 1454, 1536, 1616, 1696, 1780, 1860, 1941, 2023, 2105, 2188, 2268, 2349, 2430, 2512, 2592, 2674, 2756, 2837, 2920, 2999, 3082, 3164, 3244, 3326, 3408, 3488, 3571, 3651, 3733, 3815, 3896, 3979, 4059, 4142, 4224, 4303, 4386, 4466, 4548, 4631, 4712, 4793] + hit0 = 4 + data1 = [0, 11611, 12786, 13967, 15142, 16323, 17499, 18678, 19855, 21036, 22211, 23389, 24568, 25745, 26926, 28102, 29282, 30458, 31636, 32814, 33992, 35171, 36349, 37525, 38705, 39882, 41060, 42238, 43417, 44595, 45771, 46950, 48128, 49309, 50485, 51664, 52841, 54018, 55196, 56372, 57552, 58730, 59908, 61085, 62264, 63444, 64620, 65799, 66975, 68154, 69330] + hit1 = 1 + data2 = [0, 26318, 28989, 31657, 34328, 36999, 39671, 42340, 45008, 47679, 50348, 53021, 55690, 58361, 61029, 63700, 66371, 69040, 71711, 74381, 77052, 79718, 82392, 85062, 87730, 90402, 93072, 95740, 98411, 101083, 103753, 106422, 109095, 111761, 114432, 117101, 119774, 122443, 125115, 127785, 130452, 133124, 135792, 138466, 141135, 143804, 146475, 149143, 151814, 154483, 157155] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.倍率 *= 1.24 + + +class 技能16(主动技能): + 名称 = "烈火强踢" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [450, 1260] + 无色消耗 = 3 + data0 = [0, 69030, 76034, 83036, 90041, 97043, 104044, 111051, 118051, 125054, 132057, 139062, 146065, 153067, 160069, 167075, 174077, 181081, 188081, 195087, 202090, 209091, 216097, 223101, 230101, 237106, 244108, 251112, 258117, 265117, 272122, 279125, 286128, 293129, 300133, 307138, 314140, 321144, 328147, 335148, 342154, 349156, 356159, 363162, 370165, 377168, 384173, 391173, 398177, 405182, 412184] + hit0 = 1 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.倍率 *= 1.35 + self.CDR *= 0.9 + + +class 技能17(被动技能): + 名称 = '烈火支配' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.17 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "烈火强拳" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 55 + MP = [450, 1260] + 无色消耗 = 4 + data0 = [0, 84060, 92587, 101115, 109640, 118169, 126697, 135230, 143752, 152282, 160811, 169338, 177867, 186391, 194921, 203448, 211979, 220506, 229032, 237561, 246090, 254615, 263144, 271675, 280200, 288728, 297255, 305784, 314312, 322839, 331368, 339893, 348422, 356953, 365476, 374008, 382535, 391062, 399590, 408118, 416647, 425175, 433700, 442231, 450756, 459285, 467814, 476345, 484870, 493397, 501925] + hit0 = 1 + + 是否有护石 = 1 + + 国服特色 = 1.065 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能19(主动技能): + 名称 = "极武霸皇踢" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 35065, 43193, 51325, 59455, 67585, 75714, 83848, 91978, 100108, 108240, 116369, 124501, 132632, 140764, 148893, 157023, 165157, 173285, 181419, 189546, 197680, 205808, 213942, 222071, 230202, 238333, 246464, 254594, 262726, 270856, 278987, 287118, 295248, 303380, 311510, 319639, 327771, 335901, 344034, 352165, 360296, 368425, 376556, 384685, 392819, 400948, 409080, 417209, 425342, 433469] + hit0 = 1 + data1 = [0, 44024, 54231, 64441, 74649, 84857, 95065, 105274, 115482, 125690, 135898, 146109, 156316, 166525, 176732, 186944, 197149, 207358, 217568, 227777, 237985, 248194, 258403, 268610, 278818, 289028, 299237, 309442, 319653, 329861, 340068, 350278, 360487, 370697, 380902, 391112, 401323, 411529, 421737, 431946, 442156, 452363, 462572, 472780, 482988, 493197, 503406, 513613, 523821, 534030, 544239] + hit1 = 1 + data2 = [0, 96852, 119309, 141768, 164227, 186689, 209145, 231605, 254063, 276523, 298981, 321440, 343895, 366356, 388816, 411272, 433733, 456190, 478650, 501107, 523568, 546026, 568486, 590945, 613403, 635859, 658322, 680780, 703238, 725695, 748153, 770613, 793072, 815532, 837988, 860449, 882905, 905368, 927825, 950284, 972743, 995202, 1017661, 1040117, 1062577, 1085034, 1107495, 1129953, 1152412, 1174870, 1197330] + hit2 = 1 + + 国服特色 = 1.065 + + + +class 技能20(被动技能): + 名称 = '千锤百炼' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "炼狱坠星腿" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 140798, 155082, 169366, 183651, 197936, 212219, 226502, 240788, 255072, 269354, 283642, 297925, 312209, 326493, 340778, 355060, 369347, 383629, 397914, 412199, 426483, 440765, 455051, 469333, 483621, 497902, 512187, 526472, 540756, 555042, 569326, 583608, 597892, 612177, 626460, 640746, 655031, 669312, 683596, 697883, 712166, 726450, 740736, 755019, 769304, 783586, 797869, 812155, 826441, 840723] + hit0 = 1 + + 国服特色 = 1.065 + + +class 技能22(主动技能): + 名称 = "焚火逐日拳" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 50686, 62439, 74192, 85944, 97699, 109452, 121206, 132959, 144711, 156464, 168220, 179973, 191727, 203479, 215232, 226988, 238741, 250494, 262247, 274000, 285754, 297507, 309261, 321013, 332767, 344522, 356273, 368028, 379780, 391534, 403288, 415041, 426794, 438548, 450300, 462056, 473809, 485562, 497315, 509068, 520821, 532577, 544330, 556083, 567835, 579589, 591343, 603096, 614850, 626602] + hit0 = 1 + data1 = [0, 25342, 31218, 37095, 42973, 48848, 54726, 60601, 66480, 72356, 78233, 84108, 89986, 95862, 101740, 107615, 113492, 119368, 125246, 131124, 136999, 142878, 148752, 154630, 160507, 166384, 172260, 178136, 184012, 189889, 195766, 201644, 207518, 213397, 219272, 225150, 231029, 236903, 242781, 248656, 254534, 260410, 266287, 272163, 278040, 283916, 289795, 295670, 301548, 307423, 313301] + hit1 = 1 + data2 = [0, 30411, 37463, 44515, 51565, 58617, 65673, 72724, 79775, 86827, 93880, 100932, 107982, 115034, 122087, 129140, 136191, 143244, 150296, 157348, 164400, 171451, 178503, 185555, 192608, 199660, 206711, 213764, 220815, 227868, 234920, 241972, 249025, 256077, 263127, 270181, 277232, 284284, 291336, 298387, 305441, 312494, 319544, 326596, 333649, 340701, 347753, 354803, 361856, 368910, 375962] + hit2 = 1 + data3 = [0, 35480, 43707, 51933, 60161, 68389, 76615, 84844, 93072, 101299, 109526, 117753, 125981, 134207, 142434, 150663, 158891, 167117, 175345, 183573, 191799, 200026, 208254, 216482, 224710, 232936, 241165, 249393, 257619, 265845, 274073, 282300, 290529, 298755, 306983, 315211, 323438, 331665, 339893, 348120, 356347, 364574, 372803, 381031, 389257, 397485, 405712, 413938, 422166, 430394, 438621] + hit3 = 1 + data4 = [0, 76027, 93659, 111289, 128919, 146549, 164178, 181809, 199439, 217070, 234700, 252328, 269961, 287589, 305221, 322849, 340481, 358110, 375740, 393371, 411001, 428631, 446260, 463890, 481523, 499150, 516782, 534410, 552043, 569674, 587301, 604932, 622561, 640194, 657822, 675452, 693084, 710712, 728344, 745971, 763603, 781234, 798864, 816495, 834122, 851755, 869383, 887015, 904644, 922276, 939905] + hit4 = 1 + data5 = [0, 111509, 137366, 163225, 189082, 214938, 240797, 266653, 292512, 318370, 344227, 370085, 395941, 421799, 447657, 473514, 499371, 525231, 551087, 576943, 602802, 628659, 654516, 680374, 706233, 732090, 757945, 783804, 809662, 835520, 861378, 887235, 913092, 938949, 964807, 990663, 1016524, 1042380, 1068236, 1094093, 1119952, 1145809, 1171667, 1197526, 1223382, 1249240, 1275097, 1300954, 1326813, 1352671, 1378527] + hit5 = 1 + data6 = [0, 177401, 218540, 259674, 300813, 341950, 383086, 424224, 465360, 506497, 547635, 588771, 629907, 671046, 712182, 753318, 794457, 835592, 876729, 917867, 959004, 1000140, 1041278, 1082415, 1123551, 1164689, 1205825, 1246963, 1288098, 1329236, 1370373, 1411509, 1452648, 1493784, 1534920, 1576058, 1617196, 1658331, 1699469, 1740607, 1781742, 1822881, 1864017, 1905153, 1946291, 1987428, 2028563, 2069702, 2110840, 2151974, 2193113] + hit6 = 1 + + 国服特色 = 1.065 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'striker_male' + self.名称 = '归元·散打' + self.角色 = '格斗家(男)' + self.角色类型 = '输出' + self.职业 = '散打' + # 用来筛CP武器的 + self.转职 = '散打(男)' + self.武器选项 = ['拳套'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '拳套' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.04 + + super().__init__(equVersion) + + def 伤害计算(self): + # 后续完善双重释放体现在技能上 + return super().伤害计算() + + def 基础面板物理攻击力(self) -> float: + # 武极48级被动的运算取整必须在其他物攻提升率之前 + return int(super().基础面板物理攻击力()) + + def 职业特殊计算(self): + # 二觉解放等级绑定 + 双重释放 = self.get_skill_by_name('双重释放') + 双重释放.等级上限 = 50 + 双重释放.等级 = self.get_skill_by_name( + '烈焰焚步').等级 + + # def 设置觉醒技能(self): + # self.觉醒技能 = [] + # for i in self.技能栏: + # if i.是否有伤害 == 1 and i.所在等级 in [50,85,100] and i.名称 != '双重释放': + # self.觉醒技能.append(i.名称) \ No newline at end of file diff --git a/api/core/characters/summoner.py b/api/core/characters/summoner.py new file mode 100644 index 00000000..88bec27a --- /dev/null +++ b/api/core/characters/summoner.py @@ -0,0 +1,1075 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 +from typing import Dict, List, Union +from core.equipment.property import 武器MP系数, 武器冷却惩罚 + + +class 主动技能(主动技能): + 国服特色 = 1.05 + # todo + def MP消耗(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复=True + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外倍率 = argv.get('额外倍率', 1.0) + if self.MP is None: + self.MP = [0, 0] + if self.等级上限 > 1: + mpnum = int(self.MP[0] + (self.等级 - 1) * + (self.MP[1] - self.MP[0]) / (self.等级上限 - 1)) + else: + mpnum = self.MP[0] + return round(mpnum * 武器MP系数(武器类型, 输出类型) * 额外倍率, 0) + + def 等效CD2(self, **argv): + return super().等效CD(**argv) + + +class 附灵主动(主动技能): + 形态 = ["续航", "附灵"] + + # 是否计算 + count0 = 1 + data_f0 = [] + hit_f0 = 1 + power_f0 = 1 + count_f0 = 1 + CD2 = 0 + + 输出时间 = 40 + + def 基础百分比(self, 类型, 等级): + if 类型 == '直伤': + name = '' + else: + name = 类型 + 百分比 = 0.0 + for i in range(0, 10): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + if getattr(self, '间隔{}'.format(i), 0) > 0: + hit *= self.输出时间 / getattr(self, '间隔{}'.format(i)) + power = getattr(self, '{}power{}'.format(name, i), 1) + count = getattr(self, '{}count{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power * count + for i in range(0, 5): + data = getattr(self, '{}data_f{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit_f{}'.format(name, i), 1) + power = getattr(self, '{}power_f{}'.format(name, i), 1) + count = getattr(self, '{}count_f{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power * count + return 百分比*self.国服特色 + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "续航": + for i in range(0, 10): + setattr(self, 'count{}'.format(i), 1) + for i in range(0, 5): + setattr(self, 'count_f{}'.format(i), 0) + if 形态 == "附灵": + for i in range(0, 10): + setattr(self, 'count{}'.format(i), 0) + for i in range(0, 5): + setattr(self, 'count_f{}'.format(i), 1) + + def 等效CD2(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + + 额外恢复 = argv.get('额外恢复', 0) + + cdr = self.手搓CD() + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + self.形态变更(形态, char) + + return round(max(self.CD2 * self.CDR * 额外CDR / ((self.恢复+额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD2 * 0.3, 1), 1) + + +class 技能0(主动技能): + 名称 = "鞭挞" + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 1 + MP = [15, 154] + 无色消耗 = 0 + data0 = [0, 1182, 1376, 1563, 1751, 1940, 2127, 2317, 2505, 2698, 2886, 3074, 3262, 3450, 3640, 3828, 4017, 4207, 4397, 4586, 4773, 4961, 5149, 5339, 5527, 5718, 5909, 6097, 6284, 6472, 6660, 6850, 7039, 7230, 7417, 7608, 7796, 7982, 8173, 8360, 8552, 8740, 8929, 9117, 9307, 9494, 9682, 9871, 10063, 10251, 10440, 10630, 10818, 11006, 11193, 11381, 11575, 11762, 11950, 12140, 12328, 12516, 12703, 12892, 13086, 13273, 13462, 13649, 13840, 14028, 14216] + hit0 = 0 + data1 = [0, 194, 347, 500, 653, 807, 960, 1112, 1264, 1417, 1568, 1722, 1874, 2028, 2178, 2330, 2485, 2637, 2789, 2943, 3094, 3247, 3399, 3551, 3706, 3858, 4011, 4164, 4316, 4470, 4623, 4775, 4928, 5079, 5232, 5385, 5538, 5688, 5841, 5994, 6147, 6301, 6454, 6606, 6758, 6910, 7063, 7215, 7369, 7522, 7675, 7828, 7980, 8133, 8284, 8436, 8590, 8742, 8897, 9049, 9199, 9353, 9505, 9658, 9811, 9963, 10115, 10269, 10420, 10574, 10727] + hit1 = 1 + data2 = [0, 291, 521, 749, 977, 1210, 1438, 1667, 1895, 2124, 2352, 2583, 2811, 3039, 3268, 3496, 3726, 3954, 4183, 4413, 4641, 4871, 5099, 5330, 5558, 5788, 6016, 6244, 6475, 6703, 6932, 7160, 7390, 7618, 7846, 8078, 8306, 8534, 8762, 8992, 9220, 9448, 9680, 9908, 10137, 10365, 10594, 10823, 11053, 11281, 11510, 11741, 11970, 12198, 12426, 12656, 12884, 13112, 13343, 13572, 13800, 14028, 14258, 14486, 14714, 14946, 15174, 15403, 15632, 15861, 16089] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 国服特色 = 1.12 + + 关联技能 = ['所有'] + 非关联技能 = ['鞭挞', '精灵献祭', '束缚印记', '传说召唤:月蚀之影', '魔月·德拉里昂', '魔力印记'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.045 + + def 等效百分比(self, **argv): + char = argv.get('char', {}) + if char.get_skill_by_name('绝对支配').等级 > 0: + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + self.CD = 3 + else: + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.CD = 1 + return super().等效百分比(**argv) + + +class 技能1(被动技能): + 名称 = '召唤兽强化' + 所在等级 = 15 + 等级上限 = 30 + 基础等级 = 20 + 关联技能 = ['契约召唤:弗利特', '契约召唤:桑德尔', '契约召唤:袄索', '精灵召唤:亡魂默克尔', '精灵召唤:极光格雷林', '精灵召唤:火焰赫瑞克', '精灵召唤:冰影阿奎利斯', '契约召唤:路易丝', '精灵召唤:伊伽贝拉', + '契约召唤:牛头王库鲁塔', '契约召唤:征服者卡西利亚斯', '咒令:愤怒咆哮', '传说召唤:逆月者拉莫斯', '咒令:逆月之蚀', '必杀剑·千鬼杀', '至高精灵王', '传说召唤:月蚀之影', '狂化黑月', '魔月·德拉里昂'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00+0.02*self.等级, 3) + + +class 技能2(被动技能): + 名称 = '心灵感应' + 所在等级 = 15 + 等级上限 = 16 + 基础等级 = 6 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.03+0.02*self.等级, 3) + + +class 技能3(主动技能): + 名称 = "精灵献祭" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [200, 700] + 无色消耗 = 0 + data0 = [0, 2566, 2824, 3088, 3346, 3605, 3867, 4128, 4386, 4648, 4908, 5165, 5429, 5688, 5947, 6209, 6468, 6729, 6989, 7249, 7507, 7770, 8033, 8288, 8552, 8811, 9071, 9333, 9590, 9853, 10114, 10373, 10635, 10892, 11152, 11415, 11675, 11932, 12194, 12455, 12713, 12976, 13234, 13494, 13759, 14017, 14276, 14538, 14798, 15056, 15318, 15579, 15836, 16100, 16358, 16617, 16879, 17137, 17399, 17660, 17919, 18181, 18441, 18699, 18962, 19222, 19481, 19744, 20004, 20263, 20523] + hit0 = 1 + data1 = [0, 507, 562, 607, 660, 711, 764, 815, 867, 919, 973, 1021, 1076, 1125, 1179, 1225, 1277, 1330, 1381, 1434, 1483, 1539, 1589, 1640, 1692, 1743, 1794, 1844, 1895, 1949, 1999, 2051, 2102, 2156, 2206, 2260, 2309, 2361, 2411, 2461, 2514, 2566, 2616, 2668, 2719, 2771, 2824, 2875, 2928, 2978, 3033, 3078, 3133, 3183, 3235, 3286, 3338, 3388, 3444, 3494, 3547, 3596, 3645, 3697, 3748, 3800, 3851, 3904, 3956, 4010, 4062] + hit1 = 8 + data2 = [0, 2590, 2852, 3112, 3375, 3638, 3902, 4163, 4427, 4689, 4953, 5214, 5479, 5741, 6004, 6266, 6528, 6792, 7056, 7317, 7574, 7837, 8099, 8362, 8625, 8889, 9151, 9413, 9677, 9939, 10200, 10465, 10728, 10991, 11251, 11515, 11777, 12041, 12303, 12566, 12829, 13092, 13353, 13618, 13880, 14144, 14404, 14666, 14930, 15195, 15456, 15718, 15977, 16240, 16502, 16765, 17029, 17291, 17554, 17817, 18080, 18341, 18605, 18869, 19131, 19389, 19653, 19915, 20181, 20441, 20704] + hit2 = 1 + data3 = [0, 2566, 2824, 3088, 3346, 3605, 3867, 4128, 4386, 4648, 4908, 5165, 5429, 5688, 5947, 6209, 6468, 6729, 6989, 7249, 7507, 7770, 8033, 8288, 8552, 8811, 9071, 9333, 9590, 9853, 10114, 10373, 10635, 10892, 11152, 11415, 11675, 11932, 12194, 12455, 12713, 12976, 13234, 13494, 13759, 14017, 14276, 14538, 14798, 15056, 15318, 15579, 15836, 16100, 16358, 16617, 16879, 17137, 17399, 17660, 17919, 18181, 18441, 18699, 18962, 19222, 19481, 19744, 20004, 20263, 20523] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(附灵主动): + 名称 = '契约召唤:弗利特' + 所在等级 = 20 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 10 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [90, 881] + + # 撕咬,CD1秒 + data0 = [0, 343, 377, 412, 447, 481, 516, 551, 586, 620, 655, 691, 724, 759, 795, 828, 863, 899, 933, 967, 1003, 1037, 1071, 1107, 1141, 1175, 1211, 1245, 1280, 1315, 1349, 1384, 1418, 1454, 1488, 1523, 1558, 1592, 1626, 1662, 1696, 1732, 1766, 1800, 1836, 1870, 1904, 1940, 1975, 2008, 2044, 2079, 2113, 2147, 2183, 2217, 2252, 2287, 2321, 2355, 2391, 2426, 2460, 2495, 2530, 2563, 2599, 2634, 2667, 2703, 2738] + # 攻击间隔 20s打8.25次 + 间隔0 = 20/8.25 + hit0 = 1 + # 火焰球,CD1秒 + data1 = [0, 195, 217, 235, 255, 275, 295, 314, 335, 355, 374, 395, 414, 434, 454, 474, 493, 514, 533, 553, 574, 593, 613, 633, 653, 672, 693, 712, 731, 751, 771, 790, 810, 831, 850, 871, 890, 910, 929, 950, 969, 990, 1009, 1029, 1050, 1069, 1089, 1109, 1129, 1148, 1169, 1188, 1208, 1227, 1248, 1268, 1287, 1307, 1326, 1346, 1366, 1386, 1406, 1426, 1445, 1465, 1486, 1505, 1525, 1545, 1565] + # 攻击间隔 20s打16.25次 + 间隔1 = 20/16.25 + hit1 = 1 + # 火焰龙息,CD2秒 + data2 = [0, 588, 646, 706, 766, 825, 885, 944, 1004, 1064, 1122, 1182, 1242, 1301, 1361, 1420, 1480, 1540, 1599, 1658, 1718, 1777, 1837, 1896, 1956, 2016, 2075, 2135, 2194, 2253, 2313, 2372, 2431, 2492, 2550, 2611, 2670, 2729, 2788, 2849, 2907, 2968, 3027, 3087, 3147, 3206, 3265, 3325, 3384, 3443, 3503, 3562, 3623, 3681, 3742, 3799, 3860, 3919, 3979, 4038, 4099, 4157, 4218, 4277, 4336, 4395, 4454, 4514, 4574, 4633, 4693] + # 攻击间隔 20s打7次 + 间隔2 = 20/7 + hit2 = 1 + # 龙威[附灵] + data_f0 = [0, 426, 469, 513, 556, 599, 642, 685, 729, 771, 815, 859, 902, 944, 988, 1031, 1075, 1117, 1160, 1204, 1248, 1290, 1334, 1377, 1420, 1463, 1506, 1550, 1593, 1635, 1679, 1723, 1765, 1809, 1852, 1895, 1938, 1981, 2024, 2068, 2110, 2153, 2198, 2241, 2284, 2327, 2370, 2414, 2456, 2499, 2543, 2585, 2629, 2673, 2716, 2758, 2802, 2845, 2889, 2931, 2974, 3018, 3062, 3104, 3148, 3191, 3235, 3277, 3320, 3364, 3407] + hit_f0 = 5 + + +class 技能5(被动技能): + 名称 = '绝对支配' + 所在等级 = 25 + 等级上限 = 1 + 等级精通 = 1 + 等级 = 1 + + +class 技能6(附灵主动): + 名称 = '契约召唤:桑德尔' + 所在等级 = 25 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 12 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [120, 965] + MP2 = ["todo"] + + # 形态 = ['续航', '附灵'] + # 输出时间 = 0 + + # 挥刀,CD1秒 + data0 = [0, 351, 388, 421, 458, 494, 530, 565, 601, 637, 672, 707, 743, 779, 815, 849, 885, 921, 956, 992, 1028, 1063, 1098, 1134, 1170, 1205, 1242, 1277, 1313, 1348, 1384, 1420, 1455, 1490, 1526, 1562, 1598, 1633, 1668, 1704, 1739, 1775, 1811, 1847, 1881, 1917, 1953, 1988, 2024, 2061, 2096, 2131, 2167, 2203, 2239, 2273, 2309, 2345, 2381, 2416, 2452, 2487, 2522, 2558, 2594, 2630, 2664, 2700, 2736, 2771, 2807] + hit0 = 1 + # 攻击间隔 20s打12.970次(根据附灵占比拟合后) + 间隔0 = 20/12.970 + # 直刺,CD1.5秒 + data1 = [0, 491, 540, 590, 640, 689, 740, 789, 839, 889, 937, 988, 1037, 1087, 1137, 1187, 1236, 1286, 1336, 1385, 1436, 1485, 1534, 1585, 1634, 1684, 1734, 1784, 1834, 1882, 1932, 1982, 2032, 2082, 2131, 2181, 2231, 2281, 2330, 2381, 2430, 2479, 2530, 2579, 2629, 2679, 2727, 2777, 2827, 2877, 2927, 2976, 3026, 3076, 3126, 3175, 3226, 3275, 3325, 3375, 3424, 3475, 3524, 3573, 3624, 3672, 3722, 3772, 3821, 3871, 3921] + hit1 = 1 + # 攻击间隔 20s打9次 + 间隔1 = 20/9 + # 剑气[附灵] + data_f0 = [0, 2773, 3053, 3335, 3615, 3897, 4179, 4460, 4740, 5023, 5303, 5585, 5865, 6147, 6429, 6711, 6991, 7272, 7555, 7835, 8117, 8396, 8679, 8960, 9241, 9522, 9804, 10084, 10367, 10647, 10928, 11210, 11492, 11772, 12054, 12335, 12616, 12898, 13178, 13459, 13742, 14022, 14303, 14584, 14866, 15147, 15429, 15709, 15991, 16273, 16554, 16835, 17116, 17398, 17679, 17959, 18241, 18523, 18803, 19086, 19366, 19647, 19929, 20211, 20490, 20773, 21054, 21335, 21615, 21898, 22178] + hit_f0 = 1 + + +class 技能7(附灵主动): + 名称 = '精灵召唤:冰影阿奎利斯' + 所在等级 = 30 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 15 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [168, 1411] + MP2 = ["todo"] + + # 落冰,CD1秒 + data0 = [0, 35, 38, 41, 45, 48, 52, 55, 59, 62, 65, 68, 73, 76, 79, 83, 87, 90, 94, 98, 101, 104, 108, 112, 115, 118, 122, 125, 128, 132, 136, 139, 142, 146, 149, 153, 156, 160, 163, 166, 169, 174, 177, 180, 184, 187, 190, 194, 198, 201, 204, 207, 211, 215, 218, 222, 225, 228, 231, 236, 239, 242, 245, 249, 252, 256, 260, 263, 266, 269, 274] + hit0 = 3 + # 攻击间隔 20s打14.984次(根据附灵占比拟合后) + 间隔0 = 20/14.984 + # 冰息,CD1.5秒 + data1 = [0, 307, 339, 369, 402, 432, 464, 494, 526, 557, 589, 620, 651, 682, 713, 744, 776, 807, 837, 869, 899, 931, 963, 994, 1025, 1056, 1087, 1118, 1150, 1181, 1212, 1243, 1274, 1304, 1337, 1368, 1399, 1430, 1461, 1492, 1523, 1555, 1586, 1617, 1648, 1679, 1711, 1742, 1774, 1804, 1836, 1866, 1897, 1929, 1960, 1991, 2022, 2054, 2084, 2117, 2147, 2179, 2209, 2241, 2271, 2304, 2334, 2366, 2396, 2427, 2459] + hit1 = 1 + # 攻击间隔 20s打9次 + 间隔1 = 20/9 + # 冰导弹,CD5秒 + data2 = [0, 342, 377, 411, 446, 481, 515, 550, 584, 619, 654, 689, 723, 757, 792, 827, 862, 896, 931, 966, 999, 1035, 1070, 1105, 1138, 1173, 1208, 1243, 1277, 1312, 1347, 1380, 1415, 1451, 1485, 1519, 1554, 1589, 1624, 1658, 1693, 1727, 1762, 1796, 1832, 1866, 1901, 1935, 1969, 2005, 2040, 2073, 2108, 2143, 2178, 2212, 2247, 2282, 2317, 2350, 2386, 2421, 2455, 2489, 2524, 2558, 2594, 2628, 2663, 2697, 2732] + hit2 = 3 + # 攻击间隔 20s打4次 + 间隔2 = 20/4 + # 七重冰导弹[附灵] + data_f0 = [0, 456, 502, 548, 594, 641, 686, 733, 780, 825, 871, 917, 964, 1010, 1056, 1101, 1149, 1195, 1240, 1287, 1334, 1379, 1425, 1472, 1518, 1564, 1611, 1656, 1703, 1749, 1795, 1841, 1887, 1934, 1980, 2026, 2072, 2119, 2165, 2210, 2257, 2304, 2349, 2395, 2442, 2488, 2534, 2581, 2626, 2673, 2719, 2765, 2811, 2858, 2904, 2950, 2996, 3042, 3089, 3135, 3180, 3226, 3274, 3319, 3365, 3411, 3458, 3504, 3549, 3596, 3643] + hit_f0 = 7 + + +class 技能8(附灵主动): + 名称 = '精灵召唤:火焰赫瑞克' + 所在等级 = 30 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 15 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [168, 1411] + MP2 = ["todo"] + + # 火焰剑上斩,CD1秒 + data0 = [0, 266, 292, 321, 347, 375, 401, 428, 454, 483, 509, 537, 563, 590, 616, 644, 671, 697, 725, 751, 778, 805, 833, 859, 887, 913, 940, 967, 995, 1021, 1049, 1075, 1101, 1129, 1156, 1184, 1210, 1237, 1263, 1291, 1318, 1346, 1372, 1399, 1425, 1453, 1479, 1508, 1534, 1561, 1587, 1615, 1641, 1668, 1696, 1722, 1749, 1776, 1803, 1830, 1858, 1884, 1911, 1938, 1965, 1992, 2020, 2046, 2073, 2100, 2126] + hit0 = 1 + # 攻击间隔 20s打14.880次(根据附灵占比拟合后) + 间隔0 = 20/15.120 + # 火焰下重斩,CD1.5秒 + data1 = [0, 302, 333, 364, 395, 425, 457, 486, 517, 548, 578, 609, 640, 671, 701, 732, 763, 792, 824, 854, 885, 915, 947, 976, 1008, 1038, 1069, 1100, 1131, 1160, 1192, 1222, 1252, 1284, 1314, 1344, 1376, 1407, 1436, 1469, 1498, 1528, 1560, 1590, 1621, 1652, 1682, 1713, 1744, 1774, 1805, 1836, 1865, 1897, 1927, 1958, 1988, 2020, 2050, 2081, 2111, 2143, 2172, 2203, 2234, 2264, 2295, 2326, 2356, 2387, 2419] + hit1 = 1 + # 攻击间隔 20s打11次 + 间隔1 = 20/11 + # 火焰下重斩剑气,CD1.5秒 + data2 = [0, 76, 84, 90, 99, 107, 114, 122, 129, 137, 145, 153, 160, 167, 176, 183, 190, 199, 205, 214, 222, 228, 237, 245, 251, 260, 267, 275, 283, 290, 298, 305, 313, 321, 328, 337, 344, 351, 360, 366, 375, 383, 389, 398, 405, 412, 421, 428, 436, 444, 451, 459, 466, 474, 482, 489, 498, 504, 512, 521, 527, 535, 544, 550, 559, 566, 573, 582, 589, 596, 604] + hit2 = 1 + 间隔2 = 20/11 + # 火焰爆剑术第1击[附灵] + data_f0 = [0, 638, 703, 767, 832, 897, 962, 1026, 1091, 1156, 1220, 1286, 1350, 1414, 1479, 1544, 1609, 1674, 1738, 1802, 1868, 1933, 1997, 2062, 2126, 2190, 2257, 2321, 2385, 2450, 2514, 2580, 2645, 2709, 2773, 2838, 2902, 2968, 3033, 3097, 3161, 3226, 3292, 3356, 3421, 3485, 3549, 3616, 3680, 3744, 3809, 3873, 3938, 4004, 4068, 4132, 4197, 4262, 4326, 4392, 4456, 4520, 4586, 4650, 4715, 4780, 4844, 4909, 4974, 5039, 5103] + hit_f0 = 1 + # 火焰爆剑术第2击[附灵] + data_f1 = [0, 957, 1053, 1151, 1249, 1346, 1443, 1539, 1636, 1734, 1832, 1927, 2025, 2122, 2219, 2315, 2413, 2510, 2608, 2705, 2800, 2898, 2996, 3093, 3190, 3286, 3383, 3481, 3579, 3675, 3772, 3869, 3966, 4063, 4161, 4257, 4355, 4452, 4548, 4646, 4743, 4840, 4937, 5034, 5131, 5228, 5326, 5422, 5520, 5617, 5714, 5810, 5908, 6005, 6103, 6198, 6296, 6393, 6491, 6588, 6684, 6781, 6879, 6976, 7073, 7169, 7267, 7364, 7462, 7558, 7655] + hit_f1 = 1 + # 火焰爆剑术第3击[附灵] + data_f2 = [0, 1276, 1405, 1535, 1664, 1794, 1923, 2052, 2182, 2311, 2442, 2570, 2699, 2830, 2958, 3088, 3218, 3346, 3476, 3606, 3735, 3864, 3994, 4123, 4253, 4383, 4511, 4641, 4771, 4899, 5030, 5159, 5287, 5418, 5547, 5677, 5806, 5935, 6065, 6194, 6324, 6453, 6582, 6713, 6841, 6971, 7101, 7229, 7359, 7489, 7619, 7747, 7877, 8007, 8136, 8266, 8395, 8524, 8654, 8783, 8913, 9042, 9172, 9301, 9430, 9561, 9689, 9818, 9949, 10077, 10207] + hit_f2 = 1 + # 火焰爆剑术爆炸[附灵] + data_f3 = [0, 105, 116, 126, 138, 148, 159, 169, 180, 190, 201, 213, 223, 234, 244, 255, 265, 276, 287, 298, 308, 320, 329, 340, 350, 362, 372, 383, 395, 404, 414, 425, 437, 447, 458, 469, 479, 489, 501, 511, 522, 532, 544, 553, 564, 575, 586, 596, 608, 618, 628, 639, 650, 661, 671, 683, 692, 703, 713, 725, 735, 746, 757, 767, 777, 789, 800, 810, 821, 832, 842] + hit_f3 = 3 + # 实际还有两段附灵伤害接在爆炸后,全等级固定值18 + + +class 技能9(附灵主动): + 名称 = '精灵召唤:极光格雷林' + 所在等级 = 30 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 15 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [168, 1411] + MP2 = ["todo"] + + # 闪电,CD1秒 + data0 = [0, 51, 57, 62, 68, 74, 79, 84, 89, 95, 100, 105, 110, 116, 120, 125, 130, 135, 143, 148, 153, 158, 163, 168, 173, 179, 184, 189, 194, 200, 205, 209, 216, 222, 227, 232, 237, 243, 247, 252, 257, 263, 268, 273, 278, 284, 290, 295, 300, 306, 311, 316, 321, 327, 332, 336, 341, 347, 352, 359, 364, 370, 374, 379, 384, 390, 395, 400, 405, 411, 416] + hit0 = 2 + power0 = 2 + # 攻击间隔 20s打18(根据附灵占比拟合后) + 间隔0 = 20/18 + # 闪电5连发,CD2秒 + data1 = [0, 252, 278, 303, 330, 355, 380, 406, 432, 458, 483, 507, 534, 559, 586, 610, 637, 662, 687, 713, 738, 764, 790, 817, 841, 866, 893, 918, 944, 969, 993, 1021, 1046, 1072, 1097, 1124, 1149, 1173, 1200, 1224, 1252, 1276, 1303, 1327, 1352, 1379, 1404, 1431, 1455, 1481, 1507, 1532, 1558, 1583, 1610, 1635, 1660, 1686, 1712, 1738, 1763, 1789, 1814, 1839, 1866, 1890, 1917, 1941, 1967, 1993, 2018] + hit1 = 3 + power1 = 2 + # 攻击间隔 20s打9.5 + 间隔1 = 20/9.5 + # 避雷针 持续9秒 CD18秒 增加闪电和五连发攻击力 3倍伤害 期望为2倍 + # 天雷[附灵] + data_f0 = [0, 3177, 3500, 3822, 4144, 4467, 4789, 5111, 5434, 5756, 6078, 6401, 6723, 7046, 7368, 7690, 8013, 8335, 8657, 8980, 9303, 9625, 9947, 10270, 10592, 10914, 11237, 11559, 11881, 12204, 12527, 12848, 13171, 13494, 13815, 14138, 14461, 14782, 15105, 15428, 15749, 16072, 16395, 16717, 17039, 17362, 17684, 18006, 18329, 18651, 18975, 19296, 19618, 19942, 20263, 20585, 20909, 21231, 21552, 21876, 22198, 22519, 22843, 23165, 23486, 23810, 24132, 24453, 24777, 25099, 25421] + hit_f0 = 1 + + +class 技能10(附灵主动): + 名称 = '精灵召唤:亡魂默克尔' + 所在等级 = 30 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 15 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [168, 1411] + MP2 = ["todo"] + + # 暗黑镰刀斩击,CD1秒 + data0 = [0, 160, 176, 191, 209, 225, 241, 257, 274, 289, 305, 321, 338, 353, 369, 386, 403, 419, 434, 451, 467, 483, 500, 515, 531, 547, 564, 581, 596, 613, 629, 645, 661, 677, 693, 709, 726, 742, 757, 774, 791, 807, 823, 839, 855, 871, 887, 904, 919, 935, 951, 969, 985, 1000, 1017, 1033, 1049, 1065, 1081, 1097, 1113, 1130, 1146, 1162, 1178, 1195, 1211, 1227, 1243, 1259, 1275] + hit0 = 1 + # 攻击间隔 20s打12.980次(根据附灵占比拟合后) + 间隔0 = 20/12.980 + # 暗黑镰刀下斩,CD1.5秒 + data1 = [0, 242, 266, 291, 316, 340, 365, 389, 413, 439, 463, 487, 512, 535, 560, 585, 609, 633, 659, 683, 707, 732, 756, 782, 806, 830, 855, 879, 904, 929, 953, 976, 1002, 1026, 1050, 1075, 1099, 1124, 1149, 1173, 1197, 1222, 1247, 1272, 1296, 1320, 1346, 1370, 1393, 1418, 1442, 1466, 1492, 1516, 1540, 1565, 1590, 1614, 1639, 1663, 1687, 1713, 1737, 1761, 1786, 1810, 1836, 1859, 1883, 1908, 1933] + hit1 = 1 + # 攻击间隔 20s打13次 + 间隔1 = 20/13 + # 暗黑雾,CD3秒,持续4秒 + data2 = [0, 151, 167, 182, 199, 214, 228, 244, 260, 275, 290, 305, 321, 337, 351, 367, 382, 397, 413, 428, 444, 459, 474, 490, 505, 520, 535, 551, 567, 582, 596, 613, 628, 644, 659, 673, 690, 705, 720, 735, 751, 767, 782, 796, 812, 828, 843, 858, 873, 890, 905, 919, 935, 950, 966, 982, 996, 1012, 1027, 1043, 1058, 1073, 1089, 1105, 1119, 1135, 1150, 1165, 1181, 1196, 1212] + hit2 = 4 + 间隔2 = 20/6 + # 黑雾[附灵] + data_f0 = [0, 531, 585, 640, 693, 747, 802, 855, 909, 963, 1017, 1071, 1125, 1178, 1232, 1286, 1339, 1393, 1448, 1501, 1555, 1610, 1663, 1717, 1771, 1825, 1879, 1933, 1987, 2041, 2095, 2148, 2202, 2257, 2309, 2363, 2417, 2471, 2525, 2578, 2633, 2687, 2740, 2795, 2849, 2902, 2956, 3011, 3064, 3118, 3173, 3226, 3279, 3333, 3387, 3441, 3495, 3548, 3603, 3657, 3710, 3764, 3819, 3872, 3926, 3981, 4034, 4088, 4142, 4196, 4249] + hit_f0 = 6 + + +class 技能11(附灵主动): + 名称 = '契约召唤:袄索' + 备注 = '逆月' + 所在等级 = 30 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 15 + # 召唤CD + CD2 = 10 + TP上限 = 7 + TP成长 = 0.1 + MP = [180, 1500] + MP2 = ["todo"] + + # 穿刺[逆月],CD1秒 + data0 = [0, 124, 137, 149, 160, 172, 185, 198, 210, 223, 235, 248, 261, 273, 285, 297, 310, 323, 335, 348, 360, 373, 386, 397, 410, 423, 435, 448, 460, 473, 486, 498, 510, 522, 535, 548, 560, 573, 584, 597, 610, 621, 634, 646, 659, 672, 684, 697, 709, 722, 734, 746, 759, 771, 784, 797, 809, 822, 834, 846, 859, 871, 884, 897, 909, 922, 934, 947, 957, 970, 983] + hit0 = 1 + # 攻击间隔 20s打16次 + 间隔0 = 20/16 + # 吐蚀[逆月],CD4秒 + data1 = [0, 311, 344, 374, 407, 437, 469, 500, 532, 563, 595, 627, 658, 691, 721, 754, 784, 816, 847, 879, 911, 942, 974, 1005, 1037, 1068, 1100, 1131, 1162, 1195, 1225, 1258, 1289, 1321, 1352, 1384, 1415, 1446, 1479, 1509, 1542, 1572, 1605, 1635, 1668, 1698, 1731, 1763, 1793, 1826, 1856, 1889, 1919, 1952, 1982, 2015, 2046, 2078, 2109, 2140, 2172, 2203, 2235, 2266, 2299, 2329, 2362, 2393, 2425, 2456, 2487] + hit1 = 6 + # 攻击间隔 20s打6次 + 间隔1 = 20/5 + # 喷吐蚀块[附灵] + data_f0 = [0, 4560, 5023, 5483, 5946, 6409, 6871, 7334, 7796, 8259, 8722, 9185, 9647, 10110, 10572, 11036, 11498, 11960, 12422, 12884, 13347, 13810, 14273, 14735, 15197, 15660, 16123, 16586, 17048, 17511, 17974, 18437, 18899, 19362, 19822, 20284, 20748, 21210, 21673, 22135, 22598, 23061, 23523, 23986, 24448, 24911, 25374, 25837, 26299, 26761, 27223, 27685, 28149, 28611, 29074, 29536, 29999, 30462, 30925, 31387, 31850, 32312, 32775, 33238, 33700, 34161, 34623, 35087, 35549, 36011, 36474] + hit_f0 = 1 + + +class 技能12(附灵主动): + 名称 = '契约召唤:路易丝' + 所在等级 = 35 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 20 + # 召唤CD + CD2 = 10 + TP上限 = 5 + TP成长 = 0.1 + MP = [300, 2520] + MP2 = ["todo"] + + 无色消耗 = 1 + + # 杖攻击,CD1秒 + data0 = [0, 244, 268, 293, 316, 342, 367, 391, 416, 440, 466, 490, 515, 538, 563, 589, 613, 638, 662, 687, 712, 737, 761, 785, 809, 834, 859, 884, 909, 933, 959, 983, 1008, 1031, 1056, 1080, 1106, 1130, 1155, 1180, 1204, 1230, 1253, 1278, 1302, 1327, 1352, 1377, 1401, 1426, 1451, 1476, 1500, 1524, 1549, 1573, 1599, 1623, 1648, 1672, 1697, 1723, 1746, 1771, 1795, 1820, 1845, 1870, 1894, 1919, 1943] + hit0 = 1 + # 攻击间隔 20s打11.608次(根据附灵占比拟合后) + 间隔0 = 20/11.608 + # 发射冰冻针刺,CD5秒 + data1 = [0, 162, 179, 195, 211, 229, 245, 261, 277, 294, 310, 327, 343, 359, 376, 392, 410, 426, 441, 458, 475, 491, 508, 523, 540, 557, 573, 590, 606, 622, 639, 655, 672, 688, 704, 720, 738, 754, 769, 787, 803, 820, 836, 852, 869, 885, 901, 919, 934, 951, 967, 984, 1001, 1016, 1032, 1050, 1066, 1081, 1099, 1115, 1132, 1148, 1165, 1181, 1197, 1213, 1231, 1246, 1262, 1279, 1296] + hit1 = 10 # 出现5段,原地5段 + # 攻击间隔 20s打3次 + 间隔1 = 20/3 + # 发射火球,CD1.5秒 + data2 = [0, 257, 284, 310, 336, 363, 388, 414, 440, 467, 493, 518, 544, 571, 597, 623, 650, 675, 701, 727, 754, 780, 805, 831, 858, 884, 910, 935, 962, 988, 1014, 1040, 1067, 1092, 1118, 1145, 1171, 1197, 1222, 1249, 1275, 1301, 1327, 1353, 1379, 1405, 1431, 1458, 1484, 1509, 1536, 1562, 1588, 1614, 1640, 1666, 1692, 1718, 1745, 1770, 1796, 1822, 1849, 1875, 1901, 1926, 1953, 1979, 2005, 2032, 2057] + hit2 = 1 + # 攻击间隔 20s打11次 + 间隔2 = 20/11 + # 召唤冰柱,CD1.5秒 + data3 = [0, 336, 371, 405, 439, 473, 508, 542, 575, 610, 644, 678, 713, 745, 780, 815, 848, 883, 918, 950, 985, 1018, 1053, 1088, 1121, 1156, 1190, 1223, 1258, 1292, 1326, 1360, 1394, 1428, 1463, 1497, 1531, 1564, 1599, 1633, 1667, 1702, 1736, 1769, 1804, 1837, 1872, 1907, 1940, 1974, 2008, 2042, 2077, 2110, 2145, 2179, 2212, 2247, 2282, 2315, 2350, 2383, 2417, 2452, 2486, 2520, 2555, 2588, 2622, 2656, 2691] + hit3 = 1 + # 攻击间隔 20s打9次 + 间隔3 = 20/9 + # 陨石冲击攻击力 + data_f0 = [0, 971, 1070, 1169, 1268, 1365, 1464, 1563, 1662, 1759, 1858, 1957, 2056, 2155, 2252, 2351, 2449, 2548, 2647, 2745, 2844, 2942, 3041, 3139, 3238, 3337, 3435, 3533, 3631, 3731, 3830, 3928, 4026, 4124, 4224, 4323, 4421, 4519, 4617, 4716, 4816, 4913, 5012, 5110, 5209, 5306, 5406, 5505, 5603, 5702, 5799, 5898, 5998, 6096, 6195, 6292, 6391, 6490, 6589, 6688, 6785, 6884, 6983, 7082, 7180, 7278, 7377, 7475, 7575, 7672, 7771] + hit_f0 = 1 + # 陨石冲击爆炸攻击力 + data_f1 = [0, 3886, 4280, 4674, 5068, 5462, 5857, 6250, 6644, 7039, 7433, 7828, 8222, 8615, 9009, 9405, 9798, 10193, 10587, 10980, 11375, 11770, 12163, 12557, 12951, 13346, 13740, 14135, 14529, 14922, 15317, 15711, 16104, 16500, 16894, 17287, 17682, 18076, 18469, 18865, 19259, 19652, 20047, 20442, 20837, 21230, 21623, 22017, 22413, 22807, 23202, 23595, 23989, 24384, 24777, 25171, 25567, 25960, 26354, 26748, 27143, 27536, 27930, 28326, 28719, 29113, 29509, 29902, 30295, 30690, 31083] + hit_f1 = 1 + + 是否有护石 = 1 + + # 护石描述完全有误,该部分为拟合出的数据 + def 装备护石(self, char): + self.hit_f0 = 10 + self.hit_f1 = 10 + self.power_f0 = 1.179*(-3.57971494862447*0.14) + self.power_f1 = 1.179*(1.93072588664236*0.14) + pass + + +class 技能13(附灵主动): + 名称 = '精灵召唤:伊伽贝拉' + 所在等级 = 40 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 30 + # 召唤CD + CD2 = 20 + TP上限 = 5 + TP成长 = 0.1 + MP = [360, 3024] + MP2 = ["todo"] + + 无色消耗 = 1 + + # 元素之触,CD0.6秒 + data0 = [0, 124, 136, 148, 161, 174, 186, 199, 211, 224, 236, 248, 261, 274, 286, 299, 311, 323, 336, 348, 361, 373, 386, 399, 411, 423, 436, 448, 461, 473, 486, 499, 510, 523, 535, 548, 561, 573, 586, 598, 610, 623, 635, 648, 661, 673, 686, 697, 710, 723, 735, 748, 761, 773, 785, 797, 810, 823, 835, 848, 861, 873, 885, 897, 910, 923, 935, 948, 960, 972, 985] + hit0 = 1 + # 攻击间隔 20s打10.1次 + 间隔0 = 20/10.1 + # 波刃攻击,CD3.1秒 + data1 = [0, 283, 311, 340, 369, 398, 426, 454, 484, 512, 541, 570, 599, 627, 656, 685, 713, 742, 771, 798, 827, 856, 885, 913, 942, 971, 999, 1028, 1057, 1086, 1114, 1144, 1172, 1200, 1229, 1258, 1287, 1315, 1344, 1373, 1400, 1429, 1458, 1486, 1515, 1544, 1573, 1601, 1631, 1659, 1687, 1716, 1745, 1774, 1802, 1832, 1860, 1888, 1918, 1946, 1974, 2002, 2031, 2060, 2088, 2118, 2146, 2174, 2203, 2232, 2261] + hit1 = 2 + # 攻击间隔 20s打5次 + 间隔1 = 20/5 + # 闪电,CD5秒 + data2 = [0, 390, 431, 470, 510, 549, 589, 628, 669, 708, 748, 787, 827, 866, 907, 946, 986, 1025, 1065, 1104, 1145, 1184, 1223, 1262, 1302, 1341, 1382, 1421, 1461, 1500, 1540, 1580, 1620, 1659, 1699, 1738, 1778, 1818, 1858, 1897, 1937, 1976, 2016, 2056, 2096, 2135, 2174, 2213, 2254, 2293, 2333, 2372, 2412, 2451, 2492, 2531, 2571, 2610, 2650, 2689, 2730, 2769, 2809, 2848, 2888, 2927, 2968, 3007, 3047, 3086, 3125] + hit2 = 3 + # 攻击间隔 20s打3.5次 + 间隔2 = 20/3.5 + # 激光,CD9.3秒 + data3 = [0, 953, 1051, 1148, 1245, 1340, 1437, 1535, 1632, 1727, 1824, 1922, 2019, 2115, 2211, 2308, 2406, 2502, 2598, 2695, 2792, 2889, 2986, 3082, 3179, 3275, 3373, 3469, 3566, 3662, 3760, 3857, 3953, 4049, 4146, 4244, 4341, 4436, 4533, 4630, 4728, 4823, 4920, 5017, 5113, 5211, 5307, 5404, 5500, 5597, 5694, 5791, 5888, 5984, 6082, 6178, 6275, 6371, 6468, 6566, 6662, 6758, 6855, 6952, 7049, 7145, 7242, 7339, 7434, 7532, 7629] + hit3 = 4 + # 攻击间隔 20s打2次 + 间隔3 = 20/2 + # 超高密度镭射光[附灵] + data_f0 = [0, 821, 904, 987, 1071, 1153, 1237, 1320, 1402, 1486, 1570, 1653, 1736, 1820, 1902, 1986, 2069, 2151, 2236, 2319, 2402, 2485, 2569, 2651, 2735, 2818, 2900, 2985, 3068, 3151, 3234, 3318, 3400, 3483, 3567, 3649, 3734, 3817, 3900, 3983, 4066, 4149, 4232, 4316, 4398, 4483, 4566, 4648, 4732, 4815, 4898, 4981, 5065, 5147, 5232, 5315, 5397, 5481, 5564, 5647, 5730, 5814, 5896, 5981, 6064, 6146, 6230, 6313, 6396, 6479, 6563] + hit_f0 = 8 + + # 精灵数量影响 + 倍率 = 1.3 + + 关联技能 = ["精灵召唤:冰影阿奎利斯", "精灵召唤:极光格雷林", "精灵召唤:亡魂默克尔", "精灵召唤:火焰赫瑞克"] + + def 加成倍率(self, 武器类型): + if self.等级 > 0: + return 1.15 + else: + return 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + # 召唤两个 + self.power0 = self.power1 = self.power2 = self.power3 = 1.19 * 0.51 + # 由于第二个精灵王不会受到附灵和95的干扰,所以20s内能打出的技能数上升 + self.间隔0 = 20/(10.1+12.2) + self.间隔1 = 20/(5+4.8) + self.间隔2 = 20/(3.5+3.3) + self.间隔3 = 20/(2+2) + self.关联技能 = ["精灵召唤:冰影阿奎利斯", "精灵召唤:极光格雷林", + "精灵召唤:亡魂默克尔", "精灵召唤:火焰赫瑞克", "精灵召唤:伊伽贝拉"] + + +class 技能14(主动技能): + 名称 = "束缚印记" + 所在等级 = 45 + 等级上限 = 11 + 学习间隔 = 1 + 等级精通 = 1 + CD = 25 + MP = [250, 2500] + 无色消耗 = 1 + data0 = [0, 18264, 20116, 21970, 23822, 25675, 27528, 29381, 31234, 33086, 34939, 36792] + hit0 = 1 + + 国服特色 = 1.10 + + +class 技能15(附灵主动): + 名称 = '契约召唤:牛头王库鲁塔' + 所在等级 = 45 + 等级上限 = 70 + 等级精通 = 60 + 学习间隔 = 2 + # 附灵CD + CD = 40 + # 召唤CD + CD2 = 10 + TP上限 = 5 + TP成长 = 0.1 + MP = [420, 3528] + MP2 = ["todo"] + + 无色消耗 = 2 + + 是否有护石 = 1 + + # 横劈,CD1秒 + data0 = [0, 596, 658, 717, 778, 838, 899, 960, 1019, 1080, 1140, 1201, 1262, 1322, 1383, 1443, 1504, 1565, 1624, 1685, 1745, 1806, 1867, 1927, 1988, 2048, 2109, 2169, 2229, 2290, 2350, 2411, 2472, 2532, 2593, 2653, 2713, 2774, 2834, 2895, 2955, 3016, 3077, 3137, 3198, 3257, 3318, 3379, 3439, 3500, 3560, 3621, 3682, 3742, 3803, 3862, 3923, 3984, 4044, 4105, 4165, 4226, 4287, 4347, 4407, 4467, 4528, 4589, 4649, 4710, 4770] + hit0 = 1 + # 攻击间隔 20s打9.5次 + 间隔0 = 20/9.5 + # 愤怒突进,CD2秒 + data1 = [0, 964, 1061, 1159, 1257, 1355, 1452, 1550, 1647, 1745, 1843, 1941, 2039, 2137, 2234, 2332, 2430, 2527, 2625, 2723, 2819, 2917, 3015, 3113, 3211, 3309, 3405, 3503, 3601, 3699, 3797, 3895, 3992, 4090, 4188, 4286, 4384, 4480, 4578, 4676, 4774, 4872, 4970, 5067, 5165, 5263, 5361, 5458, 5556, 5653, 5751, 5849, 5947, 6045, 6143, 6240, 6337, 6434, 6532, 6630, 6728, 6825, 6923, 7021, 7119, 7217, 7315, 7411, 7509, 7607, 7705] + hit1 = 1 + # 攻击间隔 20s打6次 + 间隔1 = 20/6 + # 咆哮,CD3秒 + data2 = [0, 1897, 2090, 2283, 2474, 2668, 2859, 3052, 3244, 3437, 3629, 3822, 4014, 4207, 4399, 4591, 4784, 4977, 5168, 5362, 5554, 5747, 5939, 6131, 6325, 6516, 6709, 6901, 7094, 7285, 7479, 7670, 7864, 8056, 8248, 8441, 8633, 8825, 9018, 9210, 9404, 9595, 9788, 9980, 10173, 10364, 10558, 10749, 10943, 11135, 11327, 11520, 11712, 11904, 12097, 12289, 12482, 12674, 12867, 13060, 13252, 13444, 13637, 13830, 14021, 14215, 14406, 14600, 14791, 14984, 15175] + hit2 = 1 + # 攻击间隔 20s打6次 + 间隔2 = 20/6 + # 狂暴愤怒[附灵] + # 狂暴愤怒横劈 + data_f0 = [0, 2320, 2554, 2790, 3025, 3260, 3495, 3730, 3966, 4201, 4435, 4671, 4907, 5141, 5377, 5611, 5847, 6082, 6317, 6553, 6788, 7023, 7258, 7493, 7728, 7964, 8199, 8434, 8670, 8904, 9140, 9374, 9610, 9845, 10080, 10316, 10551, 10786, 11021, 11256, 11491, 11728, 11961, 12198, 12434, 12668, 12904, 13138, 13374, 13609, 13844, 14080, 14315, 14550, 14785, 15020, 15255, 15491, 15725, 15961, 16197, 16431, 16667, 16901, 17137, 17372, 17607, 17843, 18078, 18313, 18548] + hit_f0 = 1 + # 狂暴愤怒下劈 + data_f1 = [0, 3246, 3575, 3905, 4233, 4563, 4893, 5221, 5551, 5881, 6209, 6539, 6867, 7198, 7527, 7855, 8186, 8515, 8844, 9173, 9503, 9832, 10161, 10489, 10820, 11149, 11478, 11808, 12137, 12466, 12795, 13126, 13454, 13783, 14113, 14442, 14771, 15100, 15430, 15760, 16088, 16419, 16748, 17076, 17406, 17735, 18064, 18394, 18722, 19052, 19382, 19710, 20041, 20369, 20699, 21028, 21357, 21686, 22016, 22344, 22675, 23004, 23332, 23663, 23991, 24321, 24650, 24980, 25309, 25638, 25967] + hit_f1 = 1 + # 狂暴愤怒冲击波 + data_f2 = [0, 4174, 4597, 5020, 5443, 5866, 6291, 6714, 7137, 7560, 7984, 8408, 8830, 9253, 9677, 10100, 10524, 10947, 11371, 11794, 12217, 12641, 13065, 13488, 13911, 14334, 14759, 15181, 15604, 16027, 16451, 16875, 17298, 17721, 18146, 18569, 18992, 19415, 19839, 20263, 20685, 21108, 21532, 21955, 22379, 22802, 23226, 23649, 24072, 24495, 24919, 25343, 25766, 26188, 26612, 27036, 27459, 27882, 28305, 28730, 29153, 29576, 29999, 30423, 30847, 31270, 31693, 32118, 32540, 32963, 33386] + hit_f2 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.31 + self.CDR *= 0.9 + pass + + +class 技能16(被动技能): + 名称 = '灵魂支配' + 所在等级 = 48 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.105+0.015*self.等级, 3) + + +class 技能17(主动技能): + 名称 = '契约召唤:征服者卡西利亚斯' + 所在等级 = 50 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 5 + CD = 145 + MP = [1200, 10080] + + 无色消耗 = 7 + + 形态 = [] + + 输出时间 = 10 + + # 夜冥流 不动剑 CD1秒 + data0 = [0, 416, 513, 609, 705, 802, 898, 994, 1091, 1187, 1283, 1379, 1477, 1573, 1669, 1766, 1862, 1958, 2055, 2151, 2247, 2344, 2440, 2536, 2633, 2729, 2825, 2922, 3018, 3114, 3211, 3306, 3404, 3501, 3597, 3693, 3790, 3886, 3982, 4079, 4175, 4271, 4368, 4464, 4560, 4657, 4753, 4849, 4945, 5042, 5138] + hit0 = 1 + # 攻击间隔 20s打16.2次 + 间隔0 = 20/16.2 + # 夜冥流 疾风剑 CD1.5秒 + data1 = [0, 935, 1152, 1369, 1586, 1802, 2020, 2238, 2454, 2671, 2887, 3104, 3321, 3538, 3755, 3972, 4188, 4406, 4622, 4839, 5055, 5272, 5489, 5707, 5923, 6140, 6357, 6574, 6791, 7007, 7224, 7440, 7659, 7875, 8092, 8308, 8526, 8742, 8959, 9175, 9393, 9610, 9827, 10043, 10260, 10476, 10694, 10910, 11127, 11344, 11562] + hit1 = 1 + # 攻击间隔 20s打10.2次 + 间隔1 = 20/10.2 + # 夜冥流 不动剑 CD2秒 + data2 = [0, 1995, 2458, 2921, 3384, 3846, 4309, 4772, 5233, 5696, 6159, 6622, 7084, 7547, 8010, 8472, 8935, 9397, 9860, 10322, 10785, 11248, 11710, 12173, 12636, 13098, 13560, 14023, 14486, 14948, 15411, 15874, 16336, 16799, 17262, 17724, 18187, 18649, 19112, 19574, 20037, 20500, 20963, 21425, 21887, 22351, 22812, 23275, 23738, 24201, 24663] + hit2 = 1 + # 攻击间隔 20s打8.1次 + 间隔2 = 20/8.1 + + def 基础百分比(self, 类型, 等级): + if 类型 == '直伤': + name = '' + else: + name = 类型 + 百分比 = 0.0 + for i in range(0, 10): + data = getattr(self, '{}data{}'.format(name, i), []) + if 等级 < len(data) and 等级 > 0: + hit = getattr(self, '{}hit{}'.format(name, i), 1) + power = getattr(self, '{}power{}'.format(name, i), 1) + count = getattr(self, '{}power_f{}'.format(name, i), 1) + 百分比 += data[等级] * hit * power * count + return 百分比*self.国服特色 + + def 等效百分比(self, **argv): + for i in range(0, 10): + setattr(self, 'count{}'.format(i), 1) + if getattr(self, '间隔{}'.format(i), 0) > 0: + setattr(self, 'hit{}'.format(i), self.输出时间 / + getattr(self, '间隔{}'.format(i), 0)) + return super().等效百分比(**argv) + + +class 技能18(主动技能): + 名称 = '必杀剑·千鬼杀' + 所在等级 = 50 + 等级上限 = 1 + 等级精通 = 1 + 学习间隔 = 5 + CD = 145 + # 待定,走的是觉醒的MP还是自身的MP + MP = [600, 600] + + 无色消耗 = 7 + + data0 = [0, 6060, 7464, 8870, 10275, 11681, 14540, 16101, 17662, 19224, 20786, 22345, 23907, 25469, 27030, 28591, 30152, 31714, 33275, 34836, 36398, 37958, 39520, 41081, 42643, 44204, 45766, 47327, 48888, 50449, 52011, 53573, 55132, 56694, 58256, 59817, 61378, 62940, 64501, 66063, 67623, 69185, 70746, 72307, 73868, 75429, 76991, 78553, 80114, 81675, 83237] + hit0 = 5 + data1 = [0, 10100, 12441, 14783, 17125, 19468, 24233, 26835, 29436, 32040, 34641, 37243, 39846, 42448, 45050, 47652, 50254, 52857, 55458, 58060, 60663, 63265, 65866, 68469, 71072, 73674, 76275, 78879, 81480, 84082, 86685, 89287, 91888, 94491, 97093, 99695, 102298, 104899, 107502, 110104, 112706, 115308, 117911, 120512, 123115, 125716, 128320, 130921, 133523, 136126, 138728] + hit1 = 1 + + +class 技能19(主动技能): + 名称 = '精灵召唤:融合精灵海伊伦' + 所在等级 = 60 + 等级上限 = 11 + 等级精通 = 1 + 学习间隔 = 3 + + 是否有伤害 = 0 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 > 0: + return 1.05 + 0.005 * self.等级 + else: + return 1.0 + + +class 技能20(主动技能): + 名称 = '咒令:愤怒咆哮' + 所在等级 = 70 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + CD = 50 + TP上限 = 5 + TP成长 = 0.1 + MP = [800, 1680] + + 无色消耗 = 2 + 是否有护石 = 1 + + # 下劈 + data0 = [0, 5285, 5822, 6358, 6896, 7430, 7968, 8503, 9039, 9575, 10111, 10646, 11185, 11720, 12257, 12792, 13328, 13865, 14400, 14936, 15474, 16010, 16546, 17080, 17618, 18153, 18690, 19226, 19763, 20297, 20836, 21371, 21907, 22443, 22980, 23516, 24051, 24586, 25125, 25660, 26197, 26733, 27268, 27805, 28340, 28877, 29413, 29947, 30487, 31021, 31558] + hit0 = 4 + # 最后一击 + data1 = [0, 14095, 15522, 16954, 18385, 19812, 21244, 22675, 24102, 25532, 26962, 28392, 29822, 31251, 32681, 34111, 35542, 36970, 38400, 39830, 41260, 42690, 44119, 45549, 46979, 48408, 49839, 51268, 52698, 54130, 55556, 56987, 58418, 59847, 61277, 62704, 64136, 65567, 66996, 68425, 69855, 71285, 72715, 74145, 75574, 77003, 78434, 79864, 81292, 82723, 84154] + hit1 = 1 + + def 装备护石(self, char): + self.CDR *= 0.9 + # 待确定 + self.hit0 = 0 + self.power1 = 2.81 + 0.2 + pass + + +class 技能21(主动技能): + 名称 = '狂化黑月' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + + 无色消耗 = 3 + MP = [444, 1422] + CD = 40 + # 持续15秒 + + # 施放时蚀爆攻击力 + data0 = [0, 6732, 7413, 8097, 8779, 9463, 10146, 10828, 11511, 12194, 12876, 13559, 14242, 14925, 15608, 16291, 16973, 17657, 18338, 19023, 19704, 20389, 21070, 21753, 22435, 23118, 23800, 24484, 25167, 25851, 26534, 27215, 27899, 28580, 29264, 29946, 30629, 31312, 31996, 32678, 33361, 34043, 34727, 35409, 36091, 36775, 37458, 38140, 38823, 39505, 40190] + hit0 = 1 + # 月蚀长矛攻,CD1.2秒 + data1 = [0, 611, 674, 735, 797, 860, 921, 984, 1045, 1108, 1171, 1232, 1295, 1355, 1418, 1481, 1540, 1603, 1664, 1727, 1789, 1851, 1914, 1975, 2038, 2100, 2162, 2224, 2286, 2349, 2410, 2471, 2533, 2595, 2657, 2720, 2781, 2843, 2905, 2967, 3030, 3092, 3154, 3215, 3277, 3340, 3401, 3464, 3527, 3587, 3650] + hit1 = 2*12 + # 月空破碎,CD1.2秒 + data2 = [0, 2629, 2896, 3164, 3431, 3698, 3964, 4230, 4497, 4764, 5032, 5297, 5564, 5831, 6098, 6366, 6633, 6899, 7165, 7432, 7700, 7966, 8232, 8499, 8765, 9034, 9301, 9567, 9833, 10100, 10368, 10634, 10901, 11167, 11433, 11700, 11969, 12236, 12501, 12768, 13035, 13302, 13569, 13835, 14102, 14368, 14636, 14904, 15170, 15436, 15703] + hit2 = 1*12 + # 月光追击,CD3.5秒 + data3 = [0, 2739, 3017, 3296, 3573, 3851, 4129, 4405, 4684, 4961, 5238, 5517, 5794, 6070, 6349, 6626, 6907, 7185, 7461, 7741, 8017, 8294, 8572, 8849, 9127, 9406, 9683, 9961, 10239, 10516, 10796, 11072, 11351, 11629, 11906, 12182, 12461, 12739, 13015, 13294, 13571, 13851, 14128, 14405, 14683, 14960, 15237, 15517, 15795, 16073, 16351] + hit3 = 5*4 + + 输出时间 = 15 + + 是否有护石 = 1 + + 形态 = ['满','自定'] + + def 装备护石(self, char): + self.CDR *= 0.88 + # 待确定 + self.data4 = [int(i*2.02) for i in self.data3] + self.hit4 = 5*1 + pass + + def 形态变更(self, 形态, char): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + 输出时间 = 15 + if 形态 == "满": + 输出时间 = 15 + if 形态 == "自定": + 输出时间 = self.输出时间 + self.hit1 = 3*int(输出时间/1.2) + self.hit2 = 1*int(输出时间/1.2) + self.hit3 = 5*int(输出时间/3.5) + +class 技能22(被动技能): + 名称 = '蚀月附灵' + 所在等级 = 75 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22+0.02*self.等级, 3) + + +class 技能23(主动技能): + 名称 = '传说召唤:月蚀之影' + 所在等级 = 80 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + + 无色消耗 = 5 + MP = [800, 6000] + CD = 43 + + data0 = [0, 3957, 4357, 4762, 5163, 5560, 5965, 6363, 6767, 7166, 7568, 7968, 8371, 8775, 9172, 9576, 9977, 10375, 10777, 11181, 11581, 11986, 12383, 12784, 13187, 13588, 13990, 14390, 14792, 15194, 15597, 15997, 16399, 16796, 17200, 17599, 18005, 18405, 18803, 19208, 19605, 20006, 20407, 20810, 21213, 21614, 22015, 22418, 22817, 23220, 23622] + hit0 = 15 + + 国服特色 = 1.35 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 30 + self.power0 = 0.66 + pass + + +class 技能24(附灵主动): + 名称 = '传说召唤:逆月者拉莫斯' + 所在等级 = 85 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 5 + 无色消耗 = 5 + MP = [800, 6000] + CD = 10 + CD2 = 180 + # 召唤兽数量加成 + 倍率 = 1.15 + + # 普通攻击第1击,CD3秒 + data0 = [0, 1300, 1601, 1904, 2205, 2507, 2808, 3110, 3411, 3713, 4014, 4315, 4617, 4918, 5219, 5521, 5823, 6125, 6426, 6728, 7028, 7329, 7631, 7933, 8235, 8536, 8838, 9139, 9440, 9743, 10043, 10345, 10646, 10947, 11249, 11550, 11853, 12154, 12456, 12757, 13057, 13359, 13661, 13963, 14264, 14566, 14867, 15168, 15470, 15772, 16074] + hit0 = 1 + # 攻击间隔 20s打5次 + 间隔0 = 20/5 + + # 普通攻击第2击,CD3秒 + data1 = [0, 1300, 1601, 1904, 2205, 2507, 2808, 3110, 3411, 3713, 4014, 4315, 4617, 4918, 5219, 5521, 5823, 6125, 6426, 6728, 7028, 7329, 7631, 7933, 8235, 8536, 8838, 9139, 9440, 9743, 10043, 10345, 10646, 10947, 11249, 11550, 11853, 12154, 12456, 12757, 13057, 13359, 13661, 13963, 14264, 14566, 14867, 15168, 15470, 15772, 16074] + hit1 = 1 + # 攻击间隔 20s打4次 + 间隔1 = 20/4 + + # 蚀击 + # 突进 + sj0 = [0, 347, 427, 507, 588, 668, 749, 829, 910, 990, 1070, 1150, 1232, 1312, 1392, 1472, 1553, 1633, 1714, 1794, 1875, 1955, 2035, 2116, 2197, 2277, 2356, 2436, 2517, 2598, 2678, 2758, 2839, 2919, 2999, 3080, 3161, 3241, 3321, 3401, 3481, 3563, 3643, 3723, 3803, 3884, 3965, 4045, 4125, 4206, 4286] + # 第一击 + sj1 = [0, 607, 747, 888, 1029, 1170, 1311, 1452, 1593, 1733, 1874, 2014, 2154, 2294, 2435, 2576, 2717, 2857, 2998, 3139, 3280, 3421, 3562, 3703, 3843, 3983, 4124, 4265, 4405, 4546, 4687, 4828, 4969, 5109, 5249, 5390, 5531, 5672, 5813, 5952, 6093, 6234, 6375, 6516, 6656, 6797, 6938, 7079, 7219, 7360, 7501] + # 第二击 + sj2 = [0, 781, 962, 1142, 1323, 1504, 1685, 1866, 2047, 2227, 2408, 2589, 2770, 2951, 3132, 3313, 3494, 3674, 3855, 4037, 4217, 4398, 4579, 4760, 4941, 5121, 5302, 5483, 5664, 5845, 6026, 6207, 6388, 6568, 6749, 6930, 7110, 7291, 7473, 7654, 7835, 8016, 8197, 8378, 8558, 8739, 8920, 9101, 9282, 9463, 9644] + # 攻击间隔 20s打5.7次 + 间隔2 = 20/5.7 + + # 蚀握 + # 突进 + sw0 = [0, 433, 533, 634, 735, 835, 936, 1037, 1136, 1237, 1338, 1439, 1539, 1639, 1740, 1840, 1941, 2042, 2142, 2242, 2343, 2444, 2544, 2644, 2745, 2846, 2946, 3047, 3147, 3246, 3347, 3448, 3549, 3648, 3749, 3850, 3950, 4051, 4152, 4252, 4352, 4453, 4554, 4654, 4754, 4855, 4956, 5056, 5157, 5257, 5358] + # 抓取 + sw1 = [0, 1517, 1868, 2220, 2572, 2924, 3275, 3627, 3979, 4330, 4682, 5034, 5385, 5738, 6089, 6440, 6793, 7144, 7496, 7848, 8200, 8551, 8903, 9254, 9606, 9958, 10310, 10662, 11013, 11365, 11716, 12069, 12421, 12772, 13125, 13475, 13826, 14178, 14531, 14883, 15235, 15586, 15937, 16288, 16642, 16993, 17344, 17697, 18048, 18398, 18752] + # 攻击间隔 20s打3.1次 + 间隔2 = 20/3.1 + + # 蚀旋[附灵] + data_f0 = [0, 3612, 4449, 5286, 6124, 6961, 7798, 8636, 9473, 10311, 11148, 11985, 12823, 13660, 14498, 15335, 16172, 17010, 17848, 18686, 19523, 20360, 21198, 22035, 22873, 23710, 24547, 25385, 26222, 27060, 27897, 28734, 29572, 30409, 31247, 32085, 32922, 33760, 34597, 35435, 36272, 37109, 37946, 38783, 39620, 40458, 41295, 42133, 42970, 43807, 44645] + hit_f0 = 3 + + def __init__(self) -> None: + # 蚀击 + self.data2 = [(self.sj0[i]+self.sj1[i]+self.sj2[i]) + for i in range(0, 51)] + self.data3 = [(self.sw0[i]*4 + self.sw1[i]) for i in range(0, 51)] + super().__init__() + + +class 技能25(主动技能): + 名称 = '咒令:逆月之蚀' + 所在等级 = 85 + 等级上限 = 1 + 等级精通 = 1 + 学习间隔 = 5 + + 无色消耗 = 5 + MP = [800, 6000] + CD = 180 + # 召唤兽数量加成 + 倍率 = 1.15 + + # 蚀下落 + data0 = [0, 8667, 10677, 12687, 14697, 16707, 18716, 20727, 22736, 24745, 26757, 28766, 30775, 32786, 34795, 36804, 38815, 40825, 42834, 44845, 46854, 48863, 50874, 52883, 54892, 56904, 58913, 60922, 62933, 64942, 66952, 68962, 70972, 72981, 74992, 77001, 79012, 81021, 83030, 85042, 87051, 89060, 91071, 93080, 95089, 97100, 99109, 101119, 103130, 105139, 107148] + hit0 = 1 + # 蚀啃噬 + data1 = [0, 3466, 4271, 5075, 5879, 6682, 7487, 8291, 9093, 9898, 10702, 11507, 12309, 13114, 13918, 14723, 15525, 16330, 17134, 17937, 18741, 19545, 20350, 21153, 21957, 22761, 23566, 24369, 25173, 25977, 26782, 27584, 28388, 29193, 29997, 30800, 31604, 32409, 33212, 34016, 34820, 35625, 36428, 37231, 38036, 38840, 39644, 40447, 41252, 42056, 42860] + hit1 = 5 + # 蚀下批 + data2 = [0, 4953, 6102, 7249, 8398, 9547, 10696, 11843, 12992, 14141, 15290, 16438, 17585, 18734, 19883, 21032, 22179, 23328, 24476, 25626, 26773, 27922, 29070, 30220, 31367, 32516, 33664, 34814, 35962, 37110, 38258, 39407, 40556, 41704, 42852, 44001, 45149, 46297, 47446, 48594, 49743, 50892, 52040, 53188, 54337, 55485, 56634, 57782, 58931, 60079, 61229] + hit2 = 7 + # 蚀回归 + data3 = [0, 26002, 32031, 38061, 44090, 50119, 56149, 62178, 68209, 74238, 80268, 86297, 92327, 98356, 104385, 110415, 116444, 122474, 128503, 134532, 140562, 146591, 152621, 158650, 164679, 170709, 176738, 182768, 188797, 194826, 200857, 206885, 212915, 218944, 224973, 231004, 237033, 243062, 249092, 255123, 261152, 267181, 273211, 279239, 285270, 291299, 297328, 303358, 309387, 315417, 321446] + hit3 = 1 + + +class 技能26(主动技能): + 名称 = '至高精灵王' + 所在等级 = 95 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 2 + + 无色消耗 = 7 + MP = [960, 2016] + CD = 60 + + data0 = [0, 3964, 4365, 4768, 5169, 5572, 5974, 6374, 6778, 7178, 7582, 7982, 8385, 8788, 9189, 9592, 9993, 10394, 10797, 11198, 11602, 12002, 12404, 12807, 13209, 13612, 14013, 14416, 14817, 15218, 15621, 16022, 16424, 16827, 17231, 17633, 18033, 18435, 18837, 19238, 19641, 20043, 20444, 20847, 21250, 21653, 22054, 22457, 22858, 23260, 23662] + hit0 = 9 + data1 = [0, 53496, 58922, 64350, 69777, 75204, 80629, 86058, 91485, 96910, 102337, 107765, 113192, 118619, 124044, 129473, 134900, 140325, 145753, 151179, 156607, 162034, 167459, 172886, 178315, 183740, 189167, 194595, 200022, 205448, 210876, 216302, 221731, 227157, 232583, 238011, 243439, 248864, 254291, 259717, 265145, 270572, 275998, 281425, 286854, 292279, 297706, 303134, 308560, 313987, 319415] + hit1 = 1 + + # 精灵数量影响 + 倍率 = 1.3 + + +class 技能27(被动技能): + 名称 = '逆月' + 所在等级 = 95 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 3 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18+0.02*self.等级, 3) + + +class 技能28(主动技能): + 名称 = '魔月·德拉里昂' + 所在等级 = 100 + 等级上限 = 50 + 等级精通 = 40 + 学习间隔 = 5 + + 无色消耗 = 15 + MP = [3222, 10311] + CD = 290 + + data0 = [0, 59571, 73384, 87198, 101011, 114825, 128638, 142451, 156264, 170076, 183890, 197703, 211515, 225329, 239143, 252957, 266768, 280582, 294395, 308208, 322021, 335836, 349650, 363463, 377277, 391088, 404902, 418713, 432527, 446340, 460154, 473967, 487781, 501595, 515405, 529219, 543033, 556847, 570660, 584472, 598286, 612099, 625911, 639723, 653538, 667352, 681165, 694979, 708792, 722605, 736419] + hit0 = 1 + data1 = [0, 138998, 171228, 203459, 235688, 267921, 300152, 332382, 364613, 396844, 429075, 461304, 493534, 525768, 557998, 590228, 622459, 654690, 686920, 719150, 751382, 783613, 815843, 848074, 880304, 912535, 944769, 976998, 1009229, 1041459, 1073690, 1105920, 1138150, 1170382, 1202615, 1234842, 1267075, 1299305, 1331535, 1363765, 1395998, 1428229, 1460459, 1492688, 1524921, 1557151, 1589384, 1621613, 1653844, 1686074, 1718305] + hit1 = 1 + data2 = [0, 198566, 244610, 290656, 336698, 382743, 428785, 474831, 520874, 566916, 612963, 659008, 705050, 751094, 797138, 843181, 889227, 935270, 981314, 1027358, 1073402, 1119445, 1165491, 1211534, 1257579, 1303623, 1349666, 1395709, 1441753, 1487796, 1533841, 1579886, 1625929, 1671974, 1718019, 1764061, 1810104, 1856149, 1902194, 1948238, 1994281, 2040326, 2086370, 2132412, 2178458, 2224501, 2270545, 2316588, 2362634, 2408677, 2454721] + hit2 = 1 + + +class 技能29(主动技能): + 名称 = '魔力印记' + 所在等级 = 25 + 等级上限 = 11 + 等级精通 = 1 + 学习间隔 = 3 + + 无色消耗 = 0 + MP = [48, 83] + CD = 1 + + data0 = [0, 911, 1058, 1198, 1347, 1490, 1639, 1784, 1924, 2073, 2212, 2365] + hit0 = 30 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'summoner' + self.名称 = '知源·召唤师' + self.角色 = '魔法师(女)' + self.角色类型 = '输出' + self.职业 = '召唤师' + # 用来筛CP武器的 + self.转职 = '召唤师' + self.武器选项 = ['法杖', '魔杖'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '法杖' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.790 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=['远古记忆']) + + def 职业特殊计算(self): + # 等级绑定 + 千鬼杀 = self.get_skill_by_name('必杀剑·千鬼杀') + 千鬼杀.等级上限 = 50 + 千鬼杀.等级 = self.get_skill_by_name('契约召唤:征服者卡西利亚斯').等级 + + 逆月之蚀 = self.get_skill_by_name('咒令:逆月之蚀') + 逆月之蚀.等级上限 = 50 + 逆月之蚀.等级 = self.get_skill_by_name('传说召唤:逆月者拉莫斯').等级 + + def set_individuation(self, info): + temp = ["契约召唤:弗利特", "契约召唤:桑德尔", "精灵召唤:冰影阿奎利斯", "精灵召唤:极光格雷林", "精灵召唤:亡魂默克尔", + "契约召唤:袄索", "契约召唤:路易丝", "精灵召唤:伊伽贝拉", "契约召唤:牛头王库鲁塔", "契约召唤:征服者卡西利亚斯", "传说召唤:逆月者拉莫斯","精灵召唤:火焰赫瑞克"] + info['char_optiopns'] = [] + for i in temp: + info['char_optiopns'].append({ + "name": '[{}]'.format(i.split(":")[1]), + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 121)] + }) + info['char_optiopns'].append({ + "name": '[魔力印记]', + "option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 30)] + }) + info['char_optiopns'].append({ + "name": '[狂化黑月]', + "option": ["自定义输出 {} 秒".format(str(i)) for i in range(1, 15)] + }) + + def 职业特殊设置(self): + temp = ["契约召唤:弗利特", "契约召唤:桑德尔", "精灵召唤:冰影阿奎利斯", "精灵召唤:极光格雷林", "精灵召唤:亡魂默克尔", + "契约召唤:袄索", "契约召唤:路易丝", "精灵召唤:伊伽贝拉", "契约召唤:牛头王库鲁塔", "契约召唤:征服者卡西利亚斯", "传说召唤:逆月者拉莫斯","精灵召唤:火焰赫瑞克"] + for index in range(0, len(temp)): + self.get_skill_by_name( + temp[index]).输出时间 = self.get_individuation(index) + 1 + self.get_skill_by_name( + "魔力印记").hit0 = self.get_individuation(len(temp)) + 1 + self.get_skill_by_name("狂化黑月").输出时间 = self.get_individuation(len(temp)+ 1) + 1 + pass diff --git a/api/core/characters/swift_master.py b/api/core/characters/swift_master.py new file mode 100644 index 00000000..9de59bd5 --- /dev/null +++ b/api/core/characters/swift_master.py @@ -0,0 +1,495 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "狂风冲刺" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [31, 185] + 无色消耗 = 0 + data0 = [0, 428, 473, 517, 560, 605, 646, 691, 736, 781, 821, 866, 913, 954, 998, 1041, 1083, 1126, 1172, 1217, 1260, 1302, 1348, 1391, 1435, 1478, 1521, 1567, 1610, 1653, 1698, 1741, 1781, 1828, 1872, 1915, 1957, 2001, 2046, 2091, 2132, 2177, 2223, 2265, 2309, 2353, 2396, 2442, 2481, 2526, 2572, 2612, 2657, 2702, 2745, 2789, 2834, 2877, 2920, 2965, 3006, 3051, 3093, 3140, 3183, 3226, 3267, 3311, 3357, 3403, 3444] + # 打满9次 操作比较反人类 + hit0 = 9 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "回风斩" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5.5 + MP = [38, 227] + 无色消耗 = 0 + data0 = [0, 961, 1060, 1157, 1254, 1354, 1450, 1545, 1645, 1741, 1840, 1937, 2035, 2134, 2230, 2327, 2425, 2523, 2622, 2718, 2817, 2914, 3011, 3107, 3207, 3305, 3404, 3501, 3595, 3694, 3791, 3888, 3987, 4084, 4184, 4278, 4377, 4475, 4572, 4672, 4768, 4865, 4964, 5061, 5158, 5257, 5354, 5452, 5550, 5644, 5744, 5841, 5939, 6037, 6133, 6233, 6328, 6425, 6526, 6622, 6720, 6818, 6915, 7014, 7110, 7208, 7306, 7404, 7501, 7599, 7698] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '疾风之棍棒精通' + 所在等级 = 15 + 等级上限 = 30 + 基础等级 = 20 + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['万象风龙阵', '无限风域', '风之极·永坠'] + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 <= 20: + return round(1.00 + 0.01 * self.等级, 5) + else: + return round(0.80 + 0.02 * self.等级, 5) + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 0.9 + + +class 技能3(主动技能): + 名称 = "朔风牵引" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [45, 268] + 无色消耗 = 0 + data0 = [0, 607, 668, 733, 794, 857, 919, 981, 1041, 1101, 1164, 1227, 1288, 1350, 1413, 1474, 1536, 1597, 1660, 1721, 1784, 1843, 1908, 1970, 2031, 2091, 2153, 2215, 2276, 2339, 2401, 2464, 2525, 2590, 2649, 2710, 2772, 2835, 2895, 2957, 3020, 3084, 3146, 3203, 3266, 3328, 3391, 3452, 3513, 3577, 3638, 3700, 3760, 3823, 3885, 3948, 4010, 4072, 4132, 4195, 4258, 4316, 4379, 4440, 4504, 4565, 4627, 4688, 4751, 4813, 4875] + hit0 = 9 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "风鸣冲击" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8.5 + MP = [61, 366] + 无色消耗 = 0 + data0 = [0, 7261, 8001, 8735, 9472, 10210, 10945, 11682, 12421, 13157, 13894, 14629, 15367, 16103, 16842, 17578, 18314, 19052, 19789, 20525, 21260, 21999, 22733, 23474, 24210, 24945, 25680, 26419, 27156, 27891, 28629, 29368, 30103, 30841, 31576, 32313, 33051, 33788, 34522, 35263, 35999, 36735, 37473, 38211, 38942, 39682, 40418, 41156, 41892, 42629, 43366, 44101, 44840, 45576, 46313, 47051, 47788, 48522, 49262, 49997, 50734, 51472, 52207, 52944, 53682, 54419, 55155, 55893, 56629, 57364, 58102] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "游离之风" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [45, 268] + 无色消耗 = 0 + data0 = [0, 1358, 1496, 1635, 1771, 1910, 2047, 2184, 2325, 2460, 2600, 2734, 2876, 3013, 3152, 3289, 3426, 3565, 3701, 3840, 3978, 4116, 4253, 4391, 4529, 4665, 4804, 4942, 5084, 5217, 5357, 5497, 5632, 5771, 5910, 6048, 6184, 6323, 6461, 6597, 6736, 6873, 7012, 7150, 7287, 7426, 7562, 7702, 7837, 7979, 8113, 8253, 8391, 8529, 8665, 8804, 8944, 9079, 9219, 9355, 9494, 9631, 9769, 9906, 10044, 10182, 10320, 10458, 10597, 10732, 10873] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + CP倍率 = 0 + + def 形态变更(self, 形态, char: Character): + if 形态 == "CP": + self.power0 = self.CP倍率 + else: + self.power0 = 1 + +class 技能6(主动技能): + 名称 = "双翼风刃" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 14 + MP = [91, 545] + 无色消耗 = 0 + data0 = [0, 2693, 2967, 3240, 3514, 3787, 4061, 4333, 4608, 4882, 5153, 5428, 5702, 5975, 6248, 6521, 6795, 7067, 7341, 7614, 7887, 8162, 8434, 8707, 8983, 9254, 9529, 9802, 10073, 10348, 10620, 10896, 11169, 11443, 11716, 11988, 12262, 12534, 12807, 13080, 13355, 13630, 13903, 14174, 14449, 14721, 14994, 15268, 15544, 15817, 16089, 16362, 16636, 16909, 17181, 17454, 17729, 18004, 18276, 18550, 18822, 19096, 19369, 19643, 19916, 20191, 20463, 20737, 21010, 21284, 21557] + hit0 = 4 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(被动技能): + 名称 = '风之意志' + 所在等级 = 30 + 等级上限 = 15 + 基础等级 = 5 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025+0.015*self.等级, 5) + + +class 技能8(主动技能): + 名称 = "刃风" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [132, 1108] + 无色消耗 = 1 + data0 = [0, 4093, 4507, 4924, 5338, 5756, 6170, 6585, 7002, 7416, 7829, 8247, 8662, 9078, 9493, 9907, 10324, 10738, 11156, 11569, 11985, 12400, 12815, 13232, 13647, 14062, 14478, 14893, 15308, 15724, 16138, 16554, 16969, 17383, 17801, 18215, 18631, 19046, 19462, 19876, 20292, 20708, 21123, 21537, 21954, 22369, 22785, 23201, 23615, 24029, 24446, 24862, 25276, 25692, 26107, 26523, 26938, 27354, 27769, 28185, 28600, 29015, 29430, 29846, 30262, 30676, 31093, 31507, 31922, 32338, 32753] + hit0 = 1 + data1 = [0, 2390, 2632, 2875, 3117, 3360, 3602, 3845, 4088, 4330, 4572, 4815, 5056, 5300, 5541, 5783, 6026, 6270, 6513, 6754, 6996, 7238, 7481, 7724, 7967, 8209, 8451, 8694, 8936, 9179, 9422, 9665, 9906, 10148, 10392, 10634, 10877, 11119, 11361, 11604, 11847, 12090, 12331, 12574, 12817, 13059, 13302, 13545, 13786, 14029, 14271, 14514, 14757, 14998, 15241, 15484, 15726, 15969, 16212, 16454, 16696, 16939, 17182, 17424, 17666, 17909, 18152, 18394, 18637, 18880, 19121] + hit1 = 1 + data2 = [0, 3241, 3569, 3898, 4227, 4555, 4885, 5215, 5543, 5871, 6201, 6530, 6858, 7187, 7516, 7843, 8172, 8503, 8832, 9160, 9489, 9817, 10146, 10476, 10806, 11133, 11462, 11791, 12121, 12449, 12778, 13107, 13436, 13764, 14094, 14422, 14751, 15080, 15408, 15738, 16067, 16395, 16724, 17053, 17382, 17710, 18039, 18368, 18697, 19025, 19354, 19684, 20013, 20342, 20669, 20999, 21328, 21657, 21985, 22315, 22644, 22973, 23301, 23630, 23959, 24288, 24618, 24945, 25274, 25604, 25932] + hit2 = 1 + data3 = [0, 7109, 7833, 8553, 9275, 9996, 10718, 11438, 12160, 12881, 13602, 14325, 15046, 15767, 16487, 17210, 17932, 18652, 19376, 20095, 20818, 21539, 22259, 22982, 23703, 24424, 25148, 25866, 26590, 27312, 28032, 28754, 29475, 30194, 30918, 31640, 32360, 33083, 33803, 34525, 35247, 35970, 36690, 37411, 38133, 38855, 39576, 40298, 41018, 41739, 42460, 43182, 43906, 44626, 45346, 46069, 46790, 47513, 48234, 48955, 49676, 50397, 51118, 51840, 52563, 53284, 54006, 54726, 55449, 56170, 56891] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "风暴之眼" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [128, 766] + 无色消耗 = 1 + data0 = [0, 11580, 12751, 13929, 15103, 16278, 17452, 18626, 19801, 20975, 22148, 23326, 24500, 25675, 26848, 28022, 29200, 30373, 31549, 32723, 33895, 35075, 36247, 37424, 38596, 39772, 40946, 42122, 43294, 44469, 45642, 46820, 47991, 49169, 50342, 51518, 52691, 53867, 55042, 56217, 57393, 58566, 59742, 60915, 62092, 63264, 64440, 65613, 66788, 67963, 69137, 70312, 71488, 72661, 73838, 75010, 76187, 77359, 78537, 79711, 80885, 82060, 83235, 84410, 85584, 86759, 87934, 89108, 90283, 91458, 92632] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.37 + self.CDR *= 0.90 + + +class 技能10(主动技能): + 名称 = "真空旋风破" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [164, 983] + 无色消耗 = 1 + data0 = [0, 1039, 1146, 1251, 1357, 1463, 1569, 1673, 1779, 1885, 1992, 2098, 2203, 2309, 2414, 2519, 2624, 2730, 2834, 2943, 3049, 3154, 3260, 3362, 3470, 3575, 3682, 3788, 3892, 3998, 4103, 4211, 4316, 4421, 4526, 4631, 4738, 4842, 4949, 5054, 5162, 5268, 5374, 5477, 5582, 5688, 5792, 5899, 6005, 6113, 6217, 6323, 6428, 6535, 6641, 6747, 6850, 6954, 7061, 7166, 7273, 7380, 7484, 7591, 7697, 7801, 7906, 8012, 8118, 8224, 8330] + hit0 = 8 + data1 = [0, 8330, 9174, 10019, 10865, 11710, 12555, 13401, 14247, 15090, 15935, 16781, 17627, 18472, 19318, 20161, 21007, 21852, 22695, 23542, 24386, 25234, 26078, 26924, 27769, 28613, 29459, 30303, 31149, 31993, 32841, 33684, 34527, 35371, 36221, 37064, 37910, 38756, 39600, 40447, 41289, 42135, 42981, 43825, 44668, 45517, 46362, 47206, 48049, 48897, 49741, 50587, 51431, 52280, 53123, 53966, 54810, 55656, 56504, 57348, 58195, 59037, 59883, 60729, 61574, 62419, 63264, 64108, 64955, 65799, 66644] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power1 = 1.35 + self.CDR *= 0.8 + + +class 技能11(主动技能): + 名称 = "风暴之拳" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [311, 1866] + 无色消耗 = 2 + data0 = [0, 25623, 28222, 30820, 33420, 36022, 38620, 41221, 43818, 46417, 49019, 51616, 54216, 56814, 59415, 62014, 64615, 67210, 69815, 72411, 75012, 77612, 80207, 82812, 85411, 88008, 90606, 93210, 95807, 98407, 101006, 103607, 106206, 108804, 111404, 114000, 116602, 119206, 121799, 124403, 127002, 129603, 132200, 134799, 137399, 139997, 142597, 145197, 147794, 150394, 152996, 155595, 158194, 160793, 163392, 165992, 168590, 171191, 173791, 176390, 178990, 181589, 184188, 186788, 189387, 191986, 194586, 197186, 199785, 202384, 204984] + hit0 = 1 + data1 = [0, 2197, 2418, 2641, 2865, 3087, 3310, 3533, 3754, 3976, 4201, 4424, 4645, 4869, 5092, 5315, 5537, 5761, 5982, 6207, 6431, 6649, 6874, 7096, 7321, 7543, 7766, 7988, 8213, 8435, 8655, 8879, 9103, 9325, 9547, 9771, 9994, 10216, 10436, 10661, 10884, 11106, 11330, 11553, 11779, 12000, 12220, 12443, 12669, 12891, 13111, 13336, 13559, 13784, 14000, 14227, 14450, 14675, 14898, 15117, 15341, 15564, 15788, 16009, 16232, 16455, 16678, 16901, 17124, 17348, 17569] + hit1 = 5 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 0 + self.power0 = 1.85 + + +class 技能12(被动技能): + 名称 = '御风之力' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = '万象风龙阵' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [600, 5040] + 无色消耗 = 5 + data0 = [0, 734, 904, 1075, 1247, 1414, 1587, 1757, 1929, 2311, 2496, 2687, 2870, 3053, 3246, 3433, 3619, 3809, 3993, 4182, 4371, 4558, 4750, 4934, 5120, 5308, 5496, 5688, 5874, 6059, 6247, 6433, 6622, 6810, 6996, 7188, 7371, 7559, 7750, 7935, 8121, 8310, 8497, 8685, 8872, 9060, 9247, 9434, 9623, 9810, 9998] + hit0 = 56 + data1 = [0, 13232, 16303, 19373, 22443, 25510, 28579, 31650, 34717, 41567, 44946, 48316, 51696, 55070, 58444, 61823, 65202, 68573, 71950, 75328, 78706, 82082, 85457, 88835, 92208, 95582, 98962, 102336, 105712, 109088, 112465, 115844, 119216, 122592, 125967, 129345, 132718, 136095, 139474, 142847, 146226, 149600, 152976, 156351, 159728, 163103, 166481, 169855, 173231, 176607, 179983] + hit1 = 4 + + +class 技能14(主动技能): + 名称 = "疾风瞬影闪" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [220, 1320] + 无色消耗 = 1 + data0 = [0, 3779, 4163, 4546, 4932, 5312, 5693, 6080, 6462, 6847, 7230, 7613, 7997, 8379, 8764, 9146, 9533, 9915, 10299, 10680, 11066, 11449, 11832, 12215, 12598, 12982, 13367, 13747, 14132, 14515, 14901, 15282, 15665, 16051, 16433, 16815, 17201, 17582, 17966, 18350, 18734, 19116, 19501, 19883, 20267, 20649, 21034, 21417, 21801, 22183, 22568] + hit0 = 4 + data1 = [0, 3779, 4163, 4546, 4932, 5312, 5693, 6080, 6462, 6847, 7230, 7613, 7997, 8379, 8764, 9146, 9533, 9915, 10299, 10680, 11066, 11449, 11832, 12215, 12598, 12982, 13367, 13747, 14132, 14515, 14901, 15282, 15665, 16051, 16433, 16815, 17201, 17582, 17966, 18350, 18734, 19116, 19501, 19883, 20267, 20649, 21034, 21417, 21801, 22183, 22568] + hit1 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + + +class 技能15(主动技能): + 名称 = "风卷残云" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [551, 3305] + 无色消耗 = 2 + data0 = [0, 3593, 3957, 4322, 4686, 5050, 5415, 5779, 6144, 6508, 6873, 7237, 7602, 7966, 8332, 8695, 9062, 9425, 9789, 10155, 10519, 10884, 11249, 11612, 11978, 12342, 12706, 13071, 13436, 13799, 14165, 14529, 14895, 15258, 15623, 15988, 16352, 16717, 17082, 17445, 17811, 18175, 18540, 18904, 19268, 19633, 19997, 20362, 20726, 21091, 21455] + hit0 = 10 + data1 = [0, 11978, 13192, 14407, 15623, 16837, 18052, 19268, 20483, 21699, 22913, 24127, 25343, 26559, 27774, 28990, 30205, 31421, 32635, 33849, 35066, 36280, 37496, 38712, 39926, 41139, 42355, 43570, 44786, 46001, 47216, 48432, 49647, 50862, 52077, 53291, 54509, 55723, 56937, 58153, 59368, 60582, 61799, 63014, 64229, 65444, 66658, 67874, 69088, 70304, 71521] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.30 + + +class 技能16(主动技能): + 名称 = '游龙惊风破' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 3051, 3360, 3671, 3979, 4288, 4597, 4909, 5217, 5526, 5835, 6145, 6456, 6765, 7074, 7381, 7693, 8003, 8311, 8620, 8931, 9240, 9549, 9859, 10169, 10479, 10788, 11098, 11409, 11715, 12025, 12333, 12645, 12955, 13264, 13573, 13883, 14193, 14501, 14811, 15121, 15430, 15740, 16049, 16359, 16668, 16979, 17289, 17595, 17907, 18216] + hit0 = 12 + data1 = [0, 50305, 55409, 60512, 65614, 70716, 75823, 80925, 86027, 91132, 96235, 101337, 106445, 111547, 116649, 121752, 126856, 131958, 137063, 142168, 147270, 152373, 157475, 162580, 167682, 172785, 177892, 182995, 188097, 193203, 198304, 203407, 208513, 213615, 218716, 223822, 228925, 234027, 239132, 244235, 249337, 254441, 259546, 264651, 269754, 274857, 279960, 285063, 290166, 295270, 300374] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 2.18 + + +class 技能17(被动技能): + 名称 = '风神诀' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = '九霄风雷' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + # 14+1 + # 低于100攻速且立即落地时,存在丢hit情况,hit数11-13 + # 携带CP后不存在丢hit + data0 = [0, 2975, 3275, 3582, 3881, 4184, 4485, 4788, 5090, 5394, 5693, 5996, 6297, 6599, 6902, 7201, 7505, 7807, 8108, 8411, 8713, 9013, 9315, 9619, 9919, 10221, 10522, 10826, 11128, 11429, 11732, 12034, 12335, 12638, 12940, 13240, 13543, 13844, 14147, 14450, 14751, 15053, 15355, 15655, 15958, 16261, 16563, 16863, 17165, 17467, 17771] + hit0 = 14 + data1 = [0, 62496, 68837, 75177, 81520, 87858, 94196, 100540, 106880, 113220, 119562, 125901, 132242, 138581, 144923, 151263, 157603, 163942, 170283, 176626, 182964, 189302, 195646, 201986, 208324, 214668, 221006, 227347, 233687, 240030, 246368, 252710, 259048, 265389, 271728, 278069, 284409, 290754, 297091, 303429, 309773, 316112, 322452, 328793, 335135, 341476, 347814, 354154, 360495, 366834, 373175] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.27 + self.CDR *= 0.89 + + +class 技能19(主动技能): + 名称 = '无限风域' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [1500, 5000] + 无色消耗 = 10 + data0 = [0, 21121, 26019, 30915, 35816, 40714, 45610, 50509, 55407, 60301, 65201, 70099, 74997, 79895, 84794, 89689, 94588, 99486, 104384, 109281, 114179, 119076, 123974, 128872, 133771, 138667, 143567, 148464, 153359, 158260, 163158, 168055, 172952, 177851, 182748, 187647, 192543, 197441, 202339, 207237, 212134, 217033, 221930, 226827, 231726, 236623, 241521, 246420, 251316, 256213, 261112] + hit0 = 1 + data1 = [0, 7921, 9754, 11591, 13433, 15266, 17101, 18939, 20777, 22612, 24450, 26284, 28121, 29963, 31797, 33631, 35471, 37308, 39144, 40982, 42817, 44651, 46492, 48327, 50163, 52001, 53835, 55675, 57512, 59348, 61185, 63021, 64857, 66696, 68530, 70366, 72206, 74041, 75877, 77715, 79550, 81388, 83223, 85062, 86898, 88735, 90571, 92409, 94244, 96082, 97919] + hit1 = 8 + data2 = [0, 42243, 52037, 61836, 71629, 81424, 91221, 101015, 110813, 120610, 130403, 140195, 149994, 159790, 169586, 179381, 189177, 198971, 208767, 218563, 228359, 238157, 247949, 257746, 267543, 277336, 287134, 296929, 306724, 316520, 326315, 336110, 345906, 355702, 365500, 375293, 385088, 394885, 404680, 414475, 424272, 434067, 443862, 453658, 463453, 473248, 483045, 492842, 502637, 512431, 522228] + hit2 = 1 + data3 = [0, 84485, 104080, 123667, 143260, 162853, 182441, 202035, 221625, 241216, 260807, 280399, 299990, 319579, 339173, 358763, 378355, 397947, 417536, 437129, 456717, 476309, 495902, 515494, 535083, 554672, 574268, 593856, 613448, 633041, 652628, 672222, 691814, 711404, 730995, 750586, 770179, 789770, 809361, 828952, 848542, 868133, 887726, 907316, 926908, 946498, 966090, 985680, 1005272, 1024864, 1044454] + hit3 = 1 + + +class 技能20(主动技能): + 名称 = "怒风狂涌" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 5581, 6147, 6714, 7279, 7844, 8410, 8978, 9545, 10111, 10675, 11243, 11808, 12375, 12942, 13507, 14075, 14641, 15205, 15773, 16339, 16903, 17468, 18036, 18602, 19169, 19736, 20302, 20867, 21434, 22000, 22567, 23134, 23698, 24267, 24832, 25398, 25964, 26531, 27096, 27660, 28229, 28796, 29361, 29926, 30492, 31059, 31625, 32191, 32758, 33323] + hit0 = 6 + data1 = [0, 12557, 13831, 15107, 16378, 17651, 18928, 20200, 21475, 22746, 24021, 25296, 26570, 27844, 29120, 30393, 31667, 32937, 34214, 35487, 36762, 38035, 39309, 40583, 41858, 43130, 44407, 45678, 46953, 48227, 49502, 50775, 52050, 53322, 54598, 55870, 57144, 58422, 59693, 60966, 62241, 63515, 64790, 66062, 67335, 68610, 69884, 71159, 72432, 73706, 74980] + hit1 = 4 + data2 = [0, 83715, 92208, 100700, 109194, 117688, 126181, 134676, 143167, 151661, 160154, 168645, 177140, 185632, 194126, 202618, 211110, 219603, 228097, 236592, 245084, 253576, 262070, 270564, 279053, 287548, 296041, 304534, 313028, 321521, 330016, 338506, 347000, 355493, 363985, 372480, 380972, 389463, 397957, 406450, 414940, 423436, 431928, 440424, 448915, 457409, 465902, 474394, 482888, 491380, 499874] + hit2 = 1 + + +class 技能21(被动技能): + 名称 = '初始之风' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "风之极·永坠" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 57576, 70927, 84277, 97630, 110979, 124331, 137683, 151034, 164385, 177736, 191087, 204438, 217789, 231141, 244492, 257842, 271195, 284545, 297898, 311246, 324598, 337951, 351302, 364652, 378003, 391356, 404706, 418056, 431409, 444758, 458111, 471462, 484813, 498164, 511516, 524866, 538218, 551569, 564922, 578271, 591622, 604973, 618325, 631676, 645026, 658378, 671730, 685079, 698432, 711783] + hit0 = 1 + data1 = [0, 86364, 106390, 126417, 146446, 166472, 186499, 206524, 226552, 246578, 266606, 286632, 306658, 326685, 346712, 366738, 386764, 406790, 426818, 446846, 466872, 486899, 506924, 526953, 546979, 567007, 587032, 607061, 627085, 647114, 667140, 687167, 707194, 727220, 747246, 767276, 787301, 807329, 827354, 847380, 867408, 887434, 907461, 927488, 947514, 967541, 987567, 1007594, 1027621, 1047648, 1067675] + hit1 = 1 + data2 = [0, 17272, 21278, 25284, 29289, 33293, 37298, 41305, 45309, 49315, 53319, 57326, 61331, 65336, 69342, 73345, 77352, 81359, 85362, 89369, 93376, 97380, 101386, 105390, 109395, 113399, 117406, 121411, 125417, 129422, 133429, 137433, 141439, 145443, 149448, 153453, 157459, 161464, 165469, 169476, 173482, 177486, 181491, 185496, 189502, 193508, 197512, 201518, 205522, 209530, 213535] + hit2 = 25 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'swift_master' + self.名称 = '知源·逐风者' + self.角色 = '魔法师(男)' + self.角色类型 = '输出' + self.职业 = '逐风者' + # 用来筛CP武器的 + self.转职 = '逐风者' + self.武器选项 = ['棍棒'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '棍棒' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.11 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[], rune_start_lv=20) -> None: + return super().set_skill_info(info=info, rune_start_lv=15) + + def 技能队列设置(self, setinfo): + self.技能队列 = [] + CP武器 = self.check_fun_by_id(651) + for item in setinfo: + self.技能队列.append({ + '名称': item['name'], + '无色消耗': self.get_skill_by_name(item['name']).无色消耗, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': item.get('mode', '') + }) + if CP武器: + if item['name'] == "狂风冲刺": + for i in range(0,3): + self.技能队列.append({ + '名称': '游离之风', + '无色消耗': 0, + '倍率': 1.0, + '等级变化': 0, + 'CDR': 1.0, + '恢复': 0, + '形态': 'CP' + }) \ No newline at end of file diff --git a/api/core/characters/sword_master.py b/api/core/characters/sword_master.py new file mode 100644 index 00000000..50792522 --- /dev/null +++ b/api/core/characters/sword_master.py @@ -0,0 +1,1000 @@ +from ast import arg +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 等级精通 = 110 + 关联技能 = ['帝国剑术'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(主动技能): + 名称 = '帝国剑术' + 备注 = '(TP为基础精通)' + 所在等级 = 1 + 等级上限 = 1 + 基础等级 = 1 + MP = [6, 140] + # 巨剑 180.53+205.90+127.83 + data0 = [int(i) for i in [0, 514.25]] + hit0 = 1 + # 太刀 122.81+170.41+195.72 + data1 = [int(i) for i in [0, 486.67]] + hit1 = 1 + # 短剑 (69.16+74.22+80.97+86.03)*2 + data2 = [int(i) for i in [0, 310.37]] + hit2 = 2 + # 钝器 102.14+153.95+179.12+76.98 + data3 = [int(i) for i in [0, 512.19]] + hit3 = 1 + CD = 1.0 # 实际没有 + TP成长 = 0.10 + TP上限 = 5 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + if 武器类型 == '巨剑': + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + if 武器类型 == '太刀': + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 武器类型 == '短剑': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 2 + self.hit3 = 0 + if 武器类型 == '钝器': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 1 + return super().等效百分比(**argv) + + +class 技能2(主动技能): + 名称 = '魔剑降临' + 备注 = '火冰光为次数,暗为秒伤' + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [94, 1029] + # 火 + data0 = [0, 119, 129, 142, 153, 166, 176, 190, 201, 214, 224, 237, 248, 263, 272, 286, 296, 310, 319, 334, 345, 358, 368, 381, 392, 406, 417, 429, 440, 453, 464, 477, 488, 501, 512, 523, 536, 548, 560, 571, 583, 595, 608, 619, 631, 643, 655, 665, 679, 691, 703, 713, 726, 737, 752, 761, 775, 785, 799, 808, 823, 834, 847, 858, 870, 881, 895, 906, 918, 929, 942] + hit0 = 1 + # 冰 + data1 = [0, 119, 129, 142, 153, 166, 176, 190, 201, 214, 224, 237, 248, 263, 272, 286, 296, 310, 319, 334, 345, 358, 368, 381, 392, 406, 417, 429, 440, 453, 464, 477, 488, 501, 512, 523, 536, 548, 560, 571, 583, 595, 608, 619, 631, 643, 655, 665, 679, 691, 703, 713, 726, 737, 752, 761, 775, 785, 799, 808, 823, 834, 847, 858, 870, 881, 895, 906, 918, 929, 942] + hit1 = 0 + # 光 + data2 = [0, 131, 151, 164, 174, 193, 202, 211, 231, 240, 258, 272, 287, 296, 311, 325, 334, 358, 367, 381, 395, 405, 419, 433, 452, 461, 480, 489, 499, 517, 527, 546, 560, 574, 583, 597, 612, 621, 644, 654, 668, 682, 691, 706, 720, 738, 748, 767, 776, 785, 804, 814, 833, 847, 861, 870, 884, 898, 908, 931, 941, 955, 969, 978, 992, 1006, 1025, 1035, 1053, 1063, 1072] + hit2 = 0 + # 暗 dot伤害,按秒伤看叠满两层是每秒4段 + data3 = [0, 78, 85, 94, 101, 110, 119, 125, 135, 141, 150, 156, 164, 173, 182, 188, 197, 203, 213, 221, 226, 236, 245, 252, 260, 267, 276, 284, 292, 299, 308, 315, 324, 330, 339, 347, 356, 363, 371, 379, 387, 394, 403, 410, 418, 427, 435, 441, 451, 457, 466, 474, 481, 489, 499, 504, 513, 520, 529, 537, 544, 552, 561, 568, 576, 583, 592, 601, 608, 615, 625] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 7 + CD = 1 # 对于火冰光无实际CD,对于暗就是秒伤 + + 形态 = ["火", "冰", "光", "暗"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "火": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "冰": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + if 形态 == "光": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 3 + self.hit3 = 0 + if 形态 == "暗": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 0 + self.hit3 = 4 + + def 等效CD(self, **argv): + return 1.0 + + +class 技能3(被动技能): + 名称 = '毁灭之巨剑精通' + 所在等级 = 15 + 等级上限 = 40 + 基础等级 = 30 + 关联技能 = ['所有'] + 关联技能1 = ['所有'] + 关联技能2 = ['破军旋舞斩'] + 关联技能3 = ['帝国剑术'] + data1 = [0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61] + data2 = [0, 16, 17, 17, 18, 19, 19, 20, 20, 21, 22, 22, 23, 23, 24, 25, 25, 26, 26, 27, 28, 28, 29, 29, 30, 31, 31, 32, 32, 33, 34, 34, 35, 35, 36, 37, 37, 38, 38, 39, 40] + data3 = [0, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24, 24, 24, 25, 25, 26] + data4 = [0, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52, 53, 53, 54, 54, 55, 55, 56, 56, 57, 57] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return 1 + self.data1[self.等级] / 100 + + def 加成倍率1(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return 1 + self.data2[self.等级] / 100 + + # 破军圆舞斩 + def 加成倍率2(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return 1 + self.data3[self.等级] / 100 + + # 帝国剑术 + def 加成倍率3(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return 1.36 + + # 恶即斩终结 + def 额外倍率1(self): + return 1 + self.data4[self.等级] / 100 + + +class 技能4(被动技能): + 名称 = '血影之太刀精通' + 所在等级 = 15 + 等级上限 = 40 + 基础等级 = 30 + 关联技能 = ['所有'] + 关联技能1 = ['所有'] + 非关联技能1 = ['帝国剑术', '魔剑降临'] + 关联技能2 = ['魔剑降临'] + 关联技能3 = ['帝国剑术'] + 冷却关联技能 = ['所有'] + data1 = [0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61] + data2 = [0, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44] + data3 = [0, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return 1 + self.data1[self.等级] / 100 + + # 柔化加成 + def 加成倍率1(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return 1 + self.data2[self.等级] / 100 + + # 魔剑降临 + def 加成倍率2(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return 1 + self.data3[self.等级] / 100 + + # 帝国剑术 + def 加成倍率3(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return 1.26 + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '太刀': + return 1.0 + else: + return 0.9 + + +class 技能5(被动技能): + 名称 = '魔性之短剑精通' + 所在等级 = 15 + 等级上限 = 40 + 基础等级 = 30 + 关联技能 = ['所有'] + 关联技能1 = ['所有'] + 冷却关联技能 = ['魔剑奥义'] + data1 = [0, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52] + data2 = [0, 17.5, 18, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37] + data3 = [0, 34, 35, 37, 38, 40, 41, 42, 44, 45, 47, 48, 50, 51, 53, 54, 56, 57, 58, 60, 61, 63, 64, 66, 67, 69, 70, 71, 73, 74, 76, 77, 79, 80, 82, 83, 85, 86, 87, 88, 89] + data4 = [0, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '短剑': + return 1.0 + else: + return 1 + self.data1[self.等级] / 100 + + def 加成倍率1(self, 武器类型): + if 武器类型 != '短剑': + return 1.0 + else: + return 1 + self.data2[self.等级] / 100 + + def CD缩减倍率(self, 武器类型): + if 武器类型 != '短剑': + return 1.0 + else: + return 1 - self.data3[self.等级] / 100 + + # 瞬影三绝斩异常伤害 + def 额外倍率1(self): + return 1 + self.data4[self.等级] / 100 + + +class 技能6(被动技能): + 名称 = '波动之钝器精通' + 所在等级 = 15 + 等级上限 = 40 + 基础等级 = 30 + 关联技能 = ['所有'] + 关联技能1 = ['所有'] + 关联技能2 = ['雷鸣千军破'] + data1 = [0, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61] + data2 = [0, 18.5, 19, 19.5, 20, 20.5, 21, 21.5, 22, 22.5, 23, 23.5, 24, 24.5, 25, 25.5, 26, 26.5, 27, 27.5, 28, 28.5, 29, 29.5, 30, 30.5, 31, 31.5, 32, 32.5, 33, 33.5, 34, 34.5, 35, 35.5, 36, 36.5, 37, 37.5, 38] + data4 = [0, 11, 12, 14, 15, 16, 18, 19, 20, 22, 23, 24, 26, 27, 29, 30, 31, 33, 34, 35, 37, 38, 39, 41, 42, 44, 45, 46, 48, 49, 50, 52, 53, 54, 56, 57, 58, 60, 61, 63, 64] + data5 = [0, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47] + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '钝器': + return 1.0 + else: + return 1 + self.data1[self.等级] / 100 + + def 加成倍率1(self, 武器类型): + if 武器类型 != '钝器': + return 1.0 + else: + return 1 + self.data2[self.等级] / 100 + + # 雷鸣千军破 + def 加成倍率2(self, 武器类型): + if 武器类型 != '钝器': + return 1.0 + else: + return 2.8 + + # 幻剑术冲击波 + def 额外倍率1(self): + return 1 + self.data4[self.等级] / 100 + + # 穿云破空剑冲击波 + def 额外倍率2(self): + return 1 + self.data5[self.等级] / 100 + + +class 技能7(主动技能): + 名称 = '疾影斩' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [20, 210] + data0 = [0, 3911, 4305, 4702, 5099, 5494, 5894, 6290, 6686, 7083, 7478, 7876, 8272, 8668, 9066, 9463, 9859, 10256, 10652, 11048, 11446, 11845, 12240, 12636, 13032, 13428, 13824, 14223, 14619, 15016, 15413, 15809, 16206, 16603, 16999, 17395, 17794, 18188, 18586, 18983, 19378, 19777, 20174, 20569, 20965, 21363, 21758, 22156, 22552, 22949, 23346, 23742, 24139, 24537, 24933, 25328, 25725, 26122, 26519, 26915, 27311, 27707, 28106, 28503, 28900, 29296, 29691, 30088, 30485, 30881, 31279] + hit0 = 1 + CD = 7.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = '幻剑术' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 350] + data0 = [0, 1000, 1103, 1205, 1308, 1407, 1510, 1610, 1714, 1816, 1916, 2018, 2120, 2221, 2324, 2425, 2527, 2628, 2731, 2829, 2934, 3036, 3137, 3237, 3338, 3440, 3545, 3644, 3746, 3847, 3949, 4051, 4154, 4254, 4356, 4458, 4560, 4660, 4763, 4864, 4967, 5069, 5169, 5271, 5372, 5475, 5577, 5677, 5780, 5881, 5985, 6086, 6187, 6289, 6390, 6490, 6591, 6693, 6798, 6898, 6999, 7099, 7202, 7306, 7407, 7508, 7609, 7711, 7813, 7915, 8016] + hit0 = 6 + # 钝器冲击波 + data1 = [0, 249, 275, 300, 326, 352, 377, 402, 426, 453, 478, 503, 529, 553, 581, 607, 631, 657, 683, 707, 733, 759, 783, 809, 835, 860, 886, 911, 936, 962, 987, 1012, 1037, 1063, 1090, 1114, 1141, 1166, 1191, 1217, 1241, 1267, 1293, 1317, 1343, 1370, 1394, 1420, 1446, 1470, 1496, 1520, 1546, 1572, 1596, 1623, 1649, 1673, 1699, 1724, 1752, 1776, 1801, 1826, 1852, 1878, 1904, 1928, 1954, 1980, 2005] + hit1 = 0 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + char: Character = argv.get('char', {}) + if 武器类型 == '钝器': + self.hit0 = 6 + self.hit1 = 6 + self.power1 = char.get_skill_by_name("波动之钝器精通").额外倍率1() + else: + self.hit0 = 6 + self.hit1 = 0 + return super().等效百分比(**argv) + + +class 技能9(主动技能): + 名称 = '升龙剑' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [30, 350] + data0 = [0, 480, 530, 579, 627, 676, 725, 774, 823, 872, 921, 968, 1018, 1067, 1116, 1164, 1213, 1262, 1311, 1359, 1408, 1457, 1505, 1556, 1604, 1653, 1701, 1751, 1799, 1848, 1896, 1946, 1994, 2044, 2092, 2141, 2190, 2238, 2287, 2336, 2385, 2433, 2482, 2531, 2580, 2628, 2677, 2726, 2775, 2824, 2873, 2921, 2969, 3018, 3069, 3118, 3166, 3215, 3265, 3313, 3362, 3410, 3459, 3507, 3557, 3605, 3654, 3702, 3751, 3801, 3849] + hit0 = 4 + data1 = [0, 4424, 4870, 5320, 5772, 6219, 6670, 7117, 7564, 8015, 8466, 8911, 9365, 9811, 10260, 10706, 11156, 11607, 12057, 12504, 12952, 13400, 13852, 14302, 14748, 15200, 15647, 16093, 16545, 16995, 17447, 17894, 18341, 18789, 19239, 19686, 20137, 20587, 21036, 21482, 21929, 22382, 22832, 23280, 23729, 24177, 24628, 25074, 25522, 25976, 26424, 26869, 27319, 27769, 28218, 28667, 29116, 29565, 30012, 30461, 30910, 31357, 31810, 32259, 32706, 33157, 33604, 34051, 34506, 34952, 35399] + hit1 = 1 + CD = 8.0 + TP成长 = 0.10 + TP上限 = 7 + + +class 技能10(主动技能): + 名称 = '穿云破空剑' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + MP = [60, 390] + data0 = [0, 1216, 1412, 1605, 1801, 1994, 2188, 2381, 2574, 2770, 2965, 3157, 3352, 3548, 3741, 3936, 4130, 4323, 4519, 4712, 4905, 5100, 5293, 5487, 5683, 5877, 6071, 6264, 6459, 6655, 6848, 7042, 7235, 7429, 7623, 7816, 8012, 8207, 8399, 8594, 8790, 8984, 9177, 9373, 9566, 9758, 9952, 10148, 10341, 10536, 10730, 10925, 11119, 11313, 11506, 11701, 11895, 12090, 12283, 12477, 12671, 12865, 13058, 13254, 13448, 13643, 13836, 14030, 14225, 14420, 14615] + hit0 = 1 + data1 = [0, 815, 945, 1075, 1205, 1333, 1465, 1593, 1726, 1854, 1986, 2115, 2246, 2374, 2506, 2635, 2765, 2894, 3026, 3155, 3283, 3414, 3544, 3675, 3804, 3936, 4065, 4196, 4325, 4457, 4584, 4715, 4844, 4976, 5105, 5235, 5366, 5494, 5624, 5754, 5885, 6015, 6145, 6276, 6405, 6534, 6664, 6795, 6925, 7055, 7184, 7316, 7445, 7576, 7705, 7836, 7965, 8097, 8226, 8356, 8485, 8617, 8745, 8876, 9005, 9134, 9266, 9394, 9525, 9655, 9786] + hit1 = 8 + data2 = [0, 957, 1108, 1261, 1413, 1567, 1718, 1870, 2024, 2178, 2328, 2480, 2635, 2787, 2939, 3091, 3245, 3398, 3549, 3703, 3854, 4008, 4160, 4314, 4463, 4615, 4770, 4922, 5074, 5226, 5381, 5533, 5684, 5836, 5989, 6143, 6295, 6449, 6600, 6754, 6905, 7058, 7210, 7364, 7517, 7668, 7821, 7970, 8126, 8277, 8430, 8582, 8736, 8888, 9040, 9192, 9345, 9498, 9652, 9803, 9956, 10109, 10262, 10413, 10566, 10717, 10872, 11024, 11177, 11329, 11483] + hit2 = 1 + CD = 12.0 + TP成长 = 0.10 + TP上限 = 7 + + def TP加成(self): + return 1.0 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + char: Character = argv.get('char', {}) + if self.TP等级 > 0: + self.hit1 = 8+self.TP等级 + if 武器类型 == '钝器': + self.power2 = char.get_skill_by_name("波动之钝器精通").额外倍率2() + else: + self.hit1 = 8 + if 武器类型 == '钝器': + self.power2 = char.get_skill_by_name("波动之钝器精通").额外倍率2() + return super().等效百分比(**argv) + + +class 技能11(主动技能): + 名称 = '魔剑奥义' + 备注 = '单次' + 是否主动 = 0 + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + MP = [60, 390] + # 火 + data0 = [0, 911, 1003, 1097, 1189, 1281, 1374, 1466, 1559, 1649, 1744, 1837, 1928, 2021, 2112, 2205, 2299, 2391, 2484, 2575, 2668, 2761, 2853, 2946, 3038, 3131, 3223, 3316, 3408, 3500, 3594, 3686, 3778, 3871, 3963, 4056, 4148, 4241, 4334, 4426, 4519, 4610, 4703, 4796, 4889, 4982, 5072, 5165, 5258, 5350, 5442, 5535, 5628, 5721, 5813, 5905, 5997, 6090, 6183, 6275, 6368, 6460, 6553, 6645, 6737, 6831, 6923, 7016, 7107, 7200, 7293] + hit0 = 1 + # 冰 + data1 = [0, 1003, 1103, 1206, 1306, 1410, 1512, 1613, 1714, 1815, 1918, 2020, 2122, 2224, 2325, 2426, 2528, 2629, 2732, 2834, 2935, 3038, 3138, 3240, 3342, 3444, 3545, 3647, 3750, 3849, 3953, 4054, 4156, 4258, 4359, 4462, 4561, 4665, 4767, 4868, 4970, 5071, 5173, 5277, 5377, 5479, 5580, 5682, 5784, 5886, 5989, 6088, 6191, 6293, 6394, 6497, 6598, 6700, 6800, 6903, 7005, 7106, 7209, 7310, 7411, 7513, 7614, 7716, 7819, 7921, 8023] + hit1 = 1 + # 光 + data2 = [0, 1003, 1103, 1206, 1306, 1410, 1512, 1613, 1714, 1815, 1918, 2020, 2122, 2224, 2325, 2426, 2528, 2629, 2732, 2834, 2935, 3038, 3138, 3240, 3342, 3444, 3545, 3647, 3750, 3849, 3953, 4054, 4156, 4258, 4359, 4462, 4561, 4665, 4767, 4868, 4970, 5071, 5173, 5277, 5377, 5479, 5580, 5682, 5784, 5886, 5989, 6088, 6191, 6293, 6394, 6497, 6598, 6700, 6800, 6903, 7005, 7106, 7209, 7310, 7411, 7513, 7614, 7716, 7819, 7921, 8023] + hit2 = 1 + # 暗 + data3 = [0, 911, 1003, 1097, 1189, 1281, 1374, 1466, 1559, 1649, 1744, 1837, 1928, 2021, 2112, 2205, 2299, 2391, 2484, 2575, 2668, 2761, 2853, 2946, 3038, 3131, 3223, 3316, 3408, 3500, 3594, 3686, 3778, 3871, 3963, 4056, 4148, 4241, 4334, 4426, 4519, 4610, 4703, 4796, 4889, 4982, 5072, 5165, 5258, 5350, 5442, 5535, 5628, 5721, 5813, 5905, 5997, 6090, 6183, 6275, 6368, 6460, 6553, 6645, 6737, 6831, 6923, 7016, 7107, 7200, 7293] + hit3 = 1 + # TP是减少触发间隔,每级-10%,7级-70% + TP成长 = 0 + TP上限 = 7 + CD = 5 + 短精CDR = 1 + 形态 = ["火/暗", "冰/光", "冰光", "冰火", "火暗", "火冰"] + + def 等效CD(self, **argv): + return self.CD * ( 1 - self.TP等级 * 0.1) * self.短精CDR + + def 形态变更(self, 形态, char: Character): + if char == {}: + 武器类型 = "巨剑" + else: + 武器类型 = char.武器类型 + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 武器类型 != '短剑' and len(形态) == 2: + 形态 = 形态[:1] + if 武器类型 == '短剑' and len(形态) == 3: + 形态 = 形态.replace("/", "") + if 形态 == "冰光": + # 火 + self.power0 = 0 + # 冰 + self.power1 = 1.65 + # 光 + self.power2 = 0.25 * 1.65 + # 暗 + self.power3 = 0 + elif 形态 == "冰火": + # 火 + self.power0 = 0.25 * 1.65 + # 冰 + self.power1 = 1.65 + # 光 + self.power2 = 0 + # 暗 + self.power3 = 0 + elif 形态 == "火暗": + # 火 + self.power0 = 1.65 + # 冰 + self.power1 = 0 + # 光 + self.power2 = 0 + # 暗 + self.power3 = 0.25 * 1.65 + elif 形态 == "火冰": + # 火 + self.power0 = 1.65 + # 冰 + self.power1 = 0.25 * 1.65 + # 光 + self.power2 = 0 + # 暗 + self.power3 = 0 + elif 形态 == "火/暗" or 形态 == "火": + # 火 + self.power0 = 1 + # 冰 + self.power1 = 0 + # 光 + self.power2 = 0 + # 暗 + self.power3 = 0 + elif 形态 == "冰/光" or 形态 == "冰": + # 火 + self.power0 = 0 + # 冰 + self.power1 = 1 + # 光 + self.power2 = 0 + # 暗 + self.power3 = 0 + pass + + +class 技能12(被动技能): + 名称 = '魔剑觉醒' + 所在等级 = 30 + 等级上限 = 15 + 基础等级 = 5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.035 + 0.015 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = '瞬影三绝斩' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + # 冰暗 剑气本体伤害 + data0 = [0, 3868, 4260, 4655, 5047, 5440, 5831, 6224, 6616, 7010, 7401, 7795, 8186, 8579, 8972, 9365, 9757, 10150, 10543, 10935, 11328, 11720, 12113, 12506, 12899, 13291, 13683, 14075, 14469, 14861, 15254, 15646, 16040, 16430, 16824, 17218, 17609, 18003, 18395, 18787, 19179, 19572, 19964, 20359, 20750, 21143, 21534, 21927, 22319, 22713, 23105, 23500, 23892, 24282, 24676, 25068, 25461, 25853, 26247, 26639, 27031, 27423, 27816, 28208, 28602, 28994, 29386, 29781, 30172, 30565, 30957] + hit0 = 3 + # 火光 剑气本体伤害 + data1 = [0, 3684, 4057, 4433, 4807, 5182, 5554, 5928, 6301, 6676, 7049, 7425, 7796, 8171, 8545, 8919, 9293, 9668, 10040, 10414, 10789, 11162, 11537, 11910, 12285, 12658, 13032, 13406, 13779, 14153, 14528, 14901, 15276, 15648, 16023, 16399, 16771, 17146, 17518, 17892, 18266, 18641, 19014, 19390, 19762, 20136, 20509, 20884, 21256, 21631, 22005, 22381, 22754, 23126, 23501, 23874, 24249, 24623, 24997, 25370, 25744, 26117, 26492, 26866, 27240, 27613, 27987, 28363, 28735, 29109, 29483] + hit1 = 0 + # 火光额外 + data2 = [0, 773, 852, 931, 1009, 1088, 1166, 1245, 1323, 1402, 1480, 1559, 1637, 1716, 1794, 1873, 1951, 2030, 2108, 2187, 2265, 2344, 2422, 2501, 2580, 2658, 2736, 2815, 2894, 2972, 3051, 3129, 3208, 3286, 3365, 3443, 3522, 3600, 3679, 3757, 3836, 3914, 3993, 4072, 4150, 4228, 4307, 4385, 4464, 4542, 4621, 4700, 4778, 4856, 4935, 5013, 5092, 5170, 5249, 5328, 5406, 5484, 5563, 5641, 5720, 5799, 5877, 5956, 6034, 6113, 6191] + hit2 = 0 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 5 + + MP = [110, 924] + 无色消耗 = 1 + + 形态 = ["冰&暗", "火&光"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "火&光": + self.hit0 = 0 + self.hit1 = 3 + self.hit2 = 1 + if char.武器类型 == '太刀': + self.hit1 = 4 + if 形态 == "冰&暗": + self.hit0 = 3 + self.hit1 = 0 + self.hit2 = 0 + if char.武器类型 == '太刀': + self.hit0 = 4 + + + # def 等效百分比(self, **argv): + # 武器类型 = argv.get('武器类型', '') + # char: Character = argv.get('char', {}) + # 剑心_魔剑觉醒 = char.get_skill_by_name("剑心:魔剑觉醒") + # 魔剑觉醒 = char.get_skill_by_name("魔剑觉醒") + # 通用被动倍率 = 剑心_魔剑觉醒.加成倍率('')*魔剑觉醒.加成倍率('') * \ + # (1+self.TP成长*self.TP等级) / char.基础面板物理攻击力() + # for item in char.符文: + # if not item is None and item != '': + # skill_name: str = item[0:-1] + # type = item[-1] + # if skill_name == self.名称: + # # 紫 + # if type == "1": + # 通用被动倍率 *= 1.04 + # # 红 + # if type == "2": + # 通用被动倍率 *= 1.06 + # # 绿 + # if type == "3": + # 通用被动倍率 *= 0.96 + # if 武器类型 == "": + # 武器类型 = '巨剑' + # # TP加成本体 + # self.power0 = 1 + self.TP成长*self.TP等级 + # self.power1 = 1 + self.TP成长*self.TP等级 + + # if 武器类型 == "巨剑": + # self.power1 = 通用被动倍率 * char.get_skill_by_name("毁灭之巨剑精通").加成倍率1('') + + # if 武器类型 == "太刀": + # # 追加一次攻击 + # self.hit0 = 4 + # self.power1 = 通用被动倍率 * char.get_skill_by_name("血影之太刀精通").加成倍率1('') + # if 武器类型 == "短剑": + # 短剑精通 = char.get_skill_by_name("魔性之短剑精通") + # self.power1 = 通用被动倍率 * \ + # 短剑精通.加成倍率1('') * (2.0 if 短剑精通.等级 >= 25 else 1.0) + # self.灼伤power0 = self.感电power0 = 短剑精通.额外倍率1() + # if 武器类型 == "钝器": + # self.power1 = 通用被动倍率 * char.get_skill_by_name("波动之钝器精通").加成倍率1('') + # return super().等效百分比(**argv) + + +class 技能14(主动技能): + 名称 = '破军旋舞斩' + 备注 = '蓄气' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + + data0 = [0, 2965, 3437, 3911, 4382, 4856, 5329, 5800, 6274, 6747, 7219, 7692, 8165, 8638, 9112, 9583, 10056, 10529, 11002, 11474, 11948, 12419, 12892, 13365, 13837, 14311, 14783, 15256, 15729, 16201, 16676, 17148, 17620, 18093, 18564, 19039, 19511, 19983, 20456, 20928, 21402, 21874, 22348, 22820, 23293, 23766, 24240, 24712, 25184, 25656, 26129, 26601, 27075, 27547, 28020, 28493, 28965, 29439, 29912, 30384, 30857, 31329, 31804, 32275, 32747, 33220, 33692, 34166, 34638, 35112, 35584] + hit0 = 3 + CD = 15.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [110, 924] + 无色消耗 = 1 + + 形态 = ["蓄力", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "蓄力": + self.power0 = 1.2 + if 形态 == "普通": + self.power0 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能15(主动技能): + 名称 = '雷鸣千军破' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 3776, 4158, 4541, 4924, 5308, 5691, 6074, 6458, 6841, 7223, 7606, 7990, 8372, 8755, 9139, 9522, 9904, 10287, 10671, 11053, 11436, 11821, 12204, 12586, 12969, 13353, 13736, 14118, 14502, 14885, 15267, 15650, 16034, 16417, 16799, 17183, 17567, 17950, 18332, 18716, 19099, 19481, 19865, 20248, 20631, 21013, 21397, 21780, 22163, 22546, 22929, 23312, 23695, 24079, 24462, 24845, 25227, 25611, 25994, 26377, 26760, 27143, 27526, 27908, 28292, 28675, 29058, 29442, 29825, 30208] + hit0 = 2 + data1 = [0, 7551, 8318, 9084, 9850, 10616, 11383, 12148, 12915, 13680, 14448, 15213, 15979, 16745, 17511, 18278, 19043, 19810, 20576, 21343, 22108, 22874, 23641, 24406, 25173, 25938, 26706, 27471, 28238, 29004, 29770, 30536, 31301, 32069, 32834, 33601, 34367, 35133, 35899, 36665, 37431, 38198, 38964, 39730, 40496, 41262, 42028, 42794, 43560, 44327, 45094, 45859, 46626, 47391, 48157, 48923, 49689, 50456, 51222, 51989, 52754, 53521, 54286, 55052, 55818, 56585, 57352, 58117, 58884, 59649, 60416] + hit1 = 1 + + CD = 20.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [50, 840] + 无色消耗 = 1 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + if 武器类型 == '钝器': + self.hit0 = 0 + self.hit1 = 1 + else: + self.hit0 = 2 + self.hit1 = 1 + + return super().等效百分比(**argv) + + def 装备护石(self, char): + self.倍率 *= 1.29 + self.CDR *= 0.9 + + + +class 技能16(主动技能): + 名称 = '恶即斩' + 备注 = '连按' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 1201, 1324, 1447, 1566, 1690, 1813, 1933, 2055, 2177, 2299, 2422, 2542, 2666, 2787, 2909, 3030, 3154, 3275, 3397, 3519, 3641, 3763, 3884, 4007, 4129, 4250, 4373, 4494, 4617, 4739, 4861, 4983, 5105, 5226, 5349, 5471, 5592, 5715, 5836, 5958, 6080, 6203, 6325, 6447, 6568, 6691, 6813, 6934, 7057, 7178, 7300, 7422, 7544, 7667, 7789, 7909, 8032, 8154, 8275, 8398, 8519, 8641, 8763, 8885, 9007, 9129, 9250, 9374, 9495, 9617] + hit0 = 15 # 不连按为13 + data1 = [0, 9885, 10888, 11891, 12892, 13896, 14900, 15901, 16904, 17908, 18910, 19913, 20915, 21919, 22922, 23924, 24927, 25930, 26933, 27936, 28937, 29942, 30944, 31947, 32950, 33954, 34956, 35957, 36960, 37964, 38967, 39970, 40974, 41976, 42979, 43980, 44983, 45986, 46989, 47993, 48996, 49999, 51002, 52003, 53009, 54009, 55012, 56015, 57018, 58022, 59024, 60026, 61030, 62032, 63035, 64037, 65041, 66044, 67047, 68049, 69052, 70055, 71058, 72061, 73064, 74066, 75069, 76072, 77075, 78078, 79080] + hit1 = 1 + CD = 40.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + CP武器 = False + + MP = [120, 2024] + 无色消耗 = 2 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '') + char: Character = argv.get('char', {}) + if 武器类型 == '巨剑': + self.power1 = char.get_skill_by_name("毁灭之巨剑精通").额外倍率1() + return super().等效百分比(**argv) + + def 装备护石(self, char): + self.power0 = 1.19 + self.hit1 = 1.38 + self.CDR *= 0.95 + + +class 技能17(被动技能): + 名称 = '斩魂术' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(0.995 + 0.03 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = '极·驭剑术(时空斩)' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 14279, 17592, 20902, 24213, 27527, 30836, 34148, 37459, 40770, 44082, 47394, 50705, 54017, 57327, 60638, 63951, 67260, 70571, 73884, 77195, 80508, 83818, 87130, 90440, 93752, 97063, 100375, 103687, 106995, 110309, 113619, 116932, 120244, 123553, 126867, 130176, 133487, 136801, 140110, 143420, 146734, 150044, 153356, 156668, 159977, 163291, 166602, 169913, 173225, 176534] + hit0 = 3 + data1 = [0, 28559, 35182, 41807, 48427, 55050, 61674, 68296, 74918, 81540, 88164, 94788, 101409, 108031, 114655, 121279, 127900, 134522, 141146, 147770, 154390, 161014, 167638, 174258, 180882, 187504, 194128, 200749, 207371, 213996, 220620, 227239, 233863, 240486, 247108, 253733, 260354, 266978, 273599, 280223, 286844, 293468, 300091, 306715, 313336, 319958, 326580, 333205, 339828, 346448, 353072] + hit1 = 1 + CD = 145.0 + + MP = [980, 8232] + 无色消耗 = 5 + + +class 技能19(主动技能): + 名称 = '裂刃天冲' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 4367, 4811, 5253, 5696, 6141, 6583, 7026, 7470, 7913, 8357, 8801, 9241, 9684, 10128, 10571, 11015, 11457, 11901, 12345, 12788, 13230, 13675, 14117, 14560, 15002, 15446, 15890, 16333, 16775, 17219, 17662, 18105, 18548, 18993, 19435, 19878, 20320, 20765, 21207, 21649, 22092, 22536, 22980, 23423, 23867, 24309, 24753, 25196, 25637, 26081] + hit0 = 1 + data1 = [0, 682, 751, 822, 890, 959, 1029, 1096, 1167, 1236, 1307, 1373, 1444, 1513, 1581, 1652, 1720, 1789, 1859, 1928, 1997, 2067, 2137, 2205, 2275, 2344, 2412, 2482, 2550, 2621, 2689, 2759, 2829, 2897, 2967, 3036, 3106, 3174, 3245, 3314, 3380, 3452, 3521, 3589, 3659, 3730, 3799, 3866, 3936, 4006, 4075] + hit1 = 9 # 怪物高度低会变成8 + data2 = [0, 12011, 13230, 14450, 15668, 16887, 18105, 19323, 20543, 21761, 22980, 24198, 25418, 26637, 27853, 29074, 30292, 31511, 32727, 33947, 35167, 36384, 37602, 38823, 40042, 41259, 42476, 43698, 44914, 46133, 47352, 48571, 49789, 51007, 52228, 53446, 54665, 55882, 57102, 58320, 59539, 60759, 61977, 63194, 64413, 65632, 66852, 68069, 69288, 70507, 71725] + hit2 = 1 + CD = 30.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [400, 1500] + 无色消耗 = 1 + + 形态 = ["满", "常规"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.hit0 = 1 + self.hit1 = 9 + self.hit2 = 1 + if 形态 == "常规": + self.hit0 = 1 + self.hit1 = 8 + self.hit2 = 1 + + def 装备护石(self, char): + self.power0 = 0 + self.power1 = 0 + self.power2 = 2.28 + self.CDR *= 0.95 + + +class 技能20(主动技能): + 名称 = '极·驭剑术(幻剑阵)' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 5183, 5708, 6235, 6759, 7287, 7812, 8338, 8864, 9390, 9916, 10442, 10969, 11494, 12019, 12546, 13071, 13598, 14123, 14651, 15175, 15701, 16227, 16753, 17278, 17804, 18330, 18854, 19380, 19908, 20433, 20960, 21485, 22011, 22537, 23061, 23589, 24114, 24642, 25167, 25694, 26219, 26744, 27271, 27797, 28323, 28849, 29375, 29901, 30426, 30951] + hit0 = 4 + data1 = [0, 20735, 22838, 24943, 27045, 29149, 31252, 33357, 35459, 37564, 39667, 41771, 43872, 45977, 48080, 50184, 52288, 54393, 56495, 58598, 60702, 62806, 64909, 67013, 69117, 71220, 73324, 75426, 77533, 79634, 81738, 83841, 85946, 88048, 90153, 92256, 94361, 96462, 98566, 100670, 102773, 104877, 106982, 109086, 111187, 113292, 115395, 117499, 119602, 121706, 123809] + hit1 = 1 + CD = 50.0 + TP成长 = 0.10 + TP上限 = 5 + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 4 + self.power1 = 0.63 + + +class 技能21(主动技能): + 名称 = '飓风魔剑' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + # 伤害组成除了本身,还有堆叠的魔剑奥义层数, + data0 = [0, 609, 672, 733, 795, 854, 917, 978, 1040, 1103, 1165, 1227, 1289, 1350, 1412, 1473, 1537, 1598, 1659, 1721, 1784, 1844, 1906, 1968, 2030, 2091, 2153, 2216, 2276, 2338, 2401, 2463, 2525, 2588, 2649, 2711, 2773, 2833, 2894, 2956, 3019, 3081, 3143, 3205, 3266, 3328, 3390, 3453, 3515, 3575, 3637] + hit0 = 40 + data1 = [0, 10705, 11791, 12877, 13962, 15048, 16135, 17222, 18307, 19393, 20479, 21566, 22651, 23737, 24822, 25909, 26997, 28080, 29168, 30253, 31340, 32427, 33511, 34597, 35683, 36770, 37854, 38942, 40028, 41114, 42201, 43285, 44371, 45458, 46544, 47629, 48715, 49802, 50889, 51975, 53060, 54147, 55232, 56319, 57404, 58490, 59576, 60664, 61750, 62834, 63922] + hit1 = 1 + 魔剑层数 = 5 + 单层倍率 = 0.03 + 奥义倍率 = 1.15 # 魔剑奥义额外增伤,每层0.03 + 暗 = 0 + CD = 25.0 + 是否有护石 = 1 + + MP = [580, 4500] + 无色消耗 = 3 + + 形态 = ["5","暗5", "4","暗4", "3","暗3", "2" ,"暗2", "1","暗1", "0","暗0"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if "暗" in 形态: + self.暗 = 10 + else: + self.暗 = 0 + self.魔剑层数 = int(形态.replace('暗','')) + if '飓风魔剑' in char.护石栏: + self.魔剑层数 = min(self.魔剑层数, 3) + self.奥义倍率 = 1 + self.单层倍率 * self.魔剑层数 + + def 装备护石(self, char): + self.power0 = 1.15 + self.power1 = 1.65 + self.单层倍率 = 0.05 + + def 等效百分比(self, **argv): + # 额外计算魔剑奥义伤害 + char = argv.get('char', {}) + 伤害类型 = argv.get('伤害类型', '直伤') + 魔剑 = char.get_skill_by_name('魔剑奥义').等效百分比(伤害类型=伤害类型) + return super().等效百分比(**argv)*self.奥义倍率 + 魔剑 * self.魔剑层数 + 魔剑*(0.09+self.等级/100)*self.暗 + + +class 技能22(被动技能): + 名称 = '帝皇盟约' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.28 + 0.02 * self.等级, 5) + + +class 技能23(主动技能): + 名称 = '极·驭剑术(破剑阵)' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 1027, 1130, 1235, 1339, 1443, 1547, 1651, 1756, 1860, 1963, 2068, 2171, 2276, 2381, 2483, 2588, 2693, 2797, 2901, 3006, 3109, 3213, 3318, 3421, 3526, 3631, 3733, 3838, 3943, 4046, 4151, 4254, 4358, 4463, 4568, 4671, 4775, 4880, 4983, 5088, 5193, 5295, 5400, 5504, 5608, 5713, 5817, 5921, 6025, 6129] + hit0 = 2 + data1 = [0, 6929, 7631, 8334, 9037, 9740, 10442, 11147, 11849, 12552, 13256, 13958, 14661, 15364, 16067, 16769, 17472, 18176, 18879, 19582, 20285, 20988, 21690, 22394, 23096, 23799, 24502, 25205, 25908, 26612, 27315, 28017, 28721, 29423, 30126, 30829, 31532, 32234, 32939, 33642, 34344, 35048, 35750, 36453, 37155, 37859, 38561, 39264, 39968, 40670, 41373] + hit1 = 8 + data2 = [0, 7025, 7737, 8451, 9162, 9876, 10589, 11301, 12014, 12727, 13439, 14152, 14864, 15577, 16290, 17002, 17715, 18428, 19140, 19853, 20565, 21278, 21991, 22703, 23416, 24129, 24842, 25554, 26266, 26980, 27692, 28405, 29118, 29829, 30543, 31256, 31967, 32681, 33394, 34106, 34819, 35533, 36244, 36957, 37670, 38383, 39095, 39808, 40521, 41234, 41946] + hit2 = 0 + + CD = 45.0 + 是否有护石 = 1 + + MP = [800, 6000] + 无色消耗 = 5 + + 形态 = ["满", "柔化"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "柔化" and '极·驭剑术(破剑阵)' not in char.护石栏: + 形态 = "满" + if 形态 == "柔化": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 8 + if 形态 == "满": + self.hit0 = 2 + self.hit1 = 8 + self.hit2 = 0 + if '极·驭剑术(破剑阵)' in char.护石栏: + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.power2 = 3.35 + self.hit3 = 0 + + def 装备护石(self, char): + self.power3 = 1.34 + + +class 技能24(主动技能): + 名称 = '誓约之剑:雷沃汀' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 142262, 175249, 208236, 241224, 274213, 307201, 340189, 373179, 406166, 439155, 472143, 505132, 538119, 571107, 604096, 637083, 670074, 703061, 736049, 769037, 802026, 835014, 868000, 900989, 933977, 966965, 999955, 1032943, 1065931, 1098920, 1131907, 1164895, 1197883, 1230872, 1263860, 1296848, 1329838, 1362825, 1395814, 1428802, 1461791, 1494778, 1527766, 1560754, 1593742, 1626730, 1659719, 1692707, 1725695, 1758684] + hit0 = 1 + CD = 180.0 + + MP = [2500, 5000] + 无色消耗 = 10 + + +class 技能25(主动技能): + 名称 = '极诣·驭剑术:聚魔剑' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + + data0 = [0, 31032, 34180, 37328, 40478, 43626, 46774, 49921, 53069, 56219, 59369, 62515, 65663, 68812, 71961, 75109, 78257, 81405, 84554, 87703, 90851, 93998, 97146, 100295, 103444, 106592, 109740, 112889, 116037, 119185, 122334, 125482, 128630, 131778, 134925, 138075, 141222, 144371, 147519, 150667, 153816, 156964, 160112, 163261, 166409, 169557, 172706, 175854, 179003, 182151, 185299] + hit0 = 1 + data1 = [0, 9095, 10018, 10940, 11863, 12785, 13708, 14630, 15553, 16475, 17399, 18322, 19245, 20169, 21091, 22014, 22936, 23859, 24783, 25704, 26628, 27549, 28472, 29395, 30317, 31240, 32162, 33086, 34007, 34931, 35853, 36776, 37698, 38624, 39546, 40469, 41391, 42314, 43237, 44159, 45082, 46003, 46927, 47850, 48772, 49695, 50619, 51541, 52464, 53386, 54309] + hit1 = 4 + data2 = [0, 54574, 60109, 65645, 71180, 76718, 82254, 87791, 93328, 98863, 104399, 109937, 115473, 121009, 126547, 132081, 137618, 143154, 148691, 154228, 159763, 165299, 170837, 176373, 181910, 187446, 192981, 198519, 204055, 209591, 215128, 220664, 226199, 231737, 237274, 242809, 248346, 253883, 259418, 264955, 270490, 276028, 281565, 287100, 292637, 298174, 303709, 309247, 314781, 320318, 325856] + hit2 = 1 + CD = 60 + + MP = [773, 6000] + 无色消耗 = 7 + + +class 技能26(被动技能): + 名称 = '剑心:魔剑觉醒' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能27(主动技能): + 名称 = '誓约之引:万剑之巅' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + + data0 = [0, 23156, 28526, 33897, 39265, 44635, 50005, 55375, 60745, 66114, 71483, 76854, 82224, 87593, 92963, 98334, 103701, 109072, 114443, 119811, 125183, 130551, 135920, 141291, 146661, 152032, 157399, 162769, 168141, 173509, 178878, 184249, 189618, 194988, 200359, 205727, 211097, 216467, 221837, 227207, 232575, 237946, 243316, 248685, 254055, 259424, 264794, 270165, 275535, 280905, 286273] + hit0 = 4 + data1 = [0, 162099, 199688, 237274, 274863, 312452, 350039, 387628, 425216, 462805, 500393, 537980, 575569, 613156, 650745, 688334, 725920, 763510, 801098, 838687, 876274, 913862, 951452, 989038, 1026628, 1064216, 1101803, 1139393, 1176982, 1214568, 1252157, 1289745, 1327334, 1364920, 1402509, 1440098, 1477686, 1515275, 1552862, 1590450, 1628039, 1665626, 1703215, 1740802, 1778392, 1815980, 1853569, 1891157, 1928745, 1966333, 2003922] + hit1 = 1 + data2 = [0, 13894, 17116, 20336, 23558, 26781, 30003, 33225, 36446, 39669, 42890, 46112, 49333, 52555, 55778, 58999, 62222, 65442, 68666, 71887, 75108, 78331, 81551, 84775, 87997, 91218, 94440, 97661, 100883, 104106, 107327, 110548, 113772, 116993, 120213, 123436, 126658, 129880, 133102, 136324, 139544, 142768, 145990, 149213, 152433, 155655, 158878, 162099, 165320, 168543, 171764] + hit2 = 15 + CD = 290.0 + + MP = [4028, 8056] + 无色消耗 = 15 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'sword_master' + self.名称 = '极诣·驭剑士' + self.角色 = '鬼剑士(女)' + self.角色类型 = '输出' + self.职业 = '驭剑士' + self.武器选项 = ['巨剑', '短剑', '太刀', '钝器'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '巨剑' + self.防具类型 = '轻甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.71 + + super().__init__(equVersion) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, rune_except=[ + '魔剑奥义']) + + def CD倍率计算(self): + super().CD倍率计算() + # 魔剑奥义的CD实际为触发间隔,只享受TP缩减及短剑精通缩减 + self.get_skill_by_name('魔剑奥义').短精CDR = self.get_skill_by_name('魔性之短剑精通').CD缩减倍率(self.武器类型) \ No newline at end of file diff --git a/api/core/characters/traveler.py b/api/core/characters/traveler.py new file mode 100644 index 00000000..f87764e7 --- /dev/null +++ b/api/core/characters/traveler.py @@ -0,0 +1,569 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 猛系技能(主动技能): + 闪CDR = 1.0 + 猛倍率 = 1.0 + 形态 = ["猛击", "普通"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "普通": + self.猛倍率 = 1.0 + self.闪CDR = 1.0 + if 形态 == "猛击": + self.猛倍率 = char.get_skill_by_name("装载:猛击").猛加成倍率() + self.闪CDR = char.get_skill_by_name("装载:闪攻").闪加成CDR() + + def 等效CD(self, **argv): + # 武器类型 输出类型 额外CDR 手搓收益 恢复 + 武器类型 = argv.get('武器类型', '') + 输出类型 = argv.get('输出类型', '') + 额外CDR = argv.get('额外CDR', 1.0) + # 手搓收益 = argv.get('手搓收益', 1.0) + 面板显示 = argv.get('面板显示', False) + 额外恢复 = argv.get('额外恢复', 0) + + cdr = self.手搓CD() + 形态 = argv.get('形态', '') + char = argv.get('char', {}) + self.形态变更(形态, char) + + return round(max(self.CD * self.CDR * self.闪CDR * 额外CDR / ((self.恢复 + 额外恢复) if not 面板显示 else 1) * (self.武器CD系数(武器类型, 输出类型) - (cdr if not 面板显示 else 0)), self.CD * 0.3)*self.CDR_O, 1) + + def 等效百分比(self, **argv): + return super().等效百分比(**argv)*self.猛倍率 + + +class 技能0(主动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 是否主动 = 0 + + 关联技能 = ['迷雾箭雨'] + + TP成长 = 0.10 + TP上限 = 5 # 基础精通 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级) * self.TP加成(), 5) + + +class 技能1(主动技能): + 名称 = "迷雾箭雨" + 所在等级 = 15 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + CD = 4 + MP = [29, 29] + 无色消耗 = 0 + data0 = [0, 446] + hit0 = 3 + TP成长 = 0 + TP上限 = 1 + + def TP加成(self): + if self.TP等级 > 0: + return 3 * 0.4 + else: + return 1 + + +class 技能2(主动技能): + 名称 = "驱虫烈火" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [68, 401] + 无色消耗 = 0 + data0 = [0, 3127, 3445, 3762, 4079, 4397, 4714, 5031, 5349, 5666, 5983, 6301, 6618, 6935, 7253, 7570, 7887, 8205, 8522, 8839, 9157, 9474, 9792, 10108, 10426, 10744, 11060, 11378, 11696, 12012, 12330, 12648, 12964, 13282, 13600, 13916, 14234, 14552, 14868, 15186, 15504, 15820, 16138, 16455, 16772, 17090, 17407, 17724, 18042, 18359, 18677, 18994, 19311, 19629, 19946, 20263, 20581, 20898, 21215, 21533, 21850, 22167, 22485, 22801, 23119, 23437, 23753, 24071, 24389, 24705, 25023] + hit0 = 1 + data1 = [0, 782, 861, 940, 1020, 1099, 1178, 1257, 1336, 1416, 1495, 1575, 1654, 1734, 1813, 1892, 1972, 2051, 2130, 2209, 2288, 2368, 2447, 2527, 2606, 2686, 2765, 2844, 2924, 3002, 3082, 3161, 3241, 3320, 3399, 3479, 3558, 3638, 3717, 3797, 3876, 3954, 4034, 4113, 4193, 4272, 4351, 4431, 4510, 4590, 4669, 4749, 4827, 4906, 4986, 5065, 5145, 5224, 5303, 5383, 5462, 5542, 5621, 5700, 5779, 5858, 5938, 6017, 6097, 6176, 6256] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能3(被动技能): + 名称 = '玄机弓精通' + 所在等级 = 20 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + + # 物理攻击力加成 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能4(主动技能): + 名称 = "三重加速" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [55, 325] + 无色消耗 = 0 + data0 = [0, 472, 520, 568, 617, 664, 713, 760, 808, 856, 904, 951, 1000, 1048, 1096, 1145, 1192, 1240, 1288, 1336, 1383, 1431, 1479, 1528, 1576, 1624, 1672, 1719, 1768, 1815, 1863, 1911, 1959, 2007, 2056, 2104, 2151, 2200, 2247, 2295, 2343, 2391, 2438, 2488, 2535, 2583, 2632, 2679, 2727, 2775, 2823, 2870, 2920, 2967, 3015, 3062, 3111, 3158, 3206, 3255, 3302, 3350, 3399, 3447, 3494, 3543, 3590, 3638, 3686, 3734, 3782] + hit0 = 3 + data1 = [0, 710, 781, 853, 925, 996, 1068, 1140, 1212, 1284, 1356, 1428, 1500, 1571, 1644, 1716, 1788, 1860, 1931, 2003, 2076, 2148, 2220, 2292, 2363, 2435, 2507, 2580, 2652, 2723, 2795, 2867, 2939, 3012, 3084, 3155, 3227, 3299, 3371, 3444, 3515, 3587, 3659, 3731, 3803, 3874, 3947, 4019, 4091, 4163, 4235, 4306, 4379, 4451, 4523, 4595, 4666, 4738, 4810, 4883, 4955, 5027, 5098, 5170, 5242, 5315, 5387, 5458, 5530, 5601, 5673] + hit1 = 3 + data2 = [0, 237, 260, 284, 307, 332, 356, 379, 403, 428, 451, 475, 499, 523, 548, 572, 596, 620, 644, 667, 692, 716, 739, 763, 788, 811, 835, 860, 883, 907, 931, 955, 979, 1004, 1027, 1052, 1076, 1099, 1124, 1148, 1171, 1195, 1220, 1243, 1267, 1291, 1315, 1339, 1363, 1387, 1411, 1435, 1459, 1484, 1508, 1531, 1555, 1580, 1603, 1627, 1652, 1675, 1699, 1723, 1747, 1771, 1795, 1818, 1843, 1866, 1890] + hit2 = 3 + data3 = [0, 472, 520, 568, 617, 664, 713, 760, 808, 856, 904, 951, 1000, 1048, 1096, 1145, 1192, 1240, 1288, 1336, 1383, 1431, 1479, 1528, 1576, 1624, 1672, 1719, 1768, 1815, 1863, 1911, 1959, 2007, 2056, 2104, 2151, 2200, 2247, 2295, 2343, 2391, 2438, 2488, 2535, 2583, 2632, 2679, 2727, 2775, 2823, 2870, 2920, 2967, 3015, 3062, 3111, 3158, 3206, 3255, 3302, 3350, 3399, 3447, 3494, 3543, 3590, 3638, 3686, 3734, 3782] + hit3 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "急流" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [82, 486] + 无色消耗 = 0 + data0 = [0, 466, 514, 560, 608, 656, 702, 750, 797, 844, 892, 939, 986, 1034, 1081, 1128, 1175, 1223, 1270, 1317, 1365, 1412, 1459, 1507, 1554, 1601, 1649, 1695, 1743, 1791, 1838, 1885, 1933, 1980, 2027, 2075, 2122, 2169, 2216, 2264, 2311, 2358, 2406, 2453, 2500, 2548, 2595, 2642, 2690, 2736, 2784, 2832, 2878, 2926, 2974, 3020, 3068, 3116, 3162, 3210, 3257, 3304, 3352, 3399, 3447, 3494, 3541, 3589, 3636, 3683, 3731] + hit0 = 4 + data1 = [0, 3949, 4350, 4751, 5152, 5552, 5953, 6354, 6754, 7156, 7556, 7956, 8358, 8758, 9159, 9560, 9960, 10361, 10762, 11163, 11563, 11965, 12365, 12765, 13167, 13567, 13968, 14369, 14769, 15170, 15570, 15972, 16372, 16772, 17174, 17574, 17975, 18376, 18776, 19177, 19578, 19979, 20379, 20780, 21181, 21581, 21983, 22383, 22783, 23185, 23585, 23986, 24387, 24787, 25188, 25589, 25990, 26390, 26791, 27192, 27592, 27994, 28394, 28794, 29196, 29596, 29997, 30398, 30798, 31199, 31600] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "细雨" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [72, 426] + 无色消耗 = 0 + data0 = [0, 5614, 6182, 6752, 7322, 7891, 8460, 9030, 9600, 10169, 10739, 11309, 11878, 12447, 13017, 13586, 14155, 14725, 15295, 15865, 16434, 17004, 17573, 18142, 18712, 19281, 19850, 20420, 20990, 21560, 22129, 22698, 23268, 23837, 24407, 24976, 25546, 26115, 26685, 27255, 27824, 28393, 28963, 29533, 30101, 30671, 31241, 31810, 32380, 32950, 33520, 34088, 34658, 35228, 35796, 36366, 36936, 37504, 38075, 38645, 39215, 39783, 40353, 40923, 41491, 42061, 42631, 43200, 43770, 44340, 44910] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "高原雾花" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [146, 865] + 无色消耗 = 0 + data0 = [0, 1130, 1245, 1359, 1475, 1589, 1704, 1818, 1933, 2047, 2163, 2277, 2392, 2506, 2621, 2736, 2851, 2965, 3080, 3194, 3309, 3424, 3539, 3653, 3768, 3882, 3998, 4112, 4227, 4341, 4456, 4570, 4686, 4800, 4915, 5029, 5144, 5259, 5374, 5488, 5603, 5717, 5833, 5947, 6062, 6176, 6291, 6405, 6521, 6635, 6750, 6864, 6979, 7094, 7209, 7323, 7438, 7552, 7667, 7782, 7897, 8011, 8126, 8240, 8356, 8470, 8585, 8699, 8814, 8928, 9044] + hit0 = 8 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能8(猛系技能): + 名称 = "装置驱动" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [183, 1081] + 无色消耗 = 1 + data0 = [0, 11191, 12327, 13462, 14597, 15732, 16867, 18004, 19139, 20274, 21409, 22544, 23681, 24816, 25951, 27086, 28221, 29357, 30493, 31628, 32763, 33898, 35033, 36170, 37305, 38440, 39575, 40710, 41847, 42982, 44117, 45252, 46387, 47522, 48659, 49794, 50929, 52064, 53199, 54336, 55471, 56606, 57741, 58876, 60012, 61148, 62283, 63418, 64553, 65689, 66825, 67960, 69095, 70230, 71365, 72501, 73637, 74772, 75907, 77042, 78178, 79314, 80449, 81584, 82719, 83855, 84990, 86126, 87261, 88396, 89532] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.37 + + +class 技能9(主动技能): + 名称 = '旅行者的直觉' + 所在等级 = 35 + 等级上限 = 20 + 学习间隔 = 2 + 等级精通 = 10 + 是否有伤害 = 0 + + # 物理攻击力加成 + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.0 + 0.02 * self.等级, 5) + + +class 技能10(猛系技能): + 名称 = "浓雾暴雨" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [254, 1502] + 无色消耗 = 1 + data0 = [0, 2214, 2439, 2663, 2888, 3113, 3338, 3562, 3787, 4011, 4237, 4462, 4686, 4911, 5135, 5361, 5586, 5811, 6035, 6260, 6484, 6710, 6934, 7159, 7383, 7608, 7832, 8058, 8282, 8507, 8731, 8956, 9182, 9406, 9631, 9855, 10080, 10304, 10530, 10754, 10979, 11203, 11428, 11652, 11878, 12102, 12327, 12551, 12776, 13001, 13226, 13450, 13675, 13899, 14124, 14349, 14574, 14798, 15023, 15247, 15473, 15698, 15922, 16147, 16371, 16596, 16821, 17046, 17270, 17495, 17720] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.34 + self.CDR *= 0.9 + + +class 技能11(主动技能): + 名称 = "装载:猛击" + 所在等级 = 40 + 等级上限 = 1 + 学习间隔 = 3 + 等级精通 = 1 + CD = 15 + MP = [68, 68] + 无色消耗 = 0 + 猛倍率 = 1.1 + + def 猛加成倍率(self): + if self.等级 > 0: + return self.猛倍率 + else: + return 1 + + +class 技能12(被动技能): + 名称 = "装载:闪攻" + 所在等级 = 40 + 等级上限 = 1 + 学习间隔 = 3 + 等级精通 = 1 + 闪CDR = 0.9 + + def 闪加成CDR(self): + if self.等级 > 0: + return self.闪CDR + else: + return 1 + + +class 技能13(主动技能): + 名称 = "神雾兵仗·流星" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [109, 643] + 无色消耗 = 1 + data0 = [0, 7832, 8626, 9421, 10216, 11011, 11805, 12599, 13394, 14189, 14983, 15778, 16573, 17368, 18161, 18956, 19751, 20546, 21340, 22135, 22930, 23724, 24518, 25313, 26108, 26903, 27697, 28491, 29286, 30081, 30875, 31670, 32465, 33260, 34053, 34848, 35643, 36438, 37232, 38027, 38821, 39616, 40410, 41205, 42000, 42795, 43589, 44383, 45178, 45973, 46767, 47562, 48357, 49152, 49945, 50740, 51535, 52330, 53124, 53919, 54713, 55508, 56302, 57097, 57892, 58687, 59481, 60275, 61070, 61865, 62659] + hit0 = 1 + data1 = [0, 1118, 1231, 1346, 1459, 1573, 1686, 1799, 1913, 2026, 2140, 2254, 2367, 2481, 2594, 2708, 2821, 2934, 3048, 3161, 3276, 3389, 3502, 3616, 3729, 3843, 3956, 4069, 4184, 4297, 4410, 4524, 4637, 4751, 4864, 4977, 5092, 5205, 5319, 5432, 5545, 5659, 5772, 5886, 6000, 6113, 6227, 6340, 6454, 6567, 6680, 6794, 6907, 7022, 7135, 7248, 7362, 7475, 7588, 7702, 7815, 7930, 8043, 8156, 8270, 8383, 8497, 8610, 8723, 8838, 8951] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ['爆炸', '散射'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "爆炸": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "散射": + self.hit0 = 0 + self.hit1 = 7 + + def 装备护石(self, char): + self.倍率 *= 1.08 + if char.get_skill_by_name("手动式离合器").等级 > 0: + self.CDR *= 0.72 + else: + self.CDR *= 0.8 + pass + + +class 技能14(被动技能): + 名称 = '野外生存' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能15(主动技能): + 名称 = "旷野火炎" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1420, 6378] + 无色消耗 = 5 + data0 = [0, 5239, 6454, 7668, 8883, 10099, 11313, 12528, 13743, 14957, 16172, 17388, 18602, 19817, 21032, 22246, 23462, 24677, 25891, 27106, 28321, 29537, 30751, 31966, 33181, 34395, 35611, 36826, 38040, 39255, 40470, 41684, 42900, 44115, 45329, 46544, 47759, 48975, 50189, 51404, 52619, 53833, 55049, 56264, 57478, 58693, 59908, 61123, 62338, 63553, 64767] + hit0 = 10 + 灼伤data0 = [0, 3229, 3978, 4727, 5476, 6225, 6974, 7722, 8471, 9221, 9969, 10718, 11467, 12216, 12964, 13714, 14463, 15211, 15960, 16709, 17458, 18207, 18956, 19705, 20454, 21202, 21951, 22701, 23449, 24198, 24947, 25696, 26445, 27194, 27943, 28691, 29440, 30189, 30939, 31687, 32436, 33185, 33934, 34682, 35432, 36181, 36929, 37678, 38427, 39176, 39925] + 灼伤hit0 = 8 + 灼伤power0 = 0.5 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >=6 else 1.0) + + +class 技能16(猛系技能): + 名称 = "登跃飞锚" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [292, 1313] + 无色消耗 = 1 + data0 = [0, 2083, 2294, 2506, 2717, 2929, 3140, 3351, 3562, 3774, 3986, 4196, 4408, 4619, 4831, 5043, 5253, 5464, 5676, 5888, 6099, 6311, 6521, 6733, 6945, 7156, 7367, 7578, 7790, 8001, 8213, 8424, 8636, 8847, 9058, 9269, 9481, 9693, 9903, 10115, 10326, 10538, 10750, 10960, 11171, 11383, 11595, 11807, 12018, 12228, 12440] + hit0 = 1 + data1 = [0, 315, 346, 378, 410, 442, 473, 506, 538, 570, 603, 633, 665, 697, 730, 761, 793, 826, 858, 889, 920, 953, 985, 1017, 1048, 1081, 1113, 1144, 1177, 1208, 1240, 1272, 1305, 1336, 1368, 1399, 1432, 1464, 1495, 1528, 1560, 1592, 1623, 1656, 1687, 1719, 1752, 1783, 1815, 1847, 1880] + hit1 = 12 + data2 = [0, 14583, 16064, 17542, 19023, 20502, 21983, 23461, 24942, 26421, 27900, 29380, 30859, 32339, 33818, 35299, 36778, 38257, 39737, 41217, 42696, 44176, 45656, 47135, 48614, 50094, 51573, 53053, 54533, 56013, 57492, 58971, 60452, 61930, 63411, 64890, 66370, 67849, 69328, 70808, 72287, 73768, 75247, 76727, 78206, 79687, 81165, 82645, 84125, 85604, 87084] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CD = 12.5 + self.倍率 *= 0.58 + self.power1 = 1.26 + + +class 技能17(猛系技能): + 名称 = "神雾兵仗·妖旋风" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [480, 2153] + 无色消耗 = 2 + data0 = [0, 759, 836, 913, 990, 1066, 1144, 1221, 1298, 1376, 1452, 1529, 1605, 1683, 1760, 1837, 1915, 1992, 2068, 2146, 2222, 2299, 2376, 2453, 2531, 2608, 2685, 2762, 2838, 2915, 2993, 3069, 3147, 3225, 3301, 3378, 3454, 3532, 3609, 3685, 3764, 3841, 3917, 3995, 4071, 4148, 4225, 4302, 4379, 4457, 4534] + hit0 = 10 + data1 = [0, 3037, 3345, 3652, 3962, 4269, 4578, 4885, 5194, 5502, 5810, 6118, 6426, 6734, 7042, 7351, 7659, 7967, 8275, 8583, 8891, 9200, 9507, 9816, 10123, 10432, 10739, 11049, 11356, 11665, 11972, 12281, 12588, 12898, 13205, 13514, 13821, 14130, 14437, 14747, 15054, 15363, 15670, 15978, 16286, 16595, 16903, 17211, 17519, 17827, 18135] + hit1 = 10 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.灼伤data0 = [i*0.37 for i in self.data0] + self.灼伤hit0 = self.hit0 + self.灼伤data1 = [i*0.37 for i in self.data1] + self.灼伤hit1 = self.hit1 + + +class 技能18(猛系技能): + 名称 = "流雾疾风" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [987, 4433] + 无色消耗 = 3 + data0 = [0, 3377, 3719, 4063, 4404, 4747, 5090, 5433, 5776, 6117, 6460, 6803, 7146, 7489, 7831, 8174, 8516, 8859, 9201, 9544, 9887, 10230, 10572, 10914, 11257, 11600, 11943, 12285, 12628, 12970, 13314, 13656, 13998, 14341, 14683, 15027, 15369, 15712, 16054, 16396, 16740, 17081, 17425, 17767, 18111, 18453, 18794, 19138, 19480, 19824, 20165] + hit0 = 20 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 10 + self.data1 = self.data0 + self.hit1 = 1 + self.power1 = 13.6 + 4.2 + + +class 技能19(被动技能): + 名称 = '流浪之星的纹章' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能20(被动技能): + 名称 = '自动操作模式' + 所在等级 = 75 + 等级上限 = 1 + 学习间隔 = 3 + 等级精通 = 1 + + +class 技能21(猛系技能): + 名称 = "装载:烟花漫天" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [1100, 4938] + 无色消耗 = 5 + data0 = [0, 72835, 80224, 87613, 95002, 102392, 109780, 117170, 124559, 131947, 139337, 146725, 154115, 161504, 168893, 176282, 183672, 191060, 198450, 205839, 213228, 220617, 228005, 235395, 242784, 250173, 257562, 264952, 272340, 279730, 287118, 294508, 301897, 309286, 316675, 324065, 331453, 338842, 346232, 353620, 361010, 368398, 375788, 383177, 390566, 397955, 405345, 412733, 420123, 427512, 434901] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.data1 = self.data0 + self.hit1 = 4 + self.power1 = 0.08 + self.CDR *= 0.9 + + +class 技能22(主动技能): + 名称 = "神雾兵仗·北极星" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2396, 10757] + 无色消耗 = 10 + data0 = [0, 1809, 2228, 2649, 3068, 3487, 3907, 4326, 4746, 5166, 5585, 6005, 6425, 6844, 7264, 7683, 8102, 8523, 8942, 9362, 9781, 10200, 10621, 11040, 11459, 11879, 12299, 12719, 13138, 13557, 13977, 14397, 14816, 15236, 15655, 16075, 16495, 16914, 17334, 17753, 18174, 18593, 19012, 19432, 19851, 20271, 20691, 21110, 21529, 21949, 22369] + hit0 = 20 + data1 = [0, 180948, 222908, 264866, 306826, 348785, 390745, 432703, 474663, 516622, 558580, 600540, 642498, 684458, 726417, 768376, 810335, 852295, 894254, 936213, 978172, 1020132, 1062090, 1104050, 1146008, 1187968, 1229927, 1271886, 1313845, 1355805, 1397764, 1439722, 1481682, 1523640, 1565600, 1607559, 1649518, 1691477, 1733437, 1775396, 1817355, 1859314, 1901274, 1943232, 1985192, 2027150, 2069110, 2111069, 2153028, 2194987, 2236947] + hit1 = 1 + + 形态 = ['满', '秒C'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "满": + self.power0 = 1 + self.hit1 = 1 + if 形态 == "秒C": + self.power0 = 0 + self.hit1 = 1 + + +class 技能23(被动技能): + 名称 = '星辰装置' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能24(猛系技能): + 名称 = "装置驱动:星云" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1398, 6277] + 无色消耗 = 7 + data0 = [0, 28246, 31111, 33977, 36843, 39707, 42573, 45439, 48304, 51170, 54035, 56901, 59767, 62632, 65497, 68363, 71228, 74094, 76960, 79825, 82691, 85557, 88422, 91288, 94153, 97018, 99884, 102749, 105615, 108481, 111346, 114212, 117078, 119942, 122808, 125674, 128539, 131405, 134271, 137136, 140002, 142868, 145732, 148598, 151463, 154329, 157195, 160060, 162926, 165792, 168657] + hit0 = 1 + data1 = [0, 112984, 124446, 135908, 147370, 158832, 170295, 181756, 193219, 204681, 216143, 227606, 239067, 250530, 261991, 273454, 284917, 296378, 307841, 319302, 330765, 342226, 353689, 365152, 376613, 388076, 399537, 411000, 422462, 433924, 445387, 456848, 468311, 479773, 491235, 502697, 514159, 525622, 537084, 548546, 560008, 571470, 582932, 594394, 605856, 617319, 628781, 640243, 651705, 663167, 674630] + hit1 = 1 + + +class 技能25(主动技能): + 名称 = "神雾星仗·人马座星云" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [3944, 17712] + 无色消耗 = 15 + data0 = [0, 141348, 174124, 206900, 239676, 272453, 305229, 338006, 370781, 403558, 436334, 469111, 501887, 534663, 567440, 600216, 632993, 665769, 698546, 731321, 764098, 796874, 829651, 862427, 895203, 927979, 960756, 993532, 1026309, 1059084, 1091861, 1124637, 1157414, 1190191, 1222966, 1255743, 1288519, 1321296, 1354072, 1386849, 1419624, 1452401, 1485177, 1517954, 1550730, 1583506, 1616282, 1649059, 1681835, 1714612, 1747388] + hit0 = 1 + data1 = [0, 329811, 406290, 482768, 559246, 635724, 712202, 788680, 865158, 941636, 1018114, 1094592, 1171070, 1247549, 1324027, 1400505, 1476983, 1553461, 1629940, 1706418, 1782895, 1859374, 1935851, 2012330, 2088808, 2165286, 2241764, 2318242, 2394720, 2471198, 2547676, 2624155, 2700633, 2777111, 2853589, 2930068, 3006545, 3083024, 3159501, 3235980, 3312458, 3388936, 3465414, 3541892, 3618370, 3694849, 3771326, 3847805, 3924283, 4000760, 4077239] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'traveler' + self.名称 = '聆风·旅人' + self.角色 = '弓箭手' + self.角色类型 = '输出' + self.职业 = '旅人' + # 用来筛CP武器的 + self.武器选项 = ['玄机弓'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '玄机弓' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/trouble_shooter.py b/api/core/characters/trouble_shooter.py new file mode 100644 index 00000000..44bc1b43 --- /dev/null +++ b/api/core/characters/trouble_shooter.py @@ -0,0 +1,432 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(主动技能): + 名称 = "双重散射" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [30, 300] + 无色消耗 = 0 + data0 = [0, 1567, 1727, 1887, 2042, 2202, 2363, 2522, 2681, 2837, 2998, 3158, 3318, 3476, 3634, 3793, 3953, 4113, 4271, 4431, 4590, 4747, 4906, 5065, 5226, 5384, 5544, 5701, 5862, 6020, 6181, 6338, 6498, 6656, 6817, 6974, 7133, 7291, 7452, 7611, 7770, 7928, 8087, 8247, 8406, 8565, 8725, 8883, 9042, 9201, 9362, 9520, 9681, 9836, 9995, 10154, 10315, 10474, 10632, 10791, 10951, 11109, 11269, 11426, 11587, 11746, 11906, 12063, 12224, 12382, 12540] + hit0 = 1 + data1 = [0, 2351, 2588, 2829, 3066, 3306, 3544, 3782, 4021, 4259, 4498, 4737, 4978, 5215, 5452, 5690, 5928, 6170, 6407, 6644, 6886, 7123, 7361, 7600, 7837, 8078, 8316, 8554, 8790, 9033, 9271, 9508, 9747, 9983, 10222, 10461, 10702, 10940, 11177, 11416, 11655, 11892, 12134, 12371, 12610, 12847, 13084, 13325, 13564, 13802, 14040, 14277, 14518, 14756, 14995, 15232, 15473, 15711, 15948, 16186, 16428, 16666, 16903, 17140, 17380, 17619, 17859, 18096, 18334, 18574, 18812] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + 名称 = "爆烈斩击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [40, 400] + 无色消耗 = 0 + data0 = [0, 1346, 1483, 1619, 1757, 1895, 2030, 2167, 2302, 2442, 2577, 2713, 2851, 2987, 3122, 3261, 3396, 3534, 3671, 3806, 3943, 4079, 4216, 4353, 4489, 4627, 4764, 4899, 5035, 5173, 5309, 5445, 5582, 5720, 5857, 5994, 6129, 6267, 6405, 6541, 6678, 6814, 6951, 7087, 7224, 7359, 7497, 7633, 7770, 7906, 8041, 8179, 8318, 8452, 8590, 8727, 8863, 9000, 9136, 9272, 9410, 9547, 9683, 9821, 9958, 10094, 10231, 10366, 10504, 10640, 10777] + hit0 = 1 + data1 = [0, 3143, 3461, 3781, 4100, 4418, 4738, 5056, 5374, 5694, 6011, 6333, 6651, 6969, 7288, 7606, 7927, 8247, 8565, 8885, 9202, 9520, 9839, 10157, 10479, 10797, 11114, 11433, 11751, 12072, 12392, 12710, 13030, 13348, 13665, 13985, 14304, 14623, 14942, 15260, 15577, 15900, 16217, 16537, 16856, 17174, 17494, 17812, 18129, 18449, 18768, 19087, 19406, 19726, 20045, 20363, 20684, 21002, 21320, 21639, 21957, 22275, 22595, 22915, 23232, 23553, 23871, 24190, 24508, 24829, 25148] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '重剑精通' + 所在等级 = 20 + 等级上限 = 30 + 基础等级 = 20 + + def 物理攻击力倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + if self.等级 <= 20: + return round(1.05 + 0.01 * self.等级, 5) + else: + return round(1.25 + 0.025 * (self.等级 - 20), 5) + + +class 技能3(主动技能): + 名称 = "剑刃爆弹" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [75, 398] + 无色消耗 = 0 + data0 = [0, 847, 933, 1019, 1105, 1190, 1277, 1363, 1450, 1536, 1620, 1707, 1793, 1879, 1964, 2052, 2139, 2222, 2308, 2394, 2480, 2566, 2654, 2739, 2825, 2911, 2996, 3082, 3168, 3254, 3341, 3428, 3514, 3597, 3683, 3770, 3856, 3942, 4029, 4116, 4200, 4287, 4371, 4457, 4544, 4631, 4717, 4803, 4888, 4974, 5059, 5145, 5232, 5320, 5405, 5491, 5575, 5662, 5747, 5834, 5921, 6006, 6093, 6178, 6264, 6349, 6436, 6523, 6608, 6695, 6780] + hit0 = 1 + data1 = [0, 2400, 2644, 2889, 3133, 3376, 3618, 3863, 4105, 4350, 4593, 4837, 5081, 5324, 5569, 5813, 6055, 6298, 6543, 6785, 7028, 7275, 7518, 7761, 8004, 8248, 8490, 8734, 8980, 9222, 9468, 9710, 9954, 10196, 10441, 10684, 10928, 11173, 11414, 11659, 11902, 12148, 12389, 12633, 12877, 13120, 13362, 13607, 13853, 14095, 14339, 14582, 14825, 15068, 15314, 15558, 15799, 16045, 16288, 16532, 16774, 17019, 17262, 17505, 17750, 17992, 18238, 18482, 18725, 18967, 19211] + hit1 = 3 + data2 = [0, 61, 66, 70, 79, 84, 90, 97, 102, 110, 116, 120, 128, 132, 139, 146, 152, 157, 165, 171, 177, 183, 187, 196, 201, 208, 214, 219, 227, 232, 237, 244, 250, 258, 263, 269, 274, 281, 286, 294, 298, 306, 313, 318, 325, 330, 336, 341, 349, 353, 362, 367, 374, 380, 385, 391, 397, 403, 409, 416, 423, 428, 435, 440, 447, 451, 458, 466, 472, 479, 483] + hit2 = 7 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "广域散射" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [30, 300] + 无色消耗 = 0 + data0 = [0, 7038, 7750, 8465, 9176, 9894, 10605, 11322, 12034, 12748, 13461, 14175, 14890, 15603, 16317, 17030, 17746, 18459, 19174, 19887, 20602, 21315, 22029, 22742, 23457, 24172, 24887, 25599, 26311, 27026, 27738, 28454, 29167, 29882, 30594, 31310, 32023, 32738, 33451, 34166, 34879, 35592, 36306, 37020, 37736, 38450, 39163, 39876, 40590, 41303, 42018, 42732, 43446, 44160, 44873, 45587, 46301, 47015, 47729, 48443, 49157, 49870, 50584, 51300, 52014, 52727, 53441, 54153, 54868, 55580, 56296] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "G型火焰爆弹" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [60, 600] + 无色消耗 = 0 + data0 = [0, 7701, 8482, 9264, 10044, 10825, 11606, 12387, 13171, 13950, 14731, 15513, 16293, 17074, 17856, 18637, 19417, 20202, 20983, 21763, 22544, 23326, 24108, 24887, 25669, 26450, 27230, 28013, 28794, 29575, 30356, 31137, 31919, 32699, 33480, 34263, 35045, 35825, 36607, 37389, 38168, 38950, 39732, 40511, 41292, 42076, 42856, 43637, 44419, 45203, 45980, 46763, 47545, 48325, 49107, 49889, 50669, 51450, 52233, 53013, 53794, 54575, 55356, 56138, 56919, 57700, 58481, 59261, 60044, 60825, 61607] + hit0 = 1 + data1 = [0, 57, 64, 70, 73, 82, 88, 91, 99, 103, 112, 116, 122, 128, 132, 138, 147, 152, 157, 162, 170, 174, 181, 187, 194, 197, 203, 211, 215, 221, 228, 233, 239, 246, 251, 255, 263, 269, 275, 281, 286, 291, 297, 304, 311, 318, 321, 325, 334, 338, 345, 350, 357, 361, 369, 374, 382, 385, 391, 400, 404, 408, 415, 422, 426, 434, 440, 445, 449, 457, 463] + hit1 = 7 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(被动技能): + 名称 = '火药改良' + 所在等级 = 30 + 等级上限 = 20 + 基础等级 = 10 + + def 加成倍率(self, 武器类型): + return round(1 + 0.015 * self.等级, 5) + + +class 技能7(主动技能): + 名称 = "爆裂斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [70, 700] + 无色消耗 = 1 + data0 = [0, 3037, 3346, 3654, 3962, 4270, 4580, 4887, 5195, 5502, 5813, 6119, 6427, 6737, 7044, 7353, 7661, 7970, 8278, 8584, 8895, 9203, 9510, 9817, 10126, 10436, 10744, 11050, 11361, 11668, 11976, 12285, 12592, 12902, 13207, 13516, 13825, 14132, 14444, 14750, 15058, 15369, 15675, 15983, 16291, 16600, 16910, 17215, 17524, 17833, 18139, 18449, 18758, 19066, 19373, 19683, 19991, 20299, 20606, 20915, 21223, 21531, 21840, 22149, 22456, 22766, 23073, 23381, 23690, 23996, 24306] + hit0 = 1 + data1 = [0, 4559, 5020, 5482, 5944, 6406, 6868, 7331, 7793, 8253, 8719, 9180, 9642, 10106, 10567, 11031, 11492, 11955, 12415, 12879, 13342, 13803, 14267, 14728, 15189, 15652, 16113, 16580, 17041, 17503, 17966, 18428, 18890, 19352, 19813, 20275, 20740, 21202, 21664, 22126, 22588, 23050, 23513, 23976, 24437, 24902, 25363, 25826, 26288, 26749, 27211, 27673, 28137, 28598, 29061, 29524, 29986, 30450, 30911, 31372, 31836, 32297, 32762, 33223, 33685, 34148, 34610, 35071, 35532, 35996, 36461] + hit1 = 1 + data2 = [0, 7595, 8365, 9134, 9906, 10678, 11447, 12219, 12988, 13759, 14529, 15301, 16071, 16841, 17613, 18382, 19153, 19922, 20694, 21465, 22236, 23007, 23778, 24546, 25317, 26089, 26859, 27629, 28399, 29172, 29941, 30712, 31482, 32254, 33024, 33794, 34566, 35335, 36105, 36877, 37648, 38418, 39188, 39960, 40730, 41500, 42271, 43041, 43811, 44583, 45354, 46125, 46893, 47666, 48436, 49207, 49977, 50747, 51519, 52288, 53060, 53830, 54601, 55371, 56142, 56913, 57681, 58453, 59224, 59996, 60765] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能8(主动技能): + 名称 = "爆弹罗网" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [70, 700] + 无色消耗 = 1 + data0 = [0, 755, 830, 905, 982, 1059, 1134, 1211, 1288, 1365, 1440, 1515, 1594, 1669, 1747, 1824, 1900, 1975, 2051, 2129, 2204, 2281, 2360, 2435, 2510, 2587, 2664, 2742, 2816, 2893, 2970, 3045, 3123, 3200, 3275, 3352, 3429, 3505, 3580, 3656, 3734, 3810, 3886, 3965, 4040, 4116, 4192, 4269, 4346, 4421, 4497, 4575, 4650, 4728, 4805, 4880, 4957, 5033, 5111, 5187, 5261, 5339, 5416, 5493, 5570, 5644, 5722, 5797, 5874, 5951, 6027] + hit0 = 1 + data1 = [0, 2259, 2490, 2719, 2947, 3177, 3407, 3635, 3865, 4095, 4323, 4552, 4783, 5012, 5240, 5471, 5700, 5927, 6158, 6388, 6617, 6846, 7076, 7305, 7532, 7764, 7993, 8223, 8452, 8681, 8910, 9137, 9369, 9597, 9827, 10057, 10286, 10514, 10744, 10974, 11204, 11432, 11663, 11891, 12120, 12349, 12580, 12809, 13037, 13267, 13496, 13725, 13955, 14185, 14413, 14642, 14872, 15102, 15331, 15561, 15790, 16018, 16247, 16478, 16706, 16937, 17166, 17396, 17623, 17853, 18083] + hit1 = 6 + data2 = [0, 107, 117, 129, 140, 150, 162, 173, 184, 194, 205, 218, 226, 237, 249, 258, 271, 281, 292, 303, 315, 325, 336, 347, 360, 369, 380, 392, 401, 414, 423, 434, 445, 456, 467, 477, 489, 501, 511, 522, 534, 544, 555, 566, 577, 587, 598, 609, 619, 631, 642, 652, 664, 674, 686, 697, 708, 719, 730, 741, 750, 761, 773, 784, 794, 806, 816, 828, 839, 848, 861] + hit2 = 7 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit1 = 2 + self.power1 = 3.8 + + +class 技能9(主动技能): + 名称 = "裂地爆刃" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [80, 800] + 无色消耗 = 1 + data0 = [0, 22206, 24460, 26713, 28966, 31220, 33473, 35726, 37977, 40231, 42485, 44735, 46990, 49242, 51495, 53748, 56001, 58253, 60508, 62761, 65013, 67266, 69520, 71773, 74026, 76278, 78530, 80785, 83036, 85289, 87545, 89797, 92049, 94303, 96555, 98807, 101062, 103313, 105566, 107820, 110072, 112324, 114578, 116833, 119086, 121338, 123591, 125844, 128096, 130350, 132602, 134855, 137108, 139361, 141615, 143866, 146119, 148374, 150626, 152878, 155132, 157384, 159638, 161891, 164145, 166397, 168650, 170904, 173154, 175410, 177663] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.24*1.07 + self.CDR *= 0.92 + + +class 技能10(主动技能): + 名称 = "惊喜大礼" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [90, 900] + 无色消耗 = 2 + data0 = [0, 6562, 7228, 7893, 8562, 9225, 9893, 10557, 11224, 11890, 12555, 13219, 13888, 14551, 15220, 15883, 16550, 17214, 17880, 18547, 19213, 19879, 20543, 21210, 21876, 22542, 23207, 23873, 24540, 25206, 25870, 26537, 27202, 27867, 28535, 29199, 29867, 30531, 31198, 31863, 32529, 33194, 33862, 34526, 35194, 35858, 36525, 37191, 37855, 38521, 39186, 39854, 40522, 41184, 41850, 42516, 43181, 43847, 44514, 45181, 45844, 46512, 47177, 47844, 48508, 49173, 49841, 50508, 51172, 51838, 52503] + hit0 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.15 + self.CDR *= 0.89 + + +class 技能11(被动技能): + 名称 = '终极火力' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.035 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "G型烬灭榴弹" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [980, 8232] + 无色消耗 = 5 + data0 = [0, 9032, 11126, 13222, 15317, 17411, 19505, 21600, 23694, 25789, 27882, 29978, 32072, 34168, 36262, 38355, 40450, 42544, 44638, 46735, 48829, 50924, 53017, 55113, 57208, 59301, 61395, 63492, 65585, 67681, 69774, 71867, 73963, 76057, 78151, 80247, 82341, 84437, 86530, 88624, 90720, 92814, 94908, 97005, 99099, 101191, 103289, 105383, 107478, 109570, 111664] + hit0 = 1 + data1 = [0, 645, 794, 945, 1092, 1242, 1392, 1543, 1691, 1842, 1989, 2142, 2290, 2441, 2588, 2741, 2889, 3038, 3188, 3337, 3487, 3636, 3786, 3935, 4084, 4235, 4384, 4534, 4684, 4835, 4983, 5133, 5282, 5434, 5580, 5730, 5880, 6030, 6179, 6329, 6479, 6629, 6777, 6929, 7079, 7228, 7377, 7527, 7677, 7825, 7975] + hit1 = 7 + data2 = [0, 7903, 9734, 11569, 13401, 15235, 17067, 18898, 20732, 22564, 24399, 26230, 28063, 29896, 31728, 33562, 35394, 37227, 39060, 40892, 42726, 44559, 46390, 48224, 50057, 51889, 53722, 55554, 57388, 59219, 61055, 62886, 64718, 66552, 68384, 70218, 72049, 73883, 75715, 77546, 79380, 81212, 83045, 84877, 86710, 88542, 90376, 92209, 94040, 95874, 97707] + hit2 = 4 + data3 = [0, 45163, 55636, 66108, 76583, 87054, 97528, 107999, 118472, 128946, 139417, 149891, 160365, 170838, 181311, 191784, 202256, 212730, 223200, 233673, 244146, 254619, 265094, 275565, 286039, 296513, 306984, 317456, 327928, 338402, 348874, 359347, 369822, 380294, 390766, 401239, 411711, 422185, 432658, 443129, 453604, 464078, 474549, 485023, 495495, 505968, 516440, 526912, 537385, 547857, 558332] + hit3 = 1 + + def 等效百分比(self, **argv): + # Lv3:[G型烬灭榴弹]攻击力增加10% + return super().等效百分比(**argv) * (1.1 if self.等级 >= 3 else 1) + + +class 技能13(主动技能): + 名称 = "完美击球" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [400, 1620] + 无色消耗 = 1 + data0 = [0, 8392, 9246, 10098, 10949, 11800, 12651, 13503, 14354, 15204, 16057, 16909, 17762, 18613, 19464, 20316, 21166, 22017, 22869, 23719, 24574, 25425, 26276, 27127, 27979, 28832, 29681, 30532, 31384, 32238, 33090, 33939, 34791, 35644, 36496, 37346, 38196, 39048, 39902, 40753, 41604, 42457, 43308, 44159, 45010, 45861, 46715, 47565, 48416, 49268, 50121] + hit0 = 1 + data1 = [0, 19585, 21574, 23558, 25545, 27533, 29520, 31507, 33493, 35481, 37468, 39456, 41441, 43429, 45417, 47404, 49391, 51374, 53363, 55350, 57337, 59324, 61310, 63299, 65286, 67273, 69260, 71246, 73234, 75221, 77208, 79196, 81183, 83168, 85154, 87142, 89131, 91114, 93103, 95089, 97078, 99065, 101050, 103039, 105025, 107013, 109000, 110987, 112975, 114959, 116948] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.power0 = 1.34 + self.hit1 = 0 + self.CD = 8.3 + self.CDR = 0.88 + + +class 技能14(主动技能): + 名称 = "夺命焰火" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [384, 1564] + 无色消耗 = 2 + data0 = [0, 10963, 12075, 13186, 14299, 15410, 16522, 17636, 18746, 19859, 20970, 22083, 23196, 24307, 25419, 26531, 27644, 28757, 29868, 30980, 32093, 33204, 34318, 35430, 36541, 37654, 38764, 39878, 40989, 42101, 43213, 44326, 45439, 46550, 47662, 48774, 49887, 51000, 52111, 53224, 54335, 55448, 56561, 57672, 58784, 59896, 61009, 62121, 63232, 64343, 65456] + hit0 = 1 + data1 = [0, 16443, 18111, 19780, 21447, 23116, 24784, 26452, 28122, 29789, 31458, 33127, 34795, 36461, 38128, 39797, 41466, 43134, 44804, 46470, 48139, 49808, 51476, 53145, 54812, 56481, 58148, 59816, 61483, 63151, 64821, 66490, 68158, 69825, 71493, 73162, 74831, 76499, 78168, 79835, 81503, 83172, 84840, 86508, 88176, 89845, 91513, 93180, 94849, 96517, 98186] + hit1 = 1 + data2 = [0, 6851, 7547, 8241, 8937, 9630, 10327, 11023, 11717, 12412, 13104, 13801, 14496, 15191, 15886, 16583, 17276, 17972, 18665, 19362, 20057, 20752, 21447, 22143, 22837, 23533, 24226, 24924, 25618, 26313, 27008, 27704, 28398, 29093, 29789, 30485, 31180, 31875, 32568, 33265, 33961, 34655, 35350, 36044, 36739, 37434, 38128, 38826, 39519, 40215, 40909] + hit2 = 4 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.power0 = 1.1 + self.power1 = 1.1 + self.power2 = 1.39 + + +class 技能15(主动技能): + 名称 = "爆弹华尔兹" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 12006, 13224, 14440, 15658, 16878, 18093, 19313, 20529, 21748, 22967, 24184, 25401, 26621, 27838, 29054, 30275, 31493, 32708, 33927, 35146, 36362, 37580, 38800, 40016, 41234, 42452, 43670, 44890, 46106, 47324, 48542, 49761, 50976, 52196, 53414, 54630, 55849, 57068, 58284, 59502, 60722, 61938, 63157, 64375, 65592, 66810, 68029, 69245, 70464, 71683] + hit0 = 3 + data1 = [0, 10804, 11899, 12997, 14092, 15189, 16286, 17380, 18478, 19572, 20669, 21765, 22861, 23956, 25054, 26149, 27247, 28342, 29438, 30534, 31629, 32726, 33822, 34918, 36015, 37113, 38208, 39302, 40400, 41494, 42592, 43687, 44783, 45879, 46978, 48072, 49170, 50264, 51360, 52456, 53552, 54649, 55744, 56841, 57939, 59034, 60130, 61226, 62321, 63416, 64514] + hit1 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.hit1 = 8 + self.power1 = 1.38 + self.CDR *= 0.9 + + +class 技能16(被动技能): + 名称 = '无法者之歌' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "覆灭之枪" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [600, 5000] + 无色消耗 = 5 + data0 = [0, 113768, 125311, 136851, 148396, 159937, 171480, 183023, 194563, 206105, 217647, 229189, 240731, 252273, 263814, 275356, 286898, 298440, 309980, 321524, 333064, 344607, 356150, 367691, 379232, 390777, 402318, 413859, 425400, 436942, 448482, 460026, 471569, 483110, 494654, 506196, 517737, 529278, 540819, 552362, 563905, 575446, 586988, 598529, 610072, 621614, 633155, 644697, 656239, 667782, 679323] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.4 + + +class 技能18(主动技能): + 名称 = "终焉:硝烟狂欢" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 23146, 28511, 33877, 39244, 44612, 49979, 55344, 60713, 66079, 71447, 76813, 82180, 87546, 92916, 98279, 103648, 109015, 114382, 119749, 125115, 130481, 135850, 141216, 146585, 151950, 157317, 162683, 168053, 173418, 178786, 184151, 189520, 194885, 200253, 205619, 210987, 216354, 221721, 227086, 232455, 237820, 243190, 248555, 253922, 259288, 264658, 270022, 275389, 280755, 286123] + hit0 = 4 + data1 = [0, 10682, 13159, 15637, 18112, 20589, 23066, 25544, 28022, 30496, 32974, 35451, 37930, 40406, 42884, 45361, 47840, 50313, 52790, 55268, 57745, 60223, 62699, 65176, 67653, 70129, 72608, 75084, 77564, 80036, 82517, 84993, 87471, 89945, 92422, 94902, 97378, 99855, 102332, 104811, 107287, 109763, 112241, 114717, 117195, 119670, 122148, 124625, 127104, 129579, 132056] + hit1 = 13 + + +class 技能19(主动技能): + 名称 = "铁腕爆弹" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 47500, 52320, 57140, 61961, 66778, 71596, 76416, 81235, 86056, 90875, 95693, 100512, 105330, 110150, 114970, 119789, 124609, 129426, 134246, 139066, 143883, 148702, 153523, 158340, 163160, 167980, 172800, 177617, 182437, 187256, 192075, 196895, 201714, 206533, 211351, 216171, 220990, 225809, 230629, 235448, 240265, 245087, 249904, 254722, 259542, 264362, 269181, 274000, 278819, 283637] + hit0 = 4 + + +class 技能20(被动技能): + 名称 = '铁血豪情' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "烽火硝烟·终末之征" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4025, 8055] + 无色消耗 = 15 + data0 = [0, 24036, 29611, 35185, 40759, 46332, 51907, 57482, 63054, 68630, 74206, 79778, 85353, 90926, 96501, 102075, 107648, 113221, 118796, 124370, 129944, 135517, 141093, 146667, 152241, 157815, 163388, 168964, 174537, 180110, 185686, 191259, 196832, 202407, 207980, 213554, 219129, 224702, 230277, 235851, 241425, 246997, 252575, 258148, 263721, 269296, 274871, 280446, 286019, 291592, 297166] + hit0 = 5 + data1 = [0, 480761, 592243, 703724, 815203, 926685, 1038168, 1149647, 1261128, 1372609, 1484090, 1595572, 1707052, 1818534, 1930015, 2041494, 2152975, 2264456, 2375940, 2487421, 2598900, 2710382, 2821861, 2933344, 3044824, 3156305, 3267786, 3379267, 3490748, 3602231, 3713708, 3825191, 3936673, 4048154, 4159636, 4271116, 4382596, 4494079, 4605558, 4717040, 4828522, 4940002, 5051480, 5162962, 5274443, 5385926, 5497408, 5608889, 5720368, 5831848, 5943330] + hit1 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'trouble_shooter' + self.名称 = '苍暮·战线佣兵' + self.角色 = '枪剑士' + self.角色类型 = '输出' + self.职业 = '战线佣兵' + self.武器选项 = ['重剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '重剑' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/vanguard.py b/api/core/characters/vanguard.py new file mode 100644 index 00000000..e30396ed --- /dev/null +++ b/api/core/characters/vanguard.py @@ -0,0 +1,470 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +class 技能0(被动技能): # 基础精通 + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 关联技能 = ['霸王戟'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +# 霸王戟和战戟猛攻用的都是霸王戟的按键,接在平x后面就是霸王戟,接在技能后面就是战戟猛攻 +# 霸王戟TP是基础精通,和战戟猛攻TP不一样 +class 技能1(主动技能): + 名称 = '霸王戟' + 所在等级 = 15 + 等级上限 = 1 + 学习间隔 = 2 + 等级精通 = 1 + MP = [3, 35] + # 接平x第一下 + data0 = [(i*1.091) for i in [0, 289.33]] + hit0 = 1 + # 接平x第二下 + data1 = [(i*1.091) for i in [0, 399.60]] + hit1 = 0 + # 接平x第三下 + data2 = [(i*1.091) for i in [0, 429.59]] + hit2 = 0 + CD = 0.5 + TP成长 = 0.10 + TP上限 = 5 + + 形态 = ['下斩', '横斩', '强横'] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "下斩": + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + if 形态 == "横斩": + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 0 + if 形态 == "强横": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + + +class 技能2(被动技能): + 名称 = '战戟精通' + 所在等级 = 15 + 等级上限 = 20 + 基础等级 = 10 + + def 物理攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.1 + 0.02 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = "破军突击" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [12, 200] + 无色消耗 = 0 + data0 = [0, 254, 280, 310, 333, 359, 385, 413, 439, 462, 492, 516, 544, 566, 595, 621, 648, 672, 698, 726, 753, 779, 803, 829, 857, 884, 908, 934, 961, 987, 1012, 1038, 1067, 1091, 1116, 1142, 1169, 1195, 1220, 1249, 1274, 1301, 1324, 1351, 1377, 1403, 1430, 1455, 1483, 1508, 1536, 1561, 1585, 1612, 1637, 1665, 1690, 1717, 1744, 1768, 1795, 1820, 1849, 1872, 1899, 1925, 1952, 1977, 2002, 2029, 2057] + hit0 = 3 + data1 = [0, 4371, 4816, 5259, 5702, 6144, 6589, 7030, 7476, 7919, 8363, 8804, 9251, 9693, 10137, 10579, 11026, 11469, 11912, 12355, 12800, 13243, 13684, 14129, 14572, 15016, 15460, 15903, 16346, 16791, 17234, 17678, 18121, 18566, 19009, 19454, 19895, 20339, 20781, 21224, 21671, 22113, 22556, 22999, 23445, 23887, 24332, 24774, 25220, 25662, 26107, 26547, 26992, 27436, 27880, 28323, 28766, 29210, 29653, 30097, 30541, 30985, 31428, 31874, 32315, 32759, 33200, 33647, 34089, 34533, 34976] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + + def TP加成(self): + return 1 + (self.TP等级-1) * self.TP成长 + + def 等效百分比(self, **argv): + if self.TP等级 > 0: + self.hit0 = 5 # TP1时加段数 + else: + self.hit0 = 3 + return super().等效百分比(**argv) + + +class 技能4(主动技能): + 名称 = "追魂斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [15, 300] + 无色消耗 = 0 + data0 = [0, 3042, 3352, 3662, 3970, 4280, 4588, 4896, 5205, 5515, 5823, 6132, 6442, 6750, 7057, 7368, 7675, 7987, 8296, 8603, 8911, 9223, 9530, 9839, 10148, 10454, 10764, 11072, 11382, 11690, 11999, 12306, 12618, 12926, 13236, 13545, 13854, 14163, 14471, 14779, 15090, 15398, 15707, 16014, 16324, 16633, 16942, 17252, 17562, 17871, 18179, 18486, 18794, 19106, 19414, 19722, 20029, 20339, 20648, 20957, 21266, 21575, 21887, 22194, 22502, 22811, 23120, 23430, 23737, 24047, 24355] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "战戟猛攻" + 是否主动 = 0 + 所在等级 = 25 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + CD = 1 # 实际无冷却 + MP = [0, 0] + 无色消耗 = 0 + data0 = [0, 4455, 4993, 5532, 6072, 6609, 7149, 7687, 8227, 8764, 9305, 9842, 10381, 10920, 11458, 11998, 12536, 13075, 13613, 14152, 14690, 15229, 15769, 16307, 16846, 17384, 17923, 18462, 19000, 19539, 20078] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + def 物理攻击力倍率进图(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 20: + return round(1 + 0.005 * self.等级, 5) + else: + return round(1.1 + 0.02 * (self.等级 - 20), 5) + + +class 技能6(主动技能): + 名称 = "落月斩" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [30, 350] + 无色消耗 = 0 + data0 = [0, 8368, 9217, 10064, 10916, 11764, 12613, 13462, 14314, 15161, 16012, 16861, 17709, 18556, 19409, 20257, 21106, 21954, 22806, 23653, 24502, 25351, 26201, 27050, 27900, 28748, 29597, 30445, 31297, 32145, 32994, 33843, 34694, 35541, 36390, 37239, 38089, 38937, 39788, 40635, 41485, 42333, 43183, 44033, 44882, 45731, 46580, 47428, 48278, 49127, 49977, 50825, 51676, 52523, 53373, 54221, 55071, 55921, 56770, 57619, 58470, 59317, 60167, 61016, 61866, 62714, 63564, 64412, 65262, 66110, 66960] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "冷血突刺" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [100, 920] + 无色消耗 = 1 + data0 = [0, 9876, 10878, 11882, 12882, 13885, 14885, 15890, 16891, 17892, 18894, 19898, 20900, 21901, 22903, 23907, 24908, 25908, 26912, 27915, 28916, 29916, 30921, 31924, 32925, 33928, 34928, 35931, 36932, 37935, 38936, 39939, 40940, 41943, 42944, 43948, 44950, 45951, 46953, 47955, 48959, 49959, 50961, 51964, 52966, 53968, 54969, 55970, 56975, 57976, 58977, 59983, 60982, 61985, 62985, 63991, 64992, 65992, 66993, 67999, 69001, 70002, 71005, 72007, 73009, 74008, 75012, 76015, 77016, 78017, 79019] + hit0 = 1 + data1 = [0, 1094, 1208, 1318, 1429, 1541, 1652, 1763, 1875, 1985, 2097, 2209, 2319, 2432, 2542, 2654, 2767, 2876, 2987, 3103, 3211, 3322, 3436, 3545, 3660, 3768, 3878, 3992, 4101, 4213, 4325, 4435, 4547, 4659, 4769, 4884, 4993, 5103, 5215, 5325, 5438, 5549, 5661, 5770, 5882, 5994, 6105, 6218, 6328, 6441, 6550, 6660, 6776, 6884, 6995, 7110, 7220, 7332, 7444, 7554, 7667, 7777, 7886, 8000, 8111, 8221, 8334, 8445, 8557, 8669, 8778] + hit1 = 6 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.29 + + +class 技能8(主动技能): + 名称 = "破灭斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 14 + MP = [60, 850] + 无色消耗 = 1 + data0 = [0, 13743, 15139, 16532, 17929, 19324, 20718, 22112, 23507, 24900, 26295, 27691, 29085, 30481, 31873, 33268, 34661, 36057, 37450, 38846, 40243, 41634, 43030, 44424, 45818, 47212, 48607, 50001, 51396, 52792, 54184, 55581, 56974, 58369, 59764, 61159, 62553, 63948, 65343, 66734, 68131, 69525, 70920, 72314, 73710, 75101, 76497, 77892, 79286, 80682, 82077, 83471, 84864, 86259, 87653, 89048, 90444, 91840, 93234, 94627, 96021, 97415, 98811, 100205, 101600, 102997, 104388, 105785, 107177, 108572, 109965] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能9(主动技能): + 名称 = "夺命乱舞" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [150, 1260] + 无色消耗 = 1 + data0 = [0, 1148, 1265, 1383, 1499, 1615, 1730, 1848, 1965, 2082, 2198, 2314, 2431, 2548, 2664, 2782, 2897, 3015, 3132, 3249, 3364, 3479, 3597, 3712, 3830, 3948, 4064, 4181, 4298, 4413, 4532, 4646, 4762, 4881, 4996, 5114, 5230, 5347, 5463, 5581, 5696, 5812, 5931, 6047, 6164, 6280, 6395, 6512, 6629, 6745, 6864, 6980, 7095, 7213, 7329, 7446, 7562, 7680, 7798, 7913, 8030, 8146, 8263, 8379, 8496, 8612, 8731, 8846, 8964, 9080, 9197] + hit0 = 12 + data1 = [0, 5910, 6510, 7111, 7710, 8311, 8909, 9510, 10112, 10708, 11310, 11911, 12508, 13110, 13709, 14308, 14909, 15506, 16107, 16708, 17307, 17907, 18507, 19108, 19707, 20307, 20908, 21506, 22106, 22707, 23304, 23906, 24507, 25104, 25706, 26302, 26903, 27506, 28103, 28704, 29306, 29904, 30504, 31103, 31704, 32302, 32903, 33504, 34102, 34703, 35303, 35901, 36503, 37103, 37700, 38302, 38900, 39500, 40102, 40701, 41300, 41902, 42500, 43102, 43700, 44300, 44900, 45499, 46100, 46701, 47299] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 4 + self.power0 = 3 + self.power1 = 2.2 + + +class 技能10(主动技能): + 名称 = "横扫八荒" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [222, 2225] + 无色消耗 = 2 + data0 = [0, 2547, 2804, 3062, 3320, 3579, 3836, 4094, 4354, 4613, 4869, 5128, 5387, 5644, 5905, 6163, 6421, 6678, 6937, 7195, 7454, 7710, 7971, 8228, 8487, 8745, 9003, 9264, 9522, 9779, 10036, 10296, 10554, 10812, 11068, 11331, 11588, 11845, 12102, 12363, 12620, 12878, 13136, 13397, 13654, 13911, 14170, 14430, 14688, 14946, 15204, 15463, 15721, 15978, 16238, 16496, 16755, 17011, 17270, 17529, 17788, 18046, 18305, 18562, 18821, 19078, 19337, 19595, 19854, 20113, 20372] + hit0 = 9 + data1 = [0, 13459, 14823, 16190, 17555, 18920, 20287, 21654, 23019, 24383, 25750, 27115, 28480, 29844, 31210, 32576, 33942, 35306, 36674, 38038, 39403, 40769, 42136, 43502, 44866, 46232, 47598, 48962, 50330, 51697, 53060, 54424, 55790, 57154, 58521, 59889, 61253, 62619, 63984, 65350, 66714, 68081, 69447, 70812, 72177, 73544, 74911, 76274, 77641, 79007, 80369, 81736, 83102, 84467, 85832, 87198, 88561, 89929, 91296, 92659, 94027, 95392, 96758, 98122, 99489, 100855, 102219, 103586, 104952, 106314, 107681] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 18 + self.power0 = 0.5 + self.power1 = 1.44*1.33 + + +class 技能11(被动技能): + 名称 = '战戟之魂' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.025 + 0.02 * self.等级, 5) + + +class 技能12(主动技能): + 名称 = "千魂弑" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [980, 8232] + 无色消耗 = 5 + data0 = [0, 20077, 24732, 29388, 34044, 38700, 43357, 48013, 52669, 57320, 61977, 66634, 71289, 75946, 80602, 85257, 89913, 94569, 99225, 103882, 108538, 113194, 117850, 122502, 127159, 131815, 136471, 141127, 145783, 150438, 155095, 159751, 164407, 169064, 173719, 178375, 183028, 187685, 192340, 196996, 201652, 206309, 210963, 215620, 220276, 224932, 229589, 234245, 238902, 243557, 248213] + hit0 = 1 + data1 = [0, 80310, 98934, 117559, 136180, 154804, 173427, 192053, 210674, 229299, 247921, 266544, 285167, 303790, 322414, 341038, 359660, 378284, 396906, 415532, 434153, 452776, 471400, 490022, 508646, 527270, 545893, 564517, 583139, 601764, 620387, 639011, 657633, 676256, 694879, 713502, 732127, 750750, 769371, 787996, 806618, 825244, 843865, 862487, 881112, 899733, 918358, 936983, 955607, 974229, 992851] + hit1 = 1 + + +class 技能13(主动技能): + 名称 = "长虹贯日" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 25 + MP = [250, 1000] + 无色消耗 = 1 + data0 = [0, 10426, 11484, 12544, 13601, 14658, 15715, 16774, 17830, 18891, 19948, 21003, 22064, 23121, 24178, 25238, 26295, 27351, 28409, 29469, 30526, 31585, 32643, 33699, 34758, 35815, 36873, 37932, 38987, 40045, 41106, 42163, 43220, 44281, 45336, 46393, 47452, 48510, 49569, 50626, 51684, 52743, 53801, 54858, 55917, 56974, 58030, 59089, 60149, 61206, 62264] + hit0 = 1 + data1 = [0, 24331, 26796, 29266, 31737, 34204, 36670, 39138, 41609, 44077, 46547, 49014, 51482, 53952, 56419, 58886, 61355, 63825, 66293, 68762, 71230, 73698, 76166, 78637, 81105, 83572, 86038, 88510, 90977, 93448, 95913, 98381, 100852, 103320, 105787, 108254, 110725, 113194, 115660, 118130, 120597, 123067, 125536, 128003, 130474, 132941, 135409, 137876, 140347, 142816, 145281] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1.89 + self.CDR *= 0.9 + + +class 技能14(主动技能): + 名称 = "穿云裂地斩" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [600, 1480] + 无色消耗 = 2 + data0 = [0, 66913, 73703, 80489, 87279, 94067, 100856, 107644, 114433, 121222, 128012, 134799, 141587, 148376, 155162, 161953, 168740, 175531, 182316, 189106, 195896, 202683, 209474, 216259, 223050, 229839, 236626, 243415, 250204, 256992, 263781, 270568, 277357, 284146, 290933, 297723, 304509, 311300, 318089, 324877, 331665, 338454, 345243, 352032, 358819, 365609, 372399, 379184, 385973, 392762, 399551] + hit0 = 1 + data1 = [0, 59865, 65941, 72013, 78087, 84157, 90233, 96306, 102378, 108453, 114527, 120598, 126675, 132750, 138820, 144895, 150966, 157041, 163113, 169188, 175262, 181333, 187410, 193481, 199555, 205627, 211701, 217775, 223848, 229921, 235995, 242066, 248140, 254216, 260289, 266362, 272436, 278509, 284582, 290656, 296728, 302803, 308874, 314950, 321023, 327096, 333171, 339243, 345318, 351388, 357463] + hit1 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["直击", "冲击"] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "直击": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "冲击": + self.hit0 = 0 + self.hit1 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.30 + + +class 技能15(主动技能): + 名称 = "破灭轮回刺" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 8692, 9575, 10459, 11339, 12222, 13103, 13986, 14868, 15748, 16631, 17514, 18396, 19278, 20158, 21042, 21925, 22805, 23688, 24571, 25451, 26336, 27215, 28097, 28981, 29861, 30744, 31628, 32507, 33390, 34273, 35155, 36038, 36920, 37800, 38683, 39565, 40447, 41328, 42210, 43094, 43975, 44858, 45741, 46619, 47505, 48387, 49266, 50151, 51031, 51912] + hit0 = 2 + data1 = [0, 69556, 76612, 83669, 90727, 97782, 104838, 111896, 118951, 126006, 133062, 140119, 147176, 154231, 161290, 168346, 175402, 182459, 189515, 196571, 203628, 210683, 217740, 224798, 231854, 238911, 245968, 253022, 260079, 267135, 274191, 281248, 288304, 295361, 302419, 309474, 316531, 323588, 330644, 337700, 344760, 351815, 358871, 365928, 372984, 380040, 387096, 394152, 401209, 408265, 415323] + hit1 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能16(被动技能): + 名称 = '战神之力' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.23 + 0.02 * self.等级, 5) + + +class 技能17(主动技能): + 名称 = "断魂裂岩斩" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 74461, 82014, 89569, 97125, 104676, 112233, 119788, 127340, 134896, 142449, 150005, 157560, 165113, 172668, 180220, 187776, 195330, 202883, 210438, 217992, 225546, 233101, 240656, 248209, 255763, 263318, 270872, 278426, 285981, 293533, 301089, 308644, 316196, 323751, 331306, 338859, 346416, 353969, 361523, 369077, 376632, 384187, 391739, 399295, 406845, 414401, 421959, 429511, 437066, 444618] + hit0 = 1 + data1 = [0, 1860, 2049, 2239, 2426, 2615, 2805, 2993, 3182, 3372, 3559, 3748, 3935, 4128, 4314, 4504, 4693, 4882, 5069, 5259, 5448, 5637, 5827, 6014, 6204, 6392, 6581, 6771, 6961, 7149, 7338, 7524, 7715, 7902, 8091, 8282, 8469, 8659, 8847, 9035, 9225, 9415, 9603, 9792, 9981, 10171, 10359, 10546, 10737, 10925, 11115] + hit1 = 10 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.35 + + +class 技能18(主动技能): + 名称 = "血战天狱" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 31212, 38449, 45687, 52923, 60161, 67400, 74637, 81875, 89112, 96350, 103587, 110825, 118063, 125300, 132538, 139776, 147013, 154251, 161488, 168726, 175964, 183201, 190437, 197675, 204911, 212151, 219389, 226626, 233864, 241100, 248338, 255577, 262813, 270052, 277293, 284529, 291768, 299003, 306242, 313480, 320718, 327955, 335193, 342429, 349669, 356905, 364144, 371380, 378620, 385856] + hit0 = 4 + data1 = [0, 124848, 153798, 182750, 211700, 240650, 269599, 298550, 327501, 356451, 385403, 414353, 443307, 472255, 501205, 530157, 559107, 588057, 617008, 645958, 674909, 703859, 732809, 761762, 790711, 819662, 848613, 877563, 906514, 935462, 964415, 993365, 1022315, 1051267, 1080217, 1109170, 1138120, 1167071, 1196020, 1224970, 1253919, 1282872, 1311820, 1340771, 1369722, 1398671, 1427626, 1456575, 1485526, 1514476, 1543427] + hit1 = 1 + + +class 技能19(主动技能): + 名称 = "镇狱裂地枪" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 59330, 65351, 71370, 77389, 83411, 89429, 95449, 101468, 107488, 113507, 119525, 125546, 131564, 137583, 143603, 149622, 155642, 161662, 167682, 173700, 179719, 185740, 191758, 197778, 203795, 209815, 215835, 221855, 227876, 233894, 239913, 245932, 251952, 257972, 263992, 270010, 276028, 282048, 288069, 294087, 300107, 306125, 312146, 318166, 324184, 330204, 336222, 342241, 348264, 354281] + hit0 = 1 + data1 = [0, 138445, 152487, 166534, 180579, 194625, 208670, 222715, 236760, 250805, 264850, 278897, 292941, 306988, 321030, 335075, 349122, 363166, 377212, 391257, 405301, 419348, 433394, 447437, 461484, 475527, 489576, 503618, 517663, 531709, 545753, 559799, 573845, 587889, 601935, 615981, 630024, 644072, 658115, 672160, 686205, 700252, 714296, 728342, 742386, 756432, 770477, 784522, 798568, 812612, 826658] + hit1 = 1 + + +class 技能20(被动技能): + 名称 = '灭天之魂' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + 名称 = "天劫·斗灭乾坤" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4027, 8055] + 无色消耗 = 15 + data0 = [0, 683624, 842146, 1000666, 1159189, 1317709, 1476230, 1634755, 1793276, 1951797, 2110320, 2268840, 2427362, 2585884, 2744404, 2902926, 3061450, 3219972, 3378492, 3537014, 3695534, 3854058, 4012579, 4171100, 4329624, 4488145, 4646666, 4805186, 4963709, 5122232, 5280752, 5439274, 5597795, 5756318, 5914840, 6073361, 6231884, 6390404, 6548926, 6707448, 6865970, 7024493, 7183014, 7341534, 7500056, 7658578, 7817100, 7975620, 8134143, 8292664, 8451189] + hit0 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'vanguard' + self.名称 = '千魂·征战者' + self.角色 = '魔枪士' + self.角色类型 = '输出' + self.职业 = '征战者' + # 用来筛CP武器的 + self.武器选项 = ['战戟'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '战戟' + self.防具类型 = '重甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.80 + + super().__init__(equVersion) diff --git a/api/core/characters/vegabond.py b/api/core/characters/vegabond.py new file mode 100644 index 00000000..ca05406b --- /dev/null +++ b/api/core/characters/vegabond.py @@ -0,0 +1,474 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + 国服特色 = 1.061 + +class 技能0(被动技能): + 名称 = '光剑掌握' + 所在等级 = 15 + 等级上限 = 1 + 基础等级 = 1 + 关联技能 = ['无'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['花开寒影', '飞花逐月', '轻云出月风静夜'] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '光剑': + return 1.0 + else: + return 0.9 + + +class 技能1(主动技能): + 名称 = "四象引" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [20, 250] + 无色消耗 = 0 + data0 = [0, 5460, 6020, 6551, 7114, 7672, 8216, 8775, 9337, 9895, 10439, 10998, 11542, 12091, 12649, 13208, 13754, 14314, 14872, 15433, 15968, 16523, 17082, 17631, 18187, 18747, 19291, 19853, 20409, 20941, 21502, 22062, 22621, 23166, 23726, 24283, 24830, 25378, 25936, 26483, 27042, 27602, 28160, 28705, 29264, 29820, 30356, 30917, 31472, 32019, 32579, 33137, 33685, 34241, 34800, 35346, 35893, 36450, 37014, 37562, 38117, 38675, 39208, 39770, 40327, 40888, 41430, 41991, 42550, 43094, 43653] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '返本归元' + 所在等级 = 20 + 等级上限 = 11 + 基础等级 = 1 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.16 + 0.04 * self.等级, 5) + + +class 技能3(主动技能): + 名称 = "一花渡江" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [40, 300] + 无色消耗 = 0 + data0 = [0, 1666, 1833, 2002, 2170, 2342, 2510, 2678, 2847, 3016, 3185, 3353, 3524, 3692, 3861, 4028, 4199, 4367, 4536, 4704, 4874, 5043, 5212, 5380, 5549, 5717, 5888, 6058, 6225, 6394, 6563, 6732, 6900, 7070, 7238, 7408, 7575, 7746, 7914, 8083, 8251, 8420, 8590, 8759, 8929, 9096, 9265, 9433, 9604, 9772, 9941, 10109, 10278, 10447, 10616, 10786, 10954, 11123, 11291, 11462, 11630, 11798, 11966, 12136, 12303, 12474, 12643, 12812, 12981, 13148, 13319] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能4(主动技能): + 名称 = "樱落斩" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 653, 714, 783, 850, 925, 983, 1057, 1121, 1185, 1258, 1319, 1388, 1455, 1523, 1587, 1654, 1726, 1787, 1859, 1925, 1992, 2059, 2126, 2194, 2259, 2328, 2395, 2461, 2532, 2594, 2663, 2733, 2796, 2866, 2929, 3000, 3066, 3131, 3200, 3266, 3331, 3399, 3471, 3530, 3604, 3669, 3739, 3803, 3868, 3941, 4001, 4070, 4136, 4202, 4274, 4337, 4407, 4473, 4541, 4605, 4673, 4743, 4808, 4876, 4941, 5009, 5081, 5141, 5213, 5281] + hit0 = 1 + data1 = [0, 873, 959, 1044, 1133, 1226, 1314, 1400, 1495, 1583, 1672, 1757, 1854, 1941, 2028, 2119, 2209, 2297, 2382, 2475, 2566, 2660, 2745, 2833, 2923, 3011, 3100, 3190, 3280, 3372, 3457, 3553, 3639, 3728, 3816, 3908, 3998, 4083, 4175, 4264, 4356, 4444, 4536, 4621, 4710, 4797, 4888, 4978, 5069, 5157, 5249, 5339, 5424, 5515, 5603, 5696, 5782, 5872, 5961, 6053, 6143, 6233, 6323, 6408, 6500, 6586, 6678, 6772, 6855, 6947, 7036] + hit1 = 1 + data2 = [0, 248, 274, 299, 322, 353, 374, 404, 427, 451, 477, 502, 529, 555, 577, 606, 629, 657, 684, 709, 731, 760, 783, 813, 838, 858, 888, 911, 938, 962, 986, 1015, 1041, 1064, 1092, 1115, 1144, 1168, 1196, 1218, 1243, 1268, 1296, 1319, 1346, 1371, 1398, 1422, 1448, 1472, 1502, 1526, 1549, 1579, 1602, 1626, 1653, 1675, 1703, 1730, 1755, 1783, 1809, 1832, 1857, 1884, 1909, 1935, 1958, 1987, 2010] + hit2 = 8 + data3 = [0, 1733, 1910, 2087, 2266, 2452, 2620, 2805, 2984, 3165, 3343, 3516, 3697, 3876, 4052, 4238, 4415, 4596, 4770, 4951, 5125, 5309, 5486, 5663, 5850, 6017, 6202, 6382, 6559, 6740, 6913, 7096, 7272, 7450, 7636, 7814, 7992, 8169, 8346, 8525, 8706, 8883, 9059, 9245, 9415, 9600, 9777, 9958, 10142, 10313, 10497, 10670, 10852, 11034, 11210, 11391, 11564, 11744, 11922, 12102, 12283, 12457, 12642, 12811, 12997, 13178, 13352, 13537, 13707, 13892, 14070] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = "圆舞斩" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 11 + MP = [70, 400] + 无色消耗 = 0 + data0 = [0, 4153, 4575, 4997, 5419, 5835, 6257, 6680, 7101, 7525, 7945, 8369, 8790, 9205, 9629, 10050, 10472, 10894, 11317, 11740, 12160, 12578, 12997, 13419, 13843, 14262, 14686, 15106, 15528, 15948, 16370, 16793, 17210, 17633, 18059, 18477, 18898, 19318, 19743, 20162, 20585, 21008, 21430, 21849, 22265, 22689, 23110, 23533, 23957, 24377, 24799, 25213, 25636, 26057, 26480, 26902, 27323, 27747, 28171, 28589, 29005, 29431, 29850, 30270, 30695, 31117, 31539, 31958, 32379, 32802, 33222] + hit0 = 2 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能6(主动技能): + 名称 = "碎岩裂地掌" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [60, 390] + 无色消耗 = 0 + data0 = [0, 8879, 9775, 10676, 11577, 12477, 13379, 14280, 15181, 16083, 16981, 17883, 18781, 19685, 20582, 21486, 22381, 23288, 24182, 25092, 25989, 26889, 27790, 28690, 29591, 30487, 31391, 32286, 33190, 34088, 34994, 35892, 36796, 37692, 38594, 39492, 40397, 41294, 42197, 43093, 44001, 44899, 45800, 46700, 47602, 48502, 49401, 50301, 51198, 52101, 52999, 53908, 54802, 55703, 56607, 57505, 58407, 59307, 60206, 61108, 62005, 62912, 63809, 64713, 65608, 66511, 67410, 68314, 69210, 70115, 71012] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + 名称 = "游龙掌" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [100, 900] + 无色消耗 = 0 + data0 = [0, 1181, 1305, 1432, 1543, 1668, 1792, 1918, 2034, 2158, 2284, 2405, 2518, 2642, 2769, 2890, 3013, 3139, 3256, 3380, 3502, 3626, 3745, 3868, 3997, 4115, 4230, 4357, 4482, 4602, 4724, 4853, 4967, 5090, 5213, 5338, 5456, 5576, 5706, 5826, 5941, 6064, 6188, 6312, 6436, 6552, 6679, 6801, 6924, 7038, 7168, 7287, 7413, 7538, 7655, 7777, 7898, 8024, 8145, 8264, 8384, 8513, 8633, 8751, 8877, 8998, 9118, 9236, 9364, 9490, 9610] + hit0 = 10 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能8(主动技能): + 名称 = "乱花葬" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 25 + MP = [100, 1400] + 无色消耗 = 1 + data0 = [0, 460, 534, 607, 679, 754, 828, 899, 974, 1046, 1120, 1196, 1267, 1340, 1414, 1487, 1563, 1633, 1706, 1781, 1854, 1929, 2002, 2074, 2148, 2221, 2294, 2368, 2441, 2513, 2587, 2661, 2736, 2806, 2881, 2955, 3028, 3101, 3174, 3247, 3322, 3394, 3468, 3541, 3616, 3688, 3762, 3835, 3908, 3982, 4054, 4127, 4202, 4273, 4349, 4422, 4494, 4569, 4641, 4717, 4790, 4860, 4936, 5008, 5082, 5156, 5227, 5302, 5376, 5449, 5523] + hit0 = 6 + data1 = [0, 4582, 5313, 6043, 6773, 7505, 8235, 8965, 9698, 10426, 11158, 11888, 12619, 13349, 14078, 14810, 15542, 16271, 17002, 17732, 18462, 19192, 19924, 20654, 21382, 22116, 22846, 23576, 24307, 25038, 25768, 26497, 27228, 27959, 28691, 29420, 30152, 30882, 31611, 32343, 33072, 33804, 34534, 35263, 35996, 36727, 37457, 38187, 38917, 39649, 40378, 41108, 41840, 42572, 43300, 44033, 44762, 45491, 46223, 46952, 47685, 48412, 49144, 49877, 50604, 51337, 52066, 52796, 53526, 54257, 54988] + hit1 = 1 + data2 = [0, 741, 859, 977, 1094, 1212, 1332, 1450, 1567, 1685, 1805, 1922, 2041, 2158, 2277, 2396, 2512, 2631, 2749, 2869, 2985, 3103, 3221, 3339, 3458, 3575, 3695, 3814, 3930, 4049, 4165, 4284, 4402, 4522, 4640, 4758, 4876, 4992, 5111, 5229, 5349, 5467, 5585, 5703, 5818, 5938, 6056, 6175, 6293, 6413, 6530, 6648, 6764, 6882, 7002, 7120, 7239, 7356, 7476, 7592, 7709, 7828, 7947, 8066, 8183, 8302, 8420, 8538, 8657, 8773, 8892] + hit2 = 5 + data3 = [0, 7301, 8465, 9629, 10793, 11956, 13120, 14281, 15448, 16609, 17774, 18938, 20102, 21267, 22431, 23593, 24757, 25921, 27086, 28249, 29414, 30578, 31739, 32905, 34067, 35232, 36395, 37561, 38723, 39888, 41053, 42215, 43380, 44543, 45706, 46871, 48035, 49199, 50363, 51528, 52690, 53852, 55018, 56180, 57346, 58510, 59674, 60837, 62001, 63166, 64329, 65492, 66656, 67819, 68984, 70147, 71311, 72475, 73638, 74803, 75966, 77131, 78294, 79457, 80622, 81785, 82950, 84114, 85279, 86441, 87605] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 6+4 + self.hit1 = 1 + self.hit2 = 5+4 + self.hit3 = 1 + self.倍率 *= 1.07 + + +class 技能9(主动技能): + 名称 = "回天璇鸣剑" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [70, 860] + 无色消耗 = 1 + data0 = [0, 4576, 5016, 5520, 5989, 6429, 6866, 7371, 7809, 8277, 8751, 9224, 9659, 10097, 10604, 11073, 11511, 12017, 12454, 12894, 13394, 13834, 14306, 14742, 15248, 15681, 16155, 16626, 17097, 17536, 17975, 18476, 18915, 19385, 19893, 20330, 20765, 21205, 21711, 22181, 22617, 23121, 23558, 23998, 24469, 24942, 25412, 25849, 26353, 26792, 27264, 27736, 28202, 28641, 29145, 29584, 30023, 30525, 30996, 31437, 31941, 32380, 32817, 33322, 33759, 34228, 34736, 35174, 35608, 36115, 36552] + hit0 = 1 + data1 = [0, 13334, 14686, 16042, 17396, 18745, 20101, 21449, 22803, 24160, 25509, 26857, 28216, 29563, 30919, 32274, 33623, 34980, 36330, 37683, 39040, 40387, 41742, 43090, 44447, 45807, 47156, 48502, 49858, 51204, 52562, 53912, 55267, 56621, 57971, 59326, 60676, 62029, 63388, 64735, 66093, 67439, 68797, 70151, 71501, 72851, 74208, 75554, 76909, 78266, 79616, 80971, 82317, 83674, 85031, 86379, 87729, 89084, 90440, 91792, 93145, 94498, 95849, 97196, 98555, 99903, 101256, 102612, 103961, 105320, 106667] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + +class 技能10(主动技能): + 名称 = "湮烈掌" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 30 + MP = [350, 3000] + 无色消耗 = 1 + data0 = [0, 2280, 2511, 2743, 2974, 3205, 3440, 3671, 3902, 4132, 4363, 4594, 4827, 5058, 5291, 5521, 5753, 5985, 6216, 6447, 6678, 6910, 7140, 7372, 7604, 7834, 8065, 8298, 8528, 8761, 8994, 9226, 9456, 9687, 9917, 10151, 10381, 10613, 10844, 11076, 11307, 11539, 11771, 12000, 12232, 12463, 12693, 12926, 13159, 13390, 13620, 13851, 14083, 14315, 14546, 14778, 15008, 15240, 15471, 15706, 15935, 16167, 16398, 16630, 16860, 17092, 17325, 17555, 17785, 18018, 18250] + hit0 = 3 + data1 = [0, 15966, 17587, 19211, 20828, 22447, 24068, 25688, 27307, 28928, 30550, 32169, 33787, 35405, 37029, 38649, 40269, 41888, 43508, 45130, 46746, 48366, 49989, 51607, 53229, 54848, 56469, 58088, 59708, 61329, 62949, 64568, 66187, 67808, 69429, 71048, 72667, 74288, 75908, 77526, 79149, 80767, 82389, 84007, 85626, 87250, 88869, 90488, 92107, 93727, 95347, 96968, 98589, 100207, 101827, 103447, 105067, 106688, 108308, 109926, 111547, 113169, 114787, 116408, 118027, 119647, 121268, 122887, 124507, 126125, 127748] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1+3.11 + self.hit1 = 1+0.27 + + +class 技能11(主动技能): + 名称 = "花舞千魂杀" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 40 + MP = [130, 2100] + 无色消耗 = 2 + data0 = [0, 15760, 17409, 18966, 20618, 22300, 23892, 25568, 27152, 28791, 30430, 32030, 33696, 35301, 36966, 38617, 40189, 41848, 43442, 45078, 46742, 48346, 49988, 51632, 53249, 54880, 56531, 58157, 59805, 61374, 63016, 64662, 66251, 67920, 69517, 71168, 72805, 74421, 76092, 77704, 79326, 80974, 82563, 84198, 85834, 87453, 89094, 90748, 92335, 93987, 95609, 97358, 99006, 100648, 102295, 103909, 105527, 107199, 108829, 110431, 112080, 113715, 115340, 117003, 118631, 120250, 121885, 123551, 125192, 126804, 128472] + hit0 = 1 + data1 = [0, 2166, 2392, 2615, 2839, 3070, 3293, 3521, 3739, 3965, 4194, 4408, 4638, 4859, 5088, 5316, 5534, 5763, 5980, 6204, 6432, 6652, 6877, 7106, 7336, 7554, 7782, 8004, 8235, 8448, 8677, 8902, 9119, 9350, 9566, 9796, 10018, 10245, 10469, 10698, 10920, 11147, 11366, 11594, 11819, 12040, 12268, 12491, 12711, 12939, 13162, 13407, 13633, 13854, 14080, 14308, 14528, 14757, 14981, 15199, 15428, 15659, 15875, 16108, 16335, 16553, 16778, 17008, 17230, 17450, 17686] + hit1 = 2 + data2 = [0, 8667, 9578, 10446, 11358, 12268, 13162, 14068, 14953, 15860, 16756, 17642, 18553, 19444, 20352, 21263, 22134, 23045, 23923, 24819, 25728, 26612, 27506, 28419, 29326, 30203, 31116, 32012, 32924, 33787, 34704, 35608, 36479, 37389, 38270, 39179, 40073, 40984, 41895, 42778, 43670, 44580, 45461, 46358, 47269, 48155, 49057, 49967, 50840, 51748, 52644, 53603, 54513, 55407, 56311, 57221, 58106, 59014, 59924, 60796, 61701, 62612, 63508, 64418, 65320, 66208, 67118, 68025, 68922, 69805, 70736] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1+1.33 + self.hit1 = 0 + self.hit2 = 0 + + +class 技能12(被动技能): + 名称 = '三花聚顶' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.065 + 0.02 * self.等级, 5) + + +class 技能13(主动技能): + 名称 = "花开寒影" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1500, 12232] + 无色消耗 = 5 + data0 = [0, 9900, 12195, 14490, 16786, 19081, 21378, 23671, 25967, 28262, 30558, 32854, 35148, 37443, 39739, 42035, 44331, 46623, 48919, 51213, 53511, 55804, 58100, 60395, 62695, 64989, 67285, 69578, 71875, 74172, 76466, 78762, 81055, 83351, 85648, 87942, 90238, 92532, 94828, 97125, 99419, None, None, None, None, None, None, None, None, None, None] + hit0 = 1 + data1 = [0, 1522, 1876, 2228, 2583, 2936, 3288, 3639, 3996, 4346, 4701, 5052, 5406, 5761, 6112, 6467, 6819, 7172, 7527, 7879, 8232, 8585, 8940, 9291, 9646, 9999, 10350, 10705, 11056, 11410, 11762, 12118, 12468, 12823, 13177, 13529, 13881, 14237, 14588, 14939, 15297, None, None, None, None, None, None, None, None, None, None] + hit1 = 13 + data2 = [0, 62993, 77599, 92207, 106816, 121422, 136027, 150637, 165242, 197834, 213905, 229970, 246040, 262107, 278173, 294244, 310309, 326379, 342444, 358513, 374583, 390648, 406718, 422783, 438853, 454923, 470987, 487058, 503124, 519192, 535262, 551327, 567398, 583463, 599531, 615601, 631666, 647737, 663802, 679869, 695941, None, None, None, None, None, None, None, None, None, None] + hit2 = 1 + + +class 技能14(主动技能): + 名称 = "啸空十字斩" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [450, 1200] + 无色消耗 = 1 + data0 = [0, 7567, 8336, 9104, 9869, 10637, 11405, 12173, 12940, 13708, 14477, 15242, 16011, 16777, 17546, 18311, 19079, 19849, 20615, 21382, 22150, 22919, 23682, 24450, 25220, 25987, 26755, 27522, 28290, 29058, 29824, 30594, 31363, 32129, 32897, 33664, 34434, 35198, 35966, 36734, 37502, 38270, 39037, 39803, 40572, 41340, 42108, 42874, 43643, 44411, 45181] + hit0 = 1 + data1 = [0, 8828, 9723, 10618, 11513, 12408, 13307, 14202, 15092, 15991, 16888, 17782, 18679, 19574, 20470, 21364, 22259, 23156, 24050, 24946, 25845, 26739, 27634, 28530, 29425, 30322, 31218, 32110, 33007, 33902, 34798, 35693, 36590, 37484, 38381, 39276, 40170, 41068, 41963, 42857, 43753, 44647, 45544, 46439, 47336, 48230, 49124, 50021, 50919, 51814, 52710] + hit1 = 1 + data2 = [0, 10091, 11113, 12136, 13159, 14184, 15205, 16231, 17255, 18279, 19300, 20326, 21346, 22369, 23395, 24417, 25441, 26463, 27489, 28513, 29535, 30559, 31584, 32605, 33630, 34653, 35676, 36701, 37725, 38747, 39768, 40794, 41819, 42839, 43864, 44889, 45911, 46936, 47958, 48982, 50005, 51028, 52053, 53076, 54099, 55124, 56144, 57169, 58196, 59213, 60241] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 1.88 + self.CDR *= 0.80 + self.倍率 *= 1.09 + + +class 技能15(主动技能): + 名称 = "如来神掌" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1700] + 无色消耗 = 2 + data0 = [0, 19618, 21608, 23602, 25591, 27580, 29568, 31563, 33548, 35541, 37535, 39519, 41510, 43498, 45492, 47483, 49471, 51465, 53450, 55443, 57435, 59425, 61413, 63401, 65398, 67389, 69375, 71368, 73356, 75348, 77332, 79327, 81318, 83307, 85300, 87289, 89277, 91264, 93261, 95248, 97237, 99230, 101221, 103208, 105197, 107192, 109180, 111167, 113162, 115152, 117142] + hit0 = 1 + data1 = [0, 29429, 32412, 35400, 38385, 41372, 44349, 47336, 50321, 53309, 56293, 59280, 62263, 65252, 68238, 71218, 74206, 77192, 80178, 83162, 86150, 89131, 92121, 95099, 98088, 101072, 104060, 107042, 110031, 113014, 116003, 118989, 121969, 124957, 127939, 130928, 133910, 136901, 139883, 142873, 145849, 148837, 151821, 154807, 157791, 160781, 163766, 166753, 169736, 172717, 175703] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 1 + 1.71 + 0.45 + self.hit1 = 0 + + +class 技能16(主动技能): + 名称 = "莲花剑舞" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [800, 6000] + 无色消耗 = 3 + data0 = [0, 3930, 4329, 4728, 5128, 5525, 5924, 6322, 6722, 7119, 7518, 7918, 8317, 8712, 9114, 9511, 9912, 10313, 10711, 11105, 11506, 11903, 12300, 12706, 13103, 13499, 13896, 14295, 14693, 15092, 15495, 15891, 16289, 16690, 17086, 17485, 17883, 18285, 18681, 19084, 19479, 19878, 20274, 20677, 21076, 21473, 21874, 22270, 22668, 23067, 23471] + hit0 = 2 + data1 = [0, 5895, 6492, 7090, 7689, 8286, 8887, 9484, 10080, 10678, 11275, 11876, 12474, 13074, 13668, 14268, 14866, 15462, 16061, 16661, 17260, 17854, 18452, 19055, 19653, 20247, 20849, 21448, 22041, 22643, 23239, 23840, 24430, 25030, 25628, 26225, 26826, 27423, 28023, 28618, 29217, 29819, 30416, 31012, 31611, 32212, 32804, 33405, 34004, 34603, 35198] + hit1 = 2 + data2 = [0, 5895, 6492, 7090, 7689, 8286, 8887, 9484, 10080, 10678, 11275, 11876, 12474, 13074, 13668, 14268, 14866, 15462, 16061, 16661, 17260, 17854, 18452, 19055, 19653, 20247, 20849, 21448, 22041, 22643, 23239, 23840, 24430, 25030, 25628, 26225, 26826, 27423, 28023, 28618, 29217, 29819, 30416, 31012, 31611, 32212, 32804, 33405, 34004, 34603, 35198] + hit2 = 2 + data3 = [0, 23579, 25974, 28365, 30761, 33151, 35541, 37933, 40325, 42719, 45111, 47502, 49893, 52287, 54679, 57070, 59466, 61854, 64246, 66636, 69034, 71427, 73813, 76206, 78604, 80993, 83382, 85775, 88169, 90558, 92951, 95343, 97739, 100128, 102522, 104913, 107305, 109696, 112090, 114480, 116872, 119265, 121661, 124050, 126441, 128836, 131222, 133616, 136011, 138405, 140795] + hit3 = 2 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.33 + + +class 技能17(被动技能): + 名称 = '七星耀华' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能18(主动技能): + 名称 = "樱花劫" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [580, 4500] + 无色消耗 = 5 + data0 = [0, 94825, 104443, 114058, 123679, 133299, 142921, 152540, 162162, 171779, 181403, 191020, 200642, 210259, 219877, 229497, 239120, 248738, 258362, 267977, 277599, 287219, 296840, 306461, 316079, 325697, 335317, 344935, 354559, 364175, 373799, 383416, 393039, 402657, 412279, 421894, 431514, 441133, 450754, 460375, 469994, 479614, 489235, 498855, 508475, 518091, 527715, 537333, 546948, 556570, 566189] + hit0 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3 + self.CDR *= 0.9 + + +class 技能19(主动技能): + 名称 = "飞花逐月" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + data0 = [0, 5048, 6217, 7389, 8559, 9732, 10902, 12074, 13238, 14413, 15583, 16754, 17921, 19091, 20265, 21434, 22603, 23777, 24943, 26113, 27286, 28453, 29629, 30798, 31962, 33138, 34309, 35477, 36649, 37819, 38989, 40159, 41327, 42499, 43669, 44842, 46014, 47178, 48352, 49524, 50692, 51864, 53035, 54202, 55375, 56544, 57716, 58884, 60056, 61222, 62396] + hit0 = 23 + data1 = [0, 105995, 130568, 155149, 179725, 204301, 228883, 253461, 278038, 302613, 327190, 351772, 376348, 400924, 425503, 450085, 474662, 499236, 523818, 548391, 572972, 597551, 622127, 646704, 671281, 695862, 720439, 745016, 769596, 794169, 818751, 843327, 867903, 892480, 917061, 941639, 966218, 990798, 1015371, 1039949, 1064531, 1089104, 1113683, 1138261, 1162840, 1187423, 1211994, 1236574, 1261148, 1285728, 1310307] + hit1 = 1 + + +class 技能20(主动技能): + 名称 = "落英惊鸿掌" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 14829, 16333, 17835, 19340, 20844, 22350, 23855, 25358, 26862, 28365, 29870, 31374, 32879, 34384, 35888, 37392, 38896, 40399, 41905, 43409, 44913, 46417, 47922, 49426, 50932, 52435, 53938, 55443, 56947, 58452, 59956, 61459, 62964, 64469, 65973, 67478, 68980, 70485, 71991, 73495, 74999, 76502, 78006, 79511, 81017, 82521, 84025, 85527, 87032, 88537] + hit0 = 1 + data1 = [0, 7413, 8165, 8918, 9670, 10423, 11174, 11928, 12679, 13430, 14184, 14935, 15687, 16440, 17191, 17943, 18696, 19448, 20200, 20953, 21704, 22456, 23207, 23961, 24713, 25465, 26218, 26969, 27722, 28475, 29226, 29977, 30729, 31482, 32233, 32987, 33739, 34490, 35244, 35995, 36748, 37501, 38251, 39004, 39754, 40508, 41259, 42011, 42764, 43516, 44269] + hit1 = 4 + data2 = [0, 103795, 114325, 124853, 135384, 145915, 156444, 166973, 177503, 188034, 198564, 209093, 219624, 230153, 240683, 251212, 261742, 272273, 282802, 293331, 303862, 314393, 324922, 335452, 345982, 356512, 367040, 377571, 388101, 398630, 409160, 419690, 430221, 440748, 451281, 461812, 472341, 482870, 493400, 503930, 514460, 524989, 535518, 546049, 556579, 567108, 577638, 588170, 598699, 609228, 619759] + hit2 = 1 + + +class 技能21(被动技能): + 名称 = '剑仙之境' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能22(主动技能): + 名称 = "轻云出月风静夜" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 575704, 709203, 842696, 976194, 1109690, 1243187, 1376684, 1510181, 1643679, 1777175, 1910671, 2044168, 2177664, 2311161, 2444658, 2578156, 2711651, 2845149, 2978645, 3112141, 3245638, 3379136, 3512630, 3646129, 3779626, 3913122, 4046618, 4180116, 4313612, 4447108, 4580605, 4714103, 4847598, 4981096, 5114592, 5248090, 5381584, 5515082, 5648578, 5782076, 5915572, 6049070, 6182567, 6316062, 6449560, 6583054, 6716552, 6850050, 6983546, 7117044] + hit0 = 1 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'vegabond' + self.名称 = '极诣·流浪武士' + self.角色 = '鬼剑士(女)' + + self.职业 = '流浪武士' + self.武器选项 = ['光剑', '巨剑', '钝器', '太刀', '短剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '光剑' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.25 + + super().__init__(equVersion) + + def 职业特殊计算(self): + # 默认105光剑 + from core.basic.equipment import get_equ + from core.equipment.property import 武器强化计算 + temp = get_equ(self.equVersion).get_equ_by_id(98) + 物理攻击力 = 武器强化计算(temp.等级, temp.品质, self.打造详情.get("副武器", {"cursed_number": 0}).get('cursed_number', 0), temp.类型, + '物理') + + self.基础属性加成(物理攻击力=int((物理攻击力+temp.物理攻击力)*0.1), 力量=int(temp.力量*0.1)) diff --git a/api/core/characters/vigilante.py b/api/core/characters/vigilante.py new file mode 100644 index 00000000..bae81ec8 --- /dev/null +++ b/api/core/characters/vigilante.py @@ -0,0 +1,636 @@ +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + cost =0 + + +class 技能0(主动技能): + 名称 = '基础精通' + 倍率 = 1.0 + + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + + 是否主动 = 0 + + 关联技能 = ['妖爪','妖兽化'] + + TP成长 = 0.10 + TP上限 = 5 # 基础精通 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级) * self.TP加成(), 5) + +class 技能1(主动技能): + 名称 = '妖痕抓击' + 所在等级 = 1 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [7, 54] + 无色消耗 = 0 + data0 = [0, 1355, 1492, 1629, 1767, 1905, 2042, 2180, 2317, 2454, 2592, 2730, 2867, 3005, 3142, 3279, 3417, 3554, 3692, 3830, 3966, 4104, 4242, 4379, 4517, 4654, 4791, 4929, 5067, 5204, 5342, 5479, 5616, 5754, 5892, 6029, 6167, 6304, 6441, 6579, 6716, 6854, 6992, 7128, 7266, 7404, 7541, 7679, 7816, 7953, 8091, 8229, 8366, 8504, 8641, 8778, 8916, 9054, 9191, 9329, 9466, 9603, 9741, 9878, 10016, 10154, 10290, 10428, 10566, 10703, 10841] + hit0 = 5 + TP成长 = 0.1 + TP上限 = 7 + cost = -3 + +class 技能2(主动技能): + 名称 = '切割之影' + 所在等级 = 5 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 3 + MP = [5, 37] + 无色消耗 = 0 + data0 = [0, 611, 673, 735, 798, 859, 921, 983, 1045, 1108, 1169, 1231, 1294, 1355, 1418, 1480, 1541, 1604, 1665, 1728, 1790, 1851, 1914, 1976, 2037, 2100, 2162, 2224, 2286, 2347, 2410, 2472, 2534, 2596, 2658, 2720, 2782, 2845, 2906, 2968, 3031, 3092, 3155, 3216, 3278, 3341, 3402, 3465, 3527, 3588, 3651, 3713, 3775, 3837, 3898, 3961, 4023, 4085, 4147, 4209, 4271, 4333, 4395, 4457, 4519, 4582, 4643, 4705, 4767, 4829, 4892] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + cost = 5 + +class 技能3(主动技能): + 名称 = '见面礼' + 所在等级 = 10 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5 + MP = [19, 19] + 无色消耗 = 0 + data0 = [0, 912, 1005, 1098, 1190, 1283, 1376, 1468, 1561, 1654, 1747, 1840, 1932, 2025, 2117, 2210, 2303, 2395, 2488, 2581, 2673, 2766, 2858, 2951, 3044, 3136, 3229, 3322, 3414, 3507, 3599, 3692, 3785, 3877, 3970, 4062, 4155, 4248, 4340, 4433, 4526, 4618, 4711, 4803, 4896, 4989, 5082, 5175, 5267, 5360, 5453, 5545, 5638, 5731, 5823, 5916, 6008, 6101, 6194, 6286, 6379, 6472, 6564, 6657, 6749, 6842, 6935, 7027, 7120, 7212, 7305] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + cost = -4 + +class 技能4(主动技能): + 名称 = '妖爪' + 所在等级 = 15 + 等级上限 = 1 + 等级精通 = 1 + CD = 2 + MP = [14, 14] + 无色消耗 = 0 + data0 = [0, 408] + hit0 = 0 + data1 = [0, 255] + hit1 = 1 + data2 = [0, 255] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 1 + cost = -4 + + 形态 = ['妖','人'] + + def TP等级加成(self, x, char={}): + if self.TP等级 != 0: + self.TP等级 = min(self.TP等级+x, 1) + + def 形态变更(self, 形态, char): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '妖': + self.hit0 = 0 + self.hit1 = 1 + self.hit2 = 1 + if 形态 == '人': + self.hit0 = 1 + self.hit1 = 0 + self.hit2 = 0 + pass + +class 技能5(被动技能): + 名称 = '特殊体质' + 所在等级 = 20 + 等级上限 = 20 + 等级精通 = 10 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.02 + 0.02 * self.等级 + +class 技能6(主动技能): + 名称 = '捕猎箭' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [63, 457] + 无色消耗 = 0 + data0 = [0, 1995, 2197, 2399, 2602, 2804, 3007, 3209, 3411, 3614, 3816, 4019, 4221, 4423, 4626, 4828, 5030, 5233, 5435, 5638, 5840, 6042, 6245, 6447, 6650, 6852, 7054, 7257, 7460, 7661, 7864, 8066, 8269, 8471, 8673, 8876, 9079, 9280, 9483, 9685, 9888, 10091, 10292, 10495, 10698, 10900, 11102, 11304, 11507, 11710, 11911, 12114, 12317, 12519, 12721, 12923, 13126, 13329, 13531, 13733, 13936, 14138, 14341, 14542, 14745, 14948, 15150, 15352, 15555, 15757, 15960] + hit0 = 1 + data1 = [0, 2992, 3296, 3599, 3903, 4206, 4510, 4814, 5117, 5421, 5724, 6028, 6331, 6635, 6939, 7242, 7546, 7849, 8153, 8456, 8761, 9064, 9367, 9671, 9974, 10278, 10582, 10886, 11189, 11492, 11796, 12099, 12403, 12707, 13011, 13314, 13618, 13921, 14224, 14528, 14832, 15136, 15439, 15743, 16046, 16349, 16654, 16957, 17261, 17564, 17868, 18171, 18475, 18779, 19082, 19386, 19689, 19993, 20296, 20600, 20904, 21207, 21511, 21814, 22118, 22421, 22725, 23029, 23333, 23636, 23939] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + cost = -5 + +class 技能7(主动技能): + 名称 = '苦痛送行' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [89, 653] + 无色消耗 = 0 + data0 = [0, 7285, 8025, 8764, 9502, 10241, 10980, 11719, 12459, 13198, 13937, 14676, 15415, 16155, 16894, 17633, 18371, 19110, 19850, 20589, 21328, 22067, 22806, 23546, 24285, 25024, 25763, 26502, 27240, 27980, 28719, 29458, 30197, 30936, 31676, 32415, 33154, 33893, 34632, 35372, 36110, 36849, 37588, 38327, 39067, 39806, 40545, 41284, 42023, 42763, 43502, 44241, 44979, 45718, 46457, 47197, 47936, 48675, 49414, 50153, 50893, 51632, 52371, 53110, 53848, 54588, 55327, 56066, 56805, 57544, 58284] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + cost = 5 + +class 技能8(主动技能): + 名称 = '破颜击' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6 + MP = [51, 371] + 无色消耗 = 0 + data0 = [0, 1213, 1335, 1459, 1582, 1705, 1828, 1951, 2074, 2198, 2320, 2443, 2567, 2690, 2812, 2936, 3059, 3182, 3305, 3428, 3551, 3674, 3797, 3921, 4044, 4166, 4290, 4413, 4536, 4659, 4782, 4905, 5029, 5151, 5274, 5398, 5520, 5643, 5767, 5890, 6012, 6136, 6259, 6382, 6505, 6628, 6751, 6875, 6997, 7120, 7244, 7367, 7489, 7613, 7736, 7859, 7982, 8105, 8228, 8351, 8474, 8597, 8721, 8843, 8966, 9090, 9213, 9336, 9459, 9582, 9705] + hit0 = 1 + data1 = [0, 1213, 1335, 1459, 1582, 1705, 1828, 1951, 2074, 2198, 2320, 2443, 2567, 2690, 2812, 2936, 3059, 3182, 3305, 3428, 3551, 3674, 3797, 3921, 4044, 4166, 4290, 4413, 4536, 4659, 4782, 4905, 5029, 5151, 5274, 5398, 5520, 5643, 5767, 5890, 6012, 6136, 6259, 6382, 6505, 6628, 6751, 6875, 6997, 7120, 7244, 7367, 7489, 7613, 7736, 7859, 7982, 8105, 8228, 8351, 8474, 8597, 8721, 8843, 8966, 9090, 9213, 9336, 9459, 9582, 9705] + hit1 = 1 + data2 = [0, 2426, 2672, 2918, 3165, 3410, 3657, 3903, 4149, 4395, 4642, 4887, 5134, 5380, 5626, 5872, 6118, 6364, 6610, 6857, 7102, 7349, 7595, 7842, 8087, 8334, 8580, 8826, 9072, 9319, 9564, 9811, 10057, 10303, 10549, 10795, 11041, 11287, 11534, 11779, 12026, 12272, 12518, 12764, 13011, 13257, 13503, 13749, 13996, 14241, 14488, 14734, 14980, 15226, 15472, 15718, 15964, 16211, 16456, 16703, 16949, 17195, 17441, 17688, 17933, 18180, 18426, 18673, 18918, 19165, 19411] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + cost = -5 + +class 技能9(主动技能): + 名称 = '妖刺结阵' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [42, 309] + 无色消耗 = 0 + data0 = [0, 2431, 2677, 2924, 3171, 3418, 3664, 3911, 4158, 4404, 4651, 4897, 5145, 5391, 5638, 5884, 6131, 6378, 6624, 6871, 7117, 7365, 7611, 7857, 8104, 8351, 8598, 8844, 9090, 9338, 9584, 9831, 10077, 10325, 10571, 10817, 11064, 11311, 11558, 11804, 12051, 12298, 12544, 12791, 13037, 13285, 13531, 13778, 14024, 14271, 14518, 14764, 15011, 15257, 15505, 15751, 15997, 16244, 16491, 16738, 16984, 17230, 17478, 17724, 17971, 18217, 18465, 18711, 18957, 19204, 19451] + hit0 = 3 + 出血data0 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 出血hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + cost = 10 + +class 技能10(主动技能): + 名称 = '巡猎终结' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 9 + MP = [86, 627] + 无色消耗 = 0 + data0 = [0, 1874, 2064, 2253, 2444, 2634, 2824, 3014, 3205, 3395, 3584, 3775, 3965, 4155, 4345, 4536, 4725, 4915, 5106, 5295, 5486, 5676, 5866, 6056, 6246, 6437, 6626, 6817, 7007, 7197, 7387, 7577, 7767, 7957, 8148, 8337, 8528, 8718, 8908, 9098, 9288, 9479, 9668, 9858, 10049, 10238, 10429, 10619, 10809, 10999, 11189, 11379, 11569, 11760, 11950, 12140, 12330, 12520, 12710, 12900, 13091, 13280, 13471, 13661, 13850, 14041, 14231, 14422, 14611, 14802, 14992] + hit0 = 2 + data1 = [0, 3748, 4127, 4508, 4888, 5268, 5649, 6029, 6410, 6789, 7169, 7550, 7930, 8310, 8691, 9071, 9451, 9831, 10211, 10592, 10972, 11353, 11733, 12112, 12493, 12873, 13253, 13634, 14014, 14395, 14774, 15154, 15535, 15915, 16295, 16676, 17056, 17436, 17816, 18196, 18577, 18957, 19337, 19717, 20097, 20478, 20858, 21238, 21619, 21999, 22379, 22759, 23139, 23520, 23900, 24280, 24661, 25040, 25421, 25801, 26181, 26562, 26942, 27322, 27702, 28082, 28463, 28843, 29223, 29604, 29984] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 7 + cost = -10 + +class 技能11(主动技能): + 名称 = '利爪锋芒' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [67, 487] + 无色消耗 = 0 + data0 = [0, 2054, 2264, 2472, 2680, 2889, 3097, 3306, 3514, 3723, 3931, 4139, 4349, 4557, 4765, 4974, 5182, 5391, 5600, 5808, 6016, 6224, 6434, 6642, 6850, 7059, 7267, 7476, 7685, 7893, 8101, 8310, 8519, 8727, 8935, 9144, 9352, 9561, 9770, 9978, 10186, 10395, 10604, 10812, 11021, 11229, 11437, 11646, 11855, 12063, 12271, 12480, 12689, 12897, 13106, 13314, 13522, 13731, 13940, 14148, 14356, 14565, 14774, 14982, 15191, 15399, 15607, 15817, 16025, 16233, 16441] + hit0 = 3 + TP成长 = 0.1 + TP上限 = 7 + cost = -8 + +class 技能12(被动技能): + 名称 = '野性愈烈' + 所在等级 = 35 + 等级上限 = 20 + 等级精通 = 10 + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.2 + 0.02*self.等级 + + +class 技能13(主动技能): + 名称 = '御蛇' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [170, 1242] + 无色消耗 = 1 + data0 = [0, 10915, 12022, 13130, 14237, 15345, 16452, 17559, 18667, 19774, 20881, 21989, 23097, 24203, 25311, 26419, 27525, 28633, 29740, 30848, 31955, 33062, 34170, 35278, 36384, 37492, 38600, 39706, 40814, 41922, 43029, 44136, 45244, 46351, 47458, 48566, 49673, 50781, 51887, 52995, 54103, 55210, 56317, 57425, 58532, 59639, 60747, 61854, 62962, 64069, 65176, 66284, 67391, 68498, 69606, 70713, 71820, 72928, 74035, 75143, 76250, 77357, 78465, 79572, 80679, 81787, 82895, 84001, 85109, 86217, 87324] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + cost = -5 + +class 技能14(主动技能): + 名称 = '幻妖之噬' + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [85, 621] + 无色消耗 = 1 + data0 = [0, 563, 620, 677, 735, 792, 848, 905, 963, 1020, 1077, 1134, 1192, 1249, 1306, 1364, 1420, 1477, 1534, 1591, 1649, 1706, 1763, 1821, 1878, 1934, 1991, 2048, 2106, 2163, 2220, 2278, 2335, 2392, 2449, 2506, 2563, 2620, 2677, 2735, 2792, 2849, 2906, 2964, 3021, 3077, 3134, 3192, 3249, 3306, 3364, 3421, 3478, 3535, 3593, 3649, 3706, 3763, 3821, 3878, 3935, 3992, 4050, 4107, 4164, 4220, 4278, 4335, 4392, 4449, 4507] + hit0 = 1 + data1 = [0, 3568, 3930, 4291, 4654, 5016, 5377, 5740, 6102, 6463, 6825, 7188, 7549, 7911, 8274, 8636, 8997, 9360, 9722, 10083, 10445, 10808, 11169, 11531, 11894, 12255, 12617, 12980, 13341, 13703, 14065, 14428, 14789, 15151, 15514, 15875, 16237, 16600, 16961, 17323, 17686, 18047, 18409, 18771, 19133, 19495, 19857, 20220, 20581, 20943, 21306, 21667, 22029, 22391, 22753, 23115, 23477, 23838, 24201, 24563, 24926, 25287, 25649, 26011, 26373, 26735, 27097, 27458, 27821, 28183, 28544] + hit1 = 3 + 出血data0 = [0, 8, 8, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 18, 19, 19, 20, 21, 22, 22, 23, 24, 25, 26, 26, 27, 28, 29, 29, 30, 31, 32, 32, 33, 34, 35, 36, 36, 37, 38, 39, 39, 40, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 49, 50, 50, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 59, 60, 60, 61] + 出血hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + cost = 10 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.cost = -10 + self.倍率 *= 1 + 0.12 + 0.22 + +class 技能15(主动技能): + 名称 = '狂妖风暴' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 18 + MP = [237, 1732] + 无色消耗 = 1 + data0 = [0, 1880, 2070, 2261, 2451, 2642, 2833, 3023, 3214, 3405, 3596, 3787, 3978, 4168, 4359, 4550, 4740, 4931, 5122, 5312, 5503, 5693, 5884, 6075, 6266, 6457, 6648, 6838, 7029, 7220, 7410, 7601, 7792, 7982, 8173, 8363, 8554, 8745, 8936, 9127, 9318, 9508, 9699, 9890, 10080, 10271, 10462, 10652, 10843, 11034, 11224, 11415, 11606, 11797, 11988, 12178, 12369, 12560, 12750, 12941, 13132, 13322, 13513, 13704, 13894, 14085, 14276, 14467, 14658, 14848, 15039] + hit0 = 1 + data1 = [0, 376, 414, 452, 490, 528, 566, 605, 643, 681, 719, 757, 795, 833, 871, 910, 948, 986, 1024, 1062, 1100, 1138, 1176, 1215, 1253, 1291, 1329, 1367, 1405, 1443, 1481, 1520, 1558, 1596, 1634, 1672, 1710, 1748, 1787, 1825, 1863, 1901, 1939, 1977, 2015, 2053, 2092, 2130, 2168, 2206, 2244, 2282, 2321, 2359, 2398, 2436, 2474, 2512, 2550, 2588, 2626, 2664, 2703, 2741, 2779, 2817, 2855, 2893, 2931, 2969, 3008] + hit1 = 30 + data2 = [0, 5640, 6211, 6783, 7355, 7928, 8500, 9072, 9644, 10216, 10789, 11361, 11933, 12505, 13077, 13650, 14222, 14794, 15365, 15938, 16510, 17082, 17654, 18226, 18799, 19371, 19943, 20515, 21087, 21660, 22232, 22804, 23376, 23948, 24520, 25092, 25664, 26236, 26809, 27381, 27953, 28525, 29097, 29670, 30242, 30814, 31386, 31958, 32530, 33102, 33674, 34246, 34819, 35391, 35963, 36535, 37107, 37680, 38252, 38824, 39396, 39968, 40541, 41113, 41684, 42256, 42829, 43401, 43973, 44545, 45117] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + cost = -5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1 + 0.15 + 0.18 + +class 技能16(主动技能): + 名称 = '凶兽噬咬' + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [163, 1190] + 无色消耗 = 2 + data0 = [0, 8422, 9275, 10130, 10985, 11839, 12693, 13548, 14402, 15256, 16111, 16965, 17820, 18674, 19528, 20383, 21238, 22091, 22946, 23801, 24654, 25509, 26364, 27218, 28072, 28927, 29781, 30635, 31490, 32344, 33199, 34053, 34907, 35762, 36616, 37470, 38325, 39180, 40033, 40888, 41743, 42596, 43451, 44306, 45161, 46014, 46869, 47724, 48578, 49432, 50287, 51141, 51995, 52850, 53704, 54559, 55413, 56267, 57122, 57976, 58830, 59685, 60540, 61393, 62248, 63103, 63956, 64811, 65666, 66520, 67374] + hit0 = 3 + data1 = [0, 14738, 16233, 17728, 19224, 20719, 22213, 23708, 25204, 26699, 28194, 29689, 31185, 32680, 34175, 35671, 37166, 38661, 40156, 41652, 43146, 44641, 46136, 47632, 49127, 50622, 52117, 53613, 55108, 56603, 58098, 59594, 61089, 62583, 64078, 65574, 67069, 68564, 70059, 71555, 73050, 74545, 76040, 77536, 79031, 80526, 82022, 83516, 85011, 86506, 88002, 89497, 90992, 92487, 93983, 95478, 96973, 98468, 99964, 101459, 102953, 104448, 105944, 107439, 108934, 110429, 111925, 113420, 114915, 116410, 117906] + hit1 = 1 + data2 = [0, 2105, 2319, 2532, 2746, 2959, 3172, 3387, 3600, 3814, 4027, 4241, 4455, 4668, 4882, 5095, 5309, 5522, 5737, 5950, 6163, 6377, 6590, 6805, 7018, 7231, 7445, 7658, 7872, 8086, 8300, 8513, 8726, 8940, 9153, 9368, 9581, 9794, 10008, 10221, 10436, 10649, 10863, 11076, 11289, 11503, 11717, 11931, 12144, 12357, 12571, 12785, 12999, 13212, 13426, 13639, 13852, 14067, 14280, 14494, 14707, 14920, 15135, 15348, 15562, 15775, 15989, 16202, 16416, 16630, 16843] + hit2 = 1 + 出血data0 = [0, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 出血hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + cost = 30 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1 + 0.14 + 0.14 + self.CDR *= 0.9 + +class 技能17(被动技能): + 名称 = '野息狂放' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.025 + 0.02 * self.等级 + +class 技能18(主动技能): + 名称 = "鲜活宴场" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1406, 7707] + 无色消耗 = 5 + data0 = [0, 36786, 45316, 53846, 62376, 70907, 79437, 87967, 96497, 105027, 113558, 122088, 130618, 139148, 147677, 156208, 164738, 173268, 181798, 190328, 198859, 207389, 215919, 224449, 232980, 241510, 250040, 258570, 267100, 275631, 284161, 292691, 301220, 309750, 318281, 326811, 335341, 343871, 352401, 360932, 369462, 377992, 386522, 395053, 403583, 412113, 420643, 429173, 437704, 446234, 454763] + hit0 = 1 + data1 = [0, 44961, 55386, 65812, 76238, 86664, 97089, 107515, 117941, 128367, 138792, 149219, 159644, 170069, 180495, 190921, 201347, 211772, 222198, 232624, 243050, 253475, 263901, 274327, 284753, 295178, 305605, 316030, 326456, 336881, 347308, 357733, 368159, 378584, 389011, 399436, 409862, 420287, 430714, 441139, 451564, 461991, 472416, 482842, 493267, 503694, 514119, 524545, 534970, 545397, 555822] + hit1 = 1 + + cost = -100 + + def 等效百分比(self, **argv): + if self.等级 >= 6: + self.power1 = 1.1 + return super().等效百分比(**argv) + +class 技能19(主动技能): + 名称 = '妖蛇暴雨' + 所在等级 = 60 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [277, 1520] + 无色消耗 = 1 + data0 = [0, 1232, 1358, 1483, 1608, 1734, 1858, 1984, 2108, 2234, 2358, 2484, 2609, 2734, 2859, 2984, 3109, 3235, 3359, 3485, 3609, 3735, 3860, 3985, 4110, 4235, 4361, 4485, 4611, 4736, 4861, 4986, 5111, 5236, 5361, 5486, 5612, 5736, 5862, 5986, 6112, 6237, 6362, 6487, 6612, 6737, 6862, 6987, 7113, 7238, 7363] + hit0 = 20 + TP成长 = 0.1 + TP上限 = 5 + cost = -20 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1 + 0.15 + 0.18 + +class 技能20(主动技能): + 名称 = '盛怒狂潮' + 所在等级 = 70 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 50 + MP = [204, 1120] + 无色消耗 = 2 + data0 = [0, 13154, 14486, 15822, 17156, 18491, 19826, 21161, 22494, 23828, 25164, 26498, 27834, 29168, 30501, 31835, 33170, 34505, 35841, 37173, 38508, 39843, 41177, 42513, 43847, 45180, 46515, 47850, 49185, 50520, 51855, 53187, 54522, 55857, 57192, 58527, 59859, 61195, 62529, 63865, 65199, 66534, 67866, 69201, 70536, 71871, 73206, 74541, 75874, 77208, 78544] + hit0 = 1 + data1 = [0, 19731, 21729, 23732, 25735, 27737, 29739, 31742, 33740, 35743, 37745, 39747, 41750, 43753, 45751, 47754, 49755, 51758, 53761, 55759, 57762, 59764, 61766, 63769, 65771, 67770, 69773, 71775, 73777, 75780, 77782, 79781, 81783, 83785, 85788, 87791, 89789, 91792, 93794, 95796, 97799, 99801, 101800, 103802, 105805, 107806, 109809, 111812, 113810, 115813, 117815] + hit1 = 1 + data2 = [0, 32885, 36215, 39554, 42891, 46228, 49565, 52903, 56234, 59571, 62908, 66245, 69584, 72921, 76252, 79589, 82926, 86264, 89601, 92932, 96270, 99606, 102945, 106281, 109619, 112950, 116287, 119625, 122962, 126299, 129637, 132967, 136305, 139643, 142980, 146317, 149648, 152985, 156323, 159660, 162998, 166335, 169666, 173004, 176341, 179678, 183015, 186353, 189684, 193022, 196358] + hit2 = 1 + 出血data0 = [0, 22, 24, 27, 29, 31, 33, 36, 38, 40, 42, 45, 47, 49, 51, 54, 56, 58, 60, 63, 65, 67, 69, 72, 74, 76, 78, 81, 83, 85, 87, 90, 92, 94, 96, 99, 101, 103, 105, 108, 110, 112, 114, 117, 119, 121, 123, 126, 128, 130, 132] + 出血hit0 = 3 + TP成长 = 0.1 + TP上限 = 5 + cost = 40 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + +class 技能21(被动技能): + 名称 = '妖人合一' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.22 + 0.02 * self.等级 + +class 技能22(主动技能): + 名称 = '卸骨' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 38 + MP = [904, 4957] + 无色消耗 = 3 + data0 = [0, 20502, 22582, 24662, 26742, 28822, 30902, 32982, 35062, 37141, 39222, 41301, 43382, 45461, 47542, 49622, 51701, 53782, 55861, 57942, 60021, 62102, 64181, 66262, 68341, 70421, 72501, 74581, 76661, 78741, 80821, 82901, 84981, 87061, 89141, 91221, 93301, 95381, 97461, 99541, 101621, 103701, 105781, 107860, 109941, 112020, 114101, 116180, 118261, 120340, 122421] + hit0 = 1 + data1 = [0, 47839, 52692, 57546, 62398, 67252, 72105, 76958, 81811, 86665, 91518, 96371, 101225, 106078, 110931, 115784, 120638, 125490, 130344, 135197, 140051, 144904, 149757, 154611, 159463, 164317, 169170, 174023, 178876, 183730, 188584, 193436, 198290, 203143, 207996, 212849, 217703, 222556, 227409, 232263, 237116, 241969, 246822, 251676, 256528, 261382, 266235, 271088, 275941, 280795, 285649] + hit1 = 1 + cost = -15 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.hit0 = 0 + self.power1 = 1 + 0.63 + 0.2 + +class 技能23(主动技能): + 名称 = '妖芒之茧' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [803, 4402] + 无色消耗 = 5 + data0 = [0, 96781, 106599, 116417, 126236, 136055, 145873, 155692, 165509, 175328, 185147, 194965, 204784, 214602, 224420, 234238, 244057, 253876, 263694, 273513, 283330, 293149, 302968, 312786, 322605, 332423, 342241, 352059, 361878, 371697, 381515, 391334, 401151, 410970, 420789, 430607, 440426, 450243, 460062, 469880, 479699, 489518, 499336, 509154, 518972, 528791, 538610, 548428, 558247, 568064, 577883] + hit0 = 1 + + cost = 45 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.CD = 15 + self.cost = 15 + self.CDR *= 0.9 + self.power0 = 1 - 0.61 + 0.062 + # 添加护石之后莫名其妙多出来的出血伤害 + self.出血data0 = [0] + [100]*50 + self.出血hit0 = 1 + +class 技能24(主动技能): + 名称 = "妖潮狂袭" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2484, 13617] + 无色消耗 = 10 + # 有能量时,每1能量增加0.1%伤害,100能量增加30% + data0 = [0, 14890, 18342, 21795, 25248, 28701, 32154, 35606, 39059, 42512, 45965, 49417, 52870, 56323, 59776, 63229, 66681, 70134, 73587, 77040, 80492, 83945, 87398, 90851, 94304, 97756, 101209, 104662, 108115, 111568, 115020, 118473, 121926, 125379, 128831, 132284, 135737, 139190, 142643, 146095, 149548, 153001, 156454, 159907, 163359, 166812, 170265, 173718, 177170, 180623, 184076] + hit0 = 15 + + cost = 100 + + 形态 = ['满','空'] + + def 形态变更(self, 形态, char): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '满': + self.power0 = 1.3 + self.cost = 100 + if 形态 == '空': + self.power0 = 1 + self.cost = 0 + pass + +class 技能25(被动技能): + 名称 = '万物巅峰' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return 1.18 + 0.02 * self.等级 + +class 技能26(主动技能): + 名称 = "神妖之爪" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [1406, 7710] + 无色消耗 = 7 + # 人形态 + data0 = [0, 6650, 7324, 7999, 8673, 9348, 10023, 10697, 11372, 12046, 12721, 13396, 14071, 14745, 15419, 16095, 16769, 17444, 18118, 18793, 19468, 20142, 20817, 21491, 22166, 22841, 23515, 24190, 24864, 25540, 26214, 26888, 27563, 28238, 28913, 29587, 30261, 30936, 31611, 32286, 32960, 33635, 34310, 34984, 35659, 36333, 37008, 37683, 38357, 39032, 39706] + hit0 = 20 + data1 = [0, 56999, 62782, 68564, 74347, 80130, 85912, 91694, 97477, 103260, 109043, 114825, 120608, 126390, 132173, 137955, 143738, 149521, 155303, 161085, 166868, 172651, 178434, 184216, 189998, 195781, 201564, 207346, 213129, 218912, 224694, 230476, 236259, 242042, 247825, 253607, 259389, 265172, 270955, 276737, 282520, 288302, 294085, 299867, 305650, 311433, 317216, 322997, 328780, 334563, 340346] + hit1 = 1 + # 妖形态 + data2 = [0, 49478, 54498, 59517, 64537, 69556, 74576, 79596, 84615, 89635, 94655, 99674, 104693, 109713, 114732, 119752, 124772, 129791, 134811, 139830, 144850, 149870, 154889, 159909, 164928, 169947, 174967, 179987, 185006, 190026, 195046, 200065, 205085, 210105, 215124, 220144, 225163, 230182, 235202, 240222, 245241, 250261, 255280, 260300, 265320, 270339, 275359, 280379, 285397, 290417, 295437] + hit2 = 1 + data3 = [0, 24739, 27249, 29758, 32268, 34778, 37288, 39797, 42308, 44817, 47327, 49837, 52346, 54856, 57366, 59876, 62385, 64896, 67405, 69915, 72425, 74935, 77444, 79954, 82464, 84973, 87484, 89993, 92503, 95013, 97523, 100032, 102542, 105052, 107562, 110072, 112581, 115091, 117601, 120111, 122620, 125130, 127640, 130150, 132659, 135170, 137679, 140189, 142699, 145208, 147718] + hit3 = 3 + data4 = [0, 65971, 72664, 79356, 86049, 92742, 99435, 106128, 112820, 119513, 126206, 132899, 139591, 146284, 152977, 159670, 166362, 173055, 179748, 186441, 193134, 199826, 206519, 213211, 219904, 226597, 233290, 239983, 246676, 253369, 260061, 266753, 273446, 280139, 286832, 293525, 300218, 306910, 313603, 320295, 326988, 333681, 340374, 347067, 353760, 360452, 367145, 373838, 380530, 387223, 393916] + hit4 = 1 + + cost = 100 + + 形态 = ['妖满','妖空','人'] + + def 形态变更(self, 形态, char): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == '妖满': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 3 + self.hit4 = 1 + self.power2 = self.power3 = self.power4 = 1.3 + self.cost = 100 + if 形态 == '妖空': + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.hit3 = 3 + self.hit4 = 1 + self.power2 = self.power3 = self.power4 = 1 + self.cost = 0 + if 形态 == '人': + self.hit0 = 20 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 0 + self.hit4 = 0 + self.power2 = self.power3 = self.power4 = 1 + self.cost = -100 + pass + +class 技能27(主动技能): + 名称 = "极夜·妖刃千散" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [3904, 17834] + 无色消耗 = 15 + data0 = [0, 24121, 29715, 35309, 40902, 46496, 52089, 57683, 63277, 68870, 74464, 80057, 85651, 91245, 96838, 102432, 108025, 113619, 119213, 124806, 130400, 135993, 141587, 147181, 152774, 158368, 163961, 169555, 175149, 180742, 186336, 191929, 197523, 203116, 208709, 214303, 219897, 225490, 231084, 236677, 242271] + hit0 = 3 + data1 = [0, 31014, 38205, 45398, 52589, 59781, 66972, 74165, 81356, 88548, 95739, 102932, 110123, 117315, 124506, 131699, 138890, 146082, 153273, 160465, 167657, 174848, 182040, 189232, 196424, 203615, 210807, 217999, 225191, 232382, 239574, 246766, 253958, 261149, 268341, 275533, 282725, 289916, 297108, 304300, 311492] + hit1 = 1 + data2 = [0, 413525, 509415, 605304, 701194, 797083, 892973, 988864, 1084753, 1180643, 1276533, 1372422, 1468312, 1564203, 1660092, 1755982, 1851872, 1947761, 2043651, 2139542, 2235431, 2331321, 2427211, 2523100, 2618990, 2714880, 2810770, 2906660, 3002550, 3098439, 3194329, 3290220, 3386109, 3481999, 3577889, 3673778, 3769668, 3865558, 3961448, 4057338, 4153228] + hit2 = 1 + +class 技能28(主动技能): + 名称 = '妖兽化' + 所在等级 = 1 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + CD = 2.2 + MP = [3, 3] + 无色消耗 = 0 + CP倍率 = 0 + + def 等效百分比(self, **argv): + # 武器类型 额外等级 额外倍率 伤害类型 形态 + 额外倍率 = argv.get('额外倍率', 1.0) + 伤害类型 = argv.get('伤害类型', '直伤') + char = argv.get('char', {}) + skill = char.get_skill_by_name("妖爪") + return skill.等效百分比(形态='人', 伤害类型=伤害类型) / skill.技攻 * self.技攻 * self.倍率 * 额外倍率 * self.CP倍率 + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'vigilante' + self.名称 = '聆风·妖护使' + self.角色 = '弓箭手' + + self.职业 = '妖护使' + self.武器选项 = ['妖影弓'] + self.输出类型选项 = ['魔法百分比'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法百分比' + self.武器类型 = '妖影弓' + self.防具类型 = '布甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 2.00 + + super().__init__(equVersion) diff --git a/api/core/characters/weapon_master.py b/api/core/characters/weapon_master.py new file mode 100644 index 00000000..8c688900 --- /dev/null +++ b/api/core/characters/weapon_master.py @@ -0,0 +1,1475 @@ +from copy import deepcopy +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + +class 主动技能(主动技能): + # 国服特色 + 倍率 = 1.05 + +class 剑魂主动技能(主动技能): + hit数 = 0 # 太刀时所需参数,计算期望刺伤 + + 神剑术倍率 = 1.0 + + def 额外刺伤层数(self, 武器类型): + return 0 + + def 穿云刺数量(self, 武器类型): + return 0 + + +class 剑魂流系技能(主动技能): + hit数 = 0 + + 神剑术倍率 = 1.0 + + def 武器CD系数(self, 武器类型, 输出类型): + return 1.0 # 流系列技能不受武器CD影响 + + def 额外刺伤层数(self, 武器类型): + return 0 + + def 穿云刺数量(self, 武器类型): + return 0 + + +class 技能0(被动技能): + 名称 = '基础精通' + 倍率 = 1.0 + 所在等级 = 1 + 等级上限 = 200 + 学习间隔 = 1 + 等级精通 = 110 + 关联技能 = ['里鬼剑术', '空中连斩'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(self.倍率 * (0.463 + 0.089 * self.等级), 5) + + +class 技能1(剑魂主动技能): + 名称 = '空中连斩' + 备注 = '单次伤害(太刀一次挥舞动作是两次伤害)' + 所在等级 = 5 + 等级上限 = 11 + 学习间隔 = 1 + 等级精通 = 1 + + # 实际的空中连斩第一次为跳跃攻击,后续才为空中连斩的伤害 + data0 = [0, 195, 209, 221, 234, 247, 260, 275, 286, 299, 312, 326] + hit0 = 1 + CD = 1.0 + TP成长 = 0.1 + TP上限 = 5 + hit数 = 2 + + 太刀附加 = 0 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '光剑') + char = argv.get('char', {}) + if 武器类型 != '太刀': + self.hit0 = 1 + else: + self.太刀附加 = char.get_skill_by_name('太刀精通').太刀附加(武器类型) + self.hit0 = (self.data0[self.等级] - 100 + + self.太刀附加) / self.data0[self.等级] * 2 * 1.5 + return super().等效百分比(**argv) + + def 穿云刺数量(self, 武器类型): + return 1 + + +class 技能2(剑魂主动技能): + 名称 = '里鬼剑术' + 所在等级 = 15 + 等级上限 = 11 + 学习间隔 = 15 + 等级精通 = 1 + MP = [6, 140] + + data0 = [0]*12 + data = { + '短剑': [0, 1092, 1123, 1156, 1189, 1222, 1254, 1288, 1319, 1353, 1385, 1419], + '光剑': [0, 968, 994, 1024, 1052, 1082, 1112, 1140, 1170, 1196, 1226, 1256], + '巨剑': [0, 1348, 1387, 1426, 1466, 1505, 1549, 1588, 1629, 1668, 1707, 1751], + '钝器': [0, 1336, 1372, 1412, 1453, 1493, 1535, 1575, 1615, 1653, 1693, 1733], + '太刀': [0, 1308, 1344, 1382, 1422, 1464, 1502, 1540, 1578, 1620, 1660, 1698] + } + # 巨剑不蓄力伤害下降 + CD = 1.0 + TP成长 = 0.1 + TP上限 = 5 + hit数 = 8 + + 穿云刺 = {'短剑': 3, '光剑': 3, '巨剑': 2, '钝器': 4, '太刀': 4} + + 附加百分比 = 0 + + def 武器百分比修正(self, 武器类型): + # 国服特色回收 + return self.武器倍率.get(武器类型, 1.0)/1.05 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '光剑') + self.data0 = self.data[武器类型] + return super().等效百分比(**argv) + + # 里鬼附加伤害 + def 特殊技能加成(self, char, 武器类型): + self.附加百分比 = 0 + self.hit1 = 0 + if 武器类型 == '巨剑': + self.附加百分比 = char.get_skill_by_name('巨剑精通').里鬼附加百分比(武器类型) + self.hit1 = 1 + if 武器类型 == '短剑': + self.附加百分比 = char.get_skill_by_name('短剑精通').里鬼附加百分比(武器类型) + self.hit1 = 3 + self.data1 = [0] + [self.附加百分比]*11 + + def 穿云刺数量(self, 武器类型): + return self.穿云刺[武器类型] + + +class 技能3(被动技能): + 名称 = '武器奥义' + 所在等级 = 15 + 等级上限 = 30 + 学习间隔 = 3 + 等级精通 = 20 + 关联技能 = ['无'] + + +class 技能4(被动技能): + 名称 = '光剑掌握' + 所在等级 = 15 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 关联技能 = ['无'] + 冷却关联技能 = ['所有'] + 非冷却关联技能 = ['极鬼剑术暴风式', '万剑归宗', '万剑极诣开天斩'] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0 or 武器类型 != '光剑': + return 1.0 + else: + return round(1.0 - 0.01 * self.等级, 5) + + +class 技能5(被动技能): + 名称 = '短剑精通' + 所在等级 = 15 + 等级上限 = 2 + 学习间隔 = 3 + 等级精通 = 1 + # 物理攻击力增加 + data1 = [0, 16.8, 18.3, 19.8, 21.3, 22.8, 24.3, 25.8, 27.3, 28.8, 30.3, 31.8, 33.3, 34.8, 36.3, 37.8, 39.3, 40.8, 42.3, 43.8, 45.3, 46.8, 48.3, 50.3, 52.3, 54.3, 56.3, 58.3, 60.3, 62.3, 64.3, 66.3, 68.3, 70.3, 72.3, 74.3, 76.3, 78.3, 80.3, 82.3, 84.3] + # 魔法攻击力增加 + data2 = [0, 1.2, 2.6, 3.9, 5.1, 6.4, 7.7, 9, 10.3, 11.6, 12.9, 14.1, 15.4, 16.7, 18, 19.3, 20.6, 21.9, 23.1, 24.4, 25.7, 27, 28.3, 29.6, 30.9, 32.1, 33.4, 34.7, 36, 37.3, 38.6, 39.9, 41.1, 42.4, 43.7, 45, 46.3, 47.6, 48.9, 50.1, 51.4] + # [里 · 鬼剑术]剑气攻击力 + data3 = [0, 445, 459, 472, 486, 499, 510, 525, 537, 552, 563, 574, 590, 601, 618, 627, 639, 655, 666, 681, 693, 705, 719, 731, 746, 758, 770, 784, 797, 812, 823, 836, 850, 863, 876, 889, 900, 916, 926, 942, 953] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '短剑': + return 1.0 + else: + return round(self.data1[self.等级] / 100 + 1, 3) + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 != '短剑': + return 1.0 + else: + return round(self.data2[self.等级] / 100 + 1, 3) + + # [里 · 鬼剑术]剑气攻击力 一轮3段 + def 里鬼附加百分比(self, 武器类型): + if 武器类型 != '短剑': + return 0 + else: + return self.data3[self.等级] + + def 等级加成(self, x, char={}): + if self.等级 != 0: + self.等级 += int(x) + + +class 技能6(被动技能): + 名称 = '太刀精通' + 所在等级 = 15 + 等级上限 = 2 + 学习间隔 = 3 + 等级精通 = 1 + + # 物理攻击力增加 + data1 = [0, 9.2, 10.7, 12.2, 13.7, 15.2, 16.7, 18.2, 19.7, 21.2, 22.7, 24.2, 25.7, 27.2, 28.7, 30.2, 31.7, 33.2, 34.7, 36.2, 37.7, 39.2, 40.7, 42.7, 44.7, 46.7, 48.7, 50.7, 52.7, 54.7, 56.7, 58.7, 60.7, 62.7, 64.7, 66.7, 68.7, 70.7, 72.7, 74.7, 76.7] + # 魔法攻击力增加 + data2 = [0, 1.3, 2.8, 4.1, 5.4, 6.8, 8.2, 9.6, 10.9, 12.3, 13.7, 15, 16.4, 17.7, 19.1, 20.5, 21.9, 23.3, 24.5, 25.9, 27.3, 28.7, 30.1, 31.4, 32.8, 34.1, 35.5, 36.9, 38.2, 39.6, 41, 42.4, 43.7, 45, 46.4, 47.8, 49.2, 50.6, 52, 53.2, 54.6] + # 刺伤几率 + data3 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47, 47, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52] + # 刺伤爆炸伤害(下限) + data4 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638, 2803, 2968, 3134, 3295, 3460, 3621, 3789, 3953, 4117, 4279, 4448, 4609, 4778, 4936, 5104, 5264, 5430, 5597, 5759, 5925, 6087, 6250, 6419, 6580, 6749, 6909, 7078, 7243, 7407, 7574] + # 刺伤爆炸伤害(上限) + data5 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18328, 19469, 20609, 21749, 22890, 24030, 25169, 26311, 27452, 28590, 29732, 30873, 32012, 33154, 34291, 35432, 36571, 37713, 38852, 39992, 41133, 42274, 43412, 44554, 45696, 46834, 47976, 49114, 50256, 51398, 52536] + # 刺伤持续伤害 + data6 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 13, 13, 13, 14, 14, 14, 14, 14, 15, 15, 16, 16, 18, 18, 18, 19, 19, 19, 19, 19] + # [空中连斩]附加攻击力 + data7 = [0, 63, 68, 72, 76, 79, 84, 87, 93, 96, 99, 104, 107, 111, 115, 120, 123, 127, 131, 134, 138, 143, 147, 150, 155, 159, 161, 166, 171, 174, 177, 183, 186, 190, 196, 198, 202, 204, 209, 214, 219] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return round(self.data1[self.等级] / 100 + 1, 3) + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 != '太刀': + return 1.0 + else: + return round(self.data2[self.等级] / 100 + 1, 3) + + def 刺伤概率(self, 武器类型): + if 武器类型 != '太刀': + return 0 + else: + return self.data3[self.等级] / 100 + + # 17层结算一次 + 刺伤层数 = 0 + 刺伤浮动 = 1 + + def 刺伤百分比(self, 武器类型): + if 武器类型 != '太刀': + return 0 + else: + return self.刺伤浮动 * self.刺伤层数 / 17 * self.data5[self.等级] + + # [空中连斩]附加攻击力 + def 太刀附加(self, 武器类型): + if 武器类型 != '太刀': + return 0 + else: + return self.data7[self.等级] + + def 等级加成(self, x, char={}): + if self.等级 != 0: + self.等级 += int(x) + + +class 技能7(被动技能): + 名称 = '巨剑精通' + 所在等级 = 15 + 等级上限 = 2 + 学习间隔 = 3 + 等级精通 = 1 + + # 物理攻击力增加 + data1 = [0, 14.4, 15.9, 17.4, 18.9, 20.4, 21.9, 23.4, 24.9, 26.4, 27.9, 29.4, 30.9, 32.4, 33.9, 35.4, 36.9, 38.4, 39.9, 41.4, 42.9, 44.4, 45.9, 47.9, 49.9, 51.9, 53.9, 55.9, 57.9, 59.9, 61.9, 63.9, 65.9, 67.9, 69.9, 71.9, 73.9, 75.9, 77.9, 79.9, 81.9] + # 魔法攻击力增加 + data2 = [0, 1.4, 3.1, 4.6, 6, 7.5, 9, 10.6, 12.1, 13.6, 15.1, 16.5, 18.1, 19.6, 21.1, 22.6, 24.2, 25.7, 27.1, 28.6, 30.2, 31.7, 33.2, 34.7, 36.3, 37.7, 39.2, 40.7, 42.2, 43.8, 45.3, 46.8, 48.2, 49.8, 51.3, 52.8, 54.3, 55.9, 57.4, 58.8, 60.3] + # [里 · 鬼剑术]额外附加 + data3 = [0, 656, 695, 729, 763, 802, 835, 873, 908, 942, 980, 1014, 1048, 1087, 1121, 1153, 1194, 1226, 1264, 1299, 1332, 1370, 1405, 1439, 1478, 1511, 1549, 1584, 1618, 1656, 1690, 1724, 1762, 1797, 1830, 1869, 1903, 1940, 1976, 2008, 2046] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return round(self.data1[self.等级] / 100 + 1, 3) + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 != '巨剑': + return 1.0 + else: + return round(self.data2[self.等级] / 100 + 1, 3) + + def 里鬼附加百分比(self, 武器类型): + if 武器类型 != '巨剑': + return 0 + else: + return self.data3[self.等级] + + def 等级加成(self, x, char={}): + if self.等级 != 0: + self.等级 += int(x) + + +class 技能8(被动技能): + 名称 = '钝器精通' + 所在等级 = 15 + 等级上限 = 2 + 学习间隔 = 3 + 等级精通 = 1 + # 物理攻击力增加 + data1 = [0, 11.3, 12.8, 14.3, 15.8, 17.3, 18.8, 20.3, 21.8, 23.3, 24.8, 26.3, 27.8, 29.3, 30.8, 32.3, 33.8, 35.3, 36.8, 38.3, 39.8, 41.3, 42.8, 44.8, 46.8, 48.8, 50.8, 52.8, 54.8, 56.8, 58.8, 60.8, 62.8, 64.8, 66.8, 68.8, 70.8, 72.8, 74.8, 76.8, 78.8] + # 魔法攻击力增加 + data2 = [0, 1.4, 2.9, 4.4, 5.8, 7.3, 8.7, 10.2, 11.7, 13.2, 14.6, 16, 17.5, 18.9, 20.4, 21.9, 23.4, 24.8, 26.2, 27.7, 29.1, 30.6, 32.1, 33.6, 35, 36.4, 37.9, 39.3, 40.8, 42.3, 43.8, 45.2, 46.6, 48.1, 49.6, 51, 52.5, 54, 55.4, 56.8, 58.3] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '钝器': + return 1.0 + else: + return round(self.data1[self.等级] / 100 + 1, 3) + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 != '钝器': + return 1.0 + else: + return round(self.data2[self.等级] / 100 + 1, 3) + + def 等级加成(self, x, char={}): + if self.等级 != 0: + self.等级 += int(x) + + +class 技能9(被动技能): + 名称 = '光剑精通' + 所在等级 = 15 + 等级上限 = 2 + 学习间隔 = 3 + 等级精通 = 1 + # 物理攻击力增加 + data1 = [0, 9.5, 11, 12.5, 14, 15.5, 17, 18.5, 20, 21.5, 23, 24.5, 26, 27.5, 29, 30.5, 32, 33.5, 35, 36.5, 38, 39.5, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77] + # 魔法攻击力增加 + data2 = [0, 2.5, 3.8, 5, 6.3, 7.6, 8.8, 10.1, 11.3, 12.6, 13.9, 15.1, 16.4, 17.6, 18.9, 20.2, 21.4, 22.7, 23.9, 25.2, 26.5, 27.7, 29, 30.2, 31.5, 32.8, 34, 35.3, 36.5, 37.8, 39.1, 40.3, 41.6, 42.8, 44.1, 45.4, 46.6, 47.9, 49.1, 50.4, 51.7] + + def 物理攻击力倍率(self, 武器类型): + if 武器类型 != '光剑': + return 1.0 + else: + return round(self.data1[self.等级] / 100 + 1, 3) + + def 魔法攻击力倍率(self, 武器类型): + if 武器类型 != '光剑': + return 1.0 + else: + return round(self.data2[self.等级] / 100 + 1, 3) + + +class 技能10(剑魂流系技能): + 名称 = '流心刺' + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 280] + 无色消耗 = 0 + data0 = [0, 2544, 2801, 3061, 3319, 3577, 3837, 4092, 4350, 4610, 4872, 5129, 5387, 5647, 5905, 6163, 6420, 6676, 6936, 7194, 7451, 7711, 7967, 8227, 8485, 8745, 9004, 9263, 9518, 9774, 10032, 10293, 10552, 10810, 11069, 11326, 11580, 11838, 12098, 12356, 12616, 12877, 13134, 13390, 13649, 13905, 14164, 14423, 14681, 14939, 15197, 15455, 15714, 15972, 16230, 16487, 16744, 17003, 17262, 17520, 17779, 18038, 18296, 18552, 18811, 19070, 19328, 19586, 19843, 20100, 20359] + TP成长 = 0.1 + TP上限 = 7 + + 武器倍率 = {'短剑': 2 + 1, '光剑': 4 * 0.63, '巨剑': 2 + + 1, '钝器': 2 * 1.25, '太刀': 4 * 0.63} + + # 95被动相关 + 地面被动倍率 = {'短剑': 1.0, '光剑': 1.0, '巨剑': 1.0, '钝器': 1.0, '太刀': 1.0} + 空中被动倍率 = {'短剑': 1.0, '光剑': 1.0, '巨剑': 1.0, '钝器': 1.0, '太刀': 1.0} + + hit数 = 4 + 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87] + 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + def 穿云刺数量(self, 武器类型): + return 2 + + 形态 = ['地面','空中'] + + def 形态变更(self, 形态, char: Character): + if 形态 == '' and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + # self.武器倍率 = {'短剑': 2 + 1, '光剑': 4 * 0.63, + # '巨剑': 2 + 1, '钝器': 2 * 1.25, '太刀': 4 * 0.63} + self.power0 = self.地面被动倍率[char.武器类型] + elif 形态 == "空中": + # self.武器倍率 = {'短剑': 2, '光剑': 2, '巨剑': 2, '钝器': 2 * 1.25, '太刀': 2} + self.power0 = self.空中被动倍率[char.武器类型] + self.hit数 = 2 + +class 技能11(被动技能): + 名称 = '无我剑气' + 所在等级 = 20 + 等级上限 = 15 + 学习间隔 = 3 + 等级精通 = 5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.00 + 0.02 * self.等级, 5) + + +class 技能12(剑魂流系技能): + 名称 = '流心跃' + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [30, 350] + 无色消耗 = 0 + data0 = [0, 7065, 7782, 8497, 9214, 9931, 10650, 11369, 12086, 12802, 13518, 14235, 14953, 15670, 16387, 17106, 17822, 18538, 19254, 19972, 20689, 21406, 22123, 22838, 23556, 24274, 24992, 25705, 26425, 27142, 27856, 28574, 29292, 30008, 30726, 31443, 32155, 32874, 33589, 34309, 35028, 35744, 36460, 37177, 37893, 38609, 39329, 40044, 40761, 41479, 42195, 42912, 43629, 44347, 45064, 45780, 46496, 47213, 47933, 48650, 49367, 50085, 50799, 51515, 52232, 52949, 53668, 54385, 55101, 55819, 56536] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 武器倍率 = {'短剑': 2 * 0.5, '光剑': 1, '巨剑': 1, '钝器': 1, '太刀': 2 * 0.5} + + # 95被动相关 + 地面被动倍率 = {'短剑': 1.0, '光剑': 1.0, '巨剑': 1.0, '钝器': 1.0, '太刀': 1.0} + 空中被动倍率 = {'短剑': 1.0, '光剑': 1.0, '巨剑': 1.0, '钝器': 1.0, '太刀': 1.0} + + hit数 = 2 + 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 100, 100, 100, 100] + 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + def 穿云刺数量(self, 武器类型): + return 2 + + 形态 = ['地面', '空中'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.武器倍率['钝器'] = 1.0 + elif 形态 == "空中": + self.武器倍率['钝器'] = 1.2 + self.power0 = self.空中被动倍率[char.武器类型] + + +class 技能13(剑魂主动技能): + 名称 = '流心狂' + 所在等级 = 30 + 等级上限 = 20 + 学习间隔 = 3 + 等级精通 = 10 + 是否有伤害 = 0 + MP = [20, 168] + 关联技能 = ['流心刺', '流心跃', '流心升'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.20 + 0.02 * self.等级, 5) + + +class 技能14(剑魂流系技能): + 名称 = '流心升' + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 8 + MP = [50, 490] + 无色消耗 = 0 + data0 = [0, 4198, 4624, 5054, 5478, 5905, 6332, 6756, 7183, 7608, 8033, 8463, 8890, 9313, 9739, 10164, 10594, 11018, 11444, 11873, 12298, 12722, 13152, 13575, 14002, 14428, 14855, 15282, 15707, 16130, 16559, 16986, 17410, 17838, 18264, 18690, 19115, 19540, 19970, 20395, 20819, 21245, 21672, 22101, 22527, 22951, 23377, 23804, 24228, 24654, 25084, 25510, 25935, 26360, 26788, 27213, 27636, 28070, 28494, 28918, 29344, 29771, 30196, 30623, 31048, 31476, 31902, 32326, 32753, 33179, 33606] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 武器倍率 = {'短剑': 1 + 1.1, '光剑': 3 * 0.8, + '巨剑': 1 + 1.1, '钝器': 1 + 1.1, '太刀': 3 * 0.8} + + hit数 = 3 + 刺伤几率 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4] + 可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9, 2.9] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + def 穿云刺数量(self, 武器类型): + return 2 + + +class 技能15(剑魂主动技能): + 名称 = "破军升龙击" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 10 + MP = [70, 700] + 无色消耗 = 0 + data0 = [0, 1856, 2045, 2232, 2421, 2607, 2798, 2987, 3172, 3362, 3549, 3739, 3926, 4113, 4303, 4491, 4679, 4868, 5055, 5246, 5434, 5622, 5811, 5997, 6187, 6374, 6563, 6752, 6941, 7129, 7316, 7504, 7694, 7885, 8068, 8259, 8448, 8635, 8826, 9013, 9202, 9389, 9579, 9769, 9955, 10145, 10333, 10520, 10708, 10895, 11085, 11274, 11459, 11651, 11838, 12024, 12211, 12401, 12589, 12780, 12970, 13157, 13346, 13531, 13720, 13912, 14095, 14285, 14473, 14662, 14850] + data1 = [0, 2866, 3154, 3444, 3735, 4026, 4317, 4606, 4897, 5188, 5478, 5772, 6061, 6349, 6643, 6932, 7223, 7514, 7805, 8093, 8384, 8676, 8967, 9257, 9544, 9840, 10129, 10420, 10712, 11002, 11288, 11582, 11873, 12163, 12454, 12742, 13033, 13326, 13617, 13908, 14199, 14490, 14778, 15067, 15359, 15650, 15940, 16229, 16521, 16810, 17105, 17396, 17683, 17973, 18265, 18557, 18848, 19135, 19426, 19718, 20009, 20300, 20590, 20879, 21170, 21462, 21753, 22044, 22334, 22625, 22915] + TP成长 = 0.1 + TP上限 = 7 + + # 光剑下破军升龙击冲撞攻击力实际为面板的0.89,但游戏中并未有相关说明 + 冲撞倍率 = {'短剑': 2, '光剑': 4*0.89, '巨剑': 2, '钝器': 2, '太刀': 2} + 上斩倍率 = {'短剑': 1, '光剑': 1, '巨剑': 3, '钝器': 3, '太刀': 2} + 武器倍率 = {'短剑': 1.45, '光剑': 1, '巨剑': 1, '钝器': 1, '太刀': 1} + + 独立倍率 = 1.0 + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '光剑') + self.hit0 = self.冲撞倍率[武器类型] + self.hit1 = self.上斩倍率[武器类型] + return super().等效百分比(**argv) + + # 极神剑术被动相关,短剑影响;与上斩数据相关 + def 极神剑术占比(self, 武器类型): + if self.等级 == 0: + return 0 + return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率 * self.武器百分比修正(武器类型=武器类型) / self.等效百分比(武器类型=武器类型) + + hit数 = 3 + 刺伤几率 = [0, 0, 0, 0, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480, 490, 500, 510, 520, 530, 540, 550, 560, 570, 580, 590, 600, 610, 620, + 630, 640, 650, 660, 670, 680, 690, 700, 710, 720, 730, 740, 750, 760, 770, 780, 790, 800, 810, 820, 830, 840, 850, 860, 870, 880, 890, 900, 910, 920, 930, 940, 950, 960, 970] + 可附加的刺伤数量 = [0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] + + def 额外刺伤层数(self, 武器类型): + return self.刺伤几率[self.等级] / 1000 * self.可附加的刺伤数量[self.等级] + + +class 技能16(剑魂主动技能): + 名称 = "拔刀斩" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 15 + MP = [110, 924] + 无色消耗 = 1 + data0 = [0, 9191, 10128, 11061, 11992, 12923, 13855, 14792, 15723, 16655, 17588, 18519, 19454, 20386, 21318, 22250, 23183, 24114, 25049, 25982, 26913, 27847, 28781, 29712, 30647, 31580, 32513, 33445, 34376, 35308, 36242, 37172, 38107, 39042, 39973, 40905, 41838, 42771, 43704, 44635, 45567, 46501, 47436, 48368, 49301, 50234, 51165, 52099, 53030, 53964, 54895, 55828, 56761, 57694, 58629, 59560, 60493, 61425, 62360, 63289, 64223, 65158, 66089, 67022, 67954, 68887, 69823, 70753, 71684, 72619, 73549] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 武器倍率 = {'短剑': 1.4, '光剑': 1.3, '巨剑': 1.3, '钝器': 1.3, '太刀': 1.25} + + 是否有护石 = 1 + 触发神影手 = 0 + + # 拔刀奥义 + # 准备动作时间 -30% + # 短剑 : 剑气的拔刀斩攻击力比率 +28% + # 太刀 : 追加攻击的拔刀斩攻击力比率 +25% + # 钝器 : 追加攻击的拔刀斩攻击力比率 +26% + # 巨剑 : [巨剑精通]最大蓄气时[拔刀斩]攻击力增加量 +26% + # 光剑 : 追加攻击的拔刀斩攻击力比率 +26% + # 攻击成功时发动[神影手] (一次[拔刀斩]最多发动1次) + # 攻击范围 +20% + # 攻击力 +5% + + def 装备护石(self, char): + self.武器倍率 = {'短剑': 1.4 + 0.28, '光剑': 1.3 + 0.26, + '巨剑': 1.3 + 0.26, '钝器': 1.3 + 0.26, '太刀': 1.25 + 0.25} + self.倍率 *= 1.12 + self.触发神影手 = 1 + + hit数 = 2 + 刺伤几率 = [0, 0, 0, 0, 0, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 可附加的刺伤数量 = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10] + 追加刺伤几率 = [0, 0, 0, 0, 0, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 追加可附加的刺伤数量 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + self.追加刺伤几率[self.等级] / 100 * self.追加可附加的刺伤数量[self.等级] + + +class 技能17(剑魂主动技能): + 名称 = '破军斩龙击' + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + + data0 = [0, 4786, 5272, 5759, 6246, 6729, 7214, 7702, 8186, 8670, 9163, 9644, 10131, 10619, 11103, 11587, 12076, 12561, 13047, 13530, 14018, 14505, 14988, 15477, 15962, 16448, 16933, 17421, 17904, 18390, 18877, 19362, 19846, 20335, 20821, 21307, 21789, 22278, 22763, 23248, 23736, 24221, 24706, 25192, 25678, 26161, 26651, 27136, 27624, 28106, 28592, 29081, 29565, 30047, 30538, 31021, 31511, 31997, 32482, 32968, 33452, 33939, 34425, 34911, 35396, 35882, 36367, 36854, 37339, 37826, 38311] + hit0 = 1 + data1 = [0, 5745, 6328, 6910, 7493, 8079, 8663, 9240, 9828, 10409, 10994, 11575, 12159, 12743, 13324, 13906, 14487, 15073, 15658, 16239, 16824, 17405, 17988, 18570, 19153, 19739, 20322, 20904, 21487, 22069, 22652, 23237, 23820, 24399, 24986, 25568, 26149, 26737, 27317, 27901, 28484, 29062, 29650, 30229, 30813, 31400, 31979, 32566, 33145, 33726, 34309, 34899, 35478, 36060, 36643, 37227, 37811, 38394, 38975, 39563, 40141, 40726, 41310, 41892, 42475, 43056, 43640, 44222, 44808, 45391, 45971] + hit1 = 1 + data2 = [0, 8619, 9496, 10367, 11241, 12115, 12991, 13865, 14742, 15617, 16492, 17363, 18237, 19113, 19988, 20864, 21737, 22610, 23485, 24359, 25234, 26108, 26984, 27861, 28732, 29605, 30483, 31358, 32232, 33103, 33980, 34856, 35728, 36601, 37478, 38350, 39223, 40101, 40974, 41852, 42727, 43600, 44471, 45348, 46221, 47098, 47972, 48849, 49718, 50594, 51469, 52344, 53220, 54093, 54968, 55841, 56714, 57591, 58465, 59341, 60218, 61088, 61963, 62840, 63713, 64587, 65462, 66335, 67210, 68083, 68961] + hit2 = 1 + TP成长 = 0.10 + TP上限 = 5 + CD = 25.0 + + MP = [30, 450] + 无色消耗 = 1 + + hit数 = 4 + 刺伤几率 = [0, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 可附加的刺伤数量 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + def 穿云刺数量(self, 武器类型): + return 5 + + +class 技能18(剑魂主动技能): + 名称 = "猛龙断空斩" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [25, 420] + 无色消耗 = 1 + data0 = [0, 2833, 3124, 3411, 3697, 3987, 4274, 4560, 4848, 5136, 5422, 5710, 5998, 6288, 6577, 6864, 7148, 7439, 7727, 8012, 8301, 8589, 8877, 9163, 9453, 9741, 10028, 10314, 10604, 10891, 11177, 11466, 11754, 12039, 12328, 12617, 12904, 13191, 13479, 13768, 14055, 14343, 14630, 14919, 15205, 15492, 15779, 16069, 16356, 16643, 16934, 17221, 17507, 17795, 18084, 18369, 18658, 18942, 19233, 19522, 19810, 20099, 20385, 20672, 20961, 21248, 21534, 21824, 22109, 22399, 22687] + hit0 = 2 + data1 = [0, 4164, 4589, 5011, 5434, 5854, 6279, 6701, 7126, 7545, 7969, 8392, 8812, 9240, 9660, 10081, 10506, 10927, 11349, 11772, 12196, 12619, 13039, 13462, 13888, 14309, 14733, 15156, 15577, 16000, 16423, 16846, 17269, 17690, 18112, 18537, 18960, 19382, 19802, 20228, 20648, 21071, 21494, 21917, 22339, 22762, 23186, 23609, 24028, 24453, 24875, 25298, 25721, 26142, 26566, 26989, 27409, 27833, 28256, 28680, 29100, 29523, 29948, 30371, 30790, 31217, 31637, 32058, 32484, 32907, 33330] + hit1 = 2 + TP成长 = 0.1 + TP上限 = 5 + + 武器倍率 = {'短剑': 1.25, '光剑': 1.0, '巨剑': 1.0, '钝器': 1.0, '太刀': 1.0} + + hit数 = 4 + 8 + 旋风攻击次数 = 4 * 2 + 是否有护石 = 1 + + 独立倍率 = 1.0 + + # 极神剑术被动相关,短剑影响 + def 极神剑术占比(self, 武器类型): + if self.等级 == 0: + return 0 + return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率 * self.武器百分比修正(武器类型=武器类型) / self.等效百分比(武器类型=武器类型) + + # 猛龙过江 + # 巴恩的飓风强化 (学习[极 · 神剑术]后发动) + # - 移动时追击周围敌人 + # - 持续时间 +1秒 + # - 多段攻击次数上限 +5 + # - 攻击力 -57% + # - 突进上斩动作结束时生成旋风 + # - 大小 +80% + # - 多段攻击次数上限 +2次 + + def 装备护石(self, char): + self.hit数 = 4 + 11 * 3 + self.旋风攻击次数 = 11 * 3 * 0.43 + self.倍率 *= 1.07 + + +class 技能19(剑魂主动技能): + 名称 = "幻影剑舞" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 1051, 1161, 1269, 1376, 1481, 1591, 1694, 1802, 1911, 2014, 2122, 2229, 2340, 2446, 2550, 2658, 2767, 2875, 2980, 3087, 3193, 3300, 3408, 3516, 3623, 3728, 3836, 3945, 4051, 4157, 4264, 4369, 4479, 4584, 4691, 4802, 4904, 5012, 5122, 5227, 5334, 5439, 5549, 5655, 5761, 5869, 5977, 6080, 6190, 6299, 6405, 6513, 6618, 6727, 6833, 6939, 7046, 7152, 7260, 7366, 7475, 7582, 7690, 7796, 7903, 8009, 8115, 8223, 8328, 8434] + data1 = [0, 4219, 4645, 5074, 5501, 5929, 6360, 6786, 7215, 7643, 8069, 8502, 8924, 9351, 9786, 10210, 10640, 11067, 11493, 11923, 12350, 12778, 13209, 13635, 14062, 14490, 14918, 15343, 15773, 16203, 16632, 17060, 17487, 17915, 18343, 18768, 19201, 19627, 20053, 20484, 20912, 21339, 21766, 22191, 22623, 23052, 23481, 23908, 24335, 24763, 25191, 25619, 26047, 26476, 26903, 27328, 27762, 28188, 28613, 29043, 29470, 29900, 30325, 30754, 31185, 31611, 32040, 32469, 32895, 33323, 33753] + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + 影子斩击次数 = 4 + + 独立倍率 = 1.0 + + # 这里的武器倍率已经被计算入内 + 斩击倍率 = {'短剑': 12 * 0.9, '光剑': 24 * 0.75, + '巨剑': 12 * 1.5, '钝器': 12, '太刀': 24 * 0.75} + 剑气倍率 = {'短剑': 4 * 1.2, '光剑': 3, '巨剑': 3, '钝器': 4.2, '太刀': 3} + + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '光剑') + self.hit0 = self.斩击倍率[武器类型] + self.hit1 = self.剑气倍率[武器类型] + return super().等效百分比(**argv) + + # 极神剑术被动相关,武器倍率不影响 + def 极神剑术斩击占比(self, 武器类型): + return self.data0[self.等级] * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率 / self.等效百分比(武器类型=武器类型) + + # 极神剑术被动相关,武器倍率不影响 + def 极神剑术剑气占比(self, 武器类型): + return self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.技攻 * self.倍率 / self.等效百分比(武器类型=武器类型) + + hit数 = 24 + 3 + 4 + 3 # 本体斩击:24 本体剑气:3 影子斩击:4 影子剑气:3 + 刺伤几率 = [0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35] + 可附加的刺伤数量 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] * (24 + 3) + + def 穿云刺数量(self, 武器类型): + return 4 + + # 无形剑舞 + # 攻击范围 +25% + # 幻影斩击多段攻击次数 +8次 + # 施放过程中所受伤害 -90% + # 幻影斩击多段攻击次数 +5次 + + def 装备护石(self, char): + self.倍率 *= 1.06 + self.影子斩击次数 += 13 + self.hit数 += 13 + + +class 技能20(被动技能): + 名称 = '极鬼剑术斩铁式' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(0.995 + 0.03 + 0.02 * self.等级, 5) + + +class 技能21(剑魂主动技能): + 名称 = '极鬼剑术暴风式' + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [980, 8232] + 无色消耗 = 5 + data0 = [0, 6010, 7401, 8795, 10189, 11584, 12977, 14372, 15766, 17160, 18552, 19949, 21341, 22735, 24130, 25526, 26920, 28310, 29704, 31099, 32491, 33884, 35278, 36674, 38070, 39461, 40855, 42252, 43643, 45037, 46433, 47826, 49222, 50612, 52004, 53398, 54795, 56187, 57578, 58975, 60366, 61763, 63157, 64552, 65946, 67338, 68732, 70127, 71521, 72913, 74306] + hit0 = 1 + data1 = [0, 2860, 3526, 4186, 4853, 5512, 6182, 6842, 7505, 8172, 8834, 9497, 10163, 10825, 11491, 12156, 12817, 13479, 14145, 14809, 15472, 16135, 16802, 17461, 18128, 18788, 19456, 20115, 20781, 21445, 22111, 22774, 23436, 24101, 24764, 25425, 26093, 26754, 27419, 28081, 28746, 29409, 30074, 30739, 31401, 32065, 32727, 33392, 34056, 34720, 35382] + hit1 = 24 + data2 = [0, 11159, 13750, 16340, 18929, 21512, 24104, 26694, 29281, 31867, 34457, 37048, 39636, 42222, 44811, 47403, 49989, 52579, 55167, 57756, 60344, 62930, 65522, 68111, 70698, 73284, 75874, 78466, 81052, 83642, 86228, 88819, 91406, 93997, 96585, 99174, 101761, 104347, 106939, 109523, 112115, 114702, 117290, 119878, 122469, 125055, 127646, 130234, 132823, 135414, 137998] + hit2 = 1 + + hit数 = 26 + + def 等效百分比(self, **argv): + return super().等效百分比(**argv) * (1.1 if self.等级 >=9 else 1.0) + + +class 技能22(剑魂主动技能): + 名称 = '极神剑术流星落' + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 35 + MP = [420, 1200] + 无色消耗 = 1 + data0 = [0, 4360, 4806, 5246, 5691, 6131, 6577, 7016, 7460, 7903, 8344, 8788, 9232, 9672, 10116, 10560, 11000, 11443, 11889, 12328, 12771, 13214, 13658, 14099, 14543, 14982, 15427, 15870, 16312, 16752, 17196, 17641, 18081, 18526, 18968, 19406, 19852, 20294, 20740, 21180, 21624, 22063, 22509, 22953, 23392, 23837, 24278, 24718, 25162, 25609, 26049] + hit0 = 1 + data1 = [0, 800, 883, 966, 1047, 1127, 1211, 1292, 1373, 1456, 1536, 1621, 1698, 1784, 1865, 1945, 2027, 2108, 2188, 2267, 2353, 2433, 2511, 2599, 2680, 2759, 2842, 2922, 3004, 3085, 3168, 3248, 3332, 3412, 3493, 3574, 3655, 3736, 3819, 3903, 3983, 4066, 4146, 4226, 4309, 4389, 4468, 4554, 4633, 4716, 4799] + hit1 = 38 + data2 = [0, 8724, 9611, 10494, 11378, 12267, 13150, 14035, 14923, 15806, 16689, 17580, 18460, 19344, 20234, 21119, 22002, 22890, 23774, 24657, 25547, 26427, 27312, 28199, 29084, 29968, 30857, 31740, 32621, 33508, 34395, 35277, 36167, 37051, 37933, 38821, 39707, 40588, 41479, 42362, 43249, 44132, 45016, 45902, 46787, 47675, 48558, 49445, 50329, 51214, 52099] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 流星之天剑倍率 = 1.0 # 极神剑术被动相关 + + 独立倍率 = 1.0 + + hit数 = 40 + 流星之天剑刺伤层数 = 0 # 极神剑术被动相关 + 刺伤几率 = [0, 29, 32, 35, 38, 41, 44, 47, 50, 53, 56, 59, 62, 65, 68, 71, 74, 77, 80, 83, 86, 89, 92, 95, 98, 101, 104, 107, 110, 113, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 176] + 可附加的刺伤数量 = [0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] + + def 额外刺伤层数(self, 武器类型): + return min(self.刺伤几率[self.等级] / 100, 1) * self.可附加的刺伤数量[self.等级] + self.流星之天剑刺伤层数 + + # 流星审判 + # 跳跃冲击波攻击强制控制敌人1.5秒 + # 跳跃动作变更为无敌状态, 落地后增加1秒无敌时间 + # 投掷流星剑前置准备时间 -50% + # 流星剑间隔 -20% + # 流星剑数量 +9个 + # 流星剑和流星之天剑攻击范围 +55% + # 流星之天剑攻击力 +35% + # 流星之天剑强制控制时间 +60% + + def 装备护石(self, char): + self.hit数 += 9 + self.hit1 += 9 + self.流星之天剑倍率 = 2.05 + + +class 技能23(剑魂主动技能): + 名称 = '破空拔刀斩' + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 48046, 52921, 57792, 62669, 67540, 72419, 77292, 82166, 87040, 91915, 96788, 101664, 106540, 111411, 116286, 121159, 126033, 130909, 135781, 140657, 145532, 150405, 155282, 160155, 165029, 169904, 174777, 179653, 184522, 189401, 194274, 199150, 204024, 208900, 213771, 218648, 223520, 228396, 233269, 238144, 243019, 247892, 252764, 257643, 262515, 267391, 272263, 277138, 282013, 286886] + hit0 = 1 + data1 = [0, 43251, 47636, 52024, 56410, 60798, 65188, 69575, 73961, 78353, 82739, 87127, 91512, 95901, 100289, 104672, 109065, 113452, 117839, 122224, 126614, 131004, 135390, 139776, 144168, 148556, 152942, 157331, 161714, 166101, 170488, 174878, 179267, 183653, 188040, 192427, 196818, 201205, 205593, 209981, 214371, 218757, 223145, 227530, 231919, 236304, 240696, 245081, 249469, 253854, 258242] + hit1 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + MP = [800, 1680] + 无色消耗 = 2 + + hit数 = 1 + 刺伤几率 = [0, 31, 35, 39, 43, 47, 51, 55, 59, 63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 可附加的刺伤数量 = [0, 3, 3, 3, 5, 5, 5, 7, 7, 7, 9, 9, 9, 11, 11, 11, 13, 13, 13, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15] + + def 额外刺伤层数(self, 武器类型): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + 形态 = ['近距离', '剑气'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "近距离": + self.power0 = 1 + self.power1 = 0 + elif 形态 == "剑气": + self.power0 = 0 + self.power1 = 1 + # 破空一刀 + # 剑气攻击适用与近距离击打相同的攻击力 + # 准备动作时间 -40% + # 冷却时间 -10% + # 剑气生成后僵直 -20% + # 攻击力 +11% + + def 装备护石(self, char): + self.data1 = self.data0 + self.倍率 *= 1.19 + self.CDR *= 0.9 + + +class 技能24(被动技能): + 名称 = '神影手' + 所在等级 = 70 + 等级上限 = 1 + 学习间隔 = 1 + 等级精通 = 1 + 关联技能 = ['无'] + 百分比 = 4080 + + +class 技能25(剑魂主动技能): + 名称 = '极神剑术破空斩' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 35 + MP = [580, 4500] + 无色消耗 = 3 + data0 = [0, 7692, 8472, 9255, 10031, 10814, 11592, 12373, 13152, 13936, 14714, 15495, 16275, 17059, 17838, 18615, 19399, 20177, 20960, 21738, 22520, 23298, 24079, 24860, 25640, 26420, 27200, 27981, 28762, 29542, 30322, 31104, 31886, 32664, 33446, 34224, 35009, 35787, 36568, 37346, 38128, 38906, 39688, 40469, 41248, 42027, 42808, 43590, 44370, 45152, 45929] + data1 = [0, 25640, 28241, 30843, 33446, 36046, 38646, 41248, 43849, 46451, 49051, 51656, 54253, 56855, 59458, 62060, 64660, 67265, 69863, 72466, 75064, 77667, 80269, 82870, 85469, 88073, 90674, 93273, 95878, 98479, 101079, 103680, 106283, 108884, 111487, 114087, 116687, 119288, 121888, 124492, 127089, 129697, 132295, 134898, 137498, 140101, 142700, 145304, 147905, 150505, 153105] + + 是否有护石 = 1 + # 武器倍率已计入 + 多段倍率 = {'短剑': 5, '光剑': 6, '巨剑': 5 * 1.08, '钝器': 5, '太刀': 6} + 爆炸倍率 = {'短剑': 1, '光剑': 1, '巨剑': 1.08, '钝器': 1, '太刀': 1} + # def 等效百分比(self, 武器类型): + # return (self.多段倍率[武器类型] * self.data1[self.等级] + self.爆炸倍率[武器类型] * self.data2[self.等级]) * self.技攻 * self.倍率 + + # 极神剑术被动相关,巨剑蓄力会影响 + def 等效百分比(self, **argv): + 武器类型 = argv.get('武器类型', '光剑') + self.hit0 = self.多段倍率[武器类型] + self.hit1 = self.爆炸倍率[武器类型] + return super().等效百分比(**argv) + + # 极神剑术被动相关,巨剑蓄力会影响 + def 极神剑术占比(self, 武器类型): + if self.等级 == 0: + return 0 + return self.爆炸倍率[武器类型] * self.data1[self.等级] * self.技攻 * self.倍率 / self.等效百分比(武器类型=武器类型) + + hit数 = 7 + 刺伤几率 = [0, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 125, 127, 129, 131, 133, 135, 137, 139, 141, 143, 145, 147, 149, 151] + 可附加的刺伤数量 = [0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3] + + def 额外刺伤层数(self, 武器类型): + return min(self.刺伤几率[self.等级] / 1000, 1) * self.可附加的刺伤数量[self.等级] + + def 穿云刺数量(self, 武器类型): + return 4 + + def 装备护石(self, char): + self.data1 = [i * 1.62 for i in self.data1] + + +class 技能26(被动技能): + 名称 = '极神剑术' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 额外倍率 = 1.0 + + 关联技能 = ['拔刀斩', '破军斩龙击', '极鬼剑术暴风式', '破空拔刀斩', + '极神剑术瞬斩', '万剑归宗', '极神剑术无形斩', '万剑极诣开天斩'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + # 基础值 40% + 暴风式冲击波 = [0, 0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60, 64, 68, 72, 76, 80, 84, 88, 92, 96, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 148, 152, 156, 160, 164, 168, 172, 176, 180, 184, 188, 192, 196] + # 基础值 21% + 飓风 = [0, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98] + # 基础值 55% + 幻影斩击 = [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245] + # 基础值 55% + 幻影剑气 = [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245] + # 基础值 41% + 幻影钝器 = [0, 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245] + # 基础值 60% + 十字斩 = [0, 0, 6, 12, 18, 24, 30, 36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120, 126, 132, 138, 144, 150, 156, 162, 168, 174, 180, 186, 192, 198, 204, 210, 216, 222, 228, 234, 240, 246, 252, 258, 264, 270, 276, 282, 288, 294] + # 流星之天剑 + 流星之天剑 = [0, 4698, 5090, 5480, 5871, 6266, 6657, 7046, 7438, 7828, 8220, 8613, 9004, 9394, 9787, 10179, 10567, 10960, 11349, 11743, 12135, 12526, 12917, 13310, 13703, 14093, 14485, 14876, 15267, 15657, 16049, 16440, 16833, 17226, 17615, 18007, 18399, 18815, 19207, 19599, 19993, 20384, 20776, 21168, 21560, 21954, 22345, 22737, 23129, 23521, 23915] + # 巨剑流星之天剑追加 + 巨剑流星之天剑 = [0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60] + # 钝器冲击波 + 钝器流星之天剑 = [0, 2911, 3156, 3402, 3643, 3891, 4135, 4384, 4630, 4872, 5120, 5365, 5611, 5855, 6098, 6346, 6592, 6836, 7083, 7326, 7573, 7818, 8066, 8311, 8554, 8801, 9046, 9290, 9537, 9780, 10025, 10272, 10519, 10766, 11008, 11255, 11500, 11748, 11994, 12237, 12480, 12728, 12973, 13220, 13464, 13709, 13957, 14201, 14447, 14691, 14936] + # 太刀刺伤 + 刺伤几率 = [0, 64, 67, 70, 73, 76, 79, 82, 85, 88, 91, 94, 97, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100] + 可附加的刺伤数量 = [0, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12] + # 光剑冲击波 + 光剑流星之天剑 = [0, 1948, 2246, 2542, 2839, 3134, 3430, 3725, 4023, 4320, 4614, 4913, 5209, 5504, 5801, 6097, 6393, 6689, 6988, 7281, 7578, 7877, 8169, 8466, 8762, 9060, 9355, 9651, 9948, 10246, 10540, 10835, 11134, 11428, 11725, 12023, 12315, 12613, 12910, 13207, 13501, 13799, 14095, 14393, 14689, 14982, 15281, 15576, 15871, 16169, 16466] + + def 天剑刺伤层数(self): + return int(self.刺伤几率[self.等级]) / 100 * self.可附加的刺伤数量[self.等级] + + def 附加倍率(self, 技能): + if 技能 == '破军升龙击': + return (0.40 + self.暴风式冲击波[self.等级] / 100) * self.额外倍率 + elif 技能 == '猛龙断空斩': + return (0.21 + self.飓风[self.等级] / 100) * self.额外倍率 + elif 技能 == '幻影剑舞斩击': + return (0.55 + self.幻影斩击[self.等级] / 100) * self.额外倍率 + elif 技能 == '幻影剑舞剑气': + return (0.55 + self.幻影剑气[self.等级] / 100) * self.额外倍率 + elif 技能 == '幻影剑舞钝器': + return (0.41 + self.幻影钝器[self.等级] / 100) * self.额外倍率 + elif 技能 == '极神剑术破空斩': + return 0.60 + self.十字斩[self.等级] / 100 + + def 特殊技能加成(self, char, 武器类型): + if self.等级 != 0: + b = char.get_skill_by_name('破军升龙击') + if b.等级 > 0: + b.神剑术倍率 *= 1 + b.极神剑术占比(武器类型) * self.附加倍率('破军升龙击') / b.独立倍率 + + b = char.get_skill_by_name('猛龙断空斩') + if b.等级 > 0: + b.神剑术倍率 *= 1 + b.极神剑术占比(武器类型) * b.旋风攻击次数 * \ + self.附加倍率('猛龙断空斩') / b.独立倍率 + + b = char.get_skill_by_name('幻影剑舞') + if b.等级 > 0: + k = b.极神剑术斩击占比(武器类型) * b.影子斩击次数 * self.附加倍率('幻影剑舞斩击') + if char.武器类型 != '钝器': + 剑气次数 = (4 if 武器类型 == '短剑' else 3) + k += b.极神剑术剑气占比(武器类型) * 剑气次数 * self.附加倍率('幻影剑舞剑气') + else: + k += b.极神剑术剑气占比(武器类型) * 4.2 * self.附加倍率('幻影剑舞钝器') + b.神剑术倍率 *= 1 + k / b.独立倍率 + + b = char.get_skill_by_name('极神剑术破空斩') + if b.等级 > 0: + b.被动倍率 *= 1 + b.极神剑术占比(武器类型) * self.附加倍率('极神剑术破空斩') + + b = char.get_skill_by_name('极神剑术流星落') + if b.等级 > 0: + k = 3 * self.流星之天剑[self.等级] * b.流星之天剑倍率 + if 武器类型 == '太刀': + b.hit数 += 3 + b.流星之天剑刺伤层数 = self.天剑刺伤层数() + elif 武器类型 == '巨剑': + k *= 1 + self.巨剑流星之天剑[self.等级] / 100 + elif 武器类型 == '钝器': + k += 3 * 74 # 极神剑术.钝器流星之天剑[极神剑术.等级] + elif 武器类型 == '光剑': + k += 3 * 74 # 极神剑术.光剑流星之天剑[极神剑术.等级] + # 已知BUG,钝器光剑追加的额外天剑伤害极低,约只有74% + # if self.版本 == 'GF': + # 伤害整合 += temp / (1.2 if ('永恒不息之路[2]' in self.套装栏) else 1.0) + # else: + b.神剑术倍率 *= 1 + k * b.倍率 / b.等效百分比(武器类型=武器类型) / b.独立倍率 + + 自定义描述 = 1 + + def 技能描述(self, 武器类型): + temp = '常规技能攻击力 +%.1f%%' % (22 + 2 * self.等级) + '
' + temp += '[破军升龙击]上斩:%.1f%%' % (self.附加倍率('破军升龙击') * 100) + '
' + temp += '[猛龙断空斩]突进斩击:%.1f%%' % (self.附加倍率('猛龙断空斩') * 100) + '
' + temp += '[幻影剑舞]斩击:%.1f%%' % (self.附加倍率('幻影剑舞斩击') * 100) + '
' + if 武器类型 == '钝器': + temp += '[幻影剑舞]钝器最后一击:%.1f%%' % (self.附加倍率('幻影剑舞钝器') + * 100) + '
' + else: + temp += '[幻影剑舞]剑气:%.1f%%' % (self.附加倍率('幻影剑舞剑气') * 100) + '
' + temp += '[极 · 神剑术 (破空斩)]爆炸:%.1f%%' % (self.附加倍率('极神剑术破空斩') + * 100) + '
' + temp += '流星之天剑攻击力:%.1f%%' % self.流星之天剑[self.等级] + return temp + + +class 技能27(剑魂主动技能): + 名称 = '极神剑术瞬斩' + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 20101, 22139, 24178, 26217, 28256, 30295, 32338, 34374, 36416, 38454, 40492, 42531, 44571, 46610, 48648, 50687, 52726, 54765, 56806, 58846, 60883, 62923, 64962, 67002, 69041, 71083, 73117, 75162, 77195, 79238, 81277, 83316, 85355, 87395, 89432, 91471, 93514, 95549, 97592, 99630, 101671, 103705, 105748, 107786, 109823, 111864, 113903, 115940, 117980, 120023] + hit0 = 1 + data1 = [0, 3289, 3623, 3951, 4288, 4622, 4957, 5289, 5624, 5957, 6289, 6625, 6959, 7293, 7625, 7961, 8294, 8626, 8961, 9295, 9628, 9962, 10297, 10628, 10964, 11299, 11629, 11964, 12299, 12633, 12966, 13300, 13631, 13965, 14298, 14633, 14968, 15300, 15637, 15968, 16302, 16636, 16968, 17305, 17639, 17969, 18305, 18640, 18968, 19304, 19641] + hit1 = 5 + data2 = [0, 54818, 60381, 65941, 71503, 77065, 82628, 88188, 93750, 99310, 104872, 110435, 115995, 121555, 127117, 132680, 138241, 143802, 149362, 154925, 160491, 166050, 171612, 177173, 182734, 188297, 193853, 199418, 204979, 210542, 216103, 221666, 227227, 232788, 238350, 243912, 249471, 255033, 260592, 266156, 271719, 277280, 282839, 288404, 293961, 299524, 305087, 310648, 316207, 321772, 327331] + hit2 = 1 + + hit数 = 7 + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + + +class 技能28(剑魂主动技能): + 名称 = '万剑归宗' + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 5000] + 无色消耗 = 10 + # 该技能hit数不会触发太刀刺伤 + data0 = [0, 7264, 8956, 10643, 12324, 14013, 15701, 17381, 19073, 20753, 22435, 24131, 25812, 27494, 29176, 30870, 32555, 34235, 35920, 37616, 39296, 40977, 42665, 44348, 46038, 47726, 49410, 51091, 52786, 54469, 56148, 57831, 59528, 61207, 62891, 64578, 66261, 67953, 69634, 71327, 73006, 74693, 76382, 78066, 79745, 81430, 83122, 84806, 86487, 88172, 89868] + hit0 = 14 + data1 = [0, 29033, 35769, 42507, 49243, 55964, 62701, 69436, 76177, 82902, 89642, 96376, 103113, 109837, 116571, 123309, 130044, 136776, 143511, 150246, 156971, 163706, 170443, 177179, 183914, 190642, 197378, 204110, 210838, 217578, 224311, 231045, 237780, 244512, 251245, 257980, 264709, 271444, 278183, 284917, 291651, 298377, 305114, 311849, 318580, 325315, 332048, 338785, 345511, 352248, 358982] + hit1 = 2 + data2 = [0, 1568, 1931, 2296, 2661, 3022, 3382, 3752, 4111, 4476, 4842, 5202, 5565, 5929, 6293, 6657, 7020, 7383, 7746, 8110, 8474, 8837, 9201, 9566, 9928, 10294, 10655, 11016, 11381, 11744, 12110, 12474, 12836, 13202, 13565, 13926, 14291, 14657, 15018, 15379, 15743, 16111, 16471, 16833, 17201, 17561, 17925, 18292, 18653, 19016, 19380] + hit2 = 1 + + 形态 = ['终结', '穿云'] + + def 形态变更(self, 形态, char: Character): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "终结": + self.hit0 = 14 + self.hit1 = 2 + self.hit2 = 0 + elif 形态 == "穿云": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + + +class 技能29(被动技能): + 名称 = '无形剑意' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + 关联技能 = ['所有'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + 短剑流心刺 = [0, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99, 102, 105, 108, 111, 114, 117, 120, 123, 126, 129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162, 165, 168, 171, 174, 177] + 短剑流心刺空中 = [0, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 118] + 太刀流心跃 = [0, 4, 4, 5, 5, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 10, 10, 10, 11, 11, 12, 12, 12, 13, 13, 14, 14, 14, 15, 15, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 20, 20, 20, 21, 21, 22, 22, 22, 23, 23, 24] + 太刀流心升 = [0, 12, 13, 14, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44, 46, 47, 48, 49, 50, 52, 53, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 68, 70, 71] + 钝器流心刺 = [0, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105, 110, 115, 120, 125, 130, 135, 140, 145, 150, 155, 160, 165, 170, 175, 180, 185, 190, 195, 200, 205, 210, 215, 220, 225, 230, 235, 240, 245, 250, 255, 260, 265, 270, 275, 280, 285, 290, 295] + 巨剑流心刺下斩 = [0, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159] + 巨剑流心刺旋风 = [0, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107] + 巨剑流心刺空中 = [0, 357, 366, 375, 384, 393, 402, 411, 420, 429, 438, 447, 456, 465, 474, 483, 492, 501, 510, 519, 528, 537, 546, 555, 564, 573, 582, 591, 600, 609, 618, 627, 636, 645, 654, 663, 672, 681, 690, 699, 708, 717, 726, 735, 744, 753, 762, 771, 780, 789, 798] + 光剑流心升 = [0, 48, 53, 58, 62, 67, 72, 77, 82, 86, 91, 96, 101, 106, 110, 115, 120, 125, 130, 134, 139, 144, 149, 154, 158, 163, 168, 173, 178, 182, 187, 192, 197, 202, 206, 211, 216, 221, 226, 230, 235, 240, 245, 250, 254, 259, 264, 269, 274, 278, 283] + + 自定义描述 = 1 + + def 特殊技能加成(self, char, 武器类型): + if self.等级 > 0: + 基础倍率 = self.加成倍率(武器类型) + + if 武器类型 == '短剑': + 流心刺 = char.get_skill_by_name('流心刺') + 流心刺.地面被动倍率['短剑'] = ( + 1 + 2 * (self.短剑流心刺[self.等级] / 100) / 3) / 基础倍率 # 地面2 + 1段 + 流心刺.空中被动倍率['短剑'] = ( + 1 + 3 * (self.短剑流心刺空中[self.等级] / 100) / 2) / 基础倍率 # 空中2段 + + elif 武器类型 == '太刀': + 流心跃 = char.get_skill_by_name('流心跃') + 流心升 = char.get_skill_by_name('流心升') + + 流心跃.hit数 += 5 + 流心跃.被动倍率 *= ( + 1 + (self.太刀流心跃[self.等级] / 100) * 5 / (2 * 0.5)) / 基础倍率 + + 流心升.hit数 += 4 + 流心升.被动倍率 *= ( + 1 + 4 * (self.太刀流心升[self.等级] / 100) / (3 * 0.8)) / 基础倍率 + + elif 武器类型 == '钝器': + 流心刺 = char.get_skill_by_name('流心刺') + 流心刺.被动倍率 *= ( + 1 + (self.钝器流心刺[self.等级] / 100) / (2 * 1.25)) / 基础倍率 + + elif 武器类型 == '巨剑': + 流心刺 = char.get_skill_by_name('流心刺') + # 基础:地面2 + 1段 加成后:地面1段(200%伤害) + 下斩1段 + 旋风3段 + 流心刺.地面被动倍率['巨剑'] = (((2 + 1) * (self.巨剑流心刺下斩[self.等级] / 100) + + (self.巨剑流心刺旋风[self.等级] / 100) * 3) / (2 + 1)) / 基础倍率 + 流心刺.空中被动倍率['巨剑'] = ( + (self.巨剑流心刺空中[self.等级] / 100) / 2) / 基础倍率 # 空中1段,伤害为200% + + elif 武器类型 == '光剑': + 流心升 = char.get_skill_by_name('流心升') + 流心升.被动倍率 *= (1 + + (self.光剑流心升[self.等级] / 100) / (3 * 0.8)) / 基础倍率 + + def 技能描述(self, 武器类型): + temp = '常规技能攻击力 +%.1f%%' % (18 + 2 * self.等级) + '
' + if 武器类型 == '短剑': + temp += '短剑流心刺:%.1f%%' % self.短剑流心刺[self.等级] + '
' + temp += '短剑流心刺空中:%.1f%%' % self.短剑流心刺空中[self.等级] + ' i 3' + elif 武器类型 == '太刀': + temp += '太刀流心跃:%.1f%%' % self.太刀流心跃[self.等级] + ' i 5
' + temp += '太刀流心升:%.1f%%' % self.太刀流心升[self.等级] + ' i 4' + elif 武器类型 == '钝器': + temp += '钝器流心刺:%.1f%%' % self.钝器流心刺[self.等级] + elif 武器类型 == '巨剑': + temp += '巨剑流心刺下斩:%.1f%%' % self.巨剑流心刺下斩[self.等级] + '
' + temp += '巨剑流心刺旋风:%.1f%%' % self.巨剑流心刺旋风[self.等级] + ' i 3
' + temp += '巨剑流心刺空中:%.1f%%' % self.巨剑流心刺空中[self.等级] + elif 武器类型 == '光剑': + temp += '光剑流心升:%.1f%%' % self.光剑流心升[self.等级] + return temp + + +class 技能30(剑魂主动技能): + 名称 = '极神剑术无形斩' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [960, 7200] + 无色消耗 = 7 + data0 = [0, 30185, 33250, 36312, 39374, 42438, 45500, 48561, 51625, 54687, 57750, 60812, 63875, 66936, 70000, 73063, 76124, 79187, 82251, 85311, 88374, 91437, 94500, 97561, 100626, 103688, 106749, 109812, 112876, 115937, 119001, 122062, 125124, 128188, 131251, 134311, 137375, 140438, 143500, 146563, 149626, 152687, 155750, 158813, 161876, 164937, 168001, 171062, 174126, 177188, 180250] + hit0 = 1 + data1 = [0, 4312, 4749, 5186, 5623, 6061, 6500, 6937, 7374, 7811, 8250, 8687, 9126, 9561, 10000, 10437, 10874, 11310, 11748, 12186, 12624, 13061, 13499, 13937, 14374, 14812, 15249, 15688, 16124, 16562, 16999, 17437, 17875, 18313, 18749, 19187, 19625, 20064, 20498, 20936, 21374, 21813, 22250, 22687, 23125, 23562, 23999, 24437, 24875, 25312, 25749] + hit1 = 13 + data2 = [0, 57500, 63332, 69166, 74999, 80833, 86665, 92498, 98332, 104165, 109999, 115833, 121667, 127499, 133334, 139168, 145000, 150833, 156666, 162500, 168332, 174166, 180000, 185834, 191665, 197499, 203333, 209165, 214999, 220832, 226668, 232503, 238334, 244168, 250001, 255834, 261667, 267502, 273336, 279168, 285001, 290835, 296668, 302501, 308335, 314169, 320001, 325835, 331668, 337501, 343334] + hit2 = 1 + + hit数 = 15 + + +class 技能31(剑魂主动技能): + 名称 = '万剑极诣开天斩' + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 68275, 84108, 99940, 115772, 131603, 147435, 163267, 179099, 194930, 210763, 226594, 242427, 258257, 274089, 289923, 305755, 321587, 337420, 353251, 369081, 384914, 400746, 416579, 432409, 448243, 464075, 479905, 495737, 511570, 527401, 543233, 559066, 574899, 590726, 606560, 622390, 638223, 654056, 669888, 685719, 701552, 717384, 733215, 749049, 764879, 780711, 796542, 812376, 828208, 844038] + hit0 = 1 + data1 = [0, 89283, 109985, 130689, 151394, 172097, 192799, 213502, 234207, 254909, 275612, 296315, 317019, 337723, 358427, 379129, 399832, 420538, 441242, 461945, 482645, 503350, 524055, 544757, 565461, 586164, 606865, 627569, 648274, 668975, 689680, 710382, 731087, 751789, 772490, 793197, 813899, 834602, 855308, 876009, 896709, 917416, 938120, 958821, 979526, 1000230, 1020932, 1041636, 1062340, 1083042, 1103746] + hit1 = 1 + data2 = [0, 12253, 15095, 17937, 20777, 23621, 26461, 29304, 32145, 34989, 37830, 40669, 43512, 46354, 49196, 52037, 54879, 57720, 60562, 63404, 66243, 69085, 71929, 74772, 77610, 80454, 83295, 86136, 88976, 91821, 94659, 97501, 100342, 103183, 106026, 108869, 111712, 114553, 117395, 120235, 123075, 125918, 128760, 131602, 134444, 137285, 140127, 142969, 145809, 148651, 151493] + hit2 = 6 + data3 = [0, 16805, 20704, 24598, 28497, 32394, 36291, 40189, 44085, 47983, 51880, 55775, 59674, 63570, 67466, 71365, 75262, 79160, 83057, 86954, 90850, 94746, 98644, 102540, 106439, 110336, 114234, 118131, 122030, 125923, 129822, 133719, 137613, 141514, 145409, 149303, 153204, 157100, 160996, 164896, 168792, 172689, 176586, 180484, 184379, 188278, 192174, 196071, 199968, 203866, 207763] + hit3 = 5 + data4 = [0, 210078, 258790, 307505, 356218, 404933, 453646, 502360, 551075, 599788, 648503, 697216, 745931, 794644, 843358, 892070, 940786, 989499, 1038213, 1086924, 1135639, 1184353, 1233067, 1281781, 1330496, 1379208, 1427923, 1476636, 1525351, 1574064, 1622778, 1671490, 1720205, 1768920, 1817632, 1866348, 1915061, 1963772, 2012490, 2061203, 2109915, 2158630, 2207344, 2256058, 2304772, 2353484, 2402197, 2450911, 2499625, 2548339, 2597053] + hit4 = 1 + + hit数 = 14 + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'weapon_master' + self.名称 = '极诣·剑魂' + self.角色 = '鬼剑士(男)' + self.类型 = '输出' + self.职业 = '剑魂' + self.武器选项 = ['光剑', '太刀', '钝器', '巨剑', '短剑'] + self.输出类型选项 = ['物理百分比'] + self.防具精通属性 = ['力量'] + self.类型 = '物理百分比' + self.武器类型 = '光剑' + self.防具类型 = '轻甲' + self.get_skill_by_name + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.82 + + super().__init__(equVersion) + + def 被动倍率计算(self): + # 武器奥义、精通相关 + 武器奥义 = self.get_skill_by_name('武器奥义') + if 武器奥义.等级 != 0: + for i in ['太刀精通', '短剑精通', '巨剑精通', '光剑精通', '钝器精通']: + if self.get_skill_by_name(i).等级 != 0: + self.get_skill_by_name(i).等级 += (武器奥义.等级 + 1) + if self.武器类型 not in i: + self.get_skill_by_name(i).关联技能 = ['无'] + + super().被动倍率计算() + + # 无形剑意流系技能 + 无形剑意 = self.get_skill_by_name('无形剑意') + 无形剑意.特殊技能加成(self, self.武器类型) + + # 极神剑术相关 + 极神剑术 = self.get_skill_by_name('极神剑术') + 极神剑术.特殊技能加成(self, self.武器类型) + + # 里鬼剑术附加 + 里鬼剑术 = self.get_skill_by_name('里鬼剑术') + 里鬼剑术.特殊技能加成(self, self.武器类型) + + def 伤害计算(self): + data = super().伤害计算() + skill_dict = data['skills'] + + 神剑术伤害 = 0 + count = 0 + attack_rate = 0 + + # region 神剑术 + + for skill in ['破军升龙击', '猛龙断空斩', '幻影剑舞', '极神剑术流星落']: + if skill in skill_dict.keys(): + temp = self.get_skill_by_name(skill) + count += skill_dict[skill]['count'] + 神剑术伤害 += skill_dict[skill]['damage']*(temp.神剑术倍率-1) + attack_rate = ( + attack_rate + skill_dict[skill]['atk_rate']*skill_dict[skill]['count']*(temp.神剑术倍率-1))/count + + if 神剑术伤害 > 0: + 神剑术 = self.get_skill_by_name('极神剑术') + data['skills']['极神剑术'] = { + 'name': '极神剑术', + 'rate': 1.0, + 'cd': 1.0, + 'mp': 0, + 'damage': 神剑术伤害, + 'count': count, + 'level': 神剑术.等级, + 'cosume_cube_frag': 0, + 'cd_o': 1.0, + 'atk_rate': attack_rate + } + data['total_data'] += 神剑术伤害 + + # endregion + + # region 太刀刺伤 + if self.武器类型 == '太刀': + b = self.get_skill_by_name("太刀精通") + if b.等级 > 0: + 总hit = 0 + for key in data['skills'].keys(): + d = data['skills'][key] + i = self.get_skill_by_name(d['name']) + if i.是否主动 == 1: + 释放次数 = d['count'] + 总hit += i.hit数 * 释放次数 + b.刺伤层数 += i.额外刺伤层数(self.武器类型) * 释放次数 + + b.刺伤层数 += 总hit * b.刺伤概率(self.武器类型) + + 被动倍率 = 1.0 + for name in ['光剑精通', '短剑精通', '巨剑精通', '太刀精通', '钝器精通', '无我剑气', '极鬼剑术斩铁式', '无形剑意']: + 被动倍率 *= self.get_skill_by_name(name).加成倍率(self.武器类型) + + 倍率 = b.刺伤百分比(self.武器类型) * 被动倍率 + + count = round(b.刺伤层数 / 17, 1) + damage = 倍率 * self.伤害指数 * (self.伤害比例.get("直伤", 0.0)) / 100 + from core.basic.equipment import get_global_data + for item in ['中毒', '灼伤', '感电', '出血']: + cur = item + pa = '' + if item == '中毒': + pa = 'zd_rate' + if item == '出血': + pa = 'cx_rate' + if item == '感电': + pa = 'gd_rate' + if item == '灼伤': + pa = 'zs_rate' + if item == '灼伤' and '灼伤' in get_global_data("state_type", self.equVersion) and ('冰冻' in get_global_data("get_state_type", self.equVersion) or ('冰冻' in get_global_data("state_type", self.equVersion) and self.check_equ_by_name("永眠前的准备"))): + pa = 'zs_bd_rate' + cur = '灼伤破冰' + 保有率 = 0 + 异常基础加成 = 1.0 + 异常结算加成 = 1.0 + 装备加成异常结算 = 1.0 + if pa == 'zs_bd_rate': + 保有率 = self.异常保有率计算(pa,cur) + 异常基础加成 = 1.0 + 异常结算加成 = self.异常基础加成['灼伤破冰'] + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + else: + 保有率 = self.异常保有率计算(pa,cur) + # 叠层处理 + 异常基础加成 = 1+ (self.异常基础加成.get(cur,1.0)-1) * get_global_data(pa,self.equVersion,1.0) + 异常结算加成 = 1.0 + 装备加成异常结算 = self.异常结算加成.get(cur,1.0) + 系数 = self.伤害系数.get(item, 0.0) * ( (1-保有率) * 异常基础加成 + 保有率 * 异常基础加成 * 异常结算加成 * 装备加成异常结算) + damage += 系数 * 倍率 * self.伤害指数 * (self.伤害比例.get(item, 0.0)) / 100 + data['skills']['太刀精通'] = { + 'name': '太刀精通', + 'rate': 被动倍率, + 'cd': 0, + 'mp': 0, + 'damage': damage, + 'count': count, + 'level': b.等级, + 'cosume_cube_frag': 0, + 'cd_o': 0, + 'atk_rate': b.刺伤浮动 + } + data['total_data'] += damage + # endregion + + dps = 0 + for temp in data['skills']: + skill = data['skills'][temp] + try: + dps += (skill['damage']/skill['count'])/skill['cd'] + except Exception: + pass + data['dps'] = dps + return data + + # 神影手 + ''' + if self.技能栏[self.技能序号['拔刀斩']].触发神影手 == 1 and 技能总伤害[self.技能序号['拔刀斩']] != 0: + + 技能释放次数[self.技能序号['神影手']] = 技能释放次数[self.技能序号['拔刀斩']] + + 神影手倍率 = 1.0 + + for name in ['光剑精通', '短剑精通', '巨剑精通', '太刀精通', '钝器精通']: + 神影手倍率 *= self.技能栏[self.技能序号[name]].加成倍率(self.武器类型) + + 比例 = self.技能栏[self.技能序号['神影手']].百分比 * self.伤害指数 * \ + 神影手倍率 / self.主BUFF / 技能单次伤害[self.技能序号['拔刀斩']] + + 技能总伤害[self.技能序号['神影手']] = 比例 * 技能总伤害[self.技能序号['拔刀斩']] + ''' + + def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName: + if i.是否有伤害 == 1: + if type == "all" or (type == "active" and i.是否主动 == 1): + if changeSkill: + i.倍率 *= (1 + x * self.技能伤害增加增幅) + else: + i.技攻 *= (1 + x * self.技能伤害增加增幅) + if type == "all" and min == 75 and i.名称 == '极神剑术': + i.额外倍率 *= (1 + x * self.技能伤害增加增幅) + if i.名称 in ['破军升龙击', '猛龙断空斩', '幻影剑舞', '极神剑术流星落'] and min == max: + i.独立倍率 *= (1 + x * self.技能伤害增加增幅) + + def set_skill_info(self, info, rune_except=[], clothes_pants=[]): + super().set_skill_info(info, clothes_pants=[ + '太刀精通', '短剑精通', '巨剑精通', '钝器精通']) + + def 技能等级加成(self, 加成类型: str, min: int, max: int, lv: int, exc=[],excName=[]) -> None: + for i in self.技能栏: + if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName and i.名称 not in ['光剑精通','太刀精通', '巨剑精通', '短剑精通', '钝器精通']: + if 加成类型 == '所有': + i.等级加成(lv, char=self) + else: + if (i.是否主动 == 1) == (加成类型 == '主动'): + i.等级加成(lv, char=self) + # super().技能等级加成(加成类型, min, max, lv, exc) + + def get_acitve_skill_detail(self, skill, temp_info, temp_char, weapon, ratio, skill_info): + if skill.是否有伤害: + if len(skill.形态) == 0: + skill.形态 = [''] + for 形态 in skill.形态: + original = 0 + for i in ['直伤', '中毒', '灼伤', '感电', '出血']: + original += skill.等效百分比( + char=temp_info, 武器类型=weapon, 形态=形态, 伤害类型=i) + skill_info["skills_active"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": original*ratio*skill.被动倍率*skill.神剑术倍率, + "cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "mode": 形态, + "cost": skill.无色消耗, + "tp": skill.TP等级 + }) + if skill.是否有护石 == 1: + temp = temp_char.get_skill_by_name(skill.名称) + cp = 0 + for i in ['直伤', '中毒', '灼伤', '感电', '出血']: + cp += temp.等效百分比(char=temp_char, + 武器类型=weapon, 形态=形态, 伤害类型=i) + skill_info["skills_cp"].append({ + "name": skill.名称, + "need_level": skill.所在等级, + "lv": skill.等级, + "data": cp*ratio*temp.被动倍率*temp.神剑术倍率, + "cd": temp.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "original_data": original*ratio*skill.被动倍率*skill.神剑术倍率, + "original_cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info), + "mode": 形态, + "cost": temp.无色消耗, + "tp": skill.TP等级 + }) + pass + pass diff --git a/api/core/characters/witch.py b/api/core/characters/witch.py new file mode 100644 index 00000000..05aa6b90 --- /dev/null +++ b/api/core/characters/witch.py @@ -0,0 +1,742 @@ +from math import ceil +from core.basic.skill import 技能 +from core.basic.character import Character +from core.basic.skill import 主动技能, 被动技能 + + +# 仅录入大成功/成功/失败 + + +class 技能0(主动技能): + # 大成功 + 名称 = "改良魔法星弹" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 5.4 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 1759, 1936, 2123, 2299, 2485, 2656, 2850, 3022, 3205, 3387, 3570, 3754, 3932, 4121, 4297, 4480, 4652, 4844, 5020, 5202, 5384, 5568, 5750, 5929, 6115, 6293, 6476, 6651, 6842, 7015, 7199, 7383, 7565, 7746, 7925, 8112, 8292, 8472, 8647, 8839, 9011, 9194, 9378, 9560, 9741, 9920, 10109, 10286, 10468, 10652, 10835, 11008, 11191, 11375, 11556, 11738, 11916, 12105, 12283, 12466, 12647, 12830, 13006, 13186, 13372, 13553, 13735, 13914, 14100, 14279] + hit0 = 0 + data1 = [0, 1936, 2132, 2334, 2530, 2727, 2926, 3137, 3328, 3529, 3726, 3932, 4127, 4326, 4537, 4723, 4929, 5120, 5328, 5520, 5722, 5929, 6127, 6326, 6519, 6730, 6925, 7121, 7319, 7522, 7718, 7917, 8123, 8321, 8519, 8717, 8923, 9121, 9320, 9514, 9724, 9912, 10120, 10316, 10516, 10722, 10910, 11121, 11313, 11516, 11721, 11916, 12115, 12312, 12511, 12708, 12916, 13113, 13315, 13511, 13710, 13914, 14115, 14306, 14508, 14705, 14911, 15109, 15306, 15516, 15705] + hit1 = 0 + data2 = [0, 1936, 2132, 2334, 2530, 2727, 2926, 3137, 3328, 3529, 3726, 3932, 4127, 4326, 4537, 4723, 4929, 5120, 5328, 5520, 5722, 5929, 6127, 6326, 6519, 6730, 6925, 7121, 7319, 7522, 7718, 7917, 8123, 8321, 8519, 8717, 8923, 9121, 9320, 9514, 9724, 9912, 10120, 10316, 10516, 10722, 10910, 11121, 11313, 11516, 11721, 11916, 12115, 12312, 12511, 12708, 12916, 13113, 13315, 13511, 13710, 13914, 14115, 14306, 14508, 14705, 14911, 15109, 15306, 15516, 15705] + hit2 = 2 + data3 = [0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 16, 16, 16] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能1(主动技能): + # 大成功 + 名称 = "改良舒露露" + 所在等级 = 15 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 16 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 4905, 5402, 5899, 6398, 6896, 7395, 7892, 8391, 8886, 9384, 9882, 10379, 10875, 11375, 11871, 12371, 12866, 13364, 13862, 14359, 14859, 15354, 15855, 16351, 16848, 17346, 17845, 18345, 18841, 19337, 19839, 20333, 20831, 21329, 21825, 22324, 22819, 23319, 23815, 24314, 24811, 25308, 25808, 26306, 26803, 27300, 27799, 28296, 28795, 29293, 29790, 30290, 30788, 31284, 31781, 32275, 32772, 33272, 33769, 34269, 34764, 35264, 35761, 36259, 36756, 37254, 37752, 38250, 38747, 39246] + hit0 = 0 + data1 = [0, 3677, 4469, 5265, 6057, 6857, 7649, 8446, 9233, 10026, 10808, 11611, 12406, 13195, 13988, 14772, 15561, 16358, 17144, 17938, 18733, 19523, 20316, 21112, 21900, 22692, 23478, 24265, 25064, 25848, 26643, 27444, 28232, 29017, 29806, 30601, 31399, 32184, 32982, 33759, 34561, 35360, 36143, 36937, 37724, 38513, 39309, 40094, 40886, 41687, 42470, 43267, 44062, 44850, 45643, 46429, 47219, 48012, 48812, 49597, 50390, 51184, 51973, 52761, 53554, 54351, 55144, 55932, 56722, 57515, 58303] + hit1 = 0 + data2 = [0, 9811, 10806, 11801, 12797, 13791, 14787, 15783, 16778, 17775, 18770, 19762, 20761, 21754, 22751, 23747, 24740, 25735, 26731, 27728, 28724, 29718, 30712, 31708, 32702, 33700, 34695, 35690, 36687, 37681, 38679, 39674, 40670, 41662, 42656, 43651, 44647, 45643, 46637, 47634, 48630, 49627, 50625, 51620, 52608, 53607, 54603, 55597, 56593, 57587, 58585, 59580, 60574, 61573, 62568, 63559, 64554, 65550, 66547, 67543, 68538, 69534, 70528, 71525, 72521, 73515, 74509, 75505, 76501, 77496, 78492] + hit2 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能2(被动技能): + 名称 = '亲和法米利尔' + 所在等级 = 15 + 等级上限 = 15 + 基础等级 = 5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 + 0.02 * self.等级, 5) + + +class 技能3(主动技能): + # 附加伤害不含平x本身 + 名称 = "魔幻粉末" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + # buff冷却,平x本身无冷却 + CD = 5 + MP = [35, 259] + 无色消耗 = 0 + data0 = [0, 216, 246, 280, 315, 351, 381, 415, 451, 482, 515, 553, 586, 619, 655, 690, 718, 755, 789, 825, 856, 890, 926, 955, 993, 1024, 1058, 1090, 1127, 1161, 1193, 1228, 1262, 1294, 1329, 1362, 1394, 1429, 1462, 1499, 1535, 1566, 1600, 1633, 1667, 1702, 1735, 1769, 1801, 1836, 1869, 1902, 1937, 1972, 2005, 2038, 2073, 2105, 2141, 2173, 2207, 2240, 2274, 2309, 2340, 2376, 2406, 2446, 2478, 2511, None] + hit0 = 1 + data1 = [0, 271, 310, 353, 396, 436, 479, 519, 567, 608, 647, 690, 732, 774, 815, 857, 906, 943, 983, 1028, 1070, 1112, 1156, 1197, 1238, 1282, 1322, 1368, 1408, 1450, 1490, 1537, 1577, 1618, 1662, 1703, 1745, 1787, 1832, 1874, 1916, 1955, 2001, 2040, 2083, 2127, 2169, 2208, 2254, 2297, 2337, 2381, 2420, 2463, 2506, 2548, 2588, 2634, 2676, 2714, 2762, 2802, 2844, 2886, 2929, 2970, 3013, 3052, 3099, 3140, None] + hit1 = 1 + data2 = [0, 377, 436, 496, 553, 608, 669, 728, 792, 852, 910, 967, 1024, 1081, 1143, 1201, 1266, 1321, 1378, 1441, 1499, 1556, 1618, 1675, 1729, 1793, 1852, 1916, 1972, 2029, 2087, 2148, 2207, 2266, 2325, 2385, 2447, 2505, 2562, 2623, 2683, 2739, 2800, 2859, 2916, 2979, 3037, 3094, 3156, 3215, 3273, 3331, 3389, 3446, 3510, 3566, 3624, 3688, 3745, 3803, 3864, 3922, 3979, 4043, 4097, 4157, 4220, 4278, 4337, 4394, None] + hit2 = 1 + 中毒data0 = [0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 22, 22, 22, 22, 23, 23, None] + 中毒hit0 = 3 + CD = 5.0 # + + 形态 = ["中毒", "冰冻"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "中毒": + self.中毒hit0 = 3 + if 形态 == "冰冻": + self.中毒hit0 = 0 + + +class 技能4(主动技能): + 名称 = "暗影斗篷" + 所在等级 = 20 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 7 + MP = [35, 350] + 无色消耗 = 0 + data0 = [0, 6612, 7281, 7952, 8621, 9292, 9965, 10635, 11309, 11977, 12649, 13319, 13989, 14659, 15332, 15999, 16673, 17343, 18014, 18683, 19355, 20024, 20696, 21365, 22037, 22707, 23377, 24049, 24718, 25391, 26061, 26732, 27405, 28072, 28742, 29415, 30084, 30755, 31424, 32097, 32769, 33438, 34112, 34780, 35452, 36122, 36793, 37462, 38134, 38801, 39475, 40145, 40816, 41490, 42158, 42828, 43501, 44172, 44842, 45512, 46182, 46855, 47521, 48197, 48866, 49535, 50208, 50878, 51548, 52221, 52891] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能5(主动技能): + 名称 = '魔法秀' + 所在等级 = 20 + 等级上限 = 15 + 基础等级 = 10 + 是否有伤害 = 0 + 冷却关联技能 = ['改良魔法星弹', '改良舒露露', '熔岩药瓶', '魔道酸雨云', '旋转扫把', '电鳗碰撞机', + '暴炎加热炉', '冰霜钻孔车', '反重力装置', '光电兔', '雪人刨冰', '糖果大作战捣蛋杰克'] + 冷却类型 = 1 + + 魔法秀数值 = [0, 22, 43, 65, 86, 108, 130, 151, 173, 194, 216, + 238, 259, 281, 302, 324, 346, 367, 389, 410, 432] + + def CD缩减倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1 - 0.001*self.魔法秀数值[self.等级], 3) + + +class 技能6(主动技能): + 名称 = "变异苍蝇拍" + 所在等级 = 25 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 6.4 + MP = [30, 105] + 无色消耗 = 0 + data0 = [0, 8786, 9674, 10569, 11459, 12351, 13243, 14134, 15023, 15916, 16808, 17701, 18590, 19482, 20373, 21267, 22154, 23043, 23935, 24829, 25722, 26611, 27504, 28394, 29286, 30178, 31072, 31960, 32854, 33744, 34635, 35526, 36418, 37309, 38202, 39093, 39983, 40874, 41765, 42657, 43547, 44442, 45330, 46222, 47115, 48006, 48895, 49788, 50680, 51572, 52465, 53354, 54244, 55137, 56028, 56916, 57811, 58699, 59592, 60484, 61379, 62265, 63158, 64050, 64945, 65831, 66723, 67614, 68507, 69396, 70290] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能7(主动技能): + # 大成功 + 名称 = "魔道酸雨云" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 20 + MP = [200, 1960] + 无色消耗 = 0 + data0 = [0, 1374, 1593, 1809, 2032, 2252, 2467, 2689, 2907, 3126, 3347, 3561, 3785, 4004, 4224, 4444, 4661, 4880, 5099, 5318, 5538, 5754, 5974, 6196, 6418, 6630, 6853, 7072, 7289, 7512, 7728, 7949, 8170, 8388, 8607, 8824, 9043, 9264, 9486, 9702, 9921, 10138, 10363, 10582, 10797, 11017, 11233, 11454, 11673, 11890, 12112, 12336, 12552, 12771, 12989, 13211, 13430, 13647, 13867, 14084, 14303, 14527, 14745, 14964, 15182, 15399, 15624, 15838, 16055, 16277, 16501] + hit0 = 6 + data1 = [0, 147, 173, 200, 223, 242, 272, 295, 318, 342, 366, 391, 415, 436, 463, 488, 511, 532, 557, 580, 606, 630, 651, 682, 700, 726, 750, 774, 795, 821, 846, 872, 895, 916, 944, 965, 988, 1014, 1038, 1061, 1088, 1110, 1134, 1159, 1180, 1205, 1229, 1254, 1278, 1304, 1325, 1350, 1373, 1396, 1422, 1444, 1466, 1493, 1519, 1541, 1566, 1587, 1615, 1636, 1661, 1686, 1712, 1731, 1758, 1781, 1804] + hit1 = 0 + data2 = [0, 226, 261, 296, 333, 368, 407, 443, 477, 511, 550, 586, 620, 658, 692, 727, 765, 801, 836, 874, 910, 945, 981, 1015, 1052, 1088, 1125, 1160, 1197, 1230, 1268, 1305, 1341, 1375, 1414, 1447, 1482, 1521, 1555, 1591, 1627, 1662, 1698, 1736, 1772, 1809, 1843, 1883, 1913, 1952, 1988, 2024, 2058, 2094, 2134, 2168, 2205, 2239, 2273, 2310, 2349, 2384, 2422, 2458, 2491, 2525, 2562, 2602, 2637, 2671, 2706] + hit2 = 0 + data3 = [0, 303, 351, 396, 447, 492, 539, 589, 636, 684, 731, 782, 829, 876, 925, 975, 1022, 1070, 1119, 1166, 1213, 1259, 1310, 1356, 1404, 1453, 1504, 1547, 1598, 1645, 1693, 1741, 1793, 1838, 1887, 1934, 1981, 2028, 2077, 2127, 2174, 2221, 2271, 2321, 2367, 2414, 2465, 2509, 2558, 2608, 2652, 2704, 2749, 2797, 2843, 2894, 2943, 2992, 3037, 3087, 3137, 3183, 3231, 3281, 3327, 3375, 3421, 3473, 3515, 3568, 3613] + hit3 = 36 + TP成长 = 0.1 + TP上限 = 7 + + +class 技能8(主动技能): + 名称 = "熔岩药瓶" + 所在等级 = 30 + 等级上限 = 70 + 学习间隔 = 3 + 等级精通 = 60 + CD = 20 + MP = [200, 1960] + 无色消耗 = 0 + data0 = [0, 2853, 3307, 3763, 4217, 4671, 5127, 5581, 6035, 6491, 6947, 7401, 7856, 8311, 8766, 9221, 9676, 10130, 10585, 11040, 11493, 11949, 12403, 12857, 13314, 13768, 14223, 14678, 15133, 15587, 16043, 16498, 16952, 17408, 17862, 18316, 18773, 19227, 19683, 20137, 20591, 21047, 21501, 21956, 22412, 22866, 23320, 23774, 24231, 24685, 25139, 25595, 26049, 26503, 26959, 27413, 27868, 28323, 28778, 29232, 29689, 30144, 30598, 31054, 31508, 31964, 32418, 32872, 33328, 33782, 34236] + hit0 = 0 + data1 = [0, 143, 165, 186, 211, 233, 255, 278, 302, 323, 346, 370, 392, 415, 437, 459, 482, 504, 528, 550, 573, 595, 616, 640, 666, 686, 708, 731, 753, 775, 798, 820, 845, 867, 891, 912, 937, 959, 980, 1004, 1026, 1047, 1071, 1095, 1117, 1139, 1162, 1185, 1206, 1230, 1253, 1274, 1298, 1320, 1344, 1365, 1388, 1412, 1434, 1457, 1479, 1502, 1526, 1546, 1572, 1594, 1616, 1639, 1661, 1684, 1705] + hit1 = 0 + data2 = [0, 10932, 12675, 14419, 16164, 17906, 19651, 21393, 23136, 24878, 26620, 28364, 30108, 31850, 33599, 35340, 37083, 38825, 40567, 42310, 44055, 45799, 47543, 49286, 51024, 52767, 54512, 56257, 58001, 59745, 61486, 63228, 64972, 66716, 68458, 70202, 71947, 73692, 75434, 77175, 78918, 80661, 82405, 84147, 85892, 87638, 89379, 91120, 92863, 94606, 96352, 98092, 99840, 101582, 103324, 105067, 106808, 108554, 110297, 112043, 113785, 115526, 117270, 119011, 120756, 122499, 124240, 125986, 127729, 129474, 131214] + hit2 = 1 + # 几率不稳定,此处按1次处理 + 灼伤data0 = [0, 15, 18, 21, 23, 25, 28, 31, 32, 35, 37, 40, 42, 44, 46, 49, 53, 55, 57, 59, 61, 64, 66, 68, 71, 75, 77, 79, 81, 84, 86, 90, 92, 93, 96, 98, 101, 103, 105, 109, 111, 114, 116, 119, 121, 122, 124, 126, 131, 133, 135, 137, 141, 143, 145, 147, 150, 152, 155, 157, 159, 161, 164, 166, 170, 172, 175, 177, 179, 182, 183] + 灼伤hit0 = 1 + TP成长 = 0.1 + TP上限 = 7 + + 形态 = ["失败", "成功"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + self.power2 = 1 + if 形态 == "失败": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 1 + self.power2 = char.get_skill_by_name("魔道学助手").失败倍率() / char.get_skill_by_name("贤者之石").加成倍率('') + if 形态 == "成功": + self.hit0 = 6 + self.hit1 = 10 + self.hit2 = 0 + + +class 技能9(主动技能): + 名称 = "旋转扫把" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 12 + MP = [100, 840] + 无色消耗 = 0 + data0 = [0, 350, 386, 421, 456, 492, 528, 563, 599, 634, 670, 706, 741, 775, 814, 849, 883, 920, 955, 991, 1027, 1062, 1097, 1132, 1169, 1204, 1239, 1274, 1311, 1346, 1382, 1417, 1452, 1489, 1524, 1558, 1596, 1631, 1666, 1703, 1738, 1773, 1810, 1845, 1880, 1916, 1950, 1987, 2022, 2058, 2093, 2128, 2165, 2200, 2235, 2271, 2306, 2341, 2379, 2414, 2449, 2486, 2521, 2556, 2592, 2627, 2663, 2699, 2733, 2769, 2805] + hit0 = 8 + data1 = [0, 2148, 2367, 2586, 2805, 3022, 3239, 3457, 3677, 3894, 4113, 4331, 4548, 4766, 4986, 5201, 5422, 5639, 5857, 6076, 6293, 6511, 6731, 6948, 7167, 7383, 7603, 7819, 8040, 8258, 8477, 8695, 8911, 9131, 9347, 9568, 9786, 10002, 10221, 10440, 10657, 10876, 11094, 11311, 11530, 11750, 11965, 12186, 12402, 12621, 12839, 13057, 13275, 13492, 13712, 13930, 14147, 14366, 14582, 14802, 15021, 15238, 15456, 15675, 15891, 16111, 16331, 16547, 16765, 16983, 17201] + hit1 = 1 + data2 = [0, 966, 1064, 1163, 1259, 1358, 1457, 1555, 1652, 1751, 1849, 1947, 2044, 2143, 2241, 2338, 2439, 2536, 2633, 2732, 2830, 2928, 3026, 3123, 3222, 3320, 3419, 3516, 3615, 3712, 3810, 3910, 4006, 4104, 4203, 4299, 4400, 4498, 4594, 4694, 4792, 4888, 4987, 5086, 5183, 5281, 5382, 5478, 5576, 5675, 5772, 5870, 5968, 6065, 6165, 6262, 6359, 6459, 6557, 6655, 6753, 6850, 6950, 7047, 7145, 7245, 7342, 7440, 7538, 7637, 7734] + hit2 = 0 + data3 = [0, 9073, 9992, 10914, 11834, 12755, 13677, 14595, 15516, 16437, 17357, 18277, 19198, 20119, 21038, 21961, 22879, 23800, 24721, 25642, 26563, 27482, 28403, 29323, 30244, 31166, 32084, 33006, 33926, 34847, 35765, 36688, 37609, 38528, 39449, 40368, 41289, 42211, 43131, 44053, 44971, 45892, 46812, 47733, 48655, 49574, 50494, 51414, 52337, 53258, 54176, 55097, 56017, 56939, 57858, 58779, 59700, 60620, 61542, 62460, 63382, 64303, 65222, 66144, 67064, 67985, 68904, 69825, 70748, 71666, 72587] + hit3 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ["地面", "空中"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "地面": + self.hit0 = 8 + self.hit1 = 1 + self.hit2 = 0 + self.hit3 = 1 + if 形态 == "空中": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 3 + self.hit3 = 1 + + +class 技能10(主动技能): + # 大成功 + 名称 = "电鳗碰撞机" + 所在等级 = 35 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 1242, 1369, 1496, 1622, 1750, 1876, 2000, 2128, 2252, 2378, 2507, 2632, 2759, 2884, 3010, 3135, 3264, 3388, 3515, 3643, 3767, 3894, 4018, 4148, 4272, 4399, 4525, 4652, 4776, 4904, 5031, 5157, 5282, 5410, 5535, 5661, 5788, 5915, 6042, 6165, 6294, 6417, 6546, 6670, 6799, 6922, 7050, 7174, 7302, 7428, 7555, 7682, 7807, 7933, 8060, 8187, 8312, 8439, 8564, 8692, 8816, 8945, 9069, 9197, 9321, 9450, 9574, 9699, 9829, 9954] + hit0 = 14 + data1 = [0, 1955, 2154, 2352, 2551, 2752, 2951, 3146, 3347, 3546, 3744, 3943, 4141, 4338, 4537, 4737, 4935, 5133, 5333, 5530, 5727, 5927, 6127, 6324, 6521, 6721, 6921, 7119, 7318, 7518, 7714, 7914, 8112, 8311, 8508, 8705, 8904, 9104, 9303, 9502, 9699, 9898, 10096, 10296, 10494, 10693, 10892, 11089, 11289, 11486, 11686, 11884, 12081, 12280, 12479, 12677, 12875, 13076, 13275, 13473, 13671, 13869, 14068, 14267, 14466, 14663, 14862, 15062, 15260, 15460, 15660] + hit1 = 1 + 感电data0 = [0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 16, 16, 16, 17, 17, 18, 18, 18, 19, 19, 21, 21, 21, 22, 22, 24, 24, 24, 25, 25, 27, 27, 27, 28, 28, 29, 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33, 36, 36, 36, 37, 37, 39, 39, 39, 40, 40, 41, 41, 41] + 感电hit0 = 1 + data2 = [0, 744, 820, 894, 971, 1045, 1122, 1196, 1272, 1348, 1425, 1499, 1576, 1650, 1726, 1800, 1877, 1952, 2027, 2102, 2177, 2252, 2328, 2403, 2481, 2556, 2632, 2705, 2781, 2858, 2933, 3009, 3083, 3159, 3235, 3310, 3386, 3460, 3536, 3612, 3688, 3764, 3839, 3915, 3987, 4065, 4141, 4216, 4292, 4368, 4440, 4518, 4595, 4670, 4747, 4819, 4898, 4971, 5048, 5121, 5195, 5270, 5346, 5423, 5497, 5574, 5646, 5726, 5803, 5876, 5952] + hit2 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["装置", "骑乘"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "装置": + self.hit0 = 14 + self.hit1 = 1 + self.hit2 = 1 + if 形态 == "骑乘": + self.hit0 = 22 + self.hit1 = 1 + self.hit2 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.36 + + +class 技能11(主动技能): + # 大成功 + 名称 = "反重力装置" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 20 + MP = [160, 1344] + 无色消耗 = 1 + data0 = [0, 19112, 21050, 22989, 24928, 26866, 28803, 30740, 32682, 34620, 36561, 38498, 40436, 42375, 44313, 46253, 48193, 50130, 52069, 54008, 55946, 57884, 59823, 61763, 63701, 65642, 67578, 69517, 71455, 73393, 75335, 77273, 79212, 81149, 83089, 85026, 86966, 88904, 90844, 92783, 94718, 96659, 98598, 100537, 102476, 104418, 106357, 108295, 110233, 112171, 114107, 116049, 117985, 119927, 121864, 123803, 125743, 127681, 129619, 131560, 133499, 135435, 137376, 139313, 141252, 143190, 145131, 147070, 149007, 150945, 152884] + hit0 = 1 + data1 = [0, 2648, 2927, 3199, 3475, 3747, 4019, 4296, 4565, 4844, 5115, 5389, 5661, 5940, 6215, 6483, 6763, 7034, 7310, 7589, 7853, 8130, 8403, 8682, 8956, 9226, 9502, 9774, 10049, 10319, 10597, 10875, 11145, 11424, 11693, 11968, 12243, 12517, 12791, 13061, 13341, 13611, 13884, 14161, 14434, 14709, 14982, 15258, 15536, 15803, 16077, 16352, 16626, 16905, 17177, 17447, 17721, 17998, 18269, 18543, 18822, 19097, 19369, 19643, 19911, 20191, 20464, 20740, 21010, 21287, 21556] + hit1 = 0 + data2 = [0, 9555, 10522, 11493, 12461, 13431, 14399, 15371, 16339, 17309, 18279, 19252, 20218, 21188, 22156, 23125, 24094, 25064, 26037, 27002, 27971, 28941, 29912, 30879, 31851, 32818, 33790, 34756, 35728, 36699, 37666, 38637, 39606, 40575, 41542, 42514, 43482, 44453, 45421, 46391, 47362, 48333, 49300, 50270, 51238, 52207, 53178, 54146, 55114, 56083, 57053, 58023, 58994, 59962, 60933, 61902, 62870, 63842, 64810, 65781, 66749, 67717, 68686, 69657, 70625, 71596, 72565, 73533, 74503, 75473, 76443] + hit2 = 0 + data3 = [0, 14330, 15788, 17242, 18695, 20150, 21604, 23057, 24511, 25962, 27416, 28871, 30325, 31782, 33235, 34687, 36145, 37597, 39052, 40505, 41959, 43414, 44867, 46326, 47775, 49229, 50685, 52138, 53593, 55047, 56500, 57953, 59409, 60861, 62317, 63773, 65226, 66678, 68132, 69588, 71041, 72494, 73949, 75401, 76856, 78312, 79766, 81221, 82674, 84129, 85581, 87037, 88490, 89945, 91400, 92849, 94305, 95760, 97212, 98669, 100122, 101574, 103031, 104484, 105940, 107393, 108847, 110302, 111755, 113212, 114663] + hit3 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 形态 = ["非浮", "浮空"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + if 形态 == "非浮": + self.hit0 = 1 + self.hit1 = 0 + if 形态 == "浮空": + self.hit0 = 1 + self.hit1 = 1 + + +class 技能12(主动技能): + 名称 = "暴炎加热炉" + 所在等级 = 40 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 25 + MP = [180, 1512] + 无色消耗 = 1 + data0 = [0, 618, 680, 748, 805, 872, 933, 995, 1067, 1125, 1187, 1255, 1319, 1386, 1444, 1509, 1577, 1634, 1700, 1766, 1825, 1895, 1957, 2018, 2086, 2147, 2210, 2278, 2340, 2406, 2467, 2528, 2593, 2657, 2726, 2789, 2850, 2912, 2977, 3041, 3106, 3168, 3233, 3293, 3359, 3426, 3488, 3548, 3616, 3679, 3744, 3809, 3868, 3933, 3999, 4062, 4125, 4186, 4256, 4316, 4381, 4446, 4510, 4570, 4636, 4702, 4763, 4825, 4890, 4955, 5017] + hit0 = 0 + data1 = [0, 2605, 2870, 3144, 3413, 3688, 3953, 4214, 4496, 4759, 5020, 5300, 5564, 5846, 6108, 6368, 6648, 6913, 7177, 7453, 7721, 7997, 8261, 8523, 8806, 9069, 9331, 9608, 9872, 10156, 10412, 10679, 10958, 11222, 11500, 11762, 12028, 12305, 12569, 12835, 13108, 13378, 13652, 13918, 14185, 14462, 14723, 14986, 15269, 15531, 15809, 16073, 16337, 16613, 16875, 17140, 17422, 17681, 17962, 18228, 18489, 18773, 19031, 19313, 19578, 19834, 20120, 20380, 20644, 20923, 21185] + hit1 = 0 + data2 = [0, 1430, 1574, 1722, 1868, 2012, 2158, 2305, 2448, 2594, 2741, 2885, 3028, 3174, 3321, 3464, 3611, 3755, 3905, 4046, 4193, 4337, 4481, 4628, 4774, 4921, 5062, 5210, 5356, 5499, 5646, 5793, 5935, 6078, 6228, 6372, 6514, 6661, 6805, 6954, 7098, 7243, 7388, 7535, 7681, 7825, 7972, 8115, 8261, 8407, 8554, 8698, 8843, 8985, 9131, 9277, 9422, 9569, 9711, 9859, 10006, 10151, 10293, 10440, 10585, 10731, 10875, 11022, 11169, 11311, 11460] + hit2 = 13 + data3 = [0, 458, 505, 552, 598, 646, 693, 738, 790, 832, 885, 931, 976, 1026, 1070, 1118, 1166, 1211, 1257, 1307, 1354, 1405, 1450, 1497, 1547, 1593, 1634, 1686, 1733, 1778, 1825, 1871, 1923, 1969, 2015, 2064, 2110, 2163, 2205, 2252, 2301, 2347, 2395, 2443, 2488, 2535, 2583, 2628, 2682, 2726, 2775, 2818, 2866, 2912, 2964, 3007, 3056, 3105, 3149, 3199, 3249, 3292, 3344, 3388, 3436, 3482, 3531, 3573, 3620, 3671, 3715] + hit3 = 0 + data4 = [0, 1736, 1911, 2098, 2271, 2460, 2637, 2811, 2997, 3173, 3348, 3536, 3707, 3898, 4069, 4246, 4432, 4610, 4782, 4973, 5143, 5331, 5506, 5683, 5868, 6047, 6220, 6404, 6580, 6768, 6944, 7121, 7305, 7479, 7669, 7843, 8018, 8202, 8376, 8554, 8742, 8914, 9103, 9279, 9453, 9638, 9817, 9994, 10174, 10356, 10540, 10715, 10889, 11080, 11253, 11429, 11614, 11793, 11974, 12148, 12326, 12515, 12688, 12874, 13051, 13225, 13410, 13587, 13763, 13948, 14125] + hit4 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["失败", "成功"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + self.power2 = 1 + if 形态 == "失败": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 13 + if '暴炎加热炉' in char.护石栏: + self.power0 = self.power1 = self.power2 = 1.14*1.19 + self.power2 *= char.get_skill_by_name("魔道学助手").失败倍率()/char.get_skill_by_name("贤者之石").加成倍率('') + else: + 形态 == "成功" + self.hit0 = 4*11 + self.hit1 = 1 + self.hit2 = 0 + if '暴炎加热炉' in char.护石栏: + self.power0 = self.power1 = self.power2 = 1.31 + + def 装备护石(self, char): + pass + + +class 技能13(主动技能): + 名称 = "冰霜钻孔车" + 所在等级 = 45 + 等级上限 = 70 + 学习间隔 = 2 + 等级精通 = 60 + CD = 45 + MP = [360, 3024] + 无色消耗 = 2 + data0 = [0, 1046, 1153, 1260, 1371, 1483, 1580, 1691, 1804, 1906, 2023, 2128, 2240, 2341, 2450, 2562, 2667, 2776, 2886, 2990, 3092, 3207, 3312, 3419, 3538, 3632, 3741, 3854, 3953, 4070, 4179, 4295, 4392, 4505, 4614, 4716, 4828, 4934, 5042, 5150, 5256, 5366, 5473, 5589, 5683, 5804, 5909, 6007, 6128, 6231, 6345, 6448, 6556, 6664, 6772, 6878, 6982, 7096, 7197, 7309, 7417, 7521, 7639, 7748, 7852, 7957, 8069, 8175, 8284, 8393, 8494] + 持续时间 = 5.5 + 攻击间隔 = 0.115 # 测试计算结果 + hit0 = 0 + data1 = [0, 2093, 2308, 2519, 2734, 2962, 3165, 3382, 3607, 3809, 4038, 4252, 4479, 4679, 4898, 5125, 5324, 5551, 5766, 5969, 6195, 6411, 6625, 6841, 7065, 7270, 7478, 7711, 7913, 8142, 8360, 8581, 8784, 8993, 9221, 9428, 9655, 9871, 10084, 10297, 10515, 10728, 10943, 11170, 11368, 11603, 11813, 12017, 12240, 12459, 12686, 12883, 13097, 13329, 13546, 13760, 13974, 14187, 14404, 14619, 14832, 15046, 15272, 15490, 15703, 15922, 16132, 16346, 16562, 16774, 16988] + hit1 = 0 + data2 = [0, 1305, 1438, 1570, 1704, 1837, 1970, 2100, 2232, 2367, 2499, 2631, 2764, 2897, 3031, 3163, 3296, 3428, 3560, 3694, 3827, 3959, 4092, 4225, 4354, 4488, 4621, 4754, 4886, 5018, 5153, 5286, 5417, 5549, 5682, 5815, 5947, 6080, 6213, 6345, 6475, 6610, 6743, 6875, 7007, 7141, 7275, 7407, 7538, 7670, 7803, 7936, 8070, 8202, 8333, 8466, 8600, 8733, 8864, 8997, 9131, 9263, 9396, 9529, 9662, 9792, 9926, 10059, 10193, 10322, 10455] + hit2 = 9 + data3 = [0, 11761, 12957, 14149, 15345, 16536, 17731, 18924, 20120, 21311, 22503, 23698, 24892, 26085, 27278, 28474, 29662, 30857, 32052, 33246, 34438, 35632, 36825, 38020, 39213, 40405, 41601, 42794, 43985, 45179, 46375, 47568, 48761, 49954, 51146, 52340, 53533, 54728, 55921, 57114, 58308, 59503, 60697, 61889, 63081, 64275, 65471, 66661, 67857, 69052, 70241, 71435, 72630, 73824, 75016, 76209, 77403, 78598, 79790, 80984, 82180, 83370, 84562, 85758, 86952, 88144, 89337, 90532, 91725, 92916, 94112] + hit3 = 1 + data4 = [0, 786, 865, 946, 1027, 1112, 1186, 1267, 1353, 1428, 1518, 1596, 1681, 1756, 1837, 1918, 2000, 2081, 2165, 2243, 2319, 2406, 2482, 2566, 2653, 2724, 2806, 2893, 2968, 3053, 3137, 3220, 3294, 3377, 3458, 3538, 3619, 3701, 3782, 3863, 3942, 4026, 4103, 4191, 4265, 4351, 4433, 4506, 4595, 4672, 4760, 4834, 4916, 4997, 5084, 5159, 5237, 5324, 5399, 5483, 5562, 5638, 5733, 5807, 5887, 5969, 6053, 6131, 6211, 6295, 6374] + hit4 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + 形态 = ["失败", "成功"] + + def 形态变更(self, 形态, char): + if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0: + 形态 = self.形态[0] + self.power0 = self.power1 = self.power2 = self.power3 = 1.0 + self.持续时间 = 5.5 + if 形态 == "失败": + self.hit0 = 0 + self.hit1 = 0 + self.hit2 = 9 + self.hit3 = 1 + if '冰霜钻孔车' in char.护石栏: + self.power0 = self.power1 = self.power2 = self.power3 = 1.32 + self.power0 = 0 + self.power2 *= char.get_skill_by_name("魔道学助手").失败倍率() + self.power3 *= char.get_skill_by_name("魔道学助手").失败倍率() + else: + if 形态 == "成功": + self.hit1 = 3 + self.hit2 = 0 + self.hit3 = 0 + if '冰霜钻孔车' in char.护石栏: + self.持续时间 = 6.0 + self.power0 = self.power1 = self.power2 = self.power3 = 1.25 + self.hit0 = ceil(self.持续时间/(self.攻击间隔*(1-char.get_skill_by_name("贤者之石").攻击间隔减少率()))) # 贤者之石减攻击间隔在特殊计算部分 + + + def 装备护石(self, char): + pass + + +class 技能14(被动技能): + 名称 = '成功预感' + 所在等级 = 48 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + elif self.等级 <= 16: + return 1 + round(6 + 0.7 * self.等级, 1) / 100 + else: + return 1 + round(16 + 1.5 * (self.等级 - 16), 1) / 100 + + +class 技能15(主动技能): + 名称 = "技艺融合" + 所在等级 = 50 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 145 + MP = [1000, 8400] + 无色消耗 = 5 + data0 = [0, 2702, 3330, 3958, 4587, 5212, 5842, 6468, 7097, 7723, 8350, 8974, 9606, 10230, 10860, 11484, 12114, 12738, 13368, 13994, 14621, 15250, 15875, 16505, 17131, 17756, 18386, 19015, 19637, 20267, 20896, 21520, 22145, 22777, 23400, 24030, 24657, 25282, 25912, 26539, 27164, 27794, 28420, 29051, 29677, 30304, 30928, 31559, 32184, 32809, 33439] + hit0 = 22 + data1 = [0, 73442, 90470, 107503, 124532, 141560, 158592, 175623, 192653, 209681, 226710, 243742, 260774, 277799, 294833, 311863, 328892, 345922, 362953, 379982, 397011, 414045, 431074, 448102, 465133, 482162, 499194, 516222, 533252, 550286, 567314, 584343, 601372, 618404, 635435, 652462, 669495, 686525, 703553, 720584, 737613, 754643, 771673, 788706, 805736, 822765, 839793, 856823, 873856, 890885, 907917] + hit1 = 1 + + +class 技能16(主动技能): + 名称 = "超级苍蝇拍" + 所在等级 = 60 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 30 + MP = [400, 1120] + 无色消耗 = 2 + data0 = [0, 39481, 43489, 47492, 51496, 55500, 59506, 63511, 67517, 71522, 75528, 79533, 83540, 87546, 91551, 95555, 99561, 103565, 107572, 111579, 115585, 119589, 123596, 127599, 131604, 135608, 139614, 143618, 147625, 151632, 155638, 159642, 163647, 167653, 171658, 175664, 179671, 183676, 187681, 191686, 195692, 199697, 203698, 207704, 211711, 215715, 219721, 223726, 227733, 231737, 235743] + hit0 = 1 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.25 + self.CDR *= 0.9 + + +class 技能17(主动技能): + # 大成功 + 名称 = "光电兔" + 所在等级 = 70 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 50 + MP = [800, 1680] + 无色消耗 = 2 + data0 = [0, 15058, 16588, 18116, 19642, 21169, 22696, 24227, 25752, 27280, 28809, 30336, 31864, 33393, 34921, 36450, 37977, 39502, 41030, 42558, 44088, 45616, 47141, 48668, 50198, 51726, 53255, 54782, 56309, 57838, 59367, 60893, 62420, 63948, 65476, 67005, 68530, 70059, 71588, 73116, 74643, 76167, 77701, 79227, 80756, 82280, 83808, 85336, 86864, 88392, 89919] + hit0 = 4 + data1 = [0, 9806, 10799, 11794, 12789, 13786, 14780, 15776, 16769, 17765, 18759, 19755, 20750, 21741, 22737, 23732, 24728, 25722, 26718, 27712, 28709, 29701, 30695, 31694, 32688, 33681, 34678, 35672, 36666, 37663, 38656, 39650, 40644, 41638, 42634, 43629, 44623, 45617, 46615, 47610, 48604, 49599, 50594, 51588, 52584, 53579, 54575, 55568, 56561, 57556, 58551] + hit1 = 1 + 感电data0 = [0, 40, 43, 48, 51, 57, 60, 65, 68, 72, 77, 80, 85, 89, 94, 97, 102, 106, 109, 113, 118, 121, 125, 131, 135, 138, 143, 147, 150, 154, 158, 163, 167, 172, 175, 179, 184, 187, 192, 195, 199, 204, 208, 213, 216, 220, 225, 228, 232, 235, 241] + 感电hit0 = 4 + data2 = [0, 7728, 8518, 9301, 10086, 10870, 11654, 12442, 13222, 14009, 14793, 15577, 16361, 17146, 17930, 18713, 19500, 20283, 21068, 21855, 22639, 23422, 24207, 24993, 25774, 26562, 27345, 28130, 28914, 29697, 30485, 31266, 32052, 32837, 33620, 34404, 35192, 35975, 36758, 37544, 38327, 39111, 39898, 40679, 41466, 42250, 43037, 43820, 44603, 45389, 46173] + hit2 = 0 + data3 = [0, 8811, 9708, 10602, 11493, 12390, 13285, 14178, 15071, 15967, 16860, 17753, 18648, 19543, 20435, 21329, 22223, 23118, 24008, 24907, 25801, 26694, 27589, 28483, 29377, 30271, 31166, 32062, 32953, 33845, 34744, 35638, 36532, 37422, 38321, 39214, 40107, 41002, 41895, 42789, 43684, 44577, 45472, 46362, 47261, 48155, 49048, 49942, 50837, 51731, 52623] + hit3 = 0 + data4 = [0, 11601, 12773, 13954, 15128, 16306, 17482, 18658, 19835, 21015, 22193, 23366, 24542, 25719, 26894, 28074, 29252, 30427, 31604, 32780, 33957, 35131, 36312, 37487, 38666, 39841, 41016, 42196, 43370, 44548, 45724, 46902, 48076, 49253, 50432, 51608, 52786, 53963, 55139, 56316, 57494, 58669, 59845, 61022, 62200, 63378, 64554, 65728, 66907, 68080, 69259] + hit4 = 0 + data5 = [0, 8811, 9708, 10602, 11493, 12390, 13285, 14178, 15071, 15967, 16860, 17753, 18648, 19543, 20435, 21329, 22223, 23118, 24008, 24907, 25801, 26694, 27589, 28483, 29377, 30271, 31166, 32062, 32953, 33845, 34744, 35638, 36532, 37422, 38321, 39214, 40107, 41002, 41895, 42789, 43684, 44577, 45472, 46362, 47261, 48155, 49048, 49942, 50837, 51731, 52623] + hit5 = 0 + TP成长 = 0.1 + TP上限 = 5 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.23 + + +class 技能18(主动技能): + 名称 = "雪人刨冰" + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 40 + MP = [360, 3024] + 无色消耗 = 3 + data0 = [0, 3386, 3729, 4072, 4415, 4759, 5105, 5448, 5791, 6132, 6478, 6823, 7165, 7508, 7854, 8195, 8542, 8883, 9231, 9569, 9916, 10261, 10600, 10952, 11292, 11635, 11981, 12323, 12667, 13011, 13354, 13698, 14041, 14386, 14728, 15074, 15415, 15758, 16104, 16447, 16789, 17133, 17478, 17822, 18164, 18508, 18851, 19195, 19539, 19883, 20228] + hit0 = 18 + data1 = [0, 2087, 2299, 2514, 2723, 2937, 3144, 3356, 3575, 3786, 3997, 4206, 4419, 4630, 4845, 5055, 5269, 5477, 5690, 5901, 6117, 6327, 6539, 6749, 6961, 7174, 7386, 7599, 7811, 8025, 8236, 8449, 8660, 8869, 9083, 9293, 9506, 9717, 9931, 10144, 10355, 10564, 10777, 10987, 11202, 11415, 11625, 11836, 12047, 12260, 12471] + hit1 = 13 + data2 = [0, 28728, 31638, 34554, 37468, 40382, 43297, 46211, 49125, 52039, 54953, 57868, 60780, 63693, 66610, 69520, 72440, 75353, 78270, 81182, 84094, 87014, 89924, 92839, 95757, 98666, 101580, 104497, 107410, 110325, 113238, 116151, 119065, 121979, 124897, 127808, 130723, 133638, 136551, 139465, 142382, 145294, 148211, 151123, 154036, 156955, 159869, 162780, 165696, 168608, 171524] + hit2 = 1 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.3 + + +class 技能19(被动技能): + 名称 = '贤者之石' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['魔道酸雨云', '电鳗碰撞机', '反重力装置', '熔岩药瓶', '暴炎加热炉'] + + data0 = [0, 12.3, 14.7, 17.1, 19.4, 20.6, 21.9, 23.1, 24.2, 25.4, 26.5, 27.5, 28.6, 29.6, 30.6, 31.5, 32.4, 33.3, 34.2, 35.1, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.22 + 0.02 * self.等级, 5) + + def 攻击间隔减少率(self): + if self.等级 == 0: + return 0 + else: + return round(self.data0[self.等级]/100, 5) + + +class 技能20(被动技能): + 名称 = '魔道学助手' + 所在等级 = 75 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + 关联技能 = ['变异苍蝇拍', '超级苍蝇拍', '改良舒露露', '改良魔法星弹', '暗影斗篷', '技艺融合', + '超级棒棒糖', '光电兔', '雪人刨冰', '乌洛波洛斯之环', '糖果大作战精怪乐园', '糖果大作战捣蛋杰克'] + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.17 + 0.02 * self.等级, 5) + + def 失败倍率(self): # 有0.50是苦涩棒棒糖的;这里一起算入了 + if self.等级 == 0: + return 1.0 + else: + return round(1+0.50+0.38 + 0.02 * self.等级, 5) + + +class 技能21(主动技能): + # 普通怪物110,其他101 + 名称 = "超级棒棒糖" + 所在等级 = 80 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 45 + MP = [800, 6000] + 无色消耗 = 5 + data0 = [0, 83049, 91472, 99900, 108321, 116748, 125172, 133601, 142025, 150453, 158874, 167301, 175727, 184151, 192577, 201002, 209424, 217857, 226276, 234705, 243129, 251555, 259979, 268406, 276830, 285255, 293682, 302105, 310530, 318956, 327379, 335807, 344232, 352660, 361085, 369511, 377932, 386357, 394783, 403209, 411636, 420063, 428483, 436909, 445333, 453763, 462186, 470612, 479037, 487462, 495889] + hit0 = 1 + data1 = [0, 22608, 24903, 27195, 29491, 31789, 34083, 36379, 38669, 40968, 43263, 45552, 47848, 50140, 52440, 54730, 57026, 59323, 61612, 63908, 66206, 68498, 70791, 73083, 75384, 77672, 79967, 82263, 84555, 86856, 89147, 91444, 93731, 96029, 98327, 100617, 102913, 105205, 107503, 109798, 112092, 114387, 116679, 118970, 121272, 123564, 125853, 128154, 130445, 132746, 135035] + hit1 = 0 + data2 = [0, 52950, 58322, 63693, 69065, 74436, 79810, 85181, 90550, 95922, 101294, 106665, 112038, 117406, 122780, 128149, 133523, 138894, 144266, 149643, 155011, 160385, 165757, 171129, 176496, 181873, 187241, 192613, 197985, 203357, 208725, 214099, 219470, 224845, 230212, 235587, 240957, 246329, 251704, 257074, 262448, 267816, 273191, 278562, 283933, 289305, 294679, 300048, 305422, 310792, 316164] + hit2 = 1 + 感电data0 = [0, 108, 118, 129, 139, 151, 163, 174, 183, 194, 205, 216, 228, 238, 249, 261, 271, 283, 293, 303, 315, 326, 337, 347, 359, 369, 381, 392, 402, 413, 424, 435, 446, 457, 467, 480, 492, 502, 513, 522, 534, 545, 557, 566, 578, 590, 600, 612, 623, 632, 643] + 感电hit0 = 0 + + 是否有护石 = 1 + + def 装备护石(self, char): + self.倍率 *= 1.32 + self.CDR *= 0.9 + + +class 技能22(主动技能): + 名称 = "乌洛波洛斯之环" + 所在等级 = 85 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 180 + MP = [2500, 8000] + 无色消耗 = 10 + data0 = [0, 4653, 5733, 6811, 7891, 8971, 10049, 11132, 12211, 13289, 14369, 15450, 16527, 17607, 18684, 19766, 20843, 21922, 23005, 24081, 25162, 26241, 27320, 28400, 29479, 30559, 31639, 32718, 33796, 34878, 35956, 37035, 38114, 39195, 40274, 41350, 42432, 43511, 44590, 45668, 46751, 47830, 48909, 49987, 51069, 52145, 53225, 54304, 55383, 56464, 57541] + hit0 = 21 + data1 = [0, 3784, 4660, 5536, 6417, 7290, 8166, 9046, 9921, 10799, 11678, 12553, 13428, 14308, 15187, 16063, 16939, 17819, 18696, 19569, 20450, 21327, 22202, 23079, 23959, 24836, 25713, 26589, 27468, 28343, 29219, 30098, 30973, 31851, 32732, 33608, 34485, 35362, 36239, 37116, 37993, 38870, 39751, 40624, 41499, 42377, 43257, 44134, 45012, 45890, 46766] + hit1 = 20 + data2 = [0, 117873, 145210, 172543, 199879, 227211, 254542, 281875, 309210, 336544, 363879, 391212, 418545, 445880, 473214, 500548, 527881, 555217, 582548, 609883, 637215, 664551, 691881, 719215, 746549, 773884, 801218, 828552, 855886, 883218, 910550, 937885, 965216, 992553, 1019886, 1047220, 1074552, 1101888, 1129220, 1156556, 1183888, 1211223, 1238556, 1265889, 1293222, 1320556, 1347890, 1375224, 1402558, 1429891, 1457225] + hit2 = 1 + + +class 技能23(主动技能): + 名称 = "糖果大作战捣蛋杰克" + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 2 + 等级精通 = 40 + CD = 60 + MP = [773, 6000] + 无色消耗 = 7 + data0 = [0, 8794, 9687, 10579, 11469, 12363, 13253, 14147, 15040, 15933, 16824, 17717, 18607, 19499, 20391, 21285, 22178, 23070, 23963, 24854, 25746, 26637, 27531, 28422, 29315, 30206, 31100, 31991, 32885, 33777, 34668, 35559, 36452, 37344, 38236, 39129, 40023, 40912, 41806, 42700, 43590, 44483, 45375, 46268, 47159, 48052, 48943, 49838, 50728, 51621, 52513] + hit0 = 25 + + +class 技能24(被动技能): + 名称 = '粉红糖果' + 所在等级 = 95 + 等级上限 = 50 + 学习间隔 = 3 + 等级精通 = 40 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.18 + 0.02 * self.等级, 5) + + +class 技能25(主动技能): + 名称 = "糖果大作战精怪乐园" + 所在等级 = 100 + 等级上限 = 50 + 学习间隔 = 5 + 等级精通 = 40 + CD = 290 + MP = [4028, 8056] + 无色消耗 = 15 + data0 = [0, 20164, 24840, 29517, 34194, 38870, 43544, 48221, 52897, 57574, 62249, 66926, 71601, 76278, 80954, 85628, 90306, 94982, 99658, 104333, 109008, 113686, 118360, 123037, 127714, 132389, 137064, 141741, 146418, 151095, 155769, 160445, 165122, 169799, 174472, 179150, 183826, 188504, 193177, 197852, 202531, 207205, 211884, 216558, 221232, 225910, 230586, 235262, 239937, 244614, 249290] + hit0 = 8 + data1 = [0, 120993, 149046, 177105, 205160, 233217, 261271, 289329, 317384, 345442, 373495, 401554, 429610, 457665, 485722, 513778, 541836, 569890, 597947, 626002, 654060, 682113, 710172, 738227, 766284, 794340, 822396, 850454, 878508, 906566, 934620, 962678, 990732, 1018790, 1046845, 1074902, 1102955, 1131014, 1159070, 1187127, 1215182, 1243238, 1271296, 1299350, 1327409, 1355463, 1383520, 1411575, 1439633, 1467687, 1495745] + hit1 = 1 + data2 = [0, 131076, 161469, 191862, 222256, 252652, 283047, 313439, 343834, 374228, 404622, 435016, 465409, 495804, 526199, 556593, 586987, 617382, 647776, 678169, 708563, 738958, 769352, 799744, 830141, 860535, 890929, 921322, 951718, 982112, 1012507, 1042898, 1073295, 1103689, 1134081, 1164476, 1194873, 1225266, 1255659, 1286054, 1316447, 1346843, 1377235, 1407628, 1438024, 1468419, 1498813, 1529207, 1559601, 1589996, 1620391] + hit2 = 4 + + +class 技能26(被动技能): + 名称 = '幸运棒棒糖' + 所在等级 = 25 + 等级上限 = 15 + 基础等级 = 5 + + def 加成倍率(self, 武器类型): + if self.等级 == 0: + return 1.0 + else: + return round(1.07 + 0.01 * self.等级, 5) + + +class classChange(Character): + def __init__(self, equVersion=""): + self.实际名称 = 'witch' + self.名称 = '知源·魔道学者' + self.角色 = '魔法师(女)' + self.角色类型 = '输出' + self.职业 = '魔道学者' + self.武器选项 = ['魔杖', '法杖', '棍棒', '矛', '扫把'] + self.输出类型选项 = ['魔法固伤'] + self.防具精通属性 = ['智力'] + self.类型 = '魔法固伤' + self.武器类型 = '扫把' + self.防具类型 = '皮甲' + 技能列表 = [] + 技能序号 = {} + i = 0 + while i >= 0: + try: + tem = eval('技能'+str(i)+'()') + tem.基础等级计算() + 技能序号[tem.名称] = i + 技能列表.append(tem) + i += 1 + except Exception: + i = -1 + self.技能栏 = 技能列表 + self.技能序号 = 技能序号 + self.buff = 1.92 + + super().__init__(equVersion) + + def 职业特殊计算(self): + 魔道学助手 = self.get_skill_by_name('魔道学助手') + 贤者之石 = self.get_skill_by_name('贤者之石') + # 冰霜钻孔车 = self.get_skill_by_name('冰霜钻孔车') + 魔道学助手.等级 = 贤者之石.等级 + # 冰霜钻孔车.hit0 = ceil(冰霜钻孔车.持续时间/(冰霜钻孔车.攻击间隔*(1-贤者之石.攻击间隔减少率()))) + + def 火属性强化(self) -> float: + max_num = max([super().火属性强化(),super().冰属性强化(),super().光属性强化(),super().暗属性强化()]) + if max_num == super().火属性强化(): + return max_num + else: + return int(0.9*max_num) + + def 冰属性强化(self) -> float: + max_num = max([super().火属性强化(),super().冰属性强化(),super().光属性强化(),super().暗属性强化()]) + if max_num == super().冰属性强化(): + return max_num + else: + return int(0.9*max_num) + + def 光属性强化(self) -> float: + max_num = max([super().火属性强化(),super().冰属性强化(),super().光属性强化(),super().暗属性强化()]) + if max_num == super().光属性强化(): + return max_num + else: + return int(0.9*max_num) + + def 暗属性强化(self) -> float: + max_num = max([super().火属性强化(),super().冰属性强化(),super().光属性强化(),super().暗属性强化()]) + if max_num == super().暗属性强化(): + return max_num + else: + return int(0.9*max_num) \ No newline at end of file diff --git a/api/core/equipment/__init__.py b/api/core/equipment/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/core/equipment/avatar.py b/api/core/equipment/avatar.py new file mode 100644 index 00000000..b2276c4c --- /dev/null +++ b/api/core/equipment/avatar.py @@ -0,0 +1,331 @@ +from typing import Tuple + +from core.basic.property import CharacterProperty + +装扮选项属性 = { + "神器": { + "智力": 65, + "体力": 65, + "精神": 65, + "力量": 65, + "施放速度": 0.14, + "移动速度": 0.07, + "攻击速度": 0.07, + "火属性抗性": 45, + "光属性抗性": 45, + "冰属性抗性": 45, + "暗属性抗性": 45, + "所有异常抗性": 0.042 + }, + "稀有": { + "智力": 55, + "体力": 55, + "精神": 55, + "力量": 55, + "施放速度": 0.12, + "移动速度": 0.06, + "攻击速度": 0.06, + "火属性抗性": 35, + "光属性抗性": 35, + "冰属性抗性": 35, + "暗属性抗性": 35, + "所有异常抗性": 0.036 + }, + "高级": { + "智力": 45, + "体力": 45, + "精神": 45, + "力量": 45, + "施放速度": 0.12, + "移动速度": 0.05, + "攻击速度": 0.05, + "火属性抗性": 25, + "光属性抗性": 25, + "冰属性抗性": 25, + "暗属性抗性": 25, + "所有异常抗性": 0.03 + } +} + + +class 装扮: + 部位: str + 品质: str + 套装: str + 选项集合: Tuple[str] + + def 效果(self, 角色: CharacterProperty, 选项: str): + if 选项 in self.选项集合: + 数值 = 装扮选项属性[self.品质][选项] + 角色.基础属性加成(**{选项: 数值}) + elif str(选项) == '0': + pass + else: + 角色.单技能加成(名称=选项, lv=1) + + +class 神器装扮头发(装扮): + 部位 = "头发" + 品质 = "神器" + 套装 = "神器装扮" + id = 1 + 选项集合 = ("智力", "精神", "施放速度") + + +class 神器装扮帽子(装扮): + 部位 = "帽子" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = ("智力", "精神", "施放速度") + + +class 神器装扮脸部(装扮): + 部位 = "脸部" + 品质 = "神器" + 套装 = "神器装扮" + # 逗号不能删 + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 神器装扮胸部(装扮): + 部位 = "胸部" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 神器装扮上衣(装扮): + 部位 = "上衣" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = () + + +class 神器装扮腰带(装扮): + 部位 = "腰带" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = ("力量", "体力", "火属性抗性", "光属性抗性", "冰属性抗性", "暗属性抗性") + + +class 神器装扮下装(装扮): + 部位 = "下装" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = () + + +class 神器装扮鞋(装扮): + 部位 = "鞋" + 品质 = "神器" + 套装 = "神器装扮" + 选项集合 = ("力量", "体力", "移动速度") + + +class 稀有装扮头发(装扮): + 部位 = "头发" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("智力", "精神", "施放速度") + + +class 稀有装扮帽子(装扮): + 部位 = "帽子" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("智力", "精神", "施放速度") + + +class 稀有装扮脸部(装扮): + 部位 = "脸部" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 稀有装扮胸部(装扮): + 部位 = "胸部" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 稀有装扮上衣(装扮): + 部位 = "上衣" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = () + + +class 稀有装扮腰带(装扮): + 部位 = "腰带" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("力量", "体力", "火属性抗性", "光属性抗性", "冰属性抗性", "暗属性抗性") + + +class 稀有装扮下装(装扮): + 部位 = "下装" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = () + + +class 稀有装扮鞋(装扮): + 部位 = "鞋" + 品质 = "稀有" + 套装 = "稀有装扮" + 选项集合 = ("力量", "体力", "移动速度") + + +class 高级装扮头发(装扮): + 部位 = "头发" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("智力", "精神", "施放速度") + + +class 高级装扮帽子(装扮): + 部位 = "帽子" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("智力", "精神", "施放速度") + + +class 高级装扮脸部(装扮): + 部位 = "脸部" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 高级装扮胸部(装扮): + 部位 = "胸部" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("攻击速度", "所有异常抗性") + + +class 高级装扮上衣(装扮): + 部位 = "上衣" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = () + + +class 高级装扮腰带(装扮): + 部位 = "腰带" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("力量", "体力", "火属性抗性", "光属性抗性", "冰属性抗性", "暗属性抗性") + + +class 高级装扮下装(装扮): + 部位 = "下装" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = () + + +class 高级装扮鞋(装扮): + 部位 = "鞋" + 品质 = "高级" + 套装 = "高级装扮" + 选项集合 = ("力量", "体力", "移动速度") + + +神器装扮集合 = (神器装扮头发, 神器装扮帽子, 神器装扮脸部, 神器装扮胸部, + 神器装扮上衣, 神器装扮腰带, 神器装扮下装, 神器装扮鞋) +稀有装扮集合 = (稀有装扮头发, 稀有装扮帽子, 稀有装扮脸部, 稀有装扮胸部, + 稀有装扮上衣, 稀有装扮腰带, 稀有装扮下装, 稀有装扮鞋) +高级装扮集合 = (高级装扮头发, 高级装扮帽子, 高级装扮脸部, 高级装扮胸部, + 高级装扮上衣, 高级装扮腰带, 高级装扮下装, 高级装扮鞋) + +装扮集合 = tuple(map(lambda x: x(), (神器装扮集合 + 稀有装扮集合 + 高级装扮集合))) + + +class 装扮套装: + 名称: str + 兼容于: str = None + 所需数量: int + + def 效果(self, 属性: CharacterProperty): + pass + + +class 神器装扮3(装扮套装): + 名称 = "神器装扮" + 兼容于 = "稀有装扮" + 所需数量 = 3 + + def 效果(self, 属性: CharacterProperty): + # print("effect unique suit 3") + 属性.基础属性加成(四维=50, 三速=0.03) + + +class 神器装扮8(装扮套装): + + 名称 = "神器装扮" + 兼容于 = "稀有装扮" + 所需数量 = 8 + + def 效果(self, 属性: CharacterProperty): + # print("effect unique suit 8") + 属性.基础属性加成(四维=50, 三速=0.03) + 属性.所有属性强化加成(10) + 属性.所有属性抗性加成(15) + + +class 稀有装扮3(装扮套装): + + 名称 = "稀有装扮" + 所需数量 = 3 + + def 效果(self, 属性: CharacterProperty): + # print("effect rare suit 3") + 属性.基础属性加成(四维=40, 三速=0.02) + + +class 稀有装扮8(装扮套装): + + 名称 = "稀有装扮" + 所需数量 = 8 + + def 效果(self, 属性: CharacterProperty): + # print("effect rare suit 8") + 属性.基础属性加成(四维=40, 三速=0.02) + 属性.所有属性强化加成(6) + 属性.所有属性抗性加成(15) + + +class 节日装扮8(装扮套装): + + 名称 = "节日装扮" + 所需数量 = 8 + + def 效果(self, 属性: CharacterProperty): + 属性.基础属性加成(四维=25, 三速=0.02) + + +class 高级装扮3(装扮套装): + + 名称 = "高级装扮" + 所需数量 = 3 + + def 效果(self, 属性: CharacterProperty): + # print("effect uncommon suit 3") + 属性.基础属性加成(四维=10) + + +class 高级装扮8(装扮套装): + + 名称 = "高级装扮" + 所需数量 = 8 + + def 效果(self, 属性: CharacterProperty): + # print("effect uncommon suit 8") + 属性.基础属性加成(四维=10, 三速=0.01) + + +装扮套装集合 = tuple( + map(lambda x: x(), (神器装扮3, 神器装扮8, 稀有装扮3, 稀有装扮8, 节日装扮8, 高级装扮3, 高级装扮8))) diff --git a/api/core/equipment/consumable.py b/api/core/equipment/consumable.py new file mode 100644 index 00000000..b6c873e8 --- /dev/null +++ b/api/core/equipment/consumable.py @@ -0,0 +1,211 @@ +from core.basic.property import CharacterProperty + +consumable_list = {} + + +def consumable_28000(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + pass + if mode == 1: + pass + +# 斗神之吼秘药 + + +def consumable_28001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.斗神宠物加成(int(12*rate)/100) + pass + +# 赛丽亚的特调酷饮 + + +def consumable_28002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.所有属性强化加成(int(5*rate), mode=1) + pass + +# [冒险]属性强化药水 + + +def consumable_28003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.所有属性强化加成(int(10*rate),mode=1) + pass + +# 魔界战力释放秘药 + + +def consumable_28004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(150*rate), 进图力量=int(150*rate)) + pass + +# 顶级力量灵药 + + +def consumable_28005(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图力量=int(175*rate)) + pass + +# 顶级智力灵药 + + +def consumable_28006(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(175*rate)) + pass + +# 活力秘药 + + +def consumable_28007(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(50*rate), 进图力量=int(50*rate)) + pass + +# 虚祖皇家能量秘药 + + +def consumable_28008(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(100*rate), 进图力量=int(100*rate)) + char.所有属性强化加成(int(5*rate), mode=1) + pass + +# 黄金羊毛 + + +def consumable_28009(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(60*rate), 进图力量=int(60*rate)) + pass + +# 龙之气息 + + +def consumable_28010(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(30*rate), 进图力量=int(30*rate)) + pass + +# 甜蜜喜糖 + + +def consumable_28011(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.基础属性加成(进图智力=int(88*rate), 进图力量=int(88*rate)) + pass + +def consumable_28012(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.火属性抗性加成(30 * rate) + pass + +def consumable_28013(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.冰属性抗性加成(30 * rate) + pass + +def consumable_28014(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.光属性抗性加成(30 * rate) + pass + +def consumable_28015(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.暗属性抗性加成(30 * rate) + pass + +def consumable_28016(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + # char.基础属性加成(物理攻击力=25 * rate) + pass + if mode == 1: + char.所有属性抗性加成(15 * rate) + pass + + +def consumable_28017(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + if rate == 1.0: + char.基础属性加成(进图智力=280000, 进图力量=280000,三攻=18000) + pass + if mode == 1: + pass + + +def consumable_28018(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + char.所有异常抗性加成(0.03*rate) + pass + if mode == 1: + pass + + + +def consumable_28019(char: CharacterProperty = {}, mode=0, text=False, rate=1.0): + if mode == 0: + char.所有异常抗性加成(0.05*rate) + pass + if mode == 1: + pass + + +# 药剂id范围 28001~29000 +for i in range(28001, 29000): + try: + if i not in consumable_list.keys(): + consumable_list[i] = eval('consumable_{}'.format(i)) + except Exception: + pass + + +def get_sundriesfunc_by_id(id): + return consumable_list.get(id, consumable_28000) diff --git a/api/core/equipment/emblems.py b/api/core/equipment/emblems.py new file mode 100644 index 00000000..a50d94aa --- /dev/null +++ b/api/core/equipment/emblems.py @@ -0,0 +1,228 @@ +from core.basic.property import CharacterProperty + +emblems_func_list = {} + +# 名望 部位 颜色 品质 属性 +index = ("maxFame", "position", "type", "rarity", "props") + + +def emblems_25000(char: CharacterProperty = {}, text=False): + if text: + return (0, '', '其它', '华丽', '无徽章') + + +def emblems_25001(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '玲珑', '力智+35') + char.基础属性加成(力智=35) + + +def emblems_25021(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '玲珑', '体精+35') + char.基础属性加成(体精=35) + + +def emblems_25002(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '灿烂', '力智+25') + char.基础属性加成(力智=25) + + +def emblems_25022(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '玲珑', '体精+25') + char.基础属性加成(体精=25) + + +def emblems_25003(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '华丽', '力智+17') + char.基础属性加成(力智=17) + + +def emblems_25023(char: CharacterProperty = {}, text=False): + if text: + return (0, '戒指,腰带,皮肤,武器装扮,光环', '红色', '玲珑', '体精+17') + char.基础属性加成(体精=17) + + +def emblems_25004(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,戒指,腰带,皮肤,武器装扮,光环', '红绿', '玲珑', '力智+20 暴击+1.9%') + char.基础属性加成(力智=20, 暴击率=0.022) + + +def emblems_25005(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,戒指,腰带,皮肤,武器装扮,光环', '红绿', '玲珑', '力智+15 暴击+1.5%') + char.基础属性加成(力智=15, 暴击率=0.015) + + +def emblems_25006(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,戒指,腰带,皮肤,武器装扮,光环', '红绿', '玲珑', '力智+10 暴击+1.1%') + char.基础属性加成(力智=10, 暴击率=0.011) + + +def emblems_25007(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '灿烂', '力智+15') + char.基础属性加成(力智=15) + + +def emblems_25008(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '华丽', '力智+10') + char.基础属性加成(力智=10) + + +def emblems_25009(char: CharacterProperty = {}, text=False): + if text: + return (0, '手镯,鞋,皮肤,武器装扮,光环', '蓝色', '玲珑', '三攻+20') + char.基础属性加成(三攻=20) + + +def emblems_25010(char: CharacterProperty = {}, text=False): + if text: + return (0, '手镯,鞋,皮肤,武器装扮,光环', '蓝色', '灿烂', '三攻+15') + char.基础属性加成(三攻=15) + + +def emblems_25011(char: CharacterProperty = {}, text=False): + if text: + return (0, '手镯,鞋,皮肤,武器装扮,光环', '蓝色', '华丽', '三攻+10') + char.基础属性加成(三攻=10) + + +def emblems_25012(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,皮肤,武器装扮,光环', '绿色', '灿烂', '体精+15') + char.基础属性加成(体精=15) + + +def emblems_25013(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,皮肤,武器装扮,光环', '绿色', '华丽', '体精+10') + char.基础属性加成(体精=10) + + +def emblems_25014(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '玲珑', '攻速+2%') + char.攻击速度增加(0.02) + + +def emblems_25015(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '灿烂', '攻速+1.5%') + char.攻击速度增加(0.015) + + +def emblems_25016(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '华丽', '攻速+1.1%') + char.攻击速度增加(0.011) + + +def emblems_25017(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '玲珑', '属抗+7') + char.所有属性抗性加成(7) + + +def emblems_25018(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '灿烂', '属抗+5') + char.所有属性抗性加成(5) + + +def emblems_25019(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '华丽', '属抗+3') + char.所有属性抗性加成(3) + + +def emblems_25020(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '玲珑', '异抗+0.7%') + char.所有异常抗性加成(7/1000) + + +def emblems_25024(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '灿烂', '异抗+0.5%') + char.所有异常抗性加成(5/1000) + + +def emblems_25025(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环,腰带,上衣,下装,手镯,鞋', '彩色', '华丽', '异抗+0.3%') + char.所有异常抗性加成(3/1000) + +def emblems_25026(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '玲珑', '力智+30') + char.基础属性加成(力智=30) + +def emblems_25027(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '灿烂', '体精+15') + char.基础属性加成(体精=15) + +def emblems_25028(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '华丽', '体精+10') + char.基础属性加成(体精=10) + +def emblems_25029(char: CharacterProperty = {}, text=False): + if text: + return (0, '头肩,项链,皮肤,武器装扮,光环', '黄色', '玲珑', '体精+30') + char.基础属性加成(体精=30) + +def emblems_25030(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,皮肤,武器装扮,光环', '绿色', '玲珑', '体精+30') + char.基础属性加成(体精=30) + +def emblems_25031(char: CharacterProperty = {}, text=False): + if text: + return (0, '上衣,下装,皮肤,武器装扮,光环', '绿色', '玲珑', '力智+30') + char.基础属性加成(力智=30) + +# 徽章效果id范围 25001~25999 +for i in range(25001, 25040): + try: + if i not in emblems_func_list.keys(): + emblems_func_list[i] = eval('emblems_{}'.format(i)) + except Exception: + pass + + +def get_embfunc_by_id(id): + return emblems_func_list.get(int(id), emblems_25000) + + +def get_emblems_setinfo(char: CharacterProperty = {}): + infolist = [] + for i in emblems_func_list.keys(): + data = {} + data['id'] = i + emblems = emblems_func_list[i] + info = emblems(text=True) + + char.评分开始() + emblems(char) + 评分 = char.评分结束() + data['rate'] = 评分 + num = 0 + for k in index: + value = info[num] + if(k == 'position'): + value = [i.strip() for i in value.split(",")] + data[k] = value + num += 1 + infolist.append(data) + infolist.sort(key=lambda x: x['rate'], reverse=True) + + return infolist diff --git a/api/core/equipment/enchanting.py b/api/core/equipment/enchanting.py new file mode 100644 index 00000000..4b2f14b6 --- /dev/null +++ b/api/core/equipment/enchanting.py @@ -0,0 +1,14909 @@ +from core.basic.property import CharacterProperty + +enchanting_func_list = {} + +# 名望 部位 描述 +index = ("maxFame", "position", "props") + +# region 正常部位 20000~21000 + + +def enchanting_20000(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '', '无附魔') + if mode == 0: + pass + if mode == 1: + pass + + +def enchanting_20001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(25)') + if mode == 0: + char.基础属性加成(物理攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(25)') + if mode == 0: + char.基础属性加成(魔法攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '所有属性强化(5)') + if mode == 0: + char.所有属性强化加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '智(38)') + if mode == 0: + char.基础属性加成(智力=38 * rate) + if mode == 1: + pass + + +def enchanting_20005(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '力(38)') + if mode == 0: + char.基础属性加成(力量=38 * rate) + if mode == 1: + pass + + +def enchanting_20006(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(5)') + if mode == 0: + char.所有属性强化加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20007(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '火强(3)') + if mode == 0: + char.所有属性强化加成(火属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20008(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '火强(4)') + if mode == 0: + char.所有属性强化加成(火属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20009(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '火强(5)') + if mode == 0: + char.所有属性强化加成(火属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20010(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '火强(6)') + if mode == 0: + char.所有属性强化加成(火属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20011(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '冰强(3)') + if mode == 0: + char.所有属性强化加成(冰属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20012(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '冰强(4)') + if mode == 0: + char.所有属性强化加成(冰属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20013(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '冰强(5)') + if mode == 0: + char.所有属性强化加成(冰属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20014(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '冰强(6)') + if mode == 0: + char.所有属性强化加成(冰属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20015(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '暗强(3)') + if mode == 0: + char.所有属性强化加成(暗属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20016(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '暗强(4)') + if mode == 0: + char.所有属性强化加成(暗属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20017(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '暗强(5)') + if mode == 0: + char.所有属性强化加成(暗属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20018(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '暗强(6)') + if mode == 0: + char.所有属性强化加成(暗属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20019(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '光强(3)') + if mode == 0: + char.所有属性强化加成(光属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20020(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '光强(4)') + if mode == 0: + char.所有属性强化加成(光属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20021(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '光强(5)') + if mode == 0: + char.所有属性强化加成(光属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20022(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '光强(6)') + if mode == 0: + char.所有属性强化加成(光属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20023(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(15)') + if mode == 0: + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20024(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(16)') + if mode == 0: + char.基础属性加成(力量=16 * rate) + if mode == 1: + pass + + +def enchanting_20025(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(17)') + if mode == 0: + char.基础属性加成(力量=17 * rate) + if mode == 1: + pass + + +def enchanting_20026(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(18)') + if mode == 0: + char.基础属性加成(力量=18 * rate) + if mode == 1: + pass + + +def enchanting_20027(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(19)') + if mode == 0: + char.基础属性加成(力量=19 * rate) + if mode == 1: + pass + + +def enchanting_20028(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(20)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20029(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(21)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + if mode == 1: + pass + + +def enchanting_20030(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(22)') + if mode == 0: + char.基础属性加成(力量=22 * rate) + if mode == 1: + pass + + +def enchanting_20031(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(5)') + if mode == 0: + char.基础属性加成(魔法攻击力=5 * rate) + if mode == 1: + pass + + +def enchanting_20032(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(6)') + if mode == 0: + char.基础属性加成(魔法攻击力=6 * rate) + if mode == 1: + pass + + +def enchanting_20033(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(7)') + if mode == 0: + char.基础属性加成(魔法攻击力=7 * rate) + if mode == 1: + pass + + +def enchanting_20034(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=8 * rate) + if mode == 1: + pass + + +def enchanting_20035(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(9)') + if mode == 0: + char.基础属性加成(魔法攻击力=9 * rate) + if mode == 1: + pass + + +def enchanting_20036(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩', '物暴(2%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20037(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '物暴(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20038(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(26)') + if mode == 0: + char.基础属性加成(智力=26 * rate) + if mode == 1: + pass + + +def enchanting_20039(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(27)') + if mode == 0: + char.基础属性加成(智力=27 * rate) + if mode == 1: + pass + + +def enchanting_20040(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(28)') + if mode == 0: + char.基础属性加成(智力=28 * rate) + if mode == 1: + pass + + +def enchanting_20041(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(29)') + if mode == 0: + char.基础属性加成(智力=29 * rate) + if mode == 1: + pass + + +def enchanting_20042(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(5)') + if mode == 0: + char.所有属性抗性加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20043(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(6)') + if mode == 0: + char.所有属性抗性加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20044(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(7)') + if mode == 0: + char.所有属性抗性加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20045(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(35)') + if mode == 0: + char.基础属性加成(精神=35 * rate) + if mode == 1: + pass + + +def enchanting_20046(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(3)') + if mode == 0: + char.所有属性强化加成(暗属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20047(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(4)') + if mode == 0: + char.所有属性强化加成(暗属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20048(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(5)') + if mode == 0: + char.所有属性强化加成(暗属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20049(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(3)') + if mode == 0: + char.所有属性强化加成(光属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_20050(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(4)') + if mode == 0: + char.所有属性强化加成(光属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_20051(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(5)') + if mode == 0: + char.所有属性强化加成(光属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_20052(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(4)') + if mode == 0: + char.火属性抗性加成(4 * rate) + if mode == 1: + pass + + +def enchanting_20053(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(5)') + if mode == 0: + char.火属性抗性加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20054(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(6)') + if mode == 0: + char.火属性抗性加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20055(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(7)') + if mode == 0: + char.火属性抗性加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20056(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(8)') + if mode == 0: + char.火属性抗性加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20057(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(9)') + if mode == 0: + char.火属性抗性加成(9 * rate) + if mode == 1: + pass + + +def enchanting_20058(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(10)') + if mode == 0: + char.火属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20059(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(26)') + if mode == 0: + char.基础属性加成(力量=26 * rate) + if mode == 1: + pass + + +def enchanting_20060(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(27)') + if mode == 0: + char.基础属性加成(力量=27 * rate) + if mode == 1: + pass + + +def enchanting_20061(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(28)') + if mode == 0: + char.基础属性加成(力量=28 * rate) + if mode == 1: + pass + + +def enchanting_20062(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(29)') + if mode == 0: + char.基础属性加成(力量=29 * rate) + if mode == 1: + pass + + +def enchanting_20063(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(2)') + if mode == 0: + char.光属性抗性加成(2 * rate) + if mode == 1: + pass + + +def enchanting_20064(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(3)') + if mode == 0: + char.光属性抗性加成(3 * rate) + if mode == 1: + pass + + +def enchanting_20065(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(4)') + if mode == 0: + char.光属性抗性加成(4 * rate) + if mode == 1: + pass + + +def enchanting_20066(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(5)') + if mode == 0: + char.光属性抗性加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20067(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(6)') + if mode == 0: + char.光属性抗性加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20068(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(7)') + if mode == 0: + char.光属性抗性加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20069(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(8)') + if mode == 0: + char.光属性抗性加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20070(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(9)') + if mode == 0: + char.光属性抗性加成(9 * rate) + if mode == 1: + pass + + +def enchanting_20071(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '光抗(10)') + if mode == 0: + char.光属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20072(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '独立(11)') + if mode == 0: + char.基础属性加成(独立攻击力=11 * rate) + if mode == 1: + pass + + +def enchanting_20073(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(15)') + if mode == 0: + char.基础属性加成(精神=15 * rate) + if mode == 1: + pass + + +def enchanting_20074(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(16)') + if mode == 0: + char.基础属性加成(精神=16 * rate) + if mode == 1: + pass + + +def enchanting_20075(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(17)') + if mode == 0: + char.基础属性加成(精神=17 * rate) + if mode == 1: + pass + + +def enchanting_20076(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(18)') + if mode == 0: + char.基础属性加成(精神=18 * rate) + if mode == 1: + pass + + +def enchanting_20077(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(19)') + if mode == 0: + char.基础属性加成(精神=19 * rate) + if mode == 1: + pass + + +def enchanting_20078(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(20)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + if mode == 1: + pass + + +def enchanting_20079(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(21)') + if mode == 0: + char.基础属性加成(精神=21 * rate) + if mode == 1: + pass + + +def enchanting_20080(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(8)') + if mode == 0: + char.基础属性加成(力量=8 * rate) + if mode == 1: + pass + + +def enchanting_20081(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(9)') + if mode == 0: + char.基础属性加成(力量=9 * rate) + if mode == 1: + pass + + +def enchanting_20082(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(10)') + if mode == 0: + char.基础属性加成(力量=10 * rate) + if mode == 1: + pass + + +def enchanting_20083(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(11)') + if mode == 0: + char.基础属性加成(力量=11 * rate) + if mode == 1: + pass + + +def enchanting_20084(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(12)') + if mode == 0: + char.基础属性加成(力量=12 * rate) + if mode == 1: + pass + + +def enchanting_20085(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(13)') + if mode == 0: + char.基础属性加成(力量=13 * rate) + if mode == 1: + pass + + +def enchanting_20086(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(14)') + if mode == 0: + char.基础属性加成(力量=14 * rate) + if mode == 1: + pass + + +def enchanting_20087(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.4%)') + if mode == 0: + char.基础属性加成(施放速度=0.004 * rate) + if mode == 1: + pass + + +def enchanting_20088(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.5%)') + if mode == 0: + char.基础属性加成(施放速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_20089(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.6%)') + if mode == 0: + char.基础属性加成(施放速度=0.006 * rate) + if mode == 1: + pass + + +def enchanting_20090(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.7%)') + if mode == 0: + char.基础属性加成(施放速度=0.007 * rate) + if mode == 1: + pass + + +def enchanting_20091(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.8%)') + if mode == 0: + char.基础属性加成(施放速度=0.008 * rate) + if mode == 1: + pass + + +def enchanting_20092(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(0.9%)') + if mode == 0: + char.基础属性加成(施放速度=0.009 * rate) + if mode == 1: + pass + + +def enchanting_20093(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(12)') + if mode == 0: + char.所有属性强化加成(冰属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20094(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(13)') + if mode == 0: + char.所有属性强化加成(冰属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20095(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(14)') + if mode == 0: + char.所有属性强化加成(冰属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20096(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(15)') + if mode == 0: + char.所有属性强化加成(冰属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20097(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(23)') + if mode == 0: + char.基础属性加成(精神=23 * rate) + if mode == 1: + pass + + +def enchanting_20098(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(24)') + if mode == 0: + char.基础属性加成(精神=24 * rate) + if mode == 1: + pass + + +def enchanting_20099(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(25)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + if mode == 1: + pass + + +def enchanting_20100(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(9)') + if mode == 0: + char.所有属性强化加成(冰属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20101(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(10)') + if mode == 0: + char.所有属性强化加成(冰属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20102(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(11)') + if mode == 0: + char.所有属性强化加成(冰属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20103(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(10)') + if mode == 0: + char.基础属性加成(物理攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20104(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(11)') + if mode == 0: + char.基础属性加成(物理攻击力=11 * rate) + if mode == 1: + pass + + +def enchanting_20105(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(12)') + if mode == 0: + char.基础属性加成(物理攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_20106(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(13)') + if mode == 0: + char.基础属性加成(物理攻击力=13 * rate) + if mode == 1: + pass + + +def enchanting_20107(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(14)') + if mode == 0: + char.基础属性加成(物理攻击力=14 * rate) + if mode == 1: + pass + + +def enchanting_20108(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(6)') + if mode == 0: + char.所有属性强化加成(暗属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20109(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(7)') + if mode == 0: + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20110(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(5)') + if mode == 0: + char.基础属性加成(物理攻击力=5 * rate) + if mode == 1: + pass + + +def enchanting_20111(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(6)') + if mode == 0: + char.基础属性加成(物理攻击力=6 * rate) + if mode == 1: + pass + + +def enchanting_20112(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(7)') + if mode == 0: + char.基础属性加成(物理攻击力=7 * rate) + if mode == 1: + pass + + +def enchanting_20113(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(8)') + if mode == 0: + char.基础属性加成(物理攻击力=8 * rate) + if mode == 1: + pass + + +def enchanting_20114(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(9)') + if mode == 0: + char.基础属性加成(物理攻击力=9 * rate) + if mode == 1: + pass + + +def enchanting_20115(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(8)') + if mode == 0: + char.基础属性加成(智力=8 * rate) + if mode == 1: + pass + + +def enchanting_20116(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(9)') + if mode == 0: + char.基础属性加成(智力=9 * rate) + if mode == 1: + pass + + +def enchanting_20117(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(10)') + if mode == 0: + char.基础属性加成(智力=10 * rate) + if mode == 1: + pass + + +def enchanting_20118(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(11)') + if mode == 0: + char.基础属性加成(智力=11 * rate) + if mode == 1: + pass + + +def enchanting_20119(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(12)') + if mode == 0: + char.基础属性加成(智力=12 * rate) + if mode == 1: + pass + + +def enchanting_20120(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(13)') + if mode == 0: + char.基础属性加成(智力=13 * rate) + if mode == 1: + pass + + +def enchanting_20121(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(14)') + if mode == 0: + char.基础属性加成(智力=14 * rate) + if mode == 1: + pass + + +def enchanting_20122(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '智(4)') + if mode == 0: + char.基础属性加成(智力=4 * rate) + if mode == 1: + pass + + +def enchanting_20123(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '智(5)') + if mode == 0: + char.基础属性加成(智力=5 * rate) + if mode == 1: + pass + + +def enchanting_20124(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '智(6)') + if mode == 0: + char.基础属性加成(智力=6 * rate) + if mode == 1: + pass + + +def enchanting_20125(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '智(7)') + if mode == 0: + char.基础属性加成(智力=7 * rate) + if mode == 1: + pass + + +def enchanting_20126(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '力(4)') + if mode == 0: + char.基础属性加成(力量=4 * rate) + if mode == 1: + pass + + +def enchanting_20127(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '力(5)') + if mode == 0: + char.基础属性加成(力量=5 * rate) + if mode == 1: + pass + + +def enchanting_20128(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '力(6)') + if mode == 0: + char.基础属性加成(力量=6 * rate) + if mode == 1: + pass + + +def enchanting_20129(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '力(7)') + if mode == 0: + char.基础属性加成(力量=7 * rate) + if mode == 1: + pass + + +def enchanting_20130(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.3%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.003 * rate) + pass + if mode == 1: + pass + + +def enchanting_20131(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.4%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.004 * rate) + pass + if mode == 1: + pass + + +def enchanting_20132(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.5%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.005 * rate) + pass + if mode == 1: + pass + + +def enchanting_20133(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.6%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.006 * rate) + pass + if mode == 1: + pass + + +def enchanting_20134(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.7%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.007 * rate) + pass + if mode == 1: + pass + + +def enchanting_20135(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.8%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.008 * rate) + pass + if mode == 1: + pass + + +def enchanting_20136(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(4)') + if mode == 0: + char.暗属性抗性加成(4 * rate) + if mode == 1: + pass + + +def enchanting_20137(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(5)') + if mode == 0: + char.暗属性抗性加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20138(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(6)') + if mode == 0: + char.暗属性抗性加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20139(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(7)') + if mode == 0: + char.暗属性抗性加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20140(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(8)') + if mode == 0: + char.暗属性抗性加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20141(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(9)') + if mode == 0: + char.暗属性抗性加成(9 * rate) + if mode == 1: + pass + + +def enchanting_20142(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '暗抗(10)') + if mode == 0: + char.暗属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20143(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(1.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20144(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(1.1%)') + if mode == 0: + char.基础属性加成(施放速度=0.011 * rate) + if mode == 1: + pass + + +def enchanting_20145(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(1.2%)') + if mode == 0: + char.基础属性加成(施放速度=0.012 * rate) + if mode == 1: + pass + + +def enchanting_20146(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(1.3%)') + if mode == 0: + char.基础属性加成(施放速度=0.013 * rate) + if mode == 1: + pass + + +def enchanting_20147(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(1.4%)') + if mode == 0: + char.基础属性加成(施放速度=0.014 * rate) + if mode == 1: + pass + + +def enchanting_20148(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(0.9%)') + if mode == 0: + char.基础属性加成(移动速度=0.009 * rate) + if mode == 1: + pass + + +def enchanting_20149(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(1.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20150(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(1.1%)') + if mode == 0: + char.基础属性加成(移动速度=0.011 * rate) + if mode == 1: + pass + + +def enchanting_20151(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(1.2%)') + if mode == 0: + char.基础属性加成(移动速度=0.012 * rate) + if mode == 1: + pass + + +def enchanting_20152(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.9%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.009 * rate) + pass + if mode == 1: + pass + + +def enchanting_20153(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.01 * rate) + pass + if mode == 1: + pass + + +def enchanting_20154(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.1%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.011 * rate) + pass + if mode == 1: + pass + + +def enchanting_20155(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '魔暴(3%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20156(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '魔暴(4%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20157(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20158(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(2)') + if mode == 0: + char.所有属性强化加成(2 * rate) + if mode == 1: + pass + + +def enchanting_20159(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(3)') + if mode == 0: + char.所有属性强化加成(3 * rate) + if mode == 1: + pass + + +def enchanting_20160(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(4)') + if mode == 0: + char.所有属性强化加成(4 * rate) + if mode == 1: + pass + + +def enchanting_20161(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(6)') + if mode == 0: + char.所有属性强化加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20162(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(7)') + if mode == 0: + char.所有属性强化加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20163(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(8)') + if mode == 0: + char.所有属性强化加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20164(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(9)') + if mode == 0: + char.所有属性强化加成(9 * rate) + if mode == 1: + pass + + +def enchanting_20165(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(8)|暗强(8)') + if mode == 0: + char.所有属性强化加成(光属性强化=8 * rate, 暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20166(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(8)|冰强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate, 冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20167(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(8)|光强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate, 光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20168(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(10)|暗强(10)') + if mode == 0: + char.所有属性强化加成(光属性强化=10 * rate, 暗属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20169(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(10)|冰强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate, 冰属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20170(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(10)|光强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate, 光属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20171(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '所有属性抗性(12)') + if mode == 0: + char.所有属性抗性加成(12 * rate) + if mode == 1: + pass + + +def enchanting_20172(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(18)') + if mode == 0: + char.所有属性强化加成(光属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20173(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(19)') + if mode == 0: + char.所有属性强化加成(光属性强化=19 * rate) + if mode == 1: + pass + + +def enchanting_20174(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '鞋', '移动速度(4.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20175(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(16)|独立(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=16 * rate) + char.基础属性加成(独立攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20176(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '火抗(18)') + if mode == 0: + char.火属性抗性加成(18 * rate) + if mode == 1: + pass + + +def enchanting_20177(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩', '魔暴(10%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.1 * rate) + if mode == 1: + pass + + +def enchanting_20178(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力智(45)') + if mode == 0: + char.基础属性加成(力智=45 * rate) + if mode == 1: + pass + + +def enchanting_20179(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣', '力(65)') + if mode == 0: + char.基础属性加成(力量=65 * rate) + if mode == 1: + pass + + +def enchanting_20180(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力(50)|物攻(20)') + if mode == 0: + char.基础属性加成(力量=50 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20181(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '暗强(20)') + if mode == 0: + char.所有属性强化加成(暗属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20182(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(45)') + if mode == 0: + char.基础属性加成(魔法攻击力=45 * rate) + if mode == 1: + pass + + +def enchanting_20183(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(60)') + if mode == 0: + char.基础属性加成(独立攻击力=60 * rate) + if mode == 1: + pass + + +def enchanting_20184(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(62)') + if mode == 0: + char.基础属性加成(独立攻击力=62 * rate) + if mode == 1: + pass + + +def enchanting_20185(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(64)') + if mode == 0: + char.基础属性加成(独立攻击力=64 * rate) + if mode == 1: + pass + + +def enchanting_20186(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(55)') + if mode == 0: + char.基础属性加成(智力=55 * rate) + if mode == 1: + pass + + +def enchanting_20187(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(4.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.04 * rate) + pass + if mode == 1: + pass + + +def enchanting_20188(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '精(65)') + if mode == 0: + char.基础属性加成(精神=65 * rate) + if mode == 1: + pass + + +def enchanting_20189(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩', '施放速度(4.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20190(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(12)') + if mode == 0: + char.所有属性强化加成(12 * rate) + if mode == 1: + pass + + +def enchanting_20191(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(13)') + if mode == 0: + char.所有属性强化加成(13 * rate) + if mode == 1: + pass + + +def enchanting_20192(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(14)') + if mode == 0: + char.所有属性强化加成(14 * rate) + if mode == 1: + pass + + +def enchanting_20193(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '魔法石', '所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_20194(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '物攻(20)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20195(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '魔攻(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20196(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '独立(85)') + if mode == 0: + char.基础属性加成(独立攻击力=85 * rate) + if mode == 1: + pass + + +def enchanting_20197(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '物暴(2%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20198(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '魔暴(2%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20199(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '力(25)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + if mode == 1: + pass + + +def enchanting_20200(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '智(25)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + if mode == 1: + pass + + +def enchanting_20201(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '体(25)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + if mode == 1: + pass + + +def enchanting_20202(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '精(25)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + if mode == 1: + pass + + +def enchanting_20203(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '火强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20204(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '冰强(7)') + if mode == 0: + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20205(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '暗强(7)') + if mode == 0: + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20206(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '光强(7)') + if mode == 0: + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20207(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '物攻(10)') + if mode == 0: + char.基础属性加成(物理攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20208(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '魔攻(10)') + if mode == 0: + char.基础属性加成(魔法攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20209(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '独立(15)') + if mode == 0: + char.基础属性加成(独立攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20210(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20211(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20212(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '独立(20)') + if mode == 0: + char.基础属性加成(独立攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20213(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '物攻(42)|独立(42)|物暴(2%)') + if mode == 0: + char.基础属性加成(物理攻击力=42 * rate) + char.基础属性加成(独立攻击力=42 * rate) + char.基础属性加成(物理暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20214(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '魔攻(42)|独立(42)|魔暴(2%)') + if mode == 0: + char.基础属性加成(魔法攻击力=42 * rate) + char.基础属性加成(独立攻击力=42 * rate) + char.基础属性加成(魔法暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20215(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '四维(55)') + if mode == 0: + char.基础属性加成(四维=55 * rate) + if mode == 1: + pass + + +def enchanting_20216(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '物暴(5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20217(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '魔暴(5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20218(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(6)') + if mode == 0: + char.所有属性强化加成(光属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20219(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(6)') + if mode == 0: + char.所有属性强化加成(冰属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20220(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(6)') + if mode == 0: + char.所有属性强化加成(火属性强化=6 * rate) + if mode == 1: + pass + + +def enchanting_20221(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(5%)|物暴(5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20222(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '力(45)|体(-25)') + if mode == 0: + char.基础属性加成(力量=45 * rate) + char.基础属性加成(体力=-25 * rate) + if mode == 1: + pass + + +def enchanting_20223(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '智(45)|精(-25)') + if mode == 0: + char.基础属性加成(智力=45 * rate) + char.基础属性加成(精神=-25 * rate) + if mode == 1: + pass + + +def enchanting_20224(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '体(40)|精(-25)') + if mode == 0: + char.基础属性加成(体力=40 * rate) + char.基础属性加成(精神=-25 * rate) + if mode == 1: + pass + + +def enchanting_20225(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '精(40)|体(-25)') + if mode == 0: + char.基础属性加成(精神=40 * rate) + char.基础属性加成(体力=-25 * rate) + if mode == 1: + pass + + +def enchanting_20226(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '物攻(10)') + if mode == 0: + char.基础属性加成(物理攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20227(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20228(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '魔攻(10)') + if mode == 0: + char.基础属性加成(魔法攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20229(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20230(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '独立(15)') + if mode == 0: + char.基础属性加成(独立攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20231(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '独立(20)') + if mode == 0: + char.基础属性加成(独立攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20232(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '独立(25)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20233(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20234(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(17)') + if mode == 0: + char.基础属性加成(物理攻击力=17 * rate) + if mode == 1: + pass + + +def enchanting_20235(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(19)') + if mode == 0: + char.基础属性加成(物理攻击力=19 * rate) + if mode == 1: + pass + + +def enchanting_20236(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(21)') + if mode == 0: + char.基础属性加成(物理攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20237(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(23)') + if mode == 0: + char.基础属性加成(物理攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20238(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(25)') + if mode == 0: + char.基础属性加成(物理攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20239(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20240(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(17)') + if mode == 0: + char.基础属性加成(魔法攻击力=17 * rate) + if mode == 1: + pass + + +def enchanting_20241(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(19)') + if mode == 0: + char.基础属性加成(魔法攻击力=19 * rate) + if mode == 1: + pass + + +def enchanting_20242(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(21)') + if mode == 0: + char.基础属性加成(魔法攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20243(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(23)') + if mode == 0: + char.基础属性加成(魔法攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20244(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(25)') + if mode == 0: + char.基础属性加成(魔法攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20245(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(9)') + if mode == 0: + char.所有属性强化加成(火属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20246(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20247(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(11)') + if mode == 0: + char.所有属性强化加成(火属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20248(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(12)') + if mode == 0: + char.所有属性强化加成(火属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20249(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(9)') + if mode == 0: + char.所有属性强化加成(暗属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20250(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(10)') + if mode == 0: + char.所有属性强化加成(暗属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20251(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(11)') + if mode == 0: + char.所有属性强化加成(暗属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20252(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(12)') + if mode == 0: + char.所有属性强化加成(暗属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20253(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(9)') + if mode == 0: + char.所有属性强化加成(光属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20254(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(10)') + if mode == 0: + char.所有属性强化加成(光属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20255(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(11)') + if mode == 0: + char.所有属性强化加成(光属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20256(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(12)') + if mode == 0: + char.所有属性强化加成(光属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20257(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(7)') + if mode == 0: + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20258(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(8)') + if mode == 0: + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20259(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(1.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20260(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20261(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20262(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(18)') + if mode == 0: + char.基础属性加成(物理攻击力=18 * rate) + if mode == 1: + pass + + +def enchanting_20263(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(18)') + if mode == 0: + char.基础属性加成(魔法攻击力=18 * rate) + if mode == 1: + pass + + +def enchanting_20264(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(3.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20265(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(38)') + if mode == 0: + char.基础属性加成(体力=38 * rate) + if mode == 1: + pass + + +def enchanting_20266(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(39)') + if mode == 0: + char.基础属性加成(体力=39 * rate) + if mode == 1: + pass + + +def enchanting_20267(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(40)') + if mode == 0: + char.基础属性加成(体力=40 * rate) + if mode == 1: + pass + + +def enchanting_20268(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(40)') + if mode == 0: + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_20269(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(41)') + if mode == 0: + char.基础属性加成(力量=41 * rate) + if mode == 1: + pass + + +def enchanting_20270(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(42)') + if mode == 0: + char.基础属性加成(力量=42 * rate) + if mode == 1: + pass + + +def enchanting_20271(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(43)') + if mode == 0: + char.基础属性加成(力量=43 * rate) + if mode == 1: + pass + + +def enchanting_20272(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(44)') + if mode == 0: + char.基础属性加成(力量=44 * rate) + if mode == 1: + pass + + +def enchanting_20273(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(45)') + if mode == 0: + char.基础属性加成(力量=45 * rate) + if mode == 1: + pass + + +def enchanting_20274(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(40)') + if mode == 0: + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20275(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(41)') + if mode == 0: + char.基础属性加成(智力=41 * rate) + if mode == 1: + pass + + +def enchanting_20276(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(42)') + if mode == 0: + char.基础属性加成(智力=42 * rate) + if mode == 1: + pass + + +def enchanting_20277(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(43)') + if mode == 0: + char.基础属性加成(智力=43 * rate) + if mode == 1: + pass + + +def enchanting_20278(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(44)') + if mode == 0: + char.基础属性加成(智力=44 * rate) + if mode == 1: + pass + + +def enchanting_20279(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(45)') + if mode == 0: + char.基础属性加成(智力=45 * rate) + if mode == 1: + pass + + +def enchanting_20280(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(38)') + if mode == 0: + char.基础属性加成(精神=38 * rate) + if mode == 1: + pass + + +def enchanting_20281(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(39)') + if mode == 0: + char.基础属性加成(精神=39 * rate) + if mode == 1: + pass + + +def enchanting_20282(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(40)') + if mode == 0: + char.基础属性加成(精神=40 * rate) + if mode == 1: + pass + + +def enchanting_20283(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(7%)|魔暴(7%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.07 * rate) + char.基础属性加成(魔法暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20284(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20285(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '火强(2)') + if mode == 0: + char.所有属性强化加成(火属性强化=2 * rate) + if mode == 1: + pass + + +def enchanting_20286(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '冰强(2)') + if mode == 0: + char.所有属性强化加成(冰属性强化=2 * rate) + if mode == 1: + pass + + +def enchanting_20287(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '暗强(2)') + if mode == 0: + char.所有属性强化加成(暗属性强化=2 * rate) + if mode == 1: + pass + + +def enchanting_20288(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '光强(2)') + if mode == 0: + char.所有属性强化加成(光属性强化=2 * rate) + if mode == 1: + pass + + +def enchanting_20289(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '称号', '所有属性强化(4)') + if mode == 0: + char.所有属性强化加成(4 * rate) + if mode == 1: + pass + + +def enchanting_20290(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', '所有属性强化(3)') + if mode == 0: + char.所有属性强化加成(3 * rate) + if mode == 1: + pass + + +def enchanting_20291(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '所有属性强化(2)') + if mode == 0: + char.所有属性强化加成(2 * rate) + if mode == 1: + pass + + +def enchanting_20292(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(13)') + if mode == 0: + char.所有属性强化加成(火属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20293(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(14)') + if mode == 0: + char.所有属性强化加成(火属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20294(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(15)') + if mode == 0: + char.所有属性强化加成(火属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20295(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(20)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20296(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(22)') + if mode == 0: + char.基础属性加成(物理攻击力=22 * rate) + if mode == 1: + pass + + +def enchanting_20297(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(24)') + if mode == 0: + char.基础属性加成(物理攻击力=24 * rate) + if mode == 1: + pass + + +def enchanting_20298(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(35)') + if mode == 0: + char.基础属性加成(智力=35 * rate) + if mode == 1: + pass + + +def enchanting_20299(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(36)') + if mode == 0: + char.基础属性加成(智力=36 * rate) + if mode == 1: + pass + + +def enchanting_20300(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(37)') + if mode == 0: + char.基础属性加成(智力=37 * rate) + if mode == 1: + pass + + +def enchanting_20301(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(35)') + if mode == 0: + char.基础属性加成(体力=35 * rate) + if mode == 1: + pass + + +def enchanting_20302(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(13)') + if mode == 0: + char.所有属性强化加成(光属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20303(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(14)') + if mode == 0: + char.所有属性强化加成(光属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20304(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(15)') + if mode == 0: + char.所有属性强化加成(光属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20305(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20306(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(22)') + if mode == 0: + char.基础属性加成(魔法攻击力=22 * rate) + if mode == 1: + pass + + +def enchanting_20307(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(24)') + if mode == 0: + char.基础属性加成(魔法攻击力=24 * rate) + if mode == 1: + pass + + +def enchanting_20308(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(35)') + if mode == 0: + char.基础属性加成(力量=35 * rate) + if mode == 1: + pass + + +def enchanting_20309(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(36)') + if mode == 0: + char.基础属性加成(力量=36 * rate) + if mode == 1: + pass + + +def enchanting_20310(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(37)') + if mode == 0: + char.基础属性加成(力量=37 * rate) + if mode == 1: + pass + + +def enchanting_20311(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(38)') + if mode == 0: + char.基础属性加成(智力=38 * rate) + if mode == 1: + pass + + +def enchanting_20312(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(39)') + if mode == 0: + char.基础属性加成(智力=39 * rate) + if mode == 1: + pass + + +def enchanting_20313(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(38)') + if mode == 0: + char.基础属性加成(力量=38 * rate) + if mode == 1: + pass + + +def enchanting_20314(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(39)') + if mode == 0: + char.基础属性加成(力量=39 * rate) + if mode == 1: + pass + + +def enchanting_20315(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(26)') + if mode == 0: + char.基础属性加成(精神=26 * rate) + if mode == 1: + pass + + +def enchanting_20316(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(27)') + if mode == 0: + char.基础属性加成(精神=27 * rate) + if mode == 1: + pass + + +def enchanting_20317(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(28)') + if mode == 0: + char.基础属性加成(精神=28 * rate) + if mode == 1: + pass + + +def enchanting_20318(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(29)') + if mode == 0: + char.基础属性加成(精神=29 * rate) + if mode == 1: + pass + + +def enchanting_20319(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(30)') + if mode == 0: + char.基础属性加成(精神=30 * rate) + if mode == 1: + pass + + +def enchanting_20320(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(31)') + if mode == 0: + char.基础属性加成(精神=31 * rate) + if mode == 1: + pass + + +def enchanting_20321(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(32)') + if mode == 0: + char.基础属性加成(精神=32 * rate) + if mode == 1: + pass + + +def enchanting_20322(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(33)') + if mode == 0: + char.基础属性加成(精神=33 * rate) + if mode == 1: + pass + + +def enchanting_20323(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(34)') + if mode == 0: + char.基础属性加成(精神=34 * rate) + if mode == 1: + pass + + +def enchanting_20324(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(暗)') + if mode == 0: + char.属性攻击('暗') + if mode == 1: + pass + + +def enchanting_20325(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(冰)') + if mode == 0: + char.属性攻击('冰') + if mode == 1: + pass + + +def enchanting_20326(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(火)') + if mode == 0: + char.属性攻击('火') + if mode == 1: + pass + + +def enchanting_20327(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(光)') + if mode == 0: + char.属性攻击('光') + if mode == 1: + pass + + +def enchanting_20328(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20329(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20330(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '火强(9)') + if mode == 0: + char.所有属性强化加成(火属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20331(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '火强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20332(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '火强(11)') + if mode == 0: + char.所有属性强化加成(火属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20333(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '火强(12)') + if mode == 0: + char.所有属性强化加成(火属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20334(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '冰强(9)') + if mode == 0: + char.所有属性强化加成(冰属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20335(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '冰强(10)') + if mode == 0: + char.所有属性强化加成(冰属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20336(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '冰强(11)') + if mode == 0: + char.所有属性强化加成(冰属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_20337(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '冰强(12)') + if mode == 0: + char.所有属性强化加成(冰属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20338(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '独立(18)') + if mode == 0: + char.基础属性加成(独立攻击力=18 * rate) + if mode == 1: + pass + + +def enchanting_20339(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_20340(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(18)') + if mode == 0: + char.所有属性强化加成(18 * rate) + if mode == 1: + pass + + +def enchanting_20341(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力(50)') + if mode == 0: + char.基础属性加成(力量=50 * rate) + if mode == 1: + pass + + +def enchanting_20342(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力(55)') + if mode == 0: + char.基础属性加成(力量=55 * rate) + if mode == 1: + pass + + +def enchanting_20343(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '精(50)') + if mode == 0: + char.基础属性加成(精神=50 * rate) + if mode == 1: + pass + + +def enchanting_20344(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '精(55)') + if mode == 0: + char.基础属性加成(精神=55 * rate) + if mode == 1: + pass + + +def enchanting_20345(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(20)') + if mode == 0: + char.所有属性强化加成(冰属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20346(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(18)|暗强(18)') + if mode == 0: + char.所有属性强化加成(火属性强化=18 * rate, 暗属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20347(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(20)|暗强(20)') + if mode == 0: + char.所有属性强化加成(火属性强化=20 * rate, 暗属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20348(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(18)|光强(18)') + if mode == 0: + char.所有属性强化加成(火属性强化=18 * rate, 光属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20349(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(20)|光强(20)') + if mode == 0: + char.所有属性强化加成(火属性强化=20 * rate, 光属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20350(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(25)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + if mode == 1: + pass + + +def enchanting_20351(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(30)') + if mode == 0: + char.基础属性加成(体力=30 * rate) + if mode == 1: + pass + + +def enchanting_20352(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '鞋', '移动速度(5.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20353(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '鞋', '移动速度(7.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20354(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20355(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(35)') + if mode == 0: + char.基础属性加成(物理攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_20356(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(18)|暗强(18)') + if mode == 0: + char.所有属性强化加成(光属性强化=18 * rate, 暗属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20357(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '光强(20)|暗强(20)') + if mode == 0: + char.所有属性强化加成(光属性强化=20 * rate, 暗属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20358(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '体(50)') + if mode == 0: + char.基础属性加成(体力=50 * rate) + if mode == 1: + pass + + +def enchanting_20359(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '体(55)') + if mode == 0: + char.基础属性加成(体力=55 * rate) + if mode == 1: + pass + + +def enchanting_20360(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(25)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + if mode == 1: + pass + + +def enchanting_20361(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(30)') + if mode == 0: + char.基础属性加成(智力=30 * rate) + if mode == 1: + pass + + +def enchanting_20362(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(8%)|魔暴(8%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.08 * rate) + char.基础属性加成(魔法暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_20363(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(20)|物攻(15)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20364(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力(30)|物攻(20)') + if mode == 0: + char.基础属性加成(力量=30 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20365(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(20)|魔攻(15)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20366(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(30)|魔攻(20)') + if mode == 0: + char.基础属性加成(智力=30 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_20367(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(6.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.06 * rate) + pass + if mode == 1: + pass + + +def enchanting_20368(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(8.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.08 * rate) + pass + if mode == 1: + pass + + +def enchanting_20369(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '光强(20)') + if mode == 0: + char.所有属性强化加成(光属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20370(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(25)|攻击速度(3.0%)') + if mode == 0: + char.基础属性加成(物理攻击力=25 * rate) + char.攻击速度增加(part=part,x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20371(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(30)|攻击速度(5.0%)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.攻击速度增加(part=part,x=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20372(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(18)|暗强(18)') + if mode == 0: + char.所有属性强化加成(冰属性强化=18 * rate, 暗属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20373(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(20)|暗强(20)') + if mode == 0: + char.所有属性强化加成(冰属性强化=20 * rate, 暗属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20374(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(25)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + if mode == 1: + pass + + +def enchanting_20375(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(30)') + if mode == 0: + char.基础属性加成(力量=30 * rate) + if mode == 1: + pass + + +def enchanting_20376(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(50)') + if mode == 0: + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_20377(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + if mode == 1: + pass + + +def enchanting_20378(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(8)') + if mode == 0: + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20379(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(35)') + if mode == 0: + char.基础属性加成(独立攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_20380(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(37)') + if mode == 0: + char.基础属性加成(独立攻击力=37 * rate) + if mode == 1: + pass + + +def enchanting_20381(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(39)') + if mode == 0: + char.基础属性加成(独立攻击力=39 * rate) + if mode == 1: + pass + + +def enchanting_20382(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(6%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_20383(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(18)|光强(18)') + if mode == 0: + char.所有属性强化加成(冰属性强化=18 * rate, 光属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20384(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(20)|光强(20)') + if mode == 0: + char.所有属性强化加成(冰属性强化=20 * rate, 光属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20385(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '物暴(4%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20386(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_20387(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(8)') + if mode == 0: + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20388(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(25)|攻击速度(3.0%)') + if mode == 0: + char.基础属性加成(物理攻击力=25 * rate) + char.攻击速度增加(part=part,x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20389(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '耳环', '四维(75)') + if mode == 0: + char.基础属性加成(四维=75 * rate) + if mode == 1: + pass + + +def enchanting_20390(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '耳环', '四维(100)') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if mode == 1: + pass + + +def enchanting_20391(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '耳环', '四维(125)') + if mode == 0: + char.基础属性加成(四维=125 * rate) + if mode == 1: + pass + + +def enchanting_20392(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(10)|智(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=10 * rate) + char.基础属性加成(智力=30 * rate) + if mode == 1: + pass + + +def enchanting_20393(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(15)|智(40)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20394(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(20)|智(50)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_20395(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '四维(5)') + if mode == 0: + char.基础属性加成(四维=5 * rate) + if mode == 1: + pass + + +def enchanting_20396(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(5)') + if mode == 0: + char.所有属性强化加成(5 * rate) + if mode == 1: + pass + + +def enchanting_20397(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '四维(15)') + if mode == 0: + char.基础属性加成(四维=15 * rate) + if mode == 1: + pass + + +def enchanting_20398(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '四维(30)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if mode == 1: + pass + + +def enchanting_20399(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20400(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '所有属性强化(6)') + if mode == 0: + char.所有属性强化加成(6 * rate) + if mode == 1: + pass + + +def enchanting_20401(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '所有属性强化(8)') + if mode == 0: + char.所有属性强化加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20402(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20403(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '魔暴(6%)|物暴(6%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + char.基础属性加成(物理暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_20404(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '魔暴(8%)|物暴(8%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.08 * rate) + char.基础属性加成(物理暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_20405(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (116, '宠物', '魔暴(10%)|物暴(10%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.1 * rate) + char.基础属性加成(物理暴击率=0.1 * rate) + if mode == 1: + pass + + +def enchanting_20406(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '力(40)') + if mode == 0: + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_20407(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '智(40)') + if mode == 0: + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20408(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '精(35)') + if mode == 0: + char.基础属性加成(精神=35 * rate) + if mode == 1: + pass + + +def enchanting_20409(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '体(35)') + if mode == 0: + char.基础属性加成(体力=35 * rate) + if mode == 1: + pass + + +def enchanting_20410(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '魔暴(3%)|物暴(3%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20411(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '力智(32)|体精(28)') + if mode == 0: + char.基础属性加成(力智=32 * rate) + char.基础属性加成(体精=28 * rate) + if mode == 1: + pass + + +def enchanting_20412(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '力智(24)|体精(21)') + if mode == 0: + char.基础属性加成(力智=24 * rate) + char.基础属性加成(体精=21 * rate) + if mode == 1: + pass + + +def enchanting_20413(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '力(45)') + if mode == 0: + char.基础属性加成(力量=45 * rate) + if mode == 1: + pass + + +def enchanting_20414(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '智(45)') + if mode == 0: + char.基础属性加成(智力=45 * rate) + if mode == 1: + pass + + +def enchanting_20415(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '体(45)') + if mode == 0: + char.基础属性加成(体力=45 * rate) + if mode == 1: + pass + + +def enchanting_20416(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '精(45)') + if mode == 0: + char.基础属性加成(精神=45 * rate) + if mode == 1: + pass + + +def enchanting_20417(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '光强(12)') + if mode == 0: + char.所有属性强化加成(光属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20418(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '暗强(12)') + if mode == 0: + char.所有属性强化加成(暗属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20419(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20420(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '暗强(15)') + if mode == 0: + char.所有属性强化加成(暗属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20421(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '所有属性强化(7)') + if mode == 0: + char.所有属性强化加成(7 * rate) + if mode == 1: + pass + + +def enchanting_20422(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '光强(9)') + if mode == 0: + char.所有属性强化加成(光属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20423(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '暗强(9)') + if mode == 0: + char.所有属性强化加成(暗属性强化=9 * rate) + if mode == 1: + pass + + +def enchanting_20424(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20425(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(45)|力(15)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20426(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(50)|力(20)') + if mode == 0: + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20427(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(11)') + if mode == 0: + char.所有属性强化加成(11 * rate) + if mode == 1: + pass + + +def enchanting_20428(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(12)') + if mode == 0: + char.所有属性强化加成(12 * rate) + if mode == 1: + pass + + +def enchanting_20429(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(9%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.09 * rate) + if mode == 1: + pass + + +def enchanting_20430(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(70)') + if mode == 0: + char.基础属性加成(力量=70 * rate) + if mode == 1: + pass + + +def enchanting_20431(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(75)') + if mode == 0: + char.基础属性加成(力量=75 * rate) + if mode == 1: + pass + + +def enchanting_20432(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(9%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.09 * rate) + if mode == 1: + pass + + +def enchanting_20433(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩', '物暴(10%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.1 * rate) + if mode == 1: + pass + + +def enchanting_20434(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '精(70)') + if mode == 0: + char.基础属性加成(精神=70 * rate) + if mode == 1: + pass + + +def enchanting_20435(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '精(75)') + if mode == 0: + char.基础属性加成(精神=75 * rate) + if mode == 1: + pass + + +def enchanting_20436(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(45)|智(15)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_20437(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(50)|智(20)') + if mode == 0: + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20438(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '物攻(45)|力(15)') + if mode == 0: + char.基础属性加成(物理攻击力=45 * rate) + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20439(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '物攻(50)|力(20)') + if mode == 0: + char.基础属性加成(物理攻击力=50 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20440(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20441(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + if mode == 1: + pass + + +def enchanting_20442(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(70)') + if mode == 0: + char.基础属性加成(智力=70 * rate) + if mode == 1: + pass + + +def enchanting_20443(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(75)') + if mode == 0: + char.基础属性加成(智力=75 * rate) + if mode == 1: + pass + + +def enchanting_20444(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '魔攻(45)|智(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=45 * rate) + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_20445(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '魔攻(50)|智(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=50 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20446(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20447(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(7%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20448(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '体(70)') + if mode == 0: + char.基础属性加成(体力=70 * rate) + if mode == 1: + pass + + +def enchanting_20449(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '体(75)') + if mode == 0: + char.基础属性加成(体力=75 * rate) + if mode == 1: + pass + + +def enchanting_20450(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(32)') + if mode == 0: + char.基础属性加成(力量=32 * rate) + if mode == 1: + pass + + +def enchanting_20451(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(34)') + if mode == 0: + char.基础属性加成(力量=34 * rate) + if mode == 1: + pass + + +def enchanting_20452(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '魔攻(34)') + if mode == 0: + char.基础属性加成(魔法攻击力=34 * rate) + if mode == 1: + pass + + +def enchanting_20453(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '魔攻(38)') + if mode == 0: + char.基础属性加成(魔法攻击力=38 * rate) + if mode == 1: + pass + + +def enchanting_20454(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '魔攻(42)') + if mode == 0: + char.基础属性加成(魔法攻击力=42 * rate) + if mode == 1: + pass + + +def enchanting_20455(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20456(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(7%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20457(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(32)') + if mode == 0: + char.基础属性加成(智力=32 * rate) + if mode == 1: + pass + + +def enchanting_20458(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(34)') + if mode == 0: + char.基础属性加成(智力=34 * rate) + if mode == 1: + pass + + +def enchanting_20459(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(36)') + if mode == 0: + char.基础属性加成(智力=36 * rate) + if mode == 1: + pass + + +def enchanting_20460(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '独立(21)') + if mode == 0: + char.基础属性加成(独立攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20461(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '独立(23)') + if mode == 0: + char.基础属性加成(独立攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20462(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '独立(25)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20463(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '物攻(34)') + if mode == 0: + char.基础属性加成(物理攻击力=34 * rate) + if mode == 1: + pass + + +def enchanting_20464(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '物攻(38)') + if mode == 0: + char.基础属性加成(物理攻击力=38 * rate) + if mode == 1: + pass + + +def enchanting_20465(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '物攻(42)') + if mode == 0: + char.基础属性加成(物理攻击力=42 * rate) + if mode == 1: + pass + + +def enchanting_20466(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(32)') + if mode == 0: + char.基础属性加成(体力=32 * rate) + if mode == 1: + pass + + +def enchanting_20467(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(34)') + if mode == 0: + char.基础属性加成(体力=34 * rate) + if mode == 1: + pass + + +def enchanting_20468(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(36)') + if mode == 0: + char.基础属性加成(体力=36 * rate) + if mode == 1: + pass + + +def enchanting_20469(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(36)') + if mode == 0: + char.基础属性加成(精神=36 * rate) + if mode == 1: + pass + + +def enchanting_20470(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(13)') + if mode == 0: + char.所有属性强化加成(暗属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20471(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '独立(34)') + if mode == 0: + char.基础属性加成(独立攻击力=34 * rate) + if mode == 1: + pass + + +def enchanting_20472(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '独立(38)') + if mode == 0: + char.基础属性加成(独立攻击力=38 * rate) + if mode == 1: + pass + + +def enchanting_20473(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '独立(42)') + if mode == 0: + char.基础属性加成(独立攻击力=42 * rate) + if mode == 1: + pass + + +def enchanting_20474(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '四维(25)') + if mode == 0: + char.基础属性加成(四维=25 * rate) + if mode == 1: + pass + + +def enchanting_20475(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(8)') + if mode == 0: + char.所有属性强化加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20476(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(19)') + if mode == 0: + char.所有属性强化加成(19 * rate) + if mode == 1: + pass + + +def enchanting_20477(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(21)') + if mode == 0: + char.所有属性强化加成(21 * rate) + if mode == 1: + pass + + +def enchanting_20478(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23 * rate) + if mode == 1: + pass + + +def enchanting_20479(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(21)|光强(21)') + if mode == 0: + char.所有属性强化加成(冰属性强化=21 * rate, 光属性强化=21 * rate) + if mode == 1: + pass + + +def enchanting_20480(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(23)|光强(23)') + if mode == 0: + char.所有属性强化加成(冰属性强化=23 * rate, 光属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20481(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '冰强(25)|光强(25)') + if mode == 0: + char.所有属性强化加成(冰属性强化=25 * rate, 光属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20482(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(21)|暗强(21)') + if mode == 0: + char.所有属性强化加成(火属性强化=21 * rate, 暗属性强化=21 * rate) + if mode == 1: + pass + + +def enchanting_20483(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(23)|暗强(23)') + if mode == 0: + char.所有属性强化加成(火属性强化=23 * rate, 暗属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20484(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '火强(25)|暗强(25)') + if mode == 0: + char.所有属性强化加成(火属性强化=25 * rate, 暗属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20485(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '力智(34)|体精(30)') + if mode == 0: + char.基础属性加成(力智=34 * rate) + char.基础属性加成(体精=30 * rate) + if mode == 1: + pass + + +def enchanting_20486(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '力智(38)|体精(34)') + if mode == 0: + char.基础属性加成(力智=38 * rate) + char.基础属性加成(体精=34 * rate) + if mode == 1: + pass + + +def enchanting_20487(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '力智(42)|体精(38)') + if mode == 0: + char.基础属性加成(力智=42 * rate) + char.基础属性加成(体精=38 * rate) + if mode == 1: + pass + + +def enchanting_20488(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '四维(28)') + if mode == 0: + char.基础属性加成(四维=28 * rate) + if mode == 1: + pass + + +def enchanting_20489(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '四维(28)') + if mode == 0: + char.基础属性加成(四维=28 * rate) + if mode == 1: + pass + + +def enchanting_20490(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(18)') + if mode == 0: + char.所有属性强化加成(火属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20491(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(18)') + if mode == 0: + char.所有属性强化加成(冰属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20492(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '暗强(18)') + if mode == 0: + char.所有属性强化加成(暗属性强化=18 * rate) + if mode == 1: + pass + + +def enchanting_20493(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20494(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '独立(30)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20495(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(40)') + if mode == 0: + char.基础属性加成(物理攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20496(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(45)') + if mode == 0: + char.基础属性加成(物理攻击力=45 * rate) + if mode == 1: + pass + + +def enchanting_20497(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩', '施放速度(5.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20498(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩', '施放速度(7.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20499(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '独立(40)') + if mode == 0: + char.基础属性加成(独立攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20500(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '独立(45)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + if mode == 1: + pass + + +def enchanting_20501(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(40)') + if mode == 0: + char.基础属性加成(魔法攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20502(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '体精(60)') + if mode == 0: + char.基础属性加成(体精=60 * rate) + if mode == 1: + pass + + +def enchanting_20503(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '体精(65)') + if mode == 0: + char.基础属性加成(体精=65 * rate) + if mode == 1: + pass + + +def enchanting_20504(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(14)') + if mode == 0: + char.基础属性加成(魔法攻击力=14 * rate) + if mode == 1: + pass + + +def enchanting_20505(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(18)') + if mode == 0: + char.基础属性加成(智力=18 * rate) + if mode == 1: + pass + + +def enchanting_20506(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '物暴(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20507(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '独立(14)') + if mode == 0: + char.基础属性加成(独立攻击力=14 * rate) + if mode == 1: + pass + + +def enchanting_20508(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '魔暴(3%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20509(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(16)') + if mode == 0: + char.基础属性加成(体力=16 * rate) + if mode == 1: + pass + + +def enchanting_20510(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '物暴(1%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20511(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '魔暴(1%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20512(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '独立(7)') + if mode == 0: + char.基础属性加成(独立攻击力=7 * rate) + if mode == 1: + pass + + +def enchanting_20513(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(10)') + if mode == 0: + char.基础属性加成(体力=10 * rate) + if mode == 1: + pass + + +def enchanting_20514(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '精(10)') + if mode == 0: + char.基础属性加成(精神=10 * rate) + if mode == 1: + pass + + +def enchanting_20515(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '魔法石', '所有属性强化(16)') + if mode == 0: + char.所有属性强化加成(16 * rate) + if mode == 1: + pass + + +def enchanting_20516(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '魔法石', '所有属性强化(18)') + if mode == 0: + char.所有属性强化加成(18 * rate) + if mode == 1: + pass + + +def enchanting_20517(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '魔法石', '所有属性强化(20)') + if mode == 0: + char.所有属性强化加成(20 * rate) + if mode == 1: + pass + + +def enchanting_20518(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '魔法石', '四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + if mode == 1: + pass + + +def enchanting_20519(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '魔法石', '四维(55)') + if mode == 0: + char.基础属性加成(四维=55 * rate) + if mode == 1: + pass + + +def enchanting_20520(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '魔法石', '四维(60)') + if mode == 0: + char.基础属性加成(四维=60 * rate) + if mode == 1: + pass + + +def enchanting_20521(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '三攻(50)') + if mode == 0: + char.基础属性加成(三攻=50 * rate) + if mode == 1: + pass + + +def enchanting_20522(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '三攻(60)') + if mode == 0: + char.基础属性加成(三攻=60 * rate) + if mode == 1: + pass + + +def enchanting_20523(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '辅助装备', '三攻(70)') + if mode == 0: + char.基础属性加成(三攻=70 * rate) + if mode == 1: + pass + + +def enchanting_20524(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '四维(60)') + if mode == 0: + char.基础属性加成(四维=60 * rate) + if mode == 1: + pass + + +def enchanting_20525(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '四维(70)') + if mode == 0: + char.基础属性加成(四维=70 * rate) + if mode == 1: + pass + + +def enchanting_20526(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '辅助装备', '四维(80)') + if mode == 0: + char.基础属性加成(四维=80 * rate) + if mode == 1: + pass + + +def enchanting_20527(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(23)') + if mode == 0: + char.所有属性强化加成(火属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20528(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '火强(25)') + if mode == 0: + char.所有属性强化加成(火属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20529(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(23)') + if mode == 0: + char.所有属性强化加成(冰属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20530(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '冰强(25)') + if mode == 0: + char.所有属性强化加成(冰属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20531(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '光强(23)') + if mode == 0: + char.所有属性强化加成(光属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20532(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '光强(25)') + if mode == 0: + char.所有属性强化加成(光属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20533(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '暗强(23)') + if mode == 0: + char.所有属性强化加成(暗属性强化=23 * rate) + if mode == 1: + pass + + +def enchanting_20534(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '暗强(25)') + if mode == 0: + char.所有属性强化加成(暗属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20535(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(25)') + if mode == 0: + char.基础属性加成(物理攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20536(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(26)') + if mode == 0: + char.基础属性加成(物理攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20537(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(27)') + if mode == 0: + char.基础属性加成(物理攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_20538(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(28)') + if mode == 0: + char.基础属性加成(物理攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_20539(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(29)') + if mode == 0: + char.基础属性加成(物理攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_20540(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20541(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(25)') + if mode == 0: + char.基础属性加成(魔法攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20542(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(26)') + if mode == 0: + char.基础属性加成(魔法攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20543(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(27)') + if mode == 0: + char.基础属性加成(魔法攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_20544(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(28)') + if mode == 0: + char.基础属性加成(魔法攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_20545(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(29)') + if mode == 0: + char.基础属性加成(魔法攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_20546(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20547(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '力智(30)') + if mode == 0: + char.基础属性加成(力智=30 * rate) + if mode == 1: + pass + + +def enchanting_20548(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(20)') + if mode == 0: + char.所有属性强化加成(火属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_20549(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '力智(40)|体精(35)') + if mode == 0: + char.基础属性加成(力智=40 * rate) + char.基础属性加成(体精=35 * rate) + if mode == 1: + pass + + +def enchanting_20550(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '魔法石', '四维(30)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if mode == 1: + pass + + +def enchanting_20551(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '三攻(48)') + if mode == 0: + char.基础属性加成(三攻=48 * rate) + if mode == 1: + pass + + +def enchanting_20552(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(7.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.07 * rate) + if mode == 1: + pass + + +def enchanting_20553(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '力智(34)|体精(30)') + if mode == 0: + char.基础属性加成(力智=34 * rate) + char.基础属性加成(体精=30 * rate) + if mode == 1: + pass + + +def enchanting_20554(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体精(25)') + if mode == 0: + char.基础属性加成(体精=25 * rate) + if mode == 1: + pass + + +def enchanting_20555(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体精(45)') + if mode == 0: + char.基础属性加成(体精=45 * rate) + if mode == 1: + pass + + +def enchanting_20556(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力智(25)') + if mode == 0: + char.基础属性加成(力智=25 * rate) + if mode == 1: + pass + + +def enchanting_20557(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(35)') + if mode == 0: + char.基础属性加成(魔法攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_20558(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '独立(35)') + if mode == 0: + char.基础属性加成(独立攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_20559(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '耳环', '四维(150)') + if mode == 0: + char.基础属性加成(四维=150 * rate) + if mode == 1: + pass + + +def enchanting_20560(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '暗强(12)|火强(12)') + if mode == 0: + char.所有属性强化加成(暗属性强化=12 * rate, 火属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20561(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '光强(12)|冰强(12)') + if mode == 0: + char.所有属性强化加成(光属性强化=12 * rate, 冰属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_20562(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '力智(42)|体精(38)') + if mode == 0: + char.基础属性加成(力智=42 * rate) + char.基础属性加成(体精=38 * rate) + if mode == 1: + pass + + +def enchanting_20563(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体精(50)') + if mode == 0: + char.基础属性加成(体精=50 * rate) + if mode == 1: + pass + + +def enchanting_20564(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '三攻(30)') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + if mode == 1: + pass + + +def enchanting_20565(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '暴击(5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20566(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '三攻(42)') + if mode == 0: + char.基础属性加成(三攻=42 * rate) + if mode == 1: + pass + + +def enchanting_20567(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '冰强(26)|暗强(26)') + if mode == 0: + char.所有属性强化加成(冰属性强化=26 * rate, 暗属性强化=26 * rate) + if mode == 1: + pass + + +def enchanting_20568(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '冰强(28)|暗强(28)') + if mode == 0: + char.所有属性强化加成(冰属性强化=28 * rate, 暗属性强化=28 * rate) + if mode == 1: + pass + + +def enchanting_20569(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '冰强(30)|暗强(30)') + if mode == 0: + char.所有属性强化加成(冰属性强化=30 * rate, 暗属性强化=30 * rate) + if mode == 1: + pass + + +def enchanting_20570(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '火强(26)|光强(26)') + if mode == 0: + char.所有属性强化加成(火属性强化=26 * rate, 光属性强化=26 * rate) + if mode == 1: + pass + + +def enchanting_20571(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '火强(28)|光强(28)') + if mode == 0: + char.所有属性强化加成(火属性强化=28 * rate, 光属性强化=28 * rate) + if mode == 1: + pass + + +def enchanting_20572(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '火强(30)|光强(30)') + if mode == 0: + char.所有属性强化加成(火属性强化=30 * rate, 光属性强化=30 * rate) + if mode == 1: + pass + + +def enchanting_20573(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + if mode == 1: + pass + + +def enchanting_20574(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '四维(60)') + if mode == 0: + char.基础属性加成(四维=60 * rate) + if mode == 1: + pass + + +def enchanting_20575(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '四维(70)') + if mode == 0: + char.基础属性加成(四维=70 * rate) + if mode == 1: + pass + + +def enchanting_20576(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '三攻(45)') + if mode == 0: + char.基础属性加成(三攻=45 * rate) + if mode == 1: + pass + + +def enchanting_20577(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '三攻(50)') + if mode == 0: + char.基础属性加成(三攻=50 * rate) + if mode == 1: + pass + + +def enchanting_20578(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力智(65)') + if mode == 0: + char.基础属性加成(力智=65 * rate) + if mode == 1: + pass + + +def enchanting_20579(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力智(70)') + if mode == 0: + char.基础属性加成(力智=70 * rate) + if mode == 1: + pass + + +def enchanting_20580(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(20)') + if mode == 0: + char.所有属性强化加成(20 * rate) + if mode == 1: + pass + + +def enchanting_20581(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(22)') + if mode == 0: + char.所有属性强化加成(22 * rate) + if mode == 1: + pass + + +def enchanting_20582(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '体精(70)') + if mode == 0: + char.基础属性加成(体精=70 * rate) + if mode == 1: + pass + + +def enchanting_20583(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '耳环', '四维(90)') + if mode == 0: + char.基础属性加成(四维=90 * rate) + if mode == 1: + pass + + +def enchanting_20584(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '光强(13)') + if mode == 0: + char.所有属性强化加成(光属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20585(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '光强(14)') + if mode == 0: + char.所有属性强化加成(光属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20586(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '光强(15)') + if mode == 0: + char.所有属性强化加成(光属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20587(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '火强(13)') + if mode == 0: + char.所有属性强化加成(火属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20588(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '火强(14)') + if mode == 0: + char.所有属性强化加成(火属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20589(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '火强(15)') + if mode == 0: + char.所有属性强化加成(火属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20590(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '暗强(13)') + if mode == 0: + char.所有属性强化加成(暗属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20591(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '暗强(14)') + if mode == 0: + char.所有属性强化加成(暗属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20592(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '暗强(15)') + if mode == 0: + char.所有属性强化加成(暗属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20593(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '冰强(13)') + if mode == 0: + char.所有属性强化加成(冰属性强化=13 * rate) + if mode == 1: + pass + + +def enchanting_20594(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '冰强(14)') + if mode == 0: + char.所有属性强化加成(冰属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20595(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '冰强(15)') + if mode == 0: + char.所有属性强化加成(冰属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20596(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '四维(55)') + if mode == 0: + char.基础属性加成(四维=55 * rate) + if mode == 1: + pass + + +def enchanting_20597(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '耳环', '四维(60)') + if mode == 0: + char.基础属性加成(四维=60 * rate) + if mode == 1: + pass + + +def enchanting_20598(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '所有属性强化(13)') + if mode == 0: + char.所有属性强化加成(13 * rate) + if mode == 1: + pass + + +def enchanting_20599(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '所有属性强化(14)') + if mode == 0: + char.所有属性强化加成(14 * rate) + if mode == 1: + pass + + +def enchanting_20600(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '四维(21)') + if mode == 0: + char.基础属性加成(四维=21 * rate) + if mode == 1: + pass + + +def enchanting_20601(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '四维(23)') + if mode == 0: + char.基础属性加成(四维=23 * rate) + if mode == 1: + pass + + +def enchanting_20602(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '四维(25)') + if mode == 0: + char.基础属性加成(四维=25 * rate) + if mode == 1: + pass + + +def enchanting_20603(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '所有属性强化(11)') + if mode == 0: + char.所有属性强化加成(11 * rate) + if mode == 1: + pass + + +def enchanting_20604(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '四维(16)') + if mode == 0: + char.基础属性加成(四维=16 * rate) + if mode == 1: + pass + + +def enchanting_20605(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '四维(18)') + if mode == 0: + char.基础属性加成(四维=18 * rate) + if mode == 1: + pass + + +def enchanting_20606(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '魔法石', '四维(20)') + if mode == 0: + char.基础属性加成(四维=20 * rate) + if mode == 1: + pass + + +def enchanting_20607(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力智(30)') + if mode == 0: + char.基础属性加成(力智=30 * rate) + if mode == 1: + pass + + +def enchanting_20608(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体精(30)') + if mode == 0: + char.基础属性加成(体精=30 * rate) + if mode == 1: + pass + + +def enchanting_20609(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '所有属性抗性(10)') + if mode == 0: + char.所有属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20610(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '三攻(30)') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + if mode == 1: + pass + + +def enchanting_20611(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '三攻(55)') + if mode == 0: + char.基础属性加成(三攻=55 * rate) + if mode == 1: + pass + + +def enchanting_20612(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '四维(65)') + if mode == 0: + char.基础属性加成(四维=65 * rate) + if mode == 1: + pass + + +def enchanting_20613(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '所有属性强化(24)') + if mode == 0: + char.所有属性强化加成(24 * rate) + if mode == 1: + pass + + +def enchanting_20614(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '所有属性强化(25)') + if mode == 0: + char.所有属性强化加成(25 * rate) + if mode == 1: + pass + + +def enchanting_20615(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '火强(14)|光强(14)') + if mode == 0: + char.所有属性强化加成(火属性强化=14 * rate, 光属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20616(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '火强(15)|光强(15)') + if mode == 0: + char.所有属性强化加成(火属性强化=15 * rate, 光属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20617(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '冰强(14)|暗强(14)') + if mode == 0: + char.所有属性强化加成(冰属性强化=14 * rate, 暗属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20618(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '冰强(15)|暗强(15)') + if mode == 0: + char.所有属性强化加成(冰属性强化=15 * rate, 暗属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_20619(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '力(45)') + if mode == 0: + char.基础属性加成(力量=45 * rate) + if mode == 1: + pass + + +def enchanting_20620(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋', '力(50)') + if mode == 0: + char.基础属性加成(力量=50 * rate) + if mode == 1: + pass + + +def enchanting_20621(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '智(45)') + if mode == 0: + char.基础属性加成(智力=45 * rate) + if mode == 1: + pass + + +def enchanting_20622(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋', '智(50)') + if mode == 0: + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_20623(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '体(45)') + if mode == 0: + char.基础属性加成(体力=45 * rate) + if mode == 1: + pass + + +def enchanting_20624(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '体(50)') + if mode == 0: + char.基础属性加成(体力=50 * rate) + if mode == 1: + pass + + +def enchanting_20625(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '精(45)') + if mode == 0: + char.基础属性加成(精神=45 * rate) + if mode == 1: + pass + + +def enchanting_20626(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '精(50)') + if mode == 0: + char.基础属性加成(精神=50 * rate) + if mode == 1: + pass + + +def enchanting_20627(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(5%)|力(20)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20628(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩', '物暴(6%)|力(25)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + char.基础属性加成(力量=25 * rate) + if mode == 1: + pass + + +def enchanting_20629(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(5%)|智(20)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20630(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩', '魔暴(6%)|智(25)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + char.基础属性加成(智力=25 * rate) + if mode == 1: + pass + + +def enchanting_20631(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带,鞋', '物暴(2%)|力(20)') + if mode == 0: + char.基础属性加成(物理暴击率=0.02 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20632(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '物暴(3%)|力(25)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(力量=25 * rate) + if mode == 1: + pass + + +def enchanting_20633(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带,鞋', '魔暴(2%)|智(20)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.02 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20634(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '魔暴(3%)|智(25)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.基础属性加成(智力=25 * rate) + if mode == 1: + pass + + +def enchanting_20635(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(60)|力(30)') + if mode == 0: + char.基础属性加成(独立攻击力=60 * rate) + char.基础属性加成(力量=30 * rate) + if mode == 1: + pass + + +def enchanting_20636(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(65)|力(35)') + if mode == 0: + char.基础属性加成(独立攻击力=65 * rate) + char.基础属性加成(力量=35 * rate) + if mode == 1: + pass + + +def enchanting_20637(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '独立(70)|力(40)') + if mode == 0: + char.基础属性加成(独立攻击力=70 * rate) + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_20638(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(60)|智(30)') + if mode == 0: + char.基础属性加成(独立攻击力=60 * rate) + char.基础属性加成(智力=30 * rate) + if mode == 1: + pass + + +def enchanting_20639(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '独立(65)|智(35)') + if mode == 0: + char.基础属性加成(独立攻击力=65 * rate) + char.基础属性加成(智力=35 * rate) + if mode == 1: + pass + + +def enchanting_20640(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '独立(70)|智(40)') + if mode == 0: + char.基础属性加成(独立攻击力=70 * rate) + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20641(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '体(80)') + if mode == 0: + char.基础属性加成(体力=80 * rate) + if mode == 1: + pass + + +def enchanting_20642(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋,武器,上衣,下装', '体(90)') + if mode == 0: + char.基础属性加成(体力=90 * rate) + if mode == 1: + pass + + +def enchanting_20643(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋,武器,上衣,下装', '体(100)') + if mode == 0: + char.基础属性加成(体力=100 * rate) + if mode == 1: + pass + + +def enchanting_20644(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '精(80)') + if mode == 0: + char.基础属性加成(精神=80 * rate) + if mode == 1: + pass + + +def enchanting_20645(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋,武器,上衣,下装', '精(90)') + if mode == 0: + char.基础属性加成(精神=90 * rate) + if mode == 1: + pass + + +def enchanting_20646(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋,武器,上衣,下装', '精(100)') + if mode == 0: + char.基础属性加成(精神=100 * rate) + if mode == 1: + pass + + +def enchanting_20647(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(80)') + if mode == 0: + char.基础属性加成(力量=80 * rate) + if mode == 1: + pass + + +def enchanting_20648(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(90)') + if mode == 0: + char.基础属性加成(力量=90 * rate) + if mode == 1: + pass + + +def enchanting_20649(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '力(100)') + if mode == 0: + char.基础属性加成(力量=100 * rate) + if mode == 1: + pass + + +def enchanting_20650(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(80)') + if mode == 0: + char.基础属性加成(智力=80 * rate) + if mode == 1: + pass + + +def enchanting_20651(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(90)') + if mode == 0: + char.基础属性加成(智力=90 * rate) + if mode == 1: + pass + + +def enchanting_20652(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '智(100)') + if mode == 0: + char.基础属性加成(智力=100 * rate) + if mode == 1: + pass + + +def enchanting_20653(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '魔攻(60)|智(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=60 * rate) + char.基础属性加成(智力=30 * rate) + if mode == 1: + pass + + +def enchanting_20654(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '魔攻(65)|智(35)') + if mode == 0: + char.基础属性加成(魔法攻击力=65 * rate) + char.基础属性加成(智力=35 * rate) + if mode == 1: + pass + + +def enchanting_20655(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '魔攻(70)|智(40)') + if mode == 0: + char.基础属性加成(魔法攻击力=70 * rate) + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20656(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '物攻(60)|力(30)') + if mode == 0: + char.基础属性加成(物理攻击力=60 * rate) + char.基础属性加成(力量=30 * rate) + if mode == 1: + pass + + +def enchanting_20657(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '物攻(65)|力(35)') + if mode == 0: + char.基础属性加成(物理攻击力=65 * rate) + char.基础属性加成(力量=35 * rate) + if mode == 1: + pass + + +def enchanting_20658(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器,上衣,下装', '物攻(70)|力(40)') + if mode == 0: + char.基础属性加成(物理攻击力=70 * rate) + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_20659(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20660(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '四维(55)') + if mode == 0: + char.基础属性加成(四维=55 * rate) + if mode == 1: + pass + + +def enchanting_20661(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '力(35)') + if mode == 0: + char.基础属性加成(力量=35 * rate) + if mode == 1: + pass + + +def enchanting_20662(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '力(40)') + if mode == 0: + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_20663(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '智(35)') + if mode == 0: + char.基础属性加成(智力=35 * rate) + if mode == 1: + pass + + +def enchanting_20664(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '智(40)') + if mode == 0: + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_20665(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '所有属性强化(11)') + if mode == 0: + char.所有属性强化加成(11 * rate) + if mode == 1: + pass + + +def enchanting_20666(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '所有属性强化(13)') + if mode == 0: + char.所有属性强化加成(13 * rate) + if mode == 1: + pass + + +def enchanting_20667(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '火强(25)|光强(25)') + if mode == 0: + char.所有属性强化加成(火属性强化=25 * rate, 光属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20668(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链,手镯,戒指', '冰强(25)|暗强(25)') + if mode == 0: + char.所有属性强化加成(冰属性强化=25 * rate, 暗属性强化=25 * rate) + if mode == 1: + pass + + +def enchanting_20669(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋', '力智(35)|暴击(3%)') + if mode == 0: + char.基础属性加成(力智=35 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20670(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '体精(35)') + if mode == 0: + char.基础属性加成(体精=35 * rate) + if mode == 1: + pass + + +def enchanting_20671(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '力智(20)|暴击(5%)') + if mode == 0: + char.基础属性加成(力智=20 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20672(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '腰带,鞋', '力智(20)') + if mode == 0: + char.基础属性加成(力智=20 * rate) + if mode == 1: + pass + + +def enchanting_20673(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '体精(20)') + if mode == 0: + char.基础属性加成(体精=20 * rate) + if mode == 1: + pass + + +def enchanting_20674(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '所有属性强化(26)') + if mode == 0: + char.所有属性强化加成(26 * rate) + if mode == 1: + pass + + +def enchanting_20675(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '所有属性强化(28)') + if mode == 0: + char.所有属性强化加成(28 * rate) + if mode == 1: + pass + + +def enchanting_20676(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '魔法石', '四维(35)') + if mode == 0: + char.基础属性加成(四维=35 * rate) + if mode == 1: + pass + + +def enchanting_20677(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '魔法石', '四维(40)') + if mode == 0: + char.基础属性加成(四维=40 * rate) + if mode == 1: + pass + + +def enchanting_20678(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '魔法石', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20679(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '魔法石', '所有属性强化(17)') + if mode == 0: + char.所有属性强化加成(17 * rate) + if mode == 1: + pass + + +def enchanting_20680(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '三攻(45)') + if mode == 0: + char.基础属性加成(三攻=45 * rate) + if mode == 1: + pass + + +def enchanting_20681(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(24)|光强(24)') + if mode == 0: + char.所有属性强化加成(火属性强化=24 * rate, 光属性强化=24 * rate) + if mode == 1: + pass + + +def enchanting_20682(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(24)|暗强(24)') + if mode == 0: + char.所有属性强化加成(冰属性强化=24 * rate, 暗属性强化=24 * rate) + if mode == 1: + pass + + +def enchanting_20683(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(10.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.1 * rate) + pass + if mode == 1: + pass + + +def enchanting_20684(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(15.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.15 * rate) + if mode == 1: + pass + + +def enchanting_20685(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '鞋', '移动速度(10.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.1 * rate) + if mode == 1: + pass + + +def enchanting_20686(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '辅助装备', '三攻(110)') + if mode == 0: + char.基础属性加成(三攻=110 * rate) + if mode == 1: + pass + + +def enchanting_20687(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '辅助装备', '四维(100)') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if mode == 1: + pass + + +def enchanting_20688(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '魔法石', '所有属性强化(25)') + if mode == 0: + char.所有属性强化加成(25 * rate) + if mode == 1: + pass + + +def enchanting_20689(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '魔法石', '四维(80)') + if mode == 0: + char.基础属性加成(四维=80 * rate) + if mode == 1: + pass + + +def enchanting_20690(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (158, '头肩', '四维(40)|三攻(10)|暴击(5%)|技攻(2%)') + if mode == 0: + char.基础属性加成(四维=40 * rate) + char.基础属性加成(三攻=10 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + char.技能攻击力加成(part=part, x=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20691(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20692(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(17)') + if mode == 0: + char.基础属性加成(物理攻击力=17 * rate) + if mode == 1: + pass + + +def enchanting_20693(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(19)') + if mode == 0: + char.基础属性加成(物理攻击力=19 * rate) + if mode == 1: + pass + + +def enchanting_20694(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(21)') + if mode == 0: + char.基础属性加成(物理攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20695(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(23)') + if mode == 0: + char.基础属性加成(物理攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20696(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20697(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(17)') + if mode == 0: + char.基础属性加成(魔法攻击力=17 * rate) + if mode == 1: + pass + + +def enchanting_20698(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(19)') + if mode == 0: + char.基础属性加成(魔法攻击力=19 * rate) + if mode == 1: + pass + + +def enchanting_20699(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(21)') + if mode == 0: + char.基础属性加成(魔法攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20700(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(23)') + if mode == 0: + char.基础属性加成(魔法攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20701(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '物暴(1%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20702(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '魔暴(1%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20703(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩', '魔暴(2%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20704(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(35)') + if mode == 0: + char.基础属性加成(智力=35 * rate) + if mode == 1: + pass + + +def enchanting_20705(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(45)') + if mode == 0: + char.基础属性加成(体力=45 * rate) + if mode == 1: + pass + + +def enchanting_20706(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(45)') + if mode == 0: + char.基础属性加成(精神=45 * rate) + if mode == 1: + pass + + +def enchanting_20707(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '移动速度(1.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20708(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '移动速度(2.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20709(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '移动速度(3.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20710(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '下装,鞋', '移动速度(4.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20711(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '施放速度(1.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_20712(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '施放速度(2.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20713(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '施放速度(3.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20714(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装,鞋', '施放速度(4.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20715(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.02 * rate) + pass + if mode == 1: + pass + + +def enchanting_20716(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(3.0%)') + if mode == 0: + char.攻击速度增加(part=part,x=0.03 * rate) + pass + if mode == 1: + pass + + +def enchanting_20717(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '腰带', '四维(30)|Lv1~30主动+1') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 30, 1) + if mode == 1: + pass + + +def enchanting_20718(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '腰带,头肩,鞋', '力(15)') + if mode == 0: + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20719(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '腰带,头肩,鞋', '智(15)') + if mode == 0: + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_20720(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '体精(10)') + if mode == 0: + char.基础属性加成(体精=10 * rate) + if mode == 1: + pass + + +def enchanting_20721(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(10)|暗强(10)') + if mode == 0: + char.所有属性强化加成(冰属性强化=10 * rate, 暗属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_20722(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '独立(40)') + if mode == 0: + char.基础属性加成(独立攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20723(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '力(10)|物攻(10)') + if mode == 0: + char.基础属性加成(力量=10 * rate) + char.基础属性加成(物理攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20724(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '智(10)|魔攻(10)') + if mode == 0: + char.基础属性加成(智力=10 * rate) + char.基础属性加成(魔法攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_20725(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '体精(10)') + if mode == 0: + char.基础属性加成(体精=10 * rate) + if mode == 1: + pass + + +def enchanting_20726(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', 'Lv15~15主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 15, 15, 1) + if mode == 1: + pass + + +def enchanting_20727(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', 'Lv20~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 20, 1) + if mode == 1: + pass + + +def enchanting_20728(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', 'Lv25~25主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 25, 25, 1) + if mode == 1: + pass + + +def enchanting_20729(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', 'Lv30~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 30, 1) + if mode == 1: + pass + + +def enchanting_20730(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', '所有属性强化(15)|物攻(30)|魔攻(30)|独立(40)|Lv1~50主动+1') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(独立攻击力=40 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_20731(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '鞋', '四维(30)|Lv1~30主动+1') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 30, 1) + if mode == 1: + pass + + +def enchanting_20732(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '所有属性强化(12)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(12 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20733(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '魔法石', '四维(30)|物攻(30)|魔攻(30)|独立(40)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(独立攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20734(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '力(42)') + if mode == 0: + char.基础属性加成(力量=42 * rate) + if mode == 1: + pass + + +def enchanting_20735(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力智(21)') + if mode == 0: + char.基础属性加成(力智=21 * rate) + if mode == 1: + pass + + +def enchanting_20736(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(21)|体(21)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(体力=21 * rate) + if mode == 1: + pass + + +def enchanting_20737(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(21)|精(21)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(精神=21 * rate) + if mode == 1: + pass + + +def enchanting_20738(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|物攻(16)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(物理攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_20739(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|魔攻(16)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(魔法攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_20740(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|独立(26)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(独立攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20741(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|物暴(4%)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20742(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|魔暴(4%)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20743(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|火强(8)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20744(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|冰强(8)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20745(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|暗强(8)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20746(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(21)|光强(8)') + if mode == 0: + char.基础属性加成(力量=21 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20747(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(42)') + if mode == 0: + char.基础属性加成(智力=42 * rate) + if mode == 1: + pass + + +def enchanting_20748(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(21)|体(21)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(体力=21 * rate) + if mode == 1: + pass + + +def enchanting_20749(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(21)|精(21)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(精神=21 * rate) + if mode == 1: + pass + + +def enchanting_20750(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(21)|物攻(16)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(物理攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_20751(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(21)|魔攻(16)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(魔法攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_20752(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(21)|独立(26)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(独立攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20753(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(21)|物暴(4%)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20754(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(21)|魔暴(4%)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_20755(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(21)|火强(8)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_20756(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(20)|冰强(7)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20757(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(20)|暗强(7)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20758(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(20)|光强(7)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20759(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(40)') + if mode == 0: + char.基础属性加成(体力=40 * rate) + if mode == 1: + pass + + +def enchanting_20760(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体精(20)') + if mode == 0: + char.基础属性加成(体精=20 * rate) + if mode == 1: + pass + + +def enchanting_20761(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|物攻(15)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20762(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|魔攻(15)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20763(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|独立(25)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20764(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(20)|物暴(3%)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20765(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(20)|魔暴(3%)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20766(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|火强(7)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20767(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|冰强(7)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20768(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|暗强(7)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20769(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(20)|光强(7)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20770(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(40)') + if mode == 0: + char.基础属性加成(精神=40 * rate) + if mode == 1: + pass + + +def enchanting_20771(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|物攻(15)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20772(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|魔攻(15)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20773(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|独立(25)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20774(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(20)|物暴(3%)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20775(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(20)|魔暴(3%)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20776(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|火强(7)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20777(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|冰强(7)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20778(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|暗强(7)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20779(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(20)|光强(7)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20780(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20781(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(15)|魔攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20782(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(15)|独立(25)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20783(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(15)|物暴(3%)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20784(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(15)|魔暴(3%)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20785(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(15)|火强(7)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20786(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(15)|冰强(7)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20787(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(15)|暗强(7)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20788(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(15)|光强(7)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20789(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20790(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(15)|独立(25)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20791(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(15)|物暴(3%)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20792(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(15)|魔暴(3%)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20793(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(15)|火强(7)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20794(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(15)|冰强(7)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20795(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(15)|暗强(7)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20796(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(15)|光强(7)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20797(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(50)') + if mode == 0: + char.基础属性加成(独立攻击力=50 * rate) + if mode == 1: + pass + + +def enchanting_20798(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(25)|物暴(3%)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20799(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(25)|魔暴(3%)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20800(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(25)|火强(7)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20801(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(25)|冰强(7)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20802(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(25)|暗强(7)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20803(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(25)|光强(7)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20804(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_20805(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20806(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(3%)|火强(7)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20807(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(3%)|冰强(7)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20808(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(3%)|暗强(7)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20809(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(3%)|光强(7)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20810(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(6%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_20811(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(3%)|火强(7)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20812(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(3%)|冰强(7)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20813(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(3%)|暗强(7)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20814(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(3%)|光强(7)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20815(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '火强(14)') + if mode == 0: + char.所有属性强化加成(火属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20816(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(7)|冰强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate, 冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20817(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(7)|暗强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate, 暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20818(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(7)|光强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate, 光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20819(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '冰强(14)') + if mode == 0: + char.所有属性强化加成(冰属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20820(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '冰强(7)|暗强(7)') + if mode == 0: + char.所有属性强化加成(冰属性强化=7 * rate, 暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20821(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '冰强(7)|光强(7)') + if mode == 0: + char.所有属性强化加成(冰属性强化=7 * rate, 光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20822(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '暗强(14)') + if mode == 0: + char.所有属性强化加成(暗属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20823(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '暗强(7)|光强(7)') + if mode == 0: + char.所有属性强化加成(暗属性强化=7 * rate, 光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20824(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '光强(14)') + if mode == 0: + char.所有属性强化加成(光属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_20825(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(25)') + if mode == 0: + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_20826(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20827(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20828(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(20)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + if mode == 1: + pass + + +def enchanting_20829(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '光强(7)') + if mode == 0: + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20830(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(20)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + if mode == 1: + pass + + +def enchanting_20831(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '冰强(7)') + if mode == 0: + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20832(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(3%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20833(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_20834(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20835(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(7)') + if mode == 0: + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20836(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_20837(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '暗强(7)') + if mode == 0: + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_20838(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(41)') + if mode == 0: + char.基础属性加成(魔法攻击力=41 * rate) + if mode == 1: + pass + + +def enchanting_20839(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(43)') + if mode == 0: + char.基础属性加成(魔法攻击力=43 * rate) + if mode == 1: + pass + + +def enchanting_20840(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(41)') + if mode == 0: + char.基础属性加成(物理攻击力=41 * rate) + if mode == 1: + pass + + +def enchanting_20841(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(43)') + if mode == 0: + char.基础属性加成(物理攻击力=43 * rate) + if mode == 1: + pass + + +def enchanting_20842(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '体(60)') + if mode == 0: + char.基础属性加成(体力=60 * rate) + if mode == 1: + pass + + +def enchanting_20843(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '体(65)') + if mode == 0: + char.基础属性加成(体力=65 * rate) + if mode == 1: + pass + + +def enchanting_20844(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '腰带,鞋', '精(32)') + if mode == 0: + char.基础属性加成(精神=32 * rate) + if mode == 1: + pass + + +def enchanting_20845(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(35)|精(30)') + if mode == 0: + char.基础属性加成(体力=35 * rate) + char.基础属性加成(精神=30 * rate) + if mode == 1: + pass + + +def enchanting_20846(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩,腰带,鞋', '精(60)') + if mode == 0: + char.基础属性加成(精神=60 * rate) + if mode == 1: + pass + + +def enchanting_20847(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力(60)') + if mode == 0: + char.基础属性加成(力量=60 * rate) + if mode == 1: + pass + + +def enchanting_20848(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '力(65)') + if mode == 0: + char.基础属性加成(力量=65 * rate) + if mode == 1: + pass + + +def enchanting_20849(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(60)') + if mode == 0: + char.基础属性加成(智力=60 * rate) + if mode == 1: + pass + + +def enchanting_20850(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '智(65)') + if mode == 0: + char.基础属性加成(智力=65 * rate) + if mode == 1: + pass + + +def enchanting_20851(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性抗性(20)') + if mode == 0: + char.所有属性抗性加成(20 * rate) + if mode == 1: + pass + + +def enchanting_20852(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '所有属性强化(8)') + if mode == 0: + char.所有属性强化加成(8 * rate) + if mode == 1: + pass + + +def enchanting_20853(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '所有属性强化(9)') + if mode == 0: + char.所有属性强化加成(9 * rate) + if mode == 1: + pass + + +def enchanting_20854(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20855(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '辅助装备', '所有属性强化(12)') + if mode == 0: + char.所有属性强化加成(12 * rate) + if mode == 1: + pass + + +def enchanting_20856(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(26)') + if mode == 0: + char.基础属性加成(物理攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20857(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(27)') + if mode == 0: + char.基础属性加成(物理攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_20858(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(28)') + if mode == 0: + char.基础属性加成(物理攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_20859(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '物攻(29)') + if mode == 0: + char.基础属性加成(物理攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_20860(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(26)') + if mode == 0: + char.基础属性加成(魔法攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_20861(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(27)') + if mode == 0: + char.基础属性加成(魔法攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_20862(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(28)') + if mode == 0: + char.基础属性加成(魔法攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_20863(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '魔攻(29)') + if mode == 0: + char.基础属性加成(魔法攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_20864(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '四维(10)|暴击(5%)|城镇移动速度(0.1)') + if mode == 0: + char.基础属性加成(四维=10 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20865(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(8%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_20866(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '魔暴(8%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_20867(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(21)') + if mode == 0: + char.基础属性加成(物理攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20868(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(22)') + if mode == 0: + char.基础属性加成(物理攻击力=22 * rate) + if mode == 1: + pass + + +def enchanting_20869(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '物攻(23)') + if mode == 0: + char.基础属性加成(物理攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_20870(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '物攻(24)') + if mode == 0: + char.基础属性加成(物理攻击力=24 * rate) + if mode == 1: + pass + + +def enchanting_20871(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '魔攻(21)') + if mode == 0: + char.基础属性加成(魔法攻击力=21 * rate) + if mode == 1: + pass + + +def enchanting_20872(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '力(32)') + if mode == 0: + char.基础属性加成(力量=32 * rate) + if mode == 1: + pass + + +def enchanting_20873(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(32)') + if mode == 0: + char.基础属性加成(智力=32 * rate) + if mode == 1: + pass + + +def enchanting_20874(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(41)') + if mode == 0: + char.基础属性加成(智力=41 * rate) + if mode == 1: + pass + + +def enchanting_20875(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(42)') + if mode == 0: + char.基础属性加成(智力=42 * rate) + if mode == 1: + pass + + +def enchanting_20876(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(43)') + if mode == 0: + char.基础属性加成(智力=43 * rate) + if mode == 1: + pass + + +def enchanting_20877(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(44)') + if mode == 0: + char.基础属性加成(智力=44 * rate) + if mode == 1: + pass + + +def enchanting_20878(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(45)') + if mode == 0: + char.基础属性加成(智力=45 * rate) + if mode == 1: + pass + + +def enchanting_20879(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(46)') + if mode == 0: + char.基础属性加成(智力=46 * rate) + if mode == 1: + pass + + +def enchanting_20880(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(47)') + if mode == 0: + char.基础属性加成(智力=47 * rate) + if mode == 1: + pass + + +def enchanting_20881(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(48)') + if mode == 0: + char.基础属性加成(智力=48 * rate) + if mode == 1: + pass + + +def enchanting_20882(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '智(49)') + if mode == 0: + char.基础属性加成(智力=49 * rate) + if mode == 1: + pass + + +def enchanting_20883(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '智(50)') + if mode == 0: + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_20884(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '腰带,鞋', '体(32)') + if mode == 0: + char.基础属性加成(体力=32 * rate) + if mode == 1: + pass + + +def enchanting_20885(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '物攻(40)') + if mode == 0: + char.基础属性加成(物理攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20886(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '魔攻(40)') + if mode == 0: + char.基础属性加成(魔法攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20887(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '独立(40)') + if mode == 0: + char.基础属性加成(独立攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_20888(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '智(55)') + if mode == 0: + char.基础属性加成(智力=55 * rate) + if mode == 1: + pass + + +def enchanting_20889(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv15~15主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 15, 15, 1) + if mode == 1: + pass + + +def enchanting_20890(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv20~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 20, 1) + if mode == 1: + pass + + +def enchanting_20891(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv25~25主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 25, 25, 1) + if mode == 1: + pass + + +def enchanting_20892(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv30~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 30, 1) + if mode == 1: + pass + + +def enchanting_20893(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv35~35主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 35, 35, 1) + if mode == 1: + pass + + +def enchanting_20894(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '四维(30)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if mode == 1: + pass + + +def enchanting_20895(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '四维(35)') + if mode == 0: + char.基础属性加成(四维=35 * rate) + if mode == 1: + pass + + +def enchanting_20896(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '四维(40)') + if mode == 0: + char.基础属性加成(四维=40 * rate) + if mode == 1: + pass + + +def enchanting_20897(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20898(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + if mode == 1: + pass + + +def enchanting_20899(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '三攻(30)') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + if mode == 1: + pass + + +def enchanting_20900(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩,腰带,鞋', '力智(50)') + if mode == 0: + char.基础属性加成(力智=50 * rate) + if mode == 1: + pass + + +def enchanting_20901(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体精(35)') + if mode == 0: + char.基础属性加成(体精=35 * rate) + if mode == 1: + pass + + +def enchanting_20902(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '力智(32)|体精(28)') + if mode == 0: + char.基础属性加成(力智=32 * rate) + char.基础属性加成(体精=28 * rate) + if mode == 1: + pass + + +def enchanting_20903(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力智(15)|独立(45)') + if mode == 0: + char.基础属性加成(力智=15 * rate) + char.基础属性加成(独立攻击力=45 * rate) + if mode == 1: + pass + + +def enchanting_20904(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装,武器', '物攻(45)|力(15)') + if mode == 0: + char.基础属性加成(物理攻击力=45 * rate) + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20905(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装,武器', '魔攻(45)|智(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=45 * rate) + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_20906(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装,武器', '独立(45)|力(15)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_20907(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装,武器', '独立(45)|智(15)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_20908(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '耳环', '四维(80)') + if mode == 0: + char.基础属性加成(四维=80 * rate) + if mode == 1: + pass + + +def enchanting_20909(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', 'Lv1~35主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 35, 1) + if mode == 1: + pass + + +def enchanting_20910(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '四维(20)|所有属性强化(10)|所有属性抗性(10)') + if mode == 0: + char.基础属性加成(四维=20 * rate) + char.所有属性强化加成(10 * rate) + char.所有属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20911(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv1~35主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 35, 1) + if mode == 1: + pass + + +def enchanting_20912(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '鞋', 'Lv1~35主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 35, 1) + if mode == 1: + pass + + +def enchanting_20913(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '所有属性强化(12)') + if mode == 0: + char.所有属性强化加成(12 * rate) + if mode == 1: + pass + + +def enchanting_20914(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv1~10主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 10, 1) + if mode == 1: + pass + + +def enchanting_20915(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv10~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 10, 20, 1) + if mode == 1: + pass + + +def enchanting_20916(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv20~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 30, 1) + if mode == 1: + pass + + +def enchanting_20917(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv30~40主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 40, 1) + if mode == 1: + pass + + +def enchanting_20918(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv40~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 40, 50, 1) + if mode == 1: + pass + + +def enchanting_20919(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv1~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 20, 1) + if mode == 1: + pass + + +def enchanting_20920(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv10~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 10, 30, 1) + if mode == 1: + pass + + +def enchanting_20921(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv20~40主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 40, 1) + if mode == 1: + pass + + +def enchanting_20922(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', 'Lv30~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 50, 1) + if mode == 1: + pass + + +def enchanting_20923(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', 'Lv1~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_20924(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv1~10主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 10, 1) + if mode == 1: + pass + + +def enchanting_20925(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv10~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 10, 20, 1) + if mode == 1: + pass + + +def enchanting_20926(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv20~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 30, 1) + if mode == 1: + pass + + +def enchanting_20927(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv30~40主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 40, 1) + if mode == 1: + pass + + +def enchanting_20928(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv40~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 40, 50, 1) + if mode == 1: + pass + + +def enchanting_20929(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv1~20主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 20, 1) + if mode == 1: + pass + + +def enchanting_20930(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv10~30主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 10, 30, 1) + if mode == 1: + pass + + +def enchanting_20931(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv20~40主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 20, 40, 1) + if mode == 1: + pass + + +def enchanting_20932(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (107, '称号', 'Lv30~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 30, 50, 1) + if mode == 1: + pass + + +def enchanting_20933(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '称号', 'Lv1~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_20934(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '项链,手镯,戒指', '所有属性强化(30)') + if mode == 0: + char.所有属性强化加成(30 * rate) + if mode == 1: + pass + + +def enchanting_20935(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '魔法石', '精(30)') + if mode == 0: + char.基础属性加成(精神=30 * rate) + if mode == 1: + pass + + +def enchanting_20936(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '三攻(35)') + if mode == 0: + char.基础属性加成(三攻=35 * rate) + if mode == 1: + pass + + +def enchanting_20937(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '三攻(42)|物暴(2%)|魔暴(2%)') + if mode == 0: + char.基础属性加成(三攻=42 * rate) + char.基础属性加成(物理暴击率=0.02 * rate) + char.基础属性加成(魔法暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20938(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '物攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20939(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '魔攻(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20940(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '独立(30)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_20941(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '体精(75)') + if mode == 0: + char.基础属性加成(体精=75 * rate) + if mode == 1: + pass + + +def enchanting_20942(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '物攻(50)|力(20)') + if mode == 0: + char.基础属性加成(物理攻击力=50 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20943(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '魔攻(50)|智(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=50 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20944(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '独立(50)|力(20)') + if mode == 0: + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_20945(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '独立(50)|智(20)') + if mode == 0: + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_20946(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '智(75)') + if mode == 0: + char.基础属性加成(智力=75 * rate) + if mode == 1: + pass + + +def enchanting_20947(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '腰带,鞋', '智(50)') + if mode == 0: + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_20948(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '腰带,鞋', '力(50)') + if mode == 0: + char.基础属性加成(力量=50 * rate) + if mode == 1: + pass + + +def enchanting_20949(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '头肩', '物暴(10%)|魔暴(10%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.1 * rate) + char.基础属性加成(魔法暴击率=0.1 * rate) + if mode == 1: + pass + + +def enchanting_20950(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20951(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链', '所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_20952(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '项链', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23 * rate) + if mode == 1: + pass + + +def enchanting_20953(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链', '四维(42)') + if mode == 0: + char.基础属性加成(四维=42 * rate) + if mode == 1: + pass + + +def enchanting_20954(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链', '四维(25)') + if mode == 0: + char.基础属性加成(四维=25 * rate) + if mode == 1: + pass + + +def enchanting_20955(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链', '四维(18)') + if mode == 0: + char.基础属性加成(四维=18 * rate) + if mode == 1: + pass + + +def enchanting_20956(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '戒指', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20957(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '戒指', '所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_20958(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '戒指', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23 * rate) + if mode == 1: + pass + + +def enchanting_20959(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '戒指', '四维(42)') + if mode == 0: + char.基础属性加成(四维=42 * rate) + if mode == 1: + pass + + +def enchanting_20960(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '戒指', '四维(25)') + if mode == 0: + char.基础属性加成(四维=25 * rate) + if mode == 1: + pass + + +def enchanting_20961(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '戒指', '四维(18)') + if mode == 0: + char.基础属性加成(四维=18 * rate) + if mode == 1: + pass + + +def enchanting_20962(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '所有属性强化(10)') + if mode == 0: + char.所有属性强化加成(10 * rate) + if mode == 1: + pass + + +def enchanting_20963(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '手镯', '所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_20964(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '手镯', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23 * rate) + if mode == 1: + pass + + +def enchanting_20965(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '手镯', '四维(42)') + if mode == 0: + char.基础属性加成(四维=42 * rate) + if mode == 1: + pass + + +def enchanting_20966(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '手镯', '四维(25)') + if mode == 0: + char.基础属性加成(四维=25 * rate) + if mode == 1: + pass + + +def enchanting_20967(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '手镯', '四维(18)') + if mode == 0: + char.基础属性加成(四维=18 * rate) + if mode == 1: + pass + + +def enchanting_20968(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '四维(30)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + if mode == 1: + pass + + +def enchanting_20969(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '辅助装备', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_20970(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '三攻(30)') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + if mode == 1: + pass + + +def enchanting_20971(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '三攻(50)') + if mode == 0: + char.基础属性加成(三攻=50 * rate) + if mode == 1: + pass + + +def enchanting_20972(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '辅助装备', '三攻(35)') + if mode == 0: + char.基础属性加成(三攻=35 * rate) + if mode == 1: + pass + + +def enchanting_20973(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '智(75)') + if mode == 0: + char.基础属性加成(智力=75 * rate) + if mode == 1: + pass + + +def enchanting_20974(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '三攻(50)') + if mode == 0: + char.基础属性加成(三攻=50 * rate) + if mode == 1: + pass + + +def enchanting_20975(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '上衣,下装', '智(75)') + if mode == 0: + char.基础属性加成(智力=75 * rate) + if mode == 1: + pass + + +def enchanting_20976(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (158, '魔法石', '所有属性强化(30)') + if mode == 0: + char.所有属性强化加成(30 * rate) + if mode == 1: + pass + + +def enchanting_20977(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (158, '魔法石', '四维(100)') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if mode == 1: + pass + + +def enchanting_20978(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '辅助装备', '三攻(90)') + if mode == 0: + char.基础属性加成(三攻=90 * rate) + if mode == 1: + pass + + +def enchanting_20979(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '辅助装备', '三攻(100)') + if mode == 0: + char.基础属性加成(三攻=100 * rate) + if mode == 1: + pass + + +def enchanting_20980(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '辅助装备', '四维(90)') + if mode == 0: + char.基础属性加成(四维=90 * rate) + if mode == 1: + pass + + +def enchanting_20981(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '辅助装备', '四维(95)') + if mode == 0: + char.基础属性加成(四维=95 * rate) + if mode == 1: + pass + + +def enchanting_20982(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '魔法石', '所有属性强化(21)') + if mode == 0: + char.所有属性强化加成(21 * rate) + if mode == 1: + pass + + +def enchanting_20983(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '魔法石', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23 * rate) + if mode == 1: + pass + + +def enchanting_20984(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '魔法石', '四维(70)') + if mode == 0: + char.基础属性加成(四维=70 * rate) + if mode == 1: + pass + + +def enchanting_20985(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (138, '魔法石', '四维(75)') + if mode == 0: + char.基础属性加成(四维=75 * rate) + if mode == 1: + pass + + +def enchanting_20986(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '头肩', '四维(30)|三攻(6)|暴击(5%)|技攻(2%)') + if mode == 0: + char.基础属性加成(四维=30 * rate) + char.基础属性加成(三攻=6 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + char.技能攻击力加成(part=part, x=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20987(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '头肩', '四维(35)|三攻(8)|暴击(5%)|技攻(2%)') + if mode == 0: + char.基础属性加成(四维=35 * rate) + char.基础属性加成(三攻=8 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + char.技能攻击力加成(part=part, x=0.02 * rate) + if mode == 1: + pass + + +def enchanting_20988(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力智(75)') + if mode == 0: + char.基础属性加成(力智=75 * rate) + if mode == 1: + pass + + +def enchanting_20989(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(25)|物攻(55)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(物理攻击力=55 * rate) + if mode == 1: + pass + + +def enchanting_20990(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(25)|魔攻(55)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(魔法攻击力=55 * rate) + if mode == 1: + pass + + +def enchanting_20991(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力(25)|独立(55)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(独立攻击力=55 * rate) + if mode == 1: + pass + + +def enchanting_20992(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '智(25)|独立(55)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(独立攻击力=55 * rate) + if mode == 1: + pass + + +def enchanting_20993(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(8.0%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.08 * rate) + pass + if mode == 1: + pass + + +def enchanting_20994(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(10.0%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.1 * rate) + pass + if mode == 1: + pass + + +def enchanting_20995(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(12.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.12 * rate) + if mode == 1: + pass + + +def enchanting_20996(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '施放速度(15.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.15 * rate) + if mode == 1: + pass + + +def enchanting_20997(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '耳环', '四维(110)') + if mode == 0: + char.基础属性加成(四维=110 * rate) + if mode == 1: + pass + + +def enchanting_20998(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '物暴(5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_20999(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '物暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21000(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '腰带,鞋', '物暴(7%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_21001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '魔暴(5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带,鞋', '魔暴(6%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '腰带,鞋', '魔暴(7%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_21004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '施放速度(9.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.09 * rate) + if mode == 1: + pass + + +def enchanting_21009(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '三攻(45)') + if mode == 0: + char.基础属性加成(三攻=45 * rate) + if mode == 1: + pass + + +def enchanting_21010(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(21)|暗强(21)') + if mode == 0: + char.所有属性强化加成(冰属性强化=21 * rate, 暗属性强化=21 * rate) + if mode == 1: + pass + + +def enchanting_21011(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '四维(35)') + if mode == 0: + char.基础属性加成(四维=35 * rate) + if mode == 1: + pass + + +def enchanting_21012(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '所有属性强化(18)|物暴(2%)|魔暴(2%)') + if mode == 0: + char.所有属性强化加成(18 * rate) + char.基础属性加成(物理暴击率=0.02 * rate) + char.基础属性加成(魔法暴击率=0.02 * rate) + if mode == 1: + pass + + +def enchanting_21013(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '鞋', '四维(45)|Lv1~30主动+1') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 30, 1) + if mode == 1: + pass + + +def enchanting_21014(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '辅助装备', '所有属性强化(12)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(12 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21015(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '四维(75)|暴击(5%)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=75 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21016(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(12)|光强(12)') + if mode == 0: + char.所有属性强化加成(火属性强化=12 * rate, 光属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_21017(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(12)|暗强(12)') + if mode == 0: + char.所有属性强化加成(冰属性强化=12 * rate, 暗属性强化=12 * rate) + if mode == 1: + pass + + +def enchanting_21018(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '力(50)') + if mode == 0: + char.基础属性加成(力量=50 * rate) + if mode == 1: + pass + + +def enchanting_21019(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力智(25)') + if mode == 0: + char.基础属性加成(力智=25 * rate) + if mode == 1: + pass + + +def enchanting_21020(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|体(25)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(体力=25 * rate) + if mode == 1: + pass + + +def enchanting_21021(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|精(25)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(精神=25 * rate) + if mode == 1: + pass + + +def enchanting_21022(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|物攻(20)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21023(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|魔攻(20)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21024(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|独立(30)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21025(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|物暴(4%)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21026(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(25)|魔暴(4%)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21027(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|火强(8)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21028(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|冰强(8)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21029(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|暗强(8)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21030(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|光强(8)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21031(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '智(50)') + if mode == 0: + char.基础属性加成(智力=50 * rate) + if mode == 1: + pass + + +def enchanting_21032(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|体(25)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(体力=25 * rate) + if mode == 1: + pass + + +def enchanting_21033(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|精(25)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(精神=25 * rate) + if mode == 1: + pass + + +def enchanting_21034(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|物攻(20)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21035(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|魔攻(20)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21036(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|独立(30)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21037(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|物暴(4%)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21038(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(25)|魔暴(4%)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21039(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|火强(8)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21040(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|冰强(8)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21041(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|暗强(8)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21042(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|光强(8)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21043(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '体(50)') + if mode == 0: + char.基础属性加成(体力=50 * rate) + if mode == 1: + pass + + +def enchanting_21044(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体精(25)') + if mode == 0: + char.基础属性加成(体精=25 * rate) + if mode == 1: + pass + + +def enchanting_21045(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(25)|物攻(20)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21046(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(25)|魔攻(20)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21047(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|独立(30)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21048(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(25)|物暴(4%)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21049(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(25)|魔暴(4%)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21050(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|火强(8)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21051(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|冰强(8)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21052(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|暗强(8)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21053(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|光强(8)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21054(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '精(50)') + if mode == 0: + char.基础属性加成(精神=50 * rate) + if mode == 1: + pass + + +def enchanting_21055(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(25)|物攻(20)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21056(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(25)|魔攻(20)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21057(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|独立(30)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21058(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(25)|物暴(4%)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21059(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(25)|魔暴(4%)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21060(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|火强(8)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21061(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|冰强(8)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21062(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|暗强(8)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21063(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|光强(8)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21064(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '物攻(40)') + if mode == 0: + char.基础属性加成(物理攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_21065(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(20)|魔攻(20)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21066(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(20)|独立(30)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21067(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(20)|物暴(4%)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21068(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(20)|魔暴(4%)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21069(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(20)|火强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21070(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(20)|冰强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21071(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(20)|暗强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21072(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(20)|光强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21073(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '魔攻(40)') + if mode == 0: + char.基础属性加成(魔法攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_21074(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(20)|独立(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21075(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(20)|物暴(4%)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21076(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(20)|魔暴(4%)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21077(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(20)|火强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21078(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(20)|冰强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21079(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(20)|暗强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21080(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(20)|光强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21081(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '独立(60)') + if mode == 0: + char.基础属性加成(独立攻击力=60 * rate) + if mode == 1: + pass + + +def enchanting_21082(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(30)|物暴(4%)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21083(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(30)|魔暴(4%)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21084(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(30)|火强(8)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21085(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(30)|冰强(8)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21086(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(30)|暗强(8)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21087(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '独立(30)|光强(8)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21088(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(8%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_21089(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(4%)|魔暴(4%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21090(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物暴(4%)|火强(8)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21091(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物暴(4%)|冰强(8)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21092(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物暴(4%)|暗强(8)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21093(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物暴(4%)|光强(8)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21094(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(8%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.08 * rate) + if mode == 1: + pass + + +def enchanting_21095(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔暴(4%)|火强(8)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21096(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔暴(4%)|冰强(8)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21097(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔暴(4%)|暗强(8)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21098(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔暴(4%)|光强(8)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21099(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '火强(16)') + if mode == 0: + char.所有属性强化加成(火属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21100(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(8)|冰强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate, 冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21101(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(8)|暗强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate, 暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21102(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '火强(8)|光强(8)') + if mode == 0: + char.所有属性强化加成(火属性强化=8 * rate, 光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21103(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '冰强(16)') + if mode == 0: + char.所有属性强化加成(冰属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21104(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '冰强(8)|暗强(8)') + if mode == 0: + char.所有属性强化加成(冰属性强化=8 * rate, 暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21105(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '冰强(8)|光强(8)') + if mode == 0: + char.所有属性强化加成(冰属性强化=8 * rate, 光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21106(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '暗强(16)') + if mode == 0: + char.所有属性强化加成(暗属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21107(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '暗强(8)|光强(8)') + if mode == 0: + char.所有属性强化加成(暗属性强化=8 * rate, 光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21108(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '光强(16)') + if mode == 0: + char.所有属性强化加成(光属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21109(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '四维(24)') + if mode == 0: + char.基础属性加成(四维=24 * rate) + if mode == 1: + pass + + +def enchanting_21110(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '三攻(25)') + if mode == 0: + char.基础属性加成(三攻=25 * rate) + if mode == 1: + pass + + +def enchanting_21111(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '物攻(35)') + if mode == 0: + char.基础属性加成(物理攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_21112(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '物暴(5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21113(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装', '智(55)') + if mode == 0: + char.基础属性加成(智力=55 * rate) + if mode == 1: + pass + + +def enchanting_21114(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '魔暴(5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21115(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '四维(32)') + if mode == 0: + char.基础属性加成(四维=32 * rate) + if mode == 1: + pass + + +def enchanting_21116(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '力智(45)') + if mode == 0: + char.基础属性加成(力智=45 * rate) + if mode == 1: + pass + + +def enchanting_21117(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', 'Lv15~25主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 15, 25, 1) + if mode == 1: + pass + + +def enchanting_21118(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', 'Lv25~35主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 25, 35, 1) + if mode == 1: + pass + + +def enchanting_21119(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '三攻(20)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(三攻=20 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21120(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', '三攻(40)|所有属性强化(15)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21121(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '四维(75)|三攻(20)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=75 * rate) + char.基础属性加成(三攻=20 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21122(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '腰带', '四维(45)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21123(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '耳环', '四维(140)') + if mode == 0: + char.基础属性加成(四维=140 * rate) + if mode == 1: + pass + + +def enchanting_21124(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '体(10)') + if mode == 0: + char.基础属性加成(体力=10 * rate) + if mode == 1: + pass + + +def enchanting_21125(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣,下装', '精(10)') + if mode == 0: + char.基础属性加成(精神=10 * rate) + if mode == 1: + pass + + +def enchanting_21126(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|物攻(30)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21127(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(25)|魔攻(30)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21128(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|物攻(30)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21129(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(25)|魔攻(30)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21130(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|物攻(30)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21131(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '体(25)|魔攻(30)') + if mode == 0: + char.基础属性加成(体力=25 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21132(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|物攻(30)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(物理攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21133(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '精(25)|魔攻(30)') + if mode == 0: + char.基础属性加成(精神=25 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21134(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '物攻(60)') + if mode == 0: + char.基础属性加成(物理攻击力=60 * rate) + if mode == 1: + pass + + +def enchanting_21135(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(30)|魔攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21136(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(30)|独立(30)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21137(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '物攻(30)|火强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21138(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '物攻(30)|冰强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21139(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '物攻(30)|暗强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21140(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '物攻(30)|光强(8)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21141(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (170, '宠物', '魔攻(60)') + if mode == 0: + char.基础属性加成(魔法攻击力=60 * rate) + if mode == 1: + pass + + +def enchanting_21142(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(30)|独立(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21143(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '魔攻(30)|火强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.所有属性强化加成(火属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21144(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '魔攻(30)|冰强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.所有属性强化加成(冰属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21145(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '魔攻(30)|暗强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.所有属性强化加成(暗属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21146(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '魔攻(30)|光强(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.所有属性强化加成(光属性强化=8 * rate) + if mode == 1: + pass + + +def enchanting_21147(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '武器', '力智(50)|三攻(50)|所有属性强化(16)') + if mode == 0: + char.基础属性加成(力智=50 * rate) + char.基础属性加成(三攻=50 * rate) + char.所有属性强化加成(16 * rate) + if mode == 1: + pass + + +def enchanting_21148(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(30)|物暴(4%)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21149(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '物攻(30)|魔暴(4%)') + if mode == 0: + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21150(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(30)|物暴(4%)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21151(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '魔攻(30)|魔暴(4%)') + if mode == 0: + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21152(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '武器', '所有属性强化(15)|物攻(30)|独立(30)|攻击速度(5.0%)') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.基础属性加成(物理攻击力=30 * rate) + char.基础属性加成(独立攻击力=30 * rate) + char.攻击速度增加(part=part,x=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21153(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '武器', '所有属性强化(15)|魔攻(30)|独立(30)|施放速度(5.0%)') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + char.基础属性加成(独立攻击力=30 * rate) + char.基础属性加成(施放速度=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21154(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '力智(75)') + if mode == 0: + char.基础属性加成(力智=75 * rate) + if mode == 1: + pass + + +def enchanting_21155(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '体精(75)') + if mode == 0: + char.基础属性加成(体精=75 * rate) + if mode == 1: + pass + + +def enchanting_21156(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '腰带', '四维(45)') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if mode == 1: + pass + + +def enchanting_21157(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '腰带', '三攻(36)') + if mode == 0: + char.基础属性加成(三攻=36 * rate) + if mode == 1: + pass + + +def enchanting_21158(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '鞋', '三攻(36)') + if mode == 0: + char.基础属性加成(三攻=36 * rate) + if mode == 1: + pass + + +def enchanting_21159(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '耳环', '四维(135)') + if mode == 0: + char.基础属性加成(四维=135 * rate) + if mode == 1: + pass + + +def enchanting_21160(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '称号', '三攻(30)|Lv1~35主动+1') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 35, 1) + if mode == 1: + pass + + +def enchanting_21161(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '头肩', '四维(30)|三攻(10)|Lv1~35主动+1') + if mode == 0: + char.基础属性加成(四维=30 * rate) + char.基础属性加成(三攻=10 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 35, 1) + if mode == 1: + pass + + +def enchanting_21162(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '体精(70)') + if mode == 0: + char.基础属性加成(体精=70 * rate) + if mode == 1: + pass + + +def enchanting_21163(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv1~50主动+2') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 2) + if mode == 1: + pass + + +def enchanting_21164(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '称号', '三攻(30)|所有属性强化(10)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + char.所有属性强化加成(10 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21165(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '四维(75)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=75 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21166(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '三攻(40)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + if mode == 1: + pass + + +def enchanting_21167(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '鞋', '四维(45)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=45 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21168(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', '三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21169(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '四维(75)|三攻(20)|技攻(3%)') + if mode == 0: + char.基础属性加成(四维=75 * rate) + char.基础属性加成(三攻=20 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21170(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '四维(60)|三攻(16)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=60 * rate) + char.基础属性加成(三攻=16 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21171(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '腰带', '四维(36)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=36 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21172(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '鞋', '四维(36)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(四维=36 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21173(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '辅助装备', '所有属性强化(9)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(9 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21174(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '物攻(50)|独立(50)|力(20)') + if mode == 0: + char.基础属性加成(物理攻击力=50 * rate) + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(力量=20 * rate) + if mode == 1: + pass + + +def enchanting_21175(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '魔攻(50)|独立(50)|智(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=50 * rate) + char.基础属性加成(独立攻击力=50 * rate) + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +# def enchanting_21176(char: CharacterProperty = {}, mode=0, text=False, rate=1.0,part=''): + # if text: + # return (168, '鞋', '三攻(36)|技攻(3%)') + # if mode == 0: + # char.基础属性加成(三攻=36 * rate) + # char.技能攻击力加成(part=part,x=part=part,x=0.03 * rate) + # if mode == 1: + # pass + + +# def enchanting_21177(char: CharacterProperty = {}, mode=0, text=False, rate=1.0,part=''): +# if text: +# return (168, '腰带', '三攻(36)|技攻(3%)') +# if mode == 0: +# char.基础属性加成(三攻=36 * rate) +# char.技能攻击力加成(part=part,x=part=part,x=0.03 * rate) +# if mode == 1: +# pass + + +def enchanting_21178(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', 'Lv1~50主动+1') + if mode == 0: + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21179(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '攻击速度(0.5%)') + if mode == 0: + char.基础属性加成(攻击速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21180(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '攻击速度(1.0%)') + if mode == 0: + char.基础属性加成(攻击速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21181(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '攻击速度(4.0%)') + if mode == 0: + char.基础属性加成(攻击速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21182(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '施放速度(0.5%)') + if mode == 0: + char.基础属性加成(施放速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21183(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '施放速度(1.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21184(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '施放速度(4.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21185(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '暗强(1)') + if mode == 0: + char.所有属性强化加成(暗属性强化=1 * rate) + if mode == 1: + pass + + +def enchanting_21186(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '暗强(3)') + if mode == 0: + char.所有属性强化加成(暗属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21187(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '暗强(10)') + if mode == 0: + char.所有属性强化加成(暗属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21188(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(2)') + if mode == 0: + char.基础属性加成(魔法攻击力=2 * rate) + if mode == 1: + pass + + +def enchanting_21189(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(6)') + if mode == 0: + char.基础属性加成(魔法攻击力=6 * rate) + if mode == 1: + pass + + +def enchanting_21190(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔攻(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21191(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(2)') + if mode == 0: + char.基础属性加成(物理攻击力=2 * rate) + if mode == 1: + pass + + +def enchanting_21192(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(6)') + if mode == 0: + char.基础属性加成(物理攻击力=6 * rate) + if mode == 1: + pass + + +def enchanting_21193(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物攻(20)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21194(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '火强(1)') + if mode == 0: + char.所有属性强化加成(火属性强化=1 * rate) + if mode == 1: + pass + + +def enchanting_21195(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '火强(3)') + if mode == 0: + char.所有属性强化加成(火属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21196(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '火强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21197(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '光强(1)') + if mode == 0: + char.所有属性强化加成(光属性强化=1 * rate) + if mode == 1: + pass + + +def enchanting_21198(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '光强(3)') + if mode == 0: + char.所有属性强化加成(光属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21199(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '光强(10)') + if mode == 0: + char.所有属性强化加成(光属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21200(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(3)') + if mode == 0: + char.基础属性加成(智力=3 * rate) + if mode == 1: + pass + + +def enchanting_21201(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(12)') + if mode == 0: + char.基础属性加成(智力=12 * rate) + if mode == 1: + pass + + +def enchanting_21202(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(30)') + if mode == 0: + char.基础属性加成(智力=30 * rate) + if mode == 1: + pass + + +def enchanting_21203(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(0.5%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21204(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(1%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21205(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '魔暴(4%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21206(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(3)') + if mode == 0: + char.基础属性加成(精神=3 * rate) + if mode == 1: + pass + + +def enchanting_21207(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(12)') + if mode == 0: + char.基础属性加成(精神=12 * rate) + if mode == 1: + pass + + +def enchanting_21208(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '精(30)') + if mode == 0: + char.基础属性加成(精神=30 * rate) + if mode == 1: + pass + + +def enchanting_21209(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '移动速度(0.5%)') + if mode == 0: + char.基础属性加成(移动速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21210(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '移动速度(1.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21211(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '移动速度(4.0%)') + if mode == 0: + char.基础属性加成(移动速度=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21212(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(3)') + if mode == 0: + char.基础属性加成(力量=3 * rate) + if mode == 1: + pass + + +def enchanting_21213(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(12)') + if mode == 0: + char.基础属性加成(力量=12 * rate) + if mode == 1: + pass + + +def enchanting_21214(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(30)') + if mode == 0: + char.基础属性加成(力量=30 * rate) + if mode == 1: + pass + + +def enchanting_21215(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(0.5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21216(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(1%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21217(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '物暴(4%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21218(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(3)') + if mode == 0: + char.基础属性加成(体力=3 * rate) + if mode == 1: + pass + + +def enchanting_21219(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(12)') + if mode == 0: + char.基础属性加成(体力=12 * rate) + if mode == 1: + pass + + +def enchanting_21220(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '体(30)') + if mode == 0: + char.基础属性加成(体力=30 * rate) + if mode == 1: + pass + + +def enchanting_21221(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '独立(4)') + if mode == 0: + char.基础属性加成(独立攻击力=4 * rate) + if mode == 1: + pass + + +def enchanting_21222(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '独立(10)') + if mode == 0: + char.基础属性加成(独立攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_21223(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '独立(35)') + if mode == 0: + char.基础属性加成(独立攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_21224(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '冰强(1)') + if mode == 0: + char.所有属性强化加成(冰属性强化=1 * rate) + if mode == 1: + pass + + +def enchanting_21225(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '冰强(3)') + if mode == 0: + char.所有属性强化加成(冰属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21226(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (159, '宠物', '冰强(10)') + if mode == 0: + char.所有属性强化加成(冰属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21227(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(14)') + if mode == 0: + char.所有属性强化加成(暗属性强化=14 * rate) + if mode == 1: + pass + + +def enchanting_21228(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '暗强(16)') + if mode == 0: + char.所有属性强化加成(暗属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21229(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '暗强(17)') + if mode == 0: + char.所有属性强化加成(暗属性强化=17 * rate) + if mode == 1: + pass + + +def enchanting_21230(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '暗强(19)') + if mode == 0: + char.所有属性强化加成(暗属性强化=19 * rate) + if mode == 1: + pass + + +def enchanting_21231(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '暗强(20)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(暗属性强化=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21232(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(16)') + if mode == 0: + char.所有属性强化加成(火属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21233(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(17)') + if mode == 0: + char.所有属性强化加成(火属性强化=17 * rate) + if mode == 1: + pass + + +def enchanting_21234(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '火强(19)') + if mode == 0: + char.所有属性强化加成(火属性强化=19 * rate) + if mode == 1: + pass + + +def enchanting_21235(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(20)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(火属性强化=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21236(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(16)') + if mode == 0: + char.所有属性强化加成(光属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21237(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '光强(17)') + if mode == 0: + char.所有属性强化加成(光属性强化=17 * rate) + if mode == 1: + pass + + +def enchanting_21238(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '光强(20)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(光属性强化=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21239(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(16)') + if mode == 0: + char.所有属性强化加成(冰属性强化=16 * rate) + if mode == 1: + pass + + +def enchanting_21240(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(17)') + if mode == 0: + char.所有属性强化加成(冰属性强化=17 * rate) + if mode == 1: + pass + + +def enchanting_21241(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '冰强(19)') + if mode == 0: + char.所有属性强化加成(冰属性强化=19 * rate) + if mode == 1: + pass + + +def enchanting_21242(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(20)|暴击(3%)') + if mode == 0: + char.所有属性强化加成(冰属性强化=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21243(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(7)') + if mode == 0: + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_21244(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,上衣,下装', '魔攻(23)') + if mode == 0: + char.基础属性加成(魔法攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_21245(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,鞋', '独立(44)') + if mode == 0: + char.基础属性加成(独立攻击力=44 * rate) + if mode == 1: + pass + + +def enchanting_21246(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,上衣,下装', '物攻(23)') + if mode == 0: + char.基础属性加成(物理攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_21247(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(30)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21248(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(33)') + if mode == 0: + char.基础属性加成(独立攻击力=33 * rate) + if mode == 1: + pass + + +def enchanting_21249(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(36)') + if mode == 0: + char.基础属性加成(独立攻击力=36 * rate) + if mode == 1: + pass + + +def enchanting_21250(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(39)') + if mode == 0: + char.基础属性加成(独立攻击力=39 * rate) + if mode == 1: + pass + + +def enchanting_21251(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(42)') + if mode == 0: + char.基础属性加成(独立攻击力=42 * rate) + if mode == 1: + pass + + +def enchanting_21252(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(45)') + if mode == 0: + char.基础属性加成(独立攻击力=45 * rate) + if mode == 1: + pass + + +def enchanting_21253(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '物攻(4)') + if mode == 0: + char.基础属性加成(物理攻击力=4 * rate) + if mode == 1: + pass + + +def enchanting_21254(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '物攻(8)') + if mode == 0: + char.基础属性加成(物理攻击力=8 * rate) + if mode == 1: + pass + + +def enchanting_21255(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '物攻(12)') + if mode == 0: + char.基础属性加成(物理攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_21256(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '物攻(16)') + if mode == 0: + char.基础属性加成(物理攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21257(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '物攻(22)') + if mode == 0: + char.基础属性加成(物理攻击力=22 * rate) + if mode == 1: + pass + + +def enchanting_21258(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '魔攻(4)') + if mode == 0: + char.基础属性加成(魔法攻击力=4 * rate) + if mode == 1: + pass + + +def enchanting_21259(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '魔攻(8)') + if mode == 0: + char.基础属性加成(魔法攻击力=8 * rate) + if mode == 1: + pass + + +def enchanting_21260(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '魔攻(12)') + if mode == 0: + char.基础属性加成(魔法攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_21261(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '魔攻(16)') + if mode == 0: + char.基础属性加成(魔法攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21262(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '上衣', '魔攻(22)') + if mode == 0: + char.基础属性加成(魔法攻击力=22 * rate) + if mode == 1: + pass + + +def enchanting_21263(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(20)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21264(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(20)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21265(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '智(40)') + if mode == 0: + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_21266(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器', '力(40)') + if mode == 0: + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_21267(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(28)') + if mode == 0: + char.基础属性加成(魔法攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_21268(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(29)') + if mode == 0: + char.基础属性加成(魔法攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_21269(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(31)') + if mode == 0: + char.基础属性加成(魔法攻击力=31 * rate) + if mode == 1: + pass + + +def enchanting_21270(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(32)') + if mode == 0: + char.基础属性加成(魔法攻击力=32 * rate) + if mode == 1: + pass + + +def enchanting_21271(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '魔攻(33)') + if mode == 0: + char.基础属性加成(魔法攻击力=33 * rate) + if mode == 1: + pass + + +def enchanting_21272(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(43)') + if mode == 0: + char.基础属性加成(独立攻击力=43 * rate) + if mode == 1: + pass + + +def enchanting_21273(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(44)') + if mode == 0: + char.基础属性加成(独立攻击力=44 * rate) + if mode == 1: + pass + + +def enchanting_21274(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(46)') + if mode == 0: + char.基础属性加成(独立攻击力=46 * rate) + if mode == 1: + pass + + +def enchanting_21275(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(28)') + if mode == 0: + char.基础属性加成(物理攻击力=28 * rate) + if mode == 1: + pass + + +def enchanting_21276(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(29)') + if mode == 0: + char.基础属性加成(物理攻击力=29 * rate) + if mode == 1: + pass + + +def enchanting_21277(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(31)') + if mode == 0: + char.基础属性加成(物理攻击力=31 * rate) + if mode == 1: + pass + + +def enchanting_21278(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(32)') + if mode == 0: + char.基础属性加成(物理攻击力=32 * rate) + if mode == 1: + pass + + +def enchanting_21279(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器,上衣,下装', '物攻(33)') + if mode == 0: + char.基础属性加成(物理攻击力=33 * rate) + if mode == 1: + pass + + +def enchanting_21280(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,下装,腰带', '物攻(10)|独立(15)|力(25)|物暴(1%)|攻击速度(0.5%)|施放速度(0.5%)') + if mode == 0: + char.基础属性加成(物理攻击力=10 * rate) + char.基础属性加成(独立攻击力=15 * rate) + char.基础属性加成(力量=25 * rate) + char.基础属性加成(物理暴击率=0.01 * rate) + # char.基础属性加成(攻击速度=0.005 * rate) + char.基础属性加成(施放速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21281(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '力(25)') + if mode == 0: + char.基础属性加成(力量=25 * rate) + if mode == 1: + pass + + +def enchanting_21282(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '力(15)') + if mode == 0: + char.基础属性加成(力量=15 * rate) + if mode == 1: + pass + + +def enchanting_21283(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '智(25)') + if mode == 0: + char.基础属性加成(智力=25 * rate) + if mode == 1: + pass + + +def enchanting_21284(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '智(15)') + if mode == 0: + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_21285(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '体(20)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + if mode == 1: + pass + + +def enchanting_21286(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '体(15)') + if mode == 0: + char.基础属性加成(体力=15 * rate) + if mode == 1: + pass + + +def enchanting_21287(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '精(20)') + if mode == 0: + char.基础属性加成(精神=20 * rate) + if mode == 1: + pass + + +def enchanting_21288(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '精(15)') + if mode == 0: + char.基础属性加成(精神=15 * rate) + if mode == 1: + pass + + +def enchanting_21289(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物攻(16)') + if mode == 0: + char.基础属性加成(物理攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21290(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔攻(16)') + if mode == 0: + char.基础属性加成(魔法攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21291(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21292(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '物暴(4%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21293(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔暴(6%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21294(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '魔暴(4%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21295(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21296(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21297(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备,魔法石', '独立(15)') + if mode == 0: + char.基础属性加成(独立攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21298(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备,魔法石', '独立(20)') + if mode == 0: + char.基础属性加成(独立攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21299(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(11)|暗强(11)') + if mode == 0: + char.所有属性强化加成(光属性强化=11 * rate, 暗属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_21300(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(11)|冰强(11)') + if mode == 0: + char.所有属性强化加成(火属性强化=11 * rate, 冰属性强化=11 * rate) + if mode == 1: + pass + + +def enchanting_21301(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '力智(15)') + if mode == 0: + char.基础属性加成(力智=15 * rate) + if mode == 1: + pass + + +def enchanting_21302(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '火强(20)') + if mode == 0: + char.所有属性强化加成(火属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_21303(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(火)|物攻(20)|魔攻(20)|攻击速度(3.0%)|施放速度(3.0%)') + if mode == 0: + char.属性攻击('火') + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + # char.基础属性加成(攻击速度=0.03 * rate) + char.基础属性加成(施放速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21304(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器,上衣,下装', '力智(50)|物攻(35)|魔攻(35)') + if mode == 0: + char.基础属性加成(力智=50 * rate) + char.基础属性加成(物理攻击力=35 * rate) + char.基础属性加成(魔法攻击力=35 * rate) + if mode == 1: + pass + + +def enchanting_21305(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '物攻(40)|攻击速度(3.0%)') + if mode == 0: + char.基础属性加成(物理攻击力=40 * rate) + # char.基础属性加成(攻击速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21306(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '暗强(20)') + if mode == 0: + char.所有属性强化加成(暗属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_21307(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '冰强(20)') + if mode == 0: + char.所有属性强化加成(冰属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_21308(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(冰)|物攻(20)|魔攻(20)|攻击速度(3.0%)|施放速度(3.0%)') + if mode == 0: + char.属性攻击('冰') + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + # char.基础属性加成(攻击速度=0.03 * rate) + char.基础属性加成(施放速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21309(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(光)|物攻(20)|魔攻(20)|攻击速度(3.0%)|施放速度(3.0%)') + if mode == 0: + char.属性攻击('光') + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + # char.基础属性加成(攻击速度=0.03 * rate) + char.基础属性加成(施放速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21310(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '光强(20)') + if mode == 0: + char.所有属性强化加成(光属性强化=20 * rate) + if mode == 1: + pass + + +def enchanting_21311(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '武器', '魔攻(40)|施放速度(5.0%)') + if mode == 0: + char.基础属性加成(魔法攻击力=40 * rate) + char.基础属性加成(施放速度=0.05 * rate) + if mode == 1: + pass + + +def enchanting_21312(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(暗)|物攻(20)|魔攻(20)|攻击速度(3.0%)|施放速度(3.0%)') + if mode == 0: + char.属性攻击('暗') + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + # char.基础属性加成(攻击速度=0.03 * rate) + char.基础属性加成(施放速度=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21313(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(26)') + if mode == 0: + char.基础属性加成(魔法攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_21314(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '魔攻(27)') + if mode == 0: + char.基础属性加成(魔法攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_21315(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '物攻(16)') + if mode == 0: + char.基础属性加成(物理攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21316(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '独立(23)') + if mode == 0: + char.基础属性加成(独立攻击力=23 * rate) + if mode == 1: + pass + + +def enchanting_21317(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '魔攻(12)') + if mode == 0: + char.基础属性加成(魔法攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_21318(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(37)') + if mode == 0: + char.基础属性加成(智力=37 * rate) + if mode == 1: + pass + + +def enchanting_21319(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '施放速度(1.0%)') + if mode == 0: + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21320(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(8)') + if mode == 0: + char.所有属性抗性加成(8 * rate) + if mode == 1: + pass + + +def enchanting_21321(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(9)') + if mode == 0: + char.所有属性抗性加成(9 * rate) + if mode == 1: + pass + + +def enchanting_21322(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '所有属性抗性(10)') + if mode == 0: + char.所有属性抗性加成(10 * rate) + if mode == 1: + pass + + +def enchanting_21323(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(8)') + if mode == 0: + char.基础属性加成(精神=8 * rate) + if mode == 1: + pass + + +def enchanting_21324(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(9)') + if mode == 0: + char.基础属性加成(精神=9 * rate) + if mode == 1: + pass + + +def enchanting_21325(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(10)') + if mode == 0: + char.基础属性加成(精神=10 * rate) + if mode == 1: + pass + + +def enchanting_21326(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(11)') + if mode == 0: + char.基础属性加成(精神=11 * rate) + if mode == 1: + pass + + +def enchanting_21327(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(12)') + if mode == 0: + char.基础属性加成(精神=12 * rate) + if mode == 1: + pass + + +def enchanting_21328(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(13)') + if mode == 0: + char.基础属性加成(精神=13 * rate) + if mode == 1: + pass + + +def enchanting_21329(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(14)') + if mode == 0: + char.基础属性加成(精神=14 * rate) + if mode == 1: + pass + + +def enchanting_21330(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '项链,手镯,戒指', '独立(30)|火强(5)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.所有属性强化加成(火属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_21331(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火抗(11)') + if mode == 0: + char.火属性抗性加成(11 * rate) + if mode == 1: + pass + + +def enchanting_21332(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '头肩', '物暴(3%)|魔暴(4%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.04 * rate) + if mode == 1: + pass + + +def enchanting_21333(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(3)') + if mode == 0: + char.所有属性强化加成(火属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21334(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(4)') + if mode == 0: + char.所有属性强化加成(火属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_21335(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(5)') + if mode == 0: + char.所有属性强化加成(火属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_21336(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(20)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + if mode == 1: + pass + + +def enchanting_21337(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(21)') + if mode == 0: + char.基础属性加成(智力=21 * rate) + if mode == 1: + pass + + +def enchanting_21338(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(22)') + if mode == 0: + char.基础属性加成(智力=22 * rate) + if mode == 1: + pass + + +def enchanting_21339(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(23)') + if mode == 0: + char.基础属性加成(智力=23 * rate) + if mode == 1: + pass + + +def enchanting_21340(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(24)') + if mode == 0: + char.基础属性加成(智力=24 * rate) + if mode == 1: + pass + + +def enchanting_21341(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(15)') + if mode == 0: + char.基础属性加成(体力=15 * rate) + if mode == 1: + pass + + +def enchanting_21342(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(17)') + if mode == 0: + char.基础属性加成(体力=17 * rate) + if mode == 1: + pass + + +def enchanting_21343(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(18)') + if mode == 0: + char.基础属性加成(体力=18 * rate) + if mode == 1: + pass + + +def enchanting_21344(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(19)') + if mode == 0: + char.基础属性加成(体力=19 * rate) + if mode == 1: + pass + + +def enchanting_21345(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(20)') + if mode == 0: + char.基础属性加成(体力=20 * rate) + if mode == 1: + pass + + +def enchanting_21346(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(21)') + if mode == 0: + char.基础属性加成(体力=21 * rate) + if mode == 1: + pass + + +def enchanting_21347(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(22)') + if mode == 0: + char.基础属性加成(体力=22 * rate) + if mode == 1: + pass + + +def enchanting_21348(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.1%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.021 * rate) + pass + if mode == 1: + pass + + +def enchanting_21349(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.2%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.022 * rate) + pass + if mode == 1: + pass + + +def enchanting_21350(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.3%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.023 * rate) + pass + if mode == 1: + pass + + +def enchanting_21351(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.4%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.024 * rate) + pass + if mode == 1: + pass + + +def enchanting_21352(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.5%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.025 * rate) + pass + if mode == 1: + pass + + +def enchanting_21353(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.6%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.026 * rate) + pass + if mode == 1: + pass + + +def enchanting_21354(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.7%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.027 * rate) + pass + if mode == 1: + pass + + +def enchanting_21355(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链', '火抗(3)') + if mode == 0: + char.火属性抗性加成(3 * rate) + if mode == 1: + pass + + +def enchanting_21356(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(10)') + if mode == 0: + char.基础属性加成(魔法攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_21357(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(11)') + if mode == 0: + char.基础属性加成(魔法攻击力=11 * rate) + if mode == 1: + pass + + +def enchanting_21358(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(12)') + if mode == 0: + char.基础属性加成(魔法攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_21359(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(13)') + if mode == 0: + char.基础属性加成(魔法攻击力=13 * rate) + if mode == 1: + pass + + +def enchanting_21360(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.2%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.012 * rate) + pass + if mode == 1: + pass + + +def enchanting_21361(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.3%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.013 * rate) + pass + if mode == 1: + pass + + +def enchanting_21362(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.4%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.014 * rate) + pass + if mode == 1: + pass + + +def enchanting_21363(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '体精(8)') + if mode == 0: + char.基础属性加成(体精=8 * rate) + if mode == 1: + pass + + +def enchanting_21364(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '力智(10)') + if mode == 0: + char.基础属性加成(力智=10 * rate) + if mode == 1: + pass + + +def enchanting_21365(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '头肩,腰带,鞋', '力智(20)') + if mode == 0: + char.基础属性加成(力智=20 * rate) + if mode == 1: + pass + + +def enchanting_21366(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '力智(15)') + if mode == 0: + char.基础属性加成(力智=15 * rate) + if mode == 1: + pass + + +def enchanting_21367(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(15)') + if mode == 0: + char.基础属性加成(智力=15 * rate) + if mode == 1: + pass + + +def enchanting_21368(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(16)') + if mode == 0: + char.基础属性加成(智力=16 * rate) + if mode == 1: + pass + + +def enchanting_21369(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(17)') + if mode == 0: + char.基础属性加成(智力=17 * rate) + if mode == 1: + pass + + +def enchanting_21370(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(19)') + if mode == 0: + char.基础属性加成(智力=19 * rate) + if mode == 1: + pass + + +def enchanting_21371(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(15)|魔攻(30)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + char.基础属性加成(魔法攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21372(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣', '智(65)') + if mode == 0: + char.基础属性加成(智力=65 * rate) + if mode == 1: + pass + + +def enchanting_21373(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '属性攻击(暗)|物攻(20)') + if mode == 0: + char.属性攻击('暗') + char.基础属性加成(物理攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21374(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '魔攻(16)') + if mode == 0: + char.基础属性加成(魔法攻击力=16 * rate) + if mode == 1: + pass + + +def enchanting_21375(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(31)') + if mode == 0: + char.基础属性加成(体力=31 * rate) + if mode == 1: + pass + + +def enchanting_21376(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(33)') + if mode == 0: + char.基础属性加成(体力=33 * rate) + if mode == 1: + pass + + +def enchanting_21377(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(3)') + if mode == 0: + char.所有属性强化加成(冰属性强化=3 * rate) + if mode == 1: + pass + + +def enchanting_21378(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(4)') + if mode == 0: + char.所有属性强化加成(冰属性强化=4 * rate) + if mode == 1: + pass + + +def enchanting_21379(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '冰强(5)') + if mode == 0: + char.所有属性强化加成(冰属性强化=5 * rate) + if mode == 1: + pass + + +def enchanting_21380(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(31)') + if mode == 0: + char.基础属性加成(力量=31 * rate) + if mode == 1: + pass + + +def enchanting_21381(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '力(2)|移动速度(0.2%)') + if mode == 0: + char.基础属性加成(力量=2 * rate) + char.基础属性加成(移动速度=0.002 * rate) + if mode == 1: + pass + + +def enchanting_21382(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '力智(30)') + if mode == 0: + char.基础属性加成(力智=30 * rate) + if mode == 1: + pass + + +def enchanting_21383(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(31)') + if mode == 0: + char.基础属性加成(智力=31 * rate) + if mode == 1: + pass + + +def enchanting_21384(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '智(33)') + if mode == 0: + char.基础属性加成(智力=33 * rate) + if mode == 1: + pass + + +def enchanting_21385(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(26)') + if mode == 0: + char.基础属性加成(物理攻击力=26 * rate) + if mode == 1: + pass + + +def enchanting_21386(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '物攻(27)') + if mode == 0: + char.基础属性加成(物理攻击力=27 * rate) + if mode == 1: + pass + + +def enchanting_21387(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(23)') + if mode == 0: + char.基础属性加成(体力=23 * rate) + if mode == 1: + pass + + +def enchanting_21388(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(24)') + if mode == 0: + char.基础属性加成(体力=24 * rate) + if mode == 1: + pass + + +def enchanting_21389(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '下装', '移动速度(0.3%)') + if mode == 0: + char.基础属性加成(移动速度=0.003 * rate) + if mode == 1: + pass + + +def enchanting_21390(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '项链,手镯,戒指', '独立(40)') + if mode == 0: + char.基础属性加成(独立攻击力=40 * rate) + if mode == 1: + pass + + +def enchanting_21391(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(14)') + if mode == 0: + char.基础属性加成(体力=14 * rate) + if mode == 1: + pass + + +def enchanting_21392(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(46)') + if mode == 0: + char.基础属性加成(智力=46 * rate) + if mode == 1: + pass + + +def enchanting_21393(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(47)') + if mode == 0: + char.基础属性加成(智力=47 * rate) + if mode == 1: + pass + + +def enchanting_21394(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(48)') + if mode == 0: + char.基础属性加成(智力=48 * rate) + if mode == 1: + pass + + +def enchanting_21395(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '武器,上衣,下装', '智(49)') + if mode == 0: + char.基础属性加成(智力=49 * rate) + if mode == 1: + pass + + +def enchanting_21396(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(2.8%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.028 * rate) + pass + if mode == 1: + pass + + +def enchanting_21397(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.5%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.015 * rate) + pass + if mode == 1: + pass + + +def enchanting_21398(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.6%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.016 * rate) + pass + if mode == 1: + pass + + +def enchanting_21399(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.7%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.017 * rate) + pass + if mode == 1: + pass + + +def enchanting_21400(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.8%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.018 * rate) + pass + if mode == 1: + pass + + +def enchanting_21401(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(1.9%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.019 * rate) + pass + if mode == 1: + pass + + +def enchanting_21402(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '施放速度(1.5%)') + if mode == 0: + char.基础属性加成(施放速度=0.015 * rate) + if mode == 1: + pass + + +def enchanting_21403(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(8)') + if mode == 0: + char.基础属性加成(体力=8 * rate) + if mode == 1: + pass + + +def enchanting_21404(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(9)') + if mode == 0: + char.基础属性加成(体力=9 * rate) + if mode == 1: + pass + + +def enchanting_21405(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(11)') + if mode == 0: + char.基础属性加成(体力=11 * rate) + if mode == 1: + pass + + +def enchanting_21406(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(12)') + if mode == 0: + char.基础属性加成(体力=12 * rate) + if mode == 1: + pass + + +def enchanting_21407(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(13)') + if mode == 0: + char.基础属性加成(体力=13 * rate) + if mode == 1: + pass + + +def enchanting_21408(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '四维(20)') + if mode == 0: + char.基础属性加成(四维=20 * rate) + if mode == 1: + pass + + +def enchanting_21409(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(4)') + if mode == 0: + char.所有属性强化加成(4 * rate) + if mode == 1: + pass + + +def enchanting_21410(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '所有属性强化(6)') + if mode == 0: + char.所有属性强化加成(6 * rate) + if mode == 1: + pass + + +def enchanting_21411(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力智(20)') + if mode == 0: + char.基础属性加成(力智=20 * rate) + if mode == 1: + pass + + +def enchanting_21412(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩', '物暴(1%)|魔暴(0.5%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.01 * rate) + char.基础属性加成(魔法暴击率=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21413(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '攻击速度(0.5%)|施放速度(0.5%)') + if mode == 0: + char.基础属性加成(攻击速度=0.005 * rate) + char.基础属性加成(施放速度=0.005 * rate) + if mode == 1: + pass + + +def enchanting_21414(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '攻击速度(1.5%)|施放速度(1.5%)') + if mode == 0: + char.基础属性加成(攻击速度=0.015 * rate) + char.基础属性加成(施放速度=0.015 * rate) + if mode == 1: + pass + + +def enchanting_21415(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '攻击速度(1.0%)|施放速度(1.0%)') + if mode == 0: + char.基础属性加成(攻击速度=0.01 * rate) + char.基础属性加成(施放速度=0.01 * rate) + if mode == 1: + pass + + +def enchanting_21416(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '精(22)') + if mode == 0: + char.基础属性加成(精神=22 * rate) + if mode == 1: + pass + + +def enchanting_21417(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '暗强(9)|独立(10)') + if mode == 0: + char.所有属性强化加成(暗属性强化=9 * rate) + char.基础属性加成(独立攻击力=10 * rate) + if mode == 1: + pass + + +def enchanting_21418(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '智(2)|移动速度(0.2%)') + if mode == 0: + char.基础属性加成(智力=2 * rate) + char.基础属性加成(移动速度=0.002 * rate) + if mode == 1: + pass + + +def enchanting_21419(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(23)') + if mode == 0: + char.基础属性加成(力量=23 * rate) + if mode == 1: + pass + + +def enchanting_21420(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器,上衣,下装', '力(24)') + if mode == 0: + char.基础属性加成(力量=24 * rate) + if mode == 1: + pass + + +def enchanting_21421(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '物攻(12)') + if mode == 0: + char.基础属性加成(物理攻击力=12 * rate) + if mode == 1: + pass + + +def enchanting_21422(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '武器', '攻击速度(0.6%)|施放速度(1.2%)') + if mode == 0: + # char.基础属性加成(攻击速度=0.006 * rate) + char.基础属性加成(施放速度=0.012 * rate) + if mode == 1: + pass + + +def enchanting_21423(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (93, '称号', '物攻(7)|魔攻(7)') + if mode == 0: + char.基础属性加成(物理攻击力=7 * rate) + char.基础属性加成(魔法攻击力=7 * rate) + if mode == 1: + pass + + +def enchanting_21424(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(26)') + if mode == 0: + char.基础属性加成(体力=26 * rate) + if mode == 1: + pass + + +def enchanting_21425(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(27)') + if mode == 0: + char.基础属性加成(体力=27 * rate) + if mode == 1: + pass + + +def enchanting_21426(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(28)') + if mode == 0: + char.基础属性加成(体力=28 * rate) + if mode == 1: + pass + + +def enchanting_21427(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '头肩,腰带,鞋', '体(29)') + if mode == 0: + char.基础属性加成(体力=29 * rate) + if mode == 1: + pass + + +def enchanting_21428(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装,头肩,腰带,鞋', '物攻(20)|物暴(3%)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21429(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装,头肩,腰带,鞋', '魔攻(20)|魔暴(3%)') + if mode == 0: + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21430(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '上衣,下装,头肩,腰带,鞋', '独立(30)|暴击(3%)') + if mode == 0: + char.基础属性加成(独立攻击力=30 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21431(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '火强(10)|暗强(10)') + if mode == 0: + char.所有属性强化加成(火属性强化=10 * rate, 暗属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21432(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '项链,手镯,戒指', '光强(10)|冰强(10)') + if mode == 0: + char.所有属性强化加成(光属性强化=10 * rate, 冰属性强化=10 * rate) + if mode == 1: + pass + + +def enchanting_21433(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备,魔法石', '物攻(15)') + if mode == 0: + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21434(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备,魔法石', '魔攻(15)') + if mode == 0: + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21435(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备,魔法石', '独立(20)') + if mode == 0: + char.基础属性加成(独立攻击力=20 * rate) + if mode == 1: + pass + + +def enchanting_21436(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '头肩', '四维(75)|暴击(5%)|Lv1~30主动+1') + if mode == 0: + char.基础属性加成(四维=75 * rate) + char.基础属性加成(物理暴击率=0.05 * rate) + char.基础属性加成(魔法暴击率=0.05 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 30, 1) + if mode == 1: + pass + + +def enchanting_21437(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '称号', '所有属性强化(15)|物攻(20)|魔攻(20)|独立(30)|Lv1~50主动+1') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_21438(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '辅助装备', '物攻(20)|魔攻(20)|独立(30)') + if mode == 0: + char.基础属性加成(物理攻击力=20 * rate) + char.基础属性加成(魔法攻击力=20 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21439(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '物攻(28)|独立(30)') + if mode == 0: + char.基础属性加成(物理攻击力=28 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21440(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (69, '上衣,下装', '魔攻(28)|独立(30)') + if mode == 0: + char.基础属性加成(魔法攻击力=28 * rate) + char.基础属性加成(独立攻击力=30 * rate) + if mode == 1: + pass + + +def enchanting_21441(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '物暴(7%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_21442(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩,腰带,鞋', '魔暴(7%)') + if mode == 0: + char.基础属性加成(魔法暴击率=0.07 * rate) + if mode == 1: + pass + + +def enchanting_21443(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (153, '称号', '所有属性强化(5)') + if mode == 0: + char.所有属性强化加成(5 * rate) + if mode == 1: + pass + + +def enchanting_21444(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(40)') + if mode == 0: + char.基础属性加成(力量=40 * rate) + if mode == 1: + pass + + +def enchanting_21445(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力智(20)') + if mode == 0: + char.基础属性加成(力智=20 * rate) + if mode == 1: + pass + + +def enchanting_21446(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|体(20)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(体力=20 * rate) + if mode == 1: + pass + + +def enchanting_21447(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|精(20)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(精神=20 * rate) + if mode == 1: + pass + + +def enchanting_21448(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|物攻(15)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21449(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|魔攻(15)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21450(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|独立(25)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_21451(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|物暴(3%)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21452(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '力(20)|魔暴(3%)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21453(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(20)|火强(7)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.所有属性强化加成(火属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_21454(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(20)|冰强(7)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.所有属性强化加成(冰属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_21455(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(20)|暗强(7)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.所有属性强化加成(暗属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_21456(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '力(20)|光强(7)') + if mode == 0: + char.基础属性加成(力量=20 * rate) + char.所有属性强化加成(光属性强化=7 * rate) + if mode == 1: + pass + + +def enchanting_21457(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(40)') + if mode == 0: + char.基础属性加成(智力=40 * rate) + if mode == 1: + pass + + +def enchanting_21458(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)|体(20)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(体力=20 * rate) + if mode == 1: + pass + + +def enchanting_21459(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)|精(20)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(精神=20 * rate) + if mode == 1: + pass + + +def enchanting_21460(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)|物攻(15)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(物理攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21461(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)|魔攻(15)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(魔法攻击力=15 * rate) + if mode == 1: + pass + + +def enchanting_21462(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (148, '宠物', '智(20)|独立(25)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(独立攻击力=25 * rate) + if mode == 1: + pass + + +def enchanting_21463(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (139, '宠物', '智(20)|物暴(3%)') + if mode == 0: + char.基础属性加成(智力=20 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21464(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '所有属性强化(14)') + if mode == 0: + char.所有属性强化加成(14*rate) + if mode == 1: + pass + + +def enchanting_21490(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '头肩', '物暴(6%)|魔暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21491(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (86, '腰带', '暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + if mode == 1: + pass + + +def enchanting_21492(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '腰带', '物暴(6%)|魔暴(6%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.06 * rate) + char.基础属性加成(魔法暴击率=0.06 * rate) + if mode == 1: + pass + + +def enchanting_21493(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (56, '鞋', '移动速度(2.5%)') + if mode == 0: + char.基础属性加成(移动速度=0.025 * rate) + if mode == 1: + pass + + +def enchanting_21494(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '武器,上衣,下装', '独立(90)|力智(60)') + if mode == 0: + char.基础属性加成(力智=60 * rate, 独立攻击力=90 * rate) + if mode == 1: + pass + + +def enchanting_21495(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '武器,上衣,下装', '物攻(90)|力量(60)') + if mode == 0: + char.基础属性加成(力量=60 * rate, 物理攻击力=90 * rate) + if mode == 1: + pass + + +def enchanting_21496(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '武器,上衣,下装', '魔攻(90)|智力(60)') + if mode == 0: + char.基础属性加成(智力=60 * rate, 魔法攻击力=90 * rate) + if mode == 1: + pass + + +def enchanting_21497(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '四维(90)') + if mode == 0: + char.基础属性加成(四维=90*rate) + if mode == 1: + pass + + +def enchanting_21498(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (106, '武器', '光强(15)|暗强(15)') + if mode == 0: + char.所有属性强化加成(暗属性强化=15 * rate, 光属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_21499(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (130, '武器', '冰强(15)|火强(15)') + if mode == 0: + char.所有属性强化加成(火属性强化=15 * rate, 冰属性强化=15 * rate) + if mode == 1: + pass + + +def enchanting_21500(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (178, '耳环', '所有属性强化(11)|四维(50)') + if mode == 0: + char.基础属性加成(四维=50 * rate) + char.所有属性强化加成(11 * rate) + if mode == 1: + pass + + +def enchanting_21501(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (178, '耳环', '四维(175)') + if mode == 0: + char.基础属性加成(四维=175 * rate) + if mode == 1: + pass + + +def enchanting_21502(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '耳环', '所有属性强化(15)|四维(70)') + if mode == 0: + char.基础属性加成(四维=70 * rate) + char.所有属性强化加成(15 * rate) + if mode == 1: + pass + + +def enchanting_21503(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '耳环', '四维(200)') + if mode == 0: + char.基础属性加成(四维=200 * rate) + if mode == 1: + pass + + +def enchanting_21504(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '辅助装备', '所有属性强化(12)|暴击(3%)|攻击强化(3%)') + if mode == 0: + char.所有属性强化加成(12 * rate) + char.百分比攻击强化加成(0.03 * rate) + char.暴击率增加(0.03) + if mode == 1: + pass + + +def enchanting_21505(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (196, '武器', '三攻(30)|所有属性强化(15)') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.基础属性加成(三攻=30 * rate) + if mode == 1: + pass + + +def enchanting_21506(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '腰带', '技攻(2%)|三攻(10)|四维(40)|暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + char.技能攻击力加成(0.02*rate) + char.基础属性加成(四维=40*rate, 三攻=10*rate) + if mode == 1: + pass + + +def enchanting_21507(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '腰带', '四维(100)|奶系Lv48 +2|暴击(7%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.07 * rate) + char.基础属性加成(魔法暴击率=0.07 * rate) + char.基础属性加成(四维=100*rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 48, 48, 2) + if mode == 1: + pass + + +def enchanting_21508(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (196, '头肩', '三攻(30)|暴击(5%)|技攻 +1%') + if mode == 0: + char.基础属性加成(三攻=30 * rate) + char.基础属性加成(暴击率=0.05 * rate) + char.技能攻击力加成(0.01*rate) + if mode == 1: + pass + + +def enchanting_21509(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '辅助装备', '四维(100)|奶系Lv15 +3') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 15, 15, 3) + if mode == 1: + pass + + +def enchanting_21510(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (196, '腰带,头肩,鞋', '奶系Lv30 +1|奶系Lv50 +1') + if mode == 0: + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('主动', 30, 30, 1) + char.技能等级加成('主动', 50, 50, 1) + if mode == 1: + pass + + +def enchanting_21511(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (196, '腰带', '技攻(1%)|三攻(30)|暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + char.基础属性加成(三攻=30*rate) + char.技能攻击力加成(0.01 * rate) + if mode == 1: + pass + +def enchanting_21512(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '武器', '四维(110)') + if mode == 0: + char.基础属性加成(四维=110 * rate) + if mode == 1: + pass + +def enchanting_21513(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '上衣,下装', '三攻(110)|力智(80)') + if mode == 0: + char.基础属性加成(四维=80 * rate, 三攻=110*rate) + if mode == 1: + pass + +def enchanting_21514(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '鞋,上衣,下装', '四维(100)|奶系Lv15 +3') + if mode == 0: + char.基础属性加成(四维=100*rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 15, 15, 3) + if mode == 1: + pass + +def enchanting_21515(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (210, '鞋', '技攻(2%)|三攻(10)|四维(40)|暴击(3%)') + if mode == 0: + char.基础属性加成(物理暴击率=0.03 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + char.基础属性加成(三攻=10*rate,四维=40) + char.技能攻击力加成(0.02 * rate) + if mode == 1: + pass + +def enchanting_21516(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '魔法石', '四维(100)|奶系Lv15 +3') + if mode == 0: + char.基础属性加成(四维=100*rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 15, 15, 3) + if mode == 1: + pass + +def enchanting_21517(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '魔法石', '所有属性强化(35)') + if mode == 0: + char.所有属性强化加成(35*rate) + if mode == 1: + pass + +def enchanting_21518(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '上衣', '技攻(1%)|三攻(110)|力智(90)') + if mode == 0: + char.基础属性加成(力智=90 * rate, 三攻 =110 * rate) + char.技能攻击力加成(0.01*rate) + if mode == 1: + pass + +def enchanting_21519(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (221, '上衣', '四维(100)|奶系Lv +4') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 15, 15, 4) + if mode == 1: + pass +# 国服特色 + + +def enchanting_23001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '腰带,鞋', '三攻(36)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=36 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_23002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '腰带,鞋', '三攻(36)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(三攻=36 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_23003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '所有属性强化(33)') + if mode == 0: + char.所有属性强化加成(33 * rate) + if mode == 1: + pass + + +def enchanting_23004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '冰强(35)|暗强(35)') + if mode == 0: + char.所有属性强化加成(冰属性强化=35 * rate, 暗属性强化=35 * rate) + if mode == 1: + pass + + +def enchanting_23005(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '火强(35)|光强(35)') + if mode == 0: + char.所有属性强化加成(火属性强化=35 * rate, 光属性强化=35 * rate) + if mode == 1: + pass + + +def enchanting_23006(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '辅助装备', '所有属性强化(12)|暴击(3%)|最终伤害(3%)|攻击强化(3%)') + if mode == 0: + char.所有属性强化加成(12 * rate) + char.最终伤害加成(0.03 * rate) + char.百分比攻击强化加成(0.03 * rate) + char.暴击率增加(0.03) + if mode == 1: + pass + + +def enchanting_23007(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '', '') + if mode == 0: + pass + if mode == 1: + pass + + +def enchanting_23008(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '力智(75)|三攻(20)|技攻(3%)') + if mode == 0: + char.基础属性加成(力智=75 * rate, 三攻=20 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + pass + + +def enchanting_23009(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '力智(75)|三攻(20)|Lv1~50主动+1') + if mode == 0: + char.基础属性加成(力智=75 * rate, 三攻=20 * rate) + if rate == 1 and calcLv: + char.技能等级加成('主动', 1, 50, 1) + if mode == 1: + pass + + +def enchanting_23010(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '冰强(35)|火强(35)') + if mode == 0: + char.所有属性强化加成(冰属性强化=35 * rate, 火属性强化=35 * rate) + if mode == 1: + pass + + +def enchanting_23011(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '项链,手镯,戒指', '光强(35)|暗强(35)') + if mode == 0: + char.所有属性强化加成(光属性强化=35 * rate, 暗属性强化=35 * rate) + if mode == 1: + pass + + +def enchanting_23012(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '辅助装备', '所有属性强化(15)|暴击(5%)|技能攻击力(5%)') + if mode == 0: + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(0.05 * rate) + char.暴击率增加(0.05) + if mode == 1: + pass + +def enchanting_23013(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (281, '腰带,鞋', '三攻(36)|技攻(5%)|暴击(3%)') + if mode == 0: + char.基础属性加成(三攻=36 * rate) + char.技能攻击力加成(part=part, x=0.05 * rate) + char.基础属性加成(魔法暴击率=0.03 * rate) + char.基础属性加成(物理暴击率=0.03 * rate) + if mode == 1: + pass + +def enchanting_23014(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (168, '头肩', '力智(75)|三攻(20)|技攻(5%)') + if mode == 0: + char.基础属性加成(力智=75 * rate, 三攻=20 * rate) + char.技能攻击力加成(part=part, x=0.05 * rate) + if mode == 1: + pass + +def enchanting_23015(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv40+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(40,2) + pass + +def enchanting_23016(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv45+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(45,2) + pass + +def enchanting_23017(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv60+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(60,2) + pass + +def enchanting_23018(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv70+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(70,2) + pass + +def enchanting_23019(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv75+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(75,2) + pass + +def enchanting_23020(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '称号', 'Lv80+2|三攻(40)|所有属性强化(15)|技攻(3%)') + if mode == 0: + char.基础属性加成(三攻=40 * rate) + char.所有属性强化加成(15 * rate) + char.技能攻击力加成(part=part, x=0.03 * rate) + if mode == 1: + char.特殊主动等级加成(80,2) + pass + +def enchanting_23021(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '所有属性强化(23)') + if mode == 0: + char.所有属性强化加成(23*rate) + if mode == 1: + pass + +def enchanting_23022(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '火强(25)') + if mode == 0: + char.所有属性强化加成(火属性强化=25 * rate) + if mode == 1: + pass + +def enchanting_23023(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '冰强(25)') + if mode == 0: + char.所有属性强化加成(冰属性强化=25 * rate) + if mode == 1: + pass + +def enchanting_23024(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '光强(25)') + if mode == 0: + char.所有属性强化加成(光属性强化=25 * rate) + if mode == 1: + pass + +def enchanting_23025(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (185, '宠物', '暗强(25)') + if mode == 0: + char.所有属性强化加成(暗属性强化=25 * rate) + if mode == 1: + pass + +def enchanting_23026(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '戒指,手镯,项链', '所有属性强化(35)|技攻(1%)') + if mode == 0: + char.所有属性强化加成(35 * rate) + char.技能攻击力加成(0.01 * rate) + if mode == 1: + pass + +def enchanting_23027(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (147, '戒指,手镯,项链', '四维(100)|奶系Lv15 +1') + if mode == 0: + char.基础属性加成(四维=100 * rate) + if char.类型 == '辅助' and rate == 1 and calcLv: + char.技能等级加成('所有', 15, 15, 1) + if mode == 1: + pass +# endregion + +# region 光环 24001~24099 + + +def enchanting_24001(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '光环', '1~80+1|三攻(5%)') + if mode == 0: + char.技能等级加成('所有', 1, 80, 1) + char.百分比三攻加成(0.05) + char.百分比攻击强化加成(0.05) + pass + if mode == 1: + pass + + +def enchanting_24002(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '光环', '1~80+1|黄字(5%)') + if mode == 0: + char.技能等级加成('所有', 1, 80, 1) + char.伤害增加加成(0.05) + char.百分比攻击强化加成(0.05) + pass + if mode == 1: + pass + + +def enchanting_24003(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '光环', '1~80+1|暴伤(5%)') + if mode == 0: + char.技能等级加成('所有', 1, 80, 1) + char.暴击伤害加成(0.05) + char.百分比攻击强化加成(0.05) + pass + if mode == 1: + pass + + +def enchanting_24004(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '光环', '1~80+1|增益量(1.5%)') + if mode == 0: + char.技能等级加成('所有', 1, 80, 1) + char.辅助属性加成(百分比buff量=0.015) + pass + if mode == 1: + pass + + +def enchanting_24005(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (670, '光环', '1~95+1|攻击强化(7%)|增益量(5%)') + if mode == 0: + char.技能等级加成('所有', 1, 95, 1) + char.百分比攻击强化加成(0.07) + char.辅助属性加成(百分比buff量=0.05) + pass + if mode == 1: + pass + + +def enchanting_24006(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (325, '光环', '1~35+1|攻击强化(5%)|增益量(3%)') + if mode == 0: + char.技能等级加成('所有', 1, 35, 1) + char.百分比攻击强化加成(0.05) + char.辅助属性加成(百分比buff量=0.03) + pass + if mode == 1: + pass + +def enchanting_24007(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (670, '光环', '1~95+1|攻击强化(12%)|增益量(7%)') + if mode == 0: + char.技能等级加成('所有', 1, 95, 1) + char.百分比攻击强化加成(0.12) + char.辅助属性加成(百分比buff量=0.07) + pass + if mode == 1: + pass +# endregion + +# region 武器装扮 24101~24199 + + +def enchanting_24101(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv40+1') + if mode == 0: + char.特殊主动等级加成(40, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24102(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv45+1') + if mode == 0: + char.特殊主动等级加成(45, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24103(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv60+1') + if mode == 0: + char.特殊主动等级加成(60, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24104(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv70+1') + if mode == 0: + char.特殊主动等级加成(70, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24105(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv75+1') + if mode == 0: + char.特殊主动等级加成(75, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24106(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '四维(55)|Lv80+1') + if mode == 0: + char.特殊主动等级加成(80, 1) + char.基础属性加成(四维=55) + if mode == 1: + pass + + +def enchanting_24107(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '武器装扮', '三速 +4%') + if mode == 0: + char.所有速度增加(0.04) + if mode == 1: + pass +# endregion + +# region 皮肤 24201~24299 + + +def enchanting_24201(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', '所有属性强化(5)') + if mode == 0: + char.所有属性强化加成(5) + pass + if mode == 1: + pass + + +def enchanting_24202(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', '所有属性强化(6)') + if mode == 0: + char.所有属性强化加成(6) + pass + if mode == 1: + pass + +def enchanting_24203(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', '所有属性强化(6)|四维(55)') + if mode == 0: + char.所有属性强化加成(6) + char.基础属性加成(四维=55) + pass + if mode == 1: + pass + +def enchanting_24204(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv40+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(40, 1) + pass + +def enchanting_24205(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv45+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(45, 1) + pass + +def enchanting_24206(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv60+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(60, 1) + pass + +def enchanting_24207(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv70+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(70, 1) + pass + +def enchanting_24208(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv75+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(75, 1) + pass + +def enchanting_24209(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '皮肤', 'Lv80+1|属强(12)|四维(55)') + if mode == 0: + char.所有属性强化加成(12) + char.基础属性加成(四维=55) + pass + if mode == 1: + char.特殊主动等级加成(80, 1) + pass +# endregion + +# region 宠物装备-红 24301~24399 + + +def enchanting_24301(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '三攻(8%)|攻击强化(8%)|所有属性抗性(10)') + if mode == 0: + char.百分比三攻加成(0.08) + char.百分比攻击强化加成(0.08) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +def enchanting_24302(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '力智(8%)|攻击强化(8%)|所有属性抗性(10)') + if mode == 0: + char.百分比力智加成(0.08) + char.百分比攻击强化加成(0.08) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +def enchanting_24303(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '终伤(8%)|攻击强化(8%)|所有属性抗性(10)') + if mode == 0: + char.最终伤害加成(0.08) + char.百分比攻击强化加成(0.08) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +def enchanting_24304(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '附加(8%)|攻击强化(8%)|所有属性抗性(10)') + if mode == 0: + char.附加伤害加成(0.08) + char.百分比攻击强化加成(0.08) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +def enchanting_24305(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(8%)|所有属性抗性(10)') + if mode == 0: + char.百分比攻击强化加成(0.08) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + +def enchanting_24306(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(10%)|所有属性抗性(10)') + if mode == 0: + char.百分比攻击强化加成(0.10) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + +def enchanting_24351(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '四维(33)|所有属性抗性(10)') + if mode == 0: + char.基础属性加成(四维=33) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +def enchanting_24352(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(4%)|火强(4)|所有属性强化(4)') + if mode == 0: + char.百分比攻击强化加成(0.04) + char.所有属性强化加成(4, 火属性强化=4) + pass + if mode == 1: + pass + + +def enchanting_24353(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(4%)|冰强(4)|所有属性强化(4)') + if mode == 0: + char.百分比攻击强化加成(0.04) + char.所有属性强化加成(4, 冰属性强化=4) + pass + if mode == 1: + pass + + +def enchanting_24354(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(4%)|光强(4)|所有属性强化(4)') + if mode == 0: + char.百分比攻击强化加成(0.04) + char.所有属性强化加成(4, 光属性强化=4) + pass + if mode == 1: + pass + + +def enchanting_24355(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(4%)|暗强(4)|所有属性强化(4)') + if mode == 0: + char.百分比攻击强化加成(0.04) + char.所有属性强化加成(4, 暗属性强化=4) + pass + if mode == 1: + pass + + +def enchanting_24356(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '攻击强化(4%)|所有属性强化(6)') + if mode == 0: + char.百分比攻击强化加成(0.04) + char.所有属性强化加成(6) + pass + if mode == 1: + pass + + +def enchanting_24357(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-红', '四维(25)|所有属性抗性(8)') + if mode == 0: + char.基础属性加成(四维=25) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + +# endregion + +# region 宠物装备-绿 24401~24499 + + +def enchanting_24401(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-绿', '三攻(40)|所有属性强化(20)') + if mode == 0: + char.基础属性加成(三攻=40) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + +def enchanting_24402(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (190, '宠物装备-绿', '三攻(40)|所有属性强化(30)') + if mode == 0: + char.基础属性加成(三攻=40) + char.所有属性强化加成(30) + pass + if mode == 1: + pass + +def enchanting_24451(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-绿', '四维(30)') + if mode == 0: + char.基础属性加成(四维=30) + pass + if mode == 1: + pass + + +def enchanting_24452(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-绿', '四维(30)|所有属性强化(20)') + if mode == 0: + char.基础属性加成(四维=30) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +def enchanting_24453(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-绿', '四维(16)') + if mode == 0: + char.基础属性加成(四维=16) + pass + if mode == 1: + pass + + +# endregion + +# region 宠物装备-蓝 24501~24599 + + +def enchanting_24501(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '三攻(30)|三速(4%)') + if mode == 0: + char.基础属性加成(三攻=30) + char.所有速度增加(0.04) + pass + if mode == 1: + pass + + +def enchanting_24502(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '三攻(30)|所有属性抗性(10)') + if mode == 0: + char.基础属性加成(三攻=30) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + +def enchanting_24503(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (190, '宠物装备-蓝', '技攻(2%)|三速(5%)') + if mode == 0: + char.技能攻击力加成(0.02) + char.所有速度增加(0.05) + pass + if mode == 1: + pass + +def enchanting_24551(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '四维(25)|三速(4%)') + if mode == 0: + char.基础属性加成(四维=25) + char.所有速度增加(0.04) + pass + if mode == 1: + pass + + +def enchanting_24552(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '四维(20)|三速(4%)') + if mode == 0: + char.基础属性加成(四维=20) + char.所有速度增加(0.04) + pass + if mode == 1: + pass + + +def enchanting_24553(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '三攻(25)|三速(2%)|属性攻击|暴击(5%)') + if mode == 0: + char.基础属性加成(三攻=25) + char.所有速度增加(0.02) + pass + if mode == 1: + pass + + +def enchanting_24554(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (0, '宠物装备-蓝', '四维(25)|三速(2%)') + if mode == 0: + char.基础属性加成(四维=25) + char.所有速度增加(0.02) + pass + if mode == 1: + pass + + +# endregion + +# region 快捷装备 24601~24699 + + +def enchanting_24601(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '三攻(30)|附加伤害(8%)|攻击强化(8%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + char.附加伤害加成(0.08) + char.百分比攻击强化加成(0.08) + pass + + +def enchanting_24602(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (20, '快捷装备', '四维(8)|附加伤害(8%)|攻击强化(8%)') + if mode == 0: + char.基础属性加成(力智=8) + char.基础属性加成(体精=8) + pass + if mode == 1: + char.附加伤害加成(0.08) + char.百分比攻击强化加成(0.08) + pass + + +def enchanting_24603(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (20, '快捷装备', '四维(50)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=50) + pass + + +def enchanting_24604(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '三攻(30)|攻击强化(8%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + char.百分比攻击强化加成(0.08) + pass + + +def enchanting_24605(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '四维(5)|附加伤害(8%)|攻击强化(8%)|攻速(8%)') + if mode == 0: + char.基础属性加成(力智=5) + char.基础属性加成(体精=5) + char.攻击速度增加(0.08) + pass + if mode == 1: + char.附加伤害加成(0.08) + char.百分比攻击强化加成(0.08) + pass + + +def enchanting_24606(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (20, '快捷装备', '四维(50)|三速(5%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=50) + char.所有速度增加(0.05) + pass + + +def enchanting_24607(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (20, '快捷装备', '三攻(30)|三速(5%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + char.所有速度增加(0.05) + pass + + +def enchanting_24608(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '三攻(30)|攻击强化(10%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + char.百分比攻击强化加成(0.10) + pass + +def enchanting_24609(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '三攻(30)|三速(5%)|增益量(1%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + char.辅助属性加成(百分比buff量=0.01) + char.所有速度增加(0.05) + pass + +def enchanting_24610(char: CharacterProperty = {}, mode=0, text=False, rate=1.0, part='',calcLv=True): + if text: + return (40, '快捷装备', '四维(50)|三速(5%)|增益量(1%)') + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=50) + char.辅助属性加成(百分比buff量=0.01) + char.所有速度增加(0.05) + pass +# endregion + + +# 附魔效果id范围 20001~24999 +for i in range(20001, 24999): + try: + if i not in enchanting_func_list.keys(): + enchanting_func_list[i] = eval('enchanting_{}'.format(i)) + except Exception: + pass + + +def get_encfunc_by_id(id): + return enchanting_func_list.get(int(id), enchanting_20000) + + +def get_enchanting_setinfo(char: CharacterProperty): + infolist = [] + for i in enchanting_func_list.keys(): + data = {} + data['id'] = i + enchanting = enchanting_func_list[i] + char.评分开始() + enchanting(char, mode=0) + enchanting(char, mode=1) + 评分 = char.评分结束() + data['rate'] = 评分 + info = enchanting(text=True) + data['maxFame'] = info[0] + num = 0 + for k in index: + value = info[num] + if (k == 'position'): + value = [i.strip() for i in value.split(",")] + data[k] = value + num += 1 + # if ('宠物' not in data['position'] or ('宠物' in data['position'] and "|" not in data['props'])) and (data['rate'] > 200 or data['position'][0] in ["光环", "武器装扮", "皮肤", "宠物装备-红", "宠物装备-绿", "宠物装备-蓝", "快捷装备"]): + infolist.append(data) + + infolist.sort(key=lambda x: x['rate'], reverse=True) + + return infolist diff --git a/api/core/equipment/entry_0/__init__.py b/api/core/equipment/entry_0/__init__.py new file mode 100644 index 00000000..b1b04d57 --- /dev/null +++ b/api/core/equipment/entry_0/__init__.py @@ -0,0 +1,2946 @@ +from .weapon import * +from .title import * +from .stable import * +from .pet import * +from .params import * +from .old import * +from .merge import * +from .fusion import * +from .customize import * +from core.basic.property import CharacterProperty +from .specificity import * +from .divinity import * +from .suit import * +from .amalgamationstone import * +from .asrahan import * +entry_func_list = {} # id : enteyfunc 词条函数(数组)列表 + + +def entry_0(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "空词条" + if mode == 0: + pass + if mode == 1: + pass + +# region 部位固有属性 + + +def entry_28(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['该装备的成长属性等级之和每达到40,增加3%的技能攻击力', ' - 穿戴神话装备时不适用', ' - 仅适用上衣、手镯、耳环中最高的1个'] + if mode == 0: + if not char.已穿戴神话(): # 判断是否穿戴神话装备 + x = sum(char.词条等级.get(part, [0])) + temp = {} + for i in ['上衣', '手镯', '耳环']: # 计算3个部位最高值 + temp[i] = sum(char.词条等级.get(i, [0])) + temp = sorted(temp.items(), key=lambda x: x[1], reverse=True) + if part == temp[0][0]: + char.技能攻击力加成(part=part, x=0.03 * int(min(320, x) / 40)) + if mode == 1: + pass + + +def entry_29(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['Lv30 buff技能Lv+1', 'Lv50 主动技能Lv+1'] + if mode == 0: + char.buff技能等级加成(30, 1) + char.技能等级加成('主动', 50, 50, 1) + if mode == 1: + pass + + +def entry_30(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['Lv30 buff技能Lv+3', 'Lv50 主动技能Lv+4'] + if mode == 0: + char.buff技能等级加成(30, 3) + char.技能等级加成('主动', 50, 50, 4) + if mode == 1: + pass + + +def entry_10001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["成长属性240级以上时增加1%技能攻击,每40级增加1%"] + if mode == 0: + if char.穿戴低于105(): + return + x = sum(char.词条等级.get(part, [0])) + if x >= 240: + char.技能攻击力加成(part=part, x=0.01 * int((min(320, x) - 200) / 40)) + if mode == 1: + pass + + +def entry_10002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (上衣) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (下装) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (头肩) + if not sj: + return ["技能伤害 +34%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +34%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.34) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (腰带) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (鞋) + if not sj: + return ["技能伤害 +29%", "移动速度 +4%"] + else: + return ['攻击强化 +204.8%', "技能伤害 +29%", "移动速度 +4%"] + if mode == 0: + char.技能攻击力加成(part=part, x=0.29) + char.移动速度增加(0.04) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (手镯) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10008(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (项链) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (戒指) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (辅助装备) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (魔法石) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10012(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (耳环) + if not sj: + return ["技能伤害 +12%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10013(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (胜负武器) + if not sj: + return ["技能伤害 +50%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +50%'] + # (胜负武器) + if mode == 0: + char.技能攻击力加成(part=part, x=0.50) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10014(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (吞噬武器) + if not sj: + return ["技能伤害 +49%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +49%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.49) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10015(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (吞噬武器) + if not sj: + return ["技能伤害 +55%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +55%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.55) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + + +def entry_10016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + if not sj: + # (吞噬武器) + return ["增益量 11695"] + else: + return ["增益量 11887"] + if mode == 0: + if char.是否升级110(part): + char.辅助属性加成(buff量=11887) + else: + char.辅助属性加成(buff量=11695) + if mode == 1: + pass + + +def entry_10017(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4", "辅助职业 技能伤害 +20%","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + + +def entry_10018(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (上衣) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10019(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (下装) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10020(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (头肩) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10021(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (腰带) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10022(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (鞋) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10023(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (手镯) + if not sj: + return ["增益量 295", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 487", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=487) + else: + char.辅助属性加成(buff量=295) + if mode == 1: + pass + + +def entry_10024(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (项链) + if not sj: + return ["增益量 295", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 487", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=487) + else: + char.辅助属性加成(buff量=295) + if mode == 1: + pass + + +def entry_10025(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (戒指) + if not sj: + return ["增益量 295", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 487", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=487) + else: + char.辅助属性加成(buff量=295) + if mode == 1: + pass + + +def entry_10026(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (辅助装备) + if not sj: + return ["增益量 1875", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 2067", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=2067) + else: + char.辅助属性加成(buff量=1875) + if mode == 1: + pass + + +def entry_10027(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (魔法石) + if not sj: + return ["增益量 1875", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+2"] + else: + return ["增益量 2067", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+2"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 2) + if char.是否升级110(part): + char.辅助属性加成(buff量=2067) + else: + char.辅助属性加成(buff量=1875) + if mode == 1: + pass + + +def entry_10028(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (耳环) + if not sj: + return ["增益量 1010", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + else: + return ["增益量 1202", "辅助职业 30级增益技能 Lv+1", "辅助职业 50级主动技能 Lv+1"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 1) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 1) + if char.是否升级110(part): + char.辅助属性加成(buff量=1202) + else: + char.辅助属性加成(buff量=1010) + if mode == 1: + pass + + +def entry_10029(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (跨越者武器) + if not sj: + return ["技能伤害 +35%"] + else: + return ['攻击强化 +204.8%', '技能伤害 +35%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.35) + if char.是否升级110(part): + char.攻击强化加成(204.8) + if mode == 1: + pass + +def entry_10030(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + if mode == 1: + pass + +# endregion + +# region 雾神武器固有属性 + +# 土 + +def entry_10033(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +2142.4%","技能伤害 +108.0%"] + if mode == 0: + char.攻击强化加成(2142.4) + char.技能攻击力加成(1.08) + pass + if mode == 1: + pass + +def entry_10034(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 22266","辅助职业 1~100级技能等级 +2","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=22266) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能等级加成('所有',1,100,2) + if mode == 1: + pass + +# 木 + +def entry_10031(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +1927.2%","技能伤害 +60.8%"] + if mode == 0: + char.攻击强化加成(1927.2) + char.技能攻击力加成(0.608) + pass + if mode == 1: + pass + +def entry_10032(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 22266","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=22266) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + +# 水 + +def entry_10035(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +2142.4%","技能伤害 +92.5%"] + if mode == 0: + char.攻击强化加成(2142.4) + char.技能攻击力加成(0.925) + pass + if mode == 1: + pass + +def entry_10036(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 22194","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=22194) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + +# 火 + +def entry_10037(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +2142.4%","技能伤害 +116.9%"] + if mode == 0: + char.攻击强化加成(2142.4) + char.技能攻击力加成(1.169) + pass + if mode == 1: + pass + +def entry_10038(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 22780","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=22780) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + +# 金 + +def entry_10039(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +2142.4%","技能伤害 +114.7%"] + if mode == 0: + char.攻击强化加成(2142.4) + char.技能攻击力加成(1.147) + pass + if mode == 1: + pass + +def entry_10040(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 22780","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=22780) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + +# 失调 + +def entry_10041(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +204.8%","技能伤害 +78.6%"] + if mode == 0: + char.攻击强化加成(204.8) + char.技能攻击力加成(0.786) + pass + if mode == 1: + pass + +def entry_10042(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 15502","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=15502) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + + +# 超越记忆 + +def entry_10043(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击强化 +100.0%","技能伤害 +78.6%"] + if mode == 0: + char.攻击强化加成(100.0) + char.技能攻击力加成(0.786) + pass + if mode == 1: + pass + +def entry_10044(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["增益量 15310","辅助职业 技能伤害 +20%","辅助职业 30级增益技能 Lv+3", "辅助职业 50级主动技能 Lv+4","","解除穿戴时,已施放的30级增益技能、50级主动技能、100级主动技能的效果消失。"] + if mode == 0: + char.辅助属性加成(buff量=15310) + if char.类型 == '辅助': + char.技能等级加成('主动', 30, 30, 3) + if char.类型 == '辅助' or char.bufferCarry: + char.技能等级加成('主动', 50, 50, 4) + char.技能攻击力加成(0.2) + if mode == 1: + pass + + +# endregion + + +# region 部位固有属性 +for i in range(10001, 10045): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass +# endregion 部位固有属性 + + +def entry_538(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30级buff技能等级 +1', '50级主动技能等级 +2'] + if mode == 0: + char.buff技能等级加成(30, 1) + char.技能等级加成('主动', 50, 50, 2) + if mode == 1: + pass + + +def entry_1237(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['', '该装备的成长属性等级之和达到240,增加1%的技能伤害', '- 该装备的成长属性等级之和每增加40级,额外增加1%的技能伤害', '- 穿戴100级以下装备时不适用该效果'] + if mode == 0: + if char.穿戴低于105(): + return + x = sum(char.词条等级.get(part, [0])) + if x >= 240: + char.技能攻击力加成(part=part, x=0.01 * int((x - 200) / 40)) + if mode == 1: + pass + + +# 目前成长词条范围 +for i in range(4000): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass + +for i in range(10101, 14000): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass + + +for i in range(14001, 14999): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass + +# 特性词条 +for i in range(20000,20400): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass + +# 套装 +for i in range(30001,39999): + try: + entry_func_list[i] = eval('entry_{}'.format(i)) + except Exception: + pass + + +entry_range = { + "growth":[0,2000], + "specificity":[20000,20400], + "inherent":[10000,10030], + "pet":[10101, 14000], + "titile":[14001, 14999] +} + +def get_info(type,char={}): + if type == "asrahan": + return asrahan_infos + if type == "specificity": + return get_specificity_infos(char) +# 词条效果id范围 0~18999 + infolist = [] + keys = entry_range.get(type,[0,0]) + for i in range(keys[0],keys[1]): + try: + data = {} + data['id'] = i + info = entry_func_list[i](char=char, text=True) + num = 0 + for k in index: + data[k] = info[num] + num += 1 + infolist.append(data) + except Exception: + break + return infolist + +def get_specificity_infos(char: CharacterProperty = {}): + if char.类型 != "辅助": + return specificity_infos + import copy + info = copy.deepcopy(specificity_infos) + remark = { + "crusader_male": ["- [生命源泉]技能冷却时间-50% / 所有速度增加效果 +10%", + "- [圣愈之风]屏障生命值比率+10%", + "- [神圣洗礼 : 信仰之翼]技能的神圣之力持续时间 +0.3秒", + "", + ""], + "crusader_female": ["- [勇气颂歌]增益效果持续时间 +4秒", + "- [勇气圣歌]、[新生圣歌]移动速度+200% / 物理、魔法所受伤害减少量 +20%", + "- 施放[救赎彼岸 : 惩戒圣枪]技能后,[圣佑之阵]强化2次
* [圣佑之阵]冷却时间 -70%
* 穿戴[圣佑之阵]护石时,进一步强化:队员无敌效果 +1.5秒" + "", + ""], + "enchantress": ["- [疯狂召唤]增益效果持续时间 +3秒", + "- [爱之急救]持续时间+20% / 物理、魔法所受伤害减少量 +20%", + "- [开幕! 人偶剧场]、[终幕! 人偶剧场]技能增益持续时间内,[人偶之森]冷却时间 -40%", + "", + "" + ], + "muse": ["- [燃情狂想曲]增益效果持续时间 +3秒", + "- [自由律动]持续时间+1秒", + "- 施放[开场:唯我璀璨]技能时,可以无限制使用[崭新曲风],效果持续23秒。", + "", + "" + ] + } + for a in info: + for b in a.get("detail", []): + cost = 0 + for c in b.get("lvinfo", []): + cost += c.get("cost", 0) + if b.get("name", "") == "[强力一击]": + c["remark"] = remark.get(char.实际名称, [])[:c["lv"]] + else: + c["remark"] = [] + c["remark"] = [f"增益量 {cost * 7.2}"] + c["remark"] + return info + +specificity_func_list = {} + +specificity_infos = [{ + "type": 0, + "name": "规律系", + "desc": "遵循规律可对敌人造成额外伤害,有利于战斗。", + "detail": [ + { + "id": 20016, + "name": "[强力一击]", + "desc": "技能伤害 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 210, + "params": [16] + }, + { + "lv": 3, + "cost": 96, + "needprecost": 430, + "params": [22] + }, + { + "lv": 4, + "cost": 96, + "needprecost": 640, + "params": [28] + }, + { + "lv": 5, + "cost": 96, + "needprecost": 850, + "params": [35] + } + ], + "master": 5, + "masterWith": [20017], + "masterWithMax": 5, + "x": 3, + "y": 0, + "preconditions": [] + }, + { + "id": 20017, + "name": "[冥想]", + "desc": "技能冷却时间 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 210, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 640, + "params": [20] + } + ], + "master": 2, + "masterWith": [20016], + "masterWithMax": 5, + "x": 3, + "y": 1, + "preconditions": [] + }, + { + "id": 20000, + "name": "[魔弹射手]", + "desc": "攻击时,发射魔弹,对附近的敌人造成伤害。(冷却时间0.5秒)
- 魔弹伤害量:{0}%
魔弹发射个数:{1}个", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [98, 1] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [196, 1] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [294, 1] + }, + { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [588, 1] + }, + { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [979, 1] + }, + { + "lv": 6, + "cost": 60, + "needprecost": 0, + "params": [1126, 1] + }, + { + "lv": 7, + "cost": 60, + "needprecost": 0, + "params": [1350, 1] + } + ], + "master": 7, + "x": 0, + "y": 0, + "preconditions": [] + }, { + "id": 20001, + "name": "[魔力增幅]", + "desc": "魔弹伤害量 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [15] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [20] + }, + { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [25] + }, + { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [30] + }, + { + "lv": 6, + "cost": 60, + "needprecost": 0, + "params": [35] + }, + { + "lv": 7, + "cost": 60, + "needprecost": 0, + "params": [40] + } + ], + "master": 7, + "x": 0, + "y": 1, + "preconditions": [{ + "id": 20000, + "needLv": 3 + }] + }, { + "id": 20002, + "name": "[预备弹夹]", + "desc": "魔弹发射个数 +{0}个", + "lvinfo": [ + { + "lv": 1, + "cost": 80, + "needprecost": 0, + "params": [2] + } + ], + "master": 1, + "x": 0, + "y": 2, + "preconditions": [{ + "id": 20001, + "needLv": 3 + }] + }, { + "id": 20003, + "name": "[乱射]", + "desc": "第6次发射魔弹时,魔弹个数增加至{0}倍{1}", + "lvinfo": [ + { + "lv": 1, + "cost": 100, + "needprecost": 0, + "params": [3, ""] + }, + { + "lv": 2, + "cost": 100, + "needprecost": 0, + "params": [3, "
第66次发射魔弹时,触发魔弹暴走。
- 魔弹暴走的伤害量应用魔弹射手的数值"] + } + ], + "master": 2, + "x": 0, + "y": 3, + "preconditions": [{ + "id": 20002, + "needLv": 1 + }, + { + "id": 20000, + "needLv": 5 + }] + }, + { + "id": 20004, + "name": "[魔剑舞者]", + "desc": "攻击时,生成[魔剑风暴],对附近的敌人造成伤害。 (冷却时间5秒)。
- [魔剑风暴]伤害量:{0}%
- [魔剑风暴]持续时间:{1}秒", + "lvinfo": [ + { + "lv": 1, + "cost": 10, + "needprecost": 0, + "params": [306, 1.5] + }, + { + "lv": 2, + "cost": 10, + "needprecost": 0, + "params": [459, 1.5] + }, + { + "lv": 3, + "cost": 10, + "needprecost": 0, + "params": [612, 1.5] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [688, 2] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [917, 2.5] + }, + { + "lv": 6, + "cost": 20, + "needprecost": 0, + "params": [1070, 3] + }, + { + "lv": 7, + "cost": 20, + "needprecost": 0, + "params": [1310, 3.5] + }, + { + "lv": 8, + "cost": 30, + "needprecost": 0, + "params": [1441, 3.5] + }, + { + "lv": 9, + "cost": 30, + "needprecost": 0, + "params": [1572, 3.5] + }, + { + "lv": 10, + "cost": 60, + "needprecost": 0, + "params": [1868, 3.5] + } + ], + "master": 10, + "x": 1, + "y": 0, + "preconditions": [] + }, { + "id": 20005, + "name": "[荆棘护甲]", + "desc": "[魔剑风暴]范围 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [20] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [30] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [40] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [50] + } + ], + "master": 5, + "x": 1, + "y": 1, + "preconditions": [{ + "id": 20004, + "needLv": 3 + }] + }, { + "id": 20006, + "name": "[剑刃账幕]", + "desc": "[魔剑风暴]伤害量 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [5] + }, { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [10] + }, { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [15] + }, { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [20] + }, { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [25] + }, { + "lv": 6, + "cost": 50, + "needprecost": 0, + "params": [30] + }, { + "lv": 7, + "cost": 50, + "needprecost": 0, + "params": [35] + } + ], + "master": 7, + "x": 1, + "y": 2, + "preconditions": [{ + "id": 20005, + "needLv": 3 + }] + }, { + "id": 20007, + "name": "[剑痕]", + "desc": "[魔剑风暴]多段攻击间隔 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [10] + }, { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [20] + }, { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [30] + }, { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [40] + }, { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [50] + }, { + "lv": 6, + "cost": 60, + "needprecost": 0, + "params": [55] + }, { + "lv": 7, + "cost": 60, + "needprecost": 0, + "params": [65] + } + ], + "master": 7, + "x": 1, + "y": 3, + "preconditions": [{ + "id": 20006, + "needLv": 3 + }, + { + "id": 20004, + "needLv": 7 + }] + }, + { + "id": 20008, + "name": "[魔工学炮手]", + "desc": "生成1个追踪敌人进行攻击的魔力炮。 (再次生成所需冷却时间30秒)
- 魔力炮伤害量:{0}%
- 魔力炮持续时间:10秒", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [486] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [973] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [1459] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [2919] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [4864] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [5837] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [7094] + } + ], + "master": 7, + "x": 2, + "y": 0, + "preconditions": [] + }, { + "id": 20009, + "name": "[核融合]", + "desc": "魔力炮伤害量 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [5] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [7] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [10] + }, + { + "lv": 4, + "cost": 50, + "needprecost": 0, + "params": [15] + }, + { + "lv": 5, + "cost": 50, + "needprecost": 0, + "params": [20] + } + ], + "master": 5, + "x": 2, + "y": 1, + "preconditions": [{ + "id": 20008, + "needLv": 3 + }] + }, { + "id": 20010, + "name": "[空气力学]", + "desc": "魔力炮多段攻击间隔 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [7] + }, { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [10] + }, { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [12] + }, { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [15] + }, { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [20] + } + ], + "master": 5, + "x": 2, + "y": 2, + "preconditions": [{ + "id": 20009, + "needLv": 3 + }] + }, { + "id": 20011, + "name": "[魔力猎食]", + "desc": "每次攻击魔力炮时,持续时间 +{0}秒。 (冷却时间{1}秒){2}", + "lvinfo": [ + { + "lv": 1, + "cost": 40, + "needprecost": 0, + "params": [3, 5, ""] + }, { + "lv": 2, + "cost": 50, + "needprecost": 0, + "params": [4, 4, ""] + }, { + "lv": 3, + "cost": 50, + "needprecost": 0, + "params": [5, 3, ""] + }, { + "lv": 4, + "cost": 80, + "needprecost": 0, + "params": [5, 3, "
魔力炮攻击时,释放魔力波动。 (冷却时间7秒)
- 魔力波动伤害量:魔力炮伤害量的100%"] + }, { + "lv": 5, + "cost": 80, + "needprecost": 0, + "params": [5, 3, "
魔力炮攻击时,释放魔力波动。 (冷却时间7秒)
- 魔力波动伤害量:魔力炮伤害量的300%"] + } + ], + "master": 5, + "x": 2, + "y": 3, + "preconditions": [{ + "id": 20010, + "needLv": 3 + }, + { + "id": 20008, + "needLv": 5 + }] + } + ] +}, + { + "type": 1, + "name": "猛攻系", + "desc": "可以变得更加猛烈和强力,持续不断地战斗。", + "detail": [ + { + "id": 20108, + "name": "[强力一击]", + "desc": "技能伤害 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 210, + "params": [16] + }, + { + "lv": 3, + "cost": 96, + "needprecost": 430, + "params": [22] + }, + { + "lv": 4, + "cost": 96, + "needprecost": 640, + "params": [28] + }, + { + "lv": 5, + "cost": 96, + "needprecost": 850, + "params": [35] + } + ], + "master": 5, + "masterWith": [20109], + "masterWithMax": 5, + "x": 3, + "y": 0, + "preconditions": [] + }, + { + "id": 20109, + "name": "[冥想]", + "desc": "技能冷却时间 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 210, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 640, + "params": [20] + } + ], + "master": 2, + "masterWith": [20108], + "masterWithMax": 5, + "x": 3, + "y": 0.75, + "preconditions": [] + }, + { + "id": 20100, + "name": "[速攻:连击]", + "desc": "施放技能时,进入[连击]状态5秒。
[连击]:所有速度 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 40, + "needprecost": 0, + "params": [2] + }, + { + "lv": 2, + "cost": 40, + "needprecost": 0, + "params": [3] + }, + { + "lv": 3, + "cost": 45, + "needprecost": 0, + "params": [4] + }, + { + "lv": 4, + "cost": 35, + "needprecost": 0, + "params": [4.5] + }, + { + "lv": 5, + "cost": 35, + "needprecost": 0, + "params": [5] + } + ], + "master": 5, + "x": 0, + "y": 0, + "preconditions": [], + "conflict": [20104] + }, { + "id": 20101, + "name": "[速攻:奔涌击]", + "desc": "[连击]状态下,施放技能时,进入[奔涌击]状态5秒。
[奔涌击]:所有速度 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 45, + "needprecost": 0, + "params": [2] + }, + { + "lv": 2, + "cost": 45, + "needprecost": 0, + "params": [3] + }, + { + "lv": 3, + "cost": 50, + "needprecost": 0, + "params": [4] + }, + { + "lv": 4, + "cost": 40, + "needprecost": 0, + "params": [4.5] + }, + { + "lv": 5, + "cost": 40, + "needprecost": 0, + "params": [5] + } + ], + "master": 5, + "x": 0, + "y": 0.75, + "preconditions": [{ + "id": 20100, + "needLv": 3 + }] + }, { + "id": 20102, + "name": "[速攻:闪影击]", + "desc": "[奔涌击]状态下,施放技能时,进入[闪影击]状态5秒。
[闪影击]:所有速度 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 50, + "needprecost": 0, + "params": [4] + }, + { + "lv": 2, + "cost": 50, + "needprecost": 0, + "params": [5] + }, + { + "lv": 3, + "cost": 55, + "needprecost": 0, + "params": [6] + }, + { + "lv": 4, + "cost": 45, + "needprecost": 0, + "params": [6.5] + }, + { + "lv": 5, + "cost": 45, + "needprecost": 0, + "params": [7] + } + ], + "master": 5, + "x": 0, + "y": 2.25, + "preconditions": [{ + "id": 20101, + "needLv": 3 + }] + }, { + "id": 20103, + "name": "[破竹之势]", + "desc": "[闪影击]状态下,施放技能时{0},技能伤害 +{1}%,效果持续10秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 60, + "needprecost": 0, + "params": [",解除所有[速攻]效果", 3] + }, + { + "lv": 2, + "cost": 50, + "needprecost": 0, + "params": [",解除所有[速攻]效果", 4] + }, + { + "lv": 3, + "cost": 50, + "needprecost": 0, + "params": ["", 5] + } + ], + "master": 3, + "x": 0, + "y": 3, + "preconditions": [{ + "id": 20102, + "needLv": 3 + }] + }, + { + "id": 20104, + "name": "[强袭:破击]", + "desc": "施放技能时,进入[破击]状态5秒。
[破击]:物理/魔法所受伤害 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 40, + "needprecost": 0, + "params": [1] + }, + { + "lv": 2, + "cost": 40, + "needprecost": 0, + "params": [2] + }, + { + "lv": 3, + "cost": 45, + "needprecost": 0, + "params": [3] + }, + { + "lv": 4, + "cost": 35, + "needprecost": 0, + "params": [3.5] + }, + { + "lv": 5, + "cost": 35, + "needprecost": 0, + "params": [4] + } + ], + "master": 5, + "x": 1, + "y": 0, + "preconditions": [], + "conflict": [20100] + }, { + "id": 20105, + "name": "[强袭:强腕击]", + "desc": "[破击]状态下,施放技能时,进入[强腕击]状态5秒。
[强腕击]:物理/魔法所受伤害 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 45, + "needprecost": 0, + "params": [1] + }, + { + "lv": 2, + "cost": 45, + "needprecost": 0, + "params": [2] + }, + { + "lv": 3, + "cost": 50, + "needprecost": 0, + "params": [3] + }, + { + "lv": 4, + "cost": 40, + "needprecost": 0, + "params": [3.5] + }, + { + "lv": 5, + "cost": 40, + "needprecost": 0, + "params": [4] + } + ], + "master": 5, + "x": 1, + "y": 0.75, + "preconditions": [{ + "id": 20104, + "needLv": 3 + }] + }, { + "id": 20106, + "name": "[强袭:泰山击]", + "desc": "[强腕击]状态下,施放技能时,进入[泰山击]状态5秒。
[泰山击]:物理/魔法所受伤害 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 50, + "needprecost": 0, + "params": [1] + }, + { + "lv": 2, + "cost": 50, + "needprecost": 0, + "params": [2] + }, + { + "lv": 3, + "cost": 55, + "needprecost": 0, + "params": [3] + }, + { + "lv": 4, + "cost": 45, + "needprecost": 0, + "params": [3.5] + }, + { + "lv": 5, + "cost": 45, + "needprecost": 0, + "params": [4] + } + ], + "master": 5, + "x": 1, + "y": 2.25, + "preconditions": [{ + "id": 20105, + "needLv": 3 + }] + }, { + "id": 20107, + "name": "[英雄豪杰]", + "desc": "[泰山击]状态下,施放技能时{0},技能伤害 +{1}%,并进入霸体状态,效果持续10秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 60, + "needprecost": 0, + "params": [",解除所有[强袭]效果", 3] + }, + { + "lv": 2, + "cost": 50, + "needprecost": 0, + "params": [",解除所有[强袭]效果", 4] + }, + { + "lv": 3, + "cost": 50, + "needprecost": 0, + "params": ["", 5] + } + ], + "master": 3, + "x": 1, + "y": 3, + "preconditions": [{ + "id": 20106, + "needLv": 3 + }] + }, + ] +}, + { + "type": 2, + "name": "保护系", + "desc": "强化和消耗保护罩,保护队友并攻击敌人。", + "detail": [ + { + "id": 20208, + "name": "[强力一击]", + "desc": "技能伤害 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 210, + "params": [16] + }, + { + "lv": 3, + "cost": 96, + "needprecost": 430, + "params": [22] + }, + { + "lv": 4, + "cost": 96, + "needprecost": 640, + "params": [28] + }, + { + "lv": 5, + "cost": 96, + "needprecost": 850, + "params": [35] + } + ], + "master": 5, + "masterWith": [20209], + "masterWithMax": 5, + "x": 3, + "y": 0, + "preconditions": [] + }, + { + "id": 20209, + "name": "[冥想]", + "desc": "技能冷却时间 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 210, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 640, + "params": [20] + } + ], + "master": 2, + "masterWith": [20208], + "masterWithMax": 5, + "x": 3, + "y": 0.75, + "preconditions": [] + }, + { + "id": 20200, + "name": "[保护罩填充]", + "desc": "施放技能时,赋予生命值最大值3%的保护罩。 (冷却时间3秒;最多叠加{0}次)", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [1] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [2] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [3] + }, + { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [4] + }, + { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [5] + } + ], + "master": 5, + "x": 1, + "y": 0, + "preconditions": [] + }, { + "id": 20201, + "name": "[护盾爆裂 - 爆炸]", + "desc": "保护罩解除时,引发爆炸,攻击周围敌人。
- 爆炸伤害量:{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 15, + "needprecost": 0, + "params": [152] + }, + { + "lv": 2, + "cost": 15, + "needprecost": 0, + "params": [304] + }, + { + "lv": 3, + "cost": 15, + "needprecost": 0, + "params": [456] + }, + { + "lv": 4, + "cost": 15, + "needprecost": 0, + "params": [912] + }, + { + "lv": 5, + "cost": 15, + "needprecost": 0, + "params": [1521] + } + ], + "master": 5, + "x": 0, + "y": 0.75, + "preconditions": [{ + "id": 20200, + "needLv": 3 + }] + }, { + "id": 20202, + "name": "[火盾]", + "desc": "生成火焰,对触碰到保护罩的敌人造成伤害。 (冷却时间0.3秒)
- 火焰伤害量:{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 25, + "needprecost": 0, + "params": [101] + }, + { + "lv": 2, + "cost": 25, + "needprecost": 0, + "params": [203] + }, + { + "lv": 3, + "cost": 25, + "needprecost": 0, + "params": [304] + }, + { + "lv": 4, + "cost": 25, + "needprecost": 0, + "params": [608] + }, + { + "lv": 5, + "cost": 25, + "needprecost": 0, + "params": [1014] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [1217] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [1521] + } + ], + "master": 7, + "x": 0, + "y": 2.25, + "preconditions": [{ + "id": 20201, + "needLv": 3 + }], + "conflict": [20206] + }, { + "id": 20203, + "name": "[背水一战]", + "desc": "解除觉醒技能关联。
50级技能冷却时间 -50%
50级技能攻击力 +{0}%
50级增益技能效果 -70% (仅限辅助职业)", + "lvinfo": [ + { + "lv": 1, + "cost": 100, + "needprecost": 0, + "params": [0] + }, + { + "lv": 2, + "cost": 60, + "needprecost": 0, + "params": [10] + }, + { + "lv": 3, + "cost": 60, + "needprecost": 0, + "params": [15] + }, + { + "lv": 4, + "cost": 70, + "needprecost": 0, + "params": [25] + }, + { + "lv": 5, + "cost": 70, + "needprecost": 0, + "params": [30] + } + ], + "master": 5, + "x": 0, + "y": 3, + "preconditions": [{ + "id": 20202, + "needLv": 3 + }, + { + "id": 20200, + "needLv": 5 + }] + }, { + "id": 20204, + "name": "[保护罩续充]", + "desc": "装备的填充型保护罩的填充冷却时间 -1秒", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [] + } + ], + "master": 1, + "x": 1, + "y": 1.5, + "preconditions": [{ + "id": 20200, + "needLv": 1 + }] + }, { + "id": 20205, + "name": "[护盾爆裂 - 恢复]", + "desc": "保护罩解除时,周围300px范围内的队员恢复{0}%的生命值和魔法值。", + "lvinfo": [ + { + "lv": 1, + "cost": 15, + "needprecost": 0, + "params": [1] + }, + { + "lv": 2, + "cost": 15, + "needprecost": 0, + "params": [1.5] + }, + { + "lv": 3, + "cost": 15, + "needprecost": 0, + "params": [2] + }, + { + "lv": 4, + "cost": 15, + "needprecost": 0, + "params": [2.5] + }, + { + "lv": 5, + "cost": 15, + "needprecost": 0, + "params": [3] + } + ], + "master": 5, + "x": 2, + "y": 0.75, + "preconditions": [{ + "id": 20200, + "needLv": 3 + }] + }, { + "id": 20206, + "name": "[水盾]", + "desc": "保护罩周围{0}px内队友的生命值/魔法值恢复{1}%。 (冷却时间3秒)

技能伤害 +{2}%", + "lvinfo": [ + { + "lv": 1, + "cost": 25, + "needprecost": 0, + "params": [100, 0.2, 0] + }, + { + "lv": 2, + "cost": 25, + "needprecost": 0, + "params": [150, 0.3, 0] + }, + { + "lv": 3, + "cost": 25, + "needprecost": 0, + "params": [200, 0.5, 0] + }, + { + "lv": 4, + "cost": 25, + "needprecost": 0, + "params": [250, 0.7, 0] + }, + { + "lv": 5, + "cost": 25, + "needprecost": 0, + "params": [300, 1, 0] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [300,1, 0.5] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [300,1, 1] + } + ], + "master": 7, + "x": 2, + "y": 2.25, + "preconditions": [{ + "id": 20205, + "needLv": 3 + } + ], + "conflict": [20202] + }, + { + "id": 20207, + "name": "[披靡庇护]", + "desc": "100级技能攻击力 +{0}%
施放100级技能后,进入无敌状态一段时间。", + "lvinfo": [ + { + "lv": 1, + "cost": 100, + "needprecost": 0, + "params": [15] + }, + { + "lv": 2, + "cost": 60, + "needprecost": 0, + "params": [17] + }, + { + "lv": 3, + "cost": 60, + "needprecost": 0, + "params": [20] + }, + { + "lv": 4, + "cost": 70, + "needprecost": 0, + "params": [22] + }, + { + "lv": 5, + "cost": 70, + "needprecost": 0, + "params": [25] + } + ], + "master": 5, + "x": 2, + "y": 3, + "preconditions": [{ + "id": 20206, + "needLv": 3 + }, + { + "id": 20200, + "needLv": 5 + }] + } + ] +}, + { + "type": 3, + "name": "具现系", + "desc": "使用炼金术具现出各种道具,强化自身。", + "detail": [ + { + "id": 20311, + "name": "[强力一击]", + "desc": "技能伤害 +{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 210, + "params": [16] + }, + { + "lv": 3, + "cost": 96, + "needprecost": 430, + "params": [22] + }, + { + "lv": 4, + "cost": 96, + "needprecost": 640, + "params": [28] + }, + { + "lv": 5, + "cost": 96, + "needprecost": 850, + "params": [35] + } + ], + "master": 5, + "masterWith": [20312], + "masterWithMax": 5, + "x": 3, + "y": 0, + "preconditions": [] + }, + { + "id": 20312, + "name": "[冥想]", + "desc": "技能冷却时间 -{0}%", + "lvinfo": [ + { + "lv": 1, + "cost": 96, + "needprecost": 210, + "params": [10] + }, + { + "lv": 2, + "cost": 96, + "needprecost": 640, + "params": [20] + } + ], + "master": 2, + "masterWith": [20311], + "masterWithMax": 5, + "x": 3, + "y": 0.75, + "preconditions": [] + }, + { + "id": 20300, + "name": "[灵药炼制]", + "desc": "每{0}秒炼制一~四等灵药
- 腕力灵药:技能伤害 +1/2/4/5%,效果持续20秒。
- 铁壁灵药:物理/魔法所受伤害 -4/7/10/15%,效果持续20秒。
- 神速灵药:所有速度 +5/10/15/20%,效果持续20秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [30] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [28] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [26] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [23] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [20] + }, + { + "lv": 6, + "cost": 50, + "needprecost": 0, + "params": [18] + }, + { + "lv": 7, + "cost": 50, + "needprecost": 0, + "params": [15] + } + ], + "master": 7, + "x": 1, + "y": 0, + "preconditions": [] + }, { + "id": 20301, + "name": "[力量精通]", + "desc": "拾取灵药时,技能伤害 +{0}%,效果持续{1}秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [1, 5] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [1, 10] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [1, 13] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [1, 16] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [1, 20] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [1.5, 25] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [2, 25] + } + ], + "master": 7, + "x": 0, + "y": 0.75, + "preconditions": [{ + "id": 20300, + "needLv": 3 + }] + }, { + "id": 20302, + "name": "[强化 - 力量精通]", + "desc": "拾取灵药时,所有速度 +5%,效果持续{0}秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [5] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [10] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [13] + }, + { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [16] + }, + { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [20] + }, + { + "lv": 6, + "cost": 50, + "needprecost": 0, + "params": [22] + }, + { + "lv": 7, + "cost": 50, + "needprecost": 0, + "params": [25] + } + ], + "master": 7, + "x": 0, + "y": 1.5, + "preconditions": [{ + "id": 20301, + "needLv": 3 + }] + }, { + "id": 20303, + "name": "[传说再现 - 破坏]", + "desc": "高度成熟的炼制术有时会产生意想不到的效果。
- 有{0}%的几率生成武具,而非灵药。
{1}", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [1, ''] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [2, ''] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [3, ''] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [5, ''] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [10, ''] + }, + { + "lv": 6, + "cost": 30, + "needprecost": 0, + "params": [10, '
增强武具的效果。'] + }, + { + "lv": 7, + "cost": 30, + "needprecost": 0, + "params": [10, '
增强武具的效果。'] + } + ], + "master": 7, + "x": 0, + "y": 3, + "preconditions": [{ + "id": 20302, + "needLv": 3 + }, + { + "id": 20300, + "needLv": 5 + }], + "conflict": [20310,20304] + }, { + "id": 20304, + "name": "[高效炼制]", + "desc": "炼制时,有{0}%的几率,额外炼成1个灵药。", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [10] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [12] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [24] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [26] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [28] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [30] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [32] + }, + { + "lv": 8, + "cost": 50, + "needprecost": 0, + "params": [34] + }, + { + "lv": 9, + "cost": 50, + "needprecost": 0, + "params": [37] + }, + { + "lv": 10, + "cost": 60, + "needprecost": 0, + "params": [40] + } + ], + "master": 10, + "x": 1, + "y": 0.75, + "conflict": [20310,20303], + "preconditions": [{ + "id": 20300, + "needLv": 3 + }] + }, { + "id": 20305, + "name": "[精巧收尾]", + "desc": "炼制时不会生成四等灵药。", + "lvinfo": [ + { + "lv": 1, + "cost": 80, + "needprecost": 0, + "params": [] + } + ], + "master": 1, + "x": 1, + "y": 1.5, + "preconditions": [{ + "id": 20304, + "needLv": 3 + }] + }, { + "id": 20306, + "name": "[完美炼制]", + "desc": "炼制时不会生成三等灵药。", + "lvinfo": [ + { + "lv": 1, + "cost": 100, + "needprecost": 0, + "params": [] + } + ], + "master": 1, + "x": 1, + "y": 2.25, + "preconditions": [{ + "id": 20305, + "needLv": 1 + }, + { + "id": 20300, + "needLv": 5 + } + ] + }, { + "id": 20307, + "name": "[一级炼制术士]", + "desc": "炼制时不会生成二等灵药。", + "lvinfo": [ + { + "lv": 1, + "cost": 100, + "needprecost": 0, + "params": [] + } + ], + "master": 1, + "x": 1, + "y": 3, + "preconditions": [{ + "id": 20306, + "needLv": 1 + }, + { + "id": 20300, + "needLv": 5 + } + ] + }, { + "id": 20308, + "name": "[治愈精通]", + "desc": "拾取灵药时,恢复{0}%的生命值和魔法值。", + "lvinfo": [ + { + "lv": 1, + "cost": 20, + "needprecost": 0, + "params": [2] + }, + { + "lv": 2, + "cost": 20, + "needprecost": 0, + "params": [3] + }, + { + "lv": 3, + "cost": 20, + "needprecost": 0, + "params": [4] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [5] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [7] + }, + { + "lv": 6, + "cost": 40, + "needprecost": 0, + "params": [8] + }, + { + "lv": 7, + "cost": 40, + "needprecost": 0, + "params": [10] + } + ], + "master": 7, + "x": 2, + "y": 0.75, + "preconditions": [{ + "id": 20300, + "needLv": 3 + }] + }, { + "id": 20309, + "name": "[强化 - 治愈精通]", + "desc": "拾取灵药时,进入霸体状态{0}秒,进入无敌状态{1}秒。", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [5, 0] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [10, 0] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [13, 0] + }, + { + "lv": 4, + "cost": 30, + "needprecost": 0, + "params": [16, 0] + }, + { + "lv": 5, + "cost": 30, + "needprecost": 0, + "params": [20, 0] + }, + { + "lv": 6, + "cost": 50, + "needprecost": 0, + "params": [20, 0.2] + }, + { + "lv": 7, + "cost": 50, + "needprecost": 0, + "params": [20, 0.5] + } + ], + "master": 7, + "x": 2, + "y": 1.5, + "preconditions": [{ + "id": 20308, + "needLv": 3 + }] + }, { + "id": 20310, + "name": "[传说再现 - 守护]", + "desc": "高度成熟的炼制术有时会重现传说。
- 有{0}%的几率生成武具,而非灵药。
{1}", + "lvinfo": [ + { + "lv": 1, + "cost": 30, + "needprecost": 0, + "params": [1, ''] + }, + { + "lv": 2, + "cost": 30, + "needprecost": 0, + "params": [2, ''] + }, + { + "lv": 3, + "cost": 30, + "needprecost": 0, + "params": [3, ''] + }, + { + "lv": 4, + "cost": 20, + "needprecost": 0, + "params": [5, ''] + }, + { + "lv": 5, + "cost": 20, + "needprecost": 0, + "params": [10, ''] + }, + { + "lv": 6, + "cost": 30, + "needprecost": 0, + "params": [10, '
增强武具的效果。'] + }, + { + "lv": 7, + "cost": 30, + "needprecost": 0, + "params": [10, '
增强武具的效果。'] + } + ], + "master": 7, + "x": 2, + "y": 3, + "preconditions": [{ + "id": 20309, + "needLv": 3 + }, + { + "id": 20300, + "needLv": 5 + }], + "conflict": [20303,20304] + }, + ] +} +] + diff --git a/api/core/equipment/entry_0/amalgamationstone.py b/api/core/equipment/entry_0/amalgamationstone.py new file mode 100644 index 00000000..6de20730 --- /dev/null +++ b/api/core/equipment/entry_0/amalgamationstone.py @@ -0,0 +1,1390 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + + +def entry_1873(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[五感之幻景]@', '融合装备的强化/增幅从10开始每增加1,技能伤害+1%(最多叠加2次)', '攻击速度+5%', '施放速度+7.5%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + x = char.获取强化等级(['项链']) + if x > 10: + char.技能攻击力加成(x=0.01 * min(2, x-10)) + pass + if mode == 1: + pass + +def entry_3000(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.攻击速度增加(params[lv][0]/100) + char.施放速度增加(params[lv][1]/100) + pass + if mode == 1: + pass + + +def entry_1874(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '所有属性强化 +35', '', '@[怨恨之寒气]@', '生成冰龙,对敌人造成伤害,并使其进入冰冻状态', '- 冰龙伤害600%', '攻击时给予敌人5秒冰冻状态(冷却时间2秒)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.所有属性强化加成(35) + pass + if mode == 1: + pass + +def entry_3002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],params[lv][0]) + pass + if mode == 1: + pass + + +def entry_1875(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[时光倒流者]@', '施放技能时有10%几率使该技能冷却时间初始化(觉醒技能除外)', '- 可连续初始化相同技能'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1876(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4% ', '', '50,85,100级技能攻击力 +11%', '50,85,100级技能冷却恢复速度 +15%(辅助职业不适用)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.11) + if not (char.类型 == "辅助" or char.bufferCarry): + char.技能恢复加成(i,i,0.15) + pass + if mode == 1: + pass + +def entry_1877(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10% ', '', '@[镜甲]@', '被击中时适用以下效果', '- 在3秒内恢复所受伤害的30%(冷却时间3秒)', '- 对敌人造成反击伤害', ' * 反击伤害15000%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1878(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11.5% '] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1879(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11% ', '', '@[灵魂吸收]@', '每15秒吸收灵魂', '- 魔法值恢复15%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_1880(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -7% ', '所有属性强化 +7', '', '@[红兔的礼物]@', '施放技能时有7.77%几率使该技能攻击力+77%'] + if mode == 0: + char.技能冷却缩减(1,100,0.07,excName=char.觉醒技能) + char.所有属性强化加成(7) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_1881(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[五感之幻景]@', '融合装备的强化/增幅从10开始每增加1,技能伤害+1%(最多叠加2次)', '移动速度+5%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + x = char.获取强化等级(['戒指']) + if x > 10: + char.技能攻击力加成(x=0.01 * min(2, x-10)) + pass + if mode == 1: + pass + +def entry_3016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + +def entry_1882(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '所有属性强化 +35', '', '@[愤怒之寒气]@', '生成冰龙,对敌人造成伤害,并使其进入冰冻状态', '- 冰龙伤害600%', '攻击时给予敌人5秒冰冻状态(冷却时间2秒)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.所有属性强化加成(35) + pass + if mode == 1: + pass + +def entry_3018(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],params[lv][0]) + pass + if mode == 1: + pass + +def entry_1883(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10% ', '', '@[流淌的回忆]@', '施放技能时有1%的几率初始化1个技能冷却时间(辅助职业不适用)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_1884(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4% ', '', '50,85,100级技能攻击力 +11%', '50,85,100级技能冷却恢复速度+15%(辅助职业不适用)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.11) + if not (char.类型 == "辅助" or char.bufferCarry): + char.技能恢复加成(i,i,0.15) + pass + if mode == 1: + pass + + +def entry_1885(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[聚焦在我身上!]@', '- 技能伤害 +5%', '- 技能冷却时间 -10%(觉醒技能除外)', '- 获得霸体护甲', '- 生成聚光灯'] + if mode == 0: + char.技能攻击力加成(params[lv][1]/100) + char.辅助属性加成(buff量=params[lv][0]) + char.技能冷却缩减(1,100,0.1,excName=char.觉醒技能) + pass + if mode == 1: + pass + +def entry_1886(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[铲除异端]@', '将敌人定义为异端', '攻击异端时,技能伤害+11.5%'] + if mode == 0: + char.技能攻击力加成(params[lv][1]/100) + char.辅助属性加成(buff量=params[lv][0]) + pass + if mode == 1: + pass + +def entry_3026(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + pass + if mode == 1: + pass + +def entry_3027(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + pass + if mode == 1: + pass + +def entry_1887(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8% ', '', '@[团结的灵魂]@', '聊天输入“团结”时,消耗1个金色小晶块,应用“团结的灵魂”(冷却30秒)', '- 无敌2秒,期间无法行动'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_1888(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', '', '500px内队友所受物理/魔法伤害减少量+15%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1889(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', ' ', ' 技能魔法值消耗量+100%', '每秒恢复2%的魔法值'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.MP消耗量加成(1) + pass + if mode == 1: + pass + +def entry_1890(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4% ', ' ', '50,85,100级技能攻击力 +8%', '50,85,100级技能冷却时间恢复速度+15%(辅助职业除外)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.08) + if not (char.类型 == "辅助" or char.bufferCarry): + char.技能恢复加成(i,i,0.15) + pass + if mode == 1: + pass + +def entry_1891(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', ' ', '技能范围 +23%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3036(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+params[lv][0]/100) + char.multiply_eq_params('skill_range_multi',1+params[lv][0]/100) + pass + if mode == 1: + pass + +def entry_1892(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', ' ', '技能魔法值消耗量-30%', '攻击时有5%的概率触发,30秒内适用“召唤:记录的神兽”(冷却时间30秒)', '- 造成总攻击强化数值600%的伤害'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3039(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.MP消耗量加成(-params[lv][0]/100) + pass + if mode == 1: + pass + +def entry_1893(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', ' ', '移动速度+15%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3040(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + + +def entry_1894(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7% ', ' ', '敌人剩余HP少于50%时, 技能伤害+4%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3042(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + +def entry_1895(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5% ', ' ', '攻击时触发地爆。(冷却时间2秒)', ' -造成相当于总攻击力增加数值1200%的伤害'] + if mode == 0: + char.攻击强化加成(1200.0) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3045(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + + +def entry_1896(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4% ', ' ', '50,85,100级技能攻击力+8%', '50,85,100级技能冷却时间恢复速度+15%(辅助职业除外)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.08) + if not (char.类型 == "辅助" or char.bufferCarry): + char.技能恢复加成(i,i,0.15) + pass + if mode == 1: + pass + + +def entry_1897(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9% ', ' ', '生命值、魔法值上限+2000'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3048(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.所有速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + + +def entry_1898(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间-15%(不包含觉醒)', '施放技能时有8%的概率给自己施加等级10的[圣光守护]'] + if mode == 0: + char.技能冷却缩减(1,100,0.15,excName=char.觉醒技能) + char.技能攻击力加成(params[lv][0]/100) + char.攻击强化加成(500.0) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1899(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '移动速度 +10%', '每分钟回复920.4生命值'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3052(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + pass + if mode == 1: + pass + + +def entry_1900(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '', '攻击时向敌人施放冰锥。(冷却时间3秒,造成相当于总攻击强化数值1800%的伤害)', '攻击时,使敌人进入5秒的冰冻状态(冷却时间2秒)'] + if mode == 0: + char.攻击强化加成(1200.0) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3055(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],params[lv][0]) + pass + if mode == 1: + pass + + +def entry_1901(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -18%(觉醒技能除外)', '所有属性抗性 +5'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.技能冷却缩减(1,100,0.18,excName=char.觉醒技能) + + pass + if mode == 1: + pass + +def entry_3056(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.所有属性抗性加成(params[lv][0]) + if mode == 1: + pass + +def entry_1902(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '', '50,85,100级技能攻击力 +8%', '50,85,100级技能冷却时间恢复速度 +15%(辅助职业除外)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.08) + if not (char.类型 == "辅助" or char.bufferCarry): + char.技能恢复加成(i,i,0.15) + pass + if mode == 1: + pass + + +def entry_1903(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '所有速度+5% ', '所受物理/魔法伤害减少值 +25%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1904(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '所有属性抗性+25'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.所有属性抗性加成(25) + pass + if mode == 1: + pass + +def entry_3062(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.所有属性抗性加成(params[lv][0]) + if mode == 1: + pass + +def entry_3063(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1905(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '技能范围 +7%', '生命值最大值 +5% '] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3064(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+params[lv][0]/100) + char.multiply_eq_params('skill_range_multi',1+params[lv][0]/100) + if mode == 1: + pass + +def entry_1906(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '物理/魔法暴击率 +5%', ' 回避率+20%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1907(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[千钧一发]@', '技能命中时,有1%概率增加技能攻击力1000%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1908(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['85级技能攻击力增加30%', '85级技能冷却恢复速度增加100%(BUFF增益技能除外)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.技能倍率加成(85,85,0.3) + char.技能恢复加成(85,85,1) + pass + if mode == 1: + pass + +def entry_3071(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1909(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[契约爆发 - 灼烧/感电]@', '施加灼烧/感电状态时,一次性结算与该状态相同的异常状态伤害', '- 通过转换属性施加状态时不适用'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.set_eq_params('灼伤-结算', 1.0) + char.set_eq_params('感电-结算', 1.0) + pass + if mode == 1: + pass + +def entry_3073(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1910(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '攻击时施加必中一击。(冷却时间2秒)', '- 伤害量为总攻击强化的1200%', '攻击时赋予5秒的束缚状态(冷却时间2秒)'] + if mode == 0: + char.攻击强化加成( 1200.0) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3075(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + if mode == 1: + pass + +def entry_1911(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '5秒内生成生命值最大值10%的保护罩(冷却时间5秒)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3076(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + params[lv][0]/100) + if mode == 1: + pass + +def entry_1912(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时, 赋予火、冰、光、暗攻击属性(冷却时间5秒)'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3079(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1913(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '死亡时1秒内发动永生咒术(冷却时间120秒)', '- 立即恢复1%生命值', '- 其他HP恢复效果及伤害无效', '生命值最大值 +1000', '魔法值最大值 +1000'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1914(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '恢复魔法值消耗量的20%的生命值'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1915(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[契约爆发 - 出血/中毒]@', '施加出血/中毒状态时,一次性结算与该状态相同的异常状态伤害', '- 通过转换属性施加状态时不适用'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + char.set_eq_params('出血-结算', 1.0) + char.set_eq_params('中毒-结算', 1.0) + pass + if mode == 1: + pass + +def entry_3085(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1916(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '攻击时施加元素爆炸。(冷却时间2秒)', '- 伤害量为总攻击强化的600%', '攻击时赋予5秒的眩晕状态(冷却时间2秒)'] + if mode == 0: + char.攻击强化加成(1200.0) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3087(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + if mode == 1: + pass + +def entry_1917(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '移动速度+20%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3088(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + +def entry_1918(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '魔法/物理暴击率 +5%', '魔法/物理所受伤害减少量 +20%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1919(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '赋予霸体效果', '所有速度 +8%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_3092(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.移动速度增加(params[lv][0]/100) + if mode == 1: + pass + + +def entry_3093(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + for i in ['出血', '灼伤', '中毒', '感电']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],params[lv][0]) + if mode == 1: + pass + +def entry_1920(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '技能范围 +7%', ' 物理/魔法防御力 +10000'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_3094(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+params[lv][0]/100) + char.multiply_eq_params('skill_range_multi',1+params[lv][0]/100) + if mode == 1: + pass + +def entry_1921(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '命中率 +10%', '所有异常状态抗性 +5%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3096(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + char.所有异常抗性加成(params[lv][0]/100) + if mode == 1: + pass + +def entry_1922(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '攻击时施加时空斩。(冷却时间2秒)', ' - 伤害为总攻击强化的1800%', '攻击时赋予5秒的冰冻状态(冷却时间2秒)'] + if mode == 0: + char.攻击强化加成(1200) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + +def entry_3099(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],params[lv][0]) + pass + if mode == 1: + pass + + +def entry_1923(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +1%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1924(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1925(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1926(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1927(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +350.0%'] + if mode == 0: + char.攻击强化加成(350) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1928(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +700.0%'] + if mode == 0: + char.攻击强化加成(700) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1929(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +1050.0%'] + if mode == 0: + char.攻击强化加成(1050) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1930(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +1400.0%'] + if mode == 0: + char.攻击强化加成(1400) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1931(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +6'] + if mode == 0: + char.所有属性强化加成(6) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1932(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10'] + if mode == 0: + char.所有属性强化加成(10) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1933(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +14'] + if mode == 0: + char.所有属性强化加成(14) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1934(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +18'] + if mode == 0: + char.所有属性强化加成(18) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1935(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +8'] + if mode == 0: + char.所有属性强化加成(火属性强化=8) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1936(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +12'] + if mode == 0: + char.所有属性强化加成(火属性强化=12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1937(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +16'] + if mode == 0: + char.所有属性强化加成(火属性强化=16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1938(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +20'] + if mode == 0: + char.所有属性强化加成(火属性强化=20) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1939(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +8'] + if mode == 0: + char.所有属性强化加成(冰属性强化=8) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1940(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +12'] + if mode == 0: + char.所有属性强化加成(冰属性强化=12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1941(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +16'] + if mode == 0: + char.所有属性强化加成(冰属性强化=16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1942(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +20'] + if mode == 0: + char.所有属性强化加成(冰属性强化=20) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1943(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +8'] + if mode == 0: + char.所有属性强化加成(光属性强化=8) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1944(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +12'] + if mode == 0: + char.所有属性强化加成(光属性强化=12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1945(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +16'] + if mode == 0: + char.所有属性强化加成(光属性强化=16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1946(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +20'] + if mode == 0: + char.所有属性强化加成(光属性强化=20) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1947(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +8'] + if mode == 0: + char.所有属性强化加成(暗属性强化=8) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1948(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +12'] + if mode == 0: + char.所有属性强化加成(暗属性强化=12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1949(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +16'] + if mode == 0: + char.所有属性强化加成(暗属性强化=16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1950(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +20'] + if mode == 0: + char.所有属性强化加成(暗属性强化=20) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1951(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +8%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.08) + char.multiply_eq_params('skill_range_multi',1.08) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1952(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +12%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.12) + char.multiply_eq_params('skill_range_multi',1.12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1953(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +16%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.16) + char.multiply_eq_params('skill_range_multi',1.16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1954(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +20%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.2) + char.multiply_eq_params('skill_range_multi',1.2) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1955(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +8'] + if mode == 0: + char.所有属性抗性加成(8) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1956(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +12'] + if mode == 0: + char.所有属性抗性加成(12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1957(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +16'] + if mode == 0: + char.所有属性抗性加成(16) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1958(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +20'] + if mode == 0: + char.所有属性抗性加成(20) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1959(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +3%'] + if mode == 0: + char.所有速度增加(0.03) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1960(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +6%'] + if mode == 0: + char.所有速度增加(0.06) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1961(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +9%'] + if mode == 0: + char.所有速度增加(0.09) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1962(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +12%'] + if mode == 0: + char.所有速度增加(0.12) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1963(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['增益量 750'] + if mode == 0: + char.辅助属性加成(buff量=750) + if char.bufferCarry: + char.技能攻击力加成(0.01) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1964(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['增益量 900'] + if mode == 0: + char.辅助属性加成(buff量=900) + if char.bufferCarry: + char.技能攻击力加成(0.02) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1965(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['增益量 1050'] + if mode == 0: + char.辅助属性加成(buff量=1050) + if char.bufferCarry: + char.技能攻击力加成(0.03) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass + + +def entry_1966(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['增益量 1200'] + if mode == 0: + char.辅助属性加成(buff量=1200) + if char.bufferCarry: + char.技能攻击力加成(0.04) + char.技能攻击力加成(params[lv][0]/100) + char.辅助属性加成(buff量=params[lv][1]) + pass + if mode == 1: + pass \ No newline at end of file diff --git a/api/core/equipment/entry_0/asrahan.py b/api/core/equipment/entry_0/asrahan.py new file mode 100644 index 00000000..329f9b79 --- /dev/null +++ b/api/core/equipment/entry_0/asrahan.py @@ -0,0 +1,257 @@ +from core.basic.property import CharacterProperty +import core.equipment.entry_0.params as pa + +asrahan_infos = [{ + "type":0, + "name":"雷电", + "desc": "增益量 {0}
攻击强化 +{1}%
技能伤害 +{2}%

@[天雷加速]@
接收天雷之力,所有速度 +{3}%

@[过度填充]@
天雷超负荷状态下攻击时,会发动电击。 (冷却时间{4}秒)
- 电击伤害量{5}%", + "lvinfo": [ + {"lv":1,"params":[380,0,3,15,0,0]}, + {"lv":2,"params":[399,35,3,15,0,0]}, + {"lv":3,"params":[418,70,3,15,0,0]}, + {"lv":4,"params":[437,105,3,15,0,0]}, + {"lv":5,"params":[817,105,5,25,0,0]}, + {"lv":6,"params":[836,140,5,25,0,0]}, + {"lv":7,"params":[855,175,5,25,0,0]}, + {"lv":8,"params":[874,210,5,25,0,0]}, + {"lv":9,"params":[893,245,5,25,0,0]}, + {"lv":10,"params":[1273,245,7,25,5,3053]}, + {"lv":11,"params":[1292,280,7,25,5,3053]}, + {"lv":12,"params":[1311,315,7,25,5,3053]}, + {"lv":13,"params":[1330,350,7,25,5,3053]}, + {"lv":14,"params":[1349,385,7,25,5,3053]}, + {"lv":15,"params":[1729,385,9,25,3,3053]}, + {"lv":16,"params":[1748,420,9,25,3,3053]}, + {"lv":17,"params":[1767,455,9,25,3,3053]}, + {"lv":18,"params":[1786,490,9,25,3,3053]}, + {"lv":19,"params":[1805,525,9,25,3,3053]}, + {"lv":20,"params":[1824,525,9,25,3,3053]}, + ], + "prefix":"雷 : ", + "max":"增益量 380

@[狂舞之雷]@
进入地下城时,重现狂舞之雷。
- 技能伤害 +5%
- 所有速度 +30%
- 电击发动冷却时间 -2秒" + },{ + "type":1, + "name":"清风", + "desc": "增益量 {0}
攻击强化 +{1}%
50、85、100级主动技能攻击力 +{2}%

@[肆虐风暴]@
施放觉醒技能时,生成{5}个攻击敌人的肆虐风暴。
- 肆虐风暴伤害量{3}%

@[风神庇佑]@
受到风神庇佑,所有速度 +{4}%", + "lvinfo": [ + {"lv":1,"params":[380,0,10,4585,0,1]}, + {"lv":2,"params":[399,35,10,4585,0,1]}, + {"lv":3,"params":[418,70,10,4585,0,1]}, + {"lv":4,"params":[437,105,10,4585,0,1]}, + {"lv":5,"params":[817,105,17,4585,15,1]}, + {"lv":6,"params":[836,140,17,4585,15,1]}, + {"lv":7,"params":[855,175,17,4585,15,1]}, + {"lv":8,"params":[874,210,17,4585,15,1]}, + {"lv":9,"params":[893,245,17,4585,15,1]}, + {"lv":10,"params":[1273,245,24,9170,15,1]}, + {"lv":11,"params":[1292,280,24,9170,15,1]}, + {"lv":12,"params":[1311,315,24,9170,15,1]}, + {"lv":13,"params":[1330,350,24,9170,15,1]}, + {"lv":14,"params":[1349,385,24,9170,15,1]}, + {"lv":15,"params":[1729,385,31,9170,15,2]}, + {"lv":16,"params":[1748,420,31,9170,15,2]}, + {"lv":17,"params":[1767,455,31,9170,15,2]}, + {"lv":18,"params":[1786,490,31,9170,15,2]}, + {"lv":19,"params":[1805,525,31,9170,15,2]}, + {"lv":20,"params":[1824,525,31,9170,15,2]} + ], + "prefix":"风 : ", + "max":"增益量 380

@[苍穹之风]@
进入地下城时,重现苍穹之风。
- 技能伤害 +2%
- 50、85、100级主动技能攻击力 +7%
- 获得生命值最大值30%数值的保护罩
- 攻击时,生成肆虐风暴。 (冷却时间3秒)" + }, + { + "type":2, + "name":"白雪", + "desc": "增益量 {0}
攻击强化 +{1}%
技能冷却时间恢复速度 +{2}% (觉醒技能除外)
所有速度 +10%

@[命运卡牌]@
每10秒抽取一次命运卡牌,根据卡牌赋予效果。

* 红日之命运(50%)
- 回避率 +{3}%

* 蓝月之命运(50%)
- 物理/魔法所受伤害 -{4}%

* 耀星之命运 ({5}%)
- 回避率 +20%
- 物理/魔法所受伤害 -20%", + "lvinfo": [ + {"lv":1,"params":[380,0,11,10,10,0]}, + {"lv":2,"params":[399,35,11,10,10,0]}, + {"lv":3,"params":[418,70,11,10,10,0]}, + {"lv":4,"params":[437,105,11,10,10,0]}, + {"lv":5,"params":[817,105,21,15,15,0]}, + {"lv":6,"params":[836,140,21,15,15,0]}, + {"lv":7,"params":[855,175,21,15,15,0]}, + {"lv":8,"params":[874,210,21,15,15,0]}, + {"lv":9,"params":[893,245,21,15,15,0]}, + {"lv":10,"params":[1273,245,31,15,15,10]}, + {"lv":11,"params":[1292,280,31,15,15,10]}, + {"lv":12,"params":[1311,315,31,15,15,10]}, + {"lv":13,"params":[1330,350,31,15,15,10]}, + {"lv":14,"params":[1349,385,31,15,15,10]}, + {"lv":15,"params":[1729,385,41,15,15,30]}, + {"lv":16,"params":[1748,420,41,15,15,30]}, + {"lv":17,"params":[1767,455,41,15,15,30]}, + {"lv":18,"params":[1786,490,41,15,15,30]}, + {"lv":19,"params":[1805,525,41,15,15,30]}, + {"lv":20,"params":[1824,525,41,15,15,30]} + ], + "prefix":"霜 : ", + "max":"增益量 380

@[命运之雪]@
进入地下城时,重现命运之雪。
- 技能伤害 +2%
- 技能冷却时间恢复速度 +20% (觉醒技能除外)
- 适用耀星之命运效果" + },{ + "type":3, + "name":"业火", + "desc": "增益量 {0}
攻击强化 +{1}%
技能伤害 +{2}%

@[火焰绽裂]@
攻击时,施放火焰绽裂。 (冷却时间{3}秒)
- 火焰绽裂伤害量{4}%

@[火焰回响]@
施放3次火焰绽裂时,追加施放{5}次火焰绽裂。", + "lvinfo": [ + {"lv":1,"params":[380,0,3,3,2751,0]}, + {"lv":2,"params":[399,35,3,3,2751,0]}, + {"lv":3,"params":[418,70,3,3,2751,0]}, + {"lv":4,"params":[437,105,3,3,2751,0]}, + {"lv":5,"params":[817,105,5,3,5502,0]}, + {"lv":6,"params":[836,140,5,3,5502,0]}, + {"lv":7,"params":[855,175,5,3,5502,0]}, + {"lv":8,"params":[874,210,5,3,5502,0]}, + {"lv":9,"params":[893,245,5,3,5502,0]}, + {"lv":10,"params":[1273,245,7,3,5502,1]}, + {"lv":11,"params":[1292,280,7,3,5502,1]}, + {"lv":12,"params":[1311,315,7,3,5502,1]}, + {"lv":13,"params":[1330,350,7,3,5502,1]}, + {"lv":14,"params":[1349,385,7,3,5502,1]}, + {"lv":15,"params":[1729,385,9,2,5502,1]}, + {"lv":16,"params":[1748,420,9,2,5502,1]}, + {"lv":17,"params":[1767,455,9,2,5502,1]}, + {"lv":18,"params":[1786,490,9,2,5502,1]}, + {"lv":19,"params":[1805,525,9,2,5502,1]}, + {"lv":20,"params":[1824,525,9,2,5502,1]} + ], + "prefix":"焰 : ", + "max":"增益量 380

@[爆裂之火]@
进入地下城时,重现爆裂之火。
- 技能伤害 +5%
- 技能范围 +30%
- 强化的火焰绽裂冷却时间 -1秒" + }, + { + "type":4, + "name":"流水", + "desc": "增益量 {0}
攻击强化 +{1}%
技能伤害 +{2}%

@[四季的祝福]@
激活四季的祝福,强化自身并给所有队员赋予50%效果的祝福。
- 相同的祝福无法叠加

* 暖春的祝福
- 技能伤害 +{3}%

* 盛夏的祝福
- 每10秒恢复{4}%的生命值和魔法值,持续10秒。

* 金秋的祝福
- 物理/魔法所受伤害 -{5}%

* 凛冬的祝福
- 所有速度 +{6}%", + "lvinfo": [ + {"lv":1,"params":[380,0,2,1,0,0,0]}, + {"lv":2,"params":[399,35,2,1,0,0,0]}, + {"lv":3,"params":[418,70,2,1,0,0,0]}, + {"lv":4,"params":[437,105,2,1,0,0,0]}, + {"lv":5,"params":[817,105,4,1,10,0,0]}, + {"lv":6,"params":[836,140,4,1,10,0,0]}, + {"lv":7,"params":[855,175,4,1,10,0,0]}, + {"lv":8,"params":[874,210,4,1,10,0,0]}, + {"lv":9,"params":[893,245,4,1,10,0,0]}, + {"lv":10,"params":[1273,245,6,1,10,10,0]}, + {"lv":11,"params":[1292,280,6,1,10,10,0]}, + {"lv":12,"params":[1311,315,6,1,10,10,0]}, + {"lv":13,"params":[1330,350,6,1,10,10,0]}, + {"lv":14,"params":[1349,385,6,1,10,10,0]}, + {"lv":15,"params":[1729,385,8,1,10,10,10]}, + {"lv":16,"params":[1748,420,8,1,10,10,10]}, + {"lv":17,"params":[1767,455,8,1,10,10,10]}, + {"lv":18,"params":[1786,490,8,1,10,10,10]}, + {"lv":19,"params":[1805,525,8,1,10,10,10]}, + {"lv":20,"params":[1824,525,8,1,10,10,10]}, + ], + "prefix":"雨 : ", + "max":"增益量 380

@[四季之歌]@
进入地下城时,重现四季之歌。
- 技能伤害 +5%
- 韧性条减少量 +10%
- 赋予队友100%效果的[四季的祝福]" + }, { + "type":5, + "name":"失衡", + "desc": "增益量 {0}
攻击强化 +{1}%
技能伤害 +{2}%

物理/魔法暴击率 +{3}%

移动速度 +{4}%

攻击速度 +{5}%
施放速度 +{5}%

所有属性强化 +{6}", + "lvinfo": [ + {"lv":1,"params":[380,0,3,5,0,0,0]}, + {"lv":2,"params":[399,35,3,5,0,0,0]}, + {"lv":3,"params":[418,70,3,5,0,0,0]}, + {"lv":4,"params":[437,105,3,5,0,0,0]}, + {"lv":5,"params":[817,105,5,5,15,0,0]}, + {"lv":6,"params":[836,140,5,5,15,0,0]}, + {"lv":7,"params":[855,175,5,5,15,0,0]}, + {"lv":8,"params":[874,210,5,5,15,0,0]}, + {"lv":9,"params":[893,245,5,5,15,0,0]}, + {"lv":10,"params":[1273,245,7,5,15,15,0]}, + {"lv":11,"params":[1292,280,7,5,15,15,0]}, + {"lv":12,"params":[1311,315,7,5,15,15,0]}, + {"lv":13,"params":[1330,350,7,5,15,15,0]}, + {"lv":14,"params":[1349,385,7,5,15,15,0]}, + {"lv":15,"params":[1729,385,7,5,15,15,14]}, + {"lv":16,"params":[1748,420,7,5,15,15,14]}, + {"lv":17,"params":[1767,455,7,5,15,15,14]}, + {"lv":18,"params":[1786,490,7,5,15,15,14]}, + {"lv":19,"params":[1805,525,7,5,15,15,14]}, + {"lv":20,"params":[1824,525,7,5,15,15,14]} + ], + "prefix":"失衡 : ", + "max":"增益量 380

@[失衡之契]@
进入地下城时,重现失衡之契。
- 技能伤害 +5%
- 攻击时,恢复1%的生命值和魔法值。 (冷却时间1秒)" + } +] + +def asrahan_effect(char: CharacterProperty = {}, type=-1,lv = 0,additional=0): + if type < 0 or lv + additional == 0: + return + char.技能攻击力加成(0.01*additional) + char.辅助属性加成(buff量=190*additional) + lastLv = lv + additional + params = asrahan_infos[type]["lvinfo"][lastLv-1]["params"] + # 基础属性部分 + char.辅助属性加成(buff量=params[0]) + char.攻击强化加成(params[1]) + # 金 + if type == 0: + char.技能攻击力加成(params[2]/100) + if lastLv >= 1: + char.所有速度增加(0.15,'武器') + if lastLv >= 5: + char.所有速度增加(0.1,'武器') + if lastLv >= 20: + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + char.技能攻击力加成( 0.05) + char.所有速度增加(0.3,'武器') + # 木 + if type == 1: + for i in [50,85,100]: + char.技能倍率加成(i,i,params[2]/100) + if lastLv >= 5: + char.所有速度增加(0.15,'武器') + if lastLv >= 20: + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + char.技能攻击力加成(0.02) + for i in [50,85,100]: + char.技能倍率加成(i,i,0.07*pa.ws_rate) + # 水 + if type == 2: + char.技能恢复加成(1,100,params[2]/100, excName=char.觉醒技能) + if lastLv >= 1: + char.所有速度增加(0.1,'武器') + if lastLv >= 20: + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + char.技能攻击力加成(0.02) + char.技能恢复加成(1,100,0.2, excName=char.觉醒技能) + # 火 + if type == 3: + char.技能攻击力加成(params[2]/100) + if lastLv >= 20: + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + char.技能攻击力加成(0.05) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+ 0.3) + char.multiply_eq_params('skill_range_multi',1+ 0.3) + # 土 + if type == 4: + char.技能攻击力加成(params[2]/100) + if lastLv >= 1: + char.技能攻击力加成(0.01) + if char.类型 == '辅助': + char.被动增伤倍率 *= 1 + 0.005 + 0.005 * (pa.ws_rate if lastLv >= 20 else 0) + if lastLv >= 15: + char.所有速度增加(0.1,'武器') + if lastLv >= 20: + char.技能攻击力加成( 0.05) + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + # 失调 + if type == 5: + char.技能攻击力加成(params[2]/100) + if lastLv >= 5: + char.移动速度增加(0.15) + if lastLv >= 10: + char.施放速度增加(0.15) + char.攻击速度增加(0.15,'武器') + if lastLv >= 15: + char.所有属性强化加成(14) + if lastLv >= 20: + char.技能攻击力加成(0.05) + if char.类型 == '辅助': + char.辅助属性加成(buff量=380) + # char.所有速度增加( 0.3,'武器') \ No newline at end of file diff --git a/api/core/equipment/entry_0/customize.py b/api/core/equipment/entry_0/customize.py new file mode 100644 index 00000000..529b1f51 --- /dev/null +++ b/api/core/equipment/entry_0/customize.py @@ -0,0 +1,5121 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +# 固定装备:和平之翼长裤 , 冤魂的执念上衣 , 混沌之幕护腿 , 死亡蚕食胸甲 , 熔丝项链 , 无尽的痛苦之戒 , 暗影之迹短靴 , 生命本源背包 , 缥缈的知识 , 心之潜影 , 虚影幻息眼镜 , 梦之呼唤 , 摇曳的生命之水 , 空战型 : 战术螺旋桨无人机 , 自然灵息露珠 , 诅咒之心 , 生机盎然的绿宝石 , 未知文明 - 星石 , 不败奖牌 , 逆流之魂灵珠 , 和平捍卫者 , 灵犀之音耳环 , 未知文明 - 人面石 , 不倦旅程护腿 , 天才技术大师的研究服上衣 , 高科技战术腰带 , 守护之王者铠甲 , 信念之喘息腰带 , 摇曳的残影短靴 , 大地之翼腰带 , 高科技御敌肩甲 , 音律的夙愿 , 和谐之音手镯 , 灿若繁星手镯 , 迟钝的感知手镯 , 温柔的旋律 , 光学工程眼镜 , 铭记长夜的黎明 , 愈合伤痕的誓言 , 爆龙王的支配 - 武力 , 爆龙王的支配 - 恐怖 , 吞噬本源矛 , 吞噬本源棍棒 , 吞噬本源魔杖 , 吞噬本源法杖 , 吞噬本源扫把 , 雾之意志追随者上衣 , 守望者之证 , 想象力充沛的工程师衬衫 , 机械工程学的精髓 , 守护之坚忍 , 穿云破雾之光 +# 自定义装备:公共词条 +def entry_1(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +600'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:吞噬本源匕首 , 吞噬本源双剑 , 吞噬本源手杖 , 吞噬本源苦无 , 吞噬本源神弦弓 , 吞噬本源玄机弓 , 知海沉舟 , 记录者的宝石 , 守护之坚忍 , 吞噬本源强攻弩 , 吞噬本源妖影弓 +# 自定义装备:公共词条 +def entry_2(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +5%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的加厚长靴 , 天才技术大师的百宝腰带 , 堕落的灵魂 , 空战型 : 战术螺旋桨无人机 , 吞噬黑暗的心脏 , 双面星云皮大衣 , 和谐之音手镯 , 重奏者 , 隐没的邪念戒指 , 永不停歇的命运 , 雷达战网戒指 , 永眠前的准备 , 胜利约定之时 , 庇护伤痛的威严 , 愈合伤痕的誓言 , 爆龙王的支配 - 武力 , 吞噬本源手套 , 吞噬本源臂铠 , 吞噬本源爪 , 吞噬本源拳套 , 吞噬本源东方棍 , 世界的中心轴 , 忘却之记载 , 想象力充沛的工程师长裤 , 机械工程学核心项链 , 幻想骑士战靴 , 被侵蚀的高原之精髓 , 机械工程学的精髓 +# 自定义装备:公共词条 +def entry_3(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['魔法值最大值 +945'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:金属齿轮护肩 , 吞噬本源长刀 , 吞噬本源小太刀 , 吞噬本源重剑 , 吞噬本源源力剑 , 守望溪谷的注视 , 守望溪谷的行动 +# 自定义装备:公共词条 +def entry_4(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['魔法值最大值 +5%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的保护面罩 , 冤魂的执念上衣 , 混沌之幕护腿 , 熔丝项链 , 魔力抑制手镯 , 子夜的圣域 , 玉化亡灵肩甲 , 炙热之情宝石 , 和平捍卫者 , 诅咒的枷锁 , 隐匿之叹息耳环 , 灵犀之音耳环 , 徘徊之魄耳环 , 轰天裂地石甲 , 暴走之躯战靴 , 高科技战术护腿 , 华丽的清音护肩 , 高科技战术指挥上衣 , 玉化亡灵腰甲 , 高贵的神意上衣 , 音律的夙愿 , 万念俱灰短靴 , 电离掌控手镯 , 残忍之心项链 , 石巨人之心项链 , 脉冲触发器 , 风化的恶意 , 生命的脉动 , 骑士的赎罪 , 温柔的旋律 , 磁场探测者戒指 , 隐没的邪念戒指 , 瞬息千里戒指 , 超小型GPS , 机械装甲下装 , 指引胜利的正义 , 鲁莽而合理的作战 , 含泪之宝石 , 吞噬本源左轮枪 , 吞噬本源自动手枪 , 吞噬本源步枪 , 吞噬本源手炮 , 吞噬本源手弩 , 雾之意志追随者上衣 , 雾之意志追随者下装 , 守望溪谷的注视 , 传令使的祝福 , 想象力充沛的工程师衬衫 , 忠诚骑士腰带 , 守望溪谷的标志 , 穿云破雾之光 +# 自定义装备:公共词条 +def entry_5(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +7000'] + if mode == 0: + char.add_eq_params('defense',7000) + pass + if mode == 1: + pass + + +# 固定装备:吞噬本源长枪 , 吞噬本源战戟 , 吞噬本源光枪 , 吞噬本源暗矛 +# 自定义装备:公共词条 +def entry_6(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +5%'] + if mode == 0: + char.add_eq_params('defense_ratio',0.05) + pass + if mode == 1: + pass + + +# 固定装备:灵巧的支配者护肩 , 恐惧缠绕腰带 , 全能主宰者之戒 , 德卡制导装置 , 无色冰晶耳环 , 挖掘之王部件 , 猎龙者之证 - 龙骨角笛 , 未知的黄金石碑 , 陆战型 : 战术车轮无人机 , 猎龙者之证 - 龙心加工石 , 脉冲之源耳环 , 猎龙者 , 暴走之躯战靴 , 黑暗吞噬短靴 , 御力装甲上衣 , 苍龙闪影护腿 , 沧海之覆护腿 , 远古之法则护肩 , 骄傲的意志腰带 , 大地之翼腰带 , 玉化亡灵胸甲 , 龙食腐者 , 天翼之守护短靴 , 无人机战术手镯 , 守护龙的庇护 - 慈悲 , 迟钝的感知手镯 , 守护龙的庇护 - 勇气 , 浮光跃金项链 , 骑士的赎罪 , 守护龙的庇护 - 祝福 , 双音交映戒指 , 能量搜索环 , 增援号令腰带 , 混乱核心胸甲 , 金属齿轮护肩 , 战胜噩梦的捷报 , 爆龙王的支配 - 压制 , 终结之龙玉 , 临界崩坏之隙 , 知海沉舟 , 邪恶力量侵蚀手镯 , 雾之探索者戒指 , 守望者之证 , 俯瞰夜色的工程师之眼 , 被侵蚀的神兽之泪 , 守望溪谷的标志 , 时间工程学的时刻 , 永不放弃的勇气 +# 自定义装备:公共词条 +def entry_7(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +5%'] + if mode == 0: + char.物理暴击率增加(0.05) + char.魔法暴击率增加(0.05) + if mode == 1: + pass + + +# 固定装备:六方式脉冲肩甲 , 金翼戒指 , 全能主宰者之戒 , 遥感之心项链 , 原核之芯耳环 , 黄昏殿堂 , 生命的喘息 , 黑猫头盔 , 梵塔黑色长裤 , 静谧之像 , 无色冰晶耳环 , 全息通话器 , 千里之音手镯 , 未知的黄金石碑 , 诅咒之心 , 奔涌之息宝石 , 猎龙者 , 苍龙闪影护腿 , 静谧的星光腰带 , 龙之开拓者短靴 , 大地的践踏短靴 , 祈愿之息短靴 , 暗影流光战袍 , 玉化亡灵腿甲 , 龙食腐者 , 动力之渊腰带 , 无人机战术手镯 , 收获之手 , 浮光跃金项链 , 超小型GPS , 动力导航包 , 冷静的谋略家上衣 , 炽热的渴望之证 , 终结永恒时光的夙愿 , 告别过去的前进 , 触手可及之记忆 , 超界次元 , 邪恶力量侵蚀手镯 , 传令使的祝福 , 想象力充沛的工程师长裤 , 想象力充沛的工程师工作腰带 , 被侵蚀的神兽之泪 , 守护晴烟之力 +# 自定义装备:公共词条 +def entry_8(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +8%', '施放速度 +12%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.08) + char.施放速度增加(0.12) + if mode == 1: + pass + + +# 固定装备:天才技术大师的加厚长靴 , 全息通话器 , 死亡之冠 , 不祥的暗纹石板 , 正义骑士面具 , 逆流之魂灵珠 , 万物引力耳环 , 爆炸型 : 小型战术信号弹 , 古老的探险家大衣 , 不倦旅程护腿 , 无畏的勇气短靴 , 华丽的清音护肩 , 静谧的星光腰带 , 龙之开拓者短靴 , 摇曳的残影短靴 , 大地的践踏短靴 , 祈愿之息短靴 , 玉化亡灵腰甲 , 玉化亡灵胸甲 , 玉化亡灵腿甲 , 终极掌控者护腿 , 天才技术大师的百宝裤 , 天翼之守护短靴 , 玉化亡灵长靴 , 电离掌控手镯 , 五感之灵项链 , 双音交映戒指 , 完成型动力控制装置 , 指引胜利的正义 , 胜利约定之时 , 生息之壶觞 , 如流岁月 , 忘却之记载 , 雾之意志追随者下装 , 雾之探索者腰带 , 雾之意志追随者鞋 , 想象力充沛的工程师工作腰带 , 想象力充沛的工程师防护鞋 , 封存时空的手镯 , 压倒性之勇猛 , 守护晴烟之力 +# 自定义装备:公共词条 +def entry_9(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +8%'] + if mode == 0: + char.移动速度增加(0.08) + if mode == 1: + pass + + +# 固定装备:黯星项链 , 德卡制导装置 , 迷你电池包 , 生命的喘息 , 堕落的灵魂 , 千丝萦绕腰带 , 暗影之迹短靴 , 黑猫头盔 , 梵塔黑色长裤 , 子夜的圣域 , 千里之音手镯 , 黎明圣杯 , 猎龙者之证 - 龙骨角笛 , 陆战型 : 战术车轮无人机 , 猎龙者之证 - 龙心加工石 , 吞噬风暴耳环 , 脉冲之源耳环 , 隐匿的自然生命 , 深渊之源上衣 , 无畏的勇气短靴 , 屠龙者 , 舞台的华丽 , 望穿尽头的视线 , 远古之法则护肩 , 应尽之责腰带 , 暴风骑士 , 高科技御敌肩甲 , 骑士的救赎 , 守护龙的庇护 - 慈悲 , 收获之手 , 脉冲触发器 , 守护龙的庇护 - 勇气 , 闪耀的音律 , 石巨人之枢戒指 , 守护龙的庇护 - 祝福 , 完成型动力控制装置 , 光学工程眼镜 , 冷静的谋略家上衣 , 欢笑中的祈盼 , 战胜噩梦的捷报 , 爆龙王的支配 - 压制 , 吞噬本源十字架 , 吞噬本源念珠 , 吞噬本源图腾 , 吞噬本源镰刀 , 吞噬本源战斧 , 命运的领航标 , 遥远之刻痕 , 雾之意志追随者鞋 , 想象力充沛的工程师防护鞋 , 俯瞰夜色的工程师之眼 , 压倒性之勇猛 , 悲蚀之神兽面纱 , 时间工程学的时刻 , 永不放弃的勇气 +# 自定义装备:公共词条 +def entry_10(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['命中率 +10%'] + if mode == 0: + char.命中率增加(0.1) + if mode == 1: + pass + + +# 固定装备:天才技术大师的保护面罩 , 迷你电池包 , 玉化亡灵肩甲 , 黎明圣杯 , 死亡之冠 , 梦之呼唤 , 灵动的慧眼 , 吞噬风暴耳环 , 万物引力耳环 , 徘徊之魄耳环 , 轰天裂地石甲 , 舞台的华丽 , 望穿尽头的视线 , 高科技战术指挥上衣 , 终极掌控者护腿 , 天才技术大师的百宝裤 , 玉化亡灵长靴 , 万念俱灰短靴 , 骑士的救赎 , 磁场探测者戒指 , 石巨人之枢戒指 , 永恒的心愿 , 炽热的渴望之证 , 吞噬本源长刀 , 吞噬本源小太刀 , 吞噬本源重剑 , 吞噬本源源力剑 , 吞噬本源神弦弓 , 吞噬本源玄机弓 , 铭刻记忆之星尘 , 如流岁月 , 虚蚀之神兽斗篷 , 雾之探索者腰带 , 封存时空的手镯 , 铭刻之誓约 , 悲蚀之神兽面纱 , 记录者的宝石 , 吞噬本源强攻弩 , 吞噬本源妖影弓 +# 自定义装备:公共词条 +def entry_11(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['回避率 +8%'] + if mode == 0: + char.回避率增加(0.08) + if mode == 1: + pass + + +# 固定装备:无尽的痛苦之戒 , 幻影之触控制面板 , 命运的魔法箱 , 灵动的慧眼 , 多德卡全息图 , 虚伪之石 , 炙热之情宝石 , 猎龙者之证 - 龙鳞耳环 , 时间之念耳环 , 隐匿之光护肩 , 高科技战术腰带 , 白金流光夹克 , 冰玉之蚀肩甲 , 白色的信念斗篷 , 白虹贯日长裤 , 沙漠星芒披肩 , 白色秘境皮鞋 , 百折不挠的梦想 , 电磁搜索者肩甲 , 白玉无邪腰带 , 第二个黑桃 - 权威 , 第一个黑桃 - 贵族 , 第三个黑桃 - 死亡 , 瞬息千里戒指 , 原子核项链 , 赛博音速长靴 , 欢笑中的祈盼 , 铭记长夜的黎明 , 终结之龙玉 , 吞噬本源短剑 , 吞噬本源太刀 , 吞噬本源钝器 , 吞噬本源巨剑 , 吞噬本源光剑 , 临界崩坏之隙 , 化虚为实之想象 +# 自定义装备:公共词条 +def entry_12(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每分钟恢复460.2点生命值'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:魔力抑制手镯 , 幻影之触控制面板 , 命运的魔法箱 , 吞噬黑暗的心脏 , 虚伪之石 , 猎龙者之证 - 龙鳞耳环 , 隐匿之叹息耳环 , 爆炸型 : 小型战术信号弹 , 时间之念耳环 , 钢筋铁骨披肩 , 深渊之源上衣 , 白金流光夹克 , 屠龙者 , 白色的信念斗篷 , 流星追月短靴 , 白虹贯日长裤 , 白色秘境皮鞋 , 白玉无邪腰带 , 第二个黑桃 - 权威 , 重奏者 , 无尽的愤怒项链 , 第一个黑桃 - 贵族 , 第三个黑桃 - 死亡 , 雷达战网戒指 , 增援号令腰带 , 赛博音速长靴 , 鲁莽而合理的作战 , 终结永恒时光的夙愿 , 含泪之宝石 , 吞噬本源矛 , 吞噬本源棍棒 , 吞噬本源魔杖 , 吞噬本源法杖 , 吞噬本源扫把 , 触手可及之记忆 , 铭刻记忆之星尘 +# 自定义装备:公共词条 +def entry_13(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每分钟恢复348点魔法值'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:不祥的暗纹石板 , 正义骑士面具 , 五感之灵项链 , 吞噬本源匕首 , 吞噬本源双剑 , 吞噬本源手杖 , 吞噬本源苦无 +# 自定义装备:公共词条 +def entry_14(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['跳跃力 +20', '移动速度 +4%', '跳跃状态期间,移动速度 +30%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:未知文明 - 双子石 , 神谕之信念 , 绽放的自然生命 , 蓝色自然的种子 +# 自定义装备:公共词条 +def entry_15(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +20'] + if mode == 0: + char.冰属性强化加成(20) + if mode == 1: + pass + + +# 固定装备:无尽的生机耳环 , 霜云暗影长裤 , 御雷腰带 , 纯粹的自然秩序 +# 自定义装备:公共词条 +def entry_16(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +20'] + if mode == 0: + char.光属性强化加成(20) + if mode == 1: + pass + + +# 固定装备:战争之主耳环 , 自由之翼护肩 , 大地的馈赠上衣 , 荒漠之界长裤 , 侵蚀的意志护腿 , 焰纹加固靴 , 战士的荣耀项链 +# 自定义装备:公共词条 +def entry_17(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +20'] + if mode == 0: + char.火属性强化加成(20) + if mode == 1: + pass + + +# 固定装备:晨曦的新芽耳环 , 循环的自然之法 , 永不破碎的信念 +# 自定义装备:公共词条 +def entry_18(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +20'] + if mode == 0: + char.暗属性强化加成(20) + if mode == 1: + pass + + +# 固定装备:机械装甲下装 , 正气傲然的理念 , 庇护伤痛的威严 , 生息之壶觞 , 雾之探索者项链 , 忠诚骑士腰带 , 被侵蚀的高原之精髓 +# 自定义装备:公共词条 +def entry_19(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +18'] + if mode == 0: + char.所有属性强化加成(18) + if mode == 1: + pass + + +# 固定装备:不败奖牌 , 战争之主耳环 , 星灭光离腰带 , 荒漠之界长裤 , 残忍之心项链 , 战士的荣耀项链 , 吞噬本源左轮枪 , 吞噬本源自动手枪 , 吞噬本源步枪 , 吞噬本源手炮 , 吞噬本源手弩 , 守护晴烟的意志 +# 自定义装备:公共词条 +def entry_20(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性抗性 +10'] + if mode == 0: + char.火属性抗性加成(10) + if mode == 1: + pass + + +# 固定装备:未知文明 - 星石 , 未知文明 - 双子石 , 石巨人之心项链 , 蓝色自然的种子 , 吞噬本源长枪 , 吞噬本源战戟 , 吞噬本源光枪 , 吞噬本源暗矛 +# 自定义装备:公共词条 +def entry_21(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性抗性 +10'] + if mode == 0: + char.冰属性抗性加成(10) + if mode == 1: + pass + + +# 固定装备:生机盎然的绿宝石 , 无尽的生机耳环 , 生命的脉动 , 吞噬本源短剑 , 吞噬本源太刀 , 吞噬本源钝器 , 吞噬本源巨剑 , 吞噬本源光剑 +# 自定义装备:公共词条 +def entry_22(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性抗性 +10'] + if mode == 0: + char.光属性抗性加成(10) + if mode == 1: + pass + + +# 固定装备:自然灵息露珠 , 晨曦的新芽耳环 , 风化的恶意 , 吞噬本源手套 , 吞噬本源臂铠 , 吞噬本源爪 , 吞噬本源拳套 , 吞噬本源东方棍 , 记录者的项链 +# 自定义装备:公共词条 +def entry_23(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性抗性 +10'] + if mode == 0: + char.暗属性抗性加成(10) + if mode == 1: + pass + + +# 固定装备:古老的探险家大衣 , 钢筋铁骨披肩 , 吞噬本源十字架 , 吞噬本源念珠 , 吞噬本源图腾 , 吞噬本源镰刀 , 吞噬本源战斧 +# 自定义装备:公共词条 +def entry_24(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物品栏负重上限 +5kg', '生命值最大值 +300', '魔法值最大值 +473'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:动力导航包 , 能量搜索环 , 正气傲然的理念 , 超界次元 , 世界的中心轴 , 虚蚀之神兽斗篷 , 雾之探索者戒指 , 承诺誓约的腰带 , 化虚为实之想象 +# 自定义装备:公共词条 +def entry_25(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +8'] + if mode == 0: + char.所有属性抗性加成(8) + if mode == 1: + pass + + +# 固定装备:月落星沉腰带 , 金翼戒指 , 遥感之心项链 , 黯星项链 , 自由之缚手镯 , 黄昏殿堂 , 高科技战术强化靴 , 无尽的愤怒项链 , 高科技闪影项链 , 领域之心项链 , 闪耀的音律 , 原子核项链 , 所愿之行动 , 爆龙王的支配 - 恐怖 , 命运的领航标 , 遥远之刻痕 , 机械工程学核心项链 +# 自定义装备:公共词条 +def entry_26(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +20', '辅助职业技能伤害 +3%'] + if mode == 0: + char.所有属性强化加成(20) + if char.bufferCarry: + char.技能攻击力加成(0.03) + if mode == 1: + pass + + +# 固定装备:自由之缚手镯 , 生命本源背包 , 缥缈的知识 , 心之潜影 , 多德卡全息图 , 奔涌之息宝石 , 未知文明 - 人面石 , 亘古的悬空石腰带 , 黑暗吞噬短靴 , 流星飞电战靴 , 蒸汽朋克音速鞋 , 灿若繁星手镯 , 高科技闪影项链 , 领域之心项链 , 永恒的心愿 , 告别过去的前进 , 幻想骑士战靴 +# 自定义装备:公共词条 +def entry_27(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +7%', '所有异常状态抗性 -10%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.物理暴击率增加(0.07) + char.魔法暴击率增加(0.07) + char.所有异常抗性加成(-0.1) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 +def entry_35(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '束缚持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 +def entry_36(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +20', '韧性条减少量 +3%'] + if mode == 0: + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_37(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击机械型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '机械' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少机械类型敌人' + + +# 自定义装备:特殊装备专属词条 +def entry_38(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击恶魔族敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '恶魔' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少恶魔类型敌人' + + +# 自定义装备:特殊装备专属词条 +def entry_39(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击精灵族敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '精灵' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少精灵类型敌人' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_40(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击天使型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '天使' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少天使类型敌人' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_41(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击龙族类型的敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '龙族' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少龙族类型敌人' + pass + + +# 固定装备:诅咒的枷锁 , 苍空飞羽耳环 , 黑灵缠绕手镯 +# 自定义装备:特殊装备专属词条 +def entry_42(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '出血抗性 +1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.异常抗性加成('出血',0.01) + pass + if mode == 1: + pass + + +# 固定装备:石巨人之核手镯 +# 自定义装备:特殊装备专属词条 +def entry_43(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '中毒抗性 +1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.异常抗性加成('中毒',0.01) + pass + if mode == 1: + pass + + +# 固定装备:虚影幻息眼镜 , 流星飞电手镯 , 血红生命之戒 +# 自定义装备:特殊装备专属词条 +def entry_44(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '灼伤抗性 +1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.异常抗性加成('灼伤',0.01) + pass + if mode == 1: + pass + + +# 固定装备:生命之力皮护腕 , 闪耀的生命之戒 +# 自定义装备:特殊装备专属词条 +def entry_45(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '感电抗性 +1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.异常抗性加成('感电',0.01) + pass + if mode == 1: + pass + + +# 固定装备:绿野的纯真手镯 , 电流星散指环 +# 自定义装备:特殊装备专属词条 +def entry_46(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击眩晕状态的敌人时,增加15%的技能伤害,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '眩晕' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.15) + else: + return '敌人未处于眩晕状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_47(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击诅咒状态的敌人时,技能伤害 +10%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '诅咒' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.10) + else: + return '敌人未处于诅咒状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_48(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击睡眠状态的敌人时,技能伤害 +15%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '睡眠' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.15) + else: + return '敌人未处于睡眠状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_49(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击束缚状态的敌人时,技能伤害 +10%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '束缚' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.10) + else: + return '敌人未处于束缚状态' + pass + + +# 固定装备:摇曳的生命之水 , 骑士的骄傲 , 永不停歇的命运 , 信守誓约的步伐 +# 自定义装备:特殊装备专属词条 +def entry_50(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[冰冻打击]@', '攻击冰冻状态的敌人时,技能伤害 +15%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if char.get_eq_params('ice_attack_rate') > 0 and '冰冻' in pa.state_type: + char.技能攻击力加成(0.15*char.get_eq_params('ice_attack_rate')) + elif '冰冻' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.15) + else: + return '敌人未处于冰冻状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_51(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击减速状态的敌人时,技能伤害 +10%,效果持续30秒。 '] + if mode == 0: + pass + if mode == 1: + if '减速' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.10) + else: + return '敌人未处于减速状态' + pass + + +# 固定装备:绽放的神秘之花 +# 自定义装备:特殊装备专属词条 +def entry_52(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击失明状态的敌人时,增加10%的技能伤害,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '失明' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.10) + else: + return '敌人未处于失明状态' + pass + + +# 固定装备:电弧爆源手镯 , 原核之芯耳环 +# 自定义装备:特殊装备专属词条 +def entry_53(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[石化打击]@', '攻击石化状态的敌人时,技能伤害 +15%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + if '石化' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.15) + elif '石化' in pa.state_type: + char.技能攻击力加成(0.15*char.get_eq_params('stone_attack_rate')) + else: + return '敌人未处于石化状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_54(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击混乱状态的敌人时,技能伤害 +10%,效果持续30秒。 '] + if mode == 0: + pass + if mode == 1: + if '混乱' in pa.get_state_type(): + char.技能攻击力加成(part=part, x=0.10) + else: + return '敌人未处于混乱状态' + pass + + +# 自定义装备:特殊装备专属词条 +def entry_55(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +5%'] + if mode == 0: + char.异常增伤('出血', 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_56(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +5%'] + if mode == 0: + char.异常增伤('中毒', 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_57(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +5%'] + if mode == 0: + char.异常增伤('灼伤', 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_58(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +5%'] + if mode == 0: + char.异常增伤('感电', 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_59(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入灼伤状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],3) + pass + if mode == 1: + pass + + +# 固定装备:查理的面具 +# 自定义装备:特殊装备专属词条 +def entry_60(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入中毒状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],3) + pass + if mode == 1: + pass + + +# 固定装备:苍空飞羽耳环 , 查理的面具 +# 自定义装备:特殊装备专属词条 +def entry_61(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入出血状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],3) + pass + if mode == 1: + pass + + +# 固定装备:挖掘之王部件 +# 自定义装备:特殊装备专属词条 +def entry_62(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入感电状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],3) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_63(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入冰冻状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],3) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_64(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入减速状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '减速' not in pa.get_state_type(): + pa.state_type.append('减速') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_65(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入眩晕状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_66(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入诅咒状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '诅咒' not in pa.get_state_type(): + pa.state_type.append('诅咒') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_67(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入失明状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '失明' not in pa.get_state_type(): + pa.state_type.append('失明') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_68(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入石化状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '石化' not in pa.get_state_type(): + pa.state_type.append('石化') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_69(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入睡眠状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '睡眠' not in pa.get_state_type(): + pa.state_type.append('睡眠') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_70(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入混乱状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '混乱' not in pa.get_state_type(): + pa.state_type.append('混乱') + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_71(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入束缚状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + pass + if mode == 1: + pass + + +# 固定装备:静谧之像 +# 自定义装备:特殊装备专属词条 +def entry_72(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,进入霸体状态,效果持续30秒。 (冷却时间8秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_73(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法防御力 +5000'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.add_eq_params('defense',5000) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_74(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +20%'] + if mode == 0: + char.暴击率增加(0.2) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_75(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放技能消耗10个以上无色小晶块时,技能冷却时间恢复速度增加30%,效果持续30秒。 (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + + +# 自定义装备:首饰专属词条 +def entry_76(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('出血', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_77(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('中毒', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_78(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('灼伤', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_79(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('感电', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_80(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰冻抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('冰冻', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_81(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['减速抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('减速', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_82(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['眩晕抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('眩晕', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_83(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['诅咒抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('诅咒', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_84(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['失明抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('失明', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_85(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['石化抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('石化', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_86(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['睡眠抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('睡眠', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_87(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['混乱抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('混乱', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_88(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['束缚抗性 +20%', '物理/魔法防御力 +4000'] + if mode == 0: + char.异常抗性加成('束缚', 0.2) + char.add_eq_params('defense',4000) + if mode == 1: + pass + + +# 固定装备:血色结晶戒指 +# 自定义装备:首饰专属词条 +def entry_89(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '出血持续时间 -10%'] + if mode == 0: + char.异常时间['出血'][2] -= 0.1 + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_90(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '中毒持续时间 -10%'] + if mode == 0: + char.异常时间['中毒'][2] -= 0.1 + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:血红生命之戒 +# 自定义装备:首饰专属词条 +def entry_91(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '灼伤持续时间 -10%'] + if mode == 0: + char.异常时间['灼伤'][2] -= 0.1 + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:闪耀的生命之戒 +# 自定义装备:首饰专属词条 +def entry_92(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '感电持续时间 -10%'] + if mode == 0: + char.异常时间['感电'][2] -= 0.1 + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:骑士的骄傲 +# 自定义装备:首饰专属词条 +def entry_93(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '冰冻持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_94(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '减速持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:绿野的纯真手镯 , 电流星散指环 +# 自定义装备:首饰专属词条 +def entry_95(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '眩晕持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_96(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '诅咒持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:绽放的神秘之花 +# 自定义装备:首饰专属词条 +def entry_97(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '失明持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:电弧爆源手镯 +# 自定义装备:首饰专属词条 +def entry_98(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '石化持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_99(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '睡眠持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_100(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '混乱持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_101(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '束缚持续时间 +2秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:石巨人之核手镯 +# 自定义装备:首饰专属词条 +def entry_102(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +10%'] + if mode == 0: + char.异常增伤('中毒', 0.1) + if mode == 1: + pass + + +# 固定装备:流星飞电手镯 +# 自定义装备:首饰专属词条 +def entry_103(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +10%'] + if mode == 0: + char.异常增伤('灼伤', 0.1) + if mode == 1: + pass + + +# 固定装备:生命之力皮护腕 +# 自定义装备:首饰专属词条 +def entry_104(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +10%'] + if mode == 0: + char.异常增伤('感电', 0.1) + if mode == 1: + pass + + +# 固定装备:黑灵缠绕手镯 , 血色结晶戒指 +# 自定义装备:首饰专属词条 +def entry_105(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +10%'] + if mode == 0: + char.异常增伤('出血', 0.1) + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_106(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击人型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '人型' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少人型类型敌人' + pass + + +# 自定义装备:首饰专属词条 +def entry_107(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击野兽型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '野兽' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少野兽类型敌人' + pass + + +# 自定义装备:首饰专属词条 +def entry_108(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击植物型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '植物' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少植物类型敌人' + pass + + +# 自定义装备:首饰专属词条 +def entry_109(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击不死族敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '不死' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少不死类型敌人' + pass + + +# 自定义装备:首饰专属词条 +def entry_110(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '攻击昆虫型敌人时,技能伤害 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '昆虫' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.05, show=False) + else: + return '缺少昆虫类型敌人' + pass + + +# 固定装备:雾之探索者项链 +# 自定义装备:首饰专属词条 +def entry_111(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['前冲时,赋予30秒的霸体护甲。 (冷却时间5秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_112(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['跳跃时,获得30秒的霸体护甲。 (冷却时间5秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_113(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +40'] + if mode == 0: + char.光属性强化加成(40) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_114(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +415.0%', '所有速度 +20%'] + if mode == 0: + char.所有速度增加(part=part, x=0.2) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_115(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '受到总生命值10%以上的伤害时,生成相当于生命值最大值30%的保护罩,效果持续20秒。 (冷却时间15秒)'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.3) + char.技能攻击力加成(0.06) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_116(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +30%', '施放速度 +45%', '移动速度 +10%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.3) + char.施放速度增加(0.45) + char.移动速度增加(0.1) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_117(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +415.0%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_118(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '物理/魔法防御力 +2000'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + char.add_eq_params('defense',2000) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_119(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '物理/魔法防御力 +2000'] + if mode == 0: + char.异常增伤('出血', 0.15) + char.add_eq_params('defense',2000) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_120(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +15%', '物理/魔法防御力 +2000'] + if mode == 0: + char.异常增伤('感电', 0.15) + char.add_eq_params('defense',2000) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 深潜迷航腰带 +def entry_121(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%', '物理/魔法防御力 +2000'] + if mode == 0: + char.异常增伤('中毒', 0.15) + char.add_eq_params('defense',2000) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_122(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +30%'] + if mode == 0: + char.移动速度增加(0.3) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_123(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '火属性强化 +25'] + if mode == 0: + char.火属性强化加成(25) + char.技能攻击力加成(0.04) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_124(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '冰属性强化 +25'] + if mode == 0: + char.冰属性强化加成(25) + char.技能攻击力加成(0.04) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_125(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '光属性强化 +25'] + if mode == 0: + char.光属性强化加成(25) + char.技能攻击力加成(0.04) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_126(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '暗属性强化 +25'] + if mode == 0: + char.暗属性强化加成(25) + char.技能攻击力加成(0.04) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 深潜迷航长靴 +def entry_127(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '所有速度 +20%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.攻击速度增加(part=part, x=0.2) + char.施放速度增加(0.2) + char.移动速度增加(0.2) + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_128(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['15级技能范围 +15%', '15级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(15, 15, 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_129(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['20级技能范围 +15%', '20技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(20, 20, 0.05) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_130(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['25级技能范围 +15%', '25级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(25, 25, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:坚忍骑士肩甲 +# 自定义装备:防具专属词条 +def entry_131(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30级技能范围 +15%', '30级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(30, 30, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:坚忍骑士肩甲 +# 自定义装备:防具专属词条 +def entry_132(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能范围 +15%', '35级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(35, 35, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:挺进之气势 +# 自定义装备:防具专属词条 +def entry_133(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能范围 +15%', '40级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(40, 40, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:挺进之气势 +# 自定义装备:防具专属词条 +def entry_134(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能范围 +15%', '45级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(45, 45, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:对敌之慎重 +# 自定义装备:防具专属词条 +def entry_135(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能范围 +15%', '60级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(60, 60, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:对敌之慎重 +# 自定义装备:防具专属词条 +def entry_136(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能范围 +15%', '70级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(70, 70, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:坚定骑士护腿 +# 自定义装备:防具专属词条 +def entry_137(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能范围 +15%', '75级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(75, 75, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:坚定骑士护腿 +# 自定义装备:防具专属词条 +def entry_138(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能范围 +15%', '80级技能攻击力 +5%'] + if mode == 0: + char.技能倍率加成(80, 80, 0.05) + pass + if mode == 1: + pass + + +# 固定装备:耀武之威护肩 , 隐匿之光护肩 , 信念之喘息腰带 +# 自定义装备:防具专属词条 +def entry_139(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每存在1名出血状态的对象,攻击强化 +71.2% (最多叠加5次)'] + if mode == 0: + pass + if mode == 1: + num = min(5, (pa.enemy_num + (5 if char.check_equ_by_name("混乱核心胸甲") else 0)) * + (1 if '出血' in pa.get_state_type() else 0) + (1 if '出血' in pa.own_type else 0)) + char.攻击强化加成(params[0] * num) + if num < 5: + return '缺少{}名出血的对象'.format(5-num) + + +# 固定装备:亘古的悬空石腰带 , 沧海之覆护腿 , 冰玉之蚀肩甲 +# 自定义装备:防具专属词条 +def entry_140(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每存在1名中毒状态的对象,攻击强化 +71.2% (最多叠加5次)'] + if mode == 0: + pass + if mode == 1: + num = min(5, (pa.enemy_num + (5 if char.check_equ_by_name("混乱核心胸甲") else 0)) * + (1 if '中毒' in pa.get_state_type() else 0) + (1 if '中毒' in pa.own_type else 0)) + char.攻击强化加成(params[0] * num) + if num < 5: + return '缺少{}名中毒的对象'.format(5-num) + + +# 固定装备:自由之翼护肩 , 隐匿的自然生命 , 御力装甲上衣 , 大地的馈赠上衣 , 沙漠星芒披肩 , 焰纹加固靴 , 永眠前的准备 , 守护晴烟的意志 , 信守誓约的步伐 +# 自定义装备:防具专属词条 +def entry_141(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每存在1名灼伤状态的对象,攻击强化 +71.2% (最多叠加5次)'] + if mode == 0: + pass + if mode == 1: + num = min(5, (pa.enemy_num + (5 if char.check_equ_by_name("混乱核心胸甲") else 0)) * + (1 if '灼伤' in pa.get_state_type() else 0) + (1 if '灼伤' in pa.own_type else 0)) + char.攻击强化加成(params[0] * num) + if num < 5: + return '缺少{}名灼伤的对象'.format(5-num) + + +# 固定装备:御雷腰带 , 流星飞电战靴 , 纯粹的自然秩序 , 骄傲的意志腰带 , 电磁搜索者肩甲 +# 自定义装备:防具专属词条 +def entry_142(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每存在1名感电状态的对象,攻击强化 +71.2% (最多叠加5次)'] + if mode == 0: + pass + if mode == 1: + num = min(5, (pa.enemy_num + (5 if char.check_equ_by_name("混乱核心胸甲") else 0)) * + (1 if '感电' in pa.get_state_type() else 0) + (1 if '感电' in pa.own_type else 0)) + char.攻击强化加成(params[0] * num) + if num < 5: + return '缺少{}名感电的对象'.format(5-num) + + +# 固定装备:绽放的自然生命 +# 自定义装备:防具专属词条 +def entry_143(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '冰冻持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_144(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '减速持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_145(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '眩晕持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:暗影流光战袍 +# 自定义装备:防具专属词条 +def entry_146(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '诅咒持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:循环的自然之法 +# 自定义装备:防具专属词条 +def entry_147(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '失明持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:六方式脉冲肩甲 , 月落星沉腰带 , 蒸汽朋克音速鞋 +# 自定义装备:防具专属词条 +def entry_148(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '石化持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_149(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '睡眠持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_150(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '混乱持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_151(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +133.4%', '束缚持续时间 +3秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:和平之翼长裤 , 灵巧的支配者护肩 , 死亡蚕食胸甲 , 恐惧缠绕腰带 , 高科技战术强化靴 , 应尽之责腰带 , 暴风骑士 , 动力之渊腰带 , 混乱核心胸甲 , 所愿之行动 , 承诺誓约的腰带 , 记录者的项链 , 勇敢骑士甲胄 , 铭刻之誓约 +# 自定义装备:防具专属词条 +def entry_152(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能魔法值消耗量 -7%'] + if mode == 0: + char.MP消耗量加成(-0.07) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_153(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +355.7%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:星灭光离腰带 , 侵蚀的意志护腿 +# 自定义装备:防具专属词条 +def entry_154(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性抗性 +20'] + if mode == 0: + char.火属性抗性加成(20) + pass + if mode == 1: + pass + + +# 固定装备:神谕之信念 +# 自定义装备:防具专属词条 +def entry_155(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性抗性 +20'] + if mode == 0: + char.冰属性抗性加成(20) + pass + if mode == 1: + pass + + +# 固定装备:霜云暗影长裤 +# 自定义装备:防具专属词条 +def entry_156(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性抗性 +20'] + if mode == 0: + char.光属性抗性加成(20) + if mode == 1: + pass + + +# 固定装备:永不破碎的信念 +# 自定义装备:防具专属词条 +def entry_157(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性抗性 +20'] + if mode == 0: + char.暗属性抗性加成(20) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_158(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['正面被攻击时,物理/魔法所受伤害 -20%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_159(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被背击时,物理/魔法所受伤害 -20%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:澎湃之心上衣 , 高科技战术护腿 , 百折不挠的梦想 +# 自定义装备:防具专属词条 +def entry_160(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被破招时,物理/魔法所受伤害 -20%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:高贵的神意上衣 +# 自定义装备:防具专属词条 +def entry_161(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被非破招攻击时,物理/魔法所受伤害 -20%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:极魂之驱上衣 , 天才技术大师的研究服上衣 , 澎湃之心上衣 , 耀武之威护肩 , 守护之王者铠甲 , 勇敢骑士甲胄 +# 自定义装备:防具专属词条 +def entry_162(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复2200点生命值。 (冷却时间1秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的百宝腰带 , 千丝萦绕腰带 , 极魂之驱上衣 , 流星追月短靴 , 双面星云皮大衣 , 守望溪谷的行动 +# 自定义装备:防具专属词条 +def entry_163(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复3500点魔法值。 (冷却时间1秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_164(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被攻击时,进入霸体状态30秒。 (冷却时间5秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_165(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '物理/魔法防御力 +5000'] + if mode == 0: + char.攻击强化加成(params[0]) + char.add_eq_params('defense',5000) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_166(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -14%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.14) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_167(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +30%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.3) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_168(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放速度 +45%'] + if mode == 0: + char.施放速度增加(0.45) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_169(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有异常状态抗性 +20%'] + if mode == 0: + char.所有异常抗性加成(0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵手镯 , 领域之主 - 手镯 +def entry_170(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -25%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.25) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_171(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +1200'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_172(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['魔法值最大值 +1890'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_173(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +35', '所有异常状态抗性 -10%'] + if mode == 0: + char.火属性强化加成(35) + char.所有异常抗性加成(-0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_174(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +35', '所有异常状态抗性 -10%'] + if mode == 0: + char.冰属性强化加成(35) + char.所有异常抗性加成(-0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_175(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +35', '所有异常状态抗性 -10%'] + if mode == 0: + char.光属性强化加成(35) + char.所有异常抗性加成(-0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵项链 , 领域之主 - 项链 +def entry_176(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +35', '所有异常状态抗性 -10%'] + if mode == 0: + char.暗属性强化加成(35) + char.所有异常抗性加成(-0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_177(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['将伤害的10%转换为中毒伤害', '中毒抗性 +10%'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append("中毒") + char.伤害类型转化('直伤', '中毒', 0.1) + char.异常抗性加成('中毒', 0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_178(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['将伤害的10%转换为灼伤伤害', '灼伤抗性 +10%'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append("灼伤") + char.伤害类型转化('直伤', '灼伤', 0.1) + char.异常抗性加成('灼伤', 0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_179(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['将伤害的10%转换为感电伤害', '感电抗性 +10%'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append("感电") + char.伤害类型转化('直伤', '感电', 0.1) + char.异常抗性加成('感电', 0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_180(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['将伤害的10%转换为出血伤害', '出血抗性 +10%'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append("出血") + char.伤害类型转化('直伤', '出血', 0.1) + char.异常抗性加成('出血', 0.1) + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_181(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '生命值最大值 +600'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵戒指 , 领域之主 - 戒指 +def entry_182(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性数值之和高于250时,中毒伤害 +15%。'] + if mode == 0: + pass + if mode == 1: + # 抗性判断 + 抗性 = sum([char.火属性抗性(), char.冰属性抗性(), char.光属性抗性(), char.暗属性抗性()]) + if 抗性 >= 250: + char.异常增伤('中毒', 0.15) + else: + return '所有属性抗性之和缺少{}点'.format(250-抗性) + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_183(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +40', '生命值最大值 +200', '辅助职业技能伤害 +7%'] + if mode == 0: + char.火属性强化加成(40) + if char.bufferCarry: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_184(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +40', '生命值最大值 +200', '辅助职业技能伤害 +7%'] + if mode == 0: + char.冰属性强化加成(40) + if char.bufferCarry: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_185(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +40', '生命值最大值 +200', '辅助职业技能伤害 +7%'] + if mode == 0: + char.光属性强化加成(40) + if char.bufferCarry: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_186(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +40', '生命值最大值 +200', '辅助职业技能伤害 +7%'] + if mode == 0: + char.暗属性强化加成(40) + if char.bufferCarry: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_187(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%', '生命值最大值 +300'] + if mode == 0: + char.异常增伤('中毒', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女手镯 , 领域之主 - 手镯 +def entry_188(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['将伤害的30%转换为感电伤害', '感电抗性 +40%'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append("感电") + char.异常抗性加成('感电', 0.4) + char.伤害类型转化('直伤', '感电', 0.3) + if mode == 1: + pass + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_189(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '进入贵族机要地下城时,技能伤害 +10%', '辅助职业技能伤害 +2%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '[贵族机要]' in pa.dungeons_type: + char.技能攻击力加成(part=part, x=0.10) + if char.bufferCarry: + char.技能攻击力加成(0.02) + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_190(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['异常状态持续时间 +20%', '攻击时,使敌人进入出血、中毒、灼伤、感电状态中的1种异常状态10秒。 (冷却时间2秒)', '辅助职业技能伤害 +4%'] + if mode == 0: + for i in ['出血', '灼伤', '中毒', '感电']: + char.异常时间[i][2] += 0.2 + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],2) + if char.bufferCarry: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_191(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '生命值最大值 +300'] + if mode == 0: + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_192(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +40%', '辅助职业技能伤害 +4%'] + if mode == 0: + char.移动速度增加(0.4) + if char.bufferCarry: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_193(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +10%', '中毒抗性 +40%', '辅助职业技能伤害 +4%'] + if mode == 0: + char.异常抗性加成('中毒', 0.4) + char.攻击速度增加(part=part, x=0.1) + char.施放速度增加(0.1) + char.移动速度增加(0.1) + if char.bufferCarry: + char.技能攻击力加成(0.04) + if mode == 1: + pass + + +# 自定义装备:森林之魔女项链 , 领域之主 - 项链 +def entry_194(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能冷却时间恢复速度 +15%', '辅助职业技能伤害 +4%'] + if mode == 0: + char.技能恢复加成(45, 45, 0.15) + if char.bufferCarry: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_195(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +281.6%', '韧性条减少量 +10%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_196(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '生命值最大值 +300'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_197(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有异常状态抗性 +30%', '辅助职业技能伤害 +3%,所有异常抗性 +30%'] + if mode == 0: + # 判断暂未实现 + char.所有异常抗性加成(0.3) + if char.类型 == "辅助": + char.所有异常抗性加成(0.3) + if char.bufferCarry: + char.技能攻击力加成(0.03) + char.所有异常抗性加成(0.3) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_198(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +20%', '施放速度 +30%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.施放速度增加(0.3) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_199(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['最高的异常状态抗性数值高于50%时,技能冷却时间恢复速度 +30% (觉醒技能除外)', '冰冻抗性 +40%'] + if mode == 0: + char.异常抗性加成('冰冻', 0.4) + if mode == 1: + num = 0 + for 类型 in ['中毒', '灼伤', '感电', '出血', '冰冻', '减速', '眩晕', '诅咒', '失明', '石化', '睡眠', '混乱', '束缚']: + num = max(char.异常抗性获取(类型), num) + if num >= 0.5: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + else: + return '最高异常状态抗性数值缺少{}%'.format(round(50-num*100, 0)) + + +# 自定义装备:森林之魔女戒指 , 领域之主 - 戒指 +def entry_200(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '75级技能冷却时间恢复速度 +15%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.技能恢复加成(75, 75, 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_201(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '60级技能冷却时间恢复速度 +30%', '使自身进入无法解除的中毒状态'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(60, 60, 0.3) + if '中毒' not in pa.own_type: + pa.own_type.append('中毒') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_202(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '45级技能冷却时间恢复速度 +30%', '使自身进入无法解除的中毒状态'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(45, 45, 0.3) + if '中毒' not in pa.own_type: + pa.own_type.append('中毒') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_203(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '35级技能冷却时间恢复速度 +30%', '使自身进入无法解除的中毒状态'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(35, 35, 0.3) + if '中毒' not in pa.own_type: + pa.own_type.append('中毒') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_204(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +355.7%', '物理/魔法所受伤害 -20%', '减速抗性 +40%'] + if mode == 0: + char.异常抗性加成('减速', 0.4) + char.攻击强化加成(params[0]) + char.add_eq_params('hurted_ratio',0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_205(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围属性数值总和高于30%时,技能伤害 +9%'] + if mode == 0: + pass + if mode == 1: + if char.get_eq_params('skill_range') >= 0.3: + char.技能攻击力加成(0.09) + else: + return '技能范围不足30%' + + +# 自定义装备:蓝灵绿玉石手镯 , 领域之主 - 手镯 +def entry_206(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有特性技能等级 +1', '技能范围 +10%'] + if mode == 0: + char.set_eq_params('tp', 1) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + for skill in char.技能栏: + if hasattr(skill,"TP等级") and skill.TP等级 > 0: + skill.TP等级加成(1) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_207(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '进入毁坏的寂静城地下城时,技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '[毁坏的寂静城(高级)]' in pa.dungeons_type: + char.技能攻击力加成(part=part, x=0.10) + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_208(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '40级技能冷却时间恢复速度 +30%', '使自身进入无法解除的灼伤状态'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(40, 40, 0.3) + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_209(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '70级技能冷却时间恢复速度 +30%', '使自身进入无法解除的灼伤状态'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(70, 70, 0.3) + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_210(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '75级技能冷却时间恢复速度 +30%', '使自身进入无法解除的灼伤状态'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(75, 75, 0.3) + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_211(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +15', '攻击时,敌人韧性条 -5 (冷却时间3秒;辅助角色不适用)'] + if mode == 0: + char.所有属性强化加成(15) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石项链 , 领域之主 - 项链 +def entry_212(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +148.2% (最多叠加1次 )', '攻击时,敌人韧性条 -5 (冷却时间3秒;辅助角色不适用)'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_213(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +355.7%', '韧性条减少量 +20%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_214(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '80级技能冷却时间恢复速度 +30%'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(80, 80, 0.3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_215(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '95级技能冷却时间恢复速度 +30%'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(95, 95, 0.3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_216(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +13%', '中毒抗性 +5%'] + if mode == 0: + char.异常增伤('中毒', 0.13) + char.异常抗性加成('中毒',0.05) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_217(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +23'] + if mode == 0: + char.暗属性强化加成(23) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石戒指 , 领域之主 - 戒指 +def entry_218(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血/感电/灼伤/中毒伤害 +14%'] + if mode == 0: + char.异常增伤('出血', 0.14) + char.异常增伤('中毒', 0.14) + char.异常增伤('灼伤', 0.14) + char.异常增伤('感电', 0.14) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_219(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +14000'] + if mode == 0: + char.add_eq_params('defense',14000) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_220(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['回避率 +30%'] + if mode == 0: + char.回避率增加(0.3) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_221(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['消耗无色小晶块的技能攻击力 +10%', '物理/魔法暴击率 +20%'] + if mode == 0: + char.无色技能加成(1,0.1) + char.暴击率增加(0.2) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_222(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +30%', '施放速度 +45%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.3) + char.施放速度增加(0.45) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_223(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '攻击速度 +20%', '施放速度 +30%', '移动速度 +20%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.移动速度增加(0.2) + char.施放速度增加(0.3) + char.技能攻击力加成(0.08) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 深潜迷航腕表 +def entry_224(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +370.5%', '物理/魔法所受伤害 -20%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.add_eq_params('hurted_ratio',0.2) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_225(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '进入机械七战神实验室地下城时,技能伤害 +10%', '辅助职业技能伤害 +2%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '[机械战神试验场]' in pa.dungeons_type: + char.技能攻击力加成(part=part, x=0.15) + if char.bufferCarry: + char.技能攻击力加成(0.02) + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_226(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_227(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -30%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.3) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_228(char: CharacterProperty = {}, mode: int = 0, text=False, part='', lv=0, params=[]): + if text: + return ['所有属性强化 +30'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_229(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[永灭之狂暴]@', '被毁灭侵蚀,每秒减少10%的生命值,强化狂暴状态。', '- 技能伤害 +2%', '- 狂暴状态持续时间上限 +3秒', '需穿戴[死亡蚕食胸甲]。', '', '诅咒抗性 +40%'] + if mode == 0: + char.异常抗性加成('诅咒', 0.4) + if mode == 1: + if 140 in char.装备栏: + char.技能攻击力加成(0.02) + pass + + +# 自定义装备:领域之主 - 项链 , 深潜迷航项链 +def entry_230(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放技能消耗10个以上无色小晶块时,技能伤害 +5%,效果持续30秒。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_231(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +25'] + if mode == 0: + char.冰属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_232(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +25'] + if mode == 0: + char.火属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_233(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +25'] + if mode == 0: + char.光属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 深潜迷航导航环 +def entry_234(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +25'] + if mode == 0: + char.暗属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_235(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +340.9%', '所有速度 +24%'] + if mode == 0: + char.所有速度增加(part=part, x=0.24) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 +def entry_236(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能攻击力 +20%', '95级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(95, 95, -0.15) + char.技能倍率加成(80, 80, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 +def entry_237(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能攻击力 +20%', '80级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(80, 80, -0.15) + char.技能倍率加成(80, 80, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 +def entry_238(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值低于40%时,技能伤害 +8%', '攻击时,恢复1100点生命值/1750点魔法值。 (冷却时间1秒)', '物理/魔法防御力 +25000'] + if mode == 0: + char.add_eq_params('defense',25000) + pass + if mode == 1: + if pa.get_hp_rate_num(char) <= 40: + char.技能攻击力加成(part=part, x=0.08) + else: + return '生命值高于40%' + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 +def entry_239(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复5%的生命值。 (冷却时间3秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵胸甲 , 领域之主 - 上衣 +def entry_240(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复5%的魔法值。 (冷却时间3秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_241(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能攻击力 +20%', '35级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(35, 35, -0.15) + char.技能倍率加成(35, 35, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_242(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能攻击力 +20%', '40级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(40, 40, -0.15) + char.技能倍率加成(35, 35, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_243(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能攻击力 +20%', '40级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(40, 40, -0.15) + char.技能倍率加成(40, 40, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_244(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能攻击力 +20%', '45级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(45, 45, -0.15) + char.技能倍率加成(40, 40, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_245(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +20%'] + if mode == 0: + pass + if mode == 1: + char.异常增伤('出血', 0.20) + + +# 自定义装备:恩特精灵护腿 , 领域之主 - 下装 +def entry_246(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +20%'] + if mode == 0: + pass + if mode == 1: + char.异常增伤('感电', 0.20) + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_247(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['用指令施放技能时,该技能攻击力 +12%。 (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + num = char.指令技攻加成(0.12, excName=char.觉醒技能) + if num == 0: + return '尚未设置指令施放技能' + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_248(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能的指令使用效果 +100% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + for skill in char.技能栏: + if skill.是否有伤害 == 1 and skill.手搓 and skill.名称 not in char.觉醒技能: + skill.手搓收益 += 1 + pass + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 +def entry_249(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的技能攻击力 +15%'] + if mode == 0: + pass + if mode == 1: + char.无色技能加成(0,0.15) + pass + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 +def entry_250(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能攻击力 +20%', '45级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(45, 45, -0.15) + char.技能倍率加成(45, 45, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 +def entry_251(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能攻击力 +20%', '60级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(60, 60, -0.15) + char.技能倍率加成(45, 45, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵护肩 , 领域之主 - 头肩 +def entry_252(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +15%'] + if mode == 0: + char.暴击率增加(0.15) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_253(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法防御力 +4000'] + if mode == 0: + char.技能攻击力加成(0.05) + char.add_eq_params('defense',4000) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_254(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '移动速度 +5%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 +def entry_255(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能攻击力 +20%', '60级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(60, 60, -0.15) + char.技能倍率加成(60, 60, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 +def entry_256(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能攻击力 +20%', '70级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(70, 70, -0.15) + char.技能倍率加成(60, 60, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 +def entry_257(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +20%'] + if mode == 0: + char.异常增伤('灼伤', 0.2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵腰带 , 领域之主 - 腰带 +def entry_258(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +20%'] + if mode == 0: + char.异常增伤('中毒', 0.2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_259(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能快捷栏每空1个栏位,增加2%的技能伤害。 (最多叠加6次)'] + if mode == 0: + pass + if mode == 1: + num = len(list(filter(lambda i: i == "", char.hotkey))) + char.技能攻击力加成(part=part, x=min( + 0.12, num*0.02)) + if num < 6: + return '技能快捷栏空位不足6个' + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 +def entry_260(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能攻击力 +20%', '70级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(70, 70, -0.15) + char.技能倍率加成(70, 70, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 +def entry_261(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能攻击力 +20%', '75级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(75, 75, -0.15) + char.技能倍率加成(70, 70, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 +def entry_262(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能攻击力 +20%', '75级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(75, 75, -0.15) + char.技能倍率加成(75, 75, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 +def entry_263(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能攻击力 +20%', '80级技能冷却时间 +15%'] + if mode == 0: + char.技能冷却缩减(80, 80, -0.15) + char.技能倍率加成(75, 75, 0.2) + if mode == 1: + pass + + +# 自定义装备:恩特精灵战靴 , 领域之主 - 鞋 +def entry_264(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +30%'] + if mode == 0: + char.移动速度增加(0.3) + if mode == 1: + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_265(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值高于40%时,技能伤害 +3%', '数值最高的出血/中毒/灼伤/感电伤害低于20%时,技能伤害 +4%', '辅助职业技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + pass + if mode == 1: + tip = [] + if pa.get_hp_rate_num(char) >= 40: + char.技能攻击力加成(part=part, x=0.03) + else: + tip.append('生命值低于40%') + key = max(char.伤害系数, key=char.伤害系数.get) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.伤害系数.get(key, 1.0) < 1.2: + char.技能攻击力加成(part=part, x=0.04) + else: + tip.append('最高的伤害型异常状态伤害增加数值高于20%') + if len(tip) > 0: + return tip + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_266(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +370.5%', '生命值最大值 +300'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_267(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +25', '生命值最大值 +300'] + if mode == 0: + char.火属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_268(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +25', '生命值最大值 +300'] + if mode == 0: + char.冰属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_269(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +25', '生命值最大值 +300'] + if mode == 0: + char.光属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女上衣 , 领域之主 - 上衣 +def entry_270(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +25', '生命值最大值 +300'] + if mode == 0: + char.暗属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 +def entry_271(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能攻击力 +20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能倍率加成(45, 45, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 +def entry_272(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能攻击力 +20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能倍率加成(35, 35, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_273(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能冷却时间 -20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能冷却缩减(45, 45, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_274(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能冷却时间 -20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能冷却缩减(35, 35, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 +def entry_275(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45、60、70级技能攻击力 +5%', '45级主动技能等级 +1', '辅助职业技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能等级加成('主动', 45, 45, 1) + char.技能倍率加成(45, 45, 0.05) + char.技能倍率加成(60, 60, 0.05) + char.技能倍率加成(70, 70, 0.05) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if mode == 1: + pass + + +# 自定义装备:森林之魔女护腿 , 领域之主 - 下装 +def entry_276(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30~40级技能攻击力 +5%', '35级主动技能等级 +1', '辅助职业技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能等级加成('主动', 35, 35, 1) + char.技能倍率加成(30, 40, 0.05) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 +def entry_277(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能攻击力 +20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能倍率加成(40, 40, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 +def entry_278(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30级技能攻击力 +20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能倍率加成(30, 30, 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_279(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能冷却时间 -20%', '辅助技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能冷却缩减(40, 40, 0.2) + # char.条件冷却加成("Lv40", 0.2) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_280(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30级技能冷却时间 -20%', '辅助技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能冷却缩减(30, 30, 0.2) + # char.条件冷却加成("Lv30", 0.2) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 +def entry_281(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30~40级技能攻击力 +5%', '40级主动技能等级 +1', '辅助职业技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能等级加成('主动', 40, 40, 1) + char.技能倍率加成(30, 40, 0.05) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if mode == 1: + pass + + +# 自定义装备:森林之魔女斗篷 , 领域之主 - 头肩 +def entry_282(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +281.6%', '韧性条减少量 +30%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_283(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -15% (觉醒技能除外)', '辅助职业技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + if char.类型 == "辅助": + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + if char.bufferCarry: + char.技能冷却缩减(1, 100, 0.05,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 +def entry_284(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(params[0]) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 +def entry_285(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['单人挑战时,技能伤害 +10%', '出血抗性 +40%'] + if mode == 0: + char.异常抗性加成('出血', 0.4) + if mode == 1: + if pa.teammate_num == 1: + char.技能攻击力加成(0.1) + else: + return '存在队友' + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 +def entry_286(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '95级技能冷却时间恢复速度 +15%'] + if mode == 0: + char.技能恢复加成(95, 95, 0.15) + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 +def entry_287(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '60级技能冷却时间恢复速度 +15%'] + if mode == 0: + char.技能恢复加成(60, 60, 0.15) + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女腰带 , 领域之主 - 腰带 +def entry_288(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放15级技能时,进入霸体状态2秒。 (冷却时间10秒)', '攻击速度 +15%', '施放速度 +22.5%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_289(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +16%', '施放速度 +24%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.16) + char.施放速度增加(0.24) + if char.bufferCarry: + char.技能攻击力加成(0.05) + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_290(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +8000', '辅助职业技能伤害 +5%'] + if mode == 0: + char.add_eq_params('defense',8000) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_291(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +16', '辅助职业技能伤害 +5%'] + if mode == 0: + char.所有属性抗性加成(16) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_292(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '生命值最大值 +200'] + if mode == 0: + char.技能攻击力加成(0.06) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_293(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '- 需要穿戴[铭刻之誓约]装备', '', '所有速度 +10%', '灼伤抗性 +40%', '辅助职业技能伤害 +8%,所有速度 +10%'] + if mode == 0: + if char.bufferCarry: + char.技能攻击力加成(0.08) + char.所有速度增加(part=part, x=0.1) + char.异常抗性加成('灼伤', 0.4) + char.所有速度增加(part=part, x=0.1) + if char.check_equ_by_name('铭刻之誓约'): + char.技能攻击力加成(0.08) + else: + return '未穿戴穿戴[铭刻之誓约]' + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_294(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +370.5%', '物理/魔法防御力 +5000'] + if mode == 0: + char.攻击强化加成(params[0]) + char.add_eq_params('defense',5000) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_295(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80、95级主动技能等级 +3'] + if mode == 0: + char.技能等级加成('主动', 80, 95, 3, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_296(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +30%', '物理/魔法所受伤害 +20%', '出血抗性 +20%'] + if mode == 0: + char.异常增伤('出血', 0.3) + char.异常抗性加成('出血', 0.2) + char.add_eq_params('hurted_ratio',-0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_297(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +30%', '物理/魔法所受伤害 +20%', '感电抗性 +20%'] + if mode == 0: + char.异常增伤('感电', 0.3) + char.异常抗性加成('感电', 0.2) + char.add_eq_params('hurted_ratio',-0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_298(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +30%', '物理/魔法所受伤害 +20%', '灼伤抗性 +20%'] + if mode == 0: + char.异常增伤('灼伤', 0.3) + char.异常抗性加成('灼伤', 0.2) + char.add_eq_params('hurted_ratio',-0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石胸甲 , 领域之主 - 上衣 +def entry_299(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +30%', '物理/魔法所受伤害 +20%', '中毒抗性 +20%'] + if mode == 0: + char.异常增伤('中毒', 0.3) + char.异常抗性加成('中毒', 0.2) + char.add_eq_params('hurted_ratio',-0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_300(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70~75级主动技能等级 +3'] + if mode == 0: + if not char.实际名称 == "crusader_male": + char.技能等级加成('主动', 70, 75, 3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_301(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +35'] + if mode == 0: + char.火属性强化加成(35) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_302(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +35'] + if mode == 0: + char.冰属性强化加成(35) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_303(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +35'] + if mode == 0: + char.光属性强化加成(35) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_304(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +35'] + if mode == 0: + char.暗属性强化加成(35) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石护腿 , 领域之主 - 下装 +def entry_305(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '- 需要穿戴[永恒的心愿]', '所有速度 +15%', '失明抗性 +40%'] + if mode == 0: + char.异常抗性加成('失明', 0.4) + char.所有速度增加(0.15) + if char.check_equ_by_name('永恒的心愿'): + char.技能攻击力加成(0.05) + else: + return '未穿戴穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_306(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '消耗品效果持续时间 +20%', '所有异常状态抗性 +2.5%', '睡眠抗性 -2.5%'] + if mode == 0: + char.技能攻击力加成(0.07) + char.所有异常抗性加成(0.025) + char.异常抗性加成('睡眠',-0.025) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_307(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +355.7% (最多叠加5次)', '物理/魔法防御力 +5000'] + if mode == 0: + char.add_eq_params('defense',5000) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_308(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35~40级主动技能等级 +3', '- 缔造者[终末幻想]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能等级加成('主动', 50, 50, 3) + else: + char.技能等级加成('主动', 35, 40, 3) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_309(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +15', '混乱抗性 +40%'] + if mode == 0: + char.所有属性强化加成(15) + char.异常抗性加成('混乱', 0.4) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_310(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45、60、70级技能攻击力 +5%', '60级主动技能等级 +1'] + if mode == 0: + char.技能倍率加成(45, 45, 0.05) + char.技能倍率加成(60, 60, 0.05) + char.技能倍率加成(70, 70, 0.05) + char.技能等级加成('主动', 60, 60, 1) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石肩甲 , 领域之主 - 头肩 +def entry_311(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45、60、70级技能攻击力 +5%', '70级主动技能等级 +1'] + if mode == 0: + char.技能倍率加成(45, 45, 0.05) + char.技能倍率加成(60, 60, 0.05) + char.技能倍率加成(70, 70, 0.05) + char.技能等级加成('主动', 70, 70, 1) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 +def entry_312(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(60, 60, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 +def entry_313(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(70, 70, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_314(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(60, 60, 0.2) + # char.条件冷却加成("Lv60", 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_315(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(70, 70, 0.2) + # char.条件冷却加成("Lv70", 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 +def entry_316(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['按照[技能魔法值消耗量]属性数值总和的1%,增加技能伤害。 (最多10%)'] + if mode == 0: + pass + if mode == 1: + if char.MP消耗倍率() >= 1: + char.技能攻击力加成(part=part, x=min((char.MP消耗倍率() - 1)*0.01, 0.1)) + if char.MP消耗倍率() < 11: + return 'MP消耗量增加需提升{}%'.format(round(1100-char.MP消耗倍率()*100), 0) + + +# 自定义装备:蓝灵绿玉石腰带 , 领域之主 - 腰带 +def entry_317(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['恢复技能消耗的魔法值的10%', '技能魔法值消耗量 +100%'] + if mode == 0: + char.MP消耗量加成(1) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 +def entry_318(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['20级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(20, 20, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 +def entry_319(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['25级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(25, 25, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_320(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['20级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(20, 20, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_321(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['25级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(25, 25, 0.2) + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 +def entry_322(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45、60主动技能等级 +3', '- 缔造者[终末幻想][构造]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能等级加成('主动', 60, 60, 3) + char.技能等级加成('主动', 50, 50, 3) + else: + char.技能等级加成('主动', 45, 45, 3) + char.技能等级加成('主动', 60, 60, 3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石长靴 , 领域之主 - 鞋 +def entry_323(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放技能消耗15个以上无色小晶块时,技能伤害 +15%,效果持续30秒。', '束缚抗性 +40%'] + if mode == 0: + char.异常抗性加成('束缚', 0.4) + if mode == 1: + # 无色判定 + char.技能攻击力加成(0.15) + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 +def entry_324(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '100级主动技能攻击力 +20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + char.技能倍率加成(100, 100, 0.2) + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 +def entry_325(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '85级主动技能攻击力 +20%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(85, 85, 0.2) + char.技能攻击力加成(0.02) + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 +def entry_326(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['95级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(95, 95, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_327(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['95级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(95, 95, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 +def entry_328(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75、80、95级技能攻击力 +5%', '95级主动技能等级 +1'] + if mode == 0: + char.技能倍率加成(75, 75, 0.05) + char.技能倍率加成(80, 80, 0.05) + char.技能倍率加成(95, 95, 0.05) + char.技能等级加成('主动', 95, 95, 1) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 上衣 , 深潜迷航胸甲 +def entry_329(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '移动速度 +5%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 +def entry_330(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(75, 75, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 +def entry_331(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能攻击力 +20%'] + if mode == 0: + char.技能倍率加成(80, 80, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_332(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(75, 75, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_333(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能冷却时间 -20%'] + if mode == 0: + char.技能冷却缩减(80, 80, 0.2) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 +def entry_334(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75、80、95级技能攻击力 +5%', '75级主动技能等级 +1'] + if mode == 0: + char.技能倍率加成(75, 75, 0.05) + char.技能倍率加成(80, 80, 0.05) + char.技能倍率加成(95, 95, 0.05) + if not char.实际名称 == "crusader_male": + char.技能等级加成('主动', 75, 75, 1) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 深潜迷航长裤 +def entry_335(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75、80、95级技能攻击力 +5%', '80级主动技能等级 +1'] + if mode == 0: + char.技能倍率加成(75, 75, 0.05) + char.技能倍率加成(80, 80, 0.05) + char.技能倍率加成(95, 95, 0.05) + char.技能等级加成('主动', 80, 80, 1) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_336(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +40'] + if mode == 0: + char.火属性强化加成(40) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_337(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +40'] + if mode == 0: + char.冰属性强化加成(40) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 深潜迷航气囊 +def entry_338(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +40'] + if mode == 0: + char.暗属性强化加成(40) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_339(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '火属性抗性 +40'] + if mode == 0: + char.火属性抗性加成(40) + char.技能攻击力加成(part=part, x=0.05) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_340(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +311.2%', '冰属性抗性 +40'] + if mode == 0: + char.冰属性抗性加成(40) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_341(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +14000', '光属性抗性 +40'] + if mode == 0: + char.光属性抗性加成(40) + char.add_eq_params('defense',14000) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_342(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +15%', '施放速度 +22.5%', '暗属性抗性 +40'] + if mode == 0: + char.暗属性抗性加成(40) + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_343(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +2000', '魔法值最大值 +2000'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵圣杯 , 领域之主 - 辅助装备 +def entry_344(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性数值之和高于250时,出血伤害 +15%'] + if mode == 0: + pass + if mode == 1: + 抗性 = sum([char.火属性抗性(), char.冰属性抗性(), char.光属性抗性(), char.暗属性抗性()]) + if 抗性 >= 250: + char.异常增伤('出血', 0.15) + else: + return '所有属性抗性之和缺少{}'.format(round(250-抗性, 0)) + # char.异常增伤('出血', 0.15) + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_345(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['命中率 +20%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_346(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +25', '火属性抗性 +2'] + if mode == 0: + char.火属性强化加成(25) + char.火属性抗性加成(2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_347(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +25', '冰属性抗性 +2'] + if mode == 0: + char.冰属性强化加成(25) + char.冰属性抗性加成(2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_348(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +25', '光属性抗性 +2'] + if mode == 0: + char.光属性强化加成(25) + char.光属性抗性加成(2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_349(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +25', '暗属性抗性 +2'] + if mode == 0: + char.暗属性强化加成(25) + char.暗属性抗性加成(2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵之心 , 领域之主 - 魔法石 +def entry_350(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性数值之和高于250时,灼伤伤害 +15%'] + if mode == 0: + pass + if mode == 1: + # 抗性判断 + 抗性 = sum([char.火属性抗性(), char.冰属性抗性(), char.光属性抗性(), char.暗属性抗性()]) + if 抗性 >= 250: + char.异常增伤('灼伤', 0.15) + else: + return '所有属性抗性之和缺少{}'.format(round(250-抗性, 0)) + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_351(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '所有属性抗性 +3'] + if mode == 0: + char.攻击强化加成(params[0]) + char.所有属性抗性加成(2) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 +def entry_352(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '出血抗性 +1%'] + if mode == 0: + char.异常增伤('出血', 0.15) + char.异常抗性加成('出血',0.01) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 +def entry_353(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%', '中毒抗性 +1%'] + if mode == 0: + char.异常增伤('中毒', 0.15) + char.异常抗性加成('中毒',0.01) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 +def entry_354(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +15%', '感电抗性 +1%'] + if mode == 0: + char.异常增伤('感电', 0.15) + char.异常抗性加成('感电',0.01) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 +def entry_355(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '灼伤抗性 +1%'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + char.异常抗性加成('灼伤',0.01) + pass + if mode == 1: + pass + + +# 自定义装备:恩特精灵耳环 , 领域之主 - 耳环 +def entry_356(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性数值之和高于250时,感电伤害 +15%'] + if mode == 0: + pass + if mode == 1: + # 抗性判断 + 抗性 = sum([char.火属性抗性(), char.冰属性抗性(), char.光属性抗性(), char.暗属性抗性()]) + if 抗性 >= 250: + char.异常增伤('感电', 0.15) + else: + return '所有属性抗性之和缺少{}'.format(round(250-抗性, 0)) + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_357(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45级技能冷却时间恢复速度 +40%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.技能恢复加成(45, 45, 0.4) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_358(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['60级技能冷却时间恢复速度 +40%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.技能恢复加成(60, 60, 0.4) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_359(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能冷却时间恢复速度 +40%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.技能恢复加成(35, 35, 0.4) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_360(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +15%', '生命值最大值 +300'] + if mode == 0: + char.异常增伤('感电', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_361(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['睡眠抗性 +40%', '辅助职业技能伤害 +5%,所有异常状态抗性 +20%'] + if mode == 0: + char.异常抗性加成('睡眠', 0.4) + if char.类型 == "辅助": + char.所有异常抗性加成(0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + char.所有异常抗性加成(0.2) + if mode == 1: + pass + + +# 自定义装备:森林之魔女篮子 , 领域之主 - 辅助装备 +def entry_362(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能冷却时间恢复速度 +15%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能恢复加成(80, 80, 0.15) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_363(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能冷却时间恢复速度 +40%'] + if mode == 0: + char.技能恢复加成(70, 70, 0.4) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_364(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['75级技能冷却时间恢复速度 +40%'] + if mode == 0: + char.技能恢复加成(75, 75, 0.4) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_365(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能冷却时间恢复速度 +40%'] + if mode == 0: + char.技能恢复加成(40, 40, 0.4) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_366(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['眩晕抗性 +40%', '被攻击时,赋予生命值最大值20%的保护罩,效果持续20秒。 (冷却时间10秒)'] + if mode == 0: + char.异常抗性加成('眩晕', 0.4) + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_367(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['70级技能冷却时间恢复速度 +15%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.技能恢复加成(70, 70, 0.15) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女精灵石 , 领域之主 - 魔法石 +def entry_368(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['装备提供的保护罩上限 +20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.2) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_369(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '辅助职业技能伤害 +3%'] + if mode == 0: + char.所有属性强化加成(25) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 +def entry_370(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['95级技能冷却时间恢复速度 +40%'] + if mode == 0: + char.技能恢复加成(95, 95, 0.4) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 +def entry_371(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['80级技能冷却时间恢复速度 +40%'] + if mode == 0: + char.技能恢复加成(80, 80, 0.4) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 +def entry_372(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -10%', '石化抗性 +40%'] + if mode == 0: + char.异常抗性加成('石化', 0.4) + char.add_eq_params('hurted_ratio',0.1) + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 +def entry_373(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35级技能冷却时间恢复速度增加15%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.技能恢复加成(35, 35, 0.15) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女耳环 , 领域之主 - 耳环 +def entry_374(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40级技能冷却时间恢复速度增加15%', '辅助职业技能伤害 +3%'] + if mode == 0: + char.技能恢复加成(40, 40, 0.15) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_375(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['魔法值30%以下时,消耗10个无色小晶块,恢复30%的魔法值。 (冷却时间10秒)'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_376(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +281.6%', '物理/魔法防御力 +5000'] + if mode == 0: + char.攻击强化加成(params[0]) + char.add_eq_params('defense',5000) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_377(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +20%', '施放速度 +30%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.施放速度增加(0.3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_378(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +13%'] + if mode == 0: + char.异常增伤('出血', 0.13) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_379(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +23'] + if mode == 0: + char.冰属性强化加成(23) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石香水 , 领域之主 - 辅助装备 +def entry_380(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +237.1%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_381(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -15%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.15) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_382(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +13%'] + if mode == 0: + char.异常增伤('灼伤', 0.13) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_383(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +23'] + if mode == 0: + char.火属性强化加成(23) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_384(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放20级技能时,进入霸体状态2秒。 (冷却时间10秒)', '攻击速度 +15%', '施放速度 +22.5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_385(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放25级技能时,进入霸体状态2秒。 (冷却时间10秒)', '攻击速度 +15%', '施放速度 +22.5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石宝石 , 领域之主 - 魔法石 +def entry_386(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放30级技能时,进入霸体状态2秒。 (冷却时间10秒)', '攻击速度 +15%', '施放速度 +22.5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_387(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['正面攻击时,增加8%的技能伤害。'] + if mode == 0: + pass + if mode == 1: + if '正面攻击' in pa.attack_type: + # 期望处理 + if '背面攻击' in pa.attack_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '非正面攻击' + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_388(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['背击时,增加8%的技能伤害。'] + if mode == 0: + pass + if mode == 1: + if '背面攻击' in pa.attack_type: + if '正面攻击' in pa.attack_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '非背面攻击' + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_389(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +13%'] + if mode == 0: + char.异常增伤('感电', 0.13) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_390(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +23'] + if mode == 0: + char.光属性强化加成(23) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_391(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +20%', '施放速度 +30%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.施放速度增加(0.3) + pass + if mode == 1: + pass + + +# 自定义装备:蓝灵绿玉石耳环 , 领域之主 - 耳环 +def entry_392(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +24'] + if mode == 0: + char.所有属性强化加成(24) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_393(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['破招时,随机初始化1个冷却中的1~30级技能。 (冷却时间5秒)', '- 不连续适用于同一技能。'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 +def entry_394(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +5%', '出血抗性 +5%'] + if mode == 0: + char.异常增伤('出血', 0.05) + char.异常抗性加成('出血', 0.05) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 +def entry_395(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +5%', '中毒抗性 +5%'] + if mode == 0: + char.异常增伤('中毒', 0.05) + char.异常抗性加成('中毒', 0.05) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 +def entry_396(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '眩晕持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 +def entry_397(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '诅咒持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 深潜迷航脚蹼 +def entry_398(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '石化持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_399(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.08) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_400(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '被非破招攻击时,物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 +def entry_401(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +5%', '灼伤抗性 +5%'] + if mode == 0: + char.异常增伤('灼伤', 0.05) + char.异常抗性加成('灼伤', 0.05) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 +def entry_402(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +5%', '感电抗性 +5%'] + if mode == 0: + char.异常增伤('感电', 0.05) + char.异常抗性加成('感电', 0.05) + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 +def entry_403(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '冰冻持续时间 +1秒'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 魔法石 , 深潜迷航面罩 +def entry_404(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '失明持续时间 +1秒'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 , 领域之主 - 短剑 , 领域之主 - 太刀 , 领域之主 - 钝器 , 领域之主 - 巨剑 , 领域之主 - 光剑 , 领域之主 - 手套 , 领域之主 - 臂铠 , 领域之主 - 爪 , 领域之主 - 拳套 , 领域之主 - 东方棍 , 领域之主 - 左轮枪 , 领域之主 - 自动手枪 , 领域之主 - 步枪 , 领域之主 - 手炮 , 领域之主 - 手弩 , 领域之主 - 矛 , 领域之主 - 棍棒 , 领域之主 - 魔杖 , 领域之主 - 法杖 , 领域之主 - 扫把 , 领域之主 - 十字架 , 领域之主 - 念珠 , 领域之主 - 图腾 , 领域之主 - 镰刀 , 领域之主 - 战斧 , 领域之主 - 匕首 , 领域之主 - 双剑 , 领域之主 - 手杖 , 领域之主 - 苦无 , 领域之主 - 长枪 , 领域之主 - 战戟 , 领域之主 - 光枪 , 领域之主 - 暗矛 , 领域之主 - 长刀 , 领域之主 - 小太刀 , 领域之主 - 重剑 , 领域之主 - 源力剑 , 领域之主 - 玄机弓 , 领域之主 - 强攻弩 , 领域之主 - 妖影弓 +def entry_405(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '韧性条减少量 +10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.06) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 +def entry_406(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '睡眠持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 +def entry_407(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '减速持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 深潜迷航耳环 +def entry_408(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +266.8%', '韧性条减少量 +10%', '混乱持续时间 +1秒'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:森林之魔女长靴 , 领域之主 - 鞋 +def entry_409(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +12%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.暴击率增加(0.12) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1731(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +281.6%', '物理/魔法所受伤害 -13%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.add_eq_params('hurted_ratio',0.13) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1732(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '- 需要穿戴[铭刻之誓约]', '', '所有速度 +5%', ' 灼伤抗性 +20%'] + if mode == 0: + char.异常抗性加成('灼伤', 0.2) + char.所有速度增加(part=part, x=0.05) + if char.check_equ_by_name('铭刻之誓约'): + char.技能攻击力加成(0.04) + else: + return '未穿戴穿戴[铭刻之誓约]' + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1733(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '弱点控制型异常状态和强控的韧性条减少量 +200%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1734(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%', '中毒抗性 +10%'] + if mode == 0: + char.异常增伤('中毒', 0.15) + char.异常抗性加成('中毒', 0.1) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1735(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['对敌人施加石化状态时,攻击强化 +444.6%,效果持续60秒。', '', '清除自身赋予敌人石化状态的物理/魔法所受伤害减少效果。'] + if mode == 0: + char.add_eq_params('defense',5000) + pass + if mode == 1: + if '石化' in pa.state_type: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:防具专属词条 +def entry_1736(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '- 需要穿戴[天才技术大师的加厚长靴]'] + if mode == 0: + if char.check_equ_by_name('天才技术大师的加厚长靴'): + char.技能攻击力加成(0.07) + else: + return '未穿戴穿戴[天才技术大师的加厚长靴]' + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1737(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '@[爆发契约 - 出血]@', '施加出血状态时,一次性结算出血伤害。', '- 通过转换属性施加状态时不适用'] + if mode == 0: + char.set_eq_params('出血-结算', 1.0) + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1738(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +15%', '@[爆发契约 - 感电]@', '施加感电状态时,一次性结算感电伤害。', '- 通过转换属性施加状态时不适用'] + if mode == 0: + char.异常增伤('感电', 0.15) + char.set_eq_params('感电-结算', 1.0) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1739(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值低于40%时,技能伤害 +6%', '攻击时,恢复550点生命值/875点魔法值。 (冷却时间1秒)', '物理/魔法防御力 +15000'] + if mode == 0: + if pa.get_hp_rate_num(char) <= 40: + char.技能攻击力加成(part=part, x=0.06) + else: + return '生命值高于40%' + char.add_eq_params('defense',15000) + pass + if mode == 1: + pass + + +# 自定义装备:防具专属词条 +def entry_1740(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '灼伤状态持续时间 -20%'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + char.异常时间['灼伤'][2] -= 0.2 + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_1741(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '消耗品效果持续时间 +10%', '所有异常状态抗性 +1.5%', '睡眠抗性 -1.5%'] + if mode == 0: + char.技能攻击力加成(0.04) + char.所有异常抗性加成(0.015) + char.异常抗性加成('睡眠',-0.015) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_1742(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤-冰冻联接造成的灼伤伤害 +25%'] + if mode == 0: + char.异常结算加成['灼伤破冰'] += 0.25 + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_1743(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_1744(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '所有速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.所有速度增加(part=part, x=0.1) + pass + if mode == 1: + pass + + +# 自定义装备:首饰专属词条 +def entry_1745(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['自身当前每适用1种异常状态,技能伤害 +1% (最多叠加4次)'] + if mode == 0: + pass + if mode == 1: + num = len(list(filter(lambda i: i not in ['石化', '睡眠', '眩晕', '冰冻', ''], pa.own_type)) + ((['石化'] if '石化' in pa.own_type and 1537 in char.装备栏 else [] + ['睡眠'] if '睡眠' in pa.own_type and (1684 in char.装备栏 or 295 in char.装备栏) else []) if char.check_fun_by_id(1625) else [])) + for i in range(0, min(num, 4)): + char.技能攻击力加成(part=part, x=0.01) + if num < 4: + return '自身异常状态缺少{}种'.format(4 - num) + pass + + +# 自定义装备:首饰专属词条 +def entry_1746(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '- 需要穿戴[永恒的心愿]', '装备的魔法值恢复效果 +15%', '所有速度 +10%', '失明抗性 +20%'] + if mode == 0: + char.异常抗性加成('失明', 0.2) + char.所有速度增加(0.10) + if char.check_equ_by_name('永恒的心愿'): + char.技能攻击力加成(0.03) + else: + return '未穿戴穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_1747(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['回避率 +10%', '辅助职业技能冷却时间恢复速度 +20% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + if char.类型 == "辅助": + char.技能恢复加成(1,100,0.2, excName=char.觉醒技能) + if char.bufferCarry: + char.技能恢复加成(1,100,0.2, excName=char.觉醒技能) + pass + + +# 自定义装备:特殊装备专属词条 +def entry_1748(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放技能消耗10个以上无色小晶块时,技能冷却时间恢复速度 +15%,效果持续30秒。 (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + + +# 自定义装备:特殊装备专属词条 +def entry_1749(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['50、85、100级技能攻击力 +11%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(50, 50, 0.11) + char.技能倍率加成(85, 85, 0.11) + char.技能倍率加成(100, 100, 0.11) + pass + + +# 自定义装备:特殊装备专属词条 +def entry_1750(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '受到总生命值10%以上的伤害时,生成相当于生命值最大值20%的保护罩,效果持续20秒。 (冷却时间15秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.2) + pass + if mode == 1: + pass + + +# 自定义装备:特殊装备专属词条 +def entry_1751(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围属性数值总和高于30%时,技能伤害 +6%'] + if mode == 0: + pass + if mode == 1: + if char.get_eq_params('skill_range') >= 0.3: + char.技能攻击力加成(0.06) + else: + return '技能范围不足30%' + pass + + +# 自定义装备:蓝灵绿玉石耳环 , 恩特精灵耳环 , 森林之魔女耳环 , 领域之主 - 耳环 , 深潜迷航耳环 , 海湾侠踪耳环 +def entry_1752(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的技能攻击力 +10%'] + if mode == 0: + pass + if mode == 1: + char.无色技能加成(0,0.1) + pass + diff --git a/api/core/equipment/entry_0/divinity.py b/api/core/equipment/entry_0/divinity.py new file mode 100644 index 00000000..2c767d01 --- /dev/null +++ b/api/core/equipment/entry_0/divinity.py @@ -0,0 +1,1322 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1572(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +192.7%', '攻击时,敌人韧性条 -1 (冷却时间1秒)'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1573(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的技能攻击力 +10%', '物理/魔法防御力 +5000'] + if mode == 0: + char.add_eq_params('defense',5000) + pass + if mode == 1: + char.无色技能加成(0,0.1) + pass + + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1574(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -10% (觉醒技能除外)', '- 需要穿戴[超界次元]或拥有"所有特性技能等级 +1"属性'] + if mode == 0: + pass + if mode == 1: + if char.get_eq_params('tp') > 0 or char.check_equ_by_name('超界次元'): + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + else: + return '未获得特性技能等级增加效果' + pass + + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1575(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '物理/魔法防御力 +5000'] + if mode == 0: + char.add_eq_params('defense',5000) + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1576(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +296.4%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 上衣 , 海湾侠踪衬衫 +def entry_1577(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +15', '所有速度 +10%'] + if mode == 0: + char.所有属性强化加成(15) + char.所有速度增加(part=part, x=0.1) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1578(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['自身当前每适用1种异常状态,技能伤害 +2% (最多叠加4次)'] + if mode == 0: + pass + if mode == 1: + num = len(list(filter(lambda i: i not in ['石化', '睡眠', '眩晕', '冰冻', ''], pa.own_type)) + ((['石化'] if '石化' in pa.own_type and 1537 in char.装备栏 else [] + ['睡眠'] if '睡眠' in pa.own_type and (1684 in char.装备栏 or 295 in char.装备栏) else []) if char.check_fun_by_id(1625) else [])) + for i in range(0, min(num, 4)): + char.技能攻击力加成(part=part, x=0.02) + if num < 4: + return '自身异常状态缺少{}种'.format(4 - num) + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1579(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放技能消耗15个以上无色小晶块时,技能伤害 +6%,效果持续30秒。', '所有速度 +10%'] + if mode == 0: + char.所有速度增加(0.1, part) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1580(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1581(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +20%', '灼伤抗性 +5%'] + if mode == 0: + char.异常增伤('灼伤', 0.2) + char.异常抗性加成('灼伤',0.05) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1582(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['50、85、100级技能攻击力 +8%'] + if mode == 0: + char.技能倍率加成(50, 50, 0.08) + char.技能倍率加成(85, 85, 0.08) + char.技能倍率加成(100, 100, 0.08) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 下装 , 海湾侠踪长裤 +def entry_1583(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '所有异常状态抗性 +10%'] + if mode == 0: + char.所有异常抗性加成(0.1) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1584(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1585(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%'] + if mode == 0: + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1586(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '技能冷却时间 -6% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.06, excName=char.觉醒技能) + char.技能攻击力加成(0.02) + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1587(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.04, excName=char.觉醒技能) + char.技能攻击力加成(0.03) + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1588(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -16% (觉醒技能除外)', '- 需要穿戴[天才技术大师的加厚长靴]'] + if mode == 0: + pass + if mode == 1: + if char.check_equ_by_name('天才技术大师的加厚长靴'): + char.技能冷却缩减(1, 100, 0.16, excName=char.觉醒技能) + else: + return '未穿戴[天才技术大师的加厚长靴]' + pass + + +# 自定义装备:领域之主 - 头肩 , 海湾侠踪护肩 +def entry_1589(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['消耗15个以上无色小晶块的技能攻击力 +10%'] + if mode == 0: + pass + if mode == 1: + char.无色技能加成(15,0.1) + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1590(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '物理/魔法防御力 +4000'] + if mode == 0: + char.技能攻击力加成(0.06) + char.add_eq_params('defense',4000) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1591(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '- 需要穿戴[永恒的心愿]', '睡眠抗性 -20%'] + if mode == 0: + char.异常抗性加成('睡眠', -0.2) + if char.check_equ_by_name('永恒的心愿'): + char.技能攻击力加成(0.07) + else: + return '未穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1592(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '- 需要穿戴[永恒的心愿]'] + if mode == 0: + if char.check_equ_by_name('永恒的心愿'): + char.攻击强化加成(params[0]) + else: + return '未穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1593(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被攻击时,生成生命值最大值10%的保护罩,效果持续10秒。 (冷却时间10秒)'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect')+0.1) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1594(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +15%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 腰带 , 海湾侠踪腰带 +def entry_1595(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +15% (觉醒技除外)'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1596(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +20%', '移动速度 +5%'] + if mode == 0: + char.异常增伤('感电', 0.2) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1597(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤-冰冻联接造成的灼伤伤害 +15%'] + if mode == 0: + char.异常结算加成['灼伤破冰'] += 0.15 + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1598(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的技能攻击力 +10%', '移动速度 +5%'] + if mode == 0: + char.移动速度增加(0.05) + pass + if mode == 1: + char.无色技能加成(0,0.1) + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1599(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +20%', '@[酷寒一击]@', '将[冰冻打击]属性变更为技能伤害 +5%'] + if mode == 0: + char.异常增伤('灼伤', 0.2) + char.set_eq_params('ice_attack_rate', 1/3) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1600(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '移动速度 +15%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.移动速度增加(0.15) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 鞋 , 海湾侠踪短靴 +def entry_1601(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +15% (觉醒技除外)'] + if mode == 0: + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1602(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[傀儡一击]@', '将[石化打击]属性变更为技能伤害 +5%'] + if mode == 0: + char.set_eq_params('stone_attack_rate', 1/3) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1603(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '技能范围 +10%'] + if mode == 0: + char.技能攻击力加成(0.04) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1604(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '灼伤抗性 +10%'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + char.异常抗性加成('灼伤',0.1) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1605(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +177.8%'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1606(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '清除自身赋予敌人石化状态的物理/魔法所受伤害减少效果。'] + if mode == 0: + char.攻击强化加成(params[0]) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 项链 , 海湾侠踪项链 +def entry_1607(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '进入索利达斯 (高级)地下城时,技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + if '[团结]' in pa.dungeons_type: + char.技能攻击力加成(0.1) + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1608(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1609(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的1~35级技能攻击力 +10%'] + if mode == 0: + pass + if mode == 1: + char.无色技能加成(0,0.1,1,35) + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1610(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1611(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -10% (觉醒技能除外)'] + if mode == 0: + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1612(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +# 自定义装备:领域之主 - 手镯 , 海湾侠踪手镯 +def entry_1613(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '物理/魔法伤害减少量 +10%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1614(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['消耗无色小晶块的技能技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + char.无色技能加成(1,0.08) + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1615(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放50、85、100级技能时,有8%的几率增加88%的该技能攻击力'] + if mode == 0: + pass + if mode == 1: + # char.技能倍率加成(50, 50, 0.88*0.08) + # char.技能倍率加成(85, 85, 0.88*0.08) + # char.技能倍率加成(100, 100, 0.88*0.08) + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1616(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '- 需要穿戴[告别过去的前进]'] + if mode == 0: + if char.check_equ_by_name('告别过去的前进'): + char.技能攻击力加成(0.04) + else: + return '未穿戴[告别过去的前进]' + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1617(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['回避率 +4%', '辅助职业技能冷却时间恢复速度 +30% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + if char.类型 == "辅助": + char.技能恢复加成(1,100,0.3, excName=char.觉醒技能) + if char.bufferCarry: + char.技能恢复加成(1,100,0.3, excName=char.觉醒技能) + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1618(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '攻击时,恢复500点生命值。 (冷却时间1秒)'] + if mode == 0: + char.所有属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 戒指 , 海湾侠踪戒指 +def entry_1619(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '攻击时,恢复500点魔法值。 (冷却时间1秒)'] + if mode == 0: + char.所有属性强化加成(25) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1620(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '命中率 +8%'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1621(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +15% (觉醒技能除外)', '- 需穿戴[铭刻之誓约]'] + if mode == 0: + if char.check_equ_by_name('铭刻之誓约'): + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + else: + return '未穿戴[铭刻之誓约]' + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1622(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '命中率 +4%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1623(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '回避率 +4%'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1624(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +12%'] + if mode == 0: + char.异常增伤('中毒', 0.12) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 辅助装备 , 海湾侠踪保护器 +def entry_1625(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '回避率 +8%'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1626(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['装备发动的物体伤害 +10%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1627(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['控制型异常状态、强控的韧性条减少量 +100%'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1628(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '被破招时,物理/魔法所受伤害 -5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1629(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '移动速度 +5%'] + if mode == 0: + char.异常增伤('出血', 0.15) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1630(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '被背击时,物理/魔法所受伤害 -5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 自定义装备:领域之主 - 魔法石 , 海湾侠踪宝石 +def entry_1631(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '正面被攻击时,物理/魔法所受伤害 -5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1632(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['用指令施放技能时,进入霸体状态30秒。'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1633(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '- 需要穿戴[永恒的心愿]'] + if mode == 0: + if char.check_equ_by_name('永恒的心愿'): + char.技能攻击力加成(0.06) + else: + return '未穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1634(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['按照装备、消耗品、生命值恢复技能提供的生命值恢复量的50%,恢复保护罩。', '- 持续恢复的技能除外。'] + if mode == 0: + pass + if mode == 1: + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1635(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '进入霸体护甲状态'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1636(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '魔法值最大值 +300'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 自定义装备:领域之主 - 耳环 , 海湾侠踪耳环 +def entry_1637(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '- 需要穿戴[超界次元]或拥有"所有特性技能等级 +1"属性', '75~100级技能攻击力 +6%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(75, 100, 0.06) + if char.get_eq_params("tp") or char.check_equ_by_name('超界次元'): + char.技能攻击力加成(0.06) + else: + return '未获得特性点等级增加效果' + pass + + +# 固定装备:雾之意志追随者上衣 +def entry_1638(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '韧性条减少量 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 固定装备:雾之意志追随者下装 +def entry_1640(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '强控的韧性条减少量 +200%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.08) + pass + + +# 固定装备:虚蚀之神兽斗篷 +def entry_1642(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.11) + char.add_eq_params('hurted_ratio',0.1) + pass + + +# 固定装备:雾之探索者腰带 +def entry_1644(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.13) + pass + + +# 固定装备:雾之意志追随者鞋 +def entry_1646(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '韧性条减少量 +100%', '', '@[弱点攻略]@', '攻击韧性条低于90%的敌人时,赋予敌人的所有控制型异常状态均视为敌人的弱点。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.13) + pass + + +# 固定装备:雾之探索者项链 +def entry_1648(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%', '回避率 +20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.09) + char.所有速度增加(0.10) + pass + + +# 固定装备:邪恶力量侵蚀手镯 +def entry_1650(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%', '', '攻击领主/稀有怪物时,韧性条 -1% (辅助职业不适用)', '- 仅限于攻击韧性条高于90%以上的敌人时,适用该效果。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.16) + pass + + +# 固定装备:雾之探索者戒指 +def entry_1652(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '技能冷却时间恢复速度增加30% (觉醒技能除外)', '', '移动速度 +15%'] + if mode == 0: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + char.技能攻击力加成(0.02) + char.移动速度增加(0.15) + pass + if mode == 1: + pass + + +# 固定装备:悲蚀之神兽面纱 +def entry_1654(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%'] + if mode == 0: + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:被侵蚀的高原之精髓 +def entry_1656(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '攻击速度 +5%', '施放速度 +5%', '移动速度 +5%', '所有属性抗性 +10', '回避率 +8%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.所有速度增加(0.05) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +# 固定装备:被侵蚀的神兽之泪 +def entry_1658(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '攻击速度 +5%', '施放速度 +5%', '移动速度 +5%', '所有异常状态抗性 +10%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.所有异常抗性加成(0.1) + char.所有速度增加(0.05) + pass + if mode == 1: + pass + + +# 固定装备:守望溪谷的注视 +def entry_1660(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.所有速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:守望溪谷的行动 +def entry_1662(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 固定装备:守护晴烟的意志 +def entry_1664(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '灼伤伤害 +10%', '', '灼伤持续时间 -20%'] + if mode == 0: + char.异常增伤('灼伤', 0.1) + char.异常时间['灼伤'][2] -= 0.2 + pass + if mode == 1: + char.技能攻击力加成(0.09) + pass + + +# 固定装备:承诺誓约的腰带 +def entry_1666(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[爆发契约 - 强化]@', '施加出血/中毒/灼伤/感电状态时,增加10%的相同异常状态伤害后一次性结算。', '- 通过转换属性施加状态时不适用', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + for i in ['感电','中毒','出血','灼伤']: + char.异常结算加成[i] += 0.1 + char.set_eq_params(f'{i}-结算', 1.0) + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.add_eq_params('hurted_ratio',0.15) + pass + + +# 固定装备:信守誓约的步伐 +def entry_1668(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[酷寒一击]@', '将[冰冻打击]属性变更为技能伤害 +5%。', '', '删除装备[永眠前的准备]的@[灼伤冰冻]@冷却时间。', '', '灼伤持续时间 +4秒', '', '攻击普通怪物时,使所有敌人进入冰冻状态。 (冷却时间1秒)'] + if mode == 0: + char.异常时间['灼伤'][1] += 4 + if '冰冻' not in pa.state_type: + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],1) + char.技能攻击力加成(0.1) + char.set_eq_params('ice_attack_rate', 1/3) + pass + if mode == 1: + pass + + +# 固定装备:记录者的项链 +def entry_1670(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '- 需穿戴[自由之缚手镯]装备。', '', '穿戴[死亡蚕食胸甲]时,狂暴状态持续时间上限 +5秒'] + if mode == 0: + if char.check_equ_by_name('自由之缚手镯'): + char.技能攻击力加成(0.11) + else: + return '未穿戴[自由之缚手镯]' + pass + if mode == 1: + pass + + +# 固定装备:传令使的祝福 +def entry_1672(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +18%', '', '物理/魔法防御力 +36000'] + if mode == 0: + char.add_eq_params('defense',36000) + pass + if mode == 1: + char.技能攻击力加成(0.18) + pass + + +# 固定装备:守望者之证 +def entry_1674(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[人偶剧]@', 'D011-Risa跟随角色。', '- 需穿戴[混乱核心胸甲]'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 固定装备:守护晴烟之力 +def entry_1676(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +251.9%', '所有属性强化 +15', '', '攻击时,发动1次迷雾雷。 (冷却时间1秒)', '- 有10%几率施放强化迷雾雷。', '- 迷雾雷和强化迷雾雷,分别造成总攻击强化数值1000%,1480%的伤害', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%'] + if mode == 0: + char.所有速度增加(0.1) + char.所有属性强化加成(15) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:记录者的宝石 +def entry_1678(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '使用恢复型消耗品时,[填充型保护罩]开始自动填充。', '装备保护罩最大值 +20%'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05*4) + pass + if mode == 1: + char.技能攻击力加成(0.12) + pass + + +# 固定装备:守望溪谷的标志 +def entry_1680(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '1~70级技能范围 +15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.14) + pass + + +# 固定装备:想象力充沛的工程师衬衫 +def entry_1682(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '施放技能期间,增加300%的移动速度。', '', '所有队员进入霸体状态。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.08) + pass + + +# 固定装备:想象力充沛的工程师长裤 +def entry_1684(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 固定装备:化虚为实之想象 +def entry_1686(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '所有异常状态抗性 +30%'] + if mode == 0: + char.所有异常抗性加成(0.3) + pass + if mode == 1: + char.技能攻击力加成(0.11) + pass + + +# 固定装备:想象力充沛的工程师工作腰带 +def entry_1688(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '所有属性抗性 +15'] + if mode == 0: + char.技能攻击力加成(0.12) + char.所有属性抗性加成(15) + pass + if mode == 1: + pass + + +# 固定装备:想象力充沛的工程师防护鞋 +def entry_1690(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +19%', '', '物理/魔法所受伤害 -20%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.2) + pass + if mode == 1: + char.技能攻击力加成(0.19) + pass + + +# 固定装备:机械工程学核心项链 +def entry_1692(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '技能的魔法值恢复量 +200%'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:封存时空的手镯 +def entry_1694(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +18%', '', '获得生命值最大值15%的@[填充型保护罩]@。'] + if mode == 0: + char.技能攻击力加成(0.18) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.15) + pass + if mode == 1: + pass + + +# 固定装备:俯瞰夜色的工程师之眼 +def entry_1696(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['50、85、100级技能攻击力 +20%', '50、85、100级技能冷却时间恢复速度 +40% (辅助职业除外)'] + if mode == 0: + char.技能倍率加成(50,50,0.2) + char.技能倍率加成(85,85,0.2) + char.技能倍率加成(100,100,0.2) + if char.类型 != '辅助': + char.技能恢复加成(50, 50, 0.4) + char.技能恢复加成(85, 85, 0.4) + char.技能恢复加成(100, 100, 0.4) + pass + if mode == 1: + pass + + +# 固定装备:查理的面具 +def entry_1698(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 -35% (觉醒技能除外)', '技能冷却时间 -50% (觉醒技能除外)'] + if mode == 0: + char.技能倍率加成(1, 100, -0.35, excName=char.觉醒技能) + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.5, excName=char.觉醒技能) + pass + + +# 固定装备:机械工程学的精髓 +def entry_1700(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '火/冰/光/暗攻击属性'] + if mode == 0: + char.技能攻击力加成(0.13) + pass + if mode == 1: + pass + + +# 固定装备:时间工程学的时刻 +def entry_1702(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + char.技能攻击力加成(0.14) + char.add_eq_params('hurted_ratio',0.15) + pass + if mode == 1: + pass + + +# 固定装备:勇敢骑士甲胄 +def entry_1704(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '技能冷却时间恢复速度 +20% (觉醒技能除外)', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + char.攻击速度增加(part=part, x=0.1) + char.施放速度增加(0.1) + char.移动速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:坚定骑士护腿 +def entry_1706(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + pass + + +# 固定装备:坚忍骑士肩甲 +def entry_1708(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '技能范围 +16%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.16) + char.multiply_eq_params('skill_range_multi',1.16) + pass + if mode == 1: + pass + + +# 固定装备:忠诚骑士腰带 +def entry_1710(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.11) + pass + + +# 固定装备:幻想骑士战靴 +def entry_1712(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +22%', '- 需穿戴[魔力抑制手镯]装备。', '', '攻击时,恢复2500点魔法值。 (冷却时间1秒)'] + if mode == 0: + if char.check_equ_by_name('魔力抑制手镯'): + char.技能攻击力加成(0.22) + else: + return '未穿戴[魔力抑制手镯]' + if mode == 1: + pass + + +# 固定装备:对敌之慎重 +def entry_1714(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '技能范围 +16%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.16) + char.multiply_eq_params('skill_range_multi',1.16) + pass + if mode == 1: + pass + + +# 固定装备:铭刻之誓约 +def entry_1716(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16.5%', '所有属性强化 +30'] + if mode == 0: + char.技能攻击力加成(0.165) + char.所有属性强化加成(30) + pass + if mode == 1: + pass + + +# 固定装备:压倒性之勇猛 +def entry_1718(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[审判时间]@', '输入↑↓ + [装备属性指令]时,审判领主怪物并累积伤害,效果持续10秒。 (冷却时间20秒)', '- 审判结束时,一次性结算累积的伤害', '- 再次按指令键时,解除审判', '- [审判时间]持续期间,所有速度 +75%'] + if mode == 0: + pass + if mode == 1: + char.所有速度增加(x=0.75/2,part=part) + char.技能攻击力加成(0.1) + pass + + +# 固定装备:挺进之气势 +def entry_1720(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +15%', '技能范围 +16%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.16) + char.multiply_eq_params('skill_range_multi',1.16) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + + +# 固定装备:守护之坚忍 +def entry_1722(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%'] + if mode == 0: + char.技能攻击力加成(0.13) + pass + if mode == 1: + pass + + +# 固定装备:永不放弃的勇气 +def entry_1724(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + char.技能攻击力加成(0.13) + pass + diff --git a/api/core/equipment/entry_0/fusion.py b/api/core/equipment/entry_0/fusion.py new file mode 100644 index 00000000..6197fff2 --- /dev/null +++ b/api/core/equipment/entry_0/fusion.py @@ -0,0 +1,1556 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +# 固定装备:火龙 : 爆炸的力之源 +def entry_1283(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -4% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.04, excName=char.觉醒技能) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:火龙 : 沸腾的龙之息 +def entry_1284(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -4% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.04, excName=char.觉醒技能) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:火龙 : 燃烧的火之怒 +def entry_1285(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -4% (觉醒技能除外)', '', '[火龙之怒]', '用愤怒喷出的火焰包围自己,攻击强化 +130.2%', '- 需要装备3种火龙融合装备。'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.04, excName=char.觉醒技能) + if char.check_equ_by_name('火龙 : 爆炸的力之源') and char.check_equ_by_name('火龙 : 沸腾的龙之息'): + char.攻击强化加成(params[0]) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:金龙 : 华丽的力之源 +def entry_1286(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,施放垂直光体。 (冷却时间3秒)', '- 以相同几率施放1、3、5次', '- 造成总攻击力增加数值400%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 4, "hit": 3}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:金龙 : 灿烂的龙之鳞 +def entry_1287(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人施放水平晶体。 (冷却时间3秒)', '- 以同等的概率施放 1、3、5 次。', '- 造成总攻击强化数值400%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 4, "hit": 3}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:金龙 : 无限的光之结界 +def entry_1288(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人施放超立方体爆炸。 (冷却时间3秒)', '- 以同等的概率施放 1、3、5 次。', '- 造成总攻击强化数值400%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 4, "hit": 3}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:黑龙 : 黑暗的力之源 +def entry_1289(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每秒恢复0.5%的魔法值。'] + if mode == 0: + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:黑龙 : 凝视的龙之瞳 +def entry_1290(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复1000点魔法值。 (冷却时间1秒)'] + if mode == 0: + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:黑龙 : 无尽的暗黑枷锁 +def entry_1291(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['装备的魔法值恢复效果 +10%'] + if mode == 0: + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:真龙 : 压倒的力之源 +def entry_1292(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,引发冲击波。 (冷却时间0.5秒)', '- 造成总攻击强化数值160%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 1.6, "hit": 1}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:真龙 : 残酷的龙之爪 +def entry_1293(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,引发冲击波。 (冷却时间1秒)', '- 减少敌人0.5韧性条,', '- 造成总攻击强化数值240%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 2.4, "hit": 1}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:真龙 : 沉重的铁之志 +def entry_1294(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,引发冲击波。 (冷却时间0.5秒)', '- 造成总攻击力120%的伤害。', '', '攻击时,使敌人进入眩晕状态,持续时间3秒。 (冷却时间8秒)', '', '攻击时减少敌人1.5韧性条。 (冷却时间8秒)'] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + pass + if mode == 1: + char.特效.append({"power": 1.2, "hit": 1}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:天界联合军 : 意志不灭 +def entry_1295(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +1200', '魔法值最大值 +1890'] + if mode == 0: + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:天界联合军 : 祈福苍生 +def entry_1296(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法防御力 +14000'] + if mode == 0: + char.add_eq_params('defense',14000) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:天界联合军 : 希望曙光 +def entry_1297(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性抗性 +20'] + if mode == 0: + char.所有属性抗性加成(20) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:冰花 : 绽放花瓣 +def entry_1334(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,所有敌人进入冰冻状态3秒。 (冷却时间 10秒)', '', '生命值最大值 +200', '物理/魔法防御力 +1400', '每分钟恢复生命值230.1。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],10) + char.add_eq_params('defense',1400) + pass + if mode == 1: + pass + + +# 固定装备:冰花 : 残酷寒意 +def entry_1335(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,所有敌人进入冰冻状态3秒。 (冷却时间 15秒)', '', '魔法值最大值 +315', '物理/魔法防御力 +1400', '每分钟恢复生命值230.1。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],15) + char.add_eq_params('defense',1400) + pass + if mode == 1: + pass + + +# 固定装备:冰花 : 萦绕冰霜 +def entry_1336(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,所有敌人进入冰冻状态5秒。 (冷却时间 20秒)', '', '攻击速度 +3%', '施放速度 +4.5%', '物理/魔法防御力 +1400', '每分钟恢复魔法值174。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],20) + char.攻击速度增加(0.03,part) + char.施放速度增加(0.045) + char.add_eq_params('defense',1400) + pass + if mode == 1: + pass + + +# 固定装备:冰花 : 永恒冰雪 +def entry_1337(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,所有敌人进入冰冻状态12秒。 (冷却时间 30秒)', '', '物理/魔法暴击率 +1.5%', '移动速度 +3%', '物理/魔法防御力 +1400', '每分钟恢复魔法值174。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],30) + char.移动速度增加(0.03) + char.基础属性加成(暴击率=0.015) + char.add_eq_params('defense',1400) + pass + if mode == 1: + pass + + +# 固定装备:冰花 : 辽阔冻土 +def entry_1338(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,所有敌人进入冰冻状态5秒。 (冷却时间 15秒)', '', '移动速度 +3%', '魔法值最大值 +315', '物理/魔法防御力 +1400', '每分钟恢复魔法值174。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],15) + char.移动速度增加(0.03) + char.add_eq_params('defense',1400) + pass + if mode == 1: + pass + + +# 固定装备:猎食 : 破碎伤痕 +def entry_1339(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒抗性 +15%'] + if mode == 0: + char.异常抗性加成('中毒', 0.15) + pass + if mode == 1: + pass + + +# 固定装备:猎食 : 消弭脉动 +def entry_1340(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入束缚状态5秒。 (冷却时间10秒)', '', '攻击速度 +8%', '施放速度 +12%', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%'] + if mode == 0: + char.异常抗性加成('束缚', 0.1) + char.异常抗性加成('诅咒', 0.1) + char.异常抗性加成('减速', 0.1) + char.攻击速度增加(0.08,part) + char.施放速度增加(0.12) + pass + if mode == 1: + if '减速' in pa.get_state_type() and '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + pass + + +# 固定装备:猎食 : 残酷袭击 +def entry_1341(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,恢复16%的魔法值。 (冷却时间15秒)', '', '攻击时,使敌人进入感电/中毒状态20秒。 (冷却时间5秒)', '', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%'] + if mode == 0: + char.异常抗性加成('束缚', 0.1) + char.异常抗性加成('诅咒', 0.1) + char.异常抗性加成('减速', 0.1) + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],3) + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],3) + pass + if mode == 1: + pass + + +# 固定装备:猎食 : 禁锢枷锁 +def entry_1342(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '', '攻击时,使敌人进入出血/灼伤状态20秒。 (冷却时间5秒)', '', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%'] + if mode == 0: + char.异常抗性加成('束缚', 0.1) + char.异常抗性加成('诅咒', 0.1) + char.异常抗性加成('减速', 0.1) + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],3) + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],3) + char.所有属性强化加成(25) + pass + if mode == 1: + pass + + +# 固定装备:猎食 : 追袭猎手 +def entry_1343(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,使敌人进入减速/束缚状态5秒。 (冷却时间8秒)', '', '移动速度 +10%'] + if mode == 0: + if '减速' not in pa.get_state_type(): + pa.state_type.append('减速') + if '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + char.移动速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:灵通 : 协同生命 +def entry_1344(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['30、60级技能冷却时间恢复速度 +20%', '- 缔造者[寒冰][终末狂想]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能恢复加成(10,10,0.2) + char.技能恢复加成(50,50,0.2) + else: + char.技能恢复加成(30,30,0.2) + char.技能恢复加成(60,60,0.2) + pass + if mode == 1: + pass + + +# 固定装备:灵通 : 守候温度 +def entry_1345(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['35、70级技能冷却时间恢复速度 +22.5%', '- 缔造者[控制][构造]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能恢复加成(20,20,0.225) + char.技能恢复加成(60,60,0.225) + else: + char.技能恢复加成(35,35,0.225) + char.技能恢复加成(70,70,0.225) + pass + if mode == 1: + pass + + +# 固定装备:灵通 : 暖融阳光 +def entry_1346(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40、75级技能冷却时间恢复速度 +22.5%', '- 缔造者[守护][同调]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能恢复加成(30,30,0.225) + char.技能恢复加成(70,70,0.225) + else: + char.技能恢复加成(40,40,0.225) + char.技能恢复加成(75,75,0.225) + pass + if mode == 1: + pass + + +# 固定装备:灵通 : 满盈泪珠 +def entry_1347(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['45、80级技能冷却时间恢复速度 +22.5%', '', '- 缔造者[风暴][虚空]系列技能适用该效果。'] + if mode == 0: + if char.职业 == '缔造者': + char.技能恢复加成(40,40,0.225) + char.技能恢复加成(80,80,0.225) + else: + char.技能恢复加成(45,45,0.225) + char.技能恢复加成(80,80,0.225) + pass + pass + if mode == 1: + pass + + +# 固定装备:灵通 : 并行大地 +def entry_1348(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['95级技能冷却时间恢复速度 +20%'] + if mode == 0: + char.技能恢复加成(95,95,0.2) + pass + if mode == 1: + pass + + +# 固定装备:暴怒 : 吞噬终末的气息 +def entry_1349(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['进入霸体状态', '', '消耗品、装备、技能的生命值恢复量 + 10%', '', '移动速度 +4%'] + if mode == 0: + char.移动速度增加(0.04) + pass + if mode == 1: + pass + + +# 固定装备:暴怒 : 贪恋世间的渴求 +def entry_1350(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['进入霸体状态', '', '消耗品、装备、技能的魔法值恢复量 + 10%', '', '移动速度 +4%'] + if mode == 0: + char.移动速度增加(0.04) + pass + if mode == 1: + pass + + +# 固定装备:暴怒 : 毁灭万物的盲目 +def entry_1351(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['前冲攻击时,产生冲击波。 (冷却时间1秒)', '- 造成总攻击强化数值400%的伤害。', '', '进入霸体状态。', '', '移动速度 +4%', '物理/魔法所受伤害 -4%'] + if mode == 0: + char.特效.append({"power": 4, "hit": 1}) + char.移动速度增加(0.04) + char.add_eq_params('hurted_ratio',0.04) + pass + if mode == 1: + pass + + +# 固定装备:暴怒 : 无限膨胀的食欲 +def entry_1352(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['进入霸体状态。', '', '移动速度 +12%'] + if mode == 0: + char.移动速度增加(0.12) + pass + if mode == 1: + pass + + +# 固定装备:暴怒 : 迷失方向的绝望 +def entry_1353(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['进入霸体状态。', '', '移动速度 +8%', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.移动速度增加(0.08) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:雷光 : 汇聚天雷的龙心 +def entry_1354(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人生成雷光爆炸。 (冷却时间4秒)', '- 造成总攻击强化数值2000%的伤害。', '', '攻击速度 +16%', '施放速度 +24%', '移动速度 +16%'] + if mode == 0: + char.特效.append({"power": 20, "hit": 1}) + char.移动速度增加(0.16) + char.攻击速度增加(0.16,part) + char.施放速度增加(0.24) + pass + if mode == 1: + pass + + +# 固定装备:雷光 : 呼唤落雷的龙角 +def entry_1355(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人生成雷光爆炸。 (冷却时间4秒)', '- 造成总攻击强化数值2000%的伤害。', '', '生命值最大值 +1200', '魔法值最大值 +1892'] + if mode == 0: + char.特效.append({"power": 20, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:雷光 : 拥抱沉雷的龙翼 +def entry_1356(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人生成3个落雷。 (冷却时间3秒)', '- 造成总攻击强化数值400%的伤害。', '', '物理/魔法所受伤害 -12%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.12) + char.特效.append({"power": 4, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:雷光 : 覆载奔雷的龙鳞 +def entry_1357(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人生成3个落雷。 (冷却时间3秒)', '- 造成总攻击强化数值400%的伤害。', '', '物理/魔法防御力 +14000'] + if mode == 0: + char.add_eq_params('defense',14000) + char.特效.append({"power": 4, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:雷光 : 踏足轰雷的龙爪 +def entry_1358(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,向敌人生成3个落雷。 (冷却时间3秒)', '- 造成总攻击强化数值400%的伤害。', '', '物理/魔法暴击率 +10%', '回避率 +8%'] + if mode == 0: + char.暴击率增加(0.1) + char.回避率增加(0.08) + pass + if mode == 1: + char.特效.append({"power": 1, "hit": 3}) + pass + + +# 固定装备:灵魂拘束 : 支配权能 +def entry_1465(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.07) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 固定装备:罪恶支配 : 绝望之恐怖 +def entry_1466(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击速度 +4%', '施放速度 +6%', '每分钟恢复348点魔法值'] + if mode == 0: + char.攻击速度增加(part=part, x=0.04) + char.施放速度增加(0.06) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:深渊结集 : 无法定义之存在 +def entry_1467(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能范围 +5%', '1~40级技能范围 +15%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:卓越 : 玛尔本源 +def entry_1468(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,发动生命的律动。 (冷却时间2秒)', '- 使敌人进入束缚状态5秒。', '- 造成总攻击强化数值1000%的伤害。'] + if mode == 0: + pass + if mode == 1: + char.特效.append({"power": 10, "hit": 1}) + if '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:光辉 : 崇高的使命 +def entry_1469(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '获得生命值最大值3%的@[填充型保护罩]@。'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.03) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:灵魂拘束 : 沉重罪魇 +def entry_1470(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.07) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 固定装备:罪恶支配 : 哀鸣之恐怖 +def entry_1471(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '移动速度 +4%', '所有属性抗性 +8'] + if mode == 0: + char.移动速度增加(0.04) + char.所有属性抗性加成(8) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:深渊结集 : 无限坍缩 +def entry_1472(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能范围 +5%', '45、60、70级技能范围 +15%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:卓越 : 魔力之环 +def entry_1473(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,发动大地的脉动。 (冷却时间1秒)', '- 使敌人进入眩晕状态5秒。', '- 造成总攻击强化数值500%的伤害。'] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + pass + if mode == 1: + char.特效.append({"power": 5, "hit": 1}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:光辉 : 无畏的意志 +def entry_1474(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '获得生命值最大值3%的@[填充型保护罩]@。'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.03) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:灵魂拘束 : 绝对封印 +def entry_1475(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.07) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +# 固定装备:罪恶支配 : 原初之恐怖 +def entry_1476(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '物理/魔法防御力 +7000', '每分钟恢复230.1点生命值'] + if mode == 0: + char.add_eq_params('defense',7000) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:深渊结集 : 未定之力 +def entry_1477(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能范围 +5%', '75、80级技能范围 +15%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:卓越 : 宇宙耳环 +def entry_1478(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,发动海浪的波动。 (冷却时间3秒)', '- 使敌人进入冰冻状态5秒。', '- 造成总攻击强化数值1500%的伤害。'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],3) + pass + if mode == 1: + char.特效.append({"power": 15, "hit": 1}) + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.03) + char.辅助属性加成(buff量=775) + pass + + +# 固定装备:光辉 : 传承的智慧 +def entry_1479(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '获得生命值最大值3%的@[填充型保护罩]@。'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.03) + pass + if mode == 1: + if char.check_fusion_upgrade(part): + char.技能攻击力加成(0.06) + char.辅助属性加成(buff量=775) + else: + char.技能攻击力加成(0.03) + pass + + +# 固定装备:无信 : 扭曲的真心 +def entry_1753(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,随机向敌人施放3次“扭曲之剑”。 (冷却时间3秒)', '- 造成总攻击强化数值400%的伤害'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.特效.append({"power": 4, "hit": 3}) + pass + + +# 固定装备:无信 : 忘却的恩惠 +def entry_1755(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,随机向敌人施放3个“忘却之剑”。 (冷却时间3秒)', '- 造成总攻击强化数值400%的伤害'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 4, "hit": 3}) + pass + if mode == 1: + pass + + +# 固定装备:无信 : 褪色的信仰 +def entry_1757(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,随机向敌人施放“褪色之咆哮”。 (冷却时间3秒)', '- 造成总攻击强化数值12000%的伤害'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 12, "hit": 3}) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 选择的记忆 +def entry_1759(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '生命值最大值 +1200', '魔法值最大值 +1890'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 坚定的意向 +def entry_1761(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '物理/魔法防御力 +14000'] + if mode == 0: + char.技能攻击力加成(0.03) + char.add_eq_params('defense',14000) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 守护的信念 +def entry_1763(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '所有属性抗性 +20'] + if mode == 0: + char.技能攻击力加成(0.03) + char.所有属性抗性加成(20) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 幸存的决心 +def entry_1765(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '每秒恢复0.75%魔法值。'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 鸣动的沉默 +def entry_1767(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,恢复1500魔法值。 (冷却时间1秒)'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 连续的境界 +def entry_1769(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '装备的魔法值恢复效果 +10%'] + if mode == 0: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 滋生的灭亡 +def entry_1771(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '85、100级技能攻击力 +10%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能倍率加成(100,100,0.1) + char.技能倍率加成(85,85,0.1) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 紧迫的噩梦 +def entry_1773(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '50、85级技能攻击力 +10%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能倍率加成(50,50,0.1) + char.技能倍率加成(85,85,0.1) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 怀疑的种子 +def entry_1775(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '50、100级技能攻击力 +10%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能倍率加成(50,50,0.1) + char.技能倍率加成(100,100,0.1) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 紧抓的无为 +def entry_1777(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,生成冲击波。 (冷却时间0.5秒)', '- 造成总攻击强化数值200%的伤害。'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 1.6, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 发芽的深渊 +def entry_1779(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,生成冲击波。 (冷却时间0.1秒)', '- 敌人韧性条量 -0.1', '- 造成总攻击强化数值36%的伤害。'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 0.36, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 沉沦的永眠 +def entry_1781(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,生成冲击波。 (冷却时间8秒)', '- 敌人韧性条量 -3', '- 使敌人进入眩晕状态5秒', '- 造成总攻击强化数值1920%的伤害。'] + if mode == 0: + char.特效.append({"power": 19.2, "hit": 1}) + char.技能攻击力加成(0.03) + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 绝对的勇气 +def entry_1783(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.05, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 荣光的证明 +def entry_1785(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.05, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 不懈的努力 +def entry_1787(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '技能冷却时间 -5% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.05, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:无信 : 背弃的信义 +def entry_1789(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,发动“背弃的伤痕”。 (冷却时间2秒)', '- 造成总攻击强化数值1000%的伤害', '', '攻击时,进入束缚状态5秒。 (冷却时间2秒)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 10, "hit": 1}) + if '束缚' not in pa.get_state_type(): + pa.state_type.append('束缚') + pass + if mode == 1: + pass + + +# 固定装备:无信 : 恶毒的微笑 +def entry_1791(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,发动“恶毒的裂痕”。 (冷却时间1秒)', '- 造成总攻击强化数值500%的伤害', '', '攻击时,进入眩晕状态5秒。 (冷却时间2秒)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 5, "hit": 1}) + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + pass + if mode == 1: + pass + + +# 固定装备:无信 : 失信的言语 +def entry_1793(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '攻击时,发动“言语的波动”。 (冷却时间3秒)', '- 造成总攻击强化数值1500%的伤害', '', '攻击时,进入冰冻状态5秒。 (冷却时间2秒)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.特效.append({"power": 15, "hit": 1}) + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],2) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 尊重的恩惠 +def entry_1795(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '技能范围 +5%', '', '1~40级技能范围 +18%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 自觉的责任 +def entry_1797(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '技能范围 +5%', '', '45、60、70级技能范围 +18%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + pass + + +# 固定装备:监视者 : 顾虑的意志 +def entry_1799(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '技能范围 +5%', '', '75、80级技能攻击范围 +18%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 坚持的理由 +def entry_1801(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '获得生命值最大值5%的@[填充型保护罩]@。'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 掩饰的恐惧 +def entry_1803(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '获得生命值最大值5%的@[填充型保护罩]@。'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05) + pass + if mode == 1: + pass + + +# 固定装备:孤岛 : 深邃的黑暗 +def entry_1805(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '获得生命值最大值5%的@[填充型保护罩]@。'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 幻惑的背叛 +def entry_1807(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '@[爆发约定 - 出血/感电]@', '施加出血/感电状态时,一次性结算与该异常状态相同的伤害。', '- 通过转换属性施加状态时不适用', '', '攻击时,使敌人进入中毒/灼伤状态10秒。 (冷却时间3秒)'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('出血-结算', 1.0) + char.set_eq_params('感电-结算', 1.0) + for i in ['中毒','灼伤']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],3) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 灿烂的终末 +def entry_1809(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '@[爆发约定 - 中毒/灼伤]@', '施加中毒/灼伤状态时,一次性结算与该异常状态相同的伤害。', '- 通过转换属性施加状态时不适用', '', '攻击时,使敌人进入出血/感电状态10秒。 (冷却时间3秒)'] + if mode == 0: + char.技能攻击力加成(0.06) + char.set_eq_params('中毒-结算', 1.0) + char.set_eq_params('灼伤-结算', 1.0) + + for i in ['出血','感电']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],3) + pass + if mode == 1: + pass + + +# 固定装备:因果毁灭 : 透彻的祸乱 +def entry_1811(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '', '感电/中毒/出血/灼伤伤害 +4%', '', '攻击时,使敌人进入出血/中毒/灼伤/感电状态,效果持续10秒。 (冷却时间3秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + for i in ['中毒','出血','灼伤','感电']: + char.异常增伤(i,0.04) + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],5) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 纠缠的追忆 +def entry_1813(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%'] + if mode == 0: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 扩散的波纹 +def entry_1815(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%'] + if mode == 0: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 固定装备:怪异 : 刻骨的咆哮 +def entry_1817(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%'] + if mode == 0: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 成长的旅程 +def entry_1819(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '攻击速度 +4%', '施放速度 +6%', '每分钟恢复464点魔法值'] + if mode == 0: + char.技能攻击力加成(0.06) + char.攻击速度增加(0.04) + char.施放速度增加(0.06) + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 光辉的斗魂 +def entry_1821(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '移动速度 +4%', '所有属性抗性 +10'] + if mode == 0: + char.技能攻击力加成(0.06) + char.移动速度增加(0.04) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +# 固定装备:斗志 : 变幻的流风 +def entry_1823(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '物理/魔法防御力 +8000', '每分钟恢复230.1点生命值'] + if mode == 0: + char.技能攻击力加成(0.06) + char.add_eq_params('defense',8000) + pass + if mode == 1: + pass + + +# 固定装备:烈炎 : 沉静火光 +def entry_1829(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '中毒抗性 +15%', '', '@[内心的火花]@', '觉醒内心的火花;根据穿戴的烈炎系列装备件数(2/3/5),发动以下效果。', '- 技能范围 +10%/15%/25%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.异常抗性加成('中毒',0.15) + pass + if mode == 1: + pass + + +# 固定装备:烈炎 : 缠结意志 +def entry_1830(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%', '', '@[内心的火花]@', '觉醒内心的火花;根据穿戴的烈炎系列装备件数(2/3/5),发动以下效果。', '- 技能范围 +10%/15%/25%'] + if mode == 0: + char.技能攻击力加成(0.05) + for i in ['减速','诅咒','束缚']: + char.异常抗性加成(i,0.1) + pass + if mode == 1: + pass + + +# 固定装备:烈炎 : 炽烟弥天 +def entry_1831(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%', '', '@[内心的火花]@', '觉醒内心的火花;根据穿戴的烈炎系列装备件数(2/3/5),发动以下效果。', '- 技能范围 +10%/15%/25%'] + if mode == 0: + char.技能攻击力加成(0.05) + for i in ['减速','诅咒','束缚']: + char.异常抗性加成(i,0.1) + pass + if mode == 1: + pass + + +# 固定装备:烈炎 : 不息焚焰 +def entry_1832(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '减速抗性 +10%', '诅咒抗性 +10%', '束缚抗性 +10%', '', '@[内心的火花]@', '觉醒内心的火花;根据穿戴的烈炎系列装备件数(2/3/5),发动以下效果。', '- 技能范围 +10%/15%/25%'] + if mode == 0: + char.技能攻击力加成(0.05) + for i in ['减速','诅咒','束缚']: + char.异常抗性加成(i,0.1) + pass + if mode == 1: + pass + + +# 固定装备:烈炎 : 最终一步 +def entry_1833(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '移动速度 +10%', '', '@[内心的火花]@', '觉醒内心的火花;根据穿戴的烈炎系列装备件数(2/3/5),发动以下效果。', '- 技能范围 +10%/15%/25%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.移动速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:雪境 : 刺骨之寒气 +def entry_1834(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '所有速度 +10%', '', '@[幻视之瞳]@', '发动幻视之瞳;根据穿戴的雪境系列装备个数(2/3/5),发动以下效果。', '- 闪避率 +30%/45%/75%', '- 被击时,解除@[幻视之瞳]@效果。 (再次发动所需冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + char.所有速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:雪境 : 寂静之遗言 +def entry_1835(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '生命值最大值 +500', '魔法值最大值 +500', '', '@[幻视之瞳]@', '发动幻视之瞳;根据穿戴的雪境系列装备个数(2/3/5),发动以下效果。', '- 闪避率 +30%/45%/75%', '- 被击时,解除@[幻视之瞳]@效果。 (再次发动所需冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:雪境 : 冷意之伤痕 +def entry_1836(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法防御力 +10000', '攻击时,恢复1%的生命值和魔法值。 (冷却时间3秒)', '', '@[幻视之瞳]@', '发动幻视之瞳;根据穿戴的雪境系列装备个数(2/3/5),发动以下效果。', '- 闪避率 +30%/45%/75%', '- 被击时,解除@[幻视之瞳]@效果。 (再次发动所需冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + char.add_eq_params('defense',10000) + pass + if mode == 1: + pass + + +# 固定装备:雪境 : 未定的命运 +def entry_1837(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法暴击率 +5%', '攻击时,使敌人进入冰冻状态5秒。 (冷却时间3秒)', '', '@[幻视之瞳]@', '发动幻视之瞳;根据穿戴的雪境系列装备个数(2/3/5),发动以下效果。', '- 闪避率 +30%/45%/75%', '- 被击时,解除@[幻视之瞳]@效果。 (再次发动所需冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],3) + pass + if mode == 1: + pass + + +# 固定装备:雪境 : 瞬息之足迹 +def entry_1838(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '移动速度 +15%', '', '@[幻视之瞳]@', '发动幻视之瞳;根据穿戴的学境系列装备个数(2/3/5),发动以下效果。', '- 闪避率 +30%/45%/75%- 被击时,解除@[幻视之瞳]@效果。 (再次发动所需冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + char.移动速度增加(0.15) + pass + if mode == 1: + pass + + +# 固定装备:流岚 : 山雨欲来 +def entry_1839(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)', '', '@[浓缩的流岚]@', '生成浓缩的流岚;根据穿戴的流岚系列备件数(2/3/5),发动以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.04,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:流岚 : 风卷残云 +def entry_1840(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)', '', '@[浓缩的流岚]@', '生成浓缩的流岚;根据穿戴的流岚系列备件数(2/3/5),发动以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.04,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:流岚 : 变幻莫测 +def entry_1841(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)', '', '@[浓缩的流岚]@', '生成浓缩的流岚;根据穿戴的流岚系列备件数(2/3/5),发动以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.04,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:流岚 : 呼啸疾风 +def entry_1842(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)', '', '@[浓缩的流岚]@', '生成浓缩的流岚;根据穿戴的流岚系列备件数(2/3/5),发动以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.04,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:流岚 : 闻风而动 +def entry_1843(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间 -4% (觉醒技能除外)', '', '@[浓缩的流岚]@', '生成浓缩的流岚;根据穿戴的流岚系列备件数(2/3/5),发动以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1,100,0.04,excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:雷鸣 : 暗云翻涌 +def entry_1844(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +15%', '施放速度 +20%', '攻击时,对一名敌人施加雷鸣强击。 (冷却时间3秒)', '- 造成总攻击强化的1500%的伤害', '', '@[怒雷之云]@', '攻击时,召唤怒雷之云,对最多4名敌人进行攻击;根据穿戴的雷鸣系列装备件数(2/3/5),发动以下效果。', '- 怒雷之云召唤冷却时间:7.5秒/5秒/3秒。', '- 造成总攻击强化的1500%的伤害,并使韧性条 -5'] + if mode == 0: + char.攻击速度增加(0.15) + char.施放速度增加(0.2) + if mode == 1: + pass + + +# 固定装备:雷鸣 : 痛如影随 +def entry_1845(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +1500', '魔法值最大值 +1500', '攻击时,对一名敌人施加雷鸣强击。 (冷却时间3秒)', '- 造成总攻击强化的1500%的伤害', '', '@[怒雷之云]@', '攻击时,召唤怒雷之云,对最多4名敌人进行攻击;根据穿戴的雷鸣系列装备件数(2/3/5),发动以下效果。', '- 怒雷之云召唤冷却时间:7.5秒/5秒/3秒。', '- 造成总攻击强化的1500%的伤害,并使韧性条 -5'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:雷鸣 : 惊惧之宴 +def entry_1846(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法所受伤害 -6%', '攻击时,对一名敌人施加雷鸣强击。 (冷却时间3秒)', '- 造成总攻击强化的1500%的伤害', '', '@[怒雷之云]@', '攻击时,召唤怒雷之云,对最多4名敌人进行攻击;根据穿戴的雷鸣系列装备件数(2/3/5),发动以下效果。', '- 怒雷之云召唤冷却时间:7.5秒/5秒/3秒。', '- 造成总攻击强化的1500%的伤害,并使韧性条 -5'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.06) + if mode == 1: + pass + + +# 固定装备:雷鸣 : 裂天残痕 +def entry_1847(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理/魔法暴击率 +10%', '攻击时,对一名敌人施加雷鸣强击。 (冷却时间3秒)', '- 造成总攻击强化的1500%的伤害', '', '@[怒雷之云]@', '攻击时,召唤怒雷之云,对最多4名敌人进行攻击;根据穿戴的雷鸣系列装备件数(2/3/5),发动以下效果。', '- 怒雷之云召唤冷却时间:7.5秒/5秒/3秒。', '- 造成总攻击强化的1500%的伤害,并使韧性条 -5'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:雷鸣 : 黑云压城 +def entry_1848(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +12%', '攻击时,对一名敌人施加雷鸣强击。 (冷却时间3秒)', '- 造成总攻击强化的1500%的伤害', '', '@[怒雷之云]@', '攻击时,召唤怒雷之云,对最多4名敌人进行攻击;根据穿戴的雷鸣系列装备件数(2/3/5),发动以下效果。', '- 怒雷之云召唤冷却时间:7.5秒/5秒/3秒。', '- 造成总攻击强化的1500%的伤害,并使韧性条 -5'] + if mode == 0: + char.移动速度增加(0.12) + if mode == 1: + pass + + +# 固定装备:大地 : 生机乐土 +def entry_1849(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '所有速度 +10%', '', '@[生死边界]@', '从生死边界获得力量;根据穿戴的大地系列装备件数(2/3/5),发动以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.05) + char.所有速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:大地 : 寂灭降临之刻 +def entry_1850(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '生命值最大值 +5%', '', '@[生死边界]@', '从生死边界获得力量;根据穿戴的大地系列装备件数(2/3/5),发动以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:大地 : 开花时节 +def entry_1851(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '魔法值最大值 +5%', '', '@[生死边界]@', '从生死边界获得力量;根据穿戴的大地系列装备件数(2/3/5),发动以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:大地 : 生与死之际 +def entry_1852(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法暴击率 +10%', '', '@[生死边界]@', '从生死边界获得力量;根据穿戴的大地系列装备件数(2/3/5),发动以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:大地 : 破碎步履 +def entry_1853(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '闪避率 +8%', '', '@[生死边界]@', '从生死边界获得力量;根据穿戴的大地系列装备件数(2/3/5),发动以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + diff --git a/api/core/equipment/entry_0/merge.py b/api/core/equipment/entry_0/merge.py new file mode 100644 index 00000000..33ab920a --- /dev/null +++ b/api/core/equipment/entry_0/merge.py @@ -0,0 +1,1784 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +def entry_1363(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '攻击时,使敌人进入出血状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1364(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '攻击时,使敌人进入感电状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1365(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '攻击时,使敌人进入中毒状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1366(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '攻击时,使敌人进入灼伤状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1367(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%'] + if mode == 0: + char.异常增伤('灼伤', 0.15) + pass + if mode == 1: + pass + + +def entry_1368(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%'] + if mode == 0: + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +def entry_1369(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +15%'] + if mode == 0: + char.异常增伤('感电', 0.15) + pass + if mode == 1: + pass + + +def entry_1370(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%'] + if mode == 0: + char.异常增伤('中毒', 0.15) + pass + if mode == 1: + pass + + +def entry_1371(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击人型敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '人型' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少人型敌人' + pass + + +def entry_1372(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击野兽类型敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '野兽' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少野兽型敌人' + pass + + +def entry_1373(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击植物类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '植物' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少植物型敌人' + pass + + +def entry_1374(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击昆虫类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '昆虫' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少昆虫型敌人' + pass + + +def entry_1375(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击不死族类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '不死' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少不死族类型敌人' + pass + + +def entry_1376(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击机械类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '机械' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少机械类型敌人' + pass + + +def entry_1377(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击恶魔类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '恶魔' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少恶魔类型敌人' + pass + + +def entry_1378(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击精灵类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '精灵' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少精灵类型敌人' + pass + + +def entry_1379(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击天使类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '天使' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少天使类型敌人' + pass + + +def entry_1380(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击龙族类型的敌人时,技能伤害 +8%'] + if mode == 0: + pass + if mode == 1: + if '龙族' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少龙族型敌人' + pass + + +def entry_1381(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '闪避率 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1382(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '命中率 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1383(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '生命值最大值 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1384(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8% (觉醒技能除外)', '技能冷却时间 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(1, 100, 0.08, excName=char.觉醒技能) + char.技能冷却缩减(1, 100, -0.1) + pass + + +def entry_1385(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '所有属性抗性 +10'] + if mode == 0: + char.所有属性抗性加成(10) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1386(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '被破招攻击时,物理/魔法所受伤害 -5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1387(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + pass + + +def entry_1388(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '1~45级技能冷却时间恢复速度 +20%'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能恢复加成(1, 45, 0.2) + pass + if mode == 1: + pass + + +def entry_1389(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '60~80级技能冷却时间恢复速度 +15%'] + if mode == 0: + char.技能攻击力加成(0.02) + char.技能恢复加成(60, 80, 0.15) + pass + if mode == 1: + pass + + +def entry_1390(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '95级技能冷却时间恢复速度 +15%'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(95, 95, 0.15) + pass + if mode == 1: + pass + + +def entry_1391(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '1~20级技能冷却时间 -20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(1, 20, 0.2) + pass + + +def entry_1392(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '25、30级技能冷却时间 -20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(25, 30, 0.2) + pass + + +def entry_1393(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '35、40级技能冷却时间 -15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(35, 40, 0.15) + pass + + +def entry_1394(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '45级技能冷却时间 -15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(45, 45, 0.15) + pass + + +def entry_1395(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '60级技能冷却时间 -15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(60, 60, 0.15) + pass + + +def entry_1396(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '70级技能冷却时间 -15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(70, 70, 0.15) + pass + + +def entry_1397(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '75级技能冷却时间 -10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(75, 75, 0.1) + pass + + +def entry_1398(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '80级技能冷却时间 -10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能冷却缩减(80, 80, 0.1) + pass + + +def entry_1399(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '95级技能冷却时间 -10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + char.技能冷却缩减(95, 95, 0.1) + pass + + +def entry_1400(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '50级技能攻击力 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能倍率加成(50, 50, 0.1) + pass + + +def entry_1401(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '85级技能攻击力 +8%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能倍率加成(85, 85, 0.08) + pass + + +def entry_1402(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '100级技能攻击力 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.技能倍率加成(100, 100, 0.05) + pass + + +def entry_1403(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '被击时,获得生命值最大值10%的保护罩,效果持续15秒。 (冷却时间12秒)'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1404(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '生命值低于55%时,装备的保护罩最大值 +10%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.1) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1405(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '魔法值低于55%时,装备的保护罩最大值 +10%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.1) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1406(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '攻击时,2秒内恢复2200点生命值。 (冷却时间2秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1407(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '攻击时,2秒内恢复1750点魔法值。 (冷却时间2秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1408(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '攻击时,3秒内恢复2200点生命值和1750点魔法值。 (冷却时间3秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1409(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '物理/魔法所受伤害 -3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + char.add_eq_params('hurted_ratio',0.03) + pass + + +def entry_1410(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '消耗品、装备、技能的生命值恢复效果 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + pass + + +def entry_1411(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '魔法值消耗量 +100%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + char.MP消耗量加成(1.0) + pass + + +def entry_1412(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '受到攻击时,生命值恢复10%。 (冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + pass + + +def entry_1413(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '受到攻击时,魔法值恢复10%。 (冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + pass + + +def entry_1414(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '每存在1名队友,增加6%的移动速度。 (最多叠加4次)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.移动速度增加(0.06*pa.teammate_num) + pass + + +def entry_1415(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '存在1名队友,增加6%的攻击速度和9%的施放速度。 (最多叠加4次)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.攻击速度增加(part=part, x=0.06*pa.teammate_num) + char.施放速度增加(0.09*pa.teammate_num) + pass + + +def entry_1416(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法所受伤害 -8%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.add_eq_params('hurted_ratio',0.08) + pass + + +def entry_1417(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -10% (觉醒技能除外)', '物理/魔法所受伤害 -7%'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + char.add_eq_params('hurted_ratio',0.07) + pass + + +def entry_1418(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +10%', '技能冷却时间 -10% (觉醒技能除外)'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + pass + + +def entry_1419(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '技能范围 +12%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.12) + char.multiply_eq_params('skill_range_multi',1.12) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1420(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '回避率 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1421(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '命中率 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1422(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [''] + if mode == 0: + pass + if mode == 1: + pass + + +def entry_1423(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '所有速度 +10%'] + if mode == 0: + char.所有速度增加(part=part, x=0.1) + char.技能攻击力加成(0.06) + pass + if mode == 1: + pass + + +def entry_1424(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '跳跃力 +30'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1425(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '攻击速度 +16%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.16) + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +def entry_1426(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40~80级技能冷却时间恢复速度 +20% (觉醒技能除外)'] + if mode == 0: + char.技能恢复加成(40, 80, 0.2) + pass + if mode == 1: + pass + + +def entry_1427(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '所有速度 +15%'] + if mode == 0: + char.所有速度增加(part=part, x=0.15) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1428(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['装备的物体伤害 +10%', '所有速度 +15%'] + if mode == 0: + char.所有速度增加(part=part,x=0.15) + pass + if mode == 1: + for i in char.特效: + i["power"] *= 1.1 + pass + + +def entry_1429(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '物理/魔法暴击率 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + char.暴击率增加(0.03) + pass + + +def entry_1430(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '所有速度 +20%'] + if mode == 0: + char.所有属性强化加成(25) + char.所有速度增加(part=part, x=0.2) + pass + if mode == 1: + pass + + +def entry_1431(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '物理/魔法防御力 +5000'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.06) + char.add_eq_params('defense',5000) + pass + if mode == 1: + pass + + +def entry_1432(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -10% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + pass + + +def entry_1433(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '移动速度 +5%'] + if mode == 0: + char.移动速度增加(0.05) + char.技能攻击力加成(0.04) + pass + if mode == 1: + pass + + +def entry_1434(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '韧性条减少量 +25%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1435(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '弱点控制型异常状态和强控的韧性条减少量 +50%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + pass + + +def entry_1436(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '魔法值最大值 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1437(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '生命值最大值 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +def entry_1438(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '进入地下城时,锁定生命值最大值的20%。', '移动速度 +15%'] + if mode == 0: + cur = char.get_eq_params('hp_max') + char.set_eq_params('hp_max',(100 if cur == 0 else cur)*0.8) + char.移动速度增加(0.15) + pass + if mode == 1: + char.技能攻击力加成(0.06) + pass + + +def entry_1439(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '每分钟恢复348点魔法值'] + if mode == 0: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +def entry_1440(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +def entry_1441(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '技能冷却时间恢复速度 +5% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.04) + char.技能恢复加成(1, 100, 0.05, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +def entry_1442(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间恢复速度 +10% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能恢复加成(1, 100, 0.1, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +def entry_1491(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,使敌人进入出血状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1492(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,使敌人进入感电状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1493(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,使敌人进入中毒状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1494(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,使敌人进入灼伤状态10秒。 (冷却时间3秒)'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1495(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +10%'] + if mode == 0: + char.异常增伤('灼伤', 0.10) + pass + if mode == 1: + pass + + +def entry_1496(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +10%'] + if mode == 0: + char.异常增伤('出血', 0.10) + pass + if mode == 1: + pass + + +def entry_1497(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电伤害 +10%'] + if mode == 0: + char.异常增伤('感电', 0.10) + pass + if mode == 1: + pass + + +def entry_1498(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +10%'] + if mode == 0: + char.异常增伤('中毒', 0.10) + pass + if mode == 1: + pass + + +def entry_1499(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击人型敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '人型' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少人型敌人' + pass + + +def entry_1500(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击野兽类型敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '野兽' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少野兽型敌人' + pass + + +def entry_1501(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击植物类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '植物' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少植物型敌人' + pass + + +def entry_1502(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击昆虫类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '昆虫' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.08, show=False) + else: + return '缺少昆虫型敌人' + pass + + +def entry_1503(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击不死族类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '不死' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少不死族类型敌人' + pass + + +def entry_1504(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击机械类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '机械' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少机械类型敌人' + pass + + +def entry_1505(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击恶魔类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '恶魔' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少恶魔类型敌人' + pass + + +def entry_1506(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击精灵类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '精灵' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少精灵类型敌人' + pass + + +def entry_1507(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击天使类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '天使' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少天使类型敌人' + pass + + +def entry_1508(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击龙族类型的敌人时,技能伤害 +4%'] + if mode == 0: + pass + if mode == 1: + if '龙族' in pa.enemy_type: + char.技能攻击力加成(part=part, x=0.04, show=False) + else: + return '缺少龙族型敌人' + pass + + +def entry_1509(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '闪避率 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1510(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '命中率 +4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1511(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '生命值最大值 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1512(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5% (觉醒技能除外)', '技能冷却时间 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(1, 100, 0.05, excName=char.觉醒技能) + char.技能冷却缩减(1, 100, -0.05) + pass + + +def entry_1513(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '所有属性抗性 +5'] + if mode == 0: + char.所有属性抗性加成(5) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1514(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '被破招攻击时,物理/魔法所受伤害 -3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1515(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +18'] + if mode == 0: + char.所有属性强化加成(18) + pass + if mode == 1: + pass + + +def entry_1516(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +1%', '1~45级技能冷却时间恢复速度 +12%'] + if mode == 0: + char.技能攻击力加成(0.01) + char.技能恢复加成(1, 45, 0.12) + pass + if mode == 1: + pass + + +def entry_1517(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +1%', '60~80级技能冷却时间恢复速度 +9%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.01) + char.技能恢复加成(60, 80, 0.09) + pass + + +def entry_1518(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '95级技能冷却时间恢复速度 +9%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + char.技能恢复加成(95, 95, 0.09) + pass + + +def entry_1519(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '1~20级技能冷却时间 -12%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(1, 20, 0.12) + pass + + +def entry_1520(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '25、30级技能冷却时间 -12%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(25, 30, 0.12) + pass + + +def entry_1521(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '35、40级技能冷却时间 -9%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(35, 40, 0.09) + pass + + +def entry_1522(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '45级技能冷却时间 -9%。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(45, 45, 0.09) + pass + + +def entry_1523(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '60级技能冷却时间 -9%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(60, 60, 0.09) + pass + + +def entry_1524(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '70级技能冷却时间 -9%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(70, 70, 0.09) + pass + + +def entry_1525(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '75级技能冷却时间 -6%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(75, 75, 0.06) + pass + + +def entry_1526(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '80级技能冷却时间 -6%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能冷却缩减(80, 80, 0.06) + pass + + +def entry_1527(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '95级技能冷却时间 -6%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + char.技能冷却缩减(95, 95, 0.06) + pass + + +def entry_1528(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '50级技能攻击力 +6%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能倍率加成(50, 50, 0.06) + pass + + +def entry_1529(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '85级技能攻击力 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能倍率加成(85, 85, 0.05) + pass + + +def entry_1530(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '100级技能攻击力 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.技能倍率加成(100, 100, 0.03) + pass + + +def entry_1531(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '被击时,获得生命值最大值5%的保护罩,效果持续15秒。 (冷却时间12秒)'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1532(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '生命值低于55%时,装备的保护罩最大值 +5%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.05) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1533(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '魔法值低于55%时,装备的保护罩最大值 +5%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.05) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1534(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,2秒内恢复1100点生命值。 (冷却时间2秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1535(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,2秒内恢复875点魔法值。 (冷却时间2秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1536(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击时,3秒内恢复1100点生命值和875点魔法值。 (冷却时间3秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1537(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '物理/魔法所受伤害 -2%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + char.add_eq_params('hurted_ratio',0.02) + pass + + +def entry_1538(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '消耗品、装备、技能的生命值恢复效果 +5%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +def entry_1539(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '魔法值消耗量 +100%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + char.MP消耗量加成(1.0) + pass + + +def entry_1540(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '受到攻击时,生命值恢复5%。 (冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +def entry_1541(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '受到攻击时,魔法值恢复5%。 (冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +def entry_1542(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '每存在1名队友,增加6%的移动速度。 (最多叠加2次)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.移动速度增加(0.06*min(2, pa.teammate_num)) + pass + + +def entry_1543(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '存在1名队友,增加6%的攻击速度和9%的施放速度。 (最多叠加2次)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.攻击速度增加(part=part, x=0.06*min(2, pa.teammate_num)) + char.施放速度增加(0.09*min(2, pa.teammate_num)) + pass + + +def entry_1544(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '物理/魔法所受伤害 -4%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + char.add_eq_params('hurted_ratio',0.04) + pass + + +def entry_1545(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -8% (觉醒技能除外)', '物理/魔法所受伤害 -3%'] + if mode == 0: + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.08, excName=char.觉醒技能) + char.add_eq_params('hurted_ratio',0.03) + pass + + +def entry_1546(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +5%', '技能冷却时间 -6% (觉醒技能除外)'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.06, excName=char.觉醒技能) + pass + + +def entry_1547(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能范围 +6%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.06) + char.multiply_eq_params('skill_range_multi',1.06) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1548(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '回避率 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + pass + + +def entry_1549(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '命中率 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + pass + + +def entry_1550(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return [''] + if mode == 0: + pass + if mode == 1: + pass + + +def entry_1551(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '所有速度 +5%'] + if mode == 0: + char.所有速度增加(part=part, x=0.05) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1552(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '跳跃力 +15'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1553(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '攻击速度 +8%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.08) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1554(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['40~80级技能冷却时间恢复速度 +12% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(40, 80, 0.12) + pass + + +def entry_1555(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '所有速度 +8%'] + if mode == 0: + char.所有速度增加(part=part, x=0.08) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1556(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['装备的物体伤害 +6%', '所有速度 +8%'] + if mode == 0: + char.所有速度增加(part=part, x=0.08) + pass + if mode == 1: + for i in char.特效: + i["power"] *= 1.06 + pass + + +def entry_1557(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '物理/魔法暴击率 +1.5%'] + if mode == 0: + char.暴击率增加(0.015) + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1558(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +15', '所有速度 +12%'] + if mode == 0: + char.所有属性强化加成(15) + char.所有速度增加(part=part, x=0.12) + pass + if mode == 1: + pass + + +def entry_1559(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '物理/魔法防御力 +2500'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.03) + char.add_eq_params('defense',2500) + pass + if mode == 1: + pass + + +def entry_1560(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -6% (觉醒技能除外)'] + if mode == 0: + char.技能冷却缩减(1, 100, 0.06, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +def entry_1561(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '移动速度 +3%'] + if mode == 0: + char.移动速度增加(0.03) + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +def entry_1562(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '韧性条减少量 +15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(x=0.03) + pass + + +def entry_1563(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '弱点控制型异常状态和强控的韧性条减少量 +25%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1564(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '魔法值最大值 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1565(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '生命值最大值 +3%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + pass + + +def entry_1566(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '进入地下城时,锁定生命值最大值的20%。', '移动速度 +8%'] + if mode == 0: + cur = char.get_eq_params('hp_max') + char.set_eq_params('hp_max',(100 if cur == 0 else cur)*0.8) + char.移动速度增加(0.08) + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +def entry_1567(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '每分钟恢复174点魔法值'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + pass + + +def entry_1568(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + pass + + +def entry_1569(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '技能冷却时间恢复速度 +2% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.02) + char.技能恢复加成(1, 100, 0.02, excName=char.觉醒技能) + pass + + +def entry_1570(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +1%', '技能冷却时间恢复速度 +8% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.01) + char.技能恢复加成(1, 100, 0.08, excName=char.觉醒技能) + pass + + +def entry_1571(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,攻击强化 +762.7%,效果持续60秒。'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + diff --git a/api/core/equipment/entry_0/old.py b/api/core/equipment/entry_0/old.py new file mode 100644 index 00000000..5d74eb42 --- /dev/null +++ b/api/core/equipment/entry_0/old.py @@ -0,0 +1,937 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa +def entry_14001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +26', '技能攻击力 +29%', '攻击时,附加10%的伤害', '力量、智力 +10%', '物理、魔法、独立攻击力 +11%'] + if mode == 0: + char.所有属性强化加成(26) + char.技能攻击力加成(part=part, x=0.29) + char.附加伤害加成(0.10) + char.百分比力智加成(0.1) + char.百分比三攻加成(0.11) + if mode == 1: + pass + +def entry_14002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力 +29%', '所有职业Lv1~45所有技能Lv +1', '技能MP消耗量 -20%', '攻击时,额外增加11%的伤害增加量', '所有职业Lv1~45所有技能Lv +1', "力量、智力 +12%"] + if mode == 0: + char.技能攻击力加成(part=part, x=0.29) + char.技能等级加成('所有', 1, 45, 1) + char.伤害增加加成(0.11) + char.百分比力智加成(0.12) + if mode == 1: + char.技能等级加成('所有', 1, 45, 1) + char.MP消耗量加成(-0.2) + pass + +def entry_14003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力 +31%', '物理、魔法、独立攻击力 +3%', '最终伤害 +10%', '攻击时,额外增加8%的伤害增加量', '所有属性强化 +24', '所有职业Lv1~45所有技能冷却时间 -10%', ] + if mode == 0: + char.技能攻击力加成(part=part, x=0.31) + char.百分比三攻加成(0.03) + char.最终伤害加成(0.1) + char.伤害增加加成(0.08) + char.所有属性强化加成(24) + if mode == 1: + char.技能冷却缩减(1, 45, 0.1) + pass + +def entry_14004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性抗性 +10', '技能攻击力 +19%', '每5点暗属性抗性,增加1%的最终伤害(最多增加5%)', '所有职业Lv5~100所有技能Lv +1', '物理、魔法、独立攻击力 +7%', '物理、魔法、独立攻击力 +80'] + if mode == 0: + char.暗属性抗性加成(10) + char.技能攻击力加成(part=part, x=0.19) + char.百分比三攻加成(0.07) + char.基础属性加成(三攻=80) + char.最终伤害加成(0.05) + char.技能等级加成('所有', 5, 100, 1) + if mode == 1: + pass + +def entry_14005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +18', '技能攻击力 +30%', '物理、魔法、独立攻击力 +4%', '力量、智力 +10%', '暴击时,额外增加8%的伤害增加量', '物理、魔法、独立攻击力 +170'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.30) + char.所有属性强化加成(18) + char.百分比力智加成(0.1) + char.暴击伤害加成(0.08) + char.基础属性加成(三攻=170) + if mode == 1: + char.百分比三攻加成(0.04) + pass + +def entry_14006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +28', '技能攻击力 +29%', '暴击时,额外增加7%的伤害增加量', '攻击时,额外增加5%的伤害增加量', '攻击时,附加6%的伤害', "最终伤害 +5%"] + if mode == 0: + char.技能攻击力加成(part=part, x=0.29) + char.所有属性强化加成(28) + char.附加伤害加成(0.06) + char.暴击伤害加成(0.07) + char.伤害增加加成(0.05) + char.最终伤害加成(0.05) + if mode == 1: + pass + +def entry_14007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +26', '技能攻击力 +30%', '攻击时,额外增加4%的伤害增加量', '物理、魔法、独立攻击力 +3%''暴击时,额外增加10%的伤害增加量', "力量、智力 +8%"] + if mode == 0: + char.技能攻击力加成(part=part, x=0.30) + char.所有属性强化加成(26) + char.暴击伤害加成(0.10) + char.百分比三攻加成(0.03) + char.伤害增加加成(0.04) + char.百分比力智加成(0.08) + if mode == 1: + pass + +def entry_14008(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力 +27%', '物理、魔法、独立攻击力 +7%''所有属性强化 +40', '攻击时,额外增加10%的伤害增加量', "攻击时,附加10%的伤害"] + if mode == 0: + char.技能攻击力加成(part=part, x=0.27) + char.所有属性强化加成(40) + char.百分比三攻加成(0.07) + char.伤害增加加成(0.10) + char.附加伤害加成(0.10) + if mode == 1: + pass + +def entry_14009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +29', '技能攻击力 +30%', '技能快捷栏中每存在一个空栏,攻击时额外增加1%的伤害增加量(最多增加6%)', '物理、魔法、独立攻击力 +8%', '力量、智力 +8%', '暴击时,额外增加15%的伤害增加量'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.30) + char.所有属性强化加成(29) + char.伤害增加加成( + min(0.06, len(list(filter(lambda i: i == "", char.hotkey)))*0.01)) + char.百分比三攻加成(0.08) + char.百分比力智加成(0.08) + char.暴击伤害加成(0.15) + if mode == 1: + pass + +def entry_14010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +22', '技能攻击力 +34%', "攻击速度 +15%", "最终伤害 +10%", '暴击时,额外增加8%的伤害增加量', '攻击时,额外增加4%的伤害增加量', '力量、智力 +3%', ] + if mode == 0: + char.技能攻击力加成(part=part, x=0.34) + char.所有属性强化加成(22) + char.伤害增加加成(0.04) + char.暴击伤害加成(0.08) + char.百分比力智加成(0.03) + if mode == 1: + char.攻击速度增加(part=part, x=0.15) + pass + +def entry_14011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +23', '所有职业Lv45 全部技能 Lv +2''技能攻击力 +25%', "技能攻击力 +4%", "最终伤害 +4%", '攻击时,额外增加9%的伤害增加量', '暴击时,额外增加7%的伤害增加量', ] + if mode == 0: + char.技能攻击力加成(part=part, x=0.25) + char.技能攻击力加成(part=part, x=0.04) + char.所有属性强化加成(23) + char.最终伤害加成(0.04) + char.伤害增加加成(0.09) + char.暴击伤害加成(0.07) + if char.职业 == '缔造者': + char.技能等级加成('所有', 50, 50, 2) + else: + char.技能等级加成('所有', 45, 45, 2) + if mode == 1: + pass + +def entry_14012(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +6%', '移动速度 +6%', '施放速度 +9%', "技能攻击力 +35%", "所有职业Lv1~48所有技能Lv+1", '物理、魔法、独立攻击力 +70', '最终伤害 +5%', "力量、智力 +160"] + if mode == 0: + char.攻击速度增加(part=part, x=0.06) + char.移动速度增加(0.06) + char.施放速度增加(0.09) + char.技能攻击力加成(part=part, x=0.35) + char.技能等级加成('所有', 1, 48, 1) + char.基础属性加成(三攻=70) + char.最终伤害加成(0.05) + char.基础属性加成(力智=100) + if mode == 1: + pass + +def entry_14013(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +20', "技能攻击力 +34%", "攻击时发生持续伤害3秒,伤害量为对敌人造成伤害的5%", '暴击时,额外增加7%的伤害增加量', '攻击时,附加4%的伤害', "攻击时,额外增加9%的伤害增加量"] + if mode == 0: + char.所有属性强化加成(20) + char.技能攻击力加成(part=part, x=0.34) + char.持续伤害加成(0.05) + char.暴击伤害加成(0.07) + char.附加伤害加成(0.04) + char.伤害增加加成(0.09) + if mode == 1: + pass + +def entry_14014(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +22', "技能攻击力 +24%", "所有职业Lv1~80所有技能冷却时间 -13%(Lv50技能除外)", '攻击时,附加9%的伤害', "力量、智力 +4%", "最终伤害 +4%", "物理、魔法、独立攻击力 +7%"] + if mode == 0: + char.所有属性强化加成(22) + char.技能攻击力加成(part=part, x=0.24) + char.技能冷却缩减(1, 80, 0.13, [50]) + char.附加伤害加成(0.09) + char.百分比力智加成(0.04) + char.最终伤害加成(0.04) + char.百分比三攻加成(0.07) + if mode == 1: + pass + +def entry_14015(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +29', '技能攻击力 +30%', '暴击时,额外增加10%的伤害增加', "物理、魔法独立攻击力 +10%", '攻击时,附加10%的伤害', ] + if mode == 0: + char.所有属性强化加成(29) + char.技能攻击力加成(part=part, x=0.30) + char.技能冷却缩减(1, 80, 0.13, [50]) + char.附加伤害加成(0.10) + char.暴击伤害加成(0.10) + char.百分比三攻加成(0.10) + if mode == 1: + pass + +def entry_14016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +31', '技能攻击力 +23%', '攻击时附加5%的伤害', '最终伤害 +4% ', "物理、魔法、独立攻击力 +13%", '力量、智力 +4%', '技能攻击力 +5% '] + if mode == 0: + char.所有属性强化加成(31) + char.技能攻击力加成(part=part, x=0.23) + char.附加伤害加成(0.5) + char.最终伤害加成(0.04) + char.百分比三攻加成(0.13) + char.百分比力智加成(0.04) + char.技能攻击力加成(part=part, x=0.05) + if mode == 1: + pass + +def entry_14017(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +14', '技能攻击力 +25%', '所有职业Lv45技能攻击力-30%', "所有职业Lv45技能冷却时间恢复速度 +100%", '所有职业Lv1~45所有技能Lv +1', "攻击时,附加5%的伤害", '力量、智力+8%', '最终伤害+6%'] + if mode == 0: + char.所有属性强化加成(14) + char.技能攻击力加成(part=part, x=0.25) + if char.职业 == '缔造者': + char.技能倍率加成(50, 50, -0.3) + char.技能恢复加成(50, 50, 1) + else: + char.技能倍率加成(45, 45, -0.3) + char.技能恢复加成(45, 45, 1) + char.技能等级加成('所有', 1, 45, 1) + char.附加伤害加成(0.05) + char.百分比力智加成(0.08) + char.最终伤害加成(0.06) + if mode == 1: + pass + +def entry_14018(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +23', '技能攻击力 +33%', '攻击时,额外增加5%的伤害增加量', '暴击时,额外增加7%的伤害增加量', "最终伤害 +6%", '攻击时,附加5%的伤害' + ] + if mode == 0: + char.所有属性强化加成(23) + char.技能攻击力加成(part=part, x=0.33) + char.伤害增加加成(0.05) + char.暴击伤害加成(0.07) + char.最终伤害加成(0.06) + char.附加伤害加成(0.05) + if mode == 1: + char.所有属性强化加成(24, mode=1) + pass + +def entry_14019(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +6', '技能攻击力 +30%', '所有属性强化 +24''力量、智力 +12%', '攻击时,额外增加9%的伤害增加量', "最终伤害 +9%"] + if mode == 0: + char.所有属性强化加成(6) + char.技能攻击力加成(part=part, x=0.3) + char.百分比力智加成(0.24) + char.伤害增加加成(0.09) + char.最终伤害加成(0.09) + if mode == 1: + char.所有属性强化加成(24, mode=1) + pass + +def entry_14020(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +25', '技能攻击力 +25%', '物理、魔法、独立攻击力 +3%''技能攻击力 +6%', '暴击时,额外增加9%的伤害增加', "力量、智力 +6%"] + if mode == 0: + char.所有属性强化加成(25) + char.技能攻击力加成(part=part, x=0.25) + char.百分比力智加成(0.6) + char.暴击伤害加成(0.09) + char.百分比力智加成(0.06) + if mode == 1: + pass + +def entry_14021(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+16', '技能攻击力+16%', '强化、增幅数值每增加1,额外增加1%的技能攻击力最多适用至+13) ''Lv15~30所有技能冷却时间恢复速度+30%', '所有职业Lv1~48所有技能Lv +1', "物理、魔法、独立攻击力+110", "暴击时,额外增加10%的伤害增加量", "攻击时,额外增加11%的伤害增加量"] + if mode == 0: + char.所有属性强化加成(16) + char.技能攻击力加成(part=part, x=0.16) + char.技能攻击力加成(part=part, x=min(char.获取强化等级([part]), 13)*0.01) + char.技能恢复加成(15, 30, 0.3) + char.基础属性加成(三攻=110) + char.暴击伤害加成(0.1) + char.伤害增加加成(0.11) + pass + if mode == 1: + pass + +def entry_14022(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["所有属性强化+32", "攻击时,附加7%的伤害", "技能攻击力+30%", "暴击时,额外增加4%的伤害增加量", "力量、智力+10%", "攻击时,额外增加3%的伤害增加量", "物理、魔法独立攻击力 +8%"] + if mode == 0: + char.所有属性强化加成(32) + char.附加伤害加成(0.07) + char.技能攻击力加成(part=part, x=0.3) + char.暴击伤害加成(0.04) + char.百分比力智加成(0.1) + char.伤害增加加成(0.03) + char.百分比三攻加成(0.08) + pass + if mode == 1: + pass + +def entry_14023(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+35', '攻击时,附加8%的伤害', '技能攻击力+27%', '力量、智力+160', '最终伤害+12%', '物理、魔法、独立攻击力+12%'] + if mode == 0: + char.所有属性强化加成(35) + char.附加伤害加成(0.08) + char.技能攻击力加成(part=part, x=0.27) + char.基础属性加成(力智=160) + char.最终伤害加成(0.12) + char.百分比三攻加成(0.12) + pass + if mode == 1: + pass + +def entry_14024(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+5', '技能攻击力 +30%', '所有属性强化+36(81暗抗)', '力量、智力+240', '攻击时,附加7%的伤害', '物理、魔法、独立攻击力+12%'] + if mode == 0: + char.所有属性强化加成(5) + char.所有属性强化加成(36) + char.技能攻击力加成(part=part, x=0.3) + char.基础属性加成(力智=240) + char.附加伤害加成(0.07) + char.百分比三攻加成(0.12) + pass + if mode == 1: + pass + +def entry_14025(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+5', '力量、智力+8%', '技能攻击力+30%', '技能冷却时间-15%(觉醒技能除外)', '力量、智力+4%', '所有属性强化+20', '物理、魔法、独立攻击力+100', '最终伤害+8%'] + if mode == 0: + char.所有属性强化加成(5) + char.百分比力智加成(0.08) + char.技能攻击力加成(part=part, x=0.3) + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + char.百分比力智加成(0.04) + char.所有属性强化加成(20) + char.基础属性加成(三攻=100) + char.最终伤害加成(0.08) + pass + if mode == 1: + pass + +def entry_14026(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+31', '最终伤害+5%', '技能攻击力+25%', '技能攻击力+3%', '攻击时,附加4%的伤害', '力量、智力+7%', '物理、魔法、独立攻击力+12%'] + if mode == 0: + char.所有属性强化加成(31) + char.技能攻击力加成(part=part, x=0.03) + char.附加伤害加成(0.04) + char.百分比力智加成(0.07) + char.百分比三攻加成(0.12) + pass + if mode == 1: + char.最终伤害加成(0.05) + char.技能攻击力加成(part=part, x=0.25) + pass + +def entry_14027(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+2', '力量、智力+11%', '技能攻击力+29%', '攻击时,额外增加10%的伤害增加量', '所有属性强化+32', '暴击时,额外增加12%的伤害增加量'] + if mode == 0: + char.所有属性强化加成(2) + char.百分比力智加成(0.11) + char.伤害增加加成(0.10) + char.所有属性强化加成(32) + char.暴击伤害加成(0.12) + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.29) + pass + +def entry_14028(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+25', '最终伤害+5%', '技能攻击力+30%', '攻击时,附加4%的伤害', '物理、魔法、独立攻击力+9%', '技能攻击力+4%', '最终伤害+7%'] + if mode == 0: + char.移动速度增加(0.15) + char.所有属性强化加成(25) + char.最终伤害加成(0.05) + char.技能攻击力加成(part=part, x=0.3) + char.附加伤害加成(0.04) + char.百分比三攻加成(0.09) + char.技能攻击力加成(part=part, x=0.04) + char.最终伤害加成(0.07) + pass + if mode == 1: + pass + +def entry_14029(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+27%', '所有属性强化+12', '所有属性强化+40', '最终伤害+8%', '力量、智力+5%', '攻击时,额外增加4%的伤害增加量'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.27) + char.所有属性强化加成(40) + char.最终伤害加成(0.08) + char.百分比力智加成(0.05) + char.伤害增加加成(0.04) + pass + if mode == 1: + char.所有属性强化加成(12, mode=1) + char.攻击速度增加(part=part, x=0.15) + char.移动速度增加(0.15) + char.施放速度增加(37.5) + pass + +def entry_14030(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+39', '攻击时,额外增加5%的伤害增加量', '技能攻击力+25%', '物理、魔法、独立攻击力+6%', '技能攻击力+4%', '攻击时,附加8%的伤害', '力量、智力+5%'] + if mode == 0: + char.所有属性强化加成(39) + char.伤害增加加成(0.05) + char.技能攻击力加成(part=part, x=0.25) + char.技能攻击力加成(part=part, x=0.04) + char.附加伤害加成(0.08) + char.百分比力智加成(0.05) + pass + if mode == 1: + pass + +def entry_14031(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,附加5%的伤害', '技能攻击力+30%', '所有属性强化+30', '攻击时,额外增加12%的伤害增加量', '力量、智力+220', '攻击时,附加12%的伤害'] + if mode == 0: + char.附加伤害加成(0.05) + char.技能攻击力加成(part=part, x=0.3) + char.所有属性强化加成(30) + char.伤害增加加成(0.12) + char.基础属性加成(力智=220) + char.附加伤害加成(0.12) + pass + if mode == 1: + pass + +def entry_14032(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+30%', '最终伤害+6%(18暗抗)', '最终伤害+12%', '所有属性强化+40', '攻击时,附加9%的伤害'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.3) + char.最终伤害加成(0.6) + char.最终伤害加成(0.12) + char.所有属性强化加成(0.4) + char.附加伤害加成(0.09) + pass + if mode == 1: + pass + +def entry_14033(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+19%', '最终伤害+10%', '所有职业Lv50所有技能Lv+1', '所有职业Lv85所有技能Lv+1', '所有职业Lv100所有技能Lv+1', '力量、智力+300', '暴击时,额外增加11%的伤害增加量', '所有职业Lv60~100所有技能Lv+1'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.19) + char.最终伤害加成(0.1) + char.基础属性加成(力智=300) + char.暴击伤害加成(0.11) + pass + if mode == 1: + char.技能等级加成('所有', 50, 50, 1) + char.技能等级加成('所有', 85, 85, 1) + char.技能等级加成('所有', 100, 100, 1) + pass + +def entry_14034(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+10', '技能攻击力+27%', '物理、魔法、独立攻击力+120', '所有职业Lv1~45所有技能+1', '力量、智力+4%', '攻击时,附加7%的伤害', '最终伤害+10%(期望)'] + if mode == 0: + char.所有属性强化加成(10) + char.技能攻击力加成(part=part, x=0.27) + char.基础属性加成(三攻=120) + char.技能等级加成('所有', 1, 45, 1) + char.百分比力智加成(0.04) + char.附加伤害加成(0.07) + pass + if mode == 1: + char.最终伤害加成(0.1) + pass + +def entry_14035(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+23', '技能攻击力+27%', '攻击时,附加5.3%的伤害(期望)', '所有属性强化+16', '攻击时发生持续伤害3秒,伤害量为对敌人造成伤害的10%', '暴击时,额外增加8%的伤害增加量', '力量、智力+140'] + if mode == 0: + char.所有属性强化加成(23) + char.技能攻击力加成(part=part, x=0.27) + char.附加伤害加成(0.053) + char.所有属性强化加成(16) + char.持续伤害加成(0.1) + char.暴击伤害加成(0.08) + char.基础属性加成(力智=140) + pass + if mode == 1: + pass + +def entry_14036(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有职业Lv1~85所有技能Lv+1(特性技能除外)', '所有职业Lv100所有技能Lv+1(特性技能除外)', '所有属性强化+20*改造等级', '所有属性强化+12', '5阶段', '- 技能攻击力+1%(x20)', '6阶段', '- 技能攻击力+3%', '7阶段', '- 所有属性强化+12'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.技能等级加成('所有', 1, 85, 1) + char.技能等级加成('所有', 100, 100, 1) + char.所有属性强化加成(20*改造lv) + char.所有属性强化加成(12) + if 改造lv >= 5: + for i in range(0, 20): + char.技能攻击力加成(part=part, x=0.01) + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + if 改造lv >= 7: + char.所有属性强化加成(12) + pass + if mode == 1: + pass + +def entry_14037(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暴击时,额外增加2%*改造等级的伤害增加量', '所有属性强化+8*改造等级', '暴击时,额外增加3%的伤害增加量', '1阶段', '-暴击时,额外增加28%的伤害增加量', '4阶段', '-技能攻击力+10%', '6阶段', '-技能攻击力+3%', '7阶段', '-暴击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.暴击伤害加成(0.02*改造lv) + char.所有属性强化加成(8*改造lv) + char.暴击伤害加成(0.03) + if 改造lv >= 1: + char.暴击伤害加成(0.28) + if 改造lv >= 4: + char.技能攻击力加成(part=part, x=0.1) + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + if 改造lv >= 7: + char.暴击伤害加成(0.03) + pass + if mode == 1: + pass + +def entry_14038(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击时,额外增加3%*改造等级的伤害增加量", '所有属性强化+4*改造等级', "攻击时,额外增加3%的伤害增加量", '1阶段', '-力量、智力+18%', '4阶段', "-攻击时,附加1.75%的属性伤害(期望)", "-技能攻击力+8.65%(期望)", "6阶段", "-技能攻击力+3%", "7阶段", "-攻击时,额外增加3%的伤害增加量"] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.伤害增加加成(0.03*改造lv) + char.伤害增加加成(0.03) + char.所有属性强化加成(4*改造lv) + if 改造lv >= 1: + char.百分比力智加成(0.18) + if 改造lv >= 4: + char.属性附加加成(0.0175) + char.技能攻击力加成(part=part, x=0.0865) + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + if 改造lv >= 7: + char.暴击伤害加成(0.03) + pass + if mode == 1: + pass + +def entry_14039(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['力量、智力+30*改造等级', '所有属性强化+8*改造等级', '攻击时,附加3%的伤害', '1阶段', '-攻击时,附加35%的伤害', '5阶段', '-攻击时,附加10%的伤害', '-技能攻击力+7%', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,附加3%的伤害'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.基础属性加成(力智=30*改造lv) + char.所有属性强化加成(8*改造lv) + char.附加伤害加成(0.03) + if 改造lv >= 1: + char.附加伤害加成(0.35) + if 改造lv >= 5: + char.附加伤害加成(0.1) + char.技能攻击力加成(part=part, x=0.07) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.附加伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14040(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理、魔法、独立攻击力+40*改造等级', '所有属性强化+8*改造等级', '攻击时,额外增加3%的伤害增加量', '1阶段', '-攻击时,增加35%的伤害', '5阶段', '-所有属性强化+40', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.基础属性加成(三攻=40*改造lv) + char.所有属性强化加成(8*改造lv) + char.伤害增加加成(0.03) + if 改造lv >= 1: + char.附加伤害加成(0.35) + pass + if 改造lv >= 4: + char.所有属性强化加成(40) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.伤害增加加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14041(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+16*改造等级', '所有属性强化+12', '1阶段', '-所有职业Lv1~85所有技能Lv+2(特性技能除外)', '-所有职业Lv100所有技能Lv+2(特性技能除外)', '4阶段', '-力量、智力+8%', '6阶段', '-技能攻击力+3%', '7阶段', '-所有属性强化+12'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.所有属性强化加成(16*改造lv) + char.所有属性强化加成(12) + if 改造lv >= 1: + char.技能等级加成('所有', 1, 85, 2) + char.技能等级加成('所有', 100, 100, 2) + pass + if 改造lv >= 4: + char.百分比力智加成(0.08) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.所有属性强化加成(12) + pass + pass + if mode == 1: + pass + +def entry_14042(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暴击时,额外增加2%*改造等级的伤害增加量', '所有属性强化+8*改造等级', '暴击时,额外增加3%的伤害增加量', '1阶段', '-物理、魔法、独立攻击力+18%', '4阶段', '-攻击时,额外增加8%的伤害增加量', '-技能攻击力+7%', '5阶段', '-装备[青面修罗的面具]、[噙毒手套]中一种以上时,攻击时,附加7%的伤害', '6阶段', '-技能攻击力+3%', '7阶段', '-暴击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.所有属性强化加成(8*改造lv) + char.暴击伤害加成(0.03) + if 改造lv >= 1: + char.百分比三攻加成(0.18) + pass + if 改造lv >= 4: + char.伤害增加加成(0.08) + char.技能攻击力加成(part=part, x=0.07) + pass + if 改造lv >= 5: + if 40 in char.装备栏 or 36 in char.装备栏: + char.附加伤害加成(0.07) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.暴击伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14043(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击时,额外增加2%*改造等级的伤害增加', '所有属性强化+8*改造等级', '攻击时,额外增加3%的伤害增加量', '1阶段', '-所有职业Lv50、85、100所有技能Lv+2', '-攻击时,附加4%的属性伤害', '5阶段', '-攻击时,额外增加5%的伤害增加量', '-技能攻击力+6%', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.所有属性强化加成(8*改造lv) + char.伤害增加加成(0.03) + if 改造lv >= 1: + char.技能等级加成('所有', 50, 50, 2) + char.技能等级加成('所有', 85, 85, 2) + char.技能等级加成('所有', 100, 100, 2) + char.属性附加加成(0.04) + pass + if 改造lv >= 5: + char.伤害增加加成(0.05) + char.技能攻击力加成(part=part, x=0.06) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.伤害增加加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14044(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+4*改造等级', '攻击时,附加3%的伤害', '1阶段', '-攻击时,额外增加7%的伤害增加量', '-Lv50主动技能攻击力+30%', '-Lv85主动技能攻击力+25%', '-Lv100主动技能攻击力+16%', '5阶段', '-技能攻击力+12%', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,附加3%的伤害'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.技能攻击力加成(part=part, x=0.04*改造lv) + char.附加伤害加成(0.03) + if 改造lv >= 1: + char.伤害增加加成(0.07) + char.技能倍率加成(50, 50, 0.3, type="active") + char.技能倍率加成(85, 85, 0.25, type="active") + char.技能倍率加成(100, 100, 0.16, type="active") + pass + if 改造lv >= 5: + char.技能攻击力加成(part=part, x=0.12) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.附加伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14045(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暴击时,额外增加2%*改造等级的伤害增加量', '所有属性强化+8*改造等级', '暴击时,额外增加3%的伤害增加量', '1阶段', '-暴击时,额外增加5%的伤害增加量', '-所有属性强化+30', '-所有职业Lv50~85所有技能Lv+1(特性技能除外)', '-所有职业Lv100技能Lv+1(特性技能除外)', '5阶段', '-暴击时,额外增加10%的伤害增加量', '-技能攻击力+2%', '6阶段', '-技能攻击力+3%', '7阶段', '-暴击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.暴击伤害加成(0.02*改造lv) + char.所有属性强化加成(8*改造lv) + char.暴击伤害加成(0.03) + if 改造lv >= 1: + char.暴击伤害加成(0.05) + char.所有属性强化加成(30) + char.技能等级加成('所有', 50, 85, 1) + char.技能等级加成('所有', 100, 100, 1) + pass + if 改造lv >= 5: + char.暴击伤害加成(0.06) + char.技能攻击力加成(part=part, x=0.02) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.暴击伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14046(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['最终伤害+2%*改造等级', '所有属性强化+8*改造等级', '最终伤害+3%', '1阶段', '-技能攻击力+5%', '-所有属性强化+42', '5阶段', '-技能攻击力+9%', '6阶段', '-技能攻击力+3%', '7阶段', '-最终伤害+3%'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.最终伤害加成(0.03) + char.最终伤害加成(0.02*改造lv) + char.所有属性强化加成(8*改造lv) + if 改造lv >= 1: + char.技能攻击力加成(part=part, x=0.05) + char.所有属性强化加成(42) + pass + if 改造lv >= 5: + char.技能攻击力加成(part=part, x=0.09) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.最终伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14047(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理、魔法、独立攻击力+2%*改造等级', '所有属性强化+8*改造等级', '物理、魔法、独立攻击力+3%', '1阶段', '-最终伤害+10%', '-物理、魔法、独立攻击力+11%', '5阶段', '-攻击时,附加4%的伤害', '-技能攻击力+7%', '6阶段', '-技能攻击力+3%', '7阶段', '-物理、魔法、独立攻击力+3%'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.百分比三攻加成(0.02*改造lv) + char.所有属性强化加成(8*改造lv) + char.百分比三攻加成(0.03) + if 改造lv >= 1: + char.最终伤害加成(0.1) + char.百分比三攻加成(0.11) + pass + if 改造lv >= 5: + char.附加伤害加成(0.04) + char.技能攻击力加成(part=part, x=0.07) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.百分比三攻加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14048(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化+16*改造等级', '所有属性强化+12', '1阶段', '-力量、智力+5%', '-技能攻击力+13%', '4阶段', '-攻击时,附加5%的属性伤害', '6阶段', '-技能攻击力+3%', '7阶段', '-所有属性强化+12'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.所有属性强化加成(16*改造lv) + char.所有属性强化加成(12) + if 改造lv >= 1: + char.百分比力智加成(0.05) + char.技能攻击力加成(part=part, x=0.13) + pass + if 改造lv >= 4: + char.属性附加加成(0.05) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.所有属性强化加成(12) + pass + pass + if mode == 1: + pass + +def entry_14049(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["攻击时,额外增加2%*改造等级的伤害增加量", '所有属性强化+8*改造等级', "攻击时,额外增加3%的伤害增加量""1阶段", "-攻击时,额外增加12%的伤害增加量", "攻击时,附加10%的伤害", "4阶段", "-发生持续伤害3秒,伤害量为对敌人造成伤害的4%", "-技能攻击力 +7%", "6阶段", "-技能攻击力 +3%", "7阶段", "-攻击时,额外增加3%的伤害增加量" + ] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.伤害增加加成(0.02*改造lv) + char.所有属性强化加成(8*改造lv) + char.伤害增加加成(0.03) + if 改造lv >= 1: + char.伤害增加加成(0.12) + char.附加伤害加成(0.1) + pass + if 改造lv >= 4: + char.持续伤害加成(0.04) + char.技能攻击力加成(part=part, x=0.07) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.伤害增加加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14050(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+4*改造等级', '攻击时,附加3%的伤害', '1阶段', '-所有属性强化+40', '-攻击时,额外增加10%的伤害增加量', '4阶段', '-攻击时,附加10%的伤害', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,附加3%的伤害'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.技能攻击力加成(part=part, x=0.04*改造lv) + char.附加伤害加成(0.03) + if 改造lv >= 1: + char.所有属性强化加成(40) + char.伤害增加加成(0.1) + pass + if 改造lv >= 4: + char.附加伤害加成(0.1) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.附加伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14051(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['物理、魔法、独立攻击力+3%*改造等级', '所有属性强化+4*改造等级', '物理、魔法、独立攻击力+3%', '1阶段', '-物理、魔法、独立攻击力+14%', '-最终伤害+8%', '4阶段', '-技能攻击力+10%', '6阶段', '-技能攻击力+3%', '7阶段', '-物理、魔法、独立攻击力+3%'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.百分比三攻加成(0.03*改造lv) + char.所有属性强化加成(4*改造lv) + char.百分比三攻加成(0.03) + if 改造lv >= 1: + char.百分比三攻加成(0.14) + char.最终伤害加成(0.08) + pass + if 改造lv >= 4: + char.技能攻击力加成(part=part, x=0.1) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.百分比三攻加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14052(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能攻击力+4*改造等级', '攻击时,附加3%的伤害', '1阶段', '-暴击时,额外增加18%的伤害增加量', '4阶段', '-攻击时,附加4%的伤害', '6阶段', '-技能攻击力+3%', '7阶段', '-攻击时,附加3%的伤害'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.技能攻击力加成(part=part, x=0.04*改造lv) + char.附加伤害加成(0.03) + if 改造lv >= 1: + char.暴击伤害加成(0.18) + pass + if 改造lv >= 4: + char.附加伤害加成(0.04) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.附加伤害加成(0.03) + pass + pass + if mode == 1: + pass + +def entry_14053(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暴击时,额外增加3%*改造等级的伤害增加量', '所有属性强化+4*改造等级', '暴击时,额外增加3%的伤害增加量', '1阶段', '-力量、智力+15%', '-所有属性强化+10', '4阶段', '-技能攻击力+14%', '6阶段', '-技能攻击力+3%', '7阶段', '-暴击时,额外增加3%的伤害增加量'] + if mode == 0: + 改造lv = char.获取改造等级([part]) + char.暴击伤害加成(0.03*改造lv) + char.所有属性强化加成(4*改造lv) + char.暴击伤害加成(0.03) + if 改造lv >= 1: + char.百分比力智加成(0.15) + char.所有属性强化加成(10) + pass + if 改造lv >= 4: + char.技能攻击力加成(part=part, x=0.14) + pass + if 改造lv >= 6: + char.技能攻击力加成(part=part, x=0.03) + pass + if 改造lv >= 7: + char.暴击伤害加成(0.03) + pass + diff --git a/api/core/equipment/entry_0/params.py b/api/core/equipment/entry_0/params.py new file mode 100644 index 00000000..375ee69a --- /dev/null +++ b/api/core/equipment/entry_0/params.py @@ -0,0 +1,671 @@ + +entry_chose = [] # (20000 + id, [chose1, 2, 3...]) 额外选项设置,参考20074消灭敌人词条 +multi_select = {} # id : True/False 设置选项是否支持多选 +variable_set = {} # id : setfunc 参数返回设置函数 + +# zs_bd_rate = 0 + +# def set_zs_bd_rate(x): +# global zs_bd_rate +# zs_bd_rate = x[0]/100 + + +# entry_chose.append((20000, ["冰冻结算灼伤比例:{}%".format(str(i)) +# for i in range(0, 101)], "")) +# multi_select[20000] = False +# variable_set[20000] = set_zs_bd_rate + +control_state = False + +def set_control_state(x): + global control_state + control_state = (x[0] == 1) + + +entry_chose.append((20001, ["控制型异常:不生效", "控制型异常:生效"], "")) +multi_select[20001] = False +variable_set[20001] = set_control_state + +zd_rate = 1.0 + +def set_zd_rate(x): + global zd_rate + zd_rate = 1 - x[0]/5 + +entry_chose.append((20002, ["中毒层数:{}层".format(str(6-i)) + for i in range(0, 6)], "")) +multi_select[20002] = False +variable_set[20002] = set_zd_rate + +cx_rate = 1.0 + +def set_cx_rate(x): + global cx_rate + cx_rate = 1 - x[0]/10 + +entry_chose.append((20003, ["出血层数:{}层".format(str(11-i)) + for i in range(0, 11)], "")) +multi_select[20003] = False +variable_set[20003] = set_cx_rate + +gd_rate = 1.0 + +def set_gd_rate(x): + global gd_rate + gd_rate = 1 - x[0]/10 + +entry_chose.append((20004, ["感电层数:{}层".format(str(11-i)) + for i in range(0, 11)], "")) +multi_select[20004] = False +variable_set[20004] = set_gd_rate + + +bd_cd = 99.99 + +def set_bd_cd(x): + global bd_cd + if x[0] == 0: + bd_cd = 99 + else: + bd_cd = 3.5 - x[0]*0.5 + +entry_chose.append((20005, ["职业无赋予冰冻","职业冰冻CD:3秒","职业冰冻CD:2.5秒","职业冰冻CD:2秒","职业冰冻CD:1.5秒","职业冰冻CD:1秒","职业冰冻CD:0.5秒","职业冰冻CD:0秒"], "")) +multi_select[20005] = False +variable_set[20005] = set_bd_cd + +cx_cd = 99.99 + +def set_cx_cd(x): + global cx_cd + if x[0] == 0: + cx_cd = 99 + else: + cx_cd = 3.5 - x[0]*0.5 + +entry_chose.append((20006, ["职业无赋予出血","职业出血CD:3秒","职业出血CD:2.5秒","职业出血CD:2秒","职业出血CD:1.5秒","职业出血CD:1秒","职业出血CD:0.5秒","职业出血CD:0秒"], "")) +multi_select[20006] = False +variable_set[20006] = set_cx_cd + +zd_cd = 99.99 + +def set_zd_cd(x): + global zd_cd + if x[0] == 0: + zd_cd = 99 + else: + zd_cd = 3.5 - x[0]*0.5 + +entry_chose.append((20007, ["职业无赋予中毒","职业中毒CD:3秒","职业中毒CD:2.5秒","职业中毒CD:2秒","职业中毒CD:1.5秒","职业中毒CD:1秒","职业中毒CD:0.5秒","职业中毒CD:0秒"], "")) +multi_select[20007] = False +variable_set[20007] = set_zd_cd + +gd_cd = 99.99 + +def set_gd_cd(x): + global gd_cd + if x[0] == 0: + gd_cd = 99 + else: + gd_cd = 3.5 - x[0]*0.5 + +entry_chose.append((20008, ["职业无赋予感电","职业感电CD:3秒","职业感电CD:2.5秒","职业感电CD:2秒","职业感电CD:1.5秒","职业感电CD:1秒","职业感电CD:0.5秒","职业感电CD:0秒"], "")) +multi_select[20008] = False +variable_set[20008] = set_gd_cd + +zs_cd = 99.99 + +def set_zs_cd(x): + global zs_cd + if x[0] == 0: + zs_cd = 99 + else: + zs_cd = 3.5 - x[0]*0.5 + +entry_chose.append((20009, ["职业无赋予灼伤","职业灼伤CD:3秒","职业灼伤CD:2.5秒","职业灼伤CD:2秒","职业灼伤CD:1.5秒","职业灼伤CD:1秒","职业灼伤CD:0.5秒","职业灼伤CD:0秒"], "")) +multi_select[20009] = False +variable_set[20009] = set_zs_cd + +ws_rate = 1.0 + +def set_ws_rate(x): + global ws_rate + ws_rate = 1 - x[0]/100 + +entry_chose.append((20010, ["雾神武器适用:{}%".format(str(100-i)) + for i in range(0, 101)], "")) +multi_select[20010] = False +variable_set[20010] = set_ws_rate + + +# hl = [] +# hl_list = [0, 1, 2] + + +# def set_hl(x): +# global hl +# hl = [] +# for i in x: +# # 暂不确定为什么用户会超过上限 +# try: +# hl.append(hl_list[min(i,2)]) +# except Exception: +# pass + +# entry_chose.append((31283, +# ['选择火龙融合状态', +# '火龙之怒buff', +# '火龙的气息:44层', +# ], "")) +# multi_select[31283] = True +# variable_set[31283] = set_hl + + +# jl_1 = 1 +# jl_2 = 1 +# jl_3 = 1 +# jl_list = [1, 3, 5, -1] + + +# def set_jl_1(x): +# global jl_1 +# jl_1 = jl_list[x[0]] + + +# def set_jl_2(x): +# global jl_2 +# jl_2 = jl_list[x[0]] + + +# def set_jl_3(x): +# global jl_3 +# jl_3 = jl_list[x[0]] + + +# entry_chose.append((31286, +# ['金龙手镯触发:1次', +# '金龙手镯触发:3次', +# '金龙手镯触发:5次', +# '金龙手镯触发:期望', +# ], "")) +# multi_select[31286] = False +# variable_set[31286] = set_jl_1 + +# entry_chose.append((31287, +# ['金龙项链触发:1次', +# '金龙项链触发:3次', +# '金龙项链触发:5次', +# '金龙项链触发:期望', +# ], "")) +# multi_select[31287] = False +# variable_set[31287] = set_jl_2 + +# entry_chose.append((31288, +# ['金龙戒指触发:1次', +# '金龙戒指触发:3次', +# '金龙戒指触发:5次', +# '金龙戒指触发:期望', +# ], "")) +# multi_select[31288] = False +# variable_set[31288] = set_jl_3 + +# bl = 5 + +# zl = 30 + +# hq_jd = 5 + + +# buff_info = 1 +# buff_info_list = [1, 2, 3] + + +# def set_buff_info(x): +# global buff_info +# buff_info = buff_info_list[x[0]] + + +# entry_chose.append( +# (31441, ['武器融合效果:Buff效果', '武器融合效果:80连击效果', '武器融合效果:期望'], "")) +# multi_select[31441] = False +# variable_set[31441] = set_buff_info + +# lhjs = 1 +# lhjs_list = [round(1-0.1*i, 2) for i in range(0, 11)] + + +# def set_lhjs(x): +# global lhjs +# lhjs = lhjs_list[min(x[0],10)] + + +# entry_chose.append((31465, +# ['灵魂拘束适用{}%技攻'.format(i) for i in lhjs_list], "")) +# multi_select[31465] = False +# variable_set[31465] = set_lhjs + +own_type = [] +own_type_list = ['', '出血', '中毒', '灼伤', '感电', '眩晕', + '诅咒', '睡眠', '束缚', '冰冻', '减速', '石化', '失明', '混乱'] + + +def set_own_type(x): + global own_type + own_type = [] + for i in x: + own_type.append(own_type_list[i]) + + +entry_chose.append((21127, ['选择自身异常状态'] + ['自身处于{}状态'.format(i) + for i in own_type_list[1:]], "")) +variable_set[21127] = set_own_type + +# mp_used = 0 +# mp_used_list = [0, 1, 2, 3, 4, 5] + + +# def set_mp_used(x): +# global mp_used +# mp_used = mp_used_list[x[0]] + + +# entry_chose.append((21050, +# ['已消耗MP 0~9999', +# '已消耗MP 10000~19999', +# '已消耗MP 20000~29999', +# '已消耗MP 30000~39999', +# '已消耗MP 40000~49999', +# '已消耗MP 50000+', +# ], "")) +# multi_select[21050] = False +# variable_set[21050] = set_mp_used + +# sy_cq = 0 +# sy_cq_list = [0, 1, 2, 3] + + +# def set_sy_cq(x): +# global sy_cq +# sy_cq = sy_cq_list[x[0]] + + +# entry_chose.append((20948, ["双音戒指拾取{}个黑球".format(i) for i in sy_cq_list], "")) +# multi_select[20948] = False +# variable_set[20948] = set_sy_cq + +# cd_kj = 6 +# cd_kj_list = [12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] + + +# def set_cd_kj(x): +# global cd_kj +# cd_kj = cd_kj_list[x[0]] + + +# entry_chose.append((20990, ["快捷栏{}个技能冷却中".format(i) for i in cd_kj_list], "")) +# multi_select[20990] = False +# variable_set[20990] = set_cd_kj + + +enemy_type = [] +enemy_type_list = ['', '机械', '恶魔', '精灵', + '天使', '龙族', '人型', '野兽', '植物', '不死', '昆虫'] + + +def set_enemy_type(x): + global enemy_type + enemy_type = [] + for i in x: + enemy_type.append(enemy_type_list[i]) + + +entry_chose.append((20037, ['选择敌人类型'] + ['攻击{}敌人'.format(i) + for i in enemy_type_list[1:]], "")) +variable_set[20037] = set_enemy_type + + +attack_type = [] +attack_type_list = ['', '普通敌人', '稀有敌人', '领主敌人', '正面攻击', '背面攻击', '破招攻击', + '非破招攻击', '精英敌人'] + + +def set_attack_type(x): + global attack_type + attack_type = [] + for i in x: + attack_type.append(attack_type_list[i]) + + +entry_chose.append((20351, ['选择攻击类型'] + ['{}'.format(i) + for i in attack_type_list[1:]], "")) +variable_set[20351] = set_attack_type + +state_type = [] +state_type_list = ['', '出血', '中毒', '灼伤', '感电', '眩晕', + '诅咒', '睡眠', '束缚', '冰冻', '减速', '石化', '失明', '混乱'] + + +def set_state_type(x): + global state_type + state_type = [] + for i in x: + state_type.append(state_type_list[i]) + if bd_cd < 99 and '冰冻' not in state_type: + state_type.append('冰冻') + +entry_chose.append((20042, ['选择敌人状态'] + ['攻击{}敌人'.format(i) + for i in state_type_list[1:]], "")) +variable_set[20042] = set_state_type + + +def get_state_type(): + # global state_type + temp = list(set(state_type)) + if control_state: + temp = list(filter(lambda x: x != '', temp)) + else: + temp = list(filter(lambda x: x not in ['', '眩晕', + '诅咒', '睡眠', '束缚', '冰冻', '减速', '石化', '失明', '混乱'], temp)) + return temp + + +teammate_num = 1 +teammate_num_list = [0, 1, 2, 3, 4] + + +def set_teammate_num(x): + global teammate_num + teammate_num = teammate_num_list[x[0]] + + +entry_chose.append((20165, ['选择队员数量'] + ['队员:{}名'.format(i) + for i in teammate_num_list[1:]], "")) +multi_select[20165] = False +variable_set[20165] = set_teammate_num + +dungeons_type = [] +dungeons_type_list = ['', '[贵族机要]', '[毁坏的寂静城(高级)]', '[机械战神试验场]', '[团结]'] + + +def set_dungeons_type(x): + global dungeons_type + dungeons_type = [] + for i in x: + if i < len(dungeons_type_list): + dungeons_type.append(dungeons_type_list[i]) + + +entry_chose.append((20189, ['选择地下城类型'] + ['{}'.format(i) + for i in dungeons_type_list[1:]], "")) +variable_set[20189] = set_dungeons_type + + +# distance_num_list = [0, 50, 100, 150, 200, 250, 300] + + +# def set_distance_num(x): +# global distance_num +# distance_num = distance_num_list[x[0]] + + +# entry_chose.append((20253, ['选择敌人距离'] + ['距离敌人{}~{}px'.format(i, i + 50) +# for i in distance_num_list[1:]], "")) +# multi_select[20253] = False +# variable_set[20253] = set_distance_num + +# combo_num = 0 + +enemy_num = 0 +enemy_num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + + +def set_enemy_num(x): + global enemy_num + enemy_num = enemy_num_list[min(x[0], 10)] + + +entry_chose.append((20183, ['选择敌人数量'] + ['{}个敌人'.format(i) + for i in enemy_num_list[1:]], "")) +multi_select[20183] = False +variable_set[20183] = set_enemy_num + +# toughness_num = 0 +# toughness_num_list = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] + + +# def set_toughness_num(x): +# global toughness_num +# toughness_num = toughness_num_list[x[0]] + + +# entry_chose.append((20194, ['选择敌人韧性削减'] + ['韧性减少:{}%'.format(i * 10) +# for i in toughness_num_list[1:]], "")) +# multi_select[20194] = False +# variable_set[20194] = set_toughness_num + +hp_rate_num = 0 +hp_rate_num_list = [90, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90] + +def get_hp_rate_num(char): + cur = char.get_eq_params('hp_max') + cur = 100 if cur == 0 else cur + return min(cur,hp_rate_num) + +def set_hp_rate_num(x): + global hp_rate_num + hp_rate_num = hp_rate_num_list[x[0]] + + +entry_chose.append((20814, ['选择HP范围'] + + ['HP:10%以下', + 'HP:10%~20%', + 'HP:20%~30%', + 'HP:30%~40%', + 'HP:40%~50%', + 'HP:50%~60%', + 'HP:60%~70%', + 'HP:70%~80%', + 'HP:80%~90%', + 'HP:90%以上', + ], "")) +multi_select[20814] = False +variable_set[20814] = set_hp_rate_num + +mp_rate_num = 0 +mp_rate_num_list = [90, 0, 10, 20, 30, 40, 50, 60, 70, 80, 90] + + +def set_mp_rate_num(x): + global mp_rate_num + mp_rate_num = mp_rate_num_list[x[0]] + +def get_mp_rate_num(char): + cur = char.get_eq_params('mp_max') + cur = 100 if cur == 0 else cur + return min(cur,mp_rate_num) + +entry_chose.append((20813, ['选择MP范围'] + + ['MP:10%以下', + 'MP:10%~20%', + 'MP:20%~30%', + 'MP:30%~40%', + 'MP:40%~50%', + 'MP:50%~60%', + 'MP:60%~70%', + 'MP:70%~80%', + 'MP:80%~90%', + 'MP:90%以上', + ], "")) +multi_select[20813] = False +variable_set[20813] = set_mp_rate_num + +# gold_num = 40 + +# wuse_number = 0 +# wuse_number_list = [0, 50, 100, 150, 200, 250] + + +# def set_wuse_num(x): +# global wuse_number +# wuse_number = wuse_number_list[x[0]] + + +# entry_chose.append((21261, ['累计无色消耗:{}个'.format(i) +# for i in wuse_number_list], "")) +# multi_select[21261] = False +# variable_set[21261] = set_wuse_num + +cp_soul_bender = 5 +cp_soul_bender_list = [5, 4, 3, 2, 1, 0] + + +def set_cp_soul_bender(x): + global cp_soul_bender + cp_soul_bender = cp_soul_bender_list[x[0]] + + +entry_chose.append((30550, ['CP武器-[冥界之焰]叠加5次', + 'CP武器-[冥界之焰]叠加4次', + 'CP武器-[冥界之焰]叠加3次', + 'CP武器-[冥界之焰]叠加2次', + 'CP武器-[冥界之焰]叠加1次', + 'CP武器-[冥界之焰]叠加0次' + ], "soul_bender")) +multi_select[30550] = False +variable_set[30550] = set_cp_soul_bender + +cp_striker_male = 0 +cp_striker_male_list = [1, 0] + + +def set_cp_striker_male(x): + global cp_striker_male + cp_striker_male = cp_striker_male_list[x[0]] + + +entry_chose.append((30579, ['CP武器-[双重释放]Buff触发', + 'CP武器-[双重释放]Buff未触发', + ], "striker_male")) +multi_select[30579] = False +variable_set[30579] = set_cp_striker_male + +cp_elemental_bomber = 0 +cp_elemental_bomber_list = [0, 1, 2, 3, 4, 5] + + +def set_cp_elemental_bomber(x): + global cp_elemental_bomber + cp_elemental_bomber = cp_elemental_bomber_list[x[0]] + + +entry_chose.append((30647, ['CP武器-[元素之力]0层', + 'CP武器-[元素之力]1层', + 'CP武器-[元素之力]2层', + 'CP武器-[元素之力]3层', + 'CP武器-[元素之力]4层', + 'CP武器-[元素之力]5层', + ], "elemental_bomber")) +multi_select[30647] = False +variable_set[30647] = set_cp_elemental_bomber + +cp_witch_1 = 0 +cp_witch_list_1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + + +def set_cp_witch_1(x): + global cp_witch_1 + cp_witch_1 = cp_witch_list_1[x[0]] + + +entry_chose.append((30663, ['CP武器-积攒普通糖果:{}个'.format(i) + for i in cp_witch_list_1], "witch")) +multi_select[30663] = False +variable_set[30663] = set_cp_witch_1 + +cp_witch_2 = 0 +cp_witch_list_2 = [0, 1, 2, 3, 4, 5] + + +def set_cp_witch_2(x): + global cp_witch_2 + cp_witch_2 = cp_witch_list_2[x[0]] + + +entry_chose.append((30664, ['CP武器-积攒稀有糖果:{}个'.format(i) + for i in cp_witch_list_2], "witch")) +multi_select[30664] = False +variable_set[30664] = set_cp_witch_2 + +# cp_witch_3 = 0 +# cp_witch_list_3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + + +# def set_cp_witch_3(x): +# global cp_witch_3 +# cp_witch_3 = cp_witch_list_3[x[0]] + + +# entry_chose.append((30665, ['CP武器-存储普通糖果:{}个'.format(i) +# for i in cp_witch_list_3], "witch")) +# multi_select[30665] = False +# variable_set[30665] = set_cp_witch_3 + + +# cp_witch_4 = 0 +# cp_witch_list_4 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] + + +# def set_cp_witch_4(x): +# global cp_witch_4 +# cp_witch_4 = cp_witch_list_4[x[0]] + + +# entry_chose.append((30666, ['CP武器-存储稀有糖果:{}个'.format(i) +# for i in cp_witch_list_4], "witch")) +# multi_select[30666] = False +# variable_set[30666] = set_cp_witch_4 + +combat_max = 0 + +# in_buff_info = 2 +# in_buff_info_list = [1, 2, 3] + + +# def set_in_buff_info(x): +# global in_buff_info +# in_buff_info = in_buff_info_list[x[0]] + + +# entry_chose.append( +# (31586, ['海贼头肩:Buff效果', '海贼头肩:80连击效果', '海贼头肩:期望'], "")) +# multi_select[31586] = False +# variable_set[31586] = set_buff_info + + + +cp_kunoichi = 30 + +def set_cp_kunoichi(x): + global cp_kunoichi + cp_kunoichi = x[0]*0.1 + +entry_chose.append((30724, ["CP武器灼伤结算加成:{}%".format(str(round(i*0.1,1))) + for i in range(0, 101)], "kunoichi")) +multi_select[30724] = False +variable_set[30724] = set_cp_kunoichi + + + +random = 0 +# random_list = [0, 1,2] + + +# def set_random(x): +# global random +# random = random_list[x[0]] + +# entry_chose.append((30223, ['随机词条-期望计算', +# '随机词条-高伤计算', +# '随机词条-低伤计算', +# ], "")) +# multi_select[30223] = False +# variable_set[30223] = set_random \ No newline at end of file diff --git a/api/core/equipment/entry_0/pet.py b/api/core/equipment/entry_0/pet.py new file mode 100644 index 00000000..2417076d --- /dev/null +++ b/api/core/equipment/entry_0/pet.py @@ -0,0 +1,165 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa +def entry_10101(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (宠物) + return ["增益量 +3%", "所有职业Lv1~50 全部技能+1", "Lv30 Buff技能力量、智力增加量 +3%", "Lv30 Buff技能物理、魔法、独立攻击力 +3%"] + if mode == 0: + char.技能等级加成('所有', 1, 50, 1) + char.辅助属性加成(buff百分比力智=0.03, buff百分比三攻=0.03, 百分比buff量=0.03) + +def entry_10102(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (宠物) + return ["所有属性强化 +15", "攻击、施放、移动速度 +4%", "MP最大值 +5%", "攻击强化增幅 +12%", "增益量 +2%", "所有职业Lv1~50 全部技能+1", ] + if mode == 0: + char.技能等级加成('所有', 1, 50, 1) + char.辅助属性加成(百分比buff量=0.02) + char.所有速度增加(part=part, x=0.04) + char.所有属性强化加成(15) + char.百分比攻击强化加成(0.12) + +def entry_10103(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + # (宠物) + return ["所有属性强化 +25", "攻击、施放、移动速度 +5%", "MP最大值 +5%", "攻击强化增幅 +15%", "增益量 +5%", "所有职业Lv1~75 全部技能+1", ] + if mode == 0: + char.技能等级加成('所有', 1, 75, 1) + char.辅助属性加成(百分比buff量=0.05) + char.所有速度增加(part=part, x=0.05) + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.15) + +def entry_11001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '物理、魔法、独立攻击力 +20%', '攻击时,附加15%伤害', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +35%'] + if mode == 0: + char.所有属性强化加成(25) + char.附加伤害加成(0.15) + char.百分比三攻加成(0.2) + char.百分比攻击强化加成(0.35) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '物理、魔法、独立攻击力 +15%', '攻击时,附加20%伤害', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +35%'] + if mode == 0: + char.所有属性强化加成(25) + char.附加伤害加成(0.20) + char.百分比三攻加成(0.15) + char.百分比攻击强化加成(0.35) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '物理、魔法、独立攻击力 +12%', '攻击时,附加10%伤害', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +22%'] + if mode == 0: + char.所有属性强化加成(25) + char.附加伤害加成(0.10) + char.百分比三攻加成(0.12) + char.百分比攻击强化加成(0.22) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '物理、魔法、独立攻击力 +10%', '攻击时,附加12%伤害', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +22%'] + if mode == 0: + char.所有属性强化加成(25) + char.附加伤害加成(0.12) + char.百分比三攻加成(0.10) + char.百分比攻击强化加成(0.22) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~80 全部技能+1', '暴击时,额外增加20%的伤害增加量', '力量、智力 +12%', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +32%'] + if mode == 0: + char.所有属性强化加成(25) + char.暴击伤害加成(0.20) + char.百分比力智加成(0.12) + char.百分比攻击强化加成(0.32) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 80, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~80 全部技能+1', '物理、魔法、独立攻击力 +12%', '攻击时,附加10%伤害', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +22%'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比三攻加成(0.12) + char.附加伤害加成(0.10) + char.百分比攻击强化加成(0.22) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 80, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +25%'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.25) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +40%'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.40) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +30%'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.30) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + +def entry_11011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +5%', '移动速度 +5%', '施放速度 +5%', '所有属性强化 +25', '所有职业Lv1~95 全部技能+1', '所有技能冷却时间 -5%(加算)', '攻击强化增幅 +45%'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.45) + char.加算冷却缩减(0.05) + char.技能等级加成('所有', 1, 95, 1) + char.所有速度增加(part=part, x=0.05) + if mode == 1: + pass + diff --git a/api/core/equipment/entry_0/specificity.py b/api/core/equipment/entry_0/specificity.py new file mode 100644 index 00000000..382f7c2b --- /dev/null +++ b/api/core/equipment/entry_0/specificity.py @@ -0,0 +1,650 @@ +from core.basic.property import CharacterProperty +from functools import reduce +import core.equipment.entry_0.params as pa +# 规律系 - [魔弹射手] +def entry_20000(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "攻击时,发射魔弹,对附近的敌人造成伤害。(冷却时间0.5秒)
- 魔弹伤害量:{0}%
魔弹发射个数:{1}个" + lv_params = [[98, 1], [196, 1], [294, 1], [588, 1], [979, 1], [1126, 1], [1350, 1]] + cost = [30, 30, 30, 30, 30, 60, 60] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [魔力增幅] +def entry_20001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "魔弹伤害量 +{0}%" + lv_params = [[10], [15], [20], [25], [30], [35], [40]] + cost = [30, 30, 30, 30, 30, 60, 60] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [预备弹夹] +def entry_20002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "魔弹发射个数 +{0}个" + lv_params = [[2]] + cost = [80] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [乱射] +def entry_20003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "第6次发射魔弹时,魔弹个数增加至{0}倍{1}" + lv_params = [[3, ''], [3, '
第66次发射魔弹时,触发魔弹暴走。
- 魔弹暴走的伤害量应用魔弹射手的数值']] + cost = [100, 100] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [魔剑舞者] +def entry_20004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "攻击时,生成[魔剑风暴],对附近的敌人造成伤害。 (冷却时间5秒)。
- [魔剑风暴]伤害量:{0}%
- [魔剑风暴]持续时间:{1}秒" + lv_params = [[306, 1.5], [459, 1.5], [612, 1.5], [688, 2], [917, 2.5], [1070, 3], [1310, 3.5], [1441, 3.5], [1572, 3.5], [1868, 3.5]] + cost = [10, 10, 10, 20, 20, 20, 20, 30, 30, 60] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [荆棘护甲] +def entry_20005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[魔剑风暴]范围 +{0}%" + lv_params = [[10], [20], [30], [40], [50]] + cost = [20, 20, 20, 20, 20] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [剑刃账幕] +def entry_20006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[魔剑风暴]伤害量 +{0}%" + lv_params = [[5], [10], [15], [20], [25], [30], [35]] + cost = [20, 20, 20, 30, 30, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [剑痕] +def entry_20007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[魔剑风暴]多段攻击间隔 -{0}%" + lv_params = [[10], [20], [30], [40], [50], [55], [65]] + cost = [30, 30, 30, 30, 30, 60, 60] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [魔工学炮手] +def entry_20008(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "生成1个追踪敌人进行攻击的魔力炮。 (再次生成所需冷却时间30秒)
- 魔力炮伤害量:{0}%
- 魔力炮持续时间:10秒" + lv_params = [[486], [973], [1459], [2919], [4864], [5837], [7094]] + cost = [20, 20, 20, 20, 20, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [核融合] +def entry_20009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "魔力炮伤害量 +{0}%" + lv_params = [[5], [7], [10], [15], [20]] + cost = [30, 30, 30, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [空气力学] +def entry_20010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "魔力炮多段攻击间隔 -{0}%" + lv_params = [[7], [10], [12], [15], [20]] + cost = [30, 30, 30, 30, 30] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [魔力猎食] +def entry_20011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "每次攻击魔力炮时,持续时间 +{0}秒。 (冷却时间{1}秒){2}" + lv_params = [[3, 5, ''], [4, 4, ''], [5, 3, ''], [5, 3, '
魔力炮攻击时,释放魔力波动。 (冷却时间7秒)
- 魔力波动伤害量:魔力炮伤害量的100%'], [5, 3, '
魔力炮攻击时,释放魔力波动。 (冷却时间7秒)
- 魔力波动伤害量:魔力炮伤害量的300%']] + cost = [40, 50, 50, 80, 80] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 规律系 - [强力一击] +def entry_20016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能伤害 +{0}%" + lv_params = [[10], [16], [22], [28], [35]] + cost = [96, 96, 96, 96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能攻击力加成(lv_params[lv-1][0]/100) + if char.实际名称 == 'crusader_male': + char.get_skill_by_name('生命源泉').CDR *= 0.5 + pass + if mode == 1: + pass + +# 规律系 - [冥想] +def entry_20017(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能冷却时间 -{0}%" + lv_params = [[10], [20]] + cost = [96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能冷却缩减(1, 100, lv_params[lv-1][0]/100, excName=char.觉醒技能) + pass + if mode == 1: + pass + +# 猛攻系 - [速攻:连击] +def entry_20100(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "施放技能时,进入[连击]状态5秒。
[连击]:所有速度 +{0}%" + lv_params = [[2], [3], [4], [4.5], [5]] + cost = [40, 40, 45, 35, 35] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.所有速度增加(lv_params[lv-1][0]/100, '特性') + pass + if mode == 1: + pass + +# 猛攻系 - [速攻:奔涌击] +def entry_20101(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[连击]状态下,施放技能时,进入[奔涌击]状态5秒。
[奔涌击]:所有速度 +{0}%" + lv_params = [[2], [3], [4], [4.5], [5]] + cost = [45, 45, 50, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.所有速度增加(lv_params[lv-1][0]/100, '特性') + pass + if mode == 1: + pass + +# 猛攻系 - [速攻:闪影击] +def entry_20102(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[奔涌击]状态下,施放技能时,进入[闪影击]状态5秒。
[闪影击]:所有速度 +{0}%" + lv_params = [[4], [5], [6], [6.5], [7]] + cost = [50, 50, 55, 45, 45] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.所有速度增加(lv_params[lv-1][0]/100, '特性') + pass + if mode == 1: + pass + +# 猛攻系 - [破竹之势] +def entry_20103(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[闪影击]状态下,施放技能时{0},技能伤害 +{1}%,效果持续10秒。" + lv_params = [[',解除所有[速攻]效果', 3], [',解除所有[速攻]效果', 4], ['', 5]] + cost = [60, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.技能攻击力加成(lv_params[lv-1][1]/100) + pass + if mode == 1: + pass + +# 猛攻系 - [强袭:破击] +def entry_20104(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "施放技能时,进入[破击]状态5秒。
[破击]:物理/魔法所受伤害 -{0}%" + lv_params = [[1], [2], [3], [3.5], [4]] + cost = [40, 40, 45, 45, 45] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 猛攻系 - [强袭:强腕击] +def entry_20105(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[破击]状态下,施放技能时,进入[强腕击]状态5秒。
[强腕击]:物理/魔法所受伤害 -{0}%" + lv_params = [[1], [2], [3], [3.5], [4]] + cost = [45, 45, 50, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 猛攻系 - [强袭:泰山击] +def entry_20106(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[强腕击]状态下,施放技能时,进入[泰山击]状态5秒。
[泰山击]:物理/魔法所受伤害 -{0}%" + lv_params = [[1], [2], [3], [3.5], [4]] + cost = [50, 50, 55, 45, 45] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 猛攻系 - [英雄豪杰] +def entry_20107(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "[泰山击]状态下,施放技能时{0},技能伤害 +{1}%,并进入霸体状态,效果持续10秒。" + lv_params = [[',解除所有[强袭]效果', 3], [',解除所有[强袭]效果', 4], ['', 5]] + cost = [60, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.技能攻击力加成(lv_params[lv-1][1]/100) + pass + if mode == 1: + pass + +# 猛攻系 - [强力一击] +def entry_20108(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能伤害 +{0}%" + lv_params = [[10], [16], [22], [28], [35]] + cost = [96, 96, 96, 96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能攻击力加成(lv_params[lv-1][0]/100) + if char.实际名称 == 'crusader_male': + char.get_skill_by_name('生命源泉').CDR *= 0.5 + pass + if mode == 1: + pass + +# 猛攻系 - [冥想] +def entry_20109(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能冷却时间 -{0}%" + lv_params = [[10], [20]] + cost = [96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能冷却缩减(1, 100, lv_params[lv-1][0]/100, excName=char.觉醒技能) + pass + if mode == 1: + pass + +# 保护系 - [保护罩填充] +def entry_20200(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "施放技能时,赋予生命值最大值3%的保护罩。 (冷却时间3秒;最多叠加{0}次)" + lv_params = [[1], [2], [3], [4], [5]] + cost = [30, 30, 30, 30, 30] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.set_eq_params('protect', char.get_eq_params( + 'protect') + 0.03 * lv_params[lv-1][0]) + pass + if mode == 1: + pass + +# 保护系 - [护盾爆裂 - 爆炸] +def entry_20201(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "保护罩解除时,引发爆炸,攻击周围敌人。
- 爆炸伤害量:{0}%" + lv_params = [[152], [304], [456], [912], [1521]] + cost = [15, 15, 15, 15, 15] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 保护系 - [火盾] +def entry_20202(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "生成火焰,对触碰到保护罩的敌人造成伤害。 (冷却时间0.3秒)
- 火焰伤害量:{0}%" + lv_params = [[101], [203], [304], [608], [1014], [1217], [1521]] + cost = [25, 25, 25, 25, 25, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 保护系 - [背水一战] +def entry_20203(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "解除觉醒技能关联。
50级技能冷却时间 -50%
50级技能攻击力 +{0}%
50级增益技能效果 -70% (仅限辅助职业)" + lv_params = [[0], [10], [15], [25], [30]] + cost = [100, 60, 60, 70, 70] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.技能冷却缩减(50, 50, 0.5) + char.技能倍率加成(50,50,lv_params[lv-1][0]/100) + if char.类型 == '辅助': + char.辅助属性加成(觉醒百分比力智Total=-0.7) + pass + if mode == 1: + pass + +# 保护系 - [保护罩续充] +def entry_20204(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "装备的填充型保护罩的填充冷却时间 -1秒" + lv_params = [[]] + cost = [30] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 保护系 - [护盾爆裂 - 恢复] +def entry_20205(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "保护罩解除时,周围300px范围内的队员恢复{0}%的生命值和魔法值。" + lv_params = [[1], [1.5], [2], [2.5], [3]] + cost = [15, 15, 15, 15, 15] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 保护系 - [水盾] +def entry_20206(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "保护罩周围{0}px内队友的生命值/魔法值恢复{1}%。 (冷却时间3秒)

技能伤害 +{2}%" + lv_params = [[100, 0.2, 0], [150, 0.3, 0], [200, 0.5, 0], [250, 0.7, 0], [300, 1, 0], [300, 1, 0.5], [300, 1, 1]] + cost = [25, 25, 25, 25, 25, 40, 40] + if mode == 0: + if lv > 0: + char.技能攻击力加成(lv_params[lv-1][2]/100) + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 保护系 - [披靡庇护] +def entry_20207(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "100级技能攻击力 +{0}%
施放100级技能后,进入无敌状态一段时间。" + lv_params = [[15], [17], [20], [22], [25]] + cost = [100, 60, 60, 70, 70] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + if lv > 0: + char.技能倍率加成(100, 100, lv_params[lv-1][0]/100) + pass + if mode == 1: + pass + +# 保护系 - [强力一击] +def entry_20208(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能伤害 +{0}%" + lv_params = [[10], [16], [22], [28], [35]] + cost = [96, 96, 96, 96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能攻击力加成(lv_params[lv-1][0]/100) + if char.实际名称 == 'crusader_male': + char.get_skill_by_name('生命源泉').CDR *= 0.5 + pass + if mode == 1: + pass + +# 保护系 - [冥想] +def entry_20209(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能冷却时间 -{0}%" + lv_params = [[10], [20]] + cost = [96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能冷却缩减(1, 100, lv_params[lv-1][0]/100, excName=char.觉醒技能) + pass + if mode == 1: + pass + +# 具现系 - [灵药炼制] +def entry_20300(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "每{0}秒炼制一~四等灵药
- 腕力灵药:技能伤害 +1/2/4/5%,效果持续20秒。
- 铁壁灵药:物理/魔法所受伤害 -4/7/10/15%,效果持续20秒。
- 神速灵药:所有速度 +5/10/15/20%,效果持续20秒。" + lv_params = [[30], [28], [26], [23], [20], [18], [15]] + cost = [20, 20, 20, 20, 20, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [力量精通] +def entry_20301(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "拾取灵药时,技能伤害 +{0}%,效果持续{1}秒。" + lv_params = [[1, 5], [1, 10], [1, 13], [1, 16], [1, 20], [1.5, 25], [2, 25]] + cost = [20, 20, 20, 20, 20, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [强化 - 力量精通] +def entry_20302(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "拾取灵药时,所有速度 +5%,效果持续{0}秒。" + lv_params = [[5], [10], [13], [16], [20], [22], [25]] + cost = [30, 30, 30, 30, 30, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [传说再现 - 破坏] +def entry_20303(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "高度成熟的炼制术有时会产生意想不到的效果。
- 有{0}%的几率生成武具,而非灵药。
{1}" + lv_params = [[1, ''], [2, ''], [3, ''], [5, ''], [10, ''], [10, '
增强武具的效果。'], [10, '
增强武具的效果。']] + cost = [30, 30, 30, 20, 20, 30, 30] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [高效炼制] +def entry_20304(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "炼制时,有{0}%的几率,额外炼成1个灵药。" + lv_params = [[10], [12], [24], [26], [28], [30], [32], [34], [37], [40]] + cost = [20, 20, 20, 20, 20, 40, 40, 50, 50, 60] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [精巧收尾] +def entry_20305(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "炼制时不会生成四等灵药。" + lv_params = [[]] + cost = [80] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [完美炼制] +def entry_20306(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "炼制时不会生成三等灵药。" + lv_params = [[]] + cost = [100] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [一级炼制术士] +def entry_20307(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "炼制时不会生成二等灵药。" + lv_params = [[]] + cost = [100] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [治愈精通] +def entry_20308(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "拾取灵药时,恢复{0}%的生命值和魔法值。" + lv_params = [[2], [3], [4], [5], [7], [8], [10]] + cost = [20, 20, 20, 20, 20, 40, 40] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [强化 - 治愈精通] +def entry_20309(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "拾取灵药时,进入霸体状态{0}秒,进入无敌状态{1}秒。" + lv_params = [[5, 0], [10, 0], [13, 0], [16, 0], [20, 0], [20, 0.2], [20, 0.5]] + cost = [30, 30, 30, 30, 30, 50, 50] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [传说再现 - 守护] +def entry_20310(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "高度成熟的炼制术有时会重现传说。
- 有{0}%的几率生成武具,而非灵药。
{1}" + lv_params = [[1, ''], [2, ''], [3, ''], [5, ''], [10, ''], [10, '
增强武具的效果。'], [10, '
增强武具的效果。']] + cost = [30, 30, 30, 20, 20, 30, 30] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + pass + if mode == 1: + pass + +# 具现系 - [强力一击] +def entry_20311(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能伤害 +{0}%" + lv_params = [[10], [16], [22], [28], [35]] + cost = [96, 96, 96, 96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能攻击力加成(lv_params[lv-1][0]/100) + if char.实际名称 == 'crusader_male': + char.get_skill_by_name('生命源泉').CDR *= 0.5 + pass + if mode == 1: + pass + +# 具现系 - [冥想] +def entry_20312(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return "技能冷却时间 -{0}%" + lv_params = [[10], [20]] + cost = [96, 96] + if mode == 0: + if lv > 0: + char.辅助属性加成(buff量=7.2*reduce(lambda x, y: x+y, cost[:lv])) + char.技能冷却缩减(1, 100, lv_params[lv-1][0]/100, excName=char.觉醒技能) + pass + if mode == 1: + pass \ No newline at end of file diff --git a/api/core/equipment/entry_0/stable.py b/api/core/equipment/entry_0/stable.py new file mode 100644 index 00000000..34b99ca6 --- /dev/null +++ b/api/core/equipment/entry_0/stable.py @@ -0,0 +1,3584 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +# 固定装备:六方式脉冲肩甲 +def entry_924(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '清除自身赋予敌人石化状态的所受伤害减少效果。', '', '攻击时,使所有敌人进入石化状态10秒。 (冷却时间15秒)'] + if mode == 0: + if '石化' not in pa.get_state_type(): + pa.state_type.append('石化') + char.技能攻击力加成(part=part, x=0.1) + pass + if mode == 1: + pass + + +# 固定装备:月落星沉腰带 +def entry_1228(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,恢复30%的生命值/魔法值,效果持续10秒。 (冷却时间60秒)', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的加厚长靴 +def entry_1183(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +326.0%', '所有属性强化 +15', '', '按照技能魔法值消耗量属性之和的5%,增加技能伤害。 (最多25%)', '', '技能魔法值消耗量 +100%', '', '物理/魔法所受伤害 -20%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.MP消耗量加成(1.0) + char.所有属性强化加成(15,mode=1) + char.add_eq_params('hurted_ratio',0.2) + if mode == 1: + if char.MP消耗倍率() >= 1: + char.技能攻击力加成(part=part, x=min((char.MP消耗倍率() - 1)*0.05, 0.25)) + if char.MP消耗倍率() < 6: + return 'MP消耗量增加需提升{}%'.format(round(600-char.MP消耗倍率()*100), 0) + pass + + +# 固定装备:天才技术大师的百宝腰带 +def entry_997(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +666.9%', '技能伤害 +5%', '', '技能魔法值消耗量 +100%'] + if mode == 0: + char.MP消耗量加成(1) + char.攻击强化加成(params[0]) + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的保护面罩 +def entry_1025(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '每30秒,恢复30%的生命值/魔法值。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.11) + + +# 固定装备:和平之翼长裤 +def entry_899(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '攻击时,获得生命值最大值10%的保护罩,效果持续1.5秒。 (冷却时间0.5秒)', '', '攻击时恢复1%的魔法值。 (冷却时间1秒)'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:冤魂的执念上衣 +def entry_1184(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '感电伤害 +20%', '', '@[缩小化]@', '输入[装备属性指令]时,角色缩小,效果持续25秒。 (冷却时间60秒)', '- 移动速度 +30%', '- 回避率 +75%', '- 每秒恢复1%的生命值/魔法值', '- 无法使用技能和基本攻击', '- 再次输入[装备属性指令]可以解除效果', '', '攻击时,使所有敌人进入感电状态15秒。 (冷却时间10秒)', '', '感电抗性 +10%'] + if mode == 0: + char.异常增伤('感电', 0.2) + char.异常抗性加成('感电', 0.1) + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],10) + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:混沌之幕护腿 +def entry_1042(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + + +# 固定装备:灵巧的支配者护肩 +def entry_1106(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.13) + + +# 固定装备:死亡蚕食胸甲 +def entry_814(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +296.4%', '技能伤害 +5%', '', '@[最后的狂暴]@', '死亡判定时,推迟死亡,进入狂暴状态,效果持续5秒。', '- 施放技能时每消耗1个无色小晶块,增加0.3秒狂暴时间。', '- 狂暴状态结束时,角色死亡。', '', '攻击速度 +15%', '施放速度 +22.5%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.225) + char.技能攻击力加成(part=part, x=0.05) + pass + if mode == 1: + pass + + +# 固定装备:恐惧缠绕腰带 +def entry_1147(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['1~30级技能攻击力 +12%', '', '无色小晶块技能攻击力增加', '- 1个~9个:2%', '- 10个~15个:15%', '- 16个以上:20%', '', '不消耗无色的技能无色小晶块消耗量 +2'] + if mode == 0: + char.技能倍率加成(1, 30, 0.12) + # 伏虎霸王拳特殊处理 + skill = char.get_skill_by_name('狂·霸王拳') + if skill.所在等级 == 40: + skill.额外倍率 /= 1.12 + for skill in char.技能队列: + if skill["无色消耗"] == 0 and skill['名称'] != '基础精通' and skill['名称'] != '幻影爆碎' and skill['名称'] != '鬼连斩:极': + skill["无色消耗"] = 2 + if mode == 1: + for skill in char.技能队列: + 无色消耗 = skill["无色消耗"] + if skill['名称'] == '炫纹发射': + 无色消耗 = min(无色消耗, 3) + if skill['名称'] == '神罚之锤' and char.实际名称 == 'crusader_male_carry': + 无色消耗 = 0 + if 无色消耗 >= 16: + skill["倍率"] *= 1.2 + elif 无色消耗 >= 10: + skill["倍率"] *= 1.15 + elif 无色消耗 >= 1: + skill["倍率"] *= 1.02 + pass + + +# 固定装备:电弧爆源手镯 +def entry_900(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%', '攻击时,恢复3000点生命值。 (冷却时间1秒)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.16) + pass + + +# 固定装备:熔丝项链 +def entry_1232(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '攻击时,敌人的韧性条 -10 (冷却时间3秒;辅助角色不适用)', '', '攻击破韧状态的敌人时,发动以下效果。', '- 根据破韧次数,韧性条减少量 +20% (最多叠加5次)', '- 敌人最后被赋予的控制型异常状态适用为该敌人的弱点。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.08) + pass + + +# 固定装备:金翼戒指 +def entry_904(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '物理/魔法所受伤害 -20%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.2) + char.技能攻击力加成(part=part, x=0.05) + pass + if mode == 1: + pass + + + +# 固定装备:全能主宰者之戒 +def entry_1079(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '移动速度 +20%'] + if mode == 0: + char.移动速度增加(0.2) + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:遥感之心项链 +def entry_933(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '攻击时,恢复0.1%的魔法值。 (冷却时间0.1秒)', '消灭敌人时,恢复10%的魔法值。', '', '技能魔法值消耗量 +50%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.MP消耗量加成(0.5) + pass + if mode == 1: + pass + + +# 固定装备:魔力抑制手镯 +def entry_868(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +385.3%', '技能伤害 +15%', '', '@[禁忌的魔法契约]@', '缔结禁忌的魔法契约,失去生命值,将魔法与生命连接。', '- 施放技能或者被攻击时,不消耗生命值而消耗魔法值', '- 按照生命值恢复量的25%恢复魔法值', '- 锁定生命值最大值的99%', '', '魔法值最大值 +4196'] + if mode == 0: + cur = char.get_eq_params('hp_max') + char.set_eq_params('hp_max',(100 if cur == 0 else cur)*0.01) + char.攻击强化加成(params[0]) + char.技能攻击力加成(part=part, x=0.15) + pass + if mode == 1: + pass + + +# 固定装备:黯星项链 +def entry_1078(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值低于50%,技能伤害 +11%', '', '攻击速度 +20%', '施放速度 +20%', '移动速度 +20%'] + if mode == 0: + char.所有速度增加(0.2) + pass + if mode == 1: + if pa.get_hp_rate_num(char) <= 50: + char.技能攻击力加成(part=part, x=0.11) + if pa.get_hp_rate_num(char) > 50: + return '生命值高于50%' + pass + + +# 固定装备:无尽的痛苦之戒 +def entry_935(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '装备的生命值恢复效果 +30%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + pass + if mode == 1: + pass + + +# 固定装备:自由之缚手镯 +def entry_878(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +518.7%', '技能伤害 +10%', '所有属性强化 +15', '', '技能的无色小晶块消耗量增加8倍。 (最多16个)'] + if mode == 0: + char.技能攻击力加成(0.1) + for index in range(0, len(char.技能队列)): + skill = char.技能队列[index] + if skill["无色消耗"] > 0: + skill["无色消耗"] = min(16, skill["无色消耗"] * 8) + char.所有属性强化加成(15) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:原核之芯耳环 +def entry_923(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '@[美杜莎的眼睛]@', '- 石化状态期间,累积敌人所受的伤害。石化结束时,一次性结算累积的伤害。', '', '击败敌人时,恢复5%的生命值。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + pass + if mode == 1: + pass + + +# 固定装备:德卡制导装置 +def entry_890(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '技能冷却时间恢复速度 +20% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.04) + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + pass + + +# 固定装备:迷你电池包 +def entry_1105(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '技能魔法值消耗量 +100%'] + if mode == 0: + char.MP消耗量加成(1) + char.技能攻击力加成(part=part, x=0.11) + pass + if mode == 1: + pass + + +# 固定装备:黄昏殿堂 +def entry_1218(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +444.6%', '技能伤害 +5%', '', '攻击领主怪物时,恢复1%的生命值。 (冷却时间0.5秒)'] + if mode == 0: + pass + if mode == 1: + char.攻击强化加成(params[0]) + char.技能攻击力加成(part=part, x=0.05) + pass + + +# 固定装备:生命的喘息 +def entry_1077(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '物理/魔法暴击率 +20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.1) + pass + + +# 固定装备:堕落的灵魂 +def entry_1174(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['对消耗无色小晶块的技能,发动以下效果。', '- 技能攻击力 +10%', '- 技能冷却时间 -10% (觉醒技能除外)', '- 无色小晶块消耗量 +2', '', '技能魔法值消耗量 -10%'] + if mode == 0: + char.MP消耗量加成(-0.1) + pass + if mode == 1: + for skill in char.技能队列: + if skill["无色消耗"] > 0: + skill["无色消耗"] += 2 + skill["倍率"] *= 1.10 + if skill['名称'] not in char.觉醒技能: + skill["CDR"] *= 0.9 + pass + + +# 固定装备:高科技战术强化靴 +def entry_1138(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '无色小晶块技能的指令使用效果 +400% (觉醒技能除外)', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%', '物理/魔法所受伤害 -12%'] + if mode == 0: + char.技能攻击力加成(0.11) + char.所有速度增加(0.1, part=part) + char.add_eq_params('hurted_ratio',0.12) + pass + if mode == 1: + for skill in char.技能栏: + if skill.是否有伤害 == 1 and skill.无色消耗 > 0 and skill.手搓 and skill.名称 not in char.觉醒技能: + skill.手搓收益 += 4 + pass + + +# 固定装备:千丝萦绕腰带 +def entry_877(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['不消耗无色小晶块的技能攻击力 +20%', '', '物理/魔法所受伤害 -15%', '技能消耗魔法值 -30%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.15) + char.MP消耗量加成(-0.3) + pass + if mode == 1: + char.无色技能加成(0,0.2) + + +# 固定装备:暗影之迹短靴 +def entry_1081(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['15~30级技能攻击力 +18%', '[基础精通]技能伤害 +52%', '', '攻击速度 +20%', '施放速度 +30%'] + if mode == 0: + pass + if mode == 1: + char.攻击速度增加(part=part, x=0.20) + char.施放速度增加(0.30) + char.基础精通加成(0.52) + char.技能倍率加成(15, 30, 0.18, type="active") + pass + + +# 固定装备:黑猫头盔 +def entry_1059(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['1~30级技能攻击力 +10%', '[基础精通]技能伤害 +20%', '', '普通攻击、跳跃、前冲攻击时,有10%的几率,增加300%的攻击力。'] + if mode == 0: + char.基础精通加成(0.2) + char.技能倍率加成(1, 30, 0.1) + if mode == 1: + pass + + +# 固定装备:梵塔黑色长裤 +def entry_1062(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '技能冷却时间 +15%', '[基础精通]攻击力 +53%', '', '攻击速度 +15%', '施放速度 +15%'] + if mode == 0: + pass + if mode == 1: + char.基础精通加成(0.53) + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.15) + char.技能冷却缩减(1, 100, - 0.15) + char.技能攻击力加成(0.15) + pass + + +# 固定装备:子夜的圣域 +def entry_1110(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '技能冷却时间恢复速度 +12% (觉醒技能除外)', '- 需穿戴[自由之缚手镯]装备。', '', '攻击速度 +10%', '施放速度 +15%'] + if mode == 0: + pass + if mode == 1: + char.攻击速度增加(part=part, x=0.10) + char.施放速度增加(0.15) + if char.check_equ_by_name('自由之缚手镯'): + char.技能攻击力加成(part=part, x=0.1) + char.技能恢复加成(1, 100, 0.12, excName=char.觉醒技能) + else: + return '未穿戴[自由之缚手镯]' + + +# 固定装备:静谧之像 +def entry_1056(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['15~35级技能攻击力 +25%', '15~35级技能冷却时间恢复速度 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(15, 35, 0.25) + char.技能恢复加成(15, 35, 0.1) + pass + + +# 固定装备:无色冰晶耳环 +def entry_999(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '不消耗无色小晶块的技能冷却时间 -30%', '', '消耗无色小晶块的技能冷却时间 +15% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.1) + for skill in char.技能队列: + if skill["无色消耗"] == 0: + skill["CDR"] *= 0.7 + if skill["无色消耗"] > 0 and char.get_skill_by_name(skill['名称']).所在等级 not in [50, 85, 100]: + skill["CDR"] *= 1.15 + if mode == 1: + pass + + +# 固定装备:全息通话器 +def entry_1060(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['1~30级主动技能攻击力 +12%', '', '物理/魔法伤害所受伤害 -15%'] + if mode == 0: + char.技能倍率加成(1, 30, 0.12, type='active') + char.add_eq_params('hurted_ratio',0.15) + pass + if mode == 1: + pass + + +# 固定装备:千里之音手镯 +def entry_983(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[基础精通]技能伤害 +44%', '15~30级技能攻击力 +21%'] + if mode == 0: + char.基础精通加成(0.44) + char.技能倍率加成(15, 30, 0.21, type="active") + if mode == 1: + pass + + +# 固定装备:玉化亡灵肩甲 +def entry_1169(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '@[背后袭击]@', '- 向最强敌人生成标志。', '- 施放[后跳]时,移动至敌人的后方。 (冷却时间10秒)', '', '所有异常状态抗性 +10%'] + if mode == 0: + char.所有异常抗性加成(0.1) + char.技能攻击力加成(part=part, x=0.11) + pass + if mode == 1: + pass + + +# 固定装备:生命本源背包 +def entry_971(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '物理/魔法暴击率 +5%', '光属性抗性 +50'] + if mode == 0: + char.光属性抗性加成(50) + if mode == 1: + char.技能攻击力加成(0.07) + char.暴击率增加(0.05) + pass + +# 固定装备:幻影之触控制面板 +def entry_833(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%','','物理/魔法暴击率 +10%'] + if mode == 0: + pass + if mode == 1: + char.暴击率增加(0.02 * 5) + char.技能攻击力加成(0.08) + pass + + +# 固定装备:缥缈的知识 +def entry_837(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '物理/魔法暴击率 +5%', '暗属性抗性 +50'] + if mode == 0: + char.暗属性抗性加成(50) + if mode == 1: + char.技能攻击力加成(0.07) + char.暴击率增加(0.05) + + +# 固定装备:黎明圣杯 +def entry_1137(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用指令施放技能时,根据输入的方向键数量,增加技能伤害。 (觉醒技能除外)', '- 1个方向键:技能伤害 +7%', '- 2个方向键:技能伤害 +9%', '- 3个方向键:技能伤害 +11%', '- 4个方向键:技能伤害 +15%', '', '攻击速度 +15%', '施放速度 +15%', '移动速度 +15%'] + if mode == 0: + char.所有速度增加(part=part, x=0.05*3) + pass + if mode == 1: + for i in char.技能栏: + if i.手搓 == True and i.名称 not in char.觉醒技能 and not (i.名称 == '神罚之锤' and char.实际名称 == 'crusader_male_carry'): + if i.是否有伤害 == 1: + 倍率 = 1.0 + if i.手搓指令数 == 1: + 倍率 = 1.07 + if i.手搓指令数 == 2: + 倍率 = 1.09 + if i.手搓指令数 == 3: + 倍率 = 1.11 + if i.手搓指令数 == 4: + 倍率 = 1.15 + i.倍率 *= 倍率 + if i.名称 == '鬼连斩': + char.get_skill_by_name("鬼连斩:极").额外加成 /= 倍率 + + +# 固定装备:挖掘之王部件 +def entry_889(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['辅助职业技能伤害 +3%', '技能冷却时间 -10% (觉醒技能除外)', '所有属性强化 +10', '', '@[灵魂武器]@', '普通攻击、跳跃攻击、前冲攻击时,召唤可使用剑击的灵魂武器。', '- 施放技能时,可剑击次数 +5', '- 可剑击次数为50时,消耗所有次数发动强力剑击。', '- 剑击与强力剑击分别造成总攻击强化数值60%、2400%的伤害。', '', '攻击速度 +25%', '施放速度 +40%'] + if mode == 0: + char.特效.append({"power": 24, "hit": 1}) + char.所有属性强化加成(10) + char.攻击速度增加(part=part, x=0.05 * 5) + char.施放速度增加(0.08 * 5) + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:死亡之冠 +def entry_903(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.1) + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:不祥的暗纹石板 +def entry_1154(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '进入霸体状态。', '', '跳跃期间可以再次跳跃。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.08) + pass + if mode == 1: + pass + + +# 固定装备:心之潜影 +def entry_978(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '物理/魔法暴击率 +5%', '火属性抗性 +50'] + if mode == 0: + char.火属性抗性加成(50) + char.技能攻击力加成(0.07) + char.暴击率增加(0.05) + if mode == 1: + pass + + +# 固定装备:正义骑士面具 +def entry_1158(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -12%。 (觉醒技能除外)', '', '跳跃状态下,按住[跳跃键]0.5秒,可进入飞行状态,持续5秒。 (冷却时间30秒)', '- 连续按方向键,可在空中前冲。 (最多2次)', '', '进入霸体状态。', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + char.技能冷却缩减(1, 100, 0.12, excName=char.觉醒技能) + char.add_eq_params('hurted_ratio',0.15) + pass + if mode == 1: + pass + + +# 固定装备:虚影幻息眼镜 +def entry_996(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '', '@[火焰步伐]@', '脚步携带火焰气息,移动时生成火焰地带,效果持续3秒。', '- 敌人接触火焰地带时,进入灼伤状态15秒。 (冷却时间10秒)', '- 造成总攻击强化数值4%的伤害。', '', '攻击灼伤状态的敌人时,发生火焰爆炸。 (冷却时间0.5秒)', '造成总攻击强化数值28%的伤害。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.04) + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],10) + if "灼伤" not in pa.get_state_type(): + pa.state_type.append('灼伤') + pass + if mode == 1: + pass + + +# 固定装备:梦之呼唤 +def entry_994(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +50% (觉醒技能除外)', '- 需要穿戴装备[永恒的心愿]。', '', '睡眠抗性 -10%'] + if mode == 0: + char.异常抗性加成('睡眠', -0.1) + if char.check_equ_by_name('永恒的心愿'): + char.技能恢复加成(1, 100, 0.5) + else: + return '未穿戴[永恒的心愿]' + pass + if mode == 1: + pass + + +# 固定装备:命运的魔法箱 +def entry_1826(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + +# 固定装备:猎龙者之证 - 龙骨角笛 +def entry_887(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '职业60级主动技能等级 +10', '- 不包含:[独家演奏]'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + for i in char.技能栏: + if i.所在等级 == 60 and i.是否主动 == 1 and i.名称 != '独家演奏': + i.等级加成(10) + pass + + +# 固定装备:摇曳的生命之水 +def entry_995(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '@[寒冰步伐]@', '脚步携带寒冰气息,移动时生成冰河地带,效果持续3秒。', '- 敌人接触冰河地带时,进入冰冻状态5秒。 (冷却时间8秒)', '', '攻击冰冻状态的敌人时,发生寒冰爆炸。 (冷却时间0.5秒)', '- 造成总攻击强化数值40%的伤害'] + if mode == 0: + char.技能攻击力加成(0.09) + if "冰冻" not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],8) + pass + if mode == 1: + if '冰冻' in pa.get_state_type(): + char.特效.append({"power": 0.4, "hit": 1}) + pass + + +# 固定装备:空战型 : 战术螺旋桨无人机 +def entry_963(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '@[无人机助攻]@', '攻击时召唤战斗无人机、被攻击时召唤急救无人机,投放补给箱。 (冷却时间30秒)', '- 战斗:60秒内所有速度 +15%', '- 急救:恢复30%的生命值/魔法值'] + if mode == 0: + char.所有速度增加(0.15,part) + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:自然灵息露珠 +def entry_867(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[属性亲和 - 暗]@', '暗属性抗性越高,物理/魔法所受伤害越少。', '- 为敌人的攻击赋予暗属性', '', '被攻击时,恢复5%的生命值,效果持续5秒。 (冷却时间7秒)', '', '暗属性抗性 +25', '', '辅助职业技能伤害 +10%'] + if mode == 0: + char.暗属性抗性加成(25) + if char.bufferCarry: + char.技能攻击力加成(0.1) + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:未知的黄金石碑 +def entry_951(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '@[幽灵爆炸]@', '攻击时,召唤幽灵,追踪敌人并爆炸。 (冷却时间0.5秒)', '- 有30%的几率召唤2只', '- 造成总攻击强化数值200%的伤害', '', '所有异常状态抗性 +16%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.所有异常抗性加成(0.16) + pass + if mode == 1: + char.特效.append({"power": 2, "hit": 1}) + pass + + +# 固定装备:灵动的慧眼 +def entry_949(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '@[电池炸弹]@', '随身携带一个电池,攻击时会过热产生爆炸。', '- 攻击5次时,电池过热', '- 过热的电池3秒后爆炸', '- 造成总攻击强化数值2000%的伤害', '', '物理/魔法暴击率 +7%', '攻击速度 +20%', '施放速度 +20%', '移动速度 +20%'] + if mode == 0: + char.所有速度增加(0.2,part) + char.技能攻击力加成(0.13) + char.暴击率增加(0.7) + pass + if mode == 1: + char.特效.append({"power": 20, "hit": 1}) + pass + + +# 固定装备:陆战型 : 战术车轮无人机 +def entry_805(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%'] + if mode == 0: + char.所有速度增加(part=part, x=0.1) + char.技能攻击力加成(part=part, x=0.13) + pass + if mode == 1: + pass + + +# 固定装备:猎龙者之证 - 龙心加工石 +def entry_888(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '职业70级主动技能等级 +10', '- 不包含:[永恒的占有]、[圣洁之翼]'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + for i in char.技能栏: + if i.所在等级 == 70 and i.是否主动 == 1 and i.名称 not in ['永恒的占有','圣洁之翼']: + i.等级加成(10) + pass + + +# 固定装备:诅咒之心 +def entry_1101(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '@[坚不可摧的心]@', '被击时,技能不会强制中断。 (冷却时间10秒)', '- 强制控制除外'] + if mode == 0: + char.技能攻击力加成(0.15) + pass + if mode == 1: + pass + + +# 固定装备:多德卡全息图 +def entry_1127(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '技能冷却时间恢复速度 +20% (觉醒技能除外)'] + if mode == 0: + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:生机盎然的绿宝石 +def entry_865(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[属性亲和 - 光]@', '光属性抗性越高,物理/魔法所受伤害越少。', '- 为敌人的攻击赋予光属性', '', '被攻击时,恢复5%的生命值,效果持续5秒。 (冷却时间7秒)', '', '光属性抗性 +25', '辅助职业技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.光属性抗性加成(25) + if char.bufferCarry: + char.技能攻击力加成(0.1) + if mode == 1: + pass + + +# 固定装备:未知文明 - 星石 +def entry_864(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[属性亲和 - 冰]@', '冰属性抗性越高,物理/魔法所受伤害越少。', '- 为敌人的攻击赋予冰属性', '', '被攻击时,恢复5%的生命值,效果持续5秒。 (冷却时间7秒)', '', '冰属性抗性 +25', '辅助职业技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.冰属性抗性加成(25) + if char.bufferCarry: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:奔涌之息宝石 +def entry_1215(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +50% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.5, excName=char.觉醒技能) + pass + + +# 固定装备:不败奖牌 +def entry_866(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '@[属性亲和 - 火]@', '火属性抗性越高,物理/魔法所受伤害越少。', '- 为敌人的攻击赋予火属性', '', '被攻击时,恢复5%的生命值,效果持续5秒。 (冷却时间7秒)', '', '火属性抗性 +25', '辅助职业技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.火属性抗性加成(25) + if char.bufferCarry: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:吞噬黑暗的心脏 +def entry_938(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['被攻击时,恢复10%的魔法值。 (冷却时间30秒)', '', '攻击速度 +30%', '施放速度 +40%', '移动速度 +30%', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.30) + char.施放速度增加(0.40) + char.移动速度增加(0.30) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:虚伪之石 +def entry_31(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.08) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:炙热之情宝石 +def entry_1229(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '物理/魔法所受伤害 -10%', '睡眠抗性 -20%'] + if mode == 0: + char.异常抗性加成('睡眠', -0.2) + char.技能攻击力加成(0.1) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:逆流之魂灵珠 +def entry_910(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[金牌收藏家]@', '携带及拥有的宠物数量为20个以上时,根据角色发动光谱效果。', '- 技能伤害 +12%', '- 技能冷却时间 -8% (觉醒技能除外)', '', '攻击速度 +15%', '施放速度 +15%', '移动速度 +15%'] + if mode == 0: + char.所有速度增加(part=part, x=0.15) + char.技能冷却缩减(1, 100, 0.08, excName=char.觉醒技能) + char.技能攻击力加成(part=part, x=0.12) + pass + if mode == 1: + pass + + +# 固定装备:和平捍卫者 +def entry_1206(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '攻击速度 +20%', '施放速度 +30%', '移动速度 +20%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.移动速度增加(0.2) + char.施放速度增加(0.3) + pass + if mode == 1: + char.技能攻击力加成(0.12) + pass + + +# 固定装备:未知文明 - 双子石 +def entry_1035(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +50', '', '物理/魔法暴击率 +15%'] + if mode == 0: + char.冰属性强化加成(50) + pass + if mode == 1: + char.暴击率增加(0.15) + pass + + +# 固定装备:吞噬风暴耳环 +def entry_1171(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '消耗品的魔法值恢复效果 +50%', '技能魔法值消耗量 -20%', '', '魔法值最大值 +4196'] + if mode == 0: + char.MP消耗量加成(-0.2) + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.13) + pass + + +# 固定装备:无尽的生机耳环 +def entry_1036(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +50', '', '物理/魔法暴击率 +15%'] + if mode == 0: + char.光属性强化加成(50) + pass + if mode == 1: + char.暴击率增加(0.15) + pass + + +# 固定装备:脉冲之源耳环 +def entry_988(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '- 需穿戴[天才技术大师的加厚长靴]装备。'] + if mode == 0: + if char.check_equ_by_name('天才技术大师的加厚长靴'): + char.技能攻击力加成(0.17) + else: + return '未穿戴[天才技术大师的加厚长靴]' + if mode == 1: + pass + + +# 固定装备:万物引力耳环 +def entry_1066(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '', '前冲攻击时,疾跑至前方。 (冷却时间5秒)', '', '移动速度 +20%'] + if mode == 0: + char.移动速度增加(0.2) + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.14) + pass + + +# 固定装备:猎龙者之证 - 龙鳞耳环 +def entry_1128(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '职业75级主动技能的等级 +10', '- 不包含:[圣灵符文]、[神圣之光]、[风雷啸]', '', '物理/魔法暴击率 +5%<'] + if mode == 0: + char.所有属性强化加成(30) + for i in char.技能栏: + if i.名称 == '时空禁制' or (i.所在等级 == 75 and i.是否主动 == 1 and i.名称 not in ['圣灵符文', '神圣之光', '风雷啸']): + i.等级加成(10) + pass + if mode == 1: + pass + + +# 固定装备:诅咒的枷锁 +def entry_806(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '自身处于出血状态时,技能冷却时间恢复速度 +30% (觉醒技能除外)', '', '生命值恢复效果 +50%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + if '出血' in pa.own_type: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + pass + + +# 固定装备:战争之主耳环 +def entry_1037(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +50', '', '物理/魔法暴击率 +15%'] + if mode == 0: + char.火属性强化加成(50) + pass + if mode == 1: + char.暴击率增加(0.15) + pass + + +# 固定装备:隐匿之叹息耳环 +def entry_991(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.15) + pass + + +# 固定装备:爆炸型 : 小型战术信号弹 +def entry_932(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击速度 +30%', '施放速度 +30%', '移动速度 +45%'] + if mode == 0: + char.攻击速度增加(0.3,part) + char.施放速度增加(0.3) + char.技能攻击力加成(0.1) + char.移动速度增加(0.45) + pass + if mode == 1: + pass + + +# 固定装备:晨曦的新芽耳环 +def entry_1034(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +50', '', '物理/魔法暴击率 +15%'] + if mode == 0: + char.暗属性强化加成(50) + pass + if mode == 1: + char.暴击率增加(0.15) + pass + + +# 固定装备:时间之念耳环 +def entry_32(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '物理/魔法所受伤害 -10%', '攻击时,恢复1500点魔法值 (冷却时间1秒)'] + if mode == 0: + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:灵犀之音耳环 +def entry_873(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '@[冰冻魔法]@', '在聊天中输入“冰”/“叮”使角色进入/解除冰冻状态。', '- 冰冻状态期间,物理/魔法所受伤害 -30%', '- 进入冰冻状态时,恢复20%的生命值'] + if mode == 0: + if '冰冻' in pa.own_type: + char.add_eq_params('hurted_ratio',0.3) + pass + if mode == 1: + char.技能攻击力加成(0.12) + pass + + +# 固定装备:徘徊之魄耳环 +def entry_897(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '技能冷却时间恢复速度 +20% (觉醒技能除外)', '', '待机、行走时,移动速度 +200%/Y轴移动速度 +50%'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + char.技能攻击力加成(0.1) + pass + + +# 固定装备:苍空飞羽耳环 +def entry_915(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '@[殷红碎裂]@攻击领主、稀有、精英怪物时,剩余的生命值 -1%', '- 该效果在攻击10、50、250、1250、6250次时发动', '- 辅助职业除外', '', '攻击速度 +15%', '施放速度 +22.5%', '移动速度 +15%', '出血抗性 +20%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.15) + char.移动速度增加(0.15) + char.施放速度增加(0.225) + char.异常抗性加成('出血', 0.2) + char.技能攻击力加成(0.06) + pass + if mode == 1: + pass + + +# 固定装备:未知文明 - 人面石 +def entry_875(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '物理/魔法暴击率 +5%', '冰属性抗性 +50'] + if mode == 0: + char.冰属性抗性加成(50) + if mode == 1: + char.技能攻击力加成(0.07) + char.暴击率增加(0.05) + pass + + +# 固定装备:古老的探险家大衣 +def entry_798(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '出血伤害 +20%', '', '输入[装备属性指令]时,将地图上掉落的道具移动至角色脚下。 (冷却时间30秒)', '', '攻击时,使所有敌人进入出血状态15秒。 (冷却时间10秒)', '', '出血抗性 +10%'] + if mode == 0: + char.所有属性强化加成(10) + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],10) + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常增伤('出血', 0.2) + char.异常抗性加成('出血', 0.1) + pass + if mode == 1: + pass + + +# 固定装备:轰天裂地石甲 +def entry_801(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '中毒伤害 +20%', '', '@[召唤]@', '输入[装备属性指令]时,可以将1名队员移动到自身所在位置。 (冷却时间10秒)', '- 被召唤的队员20秒内移动速度 +20%', '- 队员处于无敌或霸体状态时无法选择', '', '攻击时,使所有敌人进入中毒状态15秒。 (冷却时间10秒)', '', '中毒抗性 +10%'] + if mode == 0: + char.所有属性强化加成(10) + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],10) + char.异常抗性加成('中毒', 0.1) + char.异常增伤('中毒', 0.2) + pass + if mode == 1: + pass + + +# 固定装备:极魂之驱上衣 +def entry_1065(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[巨大化]@', '输入[装备属性指令]时,角色变大,效果持续25秒。 (冷却时间60秒)', '- 进入无法攻击状态,前冲/跳跃时发动冲击波', '- 物理/魔法所受伤害 -20%', '- 再次输入[装备属性指令]时解除角色变大效果', '- 前冲/跳跃冲击波分别造成总攻击强化数值288%/1440%的伤害', '', '物理/魔法防御力 +10000'] + if mode == 0: + char.add_eq_params('defense',10000) + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:钢筋铁骨披肩 +def entry_1038(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '技能范围 +10%', '', '获得掉落的道具时,增加30%的移动速度,效果持续30秒。'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:自由之翼护肩 +def entry_809(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '', '攻击速度 +30%', '施放速度 +30%', '移动速度 +30%', '物理/魔法所受伤害 -15%', '火属性抗性 +10'] + if mode == 0: + char.所有速度增加(part=part, x=0.3) + char.火属性抗性加成(10) + char.add_eq_params('hurted_ratio',0.15) + char.技能攻击力加成(part=part, x=0.05) + pass + if mode == 1: + pass + + +# 固定装备:猎龙者 +def entry_1083(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '所有属性抗性 +15'] + if mode == 0: + char.技能攻击力加成(0.11) + char.所有属性抗性加成(15) + pass + if mode == 1: + pass + + +# 固定装备:不倦旅程护腿 +def entry_1175(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '技能范围 +27%', '', '移动速度 +10%'] + if mode == 0: + char.移动速度增加(0.10) + char.技能攻击力加成(0.07) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.27) + char.multiply_eq_params('skill_range_multi',1.27) + pass + if mode == 1: + pass + + +# 固定装备:隐匿的自然生命 +def entry_968(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '', '@[自然之怒]@', '攻击时,发动4种效果中的1种。 (冷却时间0.5秒)', '- 火属性:灼热火焰', '- 冰属性:寒冰利锥', '- 光属性:闪电重击', '- 暗属性:黑暗爆炸', '- 造成总攻击强化数值300%的伤害', '', '攻击时,使所有敌人进入灼伤状态15秒。 (冷却时间10秒)'] + if mode == 0: + char.所有属性强化加成(10) + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],10) + char.特效.append({"power": 0.3, "hit": 1}) + pass + if mode == 1: + pass + + +# 固定装备:神谕之信念 +def entry_1014(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冰属性强化 +50'] + if mode == 0: + char.冰属性强化加成(50) + pass + if mode == 1: + pass + + +# 固定装备:星灭光离腰带 +def entry_1012(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '技能冷却时间恢复速度 +15% (觉醒技能除外)', '', '攻击速度 +45%', '施放速度 +45%', '移动速度 +45%'] + if mode == 0: + char.所有速度增加(part=part, x=0.45) + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + char.技能攻击力加成(part=part, x=0.07) + pass + if mode == 1: + pass + + +# 固定装备:亘古的悬空石腰带 +def entry_1123(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +25% (觉醒技能除外)', '所有属性强化 +10', '', '使自身进入无法解除的中毒状态。', '', '攻击时,使敌人进入中毒状态10秒。 (冷却时间5秒)'] + if mode == 0: + if '中毒' not in pa.own_type: + pa.own_type.append('中毒') + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.所有属性强化加成(10) + char.技能恢复加成(1, 100, 0.25, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:循环的自然之法 +def entry_947(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '', '@[黑暗攻击]@', '攻击时,根据暗属性强化数值发动暗属性元素攻击。 (冷却时间1.5秒)', '- 100~149:暗黑爆炸', '- 150~249:暗黑球', '- 250以上:黑洞', '- 分别造成总攻击强化数值720%/920%/1480%的伤害。', '- 黑洞使敌人进入失明状态10秒。 (冷却时间30秒)', '攻击速度 +10%', '施放速度 +15%', '暗属性抗性 +20'] + if mode == 0: + char.暗属性抗性加成(20) + char.攻击速度增加(part=part, x=0.1) + char.施放速度增加(0.15) + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.02) + char.特效.append({"power": 14.8, "hit": 1}) + pass + + +# 固定装备:暴走之躯战靴 +def entry_930(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '物理/魔法防御力 +16000'] + if mode == 0: + char.add_eq_params('defense',16000) + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.17) + pass + + +# 固定装备:黑暗吞噬短靴 +def entry_1220(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '技能冷却时间恢复速度 +15% (觉醒技能除外)', '中毒伤害 +10%', '','攻击速度 +15%', '施放速度 +15%', '移动速度 +15%'] + if mode == 0: + char.异常增伤('中毒', 0.10) + char.移动速度增加(0.15) + char.攻击速度增加(part=part, x=0.15) + char.施放速度增加(0.15) + char.技能攻击力加成(part=part, x=0.05) + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的研究服上衣 +def entry_939(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +4%', '技能冷却时间恢复速度 +20% (觉醒技能除外)', '', '攻击时,使500px内引发爆炸。 (冷却时间10秒)', '- 爆炸造成总攻击强化数值1300%的伤害。'] + if mode == 0: + char.技能攻击力加成(0.04) + char.特效.append({"power": 13, "hit": 1}) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + pass + + +# 固定装备:澎湃之心上衣 +def entry_815(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[不灭之术]@', '生命终结判定时,发动[不灭之术],效果持续5秒。 (冷却时间300秒)', '- 恢复10%的生命值', '- 其他生命值恢复效果及伤害变为无效', '- [不灭之术]结束时,锁定生命值最大值的30%', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.暴击率增加(0.05) + pass + if mode == 1: + pass + + +# 固定装备:深渊之源上衣 +def entry_799(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '火/冰/光/暗攻击属性', '', '物理/魔法暴击率 +10%'] + if mode == 0: + char.技能攻击力加成(0.09) + char.暴击率增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:御力装甲上衣 +def entry_839(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '灼伤伤害 +20%', '', '攻击时,使所有敌人进入灼伤状态15秒。 (冷却时间10秒)', '', '灼伤抗性 +10%'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],10) + char.所有属性强化加成(10) + char.异常增伤('灼伤', 0.20) + char.异常抗性加成('灼伤', 0.10) + if mode == 1: + pass + + +# 固定装备:霜云暗影长裤 +def entry_1015(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['光属性强化 +50'] + if mode == 0: + char.光属性强化加成(50) + pass + if mode == 1: + pass + + +# 固定装备:苍龙闪影护腿 +def entry_1086(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '所有属性抗性 +15'] + if mode == 0: + char.技能攻击力加成(0.08) + char.所有属性抗性加成(15) + pass + if mode == 1: + pass + + +# 固定装备:耀武之威护肩 +def entry_892(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血伤害 +15%', '', '攻击时,使所有敌人进入出血状态10秒。 (冷却时间5秒)', '', '出血抗性 +10%'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],5) + char.异常增伤('出血', 0.15) + char.异常抗性加成('出血', 0.1) + pass + if mode == 1: + pass + + +# 固定装备:绽放的自然生命 +def entry_944(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '', '@[冰冻攻击]@', '攻击时,根据冰属性强化数值发动冰属性元素攻击。 (冷却时间1.5秒)', '- 100~149:冰冻针刺', '- 150~249:冰冻吐息', '- 250以上:暴雪', '- 分别造成总攻击强化数值720%/920%/1480%的伤害。', '- 暴雪使命中敌人进入冰冻状态10秒。 (冷却时间30秒)', '', '攻击速度 +10%', '施放速度 +15%', '冰属性抗性 +20'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.02) + char.冰属性抗性加成(20) + char.攻击速度增加(part=part, x=0.1) + char.施放速度增加(0.15) + pass + if mode == 1: + char.特效.append({"power": 14.8, "hit": 1}) + pass + + +# 固定装备:隐匿之光护肩 +def entry_883(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '出血伤害 +20%', '使自身进入无法解除的出血状态。', '', '物理/魔法暴击率 +10%', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + if '出血' not in pa.own_type: + pa.own_type.append('出血') + char.异常增伤('出血', 0.2) + char.技能攻击力加成(0.02) + pass + if mode == 1: + char.暴击率增加(0.1) + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + pass + + +# 固定装备:御雷腰带 +def entry_940(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '火属性强化 +20', '冰属性强化 +20', '暗属性强化 +20', '', '攻击时,使敌人进入感电状态15秒。 (冷却时间10秒)'] + if mode == 0: + char.火属性强化加成(20) + char.冰属性强化加成(20) + char.暗属性强化加成(20) + char.技能攻击力加成(0.1) + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],10) + pass + if mode == 1: + pass + + +# 固定装备:高科技战术腰带 +def entry_870(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '获得生命值最大值10%的@[填充型保护罩]@。', '', '物理/魔法所受伤害 -30%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + char.add_eq_params('hurted_ratio',0.3) + pass + if mode == 1: + pass + + +# 固定装备:流星飞电战靴 +def entry_919(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '攻击时,闪电落下,使敌人进入感电状态15秒。 (冷却时间10秒)', '- 造成总攻击强化数值84%的伤害。', '', '使自身进入无法解除的感电状态。', '', '攻击速度 +20%', '施放速度 +30%', '移动速度 +20%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.2) + char.施放速度增加(0.3) + char.移动速度增加(0.2) + char.技能攻击力加成(part=part, x=0.17) + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + if '感电' not in pa.own_type: + pa.own_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],10) + pass + if mode == 1: + char.特效.append({"power": 0.84, "hit": 1}) + pass + + +# 固定装备:无畏的勇气短靴 +def entry_1223(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +326.0%', '技能伤害 +9%', '1~25级技能等级 +2', '', '辅助职业技能伤害 +5%'] + if mode == 0: + if char.bufferCarry: + char.技能攻击力加成(0.05) + char.技能等级加成('所有', 1, 25, 2) + char.攻击强化加成(params[0]) + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:大地的馈赠上衣 +def entry_946(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '', '@[火力攻击]@', '攻击时,根据火属性强化数值,发动火属性元素攻击。 (冷却时间1.5秒)', '- 火属性强化为100~149:发动火焰爆炸', '- 火属性强化为150~249:发动地炎', '- 火属性强化为250以上:发动陨石', '- 分别造成总攻击强化数值的 720%/920%/1480%的伤害', '- 陨石攻击使敌人进入灼伤状态15秒 (冷却时间10秒)', '', '攻击速度 +10%', '施放速度 +15%', '火属性抗性 +20'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.02) + char.火属性抗性加成(20) + char.攻击速度增加(part=part, x=0.1) + char.施放速度增加(0.15) + pass + if mode == 1: + char.特效.append({"power": 14.8, "hit": 1}) + pass + + +# 固定装备:白金流光夹克 , 白虹贯日长裤 , 白玉无邪腰带 +def entry_1361(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果、冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.08) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:屠龙者 +def entry_975(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '火/冰/光/暗攻击属性', '', '所有属性抗性 +25'] + if mode == 0: + char.技能攻击力加成(0.09) + char.所有属性抗性加成(25) + pass + if mode == 1: + pass + + +# 固定装备:守护之王者铠甲 +def entry_800(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[埃癸斯之盾]@', '输入[装备属性指令]时,召唤埃癸斯之盾,效果持续5秒。 (冷却时间45秒)', '- 埃癸斯之盾生命值相当于自身生命值最大值的30%。', '- 防御敌人的远程攻击并限制敌人移动', '', '攻击时,恢复2%的生命值。 (冷却时间1秒)', '物理/魔法防御力 +20%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.add_eq_params('defense_ratio',0.2) + pass + if mode == 1: + pass + + +# 固定装备:舞台的华丽 +def entry_1098(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '施放[后跳]期间,移动速度 +200%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.08) + char.add_eq_params('hurted_ratio',0.1) + pass + + +# 固定装备:沧海之覆护腿 +def entry_842(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒伤害 +15%', '', '攻击时,使所有敌人进入中毒状态15秒。 (冷却时间10秒)', '', '中毒抗性 +10%'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append('中毒') + char.异常时间['中毒'][3] = min(char.异常时间['中毒'][3],10) + char.异常抗性加成('中毒', 0.10) + char.异常增伤('中毒', 0.15) + if mode == 1: + pass + + +# 固定装备:永不破碎的信念 +def entry_1013(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['暗属性强化 +50'] + if mode == 0: + char.暗属性强化加成(50) + pass + if mode == 1: + pass + + +# 固定装备:高科技战术护腿 +def entry_1179(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[格挡守卫]@', '使用防御技能阻挡敌人攻击时,控制敌人2秒。', '- 防御技能:[格挡]、[招架]、[格挡反击]、[武器格挡]、[盾牌格挡]、[圣盾]、[远程格挡]', '- 施放技能后0.5秒内防御敌人的攻击时发动'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.08) + pass + + +# 固定装备:荒漠之界长裤 +def entry_964(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +40', '', '攻击时,生成1个火种,持续5秒。 (冷却时间0.1秒)', '- 火种每生成5个时,引发爆炸。', '- 火种造成总攻击强化数值96%的伤害。', '', '火属性抗性 +25'] + if mode == 0: + char.火属性强化加成(40) + char.火属性抗性加成(25) + pass + if mode == 1: + char.特效.append({"power": 0.96, "hit": 1}) + pass + + +# 固定装备:望穿尽头的视线 +def entry_911(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.11) + pass + if mode == 1: + pass + + +# 固定装备:冰玉之蚀肩甲 +def entry_1188(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '中毒伤害 +20%', '', '使自身进入无法解除的中毒状态。', '', '物理/魔法暴击率 +10%', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + char.异常增伤('中毒', 0.20) + char.技能攻击力加成(0.02) + if '中毒' not in pa.own_type: + pa.own_type.append('中毒') + char.暴击率增加(0.1) + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + pass + if mode == 1: + pass + + +# 固定装备:白色的信念斗篷 +def entry_1824(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.06) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:远古之法则护肩 +def entry_1080(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +30% (觉醒技能除外)', '', '辅助职业技能伤害 +10%', '辅助职业技能冷却时间恢复速度 +20% (觉醒技能除外)'] + if mode == 0: + if char.bufferCarry: + char.技能攻击力加成(0.1) + char.技能恢复加成(1, 100, 0.2,excName=char.觉醒技能) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + pass + + +# 固定装备:华丽的清音护肩 +def entry_835(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['冷却时间恢复速度 +50% (觉醒技能除外)', '- 需要穿戴装备[永恒的心愿]。', '', '[受身蹲伏] 冷却时间 -50%', '持续[受身蹲伏]时,每秒恢复1%生命值。 (最多4秒)', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%', '睡眠抗性 -10%'] + if mode == 0: + char.所有速度增加(part=part, x=0.1) + char.异常抗性加成('睡眠', -0.1) + pass + if mode == 1: + if char.check_equ_by_name('永恒的心愿'): + char.技能恢复加成(1, 100, 0.5, excName=char.觉醒技能) + else: + return '未穿戴[永恒的心愿]' + + +# 固定装备:纯粹的自然秩序 +def entry_945(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '', '@[闪电攻击]@', '攻击时,根据光属性强化数值发动光属性元素攻击。 (冷却时间1.5秒)', '- 100~149:闪光爆炸', '- 150~249:雷光链', '- 250以上:雷暴', '- 分别造成总攻击强化数值 720%/920%/1480%的伤害。', '- 雷暴攻击使敌人进入感电状态15秒。 (冷却时间10秒)', '攻击速度 +10%', '施放速度 +15%', '光属性抗性 +20'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.02) + char.光属性抗性加成(20) + char.攻击速度增加(part=part, x=0.10) + char.施放速度增加(0.15) + pass + if mode == 1: + char.特效.append({"power": 14.8, "hit": 1}) + pass + + +# 固定装备:骄傲的意志腰带 +def entry_1053(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '感电伤害 +15%', '', '攻击时,使所有敌人进入感电状态15秒。 (冷却时间10秒)', '', '感电抗性 +10%'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append("感电") + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],10) + char.技能攻击力加成(0.07) + char.异常抗性加成('感电', 0.10) + char.异常增伤('感电', 0.15) + pass + if mode == 1: + pass + + +# 固定装备:信念之喘息腰带 +def entry_1197(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '攻击时,使所有敌人进入出血状态15秒。 (冷却时间10秒)', '', '使自身进入无法解除的出血状态。'] + if mode == 0: + if '出血' not in pa.own_type: + pa.own_type.append("出血") + if '出血' not in pa.get_state_type(): + pa.state_type.append('出血') + char.异常时间['出血'][3] = min(char.异常时间['出血'][3],5) + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:静谧的星光腰带 +def entry_1067(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + pass + if mode == 1: + char.add_eq_params('hurted_ratio',0.15) + char.技能攻击力加成(part=part, x=0.13) + pass + + +# 固定装备:应尽之责腰带 +def entry_1017(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '所有属性强化 +20'] + if mode == 0: + char.技能攻击力加成(0.14) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:流星追月短靴 +def entry_813(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '技能冷却时间 -15% (觉醒技能除外)', '', '魔法值最大值 +4196', '辅助职业技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.11) + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + if char.bufferCarry: + char.技能攻击力加成(0.1) + if mode == 1: + pass + + +# 固定装备:龙之开拓者短靴 +def entry_1084(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '所有属性抗性 +15'] + if mode == 0: + char.技能攻击力加成(0.17) + char.所有属性抗性加成(15) + pass + if mode == 1: + pass + + +# 固定装备:摇曳的残影短靴 +def entry_1011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +326.0%', '技能伤害 +9%', '技能冷却时间 -15% (觉醒技能除外)', '', '使自身进入无法解除的感电状态。', '', '所有属性抗性 +15'] + if mode == 0: + if '感电' not in pa.own_type: + pa.own_type.append('感电') + char.攻击强化加成(params[0]) + char.技能攻击力加成(0.09) + char.所有属性抗性加成(15) + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:大地的践踏短靴 +def entry_1005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '每10秒赋予生命值最大值10%的保护罩。', '', '跳跃落地时,引发冲击波。', '- 产生冲击波时,使敌人进入眩晕状态3秒。 (冷却时间20秒)', '- 造成总攻击强化数值2200%的伤害。'] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + pass + if mode == 1: + char.特效.append({"power": 22, "hit": 1}) + char.技能攻击力加成(part=part, x=0.17) + pass + + +# 固定装备:祈愿之息短靴 +def entry_1134(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +296.4%', '技能伤害 +17%', '', '@[暗影行者]@', '强化[受身蹲伏]', '- [受身蹲伏]无敌时间上限 +1秒', '- 可以隐藏在暗影中移动,效果持续2秒', '', '睡眠抗性 -20%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.异常抗性加成('睡眠', -0.2) + char.技能攻击力加成(part=part, x=0.17) + pass + if mode == 1: + pass + + +# 固定装备:暗影流光战袍 +def entry_802(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '技能冷却时间恢复速度 +20% (觉醒技能除外)', '', '@[密语傀儡]@', '输入@[装备属性指令]@时,召唤密语傀儡。 (冷却时间10秒)', '- 使范围内的敌人进入诅咒状态30秒'] + if mode == 0: + if '诅咒' not in pa.get_state_type(): + pa.state_type.append('诅咒') + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + char.技能攻击力加成(0.02) + pass + + +# 固定装备:高科技战术指挥上衣 +def entry_894(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '@[瞬移]@', '输入[装备属性指令]时,可以使用瞬移。 (冷却时间20秒)', '- 可按方向键调整方向。', '- 瞬移后,增加30%的移动速度,效果持续30秒。'] + if mode == 0: + char.移动速度增加(0.3) + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:暴风骑士 +def entry_1104(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间恢复速度 +10% (觉醒技能除外)', '', '按照魔法值消耗量的10%,恢复相应的生命值。', '', '物理/魔法防御力 +9000'] + if mode == 0: + char.技能恢复加成(1, 100, 0.1, excName=char.觉醒技能) + char.技能攻击力加成(0.03) + char.add_eq_params('defense',9000) + pass + if mode == 1: + pass + + +# 固定装备:沙漠星芒披肩 +def entry_1199(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +20%', '技能伤害 +2%', '给自己造成无法驱散的灼伤状态。', '', '', '物理/魔法暴击率 +10%', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + char.异常增伤('灼伤', 0.20) + char.技能攻击力加成(0.02) + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + char.暴击率增加(0.1) + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + pass + if mode == 1: + pass + + +# 固定装备:玉化亡灵腰甲 +def entry_1001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '聊天输入包含“哇”的文字时,召唤可搭乘的P0-原型机,持续时间40秒。 (冷却时间40秒)', '', '每秒恢复1000点生命值和魔法值。'] + if mode == 0: + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:大地之翼腰带 +def entry_950(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '@[光之领域]@', '攻击时,生成光之领域。 (冷却时间1秒)', '- 领域内物理/魔法所受伤害 -10%', '- 移动到领域之外时,光之领域消失', '', '生命值最大值 +10%', '所有异常状态抗性 +10%'] + if mode == 0: + char.技能攻击力加成(0.13) + char.所有异常抗性加成(0.1) + pass + if mode == 1: + char.add_eq_params('hurted_ratio',0.1) + pass + + +# 固定装备:蒸汽朋克音速鞋 +def entry_1130(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '技能冷却时间恢复速度 +10% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.13) + char.技能恢复加成(1, 100, 0.1, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:白色秘境皮鞋 +def entry_1825(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['能伤害 +11%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.11) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:百折不挠的梦想 +def entry_817(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '@[梦之复苏]@', '使自身的生命终结成为一场梦,入睡。 (冷却时间300秒)', '- 睡眠状态中恢复10%的生命值', '- 睡眠状态中被攻击时,恢复15%的生命值。 (冷却时间1秒)', '- 睡眠状态中,即使被攻击,也不会解除睡眠。'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:高贵的神意上衣 +def entry_803(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[次元空间]@', '输入@[装备属性指令]@时,召唤次元空间,效果持续2秒。 (最多2次)', '- 进入次元空间后无敌。', '- 次元空间消失时,所有速度 +30%,效果持续10秒。', '', '生命值最大值 +30%', '所有异常状态抗性 +15%', '辅助职业技能伤害 +10%'] + if mode == 0: + char.施放速度增加(0.3) + char.攻击速度增加(part=part, x=0.3) + char.移动速度增加(0.3) + char.所有异常抗性加成(0.15) + char.技能攻击力加成(0.08) + if char.bufferCarry: + char.技能攻击力加成(0.1) + if mode == 1: + pass + + +# 固定装备:玉化亡灵胸甲 +def entry_1160(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[支配苍穹]@', '跳跃状态下,输入[装备属性指令]时,支配苍穹并召唤旋风,效果持续10秒。 (冷却时间20秒)', '- 吸附周围敌人', '- 进入霸体状态', '- 旋风造成总攻击强化数值2880%的伤害', '- 再次输入[装备属性指令]时落回地面', '', '攻击速度 +10%', '施放速度 +15%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.攻击速度增加(0.1,part) + char.施放速度增加(0.15) + pass + if mode == 1: + char.特效.append({"power": 14.4, "hit": 1}) + pass + + +# 固定装备:双面星云皮大衣 +def entry_816(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '@[英雄气魄]@', '生命终结判定时,推迟生命终结直到耗尽所有魔法值。 (冷却时间300秒)', '- 被击时,不消耗生命值但会消耗魔法值', '- 每秒减少2%的魔法值', '- 所有生命值恢复效果无效', '', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + char.技能攻击力加成(part=part, x=0.09) + if mode == 1: + pass + + +# 固定装备:玉化亡灵腿甲 +def entry_914(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[焦点巨星]@', '装扮栏中装扮个数超过120个时,获得聚光灯效果。', '- 技能伤害 +6%', '- 技能冷却时间 -8% (觉醒技能除外)', '- 进入霸体状态'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + char.技能冷却缩减(1, 100, 0.08, excName=char.觉醒技能) + pass + + +# 固定装备:终极掌控者护腿 +def entry_1195(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间 -15% (觉醒技能除外)', '', '使所有敌人进入诅咒状态5秒。 (冷却时间20秒)', '', '辅助职业技能伤害 +3%'] + if mode == 0: + if '诅咒' not in pa.get_state_type(): + pa.state_type.append('诅咒') + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + if char.bufferCarry: + char.技能攻击力加成(0.03) + pass + if mode == 1: + pass + + +# 固定装备:侵蚀的意志护腿 +def entry_1016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +50'] + if mode == 0: + char.火属性强化加成(50) + pass + if mode == 1: + pass + + +# 固定装备:天才技术大师的百宝裤 +def entry_896(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '站立、行走时进入伪装状态,回避率 +45% (冷却时间5秒)', '- 前冲、被击时解除效果'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:电磁搜索者肩甲 +def entry_909(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '感电伤害 +20%', '', '使自身进入无法解除的感电状态。', '', '物理/魔法暴击率 +10%', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + char.异常增伤('感电', 0.2) + char.技能攻击力加成(0.02) + if '感电' not in pa.own_type: + pa.own_type.append('感电') + char.暴击率增加(0.1) + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + pass + if mode == 1: + pass + + +# 固定装备:高科技御敌肩甲 +def entry_853(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '使自身进入无法解除的感电状态。', '', '被击中后3秒内反击时,恢复之前所受伤害的70% (冷却时间3秒)'] + if mode == 0: + char.技能攻击力加成(0.1) + if '感电' not in pa.own_type: + pa.own_type.append('感电') + pass + if mode == 1: + pass + + +# 固定装备:龙食腐者 +def entry_1085(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '', '所有属性抗性 +15'] + if mode == 0: + char.技能攻击力加成(0.14) + char.所有属性抗性加成(15) + pass + if mode == 1: + pass + + +# 固定装备:动力之渊腰带 +def entry_1049(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '技能冷却时间恢复速度 +15% (觉醒技能除外)', '', '攻击时,恢复2000点生命值/魔法值。 (冷却时间1秒)'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.08) + char.技能恢复加成(1, 100, 0.15, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:音律的夙愿 +def entry_934(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '技能冷却时间 -10% (觉醒技能除外)', '', '睡眠抗性 -10%'] + if mode == 0: + char.异常抗性加成('睡眠', -0.1) + char.技能攻击力加成(part=part, x=0.09) + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:焰纹加固靴 +def entry_1196(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%', '冰属性强化、光属性强化、暗属性强化 +20', '', '攻击时,使敌人进入灼伤状态15秒。 (冷却时间10秒)'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.异常时间['灼伤'][3] = min(char.异常时间['灼伤'][3],10) + char.技能攻击力加成(0.16) + char.冰属性强化加成(20) + char.光属性强化加成(20) + char.暗属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:天翼之守护短靴 +def entry_1000(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '在空中被攻击时,通过[拍卖行键]可恢复滞空姿势。 (冷却时间10秒)', '', '物理/魔法防御力 +20%'] + if mode == 0: + char.add_eq_params('defense_ratio',0.2) + char.技能攻击力加成(part=part, x=0.17) + pass + if mode == 1: + pass + + +# 固定装备:玉化亡灵长靴 +def entry_1100(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +340.9%', '技能伤害增加17%', '', '攻击速度 +24%', '施放速度 +24%'] + if mode == 0: + char.攻击速度增加(part=part, x=0.08*3) + char.施放速度增加(0.08*3) + char.攻击强化加成(params[0]) + char.技能攻击力加成(part=part, x=0.17) + pass + if mode == 1: + pass + + +# 固定装备:万念俱灰短靴 +def entry_902(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +400.1%', '技能伤害 +17%', '', '装备提供的保护罩效果数值上限 +20%'] + if mode == 0: + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.2) + char.技能攻击力加成(part=part, x=0.17) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:骑士的救赎 +def entry_1151(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '跳跃状态下,按[拍卖行键]可立即降落。', '', '移动速度 +20%', '跳跃力 +100'] + if mode == 0: + char.技能攻击力加成(0.15) + char.移动速度增加(0.2) + pass + if mode == 1: + pass + + +# 固定装备:无人机战术手镯 +def entry_937(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '所有属性强化 +20', '技能冷却时间 -12% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.12) + char.所有属性强化加成(20) + char.技能冷却缩减(1, 100, 0.12, excName=char.觉醒技能) + if mode == 1: + pass + + +# 固定装备:生命之力皮护腕 +def entry_1074(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '感电伤害转换 +50%', '感电伤害 +10%', '', '将所受物理/魔法伤害的50%转换为感电伤害。'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append("感电") + char.伤害类型转化('直伤', '感电', 0.5) + char.异常增伤('感电', 0.1) + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + pass + + +# 固定装备:和谐之音手镯 +def entry_869(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '所有属性强化 +25', '', '技能、装备的生命值恢复效果 +20%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.15) + char.所有属性强化加成(25, mode=1) + pass + if mode == 1: + pass + + +# 固定装备:第二个黑桃 - 权威 +def entry_1359(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.12) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + +# 固定装备:重奏者 +def entry_1033(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12.5%', '技能冷却时间恢复速度 +30% (觉醒技能除外)', '', '技能魔法值消耗量 +300%', '', '物理/魔法暴击率 +10%'] + if mode == 0: + char.MP消耗量加成(3.0) + char.暴击率增加(0.1) + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + char.技能攻击力加成(0.125) + pass + if mode == 1: + pass + + +# 固定装备:绿野的纯真手镯 +def entry_921(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '攻击时,发动EMP冲击。 (冷却时间1.5秒)', '- 造成总攻击强化数值800%的伤害。', '', '攻击感电状态的敌人时,使敌人进入眩晕状态5秒。 (冷却时间8秒)'] + if mode == 0: + if '感电' in pa.get_state_type() and '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + char.技能攻击力加成(0.15) + pass + if mode == 1: + pass + + +# 固定装备:黑灵缠绕手镯 +def entry_1073(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '出血伤害转换 +50%', '出血伤害 +10%', '', '将所受物理/魔法伤害的50%转换为出血伤害。'] + if mode == 0: + if '出血' not in pa.get_state_type(): + pa.state_type.append("出血") + char.伤害类型转化('直伤', '出血', 0.5) + char.异常增伤('出血', 0.1) + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + pass + + +# 固定装备:灿若繁星手镯 +def entry_992(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%', '所有属性强化 +20', '', '使自身进入无法解除的出血/中毒/灼伤/感电状态。', '', '物理/魔法所受伤害 -20%'] + if mode == 0: + pa.own_type = list(set(['出血', '中毒', '感电', '灼伤']) | set(pa.own_type)) + char.技能攻击力加成(part=part, x=0.16) + char.所有属性强化加成(20) + char.add_eq_params('hurted_ratio',0.2) + pass + if mode == 1: + pass + + +# 固定装备:守护龙的庇护 - 慈悲 +def entry_886(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '35级主动技能等级 +10', '- 不包含:[饥渴]、[暗影蓄能]、[挑衅]、[幻影化身]、[忍法:残影术]、[旅人的直觉]'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + for i in char.技能栏: + if i.所在等级 == 35 and i.是否主动 == 1 and i.名称 not in ['饥渴','暗影蓄能','挑衅','幻影化身','忍法:残影术']: + i.等级加成(10) + pass + + +# 固定装备:流星飞电手镯 +def entry_1072(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '灼伤伤害转换 +50%', '灼伤伤害 +10%', '', '将所受物理/魔法伤害的50%转换为灼伤伤害。'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append("灼伤") + char.伤害类型转化('直伤', '灼伤', 0.5) + char.异常增伤('灼伤', 0.1) + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + pass + + +# 固定装备:石巨人之核手镯 +def entry_1071(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '中毒伤害转换 +50%', '中毒伤害 +10%', '', '将所受物理/魔法伤害的50%转换为中毒伤害。'] + if mode == 0: + if '中毒' not in pa.get_state_type(): + pa.state_type.append("中毒") + char.伤害类型转化('直伤', '中毒', 0.5) + char.异常增伤('中毒', 0.1) + char.技能攻击力加成(part=part, x=0.02) + pass + if mode == 1: + pass + + +# 固定装备:迟钝的感知手镯 +def entry_943(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '所有属性强化 +30', '', '使自身进入无法解除的灼伤状态。'] + if mode == 0: + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + char.技能攻击力加成(0.14) + char.所有属性强化加成(30) + pass + if mode == 1: + pass + + +# 固定装备:电离掌控手镯 +def entry_863(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '@[紧急脱离]@', '被攻击时,按跳跃键可紧急脱离。 (冷却时间10秒)', '- 按方向键可以调整方向', '- 恢复10%的生命值', '', '物理/魔法暴击率 +10%', '回避率 +10%'] + if mode == 0: + char.回避率增加(0.1) + char.技能攻击力加成(0.15) + char.暴击率增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:收获之手 +def entry_1164(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '技能冷却时间恢复速度 +25% (觉醒技能除外)'] + if mode == 0: + char.技能恢复加成(1, 100, 0.25, excName=char.觉醒技能) + char.技能攻击力加成(part=part, x=0.08) + pass + if mode == 1: + pass + + +# 固定装备:残忍之心项链 +def entry_929(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,发动火属性爆炸。 (冷却时间5秒)', '- 总攻击强化数值480%的伤害', '- 对自身造成1点伤害。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + pass + if mode == 1: + char.特效.append({"power": 4.8, "hit": 1}) + pass + + +# 固定装备:无尽的愤怒项链 +def entry_912(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '达成200次连击时,领主/稀有怪物的剩余生命值 -1% (冷却时间30秒/辅助职业不适用)', '- 最多减少5%'] + if mode == 0: + char.技能攻击力加成(0.09) + pass + if mode == 1: + pass + + +# 固定装备:石巨人之心项链 +def entry_927(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,发动冰属性爆炸。 (冷却时间5秒)', '- 总攻击强化数值480%的伤害', '- 对自身造成1点伤害。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + pass + if mode == 1: + char.特效.append({"power": 4.8, "hit": 1}) + pass + + +# 固定装备:脉冲触发器 +def entry_1181(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击速度 +50%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.攻击速度增加(part=part, x=0.5) + pass + if mode == 1: + pass + + +# 固定装备:守护龙的庇护 - 勇气 +def entry_884(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '40级主动技能等级 +10', '- 不包含:[念兽:龙虎啸]、[爱之急救]、[生命源泉]、[复苏之光]、[忍法:六道轮回]'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + for i in char.技能栏: + if i.所在等级 == 40 and i.是否主动 == 1 and i.名称 not in ['念兽:龙虎啸', '爱之急救', '生命源泉', '复苏之光', '忍法:六道轮回']: + i.等级加成(10) + pass + + +# 固定装备:浮光跃金项链 +def entry_810(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +370.5%', '技能伤害 +8%', '', '使自身进入无法解除的灼伤状态。', '', '攻击时,使敌人进入灼伤状态5秒。 (冷却时间1秒)', '', '移动速度 +20%'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + if '灼伤' not in pa.own_type: + pa.own_type.append('灼伤') + char.移动速度增加(0.2) + char.攻击强化加成(params[0]) + char.技能攻击力加成(part=part, x=0.08) + pass + if mode == 1: + pass + + +# 固定装备:五感之灵项链 +def entry_1150(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '[跃翔]技能等级 +5', '', '跳跃攻击时,立即落地并生成冲击波。 (冷却时间5秒)', '- 造成总攻击强化数值3840%的伤害。', '', '进入霸体状态。'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + char.特效.append({"power": 38.4, "hit": 1}) + pass + + +# 固定装备:高科技闪影项链 +def entry_1122(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用指令施放技能时,根据指令的添加状态获得以下效果。', '- 添加到快捷栏:技能伤害+10%', '- 未添加到快捷栏:技能冷却时间 -15% (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + for i in char.技能栏: + if i.手搓 == True and i.名称 in char.hotkey: + if i.是否有伤害 == 1: + i.倍率 *= (1 + 0.1 * char.技能伤害增加增幅) + if i.名称 == '鬼连斩': + char.get_skill_by_name( + "鬼连斩:极").额外加成 /= (1 + 0.1 * char.技能伤害增加增幅) + if i.名称 not in char.觉醒技能 and i.手搓 == True and i.名称 not in char.hotkey: + if i.是否有伤害 == 1: + i.CDR *= (1 - 0.15) + + +# 固定装备:战士的荣耀项链 +def entry_970(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +20% (觉醒技能除外)', '装备的物体伤害 +10%', '', '攻击时,发生火属性爆炸。', '- 造成总攻击强化数值600%的伤害。'] + if mode == 0: + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + pass + if mode == 1: + char.特效.append({"power": 0.15, "hit": 1}) + pass + + +# 固定装备:领域之心项链 +def entry_841(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[万用黄金]@', '所持金币和金库内金币总和达到4亿时,技能伤害 +9%', '', '物理/魔法暴击率 +10%', '攻击速度 +15%', '施放速度 +15%', '移动速度 +15%'] + if mode == 0: + char.所有速度增加(0.15) + char.物理暴击率增加(0.1) + char.技能攻击力加成(part=part, x=0.09) + pass + if mode == 1: + pass + + +# 固定装备:风化的恶意 +def entry_926(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,发动暗属性爆炸。 (冷却时间5秒)', '- 总攻击强化数值480%的伤害', '- 对自身造成1点伤害。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + pass + if mode == 1: + char.特效.append({"power": 4.8, "hit": 1}) + pass + + +# 固定装备:生命的脉动 +def entry_928(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,发动光属性爆炸。 (冷却时间5秒)', '- 总攻击强化数值480%的伤害', '- 对自身造成1点伤害。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.10) + pass + if mode == 1: + char.特效.append({"power": 4.8, "hit": 1}) + pass + + +# 固定装备:第一个黑桃 - 贵族 +def entry_1827(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.03) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:蓝色自然的种子 +def entry_1225(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['火属性强化 +20', '光属性强化 +20', '暗属性强化 +20', '', '灼伤-冰冻联接造成的灼伤伤害 +35%', '', '灼伤持续时间 +4秒', '', '攻击时,使所有敌人进入冰冻状态5秒。 (冷却时间5秒)'] + if mode == 0: + char.火属性强化加成(20) + char.光属性强化加成(20) + char.暗属性强化加成(20) + if '冰冻' not in pa.state_type: + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],5) + char.异常结算加成['灼伤破冰'] += 0.35 + char.异常时间['灼伤'][1] += 4 + pass + if mode == 1: + pass + + +# 固定装备:骑士的赎罪 +def entry_913(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '前冲期间,回避率 +20%', '', '攻击速度 +20%', '施放速度 +30%', '移动速度 +20%', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + char.攻击速度增加(part=part, x=0.2) + char.移动速度增加(0.2) + char.施放速度增加(0.3) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:温柔的旋律 +def entry_1227(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '所有属性强化 +20', '', '所有异常状态抗性 +20%', '睡眠抗性 -30%'] + if mode == 0: + char.所有异常抗性加成(0.2) + char.异常抗性加成('睡眠', -0.3) + char.所有属性强化加成(20) + char.技能攻击力加成(part=part, x=0.1) + pass + if mode == 1: + pass + + +# 固定装备:绽放的神秘之花 +def entry_794(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '所有属性强化 +10', '', '攻击时,使敌人进入失明状态5秒。 (冷却时间8秒)'] + if mode == 0: + if '失明' not in pa.get_state_type(): + pa.state_type.append('失明') + char.技能攻击力加成(part=part, x=0.07) + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:磁场探测者戒指 +def entry_980(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '@[人力探索]@', '其他队员穿戴[磁场探测者戒指]时,技能伤害 +4%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.09) + pass + if mode == 1: + pass + + +# 固定装备:电流星散指环 +def entry_796(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '所有属性强化 +10', '', '攻击时,使敌人进入眩晕状态5秒。 (冷却时间8秒)'] + if mode == 0: + if '眩晕' not in pa.get_state_type(): + pa.state_type.append('眩晕') + char.技能攻击力加成(part=part, x=0.07) + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:闪耀的音律 +def entry_1173(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '', '装备的魔法值恢复效果 +30%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(part=part, x=0.06) + + +# 固定装备:血色结晶戒指 +def entry_1204(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +222.3%', '出血伤害 +15%'] + if mode == 0: + char.攻击强化加成(params[0]) + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +# 固定装备:闪耀的生命之戒 +def entry_793(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '所有属性强化 +10', '', '攻击时,使敌人进入感电状态15秒。 (冷却时间10秒)'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + char.异常时间['感电'][3] = min(char.异常时间['感电'][3],10) + char.技能攻击力加成(part=part, x=0.02) + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:骑士的骄傲 +def entry_797(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '所有属性强化 +10', '', '攻击时,使敌人进入冰冻状态5秒。 (冷却时间8秒)'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],8) + char.技能攻击力加成(part=part, x=0.07) + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:石巨人之枢戒指 +def entry_898(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '物理/魔法防御力 +12000'] + if mode == 0: + char.add_eq_params('defense',12000) + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:血红生命之戒 +def entry_795(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '所有属性强化 +10', '', '攻击时,使敌人进入灼伤状态15秒。 (冷却时间10秒)'] + if mode == 0: + if '灼伤' not in pa.get_state_type(): + pa.state_type.append('灼伤') + char.技能攻击力加成(0.02) + char.所有属性强化加成(10) + pass + if mode == 1: + pass + + +# 固定装备:隐没的邪念戒指 +def entry_819(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '', '每秒恢复2%的生命值/魔法值', '', '生命值低于20%,被攻击时消耗所有魔法值,恢复成生命值。 (冷却时间60秒)'] + if mode == 0: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:第三个黑桃 - 死亡 +def entry_1828(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%', '', '@[白色魔法师]@', '该装备的附魔效果 +100%', '- 不包含:技能等级增加效果,冒险家名望增加效果', '', '生命值最大值 +200', '魔法值最大值 +315'] + if mode == 0: + char.技能攻击力加成(0.02) + char.部位附魔[part](char, rate=1,calcLv=False,part=part) + if mode == 1: + pass + + +# 固定装备:守护龙的庇护 - 祝福 +def entry_885(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '45级主动技能等级 +10', '- 不包含:[圣愈之风]、[新生颂歌]、[甜蜜柔歌]'] + if mode == 0: + char.所有属性强化加成(30) + pass + if mode == 1: + for i in char.技能栏: + if i.所在等级 == 45 and i.是否主动 == 1 and i.名称 not in ['圣愈之风', '新生颂歌', '甜蜜柔歌']: + i.等级加成(10) + pass + + +# 固定装备:永不停歇的命运 +def entry_1224(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '@[万年雪]@', '赋予不融化于火的冰冻状态。', '- 该冰冻状态无法用灼伤状态解除', '- 攻击时,使所有敌人进入冰冻状态10秒。 (冷却时间5秒)'] + if mode == 0: + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],15) + char.技能攻击力加成(part=part, x=0.07) + pass + if mode == 1: + pass + + +# 固定装备:瞬息千里戒指 +def entry_1219(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '技能冷却时间恢复速度 +10% (觉醒技能除外)', '', '使自身进入无法解除的出血状态。', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.05) + char.add_eq_params('hurted_ratio',0.1) + if '出血' not in pa.own_type: + pa.own_type.append("出血") + char.技能恢复加成(1, 100, 0.1, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:雷达战网戒指 +def entry_990(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +30% (觉醒技能除外)', '', '@[战略性初始化]@', '施放技能时,有10%的几率使1个技能的冷却时间初始化。 (冷却时间20秒)', '- 冷却时间剩余20秒以内的技能', '- 觉醒技能除外'] + if mode == 0: + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + pass + + +# 固定装备:双音交映戒指 +def entry_948(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +30%', '', '@[阴阳调和]@', '攻击时,生成可获得阴阳调和的球体,效果持续15秒。 (冷却时间1秒)', '- 黑球:攻击速度 +24%,施放速度 +36%', '- 白球:赋予生命值最大值10%的保护罩', '', '移动速度+20%', '辅助职业技能伤害 +5%'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + char.攻击速度增加(part=part, x=0.24) + char.施放速度增加(0.36) + if char.bufferCarry: + char.技能攻击力加成(0.05) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + char.移动速度增加(0.2) + + +# 固定装备:超小型GPS +def entry_1258(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '韧性条减少量 +45%', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.15) + char.技能攻击力加成(part=part, x=0.12) + pass + if mode == 1: + pass + + +# 固定装备:完成型动力控制装置 +def entry_1256(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '', '所有属性抗性 +10'] + if mode == 0: + char.技能攻击力加成(0.14) + char.所有属性抗性加成(10) + pass + if mode == 1: + pass + + +# 固定装备:光学工程眼镜 +def entry_1254(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '', '物理/魔法暴击率 +5%', '移动速度 +5%', '攻击速度 +5%', '施放速度 +7.5%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.暴击率增加(0.05) + char.移动速度增加(0.05) + char.攻击速度增加(part=part, x=0.05) + char.施放速度增加(0.075) + pass + if mode == 1: + pass + + +# 固定装备:动力导航包 +def entry_1248(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +385.3%', '技能伤害 +9%', '技能冷却时间 -15% (觉醒技能除外)', '', '获得生命值最大值65%的@[填充型保护罩]@。', '', '锁定生命值最大值的65%。', '', '物理/魔法防御力 +14000'] + if mode == 0: + cur = char.get_eq_params('hp_max') + char.set_eq_params('hp_max',(100 if cur == 0 else cur)*0.35) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.65) + char.技能冷却缩减(1, 100, 0.15, excName=char.觉醒技能) + char.技能攻击力加成(part=part, x=0.09) + char.add_eq_params('defense',14000) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:原子核项链 +def entry_1250(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +25% (觉醒技能除外)', '', '攻击速度 +15%', '施放速度 +15%', '移动速度 +15%'] + if mode == 0: + char.技能恢复加成(1, 100, 0.25, excName=char.觉醒技能) + char.所有速度增加(0.15,part) + pass + if mode == 1: + pass + + +# 固定装备:能量搜索环 +def entry_1252(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:增援号令腰带 +def entry_1244(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +6%', '技能冷却时间恢复速度 +20% (觉醒技能除外)', '技能范围 +20%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.2) + char.multiply_eq_params('skill_range_multi',1 + 0.2) + if mode == 1: + pass + + +# 固定装备:混乱核心胸甲 +def entry_1238(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +10', '出血/中毒/灼伤/感电伤害 +15%', '', '@[D011-Risa]@', '施放技能时,召唤D011-Risa,效果持续20秒。 (最多5个)', '- 对D011-Risa适用最强敌人身上的所有异常状态', '', '所有异常状态抗性 +10%', '辅助职业技能伤害 +5%'] + if mode == 0: + if char.bufferCarry: + char.技能攻击力加成(0.05) + char.所有异常抗性加成(0.1) + char.所有属性强化加成(10) + char.异常增伤('中毒', 0.15) + char.异常增伤('灼伤', 0.15) + char.异常增伤('感电', 0.15) + char.异常增伤('出血', 0.15) + pass + if mode == 1: + pass + + +# 固定装备:金属齿轮护肩 +def entry_1242(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间恢复速度 +25% (觉醒技能除外)'] + if mode == 0: + char.技能恢复加成(1, 100, 0.25, excName=char.觉醒技能) + char.技能攻击力加成(0.03) + if mode == 1: + pass + + +# 固定装备:机械装甲下装 +def entry_1240(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['穿戴装备的强化、增幅数值之和每6点,发动以下效果。 (最多叠加24次)', '- 技能伤害 +0.4%', '- 适用:武器、防具、首饰、特殊装备', '- 不包含:勋章、副武器', '', '该装备的强化、增幅数值每1点,所有速度 +2% (最多叠加12次)'] + if mode == 0: + x = char.获取强化等级([part]) + char.所有速度增加(part=part, x=0.02 * min(12, x)) + if x < 12: + return '该装备增幅/强化需再提升{}点'.format(12-x) + pass + if mode == 1: + x = char.获取强化等级() + char.技能攻击力加成(part=part, x=0.004 * min(24, int(x / 6))) + if x < 144: + return '全身装备增幅/强化需再提升{}点'.format(144-x) + pass + + +# 固定装备:赛博音速长靴 +def entry_1246(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +20%', '- 装备提供的攻击速度增加属性高于140%时,额外增加10%。', '- 包含:防具、首饰、特殊装备、装扮、徽章、守护珠、宠物、称号、辟邪玉、纹章、宠物装备、名称装饰卡', '', '技能魔法值消耗量 -50%'] + if mode == 0: + char.MP消耗量加成(-0.5) + pass + if mode == 1: + if char.攻击速度() >= 1.4: + char.技能攻击力加成(part=part, x=0.3) + else: + char.技能攻击力加成(part=part, x=0.2) + if char.攻击速度() < 1.4: + return '攻击速度需再提升{}%'.format(round(100*(1.4-char.攻击速度()), 0)) + + +# 固定装备:冷静的谋略家上衣 +def entry_1261(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%', '技能冷却时间恢复速度 +30% (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.03) + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + pass + if mode == 1: + pass + + +# 固定装备:指引胜利的正义 +def entry_1263(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '弱点控制型异常状态的韧性条减少量 +200%'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:欢笑中的祈盼 +def entry_1265(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '@[掷骰子]@', '每30秒投掷骰子,每1点骰子点数,移动速度 +2%', '- 攻击时,骰子点数 +1', '', '物理/魔法防御力 +10000'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.11) + char.移动速度增加(0.12) + char.add_eq_params('defense',10000) + pass + if mode == 1: + pass + + +# 固定装备:永眠前的准备 +def entry_1267(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤伤害 +15%', '', '@[灼伤冰冻]@', '对敌人施加冰冻状态时,一次性结算灼伤与冰冻伤害。 (冷却时间3秒)', '- 累积对敌人造成的灼伤伤害一次性结算', '- 立即对冰冻状态的敌人赋予灼伤状态', '', '灼伤持续时间 +50%', '灼伤持续时间 +2秒', '', '物理/魔法所受伤害 -15%'] + if mode == 0: + if '冰冻' in pa.state_type: + pa.state_type.append('灼伤') + char.异常时间['灼伤'][1] += 2 + char.add_eq_params('hurted_ratio',0.15) + char.异常增伤('灼伤', 0.15) + char.异常时间['灼伤'][2] += 0.5 + pass + if mode == 1: + pass + + +# 固定装备:所愿之行动 +def entry_1269(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%', '', '出血/中毒/灼伤/感电持续时间 -20%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.16) + char.add_eq_params('hurted_ratio',0.1) + for i in ['中毒','感电','灼伤','出血']: + char.异常时间[i][2] -= 0.2 + pass + if mode == 1: + pass + + +# 固定装备:永恒的心愿 +def entry_1271(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['@[失眠]@', '为了完成长久以来的愿望导致失眠,技能伤害 +28.5%。', '- 当装备提供的睡眠抗性数值的总和为-70%以下时,适用技能伤害增加属性。', '', '睡眠抗性 -10%'] + if mode == 0: + char.异常抗性加成('睡眠', -0.1) + pass + if mode == 1: + 抗性 = char.异常抗性获取('睡眠', mode=0) + if 抗性 <= -0.7: + char.技能攻击力加成(part=part, x=0.285) + else: + return '睡眠抗性需减少{}%'.format(round(抗性*100+70, 0)) + pass + + +# 固定装备:正气傲然的理念 +def entry_1273(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +355.7%', '', '装备发动的物体伤害 +30%', '', '攻击时,燃烧所有敌人。 (冷却时间5秒)', '- 造成总攻击强化数值140%的伤害。'] + if mode == 0: + char.攻击强化加成(params[0]) + pass + if mode == 1: + char.特效.append({"power": 1.4, "hit": 1}) + pass + + +# 固定装备:炽热的渴望之证 +def entry_1275(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:鲁莽而合理的作战 +def entry_1277(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '物理/魔法所受伤害 -10%'] + if mode == 0: + char.技能攻击力加成(0.09) + char.add_eq_params('hurted_ratio',0.1) + pass + if mode == 1: + pass + + +# 固定装备:胜利约定之时 +def entry_1279(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '进入霸体状态。'] + if mode == 0: + char.技能攻击力加成(0.13) + pass + if mode == 1: + pass + + +# 固定装备:终结永恒时光的夙愿 +def entry_1281(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '', '@[毒爆弹]@', '使用遇火爆炸的毒药,每3秒向敌人施加1次灼伤。', '- 进入灼伤状态时,中毒伤害爆发。', '- 使敌人进入灼伤状态10秒。 (冷却时间3秒)'] + if mode == 0: + char.技能攻击力加成(0.14) + pass + if mode == 1: + pass + + +# 固定装备:铭记长夜的黎明 +def entry_1312(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '获得生命值最大值10%的@[填充型保护罩]@。'] + if mode == 0: + char.技能攻击力加成(0.09) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.1) + pass + if mode == 1: + pass + + +# 固定装备:战胜噩梦的捷报 +def entry_1318(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '进入霸体状态。'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:庇护伤痛的威严 +def entry_1316(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%'] + if mode == 0: + char.技能攻击力加成(0.11) + pass + if mode == 1: + pass + + +# 固定装备:愈合伤痕的誓言 +def entry_1320(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%', '所有属性强化 +6', '', '攻击速度 +6%', '施放速度 +6%', '移动速度 +6%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.所有属性强化加成(6) + char.所有速度增加(part=part, x=0.06) + pass + if mode == 1: + pass + + +# 固定装备:告别过去的前进 +def entry_1314(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +370.5%', '技能伤害 +16%', '', '@[小巨人的步伐]@', '成为小巨人,在石化状态下仍然可以前进。', '- 石化免疫', '- 进入霸体状态', '', '攻击时,使所有敌人进入石化状态10秒。 (冷却时间30秒)'] + if mode == 0: + char.技能攻击力加成(0.16) + char.攻击强化加成(params[0]) + if '石化' not in pa.get_state_type(): + pa.state_type.append('石化') + pass + if mode == 1: + pass + + +# 固定装备:爆龙王的支配 - 武力 +def entry_1324(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '所有属性强化 +30', '', '每3秒恢复1%的生命值/魔法值。'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.15) + char.所有属性强化加成(30) + pass + if mode == 1: + pass + + +# 固定装备:爆龙王的支配 - 恐怖 +def entry_1322(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +5%', '', '获得生命值最大值15%的@[填充型保护罩]@。', '@[填充型保护罩]@的恢复冷却时间 -1秒', '装备提供的保护罩效果最大值 +8%', '', '攻击速度 +20%', '施放速度 +30%', '移动速度 +20%'] + if mode == 0: + char.set_eq_params('protect',char.get_eq_params('protect') + 0.15) + char.set_eq_params('protect_max',char.get_eq_params('protect_max') + 0.08) + char.所有速度增加(0.2) + char.施放速度增加(0.1) + pass + if mode == 1: + char.技能攻击力加成(0.05) + pass + + +# 固定装备:爆龙王的支配 - 压制 +def entry_1326(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.11) + pass + if mode == 1: + pass + + +# 固定装备:生息之壶觞 +def entry_1328(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '30%的物理/魔法伤害转化为持续10秒的伤害'] + if mode == 0: + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 固定装备:终结之龙玉 +def entry_1330(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '', '物理/魔法所受伤害 -12%'] + if mode == 0: + char.add_eq_params('hurted_ratio',0.12) + char.技能攻击力加成(part=part, x=0.13) + pass + if mode == 1: + pass + + +# 固定装备:含泪之宝石 +def entry_1332(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '', '自身获得1种无法解除的异常状态,持续时间20秒。 (冷却时间4秒)', '- 出血/中毒/感电/灼伤中的1种异常状态'] + if mode == 0: + char.技能攻击力加成(0.17) + pa.own_type = list(set(['出血', '中毒', '感电', '灼伤']) | set(pa.own_type)) + pass + if mode == 1: + pass + + +# 固定装备:临界崩坏之隙 +def entry_1443(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '', '@[次元移动]@', '输入[装备属性指令]时,开启异次元裂缝,效果持续40秒。 (最多2个;冷却时间20秒)', '- 在异次元裂缝跳跃时,移动到另一个异次元裂缝。 (冷却时间3秒)', '- 移动后,30秒内物理/魔法所受伤害 -30%', '', '物理/魔法所受伤害 -12%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.add_eq_params('hurted_ratio',0.12) + char.add_eq_params('hurted_ratio',0.3) + pass + if mode == 1: + pass + + +# 固定装备:穿云破雾之光 +def entry_1445(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +8%', '将50%的物理/魔法伤害转化为持续性伤害,持续时间30秒。', '', '进入霸体状态。'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + pass + + +# 固定装备:触手可及之记忆 +def entry_1447(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '技能冷却时间恢复速度 +10% (觉醒技能除外)', '', '进入霸体状态。', '', '移动速度 +5%'] + if mode == 0: + char.技能攻击力加成(0.07) + char.技能恢复加成(1, 100, 0.1, excName=char.觉醒技能) + char.移动速度增加(0.05) + pass + if mode == 1: + pass + + +# 固定装备:铭刻记忆之星尘 +def entry_1449(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +16%'] + if mode == 0: + char.技能攻击力加成(0.16) + pass + if mode == 1: + pass + + +# 固定装备:超界次元 +def entry_1451(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%', '所有属性强化 +10', '', '技能范围的属性数值总和高于23%时,所有特性技能等级 +1', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.暴击率增加(0.05) + char.技能攻击力加成(0.13) + char.所有属性强化加成(10) + pass + if mode == 1: + if char.get_eq_params('skill_range') >= 0.23: + char.set_eq_params("tp",1) + for skill in char.技能栏: + if hasattr(skill,"TP等级") and skill.TP等级 > 0: + skill.TP等级加成(1) + else: + return '技能范围增加不足23%' + pass + + +# 固定装备:如流岁月 +def entry_1453(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +19%', '', '施放技能时,获得生命值最大值15%的保护罩,效果持续2秒。 (冷却时间0.5秒)'] + if mode == 0: + char.技能攻击力加成(0.19) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.15) + pass + if mode == 1: + pass + + +# 固定装备:命运的领航标 +def entry_1455(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '', '攻击速度 +10%', '施放速度 +10%', '移动速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.09) + char.所有速度增加(part=part, x=0.1) + pass + if mode == 1: + pass + + +# 固定装备:世界的中心轴 +def entry_1457(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%'] + if mode == 0: + char.技能攻击力加成(0.11) + pass + if mode == 1: + pass + + +# 固定装备:知海沉舟 +def entry_1459(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +7%', '', '攻击速度 +35%', '施放速度 +35%', '移动速度 +35%'] + if mode == 0: + char.所有速度增加(0.35,part) + char.技能攻击力加成(0.07) + pass + if mode == 1: + pass + + +# 固定装备:忘却之记载 +def entry_1461(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%'] + if mode == 0: + char.技能攻击力加成(0.14) + pass + if mode == 1: + pass + + +# 固定装备:遥远之刻痕 +def entry_1463(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['50、85、100级技能攻击力 + 20%', '', '攻击速度 +30%', '施放速度 +30%', '移动速度 +30%', '', '@[冥界的刻印]@', '施放技能时,有7.77%的几率增加100%的技能攻击力,使敌人通往冥界。'] + if mode == 0: + char.所有速度增加(0.3,part) + pass + if mode == 1: + char.技能倍率加成(50, 50, 0.2) + char.技能倍率加成(85, 85, 0.2) + char.技能倍率加成(100, 100, 0.2) + # 暂未实现 + pass + + +# 固定装备:指挥官的丝绸上衣 , 未知肌纤维上衣 , 总司令官的制服上衣 , 巡礼者的旧风衣 +def entry_1862(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:战略家的量身战裤 , 未知金属绑腿 , 总司令官的制服裤子 , 巡礼者的工装裤 +def entry_1863(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:联盟指挥者披风 , 未知宝石肩甲 , 总司令官的义务 , 巡礼者的护肩带 +def entry_1864(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '所有属性强化 +18', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.11) + char.所有属性强化加成(18) + pass + if mode == 1: + pass + + +# 固定装备:誓约之黄金护腰 , 未知机甲腰带 , 总司令官的指挥 , 巡礼者的木腰带 +def entry_1865(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '所有属性强化 +20'] + if mode == 0: + char.技能攻击力加成(0.14) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:决意之战靴 , 未知关节鞋 , 总司令官的决断 , 巡礼者的沙漠靴 +def entry_1867(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '攻击强化 +400.1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.17) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:无限的灵感 , 未知鳞片手镯 , 总司令官的制敌法 , 巡礼者的重担 +def entry_1866(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '所有属性强化 +30', '', '物理/魔法暴击率 +5%', '所有速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.15) + char.所有属性强化加成(30) + char.所有速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:锻造核心之项链 , 未知之瞳项链 , 总司令官的壮烈一步 , 巡礼者的困局 +def entry_1868(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '所有属性强化 +20'] + if mode == 0: + char.技能攻击力加成(0.09) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:协调之理 , 未知之骨戒指 , 总司令官的初心 , 巡礼者的试炼 +def entry_1869(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.11) + pass + if mode == 1: + pass + + +# 固定装备:无悔之思 , 未知之能战矛 , 总司令官的布阵图 , 巡礼者的预言之视线 +def entry_1870(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:无瑕之心 , 未知之灵信号 , 总司令官的指向罗盘 , 巡礼者的前路之光亮 +def entry_1871(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%'] + if mode == 0: + char.技能攻击力加成(0.15) + pass + if mode == 1: + pass + + +# 固定装备:铭忆之石 , 未知之力战镰 , 总司令官的战友遗物 , 巡礼者的前进之意志 +def entry_1872(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '[辅助职业专属属性]', '力量 +125', '智力 +125', '体力 +125', '体力 +125'] + if mode == 0: + char.技能攻击力加成(0.15) + if char.类型 == "辅助" or char.bufferCarry: + char.基础属性加成(四维=125) + pass + if mode == 1: + pass + +# 固定装备:指挥官的丝绸上衣 , 未知肌纤维上衣 , 总司令官的制服上衣 , 巡礼者的旧风衣 +def entry_2862(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:战略家的量身战裤 , 未知金属绑腿 , 总司令官的制服裤子 , 巡礼者的工装裤 +def entry_2863(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:联盟指挥者披风 , 未知宝石肩甲 , 总司令官的义务 , 巡礼者的护肩带 +def entry_2864(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '所有属性强化 +18', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.11) + char.所有属性强化加成(18) + pass + if mode == 1: + pass + + +# 固定装备:誓约之黄金护腰 , 未知机甲腰带 , 总司令官的指挥 , 巡礼者的木腰带 +def entry_2865(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +14%', '所有属性强化 +20'] + if mode == 0: + char.技能攻击力加成(0.14) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:决意之战靴 , 未知关节鞋 , 总司令官的决断 , 巡礼者的沙漠靴 +def entry_2867(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +17%', '攻击强化 +400.1%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.17) + char.攻击强化加成(params[0]) + pass + if mode == 1: + pass + + +# 固定装备:无限的灵感 , 未知鳞片手镯 , 总司令官的制敌法 , 巡礼者的重担 +def entry_2866(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '所有属性强化 +30', '', '物理/魔法暴击率 +5%', '所有速度 +10%'] + if mode == 0: + char.技能攻击力加成(0.15) + char.所有属性强化加成(30) + char.所有速度增加(0.1) + pass + if mode == 1: + pass + + +# 固定装备:锻造核心之项链 , 未知之瞳项链 , 总司令官的壮烈一步 , 巡礼者的困局 +def entry_2868(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +9%', '所有属性强化 +20'] + if mode == 0: + char.技能攻击力加成(0.09) + char.所有属性强化加成(20) + pass + if mode == 1: + pass + + +# 固定装备:协调之理 , 未知之骨戒指 , 总司令官的初心 , 巡礼者的试炼 +def entry_2869(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11%', '', '物理/魔法暴击率 +5%'] + if mode == 0: + char.技能攻击力加成(0.11) + pass + if mode == 1: + pass + + +# 固定装备:无悔之思 , 未知之能战矛 , 总司令官的布阵图 , 巡礼者的预言之视线 +def entry_2870(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +12%'] + if mode == 0: + char.技能攻击力加成(0.12) + pass + if mode == 1: + pass + + +# 固定装备:无瑕之心 , 未知之灵信号 , 总司令官的指向罗盘 , 巡礼者的前路之光亮 +def entry_2871(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%'] + if mode == 0: + char.技能攻击力加成(0.15) + pass + if mode == 1: + pass + + +# 固定装备:铭忆之石 , 未知之力战镰 , 总司令官的战友遗物 , 巡礼者的前进之意志 +def entry_2872(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '[辅助职业专属属性]', '力量 +125', '智力 +125', '体力 +125', '体力 +125'] + if mode == 0: + char.技能攻击力加成(0.15) + if char.类型 == "辅助" or char.bufferCarry: + char.基础属性加成(四维=125) + pass + if mode == 1: + pass diff --git a/api/core/equipment/entry_0/suit.py b/api/core/equipment/entry_0/suit.py new file mode 100644 index 00000000..ef3f7d4c --- /dev/null +++ b/api/core/equipment/entry_0/suit.py @@ -0,0 +1,738 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +def entry_30001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +3%'] + if mode == 0: + char.技能攻击力加成(0.03) + if char.bufferCarry or char.类型 == "辅助": + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.2) + char.multiply_eq_params('skill_range_multi',1.2) + if mode == 1: + pass + +def entry_30002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['移动速度 +15%'] + if mode == 0: + char.移动速度增加(0.15) + if char.bufferCarry or char.类型 == "辅助": + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + if mode == 1: + pass + +def entry_30003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','物理/魔法防御力 +4,000','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.add_eq_params('defense',7000) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +5% (觉醒技能除外)','魔法值最大值 +630','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能恢复加成(1, 100, 0.05, excName=char.觉醒技能) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +200.0%','物理/魔法所受伤害 -10%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(200) + char.add_eq_params('hurted_ratio',0.1) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30008(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30012(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['中毒抗性 +5%','技能伤害 +6%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.异常抗性加成('中毒',0.05) + char.技能攻击力加成(0.06) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30013(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30014(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.075) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30015(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30016(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['感电抗性 +5%','技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.异常抗性加成('感电',0.05) + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30017(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30018(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30019(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','队员生命值恢复量 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30020(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['生命值最大值 +600','技能冷却时间 -10% (觉醒技能除外)','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能冷却缩减(1, 100, 0.1, excName=char.觉醒技能) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30021(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +10%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30022(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30023(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30024(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['出血抗性 +5%','技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.异常抗性加成('出血',0.05) + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30025(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30026(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30027(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30028(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['灼伤抗性 +5%','技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.异常抗性加成('灼伤',0.05) + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30029(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30030(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30031(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','装备提供的保护罩最大值 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30032(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','生命值最大值 +400','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30033(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能范围 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.05) + char.multiply_eq_params('skill_range_multi',1.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30034(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30035(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击强化 +150.0%','攻击时,恢复1750点魔法值。 (冷却时间1秒)','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.攻击强化加成(150) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30036(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','装备的魔法值恢复量 +10%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30037(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有速度 +5%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.所有速度增加(0.05) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + +def entry_30038(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','单人挑战时,技能伤害 +5%'] + if mode == 0: + char.技能攻击力加成(0.02) + if pa.teammate_num == 1: + char.技能攻击力加成(0.05) + pass + if mode == 1: + pass + + +# 固定装备:烈火 : 缠火的理性 , 烈火 : 缠结的意志 , 烈火 : 汹涌的不羁 , 烈火 : 无尽的燃烧 , 烈火 : 最后的一步 +def entry_30039(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[内面的火花]', '根据烈火装备个数(2/3/5)适用以下效果。', '- 技能范围 +10%/+15%/+25%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.10) + char.multiply_eq_params('skill_range_multi',1.10) + pass + if mode == 1: + pass + + +# 固定装备:烈火 : 缠火的理性 , 烈火 : 缠结的意志 , 烈火 : 汹涌的不羁 , 烈火 : 无尽的燃烧 , 烈火 : 最后的一步 +def entry_30040(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[内面的火花]', '根据烈火装备个数(2/3/5)适用以下效果。', '- 技能范围 +10%/+15%/+25%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + pass + if mode == 1: + pass + +# 固定装备:烈火 : 缠火的理性 , 烈火 : 缠结的意志 , 烈火 : 汹涌的不羁 , 烈火 : 无尽的燃烧 , 烈火 : 最后的一步 +def entry_30041(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[内面的火花]', '根据烈火装备个数(2/3/5)适用以下效果。', '- 技能范围 +10%/+15%/+25%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.25) + char.multiply_eq_params('skill_range_multi',1.25) + pass + if mode == 1: + pass + +# 固定装备:雪景 : 蔓延的寒气 , 雪景 : 绵延的小雪 , 雪景 : 严寒的感觉 , 雪景 : 未定的命运 , 雪景 : 未被留下的脚印 +def entry_30042(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[幻视之瞳]', '根据雪景装备个数(2/3/5)适用以下效果。', '- 闪避率 +30%/45%/75%- 被击时,解除[幻视之瞳]效果。 (再次适用的冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + pass + +# 固定装备:雪景 : 蔓延的寒气 , 雪景 : 绵延的小雪 , 雪景 : 严寒的感觉 , 雪景 : 未定的命运 , 雪景 : 未被留下的脚印 +def entry_30043(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[幻视之瞳]', '根据雪景装备个数(2/3/5)适用以下效果。', '- 闪避率 +30%/45%/75%- 被击时,解除[幻视之瞳]效果。 (再次适用的冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + pass + +# 固定装备:雪景 : 蔓延的寒气 , 雪景 : 绵延的小雪 , 雪景 : 严寒的感觉 , 雪景 : 未定的命运 , 雪景 : 未被留下的脚印 +def entry_30044(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[幻视之瞳]', '根据雪景装备个数(2/3/5)适用以下效果。', '- 闪避率 +30%/45%/75%- 被击时,解除[幻视之瞳]效果。 (再次适用的冷却时间30秒)'] + if mode == 0: + pass + if mode == 1: + pass + +# 固定装备:对流 : 席卷前的寂静 , 对流 : 一扫而过的痕迹 , 对流 : 千变幻流 , 对流 : 无法制御的疾风 , 对流 : 狂风的重量 +def entry_30045(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[浓缩的对流]', '根据对流装备个数(2/3/5)适用以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.移动速度增加(0.06) + pass + if mode == 1: + pass + +# 固定装备:对流 : 席卷前的寂静 , 对流 : 一扫而过的痕迹 , 对流 : 千变幻流 , 对流 : 无法制御的疾风 , 对流 : 狂风的重量 +def entry_30046(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[浓缩的对流]', '根据对流装备个数(2/3/5)适用以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.移动速度增加(0.09) + pass + if mode == 1: + pass + +# 固定装备:对流 : 席卷前的寂静 , 对流 : 一扫而过的痕迹 , 对流 : 千变幻流 , 对流 : 无法制御的疾风 , 对流 : 狂风的重量 +def entry_30047(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[浓缩的对流]', '根据对流装备个数(2/3/5)适用以下效果。', '- 移动速度 +6%/9%/15%'] + if mode == 0: + char.移动速度增加(0.15) + pass + if mode == 1: + pass + +# 固定装备:雷鸣 : 覆盖大地的暗云 , 雷鸣 : 如影随形的痛苦 , 雷鸣 : 昏昏欲睡的感觉 , 雷鸣 : 铭刻天空的伤痕 , 雷鸣 : 踏足乌云的脚步 +def entry_30048(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[怒雷之云]', '攻击时,召唤怒雷之云攻击最多4名敌人,根据雷鸣装备个数(2/3/5)适用以下效果。', '- 怒雷之云召唤冷却时间7.5秒/5秒/3秒。', '- 造成总攻击强化1500%的伤害,敌人韧性条 -5。'] + if mode == 0: + pass + if mode == 1: + pass + +# 固定装备:雷鸣 : 覆盖大地的暗云 , 雷鸣 : 如影随形的痛苦 , 雷鸣 : 昏昏欲睡的感觉 , 雷鸣 : 铭刻天空的伤痕 , 雷鸣 : 踏足乌云的脚步 +def entry_30049(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[怒雷之云]', '攻击时,召唤怒雷之云攻击最多4名敌人,根据雷鸣装备个数(2/3/5)适用以下效果。', '- 怒雷之云召唤冷却时间7.5秒/5秒/3秒。', '- 造成总攻击强化1500%的伤害,敌人韧性条 -5。'] + if mode == 0: + pass + if mode == 1: + pass + +# 固定装备:雷鸣 : 覆盖大地的暗云 , 雷鸣 : 如影随形的痛苦 , 雷鸣 : 昏昏欲睡的感觉 , 雷鸣 : 铭刻天空的伤痕 , 雷鸣 : 踏足乌云的脚步 +def entry_30050(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[怒雷之云]', '攻击时,召唤怒雷之云攻击最多4名敌人,根据雷鸣装备个数(2/3/5)适用以下效果。', '- 怒雷之云召唤冷却时间7.5秒/5秒/3秒。', '- 造成总攻击强化1500%的伤害,敌人韧性条 -5。'] + if mode == 0: + pass + if mode == 1: + pass + + +# 固定装备:大地 : 生命回归之土 , 大地 : 迎接死亡的时间 , 大地 : 开花时节 , 大地 : 生与死的交错 , 大地 : 碎裂的脚步 +def entry_30051(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[生死的境界]', '根据大地装备个数(2/3/5)适用以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.所有速度增加(0.06) + pass + if mode == 1: + pass + +# 固定装备:大地 : 生命回归之土 , 大地 : 迎接死亡的时间 , 大地 : 开花时节 , 大地 : 生与死的交错 , 大地 : 碎裂的脚步 +def entry_30052(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[生死的境界]', '根据大地装备个数(2/3/5)适用以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.所有速度增加(0.09) + pass + if mode == 1: + pass + +# 固定装备:大地 : 生命回归之土 , 大地 : 迎接死亡的时间 , 大地 : 开花时节 , 大地 : 生与死的交错 , 大地 : 碎裂的脚步 +def entry_30053(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[生死的境界]', '根据大地装备个数(2/3/5)适用以下效果。', '- 所有速度 +6%/9%/15%'] + if mode == 0: + char.所有速度增加(0.15) + pass + if mode == 1: + pass + +def entry_30054(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +2%','技能冷却时间 -15% (觉醒技能除外)','','物理/魔法暴击率 +10%','所有速度 +10%','物理/魔法所有伤害 -10%','','[辅助职业专属属性]','1~25级技能等级 +2','技能范围 +15%'] + if mode == 0: + damage = [0.02,0.06,0.08,0.1,0.12,0.13,0.15] + char.技能攻击力加成(damage[char.兼容数量统计(15)]) + char.技能冷却缩减(1,100,0.15, excName=char.觉醒技能) + char.所有速度增加(0.3) + char.add_eq_params('hurted_ratio',0.3) + if char.类型 == "辅助" or char.bufferCarry: + char.技能等级加成('所有',1,25,2) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + char.所有速度增加(0.2) + pass + if mode == 1: + pass + +def entry_30055(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +30% (觉醒技能除外)','','[辅助职业专属属性]','力量 +50','智力 +50','体力 +50','精神 +50','','技能范围 +15%'] + if mode == 0: + damage = [0,0.027,0.047,0.075,0.104,0.133] + char.技能攻击力加成(damage[char.兼容数量统计(16)]) + char.技能恢复加成(1,100,0.3,excName=char.觉醒技能) + if char.类型 == "辅助" or char.bufferCarry: + char.基础属性加成(四维=50) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + pass + if mode == 1: + pass + +def entry_30056(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +22.8%','技能冷却时间 -15% (觉醒技能除外)','','所有速度 +30%','物理/魔法所有伤害 -10%','','穿戴全套“痕”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 移动速度 +10%','','[辅助职业专属属性]','1~25级技能等级 +2','技能范围 +15%'] + if mode == 0: + char.技能攻击力加成(0.228) + char.技能冷却缩减(1,100,0.15, excName=char.觉醒技能) + char.所有速度增加(0.3) + char.add_eq_params('hurted_ratio',0.2) + if len(list(set(char.suits) & set([30057,30059,30061]))) > 0: + char.技能攻击力加成(0.015) + char.移动速度增加(0.15) + if char.类型 == "辅助" or char.bufferCarry: + char.技能等级加成('所有',1,25,2) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + pass + if mode == 1: + pass + +def entry_30057(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +19.3%','技能冷却时间恢复速度 +30% (觉醒技能除外)','','穿戴全套“录”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 技能范围 +10%','','[辅助职业专属属性]','力量 +50','智力 +50','体力 +50','精神 +50','','技能范围 +15%'] + if mode == 0: + char.技能攻击力加成(0.193) + char.技能恢复加成(1,100,0.3,excName=char.觉醒技能) + if len(list(set(char.suits) & set([30056,30058,30060]))) > 0: + char.技能攻击力加成(0.015) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + if char.类型 == "辅助" or char.bufferCarry: + char.基础属性加成(四维=50) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.15) + char.multiply_eq_params('skill_range_multi',1.15) + pass + if mode == 1: + pass + +def entry_30058(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +13%','技能冷却时间 -35% (觉醒技能除外)','','[沙场老将的战术]','沙场老将决胜千里之外,增加所有队员的士气。','- 队员攻击速度 +10%。','- 队员物理/魔法所有伤害 -5%','','所有速度 +10%','物理/魔法所受伤害 -10%','','穿戴全套“痕”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 移动速度 +10%','','[辅助职业专属属性]','技能伤害 +5%','1~25级技能等级 +2','技能范围 +20%'] + if mode == 0: + char.技能攻击力加成(0.13) + char.技能冷却缩减(1,100,0.35, excName=char.觉醒技能) + char.攻击速度增加(0.1) + char.所有速度增加(0.10) + char.add_eq_params('hurted_ratio',0.3) + if len(list(set(char.suits) & set([30057,30059,30061]))) > 0: + char.技能攻击力加成(0.015) + char.移动速度增加(0.15) + if char.类型 == "辅助" or char.bufferCarry: + char.技能攻击力加成(0.05) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.2) + char.multiply_eq_params('skill_range_multi',1.2) + char.所有速度增加(0.3) + char.技能等级加成('所有',1,25,2) + pass + if mode == 1: + pass + +def entry_30059(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +11.3%','技能冷却时间恢复速度 +60% (觉醒技能除外)','','[沙场老将的谋略]','沙场老将运筹帷幄之中,增加所有队员的士气。','- 队员移动速度 +10%。','- 每1秒队员生命值/魔法值恢复0.2%','','穿戴全套“录”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 技能范围 +10%','','[辅助职业专属属性]','技能伤害 +3%','力量 +50','智力 +50','体力 +50','精神 +50','技能范围 +20%','','获得相当于生命值最大值30%的[填充型保护罩]'] + if mode == 0: + char.技能攻击力加成(0.113) + char.技能恢复加成(1,100,0.6,excName=char.觉醒技能) + char.移动速度增加(0.1) + if len(list(set(char.suits) & set([30056,30058,30060]))) > 0: + char.技能攻击力加成(0.015) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + if char.类型 == "辅助" or char.bufferCarry: + char.技能攻击力加成(0.03) + char.基础属性加成(四维=50) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.2) + char.multiply_eq_params('skill_range_multi',1.2) + char.set_eq_params('protect',char.get_eq_params('protect') + 0.3) + pass + if mode == 1: + pass + +def entry_30060(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +22.7%','技能冷却时间 -10% (觉醒技能除外)',')','所有速度 +10%','生命值最大值 +30%','物理/魔法所受伤害 -20%','回避率 +30%','','穿戴全套“痕”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 移动速度 +10%','','[辅助职业专属属性]','技能伤害 +2%','1~25技能等级 +2'] + if mode == 0: + char.技能攻击力加成(0.227) + char.技能冷却缩减(1,100,0.1, excName=char.觉醒技能) + char.所有速度增加(0.1) + if len(list(set(char.suits) & set([30057,30059,30061]))) > 0: + char.技能攻击力加成(0.015) + char.移动速度增加(0.15) + if char.类型 == "辅助" or char.bufferCarry: + char.技能等级加成('所有',1,25,2) + char.技能攻击力加成(0.02) + pass + if mode == 1: + pass + +def entry_30061(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +18.6%','技能冷却时间恢复速度 +20% (觉醒技能除外)','','攻击时,恢复3%的生命值。(冷却时间1秒)','生命值最大值 +20%','','穿戴全套“录”系列装备时,适用以下效果。','- 技能伤害 +1.5%','- 技能范围 +10%','','[辅助职业专属属性]','技能伤害 +1%','力量 +50','智力 +50','体力 +50','精神 +50'] + if mode == 0: + char.技能攻击力加成(0.186) + char.技能恢复加成(1,100,0.2,excName=char.觉醒技能) + if len(list(set(char.suits) & set([30056,30058,30060]))) > 0: + char.技能攻击力加成(0.015) + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.1) + char.multiply_eq_params('skill_range_multi',1.1) + if char.类型 == "辅助" or char.bufferCarry: + char.基础属性加成(四维 = 50) + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass diff --git a/api/core/equipment/entry_0/title.py b/api/core/equipment/entry_0/title.py new file mode 100644 index 00000000..5e6c3f52 --- /dev/null +++ b/api/core/equipment/entry_0/title.py @@ -0,0 +1,173 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa +def entry_12001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +4%', '移动速度 +4%', '施放速度 +4%', '所有属性强化 +25', '物理、魔法、独立攻击力 +5%', '暴击时,额外增加5%的伤害增加量', '最终伤害 +5%', '力量、智力 +5%', '攻击时,附加5%的伤害', '攻击强化增幅 +25%', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比三攻加成(0.05) + char.暴击伤害加成(0.05) + char.最终伤害加成(0.05) + char.百分比力智加成(0.05) + char.附加伤害加成(0.05) + char.百分比攻击强化加成(0.25) + char.所有速度增加(part=part, x=0.04) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + pass + +def entry_12002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +4%', '移动速度 +4%', '施放速度 +4%', '所有属性强化 +22', '物理、魔法、独立攻击力 +12%', '攻击时,附加10%的伤害', '攻击强化增幅 +22%', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(22) + char.百分比三攻加成(0.12) + char.附加伤害加成(0.10) + char.百分比攻击强化加成(0.22) + char.所有速度增加(part=part, x=0.04) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + pass + +def entry_12003(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '火属性强化 +15', '攻击强化增幅 +17%', '攻击时,有3%的几率获得所有属性强化+10并增加3%的攻击、移动和施放速度,效果持续30秒(冷却时间40秒)'] + if mode == 0: + char.火属性强化加成(15) + char.所有速度增加(part=part, x=0.03) + char.百分比攻击强化加成(0.17) + if mode == 1: + char.所有速度增加(part=part, x=0.03) + char.所有属性强化加成(10, mode=1) + pass + +def entry_12004(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '冰属性强化 +15', '攻击强化增幅 +17%', '攻击时,有3%的几率获得所有属性强化+10并增加3%的攻击、移动和施放速度,效果持续30秒(冷却时间40秒)'] + if mode == 0: + char.冰属性强化加成(15) + char.所有速度增加(part=part, x=0.03) + char.百分比攻击强化加成(0.17) + if mode == 1: + char.所有速度增加(part=part, x=0.03) + char.所有属性强化加成(10, mode=1) + pass + +def entry_12005(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '光属性强化 +15', '攻击强化增幅 +17%', '攻击时,有3%的几率获得所有属性强化+10并增加3%的攻击、移动和施放速度,效果持续30秒(冷却时间40秒)'] + if mode == 0: + char.光属性强化加成(15) + char.所有速度增加(part=part, x=0.03) + char.百分比攻击强化加成(0.17) + if mode == 1: + char.所有速度增加(part=part, x=0.03) + char.所有属性强化加成(10, mode=1) + pass + +def entry_12006(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '暗属性强化 +15', '攻击强化增幅 +17%', '攻击时,有3%的几率获得所有属性强化+10并增加3%的攻击、移动和施放速度,效果持续30秒(冷却时间40秒)'] + if mode == 0: + char.暗属性强化加成(15) + char.所有速度增加(part=part, x=0.03) + char.百分比攻击强化加成(0.17) + if mode == 1: + char.所有速度增加(part=part, x=0.03) + char.所有属性强化加成(10, mode=1) + pass + +def entry_12007(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '所有属性强化 +20', '攻击时,额外增加6%的伤害增加量', '暴击时,额外增加6%的伤害增加量', '力量、智力 +6%', '攻击强化增幅 +18%', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(20) + char.伤害增加加成(0.06) + char.暴击伤害加成(0.06) + char.百分比力智加成(0.06) + char.百分比攻击强化加成(0.18) + char.所有速度增加(part=part, x=0.03) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_12008(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '命中率 +2%', '回避率 +2%', '所有属性强化 +20', '攻击强化增幅 +20%', 'Lv95被动技能等级 +1', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(20) + char.百分比攻击强化加成(0.2) + char.所有速度增加(part=part, x=0.03) + char.技能等级加成('被动', 95, 95, 1) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_12009(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '命中率 +2%', '回避率 +2%', '所有属性强化 +20', '攻击强化增幅 +20%', 'Lv95被动技能等级 +1', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(20) + char.百分比攻击强化加成(0.2) + char.所有速度增加(part=part, x=0.03) + char.技能等级加成('被动', 95, 95, 1) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_12010(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +4%', '移动速度 +4%', '施放速度 +4%', '命中率 +3%', '回避率 +3%', '所有属性强化 +25', '攻击强化增幅 +28%', 'Lv95被动技能等级 +1', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(25) + char.百分比攻击强化加成(0.28) + char.所有速度增加(part=part, x=0.04) + char.技能等级加成('被动', 95, 95, 1) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_12011(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +3%', '移动速度 +3%', '施放速度 +3%', '命中率 +2%', '回避率 +2%', '所有属性强化 +20', '攻击强化增幅 +22%', 'Lv95被动技能等级 +1', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(20) + char.百分比攻击强化加成(0.22) + char.所有速度增加(part=part, x=0.03) + char.技能等级加成('被动', 95, 95, 1) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_12012(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['攻击速度 +4%', '移动速度 +4%', '施放速度 +4%', '命中率 +3%', '回避率 +3%', '所有属性强化 +30', '攻击强化增幅 +30%', 'Lv95被动技能等级 +1', '攻击时,有3%的几率增加35点力量、智力、体力、精神,效果持续20秒(冷却时间30秒)', '施放技能时,有5%的几率增加5%的物理、魔法暴击率,效果持续20秒(冷却时间30秒)'] + if mode == 0: + char.所有属性强化加成(30) + char.百分比攻击强化加成(0.30) + char.所有速度增加(part=part, x=0.04) + char.技能等级加成('被动', 95, 95, 1) + if mode == 1: + # char.基础属性加成(力智=35) + char.暴击率增加(0.05) + +def entry_13001(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["Lv1~35 全部 技能 Lv +1"] + if mode == 0: + char.技能等级加成('所有', 1, 35, 1) + if mode == 1: + pass + +def entry_13002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ["Lv15~35 全部 技能 Lv +1", "所有属性强化 +15", "攻击、施放、移动速度 +3%"] + if mode == 0: + char.技能等级加成('所有', 15, 35, 1) + char.所有属性强化加成(15) + if mode == 1: + pass + diff --git a/api/core/equipment/entry_0/weapon.py b/api/core/equipment/entry_0/weapon.py new file mode 100644 index 00000000..de7304dc --- /dev/null +++ b/api/core/equipment/entry_0/weapon.py @@ -0,0 +1,1190 @@ +from core.basic.property import CharacterProperty +from core.equipment.property import 成长词条计算 +import core.equipment.entry_0.params as pa + +# 固定装备:胜负之役短剑 - 狂战士 , 胜负之役太刀 - 狂战士 , 胜负之役钝器 - 狂战士 , 胜负之役巨剑 - 狂战士 +def entry_539(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[饥渴]技能时,消耗10%的生命值,获得3层血气。 (最多叠加10次)', '- [饥渴]删除蓄气功能。', '- 施放其他技能期间可施放[饥渴]。', '- 进入地下城时,获得1层血气。', '', '施放[爆发之刃]、[暴怒狂斩]时,消耗1层血气,强化。', '- 攻击力 +30%', '- 技能范围 +15%', '', '施放[爆发之刃]、[暴怒狂斩]时,恢复5%的生命值。'] + if mode == 0: + char.技能攻击力加成(0.1) + char.单技能加成('血气之刃', 1.35) + char.单技能加成('暴怒狂斩', 1.35) + char.单技能加成('浴血之怒',1.15) + char.单技能加成('致命血陨',1.15) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役短剑 - 剑魂 , 胜负之役太刀 - 剑魂 , 胜负之役钝器 - 剑魂 , 胜负之役巨剑 - 剑魂 , 胜负之役光剑 - 剑魂 +def entry_543(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '磨炼招式,强化[万剑归宗]技能。', '- 持续时间 +20秒', '- 施放35级以上技能时,持续时间 +5秒 (不会超过持续时间上限)', '- 穿云刺发射个数 +1', '- 减少穿云刺发射回收时间', '', '解除穿戴时,[万剑归宗]持续时间结束。', '', '[极 · 神剑术 (破空斩)]斩击次数固定为1次。', '- 爆炸攻击力 +50%', '- 装备太刀、光剑时,爆炸攻击力 +10%', '', '[极 · 神剑术 (瞬斩)]删除剑气攻击。', '- 最后一击攻击力 +20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + skill = char.get_skill_by_name('极神剑术破空斩') + # 武器倍率已计入 + skill.多段倍率 = {'短剑': 1, '光剑': 1, '巨剑': 1 * 1.08, '钝器': 1, '太刀': 1} + skill.爆炸倍率 = {'短剑': 1 * 1.5, '光剑': 1* 1.6, '巨剑': 1.08* 1.5, '钝器': 1* 1.5, '太刀': 1 *1.6} + skill = char.get_skill_by_name('极神剑术瞬斩') + skill.power1 = 0 + skill.power2 = 1.2 + pass + + +# 固定装备:胜负之役短剑 - 鬼泣 , 胜负之役太刀 - 鬼泣 , 胜负之役钝器 - 鬼泣 , 胜负之役巨剑 - 鬼泣 +def entry_547(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['通过冥界之力,[冥炎之卡洛]生成冥界火焰。', '火焰叠加层数上限 +2', '', '以下技能生成冥界火焰。', '使用特定技能攻击附着冥界火焰的对象时,火焰爆发。', '- 爆发攻击力: [冥炎之卡洛]火焰攻击力的300%', '- 每1个冥界火焰,爆发攻击力增加10%。', '', '<冥界火焰生成技能>', '- [冥炎之卡洛]', '- [冰霜之萨亚]', '- [瘟疫之罗刹]', '- [死亡墓碑]', '- [死亡墓碑]', '- [死亡墓碑]', '', '<冥界火焰爆发技能>', '- [鬼斩]', '- [月光斩]', '- [鬼斩:狂怒]', '- [鬼影闪]', '- [鬼斩:炼狱]', '- [冥炎剑]', '- [幽魂降临:式]', '- [鬼神剑·黄泉摆渡]'] + if mode == 0: + char.get_skill_by_name('冥炎之卡洛').CP武器 = True + char.get_skill_by_name('冥炎之卡洛').power2 = 3 * pa.cp_soul_bender * (1+0.1*pa.cp_soul_bender) + char.技能攻击力加成(0.06) + char.单技能加成('冥炎剑',1.2) + for skill in ['冰霜之萨亚','瘟疫之罗刹','幽魂之布雷德']: + char.单技能加成(skill,1.15) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役短剑 - 阿修罗 , 胜负之役太刀 - 阿修罗 , 胜负之役钝器 - 阿修罗 , 胜负之役巨剑 - 阿修罗 +def entry_551(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[爆炎·波动剑]快速爆炸。', '- 爆炸位置变更', '- 爆炸间隔减少30%', '- 爆炸间隔距离减少90%', '- 爆炸大小增加45%', '- 第3击爆炸大小增加70%', '', '获得雷神之力,施放以下技能期间,可以无施放动作发动[邪光波动阵]。', '- [爆炎 · 波动剑]', '- [不动明王阵]', '- [天雷 · 波动剑]', '', '[无尽波动]波动范围 +20%', '', '[邪光波动阵]波动范围比率 +25%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.单技能加成('天雷·降魔杵',2,1.7) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役短剑 - 剑影 , 胜负之役太刀 - 剑影 , 胜负之役钝器 - 剑影 , 胜负之役巨剑 - 剑影 +def entry_555(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['剑术,共鸣系列技能命中时,鬼步冷却时间初始化。', '- 通过鬼步施放剑术系列技能时不初始化。', '', '[鬼步]攻击力 +20%', '', '[鬼步]Y轴攻击范围 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.05) + char.get_skill_by_name("鬼步").倍率 *= 1.2 + char.单技能加成('魂破斩',1.1) + char.单技能加成('冥灵断魂斩',1.1) + char.单技能加成('裂魂乱舞',1.1) + pass + + +# 固定装备:胜负之役短剑 - 驭剑士 , 胜负之役太刀 - 驭剑士 , 胜负之役钝器 - 驭剑士 , 胜负之役巨剑 - 驭剑士 +def entry_559(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用究极魔剑雷沃汀,施放[恶即斩]。', '- [恶即斩]始终以最大蓄气发动', '- [恶即斩]攻击力 +40%', '- [恶即斩]冷却时间 -30%', '- 命中时,增加10%的技能伤害,效果持续20秒', '', '通过雷沃汀施放的[恶即斩],对敌人造成20秒伤痕。', '- [破军旋舞斩]或[瞬影三绝斩]攻击伤痕状态的敌人时,[恶即斩]技能的剩余冷却时间减少10%。 (各技能每使用1次时仅适用1次)'] + if mode == 0: + pass + if mode == 1: + 恶即斩 = char.get_skill_by_name("恶即斩") + 恶即斩.CP武器 = True + 恶即斩.倍率 *= 1.4 + 恶即斩.CDR *= 0.7 + char.技能攻击力加成(0.1) + 恶即斩.CD *= 0.9 * 0.9 + pass + + +# 固定装备:胜负之役短剑 - 契魔者 , 胜负之役太刀 - 契魔者 , 胜负之役钝器 - 契魔者 , 胜负之役巨剑 - 契魔者 +def entry_563(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['变更为最多填充3次的技能', '- 从地面召唤的剑 +3个', '- 转职技能攻击时,[蛇腹剑:破]填充1次。 ([蛇腹剑:破]除外)', '- 不自动蓄气。', '', '可强制中断除觉醒技能外的转职技能的施放后僵直并立即发动[蛇腹剑:破]。 (觉醒技能除外)', '', '可强制中断[蛇腹剑:破]的施放后僵直并使用转职技能。'] + if mode == 0: + char.get_skill_by_name("蛇腹剑:破").hit0 = 0 + char.get_skill_by_name("蛇腹剑:破").hit1 = 6 + char.get_skill_by_name("群魔乱舞").hit0 += 3 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役短剑 - 流浪武士 , 胜负之役太刀 - 流浪武士 , 胜负之役钝器 - 流浪武士 , 胜负之役巨剑 - 流浪武士 , 胜负之役光剑 - 流浪武士 +def entry_567(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[啸空十字刃]时,追击前方最强敌人后,同时施放水平、垂直斩击。', '', '可强制中断转职技能并施放[啸空十字刃]、[落英惊鸿掌]。', '', '以下技能冷却时间 -20%', '- [一花渡江]', '- [啸空十字刃]', '- [樱花劫]', '- [落英惊鸿掌]'] + if mode == 0: + char.技能攻击力加成(0.07) + char.单技能加成('一花渡江', CD=0.8) + char.单技能加成('啸空十字斩', CD=0.8) + char.单技能加成('樱花劫', CD=0.8) + char.单技能加成('落英惊鸿掌', CD=0.8) + char.单技能加成('莲花剑舞',1.12) + char.单技能加成('樱花劫',1.12) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役短剑 - 暗殿骑士 , 胜负之役太刀 - 暗殿骑士 , 胜负之役钝器 - 暗殿骑士 , 胜负之役巨剑 - 暗殿骑士 +def entry_571(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '[汲魂之力]灵魂吸收个数上限 +30个', '', '以下技能的额外灵魂吸收数量 +5个', '- [释魂狂怒]', '- [暗影盛宴]', '- [暗影绽放:死亡荆棘]', '', '[释魂飞弹]每发射1个能量消耗的灵魂个数 +2个', '- 追踪攻击最大距离 +20%', '', '[释魂飞弹]每消耗2个灵魂,以下技能的剩余冷却时间减少1%。 (不适用[薄暮]效果)', '- [暗影盛宴]', '- [罚罪之光]', '- [天罚之剑]', '- [暗影绽放:死亡荆棘]', '', '[薄暮]消耗灵魂时附加效果增加率 +50%', '', '[灵魂消耗附加效果适用技能]', '- [神罚 · 灭世裁决]', '- [罚罪之光]', '- [天罚之剑]'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + for i in ['天罚死光','神罚·灭世裁决','天罚之剑']: + skill = char.get_skill_by_name(i) + # 10->15% 15->20% + skill.灵魂消耗倍率 += 0.05 + char.get_skill_by_name('释魂飞弹').power0 += 2 + pass + + +# 固定装备:胜负之役短剑 - 刃影 , 胜负之役太刀 - 刃影 , 胜负之役钝器 - 刃影 , 胜负之役巨剑 - 刃影 +def entry_575(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[收刀术]成功连接时,连接的技能与收刀术技能的剩余冷却时间减少15%。', '- 用觉醒技能连接收刀术时,剩余冷却时间不减少。', '', '[鬼缚钉]斩击攻击删除,可强制中断[鬼缚钉]的施放后僵直并连接转职技能。', '- 斩击攻击力合算至踢击攻击力。', '', '可强制中断转职技能并施放[鬼缚钉]。', '- [回旋十字刃]、觉醒技能除外。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + char.get_skill_by_name('秘术·曜夜斩').CD *= 0.8 * 0.8 + char.get_skill_by_name('秘术·心斩').CD *= 0.8 * 0.8 + char.get_skill_by_name('秘术·曜夜斩').倍率 *= 1.15 + char.get_skill_by_name('悬丝风暴').倍率 *= 1.15 + pass + + +# 固定装备:胜负之役手套 - 散打(男) , 胜负之役臂铠 - 散打(男) , 胜负之役爪 - 散打(男) , 胜负之役拳套 - 散打(男) , 胜负之役东方棍 - 散打(男) +def entry_579(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[双重释放]效果变更为持续15秒的猛烈之焰,技能伤害 +45% (觉醒技能除外)', '- [双重释放]强化攻击力效果不适用', '- 35级以上技能攻击力 +10%', '', '用火焰之力强化[柔化肌肉]。', '- 强制中断攻击时,[双重释放]剩余冷却时间 -3%', '- 强制中断时,转职技能攻击力增加率 +2%,效果持续30秒', '- 强制中断次数 +2次'] + if mode == 0: + pass + if mode == 1: + if pa.cp_striker_male == 1: + 双重释放 = char.get_skill_by_name('双重释放') + 双重释放.hit0 = 0 + 双重释放.是否有伤害 = 0 + 双重释放.额外倍率 = 1.45 + 双重释放.额外倍率1 = 1.1 + char.get_skill_by_name('柔化肌肉').额外加成 = 0.02 + pass + + +# 固定装备:胜负之役手套 - 气功师(男) , 胜负之役臂铠 - 气功师(男) , 胜负之役爪 - 气功师(男) , 胜负之役东方棍 - 气功师(男) +def entry_583(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[念兽:猛虎震地]的念兽,咆哮后引发爆炸。', '- 咆哮攻击多段攻击次数:4', '- 咆哮攻击力:[念兽:猛虎震地]多段攻击力的100%。', '- 爆炸攻击力:[念兽:猛虎震地]爆炸攻击力的100%', '- 将念兽咆哮命中的敌人吸附。', '- 技能范围 +20%', '', '[禅语·形灭]的念气环绕后爆炸。', '- 施放速度 +20%', '- 球体及爆炸范围 +10%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.单技能加成('念兽:猛虎震地',1.2) + char.单技能加成('禅语·形灭',1.2) + char.单技能加成('奔雷螺旋击',1.1) + char.单技能加成('月辉念气破',1.1) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役手套 - 柔道家(男) , 胜负之役臂铠 - 柔道家(男) , 胜负之役爪 - 柔道家(男) , 胜负之役东方棍 - 柔道家(男) +def entry_587(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[地狱风火轮]下踢时,引发地震,变更为2次蓄气技能。', '- 地震攻击力:下踢攻击力的50%', '- 蓄气冷却时间:12秒 ', '可强制中断[地狱风火轮]的施放后僵直并连接转职技能。', '', '以下技能抓取失败时,该技能冷却时间减少至5秒。 (冷却时间10秒)', '- [无情摔击]', '- [霹雳旋踢]', '- [浮空凌云踢] (地面上使用)', '- [地狱风火轮]', '- [死亡旋律] (地面上使用)', '- 武莲华', '- [黑震旋风]'] + if mode == 0: + char.技能攻击力加成(0.1) + char.get_skill_by_name("地狱风火轮").CD = 12 + char.get_skill_by_name("地狱风火轮").power1 = 1.5 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役手套 - 街霸(男) , 胜负之役臂铠 - 街霸(男) , 胜负之役爪 - 街霸(男) , 胜负之役东方棍 - 街霸(男) +def entry_591(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[狂·霸王拳]时,变更为用火焰瓶炸弹下劈。', '- [狂·霸王拳]终结冲击波删除', '- 对周围敌人造成与抓取敌人相同的伤害。', '- 抓取失败时,同样适用。', '', '[狂 · 霸王拳]添加异常状态效果。', '- 攻击范围:每个异常状态 +10%', '- 冷却时间减少:每个异常状态 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + char.get_skill_by_name('狂·霸王拳').CD缩减 = 1 - 0.1*3 + for i in ['出血', '灼伤', '中毒', '感电']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],3) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役手套 - 散打(女) , 胜负之役臂铠 - 散打(女) , 胜负之役爪 - 散打(女) , 胜负之役拳套 - 散打(女) , 胜负之役东方棍 - 散打(女) +def entry_595(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '[闪电之舞]一对一攻击时,在攻击对象左右移动攻击。', '- 攻击力 -15%', '- 攻击速度 +30%', '- 删除角色僵直效果', '- 移动范围 +5%', '- 攻击时,使敌人进入感电状态 (冷却时间15秒)', '', '[闪电之舞]攻击时,生成冲击波。', '- 直接击中的对象不受冲击波攻击', '- 一对一攻击时,不生成冲击波'] + if mode == 0: + if '感电' not in pa.get_state_type(): + pa.state_type.append('感电') + pass + if mode == 1: + char.技能攻击力加成(0.1) + 闪电之舞 = char.get_skill_by_name("闪电之舞") + if '闪电之舞' in char.护石栏: + 闪电之舞.hit0 = 17 + else: + 闪电之舞.hit0 = 13 + 闪电之舞.倍率 *= 0.85 + pass + + +# 固定装备:胜负之役手套 - 气功师(女) , 胜负之役臂铠 - 气功师(女) , 胜负之役爪 - 气功师(女) , 胜负之役东方棍 - 气功师(女) +def entry_599(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[蓄念炮]蓄气时间和冷却时间删除。', '', '[念气波]冷却时间增加,但同时增加攻击力和大小。', '- 攻击力 +120%', '- 大小 +20%', '- 冷却时间 +4秒', '- 转职为气功师后,不适用冷却时间减少功能', '', '[念气波]施放时,发动以下效果。', '- [聚能念气炮]剩余冷却时间 -5%', '- 有10%的几率,[念气波]攻击力 +500%', '', '[念兽螺旋波]强化为黄龙形态发射。', '- 攻击力 +20%', '', '[聚能念气炮]强化。', '- 攻击力 +15%', '- 大小 +30%'] + if mode == 0: + 念气波 = char.get_skill_by_name("念气波") + 念气波.CP武器 = True + 念气波.倍率 *= 2.2 + 念气波.倍率 *= 1.5 + char.get_skill_by_name("念兽螺旋波").倍率 *= 1.2 + char.get_skill_by_name("聚能念气炮").倍率 *= 1.15 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役手套 - 柔道家(女) , 胜负之役臂铠 - 柔道家(女) , 胜负之役爪 - 柔道家(女) , 胜负之役东方棍 - 柔道家(女) +def entry_603(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['转职技能命中时,获得技术得分。 (最多20分)', '- 1~30级:1分', '- 35~45级:2分', '- 60~80级:2分', '- 50、85、95级:5分', '- 100级:10分', '- 无情抓取连接/空中使用技能时,附加1分', '', '根据技术得分施放效果。', '- 超过11分:50、85、100级技能命中时,所有技能剩余冷却时间减少30%。 (觉醒技能除外 / 消耗所有技术得分)', '- 超过6分:抓取技能攻击失败时,该技能冷却时间减少至3秒。 (消耗3分技术得分)', '- 超过1分:[无情抓取]技能连接时,[无情抓取]恢复时间减少3秒。'] + if mode == 0: + char.技能攻击力加成(0.16) + char.单技能加成('裂石破天',1.15) + char.单技能加成('死亡摇篮',1.15) + char.单技能加成('末日摇篮',1.15) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役手套 - 街霸(女) , 胜负之役臂铠 - 街霸(女) , 胜负之役爪 - 街霸(女) , 胜负之役东方棍 - 街霸(女) +def entry_607(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['特定技能攻击时,发动即爆之血,爆发自身出血/中毒/灼伤/感电伤害。', '[发动即爆之血的技能]', '- [擒月炎]摆拳攻击', '-[猛毒擒月炎]摆拳攻击', '- [伏虎霸王拳]终结冲击波攻击', '', '以下技能,每1个异常状态的附加攻击力增加率 +5%', '- [擒月炎]', '- [猛毒擒月炎]', '- [狂霸王拳]'] + if mode == 0: + for i in ['出血', '灼伤', '中毒', '感电']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],3) + pass + if mode == 1: + char.技能攻击力加成(0.1) + 擒月炎 = char.get_skill_by_name('擒月炎') + 擒月炎.power0 += 0.05*3 + 擒月炎.power1 += 0.05*3 + 擒月炎.涂毒power0 += 0.05*3 + 擒月炎.涂毒power1 += 0.05*3 + 猛毒擒月炎 = char.get_skill_by_name('猛毒擒月炎') + 猛毒擒月炎.power0 += 0.05*3 + 猛毒擒月炎.power1 += 0.05*3 + 猛毒擒月炎.中毒power0 += 0.05*3 + 猛毒擒月炎.涂毒power0 += 0.05*3 + 猛毒擒月炎.涂毒power1 += 0.05*3 + char.get_skill_by_name('狂·霸王拳').异常倍率 += 0.05*3 + char.单技能加成('连环毒爆弹',1.15) + char.单技能加成('毒龙轰天雷',1.15) + char.单技能加成('钻心毒爆',1.15) + pass + pass + + +# 固定装备:胜负之役左轮枪 - 枪炮师(男) , 胜负之役自动手枪 - 枪炮师(男) , 胜负之役步枪 - 枪炮师(男) , 胜负之役手炮 - 枪炮师(男) , 胜负之役手弩 - 枪炮师(男) +def entry_611(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[激光炮]变更为最多填充3次的技能。', '- 攻击力 +20%', '- 大小 +40%', '- 填充冷却时间:7秒', '- [蓄电激光炮]蓄电时间 -50%', '- 命中时,使敌人进入电磁场10秒。', '', '强化[FM-92刺弹炮]', '- 攻击力 +15%', '- 爆炸范围 +25%', '- 存在电磁场的敌人时,向敌人发射追击的破甲弹。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.06) + skill = char.get_skill_by_name("激光炮") + skill.基础施放次数 = 4 + skill.CD = 7 + skill.倍率 *= 1.5 + char.get_skill_by_name("FM92刺弹炮").倍率 *= 1.15 + char.get_skill_by_name("卫星射线").倍率 *= 1.15 + char.单技能加成('毁灭射线',1.15,0.8) + pass + + +# 固定装备:胜负之役左轮枪 - 机械师(男) , 胜负之役自动手枪 - 机械师(男) , 胜负之役步枪 - 机械师(男) , 胜负之役手炮 - 机械师(男) , 胜负之役手弩 - 机械师(男) +def entry_615(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[机械引爆]引爆机器人时,生成R-步行者。', '- R-步行者攻击力:RX-78追击者攻击力的50%', '- 适用[机械引爆]的爆炸伤害变化率效果。', '- 最多生成10个。', '', '[R-步行者生成技能]', '- RX-78追击者', '- EZ-8爆破者', '- RX-60陷阱追击者', '- [空战机械:风暴]', '- [空投支援]', '- [拦截机工厂]', '- EZ-10反击者', '- TX-45 特攻队', '', '[RX-78追击者]攻击力 +5%'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name("RX78追击者").CP倍率 = 0.5 + char.get_skill_by_name("RX78追击者").追加 = 2 + char.get_skill_by_name("Ez8自爆者").追加 = 1 + char.get_skill_by_name("RX60陷阱追击者").追加 = 1 + if "空战机械:风暴" not in char.护石栏: + char.get_skill_by_name("空战机械:风暴").追加 = 1 + char.get_skill_by_name("空投支援").追加 = 10 + if char.get_skill_by_name("光反应能量模块").等级 > 0: + char.get_skill_by_name("拦截机工厂").追加 = 1 + else: + char.get_skill_by_name("拦截机工厂").追加 = 8 + char.get_skill_by_name("EZ10反击者").追加 = 4 + char.get_skill_by_name("TX-45特攻队").追加 = 5 + char.get_skill_by_name("RX78追击者").倍率 *= 1.05 + + char.技能攻击力加成(0.07) + char.单技能加成('HS1全息机械猎手',1.1,0.8) + char.单技能加成('拦截机工厂',1.1) + char.单技能加成('空投支援',1.1) + pass + + +# 固定装备:胜负之役左轮枪 - 漫游枪手(男) , 胜负之役自动手枪 - 漫游枪手(男) , 胜负之役步枪 - 漫游枪手(男) , 胜负之役手炮 - 漫游枪手(男) , 胜负之役手弩 - 漫游枪手(男) +def entry_619(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['强化[双鹰回旋]。', '- 成功抓取第三把鹰枪时,投掷第二把鹰枪后,使用技能的剩余冷却时间减少20%。', '- 鹰枪大小 +10%', '- 施放[双鹰回旋]时,增加30%的攻击速度,效果持续4秒。', '', '[花式枪术]可强制中断次数上限 +1', '', '穿戴时,生成光谱。'] + if mode == 0: + char.技能攻击力加成(0.12) + char.单技能加成('双鹰回旋',1.2,0.7) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役左轮枪 - 弹药专家(男) , 胜负之役自动手枪 - 弹药专家(男) , 胜负之役步枪 - 弹药专家(男) , 胜负之役手炮 - 弹药专家(男) , 胜负之役手弩 - 弹药专家(男) +def entry_623(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '[聚合弹]变更为轰炸最强的敌人。', '- 施放其他技能时,可以无施放动作发动', '', '[重火力支援]炮弹生成个数 +100%', '[重火力支援]炮弹攻击力 -30%', '', '适用[超负荷装填]期间,施放10次基本攻击或施放35级以上无色小晶块技能时,填充强化弹药。 (最多3个)', '- 进入地下城时,装填1个弹药', '', '施放[聚合弹]、[凝固汽油弹]、[重火力支援]时,消耗强化弹药,强化技能。', '[聚合弹]', '- 攻击力 +80%', '[凝固汽油弹]', '- 攻击力 +20%', '[重火力支援]', '- 炮弹下落间隔 -50%', '- 爆炸范围 +30%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.15) + 聚合弹 = char.get_skill_by_name("聚合弹") + 聚合弹.倍率 *= 1.8 + 聚合弹.CP武器 = True + char.get_skill_by_name("凝固汽油弹").倍率 *= 1.2 + char.get_skill_by_name("重火力支援").倍率 *= 2 * 0.7 + pass + + +# 固定装备:胜负之役左轮枪 - 枪炮师(女) , 胜负之役自动手枪 - 枪炮师(女) , 胜负之役步枪 - 枪炮师(女) , 胜负之役手炮 - 枪炮师(女) , 胜负之役手弩 - 枪炮师(女) +def entry_627(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[聚焦喷火器]时,压缩火焰后发射,变更为最多填充3次的技能。', '- 攻击力:总攻击力的50%', '- 填充冷却时间:4秒', '', '施放[M-3喷火器]时,压缩火焰后发射。', '', '[UHT-03爆炎喷火器]移动速度增加率 +10%'] + if mode == 0: + char.技能攻击力加成(0.1) + skill = char.get_skill_by_name('聚焦喷火器') + skill.CD = 4 + skill.基础施放次数 = 3 + skill.倍率 *= 0.8 + char.单技能加成('FSC7',1.2) + char.单技能加成('UHT-03爆炎喷火器',1.2) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役左轮枪 - 机械师(女) , 胜负之役自动手枪 - 机械师(女) , 胜负之役步枪 - 机械师(女) , 胜负之役手炮 - 机械师(女) , 胜负之役手弩 - 机械师(女) +def entry_631(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '[G-超级猎鹰]攻击力 +15%', '[G-超级猎鹰]冷却时间 -20%', '', '[G-0战争领主]攻击力 +20%', '', '[G-X星尘天穹]攻击力 +20%', '', '[G-1科罗纳]状态下,改装为旋雷者或捕食者时,生成全息G-1科罗纳,效果持续8秒。', '- 攻击力:[G-1科罗纳]攻击力的50%', '- 施放[G-磁力弹]时,由全息G-1科罗纳代替施放', '', '[改装:G-2旋雷者]强化。', '- 数量 +2个', '- 填充冷却时间 -0.5秒', '', '[改装:G-3捕食者]发射强化激光。', '- 攻击力 +5%', '- 缠住敌人的捕食者个数上限 +2个', '- 数量 +1个'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.get_skill_by_name("G3捕食者").倍率 *= 1.05*1.5 + char.get_skill_by_name("G2旋雷者").倍率 *= 1.5 + char.get_skill_by_name("GSP猎鹰").CDR *= 0.8 + char.get_skill_by_name("GSP猎鹰").倍率 *= 1.15 + char.get_skill_by_name("G0战争领主").倍率 *= 1.2 + char.get_skill_by_name("G-X星尘天穹").倍率 *= 1.2 + pass + + +# 固定装备:胜负之役左轮枪 - 漫游枪手(女) , 胜负之役自动手枪 - 漫游枪手(女) , 胜负之役步枪 - 漫游枪手(女) , 胜负之役手炮 - 漫游枪手(女) , 胜负之役手弩 - 漫游枪手(女) +def entry_635(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[移动射击]子弹爆裂,造成更大范围的伤害。', '- 攻击力 +30%', '- 发射次数 +50%', '- 冷却时间 -20%', '- 攻击范围 +10%', '', '施放[移动射击]时,适用以下效果。', '- 施放技能时,立即适用冷却时间。', '- 攻击速度 +30%', '- 移动速度 +30%', '- 切换地下城房间时,保留技能效果。'] + if mode == 0: + char.技能攻击力加成(0.1) + char.单技能加成('移动射击', 1.5*1.7) + char.单技能加成('移动射击', 1, 0.75) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役左轮枪 - 弹药专家(女) , 胜负之役自动手枪 - 弹药专家(女) , 胜负之役步枪 - 弹药专家(女) , 胜负之役手炮 - 弹药专家(女) , 胜负之役手弩 - 弹药专家(女) +def entry_639(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[G-14手雷]、[G-35L感电手雷]、[G-18C冰冻手雷]技能强化。', '- 最大装填数 +2', '- 跳跃状态下施放时,不消耗单兵推进器。', '', '', '消耗手雷,强化[光子霰雷发射器]。', '- 每消耗1个手雷,攻击力增加2%。 (最多30%)', '- [空袭战略]期间,将发射最大强化数值的[光子霰雷发射器]。'] + if mode == 0: + char.技能攻击力加成(0.08) + char.所有速度增加(0.1,'武器') + char.get_skill_by_name("G35感电手雷").基础施放次数 += 2 + char.get_skill_by_name("G18冰冻手雷").基础施放次数 += 2 + char.单技能加成('光子霰雷发射器', 1.3) + char.单技能加成('凝固汽油弹',1.25) + char.单技能加成('超真空弹:切利',1.25) + char.单技能加成('空袭战略',CD=0.85) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役矛 - 冰结师 , 胜负之役棍棒 - 冰结师 , 胜负之役魔杖 - 冰结师 , 胜负之役法杖 - 冰结师 +def entry_643(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[冰之技艺]冰霜矛追击被冰霜武器命中的所有敌人并且贯穿。', '- 冰霜矛攻击力反应率额外增加20%。', '- 冰霜矛爆炸功能删除。', '- 冰霜矛有10%的几率使敌人进入冰冻状态2秒。', '', '[冰舞乱击]追击前方最强敌人,同时攻击周围敌人。', '- 追击范围:500px'] + if mode == 0: + char.技能攻击力加成(0.1) + char.get_skill_by_name("冰之技艺").额外冰枪攻击力 += 2 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役矛 - 元素爆破师 , 胜负之役棍棒 - 元素爆破师 , 胜负之役魔杖 - 元素爆破师 , 胜负之役法杖 - 元素爆破师 +def entry_647(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[元素炮]时,发射的元素炮变更为向前方爆炸的深渊炮。', '- 攻击力 +50%', '- 冷却时间 +5秒', '- 施放其他技能期间也可以施放', '', '施放[元素炮]时,仅消耗1个元素之力。', '- 每消耗1个元素之力,[元素炮]攻击力增加量 +50%', '', '施放35级以上技能时,消耗1个元素之力,技能伤害 +18%,效果持续10秒。', '', '施放[元素炮]时,技能冷却时间恢复速度 +30%,效果持续20秒。 (觉醒技能除外)', '', '施放[聚能魔炮]、[聚魔轰击]技能时,[元素炮]技能的冷却时间初始化。'] + if mode == 0: + pass + if mode == 1: + 元素炮 = char.get_skill_by_name("元素炮") + 元素炮.倍率 *= 1.5 + 元素炮.CD += 5 + char.get_skill_by_name("元素之力").额外倍率 += 0.5 + char.get_skill_by_name("元素之力").层数 = 1 + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + char.技能攻击力加成(0.18) + pass + + +# 固定装备:胜负之役矛 - 逐风者 , 胜负之役棍棒 - 逐风者 , 胜负之役魔杖 - 逐风者 , 胜负之役法杖 - 逐风者 +def entry_651(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[狂风冲刺]变更为最多填充3次的技能。', '', '施放[狂风冲刺]时,生成[游离之风],并增加10%的技能伤害,效果持续20秒。', '- [狂风冲刺]的游离之风攻击力:[游离之风]攻击力的50%。', '', '[游离之风]大小 +10%'] + if mode == 0: + char.get_skill_by_name("游离之风").CP倍率 = 0.5 + char.技能攻击力加成(0.1) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役矛 - 血法师 , 胜负之役棍棒 - 血法师 , 胜负之役魔杖 - 血法师 , 胜负之役法杖 - 血法师 +def entry_655(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用部分技能攻击时,获得猩红之眼。', '- [隐行之噬]:获得5个', '- 吸收系技能:获得1个', '- 进入地下城时获得1个', '', '拥有猩红之眼时,技能伤害 +15%', '施放[猩红狩猎]、 [绯红之狱]时,消耗1个猩红之眼,分别强化为[致命狩猎]、[血腥地狱]。', '', '[致命狩猎]', '- [猩红狩猎]攻击力 +50%', '- [猩红狩猎]冷却时间 -30%', '- 变更为单次攻击', '- 攻击500px范围内所有敌人', '', '[血腥地狱]', '- [绯红之狱]攻击力 +50%', '- [绯红之狱]冷却时间 -30%', '- 施放后可以移动', '', '[隐行之噬]冷却时间 -10%,施放速度 +30%'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name("狱血之噬").CDR *= 0.9 + char.技能攻击力加成(0.15) + char.get_skill_by_name("血腥狩猎").倍率 *= 1.5 + char.get_skill_by_name("血腥狩猎").CDR *= 0.7 + char.get_skill_by_name("血腥炼狱").倍率 *= 1.5 + char.get_skill_by_name("血腥炼狱").CDR *= 0.7 + pass + + +# 固定装备:胜负之役矛 - 次元行者 , 胜负之役棍棒 - 次元行者 , 胜负之役魔杖 - 次元行者 , 胜负之役法杖 - 次元行者 , 胜负之役扫把 - 次元行者 +def entry_659(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +15%', '', '[次元:粒子风暴]技能强化。', '- 攻击力 +35%', '- 爆炸速度 +50%', '- 技能范围 +25%', '- 适用[次元边界]效果时,向前方生成多个次元爆炸', '', '奈雅丽施放技能时,生成分身代替施放技能。 (觉醒技能除外)', '', '以下技能攻击力增加25%,冷却时间减少10%。', '- [乖离:魅魔之舞]', '- [乖离:异界蜂群]', '- [乖离:禁锢]', '- [乖离:沉沦]', '- [乖离:边缘之兽]'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.15) + char.get_skill_by_name("次元:粒子风暴").倍率 *= 1.35 + for skill in ["乖离:魅魔之舞","乖离:异界蜂群","乖离:禁锢","乖离:沉沦","乖离:边缘之兽"]: + char.get_skill_by_name(skill).CDR *= 0.9 + char.get_skill_by_name(skill).倍率 *= 1.25 + pass + + +# 固定装备:胜负之役矛 - 魔道学者 , 胜负之役棍棒 - 魔道学者 , 胜负之役魔杖 - 魔道学者 , 胜负之役法杖 - 魔道学者 , 胜负之役扫把 - 魔道学者 +def entry_663(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[超级棒棒糖]生成更多的糖果人偶。', '- 糖果人偶生成个数上限 +5', '- 每命中1名敌人,使人偶生成数增加2个。', '- 每生成一个糖果人偶,[超级棒棒糖]的剩余冷却时间减少3%。', '- 糖果人偶攻击力 -20%', '', '吸收未爆炸的糖果人偶,下一次施放[超级棒棒糖]时生成。 (最多15个)', '- 每一个糖果人偶只能吸收一次。', '- 额外生成的糖果人偶不包含在糖果生成数量上限中。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.03) + 超级棒棒糖 = char.get_skill_by_name('超级棒棒糖') + 超级棒棒糖.CD *= 1 - (0.09 * 3) + 超级棒棒糖.hit1 = pa.cp_witch_1 + 超级棒棒糖.hit2 = pa.cp_witch_2 + 3 + 超级棒棒糖.power1 = 0.8 + 超级棒棒糖.power2 = 0.8 + pass + + +# 固定装备:胜负之役矛 - 战斗法师 , 胜负之役棍棒 - 战斗法师 , 胜负之役魔杖 - 战斗法师 , 胜负之役法杖 - 战斗法师 +def entry_667(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['增加炫纹攻击力和发射数量。', '- 一次发射的炫纹数量 +2', '- 攻击力 -45%', '- 连击50次以上时,自动发动炫纹发射。', '- 炫纹生成数量上限 +1', '- 炫纹大小比率 +20%', '- 技能魔法值消耗量 -70%', '', '一次性生成的炫纹数量 +1'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name('炫纹发射').倍率 *= 0.65 + char.get_skill_by_name('炫纹发射').hit0 += 2 + char.技能攻击力加成(0.17) + char.单技能加成('炫纹强压',1.15) + char.单技能加成('超级炫纹',1.15) + char.单技能加成('炫纹簇',1.15) + pass + + +# 固定装备:胜负之役矛 - 元素师 , 胜负之役棍棒 - 元素师 , 胜负之役魔杖 - 元素师 , 胜负之役法杖 - 元素师 +def entry_671(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['把一个高级元素技能或部分特级元素技能储存在符文中并释放。', '- 输入[装备属性指令]后,施放技能时,储存在符文中60秒。', '- 再次输入[装备属性指令]时,发动储存的技能。 (冷却时间0.1秒)', '- 释放技能攻击力:原技能攻击力的15%', '- 储存技能冷却时间:原技能的15%', '- 储存的技能为最大蓄气状态', '', '[魔法记忆]施放速度提升率 +15%', '', '<可以存储的技能>', '- 天雷', '- 极冰盛宴', '- 湮灭黑洞', '- 杰克降临', '- 元素之幕', '- 元素震荡', '- 圣灵水晶'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.11) + char.cp_power = 0.15 + char.cp_cd = 0.15 + char.单技能加成('圣灵水晶',1.15) + char.单技能加成('元素之门',1.15) + pass + + +# 固定装备:胜负之役矛 - 召唤师 , 胜负之役棍棒 - 召唤师 , 胜负之役魔杖 - 召唤师 , 胜负之役法杖 - 召唤师 +def entry_675(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['上级精灵与精灵王伊伽贝拉的[蚀月附灵]追加操作模式攻击力增加20%。', '', '强化[蚀月附灵]。', '- 技能追加操作模式删除施放动作。', '- 亡魂默克尔:施放黑雾,可强制控制敌人。', '- 极光格雷林:施放落雷,可吸附敌人。', '- 冰影阿奎利斯:发射七重冰导弹。', '- 火焰赫瑞克:火焰爆剑术生成旋涡,可吸附敌人。', '- 伊伽贝拉:发射超高密度镭射光变更为多个激光轰炸地面'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.get_skill_by_name("精灵召唤:亡魂默克尔").power_f0 = 1.25 + char.get_skill_by_name("精灵召唤:冰影阿奎利斯").power_f0 = 1.25 + char.get_skill_by_name("精灵召唤:极光格雷林").power_f0 = 1.25 + skill = char.get_skill_by_name("精灵召唤:火焰赫瑞克") + skill.power_f0 = 1.25 + skill.power_f1 = 1.25 + skill.power_f2 = 1.25 + skill.power_f3 = 1.25 + char.get_skill_by_name("精灵召唤:伊伽贝拉").power_f0 = 1.25 + char.单技能加成('狂化黑月',1.15) + char.单技能加成('传说召唤:月蚀之影',1.1) + char.单技能加成('至高精灵王',1.1) + pass + + +# 固定装备:胜负之役矛 - 小魔女 , 胜负之役棍棒 - 小魔女 , 胜负之役魔杖 - 小魔女 , 胜负之役法杖 - 小魔女 , 胜负之役扫把 - 小魔女 +def entry_679(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[禁术吟咏]效果 +8%', '- 解除穿戴时,效果消失', '- 在增益效果强化装备栏穿戴时不适用该效果', '', '[细心缝补]技能范围 +20%', '', '删除[哇咔咔!]施放动作。', '[哇咔咔!]吸附范围 +10%', '', '[咆哮吧!疯疯熊]诅咒吐息向命中的敌人赋予诅咒之息,并发生爆炸。', '- 爆炸伤害:[咆哮吧! 疯疯熊]诅咒吐息总攻击力的50%。', '', '[冥月绽放]的独立攻击力增加量额外增加20%', '', '解除穿戴时,辅助职业50级技能增益效果 -50%'] + if mode == 0: + if char.bufferCarry: + char.get_skill_by_name('冥月绽放').额外倍率 = 0.2 + char.get_skill_by_name('咆哮吧!疯疯熊').power0 *= 1.5 + buff = char.get_skill_by_name('BUFF') + buff.倍率 *= 1.08 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役十字架 - 圣骑士(男) , 胜负之役念珠 - 圣骑士(男) , 胜负之役图腾 - 圣骑士(男) , 胜负之役镰刀 - 圣骑士(男) , 胜负之役战斧 - 圣骑士(男) +def entry_683(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[荣誉祝福]效果 +8%', '- 解除穿戴时,效果消失', '- 在增益效果强化装备栏穿戴时不适用该效果', '', '[缓慢愈合]技能范围 +20%', '', '施放[正义审判]时,召唤光晕,对范围内的10名敌人进行追击并发射正义之矛后爆炸。', '- 正义之矛攻击力:光之刃攻击力的1600%', '- 正义之矛爆炸攻击力:魔法阵持续时间达上限时终结攻击力的100%', '- 可以在施放其他技能时使用该技能。', '', '[圣光突袭]技能攻击力 +20%', '- 前冲距离 -70%', '', '[圣光沁盾]生命值 +400%', '- 技能不移动。', '', '单人挑战时,独立攻击力 +20%', '', '解除穿戴时,辅助职业50级技能增益效果 -50%'] + if mode == 0: + if char.类型 == '辅助': + buff = char.get_skill_by_name("BUFF") + buff.倍率 *= 1.08 + char.get_skill_by_name("圣光突袭").倍率 *= 1.2 + char.单技能加成('圣光沁盾',1.2) + char.单技能加成('神圣之光',1.1) + char.单技能加成('圣佑结界',1.1) + char.get_skill_by_name("正义审判").hit0 = 1 + char.get_skill_by_name("正义审判").power0 = 16 + char.技能攻击力加成(0.16) + pass + if mode == 1: + pass + + +# 固定装备:胜负之役十字架 - 驱魔师 , 胜负之役念珠 - 驱魔师 , 胜负之役图腾 - 驱魔师 , 胜负之役镰刀 - 驱魔师 , 胜负之役战斧 - 驱魔师 +def entry_687(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '前冲施放[无双击]时,向前方突进施放。', '[式神:白虎]魔法珠大小比率 +50%', '', '[落雷符]技能攻击力 +20%', '[落雷符]范围 +20%', '', '[无双击]攻击力 +60%', '[无双击]范围 +20%', '[脉轮:圣光]适用期间,[无双击]技能攻击力 +20%', '', '[狂乱锤击]技能效果强化。', '- 删除[狂乱锤击]最后一击,最后一击攻击力合算至狂乱锤击攻击力。', '- [狂乱锤击]次数 +100%', '- 技能攻击力 +20%', '- 冷却时间 -20%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.get_skill_by_name("式神:空之白虎").倍率 *= 1.2 + skill = char.get_skill_by_name("无双击") + skill.倍率 *=1.6 + 狂乱锤击 = char.get_skill_by_name("狂乱锤击") + 狂乱锤击.hit0 = 8 + 狂乱锤击.hit1 = 1 + 狂乱锤击.hit2 = 1 + 狂乱锤击.倍率 *= 1.2 + 狂乱锤击.CDR *= 0.8 + pass + + +# 固定装备:胜负之役十字架 - 蓝拳圣使 , 胜负之役念珠 - 蓝拳圣使 , 胜负之役图腾 - 蓝拳圣使 , 胜负之役镰刀 - 蓝拳圣使 , 胜负之役战斧 - 蓝拳圣使 +def entry_691(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[正义执行:雷米迪奥斯的圣座]关联技能为[泯灭神击]时,[制裁:怒火疾风]变更为最多填充3次的技能。', '- 连击攻击力增加100%', '- 连击次数减少9次', '- 删除终结攻击和爆炸', '- 追踪敌人进行攻击', '- 填充冷却时间:40秒', '- 追击范围:780px', '- 魔法值消耗量 -30%', '- 无色小晶块消耗量 -5个', '- 使用[刺拳猛击]技能时,[制裁:怒火疾风]技能的剩余冷却时间 -12%', '- 可强制中断[制裁:怒火疾风]并施放转职技能。', '- 强制中断转职技能并施放[制裁:怒火疾风]时,不消耗[干涸之泉]能量。'] + if mode == 0: + for skill in char.技能队列: + if skill["名称"] == "制裁:怒火疾风": + skill["无色消耗"] -= 5 + pass + if mode == 1: + char.技能攻击力加成(0.08) + 觉醒 = char.get_skill_by_name("制裁:怒火疾风") + 觉醒.CD = 35 + 觉醒.无色消耗 = 5 + 觉醒.power0 = 2.5 + 觉醒.hit0 = 10 + 觉醒.hit1 = 0 + 觉醒.hit2 = 0 + 觉醒.MP = [int(i*0.7) for i in 觉醒.MP] + char.单技能加成('正义铁拳',1.25) + pass + + +# 固定装备:胜负之役十字架 - 复仇者 , 胜负之役念珠 - 复仇者 , 胜负之役图腾 - 复仇者 , 胜负之役镰刀 - 复仇者 , 胜负之役战斧 - 复仇者 +def entry_695(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[魔化:末日守卫者]状态下,恶魔能量条超过30时,消耗恶魔能量的技能攻击时,额外消耗40点发动恶魔之爪。 (觉醒技能除外)', '- [恶魔之力]的攻击力的2000%', '', '[魔化:末日守卫者]基本攻击与技能的恶魔能量恢复量 +10%', '[化魔]恶魔能量恢复量 +10%', '', '[魔化:末日守卫者]攻击速度增加量 +20%,移动速度增加量 +10%'] + if mode == 0: + char.技能攻击力加成(0.08) + char.get_skill_by_name('恶魔之力').CP倍率 += 26 + pass + if mode == 1: + # char.get_skill_by_name('恶魔之力').CP倍率 += 5 + pass + + +# 固定装备:胜负之役十字架 - 圣骑士(女) , 胜负之役念珠 - 圣骑士(女) , 胜负之役图腾 - 圣骑士(女) , 胜负之役镰刀 - 圣骑士(女) , 胜负之役战斧 - 圣骑士(女) +def entry_699(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[勇气祝福]效果 +8%', '- 解除穿戴时,效果消失', '- 在增益效果强化装备栏穿戴时不适用该效果', '', '[治愈祈祷]治愈范围 +20%', '', '[圣洁之光]贯穿敌人,先前移动300px后爆发。', '- 攻击力 +100%', '- 技能范围 +10%', '', '[圣洁之光]技能命中敌人时,[神光十字]和[忏悔重击]剩余冷却时间减少2%。', '', '[圣光灌注]的独立攻击力增加量 +20%', '', '解除穿戴时,辅助职业50级技能增益效果 -50%'] + if mode == 0: + if char.类型 == '辅助': + buff = char.get_skill_by_name("BUFF") + buff.倍率 *= 1.08 + if char.bufferCarry: + char.get_skill_by_name('圣光灌注').额外倍率 += 0.2 + char.get_skill_by_name('圣洁之光').倍率 *= 2 + pass + if mode == 1: + pass + + +# 固定装备:胜负之役十字架 - 诱魔者 , 胜负之役念珠 - 诱魔者 , 胜负之役图腾 - 诱魔者 , 胜负之役镰刀 - 诱魔者 , 胜负之役战斧 - 诱魔者 +def entry_703(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[原罪释放·净化]变身状态下,[诱魔之手]命中时,变身持续时间 +12秒', '- 不能超过最大变身持续时间', '', '施放[暴食之噬]时,以自身为中心吸附敌人并在周围爆发。', '- 攻击力 +30%', '- 罪业层数超过3个时,消耗3个罪业层数,分身代替施放。', '', '罪业层数超过3个时,施放[罪业加身]技能,会消耗3个罪业层数并减少15%物理/魔法所受伤害,持续10秒。', '', '[原罪释放·净化]状态下,控制[罪业加身]时间 +1秒', '', '[诱魔之手]罪业层数增加量 +2'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name('暴食之噬').倍率 *= 1.6 + char.技能攻击力加成(0.1) + char.单技能加成('灵魂烙印:原罪冲击',1.1) + char.单技能加成('肋骨重塑:原罪战矛',1.1) + char.单技能加成('至高之刑',1.1) + pass + + +# 固定装备:胜负之役十字架 - 异端审判者 , 胜负之役念珠 - 异端审判者 , 胜负之役图腾 - 异端审判者 , 胜负之役镰刀 - 异端审判者 , 胜负之役战斧 - 异端审判者 +def entry_707(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[神焰洗礼]、[净化之焰]技能冷却时间 -20%', '', '施放[净化之焰]时,对500px范围内所有敌人产生爆炸。', '', '[火焰精华]变更为最多填充5次的技能。', '- 冷却时间:8秒', '- 发动焚烧时,填充时间 -1秒'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.18) + char.get_skill_by_name('火焰精华').CD = 8 + char.get_skill_by_name('火焰精华').CD固定缩减 = 1 + char.get_skill_by_name('神焰洗礼').CDR *= 0.8 + char.get_skill_by_name('净化之焰').CDR *= 0.8 + char.get_skill_by_name('神焰').CDR *= 0.7 + char.单技能加成('逆罪灭绝',1.1) + char.单技能加成('裁决轮回斩',1.1) + char.单技能加成('车轮刑',1.1) + pass + + +# 固定装备:胜负之役十字架 - 巫女 , 胜负之役念珠 - 巫女 , 胜负之役图腾 - 巫女 , 胜负之役镰刀 - 巫女 , 胜负之役战斧 - 巫女 +def entry_711(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[念珠连射]、[木槵子经]攻击1次时,获得1个神力念珠。 (最多获得25个)', '', '施放以下技能时,消耗神力念珠进行强化。', '- 不动珠箔阵:念珠旋转次数 +1 (消耗8个)', '- 百八念珠:念珠连射个数 +10 (消耗10个)', '- 退魔阴阳符:弹跳次数 +3 (消耗10个)', '- 天坠阴阳玉:念珠坠落个数 +1 (消耗15个)', '', '每施放1次[念珠连射]、[木槵子经], [百八念珠]、[不动珠箔阵]的技能冷却时间恢复速度增加1%。', '- 施放[百八念珠]、[不动珠箔阵]时,效果初始化。'] + if mode == 0: + char.技能攻击力加成(0.08) + pass + if mode == 1: + char.get_skill_by_name('不动珠箔阵').hit0 += 8 + char.单技能加成("木槵子经",CD=0.5) + 百八念珠 = char.get_skill_by_name('百八念珠') + 百八念珠.power0 *= 30/20 + 百八念珠.power1 *= 20/10 + char.get_skill_by_name('退魔阴阳符').hit1 += 3 + char.get_skill_by_name('天坠阴阳玉').倍率 *= 2 + pass + + +# 固定装备:胜负之役匕首 - 死灵术士 , 胜负之役双剑 - 死灵术士 , 胜负之役手杖 - 死灵术士 +def entry_715(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[降临:莱迪娅]变更为最多填充3次的技能。', '', '直接引发爆炸。', '- 攻击力:[降临:莱迪娅]总攻击力的60%', '- 填充冷却时间:15秒', '- 向敌人生成恐怖之烙印,增加10%的技能伤害,效果持续20秒', '- 删除追加操作功能', '', '对带有恐怖之烙印的敌人使用以下技能攻击时,该技能的攻击力增加10%。', '- [巴拉克的野心]', '- [巴拉克的愤怒]', '- [复苏者之缚]', '- [怨噬之沼]', '- [暗黑蛛丝引]', '- [暴君湮灭斩]', '- [亡者之茧]'] + if mode == 0: + pass + if mode == 1: + 莱迪娅 = char.get_skill_by_name("降临:僵尸莱迪娅") + 莱迪娅.基础施放次数 = 3 + 莱迪娅.倍率 *= 0.6 + 莱迪娅.CD = 15 + char.get_skill_by_name("降临:僵尸莱迪娅").CP武器 = True + char.技能攻击力加成(0.1) + for skill in ['巴拉克的野心','巴拉克的愤怒','死灵之缚','怨噬之沼','暗黑蛛丝引','暴君极刑斩','亡者之茧']: + char.get_skill_by_name(skill).倍率 *= 1.1 + pass + + +# 固定装备:胜负之役匕首 - 刺客 , 胜负之役双剑 - 刺客 , 胜负之役手杖 - 刺客 +def entry_719(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[剑刃风暴]时,技能伤害 +10%,效果持续15秒。', '', '[剑刃风暴]变更为最多填充3次的技能。', '- 每次攻击获得连击点数 +900%', '- 可获得连击点数上限 +100%', '- 移动速度 +30%', '- 吸附力 +30%', '', '施放[剑刃风暴]期间施放[终结之击]时,适用以下效果。', '- 合计[剑刃风暴]剩余伤害进行攻击', '- 向最强敌人发射剩余匕首', '', '[死亡风暴]发射的匕首可贯穿敌人,发射的匕首个数 -10个'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.get_skill_by_name('死亡风暴').CP武器 = True + pass + + +# 固定装备:胜负之役匕首 - 忍者 , 胜负之役双剑 - 忍者 , 胜负之役手杖 - 忍者 , 胜负之役苦无 - 忍者 +def entry_723(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[忍法:残影术]每消耗1个残影,记录的[忍法:六道轮回]残影攻击力比率增加3%。 (最多叠加6次)', '', '施放[忍法:六道轮回]时,以下技能攻击力增加20%,效果持续20秒。 (冷却时间10秒)', '- [火遁·炎舞天璇]', '- [火遁·风魔手里剑]', '- [八岐大蛇]', '- [天照]', '- [勾玉之火:镰鼬]', '', '[勾玉之火:镰鼬]最后一击命中时,合并计算的灼伤伤害 +10%'] + if mode == 0: + char.get_skill_by_name('勾玉之火·镰鼬').结算加成 = 1.15 + pass + if mode == 1: + char.get_skill_by_name("忍法:残影术").额外倍率 += 6*0.03 + char.get_skill_by_name('火遁·炎舞天璇').倍率 *= 1.25 + char.get_skill_by_name('火遁·风魔手里剑').倍率 *= 1.25 + char.get_skill_by_name('八岐大蛇').倍率 *= 1.25 + char.get_skill_by_name('天照').倍率 *= 1.25 + char.get_skill_by_name('勾玉之火·镰鼬').倍率 *= 1.25 + pass + + +# 固定装备:胜负之役匕首 - 影舞者 , 胜负之役双剑 - 影舞者 , 胜负之役手杖 - 影舞者 +def entry_727(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['背击时,获得暗影之痕。', '- 获得2个暗影之痕。 (最多50个)', '- 正面攻击时,减少3个暗影之痕。', '', '[摧心]背后抽取时,消耗所有暗影之痕,强化攻击力。', '- 每消耗一个暗影之痕,攻击力 +1% (最多50%)', '', '施放[摧心]时,进入隐身状态15秒,技能冷却时间恢复速度 +12%。 (觉醒技能除外)'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name('剜心').倍率 *= 1.5 + char.技能恢复加成(1, 100, 0.2, excName=char.觉醒技能) + pass + + +# 固定装备:胜负之役短剑 - 混沌魔灵 , 胜负之役太刀 - 混沌魔灵 , 胜负之役钝器 - 混沌魔灵 , 胜负之役巨剑 - 混沌魔灵 +def entry_731(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[魔能榨取]的基本/技能攻击力增加量 +15%', '', '施放[碎灵之击]时,魔灵爆炸变更为亚丁的化身召唤魔灵战士幻影并引发爆炸。', '- 攻击力 +30%', '- 冷却时间 -10%', '- 技能范围 +20%', '- 施放[碎灵之击]技能期间,可以施放[午夜嘉年华]', '- 没有魔灵时,立即召唤所有魔灵'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name("碎灵屠戮").倍率 *= 1.3 + char.get_skill_by_name("碎灵屠戮").CDR *= 0.9 + char.get_skill_by_name("魔能榨取").CP武器 = True + pass + + +# 固定装备:胜负之役短剑 - 帕拉丁 , 胜负之役太刀 - 帕拉丁 , 胜负之役钝器 - 帕拉丁 , 胜负之役巨剑 - 帕拉丁 +def entry_735(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['消耗[天使光翼],施放[惩罚之锤]技能时,发动额外效果。', '- 每消耗1个[天使光翼],攻击力增加4%。', '- 每消耗1个[天使光翼],技能范围增加3%。', '- 使敌人进入眩晕状态。', '', '消耗[天使光翼],施放[神光冲击]技能时,发动额外效果。', '- 强制控制2秒吸附的敌人。', '- 聚怪效果范围适用为6阶段', '- 聚怪效果范围 +20%', '- [天使光翼]最多消耗2个。', '', '[神光冲击]强化', '- 技能范围 +20% ', '- 击中成功时,[天使光翼]获得数量 +2', '- 对进入挑衅状态的敌人,保持防御状态时,[天使光翼]获得时间减少50%。'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.08) + char.get_skill_by_name("神罚之锤").倍率 *= 1 + 0.06*8 + char.单技能加成('神光冲击',1.3) + char.单技能加成('神光回旋斩',1.15) + char.单技能加成('神光耀世',1.15) + pass + + +# 固定装备:胜负之役短剑 - 龙骑士 , 胜负之役太刀 - 龙骑士 , 胜负之役钝器 - 龙骑士 , 胜负之役巨剑 - 龙骑士 +def entry_739(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[龙刃无双]变更为最多填充2次的技能。', '- 攻击力 -40%', '- 填充冷却时间:10秒', '', '施放[龙刃无双]时,增加5%的技能攻击力,效果持续10秒。 (最多叠加1次,觉醒技能除外)', '', '施放[龙刃无双]期间,施放阿斯特拉技能时,剩余冷却时间 -10%。', '- 每次施放[龙刃无双],冷却时间减少效果仅适用1次。', '', '以下技能冷却时间减少10秒。', '- [火焰吐息]', '- [龙语召唤:阿斯特拉]', '- [龙之撕咬]', '- [魔龙之息]', '- [魔龙天翔]'] + if mode == 0: + char.技能攻击力加成(0.1) + 龙刃无双 = char.get_skill_by_name("龙刃无双") + # 龙刃无双.倍率 *= 0.6 + 龙刃无双.CD = 10 + pass + if mode == 1: + char.get_skill_by_name("龙刃无双").CD *= 0.9 + char.get_skill_by_name("火焰吐息").CDR *= 0.85 + char.get_skill_by_name("龙语召唤:阿斯特拉").CDR *= 0.85 + char.get_skill_by_name("龙之撕咬").CDR *= 0.85 + char.get_skill_by_name("魔龙之息").CDR *= 0.85 + char.get_skill_by_name("魔龙天翔").CDR *= 0.85 + pass + + +# 固定装备:胜负之役短剑 - 精灵骑士 , 胜负之役太刀 - 精灵骑士 , 胜负之役钝器 - 精灵骑士 , 胜负之役巨剑 - 精灵骑士 +def entry_743(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[剑盾猛攻]连击6阶段的状态下,施放[剑盾强袭]时,进入8秒高燃时刻。', '- [剑盾猛攻]攻击力 +500%', '- 连锁的所有区域变更为成功区域。', '- 1~30级技能冷却时间 -70%', '- 1~30级技能攻击力 -50% ([剑盾猛攻]技能除外)', '', '施放[剑盾猛攻]技能时,1~30级技能的剩余冷却时间减少10%。'] + if mode == 0: + pass + if mode == 1: + char.单技能加成('剑盾猛攻',6) + char.单技能加成('剑盾强袭',CD=0.9) + for i in char.技能栏: + if i.所在等级 >= 1 and i.所在等级 <= 30: + if i.是否有伤害 == 1 and i.名称 != '剑盾猛攻': + i.CDR *= (1 - 0.7) + i.倍率 *= 0.5 + pass + + +# 固定装备:胜负之役长枪 - 暗枪士 , 胜负之役战戟 - 暗枪士 , 胜负之役光枪 - 暗枪士 , 胜负之役暗矛 - 暗枪士 +def entry_747(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['每存在1个暗蚀状态的敌人,每1秒累积10%的黑雷气息', '- 不存在暗蚀状态的敌人时,每1秒减少5%的黑雷气息。', '', '攻击领主怪物时,获得1%的黑雷气息。', '', '黑雷气息达到100%时,发动黑雷强化效果,效果持续15秒。', '- 同时坠落黑雷枪', '- 额外坠落黑雷魔枪', '- 黑雷魔枪攻击力:[坠蚀之雨]多段攻击力的1000%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.攻击速度增加(0.15,part) + char.get_skill_by_name('坠蚀之雨').hit0 += 16 + char.单技能加成('冥夜裂空',1.1) + char.单技能加成('冥蚀脉冲',1.1) + char.单技能加成('虚空碎灭',1.1) + pass + + +# 固定装备:胜负之役长枪 - 狩猎者 , 胜负之役战戟 - 狩猎者 , 胜负之役光枪 - 狩猎者 , 胜负之役暗矛 - 狩猎者 +def entry_751(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[猎杀枪]技能攻击时,向敌人生成猎物标志,赋予猎物1阶段效果。', '每累计20个猎物标志,提升标志阶段。 (最高3阶段)', '施放以下技能时,消耗猎物阶段并提升该技能攻击力。', '- [无尽毁灭]', '- [天龙破]', '- [无尽毁灭]', '', '[猎物阶段攻击力增加量]', '- 1阶段:10%', '- 2阶段:20%', '- 3阶段:30%', '', '[猎物标志累计量]', '- [猎杀枪]:每次打击3个', '- [猎杀枪:掠食]:每次打击10个', '- [猎杀枪:穿心]:每次打击4个', '', '[猎杀枪]魔法枪再次生成时间 -30%', '[猎杀枪]魔法枪再次发射冷却时间 -30%'] + if mode == 0: + char.攻击速度增加(0.2,part) + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.get_skill_by_name('光焰枪').倍率 *= 1.45 + char.get_skill_by_name('天龙破').倍率 *= 1.45 + char.get_skill_by_name('无尽杀戮').倍率 *= 1.45 + char.get_skill_by_name('猎杀枪').CDR *= 0.7 + char.单技能加成('瞬光猎杀枪',1.15) + char.单技能加成('凌空之狩',1.15) + pass + + +# 固定装备:胜负之役长枪 - 征战者 , 胜负之役战戟 - 征战者 , 胜负之役光枪 - 征战者 , 胜负之役暗矛 - 征战者 +def entry_755(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['达到[战戟猛攻]极限时,强化[战戟猛攻]。', '- 强制中断[战戟猛攻]并施放技能时,该技能减少20%的冷却时间。 (觉醒技能除外)', '- 能量叠加次数 +1', '- 命中时能量恢复减少时间 +0.3秒', '- 攻击速度增益增加量 +10%'] + if mode == 0: + char.技能攻击力加成(0.12) + char.单技能加成('破灭轮回刺',1.15) + pass + if mode == 1: + char.技能冷却缩减(1, 100, 0.2, excName=char.觉醒技能) + pass + + +# 固定装备:胜负之役长枪 - 决战者 , 胜负之役战戟 - 决战者 , 胜负之役光枪 - 决战者 , 胜负之役暗矛 - 决战者 +def entry_759(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['以下技能命中时,获得强化[夺命雷霆枪]的极·受创能量。 (最多30个)', '- 双龙流云灭:每次攻击10个', '- 无双突刺:每次攻击5个', '- 无畏波动枪:每次攻击4个', '- 双重刺击:每次攻击2个', '- 刺击:每次攻击1个', '', '每拥有一个极·受创能量,强化[夺命雷霆枪]。', '- 技能冷却时间恢复速度:+1%', '- 攻击速度:+1%', '', '[夺命雷霆枪]攻击时,消耗所有极·受创能量,每个极·受创能量可增加枪尖受创效果攻击次数。', '', '[夺命雷霆枪]攻击速度 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.1) + char.攻击速度增加(0.1,part) + 夺命雷霆枪 = char.get_skill_by_name("夺命雷霆枪") + 夺命雷霆枪.恢复 += 0.3 + 夺命雷霆枪.hit2 += 30 + char.单技能加成('无双突刺',1.1) + char.单技能加成('流光无影闪',1.1) + char.单技能加成('双龙流云灭',1.1) + + +# 固定装备:胜负之役长刀 - 特工 , 胜负之役小太刀 - 特工 , 胜负之役重剑 - 特工 , 胜负之役源力剑 - 特工 +def entry_763(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['部分技能攻击追踪目标敌人时,使敌人进入枪伤 / 斩伤状态,效果持续15秒。 (最多叠加3次)', '- 赋予枪伤的技能:[精准射击]、[锁定射击]', '- 赋予斩伤的技能:[双弦斩]、[月影秘步]', '', '对携带枪伤 / 斩伤状态的敌人,施放以下技能时,效果解除并增加技能攻击力。', '- [月相轮舞]:每1层枪伤,技能攻击力 +8%', '- [毁灭狂欢]:每1层斩伤,技能攻击力 +8%', '- [月光镇魂曲] :每1层枪伤 / 斩伤,技能攻击力 +8%', '', '以下技能冷却时间 -15%', '- [双弦斩]', '- [精准射击]', '- [月影秘步]', '- [锁定射击]', '', '[月相轮舞]大小 +10%'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name("精准射击").CDR *= 0.85 + char.get_skill_by_name("锁定射击").CDR *= 0.85 + char.get_skill_by_name("双弦斩").CDR *= 0.85 + char.get_skill_by_name("月影秘步").CDR *= 0.85 + char.get_skill_by_name("月相轮舞").倍率 *= 1.24 + char.get_skill_by_name("毁灭狂欢").倍率 *= 1.24 + char.get_skill_by_name("月光镇魂曲").倍率 *= 1.48 + char.技能攻击力加成(0.1) + pass + + +# 固定装备:胜负之役长刀 - 战线佣兵 , 胜负之役小太刀 - 战线佣兵 , 胜负之役重剑 - 战线佣兵 , 胜负之役源力剑 - 战线佣兵 +def entry_767(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[爆裂斩]时,转职技能攻击力增加20%,效果持续3秒。 (觉醒技能除外)', '- 可强制中断[爆裂斩]并施放转职技能。', '- 可强制中断转职技能并施放[爆裂斩]。', '- [爆裂斩]技能的额外攻击输入时间增加至3秒', '- [爆裂斩]技能结束后适用冷却时间。', '- [爆裂斩]技能冷却时间 -35%', '- [爆裂斩]爆炸范围 +10%'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(1, 100, 0.24, excName=char.觉醒技能) + char.get_skill_by_name("爆裂斩").CDR *= 0.65 + pass + + +# 固定装备:胜负之役长刀 - 源能专家 , 胜负之役小太刀 - 源能专家 , 胜负之役重剑 - 源能专家 , 胜负之役源力剑 - 源能专家 +def entry_771(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用[源能提炼]能量时,额外消耗1个能量,使技能冷却时间减少20%,效果持续5秒。 (觉醒技能除外)', '', '可通过[源能提炼],强化[聚能光幕]', '- 强化时, 最大蓄气攻击力 +40%', '- 强化时,以蓄气60%的状态发动多段攻击次数。', '', '[源能提炼]基本累积数 +2'] + if mode == 0: + pass + if mode == 1: + char.get_skill_by_name("CEAB-2超能爆发").倍率 *= 1.5 + char.技能冷却缩减(1, 100, 0.2, excName=char.觉醒技能) + char.单技能加成('绝望圆舞',1.15) + char.单技能加成('临界源能弹',1.15) + pass + + +# 固定装备:胜负之役长刀 - 暗刃 , 胜负之役小太刀 - 暗刃 , 胜负之役重剑 - 暗刃 , 胜负之役源力剑 - 暗刃 +def entry_775(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['可强制中断转职技能的施放后僵直并立即发动[轮盘连射]。', '强制中断转职技能并施放[轮盘连射]时,发动以下效果。', '- 强制中断技能的冷却时间 -20%', '- [轮盘连射]冷却时间 -50%', '-\xa08秒内攻击速度 +7% (最多叠加3次)'] + if mode == 0: + pass + if mode == 1: + char.技能攻击力加成(0.07) + char.攻击速度增加(0.25,part) + char.单技能加成('轮盘连射',CD=0.5) + char.单技能加成('致命焰火',1.1) + pass + + +# 固定装备:胜负之役短剑 - 黑暗武士 , 胜负之役太刀 - 黑暗武士 , 胜负之役钝器 - 黑暗武士 , 胜负之役巨剑 - 黑暗武士 , 胜负之役光剑 - 黑暗武士 +def entry_779(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[时间停滞]最大连击能量增加1阶段。', '- 连击能量6阶段攻击力:220%', '', '通过干涉时间,强化[时间主宰]效果。', '- 施放其他连击技能栏技能时,获得连击能量。', '- 施放扩展技能栏技能时,也不会结束现有连招技能。', '- [时间主宰]效果持续时间 +2秒'] + if mode == 0: + char.技能攻击力加成(0.1) + char.get_skill_by_name("时间停滞").连击倍率 = [1.0,1.3,1.5,1.8,2.0,2.4] + char.单技能加成('邪影升龙斩',1.05) + if mode == 1: + pass + + +# 固定装备:胜负之役矛 - 缔造者 , 胜负之役棍棒 - 缔造者 , 胜负之役魔杖 - 缔造者 , 胜负之役法杖 - 缔造者 , 胜负之役扫把 - 缔造者 +def entry_783(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['施放[末日虫洞]时,召唤[终末之钟]展开隔离时间区域。', '隔离时间区域在5秒后,或者追加技能键时,领域崩坏并发生爆炸。', '对[终末之钟]使用烈炎、寒冰、风暴系列技能攻击2次时,增加爆炸攻击力。', '- 爆发伤害: [末日虫洞]攻击力的100%', '- 每2次攻击增加5%的爆炸攻击力。 (最多增加50%)', '', '[风暴漩涡]强化', '- 吸附范围 +30%', '- [风暴漩涡]能量消耗量 -35%', '', '穿戴时[风暴漩涡]能量从0开始恢复。'] + if mode == 0: + char.技能攻击力加成(0.08) + char.单技能加成('末日虫洞', 1.1) + pass + if mode == 1: + char.单技能加成('末日虫洞', 1.5) + char.get_skill_by_name('风暴漩涡').最小值 *= 0.65 + pass + + +# 固定装备:胜负之役左轮枪 - 合金战士 , 胜负之役自动手枪 - 合金战士 , 胜负之役步枪 - 合金战士 , 胜负之役手炮 - 合金战士 , 胜负之役手弩 - 合金战士 +def entry_787(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['使用超频技能强制中断转职技能时,获得1个电能。 (最多获得1个)', '', '施放技能时,消耗1个电能,使35级以上技能 ([AT-SO步行者]除外) 增加20%的攻击力,效果持续20秒。', '', '以下技能增加20%的攻击力。', '- [炎神攻城炮]', '- [超频:电流闪踢]'] + if mode == 0: + pass + if mode == 1: + char.技能倍率加成(35,100,0.2,excName=["AT-SO步行者"]) + char.单技能加成('超频:电流闪踢', 1.2) + char.单技能加成('炎神攻城炮', 1.2) + pass + + +# 固定装备:吞噬本源短剑 , 吞噬本源太刀 , 吞噬本源钝器 , 吞噬本源巨剑 , 吞噬本源光剑 , 吞噬本源手套 , 吞噬本源臂铠 , 吞噬本源爪 , 吞噬本源拳套 , 吞噬本源东方棍 , 吞噬本源左轮枪 , 吞噬本源自动手枪 , 吞噬本源步枪 , 吞噬本源手炮 , 吞噬本源手弩 , 吞噬本源矛 , 吞噬本源棍棒 , 吞噬本源魔杖 , 吞噬本源法杖 , 吞噬本源扫把 , 吞噬本源十字架 , 吞噬本源念珠 , 吞噬本源图腾 , 吞噬本源镰刀 , 吞噬本源战斧 , 吞噬本源匕首 , 吞噬本源双剑 , 吞噬本源手杖 , 吞噬本源苦无 , 吞噬本源长枪 , 吞噬本源战戟 , 吞噬本源光枪 , 吞噬本源暗矛 , 吞噬本源长刀 , 吞噬本源小太刀 , 吞噬本源重剑 , 吞噬本源源力剑 , 吞噬本源神弦弓 , 吞噬本源玄机弓 , 吞噬本源强攻弩 , 吞噬本源妖影弓 +def entry_791(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '所有技能等级 +1 (觉醒技能除外)'] + if mode == 0: + char.技能攻击力加成(0.1) + char.技能等级加成('所有', 1, 100, 1, excName=char.觉醒技能) + if mode == 1: + pass + + +# 固定装备:寂灭之信光枪 , 寂灭之信战戟 , 寂灭之信暗矛 , 寂灭之信长枪 , 寂灭之信拳套 , 寂灭之信爪 , 寂灭之信臂铠 , 寂灭之信手套 , 寂灭之信东方棍 , 寂灭之信源力剑 , 寂灭之信长刀 , 寂灭之信重剑 , 寂灭之信小太刀 , 寂灭之信自动手枪 , 寂灭之信手弩 , 寂灭之信手炮 , 寂灭之信步枪 , 寂灭之信左轮枪 , 寂灭之信扫把 , 寂灭之信棍棒 , 寂灭之信魔杖 , 寂灭之信矛 , 寂灭之信法杖 , 寂灭之信战斧 , 寂灭之信十字架 , 寂灭之信念珠 , 寂灭之信镰刀 , 寂灭之信图腾 , 寂灭之信光剑 , 寂灭之信钝器 , 寂灭之信太刀 , 寂灭之信巨剑 , 寂灭之信短剑 , 寂灭之信苦无 , 寂灭之信匕首 , 寂灭之信双剑 , 寂灭之信手杖 , 寂灭之信神弦弓 , 寂灭之信玄机弓 , 寂灭之信强攻弩 , 寂灭之信妖影弓 +def entry_1300(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能伤害 +10%', '', '攻击时,使敌人进入出血/中毒/灼伤/感电状态10秒。 (冷却时间3秒)', '', '每3秒恢复1%的生命值/魔法值。', '', '所有异常状态抗性 +20%'] + if mode == 0: + char.技能攻击力加成(part=part, x=0.1) + for i in ['出血', '灼伤', '中毒', '感电']: + if i not in pa.get_state_type(): + pa.state_type.append(i) + char.异常时间[i][3] = min(char.异常时间[i][3],3) + char.所有异常抗性加成(0.2,mode=0) + pass + if mode == 1: + pass + + +# 固定装备:怒战之意光枪 , 怒战之意战戟 , 怒战之意暗矛 , 怒战之意长枪 , 怒战之意拳套 , 怒战之意爪 , 怒战之意臂铠 , 怒战之意手套 , 怒战之意东方棍 , 怒战之意源力剑 , 怒战之意长刀 , 怒战之意重剑 , 怒战之意小太刀 , 怒战之意自动手枪 , 怒战之意手弩 , 怒战之意手炮 , 怒战之意步枪 , 怒战之意左轮枪 , 怒战之意扫把 , 怒战之意棍棒 , 怒战之意魔杖 , 怒战之意矛 , 怒战之意法杖 , 怒战之意战斧 , 怒战之意十字架 , 怒战之意念珠 , 怒战之意镰刀 , 怒战之意图腾 , 怒战之意光剑 , 怒战之意钝器 , 怒战之意太刀 , 怒战之意巨剑 , 怒战之意短剑 , 怒战之意苦无 , 怒战之意匕首 , 怒战之意双剑 , 怒战之意手杖 , 怒战之意神弦弓 , 怒战之意玄机弓 , 怒战之意强攻弩 , 怒战之意妖影弓 +def entry_1304(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['所有属性强化 +30', '装备的物体伤害 +20%', '技能范围 +24%', '', '技能范围的属性数值的总和高于48%时,技能伤害 +8%', '', '攻击速度 +20%', '移动速度 +20%', '施放速度 +30%', '生命值最大值 +5%', '魔法值最大值 +5%'] + if mode == 0: + char.set_eq_params('skill_range', char.get_eq_params('skill_range')+0.08*3) + char.multiply_eq_params('skill_range_multi',1.24) + char.所有速度增加(part=part, x=0.2) + char.施放速度增加(0.1) + char.所有属性强化加成(30) + pass + if mode == 1: + if char.get_eq_params('skill_range') >= 0.48: + char.技能攻击力加成(0.08) + else: + return '技能范围不足 48%' + pass + + +# 固定装备:冰封之御光枪 , 冰封之御战戟 , 冰封之御暗矛 , 冰封之御长枪 , 冰封之御拳套 , 冰封之御爪 , 冰封之御臂铠 , 冰封之御手套 , 冰封之御东方棍 , 冰封之御源力剑 , 冰封之御长刀 , 冰封之御重剑 , 冰封之御小太刀 , 冰封之御自动手枪 , 冰封之御手弩 , 冰封之御手炮 , 冰封之御步枪 , 冰封之御左轮枪 , 冰封之御扫把 , 冰封之御棍棒 , 冰封之御魔杖 , 冰封之御矛 , 冰封之御法杖 , 冰封之御战斧 , 冰封之御十字架 , 冰封之御念珠 , 冰封之御镰刀 , 冰封之御图腾 , 冰封之御光剑 , 冰封之御钝器 , 冰封之御太刀 , 冰封之御巨剑 , 冰封之御短剑 , 冰封之御苦无 , 冰封之御匕首 , 冰封之御双剑 , 冰封之御手杖 , 冰封之御神弦弓 , 冰封之御玄机弓 , 冰封之御强攻弩 , 冰封之御妖影弓 +def entry_1308(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +40% (觉醒技能除外)', '冰属性攻击', '', '@[酷寒一击]@', '[冰冻打击]属性变更为技能伤害 +5%。', '', '攻击敌人时,将冰冻添加为敌人的弱点异常状态。', '', '攻击时,使敌人进入冰冻状态5秒。 (冷却时间3秒)', '', '冰属性抗性 +15', '冰冻抗性 +40%', '', '解除穿戴时,发动魔力点燃减益效果。', '- 每1秒减少10%/5000的魔法值。', '- 重新穿戴冰封之御武器时,魔力点燃效果消失。'] + if mode == 0: + char.set_eq_params('ice_attack_rate', 1/3) + if '冰冻' not in pa.get_state_type(): + pa.state_type.append('冰冻') + char.异常时间['冰冻'][3] = min(char.异常时间['冰冻'][3],3) + char.冰属性抗性加成(15) + char.异常抗性加成('冰冻', 0.4) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.4, excName=char.觉醒技能) + pass + + +# 固定装备:胜负之役神弦弓 - 缪斯 +def entry_1483(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[多彩感性]单人挑战时,独立攻击力 +20%', '', '[音波冲击]技能范围 +20%', '[音波冲击]技能结束时,追加生成音波', '- 追加音波在2秒内生成5次', '- 追加音波攻击力:每1次为第三次音波攻击力的30%', '施放[缪斯之声]时追加生成聚光灯,继而强化技能。', '- [缪斯之声]技能范围 +15%', '- [缪斯之声]技能伤害 +20%', '- [缪斯之声]攻击时,[音波冲击]的冷却时间初始化。', '穿戴时,向队员赋予[可爱节拍]效果增加8%的效果。', '- 解除穿戴时,可爱节拍效果消失。', '- 在增益强化装备栏穿戴时不适用该效果。', '', '[夜与梦]技能范围 +20%', '', '以下技能生命值恢复量减少50%。', '[夜与梦]', '[甜蜜柔歌]', '解除穿戴时,辅助职业50级技能增益效果 -50%', '- 重新穿戴时,恢复增益效果。', '- 使用复活币等情况下复活后,增益效果减少属性依然持续。'] + if mode == 0: + if char.类型 == '辅助': + buff = char.get_skill_by_name("BUFF") + buff.倍率 *= 1.08 + pass + if mode == 1: + pass + + + + +# 固定装备:胜负之役玄机弓 - 旅人 +def entry_1487(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[神雾兵仗·流星]冷却时间 -15%', '', '[神雾兵仗·北极星]光环最大持续时间增加7秒,可探索次数增加5次。', '[神雾兵仗·北极星]终结攻击发动后技能不结束。 (技能时间内最多发动1次终结攻击)', '- 终结攻击发动后再次按技能键时,可以结束技能。', '[装载:猛击]的弓术技能攻击力增加率 +5%', '[装载:闪攻]的弓术技能冷却时间减少率 +5%', '[营火]生命值恢复范围 +20%', '[营火]炖菜生命值恢复量 +50%'] + if mode == 0: + char.技能攻击力加成(0.06) + char.单技能加成('神雾兵仗·流星',1.15,0.85) + char.单技能加成('神雾兵仗·妖旋风',1.15,0.85) + char.单技能加成('神雾兵仗·北极星',1.1) + char.get_skill_by_name("神雾兵仗·北极星").hit0 += 5*4 + char.get_skill_by_name("装载:猛击").猛倍率 = 1.15 + char.get_skill_by_name("装载:闪攻").闪CDR = 0.85 + pass + if mode == 1: + pass + +# 固定装备:胜负之役强攻弩 - 猎人 +def entry_1854(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[神雾兵仗·流星]冷却时间 -15%', '', '[神雾兵仗·北极星]光环最大持续时间增加7秒,可探索次数增加5次。', '[神雾兵仗·北极星]终结攻击发动后技能不结束。 (技能时间内最多发动1次终结攻击)', '- 终结攻击发动后再次按技能键时,可以结束技能。', '[装载:猛击]的弓术技能攻击力增加率 +5%', '[装载:闪攻]的弓术技能冷却时间减少率 +5%', '[营火]生命值恢复范围 +20%', '[营火]炖菜生命值恢复量 +50%'] + if mode == 0: + char.单技能加成('重型穿甲箭',1.3) + char.技能攻击力加成(0.05) + char.单技能加成('三弓床弩',1.12) + char.单技能加成('终结穿刺',1.12) + pass + if mode == 1: + pass + +# 固定装备:胜负之役妖影弓 - 妖护使 +def entry_1858(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['[神雾兵仗·流星]冷却时间 -15%', '', '[神雾兵仗·北极星]光环最大持续时间增加7秒,可探索次数增加5次。', '[神雾兵仗·北极星]终结攻击发动后技能不结束。 (技能时间内最多发动1次终结攻击)', '- 终结攻击发动后再次按技能键时,可以结束技能。', '[装载:猛击]的弓术技能攻击力增加率 +5%', '[装载:闪攻]的弓术技能冷却时间减少率 +5%', '[营火]生命值恢复范围 +20%', '[营火]炖菜生命值恢复量 +50%'] + if mode == 0: + char.get_skill_by_name("妖兽化").CP倍率 = 1 + char.技能攻击力加成(0.16) + char.单技能加成('凶兽噬咬',1.15) + char.单技能加成('盛怒狂潮',1.15) + char.单技能加成('神妖之爪',1.15) + pass + if mode == 1: + pass + + +# 固定装备:先驱者的匕首 , 先驱者的双剑 , 先驱者的手杖 , 先驱者的短剑 , 先驱者的太刀 , 先驱者的钝器 , 先驱者的巨剑 , 先驱者的光剑 , 先驱者的手套 , 先驱者的臂铠 , 先驱者的爪 , 先驱者的拳套 , 先驱者的东方棍 , 先驱者的左轮枪 , 先驱者的自动手枪 , 先驱者的步枪 , 先驱者的手炮 , 先驱者的手弩 , 先驱者的矛 , 先驱者的棍棒 , 先驱者的魔杖 , 先驱者的法杖 , 先驱者的扫把 , 先驱者的十字架 , 先驱者的念珠 , 先驱者的图腾 , 先驱者的镰刀 , 先驱者的战斧 , 先驱者的苦无 , 先驱者的长枪 , 先驱者的战戟 , 先驱者的光枪 , 先驱者的暗矛 , 先驱者的长刀 , 先驱者的小太刀 , 先驱者的重剑 , 先驱者的源力剑 , 先驱者的神弦弓 , 先驱者的玄机弓 , 先驱者的强攻弩 , 先驱者的妖影弓 +def entry_1726(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['1~100级技能等级 +2', '', '50、85、100级主动技能攻击力 +30%', '50、85、100级主动技能冷却时间 -20%', ' (辅助职业不适用该效果)', '', '解除穿戴时,发动魔力点燃效果,每1秒减少10%和5000的魔法值。', '- 重新穿戴先驱者武器时,魔力点燃效果消失。', '- 使用复活币等情况下复活后,魔力点燃效果依然持续。'] + if mode == 0: + pass + if mode == 1: + char.技能等级加成('所有', 1, 100, 2) + char.技能倍率加成(50, 50, 0.3) + char.技能倍率加成(85, 85, 0.3) + char.技能倍率加成(100, 100, 0.3) + if char.类型 != "辅助": + char.技能冷却缩减(50, 50, 0.2) + char.技能冷却缩减(85, 85, 0.2) + char.技能冷却缩减(100, 100, 0.2) + pass + +def entry_2000(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['技能冷却时间恢复速度 +30% (觉醒技能除外)', '@[酷寒一击]@', '[冰冻打击]属性变更为技能伤害 +5%。', '冰冻抗性 +40%'] + if mode == 0: + char.set_eq_params('ice_attack_rate', 1/3) + char.异常抗性加成('冰冻', 0.4) + pass + if mode == 1: + char.技能恢复加成(1, 100, 0.3, excName=char.觉醒技能) + pass + +def entry_2002(char: CharacterProperty = {}, mode=0, text=False, part='', lv=0, params=[], sj=False, carry=True): + if text: + return ['1~100级技能等级 +2', '', '50、85、100级主动技能攻击力 +30%', '50、85、100级主动技能冷却时间 -20%', ' (辅助职业不适用该效果)', '', '解除穿戴时,发动魔力点燃效果,每1秒减少10%和5000的魔法值。', '- 重新穿戴先驱者武器时,魔力点燃效果消失。', '- 使用复活币等情况下复活后,魔力点燃效果依然持续。'] + if mode == 0: + pass + if mode == 1: + char.技能等级加成('所有', 1, 100, 2) + char.技能倍率加成(50, 50, 0.3) + char.技能倍率加成(85, 85, 0.3) + char.技能倍率加成(100, 100, 0.3) + if char.类型 != "辅助": + char.技能冷却缩减(50, 50, 0.2) + char.技能冷却缩减(85, 85, 0.2) + char.技能冷却缩减(100, 100, 0.2) + pass \ No newline at end of file diff --git a/api/core/equipment/jade.py b/api/core/equipment/jade.py new file mode 100644 index 00000000..b7fe4a83 --- /dev/null +++ b/api/core/equipment/jade.py @@ -0,0 +1,210 @@ +from core.basic.property import CharacterProperty + +jade_func_list = {} + +# 名望 最小值 最大值 单位 分段 属性 +index = ("maxFame", "min", "max", "unit", "pre", "props", "order") + + +def jade_26000(char: CharacterProperty = {}, text=False, value=0): + if text: + return "(0, 1, 1, '', 0, '无',-1)" + + +def jade_26001(char={}, text=False, value=0): + if text: + return "(56, 1, 1, '', 0, '其它',2)" + + +def jade_26002(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[附加伤害增加]增幅',1)" + char.附加伤害增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26003(char={}, text=False, value=0): + if text: + return "(76, -6, 6, '%', 0.1, '技能伤害增加',0)" + char.技能攻击力加成(value/100) + + +def jade_26004(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[暴击伤害增加]增幅',1)" + char.暴击伤害增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26005(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[伤害增加]增幅',1)" + char.伤害增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26006(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[最终伤害增加]增幅',1)" + char.最终伤害增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26007(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[物理/魔法/独立攻击力增加]增幅',1)" + char.物理魔法攻击力增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26008(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[力量智力增加]增幅',1)" + char.力量智力增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26009(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[装备属性强化增加]增幅',1)" + char.所有属性强化增幅 += value/100 + + +def jade_26010(char={}, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, '[属性附加伤害增加]增幅',1)" + char.属性附加伤害增加增幅 += value/100 + char.百分比攻击强化加成(value/100) + + +def jade_26011(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv10~15技能Lv增加',1)" + char.技能等级加成('所有', 10, 15, int(value)) + + +def jade_26012(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv20~25技能Lv增加',1)" + char.技能等级加成('所有', 20, 25, int(value)) + + +def jade_26013(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv30~35技能Lv增加',1)" + char.技能等级加成('所有', 30, 35, int(value)) + + +def jade_26014(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv40~45技能Lv增加',1)" + char.技能等级加成('所有', 40, 45, int(value)) + + +def jade_26015(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv55~60技能Lv增加',1)" + char.技能等级加成('所有', 55, 60, int(value)) + + +def jade_26016(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv65~70技能Lv增加',1)" + char.技能等级加成('所有', 65, 70, int(value)) + + +def jade_26017(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, 'Lv75~80技能Lv增加',1)" + char.技能等级加成('所有', 75, 80, int(value)) + + +def jade_26018(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, '一次觉醒技能Lv增加',1)" + char.技能等级加成('主动', 50, 50, int(value)) + + +def jade_26019(char={}, text=False, value=0): + if text: + return "(68, 1, 1, 'Lv+1', 0, '二次觉醒技能Lv增加',1)" + char.技能等级加成('主动', 85, 85, int(value)) + + +# 辟邪玉效果id范围 26001~26999 +for i in range(26001, 26206): + try: + if i not in jade_func_list.keys(): + jade_func_list[i] = eval('jade_{}'.format(i)) + except Exception: + pass + + +def jade_26201(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -25, 25, '', 1, 'Lv30 Buff技能力智增加',1)" + char.辅助属性加成(buff固定力智=value, 百分比buff量=value / 1000) + + +def jade_26202(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, 'Lv30 Buff技能力智增加%',1)" + char.辅助属性加成(buff百分比力智=value / 100, 百分比buff量=value / 200) + + +def jade_26203(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -5, 5, '', 1, 'Lv30 Buff技能三攻增加',1)" + char.辅助属性加成(buff固定三攻=value, 百分比buff量=value / 200) + + +def jade_26204(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, 'Lv30 Buff技能三攻增加%',1)" + char.辅助属性加成(buff百分比三攻=value / 100, 百分比buff量=value / 200) + + +def jade_26205(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -100, 100, '', 1, 'Lv50 主动技能力智增加',1)" + char.辅助属性加成(觉醒固定力智=value, 百分比buff量=value / 4000) + + +def jade_26206(char=CharacterProperty, text=False, value=0): + if text: + return "(76, -5, 5, '%', 0.1, 'Lv50 主动技能力智增加%',1)" + char.辅助属性加成(觉醒百分比力智=value/100, 百分比buff量=value / 200) + + +def jade_26207(char={}, text=False, value=0): + if text: + return "(55, -5, 5, '%', 0.1, '攻击、移动、施放速度',1)" + char.攻击速度增加(value/100) + + +for i in range(26201, 26210): + try: + if i not in jade_func_list.keys(): + jade_func_list[i] = eval('jade_{}'.format(i)) + sorted(jade_func_list, key=lambda x: eval(x(text=True))[6]) + except Exception: + pass + + +def get_jadefunc_by_id(id): + return jade_func_list.get(int(id), jade_26000) + + +def get_jade_setinfo(): + infolist = [] + for i in jade_func_list.keys(): + data = {} + data['id'] = i + info = eval(jade_func_list[i](text=True)) + num = 0 + for k in index: + data[k] = info[num] + num += 1 + infolist.append(data) + infolist = sorted(infolist, key=lambda x: x["order"]) + return infolist diff --git a/api/core/equipment/property.py b/api/core/equipment/property.py new file mode 100644 index 00000000..a86f7e1b --- /dev/null +++ b/api/core/equipment/property.py @@ -0,0 +1,601 @@ +# 看看就行, 计算细节通用的数据 + + +# region 增幅 + +# 增幅系数 = [0, 1, 2, 3, 4, 6, 8, 10, 12, 13, 17, 33, 50, 67, 108, 150, 192, 267, 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, 1417] +# 增幅系数_HF = [0, 1, 2, 3, 4, 6, 8, 10, 22, 28, 35, 42, 50, 67, 108, 150, 192, 267, 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, 1417] + +增幅系数 = (0, 1, 2, 3, 4, 6, 8, 10, 22, 28, 35, 42, 50, 67, 108, 150, 192, 267, + 342, 417, 500, 583, 667, 750, 833, 917, 1000, 1083, 1167, 1250, 1333, + 1417) +增幅成长系数 = {'稀有': 1, '神器': 1.3, '勇者': 1.1, '传说': 1.4, '史诗': 1.5, '神话': 1.6} +增幅品级加分 = {'稀有': 45, '神器': 45, '勇者': 45, '传说': 46, '史诗': 46, '神话': 46} +# 增幅品级底数 = {'稀有': 5, '神器': 6, '勇者': 5, '传说': 6, '史诗': 7, '神话': 8} +# 增幅品级底数_HF = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13} +增幅品级底数 = {'稀有': 10, '神器': 11, '勇者': 10, '传说': 11, '史诗': 12, '神话': 13} + + +def 增幅计算(装备等级, 品质, 强化等级, 版本='GF'): + if 版本 == 'GF': + if 品质 == "智慧产物": + return 0 + # return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - 0.00000001) + 增幅品级底数[品质] + # else: + return int((装备等级 + 增幅品级加分[品质]) * 增幅成长系数[品质] * 增幅系数[强化等级] / 100 - + 0.00000001) + 增幅品级底数[品质] + (0 if 强化等级 < 12 else 5) + + +# endregion + +# region 特殊装备&勋章 + +耳环强化系数 = (0, 83, 124, 166, 207, 248, 314, 370, 426, 482, 621, 970, 1455, 1941, + 2911, 4043, 5175, 7116, 9056, 10997, 13099, 15363, 17627, 19891, + 22155, 24420, 26684, 28948, 31212, 33476, 35740, 38004) +左右强化系数 = (0, 60, 90, 120, 150, 180, 210, 247, 285, 322, 360, 675, 1013, 1350, + 2025, 2812, 3600, 4950, 6300, 7650, 9112, 10688, 12262, 13838, 15412, + 16988, 18562, 20138, 21712, 23288, 24862, 26438) +勋章强化系数 = (0, 100, 120, 144, 173, 208, 250, 300, 320, 360, 400, 610, 1220, 2440, + 2684, 2952, 3838, 4989, 6486, 8432, 10962) +特殊成长系数 = { + '普通': 0.4, + '高级': 0.7, + '稀有': 1, + '神器': 1.25, + '传说': 1.35, + '史诗': 1.45, + '神话': 1.55 +} +特殊品级加分 = {'普通': 24, '高级': 30, '稀有': 26, '神器': 28, '传说': 29, '史诗': 30, '神话': 31} + + +def 耳环计算(装备等级, 品质, 强化等级): + if 品质 == "智慧产物": + return 0 + return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 耳环强化系数[强化等级]) + + +def 左右计算(装备等级, 品质, 强化等级): + if 品质 == "智慧产物": + return 0 + return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 左右强化系数[强化等级]) + + +def 勋章计算(装备等级, 品质, 强化等级): + return int((装备等级 + 特殊品级加分[品质]) / 2400 * 特殊成长系数[品质] * 勋章强化系数[强化等级]) + +# endregion + +# region 武器 + +武器强化系数 = (0, 2, 2.6, 3.6, 4.7, 5.8, 6.9, 8.2, 11, 14.6, 18.7, 26.9, 36.7, 43, + 49.2, 55.4, 61.7, 68, 74.3, 80.6, 86.9, 93.2, 99.5, 105.8, 112.1, + 118.3, 124.6, 130.9, 137.1, 143.4, 149.7, 156.0) +武器锻造系数 = (0, 2, 3, 4, 6, 8, 13, 18, 25, 32, 41) +武器成长系数 = { + '普通': 0.4, + '高级': 0.7, + '稀有': 1, + '神器': 1.25, + '勇者': 1.1, + '传说': 1.35, + '史诗': 1.45, + '神话': 1.55 +} +武器品级加分 = { + '普通': 8, + '高级': 8, + '稀有': 10, + '神器': 12, + '勇者': 11, + '传说': 13, + '史诗': 14, + '神话': 15 +} +武器类型系数 = { + '短剑': (1.095, 1.115), + '太刀': (1.095, 1.105), + '钝器': (1.11, 1.095), + '巨剑': (1.12, 1.09), + '光剑': (1.093, 1.09), + '手套': (1.095, 1.115), + '臂铠': (1.12, 1.09), + '爪': (1.1, 1.1), + '拳套': (1.105, 1.095), + '东方棍': (1.095, 1.1), + '左轮枪': (1.087, 1.077), + '自动手枪': (1.064, 1.094), + '步枪': (1.1, 1.085), + '手炮': (1.106, 1.064), + '手弩': (1.075, 1.085), + '矛': (1.12, 1.085), + '棍棒': (1.108, 1.09), + '魔杖': (1.09, 1.11), + '法杖': (1.095, 1.12), + '扫把': (1.1, 1.11), + '十字架': (1.1, 1.095), + '念珠': (1.09, 1.115), + '图腾': (1.105, 1.09), + '镰刀': (1.105, 1.105), + '战斧': (1.12, 1.085), + '匕首': (1.09, 1.089), + '双剑': (1.102, 1.08), + '手杖': (1.081, 1.115), + '苦无': (1.09, 1.11), + '长枪': (1.105, 1.09), + '战戟': (1.12, 1.085), + '光枪': (1.095, 1.115), + '暗矛': (1.095, 1.105), + '长刀': (1.108, 1.09), + '小太刀': (1.1, 1.1), + '重剑': (1.12, 1.09), + '源力剑': (1.095, 1.115), + # todo + '神弦弓': (1.1, 1.095), + '玄机弓': (1.108, 1.09), + '强攻弩': (1.12, 1.09), + '妖影弓': (1.095, 1.1) +} + + +def 武器强化计算(装备等级, 品质, 强化等级, 武器类型, 类型): + 武器系数 = (武器类型系数[武器类型][0 if 类型 == '物理' else 1]) + return int((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器强化系数[强化等级] * 武器系数) + + +def 锻造计算(装备等级, 品质, 锻造等级): + return round((装备等级 + 武器品级加分[品质]) / 8 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) + + +def 锻造四维(装备等级, 品质, 锻造等级): + return round((装备等级 + 武器品级加分[品质]) / 80 * 武器成长系数[品质] * 武器锻造系数[锻造等级]) + + +武器冷却惩罚系数 = { + '短剑': (1, 1, 1), + '太刀': (0.95, 0.95, 1), + '钝器': (1, 1, 1), + '巨剑': (1.05, 1, 1), + '光剑': (0.9, 1, 1), + '手套': (0.9, 1, 1), + '臂铠': (1.05, 1, 1), + '爪': (1, 1, 1), + '拳套': (0.9, 1, 1), + '东方棍': (1, 1, 1), + '左轮枪': (0.95, 1, 1), + '自动手枪': (0.9, 1, 1), + '步枪': (1, 1, 1), + '手炮': (1.05, 1, 1), + '手弩': (0.9, 1, 1), + '矛': (1, 0.95, 1), + '棍棒': (0.95, 1, 1), + '魔杖': (0.95, 1, 1), + '法杖': (1, 1.05, 1), + '扫把': (1, 1, 1), + '十字架': (1, 0.95, 1), + '念珠': (0.95, 1, 1), + '图腾': (1, 0.95, 1), + '镰刀': (0.95, 1, 1), + '战斧': (1.05, 0.9, 1), + '匕首': (0.9, 0.95, 1), + '双剑': (1.05, 0.9, 1), + '手杖': (1, 1.05, 1), + '苦无': (1, 1, 1), + '长枪': (1, 1, 1), + '战戟': (1.1, 0.9, 1), + '光枪': (1, 1, 1), + '暗矛': (0.95, 0.95, 1), + '长刀': (1, 1, 1), + '小太刀': (0.95, 1, 1), + '重剑': (1.05, 1, 1), + '源力剑': (1, 1, 1), + # todo + '神弦弓': (1, 1, 1), + '玄机弓': (1, 1, 1), + '强攻弩': (1.05, 1, 1), + '妖影弓': (0.95, 0.95, 1) +} + +MP系数 = { + '短剑': (1, 1.15, 1), + '太刀': (0.95, 1.05, 1), + '钝器': (1.1, 0.95, 1), + '巨剑': (1.2, 0.9, 1), + '光剑': (0.9, 1, 1), + '手套': (0.95, 1.15, 1), + '臂铠': (1.2, 0.9, 1), + '爪': (1, 1, 1), + '拳套': (1.05, 0.95, 1), + '东方棍': (0.95, 1, 1), + '左轮枪': (1, 0.9, 1), + '自动手枪': (0.7, 1.1, 1), + '步枪': (1.1, 0.95, 1), + '手炮': (1.25, 0.75, 1), + '手弩': (0.9, 1, 1), + '矛': (1.1, 0.95, 1), + '棍棒': (1, 1, 1), + '魔杖': (0.95, 1, 1), + '法杖': (1, 1.1, 1), + '扫把': (1, 1, 1), + '十字架': (1, 0.95, 1), + '念珠': (0.9, 1.15, 1), + '图腾': (1.05, 0.9, 1), + '镰刀': (0.95, 1, 1), + '战斧': (1.2, 0.85, 1), + '匕首': (1, 0.9, 1), + '双剑': (1.2, 0.8, 1), + '手杖': (0.95, 1.15, 1), + '苦无': (1, 1.1, 1), + '长枪': (1.1, 1, 1), + '战戟': (1.2, 0.9, 1), + '光枪': (1, 1.15, 1), + '暗矛': (0.95, 1.05, 1), + '长刀': (1.1, 1, 1), + '小太刀': (1, 1, 1), + '重剑': (1.2, 0.9, 1), + '源力剑': (1, 1.15, 1), + # todo + '神弦弓': (1, 1, 1), + '玄机弓': (1.1, 1, 1), + '强攻弩': (1.2, 0.9, 1), + '妖影弓': (0.95, 1, 1) +} + + +def 武器冷却惩罚(武器类型, 输出类型): + 类型系数 = (0 if 输出类型 == '物理百分比' else (1 if 输出类型 == '魔法百分比' else 2)) + return 武器冷却惩罚系数[武器类型][类型系数] + # else: + # return 武器冷却惩罚系数_HF[武器类型][类型系数] + + +def 武器MP系数(武器类型, 输出类型, 版本='GF') -> float: + 类型系数 = (0 if 输出类型 == '物理百分比' else (1 if 输出类型 == '魔法百分比' else 2)) + if 版本 == 'GF': + return MP系数[武器类型][类型系数] + +# endregion + +# region 防具 + +# 部位系数 = {'上衣': 0.30, '头肩': 0.20, '下装': 0.25, '腰带': 0.10, '鞋': 0.15} +# 品级加分 = {'稀有': 5, '神器': 8, '勇者': 11, '传说': 14, '史诗': 17, '智慧产物': 17, '神话': 18} + + +# def 精通计算(装备等级, 品质, 强化等级, 部位): +# return round((20 + 2.5 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + +# def 辅助精通计算(装备等级, 品质, 强化等级, 部位): +# return round((4 + (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + +甲类系数 = {'皮甲': 2.9,'板甲':2.9,'重甲':3.1,'轻甲':3.2,'布甲':3.2} +部位系数 = {'上衣': 0.30, '头肩': 0.20, '下装': 0.25, '腰带': 0.10, '鞋': 0.15} +品级加分 = {'稀有': 5, '神器': 8, '勇者': 11, '传说': 14, '史诗': 17, '智慧产物': 17, '神话': 18} + +def 精通计算(装备等级, 品质, 强化等级, 部位, 甲类): + return round((20 + 甲类系数[甲类] * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + +def 辅助精通计算(装备等级, 品质, 强化等级, 部位, 属性): + if 属性 == '智力': + return round((8 + 2.4 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + if 属性 == '体力': + return round((4 + 1.6 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + if 属性 == '精神': + return round((8 + 0.8 * (装备等级 + 品级加分[品质] + int(强化等级 / 3))) * 部位系数[部位], 2) + +# endregion + +# region 词条基础成长 + + +# 成长词条系数 = (0, 3, 5, 8, 10, 13, 16, 18, 21, 24, 34, 37, 40, 43, 46, 49, 51, 54, 56, 59, 74, 76, 79, 81, 84, 86, 88, 91, 93, 96, 109, 111, 113, 116, +# 118, 121, 123, 125, 128, 130, 143, 145, 148, 150, 152, 154, 156, 159, 161, 163, 174, 176, 178, 179, 181, 183, 185, 187, 188, 190, 199, +# 201, 203, 205, 207, 209, 211, 212, 214) +成长词条系数 = (1, 1.01913, 1.03856, 1.05796, 1.07705, 1.0966, 1.11555, 1.13502, 1.15463, 1.26582, 1.28489, 1.30429, 1.32348, 1.34284, 1.36231, 1.38139, 1.40079, 1.41987, 1.43941, 1.55071, 1.56832, 1.58644, 1.60413, 1.62212, 1.63976, 1.65739, 1.67545, 1.69321, 1.71125, 1.80769, 1.82541, 1.84309, 1.86113, 1.87874, 1.89694, 1.91448, 1.93209, 1.95008, 1.96782, 2.06436, 2.08055, 2.09719, 2.11341, 2.12971, 2.14602, 2.16218, 2.17885, 2.19506, 2.21141, 2.29302,2.30639, 2.31989, 2.33291, 2.34639, 2.35987, 2.37322, 2.38686, 2.3997, 2.4132, 2.48006, 2.49348, 2.50698, 2.52048, 2.53332, 2.54682, 2.56026, 2.57362, 2.58712, 2.60017, 2.66693, 2.68043, 2.69387, 2.70732, 2.72086, 2.73386, 2.74729, 2.76072, 2.77413, 2.78771, 2.85435, 2.86764, 2.88093, 2.89435, 2.90756, 2.92109, 2.93434, 2.9477, 2.96089, 2.97461, 3.04871, 3.06215, 3.07546, 3.08886, 3.10212, 3.11574, 3.12899, 3.14229, 3.15584, 3.16885, 3.24308, 3.25655, 3.27008, 3.28333, 3.29668, 3.30993, 3.32333, 3.33682, 3.34987, 3.36333, 3.43781, 3.45075, 3.46436, 3.47788, 3.49091, 3.50447, 3.51778, 3.53109, 3.54453, 3.55794, 3.63215, 3.64562, 3.65879, 3.67226, 3.68573, 3.6989, 3.71237, 3.72554, 3.73901, 3.75248, 3.82671, 3.83988, 3.85335, 3.86652, 3.87999, 3.89345, 3.90662, 3.92009, 3.93326, 3.94673, 4.02096) + +# 奶成长词条系数 = (1, 1.0184, 1.0369, 1.0559, 1.0753, 1.093, 1.1125, 1.1308, 1.1493, 1.2602, 1.2794, 1.2975, 1.3168, 1.3353, 1.3546, 1.3731, 1.3919, 1.4107, +# 1.4294, 1.5397, 1.5565, 1.5733, 1.5898, 1.6065, 1.6232, 1.64, 1.6559, 1.6729, 1.6899, 1.7858, 1.8023, 1.8192, 1.8359, 1.8525, 1.8684, 1.8858, +# 1.9024, 1.9191, 1.9358, 2.0318, 2.0485, 2.0651, 2.0808, 2.0983, 2.1151, 2.1317, 2.1485, 2.1648, 2.1817, 2.263, 2.2755, 2.2875, 2.3003, 2.3131, +# 2.3256, 2.338, 2.3505, 2.3629, 2.3754, 2.4423, 2.4547, 2.467, 2.4798, 2.4915, 2.5041, 2.5173, 2.5297, 2.5421, 2.5548, 2.6193, 2.6314, 2.6444, +# 2.657, 2.6694, 2.6815, 2.6937, 2.706, 2.7187, 2.7309, 2.7948) + + +def 成长词条计算(基础, 等级,version = 0): + # if 等级 > 81: + # raise ResponseException("目前最大支持到80级") + if 等级 == 1: + return 基础 + return round(134.715 * round(round(基础*10) / 134.715, 2) * 成长词条系数[min(80+60-1, 等级 - 1)])/10 + + +def 奶成长词条计算(基础, 等级): + return 成长词条计算(基础, 等级) + + +# endregion + +# region 角色基础属性 + +当前等级 = 110 + +# 力量 体力 智力 精神 +角色基础系数 = { + '魔枪士': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), + '格斗家(女)': (5, 5, 4, 4, 7.5, 7.5, 4.5, 4.5), + '格斗家(男)': (5, 5, 4, 4, 7.5, 7.5, 4.5, 4.5), + '枪剑士': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), + '神枪手(女)': (4.5, 4.5, 4.5, 4.5, 6.5, 6.5, 5.5, 5.5), + '神枪手(男)': (4.5, 4.5, 4.5, 4.5, 6.5, 6.5, 5.5, 5.5), + '守护者': (4.8, 4.8, 4.2, 4.2, 7, 7, 5, 5), + '魔法师(女)': (4, 4, 5, 5, 4.5, 4.5, 7.5, 7.5), + '魔法师(男)': (3.5, 4, 5.5, 5, 4, 4.5, 8, 7.5), + '暗夜使者': (5, 4, 5, 4, 7.5, 5.5, 6.5, 4.5), + '缔造者': (4, 4, 5, 5, 4.5, 4.5, 7.5, 7.5), + '黑暗武士': (4.8, 4.8, 4.2, 4.2, 7.5, 7.5, 4.5, 4.5), + '鬼剑士(男)': (4.8, 4.8, 4.2, 4.2, 7.5, 7.5, 4.5, 4.5), + '鬼剑士(女)': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5), + '圣职者(男)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5), + '圣职者(女)': (4.7, 4.8, 4, 4.5, 6.5, 6.5, 4.5, 6.5), + # todo + '弓箭手': (4.6, 4.6, 4.4, 4.4, 7, 7, 5, 5) +} + +# 力量 体力 智力 精神 +职业基础数据 = { + '征战者-魔枪士': (5.5, 5.5, 3.5, 3.5), + '决战者-魔枪士': (5, 5, 4, 4), + '狩猎者-魔枪士': (3, 4.5, 6, 4.5), + '暗枪士-魔枪士': (3.5, 3.5, 5.5, 5.5), + '气功师-格斗家(女)': (3.5, 3.5, 5.5, 5.5), + '散打-格斗家(女)': (5.5, 5.5, 3.5, 3.5), + '街霸-格斗家(女)': (5, 4, 5, 4), + '柔道家-格斗家(女)': (5, 6, 3.5, 3.5), + '气功师-格斗家(男)': (3.5, 3.5, 5.5, 5.5), + '散打-格斗家(男)': (5.5, 5.5, 3.5, 3.5), + '街霸-格斗家(男)': (5, 4, 5, 4), + '柔道家-格斗家(男)': (5, 6, 3.5, 3.5), + '暗刃-枪剑士': (5.5, 5.5, 3.5, 3.5), + '特工-枪剑士': (5, 5, 4, 4), + '战线佣兵-枪剑士': (5.2, 5, 3.5, 4.3), + '源能专家-枪剑士': (3.5, 3.5, 5.5, 5.5), + '漫游枪手-神枪手(女)': (5.5, 5.5, 3.5, 3.5), + '枪炮师-神枪手(女)': (5.5, 5.5, 3.5, 3.5), + '机械师-神枪手(女)': (3.5, 3.5, 5.5, 5.5), + '弹药专家-神枪手(女)': (4.7, 4.3, 4.7, 4.3), + '漫游枪手-神枪手(男)': (5.5, 5.5, 3.5, 3.5), + '枪炮师-神枪手(男)': (5.5, 5.5, 3.5, 3.5), + '机械师-神枪手(男)': (3.5, 3.5, 5.5, 5.5), + '弹药专家-神枪手(男)': (4.7, 4.3, 4.7, 4.3), + '合金战士-神枪手(男)': (5.5, 5.5, 3.5, 3.5), + '精灵骑士-守护者': (5, 5, 4, 4), + '混沌魔灵-守护者': (3.5, 3.5, 5.5, 5.5), + '帕拉丁-守护者': (5, 5.5, 2, 5.5), + '龙骑士-守护者': (5, 5, 4, 4), + '元素师-魔法师(女)': (3.5, 3.5, 5.5, 5.5), + '召唤师-魔法师(女)': (3.8, 3.7, 5.3, 5.2), + '战斗法师-魔法师(女)': (5, 4, 5, 4), + '魔道学者-魔法师(女)': (4.5, 4, 5.2, 4.3), + '小魔女-魔法师(女)': (4.7, 4.8, 5.5, 4.5), + '元素爆破师-魔法师(男)': (3.5, 3.5, 5.5, 5.5), + '冰结师-魔法师(男)': (3.5, 3.7, 5.5, 5.2), + '血法师-魔法师(男)': (5.5, 5.5, 3.5, 3.5), + '逐风者-魔法师(男)': (5.5, 5.2, 3.5, 3.8), + '次元行者-魔法师(男)': (3.5, 3.5, 5.5, 5.5), + '刺客-暗夜使者': (5.3, 4.5, 4.2, 4), + '死灵术士-暗夜使者': (4.7, 3.5, 5.3, 4.5), + '忍者-暗夜使者': (4.5, 3.5, 5.5, 4.5), + '影舞者-暗夜使者': (5.5, 4.5, 4, 4), + '缔造者-魔法师(女)': (4, 4, 5, 5), + '黑暗武士-鬼剑士(男)': (4.8, 4.8, 4.2, 4.2), + '剑魂-鬼剑士(男)': (5, 5, 4, 4), + '鬼泣-鬼剑士(男)': (3.5, 3.5, 5.5, 5.5), + '狂战士-鬼剑士(男)': (5.5, 5.5, 3.5, 3.5), + '阿修罗-鬼剑士(男)': (3, 4.5, 6, 4.5), + '剑影-鬼剑士(男)': (5, 5, 4, 4), + '刃影-鬼剑士(女)': (5, 5, 4, 4), + '驭剑士-鬼剑士(女)': (5, 5, 4, 4), + '暗殿骑士-鬼剑士(女)': (3.5, 3.5, 5.5, 5.5), + '契魔者-鬼剑士(女)': (5.5, 5.5, 3.5, 3.5), + '流浪武士-鬼剑士(女)': (5.5, 5.5, 3.5, 3.5), + '圣骑士-圣职者(男)': (3.5, 5.5, 3.5, 5.5), + '蓝拳圣使-圣职者(男)': (5.2, 5, 3.9, 3.9), + '驱魔师-圣职者(男)': (5, 4, 5, 4), + '复仇者-圣职者(男)': (3.5, 3.5, 5.5, 5.5), + '圣骑士-圣职者(女)': (3.5, 5.5, 5.5, 3.5), + '异端审判者-圣职者(女)': (5.2, 5, 3.5, 4.3), + '巫女-圣职者(女)': (3.5, 3.5, 5.5, 5.5), + '诱魔者-圣职者(女)': (3.5, 3.5, 5.5, 5.5), + # todo + '缪斯-弓箭手': (3.5, 5.5, 3.5, 5.5), + '旅人-弓箭手': (5.5, 5.5, 3.5, 3.5), + '猎人-弓箭手': (5.5, 5.5, 3.5, 3.5), + '妖护使-弓箭手': (5.5, 5.5, 3.5, 3.5) +} + +# 火抗 冰抗 光抗 暗抗 + +职业属性抗性数据 = { + '征战者-魔枪士': (23, 23, 23, 23), + '决战者-魔枪士': (23, 23, 23, 23), + '狩猎者-魔枪士': (23, 23, 23, 23), + '暗枪士-魔枪士': (23, 23, 23, 23), + '气功师-格斗家(女)': (23, 23, 93, -7), + '散打-格斗家(女)': (23, 23, 43, 3), + '街霸-格斗家(女)': (23, 23, 43, 3), + '柔道家-格斗家(女)': (23, 23, 43, 3), + '气功师-格斗家(男)': (23, 23, 63, -7), + '散打-格斗家(男)': (23, 23, 43, 3), + '街霸-格斗家(男)': (23, 23, 43, 3), + '柔道家-格斗家(男)': (23, 23, 43, 3), + '暗刃-枪剑士': (23, 23, 23, 23), + '特工-枪剑士': (23, 23, 23, 23), + '战线佣兵-枪剑士': (23, 23, 23, 23), + '源能专家-枪剑士': (23, 23, 23, 23), + '漫游枪手-神枪手(女)': (23, 23, 23, 23), + '枪炮师-神枪手(女)': (23, 23, 23, 23), + '机械师-神枪手(女)': (23, 23, 23, 23), + '弹药专家-神枪手(女)': (23, 23, 23, 23), + '漫游枪手-神枪手(男)': (23, 23, 23, 23), + '枪炮师-神枪手(男)': (23, 23, 23, 23), + '机械师-神枪手(男)': (23, 23, 23, 23), + '弹药专家-神枪手(男)': (23, 23, 23, 23), + '合金战士-神枪手(男)': (23, 23, 23, 23), + '精灵骑士-守护者': (28, 28, 28, 28), + '混沌魔灵-守护者': (28, 28, 28, 28), + '帕拉丁-守护者': (28, 28, 28, 28), + '龙骑士-守护者': (28, 28, 28, 28), + '元素师-魔法师(女)': (23, 23, 23, 23), + '召唤师-魔法师(女)': (23, 23, 23, 23), + '战斗法师-魔法师(女)': (23, 23, 23, 23), + '魔道学者-魔法师(女)': (23, 23, 23, 23), + '小魔女-魔法师(女)': (23, 23, 23, 23), + '元素爆破师-魔法师(男)': (23, 23, 23, 23), + '冰结师-魔法师(男)': (23, 23, 23, 23), + '血法师-魔法师(男)': (23, 23, 23, 23), + '逐风者-魔法师(男)': (23, 23, 23, 23), + '次元行者-魔法师(男)': (23, 23, 23, 23), + '刺客-暗夜使者': (23, 23, 23, 23), + '死灵术士-暗夜使者': (23, 23, 3, 43), + '忍者-暗夜使者': (31, 23, 23, 23), + '影舞者-暗夜使者': (23, 23, 23, 23), + '缔造者-魔法师(女)': (23, 23, 23, 23), + '黑暗武士-鬼剑士(男)': (23, 23, 3, 43), + '剑魂-鬼剑士(男)': (23, 23, 3, 43), + '鬼泣-鬼剑士(男)': (23, 23, -7, 63), + '狂战士-鬼剑士(男)': (23, 23, 3, 43), + '阿修罗-鬼剑士(男)': (23, 23, 3, 43), + '剑影-鬼剑士(男)': (23, 23, 3, 43), + '刃影-鬼剑士(女)': (23, 23, 3, 43), + '驭剑士-鬼剑士(女)': (23, 23, 3, 43), + '暗殿骑士-鬼剑士(女)': (23, 23, 3, 43), + '契魔者-鬼剑士(女)': (23, 23, 3, 43), + '流浪武士-鬼剑士(女)': (23, 23, 3, 43), + '圣骑士-圣职者(男)': (23, 23, 23, 23), + '蓝拳圣使-圣职者(男)': (23, 23, 23, 23), + '驱魔师-圣职者(男)': (23, 23, 23, 23), + '复仇者-圣职者(男)': (23, 23, 23, 23), + '圣骑士-圣职者(女)': (23, 23, 43, 23), + '异端审判者-圣职者(女)': (23, 23, 23, 23), + '巫女-圣职者(女)': (23, 23, 23, 23), + '诱魔者-圣职者(女)': (23, 23, 23, 23), + # todo + '缪斯-弓箭手': (23, 23, 23, 23), + '旅人-弓箭手': (23, 23, 23, 23), + '猎人-弓箭手': (23, 23, 23, 23), + '妖护使-弓箭手': (23, 23, 23, 23) +} + +# 出血 中毒 灼伤 感电 冰冻 减速 眩晕 诅咒 失明 石化 睡眠 混乱 束缚 +职业异常抗性数据 = { + '征战者-魔枪士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '决战者-魔枪士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '狩猎者-魔枪士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '暗枪士-魔枪士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '气功师-格斗家(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0, 0, 0, 0), + '散打-格斗家(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '街霸-格斗家(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '柔道家-格斗家(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '气功师-格斗家(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0.05, 0, 0, 0, 0), + '散打-格斗家(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '街霸-格斗家(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '柔道家-格斗家(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '暗刃-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '特工-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '战线佣兵-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '源能专家-枪剑士': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '漫游枪手-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '枪炮师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '机械师-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '弹药专家-神枪手(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '漫游枪手-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '枪炮师-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '机械师-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '弹药专家-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '合金战士-神枪手(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '精灵骑士-守护者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '混沌魔灵-守护者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '帕拉丁-守护者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '龙骑士-守护者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '元素师-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '召唤师-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '战斗法师-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '魔道学者-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '小魔女-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0), + '元素爆破师-魔法师(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '冰结师-魔法师(男)': (0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0), + '血法师-魔法师(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '逐风者-魔法师(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '次元行者-魔法师(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '刺客-暗夜使者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '死灵术士-暗夜使者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '忍者-暗夜使者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '影舞者-暗夜使者': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '缔造者-魔法师(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '黑暗武士-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '剑魂-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '鬼泣-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '狂战士-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0.95, 0, 0, 0, 0.95, 0, 0), + '阿修罗-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0), + '剑影-鬼剑士(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '刃影-鬼剑士(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '驭剑士-鬼剑士(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '暗殿骑士-鬼剑士(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '契魔者-鬼剑士(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '流浪武士-鬼剑士(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '圣骑士-圣职者(男)': (0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0, 0.05), + '蓝拳圣使-圣职者(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '驱魔师-圣职者(男)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '复仇者-圣职者(男)': (0, 0, 0, 0, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3), + '圣骑士-圣职者(女)': (0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.05), + '异端审判者-圣职者(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '巫女-圣职者(女)': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '诱魔者-圣职者(女)': (0, 0, 0, 0, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5), + # todo + '缪斯-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '旅人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '猎人-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), + '妖护使-弓箭手': (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), +} + + +def 获取基础属性(角色, 职业): + + 角色数据 = 角色基础系数[角色] + 职业数据 = 职业基础数据[职业 + '-' + 角色] + + 唤醒 = (335 if 当前等级 >= 75 else (145 if 当前等级 >= 15 else 0)) + + # 力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + + # 职业数据[0] * max(当前等级 - 15, 0) + 唤醒 + 2.1 * min(71, 当前等级)) + # 体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + + # 职业数据[1] * max(当前等级 - 15, 0) + 唤醒 + 2.0 * min(71, 当前等级)) + # 智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + + # 职业数据[2] * max(当前等级 - 15, 0) + 唤醒 + 2.1 * min(71, 当前等级)) + # 精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + + # 职业数据[3] * max(当前等级 - 15, 0) + 唤醒 + 2.0 * min(71, 当前等级)) + 力量 = int(角色数据[4] + 角色数据[0] * min(14, 当前等级 - 1) + 职业数据[0] * max(当前等级 - 15, 0) + 唤醒 + 93 + 当前等级) + 体力 = int(角色数据[5] + 角色数据[1] * min(14, 当前等级 - 1) + 职业数据[1] * max(当前等级 - 15, 0) + 唤醒 + 93 + 当前等级) + 智力 = int(角色数据[6] + 角色数据[2] * min(14, 当前等级 - 1) + 职业数据[2] * max(当前等级 - 15, 0) + 唤醒 + 93 + 当前等级) + 精神 = int(角色数据[7] + 角色数据[3] * min(14, 当前等级 - 1) + 职业数据[3] * max(当前等级 - 15, 0) + 唤醒 + 93 + 当前等级) + return (力量, 智力, 体力, 精神) + + +def 获取属性抗性基础(角色, 职业): + return 职业属性抗性数据[职业 + '-' + 角色] + + +def 获取异常抗性基础(角色, 职业): + return 职业异常抗性数据[职业 + '-' + 角色] + + +刀魂之卡赞 = ( + 0, 31, 40, 48, 58, 67, 79, 90, 103, 116, 131, 145, 161, 178, 194, 212, 230, + 250, 270, 292, 313 +) + +部位列表 = ("上衣", "头肩", "下装", "腰带", "鞋", "手镯", "项链", "戒指", "耳环", "辅助装备", "魔法石", + "武器") + +# endregion + diff --git a/api/core/equipment/sundry.py b/api/core/equipment/sundry.py new file mode 100644 index 00000000..424316bd --- /dev/null +++ b/api/core/equipment/sundry.py @@ -0,0 +1,744 @@ +from core.basic.property import CharacterProperty + +sundries_list = {} + +# 名望 部位 描述 +index = ("maxFame", "position", "props") + + +def sundries_27000(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '', '无')" + if mode == 0: + pass + if mode == 1: + pass + +# region 冒险团 工会属性 训练官-攻击力 训练官-四维 婚房 婚戒 晶体契约 勋章 守护珠 勋章强化 名称装扮卡 快捷装备 27001~ + + +def sundries_27001(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '1')" + if mode == 0: + char.基础属性加成(四维=100) + pass + if mode == 1: + pass + + +def sundries_27002(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '2')" + if mode == 0: + char.基础属性加成(四维=110) + pass + if mode == 1: + pass + + +def sundries_27003(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '3')" + if mode == 0: + char.基础属性加成(四维=125) + pass + if mode == 1: + pass + + +def sundries_27004(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '4')" + if mode == 0: + char.基础属性加成(四维=140) + pass + if mode == 1: + pass + + +def sundries_2705(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '5')" + if mode == 0: + char.基础属性加成(四维=150) + pass + if mode == 1: + pass + + +def sundries_2706(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '6')" + if mode == 0: + char.基础属性加成(四维=160) + pass + if mode == 1: + pass + + +def sundries_27007(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '7')" + if mode == 0: + char.基础属性加成(四维=170) + pass + if mode == 1: + pass + + +def sundries_27008(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '8')" + if mode == 0: + char.基础属性加成(四维=180) + pass + if mode == 1: + pass + + +def sundries_27009(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '9')" + if mode == 0: + char.基础属性加成(四维=190) + pass + if mode == 1: + pass + + +def sundries_27010(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '10')" + if mode == 0: + char.基础属性加成(四维=200) + pass + if mode == 1: + pass + + +def sundries_27011(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '11')" + if mode == 0: + char.基础属性加成(四维=210) + pass + if mode == 1: + pass + + +def sundries_27012(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '12')" + if mode == 0: + char.基础属性加成(四维=170) + pass + if mode == 1: + pass + + +def sundries_27013(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '13')" + if mode == 0: + char.基础属性加成(四维=220) + pass + if mode == 1: + pass + + +def sundries_27014(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '14')" + if mode == 0: + char.基础属性加成(四维=220) + pass + if mode == 1: + pass + + +def sundries_27015(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '15')" + if mode == 0: + char.基础属性加成(四维=220) + pass + if mode == 1: + pass + + +def sundries_27016(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '16')" + if mode == 0: + char.基础属性加成(四维=230) + pass + if mode == 1: + pass + + +def sundries_27017(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '17')" + if mode == 0: + char.基础属性加成(四维=230) + pass + if mode == 1: + pass + + +def sundries_27018(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '18')" + if mode == 0: + char.基础属性加成(四维=240) + pass + if mode == 1: + pass + + +def sundries_27019(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '19')" + if mode == 0: + char.基础属性加成(四维=240) + pass + if mode == 1: + pass + + +def sundries_27020(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '20')" + if mode == 0: + char.基础属性加成(四维=250) + pass + if mode == 1: + pass + + +def sundries_27021(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '21')" + if mode == 0: + char.基础属性加成(四维=250) + pass + if mode == 1: + pass + + +def sundries_27022(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '22')" + if mode == 0: + char.基础属性加成(四维=250) + pass + if mode == 1: + pass + + +def sundries_27023(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '23')" + if mode == 0: + char.基础属性加成(四维=250) + pass + if mode == 1: + pass + + +def sundries_27024(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '24')" + if mode == 0: + char.基础属性加成(四维=250) + pass + if mode == 1: + pass + + +def sundries_27025(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '25')" + if mode == 0: + char.基础属性加成(四维=260) + pass + if mode == 1: + pass + + +def sundries_27026(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '26')" + if mode == 0: + char.基础属性加成(四维=260) + pass + if mode == 1: + pass + + +def sundries_27027(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '27')" + if mode == 0: + char.基础属性加成(四维=260) + pass + if mode == 1: + pass + + +def sundries_27028(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '28')" + if mode == 0: + char.基础属性加成(四维=260) + pass + if mode == 1: + pass + + +def sundries_27029(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '29')" + if mode == 0: + char.基础属性加成(四维=260) + pass + if mode == 1: + pass + + +def sundries_27030(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '30')" + if mode == 0: + char.基础属性加成(四维=270) + pass + if mode == 1: + pass + + +def sundries_27031(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '31')" + if mode == 0: + char.基础属性加成(四维=270) + pass + if mode == 1: + pass + + +def sundries_27032(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '32')" + if mode == 0: + char.基础属性加成(四维=270) + pass + if mode == 1: + pass + + +def sundries_27033(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '33')" + if mode == 0: + char.基础属性加成(四维=270) + pass + if mode == 1: + pass + + +def sundries_27034(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '34')" + if mode == 0: + char.基础属性加成(四维=270) + pass + if mode == 1: + pass + + +def sundries_27035(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '35')" + if mode == 0: + char.基础属性加成(四维=280) + pass + if mode == 1: + pass + + +def sundries_27036(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '36')" + if mode == 0: + char.基础属性加成(四维=280) + pass + if mode == 1: + pass + + +def sundries_27037(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '37')" + if mode == 0: + char.基础属性加成(四维=280) + pass + if mode == 1: + pass + + +def sundries_27038(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '38')" + if mode == 0: + char.基础属性加成(四维=280) + pass + if mode == 1: + pass + + +def sundries_27039(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '39')" + if mode == 0: + char.基础属性加成(四维=280) + pass + if mode == 1: + pass + + +def sundries_27040(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '冒险团', '40')" + if mode == 0: + char.基础属性加成(四维=290) + pass + if mode == 1: + pass + + +def sundries_27041(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会属性', '四维(60)')" + if mode == 0: + char.基础属性加成(四维=60) + pass + if mode == 1: + pass + + +def sundries_27042(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会属性', '四维(120)')" + if mode == 0: + char.基础属性加成(四维=120) + pass + if mode == 1: + pass + + +def sundries_27043(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-攻击力', 'Lv.1 三攻(25)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=25) + pass + + +def sundries_27044(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-攻击力', 'Lv.2 三攻(30)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=30) + pass + + +def sundries_27045(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-攻击力', 'Lv.3 三攻(35)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=35) + pass + + +def sundries_27046(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-攻击力', 'Lv.4 三攻(50)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=50) + pass + + +def sundries_27047(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-四维强化', 'Lv.1 四维(40)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=40) + pass + + +def sundries_27048(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-四维强化', 'Lv.2 四维(50)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=50) + pass + + +def sundries_27049(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-四维强化', 'Lv.3 四维(60)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=60) + pass + + +def sundries_27050(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '工会buff-四维强化', 'Lv.4 四维(80)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(四维=80) + pass + + +def sundries_27051(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚戒', '体精(8)')" + if mode == 0: + char.基础属性加成(体精=8) + pass + if mode == 1: + pass + + +def sundries_27052(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚戒', '体精(10)|力智(15)')" + if mode == 0: + char.基础属性加成(力智=15) + char.基础属性加成(体精=10) + pass + if mode == 1: + pass + + +def sundries_27053(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚房', '所有属性强化(1)')" + if mode == 0: + char.所有属性强化加成(1, 辟邪玉加成=0) + pass + if mode == 1: + pass + + +def sundries_27054(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚房', '所有属性强化(3)')" + if mode == 0: + char.所有属性强化加成(3, 辟邪玉加成=0) + pass + if mode == 1: + pass + + +def sundries_27055(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚房', '所有属性强化(5)|三攻(5)')" + if mode == 0: + char.所有属性强化加成(5, 辟邪玉加成=0) + char.基础属性加成(三攻=5) + pass + if mode == 1: + pass + + +def sundries_27056(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '婚房', '所有属性强化(8)|三攻(10/20)')" + if mode == 0: + char.所有属性强化加成(8, 辟邪玉加成=0) + char.基础属性加成(物理攻击力=10, 魔法攻击力=10, 独立攻击力=20) + pass + if mode == 1: + pass + +# 调用的时候前面的参数一个都不能少 +# sundries_27055({}, 0, False, 0, 2) + + +def sundries_27057(char: CharacterProperty = {}, mode=0, text=False, *args): + if text: + return "(0, '收集箱', '春节套')" + if mode == 0: + # 可变参数 + xy = 0 + sq = 0 + try: + xy = args[0] + except Exception: + pass + try: + sq = args[1] + except Exception: + pass + char.基础属性加成(四维=sq*15, 三攻=xy*15) + char.所有属性强化加成(sq*3) + if mode == 1: + pass + + +def sundries_27058(char: CharacterProperty = {}, mode=0, text=False, *args): + if text: + return "(0, '收集箱', '夏日套')" + if mode == 0: + # 可变参数 + xy = 0 + sq = 0 + try: + xy = args[0] + except Exception: + pass + try: + sq = args[1] + except Exception: + pass + char.基础属性加成(四维=sq*10, 三攻=xy*10) + char.所有属性强化加成(sq*2) + if mode == 1: + pass + + +def sundries_27059(char: CharacterProperty = {}, mode=0, text=False, *args): + if text: + return "(0, '收集箱', '五一套')" + if mode == 0: + pass + if mode == 1: + pass + +# 勋章属强 勋章强化 + + +def sundries_27060(char: CharacterProperty = {}, mode=0, text=False, *args): + if text: + return "(0, '勋章', '四维(48)|三攻(30)')" + if mode == 0: + char.基础属性加成(四维=48, 三攻=30) + try: + char.所有属性强化加成(args[0]) + except Exception: + pass + try: + from core.equipment.property import 勋章计算 + char.基础属性加成(四维=勋章计算(50, '传说', args[1])) + except Exception: + pass + try: + char.攻击速度增加(args[2]/100) + except Exception: + pass + pass + if mode == 1: + pass + + +def sundries_27061(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '晶体契约', '无色契约 三攻(40)')" + if mode == 0: + pass + if mode == 1: + char.基础属性加成(三攻=40) + pass + + +def sundries_27062(char: CharacterProperty = {}, mode=0, text=False): + if text: + return "(0, '名称装扮卡', '四维(3)|攻击速度(1%)|施放速度(1%)|移动速度(1%)')" + if mode == 0: + char.基础属性加成(四维=3) + char.基础属性加成(三速=0.01) + pass + if mode == 1: + pass + +# 勋章 new + + +def sundries_27063(char: CharacterProperty = {}, mode=0, text=False, *args): + if text: + return "(235,'New','四维(48)|三攻(30)')" + if mode == 0: + # 勋章基础 + char.基础属性加成(四维=48, 三攻=30) + # 勋章品质 + # 攻击强化 BUFF量 名望 + medal_quality = [(1035, 125, 235), (2045, 249, 315), (3799, 461, 415), + (5960, 724, 509), (8532, 1035, 606), (11688, 1418, 708)] + quality = medal_quality[args[0]] + char.攻击强化加成(quality[0]*args[3]) + char.buff量加成(quality[1]) + # 勋章强化 + medal_lv = [(0, 0, 0), (390, 47, 24), (779, 95, 47), (1169, 142, 71), (1558, 189, 94), (1948, 236, 118), (2337, 284, 142), + (2727, 331, 165), (3117, 378, 189), (3506, 425, 212), (3896, 473, 236), (4285, 520, 259), (4675, 567, 283)] + lv = medal_lv[args[1]] + char.攻击强化加成(lv[0]*args[3]) + char.buff量加成(lv[1]) + # 宝石 + char.攻击速度增加(0.03) + char.所有属性强化加成(7) + medal_gems_quality = [(224, 27, 46), (403, 49, 58), (701, 85, 72), + (1140, 138, 88), (1753, 212, 106)] + for i in args[2]: + gems_quality = medal_gems_quality[i] + char.攻击强化加成(gems_quality[0]*args[3]) + char.buff量加成(gems_quality[1]) + pass + if mode == 1: + pass + +# endregion + + +# 杂项id范围 27001~27999 +for i in range(27001, 27100): + try: + if i not in sundries_list.keys(): + sundries_list[i] = eval('sundries_{}'.format(i)) + except Exception: + pass + + +def get_sundriesfunc_by_id(id): + return sundries_list.get(id, sundries_27000) + + +def get_sundries_setinfo(): + infolist = [] + for i in sundries_list.keys(): + data = {} + data['id'] = i + info = eval(sundries_list[i](text=True)) + num = 0 + for k in index: + data[k] = info[num] + num += 1 + infolist.append(data) + return infolist diff --git a/api/core/store.py b/api/core/store.py new file mode 100644 index 00000000..0829e71c --- /dev/null +++ b/api/core/store.py @@ -0,0 +1,178 @@ +from copy import copy +from dataclasses import Field +import re +from typing import Dict +from typing_extensions import Self + + +class Store: + def __init__(self, initState: Dict[str, Field] = {}): + self.__states: Dict[str, Field] = initState.copy() + self.last_state = None + pass + + # 设置值 + def set(self, key: str, value: any): + field = self.__get_field__(key) + field.setValue(value) + return self + + # 获取值 + def get(self, key: str, defaultValue: any = None): + field = self.__get_field__(key) + _value = field.getValue() + if _value is None: + _value = defaultValue + return _value + + def __getitem__(self, __key: str): + return self.get(__key) + + # 获取一个克隆值 + def clone(self, key: str, defaultValue: any = None): + value = self.get(key, defaultValue) + return copy(value) + + # 主动通知变化 + def emit(self, key: str, value: any = None): + field = self.__get_field__(key) + field.emit(value) + return self + + # 找到首个不为空的值 + def first(self, *names): + value = None + for name in names: + value = self.get(name) + if value is not None: + break + return value + + # 计算属性 + def compute(self, key: str, getter, setter=None): + field = self.__get_field__(key) + field.apply(setter) + field.getter = getter + return self + + # 获取值并设置值 + def use(self, key: str, handle): + if callable(handle): + value = handle(self.get(key)) + self.set(key, value) + return self + + # 批量修改整个集合 + def convert(self, key: str, handle): + return self.use(key, lambda value: list(map(handle, value))) + + # 绑定对象的属性 + def bind(self, obj: object, name: str, key=None, defaultValue: any = None): + + def getter(): + return getattr(obj, name) + + def setter(value): + setattr(obj, name, value) + + # 如果属性不存在 则初始化 + if hasattr(obj, name) is False or defaultValue is not None: + setattr(obj, name, defaultValue) + + return self.compute(key, getter, setter) + + # 根据指定的条件删除 + def delete(self, pattern=None): + def match(_): return True + if pattern is not None: + if callable(pattern): + match = pattern + elif isinstance(pattern, str): + def match(s): return re.match(pattern, s) + keys = list(filter(match, self.__states.keys())) + for key in keys: + self.__states.pop(key) + return self + + # 根据指定的条件导出 + def exports(self, match=lambda _: True): + result = {} + for key in self.__states.keys(): + if match(key): + result[key] = self.get(key) + return result + + # 导入 + def imports(self, pairs: dict = {}, prefix=''): + for key in pairs.keys(): + self.set(prefix + str(key), pairs[key]) + return self + + def copy(self) -> Self: + return Store(self.__states) + + # 只读属性 + + def const(self, key: str, value: any): + return self.compute(key, lambda: value) + + # 监听值的变化 + def watch(self, key: str, valueChanged): + return self.compute(key, None, valueChanged) + + def linstener(self, key: str): + def change(value): + self.set(key, value) + pass + + return change + + def __get_field__(self, key: str): + field = None + if re.search("\{\w+\}", key): + key = key.format_map(self) + if self.__states.__contains__(key): + field = self.__states[key] + else: + field = Store.Field() + self.__states[key] = field + self.last_state = (key, field) + return field + + class Field: + def __init__(self, value=None): + self.__value = None + self.getter = None + self.valueChangeds = [] + self.locked = False + self.setValue(value) + pass + + def setValue(self, value): + if self.locked: + return + self.locked = True + self.__value = value + self.emit(value) + self.locked = False + return self + + def getValue(self): + if callable(self.getter): + self.__value = self.getter() + return self.__value + + def emit(self, value=None): + if value is None: + value = self.getValue() + for valueChanged in self.valueChangeds: + if (callable(valueChanged)): + valueChanged(value) + return + + def apply(self, valueChanged): + if callable(valueChanged): + self.valueChangeds.append(valueChanged) + + +store = Store() diff --git a/api/core/util/array.py b/api/core/util/array.py new file mode 100644 index 00000000..e69de29b diff --git a/api/core/util/host.py b/api/core/util/host.py new file mode 100644 index 00000000..d93101bb --- /dev/null +++ b/api/core/util/host.py @@ -0,0 +1,36 @@ +import os +import platform +import re + +host_window = r"C:\Windows\System32\drivers\etc\hosts" +host_mac = r"/etc/hosts" + + +HOST_LIVE = ["#dcalc", + "127.0.0.1:17173 www.dcalc.com"] + +def search_host(hostvalue): + if platform.system().lower() != "windows": + host_path = host_mac + else: + host_path = host_window + hostfile = open(host_path, 'r',errors='ignore') + each_line = hostfile.readlines() + hostfile.close() + findresult = re.findall(hostvalue, ''.join(each_line)) + return findresult + +def write_host(hostvalue): + if platform.system().lower() != "windows": + output = open(host_mac, 'a') + else: + output = open(host_window, 'a') + + for insid in hostvalue: + output.write(insid) + output.write("\n") + output.close() + +def host_init(): + if not search_host(HOST_LIVE[0]): + write_host(HOST_LIVE) \ No newline at end of file diff --git a/api/core/util/minheap.py b/api/core/util/minheap.py new file mode 100644 index 00000000..b73b6cdd --- /dev/null +++ b/api/core/util/minheap.py @@ -0,0 +1,30 @@ +# 用于实现排行的最小堆 +from heapq import heapify, heappush, heappushpop + + +class MinHeap: + def __init__(self, top_n,h=[]): + self.h = h[:] + self.length = top_n + heapify(self.h) + + def add(self, element): + if len(self.h) < self.length: + heappush(self.h, element) + else: + heappushpop(self.h, element) + + def getTop(self): + return sorted(self.h, reverse=True) + + def merge(self, other): + """ + 合并另一个堆 + @type other MinHeap + """ + for elem in other.h: + self.add(elem) + + def reset(self): + self.h = [] + heapify(self.h) diff --git a/api/core/util/toNum.py b/api/core/util/toNum.py new file mode 100644 index 00000000..0d49bc9e --- /dev/null +++ b/api/core/util/toNum.py @@ -0,0 +1,58 @@ +from numbers import Number + + +def is_number(num_str): + """ + 判断数据是否为一个数字 + + :param num_str: 字符串对象 + :return: + """ + """ + 判断数据是否为一个数字 + + :param num_str: 字符串对象 + :return: 布尔值 True 是一个数字 False 不是一个数字 None 本就是数值类型 + """ + # 防止非字段类型类型输入报错 + if isinstance(num_str, Number): + return None + elif not isinstance(num_str, str): + return False + + if num_str.isdigit(): + return True + # 对Float类型的数字进行判断 + if num_str.count('.') == 1: + num_str_list = num_str.split('.') + left = num_str_list[0] + right = num_str_list[1] + if left.startswith('-') and left.count('-') == 1 and right.isdigit(): + _left = left.split('-')[1] + if _left.isdigit(): + return True + elif left.isdigit() and right.isdigit(): + return True + # 负数判断 + elif num_str.startswith('-'): + _left = num_str.split('-')[1] + if _left.isdigit(): + return True + return False + + +def str_to_num(value, default=0, num_type=float): + """ + 将字符串类型转化为数据类型 + + :param value: 需要转化的值,不一定需要是字符串类型 + :param default: 设置转换失败返回数值,默认原值 + :param num_type: 设置转换成的数据类型 + :return: + """ + num_flag = is_number(value) + if num_flag: + return num_type(value) + elif num_flag is None: + return num_type(value) + return value if default is None else default diff --git a/api/core/util/uniqueCode.py b/api/core/util/uniqueCode.py new file mode 100644 index 00000000..b56cab46 --- /dev/null +++ b/api/core/util/uniqueCode.py @@ -0,0 +1,18 @@ +import hashlib +import sys +from core.store import store + + +def get_mac_address(): + try: + import wmi + uniqueCode = store.get("uniqueCode") + if uniqueCode is None: + w = wmi.WMI() + uniqueCode = hashlib.md5( + w.Win32_DiskDrive()[0].SerialNumber.encode( + encoding='UTF-8')).hexdigest() + store.set("uniqueCode", uniqueCode) + return uniqueCode + except Exception: + return '' diff --git a/api/dataFiles/adventure-info.json b/api/dataFiles/adventure-info.json new file mode 100644 index 00000000..7c826340 --- /dev/null +++ b/api/dataFiles/adventure-info.json @@ -0,0 +1,211 @@ +[ + { + "name": "swordman_male", + "title": "鬼剑士(男)", + "children": [ + { "title": "极诣·剑魂", "name": "weapon_master", "open": true }, + { "name": "soul_bender", "title": "极诣·鬼泣", "open": true }, + { "name": "berserker", "title": "极诣·狂战士", "open": true }, + { "name": "asura", "title": "极诣·阿修罗", "open": true }, + { "name": "ghostblade", "title": "极诣·剑影", "open": true } + ] + }, + { + "name": "swordman_female", + "title": "鬼剑士(女)", + "children": [ + { "name": "sword_master", "title": "极诣·驭剑士", "open": true }, + { "name": "dark_templar", "title": "极诣·暗殿骑士", "open": true }, + { "name": "demon_slayer", "title": "极诣·契魔者", "open": true }, + { "name": "vegabond", "title": "极诣·流浪武士", "open": true }, + { "name": "spectre", "title": "极诣·刃影", "open": true } + ] + }, + { + "name": "fighter_male", + "title": "格斗家(男)", + "children": [ + { "name": "nenmaster_male", "title": "归元·气功师", "open": true }, + { "name": "striker_male", "title": "归元·散打", "open": true }, + { "name": "brawler_male", "title": "归元·街霸", "open": true }, + { "name": "grappler_male", "title": "归元·柔道家", "open": true }, + { "name": "empty", "title": "", "comment": "首页" } + ] + }, + { + "name": "fighter_female", + "title": "格斗家(女)", + "children": [ + { "name": "nenmaster_female", "title": "归元·气功师", "open": true }, + { "name": "striker_female", "title": "归元·散打", "open": true }, + { "name": "brawler_female", "title": "归元·街霸", "open": true }, + { "name": "grappler_female", "title": "归元·柔道家", "open": true }, + { "name": "empty", "title": "", "comment": "设置" } + ] + }, + { + "name": "gunner_male", + "title": "神枪手(男)", + "children": [ + { "name": "ranger_male", "title": "重霄·漫游枪手", "open": true }, + { "name": "launcher_male", "title": "重霄·枪炮师", "open": true }, + { "name": "mechanic_male", "title": "重霄·机械师", "open": true }, + { "name": "spitfire_male", "title": "重霄·弹药专家", "open": true }, + { "name": "assault", "title": "重霄·合金战士", "open": true } + ] + }, + { + "name": "gunner_female", + "title": "神枪手(女)", + "children": [ + { "name": "ranger_female", "title": "重霄·漫游枪手", "open": true }, + { "name": "launcher_female", "title": "重霄·枪炮师", "open": true }, + { "name": "mechanic_female", "title": "重霄·机械师", "open": true }, + { "name": "spitfire_female", "title": "重霄·弹药专家", "open": true }, + { + "name": "sponsor", + "url": "https://bbs.colg.cn", + "title": "", + "open": true + } + ] + }, + { + "name": "mage_male", + "title": "魔法师(男)", + "children": [ + { "name": "elemental_bomber", "title": "知源·元素爆破师", "open": true }, + { "name": "glacial_master", "title": "知源·冰结师", "open": true }, + { "name": "blood_mage", "title": "知源·血法师", "open": true }, + { "name": "swift_master", "title": "知源·逐风者", "open": true }, + { "name": "dimension_walker", "title": "知源·次元行者", "open": true } + ] + }, + { + "name": "mage_female", + "title": "魔法师(女)", + "children": [ + { "name": "elementalist", "title": "知源·元素师", "open": true }, + { "name": "summoner", "title": "知源·召唤师", "open": true }, + { "name": "battle_mage", "title": "知源·战斗法师", "open": true }, + { "name": "witch", "title": "知源·魔道学者", "open": true }, + { + "name": "enchantress", + "title": "知源·小魔女", + "open": true, + "options": [ + { "name": "default", "title": "奶", "class": "enchantress" }, + { "name": "default", "title": "输出", "class": "enchantress_carry" } + ] + } + ] + }, + { + "name": "priest_male", + "title": "圣职者(男)", + "children": [ + { + "name": "crusader_male", + "title": "神启·圣骑士", + "open": true, + "options": [ + { "name": "default", "title": "奶", "class": "crusader_male" }, + { "name": "default", "title": "审判", "class": "crusader_male_carry" } + ] + }, + { "name": "infighter", "title": "神启·蓝拳圣使", "open": true }, + { "name": "exorcist", "title": "神启·驱魔师", "open": true }, + { "name": "avenger", "title": "神启·复仇者", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "priest_female", + "title": "圣职者(女)", + "children": [ + { + "name": "crusader_female", + "title": "神启·圣骑士", + "open": true, + "options": [ + { "name": "default", "title": "奶", "class": "crusader_female" }, + { + "name": "default", + "title": "输出", + "class": "crusader_female_carry" + } + ] + }, + { "name": "inquistor", "title": "神启·异端审判者", "open": true }, + { "name": "sorceress", "title": "神启·巫女", "open": true }, + { "name": "mistress", "title": "神启·诱魔者", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "thief", + "title": "暗夜使者", + "children": [ + { "name": "rogue", "title": "隐夜·刺客", "open": true }, + { "name": "necro", "title": "隐夜·死灵术士", "open": true }, + { "name": "kunoichi", "title": "隐夜·忍者", "open": true }, + { "name": "shadow_dancer", "title": "隐夜·影舞者", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "knight", + "title": "守护者", + "children": [ + { "name": "elven_knight", "title": "皓曦·精灵骑士", "open": true }, + { "name": "chaos", "title": "皓曦·混沌魔灵", "open": true }, + { "name": "paladin", "title": "皓曦·帕拉丁", "open": true }, + { "name": "dragon_knight", "title": "皓曦·龙骑士", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "demonic_lancer", + "title": "魔枪士", + "children": [ + { "name": "vanguard", "title": "千魂·征战者", "open": true }, + { "name": "skirmisher", "title": "千魂·决战者", "open": true }, + { "name": "dragoon", "title": "千魂·狩猎者", "open": true }, + { "name": "impaler", "title": "千魂·暗枪士", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "gunblader", + "title": "枪剑士", + "children": [ + { "name": "hitman", "title": "苍暮·暗刃", "open": true }, + { "name": "agent", "title": "苍暮·特工", "open": true }, + { "name": "trouble_shooter", "title": "苍暮·战线佣兵", "open": true }, + { "name": "specialist", "title": "苍暮·源能专家", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "archer", + "title": "弓箭手", + "children": [ + { "name": "muse", "title": "聆风·缪斯", "open": true }, + { "name": "traveler", "title": "聆风·旅人", "open": true }, + { "name": "hunter", "title": "聆风·猎人", "open": true }, + { "name": "vigilante", "title": "聆风·妖护使", "open": true }, + { "name": "empty", "title": "" } + ] + }, + { + "name": "extra", + "title": "外传", + "children": [ + { "name": "creator", "title": "知源·缔造者", "open": true }, + { "name": "dark_knight", "title": "极诣·黑暗武士", "open": true }, + { "name": "empty", "title": "" }, + { "name": "empty", "title": "" }, + { "name": "empty", "title": "" } + ] + } +] diff --git a/api/dataFiles/consumable-data.json b/api/dataFiles/consumable-data.json new file mode 100644 index 00000000..770c8370 --- /dev/null +++ b/api/dataFiles/consumable-data.json @@ -0,0 +1,97 @@ +{ + "28001": { + "名称": "斗神之吼秘药", + "icon": "/consumable/1.png", + "props": ["增加12%的物理、魔法、独立攻击力"] + }, + "28002": { + "名称": "赛丽亚的特调酷饮", + "icon": "/consumable/2.png", + "props": ["所有属性强化 +5"] + }, + "28003": { + "名称": "[冒险]属性强化药水", + "icon": "/consumable/3.png", + "props": ["所有属性强化 +10"] + }, + "28004": { + "名称": "魔界战力释放秘药", + "icon": "/consumable/4.png", + "props": ["智力 +150", "力量 +150"] + }, + "28005": { + "名称": "顶级力量灵药", + "icon": "/consumable/5.png", + "props": ["力量 +175"] + }, + "28006": { + "名称": "顶级智力灵药", + "icon": "/consumable/6.png", + "props": ["智力 +175"] + }, + "28007": { + "名称": "活力秘药", + "icon": "/consumable/7.png", + "props": ["力量 +50", "智力 +50"] + }, + "28008": { + "名称": "虚祖皇家能量秘药", + "icon": "/consumable/8.png", + "props": ["智力 +100", "力量 +100", "所有属性强化 +5"] + }, + "28009": { + "名称": "黄金羊毛", + "icon": "/consumable/9.png", + "props": ["四维 +60"] + }, + "28010": { + "名称": "龙之气息", + "icon": "/consumable/10.png", + "props": ["四维 +30"] + }, + "28011": { + "名称": "甜蜜喜糖", + "icon": "/consumable/11.png", + "props": ["四维 +88"] + }, + "28012": { + "名称": "火符咒", + "icon": "/consumable/12.png", + "props": ["火属性抗性 +30"] + }, + "28013": { + "名称": "冰符咒", + "icon": "/consumable/13.png", + "props": ["冰属性抗性 +30"] + }, + "28014": { + "名称": "光符咒", + "icon": "/consumable/14.png", + "props": ["光属性抗性 +30"] + }, + "28015": { + "名称": "暗符咒", + "icon": "/consumable/15.png", + "props": ["暗属性抗性 +30"] + }, + "28016": { + "名称": "天空之海符咒", + "icon": "/consumable/16.png", + "props": ["所有属性抗性 +15"] + }, + "28017":{ + "名称":"奶", + "icon":"/consumable/17.png", + "props":["力智 +280000","三攻 +18000"] + }, + "28018":{ + "名称":"神奇针剂", + "icon":"/consumable/1191.png", + "props":["所有异常抗性 +3%"] + }, + "28019":{ + "名称":"强力的神奇针剂", + "icon":"/consumable/1192.png", + "props":["所有异常抗性 +5%"] + } +} diff --git a/api/dataFiles/dcalc-0.db b/api/dataFiles/dcalc-0.db new file mode 100644 index 00000000..bb3cb715 Binary files /dev/null and b/api/dataFiles/dcalc-0.db differ diff --git a/api/demo/basic.py b/api/demo/basic.py new file mode 100644 index 00000000..edd1d989 --- /dev/null +++ b/api/demo/basic.py @@ -0,0 +1,82 @@ +from typing import List + +class entry: + + id = 0 + + char = None + params = [] + tips = [] + + def __init__(self,char,params=[]) -> None: + self.char = char + self.params = params + self.tips=[] + + def 攻击强化(self,list=[]): + return 0 + + def 火属性强化(self,list=[]): + return 0 + + def 火属性抗性(self,list=[]): + return 0 + + def 暗属性强化(self,list=[]): + return 0 + + def 暗属性抗性(self,list=[]): + return 0 + + def 光属性强化(self,list=[]): + return 0 + + def 光属性抗性(self,list=[]): + return 0 + + def 冰属性强化(self,list=[]): + return 0 + + def 冰属性抗性(self,list=[]): + return 0 + + def 攻击速度(self,list=[]): + return 0 + + def 技能攻击力(self,list=[]): + return 0 + + +class Character: + + entry_list:List[entry] = [] + + def 攻击强化(self,list=[]): + res = 0 + for entry in self.entry_list: + res += entry.攻击强化(list) + return res + + def 火属性强化(self,list=[]): + res = 0 + for entry in self.entry_list: + res += entry.火属性强化(list) + return res + + def 火属性抗性(self,list=[]): + res = 0 + for entry in self.entry_list: + res += entry.火属性抗性(list) + return res + + def 攻击速度(self,list=[]): + res = 0 + for entry in self.entry_list: + res += entry.攻击速度(list) + return res + + def 技能攻击力(self,list=[]): + res = 0 + for entry in self.entry_list: + res += entry.技能攻击力(list) + return res \ No newline at end of file diff --git a/api/demo/entry.py b/api/demo/entry.py new file mode 100644 index 00000000..5e24c1c3 --- /dev/null +++ b/api/demo/entry.py @@ -0,0 +1,52 @@ +def pre_recurrence(func): + def inner(*args,**kwargs): + if args[0].id in args[1]: + return 0 + else: + args[1].append(args[0].id) + return func(*args,**kwargs) + return inner + + +from basic import entry + +class entry_0(entry): + + id = 0 + + @pre_recurrence + def 攻击强化(self,list=[]): + if self.char.攻击速度(list) > 1: + return 1000 + else: + self.tips.append("攻速不足") + return 500 + + @pre_recurrence + def 火属性抗性(self, list=[]): + if self.char.火属性强化(list) > 10: + return 10 + else: + self.tips.append("火强不足") + return 5 + + @pre_recurrence + def 火属性强化(self, list=[]): + if self.char.火属性抗性(list) > 10: + return 10 + else: + self.tips.append("火抗不足") + return 5 + +class entry_1(entry): + + id = 1 + + @pre_recurrence + def 攻击强化(self,list=[]): + return 2 + + @pre_recurrence + def 攻击速度(self,list=[]): + return 1 + diff --git a/api/demo/main.py b/api/demo/main.py new file mode 100644 index 00000000..6322da3f --- /dev/null +++ b/api/demo/main.py @@ -0,0 +1,10 @@ +from basic import Character + +a = Character() + +from entry import * +a.entry_list.append(entry_0(a)) +a.entry_list.append(entry_1(a)) + +print(a.火属性强化()) +print(a.火属性抗性()) \ No newline at end of file diff --git a/api/demo/ref.py b/api/demo/ref.py new file mode 100644 index 00000000..511fb221 --- /dev/null +++ b/api/demo/ref.py @@ -0,0 +1,36 @@ +from signe import createSignal, effect, computed +from signe.types import TSetter, TGetter +from typing import TypeVar, Generic, overload, Union, Callable, cast + +T = TypeVar("T") + +class Ref(Generic[T]): + def __init__(self, getter: TGetter[T], setter: TSetter[T]) -> None: + self.___getter = getter + self.___setter = setter + + @property + def value(self): + return self.___getter() + + @value.setter + def value(self, value: T): + self.___setter(value) + +class ReadonlyRef(Generic[T]): + def __init__(self, getter: TGetter[T]) -> None: + self.___getter = getter + + @property + def value(self): + return self.___getter() + +def ref(value: T): + comp = False if isinstance(value, (list, dict)) else None + getter, setter = createSignal(value, comp) + return cast(Ref[T], Ref(getter, setter)) + + +def ref_computed(fn: Callable[[], T]): + getter = computed(fn) + return ReadonlyRef(getter) \ No newline at end of file diff --git a/api/demo/test.py b/api/demo/test.py new file mode 100644 index 00000000..b98db96c --- /dev/null +++ b/api/demo/test.py @@ -0,0 +1,92 @@ +from ref import ref,ref_computed,Ref +from signe import effect, computed + +class Character: + + # region 属性强化 属性抗性 + + fireRef:Ref[float] + """火属性强化""" + fireResistanceRef:Ref[float] + """火属性抗性""" + waterRef:Ref[float] + """冰属性强化""" + waterResistanceRef:Ref[float] + """冰属性抗性""" + lightRef:Ref[float] + """光属性强化""" + lightResistanceRef:Ref[float] + """光属性抗性""" + shadowRef:Ref[float] + """暗属性强化""" + shadowResistanceRef:Ref[float] + """暗属性强化""" + + # endregion + + # region 基础属性 + + strengthRef:Ref[float] + '''力量''' + intelligenceRef:Ref[float] + '''智力''' + vitalityRef:Ref[float] + '''体力''' + spiritRef:Ref[float] + '''精神''' + physicalAtkRef:Ref[float] + '''物理攻击力''' + magicalAtkRef:Ref[float] + '''魔法攻击力''' + independentAtkRef:Ref[float] + '''独立攻击力''' + + # endregion + + # 速度 + + movementSpeedRef:Ref[float] + '''移动速度''' + attackSpeedRef:Ref[float] + '''攻击速度''' + castingSpeedRef:Ref[float] + '''施放速度''' + + # endregion + + def __init__(self): + self.fireRef = ref(.0) + self.waterRef = ref(.0) + self.lightRef = ref(.0) + self.shadowRef = ref(.0) + self.fireResistanceRef = ref(.0) + self.waterResistanceRef = ref(.0) + self.lightResistanceRef = ref(.0) + self.shadowResistanceRef = ref(.0) + + @property + def fire(self): + @computed + def _(): + return self.fireRef.value + 2 + return _() + + +char = Character() + +def entry_0(char:Character): + char.fireRef.value = 19 + +def entry_1(char:Character): + @effect + def _(): + if char.fire < 20: + char.waterRef.value = 10 + else: + char.waterRef.value = 20 + +entry_1(char) +entry_0(char) + +print("冰强"+str(char.waterRef.value)) +print(char.fire) \ No newline at end of file diff --git a/api/main.py b/api/main.py new file mode 100644 index 00000000..66f77861 --- /dev/null +++ b/api/main.py @@ -0,0 +1,14 @@ +# encoding:utf-8 +# api docs:https://fastapi.tiangolo.com/zh/tutorial/first-steps/ +import uvicorn +from multiprocessing import freeze_support +from routers.config import config + +if __name__ == '__main__': + + freeze_support() + + uvicorn.run( + **config + ) + # print(os.getppid()) diff --git a/api/utils/__init__.py b/api/utils/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/utils/analysis/__init__.py b/api/utils/analysis/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/utils/analysis/ga.py b/api/utils/analysis/ga.py new file mode 100644 index 00000000..558c4892 --- /dev/null +++ b/api/utils/analysis/ga.py @@ -0,0 +1,84 @@ +from __future__ import annotations +# Google Analytics 上报脚本 +from urllib.parse import quote_plus +import requests +import platform +import uuid +from core.store import store + +# note: 查看数据地址 https://analytics.google.com/analytics/web/#/ +# note: 当发现上报失败时,可以将打印的post body复制到 https://ga-dev-tools.web.app/hit-builder/ 进行校验,看是否缺了参数,或者有参数不符合格式 +# note: 参数文档 https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters +GA_API_URL = "https://www.google-analytics.com/collect" +GA_TRACKING_ID = "UA-212229431-2" + +headers = { + "user-agent": "dcalc", +} + +def is_windows() -> bool: + return platform.system() == "Windows" + + +def get_cid(): + return "{}-{}".format(platform.node(), uuid.getnode()) + + +common_data = { + "v": "1", # API Version. + "tid": GA_TRACKING_ID, # Tracking ID / Property ID. + "cid": get_cid(), # Anonymous Client Identifier. Ideally, this should be a UUID that is associated with particular user, device, or browser instance. + "ua": "djc_helper", + "an": "dcalc", + "av": store.get("version"), + "ds": "dcalc", + "sr": "1920x1080", +} + +GA_REPORT_TYPE_EVENT = "event" +GA_REPORT_TYPE_PAGE_VIEW = "page_view" + + +def track_event(category: str, action: str, label=None, value=0, ga_misc_params: dict | None = None): + try: + if ga_misc_params is None: + ga_misc_params = {} + + data = { + **common_data, + "t": "event", # Event hit type. + "ec": category, # Event category. + "ea": action, # Event action. + "el": label, # Event label. + "ev": value, # Event value, must be an integer + **ga_misc_params, # 透传的一些额外参数 + } + + res = requests.post(GA_API_URL, data=data, headers=headers, timeout=10) + except Exception: + pass + + +def track_page(page: str, ga_misc_params: dict | None = None): + try: + if ga_misc_params is None: + ga_misc_params = {} + + page = quote_plus(page) + data = { + **common_data, + "t": "pageview", # Event hit type. + "dh": "djc-helper.com", # Document hostname. + "dp": page, # Page. + "dt": "", # Title. + **ga_misc_params, # 透传的一些额外参数 + } + + res = requests.post(GA_API_URL, data=data, timeout=10) + except Exception: + pass + + +if __name__ == "__main__": + # track_event("example", "test") + track_page("/example/test_quote") diff --git a/api/utils/analysis/ga4.py b/api/utils/analysis/ga4.py new file mode 100644 index 00000000..93c54138 --- /dev/null +++ b/api/utils/analysis/ga4.py @@ -0,0 +1,62 @@ +# Google Analytics 4 上报脚本 +import platform +import uuid +import requests + +# from log import logger + + +def get_cid(): + return "{}-{}".format(platform.node(), uuid.getnode()) + + +# note: 查看数据地址 https://analytics.google.com/analytics/web/#/ +# note: 当发现上报失败时,可以将打印的post body复制到 https://ga-dev-tools.web.app/ga4/event-builder/ 进行校验,看是否缺了参数,或者有参数不符合格式 +# note: 参数文档 https://developers.google.com/analytics/devguides/collection/protocol/ga4/reference?client_type=gtag#payload_query_parameters +GA_API_BASE_URL = "https://www.google-analytics.com/mp/collect" +# GA_API_BASE_URL = "https://www.google-analytics.com/debug/mp/collect" +GA_API_SECRET = "XMAI1cjPQbqz9zoONwudOA" +GA_MEASUREMENT_ID = "G-Y0WSE6LW2Z" + +GA_API_URL = f"{GA_API_BASE_URL}?measurement_id={GA_MEASUREMENT_ID}&api_secret={GA_API_SECRET}" + +headers = { + "user-agent": "dcalc", +} + + +def track_event(category: str, event_name: str): + try: + event_name = event_name.replace("/", "_") + json_data = { + "client_id": get_cid(), + "user_id": get_cid(), + "events": [ + { + "name": category, + "params": { + "engagement_time_msec": "1000", + "session_id": get_cid(), + "event_name": event_name, + }, + } + ], + } + res = requests.post(GA_API_URL, json=json_data, + headers=headers, timeout=10) + + # 打印日志,方便调试 + # debug_msg = f"request info: body = {res.request.body!r}" + # logFunc = logger.debug + # if "debug" in GA_API_BASE_URL: + # debug_msg += f" res = {res.text}" + # logFunc = logger.warning + # logFunc(debug_msg) + except Exception as ex: + print(ex) + pass + + +if __name__ == "__main__": + track_event("test_category", "test_event/name_1") + track_event("test_category", "test_event_name_2") diff --git a/api/utils/analysis/usage_count.py b/api/utils/analysis/usage_count.py new file mode 100644 index 00000000..767f451f --- /dev/null +++ b/api/utils/analysis/usage_count.py @@ -0,0 +1,56 @@ +import os +import sys +import threading +from typing import Any + +import utils.analysis.ga4 as ga4 +import utils.analysis.ga as ga + +def async_call(cb, *args, **params): + threading.Thread(target=cb, args=args, kwargs=params, daemon=True).start() + +def increase_counter( + name: Any = "", + report_to_google_analytics=True, + ga_type=ga.GA_REPORT_TYPE_EVENT, + ga_category="", + ga_misc_params=None, +): + + name = str(name) + + if name == "": + raise AssertionError("increase_counter name not set") + + def _cb(): + if report_to_google_analytics: + increase_counter_sync_google_analytics(name, ga_type, ga_category, ga_misc_params) + + async_call(_cb) + +def increase_counter_sync_google_analytics(name: str, ga_type: str, ga_category: str, ga_misc_params: dict): + try: + # 上报谷歌分析(v3和v4同时上报) + if ga_type == ga.GA_REPORT_TYPE_EVENT: + if ga_category == "": + # 如果ga_category为空,则尝试从name中解析,假设name中以/分隔的第一个部分作为ga_category + parts = name.split("/", 1) + if len(parts) == 2: + ga_category, name = parts + else: + ga_category = "counter" + ga.track_event(ga_category, name, ga_misc_params) + ga4.track_event(ga_category, name) + elif ga_type == ga.GA_REPORT_TYPE_PAGE_VIEW: + ga.track_page(name, ga_misc_params) + ga4.track_event("page_view", name) + else: + pass + except Exception as ex: + print(ex) + +def test(): + os.system("PAUSE") + +if __name__ == "__main__": + test() diff --git a/api/utils/exception.py b/api/utils/exception.py new file mode 100644 index 00000000..aee3aa6d --- /dev/null +++ b/api/utils/exception.py @@ -0,0 +1,2 @@ +class ResponseException(Exception): + pass \ No newline at end of file diff --git a/api/utils/render.py b/api/utils/render.py new file mode 100644 index 00000000..f2349f72 --- /dev/null +++ b/api/utils/render.py @@ -0,0 +1,364 @@ +import hashlib +import importlib.util +import os +import stat +import typing +from email.utils import formatdate, parsedate +from urllib.parse import quote + +import anyio +from fastapi import BackgroundTasks +from starlette.datastructures import URL, Headers +from starlette.exceptions import HTTPException +from starlette.responses import FileResponse, RedirectResponse, Response +from starlette.types import Receive, Scope, Send + +PathLike = typing.Union[str, "os.PathLike[str]"] + +mimetypes = [ + ("html", "text/html"), + ("htm", "text/html"), + ("css", "text/css"), + ("js", "application/javascript"), + ("json", "application/json"), + ("jpg", "image/jpeg"), + ("jpeg", "image/jpeg"), + ("png", "image/png"), + ("gif", "image/gif"), + ("ico", "image/x-icon"), + ("svg", "image/svg+xml"), + ("swf", "application/x-shockwave-flash"), + ("flv", "video/x-flv"), + ("mp3", "audio/mpeg"), + ("mp4", "video/mp4"), + ("ogg", "application/ogg"), + ("ogv", "video/ogg"), + ("wav", "audio/x-wav"), + ("wma", "audio/x-ms-wma"), + ("wmv", "video/x-ms-wmv"), + ("pdf", "application/pdf"), + ("doc", "application/msword"), + ("xls", "application/vnd.ms-excel"), + ("ppt", "application/vnd.ms-powerpoint"), + ("txt", "text/plain"), + ("zip", "application/zip"), + ("rar", "application/x-rar-compressed"), + ("gz", "application/x-gzip"), + ("bz2", "application/x-bzip2"), + ("tar", "application/x-tar"), + ("bmp", "image/bmp"), + ("tiff", "image/tiff"), + ("tif", "image/tiff"), + ("rtf", "application/rtf"), + ("xml", "text/xml"), + ("xsl", "text/xml"), + ("xsd", "text/xml"), + ("ttf", "application/x-font-ttf"), + ("otf", "application/x-font-otf"), + ("woff", "application/x-font-woff"), + ("woff2", "application/x-font-woff2"), + ("eot", "application/vnd.ms-fontobject"), + ("sfnt", "application/font-sfnt"), + ("font", "application/font-sfnt"), + ("cur", "image/vnd.microsoft.icon"), + +] + + +def guess_type(filename: str) -> str: + for mime in mimetypes: + if filename.endswith('.'+mime[0]): + return mime[1] + return "text/plain" + + +class NotModifiedResponse(Response): + NOT_MODIFIED_HEADERS = ( + "cache-control", + "content-location", + "date", + "etag", + "expires", + "vary", + ) + + def __init__(self, headers: Headers): + super().__init__( + status_code=304, + headers={ + name: value + for name, value in headers.items() + if name in self.NOT_MODIFIED_HEADERS + }, + ) + + +class Renderer: + def __init__( + self, + *, + directory: PathLike = None, + packages: typing.List[str] = None, + html: bool = False, + check_dir: bool = True, + ) -> None: + self.directory = directory + self.packages = packages + self.all_directories = self.get_directories(directory, packages) + self.html = html + self.config_checked = False + if check_dir and directory is not None and not os.path.isdir(directory): + raise RuntimeError(f"Directory '{directory}' does not exist") + + def get_directories( + self, directory: PathLike = None, packages: typing.List[str] = None + ) -> typing.List[PathLike]: + """ + Given `directory` and `packages` arguments, return a list of all the + directories that should be used for serving static files from. + """ + directories = [] + if directory is not None: + directories.append(directory) + + for package in packages or []: + spec = importlib.util.find_spec(package) + assert spec is not None, f"Package {package!r} could not be found." + assert ( + spec.origin is not None + ), f"Directory 'statics' in package {package!r} could not be found." + package_directory = os.path.normpath( + os.path.join(spec.origin, "..", "statics") + ) + assert os.path.isdir( + package_directory + ), f"Directory 'statics' in package {package!r} could not be found." + directories.append(package_directory) + + return directories + + async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: + """ + The ASGI entry point. + """ + assert scope["type"] == "http" + + if not self.config_checked: + await self.check_config() + self.config_checked = True + + path = self.get_path(scope) + response = await self.get_response(path, scope) + await response(scope, receive, send) + + def get_path(self, scope: Scope) -> str: + """ + Given the ASGI scope, return the `path` string to serve up, + with OS specific path seperators, and any '..', '.' components removed. + """ + return os.path.normpath(os.path.join(*scope["path"].split("/"))) + + async def get_response(self, path: str, scope: Scope) -> Response: + """ + Returns an HTTP response, given the incoming path, method and request headers. + """ + if scope["method"] not in ("GET", "HEAD"): + raise HTTPException(status_code=405) + + try: + full_path, stat_result = await anyio.to_thread.run_sync( + self.lookup_path, path + ) + except PermissionError: + raise HTTPException(status_code=401) + except OSError: + raise + + if stat_result and stat.S_ISREG(stat_result.st_mode): + # We have a static file to serve. + return self.file_response(full_path, stat_result, scope) + + elif stat_result and stat.S_ISDIR(stat_result.st_mode) and self.html: + # We're in HTML mode, and have got a directory URL. + # Check if we have 'index.html' file to serve. + index_path = os.path.join(path, "index.html") + full_path, stat_result = await anyio.to_thread.run_sync( + self.lookup_path, index_path + ) + if stat_result is not None and stat.S_ISREG(stat_result.st_mode): + if not scope["path"].endswith("/"): + # Directory URLs should redirect to always end in "/". + url = URL(scope=scope) + url = url.replace(path=url.path + "/") + return RedirectResponse(url=url) + return self.file_response(full_path, stat_result, scope) + + if self.html: + return self.file_response(self.directory+"/index.html", stat_result, scope) + raise HTTPException(status_code=404) + + def lookup_path( + self, path: str + ) -> typing.Tuple[str, typing.Optional[os.stat_result]]: + for directory in self.all_directories: + full_path = os.path.realpath(os.path.join(directory, path)) + directory = os.path.realpath(directory) + if os.path.commonprefix([full_path, directory]) != directory: + # Don't allow misbehaving clients to break out of the static files + # directory. + continue + try: + return full_path, os.stat(full_path) + except (FileNotFoundError, NotADirectoryError): + continue + return "", None + + def file_response( + self, + full_path: PathLike, + stat_result: os.stat_result, + scope: Scope, + status_code: int = 200, + ) -> Response: + method = scope["method"] + request_headers = Headers(scope=scope) + + response = AutoFileResponse( + full_path, status_code=status_code, stat_result=stat_result, method=method + ) + if self.is_not_modified(response.headers, request_headers): + return NotModifiedResponse(response.headers) + return response + + async def check_config(self) -> None: + """ + Perform a one-off configuration check that StaticFiles is actually + pointed at a directory, so that we can raise loud errors rather than + just returning 404 responses. + """ + if self.directory is None: + return + + try: + stat_result = await anyio.to_thread.run_sync(os.stat, self.directory) + except FileNotFoundError: + raise RuntimeError( + f"StaticFiles directory '{self.directory}' does not exist." + ) + if not (stat.S_ISDIR(stat_result.st_mode) or stat.S_ISLNK(stat_result.st_mode)): + raise RuntimeError( + f"StaticFiles path '{self.directory}' is not a directory." + ) + + def is_not_modified( + self, response_headers: Headers, request_headers: Headers + ) -> bool: + """ + Given the request and response headers, return `True` if an HTTP + "Not Modified" response could be returned instead. + """ + try: + if_none_match = request_headers["if-none-match"] + etag = response_headers["etag"] + if if_none_match == etag: + return True + except KeyError: + pass + + try: + if_modified_since = parsedate(request_headers["if-modified-since"]) + last_modified = parsedate(response_headers["last-modified"]) + if ( + if_modified_since is not None + and last_modified is not None + and if_modified_since >= last_modified + ): + return True + except KeyError: + pass + + return False + + +class AutoFileResponse(Response): + chunk_size = 4096 + + def __init__( + self, + path: typing.Union[str, "os.PathLike[str]"], + status_code: int = 200, + headers: dict = None, + media_type: str = None, + background: BackgroundTasks = None, + filename: str = None, + stat_result: os.stat_result = None, + method: str = None, + ) -> None: + self.path = path + self.status_code = status_code + self.filename = filename + self.send_header_only = method is not None and method.upper() == "HEAD" + if media_type is None: + media_type = guess_type(filename or path) or "text/plain" + self.media_type = media_type + self.background = background + self.init_headers(headers) + if self.filename is not None: + content_disposition_filename = quote(self.filename) + if content_disposition_filename != self.filename: + content_disposition = "attachment; filename*=utf-8''{}".format( + content_disposition_filename + ) + else: + content_disposition = f'attachment; filename="{self.filename}"' + self.headers.setdefault("content-disposition", content_disposition) + self.stat_result = stat_result + if stat_result is not None: + self.set_stat_headers(stat_result) + + def set_stat_headers(self, stat_result: os.stat_result) -> None: + content_length = str(stat_result.st_size) + last_modified = formatdate(stat_result.st_mtime, usegmt=True) + etag_base = str(stat_result.st_mtime) + "-" + str(stat_result.st_size) + etag = hashlib.md5(etag_base.encode()).hexdigest() + + self.headers.setdefault("content-length", content_length) + self.headers.setdefault("last-modified", last_modified) + self.headers.setdefault("etag", etag) + + async def __call__(self, scope: Scope, receive: Receive, send: Send) -> None: + if self.stat_result is None: + try: + stat_result = await anyio.to_thread.run_sync(os.stat, self.path) + self.set_stat_headers(stat_result) + except FileNotFoundError: + raise RuntimeError(f"File at path {self.path} does not exist.") + else: + mode = stat_result.st_mode + if not stat.S_ISREG(mode): + raise RuntimeError( + f"File at path {self.path} is not a file.") + await send( + { + "type": "http.response.start", + "status": self.status_code, + "headers": self.raw_headers, + } + ) + if self.send_header_only: + await send({"type": "http.response.body", "body": b"", "more_body": False}) + else: + async with await anyio.open_file(self.path, mode="rb") as file: + more_body = True + while more_body: + chunk = await file.read(self.chunk_size) + more_body = len(chunk) == self.chunk_size + await send( + { + "type": "http.response.body", + "body": chunk, + "more_body": more_body, + } + ) + if self.background is not None: + await self.background() diff --git a/api/utils/uniqueCode.py b/api/utils/uniqueCode.py new file mode 100644 index 00000000..d98ab940 --- /dev/null +++ b/api/utils/uniqueCode.py @@ -0,0 +1,17 @@ +import hashlib +from core.store import store + + +def get_unique_code(): + try: + import wmi + uniqueCode = store.get("uniqueCode") + if uniqueCode is None: + w = wmi.WMI() + uniqueCode = hashlib.md5( + w.Win32_DiskDrive()[0].SerialNumber.encode( + encoding='UTF-8')).hexdigest() + store.set("uniqueCode", uniqueCode) + return uniqueCode + except Exception: + return 'no unique code users' diff --git a/PublicReference/utils/zipfile.py b/api/utils/zipfile.py similarity index 98% rename from PublicReference/utils/zipfile.py rename to api/utils/zipfile.py index 806c63de..ebc9068d 100644 --- a/PublicReference/utils/zipfile.py +++ b/api/utils/zipfile.py @@ -427,7 +427,7 @@ class ZipInfo(object): extra = self.extra min_version = 0 - if zip64 is None: + if zip64 is None: zip64 = file_size > ZIP64_LIMIT or compress_size > ZIP64_LIMIT if zip64: fmt = ' 2107: date_time = (2107, 12, 31, 23, 59, 59) # Create ZipInfo instance to store file information - if arcname is None: + if arcname is None: arcname = filename arcname = os.path.normpath(os.path.splitdrive(arcname)[1]) while arcname[0] in (os.sep, os.altsep): @@ -589,7 +589,7 @@ def _ZipDecrypter(pwd): key2 = 878082192 global _crctable - if _crctable is None: + if _crctable is None: _crctable = list(map(_gen_crc, range(256))) crctable = _crctable @@ -633,12 +633,12 @@ class LZMACompressor: return struct.pack(' 0: @@ -1331,7 +1331,7 @@ class ZipFile: self.start_dir = self.fp.tell() else: raise ValueError("Mode must be 'r', 'w', 'x', or 'a'") - except: + except Exception: fp = self.fp self.fp = None self._fpclose(fp) @@ -1347,10 +1347,10 @@ class ZipFile: result = [ '<%s.%s' % (self.__class__.__module__, self.__class__.__qualname__) ] - if self.fp is not None: + if self.fp is not None: if self._filePassed: result.append(' file=%r' % self.fp) - elif self.filename is not None: + elif self.filename is not None: result.append(' filename=%r' % self.filename) result.append(' mode=%r' % self.mode) else: @@ -1470,7 +1470,7 @@ class ZipFile: def getinfo(self, name): """Return the instance of ZipInfo given 'name'.""" info = self.NameToInfo.get(name) - if info is None: + if info is None: raise KeyError('There is no item named %r in the archive' % name) return info @@ -1606,7 +1606,7 @@ class ZipFile: pwd = None return ZipExtFile(zef_file, mode, zinfo, pwd, True) - except: + except Exception: zef_file.close() raise @@ -1658,7 +1658,7 @@ class ZipFile: as possible. `member' may be a filename or a ZipInfo object. You can specify a different directory using `path'. """ - if path is None: + if path is None: path = os.getcwd() else: path = os.fspath(path) @@ -1671,10 +1671,10 @@ class ZipFile: `members' is optional and must be a subset of the list returned by namelist(). """ - if members is None: + if members is None: members = self.namelist() - if path is None: + if path is None: path = os.getcwd() else: path = os.fspath(path) @@ -1785,12 +1785,12 @@ class ZipFile: zinfo.compress_size = 0 zinfo.CRC = 0 else: - if compress_type is not None: + if compress_type is not None: zinfo.compress_type = compress_type else: zinfo.compress_type = self.compression - if compresslevel is not None: + if compresslevel is not None: zinfo._compresslevel = compresslevel else: zinfo._compresslevel = self.compresslevel @@ -1848,10 +1848,10 @@ class ZipFile: "Can't write to ZIP archive while an open writing handle exists." ) - if compress_type is not None: + if compress_type is not None: zinfo.compress_type = compress_type - if compresslevel is not None: + if compresslevel is not None: zinfo._compresslevel = compresslevel zinfo.file_size = len(data) # Uncompressed size @@ -1866,7 +1866,7 @@ class ZipFile: def close(self): """Close the file, and for mode 'w', 'x' and 'a' write the ending records.""" - if self.fp is None: + if self.fp is None: return if self._writing: @@ -2452,7 +2452,7 @@ def main(args=None): help='Test if a zipfile is valid') args = parser.parse_args(args) - if args.test is not None: + if args.test is not None: src = args.test with ZipFile(src, 'r') as zf: badfile = zf.testzip() @@ -2461,17 +2461,17 @@ def main(args=None): badfile)) print("Done testing") - elif args.list is not None: + elif args.list is not None: src = args.list with ZipFile(src, 'r') as zf: zf.printdir() - elif args.extract is not None: + elif args.extract is not None: src, curdir = args.extract with ZipFile(src, 'r') as zf: zf.extractall(curdir) - elif args.create is not None: + elif args.create is not None: zip_name = args.create.pop(0) files = args.create diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index b3e2d6e7..9873b321 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,217 +1,380 @@ ## Newest -### 2022-02-14 +### 2024.09.06 #### NewFeatures -* 归元·气功师·男:同步韩服正式服修改 ([25ccb7](https://gitee.com/i_melon/DNFCalculating/commit/25ccb729a289abb2fa5f93bac0c3e5ed5783b9bf)) -* 重霄·弹药专家·男:调整尼尔狙击护石算法 ([4e3744](https://gitee.com/i_melon/DNFCalculating/commit/4e37447d6bbff27f86d8d2e838f88374e13d397c)) +* 同步国服异端审判胜负之役武器二次修改 ([6d5db0](https://gitee.com/dcalc/dnfcalculating_110/commit/6d5db0e5032a933e9ddfb75c7cb24fb7a497af98)) +* 同步国服最后一批胜负之役属性修改 ([dfe1d2](https://gitee.com/dcalc/dnfcalculating_110/commit/dfe1d287566934736238879eb34bbdf325c600d0)) +* 同步国服觉醒之森融合石升级系统 ([777af6](https://gitee.com/dcalc/dnfcalculating_110/commit/777af678f29a0823e9165c2382bd60c526f358e6)) +* 同步属性显示修改 ([079def](https://gitee.com/dcalc/dnfcalculating_110/commit/079defb73a2ab3a98dffd7380177eb5ee41c07d9)) +* 同步石化词条改版属性 ([b3e138](https://gitee.com/dcalc/dnfcalculating_110/commit/b3e13866d895f8f94fea728646b8c6a94e972a6c)) +* 同步雾神武器崇高化优化 ([224f2c](https://gitee.com/dcalc/dnfcalculating_110/commit/224f2c1752b8322168a34aa1ef7e8b4d98924995)) +* 同步国服0912职业平衡 ([8de375](https://gitee.com/dcalc/dnfcalculating_110/commit/8de37567794ea4668643bb78c40fafa1d35b5c74)) +* 添加上衣新附魔 ([748419](https://gitee.com/dcalc/dnfcalculating_110/commit/748419871257846815c645ad665f69f98469737b)) +* 添加金秋礼包相关内容 ([58de51](https://gitee.com/dcalc/dnfcalculating_110/commit/58de5175cc0694546bb9d0fc8f1f42000b8b2fb1)) +* 神启·驱魔师:同步职业改版 ([e9fb44](https://gitee.com/dcalc/dnfcalculating_110/commit/e9fb44c7dfdf0b6f1d66fceabd84e4e81596e5ee)) #### BugFixes -* 修正勋章名望 fix #I4SKOV ([4f1391](https://gitee.com/i_melon/DNFCalculating/commit/4f1391d8f8eab7b2054ce68bc788053a76a64582)) -* 归元·气功师·男:修正月辉念气破护石CD异常 fix #I4SLC0 ([f00c33](https://gitee.com/i_melon/DNFCalculating/commit/f00c338f8876cd2b0793545ae4912c8aa8086926)) -* 极诣·剑魂:修正屏蔽三觉下二觉伤害计算问题 fix #I4SAMU ([56b5b7](https://gitee.com/i_melon/DNFCalculating/commit/56b5b7f02e73388d3aa0f6dc04da8a9af538552f)) -* 极诣·流浪武士:修正飞花逐月数据问题 ([445274](https://gitee.com/i_melon/DNFCalculating/commit/445274499096faaf46897554e773b614100a55a6)) - -### 2022-02-03 - -#### NewFeatures -* 同步部分改造的不纳入上限统计 ([0202b2](https://gitee.com/i_melon/DNFCalculating/commit/0202b253429c9c19bb8da627c253fc479f0820a1)) - -### 2022-02-02 - -#### NewFeatures -* 同步游戏内辟邪玉技攻上限的设定,由于不确定游戏内结算顺序,会有部分出入
-技攻累加超过200的部分不享受玉的加成,计算器详情会红色标注 ([e1aab7](https://gitee.com/i_melon/DNFCalculating/commit/e1aab77f6dd28403c7b482284020d79439396193)) - -#### BugFixes -* 重霄·合金战士:修正面板显示 ([4c4ec5](https://gitee.com/i_melon/DNFCalculating/commit/4c4ec5003d51a5c1d1337ecdea1a9304e39a27fc)) +* 归元·街霸·女:修复部分技能异常 ([39abb1](https://gitee.com/dcalc/dnfcalculating_110/commit/39abb1bd8d94098e3ec60bad103c39e887629c9b)) +* 神启·复仇者:修复[审判]享受武器CD惩罚 ([a5329f](https://gitee.com/dcalc/dnfcalculating_110/commit/a5329f9a9796657c681caa1865ea464b63d33883)) +* 神启·蓝拳圣使:修复CP武器与无色手结算先后顺序问题 ([f1df4e](https://gitee.com/dcalc/dnfcalculating_110/commit/f1df4e7d6111b7ca53d7f7c2590a7c53131e850b)) ## History -### 2022-01-27 +### 2024.08.28 + +#### NewFeatures +* 删除装备喂养等级 ([2021e7](https://gitee.com/dcalc/dnfcalculating_110/commit/2021e7bd07003d78aa5c0db9ed8fe570a35a1e7c)) +* 添加国服CP武器调整 ([0e7869](https://gitee.com/dcalc/dnfcalculating_110/commit/0e78699744e58f16a0f66d949afd9c16c1134204)) #### BugFixes -* 重霄·弹药专家·男:修正男弹药子弹数据 ([426ff2](https://gitee.com/i_melon/DNFCalculating/commit/426ff2068a2875f7f26f1962d68a0d589e3c9d9c)) +* 修复天赋对生命源泉的CD加成问题 ([d6b86f](https://gitee.com/dcalc/dnfcalculating_110/commit/d6b86f92cd930e9c9577362a73505263ec92aa84)) +* 战斗·神启·圣骑士:修复CP武器加成问题 ([77eecc](https://gitee.com/dcalc/dnfcalculating_110/commit/77eecc3b9d6826f365d852e92a66865e3fbdd493)) +* 知源·次元行者:修复前瞻版本报错 ([2ad5d2](https://gitee.com/dcalc/dnfcalculating_110/commit/2ad5d236f4f46864300f509888b63f285814c7f6)) +* 神启·圣骑士·女:修复宠物CD问题 ([fc8cc5](https://gitee.com/dcalc/dnfcalculating_110/commit/fc8cc54f4c4982f0dbbbfae1ec42a0dc84d614bd)) +* 神启·驱魔师:修复前瞻觉醒CD问题 ([1ef27a](https://gitee.com/dcalc/dnfcalculating_110/commit/1ef27a24f75130131e133e4a4ecc29d8f046c9fd)) +* 聆风·旅人:修复前瞻版本报错 ([270dde](https://gitee.com/dcalc/dnfcalculating_110/commit/270dded14058af11a8d5e0660d62bd45080af466)) + -### 2022-01-26 + +### 2024.08.12 #### NewFeatures -* 同步韩服职业平衡及重做 ([f1f2b4](https://gitee.com/i_melon/DNFCalculating/commit/f1f2b4a6208fac413abd71efb710131060f52244)) +* 添加国服0912职业平衡前瞻 ([b177f9](https://gitee.com/dcalc/dnfcalculating_110/commit/b177f928052ba6591e0adfc8320ee846d2856ea5)) +* 添加用户须知 ([666207](https://gitee.com/dcalc/dnfcalculating_110/commit/666207e1d0d3caee6fad3b7087a519305bdda072)) +* 添加韩服0815职业平衡 ([170355](https://gitee.com/dcalc/dnfcalculating_110/commit/1703554f6c16b4e8be21079153bbf0bd2a8b274e)) #### BugFixes -* 神启·巫女:修正神龙如意珠伤害 ([d19d41](https://gitee.com/i_melon/DNFCalculating/commit/d19d41ae606d82753b6958b7cbbb4bb3f5dea666)) -* 重霄·合金战士:同步国服正式服护石实际效果 ([91d7b8](https://gitee.com/i_melon/DNFCalculating/commit/91d7b8c98e97483674b9bc5b62a6de99df6427d2)) +* 战斗·神启·圣骑士:修复圣光突袭护石问题 ([e3f639](https://gitee.com/dcalc/dnfcalculating_110/commit/e3f6392bf0fc66518e476eee3d1f08d10d2dbe6e)) +* 知源·召唤师:修正必杀剑·千鬼杀数据 ([5af32b](https://gitee.com/dcalc/dnfcalculating_110/commit/5af32b9fa2dd74437333f6660f562c642330a368)) +* 知源·战斗法师:修正CP武器下95附加炫纹伤害问题 ([23a974](https://gitee.com/dcalc/dnfcalculating_110/commit/23a97438eec0223ec26aa1655c52df146c843cef)) +* 神启·诱魔者:修复觉醒终结技能的无色判定问题 ([3f1ab4](https://gitee.com/dcalc/dnfcalculating_110/commit/3f1ab4fcfac565539062cb8dc947a04aef755115)) +* 聆风·猎人:修复CP武器对三弓弩箭加成错误 ([e02372](https://gitee.com/dcalc/dnfcalculating_110/commit/e023728e2e0f2a4e133fca1877cd607da6e64dd2)) +* 重霄·枪炮师:修复图标问题 ([eb13cb](https://gitee.com/dcalc/dnfcalculating_110/commit/eb13cba1d15cda36335f050933948a923586d28c)) + -### 2022-01-18 + +### 2024.08.03 #### NewFeatures -* 优化武器装扮技能选择 ([c73341](https://gitee.com/i_melon/DNFCalculating/commit/c73341dfbf8e579b359738814bcb9861c66a4519)) -* 同步国服职业平衡 ([76acf1](https://gitee.com/i_melon/DNFCalculating/commit/76acf13e10dcd8b702edc2f5395a1cb868db1339)) -* 新增武器装扮名望 ([2baa1c](https://gitee.com/i_melon/DNFCalculating/commit/2baa1cc91c698bf6a7573b8bfb8bb80fc0704346)) -* 添加奶系宠物 ([ac7b3e](https://gitee.com/i_melon/DNFCalculating/commit/ac7b3e957b6643c0f8dd4350e74157aabeaf5973)) -* 添加奶萝输出(半成品,装备对被动智力的加成等未完成) 就是不加奶妈输出 ([8a18a1](https://gitee.com/i_melon/DNFCalculating/commit/8a18a1d8c939fd24f5a9f735829cbd102ef4080d)) -* 添加春节礼包相关名望 ([32c559](https://gitee.com/i_melon/DNFCalculating/commit/32c5593f7ea6d001272083f53978c7071638d075)) -* 重霄·合金战士:同步最新调整 ([2f810b](https://gitee.com/i_melon/DNFCalculating/commit/2f810b2b9e6ec853434f6fc023192c2e93f38924)) +* 同步国服CP武器修改 ([06de12](https://gitee.com/dcalc/dnfcalculating_110/commit/06de120f3a68427ce3b59ac3d6ae192ed22e105a)) +* 同步国服职业平衡 ([398c8f](https://gitee.com/dcalc/dnfcalculating_110/commit/398c8f7b208f93728fbeb9f32574b287dac5581f)) +* 同步雾神武器崇高化改版优化 ([75c3f6](https://gitee.com/dcalc/dnfcalculating_110/commit/75c3f612680f58e671b58df7b9b79fc4feaa1991)) +* 添加异常抗性药剂 ([dd850a](https://gitee.com/dcalc/dnfcalculating_110/commit/dd850a7cdb37b65dd6240316eeddb92006173f47)) #### BugFixes -* 神启·复仇者:修正黑暗权能所在等级错误 ([ca6074](https://gitee.com/i_melon/DNFCalculating/commit/ca60741bed26b809a8aed70c4829f66ec713a154)) +* 修正部分装备描述 ([ff9726](https://gitee.com/dcalc/dnfcalculating_110/commit/ff9726c22e910ad0c570c559e5aa87d548aafdae)) +* 知源·次元行者:修复前瞻版本乖离:异界蜂群数据 ([95daa8](https://gitee.com/dcalc/dnfcalculating_110/commit/95daa884aa929ab5a8df723489de7259ab32c2d4)) + + + -### 2022-01-10 + + + + + + + + +### 2024.07.18 #### NewFeatures -* 添加2022春节礼包相关 ([c3515a](https://gitee.com/i_melon/DNFCalculating/commit/c3515ab6450adfe643dfa0f1db9b1d1e8d6679cc)) +* 同步融合石逆流的记忆属性调整 ([6a4bb4](https://gitee.com/dcalc/dnfcalculating_110/commit/6a4bb437c237f8883a65fd1397d2f2e198315b02)) +* 奶系详情页添加CDR显示 ([665a48](https://gitee.com/dcalc/dnfcalculating_110/commit/665a48f24790baa1868763a64fd615f83c6811f7)) +* 战斗·神启·圣骑士:添加奶系专属词条加成选项 ([4e6623](https://gitee.com/dcalc/dnfcalculating_110/commit/4e6623808692ff01deb7253427a4a38597f734dc)) +* 收藏功能支持天赋 ([ede3ba](https://gitee.com/dcalc/dnfcalculating_110/commit/ede3ba496c74a3cfbea87a604095f13f25c499a6)) +* 更新夏日收集箱 ([ebf65d](https://gitee.com/dcalc/dnfcalculating_110/commit/ebf65d6a3fe5198e5533465551fbf14aafe95d51)) +* 添加神启·圣骑士(女)输出测试版 ([e8a240](https://gitee.com/dcalc/dnfcalculating_110/commit/e8a240f1e29ff847ef42d8204691a80d7c29a0ee)) +* 添加觉醒之森相关融合石刻印系统 ([0d8758](https://gitee.com/dcalc/dnfcalculating_110/commit/0d87583847a760f8c4b8d1a6331eea6c75df8ac1)) +* 添加雾神场景及雾神怪物选择 ([7447b5](https://gitee.com/dcalc/dnfcalculating_110/commit/7447b5de7e195b1cfcd98cee7584c6bc09168dce)) +* 添加韩服0718职业平衡 ([60e91a](https://gitee.com/dcalc/dnfcalculating_110/commit/60e91a6cbbdb69f56610fae7650a4a68704c53ce)) #### BugFixes -* 修正自动更新未能下载的情况 ([a39f2a](https://gitee.com/i_melon/DNFCalculating/commit/a39f2a18b3267043cd61cb0fcbd2d698650ad501)) -* 隐夜·死灵术士:移除无关符文 ([e1eafa](https://gitee.com/i_melon/DNFCalculating/commit/e1eafa8e676a85ef21f0a01d1f410b9b13f6b7a8)) +* 技能设置页字体和图标模糊 ([c8bcdc](https://gitee.com/dcalc/dnfcalculating_110/commit/c8bcdc46b12ee54668a3b721488a51d4ffc6c7cb)) +* 修复桌面端刷新问题 ([28f70e](https://gitee.com/dcalc/dnfcalculating_110/commit/28f70e33f0083491c06f01dc2ea282c7a97abc2c)) +* 修复桌面端部分情况下无法分享存档的问题 ([45a86d](https://gitee.com/dcalc/dnfcalculating_110/commit/45a86dc9408f6da082adea5dc1d709c86df75dd6)) +* 修正沉沙征战之录奶系套装等级问题 ([72f3ce](https://gitee.com/dcalc/dnfcalculating_110/commit/72f3ce9b7965f155e65d8371742ab8d6e4d108df)) +* 修正缪斯符文 ([6b2833](https://gitee.com/dcalc/dnfcalculating_110/commit/6b283310b1d0ec368353dce79fc616afa8a3d009)) +* 修正融合石描述问题 ([f1074d](https://gitee.com/dcalc/dnfcalculating_110/commit/f1074df8fcef54f750b91fd03591860797a1aa85)) +* 修正雾神雾气雨属性崇高化属性 ([274f0a](https://gitee.com/dcalc/dnfcalculating_110/commit/274f0aefff341ca67da51bf7cb7d3d06bf556955)) +* 修正高级时装异常抗性 ([c948c5](https://gitee.com/dcalc/dnfcalculating_110/commit/c948c54a411d50054d03c866d5ae804bf3e1d139)) + + + +### 2024.07.01 + +#### NewFeatures +* 优化特性显示及装备详情导出 ([702559](https://gitee.com/dcalc/dnfcalculating_110/commit/702559dac3efca1be7b2ad8fe5e6df56296874ff)) +* 优化登录显示 ([6bdf20](https://gitee.com/dcalc/dnfcalculating_110/commit/6bdf208bd70ed4cd573e7298ee188c9c2c78d10a)) +* 新增雾神武器崇高化阶段 ([00305d](https://gitee.com/dcalc/dnfcalculating_110/commit/00305d0e1031a6cb8820771b8e974f79680b4b3c)) +* 神启·圣骑士:添加符文 ([2bac93](https://gitee.com/dcalc/dnfcalculating_110/commit/2bac93ba99e97228aaee15007da7ade52e35b9cd)) +* 药剂内添加奶模拟选项 ([40abe3](https://gitee.com/dcalc/dnfcalculating_110/commit/40abe36d5a6301c873098f9f7977e9c12c3ef3d9)) + +#### BugFixes +* 技能设置页文字和图标模糊 ([Merge ](https://gitee.com/dcalc/dnfcalculating_110/commit/Merge pull request !1239 from elester/N/Af597cbf95bd584b8f2b44cefc13cfffb5ea3917b)) +* 技能设置页文字和图标模糊
+ ([Signed](https://gitee.com/dcalc/dnfcalculating_110/commit/Signed-off-by: elester <374527793@qq.com>48144c8bd5cc389b7683c0ca2d0b0835c3a07289)) +* 极诣·暗殿骑士:修正部分问题 ([659b0f](https://gitee.com/dcalc/dnfcalculating_110/commit/659b0f0b25ab234e90bdd5f50b8ab45a72e63100)) + + + -### 2021-12-30 + +### 2024.06.28 #### NewFeatures -* 重霄·合金战士:优化电弧能量释放充能算法 ([d239b9](https://gitee.com/i_melon/DNFCalculating/commit/d239b9df542f203e6989b6bb36a8927c9acf9077)) -* 重霄·合金战士:修改部分护石效果 ([271f88](https://gitee.com/i_melon/DNFCalculating/commit/271f8815016d2dda0f54cf0a0333228e6b984234)) -* 重霄·合金战士:调整默认存档 ([528771](https://gitee.com/i_melon/DNFCalculating/commit/52877154e2b252651ea3c71aaf3876e95a042134)) +* 个人信息背景修改 ([a261c8](https://gitee.com/dcalc/dnfcalculating_110/commit/a261c886d3e4deff74d21d82bf8d75492c6ead57)) +* 以最后一次使用的清空为基准做伤害对比,不显示伤害数字 ([8dbc54](https://gitee.com/dcalc/dnfcalculating_110/commit/8dbc54caf171ba160e71416366f1adfef0b19494)) +* 优化雾神武器属性显示 ([e7303d](https://gitee.com/dcalc/dnfcalculating_110/commit/e7303dbb1943c747c8d999bc131737a8aab2aa81)) +* 同步国服职业平衡 ([d098c7](https://gitee.com/dcalc/dnfcalculating_110/commit/d098c7f1d4902b2df589848fee266e13a69375da)) +* 添加夏日宠物装备 ([77733e](https://gitee.com/dcalc/dnfcalculating_110/commit/77733e1be4da9dd65a537f5cb28bd8945cf90394)) +* 添加手镯、项链附魔 ([7d32d3](https://gitee.com/dcalc/dnfcalculating_110/commit/7d32d3c2894ccf2a78bc88724daeee75c20e2154)) +* 添加韩服0619职业平衡 ([bc29d7](https://gitee.com/dcalc/dnfcalculating_110/commit/bc29d74f7aa308ed9cef5288315de0b970fefd6c)) +* 知源·元素师:CP相关技能添加CP形态 ([0f9f86](https://gitee.com/dcalc/dnfcalculating_110/commit/0f9f86b1ea20a3f5f61a0fa9cae2b887836e7038)) +* 知源·召唤师:狂化黑月添加自定义输出时间 ([8991fe](https://gitee.com/dcalc/dnfcalculating_110/commit/8991fe17dbe5e9d96dba70fce2b93479a921dba3)) +* 符文颜色选择优化 ([de82d7](https://gitee.com/dcalc/dnfcalculating_110/commit/de82d7653e9564a46da159163fdd28178e20c77a)) +* 聆风·妖护使:添加CP武器相关实现 ([a71205](https://gitee.com/dcalc/dnfcalculating_110/commit/a71205bd286924bfd34b0d78147fae4a0ebf762a)) +* 调整武器默认排序 ([c5d9f6](https://gitee.com/dcalc/dnfcalculating_110/commit/c5d9f62de413d2061736b809bc40ba29d1937045)) #### BugFixes -* 修正武器基础同步问题 ([190794](https://gitee.com/i_melon/DNFCalculating/commit/1907943ef3cb34114e8fc8d5c6afb1dc0ef1850d)) -* 重霄·合金战士:修正武器的力量同步 ([fbdbe0](https://gitee.com/i_melon/DNFCalculating/commit/fbdbe0d362312f0ff8798aa5b444262615704eed)) +* 修复命运的领航标装备数据 ([634ff6](https://gitee.com/dcalc/dnfcalculating_110/commit/634ff641ee72b44a148d10005cdce1c87198a325)) +* 修复雾神武器奶系输出加成问题 ([c354f0](https://gitee.com/dcalc/dnfcalculating_110/commit/c354f0fb663f01dd1ca803b93a122be85b81e0d3)) +* 皓曦·混沌魔灵:修复碎灵屠戮数据 ([7b79ac](https://gitee.com/dcalc/dnfcalculating_110/commit/7b79ac0e18d6aa1efa114c93c8ce03ce81e2ed99)) +* 皓曦·混沌魔灵:修复黑暗冲击护石提升异常 ([a6d85f](https://gitee.com/dcalc/dnfcalculating_110/commit/a6d85ffd48f98b65df70ed6f48f455e09fa66726)) +* 知源·次元行者:修复禁断之盛宴部分数据 ([b46c7f](https://gitee.com/dcalc/dnfcalculating_110/commit/b46c7f6f966f05c2bbc4e3594667f34ebe348181)) +* 知源·次元行者:修复部分技能hit问题 ([efbebe](https://gitee.com/dcalc/dnfcalculating_110/commit/efbebed3e7bbf7019a0fd499f3e2ad77ade1d2e8)) +* 聆风·妖护使:修正神妖之爪妖形态数据 ([0cf58b](https://gitee.com/dcalc/dnfcalculating_110/commit/0cf58b2c9326ec1b1e762d0ccbd9087d0eea7ed7)) +* 聆风·旅人:修正旷野火炎数据 ([23059d](https://gitee.com/dcalc/dnfcalculating_110/commit/23059d1f3b9b80b485e3b143a3e1c0fc2ecea5cb)) -### 2021-12-22 -#### BugFixes -* 重霄·合金战士:修正战略轰炸护石问题 ([bb68cb](https://gitee.com/i_melon/DNFCalculating/commit/bb68cb5c95579b4f916130020e6ba5a0f280b08b)) -### 2021-12-21 +### 2024.06.11 #### NewFeatures -* 修改lanzou下载域名 ([73c55a](https://gitee.com/i_melon/DNFCalculating/commit/73c55a4e1dc5bf849e8ce007aa49528cdcafead2)) -* 同步国服体验服职业平衡 ([c7dc82](https://gitee.com/i_melon/DNFCalculating/commit/c7dc821f2c4a7dc0e041584ca4f8ac2fcff0c98f)) -* 添加重霄·合金战士 ([568aa6](https://gitee.com/i_melon/DNFCalculating/commit/568aa6ebfa29e13aeeac7082e86924fe53e6ca9c)) -* 通过国服体验服34删除后的加强 ([cff1a5](https://gitee.com/i_melon/DNFCalculating/commit/cff1a595ce61f9dd3eacbfed8b0d941446d84b9d)) +* 同步固定史诗套装属性修改 ([ffaeb8](https://gitee.com/dcalc/dnfcalculating_110/commit/ffaeb814509ad49309194e0a551a2ade9cad9cd3)) +* 同步国服特色6职业平衡 ([9d8ed5](https://gitee.com/dcalc/dnfcalculating_110/commit/9d8ed5241072e72761fd3b2d16b14ca5ee30b79f)) +* 同步国服特色平衡 ([54db84](https://gitee.com/dcalc/dnfcalculating_110/commit/54db841cb25d336540e9e0adbed0c1ecf73a5db3)) +* 同步国服胜负之役特色改版 ([bfe917](https://gitee.com/dcalc/dnfcalculating_110/commit/bfe9172aedee7714c82800d35c5b084a088ca4e8)) +* 同步弓箭手新转职相关内容 ([1b6175](https://gitee.com/dcalc/dnfcalculating_110/commit/1b6175eb6333562a973c01f6f07556b807306d5b)) +* 知源·魔道学者:简化CP武器设置 ([86e2bb](https://gitee.com/dcalc/dnfcalculating_110/commit/86e2bb4d2adf5f98747569adb0169cd94645ab6e)) #### BugFixes -* 修复使徒降临名望 fix #I4K1TF ([c3ae2d](https://gitee.com/i_melon/DNFCalculating/commit/c3ae2db794d77761c41039a730e2c840486badd8)) -* 修复部分情况名望界面无法打开bug ([8d8b38](https://gitee.com/i_melon/DNFCalculating/commit/8d8b3860168e9c57540ae8c461cf5ae32376c420)) -* 修正存档后技能次数及宠物次数默认到了填写的情况 fix #I4KYDT ([59aa55](https://gitee.com/i_melon/DNFCalculating/commit/59aa5507fb378d2c6983a9a81a1b3e460e2acb7c)) -* 修正输出切装计算闪退的情况 fix #I4N3TI ([32bfee](https://gitee.com/i_melon/DNFCalculating/commit/32bfeedda95f6bcbe096f2ca09720b028cb49696)) -* 知源·冰结师:修正永罪冰狱数据误差 ([a72948](https://gitee.com/i_melon/DNFCalculating/commit/a72948fc305dedf5c84d5ea536e3994a1c4c9b91)) -* 知源·缔造者:添加符文时空禁制 ([b4ef23](https://gitee.com/i_melon/DNFCalculating/commit/b4ef23143f8468dac9ef6b151a47e9e784afe9ea)) +* 修复部分情况下失调雾气无法查看属性的情况 ([d3bbb2](https://gitee.com/dcalc/dnfcalculating_110/commit/d3bbb2379a1b08051c8c4a2688570a3d9d8d9bc6)) +* 修正传说武器基础 ([064704](https://gitee.com/dcalc/dnfcalculating_110/commit/064704d1911c5475a2e8a1b526a60a0057685f41)) +* 修正奶系等级附魔在附魔套下的问题 ([45c029](https://gitee.com/dcalc/dnfcalculating_110/commit/45c02975ba539c3b0c5391b1b268dd645a6d7a9f)) +* 修正辟邪玉与属性修正技攻算法问题 ([c624b1](https://gitee.com/dcalc/dnfcalculating_110/commit/c624b16cf8508458ca870a7dfd5d5fb1eef99fae)) +* 修正雾神武器图标 ([6c3ea9](https://gitee.com/dcalc/dnfcalculating_110/commit/6c3ea93d5070c10d1b664950cce082acb4109940)) +* 千魂·决战者:修复CP武器加成异常 ([18a4ff](https://gitee.com/dcalc/dnfcalculating_110/commit/18a4ff10347271a32be38a1b9aeeb5833beb53a1)) +* 千魂·决战者:修复[行云:冥]部分情况下加成错误 ([21f6fe](https://gitee.com/dcalc/dnfcalculating_110/commit/21f6fed3b00feb640387bf307eed85c7bf5d5b0f)) +* 改善部分情况下清晰度问题 ([5b9e3f](https://gitee.com/dcalc/dnfcalculating_110/commit/5b9e3fdd5eee1329e3e622c9c5880ad8538f742b)) +* 聆风·旅人:修正神雾兵仗·妖旋风护石加成错误 ([160d9d](https://gitee.com/dcalc/dnfcalculating_110/commit/160d9d51a94462ef20343baf6c416ac1164647da)) + + + + + + -### 2021-11-24 +### 2024.05.08 #### NewFeatures -* 同步韩服正式服特工、阿修罗调整 ([e46d6c](https://gitee.com/i_melon/DNFCalculating/commit/e46d6c3e20140a8a6c5f91d54d9e6b690e6e48d9)) -* 禁用设置页面、黑暗武士排列页面下拉菜单鼠标滚轮选择功能,防止误操作 ([5f1057](https://gitee.com/i_melon/DNFCalculating/commit/5f10572a35161bab5d6a416020b07764d55dd2f4)) +* 千魂·决战者:添加[行云:冥]拆分显示 ([0a018b](https://gitee.com/dcalc/dnfcalculating_110/commit/0a018b6f41453debe78bdefbd88b57bd93561208)) +* 添加传说融合石属性自选 ([a06f8e](https://gitee.com/dcalc/dnfcalculating_110/commit/a06f8ed833aa41963baab9023db8c61d01f2fdca)) +* 知源·冰结师:添加[冰之技艺]拆分显示 ([3997a5](https://gitee.com/dcalc/dnfcalculating_110/commit/3997a567e11b77828fcf132a5d4dabbe4d7d6db5)) #### BugFixes -* 修复心悦宠物属性错误 ([bd927a](https://gitee.com/i_melon/DNFCalculating/commit/bd927aeffd9a2b068408d88b68119f337072c2ae)) -* 修正属强辟邪玉对完美掌控加成错误 ([4c6059](https://gitee.com/i_melon/DNFCalculating/commit/4c6059f147bd715af6124b04ed43814b5f372b24)) -* 修正标题栏字号在部分情况下异常的情况 ([fbc6ab](https://gitee.com/i_melon/DNFCalculating/commit/fbc6ab53b6ec41f8087783096477a3811eac83fb)) -* 归元·气功师·男:修正月辉念气破护石CD错误 ([a6948a](https://gitee.com/i_melon/DNFCalculating/commit/a6948a1fc8019c66820db629d221e2668782d859)) +* 修正辟邪玉与属性修正技攻算法问题 ([c624b1](https://gitee.com/dcalc/dnfcalculating_110/commit/c624b16cf8508458ca870a7dfd5d5fb1eef99fae)) -### 2021-11-18 + +### 2024.05.07 + +#### NewFeatures +* 添加韩服职业平衡 ([6cf782](https://gitee.com/dcalc/dnfcalculating_110/commit/6cf7823296d3aea2687e2a48fa9534ab9e574d87)) +* 同步[忆/痕/录]混搭效果及[忆]套装效果修改 ([0cc101](https://gitee.com/dcalc/dnfcalculating_110/commit/0cc1015f89adf8c84e5f4295751b66975163e481)) +* 极诣·黑暗武士:新增上排技能消耗豆数形态设置 ([77a224](https://gitee.com/dcalc/dnfcalculating_110/commit/77a2247292e7877bd5f72b9d121399ca1706afcc)) +* 添加国服CP改版 ([c9d55b](https://gitee.com/dcalc/dnfcalculating_110/commit/c9d55b4aedf6544c34938096c5e74c33d556e1ab)) +* 添加天赋冲突列判断 ([76c865](https://gitee.com/dcalc/dnfcalculating_110/commit/76c865df5a33326b30c9215e312bee39b2bb0e9c)) +* 添加新等级上限天赋 ([611400](https://gitee.com/dcalc/dnfcalculating_110/commit/6114003d6594945cd635cc40a3873ceee17e15a8)) +* 添加神41~60数据 ([e29b80](https://gitee.com/dcalc/dnfcalculating_110/commit/e29b8062b2c3858605bd83c0a78c63339b8f8abf)) +* 添加绿色玲珑徽章 ([9f376d](https://gitee.com/dcalc/dnfcalculating_110/commit/9f376d6695078d51e36a894501db24681e564445)) +* 添加装备等级成长新配色 ([317e22](https://gitee.com/dcalc/dnfcalculating_110/commit/317e22eaa3481a9a35feaa768ea2738358afb5ec)) +* 添加雾神团本相关 ([f6989b](https://gitee.com/dcalc/dnfcalculating_110/commit/f6989b6a29123f240724f19ff5e778f13a43678c)) +* 添加雾神困难武器 ([d223e7](https://gitee.com/dcalc/dnfcalculating_110/commit/d223e765bb8789ba4f6c1c22ac5a661e3b8d0924)) +* 添加韩服融合石 ([a039dd](https://gitee.com/dcalc/dnfcalculating_110/commit/a039dd31795ff5cd381e3ccaf1f4cf3b067a987b)) #### BugFixes -* 极诣·阿修罗:修正韩服体验服雷神之息数据错误 ([d1a538](https://gitee.com/i_melon/DNFCalculating/commit/d1a53893c0d5b4d6e7b3a752b3b84ab90dd61f87)) +* 修正部分情况下词条无法选择的情况 ([21ddfb](https://gitee.com/dcalc/dnfcalculating_110/commit/21ddfb9d7523aea25a5628d830295a26c9a0bc25)) +* 归元·街霸:修复30级词条对狂·霸王拳异常加成问题 ([cda5a5](https://gitee.com/dcalc/dnfcalculating_110/commit/cda5a52f84551f0ed49df708b6adf7d983d742d2)) +* 极诣·契魔者:修复血饮狂舞护石问题 ([ce6b10](https://gitee.com/dcalc/dnfcalculating_110/commit/ce6b10bcd8e4e86530347228f6a0cecaed5c3d44)) +* 极诣·驭剑士:修复魔剑奥义TP加成问题 ([2685c5](https://gitee.com/dcalc/dnfcalculating_110/commit/2685c5cc5dcf11282108eec438d54bb4d81e434f)) +* 极诣·鬼泣:修正CP武器未能正确自动计算情况 ([4ef0f8](https://gitee.com/dcalc/dnfcalculating_110/commit/4ef0f8297bd7ec8a36f265fdebe8da141f98e420)) +* 神启·复仇者:修正恶魔之力数据异常 ([378856](https://gitee.com/dcalc/dnfcalculating_110/commit/37885632ba2568a071dbbabb3fb9780ad27fb5b7)) +* 神启·巫女:修复龙神之力学习间隔 ([fb6189](https://gitee.com/dcalc/dnfcalculating_110/commit/fb6189161293bb32ae5aff7622615a77c4762c7f)) +* 重霄·机械师:修复CP武器RX78追击者加成异常 ([f77902](https://gitee.com/dcalc/dnfcalculating_110/commit/f7790286ac73252f0df69af8c27219f87e866775)) + + + + + + -### 2021-11-17 + + + + + +### 2024.04.17 #### NewFeatures -* 同步韩服体验服修罗、龙骑、特工、死灵数据 ([2700a6](https://gitee.com/i_melon/DNFCalculating/commit/2700a67a59a9a25a95df193e67b9506de3d9fce6)) -* 添加心悦宠物 ([b96b7d](https://gitee.com/i_melon/DNFCalculating/commit/b96b7d31dafc833e0692dc2b062a8bcd7182b708)) +* 同步固定史诗套装属性修改 ([1456ea](https://gitee.com/dcalc/dnfcalculating_110/commit/1456ea611c7fb762e47ed9e0c2ca74c499f0c317)) +* 同步国服体验服套装属性 ([1c4f2b](https://gitee.com/dcalc/dnfcalculating_110/commit/1c4f2bb9852aadd0a58ad17d34d5e17a9dee8e59)) +* 添加套装属性显示 ([f2d98e](https://gitee.com/dcalc/dnfcalculating_110/commit/f2d98ef8913bec60b1808a947e4b36fbeb3814fb)) +* 添加灿烂黄绿徽章 ([1ecaf0](https://gitee.com/dcalc/dnfcalculating_110/commit/1ecaf02a79a101a8a7b98bf427bc545a397daf64)) +* 添加耕耘礼包奶系新勋章 ([9fda91](https://gitee.com/dcalc/dnfcalculating_110/commit/9fda91c7c2cc8c2689befe7c610074d989ac3093)) +* 添加装备所属套装显示,搜索支持套装搜索 ([e33f8f](https://gitee.com/dcalc/dnfcalculating_110/commit/e33f8f26a02e494f7167554d77e81478490ee17e)) +* 添加雾神尼戒指新附魔 ([1ce5f1](https://gitee.com/dcalc/dnfcalculating_110/commit/1ce5f1e417db4c78f9fb72014dd3c6c9194f36ad)) #### BugFixes -* 修正外传职业白金技能区间错误 ([fd0deb](https://gitee.com/i_melon/DNFCalculating/commit/fd0debfa2f3d6e394a2db12f28c8dd4fdf5d270b)) -* 修正属强辟邪玉对完美掌控加成错误 ([4e574a](https://gitee.com/i_melon/DNFCalculating/commit/4e574a3cda414ba06eae8ba1bc3620e45cfaf955)) -* 奶系计算时C属性输入未能生效修复 ([c9a1b2](https://gitee.com/i_melon/DNFCalculating/commit/c9a1b274f2266db6827ff0f162c0edae7a7d6c60)) -* 战斗·神启·圣骑士:修正圣光突袭护石闪退的情况 ([6378c3](https://gitee.com/i_melon/DNFCalculating/commit/6378c3b8fdee8cf2666819bfd2a0ec1f3ea63e21)) -* 皓曦·帕拉丁:修正圣盾裁决护石数据错误 fix #I4IADL ([31fa9a](https://gitee.com/i_melon/DNFCalculating/commit/31fa9a4885147c0195597c859c7fbea32a364035)) +* 极诣·契魔者:修正碎魔剑CD ([cc925f](https://gitee.com/dcalc/dnfcalculating_110/commit/cc925f6ec3d35209ef2c771cefd9809ad34f5af5)) +* 装备属性修复 ([03609e](https://gitee.com/dcalc/dnfcalculating_110/commit/03609e941691c15ea4c19014c4870ceb76e402d3)) + -### 2021-11-01 + +### 2024.04.08 #### NewFeatures -* 计算器新增用户识别码,为本机Mac地址MD5加密(无法反解)
-主要用于预防部分用户打碟,可供后续ban选用户 ([2c7bbd](https://gitee.com/i_melon/DNFCalculating/commit/2c7bbdae9d5b72f73995fe8f891927d4ddebd31e)) +* 添加字体选择 ([7c7571](https://gitee.com/dcalc/dnfcalculating_110/commit/7c75717c60b9d16d7a674949ef009315474e9fd6)) +* 知源·小魔女:添加输出 ([29ec41](https://gitee.com/dcalc/dnfcalculating_110/commit/29ec410e79ccc4c13b7f5c6680d057f49f38c3c0)) #### BugFixes -* 修复在目录存在空格的情况下可能误删文件的情况 ([1eafb8](https://gitee.com/i_melon/DNFCalculating/commit/1eafb8fba8dcd939c936d23b9dfad7124c83c323)) -* 修正输出技能数据无法使用的情况 ([a2183a](https://gitee.com/i_melon/DNFCalculating/commit/a2183ae1fd610ff251a66571a6bf058b92b64fb3)) +* fix归元·街霸·男:修正残忍套索数据异常 ([857873](https://gitee.com/dcalc/dnfcalculating_110/commit/857873295c970c8f84a082a160e2f65d0cc431cf)) +* 修正部分词条问题 ([469933](https://gitee.com/dcalc/dnfcalculating_110/commit/4699339e026950320cae2f581b2095a603794c82)) +* 归元·气功师·男:修正[念兽:审判之金雷虎]未能享受风雷啸加成问题 ([6c6abd](https://gitee.com/dcalc/dnfcalculating_110/commit/6c6abd1032261cf0866459987c28c0dd29b5c18f)) + -### 2021-10-27 + + + +### 2024.03.29 #### NewFeatures -* 知源·缔造者:添加符文选项 ([6757fe](https://gitee.com/i_melon/DNFCalculating/commit/6757fe36b6d42b7ee170603920e1045f8f049760)) +* 完善手册 ([722a6e](https://gitee.com/dcalc/dnfcalculating_110/commit/722a6e171019ad578544193a1dca4e31d660810f)) #### BugFixes -* 修复输出职业存档问题 ([e9aeb3](https://gitee.com/i_melon/DNFCalculating/commit/e9aeb39352145573c60c29eee08a46baabf07eee)) -* 残香图标与名望计算错误修复 ([56e773](https://gitee.com/i_melon/DNFCalculating/commit/56e77328cac5155f03650dc582d2c32e901c5fb3)) +* 归元·柔道家·男:修复CP武器加成 ([f06458](https://gitee.com/dcalc/dnfcalculating_110/commit/f06458f8ac1c5c0e2e55f16291292550d70e8a02)) +* 皓曦·精灵骑士:修复符文加成问题 ([1e24a3](https://gitee.com/dcalc/dnfcalculating_110/commit/1e24a396c5878e10272c67a79e56e34b926e8145)) -### 2021-10-22 -#### BugFixes -* 修正输出宠物缺失的情况 ([3de08b](https://gitee.com/i_melon/DNFCalculating/commit/3de08be9f6242bf53b907e514341c4b2368f4df1)) -* 苍暮·暗刃:修正无法打开的情况 ([a583d6](https://gitee.com/i_melon/DNFCalculating/commit/a583d6fa0a6188d559ebca018f110790734bef72)) -### 2021-10-21 +### 2024.03.27 #### NewFeatures -* 护石变更时默认为圣痕类型 ([f98466](https://gitee.com/i_melon/DNFCalculating/commit/f98466dcb5765a49ebf6602c12f4038e3fffef1d)) +* 同步国服文本描述 ([57c309](https://gitee.com/dcalc/dnfcalculating_110/commit/57c30926a939ffa3f3a0c4205033ecc0e1372ff4)) +* 同步防具精通改版 ([b5a1e8](https://gitee.com/dcalc/dnfcalculating_110/commit/b5a1e88a56a495784d14623b981cb113ec50583f)) +* 极诣·驭剑士:[飓风魔剑]新增暗刀形态 ([cb9993](https://gitee.com/dcalc/dnfcalculating_110/commit/cb99934ceb4a6214b7f10cba708bd27afcb9b540)) +* 添加固定史诗套装兼容 ([e21d53](https://gitee.com/dcalc/dnfcalculating_110/commit/e21d53d7dfc8f5520a9ee3dc7e9153085ba2d294)) -### 2021-10-20 +#### BugFixes +* 极诣·暗殿骑士:修复释魂飞弹TP上限 ([cab281](https://gitee.com/dcalc/dnfcalculating_110/commit/cab28108834602c82354895e1af3e3184adbc1c9)) +* 皓曦·精灵骑士:修正符文选项 ([0be5b2](https://gitee.com/dcalc/dnfcalculating_110/commit/0be5b23c6223c0f1fa1a616451b645c0714db693)) +* 知源·战斗法师:修复炫纹发射主被动判断 ([154542](https://gitee.com/dcalc/dnfcalculating_110/commit/154542584a4edddd618a8153168098dc2bf1d97e)) +* 神启·复仇者:修复被动加成问题,拆分[魔化:末日审判者]xz形态 ([881404](https://gitee.com/dcalc/dnfcalculating_110/commit/881404c64452e5ba6a1d95dfc5fcf1b647a44afa)) +* 隐夜·刺客:修正极限追击学习间隔 ([c2f750](https://gitee.com/dcalc/dnfcalculating_110/commit/c2f7504cfec42c8843fc1a80e2d50abcacba4c01)) + + + +### 2024.03.21 + +#### BugFixes +* 天赋增益量加成修复 ([488bbc](https://gitee.com/dcalc/dnfcalculating_110/commit/488bbc23cc583285cd179eff367f8642f0338e32)) +* 聆风·旅人:修正报错 ([66938f](https://gitee.com/dcalc/dnfcalculating_110/commit/66938fe79f352d69b58914cb4b322a603da50323)) + + + +### 2024.03.20 #### NewFeatures -* 噙毒手套支持设置是否触发 ([78a5ef](https://gitee.com/i_melon/DNFCalculating/commit/78a5ef090fa3609b03173da272d622be6d4d6a27)) -* 优化详情界面显示 ([47d5e3](https://gitee.com/i_melon/DNFCalculating/commit/47d5e3ad3fa898ccc26d8739f5a5c572eb3397fd)) -* 同步韩服体验服职业平衡 ([8e1ba1](https://gitee.com/i_melon/DNFCalculating/commit/8e1ba1c12bf120546f36914328ebb3d6537db0fc)) -* 极诣·流浪武士:前瞻版本新增光剑掌握技能
-使用时,请自行调整对应技能等级,过去版本存档该技能默认为0级 ([9c634d](https://gitee.com/i_melon/DNFCalculating/commit/9c634df17ed870cb7af0cf5c694922a080b38150)) -* 添加奶系名望 ([8b4630](https://gitee.com/i_melon/DNFCalculating/commit/8b463048ccaca4d1294aaaac647b08fc6a211aea)) +* 同步国服0321版本 ([8d9065](https://gitee.com/dcalc/dnfcalculating_110/commit/8d90656cbbd20d045ac1fe9cced29c91173823b8)) #### BugFixes -* 修复部分武器缺失图标的问题 ([0d7776](https://gitee.com/i_melon/DNFCalculating/commit/0d77765af86bef7269df600f0f86f812b63a8137)) -* 修正部分智慧产物升级属性问题 ([8daba2](https://gitee.com/i_melon/DNFCalculating/commit/8daba2fb9dc72af218c5d6d2fbf1d04c42e48839)) -* 极诣·剑影:修正特定选择下无法计算的情况 ([5a9507](https://gitee.com/i_melon/DNFCalculating/commit/5a95078da469dfaab4498433387f5aa5dce5057f)) +* 修正传说基础 ([e23cef](https://gitee.com/dcalc/dnfcalculating_110/commit/e23cefd5420885bf2b30e2f470980c59396d7fca)) +* 修正职业基础[森马测试] ([79a951](https://gitee.com/dcalc/dnfcalculating_110/commit/79a951c2e9ccc13c450baa65484840337efaeee6)) +* 聆风·旅人:修复[装载:烟花漫天]护石数据伤害类型 ([853312](https://gitee.com/dcalc/dnfcalculating_110/commit/8533127defb12ed32782490c8772b36046e32a26)) +* 聆风·猎人:修复部分数据异常 ([07a99c](https://gitee.com/dcalc/dnfcalculating_110/commit/07a99c794f782a2b336b3ede420265909ece18a0)) +* 重霄·弹药专家(女):修正感电手雷感电部分hit ([e55de9](https://gitee.com/dcalc/dnfcalculating_110/commit/e55de99aeba231b814fc16e2b6146cb12cd3e06a)) +* 隐夜·死灵术士:同步CP武器修改 ([53d243](https://gitee.com/dcalc/dnfcalculating_110/commit/53d24322f67dd1438394f50cc8ea6bf02904531d)) -### 2021-10-15 + + +### 2024.03.15 + +#### NewFeatures +* 添加猎人、妖护使 ([258e56](https://gitee.com/dcalc/dnfcalculating_110/commit/258e56bed435e140a51c3383b56789852ba8f8df)) #### BugFixes -* 修复智慧产物升级无法打开详情页bug ([6bf99b](https://gitee.com/i_melon/DNFCalculating/commit/6bf99b5ae789737806f6335bfa1c4ae327b3f998)) +* 极诣·驭剑士:魔剑奥义短剑副刀伤害异常修复 ([cd01b1](https://gitee.com/dcalc/dnfcalculating_110/commit/cd01b17fa952f5211fe43562f4816b98bbd1e862)) +* 修复[黑猫头盔]基础精通加成数值 ([967bd5](https://gitee.com/dcalc/dnfcalculating_110/commit/967bd5575904304239fb300afe4d8ee0fc603a41)) +* 修复前瞻版本双音交映戒指属性问题 ([83057b](https://gitee.com/dcalc/dnfcalculating_110/commit/83057ba6eb8b721fb9234eab6acaf96db2eb95d6)) +* 修复森林之魔女篮子辅助职业专属异常抗性加成问题 ([dc0a8c](https://gitee.com/dcalc/dnfcalculating_110/commit/dc0a8cfe93a5d7df0f7c7113cca340abd82dbb1f)) +* 修复韩服版本部分装备描述 ([f43a14](https://gitee.com/dcalc/dnfcalculating_110/commit/f43a142fb1e5c49a4fa987e60e7356b387afb5f3)) +* 同步魔法秀突破CD上限 ([e4137c](https://gitee.com/dcalc/dnfcalculating_110/commit/e4137c086b0ff9aed94544f5046df625bc6edbb2)) +* 归元·街霸:修复部分技能的无色判定加成问题 ([ce2193](https://gitee.com/dcalc/dnfcalculating_110/commit/ce219386ed5307a2451d4070ce26c9d491e45d45)) +* 极诣·剑魂:修复太刀精通等级加成问题 ([9a0684](https://gitee.com/dcalc/dnfcalculating_110/commit/9a06847f598eb6476711a95974678b6441bceccb)) +* 极诣·契魔者:修复CP武器蛇腹剑:破HIT异常 ([fa6006](https://gitee.com/dcalc/dnfcalculating_110/commit/fa60061bfb9b48da325632d51f8d10270ef12eb6)) +* 知源·血法师:修复鲜血融合CDR ([17d064](https://gitee.com/dcalc/dnfcalculating_110/commit/17d0648b187da5834dd40e152b751242540ea131)) +* 神启·复仇者:修复黑暗之触CD问题 ([e64c6a](https://gitee.com/dcalc/dnfcalculating_110/commit/e64c6a7907840de1f4296043f554b502b9ab98a5)) +* 重霄·机械师:修复G0战争领主数据异常 ([82f81c](https://gitee.com/dcalc/dnfcalculating_110/commit/82f81c147a56fb2333755700207fa0607a8d0c3a)) +* 隐夜·死灵术士:修复怨噬之沼数据问题 ([609ec0](https://gitee.com/dcalc/dnfcalculating_110/commit/609ec09fd33283b53c0441730ff9a76076902dbf)) +* 隐夜·死灵术士:修正巴拉克的盟约等级问题 ([c17eaf](https://gitee.com/dcalc/dnfcalculating_110/commit/c17eafbafed9023382742b98453e2fedc75d03e8)) -### 2021-10-14 + + +### 2024.03.02 #### BugFixes -* 修正选择残香闪退的情况 ([184e35](https://gitee.com/i_melon/DNFCalculating/commit/184e3584ac75f6161603ba03f333d08cc755e7ea)) +* 修复天赋问题 ([50cbed](https://gitee.com/dcalc/dnfcalculating_110/commit/50cbeddda480dfd651408d718dcffe1208a45d41)) + -### 2021-10-13 + +### 2024.03.01 #### NewFeatures -* 同步国服10.14职业平衡 ([5d5ac5](https://gitee.com/i_melon/DNFCalculating/commit/5d5ac5cbae4bf04b2f2d3b7337ea7d8e64d32a09)) -* 归元·散打·男:同步无欲之花、正义的抉择不加成烈焰焚步的问题 ([58f1b3](https://gitee.com/i_melon/DNFCalculating/commit/58f1b3ac78da344e6ebd5898af4c5d5a65a663e5)) -* 新增名望参考计算By Umi,该功能处于试运行状态 ([ecc743](https://gitee.com/i_melon/DNFCalculating/commit/ecc7437aab247540278fbd1e83d6ae9ef8e6c6a1)) +* 添加新特性系统[目前只实现了通用的伤害及CD加成] ([70774e](https://gitee.com/dcalc/dnfcalculating_110/commit/70774e0e7be545a7125d1ebd1da8779847979b90)) #### BugFixes -* 修复奶系希洛克属性2不正确的问题 ([5d13aa](https://gitee.com/i_melon/DNFCalculating/commit/5d13aac54d3ffc3274f0c2b44f3c9bc14e748fbb)) -* 修复奶系武器遴选描述不正确的bug ([1960de](https://gitee.com/i_melon/DNFCalculating/commit/1960de6f65ed84d05768a9a6f49849bf80b8d2c0)) -* 修复黑月之噬不吃CD恢复的BUG ([562687](https://gitee.com/i_melon/DNFCalculating/commit/562687371a390a3a1767661781595885b84c6d20)) -* 修正时装、白金技能选择范围 ([55876e](https://gitee.com/i_melon/DNFCalculating/commit/55876e542d8d22f211c479e2e73ec5aec3a285ed)) -* 千魂·决战者:修正流云幻灭数据错误 ([0eaf71](https://gitee.com/i_melon/DNFCalculating/commit/0eaf71a15404330a7d809dcaa326354060190c90)) -* 极诣·黑暗武士:修正斩龙破护石数据错误 ([5e874c](https://gitee.com/i_melon/DNFCalculating/commit/5e874cfc057177b83210f9813298bf6d7775fc4f)) -* 知源·元素师:修正前瞻版本圣灵符文数据错误 ([61f42a](https://gitee.com/i_melon/DNFCalculating/commit/61f42a4e6b68526e7ed34859aec641afef6ac97e)) -* 隐夜·刺客:修正螺旋穿刺护石数据错误 ([5782b4](https://gitee.com/i_melon/DNFCalculating/commit/5782b42f8b28b9fe0786775d1504a90113cb8864)) +* 修正[75~100]对被动加成类技能特殊加成 ([7175b0](https://gitee.com/dcalc/dnfcalculating_110/commit/7175b074e0e1bfc9fd174cf45228ad862bda832d)) +* 修正部分装备描述及实现 ([4183ba](https://gitee.com/dcalc/dnfcalculating_110/commit/4183ba604d710f258e31c5ca12420bea1d9f4981)) +* 修正部分装备词条问题 ([8bb30d](https://gitee.com/dcalc/dnfcalculating_110/commit/8bb30d14f17ffa1416e4c3f502a3d9bf15961e3e)) +* 极诣·驭剑士:修复瞬影三绝斩数据问题 ([60f8b3](https://gitee.com/dcalc/dnfcalculating_110/commit/60f8b3956e1428e048d0049970e9d19bbdf8cbbd)) + + + + + + + + + + + + + + @@ -220,1644 +383,1247 @@ -### 2021-09-30 + + +### 2024.02.21 #### NewFeatures -* 同步国服体验服职业平衡数据 ([85f0cc](https://gitee.com/i_melon/DNFCalculating/commit/85f0cce02b6dff77bda47e2569e3435ded157005)) +* webview功能实现 ([ca905a](https://gitee.com/dcalc/dnfcalculating_110/commit/ca905aa6e1a974e408a8f53cfaacb57ca5e195a5)) +* 修正异常结算、灼伤破冰结算算法 ([7a9d9d](https://gitee.com/dcalc/dnfcalculating_110/commit/7a9d9d33f13a392c9f74a7027ecbb6d964a3973e)) +* 同步国服职业平衡 ([9fb183](https://gitee.com/dcalc/dnfcalculating_110/commit/9fb1833099d93d5ec63f453b5ec78ddf9a726fec)) +* 同步韩服体验服自定义、融合、固定装备改动 ([47cfa6](https://gitee.com/dcalc/dnfcalculating_110/commit/47cfa6b255790074cb183593f2268ef60b5f02e4)) +* 同步韩服正式服改动 ([d14f0b](https://gitee.com/dcalc/dnfcalculating_110/commit/d14f0ba8e35dc1c49d9fad51ed55a9ecfc45f81c)) +* 新增雾神贴膜 ([2405fb](https://gitee.com/dcalc/dnfcalculating_110/commit/2405fb0280fdebe08cdb209c4cd16c63c301190e)) +* 添加韩服0201职业平衡 ([8f9168](https://gitee.com/dcalc/dnfcalculating_110/commit/8f916806b0293bd55464f810dabef25d9c61f73a)) +* 简化异常结算相关计算及设置 ([1e362f](https://gitee.com/dcalc/dnfcalculating_110/commit/1e362f3a498b3d9d9247f9b72fe23928ab05c373)) +* 韩服前瞻兼容改造 ([6cecd2](https://gitee.com/dcalc/dnfcalculating_110/commit/6cecd2897ca6b649acea2e99b8f1a6272a120382)) #### BugFixes -* 修复奶系切一件觉醒等级及适用不对的bug ([8779eb](https://gitee.com/i_melon/DNFCalculating/commit/8779eb622cfe4d71839615b78498e5d294dacde3)) -* 修复奶系登记设置遴选词条显示不对的bug ([cefca9](https://gitee.com/i_melon/DNFCalculating/commit/cefca9e95e46bd018ede7dd8cd0441acd7bd0eb6)) +* 修复特性[伤害转换]问题 ([64ebd7](https://gitee.com/dcalc/dnfcalculating_110/commit/64ebd7592ac80bafddb4fe1a86d39d724a25d04d)) +* 修复部分词条描述及实现 ([4d35d2](https://gitee.com/dcalc/dnfcalculating_110/commit/4d35d2262a4969c41976a369a7d4bd98473871d4)) +* 修复锁定魔法值最大值判定问题 ([267a42](https://gitee.com/dcalc/dnfcalculating_110/commit/267a424b3f7fa95435d4950e5da84109a8bcfc69)) +* 修正灼伤在非破韧情况下的冰冻结算判断 ([cbd70d](https://gitee.com/dcalc/dnfcalculating_110/commit/cbd70da0395de86c533c8cc4b6ad31cc128f04cd)) +* 修正部分词条对缔造的特殊处理 ([faf46f](https://gitee.com/dcalc/dnfcalculating_110/commit/faf46fb355dbe989b9b9b915ed7510d092316a31)) +* 修正部分词条描述 ([19b1c5](https://gitee.com/dcalc/dnfcalculating_110/commit/19b1c535ba1249bbba6306de2eb41f85c0937cbb)) +* 极诣·驭剑士:修复前瞻数据问题 ([b449d1](https://gitee.com/dcalc/dnfcalculating_110/commit/b449d180cb6fad6066fbdb65fc6ed5a9cd919cca)) +* 极诣·黑暗武士:修复前瞻数据问题 ([5a03b8](https://gitee.com/dcalc/dnfcalculating_110/commit/5a03b8cb1b8dc27c16798322c7f626fd2741e434)) + + -### 2021-09-26 -#### BugFixes -* 奶系bug修复 ([6f92db](https://gitee.com/i_melon/DNFCalculating/commit/6f92dbd8f8b7c01f2d2c0f43916189a8dc2dd034)) -### 2021-09-25 + +### 2024.01.15 #### BugFixes -* 修复奶系登记设置站街面板会默认为0的问题 ([3f8601](https://gitee.com/i_melon/DNFCalculating/commit/3f86013acafb063def6189dfbf8176d47a7ab67e)) +* 修正传说基础问题 ([c1ebbc](https://gitee.com/dcalc/dnfcalculating_110/commit/c1ebbca2f95a677c46db1249575f74c2a7b84f9f)) + -### 2021-09-24 + +### 2024.01.12 #### NewFeatures -* 增加奶系登记面板修正 ([6772fa](https://gitee.com/i_melon/DNFCalculating/commit/6772fac26d1a435bc6cf311a439fa369306abff5)) -* 奶系择优算法优化 ([889746](https://gitee.com/i_melon/DNFCalculating/commit/8897463527cb66a8f8ea843c284342e96663f365)) -* 奶系换装新增重置装备和默认选项 ([397115](https://gitee.com/i_melon/DNFCalculating/commit/397115c6dd7fab112e9445cbb258e411dc3f553f)) -* 奶系登记设置支持默认选项 ([87ce6b](https://gitee.com/i_melon/DNFCalculating/commit/87ce6b1ac97f95ab07b87a008800206d3ca8bc80)) -* 归元·气功师·男:添加冲云念气场护石 ([11e7ff](https://gitee.com/i_melon/DNFCalculating/commit/11e7ffbf4633b15a81c9b69eea51565d2942b6d9)) -* 苍暮·源能专家:添加[终焉:超世界崩坏]多段次数选择 ([9abbe2](https://gitee.com/i_melon/DNFCalculating/commit/9abbe22f33644bb250c36418de4565c7bb7523db)) -* 详情界面词条名称新增提示,鼠标移动到对应词条显示游戏内词条名称 ([fa31a6](https://gitee.com/i_melon/DNFCalculating/commit/fa31a6d0048ea7d29072c32c5fd62c5ef53df891)) +* 同步韩服0111职业平衡 ([1f6e26](https://gitee.com/dcalc/dnfcalculating_110/commit/1f6e26bc8556879097b9fefe1a049dced442576d)) +* 奶系部分功能完善 ([b71e33](https://gitee.com/dcalc/dnfcalculating_110/commit/b71e33af5f1fb47dc44ee827a5b82f85da71bd94)) #### BugFixes -* 修复奶系自选页面重置无效的bug ([88bcb0](https://gitee.com/i_melon/DNFCalculating/commit/88bcb054278937001d5d5e34d444335a9f10287c)) -* 修复改造限制不生效的问题 ([54cca7](https://gitee.com/i_melon/DNFCalculating/commit/54cca7befac113104f01b04fa30bd70091c9b6bd)) -* 修复输出系自选面板显示问题 ([3ec71d](https://gitee.com/i_melon/DNFCalculating/commit/3ec71da38113fd359de162e1c08aaa148e28132c)) -* 修复输出系自选面板显示问题 ([d1a898](https://gitee.com/i_melon/DNFCalculating/commit/d1a8981a514efc418468dce6e4766af5a65f794a)) -* 修正自选在锁定部位情况切换下可能会闪退的情况 ([599564](https://gitee.com/i_melon/DNFCalculating/commit/59956444615c073ddacfe977f8652c28e5f275a5)) -* 同步游戏内详情界面技能攻击力词条算法 ([9735f6](https://gitee.com/i_melon/DNFCalculating/commit/9735f68989cf944a544e156d8810b8eecc5d32cc)) -* 归元·柔道家·女:修正末日摇篮数据错误 ([842e5f](https://gitee.com/i_melon/DNFCalculating/commit/842e5f882db66c388e8ac299f3f3a2c85b470765)) -* 隐夜·刺客:修正一叶障目对死亡风暴加成未能享受技能攻击力辟邪玉加成的情况 ([ac270e](https://gitee.com/i_melon/DNFCalculating/commit/ac270efda806eeee0256942b5e5b29b26583c17a)) +* 优化桌面端窗口大小自适应 ([250dea](https://gitee.com/dcalc/dnfcalculating_110/commit/250deaad70bd2a93f94c68c4e058c0986e3bac13)) + -### 2021-09-17 + +### 2024.01.07 #### BugFixes -* 修正辟邪玉对守门人属强的加成 ([1d6a96](https://gitee.com/i_melon/DNFCalculating/commit/1d6a96713899c8c5685b8aa7ba4561a62f4c660a)) -* 极诣·刃影:修正[沉寂之狱]数据偏高的情况 ([ebe040](https://gitee.com/i_melon/DNFCalculating/commit/ebe040ff7eadaefe22a0e93ce32ea8f1478b73e6)) +* 优化桌面端窗口大小自适应 ([250dea](https://gitee.com/dcalc/dnfcalculating_110/commit/250deaad70bd2a93f94c68c4e058c0986e3bac13)) -### 2021-09-16 -#### NewFeatures -- 前瞻数据:同步韩服正式服(剑魂、男街霸、男气功、混沌魔灵)调整 ([1e111e](https://gitee.com/i_melon/DNFCalculating/commit/1e111e67aae1b60ccadcbd4b097e2a3d2166272f)) -- 新增双击页签重置当前页面功能 ([ca575b](https://gitee.com/i_melon/DNFCalculating/commit/ca575bfb93c3b8820fe1beb22769099ffed65fb4)) -- 详情界面新增辟邪玉属性显示 ([22d5d8](https://gitee.com/i_melon/DNFCalculating/commit/22d5d89b1c8f74da92de3eed107336f8f79e5b62)) -- 调整时装选择区间 ([31f5fe](https://gitee.com/i_melon/DNFCalculating/commit/31f5feb1bc4b3c688fa3190a48c8ce4ad7dcabe4)) -- 输出系新增单独技能存档 ([a9f628](https://gitee.com/i_melon/DNFCalculating/commit/a9f628948455e1eb8642ffc0ca22b0128dad9a72)) +### 2024.01.07 #### BugFixes +* 修正页签部分情况下会卡死的现象 ([10cfda](https://gitee.com/dcalc/dnfcalculating_110/commit/10cfda48cceb09a92139bb8bcc56c777a765d7a8)) +* 桌面版部分错误修复 ([bd1088](https://gitee.com/dcalc/dnfcalculating_110/commit/bd10887c07fc54c62c313506f4b7fa0dc7c1e0cc)) + + -- 修复奶系各种 bug ([ddf792](https://gitee.com/i_melon/DNFCalculating/commit/ddf792203ecc21c853c205079560f7e0e529c490)) -- 修复奶系奥兹玛右槽不生效的 bug ([5aa41f](https://gitee.com/i_melon/DNFCalculating/commit/5aa41fc06b9786617835039249d06b667d8b7407)) -- 修复奶系奥兹玛希洛克存档 bug ([bf00f2](https://gitee.com/i_melon/DNFCalculating/commit/bf00f26b61fa13f37b18c4196039514f16d76112)) -- 修复奶系登记设置残香效果异常的 bug ([19da4e](https://gitee.com/i_melon/DNFCalculating/commit/19da4eb2afe16b0c1d45e56a80d4ba62ec12a4f3)) -- 修复奶系输出页面技能图片不对的 bug ([7df107](https://gitee.com/i_melon/DNFCalculating/commit/7df107689fa235a9053cbdb81ddb5d8cfdbfc6ff)) -- 修正奶量 buff 自定义加成错误 ([baa2eb](https://gitee.com/i_melon/DNFCalculating/commit/baa2eb58ff1178f6e793a3d94cd36a63002309a4)) -- 存档功能 bug 修复 ([591924](https://gitee.com/i_melon/DNFCalculating/commit/5919240af243687afa88726b8c6d6238f6c21258)) -- 极诣·驭剑士(前瞻版本):修正太刀精通数据错误 ([a8d7b3](https://gitee.com/i_melon/DNFCalculating/commit/a8d7b30446fa184d356fc90ec998ed626627ee9e)) -- 极诣·驭剑士:修正飓风魔剑护石加成错误 ([b764b1](https://gitee.com/i_melon/DNFCalculating/commit/b764b1760b042502dd555423da863804e42edc34)) -- 重霄·机械师·男:修正[拦截机工厂]在[光反应能量模块]下数据问题 ([1c33ba](https://gitee.com/i_melon/DNFCalculating/commit/1c33baf4bdbce78beff619098e3774bfdc4e8a67)) +### 2024.01.05 -### 2021-09-11 +#### NewFeatures +* 同步国服职业平衡 ([359e7b](https://gitee.com/dcalc/dnfcalculating_110/commit/359e7bee1560a8db50cffa7d6aa04fe04dca980a)) +* 隐夜·死灵术士:同步CP武器改版 ([020e37](https://gitee.com/dcalc/dnfcalculating_110/commit/020e37916a6bf1089ec2e64c9822cc86350364f3)) #### BugFixes +* 修复华丽的清音护肩判定问题 ([700516](https://gitee.com/dcalc/dnfcalculating_110/commit/7005169dfca03d1b70f28e469c78a46b787baa17)) +* 修正奶系天赋Lv50增益减少效果未正确计算的情况 ([1665d5](https://gitee.com/dcalc/dnfcalculating_110/commit/1665d5a9bb29c0041fab3b24cc7b625f64bd8591)) +* 归元·街霸·男:修正前瞻数据问题 ([38c3c8](https://gitee.com/dcalc/dnfcalculating_110/commit/38c3c8fc787d2fbde8b78abd0447e3a1a75b1284)) +* 极诣·剑影:修正[鬼连斩:极]无色判定问题 ([a20a9e](https://gitee.com/dcalc/dnfcalculating_110/commit/a20a9edff7de5c443b83350ea878ebdd8c8d8910)) +* 极诣·剑魂:修正异常额外增伤未正确适用问题 ([1245d1](https://gitee.com/dcalc/dnfcalculating_110/commit/1245d1e0f8d79d2c320d8eaba68c9f64fb8c87e7)) +* 极诣·阿修罗:修复暗天波动眼下衍生技能的无色判定 ([f0dfc2](https://gitee.com/dcalc/dnfcalculating_110/commit/f0dfc26ed029f9c31e262df11f64a81660b4210e)) +* 极诣·黑暗武士:修复灵通CD计算问题 ([aa0c6c](https://gitee.com/dcalc/dnfcalculating_110/commit/aa0c6c0b5a8887f1f315353d0588fdaf9f4b86a3)) +* 神启·异端审判者:修正前瞻数据问题 ([c61c79](https://gitee.com/dcalc/dnfcalculating_110/commit/c61c795e1bae79f2fb8ea216d1a9ee18e78dd330)) +* 隐夜·影舞者:修正部分数据问题 ([c367c6](https://gitee.com/dcalc/dnfcalculating_110/commit/c367c64339e0baf1a6c9f8ef5a7569e3df3f95dd)) +* 隐夜·死灵术士:修正百鬼夜行CD错误 ([4b71b5](https://gitee.com/dcalc/dnfcalculating_110/commit/4b71b51407c02c1d6fa7873d98c7dcd0f97141d5)) -- 修复奶系自选装备栏不生效的 bug ([2963a1](https://gitee.com/i_melon/DNFCalculating/commit/2963a158773b699f5a5f1b3ed6db2b07eeeab2b6)) -- 修正奶量 buff 自定义加成错误 ([d26302](https://gitee.com/i_melon/DNFCalculating/commit/d263020948d9a3289853e1e3f887769d28791421)) -- 奶系 bug 修复 ([3dbb70](https://gitee.com/i_melon/DNFCalculating/commit/3dbb7030eabef8d8de4a1bcf161b04ef0c4d7168)) -- 极诣·驭剑士(前瞻版本):修正太刀精通数据错误 ([a05db6](https://gitee.com/i_melon/DNFCalculating/commit/a05db604d6b9dedcfa8872a7445dd81c657e3066)) -- 修正奶系 buff 输入框在部分情况下错位的问题 ([05813e](https://gitee.com/i_melon/DNFCalculating/commit/05813e48deed6d18e53b9e60df434db5df516c73)) -- 知源·魔道学者(前瞻版本):修正部分数值错误 ([c9f0de](https://gitee.com/i_melon/DNFCalculating/commit/c9f0de4e93df250b2b785ac215613dfb902a30f0)) -### 2021-09-08 -#### NewFeatures -- 同步韩服职业平衡,特工、魔道、战法部分技能采用韩服体验服数据,等国服上线或韩服正式服上线进行二次核对
- 男女气功由于念兽龙虎啸精通等级发生变化,前瞻版本与国服版本公用 set,暂时需手动在第二页调整等级 ([beb1bc](https://gitee.com/i_melon/DNFCalculating/commit/beb1bca75ee41ef250b11da4cb139726b52f775a)) -- 奶系:修改王座本源属性 ([77f98c](https://gitee.com/i_melon/DNFCalculating/commit/77f98c3b5ac9c4c0a38f50909725b8abbc970f40)) -- 奶系:换装设置只针对于自选计算,不影响排行计算等
- 启用换装设置后,建议自行调整太阳套残香、遴选等,自适应不是最优值 ([d89240](https://gitee.com/i_melon/DNFCalculating/commit/d892401d05ec2fd901c9fa59450aaab53c900b76)) -- 完善使用手册 ([883054](https://gitee.com/i_melon/DNFCalculating/commit/883054f3f7a73f8a9a887cfa0ecc95737791ea2a)) -- 新增奶系自选多装备栏功能 ([b2ea7b](https://gitee.com/i_melon/DNFCalculating/commit/b2ea7b1732f4a0747877ce716ace96a98c0a46a9)) -- 新增消息通知功能 ([bf2bb6](https://gitee.com/i_melon/DNFCalculating/commit/bf2bb64a159aede513d569ca6ea21f6458cd1e42)) -- 添加 2021 金秋礼包相关道具,并调整默认配置 ([46f111](https://gitee.com/i_melon/DNFCalculating/commit/46f111b32bd72544d3e06de88da7bf3275a08a08)) -- 输出系:宠物添加比拉谢尔号 close #I42ZF1 ([6585be](https://gitee.com/i_melon/DNFCalculating/commit/6585be21637e7a3eba6f671b20ba476c84c8177e)) -- 输出系:添加奶量 buff 自选输入功能 By Nicron ([3c32cc](https://gitee.com/i_melon/DNFCalculating/commit/3c32cc05d4c743240c3cb3245c4c0856718d373e)) -- 重构奶系切装登记功能 By 知月 ([685581](https://gitee.com/i_melon/DNFCalculating/commit/685581b8f97ea4dc80a80774064ace82e1e8c592)) -#### BugFixes -- 修复女机械狂风护石装备好不吃精神刺激灵药的问题 ([bf6356](https://gitee.com/i_melon/DNFCalculating/commit/bf635675bd3a866f7a1e3cf9ea70c129d6935513)) -- 修正完美掌控等级加成为站街加成 ([bc50e6](https://gitee.com/i_melon/DNFCalculating/commit/bc50e6adac04304c1f04b84b96639c0985bab304)) -- 极诣·流浪武士:修正樱花劫护石数据错误 ([e049cd](https://gitee.com/i_melon/DNFCalculating/commit/e049cd4b815255d9fd45e9e848b7aacd2f1db92a)) -- 皓曦·帕拉丁:修正破晓之光护石错误 ([7c52be](https://gitee.com/i_melon/DNFCalculating/commit/7c52be27ff9e708b43683059196b296cb1ada1a0)) -- 皓曦·精灵骑士:修复壁垒突袭护石问题 ([3d0072](https://gitee.com/i_melon/DNFCalculating/commit/3d0072153e03dca89d24502bf684894fbc6559bf)) -- 神启·蓝拳圣使:修复极速飓风拳护石 CD 问题 fix:#I44H6M ([e905f0](https://gitee.com/i_melon/DNFCalculating/commit/e905f03320cd710538f8708964d70d7723bff2a2)) -- 重霄·漫游枪手·男:修复致命回射 CD 问题 ([dd1fa5](https://gitee.com/i_melon/DNFCalculating/commit/dd1fa5b0420dbf3114d2b439c780b1808e4f7a59)) -- 隐夜·死灵术士:修正杀戮乱舞数据错误 ([1c68f7](https://gitee.com/i_melon/DNFCalculating/commit/1c68f7ce17fa7641b2ac855646c7ec0e506d70d2)) -### 2021-08-05 -#### NewFeatures -- 同步修复技能冷却时间恢复对部分技能无加成的情况 ([fa4a04](https://gitee.com/i_melon/DNFCalculating/commit/fa4a043db344c63aaacabcfaa523d3539e746826)) -- 同步职业平衡二次改动 ([811d09](https://gitee.com/i_melon/DNFCalculating/commit/811d09432f2a557d65e37771dd1cbffdeeaeac0f)) -- 部分职业作者挂着计算器作者名声发表不当言论或进行不当行为,在此再次强调一下,除西瓜和纸飞机对计算器的言论外,其余都可当做个人行为和言论
- 同时由于较多职业作者不再维护数据,绝大部分职业目前都是由西瓜和纸飞机维护,暂时统一取消作者显示,可在 contributors 中查看贡献人员名单 ([fb3c81](https://gitee.com/i_melon/DNFCalculating/commit/fb3c812145886e9f9e872c5f1f81961dc993846d)) -### 2021-07-31 -#### BugFixes -- 知源·召唤师:修正闪退的情况 ([64ea9d](https://gitee.com/i_melon/DNFCalculating/commit/64ea9dcf7b40b7ef755eb2622cc774f17f2d437d)) -### 2021-07-30 +### 2023.12.30 #### NewFeatures +* 优化基础数据请求逻辑 ([4e68c9](https://gitee.com/dcalc/dnfcalculating_110/commit/4e68c929838975635c572b3e810af63082c1bf48)) +* 新增2024新春礼包相关 ([f518af](https://gitee.com/dcalc/dnfcalculating_110/commit/f518af61166b838dcd4d15600d90d14004974bce)) +* 新增范围实际加成效果、装备防御粗算 ([c7b253](https://gitee.com/dcalc/dnfcalculating_110/commit/c7b25323d25f434ecfd4666ec6ccac193920b123)) +* 装备描述同步国服 ([efda33](https://gitee.com/dcalc/dnfcalculating_110/commit/efda33a0c6b076343f03b7a69f3829fee46c7478)) + +#### BugFixes +* 修复[幻影爆碎]相关无色判定问题 ([d833b2](https://gitee.com/dcalc/dnfcalculating_110/commit/d833b2ade0c4c8f3e41faf17b9f932d81a0c70c5)) +* 同步升级为神后,装备增幅等仍按照105等级计算 ([14a066](https://gitee.com/dcalc/dnfcalculating_110/commit/14a0667047bef2f38fff51cfa655bae53f41ab9e)) +* 部分属性修复 ([fdf7e9](https://gitee.com/dcalc/dnfcalculating_110/commit/fdf7e941ca7530c51635f79b6be9b1ba0bb0b9bc)) + + -- 同步国服体验服数据 ([8b694e](https://gitee.com/i_melon/DNFCalculating/commit/8b694e5660523ad36d3e762dbfc7f3dc59982980)) -- 归元·柔道家·男:同步国服体验服臂铠精通实际 CD 效果 ([a46410](https://gitee.com/i_melon/DNFCalculating/commit/a4641029c467b753c27dca917aafdb62894037b0)) +### 2023.12.22 #### BugFixes +* 修正奶系部分装备倍率计算错误 ([5ac442](https://gitee.com/dcalc/dnfcalculating_110/commit/5ac442dd12d8cbdaefc9c32978ac5bd910210612)) -- 修复奶系换装功能 bug ([b5d8c4](https://gitee.com/i_melon/DNFCalculating/commit/b5d8c4162c5be8ce89fd29448a51326303c2da85)) -- 知源·冰结师:修正旋冰穿刺倍率错误 ([e8a681](https://gitee.com/i_melon/DNFCalculating/commit/e8a68190e3e6da9bee048cc295b448136f308ad6)) -- 知源·召唤师:修正部分技能 CD 错误 ([9cfaee](https://gitee.com/i_melon/DNFCalculating/commit/9cfaee6d94a11cbea9356ad74f4ad88db42387e8)) -- 神启·异端审判者:修正炎狱祭坛:炮烙计算错误 ([908b04](https://gitee.com/i_melon/DNFCalculating/commit/908b04e6cb27225d3f0d4b173d00df3e0d89b6ac)) -- 重霄·弹药专家·男:修正交叉射击加强数值错误 ([643fbe](https://gitee.com/i_melon/DNFCalculating/commit/643fbea735787d33c7716597387df3073813ed2d)) -- 重霄·弹药专家·男:修正子弹选择次数后无法计算的情况 fix #I42MLF ([310c0b](https://gitee.com/i_melon/DNFCalculating/commit/310c0b4e8a572c3a55aa2b6085ca2da570ba657a)) -- 重霄·弹药专家·男:修正轻火力速射护石问题 ([02a0ab](https://gitee.com/i_melon/DNFCalculating/commit/02a0aba9112f8f5675c820c480b67e45056757a7)) -### 2021-07-26 -#### NewFeatures +### 2023.12.21 -- 新增奶职业的自选装备双切计算 By Umi(测试中功能) ([c68098](https://gitee.com/i_melon/DNFCalculating/commit/c680988432e221e69c6d5fbfa8fcf64be08ea574)) -- 同步国服体验服职业平衡数据 ([a7a230](https://gitee.com/i_melon/DNFCalculating/commit/a7a230fb5d8d3bcb9420d9973b4b8d1ae5c23296)) -- 隐夜·死灵术士:同步体验服相关护石效果修正 ([77810d](https://gitee.com/i_melon/DNFCalculating/commit/77810d839eaf2695f6c2389c0ccd60e042e662e3)) -- 技能次数及宠物次数支持表达式,技能次数如/CD/1.2,/CD-1,min(/CD,3)等,宠物次数如 num/1.5,num-1、min(num,2)等,num 表示技能释放次数 ([326fdbb](https://gitee.com/i_melon/DNFCalculating/commit/326fdbb7849f9c6240aef0b3db115f1bd80714d2)) +#### NewFeatures +* 奶系添加CD显示(测试性功能) ([b79fe7](https://gitee.com/dcalc/dnfcalculating_110/commit/b79fe761055a41ae69da742b3b3ef898d0a0b7e0)) #### BugFixes +* 修复韩服版本CP武器卡洛问题 ([62d472](https://gitee.com/dcalc/dnfcalculating_110/commit/62d4728b9c9383bb7847f3078d6a1c60f608c0b0)) +* 归元·街霸·男:修正前瞻版本部分数据问题 ([23a66a](https://gitee.com/dcalc/dnfcalculating_110/commit/23a66ae733358b1569a07342eb30bd14e733126b)) +* 重霄·合金战士:修复基础同步问题 ([200b44](https://gitee.com/dcalc/dnfcalculating_110/commit/200b44f9966a4d39c84d92d51a4d059ec48a53c0)) -- 知源·召唤师:修复牛头王库鲁塔和愤怒咆哮护石减 CD 效果未生效的问题 ([11a3a2](https://gitee.com/i_melon/DNFCalculating/commit/11a3a2240f608c5bee3021e35cc85ae904f7dbbb)) -- 知源·战斗法师:修正炫纹簇护石无法计算的情况 ([20a3dd](https://gitee.com/i_melon/DNFCalculating/commit/20a3dde96770d7961844e5b24f815904030565c9)) -- 隐夜·死灵术士:修正图标错误 ([cde819](https://gitee.com/i_melon/DNFCalculating/commit/cde8194aa095637f0067999a4906e81a2335085e)) -### 2021-07-15 -#### NewFeatures +### 2023.12.17 -- 排行伤害数值显示精确到小数点后三位 ([8194f3](https://gitee.com/i_melon/DNFCalculating/commit/8194f3b97987162d2c0000128820fbd37149e070)) -- 调整奶系 buff 为 10W/4.5K ([2762b4](https://gitee.com/i_melon/DNFCalculating/commit/2762b469cd86c4f1e801e528d4b57547aea3284f)) -- 重霄·弹药专家·男:添加弹药改良属性选择 ([e3072f](https://gitee.com/i_melon/DNFCalculating/commit/e3072fbfbfe5f1b78e955409c420d28effc324bd)) -- 隐夜·影舞者:添加刃舞攻击次数选择 ([b39d9f](https://gitee.com/i_melon/DNFCalculating/commit/b39d9f5b3f0dae36a50ecf32ddedcd1011620f20)) -- 隐夜·死灵术士:添加王子、大巴合并显示功能 ([ead858](https://gitee.com/i_melon/DNFCalculating/commit/ead85880a0862f0ee70f45ee91eb58bab7127dd2)) +#### NewFeatures +* 上线微信小程序版本 ([3478f7](https://gitee.com/dcalc/dnfcalculating_110/commit/3478f7a15bf6cca911520127d628aa2d415000e8)) +* 同步国服CP武器二次调整 ([2b62c4](https://gitee.com/dcalc/dnfcalculating_110/commit/2b62c40e6ec588fdce37faa4e2cd72ebf11ca7c8)) +* 同步国服CP武器修改 ([863dc8](https://gitee.com/dcalc/dnfcalculating_110/commit/863dc86cd7e97f17f1e7f8099754fe0d56f36da2)) +* 同步国服神界版本 ([f3f400](https://gitee.com/dcalc/dnfcalculating_110/commit/f3f400dddc7c6b22769f0903a0aca6d68b5fccad)) +* 同步混沌魔灵、剑宗、女机械CP武器修改 ([8a1942](https://gitee.com/dcalc/dnfcalculating_110/commit/8a19422436cb6a2f5e3d9313f2e1175bc1816874)) +* 同步韩服特性改版 ([034cbb](https://gitee.com/dcalc/dnfcalculating_110/commit/034cbb2eb7034917d08d0d1d0f9c05be3cea5df4)) +* 同步韩服职业平衡 ([8cd034](https://gitee.com/dcalc/dnfcalculating_110/commit/8cd0340622af7628f750153cfd7c9e585ecbdd36)) +* 添加概率词条触发选择 ([7bc738](https://gitee.com/dcalc/dnfcalculating_110/commit/7bc738abb701d4c356e76fb9e193a67dc1f67387)) +* 添加神界相关附魔 ([b71ede](https://gitee.com/dcalc/dnfcalculating_110/commit/b71edeccac0511ab3b79b86ab1cc00f72d663b50)) +* 添加迷雾装备[百变怪系列]2/4件套属性与设置 ([62b8c3](https://gitee.com/dcalc/dnfcalculating_110/commit/62b8c39b505d51e745050240fb939bfe1c2c6b9a)) #### BugFixes +* 修复自动更新无法下载 ([c5e7e3](https://gitee.com/dcalc/dnfcalculating_110/commit/c5e7e3d9705e5c58d6f6b73865361cedda64e957)) +* 修复附魔套对奶系附魔计算二次加成等级问题 ([6efa17](https://gitee.com/dcalc/dnfcalculating_110/commit/6efa1738eee3e7a1ac630844def0894aad80ee9e)) +* 归元·散打:修复双重释放相关判定 ([9c2383](https://gitee.com/dcalc/dnfcalculating_110/commit/9c2383e71ede93dc2689866d9ef8e5e1d62a2f71)) +* 极诣·剑影:修正部分技能护石问题 ([8f7048](https://gitee.com/dcalc/dnfcalculating_110/commit/8f704833ceccda0adc472f2bfb6301017c404974)) +* 聆风·旅人:修复神雾兵仗·流星无色问题 ([bbbade](https://gitee.com/dcalc/dnfcalculating_110/commit/bbbade9d1d92767ae02feddf0fe5dc4caa52df6a)) -- 重霄·弹药专家·女:修正图标异常情况 ([30b3ca](https://gitee.com/i_melon/DNFCalculating/commit/30b3ca5883613e9db03ac7ebd079012a40743a55)) -- 修正[雷霆怒啸手枪]对[光反应能量模块]加成错误 ([1eb8d8](https://gitee.com/i_melon/DNFCalculating/commit/1eb8d8682a3cd6e258597f48559136c416572b31)) -- 极诣·刃影:修正[孤勇之志]站街独立显示错误 ([af495c](https://gitee.com/i_melon/DNFCalculating/commit/af495c67662f7388be4ed32b79a2934b2d4305e9)) -### 2021-07-07 -#### NewFeatures -- 极诣·刃影:同步技能名称修改及护石实际效果 ([cf0097](https://gitee.com/i_melon/DNFCalculating/commit/cf009738f1168253f390da6df44df7049026b4e7)) -- 极诣·刃影:调整默认配置 ([adca0f](https://gitee.com/i_melon/DNFCalculating/commit/adca0fb6a55c3c4c080b28a47654a2f3d2a64a6b)) -- 详情界面显示奥兹玛融合图标 ([555f18](https://gitee.com/i_melon/DNFCalculating/commit/555f18a7e8f3063312dbe10999fb3f4ba415281d)) -- 重霄·机械师·女:同步国服超时空光耀加农炮数据,同时优化部分技能的选择 ([eab3f3](https://gitee.com/i_melon/DNFCalculating/commit/eab3f3221a3d73f573cc7d8f831c3313aadcbe17)) -#### BugFixes -- 知源·缔造者:修正阿斯特罗斯技能等级范围不生效的情况 ([80b717](https://gitee.com/i_melon/DNFCalculating/commit/80b7178fd887c961a941eab3332416ae978d797b)) -### 2021-07-01 -#### NewFeatures -- 护肩添加 2%技攻选项 ([f11ecf](https://gitee.com/i_melon/DNFCalculating/commit/f11ecf643d72d156c7b5abe7ee1021a65e42db51)) -- 极诣·刃影:同步国服体验服二次调整数据 ([b6c2ee](https://gitee.com/i_melon/DNFCalculating/commit/b6c2eeedc1beab74f752c5c823445f6adfab7096)) -- 添加夏日升级宠物 ([7ae3b8](https://gitee.com/i_melon/DNFCalculating/commit/7ae3b830ab1d8f8b289ed98a0a899e04c4e6f727)) -- 添加夏日相关宠物装备及择优 ([9780f6](https://gitee.com/i_melon/DNFCalculating/commit/9780f652005e84c1f4344ba6c6bf57335b4d42c9)) -- 知源·缔造者:适配阿斯特罗斯技能等级范围修改 ([d95183](https://gitee.com/i_melon/DNFCalculating/commit/d95183a1c94348bb9c13a5cdc999be1e794129b2)) -- 预更新伤害压缩,程序将于 2021.7.8 日自动生效 ([b3db49](https://gitee.com/i_melon/DNFCalculating/commit/b3db498e9016fb451bdeadb00f2ddfe4cbf1abdd)) -#### BugFixes -- 修复泰玛特鞋子属性错误 ([3ab6f5](https://gitee.com/i_melon/DNFCalculating/commit/3ab6f52652daf872df1df41a3993ed87f3874f0c)) -- 归元·街霸·男:修复毒雷引爆护石加成错误 ([8dfe71](https://gitee.com/i_melon/DNFCalculating/commit/8dfe71b3e73018b520f8ebccd0dc312f45378f8d)) -- 极诣·刃影:修正夜之风相关错误 ([9034e7](https://gitee.com/i_melon/DNFCalculating/commit/9034e7df3d687511560cd9d977554f99bf735fe7)) -### 2021-06-25 + + + +### 2023.11.22 #### BugFixes +* 修复自动更新无法下载 ([c5e7e3](https://gitee.com/dcalc/dnfcalculating_110/commit/c5e7e3d9705e5c58d6f6b73865361cedda64e957)) -- 极诣·刃影:修正若干数据错误 ([14a741](https://gitee.com/i_melon/DNFCalculating/commit/14a741715ba900733f82af55bbfb3a172793e668)) -### 2021-06-24 -#### NewFeatures +### 2023.11.22 -- 归元·散打·男:同步游戏 BUG,无欲之花对双重释放暂无加成 ([23068a](https://gitee.com/i_melon/DNFCalculating/commit/23068a5e9200029d8d4d4a2f83670f0af982dfd1)) -- 新增极诣·刃影 ([34a95e](https://gitee.com/i_melon/DNFCalculating/commit/34a95ed5b22cf5590661f633fd2e788acc8ee7d0)) +#### NewFeatures +* 优化导出界面 ([516cb4](https://gitee.com/dcalc/dnfcalculating_110/commit/516cb496f679af65604384112317ef596dc47b67)) +* 优化特新系统显示 ([d6993d](https://gitee.com/dcalc/dnfcalculating_110/commit/d6993dea210d4479a37277060eadca4b5ffad2e5)) +* 单套界面优化 ([19e307](https://gitee.com/dcalc/dnfcalculating_110/commit/19e30701e0c6d45259260f092c4c235419bcf210)) +* 新增自定义简易查看 ([41c324](https://gitee.com/dcalc/dnfcalculating_110/commit/41c3240d0023b7dd3b7fe091bf5489297bb85550)) +* 添加速度显示 ([52d5c0](https://gitee.com/dcalc/dnfcalculating_110/commit/52d5c01e804ac05631151725a0e2d04a908f6bf8)) +* 皓曦·精灵骑士:添加骑乘类技能 ([652e59](https://gitee.com/dcalc/dnfcalculating_110/commit/652e59e59da9bd962a783de2cc2227eb516bfe6e)) #### BugFixes +* 重霄·漫游枪手:修复射击掌握加成错误 ([7dc05f](https://gitee.com/dcalc/dnfcalculating_110/commit/7dc05f5adc2c90d8195e83d657749ef91bf141a1)) + -- 修正奥兹玛图标错误 ([af36e5](https://gitee.com/i_melon/DNFCalculating/commit/af36e5a8c903a1139303add3bdf80519d46b1354)) -- 归元·散打·男:修正极武霸皇踢数据错误 ([2b1557](https://gitee.com/i_melon/DNFCalculating/commit/2b15575265c5d666e9fec6a3a8b250c40810fa6e)) -- 重霄·机械师·男:修复沙雕韩械的若干 BUG ([9895d2](https://gitee.com/i_melon/DNFCalculating/commit/9895d2fc866cf089b76f0b29e89a2fdefecacd66)) -### 2021-06-16 -#### NewFeatures -- 同步国服版本 ([c8af8c](https://gitee.com/i_melon/DNFCalculating/commit/c8af8c6acd67c36bb703361b4c0ad0100a0734d3)) -- 重霄·弹药专家·男:下调黑玫瑰特种战队 hit 数 ([f9e89a](https://gitee.com/i_melon/DNFCalculating/commit/f9e89a5855f3d175996dca7b30adbc728540cb85)) +### 2023.11.16 + +#### NewFeatures +* 千魂·征战者:添加战戟猛攻计算 ([fec1b1](https://gitee.com/dcalc/dnfcalculating_110/commit/fec1b17c2ca918e0d6168da7a2e6d71e7c18153b)) +* 支持词条关键字搜索装备 ([4d9c74](https://gitee.com/dcalc/dnfcalculating_110/commit/4d9c743d46701363bd3022c1b8edfe224af41d0b)) +* 添加分享 ([ecdd09](https://gitee.com/dcalc/dnfcalculating_110/commit/ecdd094136f2b3b57c39e6adfc7f911b3c7e439c)) #### BugFixes +* 极诣·剑魂:修复韩服版本破军斩龙击数据问题 ([e5c436](https://gitee.com/dcalc/dnfcalculating_110/commit/e5c4369e8cf3d7b5c2767e62a3065daebe50acc4)) +* 极诣·狂战士:修复韩服版本数据问题 ([bc2717](https://gitee.com/dcalc/dnfcalculating_110/commit/bc27177653483b426a4973993e761dd66ebd6224)) +* 神启·异端审判者:修复神焰斩数据问题 ([1a2373](https://gitee.com/dcalc/dnfcalculating_110/commit/1a237351683520863bb564a8c5fcf2b6bd502f00)) +* 聆风·旅人:修复[装载:烟花漫天]护石CDR ([efc96f](https://gitee.com/dcalc/dnfcalculating_110/commit/efc96f536089883a2d51f189c5e0798893f5726c)) -- 归元·散打·男:修正烈火强踢护石 CD 错误 ([0fb5bc](https://gitee.com/i_melon/DNFCalculating/commit/0fb5bc56d60a88107b2d4e1593f614c1c97bdfb5)) -### 2021-06-09 -#### NewFeatures +### 2023.11.11 -- 同步国服体验服数据 ([35f1ea](https://gitee.com/i_melon/DNFCalculating/commit/35f1ea8ff8b236a956b82237a1d376e8f2575724)) +#### NewFeatures +* 同步国服职业特色平衡(待校验) ([cd0f14](https://gitee.com/dcalc/dnfcalculating_110/commit/cd0f146e787af96a99cc0fc1f4f9beb597050d21)) #### BugFixes +* 知源·魔道学者:修复数据问题 ([417213](https://gitee.com/dcalc/dnfcalculating_110/commit/417213fbfc5a31d0890ee99f328368a8bd4aee4d)) +* 隐夜·死灵术士:修复韩服前瞻数据错误 ([bc50ff](https://gitee.com/dcalc/dnfcalculating_110/commit/bc50ff8fc1a170b0c97abd83871f45371d4415d3)) -- 知源·召唤师:修复蚀落段数问题 ([6b3183](https://gitee.com/i_melon/DNFCalculating/commit/6b31838fb55d6bed0a754549f12760d427e584ef)) -- 知源·召唤师:修复蚀落段数问题 ([a4e0fd](https://gitee.com/i_melon/DNFCalculating/commit/a4e0fde7e53df8c5c89eb17378dd6171ee00670e)) -### 2021-06-03 -#### NewFeatures +### 2023.11.10 -- 同步国服体验服职业平衡数据 ([1ea86f](https://gitee.com/i_melon/DNFCalculating/commit/1ea86f67a66c0e88a6db444513cefc2d1ec7ac52)) +#### NewFeatures +* up hoci version ([69bd7d](https://gitee.com/dcalc/dnfcalculating_110/commit/69bd7d99d47c3af2651c246d2f77d6993664c23d)) +* 单套选择界面添加装备条件按钮 ([4298d0](https://gitee.com/dcalc/dnfcalculating_110/commit/4298d0491bcbb07280f209604a736c758acb7115)) +* 同步国服10.26职业平衡 ([04e4b8](https://gitee.com/dcalc/dnfcalculating_110/commit/04e4b8a2e0f3d5cd39137301c0505cc9cdfca626)) +* 同步国服11.16部分职业平衡 ([45c1c4](https://gitee.com/dcalc/dnfcalculating_110/commit/45c1c4ef9eda047f7e4eea6228aca42cdccdf71b)) +* 同步韩服10.26职业平衡 ([b00f85](https://gitee.com/dcalc/dnfcalculating_110/commit/b00f850861ddd8af403593aba6f960fc730ba46b)) +* 同步韩服正式服幽暗岛贴膜调整 ([ea499c](https://gitee.com/dcalc/dnfcalculating_110/commit/ea499ca320bdc5051bac20772abbfe01433d6649)) +* 同步韩服职业平衡 ([145a77](https://gitee.com/dcalc/dnfcalculating_110/commit/145a77fc4d738c2f3be747215a4697bc49c93048)) +* 添加简易手机版 ([b8ac67](https://gitee.com/dcalc/dnfcalculating_110/commit/b8ac6722ccdec01b6045806ec3ba138bd149b8f7)) +* 添加韩服幽暗岛贴膜相关 ([39efeb](https://gitee.com/dcalc/dnfcalculating_110/commit/39efeb62685665f6b2177632a336859453833e4c)) #### BugFixes +* 修复一定情况下切换页签卡死的情况 ([3983b4](https://gitee.com/dcalc/dnfcalculating_110/commit/3983b474a4642c16e6c2594de79a4505bf8e0c3d)) +* 修复保护罩算法错误 ([ac0229](https://gitee.com/dcalc/dnfcalculating_110/commit/ac022973924d5968e2b413a021058638c550d75e)) +* 修复神界贴膜修改 ([9a81ce](https://gitee.com/dcalc/dnfcalculating_110/commit/9a81ce2676dabb8a4fa266780aa2dfb36576cff3)) +* 修复部分装备问题 ([0d00ab](https://gitee.com/dcalc/dnfcalculating_110/commit/0d00abb649c660d8a4c6afb496cfc1de2be49336)) +* 千魂·决战者:同步[行云:冥]行云系技能享受部分词条多次加成 ([4387ec](https://gitee.com/dcalc/dnfcalculating_110/commit/4387ec37b9881cc1930ec4933f63cdb325ea3074)) +* 天赋错误修复 ([d901e0](https://gitee.com/dcalc/dnfcalculating_110/commit/d901e0c0041c072cade5fdb79028e2d750effae0)) +* 时间之念耳环改版属性修正 ([e9ed7d](https://gitee.com/dcalc/dnfcalculating_110/commit/e9ed7dd2c232529e6b67e64d98c7480f6271a652)) + -- 苍暮·战线佣兵:修正二觉数据错误 ([21c01a](https://gitee.com/i_melon/DNFCalculating/commit/21c01a899ff03531cd842da48e2ea49dfc76c3a7)) -### 2021-06-02 -#### NewFeatures -- 归元·散打·男、隐夜·刺客:调整一觉绑定图标为终结技能图标 ([2d2cda](https://gitee.com/i_melon/DNFCalculating/commit/2d2cdac6a7f09956d938c387344d780deeceefc0)) -- 新增韩服职业平衡数据:鬼泣、枪炮师(男)、散打(男)、逐风者、狩猎者、暗枪、暗刃、战线佣兵、源能专家
- 召唤由于存在国服特色数据,等后续国服体验服上线后同步 ([8bf9e6](https://gitee.com/i_melon/DNFCalculating/commit/8bf9e6320852a59706a1dbb3e7f0b6bb06b6c96c)) -#### BugFixes -- 归元·散打·女:修正无影脚、回天连环击护石加成错误 ([0ed834](https://gitee.com/i_melon/DNFCalculating/commit/0ed834c9b3b88584e7249d88b1c50eb9fa31e718)) -### 2021-05-19 -#### NewFeatures -- 归元·气功师·男:添加雷霆踏 ([b30ad9](https://gitee.com/i_melon/DNFCalculating/commit/b30ad97cae86b331fdf977c352c9d51b3fbacefb)) -- 枪剑士:同步国服登陆三觉 ([345db6](https://gitee.com/i_melon/DNFCalculating/commit/345db68d8f4692c012af14485a8a5cac2b2b06a1)) -- 添加自动更新备用链接 ([f8c3bb](https://gitee.com/i_melon/DNFCalculating/commit/f8c3bb592c890ac1bd80373755b13a420d558fa6)) -- 输出:添加韩服体验服奥兹玛选项 ([65f766](https://gitee.com/i_melon/DNFCalculating/commit/65f766f5bbbfc5447008db1ac5307f3cbdb9e8bc)) -- 输出:优化阿斯特罗斯选项 ([488545](https://gitee.com/i_melon/DNFCalculating/commit/488545d22c1bcf295f790da6f24d6b0d1338a704)) -- 奶系:添加韩服体验服奥兹玛选项 ([18f88e](https://gitee.com/i_melon/DNFCalculating/commit/18f88e6e3c6e7c77d166c39045aeb4f9ef517603)) -#### BugFixes -- 极诣·暗殿骑士:修正魔镜幻影阵圣痕加成错误 ([b38622](https://gitee.com/i_melon/DNFCalculating/commit/b38622c698fabb36f700e2b5cf30d7692c76d0d6)) -### 2021-05-09 -#### NewFeatures -- 添加韩服体验服外传三觉数据 ([10cf3a](https://gitee.com/i_melon/DNFCalculating/commit/10cf3abd0e8c71cefcbc37b01f60d3e39e7cee52)) -#### BugFixes -- 奶系:修正 BUFF 三攻+3%遗漏独立加成的情况 ([94f6f1](https://gitee.com/i_melon/DNFCalculating/commit/94f6f1d34494df4e3801a0e7c21e47dc18603160)) -- 皓曦·帕拉丁:修正圣盾裁决圣痕护石 CD 计算错误 ([80355f](https://gitee.com/i_melon/DNFCalculating/commit/80355ff3ee8e7aa06af37726ba87985435aa8f4d)) -### 2021-04-30 -#### NewFeatures -- 枪剑士:同步国服体验服三觉数据 ([2df702](https://gitee.com/i_melon/DNFCalculating/commit/2df702b573d58f4c3889576a900068504b0c3570)) -- 设置中添加自动检查更新开关 ([7ef4a7](https://gitee.com/i_melon/DNFCalculating/commit/7ef4a79bd383f879740fcb4c7e58522d016f6bda)) + +### 2023.10.11 + +#### NewFeatures +* 推导仙1~40公式 ([be488f](https://gitee.com/dcalc/dnfcalculating_110/commit/be488f5b1aaab8792f860be6572fbf08b8feecfc)) #### BugFixes +* 修正神界部分装备属性 ([fbe995](https://gitee.com/dcalc/dnfcalculating_110/commit/fbe995e5a7c461a39c76b73e33bfa755ef046832)) +* 归元·气功师:修复分身相关问题 ([3a6a9a](https://gitee.com/dcalc/dnfcalculating_110/commit/3a6a9a17f2f43f27b9b2e747f2efd87e2745a4d4)) +* 气功师·男:修复部分问题 ([aeab71](https://gitee.com/dcalc/dnfcalculating_110/commit/aeab71c879c9b0170b03a4748e21a7fdf8df225a)) + + -- 千魂·征战者:修正长虹贯日护石 CD 错误 ([fe3ccf](https://gitee.com/i_melon/DNFCalculating/commit/fe3ccf82464b554c2175ff3d868ac1908d2e011e)) -- 归元·柔道家·女:修正风暴之舞护石加成错误 ([564ee3](https://gitee.com/i_melon/DNFCalculating/commit/564ee3d0d634baa8bf8f2c19595386e85273ed21)) -- 神启·蓝拳圣使:修正超重拳 CD 错误 ([fa45e2](https://gitee.com/i_melon/DNFCalculating/commit/fa45e24297e271e7598315b7ec73a0fd0554919c)) -- 重霄·弹药专家·男:修正轻火力速射/CD 无法计算的情况 ([4fe9f9](https://gitee.com/i_melon/DNFCalculating/commit/4fe9f958e564344a49f703704be16b5257e01231)) -- 重霄·漫游枪手·男:修正双鹰回旋、疯狂屠戮数据 ([7a4334](https://gitee.com/i_melon/DNFCalculating/commit/7a4334d9d0d2942aee4051f91a38017f173ec6f8)) -### 2021-04-21 + + +### 2023.09.20 #### NewFeatures +* 新增老年人关怀模式,网页自适应PC端分辨率 ([18107e](https://gitee.com/dcalc/dnfcalculating_110/commit/18107e67a2ea96fd5968b70acb72502e5f2cbf4b)) +* 添加神界信守承诺腰带异常结算增幅数值选项 ([153cea](https://gitee.com/dcalc/dnfcalculating_110/commit/153ceabb4aa2b9fd0774ec4b96f924fda679d43b)) + +#### BugFixes +* 修复部分神界装备描述错误 ([5f4193](https://gitee.com/dcalc/dnfcalculating_110/commit/5f4193188641b3a9f73760450a7e947804aada05)) +* 修复韩服新增自定义词条在切换时导致国服词条无法选择为题 ([ff192c](https://gitee.com/dcalc/dnfcalculating_110/commit/ff192c11be674e0a623dabebc020d1d0bd7640cd)) +* 归元·街霸·女:修复[狂·霸王拳]相关问题 ([d4de1b](https://gitee.com/dcalc/dnfcalculating_110/commit/d4de1b752fd7011158666624f43de184cb2860af)) +* 极诣·驭剑士:数据修正 ([b2f37e](https://gitee.com/dcalc/dnfcalculating_110/commit/b2f37e535eb0807297b7e85092e70843140ed90d)) +* 皓曦·帕拉丁:修复神圣意志:大天使降临前瞻数据错误 ([7eaab4](https://gitee.com/dcalc/dnfcalculating_110/commit/7eaab4fe229b14ad8f9bbad921cb8df8f7fe86e1)) +* 知源·魔道学者:修复超级棒棒糖数据问题 ([070a3e](https://gitee.com/dcalc/dnfcalculating_110/commit/070a3ebe1be74354c773c3b4791d50c572d8ad25)) +* 隐夜·影舞者:修复锁链无色判定 ([705dd0](https://gitee.com/dcalc/dnfcalculating_110/commit/705dd07d7872f1731afef92a63b924b622af9138)) -- 皓曦·混沌魔灵:修正魔灵召唤相关数据 ([99cf2f](https://gitee.com/i_melon/DNFCalculating/commit/99cf2fc7ffb25c5e244945d771549fd46bd2e896)) -- 神启·驱魔师:区分[式神灭却·合]双脉轮形态数据差异 ([42a9b0](https://gitee.com/i_melon/DNFCalculating/commit/42a9b04baa95b4eb5e86b0d20150d69332f27295)) -- 重霄·弹药专家·男:修正爆裂弹数据及/CD 算法 ([02e25a](https://gitee.com/i_melon/DNFCalculating/commit/02e25ae5e9e44aef4ab2fd4a05f329ec534ad04b)) -- 魔枪士:同步国服登陆三觉 ([de22bc](https://gitee.com/i_melon/DNFCalculating/commit/de22bcad101f4cc28c06bf8979507b7e81af7946)) + + +### 2023.09.16 #### BugFixes +* __asyncLoader error ([e93547](https://gitee.com/dcalc/dnfcalculating_110/commit/e9354771b80dfca6f47edf5eedb13322bc46291f)) +* 修复神界版本部分错误 ([d3dd29](https://gitee.com/dcalc/dnfcalculating_110/commit/d3dd29f76e5dd21348d1f6be4546f10b88019bf9)) -- 修复未能正常关闭 ([a9c6a7](https://gitee.com/i_melon/DNFCalculating/commit/a9c6a73fd06737da65ad78822cb58f452a1e7087)) -- 修正改造武器升级词条的间隔 ([dd59dc](https://gitee.com/i_melon/DNFCalculating/commit/dd59dce21f322337fec4bc4a351de41f8d2c5883)) -- 修正黑暗幽灵紫杉长靴属性错误 ([6f889e](https://gitee.com/i_melon/DNFCalculating/commit/6f889ea5720a4694fd5716106afdfdfe9f58e227)) -- 归元·散打·女:修正部分技能数据错误 ([ac8699](https://gitee.com/i_melon/DNFCalculating/commit/ac8699c3c3db9ab76e0e8ec719837c46bcd25db1)) -- 苍暮·特工:修正[月夜:终极行动]6 级后数据错误 ([81dad6](https://gitee.com/i_melon/DNFCalculating/commit/81dad6bb64f727a81255f6be9a14a341c91b7b62)) -### 2021-04-14 -#### NewFeatures +### 2023.09.15 -- 固定计算器名称,方便创建快捷方式用户 ([b623bc](https://gitee.com/i_melon/DNFCalculating/commit/b623bcd485e5920d589c3a981a43daeba2a71039)) -- 奶系:添加择优方向选择:爆发(太阳系数 1)、续航(太阳系数 0.7) ([ff0497](https://gitee.com/i_melon/DNFCalculating/commit/ff0497748d0f7f06dadf6fad3d54c07c807287c7)) -- 奶系:细节页面添加宠物登记补正、光环登记补正及五一礼包等相关选项
- 由于结构发生变化,细节页面需要重置调整 ([ef9235](https://gitee.com/i_melon/DNFCalculating/commit/ef9235cbff38973408377a020a4f3d479797d877)) -- 输出系:优化全局择优速度及打开速度,排行采用全局择优 ([07b82a](https://gitee.com/i_melon/DNFCalculating/commit/07b82a063377993fdb75c1c1d3cf16596391b7f9)) -- 魔枪士:同步国服体验服相关数据 ([da663e](https://gitee.com/i_melon/DNFCalculating/commit/da663ef6c11241cde921548a6434b071d8ba9b55)) +#### NewFeatures +* 同步国服0921职业平衡 ([bef5f5](https://gitee.com/dcalc/dnfcalculating_110/commit/bef5f520cf8559fa78aaacc5023dafcf33d1342f)) +* 同步国服职业平衡 ([f262ed](https://gitee.com/dcalc/dnfcalculating_110/commit/f262ed2722dcf021a611fb044eef106c82bf054a)) +* 同步韩服0914职业平衡 ([c225b0](https://gitee.com/dcalc/dnfcalculating_110/commit/c225b0710bcb2e41c4eb8dc43adc2510dfd7aa18)) +* 同步韩服神界正式服修改 ([b77cb8](https://gitee.com/dcalc/dnfcalculating_110/commit/b77cb86425b97b5c34b3f0fcf4c54526b388980f)) +* 同步韩服职业平衡 ([afe5c6](https://gitee.com/dcalc/dnfcalculating_110/commit/afe5c6c172735ca9491e2fb53dcf2ed75bcbcf1e)) +* 新增韩服神界版本展示 ([3b43fc](https://gitee.com/dcalc/dnfcalculating_110/commit/3b43fc2b1f516e66c1be42b50865b57c281a78be)) +* 添加110级防具、武器基础 ([ebdd81](https://gitee.com/dcalc/dnfcalculating_110/commit/ebdd81e4247483eaefabba53a2e4db22a66be52c)) +* 添加2023金秋礼包宝珠 ([2dcea1](https://gitee.com/dcalc/dnfcalculating_110/commit/2dcea1a34bd292fc1e960f9f8649d814c55f5f9e)) +* 添加版本切换控制 ([b9519a](https://gitee.com/dcalc/dnfcalculating_110/commit/b9519ac27167b89e222f12bcdab6ddab24da2a84)) +* 知源·召唤师:添加魔力印记 ([d11d59](https://gitee.com/dcalc/dnfcalculating_110/commit/d11d59f561633a637915ec69c3543ead7c53f707)) +* 神界装备相关初步实现 ([bd4e9b](https://gitee.com/dcalc/dnfcalculating_110/commit/bd4e9b33c372ac69f2ab8c764f05ac3848f6e293)) +* 重霄·合金战士:添加[AT-SO步行者]手动子弹选择 ([7047a8](https://gitee.com/dcalc/dnfcalculating_110/commit/7047a8df3e07aa0510eabf540b62ddc753d88a8d)) #### BugFixes +* 修复外传职业符文部分缺失的情况 ([eb869f](https://gitee.com/dcalc/dnfcalculating_110/commit/eb869f1065f585316999197266b90b6694aab56b)) +* 知源·元素爆破师:修复元素禁域护石报错 ([ad189b](https://gitee.com/dcalc/dnfcalculating_110/commit/ad189b514e639f60dbc1b60cc701edeb504f8ff9)) +* 知源·召唤师:修正部分数据错误 ([1436e5](https://gitee.com/dcalc/dnfcalculating_110/commit/1436e5e721ca1875a54ac31babbed99d848ef2f1)) +* 神启·复仇者:修复数据问题 ([3f1a7e](https://gitee.com/dcalc/dnfcalculating_110/commit/3f1a7ed1513c6b7748ec2ac38c5ebf4b8cb3405e)) -- 修复奶爸选择一觉切装且黑鸦计算最高选觉醒时,一觉数值对不上的问题 ([bf1d5f](https://gitee.com/i_melon/DNFCalculating/commit/bf1d5ff5b92196134d7853995555dc6f04a318a0)) -- 同步游戏,宠物伤害词条能享受辟邪玉加成 ([4f6dd4](https://gitee.com/i_melon/DNFCalculating/commit/4f6dd45de6439c6fd0bf30f6c8119f39fc2389f9)) -- 极诣·剑魂:修复极神剑术瞬斩、幻影剑舞数据错误 ([a436c4](https://gitee.com/i_melon/DNFCalculating/commit/a436c4c01e557e764a6d25b5c940604245cfc910)) -- 苍暮·暗刃:修复轮盘连射数据错误 ([0e0146](https://gitee.com/i_melon/DNFCalculating/commit/0e01466feaabea0d72e4379333267d92f64ac1c1)) -### 2021-04-08 -#### NewFeatures -- 千魂·决战者:同步韩服正式服螺旋波动枪调整 ([e2b7bb](https://gitee.com/i_melon/DNFCalculating/commit/e2b7bb6b1fbd2fe317b9a0fabd7fe80fe482a20c)) -- 奶系一觉及三觉添加填写输入技能次数功能 - 奶系:新增黑鸦遴选择优,择优步骤:残香->黑鸦下装、戒指、辅助->黑鸦武器
- 当计算量较大的时候,较为影响效率,后续再考虑优化,暂时计算效率较差
- 使用时,如和 V 神表差异较大,可将一觉的适用修改为 0.75 后进行对比 ([0c544b](https://gitee.com/i_melon/DNFCalculating/commit/0c544b59e991fafeae67ce5a57d5053a593998b6)) -- 奶系:残香及黑鸦属性选择易用性改善 ([4b0e0c](https://gitee.com/i_melon/DNFCalculating/commit/4b0e0c79d327b63b7fc807887459cebd0b78c93a)) -- 奶系:调整择优顺序为黑鸦下装、戒指、辅助->残香->黑鸦武器 ([03a1ad](https://gitee.com/i_melon/DNFCalculating/commit/03a1adad0e4ed17278b5b229c146c032113e0ff6)) -- 添加韩服体验服枪剑士三觉数据(特工小技能暂时采用双服择优数据) ([7f5b59](https://gitee.com/i_melon/DNFCalculating/commit/7f5b59600b38994ee4cd80c974ce0a5b25769385)) -- 调整详情页面词条显示顺序及小数点 ([30f87f](https://gitee.com/i_melon/DNFCalculating/commit/30f87fdefc757276eed93e31787495b3b8efaeee)) -#### BugFixes -- 修复奶系改造受黑鸦选项影响的 bug -- 修复奶系武器黑鸦自选觉醒后,次级框依然可以选择的问题 -- 极诣·契魔者:修正唤魔逆天之普诺造成排行与详情数据存在差异的情况 ([4a36f1](https://gitee.com/i_melon/DNFCalculating/commit/4a36f1e08929188d632c698f700e44e181fd4d7b)) -- 极诣·驭剑士:修正飓风魔剑护石额外享受蓄力加成的问题 ([f595b9](https://gitee.com/i_melon/DNFCalculating/commit/f595b92349952f5c9a7c6bf95490d53f03ff87fb)) -### 2021-03-26 -#### BugFixes -- 修正部分用户出现的计算排行无进度的情况 ([a8775a](https://gitee.com/i_melon/DNFCalculating/commit/a8775a031d0688681bb01d70e157e91a12aca833)) -### 2021-03-25 -#### NewFeatures -- 归元·散打·男:同步国服修复卢克西对二档加成 ([8b5940](https://gitee.com/i_melon/DNFCalculating/commit/8b5940d25fc6e3cce58fec28409af97fe3055bb8)) +### 2023.08.30 + +#### NewFeatures +* 同步国服职业平衡 ([f262ed](https://gitee.com/dcalc/dnfcalculating_110/commit/f262ed2722dcf021a611fb044eef106c82bf054a)) +* 同步韩服职业平衡 ([afe5c6](https://gitee.com/dcalc/dnfcalculating_110/commit/afe5c6c172735ca9491e2fb53dcf2ed75bcbcf1e)) +* 知源·召唤师:添加魔力印记 ([d11d59](https://gitee.com/dcalc/dnfcalculating_110/commit/d11d59f561633a637915ec69c3543ead7c53f707)) +* 重霄·合金战士:添加[AT-SO步行者]手动子弹选择 ([7047a8](https://gitee.com/dcalc/dnfcalculating_110/commit/7047a8df3e07aa0510eabf540b62ddc753d88a8d)) #### BugFixes +* 修复外传职业符文部分缺失的情况 ([eb869f](https://gitee.com/dcalc/dnfcalculating_110/commit/eb869f1065f585316999197266b90b6694aab56b)) +* 知源·元素爆破师:修复元素禁域护石报错 ([ad189b](https://gitee.com/dcalc/dnfcalculating_110/commit/ad189b514e639f60dbc1b60cc701edeb504f8ff9)) +* 知源·召唤师:修正部分数据错误 ([1436e5](https://gitee.com/dcalc/dnfcalculating_110/commit/1436e5e721ca1875a54ac31babbed99d848ef2f1)) -- 修复部分操作未能关闭排行界面导致报错 ([797a72](https://gitee.com/i_melon/DNFCalculating/commit/797a72477d4f2e34edc8f880ebea582edd3d6912)) -- 修正切换为无皮肤时详情界面闪退的情况 ([3d6533](https://gitee.com/i_melon/DNFCalculating/commit/3d65334196c313cf05a49e4cf05290fb51ab3735)) -- 极诣·剑影:修正无法计算的情况 ([d5edf3](https://gitee.com/i_melon/DNFCalculating/commit/d5edf392538f8393407ea101cd26c1dd1d138782)) -- 极诣·驭剑士:修复血影之太刀精通对帝国剑术、魔剑降临加成错误的情况 ([dab2a3](https://gitee.com/i_melon/DNFCalculating/commit/dab2a3321084f1584540fa633e8a8094277f12e0)) -### 2021-03-24 -#### NewFeatures +### 2023.08.04 -- 优化全局择优速度 ([c21266](https://gitee.com/i_melon/DNFCalculating/commit/c2126686ad3cb98c59b796f0b20686afb062e88a)) -- 修改残香择优结果显示方式,添加对应文字显示 ([462efc](https://gitee.com/i_melon/DNFCalculating/commit/462efcd7f4613c5d7ba4e27cab1b1a864af55406)) -- 守护者:同步国服登陆三觉 ([70782b](https://gitee.com/i_melon/DNFCalculating/commit/70782b894589a9e99ab70aa29f7d18f26e2b9211)) -- 守门人全属强首饰附魔同步黑鸦新 28 附魔,25 附魔可站街修正属强自行-9 ([694b06](https://gitee.com/i_melon/DNFCalculating/commit/694b066b3380b2ee86c84b4a7dac8a57b4257eca)) -- 感谢 🐎 提供的算法,查看详情新增全局择优选项
- 排行榜仍然采用贪心算法计算,查看详情在全局择优下打开需几秒时间,后续可能会进行优化 🕊🕊🕊
- 绝大多数择优情况与贪心算法无差异,少数差异在千分之一内 ([219af1](https://gitee.com/i_melon/DNFCalculating/commit/219af1a506c3eb10f1b46da4957fccb04f0c130d)) -- 极诣·剑影:鬼连斩、鬼连斩·极伤害计算及显示拆分 ([3997fd](https://gitee.com/i_melon/DNFCalculating/commit/3997fdc84de91ff123156ecf479c3b6d624ddb24)) -- 添加配置设置可视化界面 ([dd588f](https://gitee.com/i_melon/DNFCalculating/commit/dd588fc19fc27cd9890cb4624d172ea871d3f428)) -- 重霄·机械师·女:新增 RX78、EZ8 自爆者、机械引爆 ([74eccd](https://gitee.com/i_melon/DNFCalculating/commit/74eccd541ab958338422660fce878238fe4b9c10)) -- 隐夜·刺客:合并双剑精通与匕首精通,重新调整 set ([42464a](https://gitee.com/i_melon/DNFCalculating/commit/42464a0aa15d08a47065801b937818d9153c7211)) +#### NewFeatures +* 添加韩服职业平衡 ([2d1819](https://gitee.com/dcalc/dnfcalculating_110/commit/2d1819e3019b1ddc952539528333ff7e9312ba2a)) #### BugFixes +* 修正[猎食:残酷袭击]属性描述 ([48c9a6](https://gitee.com/dcalc/dnfcalculating_110/commit/48c9a6b49df1bad7caf4e3a9f79d4c664a32915f)) +* 修正冒险团基础 ([5f0320](https://gitee.com/dcalc/dnfcalculating_110/commit/5f0320e247e702286b7b5e847453edb1425ffdf1)) +* 修正流派推荐贴膜适用 ([9e0c97](https://gitee.com/dcalc/dnfcalculating_110/commit/9e0c977b690864f5bbc09a6dc3e3406117172269)) +* 极诣·阿修罗:修复极冰·裂波剑护石加成问题 ([813d2d](https://gitee.com/dcalc/dnfcalculating_110/commit/813d2d3f2c6a4a6e0b9dd97f87497fd87dca0821)) +* 神启·圣骑士:修复守护恩赐基础问题 ([fbe364](https://gitee.com/dcalc/dnfcalculating_110/commit/fbe3646b0b2066d7fc652c6be09c28dc85c55736)) +* 聆风·缪斯:修正防具精通适用 ([b9ae16](https://gitee.com/dcalc/dnfcalculating_110/commit/b9ae16217cee7561d7a2236c57e6648a7ecc8824)) -- 修正装备名称错误 ([bea973](https://gitee.com/i_melon/DNFCalculating/commit/bea9733d047abea2b880c5ad49e72f3259172ac1)) -- 修正觉醒系武器自选遴选数值时错误的情况 ([f641f7](https://gitee.com/i_melon/DNFCalculating/commit/f641f7bd6526490361bbc2c96742374200fa16b6)) -- 修正辟邪玉因浮点类型计算导致的部分情况下计算伤害不一致的情况 ([6682ad](https://gitee.com/i_melon/DNFCalculating/commit/6682ad5d7dd25dd01dacdfe9dd0cb18091a996ed)) -- 奶系:修正狂乱之逆转宿命神话属性调整的错误 ([9da4ba](https://gitee.com/i_melon/DNFCalculating/commit/9da4ba834d56641bb49695140956a74b53f1426d)) -- 奶系:修正相对提升公式 ([cbbfe5](https://gitee.com/i_melon/DNFCalculating/commit/cbbfe5198a46eeae47f214514e64dda08dc62db1)) -- 归元·柔道家·女:修正末日摇篮护石未减少 CD 的情况 ([0ca1af](https://gitee.com/i_melon/DNFCalculating/commit/0ca1af0fb0c306509439350e82ce49d9f137031e)) -- 知源·召唤师:调整传说召唤:月蚀之影护石穿戴后演出时间 ([7d6a9a](https://gitee.com/i_melon/DNFCalculating/commit/7d6a9a3780ee41de9dffbe9a227d62fed07f0b7e)) -- 重霄·机械师·女:修正高达护石 CD ([a5ebef](https://gitee.com/i_melon/DNFCalculating/commit/a5ebef3b01a47d6f9118f1349cc7b1291a789848)) -- 黑暗武士:修复一键修正闪退的情况 ([2cf0c2](https://gitee.com/i_melon/DNFCalculating/commit/2cf0c2d3d2ea2aec34eff298ef7d674ee053c60a)) -### 2021-03-10 -#### NewFeatures -- 修改标题栏样式 ([7e01fd](https://github.com/wxh0402/DNFCalculating/commit/7e01fdeef3f41243ff3db4889d6d01ec81943105)) -- 奶系:同步国服部分装备修改 ([3d5a11](https://github.com/wxh0402/DNFCalculating/commit/3d5a11af1363b202867b55f2dabc1cdfb3b07282)) -- 添加韩服体验服魔枪士三觉数据 ([5f7e45](https://github.com/wxh0402/DNFCalculating/commit/5f7e4560251a128bde370ad1c9376c2722a52a2f)) -- 知源·元素师:增加不脱手觉醒造成的短 CD 技能空转时间计算 ([0c6f67](https://github.com/wxh0402/DNFCalculating/commit/0c6f674d5787441f187dd1f4aa2ac469d660fef6)) -- 知源·元素爆破师:设置元素禁域最小 CD 为 1 秒 ([dd75cf](https://github.com/wxh0402/DNFCalculating/commit/dd75cff53dda4b37e1d4d3077c6314571ae84995)) -- 黑暗武士:新增部分技能及 TP ([162e9e](https://github.com/wxh0402/DNFCalculating/commit/162e9e34ee3b24b15c58fdefd4ec23835a7cf738)) -#### BugFixes -- 修正歼灭灵魂矛名字错误导致下拉无加成的情况 ([28ca3a](https://github.com/wxh0402/DNFCalculating/commit/28ca3a0ee8e0c8f1cc36596ecc5cd3d3e97c0fb6)) -- 修正部分装备速度显示问题 ([8b756f](https://github.com/wxh0402/DNFCalculating/commit/8b756ff66d1962c77128f9130a7a86439c1caf08)) -- 归元·柔道家·女:修正 CD 错误 ([9ae819](https://github.com/wxh0402/DNFCalculating/commit/9ae8197a058dcfeb1b92067ddf8f10afb1235f33)) -- 未来开拓者:修正详情页面与排行数据不匹配的情况 ([96535a](https://github.com/wxh0402/DNFCalculating/commit/96535a48848aab534b3afc00f60e9398e96583c6)) -- 皓曦·混沌魔灵:修正缺少午夜嘉年华护石选项的情况 ([834360](https://github.com/wxh0402/DNFCalculating/commit/834360dca67ca841294ea1ffe755400996e28ebc)) -- 黑暗武士:修正排列技能 CD 未能享受宠物 CDR 的情况 ([e11b4a](https://github.com/wxh0402/DNFCalculating/commit/e11b4a70927749422558b0869249335155264462)) -- 黑暗武士:修正斩龙破护石加成与游戏实际不符的情况 ([8edd83](https://github.com/wxh0402/DNFCalculating/commit/8edd83610ad240c91698165187cb5a08a3c25f99)) -- 黑暗武士:修正武器 CD 惩罚错误 ([cd19c7](https://github.com/wxh0402/DNFCalculating/commit/cd19c7bb9e02c659543ce6f1ff820719974437e1)) -- 黑暗武士:修正魔影剑舞护石加成错误 ([346e90](https://github.com/wxh0402/DNFCalculating/commit/346e90084e4e04f8b77038193627e3432196bea1)) -### 2021-03-03 -#### NewFeatures -- 同步游戏辟邪玉描述 ([233009](https://github.com/wxh0402/DNFCalculating/commit/233009c7ed6b8e9a9f48e2917f4aed58f8fa2c15)) -- 同步游戏黑鸦 ([9358ea](https://github.com/wxh0402/DNFCalculating/commit/9358ea7672bde164b7039783eee73615c1b71293)) -- 奶系添加黑鸦相关(暂未实现择优) ([a30737](https://github.com/wxh0402/DNFCalculating/commit/a30737add50fd42201fb25d612a315aec892ab60)) -- 守护者:同步体验服三觉数据 ([f13a78](https://github.com/wxh0402/DNFCalculating/commit/f13a787ee1c2722367873fb43765db5a8a6be2b6)) -- 归元·街霸·女:更改默认配置 ([91f506](https://github.com/wxh0402/DNFCalculating/commit/91f506fcb4581cda20cf0ee7746a42e8d4c57548)) -- 新增切换输出时间提示 ([24d57e](https://github.com/wxh0402/DNFCalculating/commit/24d57e4c3f9ca5b629b749693acc15112f14c7a5)) -- 添加皮肤切换配置文件,修改 ResourceFiles\Skins\Skin.ini 下参数,重启计算器即可
- LightStyle:浅色样式,DNFStyle:深色样式,None:无任何样式
- 默认为 DNFStyle,深色样式,可自行采用 qcss 语法个性化皮肤样式 ([36724c](https://github.com/wxh0402/DNFCalculating/commit/36724c35046bf8cb32671a5f42be4633607525e0)) -- 皓曦·帕拉丁:添加普通攻击计算 ([377a21](https://github.com/wxh0402/DNFCalculating/commit/377a21e01434be4f3695c07f566191d98bbf80d0)) -- 皓曦·混沌魔灵:新增演出时间 ([5ab9ce](https://github.com/wxh0402/DNFCalculating/commit/5ab9ce3b04aeb2948ecd52784f144f94bec2a9b1)) -- 知源·元素爆破师:添加元素禁域护石 CD 减少下拉选择 ([55634d](https://github.com/wxh0402/DNFCalculating/commit/55634d9d749c3fb4f37ac62766ddcf851f0d6a8c)) +### 2023.07.16 + +#### NewFeatures +* 极诣·黑暗武士:时装下装添加武器精通 ([939957](https://gitee.com/dcalc/dnfcalculating_110/commit/9399575bd0db5aea4127b418cc24a89c333f4dbc)) #### BugFixes +* 修复武器装扮加成问题 ([742c93](https://gitee.com/dcalc/dnfcalculating_110/commit/742c937187ded27bd30d2d9875fbc61740f98076)) +* 修复领域之主部分武器基础错误 ([5a73f7](https://gitee.com/dcalc/dnfcalculating_110/commit/5a73f74995505dc4ab46ea9434f3bc5ab1e96e5b)) +* 极诣·流浪武士:修复乱花葬等级问题 ([8ae55a](https://gitee.com/dcalc/dnfcalculating_110/commit/8ae55ad418704c3538a2fe86e503ca930504c23d)) +* 极诣·黑暗武士:修复韩服版本数据错误 ([57db39](https://gitee.com/dcalc/dnfcalculating_110/commit/57db393e8852dc2f918c2b6560b91eab8e759082)) +* 神启·巫女:修复CP武器报错 ([437e87](https://gitee.com/dcalc/dnfcalculating_110/commit/437e87ddf28dfbd941864bfb99a59dedb35f349e)) +* 重霄·漫游枪手:修复双鹰回旋数据问题 ([842320](https://gitee.com/dcalc/dnfcalculating_110/commit/8423207221dc7eb94cbbee149d81e2082f869382)) -- 修复在修改 ini 配置后由于编码格式不对导致计算器无法读取的情况
- 无法读取情况下,采用默认配置打开 ([fc641d](https://github.com/wxh0402/DNFCalculating/commit/fc641de45c744e991669f54717992aeb72e41e6d)) -- 修复歼灭灵魂矛造成其他武器排行界面数据与详情数据不符的情况 ([e6df54](https://github.com/wxh0402/DNFCalculating/commit/e6df5426ea5f79ead01c22146e296afbb8056e7e)) -- 归元·街霸·女:修复歧路鞋涂毒倍率 BUG ([c7e423](https://github.com/wxh0402/DNFCalculating/commit/c7e423a9a30e991a8589f906367c23fdff2763b4)) -- 归元·街霸·男:修正飞沙走石攻击次数 ([461d6e](https://github.com/wxh0402/DNFCalculating/commit/461d6e8caee130fe3aa37b0b309cad4bcedf08d4)) -- 皓曦·混沌魔灵:修正黑暗冲击护石加成错误 ([e19e27](https://github.com/wxh0402/DNFCalculating/commit/e19e27ebbcc2a14ff5d18eb8c6d050c8b2e75dbe)) -- 皓曦·龙骑士:修正魔龙之息护石在歧路下 CD 错误 ([83cd24](https://github.com/wxh0402/DNFCalculating/commit/83cd24a4759d78c7a6c4c132c25fca33dc65aef1)) -- 知源·元素爆破师:修正冰晶之浴 CD ([f702c7](https://github.com/wxh0402/DNFCalculating/commit/f702c72d0d98e7875822d76b09cf01d226e7e821)) -- 重霄·弹药专家·女:修复部分情况下无法打开详情的情况 ([95cea1](https://github.com/wxh0402/DNFCalculating/commit/95cea1918735a7e40afd32a3c7c9c72724914806)) -- 重霄·漫游枪手·女:修正鲜血劫击护石加成错误 ([972afe](https://github.com/wxh0402/DNFCalculating/commit/972afe4f31a7f885afe810c505bd58ef29133964)) -### 2021-02-25 -#### NewFeatures +### 2023.07.11 -- 新增黑鸦词条选择存档 ([2e145f](https://github.com/wxh0402/DNFCalculating/commit/2e145f09b6fbaef9b2279b1f16d7e38338915ede)) -- 职业技能细节选项新增存档功能 ([9377f2](https://github.com/wxh0402/DNFCalculating/commit/9377f23cf9590254e0aacd5e2beefe8d780e01dd)) -- 重霄·弹药专家·女:修改默认配置 ([ec1155](https://github.com/wxh0402/DNFCalculating/commit/ec1155a2b124c2aa40ceef9b346a0fe717a0a34b)) +#### NewFeatures +* 添加韩服职业平衡 ([e859cb](https://gitee.com/dcalc/dnfcalculating_110/commit/e859cbc5412690617ebe6698c541752273a6220b)) #### BugFixes +* 修复暴走之躯战靴加成错误 ([563757](https://gitee.com/dcalc/dnfcalculating_110/commit/563757dc83f2587f13d32269c60a13c47a0fea7b)) +* 修复进程残留 ([19fe8b](https://gitee.com/dcalc/dnfcalculating_110/commit/19fe8be11ddc1b4b35c90296aeb3ec2557051ac4)) + -- 修正部分职业无法打开详情的情况 ([ac603d](https://github.com/wxh0402/DNFCalculating/commit/ac603d66ff09bd540b7ca7d2bbdf802707530e97)) -### 2021-02-24 +### 2023.07.05 #### NewFeatures +* 添加2023夏日纹章 ([1f8497](https://gitee.com/dcalc/dnfcalculating_110/commit/1f84973dde216b0178f0319882e933fbb91cb1fb)) +* 添加全局冷却统计,仅统计Lv1~100技能冷却缩减/恢复 ([d363fb](https://gitee.com/dcalc/dnfcalculating_110/commit/d363fba90a1722ddc6cfe69bbaf3013493927e06)) +* 装备过滤优化 ([5aad5a](https://gitee.com/dcalc/dnfcalculating_110/commit/5aad5a4a6ea1dd4c6a5dc486bb102e6ad9b01be7)) +* 装备过滤优化 ([d6a8bc](https://gitee.com/dcalc/dnfcalculating_110/commit/d6a8bc3016aa0702868ab844e68f1ec1c8336807)) -- 新增皮肤功能,可自行前往蓝奏云下载,解压 Skins 文件夹到 ResourceFiles 下即可 ([cf1009](https://github.com/wxh0402/DNFCalculating/commit/cf1009ba1916ee5f2ad8881e5a7e8c805140c8d2)) -- 新增自动更新进度提示 ([53270f](https://github.com/wxh0402/DNFCalculating/commit/53270f91df165488b6171a4614f148f411177fa0)) -- 极诣·剑影:新增鬼步、鬼连斩符文 ([721bbc](https://github.com/wxh0402/DNFCalculating/commit/721bbcbb5df1c8d8ad9038e974fd8b8fd745267b)) -- 极诣·阿修罗:固定部分技能 CD ([c5de38](https://github.com/wxh0402/DNFCalculating/commit/c5de38a03c78031e8c03787c1f62b48dd71d6807)) -- 神枪手·女:同步国服登陆三觉 ([2cf3a5](https://github.com/wxh0402/DNFCalculating/commit/2cf3a59108b6b54e6339a03bda4f44d93a906d69)) -- 统一职业窗口大小,技能较多职业新增滚动条,方便分辨率较低用户使用 ([f4f13a](https://github.com/wxh0402/DNFCalculating/commit/f4f13af9be9dbb9e9e7670cd95ae1ad0070024be)) -- 调整滚动条样式 ([bba11b](https://github.com/wxh0402/DNFCalculating/commit/bba11b33bf6a2e62367c8f28b257be78d48a299d)) -- 输出系:详情界面新增输出 excel 功能 ([12945f](https://github.com/wxh0402/DNFCalculating/commit/12945f5d073d0c5e44a8ff68105977a7e03ea9ab)) -#### BugFixes -- 修复奶残香融合初始为无时未能禁用的情况 ([b89f8e](https://github.com/wxh0402/DNFCalculating/commit/b89f8e9893938aa92819d8e2c70e02445301141d)) -- 修正三觉设置为 0 时,绑定觉醒技能未计算的情况 ([f1630c](https://github.com/wxh0402/DNFCalculating/commit/f1630c0c9dffe5b64d9a1053b89ef5ab225f6338)) -- 知源·元素师:修正部分技能等级调整为 0 时无法计算的情况 ([f04f49](https://github.com/wxh0402/DNFCalculating/commit/f04f4991b2bc56b4b5ec848a64bf4fd3c6e40a49)) -### 2021-02-17 -#### NewFeatures -- 神枪手·女:同步修正到国服三觉数据 ([8aefbb](https://github.com/wxh0402/DNFCalculating/commit/8aefbbba78b150f835dd5b906b4c8bfa0e2eb569)) -#### BugFixes -- 风暴骑兵、重霄·枪炮师·女:修正 FSC7 护石问题 ([c0d52e](https://github.com/wxh0402/DNFCalculating/commit/c0d52ee3110d20be1f6520578373a6b01dc32ed4)) -- 修正部分职业自选页面打开闪退的情况 ([1f419a](https://github.com/wxh0402/DNFCalculating/commit/1f419a424d41885c25f6c930e72b8b3b8808e8fe)) -- 归元·气功师·男:修正念兽:猛虎震地、奔雷螺旋击 CD 错误 ([9d026f](https://github.com/wxh0402/DNFCalculating/commit/9d026fe40c8542799d6c71f02e4617fffedbd640)) -- 归元·气功师:修正幻影爆碎技能恢复加成错误的情况 ([ccea46](https://github.com/wxh0402/DNFCalculating/commit/ccea46fa06f56387dc4addce08d7b21ab5274fff)) -- 知源·元素爆破师:元素禁域护石 CD 默认减少 4 秒 ([8104c6](https://github.com/wxh0402/DNFCalculating/commit/8104c6567e1114a50e001a2b82c7971e20d23dc4)) -- 黑暗武士:武器 CD 调整 ([cc7714](https://github.com/wxh0402/DNFCalculating/commit/cc77145ba97c1df880edbb9fc70989317a500cd2)) -### 2021-02-05 -#### NewFeatures -- 同步韩服正式服守护者三觉调整 ([fdad8e](https://github.com/wxh0402/DNFCalculating/commit/fdad8e903bef46df2623271a508c53185c7f1b3d)) -- 奶系:输出角色模板力智三攻可手动填写 ([b48418](https://github.com/wxh0402/DNFCalculating/commit/b484187e0a97193b9d7930b0ac26fbc21bfeb4f8)) -- 添加免费提示 ([9f13bb](https://github.com/wxh0402/DNFCalculating/commit/9f13bb91cbb65aa461387c80fbe900aaa7f83f7f)) -- 皓曦·龙骑士:添加骑乘龙息 ([2713f4](https://github.com/wxh0402/DNFCalculating/commit/2713f41b4d3a1a1b6093668cf1356ccbbb9e4f23)) -- 移除绿色生命的面容触发选择 ([4732eb](https://github.com/wxh0402/DNFCalculating/commit/4732ebc16858984c30371038e4ed0903bd8afda3)) -- 输出系:技能释放次数、宠物技能次数新增填写选项,支持小数点输入 ([dfce38](https://github.com/wxh0402/DNFCalculating/commit/dfce3824f9a970762e114bffeb4b82009dd69921)) -- 输出系:输出时间可手动填写 ([db7fb3](https://github.com/wxh0402/DNFCalculating/commit/db7fb3263ca4973755da220aca3ca45c7ac2655b)) + +### 2023.06.13 + +#### NewFeatures +* 优化武器融合属性选择 ([92ac37](https://gitee.com/dcalc/dnfcalculating_110/commit/92ac376fd730914636023ebbe3a4bb6b87b33b91)) #### BugFixes +* 修复单套页面未能监听贴膜变化 ([a3f73c](https://gitee.com/dcalc/dnfcalculating_110/commit/a3f73c2bae59bfd6d94a80a01100bbbf21d84163)) +* 知源·魔道学者:添加 幸运棒棒糖 ([54f22e](https://gitee.com/dcalc/dnfcalculating_110/commit/54f22e6dab0670d113fd078bda9309ba47367419)) +* 聆风·缪斯:修正 胜负之役神弦弓 - 缪斯 增益量错误 ([c3d005](https://gitee.com/dcalc/dnfcalculating_110/commit/c3d005056a271e2b903363a3b8bcc815894f9455)) -- 修复智慧产物升级属性微调在排行界面未能生效得情况 ([a04fa9](https://github.com/wxh0402/DNFCalculating/commit/a04fa947b579f7c57f7521370b108fd3c0150d4c)) -- 圣武枪魂:修正无双突刺护石错误 ([a94970](https://github.com/wxh0402/DNFCalculating/commit/a949704186572c94177da84150543688b222f015)) -- 极诣·狂战士:修正嗜魂之手数据 ([9277f2](https://github.com/wxh0402/DNFCalculating/commit/9277f22751fea255a2e3ed3742ee3d2c5f9f14c8)) -- 皓曦·帕拉丁:95 主动添加 CD ([daabf1](https://github.com/wxh0402/DNFCalculating/commit/daabf122cbbbad0ece47831ea619a7f6c58b3532)) -### 2021-01-28 -#### NewFeatures -- 修改加群链接 ([12ce3e](https://github.com/wxh0402/DNFCalculating/commit/12ce3ebc23736034eb2b44df285c5d144d36b32f)) -- 执行程序添加数字签名,预防第三方修改盗用 ([975df1](https://github.com/wxh0402/DNFCalculating/commit/975df1720338717fdb8c404f9406b5c48a023d98)) -- 添加韩服体验服守护者三觉数据 ([71c5db](https://github.com/wxh0402/DNFCalculating/commit/71c5db6c8aff3bd4501273e80fc1b5b9229d0edd)) -- 缔造者:新增硬直时长百分比 ([175bcc](https://github.com/wxh0402/DNFCalculating/commit/175bcc2e2865ce323a1a5b443d73ef1abd1ac243)) -- 适配国服护石位置描述 ([a9d552](https://github.com/wxh0402/DNFCalculating/commit/a9d552380067fda734549fe1330e83dc4992c672)) -- 重霄·机械师·女:新增一觉减 CD 开关 ([6ccbb6](https://github.com/wxh0402/DNFCalculating/commit/6ccbb63bc591793b93465c176f69696e2130f782)) -- 隐夜·刺客:同步游戏更新,修复符文对收招的二次加成问题 ([d830ea](https://github.com/wxh0402/DNFCalculating/commit/d830eabfb84757cf14cd11b07487fd723dff81d1)) -- 隐夜·忍者:修正技能数据 ([f9f01b](https://github.com/wxh0402/DNFCalculating/commit/f9f01b9102e3fbc0afd8d7773e406e4fdd9fc48a)) +### 2023.06.06 + +#### NewFeatures +* 新增弓箭手,同步国服相关名称 ([bf5abc](https://gitee.com/dcalc/dnfcalculating_110/commit/bf5abcb7f3feb5d0cc1230f89b04eacbe1d180c0)) +* 新增装备选择模式切换 ([88971f](https://gitee.com/dcalc/dnfcalculating_110/commit/88971ff2505350d604b2f55e0154a85e3347dc94)) +* 添加同自定义间对比分析 ([96f1f2](https://gitee.com/dcalc/dnfcalculating_110/commit/96f1f2fc215dcfc56afdc29675cce95d6984fa5a)) +* 添加定制史诗对比 ([6d824b](https://gitee.com/dcalc/dnfcalculating_110/commit/6d824bc162662c65841aa7d288c5781791f8b747)) +* 添加技能队列形态快捷设置 ([fab230](https://gitee.com/dcalc/dnfcalculating_110/commit/fab23014b58e91f0982fd3c71d9ea70cdc8a9094)) #### BugFixes +* 修复多套计算报错 ([8f49bf](https://gitee.com/dcalc/dnfcalculating_110/commit/8f49bf2627bb19623e49d22d8083c6b128ae495c)) +* 修复部分报错 ([e52b02](https://gitee.com/dcalc/dnfcalculating_110/commit/e52b0263c9bdfa08150c1ecb64c96f52b9c1f20f)) +* 修正奶系武器觉醒等级加成错误 ([93e272](https://gitee.com/dcalc/dnfcalculating_110/commit/93e272032a4534716e01252eede96966ba77866e)) +* 修正部分巴卡尔困难词条问题 ([f427fa](https://gitee.com/dcalc/dnfcalculating_110/commit/f427fab731a76a24e28c18d3dde6e05c38ea9b7d)) +* 修正部分职业超界次元报错 ([92efc5](https://gitee.com/dcalc/dnfcalculating_110/commit/92efc5b198ac3825aec05bee36004076b253c948)) +* 极诣·黑暗武士:修正单套计算无法打开的情况 ([86af70](https://gitee.com/dcalc/dnfcalculating_110/commit/86af703478f10c01cb5eba1cf7888c7e75171c86)) +* 聆风·旅人:修正[装置驱动:星云]的[装载:猛击]加成 ([9f78bd](https://gitee.com/dcalc/dnfcalculating_110/commit/9f78bdb2737ca48ba88491b8fd71b376d959f550)) -- 修正飘零之花臂铠基础错误 ([49f29e](https://github.com/wxh0402/DNFCalculating/commit/49f29ecceb40d447b6dabf28e2d3ad8046a28f4b)) -- 同步国服正式服军神的隐秘遗产奶系套装属性 ([8eeb8e](https://github.com/wxh0402/DNFCalculating/commit/8eeb8e719887ee225cd0d7761eb709bf77ce18d8)) -- 同步国服正式服天堂舞姬鞋子属性 ([4b6688](https://github.com/wxh0402/DNFCalculating/commit/4b668865d391bcb8aa6d5734450e687342b7a851)) -- 同步国服正式服沙岩幻戟属性 ([2fec14](https://github.com/wxh0402/DNFCalculating/commit/2fec14d89839e2d950157a7005b0dfca389c45c9)) -- 同步灵魂掠夺者正式服奶系属性 ([52ea3a](https://github.com/wxh0402/DNFCalculating/commit/52ea3af76e16cb24010149f727992b2b5733d208)) -- 极诣·驭剑士:修正裂刃天冲 hit 问题 ([23ab68](https://github.com/wxh0402/DNFCalculating/commit/23ab682eeed7389d3191c4f4648119236bb3304e)) -- 知源·元素爆破师:修正聚魔轰击 CD 错误 ([1d4174](https://github.com/wxh0402/DNFCalculating/commit/1d4174fec0a483cf6c8cecd0edce634cc554ec1f)) -- 知源·战斗法师:修正武器 CD 惩罚问题 ([fea8d5](https://github.com/wxh0402/DNFCalculating/commit/fea8d5524d8f5cdf382761c8c2d90c2a7f61a15c)) -- 重霄·机械师·女:修复歧路鞋子对 GSP 猎鹰的加成错误问题 ([67fc18](https://github.com/wxh0402/DNFCalculating/commit/67fc1871404b714ba29acfe22961b4c9789391bb)) -### 2021-01-20 -#### NewFeatures -- 同步国服正式服希洛克智慧产物名称 ([bd66db](https://github.com/wxh0402/DNFCalculating/commit/bd66dbc02b54826933c1626649a4a125b24240bb)) -- 同步国服装备改版、增幅改版,移除旧版本配置及属性 ([2203f4](https://github.com/wxh0402/DNFCalculating/commit/2203f4af81abca2618000f8f29aede9c91a5d2df)) -- 奶系:添加 2021 年普通宠物 ([12f3ae](https://github.com/wxh0402/DNFCalculating/commit/12f3ae0ecc590cb9687302002344b2bbdefe6366)) -- 奶系:魔法石添加王座本源 ([24b7b8](https://github.com/wxh0402/DNFCalculating/commit/24b7b848d3fff2628c4353cbec0cb1d5c6146908)) -- 重霄·机械师·女:整合 GSP 猎鹰护石选项
- 部分技能添加说明备注 ([032322](https://github.com/wxh0402/DNFCalculating/commit/032322060661bc7181ec5fde51a9bccfceb976b1)) -- 重霄·机械师·男:调整演出时间及默认配置 ([e68892](https://github.com/wxh0402/DNFCalculating/commit/e68892f9c6867f27c7254e3ddd0b872f783fb4af)) -- 随增幅改版调整默认奶系 buff 数值 ([59906e](https://github.com/wxh0402/DNFCalculating/commit/59906eb089c7d3a1ac14d801a8def26bbae97e47)) -- 隐夜·死灵术士:同步部分护石实际提升与描述不符的情况,后续根据游戏情况修复 ([71a529](https://github.com/wxh0402/DNFCalculating/commit/71a5296e9d3c4ec6921358e8c34e7a9d7b1fc732)) -- 魔法师·男:修正三觉相关技能数据 ([802640](https://github.com/wxh0402/DNFCalculating/commit/802640000aa5e2703fad010abc69fbae01d6b86c)) -- 魔法师·男:同步国服登陆三觉 ([897d04](https://github.com/wxh0402/DNFCalculating/commit/897d0401d0abbda58d0efdf0233042909e239e78)) -#### BugFixes -- 极诣·狂战士:修正致命血陨 CD 错误 ([5157c0](https://github.com/wxh0402/DNFCalculating/commit/5157c0c1a10c6d6940a49dfe787a886d69d0afad)) -- 隐夜·刺客:修正月轮舞双剑下 CD 错误 ([77987c](https://github.com/wxh0402/DNFCalculating/commit/77987cb03f9cb7bc96976e120928a5c038ad91e4)) -- 修正自选界面希洛克套装名称显示错误 ([10805c](https://github.com/wxh0402/DNFCalculating/commit/10805c7560816e9434d9ad7328976a8aa1656016)) -- 奶系:修正单个技能适用计算时的判断错误问题 ([171a44](https://github.com/wxh0402/DNFCalculating/commit/171a441069606ed017dc4ea205575cad247bf895)) -- 归元·街霸:修复奔流不息对伏虎霸王拳的加成错误 ([3597ab](https://github.com/wxh0402/DNFCalculating/commit/3597ab4a77b4195f67f6b9bd4658412baaa9610e)) -- 极诣·狂战士:修正崩山击及魔狱血刹数据错误 ([1ec097](https://github.com/wxh0402/DNFCalculating/commit/1ec097d4e0774e7812083946612ec2b82f90f4e8)) -- 神启·复仇者:修正部分技能 CD 错误 ([c1a1ec](https://github.com/wxh0402/DNFCalculating/commit/c1a1ecd643547db83af5ee3f004da4973f98c83f)) -- 神启·复仇者:修正极恶洪流及极恶洪流 CD 错误 ([ed080f](https://github.com/wxh0402/DNFCalculating/commit/ed080febd9e04e40a6dfaa7ee1abc5a0837ace87)) -- 调整黑鸦武器词条自选跨度 ([db4c4f](https://github.com/wxh0402/DNFCalculating/commit/db4c4f88b2ec40ca95ebaf838af7d77f65c03043)) -- 重霄·弹药专家·女:调整/CD 算法错误 ([561578](https://github.com/wxh0402/DNFCalculating/commit/5615784bc88a706301649d8da5859f43ea4d07f4)) -- 重霄·机械师·男:修正 HS1 全息机械猎手技能数据错误 ([e30a36](https://github.com/wxh0402/DNFCalculating/commit/e30a36f58b6999deb85372618d1ffdc200b460fc)) -- 风暴骑兵、重霄·枪炮师·女:修正等离子放射器护石加成错误 ([427ddb](https://github.com/wxh0402/DNFCalculating/commit/427ddb984d6e09af8eb364ddc9ad399245f588b2)) -- 黑曜神:修正连锁共振对魔灵召唤:瓦尔琪的错误加成 ([951d7a](https://github.com/wxh0402/DNFCalculating/commit/951d7a74ce882306048258bb96dfe53c0cc4f951)) -### 2021-01-13 -#### NewFeatures -- 修正增幅改版公式 ([24950b](https://github.com/wxh0402/DNFCalculating/commit/24950b1e140f491676e801f51698f6d425afd02f)) -- 添加守门人全属强自动补正选项 ([a6b771](https://github.com/wxh0402/DNFCalculating/commit/a6b7715af1200aa8ce6c8cd2fc32a6fb61691e97)) -- 添加网盘无法解析时的弹窗提示 ([37f11e](https://github.com/wxh0402/DNFCalculating/commit/37f11e5196f89bdabf338555c3660f92b8723bd4)) -- 细节页面添加选项特殊提醒 ([7a1b2c](https://github.com/wxh0402/DNFCalculating/commit/7a1b2c030017631c921a568ba58d3c3c7fc72ed7)) -- 调整全职业默认春节宝珠附魔 ([e419f5](https://github.com/wxh0402/DNFCalculating/commit/e419f5ec6404addcacf4561c238e0bb883d2c34f)) -- 重霄·弹药专家·女:微调/CD 算法 ([56cc51](https://github.com/wxh0402/DNFCalculating/commit/56cc51f857741497a59019c3c56b178543cdcca4)) -#### BugFixes -- 修复奶系无法计算的情况 ([df38a1](https://github.com/wxh0402/DNFCalculating/commit/df38a1103c4a0ad9e0798eff823a31df02e48198)) -- 修正自选界面单件选择不计算的情况 ([29db0d](https://github.com/wxh0402/DNFCalculating/commit/29db0de57d52d024b01f3a7eed7e81fcfed7265e)) -- 宠物装备-红添加 4%白字 ([24a263](https://github.com/wxh0402/DNFCalculating/commit/24a263ba3d22cc8e16b046fb9f065f904c10c0e1)) -- 巅峰狂徒:修改残香融合后武器图标显示错误 ([24fcc5](https://github.com/wxh0402/DNFCalculating/commit/24fcc5771166b37e1f6cb506da62da449b46c47d)) -- 归元·街霸·女:修正毒龙轰天雷护石 CD 错误 ([a8e8ba](https://github.com/wxh0402/DNFCalculating/commit/a8e8ba344a39cd88835556b3048304f54712f939)) -- 极诣·阿修罗:修正天雷·降魔杵护石加成错误 ([1482ba](https://github.com/wxh0402/DNFCalculating/commit/1482ba53709e590095887abfe306aecd745ca9ae)) -- 知源·战斗法师:修正双重锤击、炫纹爆弹数据错误 ([d0a7cf](https://github.com/wxh0402/DNFCalculating/commit/d0a7cf327314a5f3373ad123035bc44b2c163de1)) -- 绯红玫瑰、重霄·漫游枪手:修正双鹰护石攻击次数错误 ([e04bfc](https://github.com/wxh0402/DNFCalculating/commit/e04bfcfe2d1e2cead862a5019bde22b191c260d1)) -- 绯红玫瑰、重霄·漫游枪手:修正锁链截击 hit 数错误 ([66be43](https://github.com/wxh0402/DNFCalculating/commit/66be43c9a1e31beea50d48d1f3fc817a5efed141)) -- 黑暗武士:修正在特定情况下自选界面无法打开的情况 ([0264db](https://github.com/wxh0402/DNFCalculating/commit/0264db56ac99985a19bb07e0c748c1fa018288da)) -### 2021-01-07 +### 2023.05.31 #### NewFeatures - -- 新增 macOS 下程序启动脚本 ([4c182d](https://github.com/wxh0402/DNFCalculating/commit/4c182d87572c6dcc7e5f2464c80fb18a39fdf422)) -- 下版本开始支持杀老进程及自动删除旧版本 exe ([7701ef](https://github.com/wxh0402/DNFCalculating/commit/7701ef5e0258ee7a4d9ee895275c023d8e2e2d62)) -- 修复部分用户无法打开进程残留的情况,添加检查更新报错提示 ([8e685c](https://github.com/wxh0402/DNFCalculating/commit/8e685cd4b637230a3dd18a9901de7fb69b3009c7)) -- 同步女枪三觉背景 ([a559ae](https://github.com/wxh0402/DNFCalculating/commit/a559ae97d66f34588998e8340077ca75ba3a8a5d)) -- 同步游戏辟邪玉对宠物伤害词条的加成算法:辟邪玉目前不加成宠物的增伤词条(涉及百分比力智、附加伤害、最终伤害),后续试游戏修复情况修改 ([548bee](https://github.com/wxh0402/DNFCalculating/commit/548bee9365d389cdc5c5e723124b2c0c4670151e)) -- 同步韩服正式服增幅系数调整 ([c88636](https://github.com/wxh0402/DNFCalculating/commit/c88636c735e38d60653ad101653b419d8a7c3cc3)) -- 同步韩服正式服武器黑鸦洗属性的调整 ([1027f4](https://github.com/wxh0402/DNFCalculating/commit/1027f4eae70674c413eae1a654d2cc67e2dedaa9)) -- 同步韩服正式服装备属性改版 ([8301a6](https://github.com/wxh0402/DNFCalculating/commit/8301a65f13e23230c6c40ac270d1a560a5808591)) -- 新增 2021 春节礼包相关内容 ([1de062](https://github.com/wxh0402/DNFCalculating/commit/1de062b7a551b3004f54862d2ac6b931c311dc4b)) -- 窗口添加装备版本、增幅版本显示 ([ca1d13](https://github.com/wxh0402/DNFCalculating/commit/ca1d13ea29769d531d8ce59e17d357c5cad0c89a)) -- 缔造者:添加觉醒及精算模式 ([2ac228](https://github.com/wxh0402/DNFCalculating/commit/2ac22844306cae44dff5372e4f4a0cfffeb41883)) -- 输出系:择优贪心算法调整,对宠物装备词条进行相关算法调整 ([b16e36](https://github.com/wxh0402/DNFCalculating/commit/b16e362fade45950ea0eefb136f1c21660ba5e5f)) -- 输出系:新增黑鸦智慧产物升级相关功能 ([5697e1](https://github.com/wxh0402/DNFCalculating/commit/5697e103b828c48d9dc34858fb656354241a8c07)) -- 输出系:新增黑鸦相关功能,光环、宠物装备、残香、黑鸦择优目前没有其他好的算法,采用由大到小的贪心算法,词条数值高的优先择优,词条数值相同优先可选范围少的择优 ([7d692c](https://github.com/wxh0402/DNFCalculating/commit/7d692cf75921177d165586d220253d857674c979)) -- 输出系:黑鸦武器添加择优选项 ([673c18](https://github.com/wxh0402/DNFCalculating/commit/673c1808e3c5133c27d3084b43388edffc56f03b)) +* 同步巴卡尔困难词条调整 ([66173c](https://gitee.com/dcalc/dnfcalculating_110/commit/66173c31ccde734b73fa78f360f05a677c0594d6)) +* 同步韩服宠物装备调整 ([4d5d07](https://gitee.com/dcalc/dnfcalculating_110/commit/4d5d076d8627e13a4b5b746599dc27959ec0729b)) #### BugFixes +* 千魂·狩猎者:天龙破护石加成问题 ([8a0f12](https://gitee.com/dcalc/dnfcalculating_110/commit/8a0f122d5447db5fa2bd6239aa9389135ccd0ffb)) -- 修复奶系无法打开的问题 ([6c7682](https://github.com/wxh0402/DNFCalculating/commit/6c7682024b4ed9e2cf7313a0d3aeae5a726be97a)) -- 修正飘零之花武器武器系列当前国服版本属性错误 ([952d70](https://github.com/wxh0402/DNFCalculating/commit/952d703d7d802deca9aa8c84af1b94a8e99fd7d2)) -- 奶系:修复排行与详情不符的情况 ([c58242](https://github.com/wxh0402/DNFCalculating/commit/c58242f8baf624c9bc62451929c6179115ec66cc)) -- 知源·召唤师:修正鞭挞 CD ([04c41c](https://github.com/wxh0402/DNFCalculating/commit/04c41c5b8445770f6cc91da3cc0bc2a5c4b7f83e)) -- 知源·战斗法师:修正炫纹强压护石加成 ([1fc144](https://github.com/wxh0402/DNFCalculating/commit/1fc144b0e3be43512d966f1be1feb3ae2a514fe3)) -- 知源·战斗法:修正炫纹强压 CD 错误 ([c3b367](https://github.com/wxh0402/DNFCalculating/commit/c3b367dbcd7622a7088a453bb0d1f8db5ebe391a)) -- 神启·蓝拳圣使:修正意念驱动对装备图腾时的冷却缩减 ([a64ffa](https://github.com/wxh0402/DNFCalculating/commit/a64ffa984b873ae2cd9da6e155c9fe3b1b05a616)) -- 绯红玫瑰、重霄·漫游枪手:修正双鹰回旋圣痕加成倍率 ([95fcff](https://github.com/wxh0402/DNFCalculating/commit/95fcff5ccab2e2d056804f54306e5e59d9419b99)) -- 隐夜·刺客:修正一叶障目不加成死亡风暴的问题 ([2a4fa6](https://github.com/wxh0402/DNFCalculating/commit/2a4fa643605d76ce47b3af5b090e80d5c6898c5b)) -- 隐夜·刺客:修正旋刃伤害偏低的问题 ([4b5861](https://github.com/wxh0402/DNFCalculating/commit/4b5861ef03928d8a2ae43e883e8684630f416257)) -- 风神、知源·逐风者:修正棍棒精通冷却缩减遗漏的问题 ([eece44](https://github.com/wxh0402/DNFCalculating/commit/eece44cd581b7d2ff9dc3c93dd5a8bb6a0fef56a)) -- 黑暗武士:修正无法计算的问题 ([81e999](https://github.com/wxh0402/DNFCalculating/commit/81e9991b33b9e4d39362bc182ec1554411ed06aa)) - -### 2020-12-31 - -#### NewFeatures -- 修改输出系默认配置上下装附魔 ([137d9c](https://github.com/wxh0402/DNFCalculating/commit/137d9c4cc92d3fb320d4c298581a14f917af104d)) -- 修正部分武器力智调整 ([f4057d](https://github.com/wxh0402/DNFCalculating/commit/f4057de6f95a152c9fde2b42ab371ee8a821b388)) -- 归元·散打·女:添加演出时间 ([b06621](https://github.com/wxh0402/DNFCalculating/commit/b06621616395fbe6160f7cdcb1961f618cb4fe8b)) -- 归元·气功师·男:添加念之战矛护石数据 ([582166](https://github.com/wxh0402/DNFCalculating/commit/5821665cd03c69e73d5f3e80b69f3c0b3c644799)) -- 添加打赏纸飞机渠道 ([dee90a](https://github.com/wxh0402/DNFCalculating/commit/dee90a9f51946a93ec8ba8f39df6139433abf1db)) -- 添加韩服增幅改版系数,ResourceFiles\Config\release_version.json 右键记事本打开修改 ZFVersion,"GF"为国服属性,"HF"为改版属性 修改后需要重启计算器 ([de3274](https://github.com/wxh0402/DNFCalculating/commit/de32743978a50d9ffd4eef024177eea0dcd9e638)) -- 添加韩服女枪三觉数据 ([8e9a53](https://github.com/wxh0402/DNFCalculating/commit/8e9a53f5d9070862a1813982b51702cd7d1ec7f4)) -- 知源·战斗法师:添加技能双锤重击、炫纹爆弹、炫纹融合 ([f68f53](https://github.com/wxh0402/DNFCalculating/commit/f68f53a3d9ada09b7c75930410981e0a785108e4)) -- 知源·次元行者:增加三觉主动录入等级 ([ee9f5a](https://github.com/wxh0402/DNFCalculating/commit/ee9f5a3a84931f44d1de4cfff79120ede1421338)) -- 神启·圣骑士·女:校准勇气祝福小数点 ([654db7](https://github.com/wxh0402/DNFCalculating/commit/654db73d4ed0555b30315919c5f322be33e45d1d)) -- 调整自适应贪心算法,采用词条由大到小逐个贪心取局部最优 ([ac5739](https://github.com/wxh0402/DNFCalculating/commit/ac5739e1c3346f3f80912eb1e6303e210f6ad31b)) -- 隐夜·死灵术士:添加歧路鞋对暴君巴拉克其余技能加成 ([378eae](https://github.com/wxh0402/DNFCalculating/commit/378eae49ac15275dbd784c9ef7c0c1d4422a727f)) + +### 2023.05.29 + +#### NewFeatures +* 添加传说装备等级单独设置 ([1eadfd](https://gitee.com/dcalc/dnfcalculating_110/commit/1eadfd924130287c48325e684ae856ee7a36e105)) +* 添加奶系自定义、辟邪玉、武器融合词条提升率显示 ([8420cf](https://gitee.com/dcalc/dnfcalculating_110/commit/8420cf0f1be1f7f8a6362b9c52d3aecf743dc87f)) #### BugFixes +* 修正词条错误 ([859225](https://gitee.com/dcalc/dnfcalculating_110/commit/859225d8fde693f984b6cc2b5a2766ced9f27053)) +* 极诣·鬼泣:修复韩服版本冥炎剑CD问题 ([184da5](https://gitee.com/dcalc/dnfcalculating_110/commit/184da54413f60166e1ed674136514921225de4bb)) -- 重霄·弹药专家·男:修正弹药主宰图标错误的情况 ([2f48b1](https://github.com/wxh0402/DNFCalculating/commit/2f48b17459bee68772753925bba25e4f0e479b52)) -- 修正[优雅旋律华尔兹]属性错误 ([53f672](https://github.com/wxh0402/DNFCalculating/commit/53f672c6db938b389a4f85c3e54014abcece874e)) -- 修正[圣者的慈悲]输出系属性错误 ([d3010c](https://github.com/wxh0402/DNFCalculating/commit/d3010c2c5e7cf52674e92a7ab05a3a5473473c6f)) -- 修正[沙岩幻戟]属性错误 ([66fbae](https://github.com/wxh0402/DNFCalculating/commit/66fbaeca70c9cec1ce9518bd523afd4412889bea)) -- 修正一觉切装时残香适用取值错误 ([5b968e](https://github.com/wxh0402/DNFCalculating/commit/5b968ecb29d8e4438f0f92ee9b012424dc8a1c03)) -- 修正命运的捉弄属性错误 ([8a7035](https://github.com/wxh0402/DNFCalculating/commit/8a70359a6ec56a6fdc14629343c2eb773910c670)) -- 修正噙毒手套描述错误 ([881c29](https://github.com/wxh0402/DNFCalculating/commit/881c29e35e4e9f26020db9014ac63a165d3c822c)) -- 修正奶系属性录入错误 ([e70860](https://github.com/wxh0402/DNFCalculating/commit/e708600898c13fac2d19700efee4cc6e9cbd6e1c)) -- 修正奶系部分改造属性 ([ec5b82](https://github.com/wxh0402/DNFCalculating/commit/ec5b82dff9c2f30226777ac703969d16b3d7569b)) -- 修正部分用户打开计算器未能正确显示但是进程残留的情况 ([74f531](https://github.com/wxh0402/DNFCalculating/commit/74f53117aedbb1c48d2542026bbbb8f3a298ac17)) -- 巅峰狂徒:修正无法查看详情的情况 ([4eb0fa](https://github.com/wxh0402/DNFCalculating/commit/4eb0fa27df0bd010947d7be8bbb593e62dc041dc)) -- 极诣·剑魂:修正极神剑术瞬斩护石加成 ([5e4332](https://github.com/wxh0402/DNFCalculating/commit/5e4332f949d18506d08fa65ebf1ad4c64e466799)) -- 知源·元素师:修正元素之门一定情况下次数异常的情况 ([929f28](https://github.com/wxh0402/DNFCalculating/commit/929f2807cd79e807e8e60f3a65b3f0fe20ae10ba)) -- 隐夜·死灵术士:修正手杖精通 CD 算法 ([a8ae68](https://github.com/wxh0402/DNFCalculating/commit/a8ae682e9902c8a4a707aebf65111bda6e0f1dce)) -### 2020-12-26 -#### NewFeatures +### 2023.05.24 -- 归元·散打·女:补充新护石 ([559009](https://github.com/wxh0402/DNFCalculating/commit/559009ead7732d23be1e7a1317f048869abe8657)) -- 添加奶系国服体验服改版属性 ([8eb5e8](https://github.com/wxh0402/DNFCalculating/commit/8eb5e8553da9c6e3fe753d398537610eb65aed6f)) +#### NewFeatures +* 添加巴卡尔困难第三词条选择 ([39ec03](https://gitee.com/dcalc/dnfcalculating_110/commit/39ec03c5979957c1d445622d0cc8d1894261baa3)) +* 添加风暴之城宠物装备 ([8b01b9](https://gitee.com/dcalc/dnfcalculating_110/commit/8b01b930472e52ff45a044d7a150b103afa564b8)) #### BugFixes +* 修复部分职业报错 ([b2b269](https://gitee.com/dcalc/dnfcalculating_110/commit/b2b26996dfade0c3387f47d47c1e2e8b5581bc2d)) +* 修正暴怒装备的属性描述 ([19b7e4](https://gitee.com/dcalc/dnfcalculating_110/commit/19b7e409a2c3b65ebf0e5bfe6fd43d679f7f8e96)) +* 归元·气功师·女:修复分身TP加成问题 ([37e8da](https://gitee.com/dcalc/dnfcalculating_110/commit/37e8da8e8a4dcab3f30fb8c2a622279485153178)) -- 修正午夜生死轮盘属性错误 ([3a68a1](https://github.com/wxh0402/DNFCalculating/commit/3a68a158c1705f2c8bdf533812ddf2522c00d84b)) -- 修正命运的捉弄属性错误 ([8a7035](https://github.com/wxh0402/DNFCalculating/commit/8a70359a6ec56a6fdc14629343c2eb773910c670)) -- 修正极诣·流浪武士/CD 无法计算的问题 ([d8cab0](https://github.com/wxh0402/DNFCalculating/commit/d8cab079596b7780017f255dbcfdbd85aa8a9d13)) -- 修正死亡阴影神话上衣描述问题 ([0e8278](https://github.com/wxh0402/DNFCalculating/commit/0e827818118c45af571f70c818a9f1d66700e1a0)) -- 修正法杖 CD 错误 ([e53009](https://github.com/wxh0402/DNFCalculating/commit/e53009492fd16056da56e8cb7a986c5fa0fd4cee)) -- 修正窥视未来耳环无法参与计算的情况 ([26567a](https://github.com/wxh0402/DNFCalculating/commit/26567ad9af1a4c43df413a3ef59356f7844d3f6f)) -- 修正部分职业 CD 显示问题 ([f2598a](https://github.com/wxh0402/DNFCalculating/commit/f2598affb231570dd052c18c0014d8bbbc1edfee)) -- 机械之灵:修正拦截机工厂新护石加成问题 ([454d48](https://github.com/wxh0402/DNFCalculating/commit/454d485e4687079af54cdd55651e34b3175c699a)) -### 2020-12-25 -#### NewFeatures +### 2023.05.16 -- 极诣·流浪武士:调整默认细节打造宝珠、光环等级 ([e2d9cd](https://github.com/wxh0402/DNFCalculating/commit/e2d9cd48231f2ec425d1b5e7faf72a7c23712c07)) -- 武器冷却数据可跟随版本配置切换 ([41220c](https://github.com/wxh0402/DNFCalculating/commit/41220c1591d68fb01b185b95838158d2db985f88)) -- 添加国服体验服改版属性
- 在 ResourceFiles\Config\release_version.json 右键记事本打开修改 EquipmentVersion,"GF"为国服属性,"HF"为改版属性
- 修改后需要重启计算器 ([bcb701](https://github.com/wxh0402/DNFCalculating/commit/bcb701c8976d440405710a4e24e89cc4202bee07)) -- 默认计算进程为最大核心-1 ([ad0427](https://github.com/wxh0402/DNFCalculating/commit/ad0427db33b346cb738be839bf50f1b6884fc911)) +#### NewFeatures +* 添加韩服勋章系统改版,需将旧勋章设置为无才能选择 ([fd2edf](https://gitee.com/dcalc/dnfcalculating_110/commit/fd2edf9fe710836b0cfafe8e60bc21f66bdf892f)) +* 添加韩服职业平衡 ([6bc6ff](https://gitee.com/dcalc/dnfcalculating_110/commit/6bc6ffb1119997c1e6b87279e285010006eeadca)) #### BugFixes +* 修正枪剑士背景图错误 ([54c823](https://gitee.com/dcalc/dnfcalculating_110/commit/54c823252c50a3205f6f0d00230b432be085a872)) +* 皓曦·混沌魔灵:修复报错 ([a593a9](https://gitee.com/dcalc/dnfcalculating_110/commit/a593a9077fcdd8d92b06df1c063909c091e7ad23)) +* 知源·召唤师:修复等级错误 ([a7c929](https://gitee.com/dcalc/dnfcalculating_110/commit/a7c929ae1ac8284960995cf1ef6d6ae88c07a945)) +* 知源·召唤师:修复等级错误 ([bcab0d](https://gitee.com/dcalc/dnfcalculating_110/commit/bcab0d75b4ae36eea1dd0d83a559139824c136d5)) +* 苍暮·特工:修正终极锁定CD错误 ([263f47](https://gitee.com/dcalc/dnfcalculating_110/commit/263f473742cbe6eb3ebc1195a3eae022567b18b7)) -- 修复死亡阴影 5 套装属性错误 ([85bc7b](https://github.com/wxh0402/DNFCalculating/commit/85bc7b41752b36fd15a96c1e443ce12fe548d3a7)) -- 修复自选计算界面等级辟邪玉提升显示为 0 的情况 ([d709c1](https://github.com/wxh0402/DNFCalculating/commit/d709c1abbabb29b0ddc1bcfe6e7382c3aa20d712)) -- 修复驱魔计算无效组合的情况 ([b0c27b](https://github.com/wxh0402/DNFCalculating/commit/b0c27bf97067c6e35cf107b95fda699256c7553c)) -- 修改部分武器词条录入错误 ([bcd063](https://github.com/wxh0402/DNFCalculating/commit/bcd06375d8e648fcc1d11fe4ccde949eda4f3789)) -- 修改部分职业打开报错或无效组合的情况 ([70d188](https://github.com/wxh0402/DNFCalculating/commit/70d188d6d44843f87c718bf3b39a8cf6f41c2159)) -- 修正命运的抉择选项描述错误 ([672d6c](https://github.com/wxh0402/DNFCalculating/commit/672d6c872d1c39d2c24ce69938968d5f8bbe0c95)) -- 修正死亡阴影 2 件套属性错误 ([cec927](https://github.com/wxh0402/DNFCalculating/commit/cec927832e0ae5c9a8a8675c52245219f7781cd6)) -- 修正自动更新错误 ([725c42](https://github.com/wxh0402/DNFCalculating/commit/725c42ad8e46cca37b33060955534ac53c50ef02)) -- 极诣·流浪武士:修正光剑 CD 错误 ([c113e8](https://github.com/wxh0402/DNFCalculating/commit/c113e8699d1ae0941f426c3a93921c4cc1445a46)) -- 极诣·驭剑士:修正[穿云破空剑]TP 加成计算错误 ([ee5378](https://github.com/wxh0402/DNFCalculating/commit/ee5378957a1035e74857aa55f1a89f875aedc066)) -- 知源·小魔女:修复详情界面闪退的情况 ([db0edf](https://github.com/wxh0402/DNFCalculating/commit/db0edf0789913d237eb6e1ebf98dd24b6180db75)) -### 2020-12-23 -#### NewFeatures +### 2023.05.10 -- 优化自选装备计算页面显示 ([c27a55](https://github.com/wxh0402/DNFCalculating/commit/c27a5566c2f019caa16294659f4fca0113bef876)) -- 同步韩服幻影狂欢长枪改版属性 ([9cb943](https://github.com/wxh0402/DNFCalculating/commit/9cb943d91ea1b8052612bfdfc36a956fca056540)) -- 在检查更新旁提示用户存在新版本,可通过修改 release_version.json 关闭 ([97a1b3](https://github.com/wxh0402/DNFCalculating/commit/97a1b31ca5dd6d0cc4437303fa35fd9b89a86c12)) -- 奶系:无形残香面板加成调整为进图生效 ([507915](https://github.com/wxh0402/DNFCalculating/commit/50791529171b728c3e27fd65b088ac8fd1b914a4)) -- 归元·散打·女:当绑定武神强踢时,强制不计算武神强踢冷却缩减 BUFF ([c81b76](https://github.com/wxh0402/DNFCalculating/commit/c81b7683898c5f7945be9728f5b5c688b59736f1)) -- 新增第一次打开版本弹窗显示更新日志功能 ([83d24a](https://github.com/wxh0402/DNFCalculating/commit/83d24af445f5f8e21208d660ca7a058d85366d41)) -- 暗夜使者:同步国服登陆三觉 ([98c93a](https://github.com/wxh0402/DNFCalculating/commit/98c93a0dc0cc179ccc6e845372ec8cb9ebfc12ee)) -- 添加切韩服装备属性配置,在 ResourceFiles\Config\release_version 中修改 EquipmentVersion,"GF"为国服属性,"HF 为韩服属性" ([febd7a](https://github.com/wxh0402/DNFCalculating/commit/febd7aee8332bb35adea912fcd28d5ed9c2af117)) -- 缔造者:调整冰雪降临护符算法 ([46519f](https://github.com/wxh0402/DNFCalculating/commit/46519fafd3d8a4cf1b1e7cdfc27ab3352aac1968)) -- 调整辟邪玉理论提升数值宽度,适应部分用户显示不全的情况 ([dbab26](https://github.com/wxh0402/DNFCalculating/commit/dbab2620f0b6178a1232815834ec7b45e9c2de4f)) -- 隐夜·刺客:同步三觉相关数据 ([ecd84e](https://github.com/wxh0402/DNFCalculating/commit/ecd84ec2170939461f4f70f13039933a2f1ca7bb)) -- 隐夜·影舞者:同步三觉相关数据 ([2ad320](https://github.com/wxh0402/DNFCalculating/commit/2ad3209843b85f929f37840e8d43b89e03dbbd17)) -- 隐夜·忍者:同步三觉相关数据 ([c94059](https://github.com/wxh0402/DNFCalculating/commit/c940591b050c2d294048a20822e38f8105e2db54)) -- 隐夜·死灵术士:同步三觉相关数据 ([2aabad](https://github.com/wxh0402/DNFCalculating/commit/2aabadcaa60acb512a43bef44fd72be77d7087b8)) -- 韩服防具神话基础词条修改同步到非神话属性上 ([1875f7](https://github.com/wxh0402/DNFCalculating/commit/1875f7e735f2a84787115bf639f28abc6d16fea2)) +#### NewFeatures +* 旅人:调整迷雾箭雨TP ([7e4a14](https://gitee.com/dcalc/dnfcalculating_110/commit/7e4a14fea7288ce8e899d5801e71f6d73b076e99)) +* 添加新版辟邪玉属性 ([1a13c4](https://gitee.com/dcalc/dnfcalculating_110/commit/1a13c45deefdaa17664d1079c50892ee0a4ea860)) +* 附魔添加 ([3decd2](https://gitee.com/dcalc/dnfcalculating_110/commit/3decd228d3c2d4c2517b4fcda5d80154546f9ddd)) #### BugFixes +* 修复念珠冷却惩罚系数 ([954236](https://gitee.com/dcalc/dnfcalculating_110/commit/954236868eba1beea00d81e0eb8e67dc872b3810)) +* 次元行者:修复[次元:万花镜]问题 ([0aef3f](https://gitee.com/dcalc/dnfcalculating_110/commit/0aef3ff1a47eeb29fe39549357ff60ecda5d6a6a)) +* 苍暮·暗刃:修复长刀精通加成问题 ([1f32cc](https://gitee.com/dcalc/dnfcalculating_110/commit/1f32cc61336d1b1fb40be30ff19b103014b0acfe)) -- 修正改造防具的精通加成数值 ([9bb40f](https://github.com/wxh0402/DNFCalculating/commit/9bb40fd24fc382db54f5f9c46d01a4553257be49)) -- 修正残香属性自选时,辟邪玉不计算其加成的情况 ([ce239b](https://github.com/wxh0402/DNFCalculating/commit/ce239b6334804537e541f1805008e885bf40a56a)) -- 奶系:修正 100 传说防具和套装属性 ([f80127](https://github.com/wxh0402/DNFCalculating/commit/f80127f7cc6db386a545a2684685ee200bc7c0d3)) -- 奶系:修正工作服鞋等级加成 ([39bcaf](https://github.com/wxh0402/DNFCalculating/commit/39bcaf4201ac59499ee2826f00627d63a254ab1f)) -### 2020-12-14 -#### NewFeatures -- 完成计算器首页:添加更新日志、使用手册、17173 合作信息 ([16a182](https://github.com/wxh0402/DNFCalculating/commit/16a182a6f98817a971dbe454e4cf7ea62a3ce128)) -#### BugFixes -- 修正暗杀者属性描述错误 ([349a2a](https://github.com/wxh0402/DNFCalculating/commit/349a2abce6cb36d0f8d29c0dd0a8b6754be090c8)) -- 修正联通用户无法使用自动更新的问题 ([c766b4](https://github.com/wxh0402/DNFCalculating/commit/c766b46ea68de2830f6ae88ad76504ef85829f71)) -- 奶系:BUFF 力智+3%词条随机属性修正为一觉力智+(40~60) 间隔 10 ([84f4d6](https://github.com/wxh0402/DNFCalculating/commit/84f4d6a265eb4e59f5a32b39835cb33fd0edb4df)) -### 2020-12-10 +### 2023.04.28 #### NewFeatures +* 添加新版辟邪玉属性 ([1a13c4](https://gitee.com/dcalc/dnfcalculating_110/commit/1a13c45deefdaa17664d1079c50892ee0a4ea860)) + + -- 奶系:替换职业图片 ([f9a072](https://github.com/wxh0402/DNFCalculating/commit/f9a0729f1305a5e1e19e0f7c138abf718652b7c2)) -- 奶系:添加 100 传说属性 ([09fb90](https://github.com/wxh0402/DNFCalculating/commit/09fb9096a11367e8b0013f47f557f28b8f2d898f)) -- 奶系:添加改造装备属性 ([557e93](https://github.com/wxh0402/DNFCalculating/commit/557e937733c532c6c7fd1b0c33e96ddc900162c6)) -- 湮灭之瞳、知源·元素爆破师:调整技能位置 ([974552](https://github.com/wxh0402/DNFCalculating/commit/974552aec84397ed75e0ef62fb607c746d4c41a8)) -- 神启·诱魔者:添加技能手搓冷却适用选项 ([15b029](https://github.com/wxh0402/DNFCalculating/commit/15b029413b41a0e7b61b75374333ec284e783aaa)) +### 2023.04.28 #### BugFixes +* 千魂·狩猎者:凌空之狩护石加成修复 ([4d1110](https://gitee.com/dcalc/dnfcalculating_110/commit/4d111072797f469fa54f26dd6dab0b023b70331c)) +* 旅人:修复部分问题 ([10b2ba](https://gitee.com/dcalc/dnfcalculating_110/commit/10b2ba256e2b0a4dca79d90b59483233ddc0153e)) +* 极诣·鬼泣:修复[第七鬼神:邪神怖之拉修]CD问题 ([6065fe](https://gitee.com/dcalc/dnfcalculating_110/commit/6065fe9a32124beb574dddd95d209ccfce48daef)) -- 修正暗杀者套装属性描述错误 ([48f003](https://github.com/wxh0402/DNFCalculating/commit/48f003665124036ea38a320b422bc4c638477cbb)) -- 圣武枪魂:修复选择无双突刺护石闪退的情况 ([526eb4](https://github.com/wxh0402/DNFCalculating/commit/526eb4a27112eab92636b48fd61939ad5ac86149)) -- 圣武枪魂:修正流光无影闪护石 CD 计算错误 ([3836ae](https://github.com/wxh0402/DNFCalculating/commit/3836aec69dbe50dfd51f6ad2935b3ea3e63e8d01)) -- 奶系:希洛克装备系列加成调整为进图生效 ([f5a86a](https://github.com/wxh0402/DNFCalculating/commit/f5a86acf8d19f2ba7ad978179069208b7a50e20c)) -- 奶系:辟邪玉 BUFF 三攻、力智、一觉力智百分比词条修正为加算 ([f5f131](https://github.com/wxh0402/DNFCalculating/commit/f5f1313449b245142a549e99f05f3fb7c5a77806)) -- 知源·血法师:校准技能 CD ([3e64a2](https://github.com/wxh0402/DNFCalculating/commit/3e64a2e6946212d9fffeb07f2aca2ba02405491c)) -### 2020-12-03 -#### NewFeatures +### 2023.04.27 -- 奶系职业详情界面优化:合并套装属性,新增希洛克套装显示,武器详情新增融合词条 ([7f17aa](https://github.com/wxh0402/DNFCalculating/commit/7f17aaa5acc4c4bf66dd2e8b3018524f274300e3)) -- 神启·异端审判者:[行刑]护石对[神焰]初始化效果计入[神焰]‘/CD’算法 ([e19a32](https://github.com/wxh0402/DNFCalculating/commit/e19a3274fd372e5dcfb2105e010f2bc5fdf704b0)) -- 输出职业详情界面优化:合并套装属性,新增希洛克套装显示,武器详情新增融合词条 ([227dd3](https://github.com/wxh0402/DNFCalculating/commit/227dd3cfb9850c071dbec296f4f1bc7c36758228)) +#### NewFeatures +* 添加旅人 ([bc488b](https://gitee.com/dcalc/dnfcalculating_110/commit/bc488b598bcf88d81d3176ed10b5283e3e6b0d99)) +* 补充耕耘礼包纹章 ([863c49](https://gitee.com/dcalc/dnfcalculating_110/commit/863c492a45e1edfaf2608446e5ca92799eaacf41)) #### BugFixes +* 修正奶系太阳辟邪玉问题 ([ef4c4b](https://gitee.com/dcalc/dnfcalculating_110/commit/ef4c4b58e2bcb748385d8b343c9dd10e24302e7c)) +* 修正奶系成长公式 ([98c570](https://gitee.com/dcalc/dnfcalculating_110/commit/98c5707584852c7e5e10fd2eccf72cc218229b0b)) +* 隐夜·忍者:修正勾玉之火·镰鼬CD问题 ([59d63c](https://gitee.com/dcalc/dnfcalculating_110/commit/59d63cfc5db64bd6954192ccd7081bb9a4da200c)) -- 奶系:修复生命脉动之地神话词条选择范围问题 ([ec4344](https://github.com/wxh0402/DNFCalculating/commit/ec43445f3f5cbe669aedc9a73d214d7bf204146e)) -- 亡魂主宰:修复点击自选装备计算闪退的情况 ([d55f15](https://github.com/wxh0402/DNFCalculating/commit/d55f152453f3fa48c915a189110616cca94df403)) +### 2023.04.18 + +#### BugFixes +* 复仇者:修复计算报错 ([b7d447](https://gitee.com/dcalc/dnfcalculating_110/commit/b7d4472b937e1f1417111f3c88dbc3dadef16506)) -### 2020-12-01 +### 2023.04.17 #### NewFeatures +* 添加网页端在线存档
+* feat: 添加网页端在线存档 ([581d99](https://gitee.com/dcalc/dnfcalculating_110/commit/581d99b42af59fa300c867fb752a452dd8ebfdc3)) +* 同步国服职业平衡 ([71ffbb](https://gitee.com/dcalc/dnfcalculating_110/commit/71ffbb7605bd11098bb55a0a306458915657d389)) +* 同步次元回廊版本 ([c7f5e5](https://gitee.com/dcalc/dnfcalculating_110/commit/c7f5e5cf8304e62dd74c8ce953efb5cb9d8d4153)) +* 同步重霄·枪炮师·女职业平衡 ([9674ad](https://gitee.com/dcalc/dnfcalculating_110/commit/9674adb755d11be8a8cad5f23c9ff14798ad05c9)) +* 同步隐夜·影舞者职业平衡 ([bb178e](https://gitee.com/dcalc/dnfcalculating_110/commit/bb178e0865ef9841e316a65614fb9245b3ba1326)) +* 添加耕耘礼包相关内容 ([e4e616](https://gitee.com/dcalc/dnfcalculating_110/commit/e4e616833fb6feda9d7dec34d4c95905b0d3f29f)) -- 奶系:添加希洛克武器词条寻优功能(勾选切装会依照切装后的计算太阳属性最优词条) ([d41e08](https://github.com/wxh0402/DNFCalculating/commit/d41e08dcfee94c98e43ba05be40521540ad7cc43)) +#### BugFixes +* 修正暗矛武器CD惩罚数据错误 ([39bdec](https://gitee.com/dcalc/dnfcalculating_110/commit/39bdecd49cfaf83227244c1901795012211f9cfc)) +* 修正缪斯适用属性 ([7c9281](https://gitee.com/dcalc/dnfcalculating_110/commit/7c92815547ffa52b9d22475e9d44b8aeeba8f9d7)) +* 修正非控制型异常状态敌人数量提示错误 ([ad5cc7](https://gitee.com/dcalc/dnfcalculating_110/commit/ad5cc73c0797e5745d362a0d88d7b7c258f371c0)) +* 归元·街霸:添加擒月炎符文 ([Merge ](https://gitee.com/dcalc/dnfcalculating_110/commit/Merge pull request !1042 from 西瓜/auto-8441078-master-d04052b4e2736d6571471632e6734084bfa3563ba69d714e)) +* 归元·街霸:添加擒月炎符文 ([b50e47](https://gitee.com/dcalc/dnfcalculating_110/commit/b50e47f89566e5e585aca47d3d05a66e262d47b2)) +* 技能攻击范围调整为乘算 ([c31b56](https://gitee.com/dcalc/dnfcalculating_110/commit/c31b564b4721ff381e9afc8b5416c955c3e42442)) + +### 2023.04.17 + +#### NewFeatures +* 添加网页端在线存档
+* feat: 添加网页端在线存档 ([581d99](https://gitee.com/dcalc/dnfcalculating_110/commit/581d99b42af59fa300c867fb752a452dd8ebfdc3)) +* 同步国服职业平衡 ([71ffbb](https://gitee.com/dcalc/dnfcalculating_110/commit/71ffbb7605bd11098bb55a0a306458915657d389)) +* 同步次元回廊版本 ([c7f5e5](https://gitee.com/dcalc/dnfcalculating_110/commit/c7f5e5cf8304e62dd74c8ce953efb5cb9d8d4153)) +* 同步重霄·枪炮师·女职业平衡 ([9674ad](https://gitee.com/dcalc/dnfcalculating_110/commit/9674adb755d11be8a8cad5f23c9ff14798ad05c9)) +* 同步隐夜·影舞者职业平衡 ([bb178e](https://gitee.com/dcalc/dnfcalculating_110/commit/bb178e0865ef9841e316a65614fb9245b3ba1326)) +* 添加耕耘礼包相关内容 ([e4e616](https://gitee.com/dcalc/dnfcalculating_110/commit/e4e616833fb6feda9d7dec34d4c95905b0d3f29f)) #### BugFixes +* 修正暗矛武器CD惩罚数据错误 ([39bdec](https://gitee.com/dcalc/dnfcalculating_110/commit/39bdecd49cfaf83227244c1901795012211f9cfc)) +* 修正缪斯适用属性 ([7c9281](https://gitee.com/dcalc/dnfcalculating_110/commit/7c92815547ffa52b9d22475e9d44b8aeeba8f9d7)) +* 修正非控制型异常状态敌人数量提示错误 ([ad5cc7](https://gitee.com/dcalc/dnfcalculating_110/commit/ad5cc73c0797e5745d362a0d88d7b7c258f371c0)) +* 归元·街霸:添加擒月炎符文 ([Merge ](https://gitee.com/dcalc/dnfcalculating_110/commit/Merge pull request !1042 from 西瓜/auto-8441078-master-d04052b4e2736d6571471632e6734084bfa3563ba69d714e)) +* 归元·街霸:添加擒月炎符文 ([b50e47](https://gitee.com/dcalc/dnfcalculating_110/commit/b50e47f89566e5e585aca47d3d05a66e262d47b2)) +* 技能攻击范围调整为乘算 ([c31b56](https://gitee.com/dcalc/dnfcalculating_110/commit/c31b564b4721ff381e9afc8b5416c955c3e42442)) + + + -- 知源·魔道学者:修复无法正常计算的问题 ([ac077d](https://github.com/wxh0402/DNFCalculating/commit/ac077dad9aaa0270bd5dae570fb461114823606a)) -- 奶系:修正部分神话等级加成词条默认满属性的情况 ([cb731c](https://github.com/wxh0402/DNFCalculating/commit/cb731c279e027526656413a108016fa5e5d4e9ce)) -- 归元·街霸·女:修复无法正常计算的问题 ([3abe91](https://github.com/wxh0402/DNFCalculating/commit/3abe914b5083c83c27e3b08b5e6632a23)) -### 2020-11-30 -#### NewFeatures -- 调整部分提示说明 ([91a267](https://github.com/wxh0402/DNFCalculating/commit/91a267e4d0fe956f117eba4e5a169bdcbbdc50f8)) -- 神启·异端审判者:修正三觉相关技能数据 ([c4d7be](https://github.com/wxh0402/DNFCalculating/commit/c4d7becce243992f5d89282a3431c5cce951333f)) -- 添加男法三觉立绘背景图 ([2d70d6](https://github.com/wxh0402/DNFCalculating/commit/2d70d64d6a852b6f4ad4d638a2a76bc3500403b9)) -- 神启·诱魔者:修改默认技能设置 ([a7608b](https://github.com/wxh0402/DNFCalculating/commit/a7608bfaefcfe38d89b1c7bc3febbce1968e1b40)) -- 神启·诱魔者:修正三觉相关技能数据;下拉选项[净化之花]多段攻击次数上限提高 ([db448b](https://github.com/wxh0402/DNFCalculating/commit/db448b4f8d8997b732d8724f47e264f3d024c255)) -- 知源·逐风者:适配韩服正式服狂岚律动加强 5% ([ebc4a3](https://github.com/wxh0402/DNFCalculating/commit/ebc4a3043089c652395e678466fbafa8d3486839)) -- 亡魂主宰、皓曦·死灵术士:新增千魂祭增加部分技能等级 BUFF 选项 ([f6f6bf](https://github.com/wxh0402/DNFCalculating/commit/f6f6bfad26c39fb8b94b4d84c264658523c7f18b)) + + + +### 2023.03.15 #### BugFixes +* 修正CD均值问题 ([b90ab6](https://gitee.com/dcalc/dnfcalculating_110/commit/b90ab6da101ba8ba383de7b2a9dce13be97b49c2)) +* 完成型动力控制装置属性修正 ([65eb64](https://gitee.com/dcalc/dnfcalculating_110/commit/65eb64a7565b5140abf92df4aa2c0c545c846edc)) -- 修正神话·心痛如绞的诀别神话专属属性描述问题 ([f21ae7](https://github.com/wxh0402/DNFCalculating/commit/f21ae7664427f1442481fe192c1e8ded6314ae95)) -- 修正部分装备描述中小数点进位问题 ([110a63](https://github.com/wxh0402/DNFCalculating/commit/110a63b6d8aef2dbf5f42ecc81019b5f6b5fce09)) -- 修正奶系辟邪玉一觉力智增加选项间隔错误 ([11c191](https://github.com/wxh0402/DNFCalculating/commit/11c191f86ae1f5a94171e191e2259a01b194f172)) -- 绯红玫瑰:修正鲜血劫击 CD 错误 ([cbeb6e](https://github.com/wxh0402/DNFCalculating/commit/cbeb6eabf35748def975cf53706b79a7b684065b)) -- 修正选择改造武器后导致详情界面与排行界面存在出入的问题 ([733d07](https://github.com/wxh0402/DNFCalculating/commit/733d0713c86b94f96a4ea079b2144ff167df624b)) -- 知源·魔道学者:修正电鳗碰撞机 CD 错误 ([ca0fd4](https://github.com/wxh0402/DNFCalculating/commit/ca0fd4d346898604809a9e1137a8f85c345302f9)) +### 2023.03.15 + +#### BugFixes +* 修正CD均值问题 ([b90ab6](https://gitee.com/dcalc/dnfcalculating_110/commit/b90ab6da101ba8ba383de7b2a9dce13be97b49c2)) +* 完成型动力控制装置属性修正 ([65eb64](https://gitee.com/dcalc/dnfcalculating_110/commit/65eb64a7565b5140abf92df4aa2c0c545c846edc)) -### 2020-11-25 +### 2023.03.07 #### NewFeatures +* 优化客户端存档 ([218351](https://gitee.com/dcalc/dnfcalculating_110/commit/21835121dee679d3e8b0f61291c0879f0cd3186f)) +* 同步国服“特色”魔法石改版 ([9a4e24](https://gitee.com/dcalc/dnfcalculating_110/commit/9a4e24849057d5c1f34abec30370a23f8e7269f5)) +* 添加muse(测试版) ([7c4856](https://gitee.com/dcalc/dnfcalculating_110/commit/7c485684e41ff499897c5aeaf6996e9a69e72a97)) +* 知源·元素爆破师:添加下装元素炮选择 ([6ba801](https://gitee.com/dcalc/dnfcalculating_110/commit/6ba80153f34b6c8c2c075db26f2034724d5e1094)) + +#### BugFixes +* 修复全局设置问题 ([1f1feb](https://gitee.com/dcalc/dnfcalculating_110/commit/1f1feba03eed13b40ee38af23691c6d399c024d7)) +* 极诣·黑暗武士:修复CD问题 ([73cd97](https://gitee.com/dcalc/dnfcalculating_110/commit/73cd97118c6c0a517fb58967e7fc669d1b8d3c8a)) +* 知源·次元行者:修复乖离:边缘之兽默认等级 ([b0550e](https://gitee.com/dcalc/dnfcalculating_110/commit/b0550e8815bdcdfd7ffd4e34e721582c7226d00e)) -- 添加自动更新后自动切换版本 ([e56a55](https://github.com/wxh0402/DNFCalculating/commit/e56a55b994d30b32420a0fdcb9e3730517821405)) -- 女圣职:同步冒险团头像及三觉名称 ([281382](https://github.com/wxh0402/DNFCalculating/commit/2813826ae1de3ae5e0c1bad9131e8473ba491ccf)) -### 2020-11-24 +### 2023.02.23.Beta #### NewFeatures +* 极诣·剑影:鬼连斩:极相关指令施放加成处理 ([f15ade](https://gitee.com/dcalc/dnfcalculating_110/commit/f15ade3f9f8a9c51bb5c22cb906fd464a271705a)) +* 添加存档分享与导入 ([f35772](https://gitee.com/dcalc/dnfcalculating_110/commit/f3577230048190a70556d944cab5d53e3f3af310)) +* 灵通贴膜根据施放次数计算技能冷却恢复 ([f0b4e7](https://gitee.com/dcalc/dnfcalculating_110/commit/f0b4e719e1f4047c81dda68ca612245dad8cf07e)) -- 神启·诱魔者:同步国服技能名称 ([7b420e](https://github.com/wxh0402/DNFCalculating/commit/7b420eee00e3a46e7db4314c9a55970d83abe2e5)) -- 神启·异端审判者:同步国服技能名称 ([ca2729](https://github.com/wxh0402/DNFCalculating/commit/ca272945657af23dd854e94f366b1abcc52dd553)) -- 神启·巫女:同步国服技能名称 ([737ef6](https://github.com/wxh0402/DNFCalculating/commit/737ef6803b3b5488752c07399bc24aafab91cea4)) -- 圣职者(女):移除二觉相关文件 ([033ad0](https://github.com/wxh0402/DNFCalculating/commit/033ad0318000da8bc6346f9d6333d5f808b8dcd2)) -- 神启·圣骑士(女):同步国服技能名称 ([7566c7](https://github.com/wxh0402/DNFCalculating/commit/7566c764bd6a88e28dc4ee95140548e5abe49ea4)) +#### BugFixes +* 修复控件问题 ([5ec9b6](https://gitee.com/dcalc/dnfcalculating_110/commit/5ec9b6625442ae18ba657038b7ca0bf1c76dd786)) +* 极诣·鬼泣:修正等级问题 ([96ae92](https://gitee.com/dcalc/dnfcalculating_110/commit/96ae9261238c25a80647b15b6dd3fc11d9cd230e)) +* 重霄·机械师·女:修复部分CD问题 ([7bb007](https://gitee.com/dcalc/dnfcalculating_110/commit/7bb007aa99792eb04a7f8c8ea6628e88bdac66d6)) -### 2020-11-23 +### 2023.02.15.Beta #### NewFeatures - -- 破晓女神:数据采用数组精确化 ([78b5f2](https://github.com/wxh0402/DNFCalculating/commit/78b5f25f1c1b3e8089b6de8ecbfed12e6b3a445c)) -- 大地女神:数据采用数组精确化 ([94ef4d](https://github.com/wxh0402/DNFCalculating/commit/94ef4da7ca13406edd7f9533acb74638d5f180d8)) -- 幽影夜神:数据采用数组精确化 ([d1ebb8](https://github.com/wxh0402/DNFCalculating/commit/d1ebb846e9c2c7489f2c0bb43ee80a711430a567)) -- 屠戮之魂:数据采用数组精确化 ([1d744c](https://github.com/wxh0402/DNFCalculating/commit/1d744c5c6e6f9925bc35fd33a5d133ef13d0d9d6)) -- 圣武枪魂:数据采用数组精确化 ([f2ec65](https://github.com/wxh0402/DNFCalculating/commit/f2ec65bf74dd8390f04d3ea82e8e60f9add24f6c)) -- 不灭战神:修改武器惩罚 cd 算法 ([7a5d88](https://github.com/wxh0402/DNFCalculating/commit/7a5d88d052a572e936d508183f45b0cf63df0d89)) -- 归元·街霸·女:调整默认连招,新增连招演示链接 ([76c199](https://github.com/wxh0402/DNFCalculating/commit/76c1999f1f473973a2748154fe81ffc711307273)) -- 不灭战神:数据采用数组精确化 ([6b00f7](https://github.com/wxh0402/DNFCalculating/commit/6b00f7ea27bfe3cd94ae6e9a5f6cc72ba97e6283)) -- 绯红玫瑰数据采用数组精确化 ([2821fe](https://github.com/wxh0402/DNFCalculating/commit/2821fe7e93387759ccfc9e0e90f064ac906e840f)) +* 添加场景选择[切换后会适用对应的防御系数及系统奶] ([eae3f3](https://gitee.com/dcalc/dnfcalculating_110/commit/eae3f35739e98f1093736b2eb64fe34f46df8052)) #### BugFixes +* 修正巴卡尔防御 ([32993f](https://gitee.com/dcalc/dnfcalculating_110/commit/32993ff3ad0e78accc1d94a195cdffbd10c081a4)) +* 极诣·黑暗武士:修复打开报错问题 ([6dce13](https://gitee.com/dcalc/dnfcalculating_110/commit/6dce133f0a56bd4e206903a734aa3c537a253f6f)) +* 隐夜·忍者:修复火遁·螺旋手里剑问题 ([fdd47c](https://gitee.com/dcalc/dnfcalculating_110/commit/fdd47c9f59112d3918955e2eda1a194df61f346b)) -- 芙蕾雅:修正冰雷电雷不享受技能冷却恢复加成 ([f9d176](https://github.com/wxh0402/DNFCalculating/commit/f9d176488f716b8577de36c27868d32ef20b034e)) -- 混沌行者、知源·次元行者:修复次元跃迁基础等级 ([7cd41c](https://github.com/wxh0402/DNFCalculating/commit/7cd41cb88e552fcc26d878b7e170f4e7a23ed5ad)) -- 混沌行者、知源·次元行者:修正未强化状态下禁断之盛宴伤害;修正次元跃迁冷却时间 ([5da9fe](https://github.com/wxh0402/DNFCalculating/commit/5da9fef25d04f06f54c3550aeaa8536bc568bd26)) -- 绯红玫瑰:修正血腥狂欢向前斩击攻击次数 ([cea913](https://github.com/wxh0402/DNFCalculating/commit/cea9130ddffbec05d23f58ec2ab1df2e57fb61d7)) -- 知源·次元行者:修正时空碎片默认等级错误问题 ([2694ec](https://github.com/wxh0402/DNFCalculating/commit/2694ec3ba23db9176d722486ccdd0885c6fd5989)) -- 修正知源·次元行者三觉数据错误问题 ([dc2590](https://github.com/wxh0402/DNFCalculating/commit/dc2590c71ea34d76c170545a16478249d310e92f)) +### 2023.02.12.Beta -### 2020-11-19 +#### BugFixes +* 极诣·黑暗武士:修复打开报错问题 ([6dce13](https://gitee.com/dcalc/dnfcalculating_110/commit/6dce133f0a56bd4e206903a734aa3c537a253f6f)) +* 隐夜·忍者:修复火遁·螺旋手里剑问题 ([fdd47c](https://gitee.com/dcalc/dnfcalculating_110/commit/fdd47c9f59112d3918955e2eda1a194df61f346b)) + +### 2023.02.12.Beta #### NewFeatures -- 调整混沌行者、知源·次元行者默认加点 ([2b5c3c](https://github.com/wxh0402/DNFCalculating/commit/2b5c3c3328a102fb2722b069eb786092d2a79beb)) -- 追加解压提示 ([a951d8](https://github.com/wxh0402/DNFCalculating/commit/a951d8d67dc2bea56e9a40e0e73da7fb39281eda)) -- 添加知源·血法师韩服体验服数据 ([b251a6](https://github.com/wxh0402/DNFCalculating/commit/b251a6012936c7be9d1474a82a886a9e89ecb4b7)) -- 调整知源·元素爆破师默认加点 ([80e434](https://github.com/wxh0402/DNFCalculating/commit/80e434b29faec96207834318a3ff86fa3cfac5a1)) -- 添加反馈通道选择 ([6de30e](https://github.com/wxh0402/DNFCalculating/commit/6de30ed231d703218d4dbf74d0816b6ef3092dd6)) -- 添加知源·元素爆破师韩服体验服数据 ([f5b8aa](https://github.com/wxh0402/DNFCalculating/commit/f5b8aa31822d0c4695d3b336525474f77a9bb8d0)) -- 调整知源·逐风者默认加点 ([3b2076](https://github.com/wxh0402/DNFCalculating/commit/3b20766bcff4fdebd4661337dbacab577e2d5e26)) -- 修改炽天使、神启·圣骑士默认配置 ([536508](https://github.com/wxh0402/DNFCalculating/commit/53650850795667580bda48378a86a5e396b9db76)) -- 机械之灵数据采用数据采用数组精确化 ([36871d](https://github.com/wxh0402/DNFCalculating/commit/36871d5dbe72190287237f0036219a32f1c9028f)) -- 添加知源·次元行者韩服体验服数据 ([83248d](https://github.com/wxh0402/DNFCalculating/commit/83248da7c1d50eb6c569c7bce10f965893c6b3ee)) -- 添加知源·冰洁师韩服体验服数据 ([767a5a](https://github.com/wxh0402/DNFCalculating/commit/767a5a098c9e0f6daa3f2c7d015a2bd60097f20f)) -- 添加知源·逐风者韩服体验服数据 ([b0d3f4](https://github.com/wxh0402/DNFCalculating/commit/b0d3f4ab16ace11633c96d89e9637c39ccf7f5d3)) -- 红色宠物装备添加 4%白字选项 ([88b3d2](https://github.com/wxh0402/DNFCalculating/commit/88b3d260f7583d8166a0336c602c1dd2ae728aa1)) +- 服务器端改造 ([52dd41](https://gitee.com/dcalc/dnfcalculating_110/commit/52dd4156b1eaf1d3f71ff66c095f95ca23480e12)) +- 添加知源·召唤师 ([d4797c](https://gitee.com/dcalc/dnfcalculating_110/commit/d4797c563357debb386342ff3ac4926d723c280f)) #### BugFixes -- 修正神启·圣骑士勇气祝福面板显示问题 ([83551a](https://github.com/wxh0402/DNFCalculating/commit/83551a48c06b025c5408d2caf7789c06afcfc876)) -- 修复自选 85 相关改造装备闪退问题 ([390c88](https://github.com/wxh0402/DNFCalculating/commit/390c88a00eb46ec1bf93ee8804fc974ee27a60ea)) -- 修复自动更新关闭后进程残留问题 ([2f1ee0](https://github.com/wxh0402/DNFCalculating/commit/2f1ee01eded41a258bfccd91f923fea0b4bf3b62)) +- 归元·气功师·男:修正部分数据问题 ([ac4ff3](https://gitee.com/dcalc/dnfcalculating_110/commit/ac4ff3bdd1548e3c7773abc977d0e23e8763ff6b)) +- 修复自由之缚手镯与恐惧缠绕腰带结算顺序问题 ([9cc244](https://gitee.com/dcalc/dnfcalculating_110/commit/9cc2446ceef6907099dee04288ee925e6bb4b529)) +- 极诣·剑魂:修复部分技能问题 ([3b6749](https://gitee.com/dcalc/dnfcalculating_110/commit/3b674902bae63bf3b7010fbe1716f778c2bb9519)) +- 灿若繁星手镯自异常赋予问题修复 ([cbe848](https://gitee.com/dcalc/dnfcalculating_110/commit/cbe8489c57b6e9ce9952b58b6f91fbbc4f55e45c)) +- 重霄·机械师·女:修复 GSP 猎鹰伤害问题 ([dd689d](https://gitee.com/dcalc/dnfcalculating_110/commit/dd689d378fb337fb930c9a21992a69a028ed9d6a)) -### 2020-11-16 +### 2023.02.02.Beta #### NewFeatures -- 添加检查版本及自动更新功能 ([70e42e](https://github.com/wxh0402/DNFCalculating/commit/70e42eb56ff31a758ed2380f800cdb865e558726)) -- 适配游戏中武极二档不享受卢克西加成(可能为 BUG,后根据游戏内情况调整) ([560525](https://github.com/wxh0402/DNFCalculating/commit/560525b2657662249bbf805ec9272d35b9a62142)) -- 增加奶系希洛克装备存档 ([82ecb4](https://github.com/wxh0402/DNFCalculating/commit/82ecb43108ae00b8c0991c4b7417dbfe85edc5e0)) +- 优化自异常判断,排除石化、睡眠、眩晕、冰冻 ([ad08b8](https://gitee.com/dcalc/dnfcalculating_110/commit/ad08b862cd96225da6e2d588705c758e9da20687)) +- 添加传说词条等级限制 ([9361c8](https://gitee.com/dcalc/dnfcalculating_110/commit/9361c8386661cd8038cc82b62c8b4fa5416756d5)) +- 添加重霄·机械师·女,CP 武器第一条自行手动调整输出时间,G 系列注意在技能页面设置各个技能输出时间 ([578397](https://gitee.com/dcalc/dnfcalculating_110/commit/578397e67de0f07ff48ddd860b14aa1fe7d5f0b5)) -#### BugFixes -- 修复幻光绽放拳套导致详情界面数据异常的问题 ([5b4c70](https://github.com/wxh0402/DNFCalculating/commit/5b4c70d4bac8c0df05ccb15ddfb7fcbbc18d4820)) -- 修复自选装备计算中部分套装选中会闪退的问题 ([a873f3](https://github.com/wxh0402/DNFCalculating/commit/a873f3cd7ebad881adc732dba7729894d41e4abf)) -- 修复奶系三觉是否使用修改为 0 时计算结果仍然显示问题 ([dbba9a](https://github.com/wxh0402/DNFCalculating/commit/dbba9aea0c058acd8954173edf46fcaaac437266)) +### 2023.01.31.Beta + +#### NewFeatures -### 2020-11-13 +- 添加皓曦·混沌魔灵(数据为改版后数据,魔灵召唤系列待测试,尚未实现) ([cc625f](https://gitee.com/dcalc/dnfcalculating_110/commit/cc625f710e85528267be53e82cefaed96a191f25)) #### BugFixes -- 修复奶系站街属性及等级加成的问题 ([cb7aae](https://github.com/wxh0402/DNFCalculating/commit/cb7aaeee3c4762fb3365d7b5ba36a57977d526fe)) -- 修复奶系一键修正闪退问题 ([9bf1d3](https://github.com/wxh0402/DNFCalculating/commit/9bf1d3067f91c3f472f0b0b276f978f6c90c58f3)) -- 修正[拥抱晨曦之温暖]属性错误 ([358ad8](https://github.com/wxh0402/DNFCalculating/commit/358ad83a3f3b0a53ceaa0bb0175416a1bec57292)) -- 修正切装无效的 bug ([1b4615](https://github.com/wxh0402/DNFCalculating/commit/1b461594391e75dd3b969be364909246f057c19a)) -- 修复缔造、剑魂无法打开的情况 ([0b9774](https://github.com/wxh0402/DNFCalculating/commit/0b977402ab1ac9e763488e68692934c9a4551670)) +- 修正神罚之锤的特殊判定 ([fffe89](https://gitee.com/dcalc/dnfcalculating_110/commit/fffe89329a39d03f38344e1c7ddc1f810fa4454e)) +- 修正触发显示的部分问题 ([e7cdc8](https://gitee.com/dcalc/dnfcalculating_110/commit/e7cdc8a757be96f69c3de05f589631020886377f)) +- 极诣·契魔者:修复群魔乱舞学习间隔问题 ([57f7f0](https://gitee.com/dcalc/dnfcalculating_110/commit/57f7f056d31901a9bc315577bf2a730d3a487a2d)) +- 知源·战斗法师:修正部分技能等级问题 ([35f956](https://gitee.com/dcalc/dnfcalculating_110/commit/35f956cd09319586f783b07ba214982be56a9594)) +- 词条描述及效果修正 ([3ba9b6](https://gitee.com/dcalc/dnfcalculating_110/commit/3ba9b62efb099aad8f058ecc851a2134121d2575)) +- 隐夜·死灵术士:添加手杖精通 ([799b56](https://gitee.com/dcalc/dnfcalculating_110/commit/799b563c34cf34c210d5ce81721c2c6c026291ed)) -### 2020-11-12 +### 2023.01.26.Beta #### NewFeatures -- 优化计算器打开速度,采用 json 配置信息 ([d17608](https://github.com/wxh0402/DNFCalculating/commit/d176080c17fd55532d632885c3b4135860bd9cea)) +- 新增装备触发区分及触发条件提示 ([a92a5b](https://gitee.com/dcalc/dnfcalculating_110/commit/a92a5b96962ad42c965e40ee8465dc033d6aa52e)) +- 添加 140 级巴卡尔 ([d35555](https://gitee.com/dcalc/dnfcalculating_110/commit/d355550f43e7407b3250d4aea1255ab2fd003c73)) +- 添加附魔 ([b4e4fe](https://gitee.com/dcalc/dnfcalculating_110/commit/b4e4fed1ce27c44eb237cca61fdfd1e978b14051)) #### BugFixes -- 修正世界树之精灵属性错误 ([b62c69](https://github.com/wxh0402/DNFCalculating/commit/b62c697d320668f7769562e74f062ccc3b37a44f)) -- 修复缔造、剑魂无法打开的情况 ([0b9774](https://github.com/wxh0402/DNFCalculating/commit/0b977402ab1ac9e763488e68692934c9a4551670)) +- 部分词条按期望处理 ([9fd435](https://gitee.com/dcalc/dnfcalculating_110/commit/9fd43538b802c995e182a07282f2ecabe24887c8)) -### 2020-11-08 +### 2023.01.19.Beta #### NewFeatures -- 皓曦·死灵术士:巴拉克降临平打的第三下变为第四下 ([281437](https://github.com/wxh0402/DNFCalculating/commit/28143763d7029570226c305be176a32db79d86ae)) +- 添加搭配收藏功能
+- 单套计算页面添加技能冷却详情 ([4b242f](https://gitee.com/dcalc/dnfcalculating_110/commit/4b242f1cb2d7b7e3893e4014273ed696d34b94c9)) +- 添加搭配收藏功能,可保存单套的选择、自定义及贴膜属性 ([e3f80d](https://gitee.com/dcalc/dnfcalculating_110/commit/e3f80d5aefc8e99dfc86b917332f15b30186ad25)) +- 贴膜属性展示 ([3e210f](https://gitee.com/dcalc/dnfcalculating_110/commit/3e210f0d160dc74e84660678a08ec268fd1cedd1)) #### BugFixes -- 修正奶系天堂舞姬套装属性描述错误 ([92a2e6](https://github.com/wxh0402/DNFCalculating/commit/92a2e6635821c3c64cee363003902f6873056dfe)) -- 修正奶系飘零之花武器改造属性为站街加成 ([23fa04](https://github.com/wxh0402/DNFCalculating/commit/23fa044eaf4786e9e02cef85fd9239709ef1118e)) +- 修正传说防具基础问题 ([c7dd06](https://gitee.com/dcalc/dnfcalculating_110/commit/c7dd06cdc004a357e6dec5c21989e6f418657980)) +- 修正词条判断 ([7b3e2c](https://gitee.com/dcalc/dnfcalculating_110/commit/7b3e2c8b27957e25111b1bcfae74fac19667dcaa)) +- 修正黑暗武士排列的技能冷却恢复问题 ([deea2f](https://gitee.com/dcalc/dnfcalculating_110/commit/deea2fa5cec7cac7b5c678b20ff74e75bf46ba29)) +- 重霄·枪炮师·女:修复 FSC7 护石 CD 问题 ([0fa0cc](https://gitee.com/dcalc/dnfcalculating_110/commit/0fa0cc6d38f04b90757ad31cb1220169153e607b)) -### 2020-11-04 +### 2023.01.18.Beta #### NewFeatures -- 添加希洛克挑战模式智慧产物 ([0fb9c5](https://github.com/wxh0402/DNFCalculating/commit/0fb9c557386c72625b65afdce18dc82aad34b746)) -- 知源·元素师:修改默认 25 秒技能模板 ([01f8b8](https://github.com/wxh0402/DNFCalculating/commit/01f8b82302ba965f62d6461d6bfa51f1ea08ea19)) +- 新增装备信息打造显示设置 ([1bb001](https://gitee.com/dcalc/dnfcalculating_110/commit/1bb0015ddb66439c7b727c2b73b3408c3f2cfe2f)) +- 替换人物形象为三觉装扮 ([7b0deb](https://gitee.com/dcalc/dnfcalculating_110/commit/7b0deb439513bdff9a0b5345d7fa7fb33e7bdd3e)) +- 添加传说自定义武器 ([ef573d](https://gitee.com/dcalc/dnfcalculating_110/commit/ef573de8aeb2770beafcbc023399dd164a7cbd03)) +- 添加重霄·机械师·男 ([937042](https://gitee.com/dcalc/dnfcalculating_110/commit/93704278bb89d05a297865488dfcf23c5158c86e)) +- 自定义内添加词条搜索 ([e63b2c](https://gitee.com/dcalc/dnfcalculating_110/commit/e63b2c0cb48b4485c9b20e636f3f434c0604f70d)) #### BugFixes -- 知源·元素师:修正天雷冲击护石倍率计算 ([a1d4fb](https://github.com/wxh0402/DNFCalculating/commit/a1d4fbe3c49628ed11b8a26833a00f8713aa05e3)) -- 皓曦·忍者:修正勾玉之火·镰鼬数据 ([80c69c](https://github.com/wxh0402/DNFCalculating/commit/80c69c21293c8732b3532f9be91e6c62cd416b8b)) +- 问题修复 ([91c78a](https://gitee.com/dcalc/dnfcalculating_110/commit/91c78a4062d56c75dd9c55c4b1970fd140a92b6e)) -### 2020-11-01 +### 2023.01.16.Beta #### NewFeatures -- 知源·魔道学者:调整三觉后默认输出模板 ([225e42](https://github.com/wxh0402/DNFCalculating/commit/225e4201eb7c1af364f49d9d12593a5ca8ca3a59)) +- 优化单套选择,可在单套选择界面进行自定义属性选择对比 ([3499b7](https://gitee.com/dcalc/dnfcalculating_110/commit/3499b7ccf0c364cd95211b9ea87fe654f60a7ffc)) +- 同步文本描述 ([9e2a10](https://gitee.com/dcalc/dnfcalculating_110/commit/9e2a10940ea0a12cd677647d273afc787c51d20a)) +- 同步游戏内词条描述 ([8f1a7c](https://gitee.com/dcalc/dnfcalculating_110/commit/8f1a7c3ef800279cd78d53e2505edb9c44bf66dd)) +- 新增贴膜显示及设置显示方式 ([124d02](https://gitee.com/dcalc/dnfcalculating_110/commit/124d02471c5acc80769f8b14f1052262ddd1ed2c)) +- 自定义及武器融合新增按照提升率排序 ([85facb](https://gitee.com/dcalc/dnfcalculating_110/commit/85facb2067c0673a530e9c47144687efd34e0ac5)) #### BugFixes -- 皓曦·忍者:修正二觉平 x 苦无爆炸部分的增伤 ([534b5c](https://github.com/wxh0402/DNFCalculating/commit/534b5c6b9b11b9c696b226f2b2a422ce15e7ab3c)) -- 知源·魔道学者:修正魔道酸雨云、糖果大作战-捣蛋杰克 HIT 攻击次数 ([e25de8](https://github.com/wxh0402/DNFCalculating/commit/e25de867335a99a0141f56f6c04f8f224aa0077b)) -- 知源·战斗法师:修正炫纹之源:太古神光漏算的炫纹攻击力 ([5cb50c](https://github.com/wxh0402/DNFCalculating/commit/5cb50c897724b35dc0af681114d0dc6380b604f9)) +- 修复部分职业问题 ([1278fb](https://gitee.com/dcalc/dnfcalculating_110/commit/1278fb1b0012f07b379785ad28c844500620ee22)) + +### 2023.01.09.Beta + +#### NewFeatures + +- 同步春节相关版本 ([5158af](https://gitee.com/dcalc/dnfcalculating_110/commit/5158af34bf48fdbfe045800dadc59d3e293d7570)) -### 2020-10-30 +### 2023.01.04.Beta #### NewFeatures -- 知源·元素师:调整元素/CD 算法 ([7af090](https://github.com/wxh0402/DNFCalculating/commit/7af090d55a8a424df8e9b3c3a93cd18bb4758413)) -- 更新女法师、男圣职三觉头像 ([e69793](https://github.com/wxh0402/DNFCalculating/commit/e6979310d614a6a63d0fe28a43e6b48fa80393ee)) -- 知源·元素师修改默认加点 ([fad622](https://github.com/wxh0402/DNFCalculating/commit/fad622b84c1e1122ae693a4e033108a71c4f4c82)) +- 添加 2023 春节礼包相关(需切换到前瞻版本) ([1630d8](https://gitee.com/dcalc/dnfcalculating_110/commit/1630d82d43cfc64eb482ea6336c5c468a4084447)) +- 添加大魔法师的次元回廊相关装备 ([b80490](https://gitee.com/dcalc/dnfcalculating_110/commit/b80490e9877ddf1cb7fe0becc8940637b3a20c8f)) #### BugFixes -- 知源·元素师:修正元素之幕演出时间 ([98b9a5](https://github.com/wxh0402/DNFCalculating/commit/98b9a53e6cbd90b279a4148441d3efc8248b6773)) +- 修正词条问题 ([76b0e6](https://gitee.com/dcalc/dnfcalculating_110/commit/76b0e67667f121282bffad460ac0e17cb0cdfafd)) +- 极诣·驭剑士:修正问题 ([80aac4](https://gitee.com/dcalc/dnfcalculating_110/commit/80aac4b026e727569bb8b18ef128e6c7c40d2bdc)) -### 2020-10-28 +### 2022.12.09.Beta #### NewFeatures -- 皓曦·忍者:同步韩服正式服勾玉之火·镰鼬无法被六道轮回记录,攻击力+57.1% ([a8efc2](https://github.com/wxh0402/DNFCalculating/commit/a8efc29b37ddad6c1adeaa032cd42473ecf6d692)) -- 暗夜三觉系列背景图替换为三觉立绘 ([b35e0d](https://github.com/wxh0402/DNFCalculating/commit/b35e0de50003a57ad8920cb66a7f7b5b14693745)) -- 弑心镇魂者:修改锁定射击演出时间 ([80de2a](https://github.com/wxh0402/DNFCalculating/commit/80de2a90cee7914bb2fa984a3c0efd694ee003fb)) -- 知源·元素师:修改技能演出时间 ([a0aa0b](https://github.com/wxh0402/DNFCalculating/commit/a0aa0bca29a8bf2e52a04bf4f18a83c7c3cdd777)) -- 幽冥、皓曦·影舞者:修改默认配置 ([80e8fa](https://github.com/wxh0402/DNFCalculating/commit/80e8fa88e8994be6a1870a2331e8388beced01d3)) -- 归元·街霸·女:修改默认设置配置 ([a9924d](https://github.com/wxh0402/DNFCalculating/commit/a9924d795e53efacc033c6f080ea69beca7e9a83)) -- 归元·街霸·女:添加钻心毒爆、万毒噬心诀:毒龙吞天技能形态说明 ([28d595](https://github.com/wxh0402/DNFCalculating/commit/28d59574be814f7bb7b5e5837888cedeb8fee87b)) -- 同步国服女法师三觉版本,移除二觉版本 ([f260bc](https://github.com/wxh0402/DNFCalculating/commit/f260bcd0718e738ef36b6bd6611f2515e1bf7d51)) -- 神启·圣骑士 buff 系数下调(630->620) ([cc80fa](https://github.com/wxh0402/DNFCalculating/commit/cc80fa9e2c66e0d85c46b4bf47a100a0d5955c56)) -- 炽天使 buff 系数下调(675->665) ([4427fd](https://github.com/wxh0402/DNFCalculating/commit/4427fd60c767e81ecea46a92826d200576c66c3e)) -- 奶系删除装备的守护徽章、勇气圣歌、死命召唤加成及相关描述 ([c10bf0](https://github.com/wxh0402/DNFCalculating/commit/c10bf077c42015a29c88fe4ad7477dfd9883184d)) +- 新增巴卡尔武器融合 ([19200e](https://gitee.com/dcalc/dnfcalculating_110/commit/19200e7ef6599198030a949770ea54b2a4234ec9)) #### BugFixes -- 修正血色舞会、神话-深渊囚禁者长袍描述问题
- 修正末日之刻 CD 算法 ([c354f5](https://github.com/wxh0402/DNFCalculating/commit/c354f5ae9ed07813dae7dd86a19836e62d715f35)) +- 修正词条问题 ([f3bff5](https://gitee.com/dcalc/dnfcalculating_110/commit/f3bff5fd6eb23bd712535df5a6c8a4b59e967d5d)) +- 词条问题修复 ([0d688d](https://gitee.com/dcalc/dnfcalculating_110/commit/0d688d0ce07952f53e038a8de9b86275b862b61d)) -### 2020-10-27 +### 2022.11.26.Beta -#### NewFeatures +#### BugFixes -- 添加更新日志 ([c05738](https://github.com/wxh0402/DNFCalculating/commit/c057386df4186680be2e4473e924c7c268f6d00e)) -- 女弹药添加弹药改良选择
- 修改默认为 25 秒打桩 ([42faf8](https://github.com/wxh0402/DNFCalculating/commit/42faf8934702eb4960cc6bdd9ed39bf243555a74)) -- 鹦鹉添加三觉版本提示 ([2565c2](https://github.com/wxh0402/DNFCalculating/commit/2565c268e6a5a2b4f2f26a315f1562a089e399a0)) -- 添加未三觉希洛 BUFF ([6c774f](https://github.com/wxh0402/DNFCalculating/commit/6c774fa9815cfb8056e40920e359919287e8b379)) -- 同步国服女法三觉数据 ([a467f8](https://github.com/wxh0402/DNFCalculating/commit/a467f89dc1e7887a9eec30c07dc849e710a14f5d)) +- 修正奶系部分成长词条问题 ([ed3f0e](https://gitee.com/dcalc/dnfcalculating_110/commit/ed3f0e282d9b416e5d36eac713d71d2af1c43dc7)) +- 名称装扮卡攻速加成问题 ([b4c16e](https://gitee.com/dcalc/dnfcalculating_110/commit/b4c16e1dddab95eb8ccee8a92e0fd45f2bbebc43)) +- 归元·街霸:暗街夺命锁护石问题 ([5eca9e](https://gitee.com/dcalc/dnfcalculating_110/commit/5eca9e6801c8281d2f7309cf2b8b96224f0b3a63)) +- 词条修正 ([31f296](https://gitee.com/dcalc/dnfcalculating_110/commit/31f2969bbde31ea1c392d0664153e17e00341fb1)) -#### BugFixes +### 2022.11.04.Beta -- 修正无影·惨剧数据 ([64ee08](https://github.com/wxh0402/DNFCalculating/commit/64ee0806abef5ab2f6b0f6708911e47ca6630a43)) -- 修改了绑定千鬼杀时四叔平砍时间减少的问题
- 重新调整了四叔的平砍倍率
- 修复了至高精灵王可以吃到强击光环的 bug ([b09793](https://github.com/wxh0402/DNFCalculating/commit/b09793ab2f1fde3f93bd10b4a68586c881802842)) -- 元素:修正三觉技能倍率显示问题 ([2b4e46](https://github.com/wxh0402/DNFCalculating/commit/2b4e4696ca88ab9c5bf759ff07d01d4ff2932c88)) -- 元素:修正元素之门外门的最大增幅率 ([6ac4d2](https://github.com/wxh0402/DNFCalculating/commit/6ac4d23b5b134d6465cb190b31ae822d56909689)) -- 暗枪:修复暗蚀螺旋枪未享受暗蚀情况 ([059268](https://github.com/wxh0402/DNFCalculating/commit/059268bf814d82ee87d193c42659b5c4d153e9ff)) +#### BugFixes -### 2020-10-23 +- 修正打开的问题 ([539169](https://gitee.com/dcalc/dnfcalculating_110/commit/539169057d62c88b2ed59331336cc7de0bc7f615)) -- 知源·元素:修正元素之门数据 -- 皓曦·忍者:六道勾选修改为次数选择 -- 忍者:六道勾选修改为次数选择 -- 修正国服战法、元素三觉数据 -- 皓曦·死灵术士:修正大巴系 TP 和技能数据,调整默认加点 -- 皓曦·影舞者:修正潜影刺击、刃舞、影戮、八荒影杀和剜心的增伤倍率,由 10%→11% -- 皓曦·忍者:八岐大蛇更改为者皆阵结印,修正二觉平 x 火焰苦无爆炸伤害 +### 2022.10.26.Beta -### 2020-10-22 +#### NewFeatures -- 添加韩服暗夜三觉数据 -- 修改女魔法师三觉名称 -- 修正国服召唤三觉数据 -- 修复改造武器改 5 前无伤害词条 -- 修复改造武器享受锻造对奶系四维加成 -- 修复天幕道火扇进图技能加成站街显示问题 -- 修复血色舞会未加成终结追击问题 +- 同步韩服 10.27 装备平衡 ([870884](https://gitee.com/dcalc/dnfcalculating_110/commit/8708844da2828cf99520382c0b530682c4c68eca)) +- 完善默认存档 ([32de9d](https://gitee.com/dcalc/dnfcalculating_110/commit/32de9def904005044057b9e91f1e7738544c454f)) +- 添加控制异常是否生效选项 ([5493bc](https://gitee.com/dcalc/dnfcalculating_110/commit/5493bc4116476433053bdf811dbab398f321560f)) +- 添加韩服职业平衡 ([33cb29](https://gitee.com/dcalc/dnfcalculating_110/commit/33cb297477584aa42fec0a46c23b92d3b7a8fc29)) -### 2020-10-17 +#### BugFixes -- 湮灭之瞳(元素炮 BUG 计算方式修复) -- 奶系默认配置(更新宠物装备、希洛克附魔、部分附魔修正) +- 修复男漫游打开问题 ([1b7628](https://gitee.com/dcalc/dnfcalculating_110/commit/1b7628449abbeb12b122f9bb5b3bc81298a06e79)) +- 修正传说防具基础 ([927474](https://gitee.com/dcalc/dnfcalculating_110/commit/927474a25ad6c9f026c4206f4a9b394293201379)) +- 修正自定义显示问题 ([d03b51](https://gitee.com/dcalc/dnfcalculating_110/commit/d03b519885fd733675793e86b2724533a87d1604)) +- 修正词条 ([baaca1](https://gitee.com/dcalc/dnfcalculating_110/commit/baaca111fe380d9b35cecb329cf08d2cd8e7ddf1)) +- 极诣·剑魂:修正[极神剑术]问题 ([d50a66](https://gitee.com/dcalc/dnfcalculating_110/commit/d50a66d853dd9290e8e66eb43b947550f0537fb3)) +- 隐夜·忍者:修复数据问题 ([cae91f](https://gitee.com/dcalc/dnfcalculating_110/commit/cae91f68e927e8e67a3388aa98b5765b250f8037)) -### 2020-10-14 +### 2022.10.22.Beta -- 详情界面新增希洛克融合装备图标区分 -- 亡魂主宰:修正百鬼夜行 TP 为\*4 和 5 点时加成异常 +#### NewFeatures -### 2020-10-4 +- 同步国服 2022.10.27 版本 ([8001e7](https://gitee.com/dcalc/dnfcalculating_110/commit/8001e77c323b290b0d8d592f147861b32b1fb67a)) +- 同步韩服 10.19 装备平衡 ([524f94](https://gitee.com/dcalc/dnfcalculating_110/commit/524f94b394444427011cc330372827b0cc0f8a92)) +- 新增自定义词条提升数值参考(仅在单套选择中穿戴该自定义装备,且有未选择的自定义属性的时候生效) ([999e89](https://gitee.com/dcalc/dnfcalculating_110/commit/999e8923505ddc0e99cda9ba0368928cd7d58d92)) -- 幽冥:修正 CP 影戮和刃舞加成错误 -- 圣武枪魂:修正升龙破空枪 CD -- 第五页锁定按钮勾选后,批量选择不会更改对应部位 -- 优化排行榜数据输出,BUFF 系也支持输出了(需要修改配置文件开启) +### 2022.10.20.Beta -### 2020-9-30 +#### NewFeatures -- 修正战法炫纹受技能宝珠加成的 BUG -- 幽冥修正二觉终结数据 +- 同步国服体验服职业平衡 ([7769dd](https://gitee.com/dcalc/dnfcalculating_110/commit/7769dd2f9700fbefd3e8ae620d6bc35a101ee8fe)) +- 新增攻速辟邪玉及攻速快捷装备 ([c02bc5](https://gitee.com/dcalc/dnfcalculating_110/commit/c02bc5d75caae6ea8cc75353cc037f8f7461e678)) +- 时装添加异常抗性选择 ([804682](https://gitee.com/dcalc/dnfcalculating_110/commit/804682f28bd469a9bcf9006076985beb0ac14dd0)) +- 添加归元·街霸·男 ([89db45](https://gitee.com/dcalc/dnfcalculating_110/commit/89db45939f4ddd575615a123047f73683eb40d88)) +- 添加隐夜·忍者 ([96349f](https://gitee.com/dcalc/dnfcalculating_110/commit/96349f67fe1114fee8b5d9a77dfba93ee85364b5)) -### 2020-9-28 +#### BugFixes -- 修正排行列表按钮对应错误的 BUG -- 排行列表支持多重筛选,在对应排行里(看窗口名称)点击要筛选的装备即可 +- 修正部分数据问题 ([839065](https://gitee.com/dcalc/dnfcalculating_110/commit/839065b24d1dbb94e5b574e37eec1f0e311fd660)) +- 修正部分职业数据问题 ([93ef22](https://gitee.com/dcalc/dnfcalculating_110/commit/93ef2256c028c5402208344c213f468cef699f5c)) +- 极诣·剑魂:修正[极神剑术破空斩]在[极神剑术]下加成错误 ([ca9be7](https://gitee.com/dcalc/dnfcalculating_110/commit/ca9be795f1252e5b8bef13b72c260fbcdeb6438f)) +- 极诣·剑魂:修正极神剑术对幻影剑舞加成 ([cf1f5d](https://gitee.com/dcalc/dnfcalculating_110/commit/cf1f5d57359547e0287c403d2167340637e59b56)) +- 极诣·黑暗武士:修正冥魂珠数据问题 ([56dd6b](https://gitee.com/dcalc/dnfcalculating_110/commit/56dd6bba2ba65cb0af8ad344c0739de66ec2cb08)) -### 2020-9-27 +### 2022.10.14.Beta -- 增加排行列表装备限定选项
- 勾选第五页限定选项,并选择对应装备
- 排行列表只会出现符合限定条件的组合
- (主要用来分段计算限定条件下切装数据,如限定 7 件指定装备,计算一次荣誉排行,计算一次太阳排行,即可得出当前限定下切装最优解) -- 排行列表点击任意装备图标,对该含有该装备的组合重新生成排行(筛选指定装备进行排序) +#### NewFeatures -### 2020-9-26 +- 剑魂被动拆分显示 ([634d19](https://gitee.com/dcalc/dnfcalculating_110/commit/634d197ad0098f655873ad00b6ba27bde6e772c3)) +- 极诣·鬼泣:添加时装下装技能选择 ([9a3000](https://gitee.com/dcalc/dnfcalculating_110/commit/9a300015f228ff1571934820b00b14a9db5e30a9)) +- 添加黑暗武士 ([4a300f](https://gitee.com/dcalc/dnfcalculating_110/commit/4a300f3e91d20b098aec4b2076aa1eeb8c7edda7)) -- 增加勋章强化选项 -- 修改所有默认配置(鞋子 1-50,国庆光环) -- 修复逆转结局缺少基础转职被动智力 bug -- 多存档支持 - 找到对应职业文件夹(如\ResourceFiles\风暴骑兵)
- 当前目录复制粘贴 set 文件夹(没有 set 就复制粘贴 reset,需要重命名)
- 可以对此文件夹名进行修改(如“set 小号”,必须以“set”开头)
- 第一页右下角下拉框选择需要使用的存档
- 需要多少存档就复制粘贴多少文件夹,不需要时手动删除对应文件夹
- (创建或删除文件夹后需要重新打开职业窗口才能生效) +#### BugFixes -### 2020-9-25 +- 修正光环、皮肤、武器装扮徽章同步问题 ([e9add6](https://gitee.com/dcalc/dnfcalculating_110/commit/e9add6f9ad7ca4cc5fd201cb9d89221aa1d4ab61)) +- 归元·气功师·女:修正念气环绕 TP 上限 ([522261](https://gitee.com/dcalc/dnfcalculating_110/commit/5222619d5f348547ad59b830e1a2029769dc957f)) +- 极诣·剑魂:修正下装选项重复 ([d3f3b1](https://gitee.com/dcalc/dnfcalculating_110/commit/d3f3b1e358e9e755e4713a04b792b02252a9efde)) +- 极诣·剑魂:修正数据问题 ([f85142](https://gitee.com/dcalc/dnfcalculating_110/commit/f851424a55f5556ddf9abbfd6017b63880c0083f)) +- 极诣·剑魂:修正流心系列问题 ([8c4a61](https://gitee.com/dcalc/dnfcalculating_110/commit/8c4a61c889c86c771f2524ff7f776dcdd736e17d)) +- 极诣·鬼泣:修正抗性问题 ([cc413c](https://gitee.com/dcalc/dnfcalculating_110/commit/cc413c030b69c9b045fa9c6107c3b2490de72563)) +- 极诣·鬼泣:修正数据问题 ([1d2a35](https://gitee.com/dcalc/dnfcalculating_110/commit/1d2a356517e8496c67459306fa0badcc7ead46bb)) +- 极诣·鬼泣:修正暗抗 ([c75029](https://gitee.com/dcalc/dnfcalculating_110/commit/c75029d59123cc7dd1e6105e7d8a8b3489737ba6)) -- 修改第三页布局及选项(继承旧版设置时细节配置需重新调整) -- 宠物装备、光环 词条自适应时会禁用对应输入选项 +### 2022.10.09.Beta -### 2020-9-24 +#### NewFeatures -- 修正希洛克智慧产物名称 -- BUFF 系改造武器增加改造四维 +- 完善剑魂计算
+- 添加剑魂(测试版) ([692447](https://gitee.com/dcalc/dnfcalculating_110/commit/692447f6a4b510ed26770ad9c1c607d98fe39d05)) +- 添加鬼泣 ([537906](https://gitee.com/dcalc/dnfcalculating_110/commit/53790663c387b708a5ceaddc5e67d8fc7cde5812)) +- 附魔补充 ([e3793f](https://gitee.com/dcalc/dnfcalculating_110/commit/e3793ffafc9e130fd50522bbf505071a0ca0063c)) -### 2020-9-23 +#### BugFixes -- 修正奶爸荣誉系数以及徽章百分比(韩服版本 → 国服当前) -- 增加武器第二词条生效判断(三件套才触发第二词条) +- 修复奶系精通计算问题
-### 2020-9-22 +### 2022.10.04.Beta -- 调整默认面板显示,奶系锻造四维 -- 删除男圣职者非三觉数据 -- 修正物攻魔攻一键修正闪退 BUG +#### BugFixes -### 2020-9-20 +- 修正属性修正问题 ([74fd9c](https://gitee.com/dcalc/dnfcalculating_110/commit/74fd9ccd3fb8c8d8ac7cfbfb6ff6974b276b4c47)) +- 修正真龙手镯 ([ffb1ef](https://gitee.com/dcalc/dnfcalculating_110/commit/ffb1ef52e538ede9d9ae91a2a0c3d520ce96c3ba)) +- 修正结果显示及属性修正的问题 ([5ceed8](https://gitee.com/dcalc/dnfcalculating_110/commit/5ceed8fbeadab64f7bc8169fdc6e7c3f640f5798)) +- 修正自定义词条在使用流派推荐内自定义造成无法选择的情况 ([6f1606](https://gitee.com/dcalc/dnfcalculating_110/commit/6f16069677d30a65c6b29336a1f17513ea2418ae)) +- 修正部分词条判定 ([c10459](https://gitee.com/dcalc/dnfcalculating_110/commit/c104596f4343ba7e7d37e5295b4e0d5c132e8804)) +- 奶系护石显示问题 ([187762](https://gitee.com/dcalc/dnfcalculating_110/commit/1877626761a530cab647b856701f75cf11b054f7)) +- 极诣·暗殿骑士:修正数据问题 ([91404f](https://gitee.com/dcalc/dnfcalculating_110/commit/91404f73364a08792acf91aa2a3d72dd048c38d5)) +- 极诣·暗殿骑士:修正无法打开 ([bf6074](https://gitee.com/dcalc/dnfcalculating_110/commit/bf60748fa4ad062ca2abc4c5ea52229767fc939b)) +- 极诣·阿修罗:修正波动刻印上限问题 ([34dffc](https://gitee.com/dcalc/dnfcalculating_110/commit/34dffc52aa283a433042de6f93611e43456ba16b)) -- 增加攻击目标选择,默认有 120-130 沙袋,0 防御强化机 - (需要自定义目标的修改 ResourceFiles\攻击目标、ini) +### 2022.09.21.Beta -### 2020-9-19 +#### NewFeatures -- 巫女修正天坠阴阳玉护石 bug +- 丰富快捷栏功能 ([eb19c0](https://gitee.com/dcalc/dnfcalculating_110/commit/eb19c0362e3889e6428fc5713c3c3787546ccc0f)) +- 同步 9.22 国服装备改版 ([e44838](https://gitee.com/dcalc/dnfcalculating_110/commit/e448380b820bddb7373b992b4cf4dc4bb78ac796)) +- 同步 9.22 职业平衡 ([99d61b](https://gitee.com/dcalc/dnfcalculating_110/commit/99d61be629c060a86a5fc2510ca2e951f7cd5970)) +- 同步韩服正式服巴卡尔装备调整 ([3594c3](https://gitee.com/dcalc/dnfcalculating_110/commit/3594c3acaf641b6a75b6f77fbe51b84bd30860fc)) +- 打造页新增属性修正 ([189575](https://gitee.com/dcalc/dnfcalculating_110/commit/18957598d4d30c1f19d4105927332dee82b8749f)) +- 新增属强抗性、异常抗性计算及显示 ([dde869](https://gitee.com/dcalc/dnfcalculating_110/commit/dde869ad38b195cc055c608e6756a792929eed6b)) +- 添加武器装扮三速选项 ([cd0d07](https://gitee.com/dcalc/dnfcalculating_110/commit/cd0d07da633c104cad992e90263181f94bd6ece7)) -### 2020-9-18 +#### BugFixes -- 修正混沌行者存档 BUG -- 更新女圣职者背景图及动态头像 +- 修复奶爸徽章 ([e464f0](https://gitee.com/dcalc/dnfcalculating_110/commit/e464f077f198caef7c9ced49a3790e2c28b79323)) +- 修复词条问题 ([6fb103](https://gitee.com/dcalc/dnfcalculating_110/commit/6fb103a47f36078e9dbb4248576767b2fdd8d388)) +- 修正抗性相关问题 ([6fd95b](https://gitee.com/dcalc/dnfcalculating_110/commit/6fd95bd5d0f710f9b7ad93b3e55aa7eeea48a3a1)) +- 修正红色宠物装备抗性加成 ([0a9b97](https://gitee.com/dcalc/dnfcalculating_110/commit/0a9b979fe12d5debea8c3ac7cb98cf0b4ecda348)) +- 修正自动更新的问题 ([fef08f](https://gitee.com/dcalc/dnfcalculating_110/commit/fef08fa6b837de4eb03473fdd68808c9738a986c)) -### 2020-9-14 +### 2022.09.15.Beta -- 芙蕾雅新增打桩模式选择 +#### NewFeatures -### 2020-9-12 +- 修正描述 ([d1eb11](https://gitee.com/dcalc/dnfcalculating_110/commit/d1eb11d2dac9baf830775a738c438ad951826f09)) +- 多版本优化 ([ea280e](https://gitee.com/dcalc/dnfcalculating_110/commit/ea280e6bf29d41cc5823096b6e33376f6e9a4ade)) +- 完善自定义词条数值 ([e58d54](https://gitee.com/dcalc/dnfcalculating_110/commit/e58d54517d8c4e175643cf8bb27f2f5ac6b5bfa5)) +- 校正手搓和武器 CD 惩罚算法关系 ([e478bf](https://gitee.com/dcalc/dnfcalculating_110/commit/e478bf58422c434700eb04668df507a716d0e954)) +- 添加 2022 春节称号 ([9d1faa](https://gitee.com/dcalc/dnfcalculating_110/commit/9d1faafeca4f707139085e4cfde27d4c5f9828e8)) +- 添加传说自定义 ([17f3d4](https://gitee.com/dcalc/dnfcalculating_110/commit/17f3d410175c470029e9796e4bfeefadfba1708a)) +- 添加刷新按钮 ([712405](https://gitee.com/dcalc/dnfcalculating_110/commit/712405e4dea2b87982e75b7e6994e97710d4bb60)) +- 添加巴卡尔固定装备 ([cca241](https://gitee.com/dcalc/dnfcalculating_110/commit/cca24149f0e81b226f0aef1c32baf91125d458ba)) +- 添加巴卡尔武器 ([7b9950](https://gitee.com/dcalc/dnfcalculating_110/commit/7b995005064003d1b0b1718105e40aa3b296f27e)) +- 添加机械革命:开战融合装备 ([b8324c](https://gitee.com/dcalc/dnfcalculating_110/commit/b8324c436ea4bb599aeea01d2f340d1391bfe7ef)) +- 添加皓曦·精灵骑士 ([589449](https://gitee.com/dcalc/dnfcalculating_110/commit/589449f5d35db0fe232edc414813a677e73f9002)) +- 添加神启·复仇者 ([4ab53d](https://gitee.com/dcalc/dnfcalculating_110/commit/4ab53db3e8ede1e9491348833df670144a791273)) +- 自动检查更新关闭功能实现 ([e03e33](https://gitee.com/dcalc/dnfcalculating_110/commit/e03e33a1301f365b987eb7637e25917c778da3b0)) -- 补全女圣职者三觉 -- 龙神(修正大胃王等级上限) -- 部分职业补上新护石 -- 更新背景图片资源 +#### BugFixes -### 2020-9-11 +- 修正部分词条报错 ([e3c3bb](https://gitee.com/dcalc/dnfcalculating_110/commit/e3c3bbbb05ce44d6d43029b61e5dd19a32e2f51d)) +- 极诣·刃影:修正 TP 上限问题 ([6ef2b9](https://gitee.com/dcalc/dnfcalculating_110/commit/6ef2b9f7f61be631dae29cb2db2b1cab0b7b8f5a)) +- 重霄·合金战士:修复 AT-SO 步行者 ([00ca65](https://gitee.com/dcalc/dnfcalculating_110/commit/00ca65780f831e8ee8b1c7d78177cd945389d72d)) -- 奶妈三觉增加神光十字 buff -- 奶妈三觉 95 被动、100 主动技能图标修改 -- 奶妈三觉默认配置修改 -- 部分职业补上新护石 -- 新增四姨三觉数据 +### 2022.09.09.Beta -### 2020-9-10 +#### NewFeatures -- 新增国庆光环按钮择优选项 +- 同步体验服部分装备奶量更新 ([ce0f6b](https://gitee.com/dcalc/dnfcalculating_110/commit/ce0f6b515e134a4ad0b41049577fc5e4291109e1)) -### 2020-9-9 +#### BugFixes -- 忍者修正毕方之印伤害 -- 男散打增加武器臂铠选项 -- 光环增加 1-80 级技能选项 -- 新增国庆称号 +- 修正光环词条 ([c431b4](https://gitee.com/dcalc/dnfcalculating_110/commit/c431b43380bfa858b0141e5f4d46af8139b8f4ab)) +- 修正称号词条 ([fc23e2](https://gitee.com/dcalc/dnfcalculating_110/commit/fc23e2c4406ff6c462b9e4a7b220c4a4cf8b34fc)) +- 修正词条问题 ([19cb8b](https://gitee.com/dcalc/dnfcalculating_110/commit/19cb8b05372836366a86fc4d34260bc57c0c1ad2)) +- 修正词条问题 ([836a4f](https://gitee.com/dcalc/dnfcalculating_110/commit/836a4fd518d1a2ff9eb50f5ac8ef3fc6006ad894)) +- 修正隐匿之叹息耳环 CD 判定 ([827910](https://gitee.com/dcalc/dnfcalculating_110/commit/827910c10b99e2e7ae63e0094358d09883dd33b3)) -### 2020-9-7 +### 2022.09.07.Beta -- BUFF 系修复逆转结局(神话词条选项)智力加成错误 -- 龙神修正征战无双护石和一觉被动火球,添加普通攻击 -- 混沌行者默认模板调整为 25s 打桩模板,可以保存强化设置 +#### NewFeatures -### 2020-9-6 +- 添加 2022 国庆礼包相关 ([c03606](https://gitee.com/dcalc/dnfcalculating_110/commit/c03606cf0d6bd18131b4dc1c869c10c1633f349c)) +- 添加重霄·漫游枪手 ([f2026c](https://gitee.com/dcalc/dnfcalculating_110/commit/f2026c579791f37b39aea4fe28a30417098d2c42)) +- 添加阿修罗、女毒王前瞻 ([bc12d7](https://gitee.com/dcalc/dnfcalculating_110/commit/bc12d7f464e9b14b0847c51a1b8572994d1106b9)) +- 添加隐夜·影舞者 ([ace960](https://gitee.com/dcalc/dnfcalculating_110/commit/ace960f28a931083db8624bdfbf20adcf046b72c)) -- 修正四姨(救世主)技能等级 -- 一键修正支持新版面板(体验服无力智系数面板) -- 部分职业(毒王、刺客、龙神)默认模板改为 25S +#### BugFixes -### 2020-9-3 +- 修复全局属性选择的问题.
+- fix:修复全局属性选择的问题. ([5a3cd5](https://gitee.com/dcalc/dnfcalculating_110/commit/5a3cd5c0ee89b23572bc6ef14cb6712d39d1397c)) +- 修正存档问题 ([12d247](https://gitee.com/dcalc/dnfcalculating_110/commit/12d2472ef40de9872dc29070c482427a6202cdd4)) +- 修正手镯、上衣、耳环判定问题 ([d822ef](https://gitee.com/dcalc/dnfcalculating_110/commit/d822ef7ee7e3c8cf594afb324a7c24ff805d9f0b)) +- 修正穿戴判断错误 ([aa6a65](https://gitee.com/dcalc/dnfcalculating_110/commit/aa6a6530bda12c507561f86bea8be94b5d1c3a36)) +- 修正自定义词条问题 ([1c5560](https://gitee.com/dcalc/dnfcalculating_110/commit/1c5560601c2c3306d87a5b645b0ee2faef008af6)) +- 修正词条数值 ([bd263f](https://gitee.com/dcalc/dnfcalculating_110/commit/bd263f061eac10d7c0c3afea3b048ac1c4ae72b0)) +- 极诣·驭剑士:修正数据问题 ([6a4fdc](https://gitee.com/dcalc/dnfcalculating_110/commit/6a4fdc934849663394a6a2b933b31963e540bac8)) +- 知源·元素爆破师:修正数据问题 ([3eee44](https://gitee.com/dcalc/dnfcalculating_110/commit/3eee44b8e099e6f046be665c24225d52d0f69d86)) -- 修正魔道当前版本魔法秀数据 -- 校正毒王数据 +### 2022.09.01.Beta -### 2020-9-1 +#### NewFeatures -- 单件模式增加智慧产物数量限制 -- 修复吞愤神话词条修正时太阳力智的加成 +- 添加冰冻结算灼伤适用 ([fa286b](https://gitee.com/dcalc/dnfcalculating_110/commit/fa286bfdb94e841ad6df48766831b92f5a941603)) -### 2020-8-31 +#### BugFixes -- 修正鬼泣瘟疫之罗刹护石数据 -- 输出系增加希洛克武器融合选项 -- 修正希洛克武器融合词条自适应选项,重复计算 BUG -- 修正时间左槽减 CD -- 修正影舞者一觉 BUFF 精通不能超上限 BUG +- 修正词条描述 ([805258](https://gitee.com/dcalc/dnfcalculating_110/commit/805258655c27ea3c5ad9ec87af074d653be5627f)) +- 修正词条问题 ([426ce4](https://gitee.com/dcalc/dnfcalculating_110/commit/426ce409b73b5d12671e567a0fee48f1799e4e9f)) +- 极诣·驭剑士:修正三绝斩冰的数据问题 ([d511ba](https://gitee.com/dcalc/dnfcalculating_110/commit/d511bad3140b004f210b090fd3b8cc59395fadda)) +- 知源·魔道学者:修正 CP 武器报错 ([d64981](https://gitee.com/dcalc/dnfcalculating_110/commit/d64981be8940c98c4602f87bd57d1a22737b8f39)) +- 神启·诱魔者:修正数据问题 ([43662d](https://gitee.com/dcalc/dnfcalculating_110/commit/43662d1cc46c820a1fa85646c4832b75903498fc)) -### 2020-8-30 +### 2022.08.31.Beta -- BUFF 系修改武器属性 B6 融合属性 +#### NewFeatures -### 2020-8-29 +- 优化条件选择及技能的存档 ([b56826](https://gitee.com/dcalc/dnfcalculating_110/commit/b5682690a3e2a87706f20700fcec72a98edfb009)) +- 修改技能次数为输入 ([9aea60](https://gitee.com/dcalc/dnfcalculating_110/commit/9aea6059ae3e15a25ba59c521c5d0ee071cf506f)) +- 同步攻速鞋不计入辟邪玉、名称装扮卡 ([b3b854](https://gitee.com/dcalc/dnfcalculating_110/commit/b3b85447af5cc4c7b39ac1befd714c8fff06d596)) +- 实现睡眠手镯 ([e016bc](https://gitee.com/dcalc/dnfcalculating_110/commit/e016bc486d94f8da0d3bba9b44d6ced1d22caae1)) +- 新增军团相关附魔 ([7841d9](https://gitee.com/dcalc/dnfcalculating_110/commit/7841d92b65a9896922ac090887aced44ad0cf480)) +- 添加知源·魔道学者 ([d534fc](https://gitee.com/dcalc/dnfcalculating_110/commit/d534fcfe56a77596a271ef6b3cff2e4669fd1a52)) +- 添加神启·异端审判者 ([cff6a5](https://gitee.com/dcalc/dnfcalculating_110/commit/cff6a53f7f29cb60b929be068b0974f60076b728)) +- 添加神启·诱魔者 ([ea1efb](https://gitee.com/dcalc/dnfcalculating_110/commit/ea1efb20e723fe15047b32c230b4f1bdc996ecbb)) +- 添加隐夜·刺客 ([8b5cf8](https://gitee.com/dcalc/dnfcalculating_110/commit/8b5cf8e8b99bf3b94e576f16ca2ebf0af7166441)) -- BUFF 系希洛克武器融合更新 -- 修正蓝拳技巧精通所在等级 +#### BugFixes -### 2020-8-28 +- 修复审判部分数据错误 ([0771fe](https://gitee.com/dcalc/dnfcalculating_110/commit/0771fe76d1f97b9168ddf1cebb6c43c7681d14b5)) +- 修正词条错误 ([df51bf](https://gitee.com/dcalc/dnfcalculating_110/commit/df51bfc0017664ee83bdea7451814fad006bb05f)) +- 知源·元素爆破师:修复数据问题 ([17bb5c](https://gitee.com/dcalc/dnfcalculating_110/commit/17bb5cef01f765c648459b3c96294c8b5ef6638f)) +- 隐夜·死灵术士:修复 CP 武器异常 ([bbe12c](https://gitee.com/dcalc/dnfcalculating_110/commit/bbe12c6b236aaa3bd154df781143d3788fb1d2e6)) -- BUFF 系希洛克武器融合更新 -- 修正召唤月亮护石 +### 2022.08.24.Beta -### 2020-8-26 +#### NewFeatures -- 修正剑影太刀精通等级 +- 添加军团装备,仅在装备版本韩服生效 ([fc6d71](https://gitee.com/dcalc/dnfcalculating_110/commit/fc6d713784bdc4ed78bbf22d8e331ed324283f01)) +- 添加指令使用效果加成词条对 CD 影响的计算 ([4e19f6](https://gitee.com/dcalc/dnfcalculating_110/commit/4e19f6de91b3cb0011c619a54b70e31dc9d66f36)) +- 优化自定义属性设置界面 ([daebed](https://gitee.com/dcalc/dnfcalculating_110/commit/daebedb2e89d6ae9e20e06d935f9ecd87ebe687a)) -### 2020-8-25 +#### BugFixes -- 修正召唤 CD 问题 -- 修正剑宗雷鸣数据,修复雷鸣护石无法使用,修复穿云数据重复叠加 -- 删除女格斗未三觉数据,少部分国服特色三觉技能数据可能会有出入,等待后续修正 -- 修正女格斗三觉相关技能名称 -- 修正武神数据,增加臂铠选项 +- 修正自定义词条等级获取错误 ([12ac2f](https://gitee.com/dcalc/dnfcalculating_110/commit/12ac2f65d8da6836eaa31e09be802557536886c8)) +- 修正融合装备报错问题 ([019247](https://gitee.com/dcalc/dnfcalculating_110/commit/019247fff4888cf035054f2dfa45feabd8537e88)) -### 2020-8-23 +### 2022.08.21.Beta -- 修正黑暗武士希洛克装备选项位置 -- 修正魔道变异苍蝇拍数据错误 -- BUFF 系增加希洛克武器词条选项 +#### NewFeatures -### 2020-8-22 +- 新增日志弹出 ([e4fc9c](https://gitee.com/dcalc/dnfcalculating_110/commit/e4fc9c1a13670a6fbbeb1307a90baf5ec56db5f3)) +- 极诣·剑影:鬼连斩、鬼连斩:极拆分显示 ([09a798](https://gitee.com/dcalc/dnfcalculating_110/commit/09a798213e5e44293fb4d0a0095a6d503cac3935)) +- 添加战线佣兵 ([7aada1](https://gitee.com/dcalc/dnfcalculating_110/commit/7aada109a0f35d3a9d2cea956654897023fb2a8d)) +- 添加源能专家 ([7cd33c](https://gitee.com/dcalc/dnfcalculating_110/commit/7cd33c1cb6737c1d89e5d1e3959e2103d948ad33)) -- 修正 BUFF 系希洛克除板甲外下装属性 -- BUFF 系增加武器锻造加四维选项 -- BUFF 系一觉切装增加数值显示 +#### BugFixes -### 2020-8-20 +- 修定冰结装备增加 75 级技能攻击力时碎冰破加成不正常的问题 ([0164d6](https://gitee.com/dcalc/dnfcalculating_110/commit/0164d65967316ff2c929f395d51839b0825107cd)) +- 修正自定义词条加成技能等级问题 ([bdeea0](https://gitee.com/dcalc/dnfcalculating_110/commit/bdeea0237641cd7115724e515a749533e444fbf2)) +- 归元·散打(女):修复虎啸神拳 hit 问题 ([46fd0e](https://gitee.com/dcalc/dnfcalculating_110/commit/46fd0ed9fb83be9607cdad87b7bedb079066d1b8)) +- 极诣·驭剑士:修正魔剑降临问题 ([f1bebd](https://gitee.com/dcalc/dnfcalculating_110/commit/f1bebd64df5f7f4201debbc7cf8dc75f392ae1f8)) +- 皓曦·龙骑士:修复征战无双问题 ([0d9eca](https://gitee.com/dcalc/dnfcalculating_110/commit/0d9ecab412685e7208c1d94ba04f8e8d2435ee3f)) +- 神启·蓝拳圣使:修复技巧精通加成问题 ([db16b0](https://gitee.com/dcalc/dnfcalculating_110/commit/db16b0302e0b7fd2b45f720a53c1810e3f277ce3)) +- 职业 bug 修复 ([411e7c](https://gitee.com/dcalc/dnfcalculating_110/commit/411e7cd1bcc28ae9d7a392870d924caf0eb4bad2)) +- 苍暮·源能专家:修正护石缺失 ([886124](https://gitee.com/dcalc/dnfcalculating_110/commit/88612447dc65467d09d08c36d287367453f146e1)) +- 重霄·合金战士:修复雷达扫射数据问题 ([ad9c80](https://gitee.com/dcalc/dnfcalculating_110/commit/ad9c80ac89791946ff2e4f25b5c0fb6d249a916e)) +- 重霄·枪炮师:修正 MP 消耗判断问题 ([19f454](https://gitee.com/dcalc/dnfcalculating_110/commit/19f45450540441930e706ed2740d0c71549cc74a)) -- 修正混沌行者奇点护石数据 -- 修正三觉召唤黑雾数据(同步韩正),修正图标 -- 更新部分背景图,更新动图头像资源(压缩包内动态头像文件夹放在 ResourceFiles、main 同目录) -- 详情界面增加此词条(力智三攻黄白爆所有攻)提升率显示,以 10%为基准计算 -- 修正复仇二觉数据 -- 部分职业添加新护石 -- 修正闪击碎霸护石对碎霸次数的加成 -- 修正男圣职者三觉名称,改动职业本地存档(set 文件夹)需要手动复制继承 +### 2022.08.15.Beta -### 2020-8-19 +#### NewFeatures -- 修正选择闪击碎霸护石时,碎霸次数加 1 -- 删除三觉奶妈奶萝一觉被动三攻加成 +- 根据攻速计算装备属性 ([b4f868](https://gitee.com/dcalc/dnfcalculating_110/commit/b4f868a5c915fdc16cc0a2a1784f0b6564a719ef)) +- 添加剑宗 ([98e621](https://gitee.com/dcalc/dnfcalculating_110/commit/98e6212ccc8990794571353c8e13a41aa3dcad15)) +- 添加勋章攻速 ([649a8c](https://gitee.com/dcalc/dnfcalculating_110/commit/649a8c20be61a9a7cfb14bb4eac07a1f3e32e0d3)) +- 添加合金战士 ([4a1130](https://gitee.com/dcalc/dnfcalculating_110/commit/4a1130bd26b17639f4b11beea7d8c268b1a64b49)) +- 添加征战者 ([ac0d6d](https://gitee.com/dcalc/dnfcalculating_110/commit/ac0d6d4888af231c86b2e95ebd2acefab916b35a)) +- 添加散打(女) ([7a2e41](https://gitee.com/dcalc/dnfcalculating_110/commit/7a2e410e78d6532c95d2954931d99808b36333d9)) -### 2020-8-18 +### 2022.08.11.Beta -- 修正骰子戒指期望(等于 2 时也会触发 12 黄字) +#### NewFeatures -### 2020-8-17 +- 添加军团副本装备,手镯睡眠相关暂未实现(军团装备仅在装备版本切换到韩服版本才会计算) ([11b699](https://gitee.com/dcalc/dnfcalculating_110/commit/11b69915c8c84f5cd99e958d046916b66e14866a)) +- 添加决战者 ([db3357](https://gitee.com/dcalc/dnfcalculating_110/commit/db3357e4298fac5b46f58b6e6e95bbf8c13a3a46)) +- 添加怪物选择(后续测试完会加其他怪物) ([5b5677](https://gitee.com/dcalc/dnfcalculating_110/commit/5b56776bdf1e5e77d0967d7732bcc7b7bb035b8b)) +- 添加暗枪 ([7ea4a2](https://gitee.com/dcalc/dnfcalculating_110/commit/7ea4a24140db9c3b87c8e10b1eff4852ae19ce5c)) +- 添加特工 ([259f3c](https://gitee.com/dcalc/dnfcalculating_110/commit/259f3c2300e9581bcc3ad33f1805f3c95ab4e8cc)) +- 添加蓝拳 ([872771](https://gitee.com/dcalc/dnfcalculating_110/commit/872771063aa51a463cf08aa7d3af7e6108fe669b)) +- 添加血法 ([78c86f](https://gitee.com/dcalc/dnfcalculating_110/commit/78c86f9488592350f79db831828d46e014c9924d)) +- 添加驱魔 ([eabaf2](https://gitee.com/dcalc/dnfcalculating_110/commit/eabaf20e00a2034d28637a2357cca827c0280a77)) +- 详情界面添加技能 CDR 显示(包含技能 CDR、装备 CDR、护石符文 CDR、技能冷却恢复,不包括剩余时间减少) ([293f41](https://gitee.com/dcalc/dnfcalculating_110/commit/293f41b7d391a96da0d7d98ccfe94a8a4b5ff9d9)) +- 逐风者:优化 CP 武器伤害显示 ([8ff3e4](https://gitee.com/dcalc/dnfcalculating_110/commit/8ff3e45645bc2d22f48857f399800910f519f74f)) -- 修正男柔道、剑宗护石数据 -- 修正狂乱之逆转宿命修改神话词条时,力智三攻错位的 BUG -- 部分职业添加护石描述 -- 持续伤害选项细分到 1% -- 修正男女气功幻爆 CD(改为不吃冷却恢复) -- 修复三觉奶系一觉切装无提升仍切装问题 +#### BugFixes -### 2020-8-16 +- 修复武器类型对 CD 的影响 ([bbe71b](https://gitee.com/dcalc/dnfcalculating_110/commit/bbe71bd3384a74d6728e4aaa061d569effdbc40f)) +- 修正军团词条未生效的情况 ([5c7900](https://gitee.com/dcalc/dnfcalculating_110/commit/5c79003e88ef48d3a36205597c605a5b166f0e9f)) +- 修正自定义词条 80 加成错误 ([123b6c](https://gitee.com/dcalc/dnfcalculating_110/commit/123b6c42968a40b233eaea9962c9cd7530c846d8)) +- 修正被动缺失的情况 ([629dad](https://gitee.com/dcalc/dnfcalculating_110/commit/629dadac95ba6f6b6adb3db8d244222dee567307)) +- 决战者:无双突刺佩戴护石异常的情况 ([86694f](https://gitee.com/dcalc/dnfcalculating_110/commit/86694f7a6c2ec4079e53e7b11d1bdd2fa1ad7753)) +- 蓝拳圣使:添加意念驱动 ([1fe193](https://gitee.com/dcalc/dnfcalculating_110/commit/1fe193752a245dee7e88d60823afa83e1d1ea253)) +- 修正词条问题 ([947787](https://gitee.com/dcalc/dnfcalculating_110/commit/9477873d58b211f781227ffe6c064269bb66de7b)) +- 元素爆破师:修复计算问题 ([8a724f](https://gitee.com/dcalc/dnfcalculating_110/commit/8a724f087353db2be2e6d01bd5986bf257dfa356)) +- 柔道家(女):修复螺旋彗星落 MP 及无色消耗 ([9cf813](https://gitee.com/dcalc/dnfcalculating_110/commit/9cf813e5f91f68bb16805e8e924a3d9f0621b51b)) +- 次元行者:修复二觉数据问题 ([9d4bb6](https://gitee.com/dcalc/dnfcalculating_110/commit/9d4bb673d49e6ca4e6fa203a3f7ac9c15284cfa9)) -- 修正黑暗武士符文选择,小(刮痧)技能等级 -- 部分职业新增护石数据 +### 2022.08.05.Beta -### 2020-8-15 +#### NewFeatures -- 修正驱魔巨旋风潜龙加成 -- 部分职业新增护石数据 +- 同步国服体验服机械战神装备 ([0a9cf9](https://gitee.com/dcalc/dnfcalculating_110/commit/0a9cf9fe83b924831af5f2b28e1c39f36b9dc15f)) +- 校对装备名称 ([497662](https://gitee.com/dcalc/dnfcalculating_110/commit/4976623ddac4379ff93d6d7c30be3b23c5403004)) +- 添加对 colg 的流派对接计算 ([8d3082](https://gitee.com/dcalc/dnfcalculating_110/commit/8d308261ebfa9194dee818915478951d09437acc)) +- 添加元素爆破师 ([1e632c](https://gitee.com/dcalc/dnfcalculating_110/commit/1e632cb4c6f8bc3c9885aa470972ee14f37dd3f4)) +- 添加女柔道 ([eedb1a](https://gitee.com/dcalc/dnfcalculating_110/commit/eedb1a9cae4098e258e377eaba25cec185089c17)) +- 添加次元行者 ([c931e1](https://gitee.com/dcalc/dnfcalculating_110/commit/c931e13e4fa7fb9bcf8f46c213ecbc7a7c551e54)) +- 添加男柔道 ([491140](https://gitee.com/dcalc/dnfcalculating_110/commit/4911409ccf9282fe68d436dd96d2c108826b74ff)) +- 添加男气功 ([cb0371](https://gitee.com/dcalc/dnfcalculating_110/commit/cb03711095d3682f224dd524d2f421180e81d01c)) +- 添加风法 ([990ed2](https://gitee.com/dcalc/dnfcalculating_110/commit/990ed2e352ca38f8b7d3889966a4ca44aea391b0)) -### 2020-8-14 +#### BugFixes -- 修正剑魂流星落 -- 修正战法三觉数据(国服韩服取最高值),碎霸数据 +- 修复打造属性排序无效的问题 ([6e6057](https://gitee.com/dcalc/dnfcalculating_110/commit/6e605747683793d035594bef1a27664c27e00219)) +- 修复排行重复的情况 ([da658a](https://gitee.com/dcalc/dnfcalculating_110/commit/da658a6a47d364a8ab6b68a7dd83d39e023231e1)) +- 修复龙神问题 ([106fe5](https://gitee.com/dcalc/dnfcalculating_110/commit/106fe5b4a602f5518446c96eb030e68d9da296da)) +- 修正四维问题 ([81a2d8](https://gitee.com/dcalc/dnfcalculating_110/commit/81a2d8280bc48997c49f081fbf089efdf431009a)) +- 修正自定义词条错误 ([32c7d9](https://gitee.com/dcalc/dnfcalculating_110/commit/32c7d9a86bdcf5e9c184dff59bcb9c7a7051904f)) +- 男大枪:FM92SW 刺弹炮护石无效的情况 ([650ad9](https://gitee.com/dcalc/dnfcalculating_110/commit/650ad960d049ef857001c3913b376f7f12dfbfb2)) +- 药剂结算先后问题 ([418c56](https://gitee.com/dcalc/dnfcalculating_110/commit/418c56b12ec1f54cfd637999b0ff8a01cb3eebca)) -### 2020-8-13 +### 2022.07.25.Beta -- 部分职业新增护石数据 -- 增加女魔法师三觉数据 +#### NewFeatures -### 2020-8-12 +- 添加总词条显示 ([d91f1e](https://gitee.com/dcalc/dnfcalculating_110/commit/d91f1ebdded3b7ee7cda760689ffcc31c93d0a1d)) -- 增加批量调整符文技能及效果:
- 修改 1 号符文技能时,2-9 号符文技能会随之更改
- 修改 2 或 3 号符文技能时,对应的+3+6 号符文技能会随之更改
- 修改 123 号符文效果时,对应的+3+6 号符文效果会随之更改 -- 驱魔修正大风车潜龙加成,修正图标 -- 部分职业新增护石数据 -- 增加召唤三觉数据(实验性) -- BUFF 系:
- 详情页新增称号宠物描述
- 新增护石栏
- 奶萝三觉死命召唤增幅倍率更改,一觉被动增加三攻 -- 三觉奶爸 buff 系数、守护徽章加成更改
- 奶妈三觉&buff 系数更改&圣歌加成更改 +#### BugFixes -### 2020-8-11 +- 修复龙神报错 ([cef4fd](https://gitee.com/dcalc/dnfcalculating_110/commit/cef4fd4a1a9894e2ecf80b6936b4a41c6487257b)) +- 修复奇奇怪怪的 bug ([e4214a](https://gitee.com/dcalc/dnfcalculating_110/commit/e4214a0b11989579137cc1539068d355ba8fc713)) +- 修正部分装备计算时报错 ([bdc687](https://gitee.com/dcalc/dnfcalculating_110/commit/bdc68776212ad02eb2eb78b128ce5f341eaa1a11)) +- 死灵术士:修复巴拉克的野心护石缺失的情况 ([0dd8f4](https://gitee.com/dcalc/dnfcalculating_110/commit/0dd8f4238a2cb8db5133cb69793e396b2defddd0)) +- 首饰附魔缺失修复 ([b2a372](https://gitee.com/dcalc/dnfcalculating_110/commit/b2a37203971fdf54f8ddcee0cb3011c820d94947)) +- 龙神:修复报错 ([31ebdd](https://gitee.com/dcalc/dnfcalculating_110/commit/31ebddf8e9674135932e755104565942eccdb595)) -- 修复无宠物无称号时闪退 -- 增加第三护石栏,神器符文选项 -- 调整希洛克融合装备布局 +### 2022.07.20.Beta -### 2020-8-10 +#### NewFeatures -- 修改计算模式提醒 -- 添加宠物称号描述 +- 添加已消耗 MP 量选择 ([c1d92e](https://gitee.com/dcalc/dnfcalculating_110/commit/c1d92e26530b9f626ee8da741939a704048fb0c2)) +- 添加攻速显示(实验性功能,还没有完全统计) ([dcdc30](https://gitee.com/dcalc/dnfcalculating_110/commit/dcdc3038b47b1e4fb1bb6e03be2bb18d5919a92f)) +- 添加死灵术士 ([c97d88](https://gitee.com/dcalc/dnfcalculating_110/commit/c97d885f1bfaba04bd59eb1605c3576dc8d9a31f)) +- 添加男弹药 ([7023a0](https://gitee.com/dcalc/dnfcalculating_110/commit/7023a0f270af30cb16b014a2d67cae016305430d)) +- 添加龙神 ([fd8895](https://gitee.com/dcalc/dnfcalculating_110/commit/fd8895a5f4c669655ae97c7728f1c5ddc4375345)) +- 词条核对及选项优化,支持自动计算装备赋予的异常属性 ([67d2db](https://gitee.com/dcalc/dnfcalculating_110/commit/67d2dbc68bb8586a125a13d7bc84d2f778335958)) +- 词条颜色区分 ([e6f255](https://gitee.com/dcalc/dnfcalculating_110/commit/e6f25555e8fcf50548941b80078184150e40d954)) -### 2020-8-9 +#### BugFixes -- 优化男弹药-CD 子弹次数计算逻辑 +- 修正奶系词条问题 fixes #I5HUUI ([d7be1e](https://gitee.com/dcalc/dnfcalculating_110/commit/d7be1ef699a0353accacd0b994298dbd97d6d47a)) +- 归元·散打:添加 45 技能 ([a016cd](https://gitee.com/dcalc/dnfcalculating_110/commit/a016cd768e83250cfa1f27b1edb1b551a35e5f56)) +- 归元·气功师(女):修正奔雷掌护石错误 ([a258aa](https://gitee.com/dcalc/dnfcalculating_110/commit/a258aa93fd0275eaed82554a37830e911ceee2f2)) -### 2020-8-8 +### 2022.07.14.Beta -- 修正毒王三觉版本一觉 hit 次数 -- 修正呐喊套速度效果及描述 -- 黑曜神:微调碎灵屠戮数据、连锁共振增加 TP 选项 +#### NewFeatures -### 2020-8-7 +- 优化自动更新 ([8b2998](https://gitee.com/dcalc/dnfcalculating_110/commit/8b29988ea993e02dfd2a86151ee406e2e9c60015)) +- 添加多套计算支持(实验性功能,待优化) ([d0b057](https://gitee.com/dcalc/dnfcalculating_110/commit/d0b0578a11f3f51a0ac9c155deb3e23029c4be81)) +- 添加狩猎者 ([8dcbb7](https://gitee.com/dcalc/dnfcalculating_110/commit/8dcbb7bd389535876ba1fcf792e507e96844d017)) +- 添加男散打 ([975d75](https://gitee.com/dcalc/dnfcalculating_110/commit/975d756ede5108e4627fce480974fa4a58d46623)) +- 添加韩服装备改版词条 ([5860df](https://gitee.com/dcalc/dnfcalculating_110/commit/5860df818056f3e9ac24c8225ed06e1a2459667f)) +- 词条成长等级支持到 Lv80 -- 修正刺客陨落盘子护石 +#### BugFixes -### 2020-8-6 +- 修复白金徽章多一个的 bug ([4ca8c8](https://gitee.com/dcalc/dnfcalculating_110/commit/4ca8c8f73db5a6fbc3f97df55984014dcff607ec)) +- 修正宠物初始附魔错误 ([81e5cc](https://gitee.com/dcalc/dnfcalculating_110/commit/81e5cc62cd593f01de6e2bb55112a6b487bb5eb3)) +- 极诣·暗殿骑士:修正释魂飞弹 TP 问题 ([cdd01e](https://gitee.com/dcalc/dnfcalculating_110/commit/cdd01e2c73cbb74f9075a76fb695affbacd28b38)) +- 气功师·女:修复三觉被动缺失的情况 ([8adcf4](https://gitee.com/dcalc/dnfcalculating_110/commit/8adcf4214e6b94fd88dd8e64b2bd0f0ed831cef5)) -- 修正 BUFF 圣骑士三觉觉醒绑定贴图覆盖 BUG -- 修正补全装备设置的逻辑 +### 2022.07.09.Beta -### 2020-8-4 +#### NewFeatures -- 修正输出系轮回·黑暗幽灵紫杉胸甲套装属性 -- 统一人物基础数据 -- 修正蓝拳破碎之拳护石 CD 问题 -- 校准强化、增幅、锻造等基础函数 +- 对接第三方的自定义词条 ([78826b](https://gitee.com/dcalc/dnfcalculating_110/commit/78826b126d474350d6ce76e896311a730bfbe468)) -### 2020-8-3 +#### BugFixes -- 修正剑魔面板问题 -- 修正剑宗魔剑降临属性切换 BUG +- 修复 mime-type 导致的页面白屏. ([771693](https://gitee.com/dcalc/dnfcalculating_110/commit/771693ba8566b24b1970809ae6bde332f573522a)) +- 阿修罗:增加二觉被动对感电伤害的加成 ([a8a14b](https://gitee.com/dcalc/dnfcalculating_110/commit/a8a14ba18b6a4f6c84190d8b066a045d97fe0db1)) -### 2020-8-2 +### 2022.07.08.Beta -- 复仇恶魔之拳护石修正 -- 湮灭之瞳修正浓缩球护石加成 -- Buff 系装备修正灵宝右槽描述等级问题 +#### NewFeatures -### 2020-8-1 +- 新增无名空岛搭配导入. ([f1321f](https://gitee.com/dcalc/dnfcalculating_110/commit/f1321fab99abf78fda1f0e812151a23f6c8146a7)) +- 根据角色属性进行权重排序 ([1c46a2](https://gitee.com/dcalc/dnfcalculating_110/commit/1c46a275e6201593c577dc54f827a75a39179787)) +- 添加夏日礼包相关 ([c7b308](https://gitee.com/dcalc/dnfcalculating_110/commit/c7b308f99aafeaa8179f22e9b005c3d3cfc7a9b0)) +- 添加女气功 ([0186e4](https://gitee.com/dcalc/dnfcalculating_110/commit/0186e44afed6e5467ab7aaf6eebca93f04e25c6a)) +- 添加帕拉丁 ([63e5a4](https://gitee.com/dcalc/dnfcalculating_110/commit/63e5a461e0e31592c1c54004ade086b8488be6d5)) +- 添加技能快捷键 ([dd3851](https://gitee.com/dcalc/dnfcalculating_110/commit/dd38514b185e045d20f2dd5c164f9d543a30df42)) +- 添加暗殿骑士 ([08713a](https://gitee.com/dcalc/dnfcalculating_110/commit/08713a7282d1f239aea1e9a286ecaf6cbe33e7d2)) +- 添加自选属性显示 ([38532f](https://gitee.com/dcalc/dnfcalculating_110/commit/38532f0dbb16b1f450799b6ddf0b5ec96d1c6d25)) +- 添加药剂 ([1b51c5](https://gitee.com/dcalc/dnfcalculating_110/commit/1b51c50c4bfc64b7bdb9c047e3fa3755d1c3f3bb)) +- 添加药剂 ([c5dc64](https://gitee.com/dcalc/dnfcalculating_110/commit/c5dc64c1351d04907529304dc5ff59e9b8f89076)) +- 自选史诗重构 ([1db248](https://gitee.com/dcalc/dnfcalculating_110/commit/1db248aaa57d5245dc692349f2469830c3e4e4ac)) +- 自选页面重构 ([48bc4d](https://gitee.com/dcalc/dnfcalculating_110/commit/48bc4d08dd73ba2010accb3b346d1839724d6f3f)) -- 男漫游增加烟尘弹 -- 幽冥八荒护石倍率修正 +#### BugFixes -### 2020-7-31 +- 修复了奶萝偏爱等级为 0 时依然适用偏爱的 bug ([b39177](https://gitee.com/dcalc/dnfcalculating_110/commit/b39177b37d6d4a7f8427351872fe88f52f64fdc0)) +- 修正 mp 鞋、低血裤子的条件判断,hp、mp 选择范围默认为 90%以上 ([a67095](https://gitee.com/dcalc/dnfcalculating_110/commit/a67095eab2adf6acd330408c466376a4c1aff916)) +- 修正奶爸、奶妈 BUFF 基础 ([32707d](https://gitee.com/dcalc/dnfcalculating_110/commit/32707df005d08a7df4ad347d545449c0f69d8f10)) +- 修正部分装备名称 ([d0b6ff](https://gitee.com/dcalc/dnfcalculating_110/commit/d0b6ff09a19061fc7f206444fa901253f5282fc3)) +- 修正部分词条错误 ([62995d](https://gitee.com/dcalc/dnfcalculating_110/commit/62995d6bf99918eb548f8359f9151ab89f172f86)) +- 战斗·神启·圣骑士:修正圣光十字对神罚之锤加成问题 ([c8be27](https://gitee.com/dcalc/dnfcalculating_110/commit/c8be272349ac2a2522b4ad018ced40fc092861b1)) +- 战斗法师:添加[炫纹簇],修正[炫纹之源:太古神光]数据问题 ([0ab16a](https://gitee.com/dcalc/dnfcalculating_110/commit/0ab16aececb9610adc9645396234d7e1b078d971)) +- 部分词条问题修正 ([ffcefc](https://gitee.com/dcalc/dnfcalculating_110/commit/ffcefc90dd62bd113578cc77ef74414310807f5b)) +- 阿修罗:修正部分伤害异常的情况 ([2c9a92](https://gitee.com/dcalc/dnfcalculating_110/commit/2c9a9224ec88b703b62b39e1faefa2bad292bf1c)) -- 增加单件模式空缺部位补位(补位装备来自第五页选项),配置文件修改补位模式 -- 修正一键全选按钮逻辑(重复点击会在是否包含神话间切换) -- 修正暗帝释魂飞弹 CD -- 校准忍者,死灵,幽冥护石数据 +### 2022.07.01.Beta -### 2020-7-30 +#### NewFeatures -- 修正自适应红色宠物装备算法 -- 校准剑宗,暗帝技能数据 -- 删除辟邪玉 BUG 算法 -- 修正男弹药交叉射击数据 -- 修正不灭战神面板显示 BUG,缔造者无法计算 BUG +- 支持右键脱下装备 ([87b428](https://gitee.com/dcalc/dnfcalculating_110/commit/87b428c6d1a2ec1cbb55ea5bdd20d90dd0f2a2bb)) +- 添加审判 ([556904](https://gitee.com/dcalc/dnfcalculating_110/commit/556904bd6c9769b201a7e65ed778f0e1cda23bf4)) +- 词条颜色区分 ([7e6355](https://gitee.com/dcalc/dnfcalculating_110/commit/7e6355b0220f9fa0712b40ab7b77d183e52bc4cc)) -### 2020-7-29 +#### BugFixes -- 校准牡丹凝固汽油弹、重力雷攻击次数 -- 修正技攻辟邪玉对等级技能攻击力的加成 -- 救世主技能增加段数选项,增加一觉 CD 选项 -- 新增(输出系)切装补正 -- BUFF 系增加排行系数选项(提升率-站街面板-力智-三攻) -- 删除男枪二觉,修正男枪三觉技能名称 -- 校准剑魔技能数据 +- 修正战法部分技能伤害异常的问题 ([4b6f0b](https://gitee.com/dcalc/dnfcalculating_110/commit/4b6f0b39f0e182e4830a4fefe20d91f3d5600ced)) +- 修正融化黑暗之温暖属性计算错误
+- 修正装扮部分徽章未生效的情况 fixes #I5EYR3 ([1e3d2c](https://gitee.com/dcalc/dnfcalculating_110/commit/1e3d2c262a63eaa78eaa0f7e3448bb75941748fe)) +- 修正详情打开报错的情况 ([3f4e28](https://gitee.com/dcalc/dnfcalculating_110/commit/3f4e28d85c99ec8d3632e11af0f6e90b826203ac)) +- 修正详情界面百分比显示问题 ([695c9f](https://gitee.com/dcalc/dnfcalculating_110/commit/695c9fe856eaa0548e7f389ae977f0f6cc79c162)) +- 修正部分词条异常 ([c2856c](https://gitee.com/dcalc/dnfcalculating_110/commit/c2856c99f808bf53d89e4af9b0d922d162e47cee)) +- 修正附魔套首饰基础属性错误 ([61a650](https://gitee.com/dcalc/dnfcalculating_110/commit/61a650cd57e673a5cc03c21fe277999b7e581062)) +- 女漫游:修复双鹰回旋无色及 MP fixes #I5EYRG ([c2569b](https://gitee.com/dcalc/dnfcalculating_110/commit/c2569b8e335b41fd62abc42815fd16809ce0c8af)) +- 女漫游:修正[死亡锁链]学习间隔 ([b412d4](https://gitee.com/dcalc/dnfcalculating_110/commit/b412d4b309c6bf184851adf6c8197e1eaaab6d9c)) +- 阿修罗:修正[天雷·降魔杵]无色消耗及 MP 问题 ([bae428](https://gitee.com/dcalc/dnfcalculating_110/commit/bae4282a85617cf7b5b6f9a1a5f0f772424d425e)) -### 2020-7-28 +### 2022.06.29.Beta -- 修正剑豪详情界面无法打开的 BUG -- 输出系列增加切装功能,第五页打勾的装备将适用于第二页打勾技能
- (如女大枪勾选绝杀炮,勾选二觉,即使穿戴激光,二觉也将按照绝杀属性计算) -- 修正刺客 70 护石无法计算的 BUG -- 由于增加切装技能勾选,调整各职业第二页选项位置(右移 10px) -- 修正 BUFF 系千链万化战甲神话属性范围选择和描述 -- 驱魔一觉被动修正及潜龙说明 -- 修正奶妈奶萝 28 级太阳数值 -- 修正太刀剑魂切装计算排行显示 BUG -- 修正切装武器时,武器类型未改变的 BUG -- (输出系)默认未开启切装功能,有需求的修改配置文件 -- 修正黑暗武士远古记忆加成异常 BUG,攻击类型选择 BUG +#### NewFeatures -### 2020-7-27 +- 添加刃影 ([984ccf](https://gitee.com/dcalc/dnfcalculating_110/commit/984ccf1e8b7fff92663b9c82ffd9ecf189511cb8)) +- 添加巫女 ([c6e4a6](https://gitee.com/dcalc/dnfcalculating_110/commit/c6e4a658c2591208112fbe1c32efbfd9b6c05cf6)) +- 添加战法 ([b85adf](https://gitee.com/dcalc/dnfcalculating_110/commit/b85adfb546eb2e14fe55a915243a913392f815d5)) +- 添加男大枪 ([56a44b](https://gitee.com/dcalc/dnfcalculating_110/commit/56a44b8d7093e7f719bad01e93a9fdf3bbf8804b)) +- 添加奶系 -- 修正影舞一觉 BUFF 使匕首精通等级超上限的 BUG -- 修正部分技能描述 -- 魔皇添加了地火 hit 选项 修改改默认连招,加了几个刮痧小招 -- 修正元素远古记忆未生效 BUG,CD 计算 BUG -- 校准部分职业(剑魂狂战剑豪刺客牡丹)技能数据,补全部分描述 +#### BugFixes -### 2020-7-26 +- 修复选择称号宠物导致 240 词条技攻无效的问题 ([4979d1](https://gitee.com/dcalc/dnfcalculating_110/commit/4979d10fc0242653a1fa8dadc0a17b75b8f32eb6)) +- 固定攻击方等级对减伤的影响 ([5a4d43](https://gitee.com/dcalc/dnfcalculating_110/commit/5a4d43477695642c560aaa82fe03fc3cfe84d2a5)) +- 缔造低阶技能 TP 修改 ([59f445](https://gitee.com/dcalc/dnfcalculating_110/commit/59f4451a65991255d454d357f2774ac99f7f8a63)) +- 词条校对修改 ([179cdc](https://gitee.com/dcalc/dnfcalculating_110/commit/179cdc60ad5092db9efb71e5d979a5ab03920679)) +- 词条问题修复 ([a35d94](https://gitee.com/dcalc/dnfcalculating_110/commit/a35d94e67db5718d2bf580c5363231900e6e14b7)) +- 阿修罗:修复切换到闪枪无法计算的情况 ([377bc0](https://gitee.com/dcalc/dnfcalculating_110/commit/377bc0ebb30a8f48da5fe05617c829e604196589)) -- 修正狂战鲜血暴掠技能百分比 -- 鬼泣暗月降临显示等级 -- 增加详情界面部分技能描述 -- 修正详情界面增幅数值异常 -- BUFF 系增加对比显示,第五页增加一键修正,增加装备属性显示 -- BUFF 系增加等级溢出提醒,修正部分装备描述 -- 统一职业名称(混沌魔灵 → 黑曜神) +### 2022.06.22.Beta -### 2020-7-25 +#### NewFeatures -- 第五页增加批量选择改造套装(85SS+改造)选项 -- 优化第五页计算逻辑,第五页显示装备属性 -- 增加装备对比显示,需要在第五页设置-清空基准值 -- 修正龙神飞龙斩护石加成 +- 修正成长词条公式 By 🐎 ([af0dc6](https://gitee.com/dcalc/dnfcalculating_110/commit/af0dc67e05c03c883c2e81b177349483437ad48f)) +- 新增队列技能形态切换 ([04580a](https://gitee.com/dcalc/dnfcalculating_110/commit/04580ae3380b5019b408c3f0f892d82d0d8638b6)) +- 添加冰结师 ([91fe7b](https://gitee.com/dcalc/dnfcalculating_110/commit/91fe7b22880b16ce733168d6796b76ec75545d2c)) +- 添加剑影 ([edcf65](https://gitee.com/dcalc/dnfcalculating_110/commit/edcf654833b2a6ea3cbb8c5e7be792953c3a82d6)) +- 添加剑魔 ([676494](https://gitee.com/dcalc/dnfcalculating_110/commit/6764945b56ce16e549a5058a0aaa679b3317192b)) +- 添加暗刃 ([8af0c3](https://gitee.com/dcalc/dnfcalculating_110/commit/8af0c3b7fdadb9496d8d86c50df1372b35f7c065)) +- 添加阿修罗 ([b6e660](https://gitee.com/dcalc/dnfcalculating_110/commit/b6e6605537b8bd86bc0be63b61a8044eb7bc9240)) -### 2020-7-24 +#### BugFixes -- 修正 100 传说套装在未佩戴上衣耳环手镯时的装备属性和描述 -- 修正手搓上衣描述 -- 修正混沌魔灵 60 技能 CP 数据 -- 增加第二页选项自动保存 -- 修正部分装备描述,修正 85SS 转甲后的基础属性 -- 修正排行界面等级溢出显示(白金时装未选择溢出技能时按钮不会变红) -- 统一了各职业名称,改动职业本地存档(set 文件夹)需要手动复制继承 -- 修正完美掌控装备属性和描述 - -### 2020-7-23 - -- 修正次元数据: - 技能数据全部更换为数组
- 修正了二觉攻击次数
- 添加了是否取消次元:思维聚爆持续伤害的选项
- 添加了护石的 CD 缩减数据
- 现在是否强化次元:粒子风暴的选项会受到护石选择的影响了
- 调整了技能顺序,现在按照等级从低到高排列
- 使用了更极限的技能模板 -- 修正部分职业技能数据 -- 修正暗之腐蚀套装属性描述 -- 修正剑宗 CD(取消一觉 CD 默认生效) -- 修正驱魔落雷符 CD -- 修正元素,魔灵,暗枪人物基础 - -### 2020-7-22 - -- 修正奶爸圣光十字等级上限 -- 校准部分职业技能数据,忍者二觉、八岐大蛇修正数据,螺旋手里剑等级修复,删除碎踝技能,默认加点调整。 - -### 2020-7-21 - -- 修正复仇镰刀武器 CD 以及恶魔诅咒所在技能等级 -- 修复 set、ini 编码格式被记事本篡改后无法读取导致程序无法打开的 BUG - (默认为 utf-8,部分系统记事本保存时会修改为 ANSI-gbk) -- 修正阿修罗符文技能选项 - -### 2020-7-20 - -- 复现游戏内辟邪玉计算方式(含 BUG),可在配置文件中修改 -- 修复佩戴属强辟邪玉时一键属强修正算法 -- 修正自选界面超界装备无法计算的 BUG -- 称号附魔增加 Lv1-35 选项 -- 修正黄字取整时由于浮点数问题有概率丢失 1%黄字的 BUG - -### 2020-7-19 - -- 修正二觉召唤兽数据(修改为受歧路腰带加成) -- 修正武神及三觉武神技能数据 -- 校准男机械二觉数据,增加技能演出时间(用于计算-cd 次数) -- 修正刺客陨落螺旋刺、旋刃冲击护石加成 -- 修正女漫游默认配置,修正锁链切割被动倍率 -- 修正 BUFF 系时空传说属性 - -### 2020-7-18 - -- 新增 BUFF 系装备描述 -- 修正 BUFF 系传说的装备属性和套装效果 - -### 2020-7-17 - -- 修正男街霸 95 主动的百分比 毒针和二觉被动的基础等级 -- 增加解压不完整提醒,打开设置文件按钮 -- 去除魔灵连锁共振等级溢出提醒 -- 新增女柔道 武神 三觉数据 -- 修正毒王毒伤丢失补正算法 - -### 2020-7-16 - -- 增加光环 BUFF 选项 -- 修正轮回首饰特殊的改造属性 -- 修正过往时光的轮回改造属性生效条件 -- 修正魔战战术兵法等级提升时的精通数值 -- 优化详情页显示 - -### 2020-7-15 - -- 修正男弹药子弹次数为 0 时无法计算的 BUG -- 修正召唤(花)技能数据 -- 增加韩服面板选项 -- 修正 100 传说无法计算的 BUG,优化显示 -- 添加排行界面等级溢出组合提醒 - -### 2020-7-14 - -- 添加装备属性显示(鼠标悬停在装备或套装名称上会有悬浮窗显示),显示会受到装备条件选项影响,以详情界面显示的为准 -- 修正女柔道死亡摇篮技能数据 -- 修正元素技能演出时间 -- 修正男街霸霸王拳毒针毒瓶数据 -- 修正驱魔落雷符 CD - -### 2020-7-13 - -- 修正元素技能-cd 算法 -- 修正召唤秒伤计算方式 -- 优化输出界面 CD 缩减显示 -- 添加剑宗太刀和一觉 CD 缩减 -- 修正鲜红血纹皮甲胸铠装备属性 -- 校准鬼泣部分技能数据 - -### 2020-7-12 - -- 新增血法 -- 补齐带智慧产物的 85SS,以及感染者臂章(仅毒王生效) -- 优化计算效率(减少多进程间排行队列数据传输) -- 配置文件(、-ResourceFiles-set、ini)可修改 85SS 属性,控制普雷武器是否在第一页显示 -- 增加 85SS 转甲选项按钮(默认勾选) -- 修正女柔道数据,增加一觉选项 -- 修正缔造数据 -- 新增 100 传说防具首饰特殊和武器 -- 新增男街霸 -- 修复鬼泣刀阵选项 BUG,鬼斩伤害 - -### 2020-7-11 - -- 新增刺客 -- 修复黑暗武士一键修正面板 BUG -- 修正审判忏悔之锤 CD -- 修正刺客符文收招加成,死亡风暴数据 -- 新增 95-85SS(部分,等待后续完善)和智慧产物 -- 修正短剑剑宗奥义伤害、显示和冰刀三绝斩选择范围 -- 第五页增加一键修正选项 -- BUFF 系增加魔王契约选项 -- 三觉职业三觉次数输入为 0 时能同时显示一二觉伤害 - -### 2020-7-10 - -- 修正屠戮之魂(光枪)人物基础 -- 修正剑魔唤魔蛇腹剑被动数据(原本多算了\*5%) -- 新增江山,万物及其智慧产物 -- 增加一键调整强化增幅按钮 -- 新增禁用自动存档选项 - -### 2020-7-9 - -- 新增女柔道(待测试) -- 修正 BUFF 系神话上衣面板 BUG(7.7-7.8 中存在) -- 黑骑护甲选项会保存 -- 修正自选攻击属性计算时属性白字实际白字显示错误问题 -- 增加配置文件,自选设置[调试开关][输出数据][武器排名][怪物属性] -- 修正蓝拳三觉 95、100 技能百分比(除 1.1) -- 修正黑武自我觉醒图标 -- 新增红色宠物装备自适应选项(8 白字,7 黄字,7 力智取最高值) - -### 2020-7-8 - -- 修正奶爸三觉被动图标 -- BUFF 系新增一键修正,希洛克融合(卢克西和非板甲下装属性不明未计算) -- 冰结更新冰针显示,人物图以及默认连招 -- BUFF 系修正装备属性计算神话体精差值,希洛克板甲腿 2 词条修改为一觉力智+2% -- BUFF 系修正歧路鞋对护石 buff 力智加成 - -### 2020-7-7 - -- BUFF 系增加第五页,优化显示 -- BUFF 系增加新改造传说套装和超界普雷 -- BUFF 系模特默认修改为(5000 力 3000(基础)三攻),可以在第二页自行调整 -- 取消高 DPI(windows 缩放与布局 150%或以上)时的默认缩放,需要缩放的自行找到、-ResourceFiles-set、ini 记事本打开设置窗口显示为 1 -- 修正完美掌控(智慧产物头肩)的属性 -- 优化女弹药子弹-CD 次数算法 -- 剑宗添加钝器太刀短剑算法 - -### 2020-7-6 - -- 新增团长 -- 补充完全所有智慧产物武器 -- 希洛克融合选择移动到第二页 -- 优化远古记忆和红阵显示 -- 统一输出界面显示 -- 修正男柔道修正武莲华,地狱风火轮,裂石破天数据 -- 剑影优化一觉数据,更新默认连招 - -### 2020-7-5 - -- 新增关羽 -- 修正召唤部分召唤兽期望 -- 修正念珠(轮回之环:桓龙)未加成驱魔三觉技能 -- 修正剑魂红阵技能等级随装备变化 -- 新增禁用国服特色等级(防具 3 宝珠+称号宝珠+光环&宠物的技能等级) -- 修正男气功默认连招 -- 优化单件模式计算效率 -- 修正战法碎霸技能数据 - -### 2020-7-4 - -- 将红阵远古记忆独立出来等级随装备变化(无需填写进图修正) -- 新增死灵 -- 修正杀戮乱舞护石倍率 -- 新增赵云,暗枪,黑武(待完善),缔造(待完善) -- 战法炫纹改为个数,修正使徒之舞数据 -- 新增召唤 -- 修正三觉审判技能数据(45,95) - -### 2020-7-3 - -- 修正部分职业无法计算智慧产物武器 BUG -- 修正狂战修罗剑魂剑魔蓝拳男气功默认连招 -- 修正战法普通攻击 -- 修正无组合时计算界面卡死的问题 -- 恢复 BUFF 神思者三觉切装,优化切装显示 -- 修正剑影默认技能等级(60、70 技能) -- 添加奶系职业切装(散搭 3332 切 1 件,双防具 3233 切 1-2 件) -- 增加勾选神话排名选项时点计算判定(未勾选神话装备时不让计算) -- 剑魂增加太刀刺伤浮动倍率 -- 新增混沌行者 - -### 2020-7-2 - -- 解决计算时主界面卡死的问题,并显示计算完成数 -- 头肩技能选项添加 Lv1-35(主动) -- 战法新增普通攻击 -- BUFF 神思者三觉数据修正(不是固定 10%-25%) -- 新增圣职者智慧产物武器 -- 修正男女弹药属强选择计算 BUG - -### 2020-7-1 - -- 优化选择界面 -- 修正剑宗面板算法 -- 修正蓝拳武器 CD -- 调整各职业背景图尺寸 -- 新增战法 -- 新增蓝拳复仇三觉数据 -- 修正剑影暗帝武器 CD -- 新增驱魔审判三觉数据 -- 新增源能专家,修正暗刃二觉 CD -- 新增 BUFF 神思者三觉数据 - -### 2020-6-30 - -- 修正血腥红宝石之眼(苦无)对八歧大蛇的等级加成 -- 修正部分职业(如剑魂)一键修正算法 - -### 2020-6-29 - -- 魔道数据微调校准 -- 武神数据微调校准 -- 奶萝基础和转职被动(人偶操纵者)校准,死命召唤分开显示 -- 增加 100 级传说防具首饰特殊 +- 修复红紫绿符文效果有误的问题 ([bdb1ec](https://gitee.com/dcalc/dnfcalculating_110/commit/bdb1ecbb984b069d7b1c76183560b99b765e7682)) diff --git a/docs/COMMENT.md b/docs/COMMENT.md index 7b996dff..9ebc5356 100644 --- a/docs/COMMENT.md +++ b/docs/COMMENT.md @@ -1,7 +1,5 @@ -## 留言板 - -和计算器相关的 BUG、意见可在此处反馈 - -## 其余途径 - -- [码云](https://gitee.com/i_melon/DNFCalculating/issues) +## BUG 反馈 + +和计算器相关的 BUG、意见可点击下方反馈 + +- [码云](https://gitee.com/dcalc/dnfcalculating_110/issues) diff --git a/docs/CONTRIBUTERS.md b/docs/CONTRIBUTERS.md index 154f3c41..477974ef 100644 --- a/docs/CONTRIBUTERS.md +++ b/docs/CONTRIBUTERS.md @@ -1,9 +1,9 @@ -## 主体维护人员 - -纸飞机、西瓜 °、fzls、SCUDRT、知月、Umi
- -## 参与制作人员 - -`以下排名以首字母排序,不分先后`
- -🐎,777,Garson,Kaito,Leisa,Lizzy 荔枝贝壳喵,Paxis,阿武,爱敏,熬夜砍树,贰肆,疯,共产主义战士,海豹,韩械,机枪哥,极脂の魔道,绝唱唱,卡通,乐于驴,龙卷风,莫方,墨羽狼,幕城,平静,千景,一定要玩混沌魔灵,浅笑,球,时光,时雨,碳末,天府星,洗具,小一,轩轩,雪露,雅男,亚索,一 ye 遮天,真奥 +## 主体维护人员 + +✈(纸飞机)、🍉(西瓜)、🌙(知月)、🍋(冰柠檬)、🗿(礁石) + +## 参与制作人员 + + + +🐎(阿马先生)、🐱(肥猫池塘)、🦆(魔灵)、❄(平静)、🤺(亚索)、Umi(🦈) diff --git a/docs/HTMLSet/coverpage.md b/docs/HTMLSet/coverpage.md index 2ed9dcd8..2113e2ea 100644 --- a/docs/HTMLSet/coverpage.md +++ b/docs/HTMLSet/coverpage.md @@ -1,15 +1,31 @@ ![avatar](img\logo.ico) -# DNF 计算器 +# DNF 计算器 2024.09.06 -> 为 DNF 装备搭配及伤害计算提供便利的工具 +> sponsored by Colg -- python(3.8)编写,使用 pyqt5(5.14.2) 图形 GUI 库 -- 主框架由纸飞机实现 -- 仅支持 PC 端使用 +> 为 DNF 装备搭配及伤害计算提供便利的免费工具 -[软件介绍](USERMANUAL) -[相关源码](https://github.com/wxh0402/DNFCalculating) -[下载链接](https://wwx.lanzoui.com/b01bfj76f) +
- + [说明书](USERMANUAL) + [网页版](https://dcalc.dnftools.com/) + [桌面版](https://wwn.lanzout.com/s/dcalc) + [小程序](WX) + +
+ + diff --git a/docs/HTMLSet/sidebar.md b/docs/HTMLSet/sidebar.md index 8f18ace3..947e9971 100644 --- a/docs/HTMLSet/sidebar.md +++ b/docs/HTMLSet/sidebar.md @@ -1,12 +1,17 @@ +- **计算器版本** +- [桌面版](https://wwn.lanzout.com/s/dcalc) +- [网页版](https://dcalc.dnftools.com/) +- [微信小程序版](wx.md) - **指南** -- [使用说明](USERMANUAL.md) -- [更新日志](CHANGELOG.md) +- [使用说明](usermanual.md) +- [更新日志](changelog.md) - **维护** -- [Git Code](README.md) -- [Contributors](CONTRIBUTERS.md) +- [Git Code](readme.md) +- [Contributors](contributers.md) - **其他** -- [反馈](COMMENT.md) +- [反馈](comment.md) - **友情链接** -- [下载链接](https://wwx.lanzoui.com/b01bfj76f) -- [源码](https://gitee.com/i_melon/DNFCalculating) - +- [下载链接](https://wwn.lanzout.com/s/dcalc) +- [源码](https://gitee.com/dcalc/dnfcalculating_110) +- [Colg](https://bbs.colg.cn/) +- [无名空岛](https://www.skycity.top?from=calc) diff --git a/docs/README.md b/docs/README.md index df8ad1b5..19d2076e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,127 +1,6 @@ -## 简介 - -此项目为 DNF 装备搭配及伤害计算提供便利的工具 -执行程序下载:https://wwx.lanzoui.com/b01bfj76f 或 https://www.lanzoui.com/b01bfj76f -python(3.8)编写,使用 pyqt5 图形 GUI 库 -主框架由纸飞机实现,西瓜协助修改,SCUDRT 对算法进行优化修改,风之凌殇添加多进程优化 - -## 依赖安装 - -安装[Python](https://www.python.org/),计算器开发使用的是 3.8 版本 -安装项目依赖 - -## 其余注意 - -择优相关加速,需自行将 PublicReference/preferred 的 C++ 的程序需要自己编译为 DLL 然后放到 InternalFile/DLL 目录 - -> pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt - - - -## macOS 下运行方式 - -        直接在`Finder`中双击`run_mac.command`即可运行。 - -        或者在`终端(Terminal)`中,执行命令`python3.8 main.py`即可运行。 - -## 程序结构 - -|--  DNFCalculating -    |--  .gitignore -    |--  .gitmodules -    |--  .editorconfig -    |--  run_mac.command:macOS 下运行脚本 -    |--  CHANGELOG.md:程序更新记录 -    |--  LICENSE:开源许可 -    |--  main.py:程序主入口 -    |--  README.md:程序说明 -    |--  requirements.txt:项目依赖包 -    |--  Characters:职业实现目录 -    |--  PublicReference:公有引用方法 -    |   |--  base.py:输出职业公有实现方法 -    |   |--  base_buff.py:奶系职业公有实现方法 -    |   |--  buff_panel.py:奶系切装功能实现 -    |   |--  common.py:界面公有实现方法 -    |   |--  \_\_init\_\_.py:初始化文件,启用多线程及日志记录 -    |   |--  choise:选项设置 -    |   |   |-- 细节选项.py -    |   |   |-- 选项设置.py -    |   |   |-- 选项设置\_buff.py -    |   |--  equipment:装备设置 -    |   |   |--  basic_equ.py:装备公有类 -    |   |   |--  equ_list.py:装备列表 -    |   |   |-- 基础函数.py:各类隐藏基础公式 -    |   |   |-- 宠物.py -    |   |   |-- 宠物\_buff.py -    |   |   |-- 武器融合.py -    |   |   |-- 武器融合\_buff.py -    |   |   |-- 称号.py -    |   |   |-- 称号\_buff.py -    |   |   |-- 装备\_套装.py -    |   |   |-- 装备\_武器.py -    |   |   |-- 装备\_特殊.py -    |   |   |-- 装备\_防具.py -    |   |   |-- 装备\_首饰.py -    |   |   |-- 辟邪玉.py -    |   |   |-- 辟邪玉\_buff.py -    |   |   |-- 融合\_奥兹玛.py -    |   |   |-- 融合\_希洛克.py -    |   |--  preferred:择优 DLL 源码,需自行编译 -    |   |--  views:界面扩展类 -    |   |--  utils:工具类 -    |       |--  calc_core.py:装备寻优 -    |       |--  common.py:格式化时间 -    |       |--  config.py:配置读取 -    |       |--  constant.py:常量 -    |       |--  copy.py:深度拷贝 -    |       |--  img.py:常量图片 -    |       |--  MainWindow.py:自定义窗口 -    |       |--  minheap.py:最小堆排序 -    |       |--  producer_consumer.py:多进程 -    |       |--  TitleBar.py:自定义标题栏 -    |       |--  zipfile.py:压缩文件 -    |       |--  storex.py:存储数据,组件间通信 -    |       |--  LZextends.py:蓝奏云扩展 -    |--  ResourceFiles:资源文件夹 -    |   |-- 职业文件夹 -    |   |   |--  bg.jpg:背景图 -    |   |   |-- 人物.png:详情界面人物图 -    |   |   |--  reset:默认配置文件夹 -    |   |   |   |--  char.json:职业特有选项存档 -    |   |   |   |--  page_1.json:第一页选项存档 -    |   |   |   |--  page_2.json:第二页选项存档 -    |   |   |   |--  page_3.json:第三页选项存档 -    |   |   |   |--  page_4.json:第四页选项存档 -    |   |   |   |--  page_5.json:第五页选项存档 -    |   |   |   |--  page_6.json:第六页选项存档 -    |   |   |-- 技能:技能图标文件夹 -    |   |--  Config:配置文件夹 -    |   |   |-- 基础设置.ini -    |   |   |-- 攻击目标.ini -    |   |   |--  adventure_info.json:加载职业配置 -    |   |   |--  config.json:配置选项文件 -    |   |   |--  release_version.json:计算器版本 -    |   |--  img:公有图片 -    |   |   |--  logo.ico -    |   |   |-- 刀魂之卡赞.png -    |   |   |-- 觉醒选择.png -    |   |   |-- 输出背景.png -    |   |   |-- 输出背景\_BUFF.png -    |   |   |-- 远古记忆.png -    |   |   |-- 分类 -    |   |   |-- 头像 -    |   |   |-- 希洛克 -    |   |   |-- 装备 -    |   |--  Skins:计算器皮肤包 -    |--  Tools -        |-- 图标去白点.py -        |-- 神话融合图标拼接.py +## 简介 + +此项目为 DNF 装备搭配及伤害计算提供便利的工具 +执行程序下载:https://wwn.lanzout.com/s/dcalc +web:vue3+TS+electron+vite api:python+FastAPI
参考项目:https://github.com/caoxiemeihao/electron-vue-vite
使用拖拽组件:https://github.com/SortableJS/vue.draggable.next
+ diff --git a/docs/USERMANUAL.md b/docs/USERMANUAL.md index f55d237a..382521f6 100644 --- a/docs/USERMANUAL.md +++ b/docs/USERMANUAL.md @@ -1,241 +1,171 @@ -## 软件简介 - -![打开界面](img/使用-2.png "打开界面") - -![详情界面](img/简介-1.png "详情界面") - -本软件为 DNF 相关的计算器,供玩家进行搭配装备及伤害计算等各方面使用
-主体功能包含:装备择优、打桩伤害计算、光环|宠物装备|希洛克词条择优、辟邪玉计算、切装计算等
-目前计算器已涵盖所有的职业,同时对韩服特有的部分职业平衡进行了前瞻性更新
- -## 开始使用 - -下载路径: https://wwx.lanzous.com/b01bfj76f 或 https://pan.lanzou.com/b01bfj76f
-![压缩包](img/使用-1.png "压缩包") - -下载网盘中最新程序`DNF计算器XX.XX.zip`并完整解压,ResourceFiles 为资源文件,包含贴图及配置文件
-更新时仅需将压缩包完整解压出来并且覆盖(提示时点击替换)旧版文件即可,旧版设置的配置文件会被保留
- -## 合规性校验 - -![程序是否合规](img/证书校验.png "程序是否合规") - -正规途径下载的计算器,右键 exe 程序的属性,可在数字签名中查看到第三方机构认证颁发的代码签名
- -!> 使用前请确保数字签名存在且与说明书中一致
如无数字签名,则程序可能为第三方修改后的打包版本,请谨慎使用
- -### 常见问题 - -- 蓝奏云无法打开
- 修改 DNS 服务器地址,首选 114.114.114.114,备用 8.8.8.8
- ![修改DNS](img/使用-3.png "修改DNS") - -- 提示解压问题
- ![解压问题](img/使用-4.png "解压问题") - -!> 请勿直接在 zip 内打开 exe 执行程序或只解压 exe 程序,exe 程序需要与 ResourceFiles 在同级目录下
- -- 软件打开报错,可在 https://wwx.lanzoui.com/b01bwta9i 下载系统补丁解决
- - - failed to execute script - - 计算机中丢失 api-ms-win-crt-runtime-l1-1-0.dll - -- Failed to execute script pyi_rth_certifi 可按照以下方式解决
- - - 百度 openssl.light 安装 - - 安装https://chocolatey.org/install,然后执行命令choco install openssl.light - -## 设置 - -![设置入口](img/设置-1.png "设置入口") - -![设置](img/设置-2.png "设置详情") - -该窗口下,用户可以对计算器的部分功能进行个性化设置,常见的有:开关输出系切装、控制窗口缩放、切换计算器皮肤、停启用自动更新、控制三觉屏蔽选项等
- -设置选项修改后,需要重启计算器才能生效
- -## 装备/选择/打造 - -![装备设置](img/装备-1.png "装备设置") -该页面下可选择自身以有的装备、称号、宠物,同时选择装备触发、选择特色装备的择优等
- -### 一键修正 - -在玩家选择完所穿戴装备,初步调整打造情况(增幅、时装、宠物)后,可使用一件修正面板细节功能,输入角色站街力智、三攻、属强修正角色面板数据
- -!> 该功能仅在选择单套装备的情况下生效
-如玩家穿戴了部分影响站街属性的辟邪玉(属强、加成影响站街数据技能的等级等)
-或影响站街属性的白金、时装上衣等级等,需在[辟邪玉/希洛克/黑鸦/奥兹玛]、[基础/细节/修正]进行修正
- -### 装备触发 - -部分装备及伤害词条存在不同的触发情况,需要玩家在计算前选择对应的属性
-如手搓、777、军神等各种会触发不同属性的装备,不同的选择下会对应不同的计算结果
-较为特殊的是,`持续伤害词条`也需要调整对应的计算比例,默认为 100%,计算器目前无法做到技能队列排列,需自行预估适用比例(影响范围较小)
- -### 计算模式 - -出于计算时间考虑,计算器设置了三种后台计算模式
- -- 急速模式:计算 533 搭配、3332(散搭)搭配,智慧产物相关防具、首饰、特殊不纳入计算 -- 套装模式:计算 533 搭配、3332(散搭)搭配、3332(防具 3+2)搭配,智慧产物相关防具、首饰、特殊不纳入计算 -- 单件模式:计算所有组合,不包含百变怪 - -注:选项中的组合数为预估值,不代表实际计算组合
-计算占用进程数默认为电脑 CPU 的逻辑核心数,选择最大值时速度最快,但是 CPU 占用会达到 100%(计算时会造成游戏卡顿),为了避免影响电脑性能,可适当降低计算器占用核心数
- -计算速度参考值(CPU 为 AMD Ryzen 7 3700X ,16 进程,芙蕾雅):
- -- 急速模式(预估 9.79 万组合):总计耗时 5.79s -- 套装模式(预估 90.43 万组合):总计耗时 1min2.46s -- 单件模式(预估 46.35 万亿组合):太烧 CPU,不建议这么玩 - -### 多配置模式 - -![复制配置](img/装备-2.png "复制配置") - -如果存在同职业多个配置(账号)的情况,可在 ResourceFiles 对应的职业文件夹下,复制 reset 文件夹后,粘贴后重命名为 set 开头的文件夹,重新选择计算器职业后即可切换配置
- -!> 如出现计算结果较为离谱或出现无法使用的情况,可尝全局重置,重置所有的配置
- -## 技能/符文/其他 - -![技能相关](img/技能-1.png "技能相关") - -该页面下可设置计算技能相关、药剂、护符等
- -### 技能相关设置 - -各职业已预设模板,如与自身有所出入,可以自行调整参数,具体可设置以下参数
- -- 技能等级调整:技能等级默认契约满级,等级调整视个人加点情况而定,调整数值基于契约满级进行+/-调整
- -!> 装备、时装上衣、白金、附魔等对技能等级的加成无需在此调整,时装下装的等级调整可在此调整
- -- TP 等级:TP 基础等级为 0 级,调整数值基于契约 0 级进行+/-调整
-- 技能释放次数:技能释放次数分为/CD 与固定次数,/CD 较多职业并未考虑技能演出时间(少部分职业入芙蕾雅等做过特殊修正),如需贴合自身修炼场技能次数,可自行调整技能次数
- -!> 固定次数后会影响部分 CDR 装备的最终结果 - -- 宠物次数:宠物技能对技能能够加成多少次 -- 技能形态选择:部分技能存在不同形态,对这些技能计算器采用下拉/勾选的形式提供选择 -- BUFF 换装数值:BUFF 图标旁的输入框内可设置 BUFF 数值,默认完美换装数值 -- 远古记忆/红阵:右下角可设置计算是否适用于远古或红阵,默认适用,可自行调整 - -### 护符设置 - -各职业已预设护符及符文的选择,护符版本进行切换,如与自身有所出入,可以自行调整。
- -### 药剂等设置 - -药剂设置包含修炼场常见的药剂,同时还设置了称号触发、白兔子选项、队友光环、系统奶等一系列选项供模拟不同情况下的装备计算
- -### 其余设置 - -计算器预设了 120、130 沙袋、0 防强化机供模拟,如需模拟其他怪物,可在`ResourceFiles\Config\攻击目标.ini`中自行修改
- -## 基础/细节/修正 - -![细节调整](img/细节-1.png "细节调整")
- -该页面下可设置附魔、白金、时装、徽章、勋章、宠物装备等细节方面的数据
- -!> 如在装备/选择/打造页面勾选了光环词条择优、宠物装备择优,则对应的部位的词条选择将被禁用无法选择
- -## 神话/改造属性修正 - -![神话改造调整](img/神话改造调整-1.png "神话改造调整")
- -由于游戏内神话词条数值、改造装备升级数值存在随机性,计算器提供了调整神话词条数值及改造升级属性的界面以保证计算的准确性
- -!> 改造升级属性调整需在[辟邪玉/希洛克/黑鸦]中勾选智慧产物升级才会显示
- -## 辟邪玉/希洛克/黑鸦/奥兹玛 - -![黑鸦](img/黑鸦-1.png "黑鸦")
- -该页面下可设置计算相关的辟邪玉、希洛克装备、黑鸦、奥兹玛装备等
- -### 辟邪玉 - -可根据自身情况选择对应的辟邪玉属性,鼠标悬停至文字上方可查看辟邪玉的算法
- -!> 属白增幅分对应属性,计算器未作区分,双属性附加(星之海)需手动计算并在第三页修正
- -### 希洛克 - -可根据自身情况选择对应的残香融合及装备融合,残香选择自适应最高值会自动计算最优解,结果显示在详情界面
- -守门人全属强自动补正:自带单属强职业不可使用,在计算时自动替换细节页的附魔勋章为毕业的全属强方案,细节页面对应的附魔设置会失效,如需调整,可在进图/站街修正做对应的属强加减
- -### 黑鸦 - -可根据自身情况选择对应的黑鸦遴选词条,选择计算最高会自动计算最优解,结果显示在详情界面
- -!> 计算最优解时,百分比力智词条较为特殊,与力智数值有关,在无奶/系统奶时,受到力智影响,没有实际数值显示的提升
- -由于除武器外,不同装备的遴选最终显示数值存在差异,自选范围计算器提供的选项为相对值:2%、4%、6%、8%(武器为:4%、8%、12%、16%),计算器选择数值 = 装备最终遴选数值 - 装备遴选最小值 + 2%
- -此外,为了减少计算量,黑鸦武器词条择优提供了词条择优及觉醒词条择优的选项,用户可针对自身情况选择
- -### 奥兹玛 - -可根据自身情况选择对应的奥兹玛装备,阿斯特罗斯暂不支持分时间段加成技能,需自行选择对应的技能加成区间,几件装备选择几个区间
- -## 自选装备计算 - -![自选计算](img/自选-1.png "自选计算") - -自选装备计算界面,可供用户快捷的进行单套装备的选择和预估
-在选择完单套装备后,可将其设置为基准值,之后的排行/计算等将以基准值为参考进行各技能及总伤害等的对比以供参考
-同时提供了辟邪玉的单个词条的理论提升
- -!> 部分等级加成的词条可能会造成技能 CD 的缩减,导致提升偏高 - -## 装备排行界面 - -![装备排行](img/排行-1.png "装备排行") - -点击开始计算后会对选择装备进行排行计算,按钮 | 左边为预估的伤害数字,| 右边为相较于第一套装备的强度,点击按钮可查看详细的数据情况
-如当前搭配存在技能等级溢出的情况,按钮颜色会显示为红色以作提示,鼠标移动到按钮上会告知溢出技能详情
- -## 详细数据界面 - -![详情界面](img/详情-1.png "详情界面") - -详情界面详细展示某个搭配下人物属性、技能伤害等,如选择了宠物装备|光环择优,会在套装情况下展示择优选择供参考
- -右下角提供了输出所有的择优项搭配及相对最优解的差值方便用户自行选择,以及输出技能倍率数据功能方便对比技能秒伤等
- -## 奶系 - -### 择优方向选择 - -![择优方向](img/奶系-1.png "择优方向")由于奶在不同的副本存在择优偏差,计算器对于单套的择优,提供了续航向、爆发向、及自定义太阳系数的方式作为最优解的计算方向,用户在使用时,可针对自身情况选择合适的选项
- -### 光环、宠物、称号等补正 - -![称号光环宠物补正](img/奶系-2.png "补正") - -针对奶的时装、光环、宠物、称号登记和穿戴不同,计算器在[基础/细节/修正]页面提供了对应的修正等级、词条及适用的选项,宠物、光环等级加成被动差异造成的适用不同暂时需要在此进行手动修正
- -### 双切计算 - -![双切计算](img/奶系-3.png "双切计算") - -![双切界面](img/奶系-4.png "双切界面") - -部分用户存在双切需求,在[自选装备计算]中勾选启用登记,并在登记设置中设置对应的双切,登记设置中为 BUFF 套,自选装备为太阳套,双切只适用于自选装备计算
- -## 补充 - -### 输出系切装 - -如存在需要切换武器/装备的情况,可在选择职业页面点击打开设置,开启对应功能
-重启后,在自选装备计算的装备后及技能/符文/其他的技能后面会出现勾选选项,对需要切换的装备及技能进行勾选即可
- -### BUG 反馈等 - -提供了 QQ 群及 Gitee 反馈途径,推荐在 Gitee 上按照要求建立 issue 进行反馈,Gitee 会优先处理,群不常看
-Gitee 反馈地址:https://gitee.com/i_melon/DNFCalculating/issues?state=all
+## 软件简介 + +本软件为 DNF 相关的计算器,供玩家进行搭配装备等各方面使用
+ +!> 请勿使用计算器进行打桩排名、带节奏等行为
+ +为避免营销号节奏及不怀好意的使用方式,现已删除100版本的/CD及宠物技能模拟
+本工具为开源免费软件,不存在收费等情况,请自行甄别下载途径和使用方式
+ +!> 由colg赞助,与无名空岛是两个不同的软件,空岛相关咨询和建议联系冰柠檬 + +![首页](img/image.png) + +![首页-2](img/image-1.png) + +## 程序版本说明 + +计算器分为桌面版、网页版、小程序版 + +- 网页版:网页程序,访问链接 https://dcalc.dnftools.com ,部署在服务器端,限制了多套计算,存档保存在用户浏览器的localStorage内,更新最为及时,会有较多测试性功能 +- 桌面版:桌面端计算程序,需要下载后安装使用,存档保存在用户本地,下载链接 https://wwk.lanzout.com/s/dcalc ,调用本地系统资源,支持大数据量的多套及多窗口同时打开,会在网页版测试稳定后推送程序版本 +- 小程序:微信搜索`纸飞机计算器`,不支持调整技能次数等复杂操作,仅为方便部分手机用户使用 + +## BUG反馈 + +为了契合DNF双服的版本更新、职业平衡,更新过程中不可避免的会存在部分功能bug以及部分职业的隐藏设定未能考虑到,计算器欢迎友好的bug反馈 +- [gitee](https://gitee.com/dcalc/dnfcalculating_110/issues) +- [colg](https://bbs.colg.cn/thread-9130678-1-1.html) +- [QQ群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Cd6K0WTQgcJEefXYnPt1jm1JZh6uLTEb&authKey=LfdldC2BoibB6CxHXzf%2FYcH43YBWN6WCaDFYoL2XqUCGg%2BC%2B1IIVx%2FcCPdWJCEMe&noverify=0&group_code=183439472) + +反馈样例 + ``` + 职业:女弹药 + BUG描述:XXX技能在XXXX情况下,出现伤害XXX异常,存档设置:aaaaa-bbbbb-ccccc-ddddd + ``` + + +## 开始使用 + +下载路径: https://wwk.lanzout.com/s/dcalc
+ +![](img/20220630130403.png)
+ +下载网盘中最新程序`DNF计算器_XX.XX_.exe`并完成安装
+ +- exe:安装包,多次使用会删除老的存档 +- 绿色版:免安装版本,解压到文件夹下后,打开`DNF计算器.exe`即可,覆盖不会删除存档 +- 更新包:计算器的更新文件,可手动下载后覆盖计算器下的`resources`文件夹 + +## 合规性校验 + +![](img/20220811165450.png) + +正规途径下载的计算器,右键 exe 程序的属性,可在数字签名中查看到第三方机构认证颁发的代码签名 + +!> 使用前请确保数字签名存在且与说明书中一致
如无数字签名,则程序可能为第三方修改后的打包版本,请谨慎使用
+ +## 常见问题 + +- 蓝奏云无法打开
修改 DNS 服务器地址,首选 114.114.114.114,备用 8.8.8.8
+- 打开黑屏 Ctrl R
+ 仍然无效,可尝试运行安装路径下`resources\修复脚本.bat` +- Permission denied:安装再非C盘或管理员运行 +- 程序放大:Ctrl shift + +- 程序缩小:Ctrl - + +## 更新 + +### 自动更新 + +![自动更新-1](img/20220630125539.png)
+ +![自动更新-2](img/20220630125605.png)
+ +计算器在每次打开的时候会自动检测是否有版本更新,确认后将进行自动更新,更新完毕点击完成会自动重启计算器 + +### 手动更新 + +如自动更新报错或想要手动更新,有如下两种方式手动更新,且存档不会丢失: + +- 关闭计算器后,手动下载网盘中更新包`resources.zip`,手动解压覆盖如下文件夹
![](img/20220630131552.png)
+- 关闭计算器后,手动下载网盘中绿色版,直接覆盖 + + + +## 单套选择 + +![alt text](img/image-2.png) + +### 快捷设置及操作 +从左向右图标依次为药剂设置、特性系统、装备触发条件、收藏、流派推荐 +- 当存在多个装备版本时,药剂设置左侧会出现装备版本快捷切换 +- 药剂设置:设置常见消耗的药剂,如斗神、灵药等
![alt text](img/image-3.png) +- 特性系统:快捷设置特性系统入口
![alt text](img/image-4.png) +- 装备触发条件:设置部分无法完全模拟的装备触发条件,如部分职业的CP武器、敌人异常情况等
![alt text](img/image-5.png) +- 收藏:收藏用户自己不同的搭配,方便快捷切换对比
![alt text](img/image-6.png) +- 流派推荐:取自colg流派模拟数据,由玩家自行上传
![alt text](img/image-7.png) + +### 装备设置 +在左侧选择装备后,右侧会自行展示装备1级的属性并穿戴计算。
+当用户选择装备为自定义装备时,右侧展示所有自定义词条,并按照选择词条后的提升进行排序供参考,可勾选词条分类切换词条的划分,默认按照伤害、CD、其他划分,取消勾选后按照专属、部位、公共划分。
+![alt text](img/image-8.png) +当选择装备为武器时,左侧会默认展示贴膜选择,用户可点击信息、融合进行切换选择。 + +### 装备展示 +展示角色穿戴的装备及贴膜情况,当装备属性未完全触发时,装备图标展示为灰色,鼠标移动到图标可显示装备属性及装备未能触发的条件。
+![alt text](img/image-9.png) + +### 技能冷却详情 +点击技能冷却详情,会展示当前搭配下技能的冷却情况及适用的CDR供参考。 +![alt text](img/image-10.png) + +### 左下角工具栏 +从左向右图标依次是首页、检查更新、刷新、设置、存档分享、存档导入
+![alt text](img/image-12.png) +- 首页:跳转到计算器首页,可查阅更新日志、使用手册等 +- 检查更新:检查桌面端计算器是否有更新 +- 刷新:重新获取Token及接口信息 +- 设置:点击后对计算器部分功能进行自定义设置,详细设置如下,装备版本存在切换时,在快捷设置 + ![alt text](img/image-13.png) +- 存档分享、存档导入:供用户多终端或用户与用户之间进行存档分享 + +### 基准、详情查看 +- 设为基准:以当前搭配每个技能的伤害、总伤害为基准与其他搭配进行对比,搭配伤害参考与详情界面会变成相较于基准搭配的伤害百分比变化
+ ![alt text](img/image-14.png) +- 显示伤害:删除基准数值,显示正常数值 +- 查看详情:查看每个技能的详细数据 + ![alt text](img/image-15.png) + +### 导出搭配 +为了方便用户快捷导出搭配分享,点击👉,可自动根据当前搭配生成搭配图,展示装备信息、自定义信息、武器融合信息等,并导出图片进行分享。
+![alt text](img/image-16.png) + +## 技能设置 + +![alt text](img/image-17.png)
该页面下可设置计算技能相关:技能等级、技能次数、技能形态、护石、符文
+ +### 技能队列说明 + +![](img/20220630135454.gif)
在选择技能次数后,会自动添加技能到队列中,部分右上角有文字的技能可点击图标进行形态切换,技能图标可长按拖拽进行队列位置变更
+ +!> 为了避免工具滥用,现已删除/CD功能,预设技能次数为colg提供
+ +### 职业特殊设置 +部分较为特殊的职业如女机械、召唤,需要在右侧设置续航类技能输出时间 + +## 打造设置 + +![alt text](img/image-18.png) + +点击对应的部位,可切换部位进行打造修改
右上角可进行全局修改勾选,可全部部位一起设置增幅、成长属性,同类型可一直设置附魔、徽章
星辰百变、贴膜升级在此处进行勾选,默认已勾选 + +属性修正为在部分测试情况下,自行调整属性使用,常规可不使用 + +## 定制史诗词条 + +![alt text](img/image-19.png) + +所有自定义装备单独设置的地方,单件的设置已在单套选择功能中包含 + +## 装备特性 + +![alt text](img/image-20.png) + +装备特性设置,已在单套选择功能中包含 + +## 装备融合 + +![alt text](img/image-21.png) + +装备融合设置,已在单套选择功能中包含 \ No newline at end of file diff --git a/docs/ban.json b/docs/ban.json deleted file mode 100644 index 6f067cdf..00000000 --- a/docs/ban.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "2190155ee92d17e8cc3b0c9892fd5ac7": { - "reason": "https://tieba.baidu.com/p/7624625617 不好意思 是计算器配不上你" - }, - "99a2f094ef7daa0d53525b0f2474c0ea": { - "reason": "https://bbs.colg.cn/thread-8355814-1-1.html 带??节奏" - }, - "1ba5ea8fa16964666f0c0a85e89c3e96": { - "reason": "https://bbs.colg.cn/thread-8358088-1-1.html 带节奏能请先把龙虎啸等级和其他计算搞清楚" - }, - "2e3d28298db82f8b23dc9fa6aac14b6d": { - "reason": "https://bbs.colg.cn/thread-8358088-1-1.html 带节奏能请先把龙虎啸等级和其他计算搞清楚" - }, - "f8b3cf5c269c97a8d6d2d97ecf769a06": { - "reason": "屠戮直播带节奏" - }, - "761cf5dbd2e3d07e8eaaf1dc99ebc49b": { - "reason": "https://bbs.colg.cn/thread-8382566-1-1.html" - } -} diff --git a/docs/img/20220630125539.png b/docs/img/20220630125539.png new file mode 100644 index 00000000..4cf31212 Binary files /dev/null and b/docs/img/20220630125539.png differ diff --git a/docs/img/20220630125605.png b/docs/img/20220630125605.png new file mode 100644 index 00000000..352c48e0 Binary files /dev/null and b/docs/img/20220630125605.png differ diff --git a/docs/img/20220630130403.png b/docs/img/20220630130403.png new file mode 100644 index 00000000..6d9b526e Binary files /dev/null and b/docs/img/20220630130403.png differ diff --git a/docs/img/20220630131552.png b/docs/img/20220630131552.png new file mode 100644 index 00000000..dfc487ad Binary files /dev/null and b/docs/img/20220630131552.png differ diff --git a/docs/img/20220630135454.gif b/docs/img/20220630135454.gif new file mode 100644 index 00000000..e450cb3c Binary files /dev/null and b/docs/img/20220630135454.gif differ diff --git a/docs/img/20220811165450.png b/docs/img/20220811165450.png new file mode 100644 index 00000000..3d7d2e94 Binary files /dev/null and b/docs/img/20220811165450.png differ diff --git a/docs/img/image-1.png b/docs/img/image-1.png new file mode 100644 index 00000000..3aaec48c Binary files /dev/null and b/docs/img/image-1.png differ diff --git a/docs/img/image-10.png b/docs/img/image-10.png new file mode 100644 index 00000000..60f358be Binary files /dev/null and b/docs/img/image-10.png differ diff --git a/docs/img/image-11.png b/docs/img/image-11.png new file mode 100644 index 00000000..cf737f02 Binary files /dev/null and b/docs/img/image-11.png differ diff --git a/docs/img/image-12.png b/docs/img/image-12.png new file mode 100644 index 00000000..9e125f76 Binary files /dev/null and b/docs/img/image-12.png differ diff --git a/docs/img/image-13.png b/docs/img/image-13.png new file mode 100644 index 00000000..a0e6ae66 Binary files /dev/null and b/docs/img/image-13.png differ diff --git a/docs/img/image-14.png b/docs/img/image-14.png new file mode 100644 index 00000000..dc00918e Binary files /dev/null and b/docs/img/image-14.png differ diff --git a/docs/img/image-15.png b/docs/img/image-15.png new file mode 100644 index 00000000..2b9f10f2 Binary files /dev/null and b/docs/img/image-15.png differ diff --git a/docs/img/image-16.png b/docs/img/image-16.png new file mode 100644 index 00000000..5af95ffa Binary files /dev/null and b/docs/img/image-16.png differ diff --git a/docs/img/image-17.png b/docs/img/image-17.png new file mode 100644 index 00000000..905ae603 Binary files /dev/null and b/docs/img/image-17.png differ diff --git a/docs/img/image-18.png b/docs/img/image-18.png new file mode 100644 index 00000000..446226c0 Binary files /dev/null and b/docs/img/image-18.png differ diff --git a/docs/img/image-19.png b/docs/img/image-19.png new file mode 100644 index 00000000..b643aa4c Binary files /dev/null and b/docs/img/image-19.png differ diff --git a/docs/img/image-2.png b/docs/img/image-2.png new file mode 100644 index 00000000..3b1f3916 Binary files /dev/null and b/docs/img/image-2.png differ diff --git a/docs/img/image-20.png b/docs/img/image-20.png new file mode 100644 index 00000000..d6b24fdf Binary files /dev/null and b/docs/img/image-20.png differ diff --git a/docs/img/image-21.png b/docs/img/image-21.png new file mode 100644 index 00000000..8ceb26c1 Binary files /dev/null and b/docs/img/image-21.png differ diff --git a/docs/img/image-3.png b/docs/img/image-3.png new file mode 100644 index 00000000..fd1233a0 Binary files /dev/null and b/docs/img/image-3.png differ diff --git a/docs/img/image-4.png b/docs/img/image-4.png new file mode 100644 index 00000000..363a84aa Binary files /dev/null and b/docs/img/image-4.png differ diff --git a/docs/img/image-5.png b/docs/img/image-5.png new file mode 100644 index 00000000..dd6ad4ba Binary files /dev/null and b/docs/img/image-5.png differ diff --git a/docs/img/image-6.png b/docs/img/image-6.png new file mode 100644 index 00000000..cd474567 Binary files /dev/null and b/docs/img/image-6.png differ diff --git a/docs/img/image-7.png b/docs/img/image-7.png new file mode 100644 index 00000000..8c7e751a Binary files /dev/null and b/docs/img/image-7.png differ diff --git a/docs/img/image-8.png b/docs/img/image-8.png new file mode 100644 index 00000000..11e3c961 Binary files /dev/null and b/docs/img/image-8.png differ diff --git a/docs/img/image-9.png b/docs/img/image-9.png new file mode 100644 index 00000000..e3db9e5d Binary files /dev/null and b/docs/img/image-9.png differ diff --git a/docs/img/image.png b/docs/img/image.png new file mode 100644 index 00000000..0913fa4d Binary files /dev/null and b/docs/img/image.png differ diff --git a/docs/img/logo.ico b/docs/img/logo.ico index 15bb4673..8b14d919 100644 Binary files a/docs/img/logo.ico and b/docs/img/logo.ico differ diff --git a/docs/img/wx.jpg b/docs/img/wx.jpg new file mode 100644 index 00000000..67e8cb9c Binary files /dev/null and b/docs/img/wx.jpg differ diff --git a/docs/img/使用-1.png b/docs/img/使用-1.png deleted file mode 100644 index 0ed40737..00000000 Binary files a/docs/img/使用-1.png and /dev/null differ diff --git a/docs/img/使用-2.png b/docs/img/使用-2.png deleted file mode 100644 index d10fd20c..00000000 Binary files a/docs/img/使用-2.png and /dev/null differ diff --git a/docs/img/使用-3.png b/docs/img/使用-3.png deleted file mode 100644 index 157bc758..00000000 Binary files a/docs/img/使用-3.png and /dev/null differ diff --git a/docs/img/使用-4.png b/docs/img/使用-4.png deleted file mode 100644 index b55b3f2e..00000000 Binary files a/docs/img/使用-4.png and /dev/null differ diff --git a/docs/img/奶系-1.png b/docs/img/奶系-1.png deleted file mode 100644 index 4c29ad61..00000000 Binary files a/docs/img/奶系-1.png and /dev/null differ diff --git a/docs/img/奶系-2.png b/docs/img/奶系-2.png deleted file mode 100644 index 31925221..00000000 Binary files a/docs/img/奶系-2.png and /dev/null differ diff --git a/docs/img/奶系-3.png b/docs/img/奶系-3.png deleted file mode 100644 index 427a98ee..00000000 Binary files a/docs/img/奶系-3.png and /dev/null differ diff --git a/docs/img/奶系-4.png b/docs/img/奶系-4.png deleted file mode 100644 index 1a19a631..00000000 Binary files a/docs/img/奶系-4.png and /dev/null differ diff --git a/docs/img/技能-1.png b/docs/img/技能-1.png deleted file mode 100644 index 30c74f35..00000000 Binary files a/docs/img/技能-1.png and /dev/null differ diff --git a/docs/img/排行-1.png b/docs/img/排行-1.png deleted file mode 100644 index 38aa6989..00000000 Binary files a/docs/img/排行-1.png and /dev/null differ diff --git a/docs/img/神话改造调整-1.png b/docs/img/神话改造调整-1.png deleted file mode 100644 index 50998b4e..00000000 Binary files a/docs/img/神话改造调整-1.png and /dev/null differ diff --git a/docs/img/简介-1.png b/docs/img/简介-1.png deleted file mode 100644 index 4ff9c564..00000000 Binary files a/docs/img/简介-1.png and /dev/null differ diff --git a/docs/img/细节-1.png b/docs/img/细节-1.png deleted file mode 100644 index 306055cb..00000000 Binary files a/docs/img/细节-1.png and /dev/null differ diff --git a/docs/img/自选-1.png b/docs/img/自选-1.png deleted file mode 100644 index adc1cb73..00000000 Binary files a/docs/img/自选-1.png and /dev/null differ diff --git a/docs/img/装备-1.png b/docs/img/装备-1.png deleted file mode 100644 index d4409233..00000000 Binary files a/docs/img/装备-1.png and /dev/null differ diff --git a/docs/img/装备-2.png b/docs/img/装备-2.png deleted file mode 100644 index 24618fb5..00000000 Binary files a/docs/img/装备-2.png and /dev/null differ diff --git a/docs/img/设置-1.png b/docs/img/设置-1.png deleted file mode 100644 index 1d7f1581..00000000 Binary files a/docs/img/设置-1.png and /dev/null differ diff --git a/docs/img/设置-2.png b/docs/img/设置-2.png deleted file mode 100644 index cb4d5b47..00000000 Binary files a/docs/img/设置-2.png and /dev/null differ diff --git a/docs/img/证书校验.png b/docs/img/证书校验.png deleted file mode 100644 index bd0a6840..00000000 Binary files a/docs/img/证书校验.png and /dev/null differ diff --git a/docs/img/详情-1.png b/docs/img/详情-1.png deleted file mode 100644 index 0a06aab1..00000000 Binary files a/docs/img/详情-1.png and /dev/null differ diff --git a/docs/img/黑鸦-1.png b/docs/img/黑鸦-1.png deleted file mode 100644 index 5efacbe2..00000000 Binary files a/docs/img/黑鸦-1.png and /dev/null differ diff --git a/docs/index.html b/docs/index.html index be456081..fda84720 100644 --- a/docs/index.html +++ b/docs/index.html @@ -3,25 +3,28 @@ - - 纸飞机计算器 - + + + + + + + DNF计算器 + + + - + - + - + + + + + -
+
- - - + + + - + + diff --git a/docs/notice.json b/docs/notice.json deleted file mode 100644 index cc8f86dc..00000000 --- a/docs/notice.json +++ /dev/null @@ -1,6 +0,0 @@ -[ - { - "time": "2022.2.2", - "info": "同步游戏内辟邪玉技攻上限的设定,由于不确定游戏内结算顺序,会有部分出入
技攻累加超过200的部分不享受玉的加成,计算器详情会红色标注" - } -] diff --git a/docs/schedule.md b/docs/schedule.md new file mode 100644 index 00000000..c1ec6969 --- /dev/null +++ b/docs/schedule.md @@ -0,0 +1,20 @@ +● 开发中 ☑ 已完成 ☐ 尚未开始 + +| 职业系 | | | | | | +| ---------- | ---------------------------------------- | ----------------- | --------------- | --------------- | ------------------ | +| 鬼剑士(男) | ☑ 极诣·剑魂 | ☑ 极诣·鬼泣 | ☑ 极诣·狂战士 | ☑ 极诣·阿修罗 | ☑ 极诣·剑影 | +| 鬼剑士(女) | ☑ 极诣·驭剑士 | ☑ 极诣·暗殿骑士 | ☑ 极诣·契魔者 | ☑ 极诣·流浪武士 | ☑ 极诣·刃影 | +| 格斗家(男) | ☑ 归元·气功师 | ☑ 归元·散打 | ☑ 归元·街霸 | ☑ 归元·柔道家 | | +| 格斗家(女) | ☑ 归元·气功师 | ☑ 归元·散打 | ☑ 归元·街霸 | ☑ 归元·柔道家 | | +| 神枪手(男) | ☑ 重霄·漫游枪手 | ☑ 重霄·枪炮师 | ☑ 重霄·机械师 | ☑ 重霄·弹药专家 | ☐ 重霄·合金战士 | +| 神枪手(女) | ☑ 重霄·漫游枪手 | ☑ 重霄·枪炮师 | ☑ 重霄·机械师 | ☑ 重霄·弹药专家 | | +| 魔法师(男) | ☑ 知源·元素爆破师 | ☑ 知源·冰结师 | ☑ 知源·血法师 | ☑ 知源·逐风者 | ☑ 知源·次元行者 | +| 魔法师(女) | ☑ 知源·元素师 | ☐ 知源·召唤师 | ☑ 知源·战斗法师 | ☑ 知源·魔道学者 | ☑ 知源·小魔女-BUFF | +| 圣职者(男) | ☑ 神启·圣骑士-BUFF
☑ 神启·圣骑士-审判 | ☑ 神启·蓝拳圣使 | ☑ 神启·驱魔师 | ☑ 神启·复仇者 | | +| 圣职者(女) | ☑ 神启·圣骑士-BUFF | ☑ 神启·异端审判者 | ☑ 神启·巫女 | ☑ 神启·诱魔者 | | +| 暗夜使者 | ☐ 隐夜·刺客 | ☐ 隐夜·死灵术士 | ☐ 隐夜·忍者 | ☐ 隐夜·影舞者 | | +| 守护者 | ☐ 皓曦·精灵骑士 | ☐ 皓曦·混沌魔灵 | ☐ 皓曦·帕拉丁 | ☐ 皓曦·龙骑士 | | +| 魔枪士 | ☐ 千魂·征战者 | ☐ 千魂·决战者 | ☐ 千魂·狩猎者 | ☐ 千魂·暗枪士 | | +| 枪剑士 | ☐ 苍暮·暗刃 | ☐ 苍暮·特工 | ☐ 苍暮·战线佣兵 | ☐ 苍暮·源能专家 | | +| 弓箭手 | ☑ 聆风·缪斯 | ☐ 聆风·旅人 | | | | +| 外传 | ☐ 知源·缔造者 | ☐ 极诣·黑暗武士 | | | | diff --git a/docs/sitemap.xml b/docs/sitemap.xml new file mode 100644 index 00000000..59ced1b4 --- /dev/null +++ b/docs/sitemap.xml @@ -0,0 +1,9 @@ + + + + http://www.dnftools.com + 2023-09-25 + Monthly + 1.0 + + \ No newline at end of file diff --git a/docs/src/beian.min.js b/docs/src/beian.min.js new file mode 100644 index 00000000..461669f5 --- /dev/null +++ b/docs/src/beian.min.js @@ -0,0 +1,20 @@ +function plugin(hook, vm) { + hook.afterEach(function (html, next) { + next( + html + + `\n
\n \n ` + ) + }) +} +window.$docsify["beian"] = Object.assign({ ICP: "", NISMSP: { number: "", url: "", id: "" } }, window.$docsify["beian"]) +window.$docsify.plugins = [].concat(plugin, window.$docsify.plugins) diff --git a/docs/src/docsify-themeable.min.js b/docs/src/docsify-themeable.min.js new file mode 100644 index 00000000..150938fa --- /dev/null +++ b/docs/src/docsify-themeable.min.js @@ -0,0 +1,1107 @@ +/*! + * docsify-themeable + * v0.9.0 + * https://jhildenbiddle.github.io/docsify-themeable/ + * (c) 2018-2022 John Hildenbiddle + * MIT license + */ +!(function () { + "use strict" + function e() { + return ( + (e = + Object.assign || + function (e) { + for (var t = 1; t < arguments.length; t++) { + var n = arguments[t] + for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]) + } + return e + }), + e.apply(this, arguments) + ) + } + function t(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = { + mimeType: t.mimeType || null, + onBeforeSend: t.onBeforeSend || Function.prototype, + onSuccess: t.onSuccess || Function.prototype, + onError: t.onError || Function.prototype, + onComplete: t.onComplete || Function.prototype + }, + r = Array.isArray(e) ? e : [e], + o = Array.apply(null, Array(r.length)).map(function (e) { + return null + }) + function a(e) { + var t = "string" == typeof e, + n = t && "<" === e.trim().charAt(0) + return t && !n + } + function s(e, t) { + n.onError(e, r[t], t) + } + function c(e, t) { + var a = n.onSuccess(e, r[t], t) + ;(e = !1 === a ? "" : a || e), (o[t] = e), -1 === o.indexOf(null) && n.onComplete(o) + } + var i = document.createElement("a") + r.forEach(function (e, t) { + if ((i.setAttribute("href", e), (i.href = String(i.href)), Boolean(document.all && !window.atob) && i.host.split(":")[0] !== location.host.split(":")[0])) { + if (i.protocol === location.protocol) { + var r = new XDomainRequest() + r.open("GET", e), + (r.timeout = 0), + (r.onprogress = Function.prototype), + (r.ontimeout = Function.prototype), + (r.onload = function () { + var e = r.responseText + a(e) ? c(e, t) : s(r, t) + }), + (r.onerror = function (e) { + s(r, t) + }), + setTimeout(function () { + r.send() + }, 0) + } else console.warn("Internet Explorer 9 Cross-Origin (CORS) requests must use the same protocol (".concat(e, ")")), s(null, t) + } else { + var o = new XMLHttpRequest() + o.open("GET", e), + n.mimeType && o.overrideMimeType && o.overrideMimeType(n.mimeType), + n.onBeforeSend(o, e, t), + (o.onreadystatechange = function () { + if (4 === o.readyState) { + var e = o.responseText + ;(o.status < 400 && a(e)) || (0 === o.status && a(e)) ? c(e, t) : s(o, t) + } + }), + o.send() + } + }) + } + function n(e) { + var n = /\/\*[\s\S]+?\*\//g, + o = /(?:@import\s*)(?:url\(\s*)?(?:['"])([^'"]*)(?:['"])(?:\s*\))?(?:[^;]*;)/g, + a = { + rootElement: e.rootElement || document, + include: e.include || 'style,link[rel="stylesheet"]', + exclude: e.exclude || null, + filter: e.filter || null, + skipDisabled: !1 !== e.skipDisabled, + useCSSOM: e.useCSSOM || !1, + onBeforeSend: e.onBeforeSend || Function.prototype, + onSuccess: e.onSuccess || Function.prototype, + onError: e.onError || Function.prototype, + onComplete: e.onComplete || Function.prototype + }, + s = Array.apply(null, a.rootElement.querySelectorAll(a.include)).filter(function (e) { + return (t = e), (n = a.exclude), !(t.matches || t.matchesSelector || t.webkitMatchesSelector || t.mozMatchesSelector || t.msMatchesSelector || t.oMatchesSelector).call(t, n) + var t, n + }), + c = Array.apply(null, Array(s.length)).map(function (e) { + return null + }) + function i() { + if (-1 === c.indexOf(null)) { + c.reduce(function (e, t, n) { + return "" === t && e.push(n), e + }, []) + .reverse() + .forEach(function (e) { + return [s, c].forEach(function (t) { + return t.splice(e, 1) + }) + }) + var e = c.join("") + a.onComplete(e, c, s) + } + } + function u(e, t, n, r) { + var o = a.onSuccess(e, n, r) + d((e = void 0 !== o && !1 === Boolean(o) ? "" : o || e), n, r, function (e, r) { + null === c[t] && + (r.forEach(function (e) { + return a.onError(e.xhr, n, e.url) + }), + !a.filter || a.filter.test(e) ? (c[t] = e) : (c[t] = ""), + i()) + }) + } + function l(e, t) { + var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], + s = {} + return ( + (s.rules = (e.replace(n, "").match(o) || []).filter(function (e) { + return -1 === a.indexOf(e) + })), + (s.urls = s.rules.map(function (e) { + return e.replace(o, "$1") + })), + (s.absoluteUrls = s.urls.map(function (e) { + return r(e, t) + })), + (s.absoluteRules = s.rules.map(function (e, n) { + var o = s.urls[n], + a = r(s.absoluteUrls[n], t) + return e.replace(o, a) + })), + s + ) + } + function d(e, n, r, o) { + var s = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : [], + c = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : [], + i = l(e, r, c) + i.rules.length + ? t(i.absoluteUrls, { + onBeforeSend: function (e, t, r) { + a.onBeforeSend(e, n, t) + }, + onSuccess: function (e, t, r) { + var o = a.onSuccess(e, n, t), + s = l((e = !1 === o ? "" : o || e), t, c) + return ( + s.rules.forEach(function (t, n) { + e = e.replace(t, s.absoluteRules[n]) + }), + e + ) + }, + onError: function (t, a, u) { + s.push({ xhr: t, url: a }), c.push(i.rules[u]), d(e, n, r, o, s, c) + }, + onComplete: function (t) { + t.forEach(function (t, n) { + e = e.replace(i.rules[n], t) + }), + d(e, n, r, o, s, c) + } + }) + : o(e, s) + } + s.length + ? s.forEach(function (e, n) { + var o = e.getAttribute("href"), + s = e.getAttribute("rel"), + l = "link" === e.nodeName.toLowerCase() && o && s && -1 !== s.toLowerCase().indexOf("stylesheet"), + d = !1 !== a.skipDisabled && e.disabled, + f = "style" === e.nodeName.toLowerCase() + if (l && !d) + t(o, { + mimeType: "text/css", + onBeforeSend: function (t, n, r) { + a.onBeforeSend(t, e, n) + }, + onSuccess: function (t, a, s) { + var c = r(o) + u(t, n, e, c) + }, + onError: function (t, r, o) { + ;(c[n] = ""), a.onError(t, e, r), i() + } + }) + else if (f && !d) { + var m = e.textContent + a.useCSSOM && + (m = Array.apply(null, e.sheet.cssRules) + .map(function (e) { + return e.cssText + }) + .join("")), + u(m, n, e, location.href) + } else (c[n] = ""), i() + }) + : a.onComplete("", []) + } + function r(e, t) { + var n = document.implementation.createHTMLDocument(""), + r = n.createElement("base"), + o = n.createElement("a") + return n.head.appendChild(r), n.body.appendChild(o), (r.href = t || document.baseURI || (document.querySelector("base") || {}).href || location.href), (o.href = e), o.href + } + var o = a + function a(e, t, n) { + e instanceof RegExp && (e = s(e, n)), t instanceof RegExp && (t = s(t, n)) + var r = c(e, t, n) + return r && { start: r[0], end: r[1], pre: n.slice(0, r[0]), body: n.slice(r[0] + e.length, r[1]), post: n.slice(r[1] + t.length) } + } + function s(e, t) { + var n = t.match(e) + return n ? n[0] : null + } + function c(e, t, n) { + var r, + o, + a, + s, + c, + i = n.indexOf(e), + u = n.indexOf(t, i + 1), + l = i + if (i >= 0 && u > 0) { + if (e === t) return [i, u] + for (r = [], a = n.length; l >= 0 && !c; ) + l == i ? (r.push(l), (i = n.indexOf(e, l + 1))) : 1 == r.length ? (c = [r.pop(), u]) : ((o = r.pop()) < a && ((a = o), (s = u)), (u = n.indexOf(t, l + 1))), (l = i < u && i >= 0 ? i : u) + r.length && (c = [a, s]) + } + return c + } + function i(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + r = { preserveStatic: !0, removeComments: !1 }, + a = e({}, r, n), + s = [] + function c(e) { + throw new Error("CSS parse error: ".concat(e)) + } + function i(e) { + var n = e.exec(t) + if (n) return (t = t.slice(n[0].length)), n + } + function u() { + return i(/^{\s*/) + } + function l() { + return i(/^}/) + } + function d() { + i(/^\s*/) + } + function f() { + if ((d(), "/" === t[0] && "*" === t[1])) { + for (var e = 2; t[e] && ("*" !== t[e] || "/" !== t[e + 1]); ) e++ + if (!t[e]) return c("end of comment is missing") + var n = t.slice(2, e) + return (t = t.slice(e + 2)), { type: "comment", comment: n } + } + } + function m() { + for (var e, t = []; (e = f()); ) t.push(e) + return a.removeComments ? [] : t + } + function p() { + for (d(); "}" === t[0]; ) c("extra closing bracket") + var e = i(/^(("(?:\\"|[^"])*"|'(?:\\'|[^'])*'|[^{])+)/) + if (e) { + var n, + r = e[0].trim() + ;/\/\*/.test(r) && (r = r.replace(/\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*\/+/g, "")) + var o = /["']\w*,\w*["']/.test(r) + return ( + o && + (r = r.replace(/"(?:\\"|[^"])*"|'(?:\\'|[^'])*'/g, function (e) { + return e.replace(/,/g, "‌") + })), + (n = /,/.test(r) ? r.split(/\s*(?![^(]*\)),\s*/) : [r]), + o && + (n = n.map(function (e) { + return e.replace(/\u200C/g, ",") + })), + n + ) + } + } + function v() { + if ("@" === t[0]) return O() + i(/^([;\s]*)+/) + var e = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, + n = i(/^(\*?[-#/*\\\w.]+(\[[0-9a-z_-]+\])?)\s*/) + if (n) { + if (((n = n[0].trim()), !i(/^:\s*/))) return c("property missing ':'") + var r = i(/^((?:\/\*.*?\*\/|'(?:\\'|.)*?'|"(?:\\"|.)*?"|\((\s*'(?:\\'|.)*?'|"(?:\\"|.)*?"|[^)]*?)\s*\)|[^};])+)/), + o = { type: "declaration", property: n.replace(e, ""), value: r ? r[0].replace(e, "").trim() : "" } + return i(/^[;\s]*/), o + } + } + function h() { + if (!u()) return c("missing '{'") + for (var e, t = m(); (e = v()); ) t.push(e), (t = t.concat(m())) + return l() ? t : c("missing '}'") + } + function y() { + d() + for (var e, t = []; (e = i(/^((\d+\.\d+|\.\d+|\d+)%?|[a-z]+)\s*/)); ) t.push(e[1]), i(/^,\s*/) + if (t.length) return { type: "keyframe", values: t, declarations: h() } + } + function g() { + var e = i(/^@([-\w]+)?keyframes\s*/) + if (e) { + var t = e[1] + if (!(e = i(/^([-\w]+)\s*/))) return c("@keyframes missing name") + var n, + r = e[1] + if (!u()) return c("@keyframes missing '{'") + for (var o = m(); (n = y()); ) o.push(n), (o = o.concat(m())) + return l() ? { type: "keyframes", name: r, vendor: t, keyframes: o } : c("@keyframes missing '}'") + } + } + function b() { + if (i(/^@page */)) return { type: "page", selectors: p() || [], declarations: h() } + } + function w() { + var e = i(/@(top|bottom|left|right)-(left|center|right|top|middle|bottom)-?(corner)?\s*/) + if (e) return { type: "page-margin-box", name: "".concat(e[1], "-").concat(e[2]) + (e[3] ? "-".concat(e[3]) : ""), declarations: h() } + } + function E() { + if (i(/^@font-face\s*/)) return { type: "font-face", declarations: h() } + } + function S() { + var e = i(/^@supports *([^{]+)/) + if (e) return { type: "supports", supports: e[1].trim(), rules: M() } + } + function C() { + if (i(/^@host\s*/)) return { type: "host", rules: M() } + } + function x() { + var e = i(/^@media([^{]+)*/) + if (e) return { type: "media", media: (e[1] || "").trim(), rules: M() } + } + function A() { + var e = i(/^@custom-media\s+(--[^\s]+)\s*([^{;]+);/) + if (e) return { type: "custom-media", name: e[1].trim(), media: e[2].trim() } + } + function L() { + var e = i(/^@([-\w]+)?document *([^{]+)/) + if (e) return { type: "document", document: e[2].trim(), vendor: e[1] ? e[1].trim() : null, rules: M() } + } + function k() { + var e = i(/^@(import|charset|namespace)\s*([^;]+);/) + if (e) return { type: e[1], name: e[2].trim() } + } + function O() { + if ((d(), "@" === t[0])) { + var e = k() || E() || x() || g() || S() || L() || A() || C() || b() || w() + if (e && !a.preserveStatic) { + var n = !1 + if (e.declarations) + n = e.declarations.some(function (e) { + return /var\(/.test(e.value) + }) + else + n = (e.keyframes || e.rules || []).some(function (e) { + return (e.declarations || []).some(function (e) { + return /var\(/.test(e.value) + }) + }) + return n ? e : {} + } + return e + } + } + function _() { + if (!a.preserveStatic) { + var e = o("{", "}", t) + if (e) { + var n = /:(?:root|host)(?![.:#(])/.test(e.pre) && /--\S*\s*:/.test(e.body), + r = /var\(/.test(e.body) + if (!n && !r) return (t = t.slice(e.end + 1)), {} + } + } + var s = p() || [], + i = a.preserveStatic + ? h() + : h().filter(function (e) { + var t = + s.some(function (e) { + return /:(?:root|host)(?![.:#(])/.test(e) + }) && /^--\S/.test(e.property), + n = /var\(/.test(e.value) + return t || n + }) + return s.length || c("selector missing"), { type: "rule", selectors: s, declarations: i } + } + function M(e) { + if (!e && !u()) return c("missing '{'") + for (var n, r = m(); t.length && (e || "}" !== t[0]) && (n = O() || _()); ) n.type && r.push(n), (r = r.concat(m())) + return e || l() ? r : c("missing '}'") + } + return { type: "stylesheet", stylesheet: { rules: M(!0), errors: s } } + } + function u(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + r = { parseHost: !1, store: {}, onWarning: function () {} }, + o = e({}, r, n), + a = new RegExp(":".concat(o.parseHost ? "host" : "root", "$")) + return ( + "string" == typeof t && (t = i(t, o)), + t.stylesheet.rules.forEach(function (e) { + "rule" === e.type && + e.selectors.some(function (e) { + return a.test(e) + }) && + e.declarations.forEach(function (e, t) { + var n = e.property, + r = e.value + n && 0 === n.indexOf("--") && (o.store[n] = r) + }) + }), + o.store + ) + } + function l(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", + n = arguments.length > 2 ? arguments[2] : void 0, + r = { + charset: function (e) { + return "@charset " + e.name + ";" + }, + comment: function (e) { + return 0 === e.comment.indexOf("__CSSVARSPONYFILL") ? "/*" + e.comment + "*/" : "" + }, + "custom-media": function (e) { + return "@custom-media " + e.name + " " + e.media + ";" + }, + declaration: function (e) { + return e.property + ":" + e.value + ";" + }, + document: function (e) { + return "@" + (e.vendor || "") + "document " + e.document + "{" + o(e.rules) + "}" + }, + "font-face": function (e) { + return "@font-face{" + o(e.declarations) + "}" + }, + host: function (e) { + return "@host{" + o(e.rules) + "}" + }, + import: function (e) { + return "@import " + e.name + ";" + }, + keyframe: function (e) { + return e.values.join(",") + "{" + o(e.declarations) + "}" + }, + keyframes: function (e) { + return "@" + (e.vendor || "") + "keyframes " + e.name + "{" + o(e.keyframes) + "}" + }, + media: function (e) { + return "@media " + e.media + "{" + o(e.rules) + "}" + }, + namespace: function (e) { + return "@namespace " + e.name + ";" + }, + page: function (e) { + return "@page " + (e.selectors.length ? e.selectors.join(", ") : "") + "{" + o(e.declarations) + "}" + }, + "page-margin-box": function (e) { + return "@" + e.name + "{" + o(e.declarations) + "}" + }, + rule: function (e) { + var t = e.declarations + if (t.length) return e.selectors.join(",") + "{" + o(t) + "}" + }, + supports: function (e) { + return "@supports " + e.supports + "{" + o(e.rules) + "}" + } + } + function o(e) { + for (var o = "", a = 0; a < e.length; a++) { + var s = e[a] + n && n(s) + var c = r[s.type](s) + c && ((o += c), c.length && s.selectors && (o += t)) + } + return o + } + return o(e.stylesheet.rules) + } + function d(e, t) { + e.rules.forEach(function (n) { + n.rules + ? d(n, t) + : n.keyframes + ? n.keyframes.forEach(function (e) { + "keyframe" === e.type && t(e.declarations, n) + }) + : n.declarations && t(n.declarations, e) + }) + } + a.range = c + function f(t) { + var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + r = { preserveStatic: !0, preserveVars: !1, variables: {}, onWarning: function () {} }, + o = e({}, r, n) + return ( + "string" == typeof t && (t = i(t, o)), + d(t.stylesheet, function (e, t) { + for (var n = 0; n < e.length; n++) { + var r = e[n], + a = r.type, + s = r.property, + c = r.value + if ("declaration" === a) + if (o.preserveVars || !s || 0 !== s.indexOf("--")) { + if (-1 !== c.indexOf("var(")) { + var i = p(c, o) + i !== r.value && ((i = m(i)), o.preserveVars ? (e.splice(n, 0, { type: a, property: s, value: i }), n++) : (r.value = i)) + } + } else e.splice(n, 1), n-- + } + }), + l(t) + ) + } + function m(e) { + return ( + (e.match(/calc\(([^)]+)\)/g) || []).forEach(function (t) { + var n = "calc".concat(t.split("calc").join("")) + e = e.replace(t, n) + }), + e + ) + } + function p(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, + n = arguments.length > 2 ? arguments[2] : void 0 + if (-1 === e.indexOf("var(")) return e + var r = o("(", ")", e) + function a(e) { + var r = e.split(",")[0].replace(/[\s\n\t]/g, ""), + o = (e.match(/(?:\s*,\s*){1}(.*)?/) || [])[1], + a = Object.prototype.hasOwnProperty.call(t.variables, r) ? String(t.variables[r]) : void 0, + s = a || (o ? String(o) : void 0), + c = n || e + return a || t.onWarning('variable "'.concat(r, '" is undefined')), s && "undefined" !== s && s.length > 0 ? p(s, t, c) : "var(".concat(c, ")") + } + if (r) { + if ("var" === r.pre.slice(-3)) { + var s = 0 === r.body.trim().length + return s ? (t.onWarning("var() must contain a non-whitespace string"), e) : r.pre.slice(0, -3) + a(r.body) + p(r.post, t) + } + return r.pre + "(".concat(p(r.body, t), ")") + p(r.post, t) + } + return -1 !== e.indexOf("var(") && t.onWarning('missing closing ")" in the value "'.concat(e, '"')), e + } + var v = "undefined" != typeof window, + h = v && window.CSS && window.CSS.supports && window.CSS.supports("(--a: 0)"), + y = { group: 0, job: 0 }, + g = { + rootElement: v ? document : null, + shadowDOM: !1, + include: "style,link[rel=stylesheet]", + exclude: "", + variables: {}, + onlyLegacy: !0, + preserveStatic: !0, + preserveVars: !1, + silent: !1, + updateDOM: !0, + updateURLs: !0, + watch: null, + onBeforeSend: function () {}, + onError: function () {}, + onWarning: function () {}, + onSuccess: function () {}, + onComplete: function () {}, + onFinally: function () {} + }, + b = { + cssComments: /\/\*[\s\S]+?\*\//g, + cssKeyframes: /@(?:-\w*-)?keyframes/, + cssMediaQueries: /@media[^{]+\{([\s\S]+?})\s*}/g, + cssUrls: /url\((?!['"]?(?:data|http|\/\/):)['"]?([^'")]*)['"]?\)/g, + cssVarDeclRules: /(?::(?:root|host)(?![.:#(])[\s,]*[^{]*{\s*[^}]*})/g, + cssVarDecls: /(?:[\s;]*)(-{2}\w[\w-]*)(?:\s*:\s*)([^;]*);/g, + cssVarFunc: /var\(\s*--[\w-]/, + cssVars: /(?:(?::(?:root|host)(?![.:#(])[\s,]*[^{]*{\s*[^;]*;*\s*)|(?:var\(\s*))(--[^:)]+)(?:\s*[:)])/ + }, + w = { dom: {}, job: {}, user: {} }, + E = !1, + S = null, + C = 0, + x = null, + A = !1 + function L() { + var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + r = "cssVars(): ", + o = e({}, g, t) + function a(e, t, n, a) { + !o.silent && window.console && console.error("".concat(r).concat(e, "\n"), t), o.onError(e, t, n, a) + } + function s(e) { + !o.silent && window.console && console.warn("".concat(r).concat(e)), o.onWarning(e) + } + function c(e) { + o.onFinally(Boolean(e), h, N() - o.__benchmark) + } + if (v) { + if (o.watch) return (o.watch = g.watch), k(o), void L(o) + if ((!1 === o.watch && S && (S.disconnect(), (S = null)), !o.__benchmark)) { + if (E === o.rootElement) return void O(t) + var d = [].slice.call(o.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars="out"])')) + if ( + ((o.__benchmark = N()), + (o.exclude = [S ? '[data-cssvars]:not([data-cssvars=""])' : '[data-cssvars="out"]', "link[disabled]:not([data-cssvars])", o.exclude] + .filter(function (e) { + return e + }) + .join(",")), + (o.variables = j(o.variables)), + d.forEach(function (e) { + var t = "style" === e.nodeName.toLowerCase() && e.__cssVars.text, + n = t && e.textContent !== e.__cssVars.text + t && n && (e.sheet && (e.sheet.disabled = !1), e.setAttribute("data-cssvars", "")) + }), + !S) + ) { + var m = [].slice.call(o.rootElement.querySelectorAll('[data-cssvars="out"]')) + m.forEach(function (e) { + var t = e.getAttribute("data-cssvars-group") + ;(t ? o.rootElement.querySelector('[data-cssvars="src"][data-cssvars-group="'.concat(t, '"]')) : null) || e.parentNode.removeChild(e) + }), + C && d.length < C && ((C = d.length), (w.dom = {})) + } + } + if ("loading" !== document.readyState) + if (h && o.onlyLegacy) { + var p = !1 + if (o.updateDOM) { + var x = o.rootElement.host || (o.rootElement === document ? document.documentElement : o.rootElement) + Object.keys(o.variables).forEach(function (e) { + var t = o.variables[e] + ;(p = p || t !== getComputedStyle(x).getPropertyValue(e)), x.style.setProperty(e, t) + }) + } + c(p) + } else + !A && (o.shadowDOM || o.rootElement.shadowRoot || o.rootElement.host) + ? n({ + rootElement: g.rootElement, + include: g.include, + exclude: o.exclude, + skipDisabled: !1, + onSuccess: function (e, t, n) { + return !((t.sheet || {}).disabled && !t.__cssVars) && ((e = ((e = e.replace(b.cssComments, "").replace(b.cssMediaQueries, "")).match(b.cssVarDeclRules) || []).join("")) || !1) + }, + onComplete: function (e, t, n) { + u(e, { store: w.dom, onWarning: s }), (A = !0), L(o) + } + }) + : ((E = o.rootElement), + n({ + rootElement: o.rootElement, + include: o.include, + exclude: o.exclude, + skipDisabled: !1, + onBeforeSend: o.onBeforeSend, + onError: function (e, t, n) { + var r = e.responseURL || T(n, location.href), + o = e.statusText ? "(".concat(e.statusText, ")") : "Unspecified Error" + (0 === e.status ? " (possibly CORS related)" : "") + a("CSS XHR Error: ".concat(r, " ").concat(e.status, " ").concat(o), t, e, r) + }, + onSuccess: function (e, t, n) { + if ((t.sheet || {}).disabled && !t.__cssVars) return !1 + var r = "link" === t.nodeName.toLowerCase(), + a = "style" === t.nodeName.toLowerCase() && e !== t.textContent, + s = o.onSuccess(e, t, n) + return (e = void 0 !== s && !1 === Boolean(s) ? "" : s || e), o.updateURLs && (r || a) && (e = M(e, n)), e + }, + onComplete: function (t, n) { + var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], + d = e({}, w.dom, w.user) + if ( + ((w.job = {}), + r.forEach(function (e, t) { + var r = n[t] + if (((e.__cssVars = e.__cssVars || {}), (e.__cssVars.text = r), b.cssVars.test(r))) + try { + var c = i(r, { preserveStatic: o.preserveStatic, removeComments: !0 }) + u(c, { parseHost: Boolean(o.rootElement.host), store: w.dom, onWarning: s }), (e.__cssVars.tree = c) + } catch (t) { + a(t.message, e) + } + }), + e(w.job, w.dom), + o.updateDOM ? (e(w.user, o.variables), e(w.job, w.user)) : (e(w.job, w.user, o.variables), e(d, o.variables)), + y.job > 0 && + Boolean( + Object.keys(w.job).length > Object.keys(d).length || + Boolean( + Object.keys(d).length && + Object.keys(w.job).some(function (e) { + return w.job[e] !== d[e] + }) + ) + )) + ) + V(o.rootElement), L(o) + else { + var m = [], + p = [], + v = !1 + if ( + (o.updateDOM && y.job++, + r.forEach(function (t, r) { + var c = !t.__cssVars.tree + if (t.__cssVars.tree) + try { + f(t.__cssVars.tree, e({}, o, { variables: w.job, onWarning: s })) + var i = l(t.__cssVars.tree) + if (o.updateDOM) { + var u = n[r], + d = b.cssVarFunc.test(u) + if ((t.getAttribute("data-cssvars") || t.setAttribute("data-cssvars", "src"), i.length && d)) { + var h = t.getAttribute("data-cssvars-group") || ++y.group, + g = i.replace(/\s/g, ""), + E = o.rootElement.querySelector('[data-cssvars="out"][data-cssvars-group="'.concat(h, '"]')) || document.createElement("style") + ;(v = v || b.cssKeyframes.test(i)), + o.preserveStatic && t.sheet && (t.sheet.disabled = !0), + E.hasAttribute("data-cssvars") || E.setAttribute("data-cssvars", "out"), + g === t.textContent.replace(/\s/g, "") + ? ((c = !0), E && E.parentNode && (t.removeAttribute("data-cssvars-group"), E.parentNode.removeChild(E))) + : g !== E.textContent.replace(/\s/g, "") && + ([t, E].forEach(function (e) { + e.setAttribute("data-cssvars-job", y.job), e.setAttribute("data-cssvars-group", h) + }), + (E.textContent = i), + m.push(i), + p.push(E), + E.parentNode || t.parentNode.insertBefore(E, t.nextSibling)) + } + } else t.textContent.replace(/\s/g, "") !== i && m.push(i) + } catch (e) { + a(e.message, t) + } + c && t.setAttribute("data-cssvars", "skip"), t.hasAttribute("data-cssvars-job") || t.setAttribute("data-cssvars-job", y.job) + }), + (C = o.rootElement.querySelectorAll('[data-cssvars]:not([data-cssvars="out"])').length), + o.shadowDOM) + ) + for (var h, g = [].concat(o.rootElement).concat([].slice.call(o.rootElement.querySelectorAll("*"))), S = 0; (h = g[S]); ++S) + if (h.shadowRoot && h.shadowRoot.querySelector("style")) { + var x = e({}, o, { rootElement: h.shadowRoot }) + L(x) + } + o.updateDOM && v && _(o.rootElement), (E = !1), o.onComplete(m.join(""), p, JSON.parse(JSON.stringify(w.job)), N() - o.__benchmark), c(p.length) + } + } + })) + else + document.addEventListener("DOMContentLoaded", function e(n) { + L(t), document.removeEventListener("DOMContentLoaded", e) + }) + } + } + function k(e) { + function t(e) { + var t = n(e) && e.hasAttribute("disabled"), + r = (e.sheet || {}).disabled + return t || r + } + function n(e) { + return "link" === e.nodeName.toLowerCase() && -1 !== (e.getAttribute("rel") || "").indexOf("stylesheet") + } + function r(e) { + return "style" === e.nodeName.toLowerCase() + } + window.MutationObserver && + (S && (S.disconnect(), (S = null)), + (S = new MutationObserver(function (o) { + o.some(function (o) { + return ( + (function (r) { + var o = !1 + if ("attributes" === r.type && n(r.target) && !t(r.target)) { + var a = "disabled" === r.attributeName, + s = "href" === r.attributeName, + c = "skip" === r.target.getAttribute("data-cssvars"), + i = "src" === r.target.getAttribute("data-cssvars") + a ? (o = !c && !i) : s && (c ? r.target.setAttribute("data-cssvars", "") : i && V(e.rootElement, !0), (o = !0)) + } + return o + })(o) || + (function (e) { + var t = !1 + if ("childList" === e.type) { + var n = r(e.target), + o = "out" === e.target.getAttribute("data-cssvars") + t = n && !o + } + return t + })(o) || + (function (e) { + var o = !1 + return ( + "childList" === e.type && + (o = [].slice.call(e.addedNodes).some(function (e) { + var o = 1 === e.nodeType && e.hasAttribute("data-cssvars"), + a = r(e) && b.cssVars.test(e.textContent) + return !o && (n(e) || a) && !t(e) + })), + o + ) + })(o) || + (function (t) { + var n = !1 + return ( + "childList" === t.type && + (n = [].slice.call(t.removedNodes).some(function (t) { + var n = 1 === t.nodeType, + r = n && "out" === t.getAttribute("data-cssvars"), + o = n && "src" === t.getAttribute("data-cssvars"), + a = o + if (o || r) { + var s = t.getAttribute("data-cssvars-group"), + c = e.rootElement.querySelector('[data-cssvars-group="'.concat(s, '"]')) + o && V(e.rootElement, !0), c && c.parentNode.removeChild(c) + } + return a + })), + n + ) + })(o) + ) + }) && L(e) + })).observe(document.documentElement, { attributes: !0, attributeFilter: ["disabled", "href"], childList: !0, subtree: !0 })) + } + function O(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 100 + clearTimeout(x), + (x = setTimeout(function () { + ;(e.__benchmark = null), L(e) + }, t)) + } + function _(e) { + var t = ["animation-name", "-moz-animation-name", "-webkit-animation-name"].filter(function (e) { + return getComputedStyle(document.body)[e] + })[0] + if (t) { + for (var n = e.getElementsByTagName("*"), r = [], o = "__CSSVARSPONYFILL-KEYFRAMES__", a = 0, s = n.length; a < s; a++) { + var c = n[a] + "none" !== getComputedStyle(c)[t] && ((c.style[t] += o), r.push(c)) + } + document.body.offsetHeight + for (var i = 0, u = r.length; i < u; i++) { + var l = r[i].style + l[t] = l[t].replace(o, "") + } + } + } + function M(e, t) { + return ( + (e.replace(b.cssComments, "").match(b.cssUrls) || []).forEach(function (n) { + var r = n.replace(b.cssUrls, "$1"), + o = T(r, t) + e = e.replace(n, n.replace(r, o)) + }), + e + ) + } + function j() { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + t = /^-{2}/ + return Object.keys(e).reduce(function (n, r) { + return (n[t.test(r) ? r : "--".concat(r.replace(/^-+/, ""))] = e[r]), n + }, {}) + } + function T(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : location.href, + n = document.implementation.createHTMLDocument(""), + r = n.createElement("base"), + o = n.createElement("a") + return n.head.appendChild(r), n.body.appendChild(o), (r.href = t), (o.href = e), o.href + } + function N() { + return v && (window.performance || {}).now ? window.performance.now() : new Date().getTime() + } + function V(e) { + var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + n = [].slice.call(e.querySelectorAll('[data-cssvars="skip"],[data-cssvars="src"]')) + n.forEach(function (e) { + return e.setAttribute("data-cssvars", "") + }), + t && (w.dom = {}) + } + function q(e, t) { + var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, + r = 3 === e.childNodes[0].nodeType, + o = e.querySelector("ul") + if (r && o) { + var a = Array.apply(null, e.children).some(function (e) { + return e.tabIndex > -1 + }).length + if (!a) { + var s = document.createElement("span") + for (null !== n && s.setAttribute("tabindex", n), e.insertBefore(s, o); e.childNodes[0] !== s; ) s.appendChild(e.childNodes[0]) + } + } + } + L.reset = function () { + for (var e in ((y.job = 0), (y.group = 0), (E = !1), S && (S.disconnect(), (S = null)), (C = 0), (x = null), (A = !1), w)) w[e] = {} + } + var R = "0.9.0" + function D(e, t) { + return Number("0." + ((window.Docsify || {}).version || "0").replace(/\./g, "")) < Number("0." + e.replace(/\./g, "")) ? t : null + } + if (window) { + var B = { onlyLegacy: !/Edge\/1[5678]/i.test(navigator.userAgent), silent: !0 } + L(B), + document.documentElement.classList.add("themeable"), + document.body.setAttribute("data-platform", navigator.platform), + (window.$docsify = window.$docsify || {}), + (window.$docsify.plugins = [] + .concat( + [ + function (e, t) { + e.init(function () { + !1 !== ((window.$docsify || {}).themeable || {}).readyTransition && + (document.body.classList.add("ready-transition"), + setTimeout(function () { + document.body.classList.add("ready-spinner") + }, 1), + e.ready(function () { + var e = document.querySelector("main") + e.addEventListener("transitionend", function t(n) { + document.body.classList.remove("ready-transition"), document.body.classList.remove("ready-spinner"), e.removeEventListener("transitionend", t) + }) + })) + }) + }, + function (e, t) { + e.doneEach(function () { + var e = document.querySelector(".cover h1 > a") + e && (e.parentNode.innerHTML = e.innerHTML) + }) + }, + function (e, t) { + e.doneEach(function () { + var e = Array.apply(null, document.querySelectorAll("body > nav.app-nav > ul > li")), + t = Array.apply(null, document.querySelectorAll(".sidebar > nav > ul > li")) + e.forEach(function (e) { + var t = "focus-within" + q(e, "span", 0), + e.addEventListener("focusin", function (n) { + e.contains(document.activeElement) && e.classList.add(t) + }), + e.addEventListener("focusout", function (n) { + e.contains(document.activeElement) || e.classList.remove(t) + }) + }), + t.forEach(function (e) { + q(e, "span") + }) + }) + }, + function (e, t) { + e.doneEach(function () { + Array.apply(null, document.querySelectorAll("pre[data-lang]")).forEach(function (e) { + var t = e.querySelector("code"), + n = "language-".concat(e.getAttribute("data-lang")) + e.classList.add(n), t.classList.add(n) + }) + }) + }, + function (e, t) { + e.mounted(function () { + var e = document.querySelector(".content"), + t = setInterval(function () { + e.textContent.length && (document.body.classList.add("ready-fix"), clearInterval(t)) + }, 250) + }), + e.ready(function () { + document.body.classList.add("ready-fix") + }) + }, + function (e, t) { + e.init(function () { + if (!1 !== ((window.$docsify || {}).themeable || {}).responsiveTables) { + var e = (window.$docsify.markdown = window.$docsify.markdown || {}), + t = (e.renderer = e.renderer || {}) + ;(e.smartypants = e.smartypants || !0), + (t.table = + t.table || + function (e, t) { + var n = '\n
\n \n ' + .concat(e, "\n ") + .concat(t, "\n
\n
") + try { + var r = document.createElement("div"), + o = document.head.appendChild(document.createElement("style")).sheet, + a = "_" + Math.random().toString(36).substr(2, 9) + r.innerHTML = n + var s = r.querySelector("table") + Array.apply(null, s.getElementsByTagName("th")) + .map(function (e) { + return e.innerHTML.replace(" ", " ") + }) + .forEach(function (e, t) { + var n = "#" + .concat(a, " td:nth-child(") + .concat(t + 1, ')::before{content:"') + .concat(e, '";}') + o.insertRule(n, o.cssRules.length) + }), + (s.id = a), + (n = r.innerHTML) + } catch (e) { + console.log("Failed to render responsive table: " + e) + } + return n + }) + } + }) + } + ], + window.$docsify.plugins || [], + [ + function (e, t) { + e.ready(function () { + var e = document.querySelector(".sidebar .search .clear-button") + if (e) { + var t = document.createElement("button") + ;(t.className = "clear-button"), + t.setAttribute("aria-label", "Clear search"), + (t.innerHTML = + '\n \n \n \n \n \n '), + e.parentNode.replaceChild(t, e) + } + }) + }, + D("4.8.0", function (e, t) { + e.ready(function () { + var e = document.querySelector(".sidebar .search"), + t = document.querySelector(".sidebar .search input[type=search]"), + n = document.querySelector(".sidebar .search .clear-button") + e && + e.addEventListener("click", function (r) { + ;(r.target === n || n.contains(r.target)) && (e.classList.remove("show"), t.focus()) + }), + t && + t.addEventListener("input", function (n) { + t.value.length ? e.classList.add("show") : e.classList.remove("show") + }) + }) + }), + D("4.8.0", function (e, t) { + var n = Element.prototype.matches || Element.prototype.webkitMatchesSelector || Element.prototype.msMatchesSelector + e.doneEach(function () { + var e = "medium-zoom-image" + Array.apply(null, document.querySelectorAll(".".concat(e))).forEach(function (t) { + var r = n.call(t, "a img"), + o = n.call(t, ".content img") + if (r || !o) { + var a = t.cloneNode(!0) + t.parentNode.replaceChild(a, t), a.classList.remove(e) + } + }) + }) + }) + ] + ) + .filter(function (e) { + return null !== e + })), + (window.$docsify.search = window.$docsify.search || {}), + (window.$docsify.search.hideOtherSidebarContent = !0), + (window.$docsify.themeable = window.$docsify.themeable || {}), + (window.$docsify.themeable.version = R), + (window.$docsify.themeable.semver = R.split(".")), + (window.$docsify.themeable.util = { + cssVars: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : B + L(e) + } + }) + } +})() +//# sourceMappingURL=docsify-themeable.min.js.map diff --git a/docs/src/docsify.min.js b/docs/src/docsify.min.js new file mode 100644 index 00000000..3ea3bd21 --- /dev/null +++ b/docs/src/docsify.min.js @@ -0,0 +1,5541 @@ +!(function () { + function c(i) { + var o = Object.create(null) + return function (e) { + var n = f(e) ? e : JSON.stringify(e) + return o[n] || (o[n] = i(e)) + } + } + var a = c(function (e) { + return e.replace(/([A-Z])/g, function (e) { + return "-" + e.toLowerCase() + }) + }), + u = Object.prototype.hasOwnProperty, + m = + Object.assign || + function (e) { + for (var n = arguments, i = 1; i < arguments.length; i++) { + var o, + t = Object(n[i]) + for (o in t) u.call(t, o) && (e[o] = t[o]) + } + return e + } + function f(e) { + return "string" == typeof e || "number" == typeof e + } + function d() {} + function o(e) { + return "function" == typeof e + } + function g(e) { + e = e.match(/^([^:/?#]+:)?(?:\/{2,}([^/?#]*))?([^?#]+)?(\?[^#]*)?(#.*)?/) + return ( + ("string" == typeof e[1] && 0 < e[1].length && e[1].toLowerCase() !== location.protocol) || + ("string" == typeof e[2] && 0 < e[2].length && e[2].replace(new RegExp(":(" + { "http:": 80, "https:": 443 }[location.protocol] + ")?$"), "") !== location.host) + ) + } + var s = document.body.clientWidth <= 600, + t = window.history && window.history.pushState && window.history.replaceState && !navigator.userAgent.match(/((iPod|iPhone|iPad).+\bOS\s+[1-4]\D|WebApps\/.+CFNetwork)/), + i = {} + function l(e, n) { + if ((void 0 === n && (n = !1), "string" == typeof e)) { + if (void 0 !== window.Vue) return b(e) + e = n ? b(e) : i[e] || (i[e] = b(e)) + } + return e + } + var v = document, + h = v.body, + _ = v.head + function b(e, n) { + return n ? e.querySelector(n) : v.querySelector(e) + } + function k(e, n) { + return [].slice.call(n ? e.querySelectorAll(n) : v.querySelectorAll(e)) + } + function w(e, n) { + return (e = v.createElement(e)), n && (e.innerHTML = n), e + } + function r(e, n) { + return e.appendChild(n) + } + function y(e, n) { + return e.insertBefore(n, e.children[0]) + } + function p(e, n, i) { + o(n) ? window.addEventListener(e, n) : e.addEventListener(n, i) + } + function x(e, n, i) { + o(n) ? window.removeEventListener(e, n) : e.removeEventListener(n, i) + } + function S(e, n, i) { + e && e.classList[i ? n : "toggle"](i || n) + } + function e(e, n) { + var i = (n = void 0 === n ? document : n).readyState + if ("complete" === i || "interactive" === i) return setTimeout(e, 0) + n.addEventListener("DOMContentLoaded", e) + } + var n = Object.freeze({ + __proto__: null, + getNode: l, + $: v, + body: h, + head: _, + find: b, + findAll: k, + create: w, + appendTo: r, + before: y, + on: p, + off: x, + toggleClass: S, + style: function (e) { + r(_, w("style", e)) + }, + documentReady: e + }) + function A(e, n) { + return -1 !== e.indexOf(n, e.length - n.length) + } + var $ = decodeURIComponent, + z = encodeURIComponent + function F(e) { + var n = {} + return ( + (e = e.trim().replace(/^(\?|#|&)/, "")) && + e.split("&").forEach(function (e) { + e = e.replace(/\+/g, " ").split("=") + n[e[0]] = e[1] && $(e[1]) + }), + n + ) + } + function E(e, n) { + void 0 === n && (n = []) + var i, + o = [] + for (i in e) -1 < n.indexOf(i) || o.push(e[i] ? (z(i) + "=" + z(e[i])).toLowerCase() : z(i)) + return o.length ? "?" + o.join("&") : "" + } + var T = c(function (e) { + return /(:|(\/{2}))/g.test(e) + }), + C = c(function (e) { + return e.split(/[?#]/)[0] + }), + R = c(function (e) { + if (/\/$/g.test(e)) return e + e = e.match(/(\S*\/)[^/]+$/) + return e ? e[1] : "" + }), + j = c(function (e) { + return e.replace(/^\/+/, "/").replace(/([^:])\/{2,}/g, "$1/") + }), + O = c(function (e) { + for (var n = e.replace(/^\//, "").split("/"), i = [], o = 0, t = n.length; o < t; o++) { + var a = n[o] + ".." === a ? i.pop() : "." !== a && i.push(a) + } + return "/" + i.join("/") + }) + function L(e) { + return e + .split("/") + .filter(function (e) { + return -1 === e.indexOf("#") + }) + .join("/") + } + function q() { + for (var e = [], n = arguments.length; n--; ) e[n] = arguments[n] + return j(e.map(L).join("/")) + } + var P = c(function (e) { + return e.replace("#", "?id=") + }), + M = {} + function I(e) { + this.config = e + } + function N(e) { + var n = location.href.indexOf("#") + location.replace(location.href.slice(0, 0 <= n ? n : 0) + "#" + e) + } + ;(I.prototype.getBasePath = function () { + return this.config.basePath + }), + (I.prototype.getFile = function (e, n) { + void 0 === e && (e = this.getCurrentPath()) + var i, + o, + t = this.config, + a = this.getBasePath(), + r = "string" == typeof t.ext ? t.ext : ".md" + return ( + (e = t.alias + ? (function e(n, i, o) { + var t = Object.keys(i).filter(function (e) { + return (M[e] || (M[e] = new RegExp("^" + e + "$"))).test(n) && n !== o + })[0] + return t ? e(n.replace(M[t], i[t]), i, n) : n + })(e, t.alias) + : e), + (i = e), + (o = r), + (e = ((e = new RegExp("\\.(" + o.replace(/^\./, "") + "|html)$", "g").test(i) ? i : /\/$/g.test(i) ? i + "README" + o : "" + i + o) === "/README" + r && t.homepage) || e), + (e = T(e) ? e : q(a, e)), + (e = n ? e.replace(new RegExp("^" + a), "") : e) + ) + }), + (I.prototype.onchange = function (e) { + ;(e = void 0 === e ? d : e)() + }), + (I.prototype.getCurrentPath = function () {}), + (I.prototype.normalize = function () {}), + (I.prototype.parse = function () {}), + (I.prototype.toURL = function (e, n, i) { + var o = i && "#" === e[0], + t = this.parse(P(e)) + if ( + ((t.query = m({}, t.query, n)), + (e = (e = t.path + E(t.query)).replace(/\.md(\?)|\.md$/, "$1")), + o && (e = (0 < (o = i.indexOf("?")) ? i.substring(0, o) : i) + e), + this.config.relativePath && 0 !== e.indexOf("/")) + ) { + i = i.substring(0, i.lastIndexOf("/") + 1) + return j(O(i + e)) + } + return j("/" + e) + }) + var H = (function (o) { + function e(e) { + o.call(this, e), (this.mode = "hash") + } + return ( + o && (e.__proto__ = o), + (((e.prototype = Object.create(o && o.prototype)).constructor = e).prototype.getBasePath = function () { + var e = window.location.pathname || "", + n = this.config.basePath, + e = A(e, ".html") ? e + "#/" + n : e + "/" + n + return /^(\/|https?:)/g.test(n) ? n : j(e) + }), + (e.prototype.getCurrentPath = function () { + var e = location.href, + n = e.indexOf("#") + return -1 === n ? "" : e.slice(n + 1) + }), + (e.prototype.onchange = function (i) { + void 0 === i && (i = d) + var o = !1 + p("click", function (e) { + e = "A" === e.target.tagName ? e.target : e.target.parentNode + e && "A" === e.tagName && !/_blank/.test(e.target) && (o = !0) + }), + p("hashchange", function (e) { + var n = o ? "navigate" : "history" + ;(o = !1), i({ event: e, source: n }) + }) + }), + (e.prototype.normalize = function () { + var e = this.getCurrentPath() + if ("/" === (e = P(e)).charAt(0)) return N(e) + N("/" + e) + }), + (e.prototype.parse = function (e) { + var n = "", + i = (e = void 0 === e ? location.href : e).indexOf("#"), + i = (e = 0 <= i ? e.slice(i + 1) : e).indexOf("?") + return 0 <= i && ((n = e.slice(i + 1)), (e = e.slice(0, i))), { path: e, file: this.getFile(e, !0), query: F(n) } + }), + (e.prototype.toURL = function (e, n, i) { + return "#" + o.prototype.toURL.call(this, e, n, i) + }), + e + ) + })(I), + D = (function (n) { + function e(e) { + n.call(this, e), (this.mode = "history") + } + return ( + n && (e.__proto__ = n), + (((e.prototype = Object.create(n && n.prototype)).constructor = e).prototype.getCurrentPath = function () { + var e = this.getBasePath(), + n = window.location.pathname + return ((n = e && 0 === n.indexOf(e) ? n.slice(e.length) : n) || "/") + window.location.search + window.location.hash + }), + (e.prototype.onchange = function (i) { + var o = this + void 0 === i && (i = d), + p("click", function (e) { + var n = "A" === e.target.tagName ? e.target : e.target.parentNode + n && + "A" === n.tagName && + !/_blank/.test(n.target) && + (e.preventDefault(), + (n = n.href), + -1 !== o.config.crossOriginLinks.indexOf(n) ? window.open(n, "_self") : window.history.pushState({ key: n }, "", n), + i({ event: e, source: "navigate" })) + }), + p("popstate", function (e) { + i({ event: e, source: "history" }) + }) + }), + (e.prototype.parse = function (e) { + var n = "", + i = (e = void 0 === e ? location.href : e).indexOf("?") + 0 <= i && ((n = e.slice(i + 1)), (e = e.slice(0, i))) + var o = q(location.origin), + i = e.indexOf(o) + return { path: (e = -1 < i ? e.slice(i + o.length) : e), file: this.getFile(e), query: F(n) } + }), + e + ) + })(I), + U = {} + var Z, + B, + V = /([^{]*?)\w(?=\})/g, + Y = { + YYYY: "getFullYear", + YY: "getYear", + MM: function (e) { + return e.getMonth() + 1 + }, + DD: "getDate", + HH: "getHours", + mm: "getMinutes", + ss: "getSeconds", + fff: "getMilliseconds" + } + function G(e) { + var n, + i = e.loaded, + o = e.total, + t = e.step + Z || ((e = w("div")).classList.add("progress"), r(h, e), (Z = e)), + (n = t ? (80 < (n = parseInt(Z.style.width || 0, 10) + t) ? 80 : n) : Math.floor((i / o) * 100)), + (Z.style.opacity = 1), + (Z.style.width = 95 <= n ? "100%" : n + "%"), + 95 <= n && + (clearTimeout(B), + (B = setTimeout(function (e) { + ;(Z.style.opacity = 0), (Z.style.width = "0%") + }, 200))) + } + var W = {} + function X(t, e, n) { + void 0 === e && (e = !1), void 0 === n && (n = {}) + function a() { + r.addEventListener.apply(r, arguments) + } + var i, + r = new XMLHttpRequest(), + o = W[t] + if (o) + return { + then: function (e) { + return e(o.content, o.opt) + }, + abort: d + } + for (i in (r.open("GET", t), n)) u.call(n, i) && r.setRequestHeader(i, n[i]) + return ( + r.send(), + { + then: function (n, i) { + var o + void 0 === i && (i = d), + e && + ((o = setInterval(function (e) { + return G({ step: Math.floor(5 * Math.random() + 1) }) + }, 500)), + a("progress", G), + a("loadend", function (e) { + G(e), clearInterval(o) + })), + a("error", i), + a("load", function (e) { + var e = e.target + 400 <= e.status ? i(e) : ((e = W[t] = { content: e.response, opt: { updatedAt: r.getResponseHeader("last-modified") } }), n(e.content, e.opt)) + }) + }, + abort: function (e) { + return 4 !== r.readyState && r.abort() + } + } + ) + } + function Q(e, n) { + e.innerHTML = e.innerHTML.replace(/var\(\s*--theme-color.*?\)/g, n) + } + var J = v.title + function K() { + var e, + n = l("section.cover") + n && ((e = n.getBoundingClientRect().height), window.pageYOffset >= e || n.classList.contains("hidden") ? S(h, "add", "sticky") : S(h, "remove", "sticky")) + } + function ee(e, n, o, i) { + var t = [] + null != (n = l(n)) && (t = k(n, "a")) + var a, + r = decodeURI(e.toURL(e.getCurrentPath())) + return ( + t + .sort(function (e, n) { + return n.href.length - e.href.length + }) + .forEach(function (e) { + var n = decodeURI(e.getAttribute("href")), + i = o ? e.parentNode : e + ;(e.title = e.title || e.innerText), 0 !== r.indexOf(n) || a ? S(i, "remove", "active") : ((a = e), S(i, "add", "active")) + }), + i && (v.title = a ? a.title || a.innerText + " - " + J : J), + a + ) + } + function ne(e, n) { + for (var i = 0; i < n.length; i++) { + var o = n[i] + ;(o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o) + } + } + var ie = + ((function (e, n, i) { + return n && ne(e.prototype, n), i && ne(e, i), e + })(oe, [ + { + key: "getIntermediateValue", + value: function (e) { + return this.decimal ? e : Math.round(e) + } + }, + { + key: "getFinalValue", + value: function () { + return this.end + } + } + ]), + oe) + function oe() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {} + !(function (e, n) { + if (!(e instanceof n)) throw new TypeError("Cannot call a class as a function") + })(this, oe), + (this.start = e.start), + (this.end = e.end), + (this.decimal = e.decimal) + } + function te(e, n) { + for (var i = 0; i < n.length; i++) { + var o = n[i] + ;(o.enumerable = o.enumerable || !1), (o.configurable = !0), "value" in o && (o.writable = !0), Object.defineProperty(e, o.key, o) + } + } + var ae = + ((function (e, n, i) { + return n && te(e.prototype, n), i && te(e, i), e + })(re, [ + { + key: "begin", + value: function () { + return this.isRunning || this.next === this.end || (this.frame = window.requestAnimationFrame(this._tick.bind(this))), this + } + }, + { + key: "stop", + value: function () { + return window.cancelAnimationFrame(this.frame), (this.isRunning = !1), (this.frame = null), (this.timeStart = null), (this.next = null), this + } + }, + { + key: "on", + value: function (e, n) { + return (this.events[e] = this.events[e] || []), this.events[e].push(n), this + } + }, + { + key: "_emit", + value: function (e, n) { + var i = this, + e = this.events[e] + e && + e.forEach(function (e) { + return e.call(i, n) + }) + } + }, + { + key: "_tick", + value: function (e) { + this.isRunning = !0 + var n = this.next || this.start + this.timeStart || (this.timeStart = e), + (this.timeElapsed = e - this.timeStart), + (this.next = this.ease(this.timeElapsed, this.start, this.end - this.start, this.duration)), + this._shouldTick(n) + ? (this._emit("tick", this.tweener.getIntermediateValue(this.next)), (this.frame = window.requestAnimationFrame(this._tick.bind(this)))) + : (this._emit("tick", this.tweener.getFinalValue()), this._emit("done", null)) + } + }, + { + key: "_shouldTick", + value: function (e) { + return { up: this.next < this.end && e <= this.next, down: this.next > this.end && e >= this.next }[this.direction] + } + }, + { + key: "_defaultEase", + value: function (e, n, i, o) { + return (e /= o / 2) < 1 ? (i / 2) * e * e + n : (-i / 2) * (--e * (e - 2) - 1) + n + } + } + ]), + re) + function re() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {} + !(function (e, n) { + if (!(e instanceof n)) throw new TypeError("Cannot call a class as a function") + })(this, re), + (this.duration = e.duration || 1e3), + (this.ease = e.easing || this._defaultEase), + (this.tweener = e.tweener || new ie(e)), + (this.start = this.tweener.start), + (this.end = this.tweener.end), + (this.frame = null), + (this.next = null), + (this.isRunning = !1), + (this.events = {}), + (this.direction = this.start < this.end ? "up" : "down") + } + var ce = document.currentScript + function ue(e) { + var n, + i = m( + { + auto2top: !1, + autoHeader: !1, + basePath: "", + catchPluginErrors: !0, + cornerExternalLinkTarget: "_blank", + coverpage: "", + crossOriginLinks: [], + el: "#app", + executeScript: null, + ext: ".md", + externalLinkRel: "noopener", + externalLinkTarget: "_blank", + formatUpdated: "", + ga: "", + homepage: "README.md", + loadNavbar: null, + loadSidebar: null, + maxLevel: 6, + mergeNavbar: !1, + name: "", + nameLink: window.location.pathname, + nativeEmoji: !1, + noCompileLinks: [], + noEmoji: !1, + notFoundPage: !0, + relativePath: !1, + repo: "", + routes: {}, + routerMode: "hash", + subMaxLevel: 0, + themeColor: "", + topMargin: 0 + }, + "function" == typeof window.$docsify ? window.$docsify(e) : window.$docsify + ), + o = + ce || + [].slice.call(document.getElementsByTagName("script")).filter(function (e) { + return /docsify\./.test(e.src) + })[0] + if (o) for (var t in i) !u.call(i, t) || (f((n = o.getAttribute("data-" + a(t)))) && (i[t] = "" === n || n)) + return ( + !0 === i.loadSidebar && (i.loadSidebar = "_sidebar" + i.ext), + !0 === i.loadNavbar && (i.loadNavbar = "_navbar" + i.ext), + !0 === i.coverpage && (i.coverpage = "_coverpage" + i.ext), + !0 === i.repo && (i.repo = ""), + !0 === i.name && (i.name = ""), + (window.$docsify = i) + ) + } + var fe = {}, + pe = !1, + de = null, + ge = !0, + se = 0 + function le(e) { + if (ge) { + for ( + var n, + i = l(".sidebar"), + o = k(".anchor"), + t = b(i, ".sidebar-nav"), + a = b(i, "li.active"), + r = document.documentElement, + c = ((r && r.scrollTop) || document.body.scrollTop) - se, + u = 0, + f = o.length; + u < f; + u += 1 + ) { + var p = o[u] + if (p.offsetTop > c) { + n = n || p + break + } + n = p + } + !n || + ((r = fe[ve(e, n.getAttribute("data-id"))]) && + r !== a && + (a && a.classList.remove("active"), + r.classList.add("active"), + (a = r), + !pe && + h.classList.contains("sticky") && + ((e = i.clientHeight), (r = a.offsetTop + a.clientHeight + 40), (a = a.offsetTop >= t.scrollTop && r <= t.scrollTop + e), (i.scrollTop = a ? t.scrollTop : +r < e ? 0 : r - e)))) + } + } + function ve(e, n) { + return decodeURIComponent(e) + "?id=" + decodeURIComponent(n) + } + function he(e, n) { + var i, o + n && + ((o = ue().topMargin), + (i = b("#" + n)) && + ((i = i), + void 0 === (o = o) && (o = 0), + de && de.stop(), + (ge = !1), + (de = new ae({ start: window.pageYOffset, end: Math.round(i.getBoundingClientRect().top) + window.pageYOffset - o, duration: 500 }) + .on("tick", function (e) { + return window.scrollTo(0, e) + }) + .on("done", function () { + ;(ge = !0), (de = null) + }) + .begin())), + (e = fe[ve(e, n)]), + (n = b(l(".sidebar"), "li.active")) && n.classList.remove("active"), + e && e.classList.add("active")) + } + var _e = v.scrollingElement || v.documentElement + var me = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {} + function be(e, n) { + return e((n = { exports: {} }), n.exports), n.exports + } + function ke(e) { + return $e[e] + } + var we = be(function (n) { + function e() { + return { + baseUrl: null, + breaks: !1, + gfm: !0, + headerIds: !0, + headerPrefix: "", + highlight: null, + langPrefix: "language-", + mangle: !0, + pedantic: !1, + renderer: null, + sanitize: !1, + sanitizer: null, + silent: !1, + smartLists: !1, + smartypants: !1, + tokenizer: null, + walkTokens: null, + xhtml: !1 + } + } + n.exports = { + defaults: e(), + getDefaults: e, + changeDefaults: function (e) { + n.exports.defaults = e + } + } + }), + ye = (we.defaults, we.getDefaults, we.changeDefaults, /[&<>"']/), + xe = /[&<>"']/g, + Se = /[<>"']|&(?!#?\w+;)/, + Ae = /[<>"']|&(?!#?\w+;)/g, + $e = { "&": "&", "<": "<", ">": ">", '"': """, "'": "'" } + var ze = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi + function Fe(e) { + return e.replace(ze, function (e, n) { + return "colon" === (n = n.toLowerCase()) ? ":" : "#" === n.charAt(0) ? ("x" === n.charAt(1) ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1))) : "" + }) + } + var Ee = /(^|[^\[])\^/g + var Te = /[^\w:]/g, + Ce = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i + var Re = {}, + je = /^[^:]+:\/*[^/]*$/, + Oe = /^([^:]+:)[\s\S]*$/, + Le = /^([^:]+:\/*[^/]*)[\s\S]*$/ + function qe(e, n) { + Re[" " + e] || (je.test(e) ? (Re[" " + e] = e + "/") : (Re[" " + e] = Pe(e, "/", !0))) + var i = -1 === (e = Re[" " + e]).indexOf(":") + return "//" === n.substring(0, 2) ? (i ? n : e.replace(Oe, "$1") + n) : "/" === n.charAt(0) ? (i ? n : e.replace(Le, "$1") + n) : e + n + } + function Pe(e, n, i) { + var o = e.length + if (0 === o) return "" + for (var t = 0; t < o; ) { + var a = e.charAt(o - t - 1) + if (a !== n || i) { + if (a === n || !i) break + t++ + } else t++ + } + return e.substr(0, o - t) + } + var Me = function (e, n) { + if (n) { + if (ye.test(e)) return e.replace(xe, ke) + } else if (Se.test(e)) return e.replace(Ae, ke) + return e + }, + Ie = Fe, + Ne = function (i, e) { + ;(i = i.source || i), (e = e || "") + var o = { + replace: function (e, n) { + return (n = (n = n.source || n).replace(Ee, "$1")), (i = i.replace(e, n)), o + }, + getRegex: function () { + return new RegExp(i, e) + } + } + return o + }, + He = function (e, n, i) { + if (e) { + var o + try { + o = decodeURIComponent(Fe(i)).replace(Te, "").toLowerCase() + } catch (e) { + return null + } + if (0 === o.indexOf("javascript:") || 0 === o.indexOf("vbscript:") || 0 === o.indexOf("data:")) return null + } + n && !Ce.test(i) && (i = qe(n, i)) + try { + i = encodeURI(i).replace(/%25/g, "%") + } catch (e) { + return null + } + return i + }, + De = { exec: function () {} }, + Ue = function (e) { + for (var n, i, o = arguments, t = 1; t < arguments.length; t++) for (i in (n = o[t])) Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]) + return e + }, + Ze = function (e, n) { + var i = e + .replace(/\|/g, function (e, n, i) { + for (var o = !1, t = n; 0 <= --t && "\\" === i[t]; ) o = !o + return o ? "|" : " |" + }) + .split(/ \|/), + o = 0 + if (i.length > n) i.splice(n) + else for (; i.length < n; ) i.push("") + for (; o < i.length; o++) i[o] = i[o].trim().replace(/\\\|/g, "|") + return i + }, + Be = Pe, + Ve = function (e, n) { + if (-1 === e.indexOf(n[1])) return -1 + for (var i = e.length, o = 0, t = 0; t < i; t++) + if ("\\" === e[t]) t++ + else if (e[t] === n[0]) o++ + else if (e[t] === n[1] && --o < 0) return t + return -1 + }, + Ye = function (e) { + e && + e.sanitize && + !e.silent && + console.warn( + "marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options" + ) + }, + Ge = function (e, n) { + if (n < 1) return "" + for (var i = ""; 1 < n; ) 1 & n && (i += e), (n >>= 1), (e += e) + return i + e + }, + We = we.defaults, + Xe = Be, + Qe = Ze, + Je = Me, + Ke = Ve + function en(e, n, i) { + var o = n.href, + t = n.title ? Je(n.title) : null, + n = e[1].replace(/\\([\[\]])/g, "$1") + return "!" !== e[0].charAt(0) ? { type: "link", raw: i, href: o, title: t, text: n } : { type: "image", raw: i, href: o, title: t, text: Je(n) } + } + var nn = (function () { + function e(e) { + this.options = e || We + } + return ( + (e.prototype.space = function (e) { + e = this.rules.block.newline.exec(e) + if (e) return 1 < e[0].length ? { type: "space", raw: e[0] } : { raw: "\n" } + }), + (e.prototype.code = function (e, n) { + e = this.rules.block.code.exec(e) + if (e) { + n = n[n.length - 1] + if (n && "paragraph" === n.type) return { raw: e[0], text: e[0].trimRight() } + n = e[0].replace(/^ {1,4}/gm, "") + return { type: "code", raw: e[0], codeBlockStyle: "indented", text: this.options.pedantic ? n : Xe(n, "\n") } + } + }), + (e.prototype.fences = function (e) { + var n = this.rules.block.fences.exec(e) + if (n) { + var i = n[0], + e = (function (e, n) { + if (null === (e = e.match(/^(\s+)(?:```)/))) return n + var i = e[1] + return n + .split("\n") + .map(function (e) { + var n = e.match(/^\s+/) + return null !== n && n[0].length >= i.length ? e.slice(i.length) : e + }) + .join("\n") + })(i, n[3] || "") + return { type: "code", raw: i, lang: n[2] && n[2].trim(), text: e } + } + }), + (e.prototype.heading = function (e) { + var n = this.rules.block.heading.exec(e) + if (n) { + var i = n[2].trim() + return /#$/.test(i) && ((e = Xe(i, "#")), (!this.options.pedantic && e && !/ $/.test(e)) || (i = e.trim())), { type: "heading", raw: n[0], depth: n[1].length, text: i } + } + }), + (e.prototype.nptable = function (e) { + e = this.rules.block.nptable.exec(e) + if (e) { + var n = { + type: "table", + header: Qe(e[1].replace(/^ *| *\| *$/g, "")), + align: e[2].replace(/^ *|\| *$/g, "").split(/ *\| */), + cells: e[3] ? e[3].replace(/\n$/, "").split("\n") : [], + raw: e[0] + } + if (n.header.length === n.align.length) { + for (var i = n.align.length, o = 0; o < i; o++) + /^ *-+: *$/.test(n.align[o]) + ? (n.align[o] = "right") + : /^ *:-+: *$/.test(n.align[o]) + ? (n.align[o] = "center") + : /^ *:-+ *$/.test(n.align[o]) + ? (n.align[o] = "left") + : (n.align[o] = null) + for (i = n.cells.length, o = 0; o < i; o++) n.cells[o] = Qe(n.cells[o], n.header.length) + return n + } + } + }), + (e.prototype.hr = function (e) { + e = this.rules.block.hr.exec(e) + if (e) return { type: "hr", raw: e[0] } + }), + (e.prototype.blockquote = function (e) { + var n = this.rules.block.blockquote.exec(e) + if (n) { + e = n[0].replace(/^ *> ?/gm, "") + return { type: "blockquote", raw: n[0], text: e } + } + }), + (e.prototype.list = function (e) { + e = this.rules.block.list.exec(e) + if (e) { + for ( + var n, + i, + o, + t, + a, + r = e[0], + c = e[2], + u = 1 < c.length, + f = { type: "list", raw: r, ordered: u, start: u ? +c.slice(0, -1) : "", loose: !1, items: [] }, + p = e[0].match(this.rules.block.item), + d = !1, + g = p.length, + s = this.rules.block.listItemStart.exec(p[0]), + l = 0; + l < g; + l++ + ) { + if (((r = n = p[l]), l !== g - 1)) { + if (((o = this.rules.block.listItemStart.exec(p[l + 1])), this.options.pedantic ? o[1].length > s[1].length : o[1].length > s[0].length || 3 < o[1].length)) { + p.splice(l, 2, p[l] + "\n" + p[l + 1]), l--, g-- + continue + } + ;(!this.options.pedantic || this.options.smartLists ? o[2][o[2].length - 1] !== c[c.length - 1] : u == (1 === o[2].length)) && + ((i = p.slice(l + 1).join("\n")), (f.raw = f.raw.substring(0, f.raw.length - i.length)), (l = g - 1)), + (s = o) + } + ;(o = n.length), + ~(n = n.replace(/^ *([*+-]|\d+[.)]) ?/, "")).indexOf("\n ") && + ((o -= n.length), (n = this.options.pedantic ? n.replace(/^ {1,4}/gm, "") : n.replace(new RegExp("^ {1," + o + "}", "gm"), ""))), + (o = d || /\n\n(?!\s*$)/.test(n)), + l !== g - 1 && ((d = "\n" === n.charAt(n.length - 1)), (o = o || d)), + o && (f.loose = !0), + this.options.gfm && ((a = void 0), (t = /^\[[ xX]\] /.test(n)) && ((a = " " !== n[1]), (n = n.replace(/^\[[ xX]\] +/, "")))), + f.items.push({ type: "list_item", raw: r, task: t, checked: a, loose: o, text: n }) + } + return f + } + }), + (e.prototype.html = function (e) { + e = this.rules.block.html.exec(e) + if (e) + return { + type: this.options.sanitize ? "paragraph" : "html", + raw: e[0], + pre: !this.options.sanitizer && ("pre" === e[1] || "script" === e[1] || "style" === e[1]), + text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(e[0]) : Je(e[0])) : e[0] + } + }), + (e.prototype.def = function (e) { + e = this.rules.block.def.exec(e) + if (e) return e[3] && (e[3] = e[3].substring(1, e[3].length - 1)), { tag: e[1].toLowerCase().replace(/\s+/g, " "), raw: e[0], href: e[2], title: e[3] } + }), + (e.prototype.table = function (e) { + e = this.rules.block.table.exec(e) + if (e) { + var n = { type: "table", header: Qe(e[1].replace(/^ *| *\| *$/g, "")), align: e[2].replace(/^ *|\| *$/g, "").split(/ *\| */), cells: e[3] ? e[3].replace(/\n$/, "").split("\n") : [] } + if (n.header.length === n.align.length) { + n.raw = e[0] + for (var i = n.align.length, o = 0; o < i; o++) + /^ *-+: *$/.test(n.align[o]) + ? (n.align[o] = "right") + : /^ *:-+: *$/.test(n.align[o]) + ? (n.align[o] = "center") + : /^ *:-+ *$/.test(n.align[o]) + ? (n.align[o] = "left") + : (n.align[o] = null) + for (i = n.cells.length, o = 0; o < i; o++) n.cells[o] = Qe(n.cells[o].replace(/^ *\| *| *\| *$/g, ""), n.header.length) + return n + } + } + }), + (e.prototype.lheading = function (e) { + e = this.rules.block.lheading.exec(e) + if (e) return { type: "heading", raw: e[0], depth: "=" === e[2].charAt(0) ? 1 : 2, text: e[1] } + }), + (e.prototype.paragraph = function (e) { + e = this.rules.block.paragraph.exec(e) + if (e) return { type: "paragraph", raw: e[0], text: "\n" === e[1].charAt(e[1].length - 1) ? e[1].slice(0, -1) : e[1] } + }), + (e.prototype.text = function (e, n) { + e = this.rules.block.text.exec(e) + if (e) { + n = n[n.length - 1] + return n && "text" === n.type ? { raw: e[0], text: e[0] } : { type: "text", raw: e[0], text: e[0] } + } + }), + (e.prototype.escape = function (e) { + e = this.rules.inline.escape.exec(e) + if (e) return { type: "escape", raw: e[0], text: Je(e[1]) } + }), + (e.prototype.tag = function (e, n, i) { + e = this.rules.inline.tag.exec(e) + if (e) + return ( + !n && /^/i.test(e[0]) && (n = !1), + !i && /^<(pre|code|kbd|script)(\s|>)/i.test(e[0]) ? (i = !0) : i && /^<\/(pre|code|kbd|script)(\s|>)/i.test(e[0]) && (i = !1), + { + type: this.options.sanitize ? "text" : "html", + raw: e[0], + inLink: n, + inRawBlock: i, + text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(e[0]) : Je(e[0])) : e[0] + } + ) + }), + (e.prototype.link = function (e) { + var n = this.rules.inline.link.exec(e) + if (n) { + e = n[2].trim() + if (!this.options.pedantic && /^$/.test(e)) return + var i = Xe(e.slice(0, -1), "\\") + if ((e.length - i.length) % 2 == 0) return + } else { + var o = Ke(n[2], "()") + ;-1 < o && ((t = (0 === n[0].indexOf("!") ? 5 : 4) + n[1].length + o), (n[2] = n[2].substring(0, o)), (n[0] = n[0].substring(0, t).trim()), (n[3] = "")) + } + var t, + i = n[2], + o = "" + return ( + this.options.pedantic ? (t = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(i)) && ((i = t[1]), (o = t[3])) : (o = n[3] ? n[3].slice(1, -1) : ""), + (i = i.trim()), + en( + n, + { + href: (i = /^$/.test(e) ? i.slice(1) : i.slice(1, -1)) : i) && i.replace(this.rules.inline._escapes, "$1"), + title: o && o.replace(this.rules.inline._escapes, "$1") + }, + n[0] + ) + ) + } + }), + (e.prototype.reflink = function (e, n) { + if ((i = this.rules.inline.reflink.exec(e)) || (i = this.rules.inline.nolink.exec(e))) { + var e = (i[2] || i[1]).replace(/\s+/g, " ") + if ((e = n[e.toLowerCase()]) && e.href) return en(i, e, i[0]) + var i = i[0].charAt(0) + return { type: "text", raw: i, text: i } + } + }), + (e.prototype.strong = function (e, n, i) { + void 0 === i && (i = "") + var o = this.rules.inline.strong.start.exec(e) + if (o && (!o[1] || (o[1] && ("" === i || this.rules.inline.punctuation.exec(i))))) { + n = n.slice(-1 * e.length) + var t, + a = "**" === o[0] ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd + for (a.lastIndex = 0; null != (o = a.exec(n)); ) + if ((t = this.rules.inline.strong.middle.exec(n.slice(0, o.index + 3)))) return { type: "strong", raw: e.slice(0, t[0].length), text: e.slice(2, t[0].length - 2) } + } + }), + (e.prototype.em = function (e, n, i) { + void 0 === i && (i = "") + var o = this.rules.inline.em.start.exec(e) + if (o && (!o[1] || (o[1] && ("" === i || this.rules.inline.punctuation.exec(i))))) { + n = n.slice(-1 * e.length) + var t, + a = "*" === o[0] ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd + for (a.lastIndex = 0; null != (o = a.exec(n)); ) + if ((t = this.rules.inline.em.middle.exec(n.slice(0, o.index + 2)))) return { type: "em", raw: e.slice(0, t[0].length), text: e.slice(1, t[0].length - 1) } + } + }), + (e.prototype.codespan = function (e) { + var n = this.rules.inline.code.exec(e) + if (n) { + var i = n[2].replace(/\n/g, " "), + o = /[^ ]/.test(i), + e = /^ /.test(i) && / $/.test(i) + return o && e && (i = i.substring(1, i.length - 1)), (i = Je(i, !0)), { type: "codespan", raw: n[0], text: i } + } + }), + (e.prototype.br = function (e) { + e = this.rules.inline.br.exec(e) + if (e) return { type: "br", raw: e[0] } + }), + (e.prototype.del = function (e) { + e = this.rules.inline.del.exec(e) + if (e) return { type: "del", raw: e[0], text: e[2] } + }), + (e.prototype.autolink = function (e, n) { + e = this.rules.inline.autolink.exec(e) + if (e) { + var i, + n = "@" === e[2] ? "mailto:" + (i = Je(this.options.mangle ? n(e[1]) : e[1])) : (i = Je(e[1])) + return { type: "link", raw: e[0], text: i, href: n, tokens: [{ type: "text", raw: i, text: i }] } + } + }), + (e.prototype.url = function (e, n) { + var i, o, t, a + if ((i = this.rules.inline.url.exec(e))) { + if ("@" === i[2]) t = "mailto:" + (o = Je(this.options.mangle ? n(i[0]) : i[0])) + else { + for (; (a = i[0]), (i[0] = this.rules.inline._backpedal.exec(i[0])[0]), a !== i[0]; ); + ;(o = Je(i[0])), (t = "www." === i[1] ? "http://" + o : o) + } + return { type: "link", raw: i[0], text: o, href: t, tokens: [{ type: "text", raw: o, text: o }] } + } + }), + (e.prototype.inlineText = function (e, n, i) { + e = this.rules.inline.text.exec(e) + if (e) { + i = n ? (this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(e[0]) : Je(e[0])) : e[0]) : Je(this.options.smartypants ? i(e[0]) : e[0]) + return { type: "text", raw: e[0], text: i } + } + }), + e + ) + })(), + Ze = De, + Ve = Ne, + De = Ue, + Ne = { + newline: /^(?: *(?:\n|$))+/, + code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/, + fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, + hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, + heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, + blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, + list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?! {0,3}bull )\n*|\s*$)/, + html: "^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))", + def: /^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/, + nptable: Ze, + table: Ze, + lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, + _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/, + text: /^[^\n]+/, + _label: /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/, + _title: /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/ + } + ;(Ne.def = Ve(Ne.def).replace("label", Ne._label).replace("title", Ne._title).getRegex()), + (Ne.bullet = /(?:[*+-]|\d{1,9}[.)])/), + (Ne.item = /^( *)(bull) ?[^\n]*(?:\n(?! *bull ?)[^\n]*)*/), + (Ne.item = Ve(Ne.item, "gm").replace(/bull/g, Ne.bullet).getRegex()), + (Ne.listItemStart = Ve(/^( *)(bull)/) + .replace("bull", Ne.bullet) + .getRegex()), + (Ne.list = Ve(Ne.list) + .replace(/bull/g, Ne.bullet) + .replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))") + .replace("def", "\\n+(?=" + Ne.def.source + ")") + .getRegex()), + (Ne._tag = + "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul"), + (Ne._comment = /|$)/), + (Ne.html = Ve(Ne.html, "i") + .replace("comment", Ne._comment) + .replace("tag", Ne._tag) + .replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/) + .getRegex()), + (Ne.paragraph = Ve(Ne._paragraph) + .replace("hr", Ne.hr) + .replace("heading", " {0,3}#{1,6} ") + .replace("|lheading", "") + .replace("blockquote", " {0,3}>") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", ")|<(?:script|pre|style|!--)") + .replace("tag", Ne._tag) + .getRegex()), + (Ne.blockquote = Ve(Ne.blockquote).replace("paragraph", Ne.paragraph).getRegex()), + (Ne.normal = De({}, Ne)), + (Ne.gfm = De({}, Ne.normal, { + nptable: "^ *([^|\\n ].*\\|.*)\\n {0,3}([-:]+ *\\|[-| :]*)(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)", + table: "^ *\\|(.+)\\n {0,3}\\|?( *[-:]+[-| :]*)(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)" + })), + (Ne.gfm.nptable = Ve(Ne.gfm.nptable) + .replace("hr", Ne.hr) + .replace("heading", " {0,3}#{1,6} ") + .replace("blockquote", " {0,3}>") + .replace("code", " {4}[^\\n]") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", ")|<(?:script|pre|style|!--)") + .replace("tag", Ne._tag) + .getRegex()), + (Ne.gfm.table = Ve(Ne.gfm.table) + .replace("hr", Ne.hr) + .replace("heading", " {0,3}#{1,6} ") + .replace("blockquote", " {0,3}>") + .replace("code", " {4}[^\\n]") + .replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n") + .replace("list", " {0,3}(?:[*+-]|1[.)]) ") + .replace("html", ")|<(?:script|pre|style|!--)") + .replace("tag", Ne._tag) + .getRegex()), + (Ne.pedantic = De({}, Ne.normal, { + html: Ve("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))") + .replace("comment", Ne._comment) + .replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b") + .getRegex(), + def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, + heading: /^(#{1,6})(.*)(?:\n+|$)/, + fences: Ze, + paragraph: Ve(Ne.normal._paragraph) + .replace("hr", Ne.hr) + .replace("heading", " *#{1,6} *[^\n]") + .replace("lheading", Ne.lheading) + .replace("blockquote", " {0,3}>") + .replace("|fences", "") + .replace("|list", "") + .replace("|html", "") + .getRegex() + })) + Ze = { + escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, + autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/, + url: Ze, + tag: "^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^", + link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, + reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, + nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, + reflinkSearch: "reflink|nolink(?!\\()", + strong: { + start: /^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/, + middle: + /^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/, + endAst: /[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/, + endUnd: /[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/ + }, + em: { + start: /^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/, + middle: + /^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/, + endAst: /[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/, + endUnd: /[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/ + }, + code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, + br: /^( {2,}|\\)\n(?!\s*$)/, + del: Ze, + text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~" + } + ;(Ze.punctuation = Ve(Ze.punctuation) + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze._blockSkip = "\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>"), + (Ze._overlapSkip = "__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*"), + (Ze._comment = Ve(Ne._comment).replace("(?:--\x3e|$)", "--\x3e").getRegex()), + (Ze.em.start = Ve(Ze.em.start) + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.em.middle = Ve(Ze.em.middle) + .replace(/punctuation/g, Ze._punctuation) + .replace(/overlapSkip/g, Ze._overlapSkip) + .getRegex()), + (Ze.em.endAst = Ve(Ze.em.endAst, "g") + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.em.endUnd = Ve(Ze.em.endUnd, "g") + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.strong.start = Ve(Ze.strong.start) + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.strong.middle = Ve(Ze.strong.middle) + .replace(/punctuation/g, Ze._punctuation) + .replace(/overlapSkip/g, Ze._overlapSkip) + .getRegex()), + (Ze.strong.endAst = Ve(Ze.strong.endAst, "g") + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.strong.endUnd = Ve(Ze.strong.endUnd, "g") + .replace(/punctuation/g, Ze._punctuation) + .getRegex()), + (Ze.blockSkip = Ve(Ze._blockSkip, "g").getRegex()), + (Ze.overlapSkip = Ve(Ze._overlapSkip, "g").getRegex()), + (Ze._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g), + (Ze._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/), + (Ze._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/), + (Ze.autolink = Ve(Ze.autolink).replace("scheme", Ze._scheme).replace("email", Ze._email).getRegex()), + (Ze._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/), + (Ze.tag = Ve(Ze.tag).replace("comment", Ze._comment).replace("attribute", Ze._attribute).getRegex()), + (Ze._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/), + (Ze._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/), + (Ze._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/), + (Ze.link = Ve(Ze.link).replace("label", Ze._label).replace("href", Ze._href).replace("title", Ze._title).getRegex()), + (Ze.reflink = Ve(Ze.reflink).replace("label", Ze._label).getRegex()), + (Ze.reflinkSearch = Ve(Ze.reflinkSearch, "g").replace("reflink", Ze.reflink).replace("nolink", Ze.nolink).getRegex()), + (Ze.normal = De({}, Ze)), + (Ze.pedantic = De({}, Ze.normal, { + strong: { start: /^__|\*\*/, middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, endAst: /\*\*(?!\*)/g, endUnd: /__(?!_)/g }, + em: { start: /^_|\*/, middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, endAst: /\*(?!\*)/g, endUnd: /_(?!_)/g }, + link: Ve(/^!?\[(label)\]\((.*?)\)/) + .replace("label", Ze._label) + .getRegex(), + reflink: Ve(/^!?\[(label)\]\s*\[([^\]]*)\]/) + .replace("label", Ze._label) + .getRegex() + })), + (Ze.gfm = De({}, Ze.normal, { + escape: Ve(Ze.escape).replace("])", "~|])").getRegex(), + _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/, + url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, + _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, + del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/, + text: /^([`~]+|[^`~])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\' + (i ? e : gn(e, !0)) + "\n" : "
" + (i ? e : gn(e, !0)) + "
\n" + ) + }), + (e.prototype.blockquote = function (e) { + return "
\n" + e + "
\n" + }), + (e.prototype.html = function (e) { + return e + }), + (e.prototype.heading = function (e, n, i, o) { + return this.options.headerIds ? "' + e + "\n" : "" + e + "\n" + }), + (e.prototype.hr = function () { + return this.options.xhtml ? "
\n" : "
\n" + }), + (e.prototype.list = function (e, n, i) { + var o = n ? "ol" : "ul" + return "<" + o + (n && 1 !== i ? ' start="' + i + '"' : "") + ">\n" + e + "\n" + }), + (e.prototype.listitem = function (e) { + return "
  • " + e + "
  • \n" + }), + (e.prototype.checkbox = function (e) { + return " " + }), + (e.prototype.paragraph = function (e) { + return "

    " + e + "

    \n" + }), + (e.prototype.table = function (e, n) { + return "\n\n" + e + "\n" + (n = n && "" + n + "") + "
    \n" + }), + (e.prototype.tablerow = function (e) { + return "\n" + e + "\n" + }), + (e.prototype.tablecell = function (e, n) { + var i = n.header ? "th" : "td" + return (n.align ? "<" + i + ' align="' + n.align + '">' : "<" + i + ">") + e + "\n" + }), + (e.prototype.strong = function (e) { + return "" + e + "" + }), + (e.prototype.em = function (e) { + return "" + e + "" + }), + (e.prototype.codespan = function (e) { + return "" + e + "" + }), + (e.prototype.br = function () { + return this.options.xhtml ? "
    " : "
    " + }), + (e.prototype.del = function (e) { + return "" + e + "" + }), + (e.prototype.link = function (e, n, i) { + if (null === (e = dn(this.options.sanitize, this.options.baseUrl, e))) return i + e = '
    ") + }), + (e.prototype.image = function (e, n, i) { + if (null === (e = dn(this.options.sanitize, this.options.baseUrl, e))) return i + i = '' + i + '" : ">") + }), + (e.prototype.text = function (e) { + return e + }), + e + ) + })(), + ln = (function () { + function e() {} + return ( + (e.prototype.strong = function (e) { + return e + }), + (e.prototype.em = function (e) { + return e + }), + (e.prototype.codespan = function (e) { + return e + }), + (e.prototype.del = function (e) { + return e + }), + (e.prototype.html = function (e) { + return e + }), + (e.prototype.text = function (e) { + return e + }), + (e.prototype.link = function (e, n, i) { + return "" + i + }), + (e.prototype.image = function (e, n, i) { + return "" + i + }), + (e.prototype.br = function () { + return "" + }), + e + ) + })(), + vn = (function () { + function e() { + this.seen = {} + } + return ( + (e.prototype.serialize = function (e) { + return e + .toLowerCase() + .trim() + .replace(/<[!\/a-z].*?>/gi, "") + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, "") + .replace(/\s/g, "-") + }), + (e.prototype.getNextSafeSlug = function (e, n) { + var i = e, + o = 0 + if (this.seen.hasOwnProperty(i)) for (o = this.seen[e]; (i = e + "-" + ++o), this.seen.hasOwnProperty(i); ); + return n || ((this.seen[e] = o), (this.seen[i] = 0)), i + }), + (e.prototype.slug = function (e, n) { + void 0 === n && (n = {}) + e = this.serialize(e) + return this.getNextSafeSlug(e, n.dryrun) + }), + e + ) + })(), + hn = we.defaults, + _n = Ie, + mn = (function () { + function i(e) { + ;(this.options = e || hn), + (this.options.renderer = this.options.renderer || new sn()), + (this.renderer = this.options.renderer), + (this.renderer.options = this.options), + (this.textRenderer = new ln()), + (this.slugger = new vn()) + } + return ( + (i.parse = function (e, n) { + return new i(n).parse(e) + }), + (i.parseInline = function (e, n) { + return new i(n).parseInline(e) + }), + (i.prototype.parse = function (e, n) { + void 0 === n && (n = !0) + for (var i, o, t, a, r, c, u, f, p, d, g, s, l, v, h, _ = "", m = e.length, b = 0; b < m; b++) + switch ((f = e[b]).type) { + case "space": + continue + case "hr": + _ += this.renderer.hr() + continue + case "heading": + _ += this.renderer.heading(this.parseInline(f.tokens), f.depth, _n(this.parseInline(f.tokens, this.textRenderer)), this.slugger) + continue + case "code": + _ += this.renderer.code(f.text, f.lang, f.escaped) + continue + case "table": + for (c = p = "", t = f.header.length, i = 0; i < t; i++) c += this.renderer.tablecell(this.parseInline(f.tokens.header[i]), { header: !0, align: f.align[i] }) + for (p += this.renderer.tablerow(c), u = "", t = f.cells.length, i = 0; i < t; i++) { + for (c = "", a = (r = f.tokens.cells[i]).length, o = 0; o < a; o++) c += this.renderer.tablecell(this.parseInline(r[o]), { header: !1, align: f.align[o] }) + u += this.renderer.tablerow(c) + } + _ += this.renderer.table(p, u) + continue + case "blockquote": + ;(u = this.parse(f.tokens)), (_ += this.renderer.blockquote(u)) + continue + case "list": + for (p = f.ordered, k = f.start, d = f.loose, t = f.items.length, u = "", i = 0; i < t; i++) + (l = (s = f.items[i]).checked), + (v = s.task), + (g = ""), + s.task && + ((h = this.renderer.checkbox(l)), + d + ? 0 < s.tokens.length && "text" === s.tokens[0].type + ? ((s.tokens[0].text = h + " " + s.tokens[0].text), + s.tokens[0].tokens && 0 < s.tokens[0].tokens.length && "text" === s.tokens[0].tokens[0].type && (s.tokens[0].tokens[0].text = h + " " + s.tokens[0].tokens[0].text)) + : s.tokens.unshift({ type: "text", text: h }) + : (g += h)), + (g += this.parse(s.tokens, d)), + (u += this.renderer.listitem(g, v, l)) + _ += this.renderer.list(u, p, k) + continue + case "html": + _ += this.renderer.html(f.text) + continue + case "paragraph": + _ += this.renderer.paragraph(this.parseInline(f.tokens)) + continue + case "text": + for (u = f.tokens ? this.parseInline(f.tokens) : f.text; b + 1 < m && "text" === e[b + 1].type; ) u += "\n" + ((f = e[++b]).tokens ? this.parseInline(f.tokens) : f.text) + _ += n ? this.renderer.paragraph(u) : u + continue + default: + var k = 'Token with "' + f.type + '" type was not found.' + if (this.options.silent) return void console.error(k) + throw new Error(k) + } + return _ + }), + (i.prototype.parseInline = function (e, n) { + n = n || this.renderer + for (var i, o = "", t = e.length, a = 0; a < t; a++) + switch ((i = e[a]).type) { + case "escape": + o += n.text(i.text) + break + case "html": + o += n.html(i.text) + break + case "link": + o += n.link(i.href, i.title, this.parseInline(i.tokens, n)) + break + case "image": + o += n.image(i.href, i.title, i.text) + break + case "strong": + o += n.strong(this.parseInline(i.tokens, n)) + break + case "em": + o += n.em(this.parseInline(i.tokens, n)) + break + case "codespan": + o += n.codespan(i.text) + break + case "br": + o += n.br() + break + case "del": + o += n.del(this.parseInline(i.tokens, n)) + break + case "text": + o += n.text(i.text) + break + default: + var r = 'Token with "' + i.type + '" type was not found.' + if (this.options.silent) return void console.error(r) + throw new Error(r) + } + return o + }), + i + ) + })(), + bn = Ue, + kn = Ye, + wn = Me, + Me = we.getDefaults, + yn = we.changeDefaults, + we = we.defaults + function xn(e, i, o) { + if (null == e) throw new Error("marked(): input parameter is undefined or null") + if ("string" != typeof e) throw new Error("marked(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected") + if (("function" == typeof i && ((o = i), (i = null)), (i = bn({}, xn.defaults, i || {})), kn(i), o)) { + var t, + a = i.highlight + try { + t = fn.lex(e, i) + } catch (e) { + return o(e) + } + function r(n) { + var e + if (!n) + try { + e = mn.parse(t, i) + } catch (e) { + n = e + } + return (i.highlight = a), n ? o(n) : o(null, e) + } + if (!a || a.length < 3) return r() + if ((delete i.highlight, !t.length)) return r() + var c = 0 + return ( + xn.walkTokens(t, function (i) { + "code" === i.type && + (c++, + setTimeout(function () { + a(i.text, i.lang, function (e, n) { + return e ? r(e) : (null != n && n !== i.text && ((i.text = n), (i.escaped = !0)), void (0 === --c && r())) + }) + }, 0)) + }), + void (0 === c && r()) + ) + } + try { + var n = fn.lex(e, i) + return i.walkTokens && xn.walkTokens(n, i.walkTokens), mn.parse(n, i) + } catch (e) { + if (((e.message += "\nPlease report this to https://github.com/markedjs/marked."), i.silent)) return "

    An error occurred:

    " + wn(e.message + "", !0) + "
    " + throw e + } + } + ;(xn.options = xn.setOptions = + function (e) { + return bn(xn.defaults, e), yn(xn.defaults), xn + }), + (xn.getDefaults = Me), + (xn.defaults = we), + (xn.use = function (a) { + var n, + e = bn({}, a) + if (a.renderer) { + var i, + r = xn.defaults.renderer || new sn() + for (i in a.renderer) + !(function (o) { + var t = r[o] + r[o] = function () { + for (var e = [], n = arguments.length; n--; ) e[n] = arguments[n] + var i = a.renderer[o].apply(r, e) + return (i = !1 === i ? t.apply(r, e) : i) + } + })(i) + e.renderer = r + } + if (a.tokenizer) { + var t, + c = xn.defaults.tokenizer || new nn() + for (t in a.tokenizer) + !(function () { + var o = c[t] + c[t] = function () { + for (var e = [], n = arguments.length; n--; ) e[n] = arguments[n] + var i = a.tokenizer[t].apply(c, e) + return (i = !1 === i ? o.apply(c, e) : i) + } + })() + e.tokenizer = c + } + a.walkTokens && + ((n = xn.defaults.walkTokens), + (e.walkTokens = function (e) { + a.walkTokens(e), n && n(e) + })), + xn.setOptions(e) + }), + (xn.walkTokens = function (e, n) { + for (var i = 0, o = e; i < o.length; i += 1) { + var t = o[i] + switch ((n(t), t.type)) { + case "table": + for (var a = 0, r = t.tokens.header; a < r.length; a += 1) { + var c = r[a] + xn.walkTokens(c, n) + } + for (var u = 0, f = t.tokens.cells; u < f.length; u += 1) + for (var p = 0, d = f[u]; p < d.length; p += 1) { + var g = d[p] + xn.walkTokens(g, n) + } + break + case "list": + xn.walkTokens(t.items, n) + break + default: + t.tokens && xn.walkTokens(t.tokens, n) + } + } + }), + (xn.parseInline = function (e, n) { + if (null == e) throw new Error("marked.parseInline(): input parameter is undefined or null") + if ("string" != typeof e) throw new Error("marked.parseInline(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected") + ;(n = bn({}, xn.defaults, n || {})), kn(n) + try { + var i = fn.lexInline(e, n) + return n.walkTokens && xn.walkTokens(i, n.walkTokens), mn.parseInline(i, n) + } catch (e) { + if (((e.message += "\nPlease report this to https://github.com/markedjs/marked."), n.silent)) return "

    An error occurred:

    " + wn(e.message + "", !0) + "
    " + throw e + } + }), + (xn.Parser = mn), + (xn.parser = mn.parse), + (xn.Renderer = sn), + (xn.TextRenderer = ln), + (xn.Lexer = fn), + (xn.lexer = fn.lex), + (xn.Tokenizer = nn), + (xn.Slugger = vn) + var Sn = (xn.parse = xn) + function An(e, i) { + if ((void 0 === i && (i = '
      {inner}
    '), !e || !e.length)) return "" + var o = "" + return ( + e.forEach(function (e) { + var n = e.title.replace(/(<([^>]+)>)/g, "") + ;(o += '
  • ' + e.title + "
  • "), e.children && (o += An(e.children, i)) + }), + i.replace("{inner}", o) + ) + } + function $n(e, n) { + return '

    ' + n.slice(5).trim() + "

    " + } + function zn(e, o) { + var t = [], + a = {} + return ( + e.forEach(function (e) { + var n = e.level || 1, + i = n - 1 + o < n || (a[i] ? (a[i].children = (a[i].children || []).concat(e)) : t.push(e), (a[n] = e)) + }), + t + ) + } + var Fn = {}, + En = /[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g + function Tn(e) { + return e.toLowerCase() + } + function Cn(e) { + if ("string" != typeof e) return "" + var n = e + .trim() + .replace(/[A-Z]+/g, Tn) + .replace(/<[^>]+>/g, "") + .replace(En, "") + .replace(/\s/g, "-") + .replace(/-+/g, "-") + .replace(/^(\d)/, "_$1"), + e = Fn[n], + e = u.call(Fn, n) ? e + 1 : 0 + return (n = (Fn[n] = e) ? n + "-" + e : n) + } + Cn.clear = function () { + Fn = {} + } + var Rn = { + baseURL: "https://github.githubassets.com/images/icons/emoji/", + data: { + 100: "unicode/1f4af.png?v8", + 1234: "unicode/1f522.png?v8", + "+1": "unicode/1f44d.png?v8", + "-1": "unicode/1f44e.png?v8", + "1st_place_medal": "unicode/1f947.png?v8", + "2nd_place_medal": "unicode/1f948.png?v8", + "3rd_place_medal": "unicode/1f949.png?v8", + "8ball": "unicode/1f3b1.png?v8", + a: "unicode/1f170.png?v8", + ab: "unicode/1f18e.png?v8", + abacus: "unicode/1f9ee.png?v8", + abc: "unicode/1f524.png?v8", + abcd: "unicode/1f521.png?v8", + accept: "unicode/1f251.png?v8", + accordion: "unicode/1fa97.png?v8", + adhesive_bandage: "unicode/1fa79.png?v8", + adult: "unicode/1f9d1.png?v8", + aerial_tramway: "unicode/1f6a1.png?v8", + afghanistan: "unicode/1f1e6-1f1eb.png?v8", + airplane: "unicode/2708.png?v8", + aland_islands: "unicode/1f1e6-1f1fd.png?v8", + alarm_clock: "unicode/23f0.png?v8", + albania: "unicode/1f1e6-1f1f1.png?v8", + alembic: "unicode/2697.png?v8", + algeria: "unicode/1f1e9-1f1ff.png?v8", + alien: "unicode/1f47d.png?v8", + ambulance: "unicode/1f691.png?v8", + american_samoa: "unicode/1f1e6-1f1f8.png?v8", + amphora: "unicode/1f3fa.png?v8", + anatomical_heart: "unicode/1fac0.png?v8", + anchor: "unicode/2693.png?v8", + andorra: "unicode/1f1e6-1f1e9.png?v8", + angel: "unicode/1f47c.png?v8", + anger: "unicode/1f4a2.png?v8", + angola: "unicode/1f1e6-1f1f4.png?v8", + angry: "unicode/1f620.png?v8", + anguilla: "unicode/1f1e6-1f1ee.png?v8", + anguished: "unicode/1f627.png?v8", + ant: "unicode/1f41c.png?v8", + antarctica: "unicode/1f1e6-1f1f6.png?v8", + antigua_barbuda: "unicode/1f1e6-1f1ec.png?v8", + apple: "unicode/1f34e.png?v8", + aquarius: "unicode/2652.png?v8", + argentina: "unicode/1f1e6-1f1f7.png?v8", + aries: "unicode/2648.png?v8", + armenia: "unicode/1f1e6-1f1f2.png?v8", + arrow_backward: "unicode/25c0.png?v8", + arrow_double_down: "unicode/23ec.png?v8", + arrow_double_up: "unicode/23eb.png?v8", + arrow_down: "unicode/2b07.png?v8", + arrow_down_small: "unicode/1f53d.png?v8", + arrow_forward: "unicode/25b6.png?v8", + arrow_heading_down: "unicode/2935.png?v8", + arrow_heading_up: "unicode/2934.png?v8", + arrow_left: "unicode/2b05.png?v8", + arrow_lower_left: "unicode/2199.png?v8", + arrow_lower_right: "unicode/2198.png?v8", + arrow_right: "unicode/27a1.png?v8", + arrow_right_hook: "unicode/21aa.png?v8", + arrow_up: "unicode/2b06.png?v8", + arrow_up_down: "unicode/2195.png?v8", + arrow_up_small: "unicode/1f53c.png?v8", + arrow_upper_left: "unicode/2196.png?v8", + arrow_upper_right: "unicode/2197.png?v8", + arrows_clockwise: "unicode/1f503.png?v8", + arrows_counterclockwise: "unicode/1f504.png?v8", + art: "unicode/1f3a8.png?v8", + articulated_lorry: "unicode/1f69b.png?v8", + artificial_satellite: "unicode/1f6f0.png?v8", + artist: "unicode/1f9d1-1f3a8.png?v8", + aruba: "unicode/1f1e6-1f1fc.png?v8", + ascension_island: "unicode/1f1e6-1f1e8.png?v8", + asterisk: "unicode/002a-20e3.png?v8", + astonished: "unicode/1f632.png?v8", + astronaut: "unicode/1f9d1-1f680.png?v8", + athletic_shoe: "unicode/1f45f.png?v8", + atm: "unicode/1f3e7.png?v8", + atom: "atom.png?v8", + atom_symbol: "unicode/269b.png?v8", + australia: "unicode/1f1e6-1f1fa.png?v8", + austria: "unicode/1f1e6-1f1f9.png?v8", + auto_rickshaw: "unicode/1f6fa.png?v8", + avocado: "unicode/1f951.png?v8", + axe: "unicode/1fa93.png?v8", + azerbaijan: "unicode/1f1e6-1f1ff.png?v8", + b: "unicode/1f171.png?v8", + baby: "unicode/1f476.png?v8", + baby_bottle: "unicode/1f37c.png?v8", + baby_chick: "unicode/1f424.png?v8", + baby_symbol: "unicode/1f6bc.png?v8", + back: "unicode/1f519.png?v8", + bacon: "unicode/1f953.png?v8", + badger: "unicode/1f9a1.png?v8", + badminton: "unicode/1f3f8.png?v8", + bagel: "unicode/1f96f.png?v8", + baggage_claim: "unicode/1f6c4.png?v8", + baguette_bread: "unicode/1f956.png?v8", + bahamas: "unicode/1f1e7-1f1f8.png?v8", + bahrain: "unicode/1f1e7-1f1ed.png?v8", + balance_scale: "unicode/2696.png?v8", + bald_man: "unicode/1f468-1f9b2.png?v8", + bald_woman: "unicode/1f469-1f9b2.png?v8", + ballet_shoes: "unicode/1fa70.png?v8", + balloon: "unicode/1f388.png?v8", + ballot_box: "unicode/1f5f3.png?v8", + ballot_box_with_check: "unicode/2611.png?v8", + bamboo: "unicode/1f38d.png?v8", + banana: "unicode/1f34c.png?v8", + bangbang: "unicode/203c.png?v8", + bangladesh: "unicode/1f1e7-1f1e9.png?v8", + banjo: "unicode/1fa95.png?v8", + bank: "unicode/1f3e6.png?v8", + bar_chart: "unicode/1f4ca.png?v8", + barbados: "unicode/1f1e7-1f1e7.png?v8", + barber: "unicode/1f488.png?v8", + baseball: "unicode/26be.png?v8", + basecamp: "basecamp.png?v8", + basecampy: "basecampy.png?v8", + basket: "unicode/1f9fa.png?v8", + basketball: "unicode/1f3c0.png?v8", + basketball_man: "unicode/26f9-2642.png?v8", + basketball_woman: "unicode/26f9-2640.png?v8", + bat: "unicode/1f987.png?v8", + bath: "unicode/1f6c0.png?v8", + bathtub: "unicode/1f6c1.png?v8", + battery: "unicode/1f50b.png?v8", + beach_umbrella: "unicode/1f3d6.png?v8", + bear: "unicode/1f43b.png?v8", + bearded_person: "unicode/1f9d4.png?v8", + beaver: "unicode/1f9ab.png?v8", + bed: "unicode/1f6cf.png?v8", + bee: "unicode/1f41d.png?v8", + beer: "unicode/1f37a.png?v8", + beers: "unicode/1f37b.png?v8", + beetle: "unicode/1fab2.png?v8", + beginner: "unicode/1f530.png?v8", + belarus: "unicode/1f1e7-1f1fe.png?v8", + belgium: "unicode/1f1e7-1f1ea.png?v8", + belize: "unicode/1f1e7-1f1ff.png?v8", + bell: "unicode/1f514.png?v8", + bell_pepper: "unicode/1fad1.png?v8", + bellhop_bell: "unicode/1f6ce.png?v8", + benin: "unicode/1f1e7-1f1ef.png?v8", + bento: "unicode/1f371.png?v8", + bermuda: "unicode/1f1e7-1f1f2.png?v8", + beverage_box: "unicode/1f9c3.png?v8", + bhutan: "unicode/1f1e7-1f1f9.png?v8", + bicyclist: "unicode/1f6b4.png?v8", + bike: "unicode/1f6b2.png?v8", + biking_man: "unicode/1f6b4-2642.png?v8", + biking_woman: "unicode/1f6b4-2640.png?v8", + bikini: "unicode/1f459.png?v8", + billed_cap: "unicode/1f9e2.png?v8", + biohazard: "unicode/2623.png?v8", + bird: "unicode/1f426.png?v8", + birthday: "unicode/1f382.png?v8", + bison: "unicode/1f9ac.png?v8", + black_cat: "unicode/1f408-2b1b.png?v8", + black_circle: "unicode/26ab.png?v8", + black_flag: "unicode/1f3f4.png?v8", + black_heart: "unicode/1f5a4.png?v8", + black_joker: "unicode/1f0cf.png?v8", + black_large_square: "unicode/2b1b.png?v8", + black_medium_small_square: "unicode/25fe.png?v8", + black_medium_square: "unicode/25fc.png?v8", + black_nib: "unicode/2712.png?v8", + black_small_square: "unicode/25aa.png?v8", + black_square_button: "unicode/1f532.png?v8", + blond_haired_man: "unicode/1f471-2642.png?v8", + blond_haired_person: "unicode/1f471.png?v8", + blond_haired_woman: "unicode/1f471-2640.png?v8", + blonde_woman: "unicode/1f471-2640.png?v8", + blossom: "unicode/1f33c.png?v8", + blowfish: "unicode/1f421.png?v8", + blue_book: "unicode/1f4d8.png?v8", + blue_car: "unicode/1f699.png?v8", + blue_heart: "unicode/1f499.png?v8", + blue_square: "unicode/1f7e6.png?v8", + blueberries: "unicode/1fad0.png?v8", + blush: "unicode/1f60a.png?v8", + boar: "unicode/1f417.png?v8", + boat: "unicode/26f5.png?v8", + bolivia: "unicode/1f1e7-1f1f4.png?v8", + bomb: "unicode/1f4a3.png?v8", + bone: "unicode/1f9b4.png?v8", + book: "unicode/1f4d6.png?v8", + bookmark: "unicode/1f516.png?v8", + bookmark_tabs: "unicode/1f4d1.png?v8", + books: "unicode/1f4da.png?v8", + boom: "unicode/1f4a5.png?v8", + boomerang: "unicode/1fa83.png?v8", + boot: "unicode/1f462.png?v8", + bosnia_herzegovina: "unicode/1f1e7-1f1e6.png?v8", + botswana: "unicode/1f1e7-1f1fc.png?v8", + bouncing_ball_man: "unicode/26f9-2642.png?v8", + bouncing_ball_person: "unicode/26f9.png?v8", + bouncing_ball_woman: "unicode/26f9-2640.png?v8", + bouquet: "unicode/1f490.png?v8", + bouvet_island: "unicode/1f1e7-1f1fb.png?v8", + bow: "unicode/1f647.png?v8", + bow_and_arrow: "unicode/1f3f9.png?v8", + bowing_man: "unicode/1f647-2642.png?v8", + bowing_woman: "unicode/1f647-2640.png?v8", + bowl_with_spoon: "unicode/1f963.png?v8", + bowling: "unicode/1f3b3.png?v8", + bowtie: "bowtie.png?v8", + boxing_glove: "unicode/1f94a.png?v8", + boy: "unicode/1f466.png?v8", + brain: "unicode/1f9e0.png?v8", + brazil: "unicode/1f1e7-1f1f7.png?v8", + bread: "unicode/1f35e.png?v8", + breast_feeding: "unicode/1f931.png?v8", + bricks: "unicode/1f9f1.png?v8", + bride_with_veil: "unicode/1f470-2640.png?v8", + bridge_at_night: "unicode/1f309.png?v8", + briefcase: "unicode/1f4bc.png?v8", + british_indian_ocean_territory: "unicode/1f1ee-1f1f4.png?v8", + british_virgin_islands: "unicode/1f1fb-1f1ec.png?v8", + broccoli: "unicode/1f966.png?v8", + broken_heart: "unicode/1f494.png?v8", + broom: "unicode/1f9f9.png?v8", + brown_circle: "unicode/1f7e4.png?v8", + brown_heart: "unicode/1f90e.png?v8", + brown_square: "unicode/1f7eb.png?v8", + brunei: "unicode/1f1e7-1f1f3.png?v8", + bubble_tea: "unicode/1f9cb.png?v8", + bucket: "unicode/1faa3.png?v8", + bug: "unicode/1f41b.png?v8", + building_construction: "unicode/1f3d7.png?v8", + bulb: "unicode/1f4a1.png?v8", + bulgaria: "unicode/1f1e7-1f1ec.png?v8", + bullettrain_front: "unicode/1f685.png?v8", + bullettrain_side: "unicode/1f684.png?v8", + burkina_faso: "unicode/1f1e7-1f1eb.png?v8", + burrito: "unicode/1f32f.png?v8", + burundi: "unicode/1f1e7-1f1ee.png?v8", + bus: "unicode/1f68c.png?v8", + business_suit_levitating: "unicode/1f574.png?v8", + busstop: "unicode/1f68f.png?v8", + bust_in_silhouette: "unicode/1f464.png?v8", + busts_in_silhouette: "unicode/1f465.png?v8", + butter: "unicode/1f9c8.png?v8", + butterfly: "unicode/1f98b.png?v8", + cactus: "unicode/1f335.png?v8", + cake: "unicode/1f370.png?v8", + calendar: "unicode/1f4c6.png?v8", + call_me_hand: "unicode/1f919.png?v8", + calling: "unicode/1f4f2.png?v8", + cambodia: "unicode/1f1f0-1f1ed.png?v8", + camel: "unicode/1f42b.png?v8", + camera: "unicode/1f4f7.png?v8", + camera_flash: "unicode/1f4f8.png?v8", + cameroon: "unicode/1f1e8-1f1f2.png?v8", + camping: "unicode/1f3d5.png?v8", + canada: "unicode/1f1e8-1f1e6.png?v8", + canary_islands: "unicode/1f1ee-1f1e8.png?v8", + cancer: "unicode/264b.png?v8", + candle: "unicode/1f56f.png?v8", + candy: "unicode/1f36c.png?v8", + canned_food: "unicode/1f96b.png?v8", + canoe: "unicode/1f6f6.png?v8", + cape_verde: "unicode/1f1e8-1f1fb.png?v8", + capital_abcd: "unicode/1f520.png?v8", + capricorn: "unicode/2651.png?v8", + car: "unicode/1f697.png?v8", + card_file_box: "unicode/1f5c3.png?v8", + card_index: "unicode/1f4c7.png?v8", + card_index_dividers: "unicode/1f5c2.png?v8", + caribbean_netherlands: "unicode/1f1e7-1f1f6.png?v8", + carousel_horse: "unicode/1f3a0.png?v8", + carpentry_saw: "unicode/1fa9a.png?v8", + carrot: "unicode/1f955.png?v8", + cartwheeling: "unicode/1f938.png?v8", + cat: "unicode/1f431.png?v8", + cat2: "unicode/1f408.png?v8", + cayman_islands: "unicode/1f1f0-1f1fe.png?v8", + cd: "unicode/1f4bf.png?v8", + central_african_republic: "unicode/1f1e8-1f1eb.png?v8", + ceuta_melilla: "unicode/1f1ea-1f1e6.png?v8", + chad: "unicode/1f1f9-1f1e9.png?v8", + chains: "unicode/26d3.png?v8", + chair: "unicode/1fa91.png?v8", + champagne: "unicode/1f37e.png?v8", + chart: "unicode/1f4b9.png?v8", + chart_with_downwards_trend: "unicode/1f4c9.png?v8", + chart_with_upwards_trend: "unicode/1f4c8.png?v8", + checkered_flag: "unicode/1f3c1.png?v8", + cheese: "unicode/1f9c0.png?v8", + cherries: "unicode/1f352.png?v8", + cherry_blossom: "unicode/1f338.png?v8", + chess_pawn: "unicode/265f.png?v8", + chestnut: "unicode/1f330.png?v8", + chicken: "unicode/1f414.png?v8", + child: "unicode/1f9d2.png?v8", + children_crossing: "unicode/1f6b8.png?v8", + chile: "unicode/1f1e8-1f1f1.png?v8", + chipmunk: "unicode/1f43f.png?v8", + chocolate_bar: "unicode/1f36b.png?v8", + chopsticks: "unicode/1f962.png?v8", + christmas_island: "unicode/1f1e8-1f1fd.png?v8", + christmas_tree: "unicode/1f384.png?v8", + church: "unicode/26ea.png?v8", + cinema: "unicode/1f3a6.png?v8", + circus_tent: "unicode/1f3aa.png?v8", + city_sunrise: "unicode/1f307.png?v8", + city_sunset: "unicode/1f306.png?v8", + cityscape: "unicode/1f3d9.png?v8", + cl: "unicode/1f191.png?v8", + clamp: "unicode/1f5dc.png?v8", + clap: "unicode/1f44f.png?v8", + clapper: "unicode/1f3ac.png?v8", + classical_building: "unicode/1f3db.png?v8", + climbing: "unicode/1f9d7.png?v8", + climbing_man: "unicode/1f9d7-2642.png?v8", + climbing_woman: "unicode/1f9d7-2640.png?v8", + clinking_glasses: "unicode/1f942.png?v8", + clipboard: "unicode/1f4cb.png?v8", + clipperton_island: "unicode/1f1e8-1f1f5.png?v8", + clock1: "unicode/1f550.png?v8", + clock10: "unicode/1f559.png?v8", + clock1030: "unicode/1f565.png?v8", + clock11: "unicode/1f55a.png?v8", + clock1130: "unicode/1f566.png?v8", + clock12: "unicode/1f55b.png?v8", + clock1230: "unicode/1f567.png?v8", + clock130: "unicode/1f55c.png?v8", + clock2: "unicode/1f551.png?v8", + clock230: "unicode/1f55d.png?v8", + clock3: "unicode/1f552.png?v8", + clock330: "unicode/1f55e.png?v8", + clock4: "unicode/1f553.png?v8", + clock430: "unicode/1f55f.png?v8", + clock5: "unicode/1f554.png?v8", + clock530: "unicode/1f560.png?v8", + clock6: "unicode/1f555.png?v8", + clock630: "unicode/1f561.png?v8", + clock7: "unicode/1f556.png?v8", + clock730: "unicode/1f562.png?v8", + clock8: "unicode/1f557.png?v8", + clock830: "unicode/1f563.png?v8", + clock9: "unicode/1f558.png?v8", + clock930: "unicode/1f564.png?v8", + closed_book: "unicode/1f4d5.png?v8", + closed_lock_with_key: "unicode/1f510.png?v8", + closed_umbrella: "unicode/1f302.png?v8", + cloud: "unicode/2601.png?v8", + cloud_with_lightning: "unicode/1f329.png?v8", + cloud_with_lightning_and_rain: "unicode/26c8.png?v8", + cloud_with_rain: "unicode/1f327.png?v8", + cloud_with_snow: "unicode/1f328.png?v8", + clown_face: "unicode/1f921.png?v8", + clubs: "unicode/2663.png?v8", + cn: "unicode/1f1e8-1f1f3.png?v8", + coat: "unicode/1f9e5.png?v8", + cockroach: "unicode/1fab3.png?v8", + cocktail: "unicode/1f378.png?v8", + coconut: "unicode/1f965.png?v8", + cocos_islands: "unicode/1f1e8-1f1e8.png?v8", + coffee: "unicode/2615.png?v8", + coffin: "unicode/26b0.png?v8", + coin: "unicode/1fa99.png?v8", + cold_face: "unicode/1f976.png?v8", + cold_sweat: "unicode/1f630.png?v8", + collision: "unicode/1f4a5.png?v8", + colombia: "unicode/1f1e8-1f1f4.png?v8", + comet: "unicode/2604.png?v8", + comoros: "unicode/1f1f0-1f1f2.png?v8", + compass: "unicode/1f9ed.png?v8", + computer: "unicode/1f4bb.png?v8", + computer_mouse: "unicode/1f5b1.png?v8", + confetti_ball: "unicode/1f38a.png?v8", + confounded: "unicode/1f616.png?v8", + confused: "unicode/1f615.png?v8", + congo_brazzaville: "unicode/1f1e8-1f1ec.png?v8", + congo_kinshasa: "unicode/1f1e8-1f1e9.png?v8", + congratulations: "unicode/3297.png?v8", + construction: "unicode/1f6a7.png?v8", + construction_worker: "unicode/1f477.png?v8", + construction_worker_man: "unicode/1f477-2642.png?v8", + construction_worker_woman: "unicode/1f477-2640.png?v8", + control_knobs: "unicode/1f39b.png?v8", + convenience_store: "unicode/1f3ea.png?v8", + cook: "unicode/1f9d1-1f373.png?v8", + cook_islands: "unicode/1f1e8-1f1f0.png?v8", + cookie: "unicode/1f36a.png?v8", + cool: "unicode/1f192.png?v8", + cop: "unicode/1f46e.png?v8", + copyright: "unicode/00a9.png?v8", + corn: "unicode/1f33d.png?v8", + costa_rica: "unicode/1f1e8-1f1f7.png?v8", + cote_divoire: "unicode/1f1e8-1f1ee.png?v8", + couch_and_lamp: "unicode/1f6cb.png?v8", + couple: "unicode/1f46b.png?v8", + couple_with_heart: "unicode/1f491.png?v8", + couple_with_heart_man_man: "unicode/1f468-2764-1f468.png?v8", + couple_with_heart_woman_man: "unicode/1f469-2764-1f468.png?v8", + couple_with_heart_woman_woman: "unicode/1f469-2764-1f469.png?v8", + couplekiss: "unicode/1f48f.png?v8", + couplekiss_man_man: "unicode/1f468-2764-1f48b-1f468.png?v8", + couplekiss_man_woman: "unicode/1f469-2764-1f48b-1f468.png?v8", + couplekiss_woman_woman: "unicode/1f469-2764-1f48b-1f469.png?v8", + cow: "unicode/1f42e.png?v8", + cow2: "unicode/1f404.png?v8", + cowboy_hat_face: "unicode/1f920.png?v8", + crab: "unicode/1f980.png?v8", + crayon: "unicode/1f58d.png?v8", + credit_card: "unicode/1f4b3.png?v8", + crescent_moon: "unicode/1f319.png?v8", + cricket: "unicode/1f997.png?v8", + cricket_game: "unicode/1f3cf.png?v8", + croatia: "unicode/1f1ed-1f1f7.png?v8", + crocodile: "unicode/1f40a.png?v8", + croissant: "unicode/1f950.png?v8", + crossed_fingers: "unicode/1f91e.png?v8", + crossed_flags: "unicode/1f38c.png?v8", + crossed_swords: "unicode/2694.png?v8", + crown: "unicode/1f451.png?v8", + cry: "unicode/1f622.png?v8", + crying_cat_face: "unicode/1f63f.png?v8", + crystal_ball: "unicode/1f52e.png?v8", + cuba: "unicode/1f1e8-1f1fa.png?v8", + cucumber: "unicode/1f952.png?v8", + cup_with_straw: "unicode/1f964.png?v8", + cupcake: "unicode/1f9c1.png?v8", + cupid: "unicode/1f498.png?v8", + curacao: "unicode/1f1e8-1f1fc.png?v8", + curling_stone: "unicode/1f94c.png?v8", + curly_haired_man: "unicode/1f468-1f9b1.png?v8", + curly_haired_woman: "unicode/1f469-1f9b1.png?v8", + curly_loop: "unicode/27b0.png?v8", + currency_exchange: "unicode/1f4b1.png?v8", + curry: "unicode/1f35b.png?v8", + cursing_face: "unicode/1f92c.png?v8", + custard: "unicode/1f36e.png?v8", + customs: "unicode/1f6c3.png?v8", + cut_of_meat: "unicode/1f969.png?v8", + cyclone: "unicode/1f300.png?v8", + cyprus: "unicode/1f1e8-1f1fe.png?v8", + czech_republic: "unicode/1f1e8-1f1ff.png?v8", + dagger: "unicode/1f5e1.png?v8", + dancer: "unicode/1f483.png?v8", + dancers: "unicode/1f46f.png?v8", + dancing_men: "unicode/1f46f-2642.png?v8", + dancing_women: "unicode/1f46f-2640.png?v8", + dango: "unicode/1f361.png?v8", + dark_sunglasses: "unicode/1f576.png?v8", + dart: "unicode/1f3af.png?v8", + dash: "unicode/1f4a8.png?v8", + date: "unicode/1f4c5.png?v8", + de: "unicode/1f1e9-1f1ea.png?v8", + deaf_man: "unicode/1f9cf-2642.png?v8", + deaf_person: "unicode/1f9cf.png?v8", + deaf_woman: "unicode/1f9cf-2640.png?v8", + deciduous_tree: "unicode/1f333.png?v8", + deer: "unicode/1f98c.png?v8", + denmark: "unicode/1f1e9-1f1f0.png?v8", + department_store: "unicode/1f3ec.png?v8", + derelict_house: "unicode/1f3da.png?v8", + desert: "unicode/1f3dc.png?v8", + desert_island: "unicode/1f3dd.png?v8", + desktop_computer: "unicode/1f5a5.png?v8", + detective: "unicode/1f575.png?v8", + diamond_shape_with_a_dot_inside: "unicode/1f4a0.png?v8", + diamonds: "unicode/2666.png?v8", + diego_garcia: "unicode/1f1e9-1f1ec.png?v8", + disappointed: "unicode/1f61e.png?v8", + disappointed_relieved: "unicode/1f625.png?v8", + disguised_face: "unicode/1f978.png?v8", + diving_mask: "unicode/1f93f.png?v8", + diya_lamp: "unicode/1fa94.png?v8", + dizzy: "unicode/1f4ab.png?v8", + dizzy_face: "unicode/1f635.png?v8", + djibouti: "unicode/1f1e9-1f1ef.png?v8", + dna: "unicode/1f9ec.png?v8", + do_not_litter: "unicode/1f6af.png?v8", + dodo: "unicode/1f9a4.png?v8", + dog: "unicode/1f436.png?v8", + dog2: "unicode/1f415.png?v8", + dollar: "unicode/1f4b5.png?v8", + dolls: "unicode/1f38e.png?v8", + dolphin: "unicode/1f42c.png?v8", + dominica: "unicode/1f1e9-1f1f2.png?v8", + dominican_republic: "unicode/1f1e9-1f1f4.png?v8", + door: "unicode/1f6aa.png?v8", + doughnut: "unicode/1f369.png?v8", + dove: "unicode/1f54a.png?v8", + dragon: "unicode/1f409.png?v8", + dragon_face: "unicode/1f432.png?v8", + dress: "unicode/1f457.png?v8", + dromedary_camel: "unicode/1f42a.png?v8", + drooling_face: "unicode/1f924.png?v8", + drop_of_blood: "unicode/1fa78.png?v8", + droplet: "unicode/1f4a7.png?v8", + drum: "unicode/1f941.png?v8", + duck: "unicode/1f986.png?v8", + dumpling: "unicode/1f95f.png?v8", + dvd: "unicode/1f4c0.png?v8", + "e-mail": "unicode/1f4e7.png?v8", + eagle: "unicode/1f985.png?v8", + ear: "unicode/1f442.png?v8", + ear_of_rice: "unicode/1f33e.png?v8", + ear_with_hearing_aid: "unicode/1f9bb.png?v8", + earth_africa: "unicode/1f30d.png?v8", + earth_americas: "unicode/1f30e.png?v8", + earth_asia: "unicode/1f30f.png?v8", + ecuador: "unicode/1f1ea-1f1e8.png?v8", + egg: "unicode/1f95a.png?v8", + eggplant: "unicode/1f346.png?v8", + egypt: "unicode/1f1ea-1f1ec.png?v8", + eight: "unicode/0038-20e3.png?v8", + eight_pointed_black_star: "unicode/2734.png?v8", + eight_spoked_asterisk: "unicode/2733.png?v8", + eject_button: "unicode/23cf.png?v8", + el_salvador: "unicode/1f1f8-1f1fb.png?v8", + electric_plug: "unicode/1f50c.png?v8", + electron: "electron.png?v8", + elephant: "unicode/1f418.png?v8", + elevator: "unicode/1f6d7.png?v8", + elf: "unicode/1f9dd.png?v8", + elf_man: "unicode/1f9dd-2642.png?v8", + elf_woman: "unicode/1f9dd-2640.png?v8", + email: "unicode/1f4e7.png?v8", + end: "unicode/1f51a.png?v8", + england: "unicode/1f3f4-e0067-e0062-e0065-e006e-e0067-e007f.png?v8", + envelope: "unicode/2709.png?v8", + envelope_with_arrow: "unicode/1f4e9.png?v8", + equatorial_guinea: "unicode/1f1ec-1f1f6.png?v8", + eritrea: "unicode/1f1ea-1f1f7.png?v8", + es: "unicode/1f1ea-1f1f8.png?v8", + estonia: "unicode/1f1ea-1f1ea.png?v8", + ethiopia: "unicode/1f1ea-1f1f9.png?v8", + eu: "unicode/1f1ea-1f1fa.png?v8", + euro: "unicode/1f4b6.png?v8", + european_castle: "unicode/1f3f0.png?v8", + european_post_office: "unicode/1f3e4.png?v8", + european_union: "unicode/1f1ea-1f1fa.png?v8", + evergreen_tree: "unicode/1f332.png?v8", + exclamation: "unicode/2757.png?v8", + exploding_head: "unicode/1f92f.png?v8", + expressionless: "unicode/1f611.png?v8", + eye: "unicode/1f441.png?v8", + eye_speech_bubble: "unicode/1f441-1f5e8.png?v8", + eyeglasses: "unicode/1f453.png?v8", + eyes: "unicode/1f440.png?v8", + face_exhaling: "unicode/1f62e-1f4a8.png?v8", + face_in_clouds: "unicode/1f636-1f32b.png?v8", + face_with_head_bandage: "unicode/1f915.png?v8", + face_with_spiral_eyes: "unicode/1f635-1f4ab.png?v8", + face_with_thermometer: "unicode/1f912.png?v8", + facepalm: "unicode/1f926.png?v8", + facepunch: "unicode/1f44a.png?v8", + factory: "unicode/1f3ed.png?v8", + factory_worker: "unicode/1f9d1-1f3ed.png?v8", + fairy: "unicode/1f9da.png?v8", + fairy_man: "unicode/1f9da-2642.png?v8", + fairy_woman: "unicode/1f9da-2640.png?v8", + falafel: "unicode/1f9c6.png?v8", + falkland_islands: "unicode/1f1eb-1f1f0.png?v8", + fallen_leaf: "unicode/1f342.png?v8", + family: "unicode/1f46a.png?v8", + family_man_boy: "unicode/1f468-1f466.png?v8", + family_man_boy_boy: "unicode/1f468-1f466-1f466.png?v8", + family_man_girl: "unicode/1f468-1f467.png?v8", + family_man_girl_boy: "unicode/1f468-1f467-1f466.png?v8", + family_man_girl_girl: "unicode/1f468-1f467-1f467.png?v8", + family_man_man_boy: "unicode/1f468-1f468-1f466.png?v8", + family_man_man_boy_boy: "unicode/1f468-1f468-1f466-1f466.png?v8", + family_man_man_girl: "unicode/1f468-1f468-1f467.png?v8", + family_man_man_girl_boy: "unicode/1f468-1f468-1f467-1f466.png?v8", + family_man_man_girl_girl: "unicode/1f468-1f468-1f467-1f467.png?v8", + family_man_woman_boy: "unicode/1f468-1f469-1f466.png?v8", + family_man_woman_boy_boy: "unicode/1f468-1f469-1f466-1f466.png?v8", + family_man_woman_girl: "unicode/1f468-1f469-1f467.png?v8", + family_man_woman_girl_boy: "unicode/1f468-1f469-1f467-1f466.png?v8", + family_man_woman_girl_girl: "unicode/1f468-1f469-1f467-1f467.png?v8", + family_woman_boy: "unicode/1f469-1f466.png?v8", + family_woman_boy_boy: "unicode/1f469-1f466-1f466.png?v8", + family_woman_girl: "unicode/1f469-1f467.png?v8", + family_woman_girl_boy: "unicode/1f469-1f467-1f466.png?v8", + family_woman_girl_girl: "unicode/1f469-1f467-1f467.png?v8", + family_woman_woman_boy: "unicode/1f469-1f469-1f466.png?v8", + family_woman_woman_boy_boy: "unicode/1f469-1f469-1f466-1f466.png?v8", + family_woman_woman_girl: "unicode/1f469-1f469-1f467.png?v8", + family_woman_woman_girl_boy: "unicode/1f469-1f469-1f467-1f466.png?v8", + family_woman_woman_girl_girl: "unicode/1f469-1f469-1f467-1f467.png?v8", + farmer: "unicode/1f9d1-1f33e.png?v8", + faroe_islands: "unicode/1f1eb-1f1f4.png?v8", + fast_forward: "unicode/23e9.png?v8", + fax: "unicode/1f4e0.png?v8", + fearful: "unicode/1f628.png?v8", + feather: "unicode/1fab6.png?v8", + feelsgood: "feelsgood.png?v8", + feet: "unicode/1f43e.png?v8", + female_detective: "unicode/1f575-2640.png?v8", + female_sign: "unicode/2640.png?v8", + ferris_wheel: "unicode/1f3a1.png?v8", + ferry: "unicode/26f4.png?v8", + field_hockey: "unicode/1f3d1.png?v8", + fiji: "unicode/1f1eb-1f1ef.png?v8", + file_cabinet: "unicode/1f5c4.png?v8", + file_folder: "unicode/1f4c1.png?v8", + film_projector: "unicode/1f4fd.png?v8", + film_strip: "unicode/1f39e.png?v8", + finland: "unicode/1f1eb-1f1ee.png?v8", + finnadie: "finnadie.png?v8", + fire: "unicode/1f525.png?v8", + fire_engine: "unicode/1f692.png?v8", + fire_extinguisher: "unicode/1f9ef.png?v8", + firecracker: "unicode/1f9e8.png?v8", + firefighter: "unicode/1f9d1-1f692.png?v8", + fireworks: "unicode/1f386.png?v8", + first_quarter_moon: "unicode/1f313.png?v8", + first_quarter_moon_with_face: "unicode/1f31b.png?v8", + fish: "unicode/1f41f.png?v8", + fish_cake: "unicode/1f365.png?v8", + fishing_pole_and_fish: "unicode/1f3a3.png?v8", + fist: "unicode/270a.png?v8", + fist_left: "unicode/1f91b.png?v8", + fist_oncoming: "unicode/1f44a.png?v8", + fist_raised: "unicode/270a.png?v8", + fist_right: "unicode/1f91c.png?v8", + five: "unicode/0035-20e3.png?v8", + flags: "unicode/1f38f.png?v8", + flamingo: "unicode/1f9a9.png?v8", + flashlight: "unicode/1f526.png?v8", + flat_shoe: "unicode/1f97f.png?v8", + flatbread: "unicode/1fad3.png?v8", + fleur_de_lis: "unicode/269c.png?v8", + flight_arrival: "unicode/1f6ec.png?v8", + flight_departure: "unicode/1f6eb.png?v8", + flipper: "unicode/1f42c.png?v8", + floppy_disk: "unicode/1f4be.png?v8", + flower_playing_cards: "unicode/1f3b4.png?v8", + flushed: "unicode/1f633.png?v8", + fly: "unicode/1fab0.png?v8", + flying_disc: "unicode/1f94f.png?v8", + flying_saucer: "unicode/1f6f8.png?v8", + fog: "unicode/1f32b.png?v8", + foggy: "unicode/1f301.png?v8", + fondue: "unicode/1fad5.png?v8", + foot: "unicode/1f9b6.png?v8", + football: "unicode/1f3c8.png?v8", + footprints: "unicode/1f463.png?v8", + fork_and_knife: "unicode/1f374.png?v8", + fortune_cookie: "unicode/1f960.png?v8", + fountain: "unicode/26f2.png?v8", + fountain_pen: "unicode/1f58b.png?v8", + four: "unicode/0034-20e3.png?v8", + four_leaf_clover: "unicode/1f340.png?v8", + fox_face: "unicode/1f98a.png?v8", + fr: "unicode/1f1eb-1f1f7.png?v8", + framed_picture: "unicode/1f5bc.png?v8", + free: "unicode/1f193.png?v8", + french_guiana: "unicode/1f1ec-1f1eb.png?v8", + french_polynesia: "unicode/1f1f5-1f1eb.png?v8", + french_southern_territories: "unicode/1f1f9-1f1eb.png?v8", + fried_egg: "unicode/1f373.png?v8", + fried_shrimp: "unicode/1f364.png?v8", + fries: "unicode/1f35f.png?v8", + frog: "unicode/1f438.png?v8", + frowning: "unicode/1f626.png?v8", + frowning_face: "unicode/2639.png?v8", + frowning_man: "unicode/1f64d-2642.png?v8", + frowning_person: "unicode/1f64d.png?v8", + frowning_woman: "unicode/1f64d-2640.png?v8", + fu: "unicode/1f595.png?v8", + fuelpump: "unicode/26fd.png?v8", + full_moon: "unicode/1f315.png?v8", + full_moon_with_face: "unicode/1f31d.png?v8", + funeral_urn: "unicode/26b1.png?v8", + gabon: "unicode/1f1ec-1f1e6.png?v8", + gambia: "unicode/1f1ec-1f1f2.png?v8", + game_die: "unicode/1f3b2.png?v8", + garlic: "unicode/1f9c4.png?v8", + gb: "unicode/1f1ec-1f1e7.png?v8", + gear: "unicode/2699.png?v8", + gem: "unicode/1f48e.png?v8", + gemini: "unicode/264a.png?v8", + genie: "unicode/1f9de.png?v8", + genie_man: "unicode/1f9de-2642.png?v8", + genie_woman: "unicode/1f9de-2640.png?v8", + georgia: "unicode/1f1ec-1f1ea.png?v8", + ghana: "unicode/1f1ec-1f1ed.png?v8", + ghost: "unicode/1f47b.png?v8", + gibraltar: "unicode/1f1ec-1f1ee.png?v8", + gift: "unicode/1f381.png?v8", + gift_heart: "unicode/1f49d.png?v8", + giraffe: "unicode/1f992.png?v8", + girl: "unicode/1f467.png?v8", + globe_with_meridians: "unicode/1f310.png?v8", + gloves: "unicode/1f9e4.png?v8", + goal_net: "unicode/1f945.png?v8", + goat: "unicode/1f410.png?v8", + goberserk: "goberserk.png?v8", + godmode: "godmode.png?v8", + goggles: "unicode/1f97d.png?v8", + golf: "unicode/26f3.png?v8", + golfing: "unicode/1f3cc.png?v8", + golfing_man: "unicode/1f3cc-2642.png?v8", + golfing_woman: "unicode/1f3cc-2640.png?v8", + gorilla: "unicode/1f98d.png?v8", + grapes: "unicode/1f347.png?v8", + greece: "unicode/1f1ec-1f1f7.png?v8", + green_apple: "unicode/1f34f.png?v8", + green_book: "unicode/1f4d7.png?v8", + green_circle: "unicode/1f7e2.png?v8", + green_heart: "unicode/1f49a.png?v8", + green_salad: "unicode/1f957.png?v8", + green_square: "unicode/1f7e9.png?v8", + greenland: "unicode/1f1ec-1f1f1.png?v8", + grenada: "unicode/1f1ec-1f1e9.png?v8", + grey_exclamation: "unicode/2755.png?v8", + grey_question: "unicode/2754.png?v8", + grimacing: "unicode/1f62c.png?v8", + grin: "unicode/1f601.png?v8", + grinning: "unicode/1f600.png?v8", + guadeloupe: "unicode/1f1ec-1f1f5.png?v8", + guam: "unicode/1f1ec-1f1fa.png?v8", + guard: "unicode/1f482.png?v8", + guardsman: "unicode/1f482-2642.png?v8", + guardswoman: "unicode/1f482-2640.png?v8", + guatemala: "unicode/1f1ec-1f1f9.png?v8", + guernsey: "unicode/1f1ec-1f1ec.png?v8", + guide_dog: "unicode/1f9ae.png?v8", + guinea: "unicode/1f1ec-1f1f3.png?v8", + guinea_bissau: "unicode/1f1ec-1f1fc.png?v8", + guitar: "unicode/1f3b8.png?v8", + gun: "unicode/1f52b.png?v8", + guyana: "unicode/1f1ec-1f1fe.png?v8", + haircut: "unicode/1f487.png?v8", + haircut_man: "unicode/1f487-2642.png?v8", + haircut_woman: "unicode/1f487-2640.png?v8", + haiti: "unicode/1f1ed-1f1f9.png?v8", + hamburger: "unicode/1f354.png?v8", + hammer: "unicode/1f528.png?v8", + hammer_and_pick: "unicode/2692.png?v8", + hammer_and_wrench: "unicode/1f6e0.png?v8", + hamster: "unicode/1f439.png?v8", + hand: "unicode/270b.png?v8", + hand_over_mouth: "unicode/1f92d.png?v8", + handbag: "unicode/1f45c.png?v8", + handball_person: "unicode/1f93e.png?v8", + handshake: "unicode/1f91d.png?v8", + hankey: "unicode/1f4a9.png?v8", + hash: "unicode/0023-20e3.png?v8", + hatched_chick: "unicode/1f425.png?v8", + hatching_chick: "unicode/1f423.png?v8", + headphones: "unicode/1f3a7.png?v8", + headstone: "unicode/1faa6.png?v8", + health_worker: "unicode/1f9d1-2695.png?v8", + hear_no_evil: "unicode/1f649.png?v8", + heard_mcdonald_islands: "unicode/1f1ed-1f1f2.png?v8", + heart: "unicode/2764.png?v8", + heart_decoration: "unicode/1f49f.png?v8", + heart_eyes: "unicode/1f60d.png?v8", + heart_eyes_cat: "unicode/1f63b.png?v8", + heart_on_fire: "unicode/2764-1f525.png?v8", + heartbeat: "unicode/1f493.png?v8", + heartpulse: "unicode/1f497.png?v8", + hearts: "unicode/2665.png?v8", + heavy_check_mark: "unicode/2714.png?v8", + heavy_division_sign: "unicode/2797.png?v8", + heavy_dollar_sign: "unicode/1f4b2.png?v8", + heavy_exclamation_mark: "unicode/2757.png?v8", + heavy_heart_exclamation: "unicode/2763.png?v8", + heavy_minus_sign: "unicode/2796.png?v8", + heavy_multiplication_x: "unicode/2716.png?v8", + heavy_plus_sign: "unicode/2795.png?v8", + hedgehog: "unicode/1f994.png?v8", + helicopter: "unicode/1f681.png?v8", + herb: "unicode/1f33f.png?v8", + hibiscus: "unicode/1f33a.png?v8", + high_brightness: "unicode/1f506.png?v8", + high_heel: "unicode/1f460.png?v8", + hiking_boot: "unicode/1f97e.png?v8", + hindu_temple: "unicode/1f6d5.png?v8", + hippopotamus: "unicode/1f99b.png?v8", + hocho: "unicode/1f52a.png?v8", + hole: "unicode/1f573.png?v8", + honduras: "unicode/1f1ed-1f1f3.png?v8", + honey_pot: "unicode/1f36f.png?v8", + honeybee: "unicode/1f41d.png?v8", + hong_kong: "unicode/1f1ed-1f1f0.png?v8", + hook: "unicode/1fa9d.png?v8", + horse: "unicode/1f434.png?v8", + horse_racing: "unicode/1f3c7.png?v8", + hospital: "unicode/1f3e5.png?v8", + hot_face: "unicode/1f975.png?v8", + hot_pepper: "unicode/1f336.png?v8", + hotdog: "unicode/1f32d.png?v8", + hotel: "unicode/1f3e8.png?v8", + hotsprings: "unicode/2668.png?v8", + hourglass: "unicode/231b.png?v8", + hourglass_flowing_sand: "unicode/23f3.png?v8", + house: "unicode/1f3e0.png?v8", + house_with_garden: "unicode/1f3e1.png?v8", + houses: "unicode/1f3d8.png?v8", + hugs: "unicode/1f917.png?v8", + hungary: "unicode/1f1ed-1f1fa.png?v8", + hurtrealbad: "hurtrealbad.png?v8", + hushed: "unicode/1f62f.png?v8", + hut: "unicode/1f6d6.png?v8", + ice_cream: "unicode/1f368.png?v8", + ice_cube: "unicode/1f9ca.png?v8", + ice_hockey: "unicode/1f3d2.png?v8", + ice_skate: "unicode/26f8.png?v8", + icecream: "unicode/1f366.png?v8", + iceland: "unicode/1f1ee-1f1f8.png?v8", + id: "unicode/1f194.png?v8", + ideograph_advantage: "unicode/1f250.png?v8", + imp: "unicode/1f47f.png?v8", + inbox_tray: "unicode/1f4e5.png?v8", + incoming_envelope: "unicode/1f4e8.png?v8", + india: "unicode/1f1ee-1f1f3.png?v8", + indonesia: "unicode/1f1ee-1f1e9.png?v8", + infinity: "unicode/267e.png?v8", + information_desk_person: "unicode/1f481.png?v8", + information_source: "unicode/2139.png?v8", + innocent: "unicode/1f607.png?v8", + interrobang: "unicode/2049.png?v8", + iphone: "unicode/1f4f1.png?v8", + iran: "unicode/1f1ee-1f1f7.png?v8", + iraq: "unicode/1f1ee-1f1f6.png?v8", + ireland: "unicode/1f1ee-1f1ea.png?v8", + isle_of_man: "unicode/1f1ee-1f1f2.png?v8", + israel: "unicode/1f1ee-1f1f1.png?v8", + it: "unicode/1f1ee-1f1f9.png?v8", + izakaya_lantern: "unicode/1f3ee.png?v8", + jack_o_lantern: "unicode/1f383.png?v8", + jamaica: "unicode/1f1ef-1f1f2.png?v8", + japan: "unicode/1f5fe.png?v8", + japanese_castle: "unicode/1f3ef.png?v8", + japanese_goblin: "unicode/1f47a.png?v8", + japanese_ogre: "unicode/1f479.png?v8", + jeans: "unicode/1f456.png?v8", + jersey: "unicode/1f1ef-1f1ea.png?v8", + jigsaw: "unicode/1f9e9.png?v8", + jordan: "unicode/1f1ef-1f1f4.png?v8", + joy: "unicode/1f602.png?v8", + joy_cat: "unicode/1f639.png?v8", + joystick: "unicode/1f579.png?v8", + jp: "unicode/1f1ef-1f1f5.png?v8", + judge: "unicode/1f9d1-2696.png?v8", + juggling_person: "unicode/1f939.png?v8", + kaaba: "unicode/1f54b.png?v8", + kangaroo: "unicode/1f998.png?v8", + kazakhstan: "unicode/1f1f0-1f1ff.png?v8", + kenya: "unicode/1f1f0-1f1ea.png?v8", + key: "unicode/1f511.png?v8", + keyboard: "unicode/2328.png?v8", + keycap_ten: "unicode/1f51f.png?v8", + kick_scooter: "unicode/1f6f4.png?v8", + kimono: "unicode/1f458.png?v8", + kiribati: "unicode/1f1f0-1f1ee.png?v8", + kiss: "unicode/1f48b.png?v8", + kissing: "unicode/1f617.png?v8", + kissing_cat: "unicode/1f63d.png?v8", + kissing_closed_eyes: "unicode/1f61a.png?v8", + kissing_heart: "unicode/1f618.png?v8", + kissing_smiling_eyes: "unicode/1f619.png?v8", + kite: "unicode/1fa81.png?v8", + kiwi_fruit: "unicode/1f95d.png?v8", + kneeling_man: "unicode/1f9ce-2642.png?v8", + kneeling_person: "unicode/1f9ce.png?v8", + kneeling_woman: "unicode/1f9ce-2640.png?v8", + knife: "unicode/1f52a.png?v8", + knot: "unicode/1faa2.png?v8", + koala: "unicode/1f428.png?v8", + koko: "unicode/1f201.png?v8", + kosovo: "unicode/1f1fd-1f1f0.png?v8", + kr: "unicode/1f1f0-1f1f7.png?v8", + kuwait: "unicode/1f1f0-1f1fc.png?v8", + kyrgyzstan: "unicode/1f1f0-1f1ec.png?v8", + lab_coat: "unicode/1f97c.png?v8", + label: "unicode/1f3f7.png?v8", + lacrosse: "unicode/1f94d.png?v8", + ladder: "unicode/1fa9c.png?v8", + lady_beetle: "unicode/1f41e.png?v8", + lantern: "unicode/1f3ee.png?v8", + laos: "unicode/1f1f1-1f1e6.png?v8", + large_blue_circle: "unicode/1f535.png?v8", + large_blue_diamond: "unicode/1f537.png?v8", + large_orange_diamond: "unicode/1f536.png?v8", + last_quarter_moon: "unicode/1f317.png?v8", + last_quarter_moon_with_face: "unicode/1f31c.png?v8", + latin_cross: "unicode/271d.png?v8", + latvia: "unicode/1f1f1-1f1fb.png?v8", + laughing: "unicode/1f606.png?v8", + leafy_green: "unicode/1f96c.png?v8", + leaves: "unicode/1f343.png?v8", + lebanon: "unicode/1f1f1-1f1e7.png?v8", + ledger: "unicode/1f4d2.png?v8", + left_luggage: "unicode/1f6c5.png?v8", + left_right_arrow: "unicode/2194.png?v8", + left_speech_bubble: "unicode/1f5e8.png?v8", + leftwards_arrow_with_hook: "unicode/21a9.png?v8", + leg: "unicode/1f9b5.png?v8", + lemon: "unicode/1f34b.png?v8", + leo: "unicode/264c.png?v8", + leopard: "unicode/1f406.png?v8", + lesotho: "unicode/1f1f1-1f1f8.png?v8", + level_slider: "unicode/1f39a.png?v8", + liberia: "unicode/1f1f1-1f1f7.png?v8", + libra: "unicode/264e.png?v8", + libya: "unicode/1f1f1-1f1fe.png?v8", + liechtenstein: "unicode/1f1f1-1f1ee.png?v8", + light_rail: "unicode/1f688.png?v8", + link: "unicode/1f517.png?v8", + lion: "unicode/1f981.png?v8", + lips: "unicode/1f444.png?v8", + lipstick: "unicode/1f484.png?v8", + lithuania: "unicode/1f1f1-1f1f9.png?v8", + lizard: "unicode/1f98e.png?v8", + llama: "unicode/1f999.png?v8", + lobster: "unicode/1f99e.png?v8", + lock: "unicode/1f512.png?v8", + lock_with_ink_pen: "unicode/1f50f.png?v8", + lollipop: "unicode/1f36d.png?v8", + long_drum: "unicode/1fa98.png?v8", + loop: "unicode/27bf.png?v8", + lotion_bottle: "unicode/1f9f4.png?v8", + lotus_position: "unicode/1f9d8.png?v8", + lotus_position_man: "unicode/1f9d8-2642.png?v8", + lotus_position_woman: "unicode/1f9d8-2640.png?v8", + loud_sound: "unicode/1f50a.png?v8", + loudspeaker: "unicode/1f4e2.png?v8", + love_hotel: "unicode/1f3e9.png?v8", + love_letter: "unicode/1f48c.png?v8", + love_you_gesture: "unicode/1f91f.png?v8", + low_brightness: "unicode/1f505.png?v8", + luggage: "unicode/1f9f3.png?v8", + lungs: "unicode/1fac1.png?v8", + luxembourg: "unicode/1f1f1-1f1fa.png?v8", + lying_face: "unicode/1f925.png?v8", + m: "unicode/24c2.png?v8", + macau: "unicode/1f1f2-1f1f4.png?v8", + macedonia: "unicode/1f1f2-1f1f0.png?v8", + madagascar: "unicode/1f1f2-1f1ec.png?v8", + mag: "unicode/1f50d.png?v8", + mag_right: "unicode/1f50e.png?v8", + mage: "unicode/1f9d9.png?v8", + mage_man: "unicode/1f9d9-2642.png?v8", + mage_woman: "unicode/1f9d9-2640.png?v8", + magic_wand: "unicode/1fa84.png?v8", + magnet: "unicode/1f9f2.png?v8", + mahjong: "unicode/1f004.png?v8", + mailbox: "unicode/1f4eb.png?v8", + mailbox_closed: "unicode/1f4ea.png?v8", + mailbox_with_mail: "unicode/1f4ec.png?v8", + mailbox_with_no_mail: "unicode/1f4ed.png?v8", + malawi: "unicode/1f1f2-1f1fc.png?v8", + malaysia: "unicode/1f1f2-1f1fe.png?v8", + maldives: "unicode/1f1f2-1f1fb.png?v8", + male_detective: "unicode/1f575-2642.png?v8", + male_sign: "unicode/2642.png?v8", + mali: "unicode/1f1f2-1f1f1.png?v8", + malta: "unicode/1f1f2-1f1f9.png?v8", + mammoth: "unicode/1f9a3.png?v8", + man: "unicode/1f468.png?v8", + man_artist: "unicode/1f468-1f3a8.png?v8", + man_astronaut: "unicode/1f468-1f680.png?v8", + man_beard: "unicode/1f9d4-2642.png?v8", + man_cartwheeling: "unicode/1f938-2642.png?v8", + man_cook: "unicode/1f468-1f373.png?v8", + man_dancing: "unicode/1f57a.png?v8", + man_facepalming: "unicode/1f926-2642.png?v8", + man_factory_worker: "unicode/1f468-1f3ed.png?v8", + man_farmer: "unicode/1f468-1f33e.png?v8", + man_feeding_baby: "unicode/1f468-1f37c.png?v8", + man_firefighter: "unicode/1f468-1f692.png?v8", + man_health_worker: "unicode/1f468-2695.png?v8", + man_in_manual_wheelchair: "unicode/1f468-1f9bd.png?v8", + man_in_motorized_wheelchair: "unicode/1f468-1f9bc.png?v8", + man_in_tuxedo: "unicode/1f935-2642.png?v8", + man_judge: "unicode/1f468-2696.png?v8", + man_juggling: "unicode/1f939-2642.png?v8", + man_mechanic: "unicode/1f468-1f527.png?v8", + man_office_worker: "unicode/1f468-1f4bc.png?v8", + man_pilot: "unicode/1f468-2708.png?v8", + man_playing_handball: "unicode/1f93e-2642.png?v8", + man_playing_water_polo: "unicode/1f93d-2642.png?v8", + man_scientist: "unicode/1f468-1f52c.png?v8", + man_shrugging: "unicode/1f937-2642.png?v8", + man_singer: "unicode/1f468-1f3a4.png?v8", + man_student: "unicode/1f468-1f393.png?v8", + man_teacher: "unicode/1f468-1f3eb.png?v8", + man_technologist: "unicode/1f468-1f4bb.png?v8", + man_with_gua_pi_mao: "unicode/1f472.png?v8", + man_with_probing_cane: "unicode/1f468-1f9af.png?v8", + man_with_turban: "unicode/1f473-2642.png?v8", + man_with_veil: "unicode/1f470-2642.png?v8", + mandarin: "unicode/1f34a.png?v8", + mango: "unicode/1f96d.png?v8", + mans_shoe: "unicode/1f45e.png?v8", + mantelpiece_clock: "unicode/1f570.png?v8", + manual_wheelchair: "unicode/1f9bd.png?v8", + maple_leaf: "unicode/1f341.png?v8", + marshall_islands: "unicode/1f1f2-1f1ed.png?v8", + martial_arts_uniform: "unicode/1f94b.png?v8", + martinique: "unicode/1f1f2-1f1f6.png?v8", + mask: "unicode/1f637.png?v8", + massage: "unicode/1f486.png?v8", + massage_man: "unicode/1f486-2642.png?v8", + massage_woman: "unicode/1f486-2640.png?v8", + mate: "unicode/1f9c9.png?v8", + mauritania: "unicode/1f1f2-1f1f7.png?v8", + mauritius: "unicode/1f1f2-1f1fa.png?v8", + mayotte: "unicode/1f1fe-1f1f9.png?v8", + meat_on_bone: "unicode/1f356.png?v8", + mechanic: "unicode/1f9d1-1f527.png?v8", + mechanical_arm: "unicode/1f9be.png?v8", + mechanical_leg: "unicode/1f9bf.png?v8", + medal_military: "unicode/1f396.png?v8", + medal_sports: "unicode/1f3c5.png?v8", + medical_symbol: "unicode/2695.png?v8", + mega: "unicode/1f4e3.png?v8", + melon: "unicode/1f348.png?v8", + memo: "unicode/1f4dd.png?v8", + men_wrestling: "unicode/1f93c-2642.png?v8", + mending_heart: "unicode/2764-1fa79.png?v8", + menorah: "unicode/1f54e.png?v8", + mens: "unicode/1f6b9.png?v8", + mermaid: "unicode/1f9dc-2640.png?v8", + merman: "unicode/1f9dc-2642.png?v8", + merperson: "unicode/1f9dc.png?v8", + metal: "unicode/1f918.png?v8", + metro: "unicode/1f687.png?v8", + mexico: "unicode/1f1f2-1f1fd.png?v8", + microbe: "unicode/1f9a0.png?v8", + micronesia: "unicode/1f1eb-1f1f2.png?v8", + microphone: "unicode/1f3a4.png?v8", + microscope: "unicode/1f52c.png?v8", + middle_finger: "unicode/1f595.png?v8", + military_helmet: "unicode/1fa96.png?v8", + milk_glass: "unicode/1f95b.png?v8", + milky_way: "unicode/1f30c.png?v8", + minibus: "unicode/1f690.png?v8", + minidisc: "unicode/1f4bd.png?v8", + mirror: "unicode/1fa9e.png?v8", + mobile_phone_off: "unicode/1f4f4.png?v8", + moldova: "unicode/1f1f2-1f1e9.png?v8", + monaco: "unicode/1f1f2-1f1e8.png?v8", + money_mouth_face: "unicode/1f911.png?v8", + money_with_wings: "unicode/1f4b8.png?v8", + moneybag: "unicode/1f4b0.png?v8", + mongolia: "unicode/1f1f2-1f1f3.png?v8", + monkey: "unicode/1f412.png?v8", + monkey_face: "unicode/1f435.png?v8", + monocle_face: "unicode/1f9d0.png?v8", + monorail: "unicode/1f69d.png?v8", + montenegro: "unicode/1f1f2-1f1ea.png?v8", + montserrat: "unicode/1f1f2-1f1f8.png?v8", + moon: "unicode/1f314.png?v8", + moon_cake: "unicode/1f96e.png?v8", + morocco: "unicode/1f1f2-1f1e6.png?v8", + mortar_board: "unicode/1f393.png?v8", + mosque: "unicode/1f54c.png?v8", + mosquito: "unicode/1f99f.png?v8", + motor_boat: "unicode/1f6e5.png?v8", + motor_scooter: "unicode/1f6f5.png?v8", + motorcycle: "unicode/1f3cd.png?v8", + motorized_wheelchair: "unicode/1f9bc.png?v8", + motorway: "unicode/1f6e3.png?v8", + mount_fuji: "unicode/1f5fb.png?v8", + mountain: "unicode/26f0.png?v8", + mountain_bicyclist: "unicode/1f6b5.png?v8", + mountain_biking_man: "unicode/1f6b5-2642.png?v8", + mountain_biking_woman: "unicode/1f6b5-2640.png?v8", + mountain_cableway: "unicode/1f6a0.png?v8", + mountain_railway: "unicode/1f69e.png?v8", + mountain_snow: "unicode/1f3d4.png?v8", + mouse: "unicode/1f42d.png?v8", + mouse2: "unicode/1f401.png?v8", + mouse_trap: "unicode/1faa4.png?v8", + movie_camera: "unicode/1f3a5.png?v8", + moyai: "unicode/1f5ff.png?v8", + mozambique: "unicode/1f1f2-1f1ff.png?v8", + mrs_claus: "unicode/1f936.png?v8", + muscle: "unicode/1f4aa.png?v8", + mushroom: "unicode/1f344.png?v8", + musical_keyboard: "unicode/1f3b9.png?v8", + musical_note: "unicode/1f3b5.png?v8", + musical_score: "unicode/1f3bc.png?v8", + mute: "unicode/1f507.png?v8", + mx_claus: "unicode/1f9d1-1f384.png?v8", + myanmar: "unicode/1f1f2-1f1f2.png?v8", + nail_care: "unicode/1f485.png?v8", + name_badge: "unicode/1f4db.png?v8", + namibia: "unicode/1f1f3-1f1e6.png?v8", + national_park: "unicode/1f3de.png?v8", + nauru: "unicode/1f1f3-1f1f7.png?v8", + nauseated_face: "unicode/1f922.png?v8", + nazar_amulet: "unicode/1f9ff.png?v8", + neckbeard: "neckbeard.png?v8", + necktie: "unicode/1f454.png?v8", + negative_squared_cross_mark: "unicode/274e.png?v8", + nepal: "unicode/1f1f3-1f1f5.png?v8", + nerd_face: "unicode/1f913.png?v8", + nesting_dolls: "unicode/1fa86.png?v8", + netherlands: "unicode/1f1f3-1f1f1.png?v8", + neutral_face: "unicode/1f610.png?v8", + new: "unicode/1f195.png?v8", + new_caledonia: "unicode/1f1f3-1f1e8.png?v8", + new_moon: "unicode/1f311.png?v8", + new_moon_with_face: "unicode/1f31a.png?v8", + new_zealand: "unicode/1f1f3-1f1ff.png?v8", + newspaper: "unicode/1f4f0.png?v8", + newspaper_roll: "unicode/1f5de.png?v8", + next_track_button: "unicode/23ed.png?v8", + ng: "unicode/1f196.png?v8", + ng_man: "unicode/1f645-2642.png?v8", + ng_woman: "unicode/1f645-2640.png?v8", + nicaragua: "unicode/1f1f3-1f1ee.png?v8", + niger: "unicode/1f1f3-1f1ea.png?v8", + nigeria: "unicode/1f1f3-1f1ec.png?v8", + night_with_stars: "unicode/1f303.png?v8", + nine: "unicode/0039-20e3.png?v8", + ninja: "unicode/1f977.png?v8", + niue: "unicode/1f1f3-1f1fa.png?v8", + no_bell: "unicode/1f515.png?v8", + no_bicycles: "unicode/1f6b3.png?v8", + no_entry: "unicode/26d4.png?v8", + no_entry_sign: "unicode/1f6ab.png?v8", + no_good: "unicode/1f645.png?v8", + no_good_man: "unicode/1f645-2642.png?v8", + no_good_woman: "unicode/1f645-2640.png?v8", + no_mobile_phones: "unicode/1f4f5.png?v8", + no_mouth: "unicode/1f636.png?v8", + no_pedestrians: "unicode/1f6b7.png?v8", + no_smoking: "unicode/1f6ad.png?v8", + "non-potable_water": "unicode/1f6b1.png?v8", + norfolk_island: "unicode/1f1f3-1f1eb.png?v8", + north_korea: "unicode/1f1f0-1f1f5.png?v8", + northern_mariana_islands: "unicode/1f1f2-1f1f5.png?v8", + norway: "unicode/1f1f3-1f1f4.png?v8", + nose: "unicode/1f443.png?v8", + notebook: "unicode/1f4d3.png?v8", + notebook_with_decorative_cover: "unicode/1f4d4.png?v8", + notes: "unicode/1f3b6.png?v8", + nut_and_bolt: "unicode/1f529.png?v8", + o: "unicode/2b55.png?v8", + o2: "unicode/1f17e.png?v8", + ocean: "unicode/1f30a.png?v8", + octocat: "octocat.png?v8", + octopus: "unicode/1f419.png?v8", + oden: "unicode/1f362.png?v8", + office: "unicode/1f3e2.png?v8", + office_worker: "unicode/1f9d1-1f4bc.png?v8", + oil_drum: "unicode/1f6e2.png?v8", + ok: "unicode/1f197.png?v8", + ok_hand: "unicode/1f44c.png?v8", + ok_man: "unicode/1f646-2642.png?v8", + ok_person: "unicode/1f646.png?v8", + ok_woman: "unicode/1f646-2640.png?v8", + old_key: "unicode/1f5dd.png?v8", + older_adult: "unicode/1f9d3.png?v8", + older_man: "unicode/1f474.png?v8", + older_woman: "unicode/1f475.png?v8", + olive: "unicode/1fad2.png?v8", + om: "unicode/1f549.png?v8", + oman: "unicode/1f1f4-1f1f2.png?v8", + on: "unicode/1f51b.png?v8", + oncoming_automobile: "unicode/1f698.png?v8", + oncoming_bus: "unicode/1f68d.png?v8", + oncoming_police_car: "unicode/1f694.png?v8", + oncoming_taxi: "unicode/1f696.png?v8", + one: "unicode/0031-20e3.png?v8", + one_piece_swimsuit: "unicode/1fa71.png?v8", + onion: "unicode/1f9c5.png?v8", + open_book: "unicode/1f4d6.png?v8", + open_file_folder: "unicode/1f4c2.png?v8", + open_hands: "unicode/1f450.png?v8", + open_mouth: "unicode/1f62e.png?v8", + open_umbrella: "unicode/2602.png?v8", + ophiuchus: "unicode/26ce.png?v8", + orange: "unicode/1f34a.png?v8", + orange_book: "unicode/1f4d9.png?v8", + orange_circle: "unicode/1f7e0.png?v8", + orange_heart: "unicode/1f9e1.png?v8", + orange_square: "unicode/1f7e7.png?v8", + orangutan: "unicode/1f9a7.png?v8", + orthodox_cross: "unicode/2626.png?v8", + otter: "unicode/1f9a6.png?v8", + outbox_tray: "unicode/1f4e4.png?v8", + owl: "unicode/1f989.png?v8", + ox: "unicode/1f402.png?v8", + oyster: "unicode/1f9aa.png?v8", + package: "unicode/1f4e6.png?v8", + page_facing_up: "unicode/1f4c4.png?v8", + page_with_curl: "unicode/1f4c3.png?v8", + pager: "unicode/1f4df.png?v8", + paintbrush: "unicode/1f58c.png?v8", + pakistan: "unicode/1f1f5-1f1f0.png?v8", + palau: "unicode/1f1f5-1f1fc.png?v8", + palestinian_territories: "unicode/1f1f5-1f1f8.png?v8", + palm_tree: "unicode/1f334.png?v8", + palms_up_together: "unicode/1f932.png?v8", + panama: "unicode/1f1f5-1f1e6.png?v8", + pancakes: "unicode/1f95e.png?v8", + panda_face: "unicode/1f43c.png?v8", + paperclip: "unicode/1f4ce.png?v8", + paperclips: "unicode/1f587.png?v8", + papua_new_guinea: "unicode/1f1f5-1f1ec.png?v8", + parachute: "unicode/1fa82.png?v8", + paraguay: "unicode/1f1f5-1f1fe.png?v8", + parasol_on_ground: "unicode/26f1.png?v8", + parking: "unicode/1f17f.png?v8", + parrot: "unicode/1f99c.png?v8", + part_alternation_mark: "unicode/303d.png?v8", + partly_sunny: "unicode/26c5.png?v8", + partying_face: "unicode/1f973.png?v8", + passenger_ship: "unicode/1f6f3.png?v8", + passport_control: "unicode/1f6c2.png?v8", + pause_button: "unicode/23f8.png?v8", + paw_prints: "unicode/1f43e.png?v8", + peace_symbol: "unicode/262e.png?v8", + peach: "unicode/1f351.png?v8", + peacock: "unicode/1f99a.png?v8", + peanuts: "unicode/1f95c.png?v8", + pear: "unicode/1f350.png?v8", + pen: "unicode/1f58a.png?v8", + pencil: "unicode/1f4dd.png?v8", + pencil2: "unicode/270f.png?v8", + penguin: "unicode/1f427.png?v8", + pensive: "unicode/1f614.png?v8", + people_holding_hands: "unicode/1f9d1-1f91d-1f9d1.png?v8", + people_hugging: "unicode/1fac2.png?v8", + performing_arts: "unicode/1f3ad.png?v8", + persevere: "unicode/1f623.png?v8", + person_bald: "unicode/1f9d1-1f9b2.png?v8", + person_curly_hair: "unicode/1f9d1-1f9b1.png?v8", + person_feeding_baby: "unicode/1f9d1-1f37c.png?v8", + person_fencing: "unicode/1f93a.png?v8", + person_in_manual_wheelchair: "unicode/1f9d1-1f9bd.png?v8", + person_in_motorized_wheelchair: "unicode/1f9d1-1f9bc.png?v8", + person_in_tuxedo: "unicode/1f935.png?v8", + person_red_hair: "unicode/1f9d1-1f9b0.png?v8", + person_white_hair: "unicode/1f9d1-1f9b3.png?v8", + person_with_probing_cane: "unicode/1f9d1-1f9af.png?v8", + person_with_turban: "unicode/1f473.png?v8", + person_with_veil: "unicode/1f470.png?v8", + peru: "unicode/1f1f5-1f1ea.png?v8", + petri_dish: "unicode/1f9eb.png?v8", + philippines: "unicode/1f1f5-1f1ed.png?v8", + phone: "unicode/260e.png?v8", + pick: "unicode/26cf.png?v8", + pickup_truck: "unicode/1f6fb.png?v8", + pie: "unicode/1f967.png?v8", + pig: "unicode/1f437.png?v8", + pig2: "unicode/1f416.png?v8", + pig_nose: "unicode/1f43d.png?v8", + pill: "unicode/1f48a.png?v8", + pilot: "unicode/1f9d1-2708.png?v8", + pinata: "unicode/1fa85.png?v8", + pinched_fingers: "unicode/1f90c.png?v8", + pinching_hand: "unicode/1f90f.png?v8", + pineapple: "unicode/1f34d.png?v8", + ping_pong: "unicode/1f3d3.png?v8", + pirate_flag: "unicode/1f3f4-2620.png?v8", + pisces: "unicode/2653.png?v8", + pitcairn_islands: "unicode/1f1f5-1f1f3.png?v8", + pizza: "unicode/1f355.png?v8", + placard: "unicode/1faa7.png?v8", + place_of_worship: "unicode/1f6d0.png?v8", + plate_with_cutlery: "unicode/1f37d.png?v8", + play_or_pause_button: "unicode/23ef.png?v8", + pleading_face: "unicode/1f97a.png?v8", + plunger: "unicode/1faa0.png?v8", + point_down: "unicode/1f447.png?v8", + point_left: "unicode/1f448.png?v8", + point_right: "unicode/1f449.png?v8", + point_up: "unicode/261d.png?v8", + point_up_2: "unicode/1f446.png?v8", + poland: "unicode/1f1f5-1f1f1.png?v8", + polar_bear: "unicode/1f43b-2744.png?v8", + police_car: "unicode/1f693.png?v8", + police_officer: "unicode/1f46e.png?v8", + policeman: "unicode/1f46e-2642.png?v8", + policewoman: "unicode/1f46e-2640.png?v8", + poodle: "unicode/1f429.png?v8", + poop: "unicode/1f4a9.png?v8", + popcorn: "unicode/1f37f.png?v8", + portugal: "unicode/1f1f5-1f1f9.png?v8", + post_office: "unicode/1f3e3.png?v8", + postal_horn: "unicode/1f4ef.png?v8", + postbox: "unicode/1f4ee.png?v8", + potable_water: "unicode/1f6b0.png?v8", + potato: "unicode/1f954.png?v8", + potted_plant: "unicode/1fab4.png?v8", + pouch: "unicode/1f45d.png?v8", + poultry_leg: "unicode/1f357.png?v8", + pound: "unicode/1f4b7.png?v8", + pout: "unicode/1f621.png?v8", + pouting_cat: "unicode/1f63e.png?v8", + pouting_face: "unicode/1f64e.png?v8", + pouting_man: "unicode/1f64e-2642.png?v8", + pouting_woman: "unicode/1f64e-2640.png?v8", + pray: "unicode/1f64f.png?v8", + prayer_beads: "unicode/1f4ff.png?v8", + pregnant_woman: "unicode/1f930.png?v8", + pretzel: "unicode/1f968.png?v8", + previous_track_button: "unicode/23ee.png?v8", + prince: "unicode/1f934.png?v8", + princess: "unicode/1f478.png?v8", + printer: "unicode/1f5a8.png?v8", + probing_cane: "unicode/1f9af.png?v8", + puerto_rico: "unicode/1f1f5-1f1f7.png?v8", + punch: "unicode/1f44a.png?v8", + purple_circle: "unicode/1f7e3.png?v8", + purple_heart: "unicode/1f49c.png?v8", + purple_square: "unicode/1f7ea.png?v8", + purse: "unicode/1f45b.png?v8", + pushpin: "unicode/1f4cc.png?v8", + put_litter_in_its_place: "unicode/1f6ae.png?v8", + qatar: "unicode/1f1f6-1f1e6.png?v8", + question: "unicode/2753.png?v8", + rabbit: "unicode/1f430.png?v8", + rabbit2: "unicode/1f407.png?v8", + raccoon: "unicode/1f99d.png?v8", + racehorse: "unicode/1f40e.png?v8", + racing_car: "unicode/1f3ce.png?v8", + radio: "unicode/1f4fb.png?v8", + radio_button: "unicode/1f518.png?v8", + radioactive: "unicode/2622.png?v8", + rage: "unicode/1f621.png?v8", + rage1: "rage1.png?v8", + rage2: "rage2.png?v8", + rage3: "rage3.png?v8", + rage4: "rage4.png?v8", + railway_car: "unicode/1f683.png?v8", + railway_track: "unicode/1f6e4.png?v8", + rainbow: "unicode/1f308.png?v8", + rainbow_flag: "unicode/1f3f3-1f308.png?v8", + raised_back_of_hand: "unicode/1f91a.png?v8", + raised_eyebrow: "unicode/1f928.png?v8", + raised_hand: "unicode/270b.png?v8", + raised_hand_with_fingers_splayed: "unicode/1f590.png?v8", + raised_hands: "unicode/1f64c.png?v8", + raising_hand: "unicode/1f64b.png?v8", + raising_hand_man: "unicode/1f64b-2642.png?v8", + raising_hand_woman: "unicode/1f64b-2640.png?v8", + ram: "unicode/1f40f.png?v8", + ramen: "unicode/1f35c.png?v8", + rat: "unicode/1f400.png?v8", + razor: "unicode/1fa92.png?v8", + receipt: "unicode/1f9fe.png?v8", + record_button: "unicode/23fa.png?v8", + recycle: "unicode/267b.png?v8", + red_car: "unicode/1f697.png?v8", + red_circle: "unicode/1f534.png?v8", + red_envelope: "unicode/1f9e7.png?v8", + red_haired_man: "unicode/1f468-1f9b0.png?v8", + red_haired_woman: "unicode/1f469-1f9b0.png?v8", + red_square: "unicode/1f7e5.png?v8", + registered: "unicode/00ae.png?v8", + relaxed: "unicode/263a.png?v8", + relieved: "unicode/1f60c.png?v8", + reminder_ribbon: "unicode/1f397.png?v8", + repeat: "unicode/1f501.png?v8", + repeat_one: "unicode/1f502.png?v8", + rescue_worker_helmet: "unicode/26d1.png?v8", + restroom: "unicode/1f6bb.png?v8", + reunion: "unicode/1f1f7-1f1ea.png?v8", + revolving_hearts: "unicode/1f49e.png?v8", + rewind: "unicode/23ea.png?v8", + rhinoceros: "unicode/1f98f.png?v8", + ribbon: "unicode/1f380.png?v8", + rice: "unicode/1f35a.png?v8", + rice_ball: "unicode/1f359.png?v8", + rice_cracker: "unicode/1f358.png?v8", + rice_scene: "unicode/1f391.png?v8", + right_anger_bubble: "unicode/1f5ef.png?v8", + ring: "unicode/1f48d.png?v8", + ringed_planet: "unicode/1fa90.png?v8", + robot: "unicode/1f916.png?v8", + rock: "unicode/1faa8.png?v8", + rocket: "unicode/1f680.png?v8", + rofl: "unicode/1f923.png?v8", + roll_eyes: "unicode/1f644.png?v8", + roll_of_paper: "unicode/1f9fb.png?v8", + roller_coaster: "unicode/1f3a2.png?v8", + roller_skate: "unicode/1f6fc.png?v8", + romania: "unicode/1f1f7-1f1f4.png?v8", + rooster: "unicode/1f413.png?v8", + rose: "unicode/1f339.png?v8", + rosette: "unicode/1f3f5.png?v8", + rotating_light: "unicode/1f6a8.png?v8", + round_pushpin: "unicode/1f4cd.png?v8", + rowboat: "unicode/1f6a3.png?v8", + rowing_man: "unicode/1f6a3-2642.png?v8", + rowing_woman: "unicode/1f6a3-2640.png?v8", + ru: "unicode/1f1f7-1f1fa.png?v8", + rugby_football: "unicode/1f3c9.png?v8", + runner: "unicode/1f3c3.png?v8", + running: "unicode/1f3c3.png?v8", + running_man: "unicode/1f3c3-2642.png?v8", + running_shirt_with_sash: "unicode/1f3bd.png?v8", + running_woman: "unicode/1f3c3-2640.png?v8", + rwanda: "unicode/1f1f7-1f1fc.png?v8", + sa: "unicode/1f202.png?v8", + safety_pin: "unicode/1f9f7.png?v8", + safety_vest: "unicode/1f9ba.png?v8", + sagittarius: "unicode/2650.png?v8", + sailboat: "unicode/26f5.png?v8", + sake: "unicode/1f376.png?v8", + salt: "unicode/1f9c2.png?v8", + samoa: "unicode/1f1fc-1f1f8.png?v8", + san_marino: "unicode/1f1f8-1f1f2.png?v8", + sandal: "unicode/1f461.png?v8", + sandwich: "unicode/1f96a.png?v8", + santa: "unicode/1f385.png?v8", + sao_tome_principe: "unicode/1f1f8-1f1f9.png?v8", + sari: "unicode/1f97b.png?v8", + sassy_man: "unicode/1f481-2642.png?v8", + sassy_woman: "unicode/1f481-2640.png?v8", + satellite: "unicode/1f4e1.png?v8", + satisfied: "unicode/1f606.png?v8", + saudi_arabia: "unicode/1f1f8-1f1e6.png?v8", + sauna_man: "unicode/1f9d6-2642.png?v8", + sauna_person: "unicode/1f9d6.png?v8", + sauna_woman: "unicode/1f9d6-2640.png?v8", + sauropod: "unicode/1f995.png?v8", + saxophone: "unicode/1f3b7.png?v8", + scarf: "unicode/1f9e3.png?v8", + school: "unicode/1f3eb.png?v8", + school_satchel: "unicode/1f392.png?v8", + scientist: "unicode/1f9d1-1f52c.png?v8", + scissors: "unicode/2702.png?v8", + scorpion: "unicode/1f982.png?v8", + scorpius: "unicode/264f.png?v8", + scotland: "unicode/1f3f4-e0067-e0062-e0073-e0063-e0074-e007f.png?v8", + scream: "unicode/1f631.png?v8", + scream_cat: "unicode/1f640.png?v8", + screwdriver: "unicode/1fa9b.png?v8", + scroll: "unicode/1f4dc.png?v8", + seal: "unicode/1f9ad.png?v8", + seat: "unicode/1f4ba.png?v8", + secret: "unicode/3299.png?v8", + see_no_evil: "unicode/1f648.png?v8", + seedling: "unicode/1f331.png?v8", + selfie: "unicode/1f933.png?v8", + senegal: "unicode/1f1f8-1f1f3.png?v8", + serbia: "unicode/1f1f7-1f1f8.png?v8", + service_dog: "unicode/1f415-1f9ba.png?v8", + seven: "unicode/0037-20e3.png?v8", + sewing_needle: "unicode/1faa1.png?v8", + seychelles: "unicode/1f1f8-1f1e8.png?v8", + shallow_pan_of_food: "unicode/1f958.png?v8", + shamrock: "unicode/2618.png?v8", + shark: "unicode/1f988.png?v8", + shaved_ice: "unicode/1f367.png?v8", + sheep: "unicode/1f411.png?v8", + shell: "unicode/1f41a.png?v8", + shield: "unicode/1f6e1.png?v8", + shinto_shrine: "unicode/26e9.png?v8", + ship: "unicode/1f6a2.png?v8", + shipit: "shipit.png?v8", + shirt: "unicode/1f455.png?v8", + shit: "unicode/1f4a9.png?v8", + shoe: "unicode/1f45e.png?v8", + shopping: "unicode/1f6cd.png?v8", + shopping_cart: "unicode/1f6d2.png?v8", + shorts: "unicode/1fa73.png?v8", + shower: "unicode/1f6bf.png?v8", + shrimp: "unicode/1f990.png?v8", + shrug: "unicode/1f937.png?v8", + shushing_face: "unicode/1f92b.png?v8", + sierra_leone: "unicode/1f1f8-1f1f1.png?v8", + signal_strength: "unicode/1f4f6.png?v8", + singapore: "unicode/1f1f8-1f1ec.png?v8", + singer: "unicode/1f9d1-1f3a4.png?v8", + sint_maarten: "unicode/1f1f8-1f1fd.png?v8", + six: "unicode/0036-20e3.png?v8", + six_pointed_star: "unicode/1f52f.png?v8", + skateboard: "unicode/1f6f9.png?v8", + ski: "unicode/1f3bf.png?v8", + skier: "unicode/26f7.png?v8", + skull: "unicode/1f480.png?v8", + skull_and_crossbones: "unicode/2620.png?v8", + skunk: "unicode/1f9a8.png?v8", + sled: "unicode/1f6f7.png?v8", + sleeping: "unicode/1f634.png?v8", + sleeping_bed: "unicode/1f6cc.png?v8", + sleepy: "unicode/1f62a.png?v8", + slightly_frowning_face: "unicode/1f641.png?v8", + slightly_smiling_face: "unicode/1f642.png?v8", + slot_machine: "unicode/1f3b0.png?v8", + sloth: "unicode/1f9a5.png?v8", + slovakia: "unicode/1f1f8-1f1f0.png?v8", + slovenia: "unicode/1f1f8-1f1ee.png?v8", + small_airplane: "unicode/1f6e9.png?v8", + small_blue_diamond: "unicode/1f539.png?v8", + small_orange_diamond: "unicode/1f538.png?v8", + small_red_triangle: "unicode/1f53a.png?v8", + small_red_triangle_down: "unicode/1f53b.png?v8", + smile: "unicode/1f604.png?v8", + smile_cat: "unicode/1f638.png?v8", + smiley: "unicode/1f603.png?v8", + smiley_cat: "unicode/1f63a.png?v8", + smiling_face_with_tear: "unicode/1f972.png?v8", + smiling_face_with_three_hearts: "unicode/1f970.png?v8", + smiling_imp: "unicode/1f608.png?v8", + smirk: "unicode/1f60f.png?v8", + smirk_cat: "unicode/1f63c.png?v8", + smoking: "unicode/1f6ac.png?v8", + snail: "unicode/1f40c.png?v8", + snake: "unicode/1f40d.png?v8", + sneezing_face: "unicode/1f927.png?v8", + snowboarder: "unicode/1f3c2.png?v8", + snowflake: "unicode/2744.png?v8", + snowman: "unicode/26c4.png?v8", + snowman_with_snow: "unicode/2603.png?v8", + soap: "unicode/1f9fc.png?v8", + sob: "unicode/1f62d.png?v8", + soccer: "unicode/26bd.png?v8", + socks: "unicode/1f9e6.png?v8", + softball: "unicode/1f94e.png?v8", + solomon_islands: "unicode/1f1f8-1f1e7.png?v8", + somalia: "unicode/1f1f8-1f1f4.png?v8", + soon: "unicode/1f51c.png?v8", + sos: "unicode/1f198.png?v8", + sound: "unicode/1f509.png?v8", + south_africa: "unicode/1f1ff-1f1e6.png?v8", + south_georgia_south_sandwich_islands: "unicode/1f1ec-1f1f8.png?v8", + south_sudan: "unicode/1f1f8-1f1f8.png?v8", + space_invader: "unicode/1f47e.png?v8", + spades: "unicode/2660.png?v8", + spaghetti: "unicode/1f35d.png?v8", + sparkle: "unicode/2747.png?v8", + sparkler: "unicode/1f387.png?v8", + sparkles: "unicode/2728.png?v8", + sparkling_heart: "unicode/1f496.png?v8", + speak_no_evil: "unicode/1f64a.png?v8", + speaker: "unicode/1f508.png?v8", + speaking_head: "unicode/1f5e3.png?v8", + speech_balloon: "unicode/1f4ac.png?v8", + speedboat: "unicode/1f6a4.png?v8", + spider: "unicode/1f577.png?v8", + spider_web: "unicode/1f578.png?v8", + spiral_calendar: "unicode/1f5d3.png?v8", + spiral_notepad: "unicode/1f5d2.png?v8", + sponge: "unicode/1f9fd.png?v8", + spoon: "unicode/1f944.png?v8", + squid: "unicode/1f991.png?v8", + sri_lanka: "unicode/1f1f1-1f1f0.png?v8", + st_barthelemy: "unicode/1f1e7-1f1f1.png?v8", + st_helena: "unicode/1f1f8-1f1ed.png?v8", + st_kitts_nevis: "unicode/1f1f0-1f1f3.png?v8", + st_lucia: "unicode/1f1f1-1f1e8.png?v8", + st_martin: "unicode/1f1f2-1f1eb.png?v8", + st_pierre_miquelon: "unicode/1f1f5-1f1f2.png?v8", + st_vincent_grenadines: "unicode/1f1fb-1f1e8.png?v8", + stadium: "unicode/1f3df.png?v8", + standing_man: "unicode/1f9cd-2642.png?v8", + standing_person: "unicode/1f9cd.png?v8", + standing_woman: "unicode/1f9cd-2640.png?v8", + star: "unicode/2b50.png?v8", + star2: "unicode/1f31f.png?v8", + star_and_crescent: "unicode/262a.png?v8", + star_of_david: "unicode/2721.png?v8", + star_struck: "unicode/1f929.png?v8", + stars: "unicode/1f320.png?v8", + station: "unicode/1f689.png?v8", + statue_of_liberty: "unicode/1f5fd.png?v8", + steam_locomotive: "unicode/1f682.png?v8", + stethoscope: "unicode/1fa7a.png?v8", + stew: "unicode/1f372.png?v8", + stop_button: "unicode/23f9.png?v8", + stop_sign: "unicode/1f6d1.png?v8", + stopwatch: "unicode/23f1.png?v8", + straight_ruler: "unicode/1f4cf.png?v8", + strawberry: "unicode/1f353.png?v8", + stuck_out_tongue: "unicode/1f61b.png?v8", + stuck_out_tongue_closed_eyes: "unicode/1f61d.png?v8", + stuck_out_tongue_winking_eye: "unicode/1f61c.png?v8", + student: "unicode/1f9d1-1f393.png?v8", + studio_microphone: "unicode/1f399.png?v8", + stuffed_flatbread: "unicode/1f959.png?v8", + sudan: "unicode/1f1f8-1f1e9.png?v8", + sun_behind_large_cloud: "unicode/1f325.png?v8", + sun_behind_rain_cloud: "unicode/1f326.png?v8", + sun_behind_small_cloud: "unicode/1f324.png?v8", + sun_with_face: "unicode/1f31e.png?v8", + sunflower: "unicode/1f33b.png?v8", + sunglasses: "unicode/1f60e.png?v8", + sunny: "unicode/2600.png?v8", + sunrise: "unicode/1f305.png?v8", + sunrise_over_mountains: "unicode/1f304.png?v8", + superhero: "unicode/1f9b8.png?v8", + superhero_man: "unicode/1f9b8-2642.png?v8", + superhero_woman: "unicode/1f9b8-2640.png?v8", + supervillain: "unicode/1f9b9.png?v8", + supervillain_man: "unicode/1f9b9-2642.png?v8", + supervillain_woman: "unicode/1f9b9-2640.png?v8", + surfer: "unicode/1f3c4.png?v8", + surfing_man: "unicode/1f3c4-2642.png?v8", + surfing_woman: "unicode/1f3c4-2640.png?v8", + suriname: "unicode/1f1f8-1f1f7.png?v8", + sushi: "unicode/1f363.png?v8", + suspect: "suspect.png?v8", + suspension_railway: "unicode/1f69f.png?v8", + svalbard_jan_mayen: "unicode/1f1f8-1f1ef.png?v8", + swan: "unicode/1f9a2.png?v8", + swaziland: "unicode/1f1f8-1f1ff.png?v8", + sweat: "unicode/1f613.png?v8", + sweat_drops: "unicode/1f4a6.png?v8", + sweat_smile: "unicode/1f605.png?v8", + sweden: "unicode/1f1f8-1f1ea.png?v8", + sweet_potato: "unicode/1f360.png?v8", + swim_brief: "unicode/1fa72.png?v8", + swimmer: "unicode/1f3ca.png?v8", + swimming_man: "unicode/1f3ca-2642.png?v8", + swimming_woman: "unicode/1f3ca-2640.png?v8", + switzerland: "unicode/1f1e8-1f1ed.png?v8", + symbols: "unicode/1f523.png?v8", + synagogue: "unicode/1f54d.png?v8", + syria: "unicode/1f1f8-1f1fe.png?v8", + syringe: "unicode/1f489.png?v8", + "t-rex": "unicode/1f996.png?v8", + taco: "unicode/1f32e.png?v8", + tada: "unicode/1f389.png?v8", + taiwan: "unicode/1f1f9-1f1fc.png?v8", + tajikistan: "unicode/1f1f9-1f1ef.png?v8", + takeout_box: "unicode/1f961.png?v8", + tamale: "unicode/1fad4.png?v8", + tanabata_tree: "unicode/1f38b.png?v8", + tangerine: "unicode/1f34a.png?v8", + tanzania: "unicode/1f1f9-1f1ff.png?v8", + taurus: "unicode/2649.png?v8", + taxi: "unicode/1f695.png?v8", + tea: "unicode/1f375.png?v8", + teacher: "unicode/1f9d1-1f3eb.png?v8", + teapot: "unicode/1fad6.png?v8", + technologist: "unicode/1f9d1-1f4bb.png?v8", + teddy_bear: "unicode/1f9f8.png?v8", + telephone: "unicode/260e.png?v8", + telephone_receiver: "unicode/1f4de.png?v8", + telescope: "unicode/1f52d.png?v8", + tennis: "unicode/1f3be.png?v8", + tent: "unicode/26fa.png?v8", + test_tube: "unicode/1f9ea.png?v8", + thailand: "unicode/1f1f9-1f1ed.png?v8", + thermometer: "unicode/1f321.png?v8", + thinking: "unicode/1f914.png?v8", + thong_sandal: "unicode/1fa74.png?v8", + thought_balloon: "unicode/1f4ad.png?v8", + thread: "unicode/1f9f5.png?v8", + three: "unicode/0033-20e3.png?v8", + thumbsdown: "unicode/1f44e.png?v8", + thumbsup: "unicode/1f44d.png?v8", + ticket: "unicode/1f3ab.png?v8", + tickets: "unicode/1f39f.png?v8", + tiger: "unicode/1f42f.png?v8", + tiger2: "unicode/1f405.png?v8", + timer_clock: "unicode/23f2.png?v8", + timor_leste: "unicode/1f1f9-1f1f1.png?v8", + tipping_hand_man: "unicode/1f481-2642.png?v8", + tipping_hand_person: "unicode/1f481.png?v8", + tipping_hand_woman: "unicode/1f481-2640.png?v8", + tired_face: "unicode/1f62b.png?v8", + tm: "unicode/2122.png?v8", + togo: "unicode/1f1f9-1f1ec.png?v8", + toilet: "unicode/1f6bd.png?v8", + tokelau: "unicode/1f1f9-1f1f0.png?v8", + tokyo_tower: "unicode/1f5fc.png?v8", + tomato: "unicode/1f345.png?v8", + tonga: "unicode/1f1f9-1f1f4.png?v8", + tongue: "unicode/1f445.png?v8", + toolbox: "unicode/1f9f0.png?v8", + tooth: "unicode/1f9b7.png?v8", + toothbrush: "unicode/1faa5.png?v8", + top: "unicode/1f51d.png?v8", + tophat: "unicode/1f3a9.png?v8", + tornado: "unicode/1f32a.png?v8", + tr: "unicode/1f1f9-1f1f7.png?v8", + trackball: "unicode/1f5b2.png?v8", + tractor: "unicode/1f69c.png?v8", + traffic_light: "unicode/1f6a5.png?v8", + train: "unicode/1f68b.png?v8", + train2: "unicode/1f686.png?v8", + tram: "unicode/1f68a.png?v8", + transgender_flag: "unicode/1f3f3-26a7.png?v8", + transgender_symbol: "unicode/26a7.png?v8", + triangular_flag_on_post: "unicode/1f6a9.png?v8", + triangular_ruler: "unicode/1f4d0.png?v8", + trident: "unicode/1f531.png?v8", + trinidad_tobago: "unicode/1f1f9-1f1f9.png?v8", + tristan_da_cunha: "unicode/1f1f9-1f1e6.png?v8", + triumph: "unicode/1f624.png?v8", + trolleybus: "unicode/1f68e.png?v8", + trollface: "trollface.png?v8", + trophy: "unicode/1f3c6.png?v8", + tropical_drink: "unicode/1f379.png?v8", + tropical_fish: "unicode/1f420.png?v8", + truck: "unicode/1f69a.png?v8", + trumpet: "unicode/1f3ba.png?v8", + tshirt: "unicode/1f455.png?v8", + tulip: "unicode/1f337.png?v8", + tumbler_glass: "unicode/1f943.png?v8", + tunisia: "unicode/1f1f9-1f1f3.png?v8", + turkey: "unicode/1f983.png?v8", + turkmenistan: "unicode/1f1f9-1f1f2.png?v8", + turks_caicos_islands: "unicode/1f1f9-1f1e8.png?v8", + turtle: "unicode/1f422.png?v8", + tuvalu: "unicode/1f1f9-1f1fb.png?v8", + tv: "unicode/1f4fa.png?v8", + twisted_rightwards_arrows: "unicode/1f500.png?v8", + two: "unicode/0032-20e3.png?v8", + two_hearts: "unicode/1f495.png?v8", + two_men_holding_hands: "unicode/1f46c.png?v8", + two_women_holding_hands: "unicode/1f46d.png?v8", + u5272: "unicode/1f239.png?v8", + u5408: "unicode/1f234.png?v8", + u55b6: "unicode/1f23a.png?v8", + u6307: "unicode/1f22f.png?v8", + u6708: "unicode/1f237.png?v8", + u6709: "unicode/1f236.png?v8", + u6e80: "unicode/1f235.png?v8", + u7121: "unicode/1f21a.png?v8", + u7533: "unicode/1f238.png?v8", + u7981: "unicode/1f232.png?v8", + u7a7a: "unicode/1f233.png?v8", + uganda: "unicode/1f1fa-1f1ec.png?v8", + uk: "unicode/1f1ec-1f1e7.png?v8", + ukraine: "unicode/1f1fa-1f1e6.png?v8", + umbrella: "unicode/2614.png?v8", + unamused: "unicode/1f612.png?v8", + underage: "unicode/1f51e.png?v8", + unicorn: "unicode/1f984.png?v8", + united_arab_emirates: "unicode/1f1e6-1f1ea.png?v8", + united_nations: "unicode/1f1fa-1f1f3.png?v8", + unlock: "unicode/1f513.png?v8", + up: "unicode/1f199.png?v8", + upside_down_face: "unicode/1f643.png?v8", + uruguay: "unicode/1f1fa-1f1fe.png?v8", + us: "unicode/1f1fa-1f1f8.png?v8", + us_outlying_islands: "unicode/1f1fa-1f1f2.png?v8", + us_virgin_islands: "unicode/1f1fb-1f1ee.png?v8", + uzbekistan: "unicode/1f1fa-1f1ff.png?v8", + v: "unicode/270c.png?v8", + vampire: "unicode/1f9db.png?v8", + vampire_man: "unicode/1f9db-2642.png?v8", + vampire_woman: "unicode/1f9db-2640.png?v8", + vanuatu: "unicode/1f1fb-1f1fa.png?v8", + vatican_city: "unicode/1f1fb-1f1e6.png?v8", + venezuela: "unicode/1f1fb-1f1ea.png?v8", + vertical_traffic_light: "unicode/1f6a6.png?v8", + vhs: "unicode/1f4fc.png?v8", + vibration_mode: "unicode/1f4f3.png?v8", + video_camera: "unicode/1f4f9.png?v8", + video_game: "unicode/1f3ae.png?v8", + vietnam: "unicode/1f1fb-1f1f3.png?v8", + violin: "unicode/1f3bb.png?v8", + virgo: "unicode/264d.png?v8", + volcano: "unicode/1f30b.png?v8", + volleyball: "unicode/1f3d0.png?v8", + vomiting_face: "unicode/1f92e.png?v8", + vs: "unicode/1f19a.png?v8", + vulcan_salute: "unicode/1f596.png?v8", + waffle: "unicode/1f9c7.png?v8", + wales: "unicode/1f3f4-e0067-e0062-e0077-e006c-e0073-e007f.png?v8", + walking: "unicode/1f6b6.png?v8", + walking_man: "unicode/1f6b6-2642.png?v8", + walking_woman: "unicode/1f6b6-2640.png?v8", + wallis_futuna: "unicode/1f1fc-1f1eb.png?v8", + waning_crescent_moon: "unicode/1f318.png?v8", + waning_gibbous_moon: "unicode/1f316.png?v8", + warning: "unicode/26a0.png?v8", + wastebasket: "unicode/1f5d1.png?v8", + watch: "unicode/231a.png?v8", + water_buffalo: "unicode/1f403.png?v8", + water_polo: "unicode/1f93d.png?v8", + watermelon: "unicode/1f349.png?v8", + wave: "unicode/1f44b.png?v8", + wavy_dash: "unicode/3030.png?v8", + waxing_crescent_moon: "unicode/1f312.png?v8", + waxing_gibbous_moon: "unicode/1f314.png?v8", + wc: "unicode/1f6be.png?v8", + weary: "unicode/1f629.png?v8", + wedding: "unicode/1f492.png?v8", + weight_lifting: "unicode/1f3cb.png?v8", + weight_lifting_man: "unicode/1f3cb-2642.png?v8", + weight_lifting_woman: "unicode/1f3cb-2640.png?v8", + western_sahara: "unicode/1f1ea-1f1ed.png?v8", + whale: "unicode/1f433.png?v8", + whale2: "unicode/1f40b.png?v8", + wheel_of_dharma: "unicode/2638.png?v8", + wheelchair: "unicode/267f.png?v8", + white_check_mark: "unicode/2705.png?v8", + white_circle: "unicode/26aa.png?v8", + white_flag: "unicode/1f3f3.png?v8", + white_flower: "unicode/1f4ae.png?v8", + white_haired_man: "unicode/1f468-1f9b3.png?v8", + white_haired_woman: "unicode/1f469-1f9b3.png?v8", + white_heart: "unicode/1f90d.png?v8", + white_large_square: "unicode/2b1c.png?v8", + white_medium_small_square: "unicode/25fd.png?v8", + white_medium_square: "unicode/25fb.png?v8", + white_small_square: "unicode/25ab.png?v8", + white_square_button: "unicode/1f533.png?v8", + wilted_flower: "unicode/1f940.png?v8", + wind_chime: "unicode/1f390.png?v8", + wind_face: "unicode/1f32c.png?v8", + window: "unicode/1fa9f.png?v8", + wine_glass: "unicode/1f377.png?v8", + wink: "unicode/1f609.png?v8", + wolf: "unicode/1f43a.png?v8", + woman: "unicode/1f469.png?v8", + woman_artist: "unicode/1f469-1f3a8.png?v8", + woman_astronaut: "unicode/1f469-1f680.png?v8", + woman_beard: "unicode/1f9d4-2640.png?v8", + woman_cartwheeling: "unicode/1f938-2640.png?v8", + woman_cook: "unicode/1f469-1f373.png?v8", + woman_dancing: "unicode/1f483.png?v8", + woman_facepalming: "unicode/1f926-2640.png?v8", + woman_factory_worker: "unicode/1f469-1f3ed.png?v8", + woman_farmer: "unicode/1f469-1f33e.png?v8", + woman_feeding_baby: "unicode/1f469-1f37c.png?v8", + woman_firefighter: "unicode/1f469-1f692.png?v8", + woman_health_worker: "unicode/1f469-2695.png?v8", + woman_in_manual_wheelchair: "unicode/1f469-1f9bd.png?v8", + woman_in_motorized_wheelchair: "unicode/1f469-1f9bc.png?v8", + woman_in_tuxedo: "unicode/1f935-2640.png?v8", + woman_judge: "unicode/1f469-2696.png?v8", + woman_juggling: "unicode/1f939-2640.png?v8", + woman_mechanic: "unicode/1f469-1f527.png?v8", + woman_office_worker: "unicode/1f469-1f4bc.png?v8", + woman_pilot: "unicode/1f469-2708.png?v8", + woman_playing_handball: "unicode/1f93e-2640.png?v8", + woman_playing_water_polo: "unicode/1f93d-2640.png?v8", + woman_scientist: "unicode/1f469-1f52c.png?v8", + woman_shrugging: "unicode/1f937-2640.png?v8", + woman_singer: "unicode/1f469-1f3a4.png?v8", + woman_student: "unicode/1f469-1f393.png?v8", + woman_teacher: "unicode/1f469-1f3eb.png?v8", + woman_technologist: "unicode/1f469-1f4bb.png?v8", + woman_with_headscarf: "unicode/1f9d5.png?v8", + woman_with_probing_cane: "unicode/1f469-1f9af.png?v8", + woman_with_turban: "unicode/1f473-2640.png?v8", + woman_with_veil: "unicode/1f470-2640.png?v8", + womans_clothes: "unicode/1f45a.png?v8", + womans_hat: "unicode/1f452.png?v8", + women_wrestling: "unicode/1f93c-2640.png?v8", + womens: "unicode/1f6ba.png?v8", + wood: "unicode/1fab5.png?v8", + woozy_face: "unicode/1f974.png?v8", + world_map: "unicode/1f5fa.png?v8", + worm: "unicode/1fab1.png?v8", + worried: "unicode/1f61f.png?v8", + wrench: "unicode/1f527.png?v8", + wrestling: "unicode/1f93c.png?v8", + writing_hand: "unicode/270d.png?v8", + x: "unicode/274c.png?v8", + yarn: "unicode/1f9f6.png?v8", + yawning_face: "unicode/1f971.png?v8", + yellow_circle: "unicode/1f7e1.png?v8", + yellow_heart: "unicode/1f49b.png?v8", + yellow_square: "unicode/1f7e8.png?v8", + yemen: "unicode/1f1fe-1f1ea.png?v8", + yen: "unicode/1f4b4.png?v8", + yin_yang: "unicode/262f.png?v8", + yo_yo: "unicode/1fa80.png?v8", + yum: "unicode/1f60b.png?v8", + zambia: "unicode/1f1ff-1f1f2.png?v8", + zany_face: "unicode/1f92a.png?v8", + zap: "unicode/26a1.png?v8", + zebra: "unicode/1f993.png?v8", + zero: "unicode/0030-20e3.png?v8", + zimbabwe: "unicode/1f1ff-1f1fc.png?v8", + zipper_mouth_face: "unicode/1f910.png?v8", + zombie: "unicode/1f9df.png?v8", + zombie_man: "unicode/1f9df-2642.png?v8", + zombie_woman: "unicode/1f9df-2640.png?v8", + zzz: "unicode/1f4a4.png?v8" + } + } + function jn(e, t) { + return e + .replace(/<(code|pre|script|template)[^>]*?>[\s\S]+?<\/(code|pre|script|template)>/g, function (e) { + return e.replace(/:/g, "__colon__") + }) + .replace(//g, function (e) { + return e.replace(/:/g, "__colon__") + }) + .replace(/([a-z]{2,}:)?\/\/[^\s'">)]+/gi, function (e) { + return e.replace(/:/g, "__colon__") + }) + .replace(/:([a-z0-9_\-+]+?):/g, function (e, n) { + return ( + (i = e), + (o = n), + (e = t), + (n = Rn.data[o]), + i, + (i = n + ? e && /unicode/.test(n) + ? '' + + n + .replace("unicode/", "") + .replace(/\.png.*/, "") + .split("-") + .map(function (e) { + return "&#x" + e + ";" + }) + .join("‍") + .concat("︎") + + "" + : '' + o + '' + : i) + ) + var i, o + }) + .replace(/__colon__/g, ":") + } + function On(e) { + var o = {} + return { + str: (e = + (e = void 0 === e ? "" : e) && + e + .replace(/^('|")/, "") + .replace(/('|")$/, "") + .replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g, function (e, n, i) { + return -1 === n.indexOf(":") ? ((o[n] = (i && i.replace(/"/g, "")) || !0), "") : e + }) + .trim()), + config: o + } + } + function Ln(e) { + return (e = void 0 === e ? "" : e).replace(/(<\/?a.*?>)/gi, "") + } + var qn, + Pn = be(function (e) { + var u, + f, + p, + d, + n, + g = (function (u) { + var i = /(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i, + n = 0, + e = {}, + T = { + manual: u.Prism && u.Prism.manual, + disableWorkerMessageHandler: u.Prism && u.Prism.disableWorkerMessageHandler, + util: { + encode: function e(n) { + return n instanceof C + ? new C(n.type, e(n.content), n.alias) + : Array.isArray(n) + ? n.map(e) + : n + .replace(/&/g, "&") + .replace(/= r.reach); m += _.value.length, _ = _.next) { + var b = _.value + if (i.length > n.length) return + if (!(b instanceof C)) { + var k, + w = 1 + if (l) { + if (!(k = R(h, m, n, s)) || k.index >= n.length) break + var y = k.index, + x = k.index + k[0].length, + S = m + for (S += _.value.length; S <= y; ) (_ = _.next), (S += _.value.length) + if (((S -= _.value.length), (m = S), _.value instanceof C)) continue + for (var A = _; A !== i.tail && (S < x || "string" == typeof A.value); A = A.next) w++, (S += A.value.length) + w--, (b = n.slice(m, S)), (k.index -= m) + } else if (!(k = R(h, 0, b, s))) continue + var y = k.index, + $ = k[0], + z = b.slice(0, y), + F = b.slice(y + $.length), + E = m + b.length + r && E > r.reach && (r.reach = E) + b = _.prev + z && ((b = j(i, b, z)), (m += z.length)), O(i, b, w) + $ = new C(c, g ? T.tokenize($, g) : $, v, $) + ;(_ = j(i, b, $)), F && j(i, _, F), 1 < w && ((E = { cause: c + "," + f, reach: E }), e(n, i, o, _.prev, m, E), r && E.reach > r.reach && (r.reach = E.reach)) + } + } + } + } + })(e, t, n, t.head, 0), + (function (e) { + var n = [], + i = e.head.next + for (; i !== e.tail; ) n.push(i.value), (i = i.next) + return n + })(t) + ) + }, + hooks: { + all: {}, + add: function (e, n) { + var i = T.hooks.all + ;(i[e] = i[e] || []), i[e].push(n) + }, + run: function (e, n) { + var i = T.hooks.all[e] + if (i && i.length) for (var o, t = 0; (o = i[t++]); ) o(n) + } + }, + Token: C + } + function C(e, n, i, o) { + ;(this.type = e), (this.content = n), (this.alias = i), (this.length = 0 | (o || "").length) + } + function R(e, n, i, o) { + e.lastIndex = n + i = e.exec(i) + return i && o && i[1] && ((o = i[1].length), (i.index += o), (i[0] = i[0].slice(o))), i + } + function a() { + var e = { value: null, prev: null, next: null }, + n = { value: null, prev: e, next: null } + ;(e.next = n), (this.head = e), (this.tail = n), (this.length = 0) + } + function j(e, n, i) { + var o = n.next, + i = { value: i, prev: n, next: o } + return (n.next = i), (o.prev = i), e.length++, i + } + function O(e, n, i) { + for (var o = n.next, t = 0; t < i && o !== e.tail; t++) o = o.next + ;((n.next = o).prev = n), (e.length -= t) + } + if ( + ((u.Prism = T), + (C.stringify = function n(e, i) { + if ("string" == typeof e) return e + if (Array.isArray(e)) { + var o = "" + return ( + e.forEach(function (e) { + o += n(e, i) + }), + o + ) + } + var t = { type: e.type, content: n(e.content, i), tag: "span", classes: ["token", e.type], attributes: {}, language: i }, + e = e.alias + e && (Array.isArray(e) ? Array.prototype.push.apply(t.classes, e) : t.classes.push(e)), T.hooks.run("wrap", t) + var a, + r = "" + for (a in t.attributes) r += " " + a + '="' + (t.attributes[a] || "").replace(/"/g, """) + '"' + return "<" + t.tag + ' class="' + t.classes.join(" ") + '"' + r + ">" + t.content + "" + }), + !u.document) + ) + return ( + u.addEventListener && + (T.disableWorkerMessageHandler || + u.addEventListener( + "message", + function (e) { + var n = JSON.parse(e.data), + i = n.language, + e = n.code, + n = n.immediateClose + u.postMessage(T.highlight(e, T.languages[i], i)), n && u.close() + }, + !1 + )), + T + ) + var o = T.util.currentScript() + function t() { + T.manual || T.highlightAll() + } + return ( + o && ((T.filename = o.src), o.hasAttribute("data-manual") && (T.manual = !0)), + T.manual || + ("loading" === (e = document.readyState) || ("interactive" === e && o && o.defer) + ? document.addEventListener("DOMContentLoaded", t) + : window.requestAnimationFrame + ? window.requestAnimationFrame(t) + : window.setTimeout(t, 16)), + T + ) + })("undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {}) + e.exports && (e.exports = g), + void 0 !== me && (me.Prism = g), + (g.languages.markup = { + comment: { pattern: //, greedy: !0 }, + prolog: { pattern: /<\?[\s\S]+?\?>/, greedy: !0 }, + doctype: { + pattern: /"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i, + greedy: !0, + inside: { + "internal-subset": { pattern: /(^[^\[]*\[)[\s\S]+(?=\]>$)/, lookbehind: !0, greedy: !0, inside: null }, + string: { pattern: /"[^"]*"|'[^']*'/, greedy: !0 }, + punctuation: /^$|[[\]]/, + "doctype-tag": /^DOCTYPE/i, + name: /[^\s<>'"]+/ + } + }, + cdata: { pattern: //i, greedy: !0 }, + tag: { + pattern: /<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/, + greedy: !0, + inside: { + tag: { pattern: /^<\/?[^\s>\/]+/, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, + "special-attr": [], + "attr-value": { pattern: /=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/, inside: { punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/] } }, + punctuation: /\/?>/, + "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } + } + }, + entity: [{ pattern: /&[\da-z]{1,8};/i, alias: "named-entity" }, /&#x?[\da-f]{1,8};/i] + }), + (g.languages.markup.tag.inside["attr-value"].inside.entity = g.languages.markup.entity), + (g.languages.markup.doctype.inside["internal-subset"].inside = g.languages.markup), + g.hooks.add("wrap", function (e) { + "entity" === e.type && (e.attributes.title = e.content.replace(/&/, "&")) + }), + Object.defineProperty(g.languages.markup.tag, "addInlined", { + value: function (e, n) { + var i = {} + ;(i["language-" + n] = { pattern: /(^$)/i, lookbehind: !0, inside: g.languages[n] }), (i.cdata = /^$/i) + i = { "included-cdata": { pattern: //i, inside: i } } + i["language-" + n] = { pattern: /[\s\S]+/, inside: g.languages[n] } + n = {} + ;(n[e] = { + pattern: RegExp( + /(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g, function () { + return e + }), + "i" + ), + lookbehind: !0, + greedy: !0, + inside: i + }), + g.languages.insertBefore("markup", "cdata", n) + } + }), + Object.defineProperty(g.languages.markup.tag, "addAttribute", { + value: function (e, n) { + g.languages.markup.tag.inside["special-attr"].push({ + pattern: RegExp(/(^|["'\s])/.source + "(?:" + e + ")" + /\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source, "i"), + lookbehind: !0, + inside: { + "attr-name": /^[^\s=]+/, + "attr-value": { + pattern: /=[\s\S]+/, + inside: { + value: { pattern: /(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/, lookbehind: !0, alias: [n, "language-" + n], inside: g.languages[n] }, + punctuation: [{ pattern: /^=/, alias: "attr-equals" }, /"|'/] + } + } + } + }) + } + }), + (g.languages.html = g.languages.markup), + (g.languages.mathml = g.languages.markup), + (g.languages.svg = g.languages.markup), + (g.languages.xml = g.languages.extend("markup", {})), + (g.languages.ssml = g.languages.xml), + (g.languages.atom = g.languages.xml), + (g.languages.rss = g.languages.xml), + (function (e) { + var n = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/ + ;(e.languages.css = { + comment: /\/\*[\s\S]*?\*\//, + atrule: { + pattern: /@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/, + inside: { + rule: /^@[\w-]+/, + "selector-function-argument": { pattern: /(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/, lookbehind: !0, alias: "selector" }, + keyword: { pattern: /(^|[^\w-])(?:and|not|only|or)(?![\w-])/, lookbehind: !0 } + } + }, + url: { + pattern: RegExp("\\burl\\((?:" + n.source + "|" + /(?:[^\\\r\n()"']|\\[\s\S])*/.source + ")\\)", "i"), + greedy: !0, + inside: { function: /^url/i, punctuation: /^\(|\)$/, string: { pattern: RegExp("^" + n.source + "$"), alias: "url" } } + }, + selector: { pattern: RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|" + n.source + ")*(?=\\s*\\{)"), lookbehind: !0 }, + string: { pattern: n, greedy: !0 }, + property: { pattern: /(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i, lookbehind: !0 }, + important: /!important\b/i, + function: { pattern: /(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i, lookbehind: !0 }, + punctuation: /[(){};:,]/ + }), + (e.languages.css.atrule.inside.rest = e.languages.css) + e = e.languages.markup + e && (e.tag.addInlined("style", "css"), e.tag.addAttribute("style", "css")) + })(g), + (g.languages.clike = { + comment: [ + { pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: !0, greedy: !0 }, + { pattern: /(^|[^\\:])\/\/.*/, lookbehind: !0, greedy: !0 } + ], + string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: !0 }, + "class-name": { pattern: /(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i, lookbehind: !0, inside: { punctuation: /[.\\]/ } }, + keyword: /\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/, + boolean: /\b(?:false|true)\b/, + function: /\b\w+(?=\()/, + number: /\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i, + operator: /[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/, + punctuation: /[{}[\];(),.:]/ + }), + (g.languages.javascript = g.languages.extend("clike", { + "class-name": [g.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/, lookbehind: !0 }], + keyword: [ + { pattern: /((?:^|\})\s*)catch\b/, lookbehind: !0 }, + { + pattern: + /(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, + lookbehind: !0 + } + ], + function: /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, + number: { + pattern: RegExp( + /(^|[^\w$])/.source + + "(?:" + + /NaN|Infinity/.source + + "|" + + /0[bB][01]+(?:_[01]+)*n?/.source + + "|" + + /0[oO][0-7]+(?:_[0-7]+)*n?/.source + + "|" + + /0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source + + "|" + + /\d+(?:_\d+)*n/.source + + "|" + + /(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source + + ")" + + /(?![\w$])/.source + ), + lookbehind: !0 + }, + operator: /--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/ + })), + (g.languages.javascript["class-name"][0].pattern = /(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/), + g.languages.insertBefore("javascript", "keyword", { + regex: { + pattern: + /((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/, + lookbehind: !0, + greedy: !0, + inside: { + "regex-source": { pattern: /^(\/)[\s\S]+(?=\/[a-z]*$)/, lookbehind: !0, alias: "language-regex", inside: g.languages.regex }, + "regex-delimiter": /^\/|\/$/, + "regex-flags": /^[a-z]+$/ + } + }, + "function-variable": { + pattern: + /#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/, + alias: "function" + }, + parameter: [ + { + pattern: /(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/, + lookbehind: !0, + inside: g.languages.javascript + }, + { pattern: /(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i, lookbehind: !0, inside: g.languages.javascript }, + { pattern: /(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/, lookbehind: !0, inside: g.languages.javascript }, + { + pattern: + /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/, + lookbehind: !0, + inside: g.languages.javascript + } + ], + constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ + }), + g.languages.insertBefore("javascript", "string", { + hashbang: { pattern: /^#!.*/, greedy: !0, alias: "comment" }, + "template-string": { + pattern: /`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/, + greedy: !0, + inside: { + "template-punctuation": { pattern: /^`|`$/, alias: "string" }, + interpolation: { + pattern: /((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/, + lookbehind: !0, + inside: { "interpolation-punctuation": { pattern: /^\$\{|\}$/, alias: "punctuation" }, rest: g.languages.javascript } + }, + string: /[\s\S]+/ + } + }, + "string-property": { pattern: /((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m, lookbehind: !0, greedy: !0, alias: "property" } + }), + g.languages.insertBefore("javascript", "operator", { + "literal-property": { pattern: /((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m, lookbehind: !0, alias: "property" } + }), + g.languages.markup && + (g.languages.markup.tag.addInlined("script", "javascript"), + g.languages.markup.tag.addAttribute( + /on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/ + .source, + "javascript" + )), + (g.languages.js = g.languages.javascript), + void 0 !== g && + "undefined" != typeof document && + (Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector), + (u = { js: "javascript", py: "python", rb: "ruby", ps1: "powershell", psm1: "powershell", sh: "bash", bat: "batch", h: "c", tex: "latex" }), + (d = "pre[data-src]:not([" + (f = "data-src-status") + '="loaded"]):not([' + f + '="' + (p = "loading") + '"])'), + g.hooks.add("before-highlightall", function (e) { + e.selector += ", " + d + }), + g.hooks.add("before-sanity-check", function (e) { + var t, + n, + i, + o, + a, + r, + c = e.element + c.matches(d) && + ((e.code = ""), + c.setAttribute(f, p), + ((t = c.appendChild(document.createElement("CODE"))).textContent = "Loading…"), + (i = c.getAttribute("data-src")), + "none" === (e = e.language) && ((n = (/\.(\w+)$/.exec(i) || [, "none"])[1]), (e = u[n] || n)), + g.util.setLanguage(t, e), + g.util.setLanguage(c, e), + (n = g.plugins.autoloader) && n.loadLanguages(e), + (i = i), + (o = function (e) { + c.setAttribute(f, "loaded") + var n, + i, + o = (function (e) { + if ((i = /^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e || ""))) { + var n = Number(i[1]), + e = i[2], + i = i[3] + return e ? (i ? [n, Number(i)] : [n, void 0]) : [n, n] + } + })(c.getAttribute("data-range")) + o && + ((n = e.split(/\r\n?|\n/g)), + (i = o[0]), + (o = null == o[1] ? n.length : o[1]), + i < 0 && (i += n.length), + (i = Math.max(0, Math.min(i - 1, n.length))), + o < 0 && (o += n.length), + (o = Math.max(0, Math.min(o, n.length))), + (e = n.slice(i, o).join("\n")), + c.hasAttribute("data-start") || c.setAttribute("data-start", String(i + 1))), + (t.textContent = e), + g.highlightElement(t) + }), + (a = function (e) { + c.setAttribute(f, "failed"), (t.textContent = e) + }), + (r = new XMLHttpRequest()).open("GET", i, !0), + (r.onreadystatechange = function () { + 4 == r.readyState && + (r.status < 400 && r.responseText + ? o(r.responseText) + : 400 <= r.status + ? a("✖ Error " + r.status + " while fetching file: " + r.statusText) + : a("✖ Error: File does not exist or is empty")) + }), + r.send(null)) + }), + (n = !(g.plugins.fileHighlight = { + highlight: function (e) { + for (var n, i = (e || document).querySelectorAll(d), o = 0; (n = i[o++]); ) g.highlightElement(n) + } + })), + (g.fileHighlight = function () { + n || (console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."), (n = !0)), g.plugins.fileHighlight.highlight.apply(this, arguments) + })) + }) + function Mn(e, n) { + return "___" + e.toUpperCase() + n + "___" + } + ;(qn = Prism), + Object.defineProperties((qn.languages["markup-templating"] = {}), { + buildPlaceholders: { + value: function (o, t, e, a) { + var r + o.language === t && + ((r = o.tokenStack = []), + (o.code = o.code.replace(e, function (e) { + if ("function" == typeof a && !a(e)) return e + for (var n, i = r.length; -1 !== o.code.indexOf((n = Mn(t, i))); ) ++i + return (r[i] = e), n + })), + (o.grammar = qn.languages.markup)) + } + }, + tokenizePlaceholders: { + value: function (f, p) { + var d, g + f.language === p && + f.tokenStack && + ((f.grammar = qn.languages[p]), + (d = 0), + (g = Object.keys(f.tokenStack)), + (function e(n) { + for (var i = 0; i < n.length && !(d >= g.length); i++) { + var o, + t, + a, + r, + c, + u = n[i] + "string" == typeof u || (u.content && "string" == typeof u.content) + ? ((t = g[d]), + (a = f.tokenStack[t]), + (o = "string" == typeof u ? u : u.content), + (c = Mn(p, t)), + -1 < (r = o.indexOf(c)) && + (++d, + (t = o.substring(0, r)), + (a = new qn.Token(p, qn.tokenize(a, f.grammar), "language-" + p, a)), + (r = o.substring(r + c.length)), + (c = []), + t && c.push.apply(c, e([t])), + c.push(a), + r && c.push.apply(c, e([r])), + "string" == typeof u ? n.splice.apply(n, [i, 1].concat(c)) : (u.content = c))) + : u.content && e(u.content) + } + return n + })(f.tokens)) + } + } + }) + function In(t, e) { + var a = this + ;(this.config = t), + (this.router = e), + (this.cacheTree = {}), + (this.toc = []), + (this.cacheTOC = {}), + (this.linkTarget = t.externalLinkTarget || "_blank"), + (this.linkRel = "_blank" === this.linkTarget ? t.externalLinkRel || "noopener" : ""), + (this.contentBase = e.getBasePath()) + var n = this._initRenderer() + this.heading = n.heading + var r = o((e = t.markdown || {})) ? e(Sn, n) : (Sn.setOptions(m(e, { renderer: m(n, e.renderer) })), Sn) + ;(this._marked = r), + (this.compile = function (i) { + var o = !0, + e = c(function (e) { + o = !1 + var n = "" + return i && ((n = f(i) ? r(i) : r.parser(i)), (n = t.noEmoji ? n : jn(n, t.nativeEmoji)), Cn.clear(), n) + })(i), + n = a.router.parse().file + return o ? (a.toc = a.cacheTOC[n]) : (a.cacheTOC[n] = [].concat(a.toc)), e + }) + } + var Nn = {}, + Hn = { + markdown: function (e) { + return { url: e } + }, + mermaid: function (e) { + return { url: e } + }, + iframe: function (e, n) { + return { html: '" } + }, + video: function (e, n) { + return { html: '" } + }, + audio: function (e, n) { + return { html: '" } + }, + code: function (e, n) { + var i = e.match(/\.(\w+)$/) + return { url: e, lang: (i = "md" === (i = n || (i && i[1])) ? "markdown" : i) } + } + } + ;(In.prototype.compileEmbed = function (e, n) { + var i, + o, + t = On(n), + a = t.str, + t = t.config + if (((n = a), t.include)) + return ( + T(e) || (e = q(this.contentBase, R(this.router.getCurrentPath()), e)), + t.type && (o = Hn[t.type]) + ? ((i = o.call(this, e, n)).type = t.type) + : ((o = "code"), + /\.(md|markdown)/.test(e) + ? (o = "markdown") + : /\.mmd/.test(e) + ? (o = "mermaid") + : /\.html?/.test(e) + ? (o = "iframe") + : /\.(mp4|ogg)/.test(e) + ? (o = "video") + : /\.mp3/.test(e) && (o = "audio"), + ((i = Hn[o].call(this, e, n)).type = o)), + (i.fragment = t.fragment), + i + ) + }), + (In.prototype._matchNotCompileLink = function (e) { + for (var n = this.config.noCompileLinks || [], i = 0; i < n.length; i++) { + var o = n[i] + if ((Nn[o] || (Nn[o] = new RegExp("^" + o + "$"))).test(e)) return e + } + }), + (In.prototype._initRenderer = function () { + var r, + c, + u, + f, + p, + d, + e = new Sn.Renderer(), + n = this.linkTarget, + i = this.linkRel, + a = this.router, + o = this.contentBase, + g = this, + t = {} + return ( + (t.heading = e.heading = + function (e, n) { + var i = On(e), + o = i.str, + t = i.config, + e = { level: n, title: Ln(o) } + ;//g.test(o) && ((o = o.replace("\x3c!-- {docsify-ignore} --\x3e", "")), (e.title = Ln(o)), (e.ignoreSubHeading = !0)), + /{docsify-ignore}/g.test(o) && ((o = o.replace("{docsify-ignore}", "")), (e.title = Ln(o)), (e.ignoreSubHeading = !0)), + //g.test(o) && ((o = o.replace("\x3c!-- {docsify-ignore-all} --\x3e", "")), (e.title = Ln(o)), (e.ignoreAllSubs = !0)), + /{docsify-ignore-all}/g.test(o) && ((o = o.replace("{docsify-ignore-all}", "")), (e.title = Ln(o)), (e.ignoreAllSubs = !0)) + ;(i = Cn(t.id || o)), (t = a.toURL(a.getCurrentPath(), { id: i })) + return (e.slug = t), g.toc.push(e), "' + o + "" + }), + (t.code = { renderer: e }.renderer.code = + function (e, n) { + var i = Pn.languages[(n = void 0 === n ? "markup" : n)] || Pn.languages.markup + return '
    ' + Pn.highlight(e.replace(/@DOCSIFY_QM@/g, "`"), i, n) + "
    " + }), + (t.link = + ((i = (n = { renderer: e, router: a, linkTarget: n, linkRel: i, compilerClass: g }).renderer), + (c = n.router), + (u = n.linkTarget), + n.linkRel, + (f = n.compilerClass), + (i.link = function (e, n, i) { + var o = [], + t = On((n = void 0 === n ? "" : n)), + a = t.str, + t = t.config + return ( + (u = t.target || u), + (r = "_blank" === u ? f.config.externalLinkRel || "noopener" : ""), + (n = a), + T(e) || f._matchNotCompileLink(e) || t.ignore + ? (T(e) || "./" !== e.slice(0, 2) || (e = document.URL.replace(/\/(?!.*\/).*/, "/").replace("#/./", "") + e), + o.push(0 === e.indexOf("mailto:") ? "" : 'target="' + u + '"'), + o.push(0 !== e.indexOf("mailto:") && "" !== r ? ' rel="' + r + '"' : "")) + : (e === f.config.homepage && (e = "README"), (e = c.toURL(e, null, c.getCurrentPath()))), + t.crossorgin && "_self" === u && "history" === f.config.routerMode && -1 === f.config.crossOriginLinks.indexOf(e) && f.config.crossOriginLinks.push(e), + t.disabled && (o.push("disabled"), (e = "javascript:void(0)")), + t.class && o.push('class="' + t.class + '"'), + t.id && o.push('id="' + t.id + '"'), + n && o.push('title="' + n + '"'), + '" + i + "" + ) + }))), + (t.paragraph = { renderer: e }.renderer.paragraph = + function (e) { + e = /^!>/.test(e) ? $n("tip", e) : /^\?>/.test(e) ? $n("warn", e) : "

    " + e + "

    " + return e + }), + (t.image = + ((o = (i = { renderer: e, contentBase: o, router: a }).renderer), + (p = i.contentBase), + (d = i.router), + (o.image = function (e, n, i) { + var o = e, + t = [], + a = On(n), + r = a.str, + a = a.config + return ( + (n = r), + a["no-zoom"] && t.push("data-no-zoom"), + n && t.push('title="' + n + '"'), + a.size && ((n = (r = a.size.split("x"))[0]), (r = r[1]) ? t.push('width="' + n + '" height="' + r + '"') : t.push('width="' + n + '"')), + a.class && t.push('class="' + a.class + '"'), + a.id && t.push('id="' + a.id + '"'), + T(e) || (o = q(p, R(d.getCurrentPath()), e)), + 0 < t.length ? '' + i + '" : '' + i + '" + ) + }))), + (t.list = { renderer: e }.renderer.list = + function (e, n, i) { + n = n ? "ol" : "ul" + return ( + "<" + + n + + " " + + [/
  • /.test(e.split('class="task-list"')[0]) ? 'class="task-list"' : "", i && 1 < i ? 'start="' + i + '"' : ""].join(" ").trim() + + ">" + + e + + "" + ) + }), + (t.listitem = { renderer: e }.renderer.listitem = + function (e) { + return /^(]*>)/.test(e) ? '
  • " : "
  • " + e + "
  • " + }), + (e.origin = t), + e + ) + }), + (In.prototype.sidebar = function (e, n) { + var i = this.toc, + o = this.router.getCurrentPath(), + t = "" + if (e) t = this.compile(e) + else { + for (var a = 0; a < i.length; a++) + if (i[a].ignoreSubHeading) { + var r = i[a].level + i.splice(a, 1) + for (var c = a; c < i.length && r < i[c].level; c++) i.splice(c, 1) && c-- && a++ + a-- + } + ;(n = this.cacheTree[o] || zn(i, n)), (t = An(n, "
      {inner}
    ")) + this.cacheTree[o] = n + } + return t + }), + (In.prototype.subSidebar = function (e) { + if (e) { + var n = this.router.getCurrentPath(), + i = this.cacheTree, + o = this.toc + o[0] && o[0].ignoreAllSubs && o.splice(0), o[0] && 1 === o[0].level && o.shift() + for (var t = 0; t < o.length; t++) o[t].ignoreSubHeading && o.splice(t, 1) && t-- + e = i[n] || zn(o, e) + return (i[n] = e), (this.toc = []), An(e) + } + this.toc = [] + }), + (In.prototype.header = function (e, n) { + return this.heading(e, n) + }), + (In.prototype.article = function (e) { + return this.compile(e) + }), + (In.prototype.cover = function (e) { + var n = this.toc.slice(), + e = this.compile(e) + return (this.toc = n.slice()), e + }) + function Dn(e) { + var n = Zn(e) + return 0 === n ? e : ((n = new RegExp("^[ \\t]{" + n + "}", "gm")), e.replace(n, "")) + } + var Un, + Zn = function (e) { + e = e.match(/^[ \t]*(?=\S)/gm) + return e + ? e.reduce(function (e, n) { + return Math.min(e, n.length) + }, 1 / 0) + : 0 + }, + Bn = {} + function Vn(e, o) { + var a = e.compiler, + t = e.raw + void 0 === t && (t = "") + var n = e.fetch, + e = Bn[t] + if (e) { + var i = e.slice() + return (i.links = e.links), o(i) + } + var i = a._marked, + r = i.lexer(t), + c = [], + u = i.Lexer.rules.inline.link, + f = r.links + r.forEach(function (e, t) { + "paragraph" === e.type && + (e.text = e.text.replace(new RegExp(u.source, "g"), function (e, n, i, o) { + o = a.compileEmbed(i, o) + return o && c.push({ index: t, embed: o }), e + })) + }) + var p = [] + !(function (e, a) { + var n, + i = e.embedTokens, + r = e.compile, + c = (e.fetch, 0), + u = 1 + if (!i.length) return a({}) + for (; (n = i[c++]); ) { + var o = (function (t) { + return function (e) { + var n, i, o + e && + ("markdown" === t.embed.type + ? ((i = t.embed.url.split("/")).pop(), + (i = i.join("/")), + (e = e.replace(/\[([^[\]]+)\]\(([^)]+)\)/g, function (e) { + var n = e.indexOf("(") + return "(." === e.slice(n, n + 2) ? e.substring(0, n) + "(" + window.location.protocol + "//" + window.location.host + i + "/" + e.substring(n + 1, e.length - 1) + ")" : e + })), + !0 === (($docsify.frontMatter || {}).installed || !1) && (e = $docsify.frontMatter.parseMarkdown(e)), + (n = r.lexer(e))) + : "code" === t.embed.type + ? (t.embed.fragment && + ((o = t.embed.fragment), (o = new RegExp("(?:###|\\/\\/\\/)\\s*\\[" + o + "\\]([\\s\\S]*)(?:###|\\/\\/\\/)\\s*\\[" + o + "\\]")), (e = Dn((e.match(o) || [])[1] || "").trim())), + (n = r.lexer("```" + t.embed.lang + "\n" + e.replace(/`/g, "@DOCSIFY_QM@") + "\n```\n"))) + : "mermaid" === t.embed.type + ? ((n = [{ type: "html", text: '
    \n' + e + "\n
    " }]).links = {}) + : ((n = [{ type: "html", text: e }]).links = {})), + a({ token: t, embedToken: n }), + ++u >= c && a({}) + } + })(n) + n.embed.url ? X(n.embed.url).then(o) : o(n.embed.html) + } + })({ compile: i, embedTokens: c, fetch: n }, function (e) { + var n, + i = e.embedToken, + e = e.token + e + ? ((n = e.index), + p.forEach(function (e) { + n > e.start && (n += e.length) + }), + m(f, i.links), + (r = r.slice(0, n).concat(i, r.slice(n + 1))), + p.push({ start: n, length: i.length - 1 })) + : ((Bn[t] = r.concat()), (r.links = Bn[t].links = f), o(r)) + }) + } + function Yn(e, n, i) { + var o, t, a, r + return ( + (n = + "function" == typeof i + ? i(n) + : "string" == typeof i + ? ((a = []), + (r = 0), + (o = i).replace(V, function (n, e, i) { + a.push(o.substring(r, i - 1)), + (r = i += n.length + 1), + a.push( + (t && t[n]) || + function (e) { + return ("00" + ("string" == typeof Y[n] ? e[Y[n]]() : Y[n](e))).slice(-n.length) + } + ) + }), + r !== o.length && a.push(o.substring(r)), + (function (e) { + for (var n = "", i = 0, o = e || new Date(); i < a.length; i++) n += "string" == typeof a[i] ? a[i] : a[i](o) + return n + })(new Date(n))) + : n), + e.replace(/{docsify-updated}/g, n) + ) + } + function Gn(e) { + function n(e) { + var n = Boolean(e.__vue__ && e.__vue__._isVue), + e = Boolean(e._vnode && e._vnode.__v_skip) + return n || e + } + var i = this.config, + o = b(".markdown-section"), + t = "Vue" in window && window.Vue.version && Number(window.Vue.version.charAt(0)) + if (((e = e || "

    404 - Not found

    "), "Vue" in window)) + for (var a = 0, r = k(".markdown-section > *").filter(n); a < r.length; a += 1) { + var c = r[a] + 2 === t ? c.__vue__.$destroy() : 3 === t && c.__vue_app__.unmount() + } + if ( + (this._renderTo(o, e), + i.loadSidebar || this._renderSidebar(), + (i.executeScript || ("Vue" in window && !1 !== i.executeScript)) && + (!(e = k(".markdown-section>script").filter(function (e) { + return !/template/.test(e.type) + })[0]) || + ((e = e.innerText.trim()) && new Function(e)())), + "Vue" in window) + ) { + var u, + f, + p = [], + d = Object.keys(i.vueComponents || {}) + 2 === t && + d.length && + d.forEach(function (e) { + window.Vue.options.components[e] || window.Vue.component(e, i.vueComponents[e]) + }), + !Un && i.vueGlobalOptions && "function" == typeof i.vueGlobalOptions.data && (Un = i.vueGlobalOptions.data()), + p.push.apply( + p, + Object.keys(i.vueMounts || {}) + .map(function (e) { + return [b(o, e), i.vueMounts[e]] + }) + .filter(function (e) { + var n = e[0] + e[1] + return n + }) + ), + (i.vueGlobalOptions || d.length) && + ((u = /{{2}[^{}]*}{2}/), + (f = /<[^>/]+\s([@:]|v-)[\w-:.[\]]+[=>\s]/), + p.push.apply( + p, + k(".markdown-section > *") + .filter(function (i) { + return !p.some(function (e) { + var n = e[0] + e[1] + return n === i + }) + }) + .filter(function (e) { + return e.tagName.toLowerCase() in (i.vueComponents || {}) || e.querySelector(d.join(",") || null) || u.test(e.outerHTML) || f.test(e.outerHTML) + }) + .map(function (e) { + var n = m({}, i.vueGlobalOptions || {}) + return ( + Un && + (n.data = function () { + return Un + }), + [e, n] + ) + }) + )) + for (var g = 0, s = p; g < s.length; g += 1) { + var l, + v = s[g], + h = v[0], + _ = v[1], + v = "data-isvue" + h.matches("pre, script") || + n(h) || + h.querySelector("[" + v + "]") || + (h.setAttribute(v, ""), + 2 === t + ? ((_.el = void 0), new window.Vue(_).$mount(h)) + : 3 === t && + ((l = window.Vue.createApp(_)), + d.forEach(function (e) { + var n = i.vueComponents[e] + l.component(e, n) + }), + l.mount(h))) + } + } + } + function Wn(n, i, o, t, a, e) { + ;(n = e ? n : n.replace(/\/$/, "")), + (n = R(n)) && + X(a.router.getFile(n + o) + i, !1, a.config.requestHeaders).then(t, function (e) { + return Wn(n, i, o, t, a) + }) + } + function Xn() { + var n = function () { + return null + } + return [ + function (e) { + n(e) + }, + function (e) { + n = e + } + ] + } + Me = Object.freeze({ + __proto__: null, + cached: c, + hyphenate: a, + hasOwn: u, + merge: m, + isPrimitive: f, + noop: d, + isFn: o, + isExternal: g, + inBrowser: !0, + isMobile: s, + supportsPushState: t, + parseQuery: F, + stringifyQuery: E, + isAbsolutePath: T, + removeParams: C, + getParentPath: R, + cleanPath: j, + resolvePath: O, + getPath: q, + replaceSlug: P + }) + var Qn, + Jn = (function (e) { + function n() { + e.call(this), + (this.config = ue(this)), + this.initLifecycle(), + this.initPlugin(), + this.callHook("init"), + this.initRouter(), + this.initRender(), + this.initEvent(), + this.initFetch(), + this.callHook("mounted") + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype.initPlugin = function () { + var n = this + ;[].concat(this.config.plugins).forEach(function (e) { + try { + o(e) && e(n._lifecycle, n) + } catch (e) { + if (!n.config.catchPluginErrors) throw e + console.error("Docsify plugin error", e) + } + }) + }), + n + ) + })( + ((we = Object), + (function (e) { + function n() { + e.apply(this, arguments) + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype._loadSideAndNav = function (e, n, i, o) { + var t = this + return function () { + if (!i) return o() + Wn( + e, + n, + i, + function (e) { + t._renderSidebar(e), o() + }, + t, + !0 + ) + } + }), + (n.prototype._fetch = function (i) { + var o = this + void 0 === i && (i = d) + var t, + e, + n, + a, + r, + c, + u, + f = this.route.query, + p = this.route.path + g(p) + ? (history.replaceState(null, "", "#"), this.router.normalize()) + : ((t = E(f, ["id"])), + (f = (e = this.config).loadNavbar), + (n = e.requestHeaders), + (a = e.loadSidebar), + (r = this.router.getFile(p)), + (this.isRemoteUrl = g(r)), + (this.isHTML = /\.html$/g.test(r)), + (c = function (e, n) { + o._renderMain(e, n, o._loadSideAndNav(p, t, a, i)) + }), + (u = function (e) { + o._fetchFallbackPage(p, t, i) || o._fetch404(r, t, i) + }), + this.isRemoteUrl + ? Kn(r + t, 0, n).then(c, u) + : this.matchVirtualRoute(p).then(function (e) { + "string" == typeof e ? c(e) : Kn(r + t, 0, n).then(c, u) + }), + f && + Wn( + p, + t, + f, + function (e) { + return o._renderNav(e) + }, + this, + !0 + )) + }), + (n.prototype._fetchCover = function () { + var n = this, + e = this.config, + i = e.coverpage, + o = e.requestHeaders, + t = this.route.query, + a = R(this.route.path) + if (i) { + var r = null, + e = this.route.path + "string" == typeof i ? "/" === e && (r = i) : (r = Array.isArray(i) ? -1 < i.indexOf(e) && "_coverpage" : !0 === (e = i[e]) ? "_coverpage" : e) + var c = Boolean(r) && this.config.onlyCover + return ( + r + ? ((r = this.router.getFile(a + r)), + (this.coverIsHTML = /\.html$/g.test(r)), + X(r + E(t, ["id"]), !1, o).then(function (e) { + return n._renderCover(e, c) + })) + : this._renderCover(null, c), + c + ) + } + }), + (n.prototype.$fetch = function (e, n) { + var i = this + void 0 === e && (e = d), void 0 === n && (n = this.$resetEvents.bind(this)) + function o() { + i.callHook("doneEach"), e() + } + this._fetchCover() + ? o() + : this._fetch(function () { + n(), o() + }) + }), + (n.prototype._fetchFallbackPage = function (i, o, t) { + var a = this + void 0 === t && (t = d) + var e = this.config, + n = e.requestHeaders, + r = e.fallbackLanguages, + c = e.loadSidebar + if (!r) return !1 + e = i.split("/")[1] + if (-1 === r.indexOf(e)) return !1 + e = this.router.getFile(i.replace(new RegExp("^/" + e), "")) + return ( + Kn(e + o, 0, n).then( + function (e, n) { + return a._renderMain(e, n, a._loadSideAndNav(i, o, c, t)) + }, + function () { + return a._fetch404(i, o, t) + } + ), + !0 + ) + }), + (n.prototype._fetch404 = function (e, n, i) { + var o = this, + t = this.config, + a = t.loadSidebar, + r = t.requestHeaders, + t = t.notFoundPage, + c = this._loadSideAndNav(e, n, a, (i = void 0 === i ? d : i)) + if (t) { + e = (function (n, e) { + var i, + o, + t = e.notFoundPage, + a = "_404" + (e.ext || ".md") + switch (typeof t) { + case "boolean": + o = a + break + case "string": + o = t + break + case "object": + o = + ((i = Object.keys(t) + .sort(function (e, n) { + return n.length - e.length + }) + .filter(function (e) { + return n.match(new RegExp("^" + e)) + })[0]) && + t[i]) || + a + } + return o + })(e, this.config) + return ( + Kn(this.router.getFile(e), 0, r).then( + function (e, n) { + return o._renderMain(e, n, c) + }, + function () { + return o._renderMain(null, {}, c) + } + ), + !0 + ) + } + return this._renderMain(null, {}, c), !1 + }), + (n.prototype.initFetch = function () { + var e, + n = this, + i = this.config.loadSidebar + this.rendered + ? ((e = ee(this.router, ".sidebar-nav", !0, !0)), + i && e && (e.parentNode.innerHTML += window.__SUB_SIDEBAR__), + this._bindEventOnRendered(e), + this.$resetEvents(), + this.callHook("doneEach"), + this.callHook("ready")) + : this.$fetch(function (e) { + return n.callHook("ready") + }) + }), + n + ) + })( + (function (e) { + function n() { + e.apply(this, arguments) + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype.$resetEvents = function (e) { + var n = this, + i = this.config.auto2top + "history" !== e && (n.route.query.id && he(n.route.path, n.route.query.id), "navigate" === e && i && ((i = i), (_e.scrollTop = !0 === (i = void 0 === i ? 0 : i) ? 0 : Number(i)))), + this.config.loadNavbar && ee(this.router, "nav") + }), + (n.prototype.initEvent = function () { + function n(e) { + return h.classList.toggle("close") + } + var e + ;(e = "button.sidebar-toggle"), + this.router, + null != (e = l(e)) && + (p(e, "click", function (e) { + e.stopPropagation(), n() + }), + s && + p(h, "click", function (e) { + return h.classList.contains("close") && n() + })), + (e = ".sidebar"), + this.router, + null != (e = l(e)) && + p(e, "click", function (e) { + e = e.target + "A" === e.nodeName && e.nextSibling && e.nextSibling.classList && e.nextSibling.classList.contains("app-sub-sidebar") && S(e.parentNode, "collapse") + }), + this.config.coverpage ? s || p("scroll", K) : h.classList.add("sticky") + }), + n + ) + })( + (function (e) { + function n() { + e.apply(this, arguments) + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype._renderTo = function (e, n, i) { + e = l(e) + e && (e[i ? "outerHTML" : "innerHTML"] = n) + }), + (n.prototype._renderSidebar = function (e) { + var n = this.config, + i = n.maxLevel, + o = n.subMaxLevel, + t = n.loadSidebar + if (n.hideSidebar) + return ( + [document.querySelector("aside.sidebar"), document.querySelector("button.sidebar-toggle")] + .filter(function (e) { + return !!e + }) + .forEach(function (e) { + return e.parentNode.removeChild(e) + }), + (document.querySelector("section.content").style.right = "unset"), + (document.querySelector("section.content").style.left = "unset"), + (document.querySelector("section.content").style.position = "relative"), + (document.querySelector("section.content").style.width = "100%"), + null + ) + this._renderTo(".sidebar-nav", this.compiler.sidebar(e, i)) + i = ee(this.router, ".sidebar-nav", !0, !0) + t && i ? (i.parentNode.innerHTML += this.compiler.subSidebar(o) || "") : this.compiler.subSidebar(), this._bindEventOnRendered(i) + }), + (n.prototype._bindEventOnRendered = function (e) { + var n, + i = this.config.autoHeader + !(function (e) { + var n = b(".cover.show") + se = n ? n.offsetHeight : 0 + for (var i, n = l(".sidebar"), o = [], t = 0, a = (o = null != n ? k(n, "li") : o).length; t < a; t += 1) { + var r, + c, + u = o[t], + f = u.querySelector("a") + f && ("/" !== (r = f.getAttribute("href")) && ((f = (c = e.parse(r)).query.id), (c = c.path), f && (r = ve(c, f))), r && (fe[decodeURIComponent(r)] = u)) + } + s || + ((i = C(e.getCurrentPath())), + x("scroll", function () { + return le(i) + }), + p("scroll", function () { + return le(i) + }), + p(n, "mouseover", function () { + pe = !0 + }), + p(n, "mouseleave", function () { + pe = !1 + })) + })(this.router), + i && e && (i = (n = l("#main")).children[0]) && "H1" !== i.tagName && y(n, w("div", this.compiler.header(e.innerText, 1)).children[0]) + }), + (n.prototype._renderNav = function (e) { + e && this._renderTo("nav", this.compiler.compile(e)), this.config.loadNavbar && ee(this.router, "nav") + }), + (n.prototype._renderMain = function (o, t, a) { + var r = this + if ((void 0 === t && (t = {}), !o)) return Gn.call(this, o) + this.callHook("beforeEach", o, function (e) { + function n() { + t.updatedAt && (i = Yn(i, t.updatedAt, r.config.formatUpdated)), + r.callHook("afterEach", i, function (e) { + Gn.call(r, e), a() + }) + } + var i + r.isHTML + ? ((i = r.result = o), n()) + : Vn({ compiler: r.compiler, raw: e }, function (e) { + ;(i = r.compiler.compile(e)), n() + }) + }) + }), + (n.prototype._renderCover = function (e, n) { + var i, + o = l(".cover") + S(l("main"), n ? "add" : "remove", "hidden"), + e + ? (S(o, "add", "show"), + (n = (i = this.coverIsHTML ? e : this.compiler.cover(e)).trim().match('

    ([^<]*?)

    $')) && + ("color" === n[2] + ? (o.style.background = n[1] + (n[3] || "")) + : ((e = n[1]), + S(o, "add", "has-mask"), + T(n[1]) || (e = q(this.router.getBasePath(), n[1])), + (o.style.backgroundImage = "url(" + e + ")"), + (o.style.backgroundSize = "cover"), + (o.style.backgroundPosition = "center center")), + (i = i.replace(n[0], ""))), + this._renderTo(".cover-main", i), + K()) + : S(o, "remove", "show") + }), + (n.prototype._updateRender = function () { + var e, n, i, o + ;(e = this), + (n = l(".app-name-link")), + (i = e.config.nameLink), + (o = e.route.path), + n && + (f(e.config.nameLink) + ? n.setAttribute("href", i) + : "object" == typeof i && + ((e = Object.keys(i).filter(function (e) { + return -1 < o.indexOf(e) + })[0]), + n.setAttribute("href", i[e]))) + }), + (n.prototype.initRender = function () { + var e = this.config + ;(this.compiler = new In(e, this.router)), (window.__current_docsify_compiler__ = this.compiler) + var n, + i, + o, + t, + a, + r = e.el || "#app", + c = b("nav") || w("nav"), + u = b(r), + f = "", + p = h + u + ? (e.repo && + (f += + ((t = e.repo), + (r = e.cornerExternalLinkTarget), + t + ? '' + : "")), + e.coverpage && + (f += + ((o = ", 100%, 85%"), + '
    \x3c!--cover--\x3e
    ')), + e.logo && ((o = /^data:image/.test(e.logo)), (n = /(?:http[s]?:)?\/\//.test(e.logo)), (i = /^\./.test(e.logo)), o || n || i || (e.logo = q(this.router.getBasePath(), e.logo))), + (f += + ((i = (n = e).name || ""), + "
    " + + ('') + + '
    \x3c!--main--\x3e
    ')), + this._renderTo(u, f, !0)) + : (this.rendered = !0), + e.mergeNavbar && s ? (p = b(".sidebar")) : (c.classList.add("app-nav"), e.repo || c.classList.add("no-badge")), + e.loadNavbar && y(p, c), + e.themeColor && + (v.head.appendChild(w("div", "").firstElementChild), + (a = e.themeColor), + (window.CSS && window.CSS.supports && window.CSS.supports("(--v:red)")) || + ((e = k("style:not(.inserted),link")), + [].forEach.call(e, function (e) { + "STYLE" === e.nodeName + ? Q(e, a) + : "LINK" === e.nodeName && + ((e = e.getAttribute("href")), + /\.css$/.test(e) && + X(e).then(function (e) { + e = w("style", e) + _.appendChild(e), Q(e, a) + })) + }))), + this._updateRender(), + S(h, "ready") + }), + n + ) + })( + (function (e) { + function n() { + e.apply(this, arguments) + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype.routes = function () { + return this.config.routes || {} + }), + (n.prototype.matchVirtualRoute = function (t) { + var a = this.routes(), + r = Object.keys(a), + c = function () { + return null + } + function u() { + var e = r.shift() + if (!e) return c(null) + var n = A((o = ((i = "^"), 0 === (o = e).indexOf(i) ? o : "^" + o)), "$") ? o : o + "$", + i = t.match(n) + if (!i) return u() + var o = a[e] + if ("string" == typeof o) return c(o) + if ("function" != typeof o) return u() + ;(n = o), (e = Xn()), (o = e[0]) + return ( + (0, e[1])(function (e) { + return "string" == typeof e ? c(e) : !1 === e ? c(null) : u() + }), + n.length <= 2 ? o(n(t, i)) : n(t, i, o) + ) + } + return { + then: function (e) { + ;(c = e), u() + } + } + }), + n + ) + })( + (function (i) { + function e() { + for (var e = [], n = arguments.length; n--; ) e[n] = arguments[n] + i.apply(this, e), (this.route = {}) + } + return ( + i && (e.__proto__ = i), + (((e.prototype = Object.create(i && i.prototype)).constructor = e).prototype.updateRender = function () { + this.router.normalize(), (this.route = this.router.parse()), h.setAttribute("data-page", this.route.file) + }), + (e.prototype.initRouter = function () { + var n = this, + e = this.config, + e = new ("history" === (e.routerMode || "hash") && t ? D : H)(e) + ;(this.router = e), + this.updateRender(), + (U = this.route), + e.onchange(function (e) { + n.updateRender(), n._updateRender(), U.path !== n.route.path ? (n.$fetch(d, n.$resetEvents.bind(n, e.source)), (U = n.route)) : n.$resetEvents(e.source) + }) + }), + e + ) + })( + (function (e) { + function n() { + e.apply(this, arguments) + } + return ( + e && (n.__proto__ = e), + (((n.prototype = Object.create(e && e.prototype)).constructor = n).prototype.initLifecycle = function () { + var i = this + ;(this._hooks = {}), + (this._lifecycle = {}), + ["init", "mounted", "beforeEach", "afterEach", "doneEach", "ready"].forEach(function (e) { + var n = (i._hooks[e] = []) + i._lifecycle[e] = function (e) { + return n.push(e) + } + }) + }), + (n.prototype.callHook = function (e, t, a) { + void 0 === a && (a = d) + var r = this._hooks[e], + c = this.config.catchPluginErrors, + u = function (n) { + var e = r[n] + if (n >= r.length) a(t) + else if ("function" == typeof e) { + var i = "Docsify plugin error" + if (2 === e.length) + try { + e(t, function (e) { + ;(t = e), u(n + 1) + }) + } catch (e) { + if (!c) throw e + console.error(i, e), u(n + 1) + } + else + try { + var o = e(t) + ;(t = void 0 === o ? t : o), u(n + 1) + } catch (e) { + if (!c) throw e + console.error(i, e), u(n + 1) + } + } else u(n + 1) + } + u(0) + }), + n + ) + })(we) + ) + ) + ) + ) + )) + ) + function Kn(e, n, i) { + return Qn && Qn.abort && Qn.abort(), (Qn = X(e, !0, i)) + } + ;(window.Docsify = { util: Me, dom: n, get: X, slugify: Cn, version: "4.13.0" }), + (window.DocsifyCompiler = In), + (window.marked = Sn), + (window.Prism = Pn), + e(function (e) { + return new Jn() + }) +})() diff --git a/docs/src/search.js b/docs/src/search.js new file mode 100644 index 00000000..9e99e7fb --- /dev/null +++ b/docs/src/search.js @@ -0,0 +1,531 @@ +;(function () { + /** + * Converts a colon formatted string to a object with properties. + * + * This is process a provided string and look for any tokens in the format + * of `:name[=value]` and then convert it to a object and return. + * An example of this is ':include :type=code :fragment=demo' is taken and + * then converted to: + * + * ``` + * { + * include: '', + * type: 'code', + * fragment: 'demo' + * } + * ``` + * + * @param {string} str The string to parse. + * + * @return {object} The original string and parsed object, { str, config }. + */ + function getAndRemoveConfig(str) { + if (str === void 0) str = "" + + var config = {} + + if (str) { + str = str + .replace(/^('|")/, "") + .replace(/('|")$/, "") + .replace(/(?:^|\s):([\w-]+:?)=?([\w-%]+)?/g, function (m, key, value) { + if (key.indexOf(":") === -1) { + config[key] = (value && value.replace(/"/g, "")) || true + return "" + } + + return m + }) + .trim() + } + + return { str: str, config: config } + } + + function removeDocsifyIgnoreTag(str) { + return str + .replace(//, "") + .replace(/{docsify-ignore}/, "") + .replace(//, "") + .replace(/{docsify-ignore-all}/, "") + .trim() + } + + /* eslint-disable no-unused-vars */ + + var INDEXS = {} + + var LOCAL_STORAGE = { + EXPIRE_KEY: "docsify.search.expires", + INDEX_KEY: "docsify.search.index" + } + + function resolveExpireKey(namespace) { + return namespace ? LOCAL_STORAGE.EXPIRE_KEY + "/" + namespace : LOCAL_STORAGE.EXPIRE_KEY + } + + function resolveIndexKey(namespace) { + return namespace ? LOCAL_STORAGE.INDEX_KEY + "/" + namespace : LOCAL_STORAGE.INDEX_KEY + } + + function escapeHtml(string) { + var entityMap = { + "&": "&", + "<": "<", + ">": ">", + '"': """, + "'": "'" + } + + return String(string).replace(/[&<>"']/g, function (s) { + return entityMap[s] + }) + } + + function getAllPaths(router) { + var paths = [] + + Docsify.dom.findAll(".sidebar-nav a:not(.section-link):not([data-nosearch])").forEach(function (node) { + var href = node.href + var originHref = node.getAttribute("href") + var path = router.parse(href).path + + if (path && paths.indexOf(path) === -1 && !Docsify.util.isAbsolutePath(originHref)) { + paths.push(path) + } + }) + + return paths + } + + function getTableData(token) { + if (!token.text && token.type === "table") { + token.cells.unshift(token.header) + token.text = token.cells + .map(function (rows) { + return rows.join(" | ") + }) + .join(" |\n ") + } + return token.text + } + + function getListData(token) { + if (!token.text && token.type === "list") { + token.text = token.raw + } + return token.text + } + + function saveData(maxAge, expireKey, indexKey) { + localStorage.setItem(expireKey, Date.now() + maxAge) + localStorage.setItem(indexKey, JSON.stringify(INDEXS)) + } + + function genIndex(path, content, router, depth) { + if (content === void 0) content = "" + + var tokens = window.marked.lexer(content) + var slugify = window.Docsify.slugify + var index = {} + var slug + var title = "" + + tokens.forEach(function (token, tokenIndex) { + if (token.type === "heading" && token.depth <= depth) { + var ref = getAndRemoveConfig(token.text) + var str = ref.str + var config = ref.config + + var text = removeDocsifyIgnoreTag(token.text) + + if (config.id) { + slug = router.toURL(path, { id: slugify(config.id) }) + } else { + slug = router.toURL(path, { id: slugify(escapeHtml(text)) }) + } + + if (str) { + title = removeDocsifyIgnoreTag(str) + } + + index[slug] = { slug: slug, title: title, body: "" } + } else { + if (tokenIndex === 0) { + slug = router.toURL(path) + index[slug] = { + slug: slug, + title: path !== "/" ? path.slice(1) : "Home Page", + body: token.text || "" + } + } + + if (!slug) { + return + } + + if (!index[slug]) { + index[slug] = { slug: slug, title: "", body: "" } + } else if (index[slug].body) { + token.text = getTableData(token) + token.text = getListData(token) + + index[slug].body += "\n" + (token.text || "") + } else { + token.text = getTableData(token) + token.text = getListData(token) + + index[slug].body = index[slug].body ? index[slug].body + token.text : token.text + } + } + }) + slugify.clear() + return index + } + + function ignoreDiacriticalMarks(keyword) { + if (keyword && keyword.normalize) { + return keyword.normalize("NFD").replace(/[\u0300-\u036f]/g, "") + } + return keyword + } + + /** + * @param {String} query Search query + * @returns {Array} Array of results + */ + function search(query) { + var matchingResults = [] + var data = [] + Object.keys(INDEXS).forEach(function (key) { + data = data.concat( + Object.keys(INDEXS[key]).map(function (page) { + return INDEXS[key][page] + }) + ) + }) + + query = query.trim() + var keywords = query.split(/[\s\-,\\/]+/) + if (keywords.length !== 1) { + keywords = [].concat(query, keywords) + } + + var loop = function (i) { + var post = data[i] + var matchesScore = 0 + var resultStr = "" + var handlePostTitle = "" + var handlePostContent = "" + var postTitle = post.title && post.title.trim() + var postContent = post.body && post.body.trim() + var postUrl = post.slug || "" + + if (postTitle) { + keywords.forEach(function (keyword) { + // From https://github.com/sindresorhus/escape-string-regexp + var regEx = new RegExp(escapeHtml(ignoreDiacriticalMarks(keyword)).replace(/[|\\{}()[\]^$+*?.]/g, "\\$&"), "gi") + var indexTitle = -1 + var indexContent = -1 + handlePostTitle = postTitle ? escapeHtml(ignoreDiacriticalMarks(postTitle)) : postTitle + handlePostContent = postContent ? escapeHtml(ignoreDiacriticalMarks(postContent)) : postContent + + indexTitle = postTitle ? handlePostTitle.search(regEx) : -1 + indexContent = postContent ? handlePostContent.search(regEx) : -1 + + if (indexTitle >= 0 || indexContent >= 0) { + matchesScore += indexTitle >= 0 ? 3 : indexContent >= 0 ? 2 : 0 + if (indexContent < 0) { + indexContent = 0 + } + + var start = 0 + var end = 0 + + start = indexContent < 11 ? 0 : indexContent - 10 + end = start === 0 ? 70 : indexContent + keyword.length + 60 + + if (postContent && end > postContent.length) { + end = postContent.length + } + + var matchContent = + handlePostContent && + "..." + + handlePostContent.substring(start, end).replace(regEx, function (word) { + return '' + word + "" + }) + + "..." + + resultStr += matchContent + } + }) + + if (matchesScore > 0) { + var matchingPost = { + title: handlePostTitle, + content: postContent ? resultStr : "", + url: postUrl, + score: matchesScore + } + + matchingResults.push(matchingPost) + } + } + } + + for (var i = 0; i < data.length; i++) loop(i) + + return matchingResults.sort(function (r1, r2) { + return r2.score - r1.score + }) + } + + function init(config, vm) { + var isAuto = config.paths === "auto" + var paths = isAuto ? getAllPaths(vm.router) : config.paths + + var namespaceSuffix = "" + + // only in auto mode + if (paths.length && isAuto && config.pathNamespaces) { + var path = paths[0] + + if (Array.isArray(config.pathNamespaces)) { + namespaceSuffix = + config.pathNamespaces.filter(function (prefix) { + return path.slice(0, prefix.length) === prefix + })[0] || namespaceSuffix + } else if (config.pathNamespaces instanceof RegExp) { + var matches = path.match(config.pathNamespaces) + + if (matches) { + namespaceSuffix = matches[0] + } + } + var isExistHome = paths.indexOf(namespaceSuffix + "/") === -1 + var isExistReadme = paths.indexOf(namespaceSuffix + "/README") === -1 + if (isExistHome && isExistReadme) { + paths.unshift(namespaceSuffix + "/") + } + } else if (paths.indexOf("/") === -1 && paths.indexOf("/README") === -1) { + paths.unshift("/") + } + + var expireKey = resolveExpireKey(config.namespace) + namespaceSuffix + var indexKey = resolveIndexKey(config.namespace) + namespaceSuffix + + var isExpired = localStorage.getItem(expireKey) < Date.now() + + INDEXS = JSON.parse(localStorage.getItem(indexKey)) + + if (isExpired) { + INDEXS = {} + } else if (!isAuto) { + return + } + + var len = paths.length + var count = 0 + + paths.forEach(function (path) { + if (INDEXS[path]) { + return count++ + } + + Docsify.get(vm.router.getFile(path), false, vm.config.requestHeaders).then(function (result) { + INDEXS[path] = genIndex(path, result, vm.router, config.depth) + len === ++count && saveData(config.maxAge, expireKey, indexKey) + }) + }) + } + + /* eslint-disable no-unused-vars */ + + var NO_DATA_TEXT = "" + var options + + function style() { + var code = + "\n.sidebar {\n padding-top: 0;\n}\n\n.search {\n margin-bottom: 20px;\n padding: 6px;\n border-bottom: 1px solid #eee;\n}\n\n.search .input-wrap {\n display: flex;\n align-items: center;\n}\n\n.search .results-panel {\n display: none;\n}\n\n.search .results-panel.show {\n display: block;\n}\n\n.search input {\n outline: none;\n border: none;\n width: 100%;\n padding: 0.6em 7px;\n font-size: inherit;\n border: 1px solid transparent;\n}\n\n.search input:focus {\n box-shadow: 0 0 5px var(--theme-color, #42b983);\n border: 1px solid var(--theme-color, #42b983);\n}\n\n.search input::-webkit-search-decoration,\n.search input::-webkit-search-cancel-button,\n.search input {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.search input::-ms-clear {\n display: none;\n height: 0;\n width: 0;\n}\n\n.search .clear-button {\n cursor: pointer;\n width: 36px;\n text-align: right;\n display: none;\n}\n\n.search .clear-button.show {\n display: block;\n}\n\n.search .clear-button svg {\n transform: scale(.5);\n}\n\n.search h2 {\n font-size: 17px;\n margin: 10px 0;\n}\n\n.search a {\n text-decoration: none;\n color: inherit;\n}\n\n.search .matching-post {\n border-bottom: 1px solid #eee;\n}\n\n.search .matching-post:last-child {\n border-bottom: 0;\n}\n\n.search p {\n font-size: 14px;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.search p.empty {\n text-align: center;\n}\n\n.app-name.hide, .sidebar-nav.hide {\n display: none;\n}" + + Docsify.dom.style(code) + } + + function tpl(defaultValue) { + if (defaultValue === void 0) defaultValue = "" + + var html = + '
    \n \n
    \n \n \n \n \n \n
    \n
    \n
    \n ' + var el = Docsify.dom.create("div", html) + var aside = Docsify.dom.find("aside") + + Docsify.dom.toggleClass(el, "search") + Docsify.dom.before(aside, el) + } + + function doSearch(value) { + var $search = Docsify.dom.find("div.search") + var $panel = Docsify.dom.find($search, ".results-panel") + var $clearBtn = Docsify.dom.find($search, ".clear-button") + var $sidebarNav = Docsify.dom.find(".sidebar-nav") + var $appName = Docsify.dom.find(".app-name") + + if (!value) { + $panel.classList.remove("show") + $clearBtn.classList.remove("show") + $panel.innerHTML = "" + + if (options.hideOtherSidebarContent) { + $sidebarNav && $sidebarNav.classList.remove("hide") + $appName && $appName.classList.remove("hide") + } + + return + } + + var matchs = search(value) + + var html = "" + matchs.forEach(function (post) { + html += '
    \n\n

    ' + post.title + "

    \n

    " + post.content + "

    \n
    \n
    " + }) + + $panel.classList.add("show") + $clearBtn.classList.add("show") + $panel.innerHTML = html || '

    ' + NO_DATA_TEXT + "

    " + if (options.hideOtherSidebarContent) { + $sidebarNav && $sidebarNav.classList.add("hide") + $appName && $appName.classList.add("hide") + } + } + + function bindEvents() { + var $search = Docsify.dom.find("div.search") + var $input = Docsify.dom.find($search, "input") + var $inputWrap = Docsify.dom.find($search, ".input-wrap") + + var timeId + + /** + Prevent to Fold sidebar. + + When searching on the mobile end, + the sidebar is collapsed when you click the INPUT box, + making it impossible to search. + */ + Docsify.dom.on($search, "click", function (e) { + return ["A", "H2", "P", "EM"].indexOf(e.target.tagName) === -1 && e.stopPropagation() + }) + Docsify.dom.on($input, "input", function (e) { + clearTimeout(timeId) + timeId = setTimeout(function (_) { + return doSearch(e.target.value.trim()) + }, 100) + }) + Docsify.dom.on($inputWrap, "click", function (e) { + // Click input outside + if (e.target.tagName !== "INPUT") { + $input.value = "" + doSearch() + } + }) + } + + function updatePlaceholder(text, path) { + var $input = Docsify.dom.getNode('.search input[type="search"]') + + if (!$input) { + return + } + + if (typeof text === "string") { + $input.placeholder = text + } else { + var match = Object.keys(text).filter(function (key) { + return path.indexOf(key) > -1 + })[0] + $input.placeholder = text[match] + } + } + + function updateNoData(text, path) { + if (typeof text === "string") { + NO_DATA_TEXT = text + } else { + var match = Object.keys(text).filter(function (key) { + return path.indexOf(key) > -1 + })[0] + NO_DATA_TEXT = text[match] + } + } + + function updateOptions(opts) { + options = opts + } + + function init$1(opts, vm) { + var keywords = vm.router.parse().query.s + + updateOptions(opts) + style() + tpl(keywords) + bindEvents() + keywords && + setTimeout(function (_) { + return doSearch(keywords) + }, 500) + } + + function update(opts, vm) { + updateOptions(opts) + updatePlaceholder(opts.placeholder, vm.route.path) + updateNoData(opts.noData, vm.route.path) + } + + /* eslint-disable no-unused-vars */ + + var CONFIG = { + placeholder: "Type to search", + noData: "No Results!", + paths: "auto", + depth: 2, + maxAge: 86400000, // 1 day + hideOtherSidebarContent: false, + namespace: undefined, + pathNamespaces: undefined + } + + var install = function (hook, vm) { + var util = Docsify.util + var opts = vm.config.search || CONFIG + + if (Array.isArray(opts)) { + CONFIG.paths = opts + } else if (typeof opts === "object") { + CONFIG.paths = Array.isArray(opts.paths) ? opts.paths : "auto" + CONFIG.maxAge = util.isPrimitive(opts.maxAge) ? opts.maxAge : CONFIG.maxAge + CONFIG.placeholder = opts.placeholder || CONFIG.placeholder + CONFIG.noData = opts.noData || CONFIG.noData + CONFIG.depth = opts.depth || CONFIG.depth + CONFIG.hideOtherSidebarContent = opts.hideOtherSidebarContent || CONFIG.hideOtherSidebarContent + CONFIG.namespace = opts.namespace || CONFIG.namespace + CONFIG.pathNamespaces = opts.pathNamespaces || CONFIG.pathNamespaces + } + + var isAuto = CONFIG.paths === "auto" + + hook.mounted(function (_) { + init$1(CONFIG, vm) + !isAuto && init(CONFIG, vm) + }) + hook.doneEach(function (_) { + update(CONFIG, vm) + isAuto && init(CONFIG, vm) + }) + } + + $docsify.plugins = [].concat(install, $docsify.plugins) +})() diff --git a/docs/src/style.css b/docs/src/style.css new file mode 100644 index 00000000..56300307 --- /dev/null +++ b/docs/src/style.css @@ -0,0 +1,94 @@ +/* Container for the Button links, within cover page*/ +.cover-main .cover-link-container { + display: flex; + justify-content: center; + align-items: stretch; + max-width: 1000px; + margin: auto; +} + +@media (max-width: 820px) { + .cover-main .cover-link-container { + flex-direction: column; + } + + .cover-link{ + min-width: 90%; + } +} + +.cover-link { + display: flex; + flex-grow: 1; + flex-direction: column; + border: 2px solid #42b983; + margin: 0.5rem; + padding: 1rem; + border-radius: 3px; + width:0; + /* min-width: 20%; */ +} + +a.cover-link:link, +a.cover-link:visited { + /* text-shadow: 0 0 1px rgba(0, 0, 0, 0.2), 0 1px 0 rgba(0, 0, 0, 0.2); */ + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; + +} +a.cover-link:link:after, +a.cover-link:visited:after { + content: ""; + position: absolute; + height: 0%; + left: 50%; + top: 50%; + width: 150%; + -webkit-transition: all 0.75s ease 0s; + -moz-transition: all 0.75s ease 0s; + -o-transition: all 0.75s ease 0s; + transition: all 0.75s ease 0s; + +} +a.cover-link:link:hover:after, +a.cover-link:visited:hover:after { + height: 450%; +} +a.cover-link:link, +a.cover-link:visited { + position: relative; + overflow: hidden; + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; + color:white !important; +} +a.cover-link:after { + background: rgba(255, 255, 255, 0.2); + color:white !important; + -moz-transform: translateX(-50%) translateY(-50%) rotate(135deg); + -ms-transform: translateX(-50%) translateY(-50%) rotate(135deg); + -webkit-transform: translateX(-50%) translateY(-50%) rotate(135deg); + transform: translateX(-50%) translateY(-50%) rotate(135deg); +} + +/* Main text within Button on cover page*/ +.cover-main .cover-link-container .cover-link .link-title { + font-family: 'Cutive Mono', monospace; + color: #42b983; + font-size: 1.8rem; + z-index: 1; +} + +/* Description of button, on cover page */ +.cover-main .cover-link-container .cover-link .link-description { + font-family: 'Cutive Mono', monospace; + color: #42b983; + font-size: 1.1rem; + border-top: 1px solid #42b983; + padding-top: 2px; + z-index: 1; +} diff --git a/docs/src/vue.css b/docs/src/vue.css new file mode 100644 index 00000000..6f06bd30 --- /dev/null +++ b/docs/src/vue.css @@ -0,0 +1,871 @@ +@import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600"); +* { + -webkit-font-smoothing: antialiased; + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-text-size-adjust: none; + -webkit-touch-callout: none; + box-sizing: border-box; +} +body:not(.ready) { + overflow: hidden; +} +body:not(.ready) [data-cloak], +body:not(.ready) .app-nav, +body:not(.ready) > nav { + display: none; +} +div#app { + font-size: 30px; + font-weight: lighter; + margin: 40vh auto; + text-align: center; +} +div#app:empty::before { + content: "Loading..."; +} +img.emoji { + height: 1.2em; + vertical-align: middle; +} +span.emoji { + font-family: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + font-size: 1.2em; + vertical-align: middle; +} +.progress { + background-color: #42b983; + background-color: var(--theme-color, #42b983); + height: 2px; + left: 0px; + position: fixed; + right: 0px; + top: 0px; + transition: width 0.2s, opacity 0.4s; + width: 0%; + z-index: 999999; +} +.search a:hover { + color: #42b983; + color: var(--theme-color, #42b983); +} +.search .search-keyword { + color: #42b983; + color: var(--theme-color, #42b983); + font-style: normal; + font-weight: bold; +} +html, +body { + height: 100%; +} +body { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + color: #34495e; + font-family: "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; + font-size: 15px; + letter-spacing: 0; + margin: 0; + overflow-x: hidden; +} +img { + max-width: 100%; +} +a[disabled] { + cursor: not-allowed; + opacity: 0.6; +} +kbd { + border: solid 1px #ccc; + border-radius: 3px; + display: inline-block; + font-size: 12px !important; + line-height: 12px; + margin-bottom: 3px; + padding: 3px 5px; + vertical-align: middle; +} +li input[type="checkbox"] { + margin: 0 0.2em 0.25em 0; + vertical-align: middle; +} +.app-nav { + margin: 25px 60px 0 0; + position: absolute; + right: 0; + text-align: right; + z-index: 10; + /* navbar dropdown */ +} +.app-nav.no-badge { + margin-right: 25px; +} +.app-nav p { + margin: 0; +} +.app-nav > a { + margin: 0 1rem; + padding: 5px 0; +} +.app-nav ul, +.app-nav li { + display: inline-block; + list-style: none; + margin: 0; +} +.app-nav a { + color: inherit; + font-size: 16px; + text-decoration: none; + transition: color 0.3s; +} +.app-nav a:hover { + color: #42b983; + color: var(--theme-color, #42b983); +} +.app-nav a.active { + border-bottom: 2px solid #42b983; + border-bottom: 2px solid var(--theme-color, #42b983); + color: #42b983; + color: var(--theme-color, #42b983); +} +.app-nav li { + display: inline-block; + margin: 0 1rem; + padding: 5px 0; + position: relative; + cursor: pointer; +} +.app-nav li ul { + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: #ccc; + border-radius: 4px; + box-sizing: border-box; + display: none; + max-height: calc(100vh - 61px); + overflow-y: auto; + padding: 10px 0; + position: absolute; + right: -15px; + text-align: left; + top: 100%; + white-space: nowrap; +} +.app-nav li ul li { + display: block; + font-size: 14px; + line-height: 1rem; + margin: 0; + margin: 8px 14px; + white-space: nowrap; +} +.app-nav li ul a { + display: block; + font-size: inherit; + margin: 0; + padding: 0; +} +.app-nav li ul a.active { + border-bottom: 0; +} +.app-nav li:hover ul { + display: block; +} +.github-corner { + border-bottom: 0; + position: fixed; + right: 0; + text-decoration: none; + top: 0; + z-index: 1; +} +.github-corner:hover .octo-arm { + animation: octocat-wave 560ms ease-in-out; +} +.github-corner svg { + color: #fff; + fill: #42b983; + fill: var(--theme-color, #42b983); + height: 80px; + width: 80px; +} +main { + display: block; + position: relative; + width: 100vw; + height: 100%; + z-index: 0; +} +main.hidden { + display: none; +} +.anchor { + display: inline-block; + text-decoration: none; + transition: all 0.3s; +} +.anchor span { + color: #34495e; +} +.anchor:hover { + text-decoration: underline; +} +.sidebar { + border-right: 1px solid rgba(0, 0, 0, 0.07); + overflow-y: auto; + padding: 40px 0 0; + position: absolute; + top: 0; + bottom: 0; + left: 0; + transition: transform 250ms ease-out; + width: 300px; + z-index: 20; +} +.sidebar > h1 { + margin: 0 auto 1rem; + font-size: 1.5rem; + font-weight: 300; + text-align: center; +} +.sidebar > h1 a { + color: inherit; + text-decoration: none; +} +.sidebar > h1 .app-nav { + display: block; + position: static; +} +.sidebar .sidebar-nav { + line-height: 2em; + padding-bottom: 40px; +} +.sidebar li.collapse .app-sub-sidebar { + display: none; +} +.sidebar ul { + margin: 0 0 0 15px; + padding: 0; +} +.sidebar li > p { + font-weight: 700; + margin: 0; +} +.sidebar ul, +.sidebar ul li { + list-style: none; +} +.sidebar ul li a { + border-bottom: none; + display: block; +} +.sidebar ul li ul { + padding-left: 20px; +} +.sidebar::-webkit-scrollbar { + width: 4px; +} +.sidebar::-webkit-scrollbar-thumb { + background: transparent; + border-radius: 4px; +} +.sidebar:hover::-webkit-scrollbar-thumb { + background: rgba(136, 136, 136, 0.4); +} +.sidebar:hover::-webkit-scrollbar-track { + background: rgba(136, 136, 136, 0.1); +} +.sidebar-toggle { + background-color: transparent; + background-color: rgba(255, 255, 255, 0.8); + border: 0; + outline: none; + padding: 10px; + position: absolute; + bottom: 0; + left: 0; + text-align: center; + transition: opacity 0.3s; + width: 284px; + z-index: 30; + cursor: pointer; +} +.sidebar-toggle:hover .sidebar-toggle-button { + opacity: 0.4; +} +.sidebar-toggle span { + background-color: #42b983; + background-color: var(--theme-color, #42b983); + display: block; + margin-bottom: 4px; + width: 16px; + height: 2px; +} +body.sticky .sidebar, +body.sticky .sidebar-toggle { + position: fixed; +} +.content { + padding-top: 60px; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 300px; + transition: left 250ms ease; +} +.markdown-section { + margin: 0 auto; + max-width: 80%; + padding: 30px 15px 40px 15px; + position: relative; +} +.markdown-section > * { + box-sizing: border-box; + font-size: inherit; +} +.markdown-section > :first-child { + margin-top: 0 !important; +} +.markdown-section hr { + border: none; + border-bottom: 1px solid #eee; + margin: 2em 0; +} +.markdown-section iframe { + border: 1px solid #eee; + /* fix horizontal overflow on iOS Safari */ + width: 1px; + min-width: 100%; +} +.markdown-section table { + border-collapse: collapse; + border-spacing: 0; + display: block; + margin-bottom: 1rem; + overflow: auto; + width: 100%; +} +.markdown-section th { + border: 1px solid #ddd; + font-weight: bold; + padding: 6px 13px; +} +.markdown-section td { + border: 1px solid #ddd; + padding: 6px 13px; +} +.markdown-section tr { + border-top: 1px solid #ccc; +} +.markdown-section tr:nth-child(2n) { + background-color: #f8f8f8; +} +.markdown-section p.tip { + background-color: #f8f8f8; + border-bottom-right-radius: 2px; + border-left: 4px solid #f66; + border-top-right-radius: 2px; + margin: 2em 0; + padding: 12px 24px 12px 30px; + position: relative; +} +.markdown-section p.tip:before { + background-color: #f66; + border-radius: 100%; + color: #fff; + content: "!"; + font-family: "Dosis", "Source Sans Pro", "Helvetica Neue", Arial, sans-serif; + font-size: 14px; + font-weight: bold; + left: -12px; + line-height: 20px; + position: absolute; + height: 20px; + width: 20px; + text-align: center; + top: 14px; +} +.markdown-section p.tip code { + background-color: #efefef; +} +.markdown-section p.tip em { + color: #34495e; +} +.markdown-section p.warn { + background: rgba(66, 185, 131, 0.1); + border-radius: 2px; + padding: 1rem; +} +.markdown-section ul.task-list > li { + list-style-type: none; +} +body.close .sidebar { + transform: translateX(-300px); +} +body.close .sidebar-toggle { + width: auto; +} +body.close .content { + left: 0; +} +@media print { + .github-corner, + .sidebar-toggle, + .sidebar, + .app-nav { + display: none; + } +} +@media screen and (max-width: 768px) { + .github-corner, + .sidebar-toggle, + .sidebar { + position: fixed; + } + .app-nav { + margin-top: 16px; + } + .app-nav li ul { + top: 30px; + } + main { + height: auto; + min-height: 100vh; + overflow-x: hidden; + } + .sidebar { + left: -300px; + transition: transform 250ms ease-out; + } + .content { + left: 0; + max-width: 100vw; + position: static; + padding-top: 20px; + transition: transform 250ms ease; + } + .app-nav, + .github-corner { + transition: transform 250ms ease-out; + } + .sidebar-toggle { + background-color: transparent; + width: auto; + padding: 30px 30px 10px 10px; + } + body.close .sidebar { + transform: translateX(300px); + } + body.close .sidebar-toggle { + background-color: rgba(255, 255, 255, 0.8); + transition: 1s background-color; + width: 284px; + padding: 10px; + } + body.close .content { + transform: translateX(300px); + } + body.close .app-nav, + body.close .github-corner { + display: none; + } + .github-corner:hover .octo-arm { + animation: none; + } + .github-corner .octo-arm { + animation: octocat-wave 560ms ease-in-out; + } +} +@keyframes octocat-wave { + 0%, + 100% { + transform: rotate(0); + } + 20%, + 60% { + transform: rotate(-25deg); + } + 40%, + 80% { + transform: rotate(10deg); + } +} +section.cover { + position: relative; + align-items: center; + background-position: center center; + background-repeat: no-repeat; + background-size: cover; + min-height: 100vh; + width: 100%; + display: none; +} +section.cover.show { + display: flex; +} +section.cover.has-mask .mask { + background-color: #fff; + opacity: 0.8; + position: absolute; + top: 0; + bottom: 0; + width: 100%; +} +section.cover .cover-main { + flex: 1; + margin: 0 16px; + text-align: center; + position: relative; +} +section.cover a { + color: inherit; + text-decoration: none; +} +section.cover a:hover { + text-decoration: none; +} +section.cover p { + line-height: 1.5rem; + margin: 1em 0; +} +section.cover h1 { + color: inherit; + font-size: 2.5rem; + font-weight: 300; + margin: 0.625rem 0 2.5rem; + position: relative; + text-align: center; +} +section.cover h1 a { + display: block; +} +section.cover h1 small { + bottom: -0.4375rem; + font-size: 1rem; + position: absolute; +} +section.cover blockquote { + font-size: 1.5rem; + text-align: center; +} +section.cover ul { + line-height: 1.8; + list-style-type: none; + margin: 1em auto; + max-width: 500px; + padding: 0; +} +section.cover .cover-main > p:last-child a { + border-color: #42b983; + border-color: var(--theme-color, #42b983); + border-radius: 2rem; + border-style: solid; + border-width: 1px; + box-sizing: border-box; + color: #42b983; + color: var(--theme-color, #42b983); + display: inline-block; + font-size: 1.05rem; + letter-spacing: 0.1rem; + margin: 0.5rem 1rem; + padding: 0.75em 2rem; + text-decoration: none; + transition: all 0.15s ease; +} +section.cover .cover-main > p:last-child a:last-child { + background-color: #42b983; + background-color: var(--theme-color, #42b983); + color: #fff; +} +section.cover .cover-main > p:last-child a:last-child:hover { + color: inherit; + opacity: 0.8; +} +section.cover .cover-main > p:last-child a:hover { + color: inherit; +} +section.cover blockquote > p > a { + border-bottom: 2px solid #42b983; + border-bottom: 2px solid var(--theme-color, #42b983); + transition: color 0.3s; +} +section.cover blockquote > p > a:hover { + color: #42b983; + color: var(--theme-color, #42b983); +} +body { + background-color: #fff; +} +/* sidebar */ +.sidebar { + background-color: #fff; + color: #364149; +} +.sidebar li { + margin: 6px 0 6px 0; +} +.sidebar ul li a { + color: #505d6b; + font-size: 14px; + font-weight: normal; + overflow: hidden; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; +} +.sidebar ul li a:hover { + text-decoration: underline; +} +.sidebar ul li ul { + padding: 0; +} +.sidebar ul li.active > a { + border-right: 2px solid; + color: #42b983; + color: var(--theme-color, #42b983); + font-weight: 600; +} +.app-sub-sidebar li::before { + content: "-"; + padding-right: 4px; + float: left; +} +/* markdown content found on pages */ +.markdown-section h1, +.markdown-section h2, +.markdown-section h3, +.markdown-section h4, +.markdown-section strong { + color: #2c3e50; + font-weight: 600; +} +.markdown-section a { + color: #42b983; + color: var(--theme-color, #42b983); + font-weight: 600; +} +.markdown-section h1 { + font-size: 2rem; + margin: 0 0 1rem; +} +.markdown-section h2 { + font-size: 1.75rem; + margin: 45px 0 0.8rem; +} +.markdown-section h3 { + font-size: 1.5rem; + margin: 40px 0 0.6rem; +} +.markdown-section h4 { + font-size: 1.25rem; +} +.markdown-section h5 { + font-size: 1rem; +} +.markdown-section h6 { + color: #777; + font-size: 1rem; +} +.markdown-section figure, +.markdown-section p { + margin: 1.2em 0; +} +.markdown-section p, +.markdown-section ul, +.markdown-section ol { + line-height: 1.6rem; + word-spacing: 0.05rem; +} +.markdown-section ul, +.markdown-section ol { + padding-left: 1.5rem; +} +.markdown-section blockquote { + border-left: 4px solid #42b983; + border-left: 4px solid var(--theme-color, #42b983); + color: #858585; + margin: 2em 0; + padding-left: 20px; +} +.markdown-section blockquote p { + font-weight: 600; + margin-left: 0; +} +.markdown-section iframe { + margin: 1em 0; +} +.markdown-section em { + color: #7f8c8d; +} +.markdown-section code, +.markdown-section pre, +.markdown-section output::after { + font-family: "Roboto Mono", Monaco, courier, monospace; +} +.markdown-section code, +.markdown-section pre { + background-color: #f8f8f8; +} +.markdown-section pre, +.markdown-section output { + margin: 1.2em 0; + position: relative; +} +.markdown-section pre > code, +.markdown-section output { + border-radius: 2px; + display: block; +} +.markdown-section pre > code, +.markdown-section output::after { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; +} +.markdown-section code { + border-radius: 2px; + color: #e96900; + margin: 0 2px; + padding: 3px 5px; + white-space: pre-wrap; +} +.markdown-section > :not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code { + font-size: 0.8rem; +} +.markdown-section pre { + padding: 0 1.4rem; + line-height: 1.5rem; + overflow: auto; + word-wrap: normal; +} +.markdown-section pre > code { + color: #525252; + font-size: 0.8rem; + padding: 2.2em 5px; + line-height: inherit; + margin: 0 2px; + max-width: inherit; + overflow: inherit; + white-space: inherit; +} +.markdown-section output { + padding: 1.7rem 1.4rem; + border: 1px dotted #ccc; +} +.markdown-section output > :first-child { + margin-top: 0; +} +.markdown-section output > :last-child { + margin-bottom: 0; +} +.markdown-section code::after, +.markdown-section code::before, +.markdown-section output::after, +.markdown-section output::before { + letter-spacing: 0.05rem; +} +.markdown-section pre::after, +.markdown-section output::after { + color: #ccc; + font-size: 0.6rem; + font-weight: 600; + height: 15px; + line-height: 15px; + padding: 5px 10px 0; + position: absolute; + right: 0; + text-align: right; + top: 0; +} +.markdown-section pre::after, +.markdown-section output::after { + content: attr(data-lang); +} +/* code highlight */ +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #8e908c; +} +.token.namespace { + opacity: 0.7; +} +.token.boolean, +.token.number { + color: #c76b29; +} +.token.punctuation { + color: #525252; +} +.token.property { + color: #c08b30; +} +.token.tag { + color: #2973b7; +} +.token.string { + color: #42b983; + color: var(--theme-color, #42b983); +} +.token.selector { + color: #6679cc; +} +.token.attr-name { + color: #2973b7; +} +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #22a2c9; +} +.token.attr-value, +.token.control, +.token.directive, +.token.unit { + color: #42b983; + color: var(--theme-color, #42b983); +} +.token.keyword, +.token.function { + color: #e96900; +} +.token.statement, +.token.regex, +.token.atrule { + color: #22a2c9; +} +.token.placeholder, +.token.variable { + color: #3d8fd1; +} +.token.deleted { + text-decoration: line-through; +} +.token.inserted { + border-bottom: 1px dotted #202746; + text-decoration: none; +} +.token.italic { + font-style: italic; +} +.token.important, +.token.bold { + font-weight: bold; +} +.token.important { + color: #c94922; +} +.token.entity { + cursor: help; +} +code .token { + -moz-osx-font-smoothing: initial; + -webkit-font-smoothing: initial; + min-height: 1.5rem; + position: relative; + left: auto; +} diff --git a/docs/src/zoom-image.min.js b/docs/src/zoom-image.min.js new file mode 100644 index 00000000..92fe1332 --- /dev/null +++ b/docs/src/zoom-image.min.js @@ -0,0 +1,337 @@ +!(function () { + function t(e) { + return "IMG" === e.tagName + } + function d(e) { + function t() { + for (var e = arguments, t = arguments.length, o = Array(t), n = 0; n < t; n++) o[n] = e[n] + var i = o.reduce(function (e, t) { + return [].concat(e, z(t)) + }, []) + return ( + i + .filter(function (e) { + return -1 === m.indexOf(e) + }) + .forEach(function (e) { + m.push(e), e.classList.add("medium-zoom-image") + }), + r.forEach(function (e) { + var t = e.type, + o = e.listener, + n = e.options + i.forEach(function (e) { + e.addEventListener(t, o, n) + }) + }), + f + ) + } + function o() { + var e = (0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).target + return s.original ? a() : i({ target: e }) + } + var n = + window.Promise || + function (e) { + function t() {} + e(t, t) + }, + i = function () { + function r() { + var e = { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight, left: 0, top: 0, right: 0, bottom: 0 }, + t = void 0, + o = void 0 + u.container && + (u.container instanceof Object + ? ((t = (e = g({}, e, u.container)).width - e.left - e.right - 2 * u.margin), (o = e.height - e.top - e.bottom - 2 * u.margin)) + : ((r = (i = (h(u.container) ? u.container : document.querySelector(u.container)).getBoundingClientRect()).width), + (m = i.height), + (d = i.left), + (a = i.top), + (e = g({}, e, { width: r, height: m, left: d, top: a })))) + var t = t || e.width - 2 * u.margin, + o = o || e.height - 2 * u.margin, + n = s.zoomedHd || s.original, + i = (!v(n) && n.naturalWidth) || t, + r = (!v(n) && n.naturalHeight) || o, + d = (m = n.getBoundingClientRect()).top, + a = m.left, + n = m.width, + m = m.height, + i = Math.min(i, t) / n, + r = Math.min(r, o) / m, + r = "scale(" + (r = Math.min(i, r)) + ") translate3d(" + ((t - n) / 2 - a + u.margin + e.left) / r + "px, " + ((o - m) / 2 - d + u.margin + e.top) / r + "px, 0)" + ;(s.zoomed.style.transform = r), s.zoomedHd && (s.zoomedHd.style.transform = r) + } + var d = (0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}).target + return new n(function (e) { + if (d && -1 === m.indexOf(d)) e(f) + else { + function t() { + ;(c = !1), s.zoomed.removeEventListener("transitionend", t), s.original.dispatchEvent(E("medium-zoom:opened", { detail: { zoom: f } })), e(f) + } + var o, n + if (s.zoomed) e(f) + else { + if (d) s.original = d + else { + if (!(0 < m.length)) return void e(f) + var i = m + s.original = i[0] + } + s.original.dispatchEvent(E("medium-zoom:open", { detail: { zoom: f } })), + (l = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0), + (c = !0), + (s.zoomed = b(s.original)), + document.body.appendChild(p), + u.template && + ((i = h(u.template) ? u.template : document.querySelector(u.template)), + (s.template = document.createElement("div")), + s.template.appendChild(i.content.cloneNode(!0)), + document.body.appendChild(s.template)), + document.body.appendChild(s.zoomed), + window.requestAnimationFrame(function () { + document.body.classList.add("medium-zoom--opened") + }), + s.original.classList.add("medium-zoom-image--hidden"), + s.zoomed.classList.add("medium-zoom-image--opened"), + s.zoomed.addEventListener("click", a), + s.zoomed.addEventListener("transitionend", t), + s.original.getAttribute("data-zoom-src") + ? ((s.zoomedHd = s.zoomed.cloneNode()), + s.zoomedHd.removeAttribute("srcset"), + s.zoomedHd.removeAttribute("sizes"), + (s.zoomedHd.src = s.zoomed.getAttribute("data-zoom-src")), + (s.zoomedHd.onerror = function () { + clearInterval(o), console.warn("Unable to reach the zoom image target " + s.zoomedHd.src), (s.zoomedHd = null), r() + }), + (o = setInterval(function () { + s.zoomedHd.complete && + (clearInterval(o), s.zoomedHd.classList.add("medium-zoom-image--opened"), s.zoomedHd.addEventListener("click", a), document.body.appendChild(s.zoomedHd), r()) + }, 10))) + : s.original.hasAttribute("srcset") + ? ((s.zoomedHd = s.zoomed.cloneNode()), + s.zoomedHd.removeAttribute("sizes"), + s.zoomedHd.removeAttribute("loading"), + (n = s.zoomedHd.addEventListener("load", function () { + s.zoomedHd.removeEventListener("load", n), + s.zoomedHd.classList.add("medium-zoom-image--opened"), + s.zoomedHd.addEventListener("click", a), + document.body.appendChild(s.zoomedHd), + r() + }))) + : r() + } + } + }) + }, + a = function () { + return new n(function (t) { + var e + !c && s.original + ? ((e = function e() { + s.original.classList.remove("medium-zoom-image--hidden"), + document.body.removeChild(s.zoomed), + s.zoomedHd && document.body.removeChild(s.zoomedHd), + document.body.removeChild(p), + s.zoomed.classList.remove("medium-zoom-image--opened"), + s.template && document.body.removeChild(s.template), + (c = !1), + s.zoomed.removeEventListener("transitionend", e), + s.original.dispatchEvent(E("medium-zoom:closed", { detail: { zoom: f } })), + (s.original = null), + (s.zoomed = null), + (s.zoomedHd = null), + (s.template = null), + t(f) + }), + (c = !0), + document.body.classList.remove("medium-zoom--opened"), + (s.zoomed.style.transform = ""), + s.zoomedHd && (s.zoomedHd.style.transform = ""), + s.template && ((s.template.style.transition = "opacity 150ms"), (s.template.style.opacity = 0)), + s.original.dispatchEvent(E("medium-zoom:close", { detail: { zoom: f } })), + s.zoomed.addEventListener("transitionend", e)) + : t(f) + }) + }, + m = [], + r = [], + c = !1, + l = 0, + u = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}, + s = { original: null, zoomed: null, zoomedHd: null, template: null } + "[object Object]" === Object.prototype.toString.call(e) ? (u = e) : (!e && "string" != typeof e) || t(e) + var u = g({ margin: 0, background: "#fff", scrollOffset: 40, container: null, template: null }, u), + p = y(u.background) + document.addEventListener("click", function (e) { + e = e.target + e !== p ? -1 !== m.indexOf(e) && o({ target: e }) : a() + }), + document.addEventListener("keyup", function (e) { + e = e.key || e.keyCode + ;("Escape" !== e && "Esc" !== e && 27 !== e) || a() + }), + document.addEventListener("scroll", function () { + var e + !c && s.original && ((e = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0), Math.abs(l - e) > u.scrollOffset && setTimeout(a, 150)) + }), + window.addEventListener("resize", a) + var f = { + open: i, + close: a, + toggle: o, + update: function () { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}, + t = e + return ( + e.background && (p.style.background = e.background), + e.container && e.container instanceof Object && (t.container = g({}, u.container, e.container)), + e.template && ((e = h(e.template) ? e.template : document.querySelector(e.template)), (t.template = e)), + (u = g({}, u, t)), + m.forEach(function (e) { + e.dispatchEvent(E("medium-zoom:update", { detail: { zoom: f } })) + }), + f + ) + }, + clone: function () { + return d(g({}, u, 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {})) + }, + attach: t, + detach: function () { + for (var e = arguments, t = arguments.length, o = Array(t), n = 0; n < t; n++) o[n] = e[n] + s.zoomed && a() + var i = + 0 < o.length + ? o.reduce(function (e, t) { + return [].concat(e, z(t)) + }, []) + : m + return ( + i.forEach(function (e) { + e.classList.remove("medium-zoom-image"), e.dispatchEvent(E("medium-zoom:detach", { detail: { zoom: f } })) + }), + (m = m.filter(function (e) { + return -1 === i.indexOf(e) + })), + f + ) + }, + on: function (t, o) { + var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {} + return ( + m.forEach(function (e) { + e.addEventListener("medium-zoom:" + t, o, n) + }), + r.push({ type: "medium-zoom:" + t, listener: o, options: n }), + f + ) + }, + off: function (t, o) { + var n = 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : {} + return ( + m.forEach(function (e) { + e.removeEventListener("medium-zoom:" + t, o, n) + }), + (r = r.filter(function (e) { + return !(e.type === "medium-zoom:" + t && e.listener.toString() === o.toString()) + })), + f + ) + }, + getOptions: function () { + return u + }, + getImages: function () { + return m + }, + getZoomedImage: function () { + return s.original + } + } + return f + } + var g = + Object.assign || + function (e) { + for (var t = arguments, o = 1; o < arguments.length; o++) { + var n, + i = t[o] + for (n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]) + } + return e + }, + h = function (e) { + return e && 1 === e.nodeType + }, + v = function (e) { + return ".svg" === (e.currentSrc || e.src).substr(-4).toLowerCase() + }, + z = function (e) { + try { + return Array.isArray(e) + ? e.filter(t) + : NodeList.prototype.isPrototypeOf(e) + ? [].slice.call(e).filter(t) + : h(e) + ? [e].filter(t) + : "string" == typeof e + ? [].slice.call(document.querySelectorAll(e)).filter(t) + : [] + } catch (e) { + throw new TypeError("The provided selector is invalid.\nExpects a CSS selector, a Node element, a NodeList or an array.\nSee: https://github.com/francoischalifour/medium-zoom") + } + }, + y = function (e) { + var t = document.createElement("div") + return t.classList.add("medium-zoom-overlay"), (t.style.background = e), t + }, + b = function (e) { + var t = e.getBoundingClientRect(), + o = t.top, + n = t.left, + i = t.width, + r = t.height, + d = e.cloneNode(), + t = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0, + e = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0 + return ( + d.removeAttribute("id"), + (d.style.position = "absolute"), + (d.style.top = o + t + "px"), + (d.style.left = n + e + "px"), + (d.style.width = i + "px"), + (d.style.height = r + "px"), + (d.style.transform = ""), + d + ) + }, + E = function (e, t) { + var o = g({ bubbles: !1, cancelable: !1, detail: void 0 }, t) + if ("function" == typeof window.CustomEvent) return new CustomEvent(e, o) + t = document.createEvent("CustomEvent") + return t.initCustomEvent(e, o.bubbles, o.cancelable, o.detail), t + } + var e, o, n, i + ;(e = + ".medium-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .3s;will-change:opacity}.medium-zoom--opened .medium-zoom-overlay{cursor:pointer;cursor:zoom-out;opacity:1}.medium-zoom-image{cursor:pointer;cursor:zoom-in;transition:transform .3s cubic-bezier(.2,0,.2,1)!important}.medium-zoom-image--hidden{visibility:hidden}.medium-zoom-image--opened{position:relative;cursor:pointer;cursor:zoom-out;will-change:transform}"), + (i = (o = void 0 === o ? {} : o).insertAt), + e && + "undefined" != typeof document && + ((n = document.head || document.getElementsByTagName("head")[0]), + ((o = document.createElement("style")).type = "text/css"), + "top" === i && n.firstChild ? n.insertBefore(o, n.firstChild) : n.appendChild(o), + o.styleSheet ? (o.styleSheet.cssText = e) : o.appendChild(document.createTextNode(e))) + var r = Element.prototype.matches || Element.prototype.webkitMatchesSelector || Element.prototype.msMatchesSelector + $docsify.plugins = [].concat(function (e) { + var o + e.doneEach(function (e) { + var t = (t = Array.apply(null, document.querySelectorAll(".markdown-section img:not(.emoji):not([data-no-zoom])"))).filter(function (e) { + return !1 === r.call(e, "a img") + }) + o && o.detach(), (o = d(t)) + }) + }, $docsify.plugins) +})() diff --git a/docs/wx.md b/docs/wx.md new file mode 100644 index 00000000..41dd2393 --- /dev/null +++ b/docs/wx.md @@ -0,0 +1,7 @@ +## 微信小程序 + + +![微信小程序](img/wx.jpg) + + +微信扫描上方二维码或搜索纸飞机计算机,即可使用微信小程序。 \ No newline at end of file diff --git a/fix.bat b/fix.bat new file mode 100644 index 00000000..9fbc82cb --- /dev/null +++ b/fix.bat @@ -0,0 +1,5 @@ +set dir=%APPDATA%\dcalc\Cache +echo %dir% +rd /s /Q %dir% +netsh winsock reset +pause \ No newline at end of file diff --git a/lanzou/__init__.py b/lanzou/__init__.py deleted file mode 100644 index 339573ef..00000000 --- a/lanzou/__init__.py +++ /dev/null @@ -1 +0,0 @@ -__all__ = ['api'] diff --git a/lanzou/api/__init__.py b/lanzou/api/__init__.py deleted file mode 100644 index a52701f6..00000000 --- a/lanzou/api/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from lanzou.api.core import LanZouCloud - -version = '2.6.5' - -__all__ = ['utils', 'types', 'models', 'LanZouCloud', 'version'] diff --git a/lanzou/api/core.py b/lanzou/api/core.py deleted file mode 100644 index 6a8e42e7..00000000 --- a/lanzou/api/core.py +++ /dev/null @@ -1,1414 +0,0 @@ -""" -蓝奏网盘 API,封装了对蓝奏云的各种操作,解除了上传格式、大小限制 -""" - -import os -import pickle -import re -import shutil -from concurrent.futures import ThreadPoolExecutor, as_completed -from datetime import datetime -from random import shuffle, uniform -from time import sleep -from typing import List - -import requests -from requests_toolbelt import MultipartEncoder, MultipartEncoderMonitor -from urllib3 import disable_warnings -from urllib3.exceptions import InsecureRequestWarning - -from lanzou.api.models import FileList, FolderList -from lanzou.api.types import * -from lanzou.api.utils import * - -__all__ = ['LanZouCloud'] - - -class LanZouCloud(object): - FAILED = -1 - SUCCESS = 0 - ID_ERROR = 1 - PASSWORD_ERROR = 2 - LACK_PASSWORD = 3 - ZIP_ERROR = 4 - MKDIR_ERROR = 5 - URL_INVALID = 6 - FILE_CANCELLED = 7 - PATH_ERROR = 8 - NETWORK_ERROR = 9 - CAPTCHA_ERROR = 10 - OFFICIAL_LIMITED = 11 - - def __init__(self): - self._session = requests.Session() - self._limit_mode = True # 是否保持官方限制,若为False,则会尝试在不支持的格式或大小时写入额外信息,并在下载时进行解析 - self._timeout = 15 # 每个请求的超时(不包含下载响应体的用时) - self._max_size = 100 # 单个文件大小上限 MB - self._upload_delay = (0, 0) # 文件上传延时 - self._doupload_url = 'https://pc.woozooo.com/doupload.php' - self._account_url = 'https://pc.woozooo.com/account.php' - self._mydisk_url = 'https://pc.woozooo.com/mydisk.php' - self._cookies = None - self._headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36', - 'Referer': 'https://pc.woozooo.com/mydisk.php', - 'Accept-Language': 'zh-CN,zh;q=0.9', # 提取直连必需设置这个,否则拿不到数据 - } - disable_warnings(InsecureRequestWarning) # 全局禁用 SSL 警告 - - # 蓝奏云的域名有时候备案会出问题,这时候一般会出一个新的备案的域名 - # 可在 https://www.ping.cn/ 查看域名在全国的访问情况 - # - # 当出现这种情况的时候,可以通过下列方式查到新的域名 - # 1. 去下面这个查备案的网址查 鲁ICP备15001327号 ,看看是否有新的域名备案了 - # https://beian.miit.gov.cn/#/Integrated/recordQuery - # 2. 去 https://pc.woozooo.com/mydisk.php 登录,然后点击查看 外链分享地址 ,看里面显示的默认域名 - # - # 如果有新的,这时候只需要 - # 1. 将 _host_url 的域名改为新的 - # 2. 把 最新的域名,比如 lanzouo 加到可能的域名列表的最前面 - # 3. 如果下面的域名有部分不再出现在备案信息中了,可以直接注释或者移除 - self._host_url = 'https://pan.lanzoup.com' - self.available_domains = [ - 'lanzoup.com', # 2021-12-10 鲁ICP备15001327号-16 - 'lanzout.com', # 2021-12-10 鲁ICP备15001327号-15 - 'lanzouy.com', # 2021-12-10 鲁ICP备15001327号-14 - 'lanzoul.com', # 2021-12-10 鲁ICP备15001327号-13 - 'lanzoug.com', # 2021-12-10 鲁ICP备15001327号-12 - 'lanzouv.com', # 2021-12-10 鲁ICP备15001327号-11 - 'lanzouj.com', # 2021-12-10 鲁ICP备15001327号-10 - 'lanzouq.com', # 2021-12-10 鲁ICP备15001327号-9 - 'lanzouo.com', # 2021-09-15 鲁ICP备15001327号-8 - 'lanzouw.com', # 2021-09-02 鲁ICP备15001327号-7 - 'lanzoui.com', # 2020-06-09 鲁ICP备15001327号-6 - 'lanzoux.com', # 2020-06-09 鲁ICP备15001327号-5 - ] - - def _get(self, url, **kwargs): - for possible_url in self._all_possible_urls(url): - try: - kwargs.setdefault('timeout', self._timeout) - kwargs.setdefault('headers', self._headers) - return self._session.get(possible_url, verify=False, **kwargs) - except (ConnectionError, requests.RequestException): - logger.debug(f"Get {possible_url} failed, try another domain") - - return None - - def _post(self, url, data, **kwargs): - for possible_url in self._all_possible_urls(url): - try: - kwargs.setdefault('timeout', self._timeout) - kwargs.setdefault('headers', self._headers) - return self._session.post(possible_url, data, verify=False, **kwargs) - except (ConnectionError, requests.RequestException): - logger.debug(f"Post to {possible_url} ({data}) failed, try another domain") - - return None - - def _all_possible_urls(self, url: str) -> List[str]: - # 先把原始链接放到第一个,因为部分链接只能特定域名访问,比如 https://developer.lanzoug.com/file/?xxxx 这个系列,目前只有最初页面下发的那个域名可以访问,改成其他域名访问就会提示 文件取消分享 - urls = [url] - - # 然后再尝试其他的 - for d in self.available_domains: - new_url = re.sub(r'lanzou\w\.com', d, url) - if new_url not in urls: - urls.append(new_url) - - return urls - - def ignore_limits(self): - """解除官方限制""" - logger.warning("*** You have enabled the big file upload and filename disguise features ***") - logger.warning("*** This means that you fully understand what may happen and still agree to take the risk ***") - self._limit_mode = False - - def set_max_size(self, max_size=100) -> int: - """设置单文件大小限制(会员用户可超过 100M)""" - if max_size < 100: - return LanZouCloud.FAILED - self._max_size = max_size - return LanZouCloud.SUCCESS - - def set_upload_delay(self, t_range: tuple) -> int: - """设置上传大文件数据块时,相邻两次上传之间的延时,减小被封号的可能""" - if 0 <= t_range[0] <= t_range[1]: - self._upload_delay = t_range - return LanZouCloud.SUCCESS - return LanZouCloud.FAILED - - def login(self, username, passwd) -> int: - """ - 登录蓝奏云控制台[已弃用] - 对某些用户可能有用 - """ - login_data = {"task": "3", "setSessionId": "", "setToken": "", "setSig": "", - "setScene": "", "uid": username, "pwd": passwd} - phone_header = { - "User-Agent": "Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/82.0.4051.0 Mobile Safari/537.36"} - html = self._get(self._account_url) - if not html: - return LanZouCloud.NETWORK_ERROR - formhash = re.findall(r'name="formhash" value="(.+?)"', html.text) - if not formhash: - return LanZouCloud.FAILED - login_data['formhash'] = formhash[0] - html = self._post(self._mydisk_url, login_data, headers=phone_header) - if not html: - return LanZouCloud.NETWORK_ERROR - try: - if '成功' in html.json()['info']: - self._cookies = html.cookies.get_dict() - return LanZouCloud.SUCCESS - else: - return LanZouCloud.FAILED - except ValueError: - return LanZouCloud.FAILED - - def get_cookie(self) -> dict: - """获取用户 Cookie""" - return self._cookies - - def login_by_cookie(self, cookie: dict) -> int: - """通过cookie登录""" - self._session.cookies.update(cookie) - html = self._get(self._account_url) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.FAILED if '网盘用户登录' in html.text else LanZouCloud.SUCCESS - - def logout(self) -> int: - """注销""" - html = self._get(self._account_url, params={'action': 'logout'}) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '退出系统成功' in html.text else LanZouCloud.FAILED - - def delete(self, fid, is_file=True) -> int: - """把网盘的文件、无子文件夹的文件夹放到回收站""" - post_data = {'task': 6, 'file_id': fid} if is_file else {'task': 3, 'folder_id': fid} - result = self._post(self._doupload_url, post_data) - if not result: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if result.json()['zt'] == 1 else LanZouCloud.FAILED - - def clean_rec(self) -> int: - """清空回收站""" - post_data = {'action': 'delete_all', 'task': 'delete_all'} - html = self._get(self._mydisk_url, params={'item': 'recycle', 'action': 'files'}) - if not html: - return LanZouCloud.NETWORK_ERROR - post_data['formhash'] = re.findall(r'name="formhash" value="(.+?)"', html.text)[0] # 设置表单 hash - html = self._post(self._mydisk_url + '?item=recycle', post_data) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '清空回收站成功' in html.text else LanZouCloud.FAILED - - def get_rec_dir_list(self) -> FolderList: - """获取回收站文件夹列表""" - # 回收站中文件(夹)名只能显示前 17 个中文字符或者 34 个英文字符,如果这些字符相同,则在文件(夹)名后添加 (序号) ,以便区分 - html = self._get(self._mydisk_url, params={'item': 'recycle', 'action': 'files'}) - if not html: - return FolderList() - dirs = re.findall(r'folder_id=(\d+).+?> (.+?)\.{0,3}.*\n+.*(.+?).*\n.*(.+?)', - html.text) - all_dir_list = FolderList() # 文件夹信息列表 - dir_name_list = [] # 文件夹名列表d - counter = 1 # 重复计数器 - for fid, name, size, time in dirs: - if name in dir_name_list: # 文件夹名前 17 个中文或 34 个英文重复 - counter += 1 - name = f'{name}({counter})' - else: - counter = 1 - dir_name_list.append(name) - all_dir_list.append(RecFolder(name, int(fid), size, time, None)) - return all_dir_list - - def get_rec_file_list(self, folder_id=-1) -> FileList: - """获取回收站文件列表""" - if folder_id == -1: # 列出回收站根目录文件 - # 回收站文件夹中的文件也会显示在根目录 - html = self._get(self._mydisk_url, params={'item': 'recycle', 'action': 'files'}) - if not html: - return FileList() - html = remove_notes(html.text) - files = re.findall( - r'fl_sel_ids[^\n]+value="(\d+)".+?filetype/(\w+)\.gif.+?/>\s?(.+?)(?:\.{3})?.+?([\d\-]+?)', - html, re.DOTALL) - file_list = FileList() - file_name_list = [] - counter = 1 - for fid, ftype, name, time in sorted(files, key=lambda x: x[2]): - if not name.endswith(ftype): # 防止文件名太长导致丢失了文件后缀 - name = name + '.' + ftype - - if name in file_name_list: # 防止长文件名前 17:34 个字符相同重名 - counter += 1 - name = f'{name}({counter})' - else: - counter = 1 - file_name_list.append(name) - file_list.append(RecFile(name, int(fid), ftype, size='', time=time)) - return file_list - else: # 列出回收站中文件夹内的文件,信息只有部分文件名和文件大小 - para = {'item': 'recycle', 'action': 'folder_restore', 'folder_id': folder_id} - html = self._get(self._mydisk_url, params=para) - if not html or '此文件夹没有包含文件' in html.text: - return FileList() - html = remove_notes(html.text) - files = re.findall( - r'com/(\d+?)".+?filetype/(\w+)\.gif.+?/> (.+?)(?:\.{3})? \((.+?)\)', - html) - file_list = FileList() - file_name_list = [] - counter = 1 - for fid, ftype, name, size in sorted(files, key=lambda x: x[2]): - if not name.endswith(ftype): # 防止文件名太长丢失后缀 - name = name + '.' + ftype - if name in file_name_list: - counter += 1 - name = f'{name}({counter})' # 防止文件名太长且前17个字符重复 - else: - counter = 1 - file_name_list.append(name) - file_list.append(RecFile(name, int(fid), ftype, size=size, time='')) - return file_list - - def get_rec_all(self): - """获取整理后回收站的所有信息""" - root_files = self.get_rec_file_list() # 回收站根目录文件列表 - folder_list = FolderList() # 保存整理后的文件夹列表 - for folder in self.get_rec_dir_list(): # 遍历所有子文件夹 - this_folder = RecFolder(folder.name, folder.id, folder.size, folder.time, FileList()) - for file in self.get_rec_file_list(folder.id): # 文件夹内的文件属性: name,id,type,size - if root_files.find_by_id(file.id): # 根目录存在同名文件 - file_time = root_files.pop_by_id(file.id).time # 从根目录删除, time 信息用来补充文件夹中的文件 - file = file._replace(time=file_time) # 不能直接更新 namedtuple, 需要 _replace - this_folder.files.append(file) - else: # 根目录没有同名文件(用户手动删了),文件还在文件夹中,只是根目录不显示,time 信息无法补全了 - file = file._replace(time=folder.time) # 那就设置时间为文件夹的创建时间 - this_folder.files.append(file) - folder_list.append(this_folder) - return root_files, folder_list - - def delete_rec(self, fid, is_file=True) -> int: - """彻底删除回收站文件(夹)""" - # 彻底删除后需要 1.5s 才能调用 get_rec_file() ,否则信息没有刷新,被删掉的文件似乎仍然 "存在" - if is_file: - para = {'item': 'recycle', 'action': 'file_delete_complete', 'file_id': fid} - post_data = {'action': 'file_delete_complete', 'task': 'file_delete_complete', 'file_id': fid} - else: - para = {'item': 'recycle', 'action': 'folder_delete_complete', 'folder_id': fid} - post_data = {'action': 'folder_delete_complete', 'task': 'folder_delete_complete', 'folder_id': fid} - - html = self._get(self._mydisk_url, params=para) - if not html: - return LanZouCloud.NETWORK_ERROR - # 此处的 formhash 与 login 时不同,不要尝试精简这一步 - post_data['formhash'] = re.findall(r'name="formhash" value="(\w+?)"', html.text)[0] # 设置表单 hash - html = self._post(self._mydisk_url + '?item=recycle', post_data) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '删除成功' in html.text else LanZouCloud.FAILED - - def delete_rec_multi(self, *, files=None, folders=None) -> int: - """彻底删除回收站多个文件(夹) - :param files 文件 id 列表 List[int] - :param folders 文件夹 id 列表 List[int] - """ - if not files and not folders: - return LanZouCloud.FAILED - para = {'item': 'recycle', 'action': 'files'} - post_data = {'action': 'files', 'task': 'delete_complete_recycle'} - if folders: - post_data['fd_sel_ids[]'] = folders - if files: - post_data['fl_sel_ids[]'] = files - html = self._get(self._mydisk_url, params=para) - if not html: - return LanZouCloud.NETWORK_ERROR - post_data['formhash'] = re.findall(r'name="formhash" value="(\w+?)"', html.text)[0] # 设置表单 hash - html = self._post(self._mydisk_url + '?item=recycle', post_data) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '删除成功' in html.text else LanZouCloud.FAILED - - def recovery(self, fid, is_file=True) -> int: - """从回收站恢复文件""" - if is_file: - para = {'item': 'recycle', 'action': 'file_restore', 'file_id': fid} - post_data = {'action': 'file_restore', 'task': 'file_restore', 'file_id': fid} - else: - para = {'item': 'recycle', 'action': 'folder_restore', 'folder_id': fid} - post_data = {'action': 'folder_restore', 'task': 'folder_restore', 'folder_id': fid} - html = self._get(self._mydisk_url, params=para) - if not html: - return LanZouCloud.NETWORK_ERROR - post_data['formhash'] = re.findall(r'name="formhash" value="(\w+?)"', html.text)[0] # 设置表单 hash - html = self._post(self._mydisk_url + '?item=recycle', post_data) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '恢复成功' in html.text else LanZouCloud.FAILED - - def recovery_multi(self, *, files=None, folders=None) -> int: - """从回收站恢复多个文件(夹)""" - if not files and not folders: - return LanZouCloud.FAILED - para = {'item': 'recycle', 'action': 'files'} - post_data = {'action': 'files', 'task': 'restore_recycle'} - if folders: - post_data['fd_sel_ids[]'] = folders - if files: - post_data['fl_sel_ids[]'] = files - html = self._get(self._mydisk_url, params=para) - if not html: - return LanZouCloud.NETWORK_ERROR - post_data['formhash'] = re.findall(r'name="formhash" value="(.+?)"', html.text)[0] # 设置表单 hash - html = self._post(self._mydisk_url + '?item=recycle', post_data) - if not html: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '恢复成功' in html.text else LanZouCloud.FAILED - - def recovery_all(self) -> int: - """从回收站恢复所有文件(夹)""" - para = {'item': 'recycle', 'action': 'restore_all'} - post_data = {'action': 'restore_all', 'task': 'restore_all'} - first_page = self._get(self._mydisk_url, params=para) - if not first_page: - return LanZouCloud.NETWORK_ERROR - post_data['formhash'] = re.findall(r'name="formhash" value="(.+?)"', first_page.text)[0] # 设置表单 hash - second_page = self._post(self._mydisk_url + '?item=recycle', post_data) - if not second_page: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if '还原成功' in second_page.text else LanZouCloud.FAILED - - def get_file_list(self, folder_id=-1) -> FileList: - """获取文件列表""" - page = 1 - file_list = FileList() - while True: - post_data = {'task': 5, 'folder_id': folder_id, 'pg': page} - resp = self._post(self._doupload_url, post_data) - if not resp: # 网络异常,重试 - continue - else: - resp = resp.json() - if resp["info"] == 0: - break # 已经拿到了全部的文件信息 - else: - page += 1 # 下一页 - # 文件信息处理 - for file in resp["text"]: - file_list.append(File( - id=int(file['id']), - name=file['name_all'].replace("&", "&"), - time=time_format(file['time']), # 上传时间 - size=file['size'].replace(",", ""), # 文件大小 - type=file['name_all'].split('.')[-1], # 文件类型 - downs=int(file['downs']), # 下载次数 - has_pwd=True if int(file['onof']) == 1 else False, # 是否存在提取码 - has_des=True if int(file['is_des']) == 1 else False # 是否存在描述 - )) - return file_list - - def get_dir_list(self, folder_id=-1) -> FolderList: - """获取子文件夹列表""" - folder_list = FolderList() - post_data = {'task': 47, 'folder_id': folder_id} - resp = self._post(self._doupload_url, post_data) - if not resp: - return folder_list - for folder in resp.json()['text']: - folder_list.append( - Folder( - id=int(folder['fol_id']), - name=folder['name'], - has_pwd=True if int(folder['onof']) == 1 else False, - desc=folder['folder_des'].strip('[]') - )) - return folder_list - - def clean_ghost_folders(self): - """清除网盘中的幽灵文件夹""" - - # 可能有一些文件夹,网盘和回收站都看不见它,但是它确实存在,移动文件夹时才会显示 - # 如果不清理掉,不小心将文件移动进去就完蛋了 - def _clean(fid): - for folder in self.get_dir_list(fid): - real_folders.append(folder) - _clean(folder.id) - - folder_with_ghost = self.get_move_folders() - folder_with_ghost.pop_by_id(-1) # 忽视根目录 - real_folders = FolderList() - _clean(-1) - for folder in folder_with_ghost: - if not real_folders.find_by_id(folder.id): - logger.debug(f"Delete ghost folder: {folder.name} #{folder.id}") - if self.delete(folder.id, False) != LanZouCloud.SUCCESS: - return LanZouCloud.FAILED - if self.delete_rec(folder.id, False) != LanZouCloud.SUCCESS: - return LanZouCloud.FAILED - return LanZouCloud.SUCCESS - - def get_full_path(self, folder_id=-1) -> FolderList: - """获取文件夹完整路径""" - path_list = FolderList() - path_list.append(FolderId('LanZouCloud', -1)) - post_data = {'task': 47, 'folder_id': folder_id} - resp = self._post(self._doupload_url, post_data) - if not resp: - return path_list - for folder in resp.json()['info']: - if folder['folderid'] and folder['name']: # 有时会返回无效数据, 这两个字段中某个为 None - path_list.append(FolderId(id=int(folder['folderid']), name=folder['name'])) - return path_list - - def get_file_info_by_url(self, share_url, pwd='') -> FileDetail: - """获取文件各种信息(包括下载直链) - :param share_url: 文件分享链接 - :param pwd: 文件提取码(如果有的话) - """ - if not is_file_url(share_url): # 非文件链接返回错误 - return FileDetail(LanZouCloud.URL_INVALID, pwd=pwd, url=share_url) - - first_page = self._get(share_url) # 文件分享页面(第一页) - if not first_page: - return FileDetail(LanZouCloud.NETWORK_ERROR, pwd=pwd, url=share_url) - - if "acw_sc__v2" in first_page.text: - # 在页面被过多访问或其他情况下,有时候会先返回一个加密的页面,其执行计算出一个acw_sc__v2后放入页面后再重新访问页面才能获得正常页面 - # 若该页面进行了js加密,则进行解密,计算acw_sc__v2,并加入cookie - acw_sc__v2 = calc_acw_sc__v2(first_page.text) - self._session.cookies.set("acw_sc__v2", acw_sc__v2) - logger.debug(f"Set Cookie: acw_sc__v2={acw_sc__v2}") - first_page = self._get(share_url) # 文件分享页面(第一页) - if not first_page: - return FileDetail(LanZouCloud.NETWORK_ERROR, pwd=pwd, url=share_url) - - first_page = remove_notes(first_page.text) # 去除网页里的注释 - if '文件取消' in first_page or '文件不存在' in first_page: - return FileDetail(LanZouCloud.FILE_CANCELLED, pwd=pwd, url=share_url) - - # 这里获取下载直链 304 重定向前的链接 - if 'id="pwdload"' in first_page or 'id="passwddiv"' in first_page: # 文件设置了提取码时 - if len(pwd) == 0: - return FileDetail(LanZouCloud.LACK_PASSWORD, pwd=pwd, url=share_url) # 没给提取码直接退出 - # data : 'action=downprocess&sign=AGZRbwEwU2IEDQU6BDRUaFc8DzxfMlRjCjTPlVkWzFSYFY7ATpWYw_c_c&p='+pwd, - sign = re.search(r"sign=(\w+?)&", first_page).group(1) - post_data = {'action': 'downprocess', 'sign': sign, 'p': pwd} - link_info = self._post(self._host_url + '/ajaxm.php', post_data) # 保存了重定向前的链接信息和文件名 - second_page = self._get(share_url) # 再次请求文件分享页面,可以看见文件名,时间,大小等信息(第二页) - if not link_info or not second_page.text: - return FileDetail(LanZouCloud.NETWORK_ERROR, pwd=pwd, url=share_url) - link_info = link_info.json() - second_page = remove_notes(second_page.text) - # 提取文件信息 - f_name = link_info['inf'].replace("*", "_") - f_size = re.search(r'大小.+?(\d[\d.,]+\s?[BKM]?)<', second_page) - f_size = f_size.group(1).replace(",", "") if f_size else '0 M' - f_time = re.search(r'class="n_file_infos">(.+?)', second_page) - f_time = time_format(f_time.group(1)) if f_time else time_format('0 小时前') - f_desc = re.search(r'class="n_box_des">(.*?)', second_page) - f_desc = f_desc.group(1) if f_desc else '' - else: # 文件没有设置提取码时,文件信息都暴露在分享页面上 - para = re.search(r'(.+?) - 蓝奏云", first_page) or \ - re.search(r'
    ([^<>]+?)
    ', first_page) or \ - re.search(r'
    (.+?)
    ', first_page) or \ - re.search(r'
    ([^<>]+?)
    ', first_page) - f_name = f_name.group(1).replace("*", "_") if f_name else "未匹配到文件名" - # 匹配文件时间,文件没有时间信息就视为今天,统一表示为 2020-01-01 格式 - f_time = re.search(r'>(\d+\s?[秒天分小][钟时]?前|[昨前]天\s?[\d:]+?|\d+\s?天前|\d{4}-\d\d-\d\d)<', first_page) - f_time = time_format(f_time.group(1)) if f_time else time_format('0 小时前') - # 匹配文件大小 - f_size = re.search(r'大小.+?(\d[\d.,]+\s?[BKM]?)<', first_page) - f_size = f_size.group(1).replace(",", "") if f_size else '0 M' - f_desc = re.search(r'文件描述.+?
    \n?\s*(.*?)\s*', first_page) - f_desc = f_desc.group(1) if f_desc else '' - first_page = self._get(self._host_url + para) - if not first_page: - return FileDetail(LanZouCloud.NETWORK_ERROR, name=f_name, time=f_time, size=f_size, desc=f_desc, - pwd=pwd, url=share_url) - first_page = remove_notes(first_page.text) - # 一般情况 sign 的值就在 data 里,有时放在变量后面 - sign = re.search(r"'sign':(.+?),", first_page).group(1) - if len(sign) < 20: # 此时 sign 保存在变量里面, 变量名是 sign 匹配的字符 - sign = re.search(rf"var {sign}\s*=\s*'(.+?)';", first_page).group(1) - post_data = {'action': 'downprocess', 'sign': sign, 'ves': 1} - link_info = self._post(self._host_url + '/ajaxm.php', post_data) - if not link_info: - return FileDetail(LanZouCloud.NETWORK_ERROR, name=f_name, time=f_time, size=f_size, desc=f_desc, - pwd=pwd, url=share_url) - link_info = link_info.json() - - # 这里开始获取文件直链 - if link_info['zt'] != 1: # 返回信息异常,无法获取直链 - return FileDetail(LanZouCloud.FAILED, name=f_name, time=f_time, size=f_size, desc=f_desc, pwd=pwd, - url=share_url) - - fake_url = link_info['dom'] + '/file/' + link_info['url'] # 假直连,存在流量异常检测 - download_page = self._get(fake_url, allow_redirects=False) - if not download_page: - return FileDetail(LanZouCloud.NETWORK_ERROR, name=f_name, time=f_time, size=f_size, desc=f_desc, - pwd=pwd, url=share_url) - download_page.encoding = 'utf-8' - download_page_html = remove_notes(download_page.text) - if '网络异常' not in download_page_html: # 没有遇到验证码 - direct_url = download_page.headers['Location'] # 重定向后的真直链 - else: # 遇到验证码,验证后才能获取下载直链 - file_token = re.findall("'file':'(.+?)'", download_page_html)[0] - file_sign = re.findall("'sign':'(.+?)'", download_page_html)[0] - check_api = 'https://vip.d0.baidupan.com/file/ajax.php' - post_data = {'file': file_token, 'el': 2, 'sign': file_sign} - sleep(2) # 这里必需等待2s, 否则直链返回 ?SignError - resp = self._post(check_api, post_data) - direct_url = resp.json()['url'] - if not direct_url: - return FileDetail(LanZouCloud.CAPTCHA_ERROR, name=f_name, time=f_time, size=f_size, desc=f_desc, - pwd=pwd, url=share_url) - - f_type = f_name.split('.')[-1] - return FileDetail(LanZouCloud.SUCCESS, - name=f_name, size=f_size, type=f_type, time=f_time, - desc=f_desc, pwd=pwd, url=share_url, durl=direct_url) - - def get_file_info_by_id(self, file_id) -> FileDetail: - """通过 id 获取文件信息""" - info = self.get_share_info(file_id) - if info.code != LanZouCloud.SUCCESS: - return FileDetail(info.code) - return self.get_file_info_by_url(info.url, info.pwd) - - def get_durl_by_url(self, share_url, pwd='') -> DirectUrlInfo: - """通过分享链接获取下载直链""" - file_info = self.get_file_info_by_url(share_url, pwd) - if file_info.code != LanZouCloud.SUCCESS: - return DirectUrlInfo(file_info.code, '', '') - return DirectUrlInfo(LanZouCloud.SUCCESS, file_info.name, file_info.durl) - - def get_durl_by_id(self, file_id) -> DirectUrlInfo: - """登录用户通过id获取直链""" - info = self.get_share_info(file_id, is_file=True) # 能获取直链,一定是文件 - return self.get_durl_by_url(info.url, info.pwd) - - def get_share_info(self, fid, is_file=True) -> ShareInfo: - """获取文件(夹)提取码、分享链接""" - post_data = {'task': 22, 'file_id': fid} if is_file else {'task': 18, 'folder_id': fid} # 获取分享链接和密码用 - f_info = self._post(self._doupload_url, post_data) - if not f_info: - return ShareInfo(LanZouCloud.NETWORK_ERROR) - else: - f_info = f_info.json()['info'] - - # id 有效性校验 - if ('f_id' in f_info.keys() and f_info['f_id'] == 'i') or ('name' in f_info.keys() and not f_info['name']): - return ShareInfo(LanZouCloud.ID_ERROR) - - # onof=1 时,存在有效的提取码; onof=0 时不存在提取码,但是 pwd 字段还是有一个无效的随机密码 - pwd = f_info['pwd'] if f_info['onof'] == '1' else '' - if 'f_id' in f_info.keys(): # 说明返回的是文件的信息 - url = f_info['is_newd'] + '/' + f_info['f_id'] # 文件的分享链接需要拼凑 - file_info = self._post(self._doupload_url, {'task': 12, 'file_id': fid}) # 文件信息 - if not file_info: - return ShareInfo(LanZouCloud.NETWORK_ERROR) - name = file_info.json()['text'] # 无后缀的文件名(获得后缀又要发送请求,没有就没有吧,尽可能减少请求数量) - desc = file_info.json()['info'] - else: - url = f_info['new_url'] # 文件夹的分享链接可以直接拿到 - name = f_info['name'] # 文件夹名 - desc = f_info['des'] # 文件夹描述 - return ShareInfo(LanZouCloud.SUCCESS, name=name, url=url, desc=desc, pwd=pwd) - - def set_passwd(self, fid, passwd='', is_file=True) -> int: - """ - 设置网盘文件(夹)的提取码, 现在非会员用户不允许关闭提取码 - id 无效或者 id 类型不对应仍然返回成功 :( - 文件夹提取码长度 0-12 位 文件提取码 2-6 位 - """ - - passwd_status = 0 if passwd == '' else 1 # 是否开启密码 - if is_file: - post_data = {"task": 23, "file_id": fid, "shows": passwd_status, "shownames": passwd} - else: - post_data = {"task": 16, "folder_id": fid, "shows": passwd_status, "shownames": passwd} - result = self._post(self._doupload_url, post_data) - if not result: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if result.json()['zt'] == 1 else LanZouCloud.FAILED - - def mkdir(self, parent_id, folder_name, desc='') -> int: - """创建文件夹(同时设置描述)""" - folder_name = folder_name.replace(' ', '_') # 文件夹名称不能包含空格 - folder_name = name_format(folder_name) # 去除非法字符 - folder_list = self.get_dir_list(parent_id) - if folder_list.find_by_name(folder_name): # 如果文件夹已经存在,直接返回 id - return folder_list.find_by_name(folder_name).id - raw_folders = self.get_move_folders() - post_data = {"task": 2, "parent_id": parent_id or -1, "folder_name": folder_name, - "folder_description": desc} - result = self._post(self._doupload_url, post_data) # 创建文件夹 - if not result or result.json()['zt'] != 1: - logger.debug(f"Mkdir {folder_name} error, parent_id={parent_id}") - return LanZouCloud.MKDIR_ERROR # 正常时返回 id 也是 int,为了方便判断是否成功,网络异常或者创建失败都返回相同错误码 - # 允许再不同路径创建同名文件夹, 移动时可通过 get_move_paths() 区分 - for folder in self.get_move_folders(): - if not raw_folders.find_by_id(folder.id): - logger.debug(f"Mkdir {folder_name} #{folder.id} in parent_id:{parent_id}") - return folder.id - logger.debug(f"Mkdir {folder_name} error, parent_id:{parent_id}") - return LanZouCloud.MKDIR_ERROR - - def _set_dir_info(self, folder_id, folder_name, desc='') -> int: - """重命名文件夹及其描述""" - # 不能用于重命名文件,id 无效仍然返回成功 - folder_name = name_format(folder_name) - post_data = {'task': 4, 'folder_id': folder_id, 'folder_name': folder_name, 'folder_description': desc} - result = self._post(self._doupload_url, post_data) - if not result: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if result.json()['zt'] == 1 else LanZouCloud.FAILED - - def rename_dir(self, folder_id, folder_name) -> int: - """重命名文件夹""" - # 重命名文件要开会员额 - info = self.get_share_info(folder_id, is_file=False) - if info.code != LanZouCloud.SUCCESS: - return info.code - return self._set_dir_info(folder_id, folder_name, info.desc) - - def set_desc(self, fid, desc, is_file=True) -> int: - """设置文件(夹)描述""" - if is_file: - # 文件描述一旦设置了值,就不能再设置为空 - post_data = {'task': 11, 'file_id': fid, 'desc': desc} - result = self._post(self._doupload_url, post_data) - if not result: - return LanZouCloud.NETWORK_ERROR - elif result.json()['zt'] != 1: - return LanZouCloud.FAILED - return LanZouCloud.SUCCESS - else: - # 文件夹描述可以置空 - info = self.get_share_info(fid, is_file=False) - if info.code != LanZouCloud.SUCCESS: - return info.code - return self._set_dir_info(fid, info.name, desc) - - def rename_file(self, file_id, filename): - """允许会员重命名文件(无法修后缀名)""" - post_data = {'task': 46, 'file_id': file_id, 'file_name': name_format(filename), 'type': 2} - result = self._post(self._doupload_url, post_data) - if not result: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if result.json()['zt'] == 1 else LanZouCloud.FAILED - - def get_move_folders(self) -> FolderList: - """获取全部文件夹 id-name 列表,用于移动文件至新的文件夹""" - # 这里 file_id 可以为任意值,不会对结果产生影响 - result = FolderList() - result.append(FolderId(name='LanZouCloud', id=-1)) - resp = self._post(self._doupload_url, data={"task": 19, "file_id": -1}) - if not resp or resp.json()['zt'] != 1: # 获取失败或者网络异常 - return result - info = resp.json()['info'] or [] # 新注册用户无数据, info=None - for folder in info: - folder_id, folder_name = int(folder['folder_id']), folder['folder_name'] - result.append(FolderId(folder_name, folder_id)) - return result - - def get_move_paths(self) -> List[FolderList]: - """获取所有文件夹的绝对路径(耗时长)""" - # 官方 bug, 可能会返回一些已经被删除的"幽灵文件夹" - result = [] - root = FolderList() - root.append(FolderId('LanZouCloud', -1)) - result.append(root) - resp = self._post(self._doupload_url, data={"task": 19, "file_id": -1}) - if not resp or resp.json()['zt'] != 1: # 获取失败或者网络异常 - return result - - ex = ThreadPoolExecutor() # 线程数 min(32, os.cpu_count() + 4) - id_list = [int(folder['folder_id']) for folder in resp.json()['info']] - task_list = [ex.submit(self.get_full_path, fid) for fid in id_list] - for task in as_completed(task_list): - result.append(task.result()) - return sorted(result) - - def move_file(self, file_id, folder_id=-1) -> int: - """移动文件到指定文件夹""" - # 移动回收站文件也返回成功(实际上行不通) (+_+)? - post_data = {'task': 20, 'file_id': file_id, 'folder_id': folder_id} - result = self._post(self._doupload_url, post_data) - logger.debug(f"Move file file_id:{file_id} to folder_id:{folder_id}") - if not result: - return LanZouCloud.NETWORK_ERROR - return LanZouCloud.SUCCESS if result.json()['zt'] == 1 else LanZouCloud.FAILED - - def move_folder(self, folder_id, parent_folder_id=-1) -> int: - """移动文件夹(官方并没有直接支持此功能)""" - if folder_id == parent_folder_id or parent_folder_id < -1: - return LanZouCloud.FAILED # 禁止移动文件夹到自身,禁止移动到 -2 这样的文件夹(文件还在,但是从此不可见) - - folder = self.get_move_folders().find_by_id(folder_id) - if not folder: - logger.debug(f"Not found folder id:{folder_id}") - return LanZouCloud.FAILED - - if self.get_dir_list(folder_id): - logger.debug(f"Found subdirectory in folder={folder}") - return LanZouCloud.FAILED # 递归操作可能会产生大量请求,这里只移动单层文件夹 - - info = self.get_share_info(folder_id, False) - new_folder_id = self.mkdir(parent_folder_id, folder.name, info.desc) # 在目标文件夹下创建同名文件夹 - - if new_folder_id == LanZouCloud.MKDIR_ERROR: - return LanZouCloud.FAILED - elif new_folder_id == folder_id: # 移动文件夹到同一目录 - return LanZouCloud.FAILED - - self.set_passwd(new_folder_id, info.pwd, False) # 保持密码相同 - ex = ThreadPoolExecutor() - task_list = [ex.submit(self.move_file, file.id, new_folder_id) for file in self.get_file_list(folder_id)] - for task in as_completed(task_list): - if task.result() != LanZouCloud.SUCCESS: - return LanZouCloud.FAILED - self.delete(folder_id, False) # 全部移动完成后删除原文件夹 - self.delete_rec(folder_id, False) - return LanZouCloud.SUCCESS - - def _upload_small_file(self, file_path, folder_id=-1, *, callback=None, uploaded_handler=None) -> int: - """绕过格式限制上传不超过 max_size 的文件""" - if not os.path.isfile(file_path): - return LanZouCloud.PATH_ERROR - - need_delete = False # 上传完成是否删除 - if not is_name_valid(os.path.basename(file_path)): # 不允许上传的格式 - if self._limit_mode: # 不允许绕过官方限制 - return LanZouCloud.OFFICIAL_LIMITED - file_path = let_me_upload(file_path) # 添加了报尾的新文件 - need_delete = True - - # 文件已经存在同名文件就删除 - filename = name_format(os.path.basename(file_path)) - file_list = self.get_file_list(folder_id) - if file_list.find_by_name(filename): - self.delete(file_list.find_by_name(filename).id) - logger.debug(f'Upload file_path:{file_path} to folder_id:{folder_id}') - - file = open(file_path, 'rb') - post_data = { - "task": "1", - "folder_id": str(folder_id), - "id": "WU_FILE_0", - "name": filename, - "upload_file": (filename, file, 'application/octet-stream') - } - - post_data = MultipartEncoder(post_data) - tmp_header = self._headers.copy() - tmp_header['Content-Type'] = post_data.content_type - - # MultipartEncoderMonitor 每上传 8129 bytes数据调用一次回调函数,问题根源是 httplib 库 - # issue : https://github.com/requests/toolbelt/issues/75 - # 上传完成后,回调函数会被错误的多调用一次(强迫症受不了)。因此,下面重新封装了回调函数,修改了接受的参数,并阻断了多余的一次调用 - self._upload_finished_flag = False # 上传完成的标志 - - def _call_back(read_monitor): - if callback is not None: - if not self._upload_finished_flag: - callback(filename, read_monitor.len, read_monitor.bytes_read) - if read_monitor.len == read_monitor.bytes_read: - self._upload_finished_flag = True - - monitor = MultipartEncoderMonitor(post_data, _call_back) - result = self._post('https://pc.woozooo.com/fileup.php', data=monitor, headers=tmp_header, timeout=3600) - if not result: # 网络异常 - return LanZouCloud.NETWORK_ERROR - else: - result = result.json() - if result["zt"] != 1: - logger.debug(f'Upload failed: result={result}') - return LanZouCloud.FAILED # 上传失败 - - if uploaded_handler is not None: - file_id = int(result["text"][0]["id"]) - uploaded_handler(file_id, is_file=True) # 对已经上传的文件再进一步处理 - - if need_delete: - file.close() - os.remove(file_path) - return LanZouCloud.SUCCESS - - def _upload_big_file(self, file_path, dir_id, *, callback=None, uploaded_handler=None): - """上传大文件, 且使得回调函数只显示一个文件""" - if self._limit_mode: # 不允许绕过官方限制 - return LanZouCloud.OFFICIAL_LIMITED - - file_size = os.path.getsize(file_path) # 原始文件的字节大小 - file_name = os.path.basename(file_path) - tmp_dir = os.path.dirname(file_path) + os.sep + '__' + '.'.join(file_name.split('.')[:-1]) # 临时文件保存路径 - record_file = tmp_dir + os.sep + file_name + '.record' # 记录文件,大文件没有完全上传前保留,用于支持续传 - uploaded_size = 0 # 记录已上传字节数,用于回调函数 - - if not os.path.exists(tmp_dir): - os.makedirs(tmp_dir) - if not os.path.exists(record_file): # 初始化记录文件 - info = {'name': file_name, 'size': file_size, 'uploaded': 0, 'parts': []} - with open(record_file, 'wb') as f: - pickle.dump(info, f) - else: - with open(record_file, 'rb') as f: - info = pickle.load(f) - uploaded_size = info['uploaded'] # 读取已经上传的大小 - logger.debug(f"Find upload record: {uploaded_size}/{file_size}") - - def _callback(name, t_size, now_size): # 重新封装回调函数,隐藏数据块上传细节 - nonlocal uploaded_size - if callback is not None: - # MultipartEncoder 以后,文件数据流比原文件略大几百字节, now_size 略大于 file_size - now_size = uploaded_size + now_size - now_size = now_size if now_size < file_size else file_size # 99.99% -> 100.00% - callback(file_name, file_size, now_size) - - def _close_pwd(fid, is_file): # 数据块上传后默认关闭提取码 - self.set_passwd(fid) - - while uploaded_size < file_size: - data_size, data_path = big_file_split(file_path, self._max_size, start_byte=uploaded_size) - code = self._upload_small_file(data_path, dir_id, callback=_callback, uploaded_handler=_close_pwd) - if code == LanZouCloud.SUCCESS: - uploaded_size += data_size # 更新已上传的总字节大小 - info['uploaded'] = uploaded_size - info['parts'].append(os.path.basename(data_path)) # 记录已上传的文件名 - with open(record_file, 'wb') as f: - logger.debug(f"Update record file: {uploaded_size}/{file_size}") - pickle.dump(info, f) - else: - logger.debug(f"Upload data file failed: data_path={data_path}") - return LanZouCloud.FAILED - os.remove(data_path) # 删除临时数据块 - min_s, max_s = self._upload_delay # 设置两次上传间的延时,减小封号可能性 - sleep_time = uniform(min_s, max_s) - logger.debug(f"Sleeping, Upload task will resume after {sleep_time:.2f}s...") - sleep(sleep_time) - - # 全部数据块上传完成 - record_name = list(file_name.replace('.', '')) # 记录文件名也打乱 - shuffle(record_name) - record_name = name_format(''.join(record_name)) + '.txt' - record_file_new = tmp_dir + os.sep + record_name - os.rename(record_file, record_file_new) - code = self._upload_small_file(record_file_new, dir_id, uploaded_handler=_close_pwd) # 上传记录文件 - if code != LanZouCloud.SUCCESS: - logger.debug(f"Upload record file failed: {record_file_new}") - return LanZouCloud.FAILED - # 记录文件上传成功,删除临时文件 - shutil.rmtree(tmp_dir) - logger.debug(f"Upload finished, Delete tmp folder:{tmp_dir}") - return LanZouCloud.SUCCESS - - def upload_file(self, file_path, folder_id=-1, *, callback=None, uploaded_handler=None) -> int: - """解除限制上传文件 - :param callback 用于显示上传进度的回调函数 - def callback(file_name, total_size, now_size): - print(f"\r文件名:{file_name}, 进度: {now_size}/{total_size}") - ... - - :param uploaded_handler 用于进一步处理上传完成后的文件, 对大文件而已是处理文件夹(数据块默认关闭密码) - def uploaded_handler(fid, is_file): - if is_file: - self.set_desc(fid, '...', is_file=True) - ... - """ - if not os.path.isfile(file_path): - return LanZouCloud.PATH_ERROR - - # 单个文件不超过 max_size 直接上传 - if os.path.getsize(file_path) <= self._max_size * 1048576: - return self._upload_small_file(file_path, folder_id, callback=callback, uploaded_handler=uploaded_handler) - - # 上传超过 max_size 的文件 - if self._limit_mode: - return LanZouCloud.OFFICIAL_LIMITED - - folder_name = os.path.basename(file_path) # 保存分段文件的文件夹名 - dir_id = self.mkdir(folder_id, folder_name, 'Big File') - if dir_id == LanZouCloud.MKDIR_ERROR: - return LanZouCloud.MKDIR_ERROR # 创建文件夹失败就退出 - - if uploaded_handler is not None: - uploaded_handler(dir_id, is_file=False) - return self._upload_big_file(file_path, dir_id, callback=callback, uploaded_handler=uploaded_handler) - - def upload_dir(self, dir_path, folder_id=-1, *, callback=None, failed_callback=None, uploaded_handler=None): - """批量上传文件夹中的文件(不会递归上传子文件夹) - :param folder_id: 网盘文件夹 id - :param dir_path: 文件夹路径 - :param callback 用于显示进度 - def callback(file_name, total_size, now_size): - print(f"\r文件名:{file_name}, 进度: {now_size}/{total_size}") - ... - :param failed_callback 用于处理上传失败文件的回调函数 - def failed_callback(code, file_name): - print(f"上传失败, 文件名: {file_name}, 错误码: {code}") - ... - :param uploaded_handler 用于进一步处理上传完成后的文件, 对大文件而已是处理文件夹(数据块默认关闭密码) - def uploaded_handler(fid, is_file): - if is_file: - self.set_desc(fid, '...', is_file=True) - ... - """ - if not os.path.isdir(dir_path): - return LanZouCloud.PATH_ERROR - - dir_name = dir_path.split(os.sep)[-1] - dir_id = self.mkdir(folder_id, dir_name, '批量上传') - if dir_id == LanZouCloud.MKDIR_ERROR: - return LanZouCloud.MKDIR_ERROR - - for filename in os.listdir(dir_path): - file_path = dir_path + os.sep + filename - if not os.path.isfile(file_path): - continue # 跳过子文件夹 - code = self.upload_file(file_path, dir_id, callback=callback, uploaded_handler=uploaded_handler) - if code != LanZouCloud.SUCCESS: - if failed_callback is not None: - failed_callback(code, filename) - return LanZouCloud.SUCCESS - - def down_file_by_url(self, share_url, pwd='', save_path='./Download', *, callback=None, overwrite=False, - downloaded_handler=None) -> int: - """通过分享链接下载文件(需提取码) - :param callback 用于显示下载进度 callback(file_name, total_size, now_size) - :param overwrite 文件已存在时是否强制覆盖 - :param downloaded_handler 下载完成后进一步处理文件的回调函数 downloaded_handle(file_path) - """ - if not is_file_url(share_url): - return LanZouCloud.URL_INVALID - if not os.path.exists(save_path): - os.makedirs(save_path) - - info = self.get_durl_by_url(share_url, pwd) - logger.debug(f'File direct url info: {info}') - if info.code != LanZouCloud.SUCCESS: - return info.code - - resp = self._get(info.durl, stream=True) - if not resp: - return LanZouCloud.FAILED - - # 如果本地存在同名文件且设置了 overwrite, 则覆盖原文件 - # 否则修改下载文件路径, 自动在文件名后加序号 - file_path = save_path + os.sep + info.name - if os.path.exists(file_path): - if overwrite: - logger.debug(f"Overwrite file {file_path}, will remove after download finish") - else: # 自动重命名文件 - file_path = auto_rename(file_path) - logger.debug(f"File has already exists, auto rename to {file_path}") - - tmp_file_path = file_path + '.download' # 正在下载中的文件名 - logger.debug(f'Save file to {tmp_file_path}') - - # 对于 txt 文件, 可能出现没有 Content-Length 的情况 - # 此时文件需要下载一次才会出现 Content-Length - # 这时候我们先读取一点数据, 再尝试获取一次, 通常只需读取 1 字节数据 - content_length = resp.headers.get('Content-Length', None) - if not content_length: - data_iter = resp.iter_content(chunk_size=1) - max_retries = 5 # 5 次拿不到就算了 - while not content_length and max_retries > 0: - max_retries -= 1 - logger.warning("Not found Content-Length in response headers") - logger.debug("Read 1 byte from stream...") - try: - next(data_iter) # 读取一个字节 - except StopIteration: - logger.debug("Please wait for a moment before downloading") - return LanZouCloud.FAILED - resp_ = self._get(info.durl, stream=True) # 再请求一次试试 - if not resp_: - return LanZouCloud.FAILED - content_length = resp_.headers.get('Content-Length', None) - logger.debug(f"Content-Length: {content_length}") - - if not content_length: - return LanZouCloud.FAILED # 应该不会出现这种情况 - - # 支持断点续传下载 - now_size = 0 - if os.path.exists(tmp_file_path): - now_size = os.path.getsize(tmp_file_path) # 本地已经下载的文件大小 - headers = {**self._headers, 'Range': 'bytes=%d-' % now_size} - resp = self._get(info.durl, stream=True, headers=headers) - - if resp is None: # 网络异常 - return LanZouCloud.FAILED - if resp.status_code == 416: # 已经下载完成 - return LanZouCloud.SUCCESS - - with open(tmp_file_path, "ab") as f: - file_name = os.path.basename(file_path) - for chunk in resp.iter_content(4096): - if chunk: - f.write(chunk) - f.flush() - now_size += len(chunk) - if callback is not None: - callback(file_name, int(content_length), now_size) - - # 下载完成 - if os.path.exists(file_path): - # 若存在旧文件,且配置为覆盖,则先移除该文件 - if overwrite: - logger.debug(f"Overwrite file {file_path}, will remove after download finish") - os.remove(file_path) # 删除旧文件 - # 改回正常文件名 - os.rename(tmp_file_path, file_path) - - # 文件下载完成后, 检查文件尾部 512 字节数据 - # 绕过官方限制上传时, API 会隐藏文件真实信息到文件尾部 - # 这里尝试提取隐藏信息, 并截断文件尾部数据 - if os.path.getsize(file_path) > 512: # 文件大于 512 bytes 就检查一下 - file_info = None - with open(file_path, 'rb') as f: - f.seek(-512, os.SEEK_END) - last_512_bytes = f.read() - file_info = un_serialize(last_512_bytes, self._limit_mode) - - # 大文件的记录文件也可以反序列化出 name,但是没有 padding 字段 - if file_info is not None and 'padding' in file_info: - real_name = file_info['name'] # 解除伪装的真实文件名 - logger.debug(f"Find meta info: real_name={real_name}") - real_path = save_path + os.sep + real_name - # 如果存在同名文件且设置了 overwrite, 删掉原文件 - if overwrite and os.path.exists(real_path): - os.remove(real_path) - # 自动重命名, 文件存在就会加个序号 - new_file_path = auto_rename(real_path) - os.rename(file_path, new_file_path) - # 截断最后 512 字节隐藏信息, 还原文件 - with open(new_file_path, 'rb+') as f: - f.seek(-512, os.SEEK_END) - f.truncate() - file_path = new_file_path # 保存文件重命名后真实路径 - - # 如果设置了下载完成的回调函数, 调用之 - if downloaded_handler is not None: - downloaded_handler(os.path.abspath(file_path)) - return LanZouCloud.SUCCESS - - def down_file_by_id(self, fid, save_path='./Download', *, callback=None, overwrite=False, - downloaded_handler=None) -> int: - """登录用户通过id下载文件(无需提取码)""" - info = self.get_share_info(fid, is_file=True) - if info.code != LanZouCloud.SUCCESS: - return info.code - return self.down_file_by_url(info.url, info.pwd, save_path, callback=callback, overwrite=overwrite, - downloaded_handler=downloaded_handler) - - def get_folder_info_by_url(self, share_url, dir_pwd='', get_this_page=0) -> FolderDetail: - """获取文件夹里所有文件的信息""" - if is_file_url(share_url): - return FolderDetail(LanZouCloud.URL_INVALID) - try: - html = self._get(share_url, headers=self._headers).text - except requests.RequestException: - return FolderDetail(LanZouCloud.NETWORK_ERROR) - if '文件不存在' in html or '文件取消' in html: - return FolderDetail(LanZouCloud.FILE_CANCELLED) - # 要求输入密码, 用户描述中可能带有"输入密码",所以不用这个字符串判断 - if ('id="pwdload"' in html or 'id="passwddiv"' in html) and len(dir_pwd) == 0: - return FolderDetail(LanZouCloud.LACK_PASSWORD) - - if "acw_sc__v2" in html: - # 在页面被过多访问或其他情况下,有时候会先返回一个加密的页面,其执行计算出一个acw_sc__v2后放入页面后再重新访问页面才能获得正常页面 - # 若该页面进行了js加密,则进行解密,计算acw_sc__v2,并加入cookie - acw_sc__v2 = calc_acw_sc__v2(html) - self._session.cookies.set("acw_sc__v2", acw_sc__v2) - logger.debug(f"Set Cookie: acw_sc__v2={acw_sc__v2}") - html = self._get(share_url).text # 文件分享页面(第一页) - - try: - # 获取文件需要的参数 - html = remove_notes(html) - lx = re.findall(r"'lx':'?(\d)'?,", html)[0] - t = re.findall(r"var [0-9a-z]{6} = '(\d{10})';", html)[0] - k = re.findall(r"var [0-9a-z]{6} = '([0-9a-z]{15,})';", html)[0] - # 文件夹的信息 - folder_id = re.findall(r"'fid':'?(\d+)'?,", html)[0] - folder_name = re.findall(r"var.+?='(.+?)';\n.+document.title", html) or \ - re.findall(r'
    (.+?)
    ', html) - folder_name = folder_name[0] - - folder_time = re.findall(r'class="rets">([\d\-]+?)(.+?)', html) or \ - re.findall(r'
    (.+?)', html) - folder_desc = folder_desc[0] if folder_desc else "" - except IndexError: - return FolderDetail(LanZouCloud.FAILED) - - # 提取子文件夹信息(vip用户分享的文件夹可以递归包含子文件夹) - sub_folders = FolderList() - # 文件夹描述放在 filesize 一栏, 迷惑行为 - all_sub_folders = re.findall( - r'mbxfolder">(.+?)
    (.*?)
    ', html) - for url, name, desc in all_sub_folders: - url = self._host_url + url - time_str = datetime.today().strftime('%Y-%m-%d') # 网页没有时间信息, 设置为今天 - sub_folders.append(FolderInfo(name=name, desc=desc, url=url, time=time_str, pwd=dir_pwd)) - - # 提取改文件夹下全部文件 - page = 1 - if get_this_page > 0: - # 若外部设定仅获取某页,则初始参数为该页 - page = get_this_page - files = FileList() - while True: - if page >= 2 and get_this_page == 0: # 连续的请求需要稍等一下 - sleep(0.6) - try: - logger.debug(f"Parse page {page}...") - post_data = {'lx': lx, 'pg': page, 'k': k, 't': t, 'fid': folder_id, 'pwd': dir_pwd} - resp = self._post(self._host_url + '/filemoreajax.php', data=post_data, headers=self._headers).json() - except (requests.RequestException, AttributeError): - return FolderDetail(LanZouCloud.NETWORK_ERROR) - if resp['zt'] == 1: # 成功获取一页文件信息 - for f in resp["text"]: - files.append(FileInFolder( - name=f["name_all"], # 文件名 - time=time_format(f["time"]), # 上传时间 - size=f["size"], # 文件大小 - type=f["name_all"].split('.')[-1], # 文件格式 - url=self._host_url + "/" + f["id"] # 文件分享链接 - )) - page += 1 # 下一页 - - if get_this_page > 0: - # 若外部设定仅获取某页,则请求完该页就结束 - break - - continue - elif resp['zt'] == 2: # 已经拿到全部的文件信息 - break - elif resp['zt'] == 3: # 提取码错误 - return FolderDetail(LanZouCloud.PASSWORD_ERROR) - elif resp["zt"] == 4: - continue - else: - return FolderDetail(LanZouCloud.FAILED) # 其它未知错误 - - # 通过文件的时间信息补全文件夹的年份(如果有文件的话) - if files: # 最后一个文件上传时间最早,文件夹的创建年份与其相同 - folder_time = files[-1].time.split('-')[0] + '-' + folder_time - else: # 可恶,没有文件,日期就设置为今年吧 - folder_time = datetime.today().strftime('%Y-%m-%d') - - this_folder = FolderInfo(folder_name, folder_id, dir_pwd, folder_time, folder_desc, share_url) - return FolderDetail(LanZouCloud.SUCCESS, this_folder, files, sub_folders) - - def get_folder_info_by_id(self, folder_id): - """通过 id 获取文件夹及内部文件信息""" - info = self.get_share_info(folder_id, is_file=False) - if info.code != LanZouCloud.SUCCESS: - return FolderDetail(info.code) - return self.get_folder_info_by_url(info.url, info.pwd) - - def _check_big_file(self, file_list): - """检查文件列表,判断是否为大文件分段数据""" - txt_files = file_list.filter(lambda f: f.name.endswith('.txt') and 'M' not in f.size) - if txt_files and len(txt_files) == 1: # 文件夹里有且仅有一个 txt, 很有可能是保存大文件的文件夹 - try: - info = self.get_durl_by_url(txt_files[0].url) - except AttributeError: - info = self.get_durl_by_id(txt_files[0].id) - if info.code != LanZouCloud.SUCCESS: - logger.debug(f"Big file checking: Failed") - return None - resp = self._get(info.durl) - # 这里无需知道 txt 文件的 Content-Length, 全部读取即可 - info = un_serialize(resp.content, self._limit_mode) if resp else None - if info is not None: # 确认是大文件 - name, size, *_, parts = info.values() # 真实文件名, 文件字节大小, (其它数据),分段数据文件名(有序) - file_list = [file_list.find_by_name(p) for p in parts] - if all(file_list): # 分段数据完整 - logger.debug(f"Big file checking: PASS , name={name}, size={size}") - return name, size, file_list - logger.debug(f"Big file checking: Failed, Missing some data") - logger.debug(f"Big file checking: Failed") - return None - - def _down_big_file(self, name, total_size, file_list, save_path, *, callback=None, overwrite=False, - downloaded_handler=None): - """下载分段数据到一个文件,回调函数只显示一个文件 - 支持大文件下载续传,下载完成后重复下载不会执行覆盖操作,直接返回状态码 SUCCESS - """ - if not os.path.exists(save_path): - os.makedirs(save_path) - - big_file = save_path + os.sep + name - record_file = big_file + '.record' - - if os.path.exists(big_file) and not os.path.exists(record_file): - if overwrite: - os.remove(big_file) # 删除原文件 - else: - big_file = auto_rename(big_file) - record_file = big_file + '.record' - - if not os.path.exists(record_file): # 初始化记录文件 - info = {'last_ending': 0, 'finished': []} # 记录上一个数据块结尾地址和已经下载的数据块 - with open(record_file, 'wb') as rf: - pickle.dump(info, rf) - else: # 读取记录文件,下载续传 - with open(record_file, 'rb') as rf: - info = pickle.load(rf) - file_list = [f for f in file_list if f.name not in info['finished']] # 排除已下载的数据块 - logger.debug(f"Find download record file: {info}") - - file_name = os.path.basename(big_file) - with open(big_file, 'ab') as bf: - for file in file_list: - try: - durl_info = self.get_durl_by_url(file.url) # 分段文件无密码 - except AttributeError: - durl_info = self.get_durl_by_id(file.id) - if durl_info.code != LanZouCloud.SUCCESS: - logger.debug(f"Can't get direct url: {file}") - return durl_info.code - # 准备向大文件写入数据 - file_size_now = os.path.getsize(big_file) - down_start_byte = file_size_now - info['last_ending'] # 当前数据块上次下载中断的位置 - headers = {**self._headers, 'Range': 'bytes=%d-' % down_start_byte} - logger.debug(f"Download {file.name}, Range: {down_start_byte}-") - resp = self._get(durl_info.durl, stream=True, headers=headers) - - if resp is None: # 网络错误, 没有响应数据 - return LanZouCloud.FAILED - if resp.status_code == 416: # 下载完成后重复下载导致 Range 越界, 服务器返回 416 - logger.debug(f"File {file_name} has already downloaded.") - os.remove(record_file) # 删除记录文件 - return LanZouCloud.SUCCESS - - try: - for chunk in resp.iter_content(4096): - if chunk: - file_size_now += len(chunk) - bf.write(chunk) - bf.flush() # 确保缓冲区立即写入文件,否则下一次写入时获取的文件大小会有偏差 - if callback: - callback(file_name, total_size, file_size_now) - # 一块数据写入完成,更新记录文件 - info['finished'].append(file.name) - finally: - info['last_ending'] = file_size_now - with open(record_file, 'wb') as rf: - pickle.dump(info, rf) - logger.debug(f"Update download record info: {info}") - # 全部数据块下载完成, 记录文件可以删除 - logger.debug(f"Delete download record file: {record_file}") - os.remove(record_file) - - if downloaded_handler is not None: - downloaded_handler(os.path.abspath(big_file)) - return LanZouCloud.SUCCESS - - def down_dir_by_url(self, share_url, dir_pwd='', save_path='./Download', *, callback=None, mkdir=True, - overwrite=False, recursive=False, - failed_callback=None, downloaded_handler=None) -> int: - """通过分享链接下载文件夹 - :param overwrite: 下载时是否覆盖原文件, 对大文件也生效 - :param save_path 文件夹保存路径 - :param mkdir 是否在 save_path 下创建与远程文件夹同名的文件夹 - :param callback 用于显示单个文件下载进度的回调函数 - :param recursive 是否递归下载子文件夹(vip用户) - :param failed_callback 用于处理下载失败文件的回调函数, - def failed_callback(code, file): - print(f"文件名: {file.name}, 时间: {file.time}, 大小: {file.size}, 类型: {file.type}") # 共有属性 - if hasattr(file, 'url'): # 使用 URL 下载时 - print(f"文件下载失败, 链接: {file.url}, 错误码: {code}") - else: # 登录后使用 ID 下载时 - print(f"文件下载失败, ID: {file.id}, 错误码: {code}") - :param downloaded_handler: 单个文件下载完成后进一步处理的回调函数 downloaded_handle(file_path) - """ - folder_detail = self.get_folder_info_by_url(share_url, dir_pwd) - if folder_detail.code != LanZouCloud.SUCCESS: # 获取文件信息失败 - return folder_detail.code - - # 检查是否大文件分段数据 - info = self._check_big_file(folder_detail.files) - if info is not None: - return self._down_big_file(*info, save_path, callback=callback, overwrite=overwrite, - downloaded_handler=downloaded_handler) - - if mkdir: # 自动创建子文件夹 - save_path = save_path + os.sep + folder_detail.folder.name - if not os.path.exists(save_path): - save_path = save_path.replace('*', '_') # 替换特殊字符以符合路径规则 - os.makedirs(save_path) - - # 不是大文件分段数据,直接下载 - for file in folder_detail.files: - code = self.down_file_by_url(file.url, dir_pwd, save_path, callback=callback, overwrite=overwrite, - downloaded_handler=downloaded_handler) - logger.debug(f'Download file result: Code:{code}, File: {file}') - if code != LanZouCloud.SUCCESS: - if failed_callback is not None: - failed_callback(code, file) - - # 如果有子文件夹则递归下载子文件夹 - if recursive and folder_detail.sub_folders: - for sub_folder in folder_detail.sub_folders: - self.down_dir_by_url(sub_folder.url, dir_pwd, save_path, callback=callback, - overwrite=overwrite, - recursive=True, failed_callback=failed_callback, - downloaded_handler=downloaded_handler) - - return LanZouCloud.SUCCESS - - def down_dir_by_id(self, folder_id, save_path='./Download', *, callback=None, mkdir=True, overwrite=False, - failed_callback=None, downloaded_handler=None, recursive=False) -> int: - """登录用户通过id下载文件夹""" - file_list = self.get_file_list(folder_id) - if len(file_list) == 0: - return LanZouCloud.FAILED - - # 检查是否大文件分段数据 - info = self._check_big_file(file_list) - if info is not None: - return self._down_big_file(*info, save_path, callback=callback, overwrite=overwrite, - downloaded_handler=downloaded_handler) - - if mkdir: # 自动创建子目录 - share_info = self.get_share_info(folder_id, False) - if share_info.code != LanZouCloud.SUCCESS: - return share_info.code - save_path = save_path + os.sep + share_info.name - if not os.path.exists(save_path): - logger.debug(f"Mkdir {save_path}") - os.makedirs(save_path) - - for file in file_list: - code = self.down_file_by_id(file.id, save_path, callback=callback, overwrite=overwrite, - downloaded_handler=downloaded_handler) - logger.debug(f'Download file result: Code:{code}, File: {file}') - if code != LanZouCloud.SUCCESS: - if failed_callback is not None: - failed_callback(code, file) - - if recursive: - sub_folders = self.get_dir_list(folder_id) - if len(sub_folders) != 0: - for sub_folder in sub_folders: - self.down_dir_by_id(sub_folder.id, save_path, callback=callback, overwrite=overwrite, - failed_callback=failed_callback, downloaded_handler=downloaded_handler, - recursive=True) - - return LanZouCloud.SUCCESS diff --git a/lanzou/api/models.py b/lanzou/api/models.py deleted file mode 100644 index c9e61cb6..00000000 --- a/lanzou/api/models.py +++ /dev/null @@ -1,100 +0,0 @@ -""" -容器类,用于储存文件、文件夹,支持 list 的操作,同时支持许多方法方便操作元素 -元素类型为 namedtuple,至少拥有 name id 两个属性才能放入容器 -""" - -__all__ = ['FileList', 'FolderList'] - - -class ItemList: - """具有 name, id 属性对象的列表""" - - def __init__(self): - self._items = [] - - def __len__(self): - return len(self._items) - - def __getitem__(self, index): - return self._items[index] - - def __iter__(self): - return iter(self._items) - - def __repr__(self): - return f"" - - def __lt__(self, other): - """用于路径 List 之间排序""" - return '/'.join(i.name for i in self) < '/'.join(i.name for i in other) - - @property - def name_id(self): - """所有 item 的 name-id 列表,兼容旧版""" - return {it.name: it.id for it in self} - - @property - def all_name(self): - """所有 item 的 name 列表""" - return [it.name for it in self] - - def append(self, item): - """在末尾插入元素""" - self._items.append(item) - - def index(self, item): - """获取索引""" - return self._items.index(item) - - def insert(self, pos, item): - """指定位置插入元素""" - self._items.insert(pos, item) - - def clear(self): - """清空元素""" - self._items.clear() - - def filter(self, condition) -> list: - """筛选出满足条件的 item - condition(item) -> True - """ - return [it for it in self if condition(it)] - - def find_by_name(self, name: str): - """使用文件名搜索(仅返回首个匹配项)""" - for item in self: - if name == item.name: - return item - return None - - def find_by_id(self, fid: int): - """使用 id 搜索(精确)""" - for item in self: - if fid == item.id: - return item - return None - - def pop_by_id(self, fid): - for item in self: - if item.id == fid: - self._items.remove(item) - return item - return None - - def update_by_id(self, fid, **kwargs): - """通过 id 搜索元素并更新""" - item = self.find_by_id(fid) - pos = self.index(item) - data = item._asdict() - data.update(kwargs) - self._items[pos] = item.__class__(**data) - - -class FileList(ItemList): - """文件列表类""" - pass - - -class FolderList(ItemList): - """文件夹列表类""" - pass diff --git a/lanzou/api/types.py b/lanzou/api/types.py deleted file mode 100644 index 2f4156fb..00000000 --- a/lanzou/api/types.py +++ /dev/null @@ -1,18 +0,0 @@ -""" -API 处理后返回的数据类型 -""" - -from collections import namedtuple - -File = namedtuple('File', ['name', 'id', 'time', 'size', 'type', 'downs', 'has_pwd', 'has_des']) -Folder = namedtuple('Folder', ['name', 'id', 'has_pwd', 'desc']) -FolderId = namedtuple('FolderId', ['name', 'id']) -RecFile = namedtuple('RecFile', ['name', 'id', 'type', 'size', 'time']) -RecFolder = namedtuple('RecFolder', ['name', 'id', 'size', 'time', 'files']) -FileDetail = namedtuple('FileDetail', ['code', 'name', 'size', 'type', 'time', 'desc', 'pwd', 'url', 'durl'], - defaults=(0, *[''] * 8)) -ShareInfo = namedtuple('ShareInfo', ['code', 'name', 'url', 'pwd', 'desc'], defaults=(0, *[''] * 4)) -DirectUrlInfo = namedtuple('DirectUrlInfo', ['code', 'name', 'durl']) -FolderInfo = namedtuple('Folder', ['name', 'id', 'pwd', 'time', 'desc', 'url'], defaults=('',) * 6) -FileInFolder = namedtuple('FileInFolder', ['name', 'time', 'size', 'type', 'url'], defaults=('',) * 5) -FolderDetail = namedtuple('FolderDetail', ['code', 'folder', 'files', 'sub_folders'], defaults=(0, None, None, None)) diff --git a/lanzou/api/utils.py b/lanzou/api/utils.py deleted file mode 100644 index 7d1ce4b1..00000000 --- a/lanzou/api/utils.py +++ /dev/null @@ -1,258 +0,0 @@ -""" -API 处理网页数据、数据切片时使用的工具 -""" - -import logging -import os -import pickle -import re -from datetime import datetime, timedelta -from random import choice, choices, sample, shuffle, uniform - -import requests - -__all__ = ['logger', 'remove_notes', 'name_format', 'time_format', 'is_name_valid', 'is_file_url', - 'is_folder_url', 'big_file_split', 'un_serialize', 'let_me_upload', 'auto_rename', 'calc_acw_sc__v2'] - -# 调试日志设置 -logger = logging.getLogger('lanzou') -logger.setLevel(logging.ERROR) -formatter = logging.Formatter( - fmt="%(asctime)s [line:%(lineno)d] %(funcName)s %(levelname)s - %(message)s", - datefmt="%Y-%m-%d %H:%M:%S") -console = logging.StreamHandler() -console.setFormatter(formatter) -logger.addHandler(console) - -headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36', - # 'Referer': 'https://pan.lanzous.com', # 可以没有 - 'Accept-Language': 'zh-CN,zh;q=0.9', -} - - -def remove_notes(html: str) -> str: - """删除网页的注释""" - # 去掉 html 里面的 // 和 注释,防止干扰正则匹配提取数据 - # 蓝奏云的前端程序员喜欢改完代码就把原来的代码注释掉,就直接推到生产环境了 =_= - html = re.sub(r'|\s+//\s*.+', '', html) # html 注释 - html = re.sub(r'(.+?[,;])\s*//.+', r'\1', html) # js 注释 - return html - - -def name_format(name: str) -> str: - """去除非法字符""" - name = name.replace(u'\xa0', ' ').replace(u'\u3000', ' ').replace(' ', ' ') # 去除其它字符集的空白符,去除重复空白字符 - return re.sub(r'[$%^!*<>)(+=`\'\"/:;,?]', '', name) - - -def time_format(time_str: str) -> str: - """输出格式化时间 %Y-%m-%d %H:%M:%S""" - now = datetime.now() - if '秒前' in time_str: - seconds = time_str.replace(' 秒前', '') - delta = timedelta(seconds=int(seconds)) - elif '分钟前' in time_str: - minutes = time_str.replace(' 分钟前', '') - delta = timedelta(minutes=int(minutes)) - elif '小时前' in time_str: - hours = time_str.replace(' 小时前', '') - delta = timedelta(hours=int(hours)) - elif '昨天' in time_str: - delta = timedelta(days=1) - elif '前天' in time_str: - delta = timedelta(days=2) - elif '天前' in time_str: - days = time_str.replace(' 天前', '') - delta = timedelta(days=int(days)) - else: - return time_str - - return (now - delta).strftime("%Y-%m-%d %H:%M:%S") - - -def is_name_valid(filename: str) -> bool: - """检查文件名是否允许上传""" - - valid_suffix_list = ( - 'ppt', 'xapk', 'ke', 'azw', 'cpk', 'gho', 'dwg', 'db', 'docx', 'deb', 'e', 'ttf', 'xls', 'bat', - 'crx', 'rpm', 'txf', 'pdf', 'apk', 'ipa', 'txt', 'mobi', 'osk', 'dmg', 'rp', 'osz', 'jar', - 'ttc', 'z', 'w3x', 'xlsx', 'cetrainer', 'ct', 'rar', 'mp3', 'pptx', 'mobileconfig', 'epub', - 'imazingapp', 'doc', 'iso', 'img', 'appimage', '7z', 'rplib', 'lolgezi', 'exe', 'azw3', 'zip', - 'conf', 'tar', 'dll', 'flac', 'xpa', 'lua', 'cad', 'hwt', 'accdb', 'ce', - 'xmind', 'enc', 'bds', 'bdi', 'ssf', 'it', 'gz' - ) - - return filename.split('.')[-1].lower() in valid_suffix_list - - -def is_file_url(share_url: str) -> bool: - """判断是否为文件的分享链接""" - base_pat = r'https?://[a-zA-Z0-9-]*?\.?lanzou\w.com/.+' # 子域名可个性化设置或者不存在 - user_pat = r'https?://[a-zA-Z0-9-]*?\.?lanzou\w.com/i[a-zA-Z0-9]{5,}/?' # 普通用户 URL 规则 - if not re.fullmatch(base_pat, share_url): - return False - elif re.fullmatch(user_pat, share_url): - return True - else: # VIP 用户的 URL 很随意 - try: - html = requests.get(share_url, headers=headers, timeout=15).text - html = remove_notes(html) - return True if re.search(r'class="fileinfo"|id="file"|文件描述', html) else False - except (requests.RequestException, Exception): - return False - - -def is_folder_url(share_url: str) -> bool: - """判断是否为文件夹的分享链接""" - base_pat = r'https?://[a-zA-Z0-9-]*?\.?lanzou\w.com/.+' - user_pat = r'https?://[a-zA-Z0-9-]*?\.?lanzou\w.com/(/s/)?b[a-zA-Z0-9]{7,}/?' - if not re.fullmatch(base_pat, share_url): - return False - elif re.fullmatch(user_pat, share_url): - return True - else: # VIP 用户的 URL 很随意 - try: - html = requests.get(share_url, headers=headers, timeout=15).text - html = remove_notes(html) - return True if re.search(r'id="infos"', html) else False - except (requests.RequestException, Exception): - return False - - -def un_serialize(data: bytes, _limit_mode: bool): - """反序列化文件信息数据""" - try: - if _limit_mode: - # 不尝试从文件末尾解析额外编码进去的信息 - return None - - ret = pickle.loads(data) - if not isinstance(ret, dict): - return None - return ret - except Exception: # 这里可能会丢奇怪的异常 - return None - - -def big_file_split(file_path: str, max_size: int = 100, start_byte: int = 0): - """将大文件拆分为大小、格式随机的数据块, 可指定文件起始字节位置(用于续传) - :return 数据块文件的大小和绝对路径 - """ - file_name = os.path.basename(file_path) - file_size = os.path.getsize(file_path) - tmp_dir = os.path.dirname(file_path) + os.sep + '__' + '.'.join(file_name.split('.')[:-1]) - - if not os.path.exists(tmp_dir): - os.makedirs(tmp_dir) - - def get_random_size() -> int: - """按权重生成一个不超过 max_size 的文件大小""" - reduce_size = choices([uniform(0, 20), uniform(20, 30), uniform(30, 60), uniform(60, 80)], weights=[2, 5, 2, 1]) - return round((max_size - reduce_size[0]) * 1048576) - - def get_random_name() -> str: - """生成一个随机文件名""" - # 这些格式的文件一般都比较大且不容易触发下载检测 - suffix_list = ('zip', 'rar', 'apk', 'ipa', 'exe', 'pdf', '7z', 'tar', 'deb', 'dmg', 'rpm', 'flac') - name = list(file_name.replace('.', '').replace(' ', '')) - name = name + sample('abcdefghijklmnopqrstuvwxyz', 3) + sample('1234567890', 2) - shuffle(name) # 打乱顺序 - name = ''.join(name) + '.' + choice(suffix_list) - return name_format(name) # 确保随机名合法 - - with open(file_path, 'rb') as big_file: - big_file.seek(start_byte) - left_size = file_size - start_byte # 大文件剩余大小 - random_size = get_random_size() - tmp_file_size = random_size if left_size > random_size else left_size - tmp_file_path = tmp_dir + os.sep + get_random_name() - - chunk_size = 524288 # 512KB - left_read_size = tmp_file_size - with open(tmp_file_path, 'wb') as small_file: - while left_read_size > 0: - if left_read_size < chunk_size: # 不足读取一次 - small_file.write(big_file.read(left_read_size)) - break - # 一次读取一块,防止一次性读取占用内存 - small_file.write(big_file.read(chunk_size)) - left_read_size -= chunk_size - - return tmp_file_size, tmp_file_path - - -def let_me_upload(file_path): - """允许文件上传""" - file_size = os.path.getsize(file_path) / 1024 / 1024 # MB - file_name = os.path.basename(file_path) - - big_file_suffix = ['zip', 'rar', 'apk', 'ipa', 'exe', 'pdf', '7z', 'tar', 'deb', 'dmg', 'rpm', 'flac'] - small_file_suffix = big_file_suffix + ['doc', 'epub', 'mobi', 'mp3', 'ppt', 'pptx'] - big_file_suffix = choice(big_file_suffix) - small_file_suffix = choice(small_file_suffix) - suffix = small_file_suffix if file_size < 30 else big_file_suffix - new_file_path = '.'.join(file_path.split('.')[:-1]) + '.' + suffix - - with open(new_file_path, 'wb') as out_f: - # 写入原始文件数据 - with open(file_path, 'rb') as in_f: - chunk = in_f.read(4096) - while chunk: - out_f.write(chunk) - chunk = in_f.read(4096) - # 构建文件 "报尾" 保存真实文件名,大小 512 字节 - # 追加数据到文件尾部,并不会影响文件的使用,无需修改即可分享给其他人使用,自己下载时则会去除,确保数据无误 - padding = 512 - len(file_name.encode('utf-8')) - 42 # 序列化后空字典占 42 字节 - data = {'name': file_name, 'padding': b'\x00' * padding} - data = pickle.dumps(data) - out_f.write(data) - return new_file_path - - -def auto_rename(file_path) -> str: - """如果文件存在,则给文件名添加序号""" - if not os.path.exists(file_path): - return file_path - fpath, fname = os.path.split(file_path) - fname_no_ext, ext = os.path.splitext(fname) - flist = [f for f in os.listdir(fpath) if re.fullmatch(rf"{fname_no_ext}\(?\d*\)?{ext}", f)] - count = 1 - while f"{fname_no_ext}({count}){ext}" in flist: - count += 1 - return fpath + os.sep + fname_no_ext + '(' + str(count) + ')' + ext - - -def calc_acw_sc__v2(html_text: str) -> str: - arg1 = re.search(r"arg1='([0-9A-Z]+)'", html_text) - arg1 = arg1.group(1) if arg1 else "" - acw_sc__v2 = hex_xor(unsbox(arg1), "3000176000856006061501533003690027800375") - return acw_sc__v2 - - -# 参考自 https://zhuanlan.zhihu.com/p/228507547 -def unsbox(str_arg): - v1 = [15, 35, 29, 24, 33, 16, 1, 38, 10, 9, 19, 31, 40, 27, 22, 23, 25, 13, 6, 11, 39, 18, 20, 8, 14, 21, 32, 26, 2, - 30, 7, 4, 17, 5, 3, 28, 34, 37, 12, 36] - v2 = ["" for _ in v1] - for idx in range(0, len(str_arg)): - v3 = str_arg[idx] - for idx2 in range(len(v1)): - if v1[idx2] == idx + 1: - v2[idx2] = v3 - - res = ''.join(v2) - return res - - -def hex_xor(str_arg, args): - res = '' - for idx in range(0, min(len(str_arg), len(args)), 2): - v1 = int(str_arg[idx:idx + 2], 16) - v2 = int(args[idx:idx + 2], 16) - v3 = format(v1 ^ v2, 'x') - if len(v3) == 1: - v3 = '0' + v3 - res += v3 - - return res diff --git a/main.py b/main.py index 5408bb78..1ad33735 100644 --- a/main.py +++ b/main.py @@ -1,881 +1,69 @@ -import PyQt5.QtCore as qtc -import multiprocessing -from PyQt5.QtCore import QUrl, QThread -from PyQt5.QtWidgets import QApplication -from PyQt5 import QtCore -import importlib -from PublicReference.common import * -from PublicReference.utils.usage_counter import increase_counter -from PublicReference.view.MainWindow import * -from PublicReference.utils.calc_core import calc_core -from PublicReference.utils.producer_consumer import producer_data, consumer, thread_num -import traceback -from PublicReference.utils import zipfile, uniqueCode, img -from PublicReference.utils import img -from PublicReference.utils.LZextends import * -from PublicReference.view import NotificationButton -import sys -import time import subprocess -import base64 -import requests -import random -import datetime +import sys +import psutil +import webview -# 配置PyQt5环境变量 -import PyQt5 +# pyinstaller .\main.py --exclude-module PyQt5 -dirname = os.path.dirname(PyQt5.__file__) -plugin_path = os.path.join(dirname, 'Qt5', 'plugins') -os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path - -主进程PID = '' -偏移量 = 25 -目录 = '' - -if __name__ == '__main__': - multiprocessing.freeze_support() - - -class Worker(QThread): - sinOut = pyqtSignal(int) - - def __init__(self, parent=None, fileURL=''): - super(Worker, self).__init__(parent) - self.working = True - self.fileURL = fileURL - - def __del__(self): - # 线程状态改变与线程终止 - self.working = False - self.wait() - - def run(self): - path = os.getcwd() + "/__ZFJtemp" - try: - # os.rename(sys.argv[0],sys.argv[0]+'.del') - lzy = LZextends().lzy - lzy.down_file_by_url(self.fileURL, - '', - path, - callback=self.show_progress, - downloaded_handler=self.after_downloaded) - except Exception as error: - self.sinOut.emit(100) - - def show_progress(self, file_name, total_size, now_size): - self.sinOut.emit(int(now_size / total_size * 100)) - - def after_downloaded(self, file_path): - try: - if ("main.py" not in sys.argv[0]) and ("exe" in sys.argv[0]): - os.rename(sys.argv[0], sys.argv[0] + '.del') - # sys.argv[0] = sys.argv[0] + '.del' - except Exception as error: - logger.error("error={} \n detail {}".format( - error, traceback.print_exc())) - pass - path = os.getcwd() - zip_file = zipfile.ZipFile(file_path) - zip_list = zip_file.namelist() # 得到压缩包里所有文件 - for f in zip_list: - # if not f.endswith('desktop.ini'): - zip_file.extract(f, path) - # extracted_path.rename(newName) - # 循环解压文件到指定目录 - zip_file.close() - # print(path+'\download') - try: - os.system('RMDIR /Q /S "{}"'.format( - os.path.join(os.getcwd(), '__ZFJtemp'))) - except Exception as error: - logger.error("error={} \n detail {}".format( - error, traceback.print_exc())) - pass - self.working = False - - -class 选择窗口(QWidget): - 计算器版本 = '' - 云端版本 = '' - # 自动检查版本 = False - 网盘链接 = '' - 网盘报错 = 0 - 通知时间 = '' - - _signal = QtCore.pyqtSignal(int) - - def __init__(self): - super().__init__() - # self.thread_init() - self.ui() - self.char_window = None - - def thread_init(self): - try: - # 工作队列 - work_queue = multiprocessing.JoinableQueue() - work_queue.cancel_join_thread( - ) # or else thread that puts data will not term - producer_data.work_queue = work_queue - # 工作进程 - workers = [] - for i in range(thread_num): - p = multiprocessing.Process(target=consumer, - args=(work_queue, calc_core), - daemon=True, - name="worker#{}".format(i + 1)) - p.start() - workers.append(p) - - # logger.info("已启动{}个工作进程".format(thread_num)) - - self.worker = workers - pass - except Exception as error: - return error - - def 网盘检查(self): - return - if 目录.endswith('py'): - return - try: - lzy = LZextends().lzy - fileURL = '' - folder_info = lzy.get_folder_info_by_url( - 'https://wwx.lanzoux.com/b01bfj76f') - if folder_info.code != LanZouCloud.SUCCESS: - self.网盘链接 = '' - self.网盘报错 = 1 - return - # resp = urllib.request.urlopen('http://dnf.17173.com/jsq/instructions.html?j') - for file in folder_info.files: - if file.name.startswith("DNF计算器"): - self.云端版本 = file.name.replace(".zip", " 17173DNF.exe") - fileURL = file.url - if file.name.replace("DNF计算器", - "").replace(".zip", "").replace( - "-", ".") == self.计算器版本[5:]: - self.网盘链接 = '' - return - self.网盘链接 = fileURL - except Exception as error: - self.网盘链接 = '' - self.网盘报错 = 1 - return - - def ui(self): - 角色列表 = [] - self.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - self.setMinimumSize(805, 625) - self.setMaximumSize(805, 1520) - if not os.path.exists('./ResourceFiles'): - QMessageBox.information(self, "解压错误", - "未找到资源文件,请将压缩包中ResourceFiles解压到同目录后打开计算器") - return - with open("ResourceFiles/Config/adventure_info.json", - encoding='utf-8') as fp: - 角色列表 = json.load(fp) - fp.close() - self.计算器版本 = currentVersion - # self.自动检查版本 = versionInfo['AutoCheckUpdate'] - fp.close() - self.setWindowTitle(trans('DNF搭配计算器&17173DNF专区')) - self.icon = QIcon('ResourceFiles/img/logo.ico') - self.setWindowIcon(self.icon) - - bgcolor = QLabel(self) - bgcolor.resize(805, 1520) - # bgcolor.setStyleSheet("QLabel{background-color:rgba(0,0,0,1)}") - bgcolor.setStyleSheet("QLabel{background:url('" + - trans('ResourceFiles/img/分类') + "/bg.png')}") - self.char_img = [] - self.family_img = [] - is_gif = os.path.exists('动态头像') - for i in range(1, 76): - if is_gif: - self.char_img.append(QMovie("动态头像/" + str(i) + ".gif")) - else: - if i == 30 and not 多语言开关 == 0: - self.char_img.append( - QPixmap( - trans("ResourceFiles/img/头像/") + str(i) + ".png")) - else: - self.char_img.append( - QPixmap("ResourceFiles/img/头像/" + str(i) + ".png")) - for i in range(17): - self.family_img.append( - QPixmap("" + trans('ResourceFiles/img/分类') + "/" + str(i) + - ".png")) - - #wrapper = QWidget() - # self.setCentralWidget(wrapper) - self.topFiller = QWidget() - self.topFiller.setMinimumSize(750, 1520) - - count = 0 - reason = '' - canUse = -1 - try: - code = get_mac_address() - repJson = requests.get( - "https://i_melon.gitee.io/dnfcalculating/ban.json", - timeout=2).json() - if not code == '': - if code in [ - '2190155ee92d17e8cc3b0c9892fd5ac7', - '1ba5ea8fa16964666f0c0a85e89c3e96', - '2e3d28298db82f8b23dc9fa6aac14b6d', - 'f8b3cf5c269c97a8d6d2d97ecf769a06' - ]: - canUse = random.randint(0, 75) - reason = '呵呵' - reason = repJson[code]['reason'] - if reason != '': canUse = random.randint(0, 75) - # except: - # reason = '获取异常列表错误' - # canUse = random.randint(0, 75) - # pass - # try: - except: - pass - for i in range(75): - img_box = QLabel(self.topFiller) - if is_gif: - img_box.setMovie(self.char_img[i]) - self.char_img[i].start() - else: - img_box.setPixmap(self.char_img[i]) - img_box.resize(121, 90) - img_box.move(100 + 偏移量 + (count % 5) * 125, - 10 + int(count / 5) * 100) - if i < 75: - if 角色列表[i]["类名"] != '空': - img_box_2 = QLabel(self.topFiller) - img_box_2.setPixmap(self.family_img[16]) - img_box_2.resize(121, 90) - img_box_2.move(100 + 偏移量 + (count % 5) * 125, - 10 + int(count / 5) * 100) - txt_box = QLabel(self.topFiller) - txt_box.setStyleSheet( - 'QLabel{font-size:13px;color:rgb(175,148,89)}') - txt_box.setText(trans(角色列表[i]["显示名称"])) - txt_box.resize(121, 24) - txt_box.setAlignment(Qt.AlignCenter) - txt_box.move(100 + 偏移量 + (count % 5) * 125, - 76 + int(count / 5) * 100) - butten = QPushButton(self.topFiller) - butten.setStyleSheet(按钮样式2) - butten.resize(121, 90) - butten.move(100 + 偏移量 + (count % 5) * 125, - 10 + int(count / 5) * 100) - if canUse > 0 and i != canUse: - butten.clicked.connect( - lambda state, reason=reason: self.弹窗警告(reason)) - else: - butten.clicked.connect( - lambda state, index=角色列表[i]: self.职业版本判断(index)) - # temp = '作者:' + 角色列表[i][ - # "作者"] + '' - # butten.setToolTip(temp) - else: - img_box_2 = QLabel(self.topFiller) - img_box_2.setStyleSheet( - "QLabel{background-color:rgba(0,0,0,0.8)}") - img_box_2.resize(121, 90) - img_box_2.move(100 + 偏移量 + (count % 5) * 125, - 10 + int(count / 5) * 100) - count += 1 - - count = 0 - for i in range(15): - sign = 1 - for j in range(i * 5 + 1, i * 5 + 6): - if j > 75: - sign = 0 - break - if sign == 1: - img_box_2 = QLabel(self.topFiller) - img_box_2.setPixmap(self.family_img[15]) - img_box_2.resize(94, 90) - img_box_2.setAlignment(Qt.AlignCenter) - img_box_2.move(偏移量, 10 + count * 100) - img_box = QLabel(self.topFiller) - img_box.setPixmap(self.family_img[i]) - img_box.resize(94, 90) - img_box.setAlignment(Qt.AlignCenter) - img_box.move(偏移量, 10 + count * 100) - count += 1 - - # 为了女鬼调整位置 - count = 1 - - butten = QtWidgets.QPushButton( - ' ' + trans('首页') + '\n ' + trans('设置|打赏|反馈'), self.topFiller) - - # butten = QtWidgets.QPushButton(" " + trans(''), self.topFiller) - menu = QMenu() - action_0 = QAction(trans('设置'), parent=menu) - action_0.triggered.connect(lambda state: self.openSet()) - action_1 = QAction(trans('BUG反馈-Gitee'), parent=menu) - action_1.triggered.connect(lambda state: self.打开链接([ - 'https://gitee.com/i_melon/DNFCalculating/issues?state=all' - ], "Gitee")) - action_2 = QAction('联系我们-QQ-1群', parent=menu) - action_2.triggered.connect(lambda state: self.打开链接( - ['https://jq.qq.com/?_wv=1027&k=VSNtZ1xv'], "QQ群")) - action_3 = QAction('联系我们-QQ-2群', parent=menu) - action_3.triggered.connect(lambda state: self.打开链接( - ['https://jq.qq.com/?_wv=1027&k=QMgadVkA'], "QQ群")) - action_4 = QAction('联系我们-QQ-3群', parent=menu) - action_4.triggered.connect(lambda state: self.打开链接( - ['https://jq.qq.com/?_wv=1027&k=ekQXpyq0'], "QQ群")) - action_5 = QAction(trans('打赏'), parent=menu) - action_5.triggered.connect(lambda state, index=count: self.打赏()) - action_6 = QAction('联系我们-解除限制', parent=menu) - action_6.triggered.connect(lambda state: self.打开链接([ - 'https://gitee.com/i_melon/DNFCalculating/issues/I4IOO7' - ], "解除限制")) - action_7 = QAction(QIcon('ResourceFiles/img/logo.ico'), - trans('手册 源码 日志'), - parent=menu) - action_7.triggered.connect( - lambda state: self.打开链接(['http://dnf.17173.com/jsq/?khd'], "首页")) - menu.addAction(action_7) - menu.addSeparator() - menu.addAction(action_0) - menu.addSeparator() - menu.addAction(action_5) - menu.addSeparator() - menu.addAction(action_1) - menu.addSeparator() - menu.addAction(action_2) - menu.addAction(action_3) - menu.addAction(action_4) - menu.addAction(action_6) - butten.setMenu(menu) - # butten.clicked.connect(lambda state, index = count: self.问题反馈()) - # menu=QMenu() - # action_0 = QAction('手册',parent=menu) - # action_1 = QAction('日志',parent=menu) - # action_2 = QAction('源码',parent=menu) - # menu.addAction(action_0) - # menu.addAction(action_1) - # menu.addAction(action_2) - # butten.setMenu(menu) - butten.move(100 + 偏移量 + 4 * 125, 10 + (count + 1) * 100) - butten.setStyleSheet(按钮样式3) - butten.resize(121, 90) - - count += 1 - - butten = QtWidgets.QPushButton(trans('检查更新'), self.topFiller) - butten.clicked.connect(lambda state, index=count: self.检查更新()) - butten.move(100 + 偏移量 + 4 * 125, 10 + (count + 1) * 100) - butten.setStyleSheet(按钮样式3) - butten.resize(121, 90) - self.配置错误 = QMessageBox( - QMessageBox.Question, "提示", - "配置文件有误,程序将以默认设置开启!\n请检查以下文件\nResourceFiles\\Config\\基础设置.ini\nResourceFiles\\Config\\攻击目标.ini\nResourceFiles\\Skins\\Skin.ini\n是否以UTF-8编码存储且文件内格式正确" - ) - self.版本提示 = QMessageBox( - QMessageBox.Question, "用户须知", - trans("此工具为开源免费软件\n如遇二次售卖获利,请协助反馈举报~") + - '\n同时,计算器预设了埋点,收集使用情况供功能分析优化并限制滥用工具的情况,如:职业打开情况、页签打开情况、按钮使用情况等') - self.版本提示.setStandardButtons(QMessageBox.Yes | QMessageBox.No) - self.版本提示A = self.版本提示.button(QMessageBox.Yes) - self.版本提示B = self.版本提示.button(QMessageBox.No) - self.版本提示A.setText('已知悉') - self.版本提示B.setText('退出') - - try: - if 自动检查更新 == 0: - repJson = requests.get( - "https://i_melon.gitee.io/dnfcalculating/notice.json", - timeout=2).json() - self.通知时间 = repJson[0]['time'] - self.消息通知 = QMessageBox(QMessageBox.Question, "通知", - repJson[0]['info']) - self.消息通知.setWindowIcon(self.icon) - confirm = NotificationButton.ConfirmButton(self.消息通知) - self.消息通知.setWindowFlags(Qt.Window | Qt.WindowTitleHint - | Qt.CustomizeWindowHint) - self.消息通知.addButton(confirm, QMessageBox.YesRole) - except Exception as error: - pass - self.版本提示.setWindowIcon(self.icon) - self.配置错误.setWindowIcon(self.icon) - - if 自动检查更新 == 0: - try: - self.网盘检查() - if self.网盘报错 == 1: - self.报错提示 = QMessageBox(QMessageBox.Question, "提示", - trans("无法自动检查更新,请在每周三/四自行前往检查版本")) - self.报错提示.setWindowIcon(self.icon) - # box.exec_() - if self.网盘链接 != '': - m_red_SheetStyle = "padding-left:3px;min-width: 25px; min-height: 16px;border-radius: 5px; background:red;color:white" - label = QLabel("New", self.topFiller) - label.move(115 + 4 * 125 + 90, 30 + (count + 1) * 100) - label.setStyleSheet(m_red_SheetStyle) - except Exception as error: - pass - count += 1 - count += 1 - - # butten = QtWidgets.QPushButton('打 赏', self.topFiller) - # butten.clicked.connect(lambda state, index=count: self.打赏()) - # butten.move(100 + 偏移量 + 4 * 125, 10 + (count + 1) * 100) - # butten.setStyleSheet(按钮样式3) - # butten.resize(121, 90) - # count += 1 - - butten = QtWidgets.QPushButton('', self.topFiller) - butten.clicked.connect(lambda state, index=count: self.打开链接( - ['http://dnf.17173.com/?jsq'], "首页")) - butten.move(100 + 偏移量 + 4 * 125, 10 + (count + 1) * 100) - butten.setStyleSheet(按钮样式3) - butten.resize(121, 90) - count += 1 - - self.scroll = QScrollArea() - self.scroll.setFrameShape(QFrame.NoFrame) - self.scroll.setStyleSheet("QScrollArea {background-color:transparent}") - self.scroll.setStyleSheet(游戏滚动条样式模拟) - self.scroll.viewport().setStyleSheet("background-color:transparent") - self.scroll.setWidget(self.topFiller) - self.vbox = QVBoxLayout() - self.vbox.addWidget(self.scroll) - self.setLayout(self.vbox) - - def openSet(self): - increase_counter(ga_category="其余功能使用", name="设置") - self.processpid = [] - self.setWindow = SetWindows(self.worker, self) - # self.setWindow._signal.connect(self.closeSet) - self.win = MainWindow(self.setWindow) - self.win.show() - - def closeSet(self, parameter): - if parameter == 1: - win.close() - - def 打开窗口(self, name): - if self.char_window != None: - self.char_window.close() - if "." in name: - className = name.split(".")[1] - else: - className = name - module_name = "Characters." + name - 职业 = importlib.import_module(module_name) - char = eval("职业." + className + '()') - increase_counter(ga_category="职业使用", name=className) - if get_mac_address() != '': - increase_counter(ga_category="用户职业使用", name=get_mac_address()) - try: - self.char_window = MainWindow(char) - self.char_window.show() - except Exception as e: - print(e) - - def 打赏(self): - self.w = QWidget() - self.w.resize(300, 300) - self.w.setWindowTitle('打赏-微信') - self.w.setWindowIcon(self.icon) - 主背景 = QLabel(self.w) - 赞赏码 = QPixmap() - 赞赏码.loadFromData(base64.b64decode(img.二维码)) - 主背景.setPixmap(赞赏码) - increase_counter(ga_category="其余功能使用", name="打赏") - self.w.show() - - def 弹窗警告(self, reason): - box = QMessageBox( - QMessageBox.Question, "提示", - "{}由于{},您已被限制使用计算器,每次开启仅能随机使用一个职业
    如需解除,请于设置=>解除限制内申请".format( - get_mac_address(), reason)) - box.setWindowIcon(self.icon) - box.setStandardButtons(QMessageBox.Yes) - box.exec_() - - def 职业版本判断(self, index): - try: - if index["类名2"] == '无': - self.打开窗口(index["类名"]) - return - else: - box = QMessageBox(QMessageBox.Question, "提示", "请选择要打开的版本") - box.setWindowIcon(self.icon) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No - | QMessageBox.Cancel) - if index["序号"] in ["40", "41"]: - if index["类名3"] != '无': - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No - | QMessageBox.YesToAll - | QMessageBox.Cancel) - A = box.button(QMessageBox.Yes) - B = box.button(QMessageBox.No) - A.setText('BUFF') - B.setText('战斗') - if index["类名3"] != '无': - C = box.button(QMessageBox.YesToAll) - C.setText('前瞻版本-战斗') - else: - A = box.button(QMessageBox.Yes) - B = box.button(QMessageBox.No) - A.setText('国服版本') - B.setText('前瞻版本') - - E = box.button(QMessageBox.Cancel) - E.setText('取消') - box.exec_() - try: - if box.clickedButton() == A: - self.打开窗口(index["类名"]) - elif box.clickedButton() == B: - self.打开窗口(index["类名2"]) - elif box.clickedButton() == C: - self.打开窗口(index["类名3"]) - # elif box.clickedButton() == D: - # self.打开窗口(index["类名4"]) - else: - return - except Exception as error: - pass - except Exception as error: - logger.error("error={} \n detail {}".format( - error, traceback.print_exc())) - return - - def 打开链接(self, url, name=''): - if name != '': - increase_counter(ga_category="其余功能使用", name=name) - for i in url: - QDesktopServices.openUrl(QUrl(i)) - - def 检查更新(self): - increase_counter(ga_category="其余功能使用", name="检查更新") - self.网盘检查() - if self.网盘报错 == 1: - box = QMessageBox(QMessageBox.Question, "提示", "无法自动检查更新,请手动前往官网下载") - box.setWindowIcon(self.icon) - box.exec_() - elif self.网盘链接 == '': - box = QMessageBox(QMessageBox.Question, "提示", "已经是最新版本计算器!") - box.setWindowIcon(self.icon) - box.exec_() - else: - box = QMessageBox(QMessageBox.Question, "提示", "检测到新的计算器版本,是否更新?") - box.setWindowIcon(self.icon) - box.setStandardButtons(QMessageBox.Yes | QMessageBox.No - | QMessageBox.Cancel) - A = box.button(QMessageBox.Yes) - B = box.button(QMessageBox.No) - C = box.button(QMessageBox.Cancel) - A.setText("首页查看更新") - B.setText("自动更新") - C.setText(trans("取消")) - box.exec_() - if box.clickedButton() == B: - self.update() - if box.clickedButton() == A: - QDesktopServices.openUrl(QUrl('http://dnf.17173.com/jsq/?khd')) - - def processBar(self, process): - if process < 100: - self.pbar.setFormat("Downloading..." + str(process) + '%') - self.pbar.setValue(process) - else: - self.遮罩.hide() - self.pbar.hide() - path = os.getcwd() - box = QMessageBox(QMessageBox.Question, "提示", - "升级完毕,确定后打开最新版本,删除当前旧版本!") - box.setWindowIcon(self.icon) - box.setStandardButtons(QMessageBox.Yes) - A = box.button(QMessageBox.Yes) - A.setText(trans("确定")) - box.exec_() - if box.clickedButton() == A: - for p in self.worker: - if p.is_alive: - p.terminate() - p.join() - newpath = os.path.join(os.getcwd(), "DNF计算器 17173DNF.exe") - oldpath = sys.argv[0] + '.del' - p = subprocess.Popen( - [ - newpath, - str(主进程PID), - str(oldpath) - # "--cwd", dirpath, - # "--exe_name", filename, - ], - shell=True, - creationflags=subprocess.CREATE_NEW_PROCESS_GROUP - | subprocess.DETACHED_PROCESS, - stdin=subprocess.PIPE, - stdout=subprocess.PIPE, - stderr=subprocess.PIPE) - p.wait() - self._signal.emit(1) - - def update(self): - self.遮罩 = QLabel(self) - self.遮罩.setStyleSheet("QLabel{background-color:rgba(0,0,0,0.8)}") - self.遮罩.resize(805, 625) - self.遮罩.move(0, 0) - self.遮罩.show() - self.pbar = QProgressBar(self) - self.pbar.setGeometry(30, 40, 200, 25) - self.pbar.move(325, 300) - self.pbar.setStyleSheet(''' - QProgressBar{ - border: 2px solid grey; - border-radius:5px; - text-align:center; - } - QProgressBar::chunk { - background-color: #05B8CC; - width: 10px; - } - ''') - self.pbar.setFormat("Downloading...") - self.pbar.show() - self.thread = Worker(fileURL=self.网盘链接) - self.thread.sinOut.connect(self.processBar) - self.thread.start() - - -class SetWindows(QWidget): - # _signal = QtCore.pyqtSignal(int) - - def __init__(self, worker, parWin): - super().__init__() - self.worker = worker - self.parWin = parWin - self.ui() - self.read() - - def closeEvent(self, event): - self.保存设置() - super().closeEvent(event) - - def read(self): - if not os.path.exists("ResourceFiles/Config/set.json"): - return - with open("ResourceFiles/Config/set.json", encoding='utf-8') as fp: - set_info = json.load(fp) - fp.close() - for i in set_info.keys(): - try: - self.ComboBoxList[int(i)].setCurrentIndex(set_info[i]) - except: - pass - - def ui(self): - self.setStyleSheet('''QToolTip { - background-color: black; - color: white; - border: 0px - }''') - self.height = 625 - with open(trans("ResourceFiles/Config/config.json"), - encoding='utf-8') as fp: - self.height = len(json.load(fp)) * 50 + 20 - fp.close() - - self.setMinimumSize(805, 625) - self.setWindowTitle(trans('全局设置选项(需重启计算器生效)')) - self.icon = QIcon('ResourceFiles/img/logo.ico') - self.setWindowIcon(self.icon) - - self.topFiller = QWidget() - self.topFiller.setMinimumSize(750, self.height) - bgcolor = QLabel(self) - bgcolor.resize(805, 625) - bgcolor.setStyleSheet("QLabel{background:url('" + - trans('ResourceFiles/img/分类') + "/bg.png')}") - - with open(trans("ResourceFiles/Config/Config.json"), - encoding='utf-8') as fp: - set_info = json.load(fp) - fp.close() - - self.ComboBoxList = {} - num = 0 - for i in set_info: - txt_box = QLabel(self.topFiller) - txt_box.setText('{}. {}'.format(num + 1, i['说明'])) - txt_box.resize(700, 20) - txt_box.move(50, 10 + 50 * num) - txt_box.setStyleSheet( - 'QLabel{font-size:13px;color:rgb(175,148,89)}') - txt2_box = QLabel(self.topFiller) - txt2_box.setText(i['名称']) - txt2_box.resize(70, 20) - txt2_box.move(60, 30 + 50 * num + 5) - txt2_box.setStyleSheet( - 'QLabel{font-size:13px;color:rgb(175,148,89)}') - self.ComboBoxList[num] = MyQComboBox(self.topFiller, - useWheel=False) - self.ComboBoxList[num].addItems(i['选项']) - self.ComboBoxList[num].resize(100, 20) - self.ComboBoxList[num].move(50 + 80, 30 + 50 * num + 5) - self.ComboBoxList[num].setCurrentIndex(i['default']) - num += 1 - - self.scroll = QScrollArea() - self.scroll.setFrameShape(QFrame.NoFrame) - self.scroll.setStyleSheet("QScrollArea {background-color:transparent}") - self.scroll.setStyleSheet(游戏滚动条样式模拟) - self.scroll.viewport().setStyleSheet("background-color:transparent") - self.scroll.setWidget(self.topFiller) - self.vbox = QVBoxLayout() - self.vbox.addWidget(self.scroll) - self.setLayout(self.vbox) - - def 保存设置(self): - set_data = {} - for i in self.ComboBoxList.keys(): - set_data[i] = self.ComboBoxList[i].currentIndex() - with open("ResourceFiles/Config/set.json", "w", - encoding='utf-8') as fp: - json.dump(set_data, fp) - fp.close() - box = QMessageBox(QMessageBox.Warning, "提示", "保存完毕,重启计算器才能生效,是否重启") - box.setWindowIcon(self.icon) - yes = box.addButton(self.tr(trans("确定")), QMessageBox.YesRole) - no = box.addButton(self.tr(trans("取消")), QMessageBox.NoRole) - box.exec_() - if box.clickedButton() == yes: - self.立即重启() - - # def 返回原页(self): - # #用self.close()无法关闭,所以用发射信号的方法在父窗口关闭页面 - # self.是否保存 = 0 - # data_int = 1 - # # 发送信号 - # self._signal.emit(data_int) - - def 立即重启(self): - for p in self.worker: - if p.is_alive: - p.terminate() - p.join() - # self.close() - self.parWin.close() - if 目录.endswith('py'): - python = sys.executable - os.execl(python, python, *sys.argv) - else: - os.startfile(目录) - # 用的是杀死进程的方法,有机会改改 - os.system("taskkill /pid {} -f".format(主进程PID)) - # self.close() - - -if __name__ == '__main__': - 主进程PID = os.getpid() - 目录 = sys.argv[0] - if len(sys.argv) > 1: - try: - # 杀老进程 - os.system("taskkill /pid {} -f".format(sys.argv[1])) - time.sleep(2) - if ("main.py" not in sys.argv[2]) and ("del" in sys.argv[2]): - # 删除老版本 - os.remove(sys.argv[2]) - # shutil.rmtree('download') - except Exception as error: - logger.error("error={} \n detail {}".format( - error, traceback.print_exc())) - if 窗口显示模式 == 1: - if hasattr(qtc.Qt, 'AA_EnableHighDpiScaling'): - QtWidgets.QApplication.setAttribute(qtc.Qt.AA_EnableHighDpiScaling, - True) - if hasattr(qtc.Qt, 'AA_UseHighDpiPixmaps'): - QtWidgets.QApplication.setAttribute(qtc.Qt.AA_UseHighDpiPixmaps, - True) - app = QApplication([]) +global BASE_URL +def kill(proc_pid): try: - instance = 选择窗口() - instance._signal.connect(instance.closeSet) - win = MainWindow(instance) - win.show() - except Exception as error: - logger.error("error={} \n detail {}".format(error, - traceback.print_exc())) - - 用户须知 = False - - try: - instance.报错提示.exec() - except Exception as error: + if proc_pid is not None and proc_pid > 0: + process = psutil.Process(proc_pid) + for proc in process.children(recursive=True): + proc.kill() + process.kill() + except Exception: pass - if "main.py" not in sys.argv[0]: - try: - with open("ResourceFiles/Config/release_version.json", "r+") as fp: - versionInfo = json.load(fp) - 展示信息 = versionInfo['ShowChangeLog'] - 用户须知 = versionInfo['agreement'] - versionInfo['ShowChangeLog'] = False - fp.seek(0) - json.dump(versionInfo, fp, ensure_ascii=False) - fp.truncate() - fp.close() - if not os.path.exists("ResourceFiles/Config/notice_version.json"): - with open("ResourceFiles/Config/notice_version.json", - "w", - encoding='utf-8') as fp: - json.dump({"time": ""}, fp) - pass - with open("ResourceFiles/Config/notice_version.json", "r+") as fp: - versionInfo = json.load(fp) - 通知时间 = versionInfo['time'] - versionInfo['time'] = instance.通知时间 - fp.seek(0) - json.dump(versionInfo, fp, ensure_ascii=False) - fp.truncate() - fp.close() - if ("main.py" not in sys.argv[0]) and 配置格式有误: - instance.配置错误.exec() - if not 用户须知: - instance.版本提示.exec() - if instance.版本提示.clickedButton() == instance.版本提示A: - with open("ResourceFiles/Config/release_version.json", - "r+") as fp: - versionInfo = json.load(fp) - versionInfo['agreement'] = True - 用户须知 = True - fp.seek(0) - json.dump(versionInfo, fp, ensure_ascii=False) - fp.truncate() - fp.close() - else: - os.system("taskkill /pid {} -f".format(主进程PID)) - if ("main.py" not in sys.argv[0] - ) and instance.通知时间 != 通知时间 and 多语言开关 == 0 and 自动检查更新 == 0: - instance.消息通知.exec() - if ("main.py" not in sys.argv[0]) and 展示信息 and 多语言开关 == 0: - QDesktopServices.openUrl( - QUrl('http://dnf.17173.com/jsq/changlog.html#/')) +def get_pid_by_port(port): + for conn in psutil.net_connections(): + if conn.laddr.port == port: + return conn.pid + return None - except Exception as error: - logger.error("error={} \n detail {}".format( - error, traceback.print_exc())) - pass +class WIN: + def __init__(self,url="",width=800,height=600): + self.window = webview.create_window("DNF计算器",url=BASE_URL + url,frameless=True,easy_drag=False,width=width,height=height) + self.window.expose(self.invoke) + + # def onShow(self): + # print("show") + + def invoke(self,commond = "",arg = None): + if commond == "close-win": + self.window.destroy() + if commond == "minimize-win": + self.window.minimize() + if commond == "open-win": + WIN(arg.get("url",""),width=arg.get("width"),height=arg.get("height")) + + +if __name__ == "__main__": + # 启动服务 + # 创建webview窗口 + # 启动webview事件循环 + + env = "release" + for i in sys.argv: + if i.startswith("--dev"): + env = "dev" + break + p = 0 + q = 0 + if env == "dev": + # print(get_pid_by_port(17173),get_pid_by_port(25252)) + kill(get_pid_by_port(17173)) + p = subprocess.Popen(f'python ./api/main.py',shell=True).pid + kill(get_pid_by_port(25252)) + q = subprocess.Popen(f'vite ./packages/renderer',shell=True).pid + BASE_URL = "http://127.0.0.1:25252" else: - 用户须知 = True - if 用户须知: - instance.thread_init() - app.exec_() + kill(get_pid_by_port(17173)) + p = subprocess.Popen(f'.\\resources\\dnfcalc-api.exe',shell=True).pid + BASE_URL = "http://127.0.0.1:17173" + view = WIN() + view.window.events.closing += lambda : kill(p) + view.window.events.closing += lambda : kill(q) + webview.start(debug=env=='dev') diff --git a/package.json b/package.json new file mode 100644 index 00000000..0ca065ba --- /dev/null +++ b/package.json @@ -0,0 +1,60 @@ +{ + "name": "dcalc", + "version": "2024.09.06", + "license": "GNU", + "keywords": [ + "vite", + "electron", + "vue", + "dnf", + "dcalc" + ], + "main": "./dist/app/main/index.cjs", + "engines": { + "node": ">=14.17.0" + }, + "scripts": { + "dev": "pnpm dev:app", + "dev:server": "python ./api/main.py", + "dev:web": "vite ./packages/renderer", + "dev:app": "node scripts/watch.mjs", + "dev:webview": "python ./api/client.py --dev", + "build:web": "vite build ./packages/renderer --mode web", + "prepare": "simple-git-hooks", + "clean:pycache": "rimraf ./**/__pycache__", + "clean:deps": "rimraf ./**/node_modules & npm cache clean --force", + "up:deps": "taze -r major", + "release": "bumpp package.json packages/*/package.json --commit \"release: v\" --push --tag", + "git": "git fetch --all & git reset --hard origin/master & git pull & git submodule foreach git pull & git remote prune origin", + "lint": "eslint --ext .js,.ts,.vue packages/**", + "typecheck": "pnpm -C ./packages/renderer run typecheck" + }, + "devDependencies": { + "@curev/eslint-config": "^0.2.1", + "bumpp": "^9.2.0", + "dayjs": "^1.11.10", + "electron": "22.3.12", + "eslint": "^8.53.0", + "eslint-formatter-mo": "^1.2.0", + "lint-staged": "^15.0.2", + "rimraf": "^5.0.5", + "simple-git-hooks": "^2.9.0", + "sortablejs": "1.15.0", + "taze": "^0.12.0", + "typescript": "^5.2.2", + "vite": "^4.5.0" + }, + "simple-git-hooks": { + "pre-commit": "npx lint-staged" + }, + "lint-staged": { + "**.{js,tsx?,vue,css,scss,html}": [ + "eslint --fix " + ] + }, + "env": { + "//": "Used in build scripts", + "VITE_DEV_SERVER_HOST": "127.0.0.1", + "VITE_DEV_SERVER_PORT": 25252 + } +} \ No newline at end of file diff --git a/packages/main/index.ts b/packages/main/index.ts new file mode 100644 index 00000000..baf82b68 --- /dev/null +++ b/packages/main/index.ts @@ -0,0 +1,217 @@ +import { join } from "node:path" +import path from "path" +import { BrowserWindow, app, ipcMain, screen, shell } from "electron" +import { startServer, stopServer } from "./server" + + +// Disable GPU Acceleration for Windows 7 +// if (release().startsWith("6.1")) +app.disableHardwareAcceleration() +// Set application name for Windows 10+ notifications +if (process.platform === "win32") { + app.setAppUserModelId(app.getName()) +} + +process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = "true" + +if (!app.requestSingleInstanceLock()) { + app.quit() + process.exit(0) +} + +let win: BrowserWindow | null = null + +const storage:any = {} + +let factor = 1.0 + +async function createWindow() { + factor = Math.min(screen.getPrimaryDisplay().workAreaSize.height * 0.75 / 680, screen.getPrimaryDisplay().scaleFactor); + win = new BrowserWindow({ + frame: false, + width: Math.round(920 * factor), + height: Math.round(680 * factor), + resizable: false, + icon: join(__dirname, "../renderer/favicon.ico"), + webPreferences: { + preload: join(__dirname, "../preload/index.cjs"), + nodeIntegration: true, + contextIsolation: false, + webSecurity: false, + devTools: import.meta.env.DEV, + partition: String(+new Date()), + zoomFactor: factor + } + }) + win.setMenuBarVisibility(false) + + win.webContents.session.clearCache() + + if (app.isPackaged) { + win.loadURL(`http://localhost:17173?r=${Math.random()}`) + // win.webContents.reloadIgnoringCache() + } else { + // 🚧 Use ['ENV_NAME'] avoid vite:define plugin + const url = `http://${process.env.VITE_DEV_SERVER_HOST}:${process.env.VITE_DEV_SERVER_PORT}?r=${Math.random()}` + win.loadURL(url) + // win.webContents.openDevTools({ mode: "undocked", activate: true }) + } + + // Test active push message to Renderer-process + // win.webContents.on("did-finish-load", () => { + // win?.webContents.send("main-process-message", new Date().toLocaleString()) + // }) + + // Make all links open with the browser, not with the application + win.webContents.setWindowOpenHandler(({ url }) => { + const { origin } = new URL(url) + if (origin != "localhost") { + shell.openExternal(url) + } + return { action: "deny" } + }) + + win.webContents.closeDevTools() + + win.setMenuBarVisibility(false) + + // 注册自定义协议 + const agreement = 'dcalc' // 自定义协议名 + let isSet = false // 是否注册成功 + + app.removeAsDefaultProtocolClient(agreement) // 每次运行都删除自定义协议 然后再重新注册 + // 开发模式下在window运行需要做兼容 + if (process.env.NODE_ENV === 'development' && process.platform === 'win32') { + // 设置electron.exe 和 app的路径 + isSet = app.setAsDefaultProtocolClient(agreement, process.execPath, [ + path.resolve(process.argv[1]), + ]) + } else { + isSet = app.setAsDefaultProtocolClient(agreement) + } +} + +startServer() + +setTimeout(() => { + app.whenReady().then(createWindow) +}, 5000) + +app.on("window-all-closed", () => { + win = null + app.quit() +}) + +app.on("quit", () => { + stopServer().then(() => { + console.log("app quit.") + app.exit(0) + }) +}) + +app.on("second-instance", (event,commandLine) => { + let uid = undefined + const command = commandLine.find(a=>a.startsWith("dcalc://")) + if(!!command){ + uid = command.split('uid=')?.[1] ?? "" + } + storage["uid"] = decodeURIComponent(uid ?? "") + if (win) { + // Focus on the main window if the user tried to open another + if (win.isMinimized()) { + win.restore() + } + if (!undefined){ + win.reload() + } + win.focus() + } +}) + +app.on("activate", () => { + const allWindows = BrowserWindow.getAllWindows() + if (allWindows.length) { + allWindows[0].focus() + } else { + createWindow() + } +}) + + +ipcMain.handle("open-win", (event, arg) => { + const childWindow = new BrowserWindow({ + width: Math.round(arg.width * factor), + height: Math.round(arg.height * factor), + resizable: false, + frame: false, + icon: join(__dirname, "../renderer/favicon.ico"), + webPreferences: { + preload: join(__dirname, "../preload/index.cjs"), + webSecurity: false, + nodeIntegration: true, + contextIsolation: false, + partition: String(+new Date()), + zoomFactor: factor + } + }) + + childWindow.webContents.session.clearCache() + + if (app.isPackaged) { + const url = `http://localhost:17173${arg.url}` + childWindow.loadURL(url) + // childWindow.webContents.reloadIgnoringCache() + } else { + // 🚧 Use ['ENV_NAME'] avoid vite:define plugin + const url = `http://${process.env.VITE_DEV_SERVER_HOST}:${process.env.VITE_DEV_SERVER_PORT}${arg.url}` + childWindow.loadURL(url) + // childWindow.webContents.openDevTools({ mode: "undocked", activate: true }) + } +}) + +ipcMain.handle("minimize-win", event => { + const window = BrowserWindow.fromWebContents(event.sender) + if (window) { + window.minimize() + } +}) + +ipcMain.handle("close-win", event => { + const window = BrowserWindow.fromWebContents(event.sender) + if (window) { + window.close() + } +}) + +ipcMain.handle("restart", () => { + win?.webContents.session.clearCache().then(() => { + app.relaunch() + app.quit() + console.log("restart...") + }) +}) + +ipcMain.handle("getStorage", (event, arg) => { + return storage[arg] ?? undefined +}) + +ipcMain.handle("getVersion", () => { + return app.getVersion() +}) + +ipcMain.handle("setStorage", (event, arg) => { + Object.defineProperty(storage, arg.key, { + value: arg.value, + writable: true, + enumerable: true, + configurable: true + }) +}) + +ipcMain.handle("open-url", (event, url) => { + shell.openExternal(url) +}) + +process.on("exit", () => { + app.quit() +}) diff --git a/packages/main/package.json b/packages/main/package.json new file mode 100644 index 00000000..9ee7ca08 --- /dev/null +++ b/packages/main/package.json @@ -0,0 +1,23 @@ +{ + "name": "dcalc-main", + "version": "2022.6.6", + "license": "GNU", + "scripts": { + "build": "vite build" + }, + "engines": { + "node": ">=14.17.0" + }, + "dependencies": { + "axios": "^1.6.0" + }, + "devDependencies": { + "electron": "22.3.12", + "vite": "^4.5.0" + }, + "env": { + "//": "Used in build scripts", + "VITE_DEV_SERVER_HOST": "127.0.0.1", + "VITE_DEV_SERVER_PORT": 25252 + } +} diff --git a/packages/main/server.ts b/packages/main/server.ts new file mode 100644 index 00000000..4dda4667 --- /dev/null +++ b/packages/main/server.ts @@ -0,0 +1,78 @@ +import child_process from "node:child_process" +import { join } from "node:path" +import { app } from "electron" + +const port: number = 17173 + +let instance: child_process.ChildProcess + +/** + * 开启python的api服务 + * @returns + */ +export function startServer() { + judgeServerOpen(port).then(async res => { + if (res) { + console.log(`${port} is in used"`) + await stopServer() + } + if (app.isPackaged) { + // exec不会报错 spawn会抛错 + instance = child_process.exec("\"./resources/dnfcalc-api.exe\"", (_, stdout: any) => { + console.log(stdout) + }) + console.log("server started.") + return + } + + const execCommand = process.platform === "win32" ? "python" : "python3" + + instance = child_process.spawn(execCommand, [join(__dirname, "../../../api/main.py"), `${port}`]) + + if (instance) { + console.log("server started.") + instance.stdout?.pipe(process.stdout) + instance.stderr?.pipe(process.stderr) + instance.stdin?.pipe(process.stdin) + } + }) +} + +/** + * 判断端口是否被占用 + * @param port 端口号 + * @returns 该端口是否被占用 + */ +function judgeServerOpen(port: number): Promise { + const order = `netstat -ano|findstr "${port}"` + return new Promise(resolve => { + child_process.exec(order, (_: any, stdout: any) => { + if (stdout === "") { + resolve(false) + } else { + resolve(true) + } + }) + }) +} + +/** + * 关闭python的api服务 + * @returns + */ +export function stopServer(): Promise { + const order = process.platform == "win32" ? "taskkill /f /im dnfcalc-api.exe" : "taskkill /f /im python.exe" + + return new Promise(resolve => { + if (instance) { + if (instance.kill(0) && instance.kill()) { + console.log("server stoped.") + } + resolve("server stoped.") + } + child_process.exec(order, (_, stdout: string) => { + // TODO 关闭python api + resolve(stdout) + }) + }) +} diff --git a/packages/main/vite.config.ts b/packages/main/vite.config.ts new file mode 100644 index 00000000..a9b7fae0 --- /dev/null +++ b/packages/main/vite.config.ts @@ -0,0 +1,25 @@ +import { builtinModules } from "node:module" +import { defineConfig } from "vite" +import pkg from "./package.json" + +export default defineConfig({ + root: __dirname, + build: { + outDir: "../../dist/app/main", + lib: { + entry: "index.ts", + formats: ["cjs"], + fileName: () => "[name].cjs" + }, + /* from mode option */ + minify: process.env.NODE_ENV === "production", + /* from mode option */ + sourcemap: process.env.NODE_ENV == "development", + rollupOptions: { + external: ["electron", + ...builtinModules, + ...builtinModules.map((m) => `node:${m}`), + ...Object.keys(pkg.devDependencies || {})] + } + } +}) diff --git a/packages/preload/index.ts b/packages/preload/index.ts new file mode 100644 index 00000000..ac4adf3d --- /dev/null +++ b/packages/preload/index.ts @@ -0,0 +1,28 @@ +import { ipcRenderer } from "electron" +import { useLoading } from "./loading" + +const { appendLoading, removeLoading } = useLoading() +window.removeLoading = removeLoading +window.pywebview = { + api: ipcRenderer +} +// window.sharedObject = { +// storage: "test" +// } + +/** docoment ready */ +function domReady(condition: DocumentReadyState[] = ["complete", "interactive"]) { + return new Promise(resolve => { + if (condition.includes(document.readyState)) { + resolve(true) + } else { + document.addEventListener("readystatechange", () => { + if (condition.includes(document.readyState)) { + resolve(true) + } + }) + } + }) +} + +domReady().then(appendLoading) diff --git a/packages/preload/loading.ts b/packages/preload/loading.ts new file mode 100644 index 00000000..5887babf --- /dev/null +++ b/packages/preload/loading.ts @@ -0,0 +1,71 @@ +/** + * https://tobiasahlin.com/spinkit + * https://connoratherton.com/loaders + * https://projects.lukehaas.me/css-loaders + * https://matejkustec.github.io/SpinThatShit + */ + +const safe = { + append(parent: HTMLElement, child: HTMLElement) { + if (!Array.from(parent.children).find(e => e === child)) { + return parent.appendChild(child) + } + }, + remove(parent: HTMLElement, child: HTMLElement) { + if (Array.from(parent.children).find(e => e === child)) { + return parent.removeChild(child) + } + } +} + +export function useLoading() { + const className = "loaders-css__square-spin" + const styleContent = ` +@keyframes square-spin { + 25% { transform: perspective(100px) rotateX(180deg) rotateY(0); } + 50% { transform: perspective(100px) rotateX(180deg) rotateY(180deg); } + 75% { transform: perspective(100px) rotateX(0) rotateY(180deg); } + 100% { transform: perspective(100px) rotateX(0) rotateY(0); } +} +.${className} > div { + // animation-fill-mode: both; + width: 210px; + height: 213px; + // background: rgba(0,0,0,0); + background-image: url("/images/loading.gif"); + // animation: square-spin 3s 0s cubic-bezier(0.09, 0.57, 0.49, 0.9) infinite; +} +.app-loading-wrap { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; + background: #282c34; + z-index: 9; +} + ` + const oStyle = document.createElement("style") + const oDiv = document.createElement("div") + + oStyle.id = "app-loading-style" + oStyle.innerHTML = styleContent + oDiv.className = "app-loading-wrap" + oDiv.innerHTML = `
    +
    ` + + return { + appendLoading() { + safe.append(document.head, oStyle) + safe.append(document.body, oDiv) + }, + removeLoading() { + safe.remove(document.head, oStyle) + safe.remove(document.body, oDiv) + } + } +} + diff --git a/packages/preload/package.json b/packages/preload/package.json new file mode 100644 index 00000000..a9b5ec9d --- /dev/null +++ b/packages/preload/package.json @@ -0,0 +1,20 @@ +{ + "name": "dcalc-preload", + "version": "2022.6.6", + "license": "GNU", + "scripts": { + "build": "vite build" + }, + "engines": { + "node": ">=14.17.0" + }, + "devDependencies": { + "electron": "22.3.12", + "vite": "^4.5.0" + }, + "env": { + "//": "Used in build scripts", + "VITE_DEV_SERVER_HOST": "127.0.0.1", + "VITE_DEV_SERVER_PORT": 25252 + } +} diff --git a/packages/preload/vite.config.ts b/packages/preload/vite.config.ts new file mode 100644 index 00000000..2a9909d3 --- /dev/null +++ b/packages/preload/vite.config.ts @@ -0,0 +1,25 @@ +import { builtinModules } from "node:module" +import { defineConfig } from "vite" +import pkg from "../../package.json" + +export default defineConfig({ + root: __dirname, + build: { + outDir: "../../dist/app/preload", + lib: { + entry: "index.ts", + formats: ["cjs"], + fileName: () => "[name].cjs" + }, + /* from mode option */ + sourcemap: process.env.NODE_ENV == "development", + /* from mode option */ + minify: process.env.NODE_ENV === "production", + // emptyOutDir: true, + rollupOptions: { + external: ["electron", ...builtinModules, + ...builtinModules.map((m) => `node:${m}`), + ...Object.keys(pkg.devDependencies || {})] + } + } +}) diff --git a/ResourceFiles/img/头像/67.PNG b/packages/renderer/imagesrc/adventure/jobs/agent.png similarity index 100% rename from ResourceFiles/img/头像/67.PNG rename to packages/renderer/imagesrc/adventure/jobs/agent.png diff --git a/ResourceFiles/img/头像/25.PNG b/packages/renderer/imagesrc/adventure/jobs/assault.png similarity index 100% rename from ResourceFiles/img/头像/25.PNG rename to packages/renderer/imagesrc/adventure/jobs/assault.png diff --git a/packages/renderer/imagesrc/adventure/jobs/asura.png b/packages/renderer/imagesrc/adventure/jobs/asura.png new file mode 100644 index 00000000..b3be698f Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/asura.png differ diff --git a/ResourceFiles/img/头像/44.PNG b/packages/renderer/imagesrc/adventure/jobs/avenger.png similarity index 100% rename from ResourceFiles/img/头像/44.PNG rename to packages/renderer/imagesrc/adventure/jobs/avenger.png diff --git a/ResourceFiles/img/头像/38.PNG b/packages/renderer/imagesrc/adventure/jobs/battle_mage.png similarity index 100% rename from ResourceFiles/img/头像/38.PNG rename to packages/renderer/imagesrc/adventure/jobs/battle_mage.png diff --git a/ResourceFiles/img/头像/3.PNG b/packages/renderer/imagesrc/adventure/jobs/berserker.png similarity index 100% rename from ResourceFiles/img/头像/3.PNG rename to packages/renderer/imagesrc/adventure/jobs/berserker.png diff --git a/ResourceFiles/img/头像/33.PNG b/packages/renderer/imagesrc/adventure/jobs/blood_mage.png similarity index 100% rename from ResourceFiles/img/头像/33.PNG rename to packages/renderer/imagesrc/adventure/jobs/blood_mage.png diff --git a/ResourceFiles/img/language/分类/16.PNG b/packages/renderer/imagesrc/adventure/jobs/border.png similarity index 100% rename from ResourceFiles/img/language/分类/16.PNG rename to packages/renderer/imagesrc/adventure/jobs/border.png diff --git a/ResourceFiles/img/头像/18.PNG b/packages/renderer/imagesrc/adventure/jobs/brawler_female.png similarity index 100% rename from ResourceFiles/img/头像/18.PNG rename to packages/renderer/imagesrc/adventure/jobs/brawler_female.png diff --git a/ResourceFiles/img/头像/13.PNG b/packages/renderer/imagesrc/adventure/jobs/brawler_male.png similarity index 100% rename from ResourceFiles/img/头像/13.PNG rename to packages/renderer/imagesrc/adventure/jobs/brawler_male.png diff --git a/ResourceFiles/img/头像/57.PNG b/packages/renderer/imagesrc/adventure/jobs/chaos.png similarity index 100% rename from ResourceFiles/img/头像/57.PNG rename to packages/renderer/imagesrc/adventure/jobs/chaos.png diff --git a/ResourceFiles/img/头像/71.PNG b/packages/renderer/imagesrc/adventure/jobs/creator.png similarity index 100% rename from ResourceFiles/img/头像/71.PNG rename to packages/renderer/imagesrc/adventure/jobs/creator.png diff --git a/ResourceFiles/img/头像/46.PNG b/packages/renderer/imagesrc/adventure/jobs/crusader_female.png similarity index 100% rename from ResourceFiles/img/头像/46.PNG rename to packages/renderer/imagesrc/adventure/jobs/crusader_female.png diff --git a/ResourceFiles/img/头像/41.PNG b/packages/renderer/imagesrc/adventure/jobs/crusader_male.png similarity index 100% rename from ResourceFiles/img/头像/41.PNG rename to packages/renderer/imagesrc/adventure/jobs/crusader_male.png diff --git a/ResourceFiles/img/头像/72.PNG b/packages/renderer/imagesrc/adventure/jobs/dark_knight.png similarity index 100% rename from ResourceFiles/img/头像/72.PNG rename to packages/renderer/imagesrc/adventure/jobs/dark_knight.png diff --git a/ResourceFiles/img/头像/7.PNG b/packages/renderer/imagesrc/adventure/jobs/dark_templar.png similarity index 100% rename from ResourceFiles/img/头像/7.PNG rename to packages/renderer/imagesrc/adventure/jobs/dark_templar.png diff --git a/ResourceFiles/img/头像/8.PNG b/packages/renderer/imagesrc/adventure/jobs/demon_slayer.png similarity index 100% rename from ResourceFiles/img/头像/8.PNG rename to packages/renderer/imagesrc/adventure/jobs/demon_slayer.png diff --git a/ResourceFiles/img/头像/35.PNG b/packages/renderer/imagesrc/adventure/jobs/dimension_walker.png similarity index 100% rename from ResourceFiles/img/头像/35.PNG rename to packages/renderer/imagesrc/adventure/jobs/dimension_walker.png diff --git a/ResourceFiles/img/头像/59.PNG b/packages/renderer/imagesrc/adventure/jobs/dragon_knight.png similarity index 100% rename from ResourceFiles/img/头像/59.PNG rename to packages/renderer/imagesrc/adventure/jobs/dragon_knight.png diff --git a/ResourceFiles/img/头像/63.PNG b/packages/renderer/imagesrc/adventure/jobs/dragoon.png similarity index 100% rename from ResourceFiles/img/头像/63.PNG rename to packages/renderer/imagesrc/adventure/jobs/dragoon.png diff --git a/ResourceFiles/img/头像/31.PNG b/packages/renderer/imagesrc/adventure/jobs/elemental_bomber.png similarity index 100% rename from ResourceFiles/img/头像/31.PNG rename to packages/renderer/imagesrc/adventure/jobs/elemental_bomber.png diff --git a/ResourceFiles/img/头像/36.PNG b/packages/renderer/imagesrc/adventure/jobs/elementalist.png similarity index 100% rename from ResourceFiles/img/头像/36.PNG rename to packages/renderer/imagesrc/adventure/jobs/elementalist.png diff --git a/ResourceFiles/img/头像/56.PNG b/packages/renderer/imagesrc/adventure/jobs/elven_knight.png similarity index 100% rename from ResourceFiles/img/头像/56.PNG rename to packages/renderer/imagesrc/adventure/jobs/elven_knight.png diff --git a/ResourceFiles/img/language/头像/30.PNG b/packages/renderer/imagesrc/adventure/jobs/empty.png similarity index 100% rename from ResourceFiles/img/language/头像/30.PNG rename to packages/renderer/imagesrc/adventure/jobs/empty.png diff --git a/ResourceFiles/img/头像/40.PNG b/packages/renderer/imagesrc/adventure/jobs/enchantress.png similarity index 100% rename from ResourceFiles/img/头像/40.PNG rename to packages/renderer/imagesrc/adventure/jobs/enchantress.png diff --git a/ResourceFiles/img/头像/43.PNG b/packages/renderer/imagesrc/adventure/jobs/exorcist.png similarity index 100% rename from ResourceFiles/img/头像/43.PNG rename to packages/renderer/imagesrc/adventure/jobs/exorcist.png diff --git a/packages/renderer/imagesrc/adventure/jobs/ghostblade.png b/packages/renderer/imagesrc/adventure/jobs/ghostblade.png new file mode 100644 index 00000000..07bc1cd9 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/ghostblade.png differ diff --git a/ResourceFiles/img/头像/32.PNG b/packages/renderer/imagesrc/adventure/jobs/glacial_master.png similarity index 100% rename from ResourceFiles/img/头像/32.PNG rename to packages/renderer/imagesrc/adventure/jobs/glacial_master.png diff --git a/packages/renderer/imagesrc/adventure/jobs/grappler_female.png b/packages/renderer/imagesrc/adventure/jobs/grappler_female.png new file mode 100644 index 00000000..06f98d14 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/grappler_female.png differ diff --git a/ResourceFiles/img/头像/14.PNG b/packages/renderer/imagesrc/adventure/jobs/grappler_male.png similarity index 100% rename from ResourceFiles/img/头像/14.PNG rename to packages/renderer/imagesrc/adventure/jobs/grappler_male.png diff --git a/ResourceFiles/img/头像/66.PNG b/packages/renderer/imagesrc/adventure/jobs/hitman.png similarity index 100% rename from ResourceFiles/img/头像/66.PNG rename to packages/renderer/imagesrc/adventure/jobs/hitman.png diff --git a/packages/renderer/imagesrc/adventure/jobs/hunter.png b/packages/renderer/imagesrc/adventure/jobs/hunter.png new file mode 100644 index 00000000..d4e07643 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/hunter.png differ diff --git a/ResourceFiles/img/头像/64.PNG b/packages/renderer/imagesrc/adventure/jobs/impaler.png similarity index 100% rename from ResourceFiles/img/头像/64.PNG rename to packages/renderer/imagesrc/adventure/jobs/impaler.png diff --git a/ResourceFiles/img/头像/42.PNG b/packages/renderer/imagesrc/adventure/jobs/infighter.png similarity index 100% rename from ResourceFiles/img/头像/42.PNG rename to packages/renderer/imagesrc/adventure/jobs/infighter.png diff --git a/ResourceFiles/img/头像/47.PNG b/packages/renderer/imagesrc/adventure/jobs/inquistor.png similarity index 100% rename from ResourceFiles/img/头像/47.PNG rename to packages/renderer/imagesrc/adventure/jobs/inquistor.png diff --git a/packages/renderer/imagesrc/adventure/jobs/kunoichi.png b/packages/renderer/imagesrc/adventure/jobs/kunoichi.png new file mode 100644 index 00000000..39ab675d Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/kunoichi.png differ diff --git a/packages/renderer/imagesrc/adventure/jobs/launcher_female.png b/packages/renderer/imagesrc/adventure/jobs/launcher_female.png new file mode 100644 index 00000000..58865057 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/launcher_female.png differ diff --git a/ResourceFiles/img/头像/22.PNG b/packages/renderer/imagesrc/adventure/jobs/launcher_male.png similarity index 100% rename from ResourceFiles/img/头像/22.PNG rename to packages/renderer/imagesrc/adventure/jobs/launcher_male.png diff --git a/ResourceFiles/img/头像/28.PNG b/packages/renderer/imagesrc/adventure/jobs/mechanic_female.png similarity index 100% rename from ResourceFiles/img/头像/28.PNG rename to packages/renderer/imagesrc/adventure/jobs/mechanic_female.png diff --git a/ResourceFiles/img/头像/23.PNG b/packages/renderer/imagesrc/adventure/jobs/mechanic_male.png similarity index 100% rename from ResourceFiles/img/头像/23.PNG rename to packages/renderer/imagesrc/adventure/jobs/mechanic_male.png diff --git a/ResourceFiles/img/头像/49.PNG b/packages/renderer/imagesrc/adventure/jobs/mistress.png similarity index 100% rename from ResourceFiles/img/头像/49.PNG rename to packages/renderer/imagesrc/adventure/jobs/mistress.png diff --git a/packages/renderer/imagesrc/adventure/jobs/muse.png b/packages/renderer/imagesrc/adventure/jobs/muse.png new file mode 100644 index 00000000..10121310 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/muse.png differ diff --git a/ResourceFiles/img/头像/52.PNG b/packages/renderer/imagesrc/adventure/jobs/necro.png similarity index 100% rename from ResourceFiles/img/头像/52.PNG rename to packages/renderer/imagesrc/adventure/jobs/necro.png diff --git a/ResourceFiles/img/头像/16.PNG b/packages/renderer/imagesrc/adventure/jobs/nenmaster_female.png similarity index 100% rename from ResourceFiles/img/头像/16.PNG rename to packages/renderer/imagesrc/adventure/jobs/nenmaster_female.png diff --git a/ResourceFiles/img/头像/11.PNG b/packages/renderer/imagesrc/adventure/jobs/nenmaster_male.png similarity index 100% rename from ResourceFiles/img/头像/11.PNG rename to packages/renderer/imagesrc/adventure/jobs/nenmaster_male.png diff --git a/ResourceFiles/img/头像/58.PNG b/packages/renderer/imagesrc/adventure/jobs/paladin.png similarity index 100% rename from ResourceFiles/img/头像/58.PNG rename to packages/renderer/imagesrc/adventure/jobs/paladin.png diff --git a/ResourceFiles/img/头像/26.PNG b/packages/renderer/imagesrc/adventure/jobs/ranger_female.png similarity index 100% rename from ResourceFiles/img/头像/26.PNG rename to packages/renderer/imagesrc/adventure/jobs/ranger_female.png diff --git a/ResourceFiles/img/头像/21.PNG b/packages/renderer/imagesrc/adventure/jobs/ranger_male.png similarity index 100% rename from ResourceFiles/img/头像/21.PNG rename to packages/renderer/imagesrc/adventure/jobs/ranger_male.png diff --git a/ResourceFiles/img/头像/51.PNG b/packages/renderer/imagesrc/adventure/jobs/rogue.png similarity index 100% rename from ResourceFiles/img/头像/51.PNG rename to packages/renderer/imagesrc/adventure/jobs/rogue.png diff --git a/ResourceFiles/img/头像/54.PNG b/packages/renderer/imagesrc/adventure/jobs/shadow_dancer.png similarity index 100% rename from ResourceFiles/img/头像/54.PNG rename to packages/renderer/imagesrc/adventure/jobs/shadow_dancer.png diff --git a/packages/renderer/imagesrc/adventure/jobs/skirmisher.png b/packages/renderer/imagesrc/adventure/jobs/skirmisher.png new file mode 100644 index 00000000..fd871d91 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/skirmisher.png differ diff --git a/packages/renderer/imagesrc/adventure/jobs/sorceress.png b/packages/renderer/imagesrc/adventure/jobs/sorceress.png new file mode 100644 index 00000000..086f755e Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/sorceress.png differ diff --git a/ResourceFiles/img/头像/2.PNG b/packages/renderer/imagesrc/adventure/jobs/soul_bender.png similarity index 100% rename from ResourceFiles/img/头像/2.PNG rename to packages/renderer/imagesrc/adventure/jobs/soul_bender.png diff --git a/ResourceFiles/img/头像/69.PNG b/packages/renderer/imagesrc/adventure/jobs/specialist.png similarity index 100% rename from ResourceFiles/img/头像/69.PNG rename to packages/renderer/imagesrc/adventure/jobs/specialist.png diff --git a/ResourceFiles/img/头像/10.PNG b/packages/renderer/imagesrc/adventure/jobs/spectre.png similarity index 100% rename from ResourceFiles/img/头像/10.PNG rename to packages/renderer/imagesrc/adventure/jobs/spectre.png diff --git a/ResourceFiles/img/头像/29.PNG b/packages/renderer/imagesrc/adventure/jobs/spitfire_female.png similarity index 100% rename from ResourceFiles/img/头像/29.PNG rename to packages/renderer/imagesrc/adventure/jobs/spitfire_female.png diff --git a/ResourceFiles/img/头像/24.PNG b/packages/renderer/imagesrc/adventure/jobs/spitfire_male.png similarity index 100% rename from ResourceFiles/img/头像/24.PNG rename to packages/renderer/imagesrc/adventure/jobs/spitfire_male.png diff --git a/packages/renderer/imagesrc/adventure/jobs/sponsor.png b/packages/renderer/imagesrc/adventure/jobs/sponsor.png new file mode 100644 index 00000000..61613514 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/sponsor.png differ diff --git a/packages/renderer/imagesrc/adventure/jobs/striker_female.png b/packages/renderer/imagesrc/adventure/jobs/striker_female.png new file mode 100644 index 00000000..586dcb04 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/striker_female.png differ diff --git a/ResourceFiles/img/头像/12.PNG b/packages/renderer/imagesrc/adventure/jobs/striker_male.png similarity index 100% rename from ResourceFiles/img/头像/12.PNG rename to packages/renderer/imagesrc/adventure/jobs/striker_male.png diff --git a/ResourceFiles/img/头像/37.PNG b/packages/renderer/imagesrc/adventure/jobs/summoner.png similarity index 100% rename from ResourceFiles/img/头像/37.PNG rename to packages/renderer/imagesrc/adventure/jobs/summoner.png diff --git a/packages/renderer/imagesrc/adventure/jobs/swift_master.png b/packages/renderer/imagesrc/adventure/jobs/swift_master.png new file mode 100644 index 00000000..316ae87c Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/swift_master.png differ diff --git a/ResourceFiles/img/头像/6.PNG b/packages/renderer/imagesrc/adventure/jobs/sword_master.png similarity index 100% rename from ResourceFiles/img/头像/6.PNG rename to packages/renderer/imagesrc/adventure/jobs/sword_master.png diff --git a/packages/renderer/imagesrc/adventure/jobs/traveler.png b/packages/renderer/imagesrc/adventure/jobs/traveler.png new file mode 100644 index 00000000..a2ee4a75 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/traveler.png differ diff --git a/ResourceFiles/img/头像/68.PNG b/packages/renderer/imagesrc/adventure/jobs/trouble_shooter.png similarity index 100% rename from ResourceFiles/img/头像/68.PNG rename to packages/renderer/imagesrc/adventure/jobs/trouble_shooter.png diff --git a/ResourceFiles/img/头像/61.PNG b/packages/renderer/imagesrc/adventure/jobs/vanguard.png similarity index 100% rename from ResourceFiles/img/头像/61.PNG rename to packages/renderer/imagesrc/adventure/jobs/vanguard.png diff --git a/ResourceFiles/img/头像/9.PNG b/packages/renderer/imagesrc/adventure/jobs/vegabond.png similarity index 100% rename from ResourceFiles/img/头像/9.PNG rename to packages/renderer/imagesrc/adventure/jobs/vegabond.png diff --git a/packages/renderer/imagesrc/adventure/jobs/vigilante.png b/packages/renderer/imagesrc/adventure/jobs/vigilante.png new file mode 100644 index 00000000..a319ccfc Binary files /dev/null and b/packages/renderer/imagesrc/adventure/jobs/vigilante.png differ diff --git a/ResourceFiles/img/头像/1.PNG b/packages/renderer/imagesrc/adventure/jobs/weapon_master.png similarity index 100% rename from ResourceFiles/img/头像/1.PNG rename to packages/renderer/imagesrc/adventure/jobs/weapon_master.png diff --git a/ResourceFiles/img/头像/39.PNG b/packages/renderer/imagesrc/adventure/jobs/witch.png similarity index 100% rename from ResourceFiles/img/头像/39.PNG rename to packages/renderer/imagesrc/adventure/jobs/witch.png diff --git a/packages/renderer/imagesrc/adventure/sub/archer.png b/packages/renderer/imagesrc/adventure/sub/archer.png new file mode 100644 index 00000000..771c4237 Binary files /dev/null and b/packages/renderer/imagesrc/adventure/sub/archer.png differ diff --git a/ResourceFiles/img/分类/12.PNG b/packages/renderer/imagesrc/adventure/sub/demonic_lancer.png similarity index 100% rename from ResourceFiles/img/分类/12.PNG rename to packages/renderer/imagesrc/adventure/sub/demonic_lancer.png diff --git a/ResourceFiles/img/分类/14.PNG b/packages/renderer/imagesrc/adventure/sub/extra.png similarity index 100% rename from ResourceFiles/img/分类/14.PNG rename to packages/renderer/imagesrc/adventure/sub/extra.png diff --git a/ResourceFiles/img/分类/3.PNG b/packages/renderer/imagesrc/adventure/sub/fighter_female.png similarity index 100% rename from ResourceFiles/img/分类/3.PNG rename to packages/renderer/imagesrc/adventure/sub/fighter_female.png diff --git a/ResourceFiles/img/分类/2.PNG b/packages/renderer/imagesrc/adventure/sub/fighter_male.png similarity index 100% rename from ResourceFiles/img/分类/2.PNG rename to packages/renderer/imagesrc/adventure/sub/fighter_male.png diff --git a/ResourceFiles/img/language/分类/15.PNG b/packages/renderer/imagesrc/adventure/sub/flash.png similarity index 100% rename from ResourceFiles/img/language/分类/15.PNG rename to packages/renderer/imagesrc/adventure/sub/flash.png diff --git a/ResourceFiles/img/分类/13.PNG b/packages/renderer/imagesrc/adventure/sub/gunblader.png similarity index 100% rename from ResourceFiles/img/分类/13.PNG rename to packages/renderer/imagesrc/adventure/sub/gunblader.png diff --git a/ResourceFiles/img/分类/5.PNG b/packages/renderer/imagesrc/adventure/sub/gunner_female.png similarity index 100% rename from ResourceFiles/img/分类/5.PNG rename to packages/renderer/imagesrc/adventure/sub/gunner_female.png diff --git a/ResourceFiles/img/分类/4.PNG b/packages/renderer/imagesrc/adventure/sub/gunner_male.png similarity index 100% rename from ResourceFiles/img/分类/4.PNG rename to packages/renderer/imagesrc/adventure/sub/gunner_male.png diff --git a/ResourceFiles/img/分类/11.PNG b/packages/renderer/imagesrc/adventure/sub/knight.png similarity index 100% rename from ResourceFiles/img/分类/11.PNG rename to packages/renderer/imagesrc/adventure/sub/knight.png diff --git a/ResourceFiles/img/分类/7.PNG b/packages/renderer/imagesrc/adventure/sub/mage_female.png similarity index 100% rename from ResourceFiles/img/分类/7.PNG rename to packages/renderer/imagesrc/adventure/sub/mage_female.png diff --git a/ResourceFiles/img/分类/6.PNG b/packages/renderer/imagesrc/adventure/sub/mage_male.png similarity index 100% rename from ResourceFiles/img/分类/6.PNG rename to packages/renderer/imagesrc/adventure/sub/mage_male.png diff --git a/ResourceFiles/img/分类/9.PNG b/packages/renderer/imagesrc/adventure/sub/priest_female.png similarity index 100% rename from ResourceFiles/img/分类/9.PNG rename to packages/renderer/imagesrc/adventure/sub/priest_female.png diff --git a/ResourceFiles/img/分类/8.PNG b/packages/renderer/imagesrc/adventure/sub/priest_male.png similarity index 100% rename from ResourceFiles/img/分类/8.PNG rename to packages/renderer/imagesrc/adventure/sub/priest_male.png diff --git a/ResourceFiles/img/分类/1.PNG b/packages/renderer/imagesrc/adventure/sub/swordman_female.png similarity index 100% rename from ResourceFiles/img/分类/1.PNG rename to packages/renderer/imagesrc/adventure/sub/swordman_female.png diff --git a/ResourceFiles/img/分类/0.PNG b/packages/renderer/imagesrc/adventure/sub/swordman_male.png similarity index 100% rename from ResourceFiles/img/分类/0.PNG rename to packages/renderer/imagesrc/adventure/sub/swordman_male.png diff --git a/ResourceFiles/img/分类/10.PNG b/packages/renderer/imagesrc/adventure/sub/thief.png similarity index 100% rename from ResourceFiles/img/分类/10.PNG rename to packages/renderer/imagesrc/adventure/sub/thief.png diff --git a/packages/renderer/imagesrc/asrahan/0.png b/packages/renderer/imagesrc/asrahan/0.png new file mode 100644 index 00000000..f9dea0d6 Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/0.png differ diff --git a/packages/renderer/imagesrc/asrahan/1.png b/packages/renderer/imagesrc/asrahan/1.png new file mode 100644 index 00000000..6971e8c7 Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/1.png differ diff --git a/packages/renderer/imagesrc/asrahan/2.png b/packages/renderer/imagesrc/asrahan/2.png new file mode 100644 index 00000000..3c13c272 Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/2.png differ diff --git a/packages/renderer/imagesrc/asrahan/3.png b/packages/renderer/imagesrc/asrahan/3.png new file mode 100644 index 00000000..31b92041 Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/3.png differ diff --git a/packages/renderer/imagesrc/asrahan/4.png b/packages/renderer/imagesrc/asrahan/4.png new file mode 100644 index 00000000..e79c62b0 Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/4.png differ diff --git a/packages/renderer/imagesrc/asrahan/5.png b/packages/renderer/imagesrc/asrahan/5.png new file mode 100644 index 00000000..3ae22a2a Binary files /dev/null and b/packages/renderer/imagesrc/asrahan/5.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Adventure_3.png b/packages/renderer/imagesrc/characters/agent/material/Adventure_3.png new file mode 100644 index 00000000..bb84a860 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Bust.png b/packages/renderer/imagesrc/characters/agent/material/Bust.png new file mode 100644 index 00000000..434ed837 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Helper.png b/packages/renderer/imagesrc/characters/agent/material/Helper.png new file mode 100644 index 00000000..ca512a50 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Large.png b/packages/renderer/imagesrc/characters/agent/material/Large.png new file mode 100644 index 00000000..003cc925 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Large_2.png b/packages/renderer/imagesrc/characters/agent/material/Large_2.png new file mode 100644 index 00000000..994c97a4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Large_3.png b/packages/renderer/imagesrc/characters/agent/material/Large_3.png new file mode 100644 index 00000000..9142550c Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Seicing.png b/packages/renderer/imagesrc/characters/agent/material/Seicing.png new file mode 100644 index 00000000..973d9b62 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Seicing_2.png b/packages/renderer/imagesrc/characters/agent/material/Seicing_2.png new file mode 100644 index 00000000..8ac95849 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Seicing_3.png b/packages/renderer/imagesrc/characters/agent/material/Seicing_3.png new file mode 100644 index 00000000..eb4136b6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/agent/material/Thumb.png b/packages/renderer/imagesrc/characters/agent/material/Thumb.png new file mode 100644 index 00000000..4d9e3cc7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/agent/profile.png b/packages/renderer/imagesrc/characters/agent/profile.png new file mode 100644 index 00000000..27d6e406 Binary files /dev/null and b/packages/renderer/imagesrc/characters/agent/profile.png differ diff --git a/ResourceFiles/苍暮·特工/技能/BUFF.png b/packages/renderer/imagesrc/characters/agent/skill/BUFF.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/BUFF.png rename to packages/renderer/imagesrc/characters/agent/skill/BUFF.png diff --git a/ResourceFiles/苍暮·特工/技能/使命觉悟.png b/packages/renderer/imagesrc/characters/agent/skill/使命觉悟.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/使命觉悟.png rename to packages/renderer/imagesrc/characters/agent/skill/使命觉悟.png diff --git a/ResourceFiles/苍暮·特工/技能/冷酷杀意.png b/packages/renderer/imagesrc/characters/agent/skill/冷酷杀意.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/冷酷杀意.png rename to packages/renderer/imagesrc/characters/agent/skill/冷酷杀意.png diff --git a/ResourceFiles/苍暮·特工/技能/双弦斩.png b/packages/renderer/imagesrc/characters/agent/skill/双弦斩.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/双弦斩.png rename to packages/renderer/imagesrc/characters/agent/skill/双弦斩.png diff --git a/ResourceFiles/苍暮·特工/技能/噬血绝杀.png b/packages/renderer/imagesrc/characters/agent/skill/噬血绝杀.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/噬血绝杀.png rename to packages/renderer/imagesrc/characters/agent/skill/噬血绝杀.png diff --git a/ResourceFiles/苍暮·特工/技能/夜影迷踪.png b/packages/renderer/imagesrc/characters/agent/skill/夜影迷踪.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/夜影迷踪.png rename to packages/renderer/imagesrc/characters/agent/skill/夜影迷踪.png diff --git a/ResourceFiles/苍暮·特工/技能/小太刀精通.png b/packages/renderer/imagesrc/characters/agent/skill/小太刀精通.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/小太刀精通.png rename to packages/renderer/imagesrc/characters/agent/skill/小太刀精通.png diff --git a/ResourceFiles/苍暮·特工/技能/无暇.png b/packages/renderer/imagesrc/characters/agent/skill/无暇.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/无暇.png rename to packages/renderer/imagesrc/characters/agent/skill/无暇.png diff --git a/ResourceFiles/苍暮·特工/技能/月光挥斩.png b/packages/renderer/imagesrc/characters/agent/skill/月光挥斩.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月光挥斩.png rename to packages/renderer/imagesrc/characters/agent/skill/月光挥斩.png diff --git a/ResourceFiles/苍暮·特工/技能/月光镇魂曲.png b/packages/renderer/imagesrc/characters/agent/skill/月光镇魂曲.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月光镇魂曲.png rename to packages/renderer/imagesrc/characters/agent/skill/月光镇魂曲.png diff --git a/ResourceFiles/苍暮·特工/技能/月夜:终极行动.png b/packages/renderer/imagesrc/characters/agent/skill/月夜:终极行动.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月夜:终极行动.png rename to packages/renderer/imagesrc/characters/agent/skill/月夜:终极行动.png diff --git a/ResourceFiles/苍暮·特工/技能/月影秘步.png b/packages/renderer/imagesrc/characters/agent/skill/月影秘步.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月影秘步.png rename to packages/renderer/imagesrc/characters/agent/skill/月影秘步.png diff --git a/ResourceFiles/苍暮·特工/技能/月相天陨.png b/packages/renderer/imagesrc/characters/agent/skill/月相天陨.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月相天陨.png rename to packages/renderer/imagesrc/characters/agent/skill/月相天陨.png diff --git a/ResourceFiles/苍暮·特工/技能/月相轮舞.png b/packages/renderer/imagesrc/characters/agent/skill/月相轮舞.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/月相轮舞.png rename to packages/renderer/imagesrc/characters/agent/skill/月相轮舞.png diff --git a/ResourceFiles/苍暮·特工/技能/枪刃旋杀.png b/packages/renderer/imagesrc/characters/agent/skill/枪刃旋杀.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/枪刃旋杀.png rename to packages/renderer/imagesrc/characters/agent/skill/枪刃旋杀.png diff --git a/ResourceFiles/苍暮·特工/技能/毁灭狂欢.png b/packages/renderer/imagesrc/characters/agent/skill/毁灭狂欢.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/毁灭狂欢.png rename to packages/renderer/imagesrc/characters/agent/skill/毁灭狂欢.png diff --git a/ResourceFiles/苍暮·特工/技能/满月斩.png b/packages/renderer/imagesrc/characters/agent/skill/满月斩.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/满月斩.png rename to packages/renderer/imagesrc/characters/agent/skill/满月斩.png diff --git a/ResourceFiles/苍暮·特工/技能/特工秘技.png b/packages/renderer/imagesrc/characters/agent/skill/特工秘技.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/特工秘技.png rename to packages/renderer/imagesrc/characters/agent/skill/特工秘技.png diff --git a/ResourceFiles/苍暮·特工/技能/精准射击.png b/packages/renderer/imagesrc/characters/agent/skill/精准射击.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/精准射击.png rename to packages/renderer/imagesrc/characters/agent/skill/精准射击.png diff --git a/ResourceFiles/苍暮·特工/技能/终极锁定.png b/packages/renderer/imagesrc/characters/agent/skill/终极锁定.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/终极锁定.png rename to packages/renderer/imagesrc/characters/agent/skill/终极锁定.png diff --git a/ResourceFiles/苍暮·特工/技能/迅步突袭.png b/packages/renderer/imagesrc/characters/agent/skill/迅步突袭.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/迅步突袭.png rename to packages/renderer/imagesrc/characters/agent/skill/迅步突袭.png diff --git a/ResourceFiles/苍暮·特工/技能/连续射击.png b/packages/renderer/imagesrc/characters/agent/skill/连续射击.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/连续射击.png rename to packages/renderer/imagesrc/characters/agent/skill/连续射击.png diff --git a/ResourceFiles/苍暮·特工/技能/锁定射击.png b/packages/renderer/imagesrc/characters/agent/skill/锁定射击.png similarity index 100% rename from ResourceFiles/苍暮·特工/技能/锁定射击.png rename to packages/renderer/imagesrc/characters/agent/skill/锁定射击.png diff --git a/packages/renderer/imagesrc/characters/assault/material/Adventure_3.png b/packages/renderer/imagesrc/characters/assault/material/Adventure_3.png new file mode 100644 index 00000000..4144f677 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Bust.png b/packages/renderer/imagesrc/characters/assault/material/Bust.png new file mode 100644 index 00000000..092daea9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Helper.png b/packages/renderer/imagesrc/characters/assault/material/Helper.png new file mode 100644 index 00000000..a13e5573 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Large.png b/packages/renderer/imagesrc/characters/assault/material/Large.png new file mode 100644 index 00000000..7f826509 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Large_2.png b/packages/renderer/imagesrc/characters/assault/material/Large_2.png new file mode 100644 index 00000000..f058eb63 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Large_3.png b/packages/renderer/imagesrc/characters/assault/material/Large_3.png new file mode 100644 index 00000000..a578c0df Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Seicing.png b/packages/renderer/imagesrc/characters/assault/material/Seicing.png new file mode 100644 index 00000000..dec152cd Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Seicing_2.png b/packages/renderer/imagesrc/characters/assault/material/Seicing_2.png new file mode 100644 index 00000000..c6491213 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Seicing_3.png b/packages/renderer/imagesrc/characters/assault/material/Seicing_3.png new file mode 100644 index 00000000..4d8f0b01 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/assault/material/Thumb.png b/packages/renderer/imagesrc/characters/assault/material/Thumb.png new file mode 100644 index 00000000..9f78cf5e Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/assault/profile.png b/packages/renderer/imagesrc/characters/assault/profile.png new file mode 100644 index 00000000..7226a1a0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/assault/profile.png differ diff --git a/ResourceFiles/重霄·合金战士/技能/AT-SO步行者.png b/packages/renderer/imagesrc/characters/assault/skill/AT-SO步行者.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/AT-SO步行者.png rename to packages/renderer/imagesrc/characters/assault/skill/AT-SO步行者.png diff --git a/ResourceFiles/重霄·合金战士/技能/BUFF.png b/packages/renderer/imagesrc/characters/assault/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/assault/skill/BUFF.png diff --git a/ResourceFiles/重霄·合金战士/技能/三连霰弹.png b/packages/renderer/imagesrc/characters/assault/skill/三连霰弹.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/三连霰弹.png rename to packages/renderer/imagesrc/characters/assault/skill/三连霰弹.png diff --git a/ResourceFiles/重霄·合金战士/技能/合金战士自动手枪精通.png b/packages/renderer/imagesrc/characters/assault/skill/合金战士自动手枪精通.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/合金战士自动手枪精通.png rename to packages/renderer/imagesrc/characters/assault/skill/合金战士自动手枪精通.png diff --git a/ResourceFiles/千魂·征战者/技能/基础精通.png b/packages/renderer/imagesrc/characters/assault/skill/基础精通.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/基础精通.png rename to packages/renderer/imagesrc/characters/assault/skill/基础精通.png diff --git a/ResourceFiles/重霄·合金战士/技能/堡垒轰击.png b/packages/renderer/imagesrc/characters/assault/skill/堡垒轰击.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/堡垒轰击.png rename to packages/renderer/imagesrc/characters/assault/skill/堡垒轰击.png diff --git a/ResourceFiles/重霄·合金战士/技能/弱点扫描.png b/packages/renderer/imagesrc/characters/assault/skill/弱点扫描.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/弱点扫描.png rename to packages/renderer/imagesrc/characters/assault/skill/弱点扫描.png diff --git a/ResourceFiles/重霄·合金战士/技能/战略轰炸.png b/packages/renderer/imagesrc/characters/assault/skill/战略轰炸.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/战略轰炸.png rename to packages/renderer/imagesrc/characters/assault/skill/战略轰炸.png diff --git a/ResourceFiles/重霄·合金战士/技能/改装榴弹.png b/packages/renderer/imagesrc/characters/assault/skill/改装榴弹.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/改装榴弹.png rename to packages/renderer/imagesrc/characters/assault/skill/改装榴弹.png diff --git a/ResourceFiles/重霄·合金战士/技能/改造烟尘弹.png b/packages/renderer/imagesrc/characters/assault/skill/改造烟尘弹.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/改造烟尘弹.png rename to packages/renderer/imagesrc/characters/assault/skill/改造烟尘弹.png diff --git a/ResourceFiles/重霄·合金战士/技能/机体复原.png b/packages/renderer/imagesrc/characters/assault/skill/机体复原.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/机体复原.png rename to packages/renderer/imagesrc/characters/assault/skill/机体复原.png diff --git a/ResourceFiles/重霄·合金战士/技能/枪托强击.png b/packages/renderer/imagesrc/characters/assault/skill/枪托强击.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/枪托强击.png rename to packages/renderer/imagesrc/characters/assault/skill/枪托强击.png diff --git a/ResourceFiles/重霄·合金战士/技能/步行者中止指令.png b/packages/renderer/imagesrc/characters/assault/skill/步行者中止指令.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/步行者中止指令.png rename to packages/renderer/imagesrc/characters/assault/skill/步行者中止指令.png diff --git a/ResourceFiles/重霄·合金战士/技能/炎神攻城炮.png b/packages/renderer/imagesrc/characters/assault/skill/炎神攻城炮.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/炎神攻城炮.png rename to packages/renderer/imagesrc/characters/assault/skill/炎神攻城炮.png diff --git a/ResourceFiles/重霄·合金战士/技能/烟尘弹.png b/packages/renderer/imagesrc/characters/assault/skill/烟尘弹.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/烟尘弹.png rename to packages/renderer/imagesrc/characters/assault/skill/烟尘弹.png diff --git a/ResourceFiles/重霄·合金战士/技能/爆裂飞踢.png b/packages/renderer/imagesrc/characters/assault/skill/爆裂飞踢.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/爆裂飞踢.png rename to packages/renderer/imagesrc/characters/assault/skill/爆裂飞踢.png diff --git a/ResourceFiles/重霄·合金战士/技能/电弧能量释放.png b/packages/renderer/imagesrc/characters/assault/skill/电弧能量释放.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/电弧能量释放.png rename to packages/renderer/imagesrc/characters/assault/skill/电弧能量释放.png diff --git a/ResourceFiles/重霄·合金战士/技能/瞄准射击.png b/packages/renderer/imagesrc/characters/assault/skill/瞄准射击.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/瞄准射击.png rename to packages/renderer/imagesrc/characters/assault/skill/瞄准射击.png diff --git a/ResourceFiles/重霄·合金战士/技能/磁力手雷.png b/packages/renderer/imagesrc/characters/assault/skill/磁力手雷.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/磁力手雷.png rename to packages/renderer/imagesrc/characters/assault/skill/磁力手雷.png diff --git a/ResourceFiles/重霄·合金战士/技能/诺维尔计划:涅磐.png b/packages/renderer/imagesrc/characters/assault/skill/诺维尔计划:涅磐.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/诺维尔计划:涅磐.png rename to packages/renderer/imagesrc/characters/assault/skill/诺维尔计划:涅磐.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:伊奎利斯-MR.png b/packages/renderer/imagesrc/characters/assault/skill/超频:伊奎利斯-MR.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:伊奎利斯-MR.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:伊奎利斯-MR.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:全领域攻击.png b/packages/renderer/imagesrc/characters/assault/skill/超频:全领域攻击.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:全领域攻击.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:全领域攻击.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:压制.png b/packages/renderer/imagesrc/characters/assault/skill/超频:压制.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:压制.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:压制.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:末世终结之战.png b/packages/renderer/imagesrc/characters/assault/skill/超频:末世终结之战.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:末世终结之战.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:末世终结之战.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:机械冲撞.png b/packages/renderer/imagesrc/characters/assault/skill/超频:机械冲撞.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:机械冲撞.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:机械冲撞.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:电流闪踢.png b/packages/renderer/imagesrc/characters/assault/skill/超频:电流闪踢.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:电流闪踢.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:电流闪踢.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:重盾保卫.png b/packages/renderer/imagesrc/characters/assault/skill/超频:重盾保卫.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:重盾保卫.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:重盾保卫.png diff --git a/ResourceFiles/重霄·合金战士/技能/超频:音速瞬杀.png b/packages/renderer/imagesrc/characters/assault/skill/超频:音速瞬杀.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/超频:音速瞬杀.png rename to packages/renderer/imagesrc/characters/assault/skill/超频:音速瞬杀.png diff --git a/ResourceFiles/重霄·合金战士/技能/躯体重塑.png b/packages/renderer/imagesrc/characters/assault/skill/躯体重塑.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/躯体重塑.png rename to packages/renderer/imagesrc/characters/assault/skill/躯体重塑.png diff --git a/ResourceFiles/重霄·合金战士/技能/雷达扫射.png b/packages/renderer/imagesrc/characters/assault/skill/雷达扫射.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/雷达扫射.png rename to packages/renderer/imagesrc/characters/assault/skill/雷达扫射.png diff --git a/packages/renderer/imagesrc/characters/asura/material/Adventure_3.png b/packages/renderer/imagesrc/characters/asura/material/Adventure_3.png new file mode 100644 index 00000000..b3be698f Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Bust.png b/packages/renderer/imagesrc/characters/asura/material/Bust.png new file mode 100644 index 00000000..bd027844 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Helper.png b/packages/renderer/imagesrc/characters/asura/material/Helper.png new file mode 100644 index 00000000..b5f498fb Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Large.png b/packages/renderer/imagesrc/characters/asura/material/Large.png new file mode 100644 index 00000000..15594707 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Large_2.png b/packages/renderer/imagesrc/characters/asura/material/Large_2.png new file mode 100644 index 00000000..21e7e940 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Large_3.png b/packages/renderer/imagesrc/characters/asura/material/Large_3.png new file mode 100644 index 00000000..13661c2f Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Seicing.png b/packages/renderer/imagesrc/characters/asura/material/Seicing.png new file mode 100644 index 00000000..831c5b68 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Seicing_2.png b/packages/renderer/imagesrc/characters/asura/material/Seicing_2.png new file mode 100644 index 00000000..1dea0e2a Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Seicing_3.png b/packages/renderer/imagesrc/characters/asura/material/Seicing_3.png new file mode 100644 index 00000000..c4dd2620 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/asura/material/Thumb.png b/packages/renderer/imagesrc/characters/asura/material/Thumb.png new file mode 100644 index 00000000..7578d7b2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/asura/profile.png b/packages/renderer/imagesrc/characters/asura/profile.png new file mode 100644 index 00000000..d6771dac Binary files /dev/null and b/packages/renderer/imagesrc/characters/asura/profile.png differ diff --git a/ResourceFiles/极诣·阿修罗/技能/BUFF.png b/packages/renderer/imagesrc/characters/asura/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/BUFF.png rename to packages/renderer/imagesrc/characters/asura/skill/BUFF.png diff --git a/ResourceFiles/极诣·阿修罗/技能/不动明王阵.png b/packages/renderer/imagesrc/characters/asura/skill/不动明王阵.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/不动明王阵.png rename to packages/renderer/imagesrc/characters/asura/skill/不动明王阵.png diff --git a/ResourceFiles/极诣·阿修罗/技能/修罗邪光斩.png b/packages/renderer/imagesrc/characters/asura/skill/修罗邪光斩.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/修罗邪光斩.png rename to packages/renderer/imagesrc/characters/asura/skill/修罗邪光斩.png diff --git a/ResourceFiles/极诣·阿修罗/技能/冰刃·波动剑.png b/packages/renderer/imagesrc/characters/asura/skill/冰刃·波动剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/冰刃·波动剑.png rename to packages/renderer/imagesrc/characters/asura/skill/冰刃·波动剑.png diff --git a/ResourceFiles/极诣·阿修罗/技能/刀魂之卡赞.png b/packages/renderer/imagesrc/characters/asura/skill/刀魂之卡赞.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/刀魂之卡赞.png rename to packages/renderer/imagesrc/characters/asura/skill/刀魂之卡赞.png diff --git a/ResourceFiles/极诣·阿修罗/技能/地裂·波动剑.png b/packages/renderer/imagesrc/characters/asura/skill/地裂·波动剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/地裂·波动剑.png rename to packages/renderer/imagesrc/characters/asura/skill/地裂·波动剑.png diff --git a/ResourceFiles/千魂·狩猎者/技能/基础精通.png b/packages/renderer/imagesrc/characters/asura/skill/基础精通.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/基础精通.png rename to packages/renderer/imagesrc/characters/asura/skill/基础精通.png diff --git a/ResourceFiles/极诣·阿修罗/技能/天雷·波动剑.png b/packages/renderer/imagesrc/characters/asura/skill/天雷·波动剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/天雷·波动剑.png rename to packages/renderer/imagesrc/characters/asura/skill/天雷·波动剑.png diff --git a/ResourceFiles/极诣·阿修罗/技能/天雷·降魔杵(雷针).png b/packages/renderer/imagesrc/characters/asura/skill/天雷·降魔杵(雷针).png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/天雷·降魔杵(雷针).png rename to packages/renderer/imagesrc/characters/asura/skill/天雷·降魔杵(雷针).png diff --git a/ResourceFiles/极诣·阿修罗/技能/天雷·降魔杵.png b/packages/renderer/imagesrc/characters/asura/skill/天雷·降魔杵.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/天雷·降魔杵.png rename to packages/renderer/imagesrc/characters/asura/skill/天雷·降魔杵.png diff --git a/ResourceFiles/极诣·阿修罗/技能/心眼.png b/packages/renderer/imagesrc/characters/asura/skill/心眼.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/心眼.png rename to packages/renderer/imagesrc/characters/asura/skill/心眼.png diff --git a/ResourceFiles/极诣·阿修罗/技能/挫折意志.png b/packages/renderer/imagesrc/characters/asura/skill/挫折意志.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/挫折意志.png rename to packages/renderer/imagesrc/characters/asura/skill/挫折意志.png diff --git a/ResourceFiles/极诣·阿修罗/技能/无双波.png b/packages/renderer/imagesrc/characters/asura/skill/无双波.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/无双波.png rename to packages/renderer/imagesrc/characters/asura/skill/无双波.png diff --git a/ResourceFiles/极诣·阿修罗/技能/暗天波动眼.png b/packages/renderer/imagesrc/characters/asura/skill/暗天波动眼.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/暗天波动眼.png rename to packages/renderer/imagesrc/characters/asura/skill/暗天波动眼.png diff --git a/ResourceFiles/极诣·阿修罗/技能/杀意波动.png b/packages/renderer/imagesrc/characters/asura/skill/杀意波动.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/杀意波动.png rename to packages/renderer/imagesrc/characters/asura/skill/杀意波动.png diff --git a/ResourceFiles/极诣·阿修罗/技能/极冰·裂波剑.png b/packages/renderer/imagesrc/characters/asura/skill/极冰·裂波剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/极冰·裂波剑.png rename to packages/renderer/imagesrc/characters/asura/skill/极冰·裂波剑.png diff --git a/ResourceFiles/极诣·阿修罗/技能/极炎·裂波剑.png b/packages/renderer/imagesrc/characters/asura/skill/极炎·裂波剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/极炎·裂波剑.png rename to packages/renderer/imagesrc/characters/asura/skill/极炎·裂波剑.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动刻印.png b/packages/renderer/imagesrc/characters/asura/skill/波动刻印.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动刻印.png rename to packages/renderer/imagesrc/characters/asura/skill/波动刻印.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动剑·光翼.png b/packages/renderer/imagesrc/characters/asura/skill/波动剑·光翼.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动剑·光翼.png rename to packages/renderer/imagesrc/characters/asura/skill/波动剑·光翼.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动剑·刺轮.png b/packages/renderer/imagesrc/characters/asura/skill/波动剑·刺轮.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动剑·刺轮.png rename to packages/renderer/imagesrc/characters/asura/skill/波动剑·刺轮.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动剑·闪枪.png b/packages/renderer/imagesrc/characters/asura/skill/波动剑·闪枪.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动剑·闪枪.png rename to packages/renderer/imagesrc/characters/asura/skill/波动剑·闪枪.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动慧眼:无为法.png b/packages/renderer/imagesrc/characters/asura/skill/波动慧眼:无为法.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动慧眼:无为法.png rename to packages/renderer/imagesrc/characters/asura/skill/波动慧眼:无为法.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动爆发.png b/packages/renderer/imagesrc/characters/asura/skill/波动爆发.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动爆发.png rename to packages/renderer/imagesrc/characters/asura/skill/波动爆发.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动眼·天照.png b/packages/renderer/imagesrc/characters/asura/skill/波动眼·天照.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动眼·天照.png rename to packages/renderer/imagesrc/characters/asura/skill/波动眼·天照.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动神诀:万空.png b/packages/renderer/imagesrc/characters/asura/skill/波动神诀:万空.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动神诀:万空.png rename to packages/renderer/imagesrc/characters/asura/skill/波动神诀:万空.png diff --git a/ResourceFiles/极诣·阿修罗/技能/波动视界:慧眼.png b/packages/renderer/imagesrc/characters/asura/skill/波动视界:慧眼.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/波动视界:慧眼.png rename to packages/renderer/imagesrc/characters/asura/skill/波动视界:慧眼.png diff --git a/ResourceFiles/极诣·阿修罗/技能/爆炎·波动剑.png b/packages/renderer/imagesrc/characters/asura/skill/爆炎·波动剑.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/爆炎·波动剑.png rename to packages/renderer/imagesrc/characters/asura/skill/爆炎·波动剑.png diff --git a/ResourceFiles/极诣·阿修罗/技能/邪光斩.png b/packages/renderer/imagesrc/characters/asura/skill/邪光斩.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/邪光斩.png rename to packages/renderer/imagesrc/characters/asura/skill/邪光斩.png diff --git a/ResourceFiles/极诣·阿修罗/技能/邪光波动阵.png b/packages/renderer/imagesrc/characters/asura/skill/邪光波动阵.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/邪光波动阵.png rename to packages/renderer/imagesrc/characters/asura/skill/邪光波动阵.png diff --git a/ResourceFiles/极诣·阿修罗/技能/雷神之息.png b/packages/renderer/imagesrc/characters/asura/skill/雷神之息.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/雷神之息.png rename to packages/renderer/imagesrc/characters/asura/skill/雷神之息.png diff --git a/ResourceFiles/极诣·阿修罗/技能/雷神降世:裁决.png b/packages/renderer/imagesrc/characters/asura/skill/雷神降世:裁决.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/雷神降世:裁决.png rename to packages/renderer/imagesrc/characters/asura/skill/雷神降世:裁决.png diff --git a/ResourceFiles/极诣·阿修罗/技能/鬼印珠.png b/packages/renderer/imagesrc/characters/asura/skill/鬼印珠.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/鬼印珠.png rename to packages/renderer/imagesrc/characters/asura/skill/鬼印珠.png diff --git a/packages/renderer/imagesrc/characters/avenger/material/Adventure_3.png b/packages/renderer/imagesrc/characters/avenger/material/Adventure_3.png new file mode 100644 index 00000000..fb5f0657 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Bust.png b/packages/renderer/imagesrc/characters/avenger/material/Bust.png new file mode 100644 index 00000000..6e5ed303 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Helper.png b/packages/renderer/imagesrc/characters/avenger/material/Helper.png new file mode 100644 index 00000000..6ee2587d Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Large.png b/packages/renderer/imagesrc/characters/avenger/material/Large.png new file mode 100644 index 00000000..f664bd52 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Large_2.png b/packages/renderer/imagesrc/characters/avenger/material/Large_2.png new file mode 100644 index 00000000..5bc26be9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Large_3.png b/packages/renderer/imagesrc/characters/avenger/material/Large_3.png new file mode 100644 index 00000000..b9638c2b Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Seicing.png b/packages/renderer/imagesrc/characters/avenger/material/Seicing.png new file mode 100644 index 00000000..c186a5a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Seicing_2.png b/packages/renderer/imagesrc/characters/avenger/material/Seicing_2.png new file mode 100644 index 00000000..fa5fc678 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Seicing_3.png b/packages/renderer/imagesrc/characters/avenger/material/Seicing_3.png new file mode 100644 index 00000000..f8017106 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/material/Thumb.png b/packages/renderer/imagesrc/characters/avenger/material/Thumb.png new file mode 100644 index 00000000..054730fa Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/profile.png b/packages/renderer/imagesrc/characters/avenger/profile.png new file mode 100644 index 00000000..756ef3ef Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/profile.png differ diff --git a/ResourceFiles/神启·复仇者/技能/BUFF.png b/packages/renderer/imagesrc/characters/avenger/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/avenger/skill/BUFF.png diff --git a/ResourceFiles/神启·复仇者/技能/一觉主动爆伤.png b/packages/renderer/imagesrc/characters/avenger/skill/一觉主动爆伤.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/一觉主动爆伤.png rename to packages/renderer/imagesrc/characters/avenger/skill/一觉主动爆伤.png diff --git a/ResourceFiles/神启·复仇者/技能/不朽战吼.png b/packages/renderer/imagesrc/characters/avenger/skill/不朽战吼.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/不朽战吼.png rename to packages/renderer/imagesrc/characters/avenger/skill/不朽战吼.png diff --git a/ResourceFiles/神启·复仇者/技能/光之影.PNG b/packages/renderer/imagesrc/characters/avenger/skill/光之影.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/光之影.PNG rename to packages/renderer/imagesrc/characters/avenger/skill/光之影.png diff --git a/ResourceFiles/神启·复仇者/技能/厄运之轮.png b/packages/renderer/imagesrc/characters/avenger/skill/厄运之轮.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/厄运之轮.png rename to packages/renderer/imagesrc/characters/avenger/skill/厄运之轮.png diff --git a/ResourceFiles/神启·复仇者/技能/原罪之力.png b/packages/renderer/imagesrc/characters/avenger/skill/原罪之力.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/原罪之力.png rename to packages/renderer/imagesrc/characters/avenger/skill/原罪之力.png diff --git a/ResourceFiles/神启·复仇者/技能/回旋飞镰.png b/packages/renderer/imagesrc/characters/avenger/skill/回旋飞镰.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/回旋飞镰.png rename to packages/renderer/imagesrc/characters/avenger/skill/回旋飞镰.png diff --git a/ResourceFiles/神启·复仇者/技能/地狱之门.png b/packages/renderer/imagesrc/characters/avenger/skill/地狱之门.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/地狱之门.png rename to packages/renderer/imagesrc/characters/avenger/skill/地狱之门.png diff --git a/ResourceFiles/神启·复仇者/技能/复仇之刺.png b/packages/renderer/imagesrc/characters/avenger/skill/复仇之刺.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/复仇之刺.png rename to packages/renderer/imagesrc/characters/avenger/skill/复仇之刺.png diff --git a/ResourceFiles/神启·复仇者/技能/审判.png b/packages/renderer/imagesrc/characters/avenger/skill/审判.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/审判.png rename to packages/renderer/imagesrc/characters/avenger/skill/审判.png diff --git a/packages/renderer/imagesrc/characters/avenger/skill/恶魔之力.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔之力.png new file mode 100644 index 00000000..befd1f65 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/skill/恶魔之力.png differ diff --git a/ResourceFiles/神启·复仇者/技能/恶魔之手.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔之手.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/恶魔之手.png rename to packages/renderer/imagesrc/characters/avenger/skill/恶魔之手.png diff --git a/ResourceFiles/神启·复仇者/技能/恶魔之拳.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔之拳.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/恶魔之拳.png rename to packages/renderer/imagesrc/characters/avenger/skill/恶魔之拳.png diff --git a/ResourceFiles/神启·复仇者/技能/恶魔之握.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔之握.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/恶魔之握.png rename to packages/renderer/imagesrc/characters/avenger/skill/恶魔之握.png diff --git a/ResourceFiles/神启·复仇者/技能/恶魔唤醒.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔唤醒.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/恶魔唤醒.png rename to packages/renderer/imagesrc/characters/avenger/skill/恶魔唤醒.png diff --git a/ResourceFiles/神启·复仇者/技能/恶魔诅咒.png b/packages/renderer/imagesrc/characters/avenger/skill/恶魔诅咒.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/恶魔诅咒.png rename to packages/renderer/imagesrc/characters/avenger/skill/恶魔诅咒.png diff --git a/ResourceFiles/神启·复仇者/技能/末日浩劫.png b/packages/renderer/imagesrc/characters/avenger/skill/末日浩劫.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/末日浩劫.png rename to packages/renderer/imagesrc/characters/avenger/skill/末日浩劫.png diff --git a/ResourceFiles/神启·复仇者/技能/末日福音:毁灭之翼.PNG b/packages/renderer/imagesrc/characters/avenger/skill/末日福音:毁灭之翼.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/末日福音:毁灭之翼.PNG rename to packages/renderer/imagesrc/characters/avenger/skill/末日福音:毁灭之翼.png diff --git a/ResourceFiles/神启·复仇者/技能/极恶洪流.png b/packages/renderer/imagesrc/characters/avenger/skill/极恶洪流.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/极恶洪流.png rename to packages/renderer/imagesrc/characters/avenger/skill/极恶洪流.png diff --git a/ResourceFiles/神启·复仇者/技能/死亡切割.png b/packages/renderer/imagesrc/characters/avenger/skill/死亡切割.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/死亡切割.png rename to packages/renderer/imagesrc/characters/avenger/skill/死亡切割.png diff --git a/ResourceFiles/神启·复仇者/技能/毁灭强击.png b/packages/renderer/imagesrc/characters/avenger/skill/毁灭强击.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/毁灭强击.png rename to packages/renderer/imagesrc/characters/avenger/skill/毁灭强击.png diff --git a/ResourceFiles/神启·复仇者/技能/永堕:混沌弑神.png b/packages/renderer/imagesrc/characters/avenger/skill/永堕:混沌弑神.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/永堕:混沌弑神.png rename to packages/renderer/imagesrc/characters/avenger/skill/永堕:混沌弑神.png diff --git a/ResourceFiles/神启·复仇者/技能/裂地锤.png b/packages/renderer/imagesrc/characters/avenger/skill/裂地锤.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/裂地锤.png rename to packages/renderer/imagesrc/characters/avenger/skill/裂地锤.png diff --git a/ResourceFiles/神启·复仇者/技能/镰刀精通.png b/packages/renderer/imagesrc/characters/avenger/skill/镰刀精通.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/镰刀精通.png rename to packages/renderer/imagesrc/characters/avenger/skill/镰刀精通.png diff --git a/ResourceFiles/神启·复仇者/技能/魔化:末日审判者.png b/packages/renderer/imagesrc/characters/avenger/skill/魔化:末日审判者.png similarity index 100% rename from ResourceFiles/神启·复仇者/技能/魔化:末日审判者.png rename to packages/renderer/imagesrc/characters/avenger/skill/魔化:末日审判者.png diff --git a/packages/renderer/imagesrc/characters/avenger/skill/黑暗之触.png b/packages/renderer/imagesrc/characters/avenger/skill/黑暗之触.png new file mode 100644 index 00000000..8a748c93 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/skill/黑暗之触.png differ diff --git a/packages/renderer/imagesrc/characters/avenger/skill/黑暗权能.png b/packages/renderer/imagesrc/characters/avenger/skill/黑暗权能.png new file mode 100644 index 00000000..3cd15c43 Binary files /dev/null and b/packages/renderer/imagesrc/characters/avenger/skill/黑暗权能.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Adventure_3.png b/packages/renderer/imagesrc/characters/battle_mage/material/Adventure_3.png new file mode 100644 index 00000000..6843e610 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Bust.png b/packages/renderer/imagesrc/characters/battle_mage/material/Bust.png new file mode 100644 index 00000000..c9654ff0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Helper.png b/packages/renderer/imagesrc/characters/battle_mage/material/Helper.png new file mode 100644 index 00000000..de948786 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Large.png b/packages/renderer/imagesrc/characters/battle_mage/material/Large.png new file mode 100644 index 00000000..06dbfb56 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Large_2.png b/packages/renderer/imagesrc/characters/battle_mage/material/Large_2.png new file mode 100644 index 00000000..92cab807 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Large_3.png b/packages/renderer/imagesrc/characters/battle_mage/material/Large_3.png new file mode 100644 index 00000000..673c9b8c Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Seicing.png b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing.png new file mode 100644 index 00000000..606753e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_2.png b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_2.png new file mode 100644 index 00000000..acee84a8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_3.png b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_3.png new file mode 100644 index 00000000..c799907d Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/material/Thumb.png b/packages/renderer/imagesrc/characters/battle_mage/material/Thumb.png new file mode 100644 index 00000000..cf63b93c Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/profile.png b/packages/renderer/imagesrc/characters/battle_mage/profile.png new file mode 100644 index 00000000..9583eaff Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/profile.png differ diff --git a/packages/renderer/imagesrc/characters/battle_mage/skill/867.png b/packages/renderer/imagesrc/characters/battle_mage/skill/867.png new file mode 100644 index 00000000..883d095b Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/skill/867.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/BUFF.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/BUFF.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/BUFF.png diff --git a/ResourceFiles/知源·战斗法师/技能/一骑当千碎霸.png b/packages/renderer/imagesrc/characters/battle_mage/skill/一骑当千碎霸.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/一骑当千碎霸.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/一骑当千碎霸.png diff --git a/ResourceFiles/知源·战斗法师/技能/使徒之舞.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/使徒之舞.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/使徒之舞.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/使徒之舞.png diff --git a/ResourceFiles/知源·战斗法师/技能/使徒化身.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/使徒化身.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/使徒化身.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/使徒化身.png diff --git a/ResourceFiles/知源·战斗法师/技能/双重锤击.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/双重锤击.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/双重锤击.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/双重锤击.png diff --git a/ResourceFiles/知源·战斗法师/技能/变身贝亚娜.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/变身贝亚娜.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜.png diff --git a/ResourceFiles/知源·战斗法师/技能/变身贝亚娜天地碎霸.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜天地碎霸.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/变身贝亚娜天地碎霸.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜天地碎霸.png diff --git a/ResourceFiles/知源·战斗法师/技能/变身贝亚娜苍天击.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜苍天击.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/变身贝亚娜苍天击.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/变身贝亚娜苍天击.png diff --git a/ResourceFiles/知源·战斗法师/技能/基本攻击.png b/packages/renderer/imagesrc/characters/battle_mage/skill/基本攻击.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/基本攻击.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/基本攻击.png diff --git a/ResourceFiles/归元·气功师·女/技能/基础精通.png b/packages/renderer/imagesrc/characters/battle_mage/skill/基础精通.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/基础精通.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/基础精通.png diff --git a/ResourceFiles/知源·战斗法师/技能/太古之力.png b/packages/renderer/imagesrc/characters/battle_mage/skill/太古之力.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/太古之力.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/太古之力.png diff --git a/ResourceFiles/知源·战斗法师/技能/太古星河·殒灭.png b/packages/renderer/imagesrc/characters/battle_mage/skill/太古星河·殒灭.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/太古星河·殒灭.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/太古星河·殒灭.png diff --git a/ResourceFiles/知源·战斗法师/技能/尼巫的战斗术.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/尼巫的战斗术.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/尼巫的战斗术.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/尼巫的战斗术.png diff --git a/ResourceFiles/知源·战斗法师/技能/强袭流星打.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/强袭流星打.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/强袭流星打.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/强袭流星打.png diff --git a/packages/renderer/imagesrc/characters/battle_mage/skill/战斗法师武器精通.png b/packages/renderer/imagesrc/characters/battle_mage/skill/战斗法师武器精通.png new file mode 100644 index 00000000..5965c3db Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/skill/战斗法师武器精通.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/战灵潜能.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/战灵潜能.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/战灵潜能.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/战灵潜能.png diff --git a/ResourceFiles/知源·战斗法师/技能/斗神意志.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/斗神意志.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/斗神意志.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/斗神意志.png diff --git a/ResourceFiles/知源·战斗法师/技能/星纹陨爆.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/星纹陨爆.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/星纹陨爆.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/星纹陨爆.png diff --git a/ResourceFiles/知源·战斗法师/技能/棍棒精通.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/棍棒精通.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/棍棒精通.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/棍棒精通.png diff --git a/ResourceFiles/知源·战斗法师/技能/流星闪影击.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/流星闪影击.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/流星闪影击.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/流星闪影击.png diff --git a/ResourceFiles/知源·战斗法师/技能/流星雷连击.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/流星雷连击.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/流星雷连击.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/流星雷连击.png diff --git a/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹.png b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹.png new file mode 100644 index 00000000..368c9c6e Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹之源:太古神光.png b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹之源:太古神光.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹之源:太古神光.png rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹之源:太古神光.png diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹发射.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹发射.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹发射.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹发射.png diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹强压.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹强压.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹强压.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹强压.png diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹爆弹.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹爆弹.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹爆弹.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹爆弹.png diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹簇.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹簇.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹簇.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹簇.png diff --git a/ResourceFiles/知源·战斗法师/技能/炫纹融合(旋转).PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/炫纹融合.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/炫纹融合(旋转).PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/炫纹融合.png diff --git a/ResourceFiles/知源·战斗法师/技能/煌龙乱舞.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/煌龙乱舞.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/煌龙乱舞.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/煌龙乱舞.png diff --git a/ResourceFiles/知源·战斗法师/技能/煌龙偃月.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/煌龙偃月.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/煌龙偃月.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/煌龙偃月.png diff --git a/packages/renderer/imagesrc/characters/battle_mage/skill/煌龙降临.png b/packages/renderer/imagesrc/characters/battle_mage/skill/煌龙降临.png new file mode 100644 index 00000000..c575c4c2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/skill/煌龙降临.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/矛精通.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/矛精通.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/矛精通.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/矛精通.png diff --git a/ResourceFiles/知源·战斗法师/技能/碎霸.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/碎霸.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/碎霸.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/碎霸.png diff --git a/packages/renderer/imagesrc/characters/battle_mage/skill/超级炫纹.png b/packages/renderer/imagesrc/characters/battle_mage/skill/超级炫纹.png new file mode 100644 index 00000000..e0e58e04 Binary files /dev/null and b/packages/renderer/imagesrc/characters/battle_mage/skill/超级炫纹.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/闪击碎霸.PNG b/packages/renderer/imagesrc/characters/battle_mage/skill/闪击碎霸.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/闪击碎霸.PNG rename to packages/renderer/imagesrc/characters/battle_mage/skill/闪击碎霸.png diff --git a/packages/renderer/imagesrc/characters/berserker/material/Adventure_3.png b/packages/renderer/imagesrc/characters/berserker/material/Adventure_3.png new file mode 100644 index 00000000..ed2d2df1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Bust.png b/packages/renderer/imagesrc/characters/berserker/material/Bust.png new file mode 100644 index 00000000..627eb28d Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Helper.png b/packages/renderer/imagesrc/characters/berserker/material/Helper.png new file mode 100644 index 00000000..9a2da276 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Large.png b/packages/renderer/imagesrc/characters/berserker/material/Large.png new file mode 100644 index 00000000..b701b8cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Large_2.png b/packages/renderer/imagesrc/characters/berserker/material/Large_2.png new file mode 100644 index 00000000..8583b313 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Large_3.png b/packages/renderer/imagesrc/characters/berserker/material/Large_3.png new file mode 100644 index 00000000..06fd61a7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Seicing.png b/packages/renderer/imagesrc/characters/berserker/material/Seicing.png new file mode 100644 index 00000000..256e4ad3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Seicing_2.png b/packages/renderer/imagesrc/characters/berserker/material/Seicing_2.png new file mode 100644 index 00000000..f8a9be75 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Seicing_3.png b/packages/renderer/imagesrc/characters/berserker/material/Seicing_3.png new file mode 100644 index 00000000..3ba18708 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/material/Thumb.png b/packages/renderer/imagesrc/characters/berserker/material/Thumb.png new file mode 100644 index 00000000..02a58d16 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/profile.png b/packages/renderer/imagesrc/characters/berserker/profile.png new file mode 100644 index 00000000..a8037954 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/profile.png differ diff --git a/ResourceFiles/极诣·狂战士/技能/BUFF.png b/packages/renderer/imagesrc/characters/berserker/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/berserker/skill/BUFF.png diff --git a/ResourceFiles/极诣·狂战士/技能/十字斩.png b/packages/renderer/imagesrc/characters/berserker/skill/十字斩.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/十字斩.png rename to packages/renderer/imagesrc/characters/berserker/skill/十字斩.png diff --git a/ResourceFiles/极诣·狂战士/技能/嗜血.png b/packages/renderer/imagesrc/characters/berserker/skill/嗜血.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/嗜血.png rename to packages/renderer/imagesrc/characters/berserker/skill/嗜血.png diff --git a/ResourceFiles/极诣·狂战士/技能/嗜魂之手.png b/packages/renderer/imagesrc/characters/berserker/skill/嗜魂之手.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/嗜魂之手.png rename to packages/renderer/imagesrc/characters/berserker/skill/嗜魂之手.png diff --git a/ResourceFiles/极诣·狂战士/技能/嗜魂封魔斩.png b/packages/renderer/imagesrc/characters/berserker/skill/嗜魂封魔斩.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/嗜魂封魔斩.png rename to packages/renderer/imagesrc/characters/berserker/skill/嗜魂封魔斩.png diff --git a/ResourceFiles/极诣·狂战士/技能/崩山击.png b/packages/renderer/imagesrc/characters/berserker/skill/崩山击.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/崩山击.png rename to packages/renderer/imagesrc/characters/berserker/skill/崩山击.png diff --git a/ResourceFiles/极诣·狂战士/技能/崩山裂地斩.png b/packages/renderer/imagesrc/characters/berserker/skill/崩山裂地斩.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/崩山裂地斩.png rename to packages/renderer/imagesrc/characters/berserker/skill/崩山裂地斩.png diff --git a/ResourceFiles/极诣·狂战士/技能/怒气爆发.png b/packages/renderer/imagesrc/characters/berserker/skill/怒气爆发.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/怒气爆发.png rename to packages/renderer/imagesrc/characters/berserker/skill/怒气爆发.png diff --git a/ResourceFiles/极诣·狂战士/技能/暴怒狂斩.png b/packages/renderer/imagesrc/characters/berserker/skill/暴怒狂斩.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/暴怒狂斩.png rename to packages/renderer/imagesrc/characters/berserker/skill/暴怒狂斩.png diff --git a/packages/renderer/imagesrc/characters/berserker/skill/暴走.png b/packages/renderer/imagesrc/characters/berserker/skill/暴走.png new file mode 100644 index 00000000..59db30ff Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/skill/暴走.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/skill/残血暴碎击.png b/packages/renderer/imagesrc/characters/berserker/skill/残血暴碎击.png new file mode 100644 index 00000000..b7107078 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/skill/残血暴碎击.png differ diff --git a/packages/renderer/imagesrc/characters/berserker/skill/残酷交锋.png b/packages/renderer/imagesrc/characters/berserker/skill/残酷交锋.png new file mode 100644 index 00000000..d6390e0e Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/skill/残酷交锋.png differ diff --git a/ResourceFiles/极诣·狂战士/技能/汲血之力.png b/packages/renderer/imagesrc/characters/berserker/skill/汲血之力.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/汲血之力.png rename to packages/renderer/imagesrc/characters/berserker/skill/汲血之力.png diff --git a/ResourceFiles/极诣·狂战士/技能/浴血之怒.png b/packages/renderer/imagesrc/characters/berserker/skill/浴血之怒.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/浴血之怒.png rename to packages/renderer/imagesrc/characters/berserker/skill/浴血之怒.png diff --git a/ResourceFiles/极诣·狂战士/技能/疯魔血魂斩.png b/packages/renderer/imagesrc/characters/berserker/skill/疯魔血魂斩.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/疯魔血魂斩.png rename to packages/renderer/imagesrc/characters/berserker/skill/疯魔血魂斩.png diff --git a/ResourceFiles/极诣·狂战士/技能/致命血陨.png b/packages/renderer/imagesrc/characters/berserker/skill/致命血陨.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/致命血陨.png rename to packages/renderer/imagesrc/characters/berserker/skill/致命血陨.png diff --git a/packages/renderer/imagesrc/characters/berserker/skill/血之爪痕.png b/packages/renderer/imagesrc/characters/berserker/skill/血之爪痕.png new file mode 100644 index 00000000..d46769f3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/berserker/skill/血之爪痕.png differ diff --git a/ResourceFiles/极诣·狂战士/技能/血之狂暴.png b/packages/renderer/imagesrc/characters/berserker/skill/血之狂暴.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血之狂暴.png rename to packages/renderer/imagesrc/characters/berserker/skill/血之狂暴.png diff --git a/ResourceFiles/极诣·狂战士/技能/血气之刃.png b/packages/renderer/imagesrc/characters/berserker/skill/血气之刃.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血气之刃.png rename to packages/renderer/imagesrc/characters/berserker/skill/血气之刃.png diff --git a/ResourceFiles/极诣·狂战士/技能/血气唤醒.png b/packages/renderer/imagesrc/characters/berserker/skill/血气唤醒.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血气唤醒.png rename to packages/renderer/imagesrc/characters/berserker/skill/血气唤醒.png diff --git a/ResourceFiles/极诣·狂战士/技能/血气爆发.png b/packages/renderer/imagesrc/characters/berserker/skill/血气爆发.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血气爆发.png rename to packages/renderer/imagesrc/characters/berserker/skill/血气爆发.png diff --git a/ResourceFiles/极诣·狂战士/技能/血气界限.png b/packages/renderer/imagesrc/characters/berserker/skill/血气界限.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血气界限.png rename to packages/renderer/imagesrc/characters/berserker/skill/血气界限.png diff --git a/ResourceFiles/极诣·狂战士/技能/血魔弑天.png b/packages/renderer/imagesrc/characters/berserker/skill/血魔弑天.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血魔弑天.png rename to packages/renderer/imagesrc/characters/berserker/skill/血魔弑天.png diff --git a/ResourceFiles/极诣·狂战士/技能/血魔极道灭世.png b/packages/renderer/imagesrc/characters/berserker/skill/血魔极道灭世.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/血魔极道灭世.png rename to packages/renderer/imagesrc/characters/berserker/skill/血魔极道灭世.png diff --git a/ResourceFiles/极诣·狂战士/技能/魔狱血刹.png b/packages/renderer/imagesrc/characters/berserker/skill/魔狱血刹.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/魔狱血刹.png rename to packages/renderer/imagesrc/characters/berserker/skill/魔狱血刹.png diff --git a/ResourceFiles/极诣·狂战士/技能/鲜血之忆.png b/packages/renderer/imagesrc/characters/berserker/skill/鲜血之忆.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/鲜血之忆.png rename to packages/renderer/imagesrc/characters/berserker/skill/鲜血之忆.png diff --git a/ResourceFiles/极诣·狂战士/技能/鲜血暴掠.png b/packages/renderer/imagesrc/characters/berserker/skill/鲜血暴掠.png similarity index 100% rename from ResourceFiles/极诣·狂战士/技能/鲜血暴掠.png rename to packages/renderer/imagesrc/characters/berserker/skill/鲜血暴掠.png diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Adventure_3.png b/packages/renderer/imagesrc/characters/blood_mage/material/Adventure_3.png new file mode 100644 index 00000000..d84c8803 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Bust.png b/packages/renderer/imagesrc/characters/blood_mage/material/Bust.png new file mode 100644 index 00000000..84a20efc Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Helper.png b/packages/renderer/imagesrc/characters/blood_mage/material/Helper.png new file mode 100644 index 00000000..2b877d8c Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Large.png b/packages/renderer/imagesrc/characters/blood_mage/material/Large.png new file mode 100644 index 00000000..b1cdc3c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Large_2.png b/packages/renderer/imagesrc/characters/blood_mage/material/Large_2.png new file mode 100644 index 00000000..8f4ae6ac Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Large_3.png b/packages/renderer/imagesrc/characters/blood_mage/material/Large_3.png new file mode 100644 index 00000000..3b5a8d74 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Seicing.png b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing.png new file mode 100644 index 00000000..809c547d Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_2.png b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_2.png new file mode 100644 index 00000000..017815c6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_3.png b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_3.png new file mode 100644 index 00000000..727e2d76 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/material/Thumb.png b/packages/renderer/imagesrc/characters/blood_mage/material/Thumb.png new file mode 100644 index 00000000..125c3c4d Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/blood_mage/profile.png b/packages/renderer/imagesrc/characters/blood_mage/profile.png new file mode 100644 index 00000000..a4a41320 Binary files /dev/null and b/packages/renderer/imagesrc/characters/blood_mage/profile.png differ diff --git a/ResourceFiles/知源·血法师/技能/buff.png b/packages/renderer/imagesrc/characters/blood_mage/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/buff.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/BUFF.png diff --git a/ResourceFiles/知源·血法师/技能/伯爵之歌.png b/packages/renderer/imagesrc/characters/blood_mage/skill/伯爵之歌.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/伯爵之歌.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/伯爵之歌.png diff --git a/ResourceFiles/知源·血法师/技能/噬魂囚笼.png b/packages/renderer/imagesrc/characters/blood_mage/skill/噬魂囚笼.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/噬魂囚笼.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/噬魂囚笼.png diff --git a/ResourceFiles/知源·血法师/技能/地狱冥犬.png b/packages/renderer/imagesrc/characters/blood_mage/skill/地狱冥犬.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/地狱冥犬.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/地狱冥犬.png diff --git a/ResourceFiles/知源·血法师/技能/死亡之握.png b/packages/renderer/imagesrc/characters/blood_mage/skill/死亡之握.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/死亡之握.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/死亡之握.png diff --git a/ResourceFiles/知源·血法师/技能/狱血之噬.png b/packages/renderer/imagesrc/characters/blood_mage/skill/狱血之噬.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/狱血之噬.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/狱血之噬.png diff --git a/ResourceFiles/知源·血法师/技能/狱血之牙.png b/packages/renderer/imagesrc/characters/blood_mage/skill/狱血之牙.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/狱血之牙.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/狱血之牙.png diff --git a/ResourceFiles/知源·血法师/技能/狱血之犬.png b/packages/renderer/imagesrc/characters/blood_mage/skill/狱血之犬.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/狱血之犬.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/狱血之犬.png diff --git a/ResourceFiles/知源·血法师/技能/血之共鸣.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血之共鸣.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血之共鸣.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血之共鸣.png diff --git a/ResourceFiles/知源·血法师/技能/血域帷幕·陨灭.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血域帷幕·陨灭.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血域帷幕·陨灭.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血域帷幕·陨灭.png diff --git a/ResourceFiles/知源·血法师/技能/血影步.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血影步.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血影步.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血影步.png diff --git a/ResourceFiles/知源·血法师/技能/血源之眼.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血源之眼.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血源之眼.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血源之眼.png diff --git a/ResourceFiles/知源·血法师/技能/血狱之力.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血狱之力.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血狱之力.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血狱之力.png diff --git a/ResourceFiles/知源·血法师/技能/血界彼岸.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血界彼岸.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血界彼岸.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血界彼岸.png diff --git a/ResourceFiles/知源·血法师/技能/血翼突击.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血翼突击.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血翼突击.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血翼突击.png diff --git a/ResourceFiles/知源·血法师/技能/血翼绽放.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血翼绽放.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血翼绽放.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血翼绽放.png diff --git a/ResourceFiles/知源·血法师/技能/血翼蔽空.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血翼蔽空.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血翼蔽空.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血翼蔽空.png diff --git a/ResourceFiles/知源·血法师/技能/血腥炼狱.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血腥炼狱.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血腥炼狱.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血腥炼狱.png diff --git a/ResourceFiles/知源·血法师/技能/血腥狩猎.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血腥狩猎.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血腥狩猎.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血腥狩猎.png diff --git a/ResourceFiles/知源·血法师/技能/血蝠之舞.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血蝠之舞.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血蝠之舞.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血蝠之舞.png diff --git a/ResourceFiles/知源·血法师/技能/血蝠之袭.png b/packages/renderer/imagesrc/characters/blood_mage/skill/血蝠之袭.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/血蝠之袭.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/血蝠之袭.png diff --git a/ResourceFiles/知源·血法师/技能/魔仆召唤:狱犬.png b/packages/renderer/imagesrc/characters/blood_mage/skill/魔仆召唤:狱犬.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/魔仆召唤:狱犬.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/魔仆召唤:狱犬.png diff --git a/ResourceFiles/知源·血法师/技能/魔法旋风.png b/packages/renderer/imagesrc/characters/blood_mage/skill/魔法旋风.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/魔法旋风.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/魔法旋风.png diff --git a/ResourceFiles/知源·血法师/技能/鲜血之殇.png b/packages/renderer/imagesrc/characters/blood_mage/skill/鲜血之殇.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/鲜血之殇.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/鲜血之殇.png diff --git a/ResourceFiles/知源·血法师/技能/鲜血之誓.PNG b/packages/renderer/imagesrc/characters/blood_mage/skill/鲜血之誓.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/鲜血之誓.PNG rename to packages/renderer/imagesrc/characters/blood_mage/skill/鲜血之誓.png diff --git a/ResourceFiles/知源·血法师/技能/鲜血融合.png b/packages/renderer/imagesrc/characters/blood_mage/skill/鲜血融合.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/鲜血融合.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/鲜血融合.png diff --git a/ResourceFiles/知源·血法师/技能/鲜血长枪.png b/packages/renderer/imagesrc/characters/blood_mage/skill/鲜血长枪.png similarity index 100% rename from ResourceFiles/知源·血法师/技能/鲜血长枪.png rename to packages/renderer/imagesrc/characters/blood_mage/skill/鲜血长枪.png diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/brawler_female/material/Adventure_3.png new file mode 100644 index 00000000..ac8f9ae2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Bust.png b/packages/renderer/imagesrc/characters/brawler_female/material/Bust.png new file mode 100644 index 00000000..7cb2596c Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Helper.png b/packages/renderer/imagesrc/characters/brawler_female/material/Helper.png new file mode 100644 index 00000000..cf5cfea2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Large.png b/packages/renderer/imagesrc/characters/brawler_female/material/Large.png new file mode 100644 index 00000000..b21aa658 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Large_2.png b/packages/renderer/imagesrc/characters/brawler_female/material/Large_2.png new file mode 100644 index 00000000..4bd8e4ac Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Large_3.png b/packages/renderer/imagesrc/characters/brawler_female/material/Large_3.png new file mode 100644 index 00000000..ccd320e4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Seicing.png b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing.png new file mode 100644 index 00000000..152eca88 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_2.png new file mode 100644 index 00000000..a7ca5fe5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_3.png new file mode 100644 index 00000000..7a3d2d00 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/material/Thumb.png b/packages/renderer/imagesrc/characters/brawler_female/material/Thumb.png new file mode 100644 index 00000000..d9e8a6c6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_female/profile.png b/packages/renderer/imagesrc/characters/brawler_female/profile.png new file mode 100644 index 00000000..1f698d38 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_female/profile.png differ diff --git a/ResourceFiles/归元·街霸·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/brawler_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/BUFF.png diff --git a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀.png b/packages/renderer/imagesrc/characters/brawler_female/skill/万毒噬心诀.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/万毒噬心诀.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/万毒噬心诀.png diff --git a/ResourceFiles/归元·街霸·女/技能/万毒噬心诀:毒龙吞天.png b/packages/renderer/imagesrc/characters/brawler_female/skill/万毒噬心诀:毒龙吞天.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/万毒噬心诀:毒龙吞天.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/万毒噬心诀:毒龙吞天.png diff --git a/ResourceFiles/归元·街霸·女/技能/伏虎霸王拳.png b/packages/renderer/imagesrc/characters/brawler_female/skill/伏虎霸王拳.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/伏虎霸王拳.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/伏虎霸王拳.png diff --git a/ResourceFiles/归元·街霸·女/技能/双重投掷.png b/packages/renderer/imagesrc/characters/brawler_female/skill/双重投掷.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/双重投掷.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/双重投掷.png diff --git a/ResourceFiles/归元·气功师·男/技能/基础精通.png b/packages/renderer/imagesrc/characters/brawler_female/skill/基础精通.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/基础精通.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/基础精通.png diff --git a/ResourceFiles/归元·街霸·女/技能/天罗地网.png b/packages/renderer/imagesrc/characters/brawler_female/skill/天罗地网.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/天罗地网.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/天罗地网.png diff --git a/ResourceFiles/归元·街霸·女/技能/抛沙.png b/packages/renderer/imagesrc/characters/brawler_female/skill/抛沙.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/抛沙.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/抛沙.png diff --git a/ResourceFiles/归元·街霸·女/技能/挑衅.png b/packages/renderer/imagesrc/characters/brawler_female/skill/挑衅.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/挑衅.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/挑衅.png diff --git a/ResourceFiles/归元·街霸·女/技能/擒月炎.png b/packages/renderer/imagesrc/characters/brawler_female/skill/擒月炎.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/擒月炎.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/擒月炎.png diff --git a/ResourceFiles/归元·街霸·女/技能/死亡毒雾.png b/packages/renderer/imagesrc/characters/brawler_female/skill/死亡毒雾.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/死亡毒雾.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/死亡毒雾.png diff --git a/ResourceFiles/归元·街霸·女/技能/毒影针.png b/packages/renderer/imagesrc/characters/brawler_female/skill/毒影针.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/毒影针.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/毒影针.png diff --git a/ResourceFiles/归元·街霸·女/技能/毒雷引爆.png b/packages/renderer/imagesrc/characters/brawler_female/skill/毒雷引爆.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/毒雷引爆.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/毒雷引爆.png diff --git a/ResourceFiles/归元·街霸·女/技能/毒龙轰天雷.png b/packages/renderer/imagesrc/characters/brawler_female/skill/毒龙轰天雷.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/毒龙轰天雷.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/毒龙轰天雷.png diff --git a/ResourceFiles/归元·街霸·女/技能/爆碎砖袭.png b/packages/renderer/imagesrc/characters/brawler_female/skill/爆碎砖袭.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/爆碎砖袭.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/爆碎砖袭.png diff --git a/ResourceFiles/归元·街霸·女/技能/爪精通.png b/packages/renderer/imagesrc/characters/brawler_female/skill/爪精通.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/爪精通.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/爪精通.png diff --git a/ResourceFiles/归元·街霸·女/技能/狂·霸王拳.png b/packages/renderer/imagesrc/characters/brawler_female/skill/狂·霸王拳.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/狂·霸王拳.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/狂·霸王拳.png diff --git a/ResourceFiles/归元·街霸·女/技能/猛毒之伤.png b/packages/renderer/imagesrc/characters/brawler_female/skill/猛毒之伤.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/猛毒之伤.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/猛毒之伤.png diff --git a/ResourceFiles/归元·街霸·女/技能/猛毒之血.png b/packages/renderer/imagesrc/characters/brawler_female/skill/猛毒之血.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/猛毒之血.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/猛毒之血.png diff --git a/ResourceFiles/归元·街霸·女/技能/猛毒擒月炎.png b/packages/renderer/imagesrc/characters/brawler_female/skill/猛毒擒月炎.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/猛毒擒月炎.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/猛毒擒月炎.png diff --git a/ResourceFiles/归元·街霸·女/技能/砖袭.png b/packages/renderer/imagesrc/characters/brawler_female/skill/砖袭.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/砖袭.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/砖袭.png diff --git a/ResourceFiles/归元·街霸·女/技能/禁技:万毒蛇窟.png b/packages/renderer/imagesrc/characters/brawler_female/skill/禁技:万毒蛇窟.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/禁技:万毒蛇窟.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/禁技:万毒蛇窟.png diff --git a/ResourceFiles/归元·街霸·女/技能/秘制毒爆弹.png b/packages/renderer/imagesrc/characters/brawler_female/skill/秘制毒爆弹.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/秘制毒爆弹.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/秘制毒爆弹.png diff --git a/ResourceFiles/归元·街霸·女/技能/街头风暴.png b/packages/renderer/imagesrc/characters/brawler_female/skill/街头风暴.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/街头风暴.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/街头风暴.png diff --git a/ResourceFiles/归元·街霸·女/技能/裂地飞沙.png b/packages/renderer/imagesrc/characters/brawler_female/skill/裂地飞沙.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/裂地飞沙.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/裂地飞沙.png diff --git a/ResourceFiles/归元·街霸·女/技能/身化万毒.png b/packages/renderer/imagesrc/characters/brawler_female/skill/身化万毒.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/身化万毒.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/身化万毒.png diff --git a/ResourceFiles/归元·街霸·女/技能/连环毒爆弹.png b/packages/renderer/imagesrc/characters/brawler_female/skill/连环毒爆弹.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/连环毒爆弹.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/连环毒爆弹.png diff --git a/ResourceFiles/归元·街霸·女/技能/钻心毒爆.png b/packages/renderer/imagesrc/characters/brawler_female/skill/钻心毒爆.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/钻心毒爆.png rename to packages/renderer/imagesrc/characters/brawler_female/skill/钻心毒爆.png diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/brawler_male/material/Adventure_3.png new file mode 100644 index 00000000..ad3cd2ac Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Bust.png b/packages/renderer/imagesrc/characters/brawler_male/material/Bust.png new file mode 100644 index 00000000..123ecc1a Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Helper.png b/packages/renderer/imagesrc/characters/brawler_male/material/Helper.png new file mode 100644 index 00000000..8b509c9d Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Large.png b/packages/renderer/imagesrc/characters/brawler_male/material/Large.png new file mode 100644 index 00000000..5a471d1b Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Large_2.png b/packages/renderer/imagesrc/characters/brawler_male/material/Large_2.png new file mode 100644 index 00000000..7e6e9f3e Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Large_3.png b/packages/renderer/imagesrc/characters/brawler_male/material/Large_3.png new file mode 100644 index 00000000..6e9f3b9e Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Seicing.png b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing.png new file mode 100644 index 00000000..3cf4fbcf Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_2.png new file mode 100644 index 00000000..7822818d Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_3.png new file mode 100644 index 00000000..a4129976 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/material/Thumb.png b/packages/renderer/imagesrc/characters/brawler_male/material/Thumb.png new file mode 100644 index 00000000..6a03566c Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/brawler_male/profile.png b/packages/renderer/imagesrc/characters/brawler_male/profile.png new file mode 100644 index 00000000..b6aaebb3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/profile.png differ diff --git a/ResourceFiles/归元·街霸·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/brawler_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/BUFF.png diff --git a/ResourceFiles/归元·街霸·男/技能/伏虎霸王拳.png b/packages/renderer/imagesrc/characters/brawler_male/skill/伏虎霸王拳.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/伏虎霸王拳.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/伏虎霸王拳.png diff --git a/ResourceFiles/归元·街霸·男/技能/千手奥义.png b/packages/renderer/imagesrc/characters/brawler_male/skill/千手奥义.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/千手奥义.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/千手奥义.png diff --git a/ResourceFiles/归元·街霸·男/技能/千锁乱舞.png b/packages/renderer/imagesrc/characters/brawler_male/skill/千锁乱舞.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/千锁乱舞.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/千锁乱舞.png diff --git a/ResourceFiles/归元·街霸·女/技能/基础精通.png b/packages/renderer/imagesrc/characters/brawler_male/skill/基础精通.png similarity index 100% rename from ResourceFiles/归元·街霸·女/技能/基础精通.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/基础精通.png diff --git a/ResourceFiles/归元·街霸·男/技能/天崩地裂.png b/packages/renderer/imagesrc/characters/brawler_male/skill/天崩地裂.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/天崩地裂.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/天崩地裂.png diff --git a/ResourceFiles/归元·街霸·男/技能/抛沙.png b/packages/renderer/imagesrc/characters/brawler_male/skill/抛沙.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/抛沙.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/抛沙.png diff --git a/ResourceFiles/归元·街霸·男/技能/挑衅.png b/packages/renderer/imagesrc/characters/brawler_male/skill/挑衅.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/挑衅.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/挑衅.png diff --git a/ResourceFiles/归元·街霸·男/技能/擒月炎.png b/packages/renderer/imagesrc/characters/brawler_male/skill/擒月炎.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/擒月炎.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/擒月炎.png diff --git a/ResourceFiles/归元·街霸·男/技能/暗街夺命锁.png b/packages/renderer/imagesrc/characters/brawler_male/skill/暗街夺命锁.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/暗街夺命锁.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/暗街夺命锁.png diff --git a/packages/renderer/imagesrc/characters/brawler_male/skill/残忍套索.png b/packages/renderer/imagesrc/characters/brawler_male/skill/残忍套索.png new file mode 100644 index 00000000..c21bcbee Binary files /dev/null and b/packages/renderer/imagesrc/characters/brawler_male/skill/残忍套索.png differ diff --git a/ResourceFiles/归元·街霸·男/技能/毒瓶投掷.png b/packages/renderer/imagesrc/characters/brawler_male/skill/毒瓶投掷.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/毒瓶投掷.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/毒瓶投掷.png diff --git a/ResourceFiles/归元·街霸·男/技能/毒针投掷.png b/packages/renderer/imagesrc/characters/brawler_male/skill/毒针投掷.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/毒针投掷.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/毒针投掷.png diff --git a/ResourceFiles/归元·街霸·男/技能/毒雷引爆.png b/packages/renderer/imagesrc/characters/brawler_male/skill/毒雷引爆.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/毒雷引爆.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/毒雷引爆.png diff --git a/ResourceFiles/归元·街霸·男/技能/燃火轰天炮.png b/packages/renderer/imagesrc/characters/brawler_male/skill/燃火轰天炮.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/燃火轰天炮.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/燃火轰天炮.png diff --git a/ResourceFiles/归元·街霸·男/技能/爆破污桶.png b/packages/renderer/imagesrc/characters/brawler_male/skill/爆破污桶.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/爆破污桶.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/爆破污桶.png diff --git a/ResourceFiles/归元·街霸·男/技能/爪精通.png b/packages/renderer/imagesrc/characters/brawler_male/skill/爪精通.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/爪精通.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/爪精通.png diff --git a/ResourceFiles/归元·街霸·男/技能/狂·霸王拳.png b/packages/renderer/imagesrc/characters/brawler_male/skill/狂·霸王拳.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/狂·霸王拳.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/狂·霸王拳.png diff --git a/ResourceFiles/归元·街霸·男/技能/砖块投掷.png b/packages/renderer/imagesrc/characters/brawler_male/skill/砖块投掷.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/砖块投掷.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/砖块投掷.png diff --git a/ResourceFiles/归元·街霸·男/技能/罗网投掷.png b/packages/renderer/imagesrc/characters/brawler_male/skill/罗网投掷.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/罗网投掷.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/罗网投掷.png diff --git a/ResourceFiles/归元·街霸·男/技能/螺旋滑铲.png b/packages/renderer/imagesrc/characters/brawler_male/skill/螺旋滑铲.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/螺旋滑铲.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/螺旋滑铲.png diff --git a/ResourceFiles/归元·街霸·男/技能/血色风暴.png b/packages/renderer/imagesrc/characters/brawler_male/skill/血色风暴.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/血色风暴.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/血色风暴.png diff --git a/ResourceFiles/归元·街霸·男/技能/诡诈之道.png b/packages/renderer/imagesrc/characters/brawler_male/skill/诡诈之道.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/诡诈之道.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/诡诈之道.png diff --git a/ResourceFiles/归元·街霸·男/技能/逆道·幽链之界.png b/packages/renderer/imagesrc/characters/brawler_male/skill/逆道·幽链之界.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/逆道·幽链之界.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/逆道·幽链之界.png diff --git a/ResourceFiles/归元·街霸·男/技能/逆道·爆狱.png b/packages/renderer/imagesrc/characters/brawler_male/skill/逆道·爆狱.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/逆道·爆狱.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/逆道·爆狱.png diff --git a/ResourceFiles/归元·街霸·男/技能/逆道·皆允.png b/packages/renderer/imagesrc/characters/brawler_male/skill/逆道·皆允.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/逆道·皆允.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/逆道·皆允.png diff --git a/ResourceFiles/归元·街霸·男/技能/飞沙走石.png b/packages/renderer/imagesrc/characters/brawler_male/skill/飞沙走石.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/飞沙走石.png rename to packages/renderer/imagesrc/characters/brawler_male/skill/飞沙走石.png diff --git a/packages/renderer/imagesrc/characters/chaos/material/Adventure_3.png b/packages/renderer/imagesrc/characters/chaos/material/Adventure_3.png new file mode 100644 index 00000000..9024b913 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Bust.png b/packages/renderer/imagesrc/characters/chaos/material/Bust.png new file mode 100644 index 00000000..ac0db9f8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Helper.png b/packages/renderer/imagesrc/characters/chaos/material/Helper.png new file mode 100644 index 00000000..853bed9d Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Large.png b/packages/renderer/imagesrc/characters/chaos/material/Large.png new file mode 100644 index 00000000..bfec0046 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Large_2.png b/packages/renderer/imagesrc/characters/chaos/material/Large_2.png new file mode 100644 index 00000000..ec2cbdd7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Large_3.png b/packages/renderer/imagesrc/characters/chaos/material/Large_3.png new file mode 100644 index 00000000..a6ef1208 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Seicing.png b/packages/renderer/imagesrc/characters/chaos/material/Seicing.png new file mode 100644 index 00000000..dfb838eb Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Seicing_2.png b/packages/renderer/imagesrc/characters/chaos/material/Seicing_2.png new file mode 100644 index 00000000..9e556d33 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Seicing_3.png b/packages/renderer/imagesrc/characters/chaos/material/Seicing_3.png new file mode 100644 index 00000000..5d303720 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/material/Thumb.png b/packages/renderer/imagesrc/characters/chaos/material/Thumb.png new file mode 100644 index 00000000..3e5d05e9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/chaos/profile.png b/packages/renderer/imagesrc/characters/chaos/profile.png new file mode 100644 index 00000000..7cce4b53 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/profile.png differ diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/Buff.png b/packages/renderer/imagesrc/characters/chaos/skill/BUFF.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/Buff.png rename to packages/renderer/imagesrc/characters/chaos/skill/BUFF.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/亚丁之力.PNG b/packages/renderer/imagesrc/characters/chaos/skill/亚丁之力.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/亚丁之力.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/亚丁之力.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/军团列阵.PNG b/packages/renderer/imagesrc/characters/chaos/skill/军团列队.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/军团列阵.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/军团列队.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/力量法则.PNG b/packages/renderer/imagesrc/characters/chaos/skill/力量法则.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/力量法则.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/力量法则.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/午夜嘉年华.PNG b/packages/renderer/imagesrc/characters/chaos/skill/午夜嘉年华.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/午夜嘉年华.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/午夜嘉年华.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/毁灭突进.PNG b/packages/renderer/imagesrc/characters/chaos/skill/毁灭突进.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/毁灭突进.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/毁灭突进.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/盛宴·恶之祭典.png b/packages/renderer/imagesrc/characters/chaos/skill/盛宴·恶之祭典.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/盛宴·恶之祭典.png rename to packages/renderer/imagesrc/characters/chaos/skill/盛宴·恶之祭典.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/碎灵屠戮.PNG b/packages/renderer/imagesrc/characters/chaos/skill/碎灵屠戮.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/碎灵屠戮.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/碎灵屠戮.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/绚丽耀光.PNG b/packages/renderer/imagesrc/characters/chaos/skill/绚丽耀光.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/绚丽耀光.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/绚丽耀光.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/绝对魅力.png b/packages/renderer/imagesrc/characters/chaos/skill/绝对魅力.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/绝对魅力.png rename to packages/renderer/imagesrc/characters/chaos/skill/绝对魅力.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/绽放·终章.png b/packages/renderer/imagesrc/characters/chaos/skill/绽放·终章.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/绽放·终章.png rename to packages/renderer/imagesrc/characters/chaos/skill/绽放·终章.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/翔空剑.PNG b/packages/renderer/imagesrc/characters/chaos/skill/翔空剑.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/翔空剑.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/翔空剑.png diff --git a/packages/renderer/imagesrc/characters/chaos/skill/聚灵升空剑.png b/packages/renderer/imagesrc/characters/chaos/skill/聚灵升空剑.png new file mode 100644 index 00000000..6a1d1854 Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/skill/聚灵升空剑.png differ diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/连锁共振.PNG b/packages/renderer/imagesrc/characters/chaos/skill/连锁共振.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/连锁共振.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/连锁共振.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔幻旋风.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔幻旋风.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔幻旋风.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔幻旋风.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵乱舞.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵乱舞.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵乱舞.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵乱舞.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:假面杰森.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:假面杰森.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:假面杰森.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:假面杰森.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:大富翁鲁邦.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:大富翁鲁邦.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:大富翁鲁邦.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:大富翁鲁邦.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:大画家芭芘.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:大画家芭芘.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:大画家芭芘.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:大画家芭芘.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:小吸血鬼夏伊.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:小吸血鬼夏伊.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:小吸血鬼夏伊.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:小吸血鬼夏伊.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:旋转小冯.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:旋转小冯.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:旋转小冯.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:旋转小冯.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:波拉斯.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:波拉斯.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:波拉斯.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:波拉斯.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:狂暴布洛克.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:狂暴布洛克.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:狂暴布洛克.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:狂暴布洛克.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:瓦尔琪.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:瓦尔琪.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:瓦尔琪.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:瓦尔琪.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:红心女王艾丽莎.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:红心女王艾丽莎.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:红心女王艾丽莎.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:红心女王艾丽莎.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:迪克老爹.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:迪克老爹.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵召唤:迪克老爹.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵召唤:迪克老爹.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵炸弹.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵炸弹.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵炸弹.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵炸弹.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔灵血统.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔灵血统.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔灵血统.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔灵血统.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔神百裂拳.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔神百裂拳.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔神百裂拳.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔神百裂拳.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/魔能榨取.PNG b/packages/renderer/imagesrc/characters/chaos/skill/魔能榨取.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/魔能榨取.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/魔能榨取.png diff --git a/packages/renderer/imagesrc/characters/chaos/skill/黑暗冲击.png b/packages/renderer/imagesrc/characters/chaos/skill/黑暗冲击.png new file mode 100644 index 00000000..663eb6fb Binary files /dev/null and b/packages/renderer/imagesrc/characters/chaos/skill/黑暗冲击.png differ diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/黑曜之眸:亚丁降临.PNG b/packages/renderer/imagesrc/characters/chaos/skill/黑曜之眸:亚丁降临.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/黑曜之眸:亚丁降临.PNG rename to packages/renderer/imagesrc/characters/chaos/skill/黑曜之眸:亚丁降临.png diff --git a/ResourceFiles/皓曦·混沌魔灵/技能/黑色曜日.png b/packages/renderer/imagesrc/characters/chaos/skill/黑色曜日.png similarity index 100% rename from ResourceFiles/皓曦·混沌魔灵/技能/黑色曜日.png rename to packages/renderer/imagesrc/characters/chaos/skill/黑色曜日.png diff --git a/packages/renderer/imagesrc/characters/creator/material/Adventure_3.png b/packages/renderer/imagesrc/characters/creator/material/Adventure_3.png new file mode 100644 index 00000000..e64bfacf Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Bust.png b/packages/renderer/imagesrc/characters/creator/material/Bust.png new file mode 100644 index 00000000..12f98c1f Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Helper.png b/packages/renderer/imagesrc/characters/creator/material/Helper.png new file mode 100644 index 00000000..4305ad1e Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Large.png b/packages/renderer/imagesrc/characters/creator/material/Large.png new file mode 100644 index 00000000..fbff8578 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Large_2.png b/packages/renderer/imagesrc/characters/creator/material/Large_2.png new file mode 100644 index 00000000..718ac360 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Large_3.png b/packages/renderer/imagesrc/characters/creator/material/Large_3.png new file mode 100644 index 00000000..27ef03fa Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Seicing.png b/packages/renderer/imagesrc/characters/creator/material/Seicing.png new file mode 100644 index 00000000..10996634 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Seicing_2.png b/packages/renderer/imagesrc/characters/creator/material/Seicing_2.png new file mode 100644 index 00000000..afccc013 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Seicing_3.png b/packages/renderer/imagesrc/characters/creator/material/Seicing_3.png new file mode 100644 index 00000000..e74ba905 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/creator/material/Thumb.png b/packages/renderer/imagesrc/characters/creator/material/Thumb.png new file mode 100644 index 00000000..44b78cd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/creator/profile.png b/packages/renderer/imagesrc/characters/creator/profile.png new file mode 100644 index 00000000..1f3fa1fe Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/profile.png differ diff --git a/ResourceFiles/知源·缔造者/技能/BUFF.png b/packages/renderer/imagesrc/characters/creator/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/creator/skill/BUFF.png diff --git a/ResourceFiles/知源·缔造者/技能/具象强化.png b/packages/renderer/imagesrc/characters/creator/skill/具象强化.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/具象强化.png rename to packages/renderer/imagesrc/characters/creator/skill/具象强化.png diff --git a/ResourceFiles/知源·缔造者/技能/冰天震地.png b/packages/renderer/imagesrc/characters/creator/skill/冰天震地.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/冰天震地.png rename to packages/renderer/imagesrc/characters/creator/skill/冰天震地.png diff --git a/ResourceFiles/知源·缔造者/技能/冰雪降临.png b/packages/renderer/imagesrc/characters/creator/skill/冰雪降临.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/冰雪降临.png rename to packages/renderer/imagesrc/characters/creator/skill/冰雪降临.png diff --git a/ResourceFiles/知源·缔造者/技能/冰霜之球.png b/packages/renderer/imagesrc/characters/creator/skill/冰霜之球.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/冰霜之球.png rename to packages/renderer/imagesrc/characters/creator/skill/冰霜之球.png diff --git a/ResourceFiles/知源·缔造者/技能/创世.png b/packages/renderer/imagesrc/characters/creator/skill/创世.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/创世.png rename to packages/renderer/imagesrc/characters/creator/skill/创世.png diff --git a/packages/renderer/imagesrc/characters/creator/skill/创世Buff.png b/packages/renderer/imagesrc/characters/creator/skill/创世Buff.png new file mode 100644 index 00000000..8e0b4c80 Binary files /dev/null and b/packages/renderer/imagesrc/characters/creator/skill/创世Buff.png differ diff --git a/ResourceFiles/知源·缔造者/技能/创世之光.png b/packages/renderer/imagesrc/characters/creator/skill/创世之光.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/创世之光.png rename to packages/renderer/imagesrc/characters/creator/skill/创世之光.png diff --git a/ResourceFiles/知源·缔造者/技能/创世之力.png b/packages/renderer/imagesrc/characters/creator/skill/创世之力.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/创世之力.png rename to packages/renderer/imagesrc/characters/creator/skill/创世之力.png diff --git a/ResourceFiles/知源·缔造者/技能/天工开物.png b/packages/renderer/imagesrc/characters/creator/skill/天工开物.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/天工开物.png rename to packages/renderer/imagesrc/characters/creator/skill/天工开物.png diff --git a/ResourceFiles/知源·缔造者/技能/幻想之境.png b/packages/renderer/imagesrc/characters/creator/skill/幻想之境.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/幻想之境.png rename to packages/renderer/imagesrc/characters/creator/skill/幻想之境.png diff --git a/ResourceFiles/知源·缔造者/技能/时之终末:归烬.png b/packages/renderer/imagesrc/characters/creator/skill/时之终末:归烬.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/时之终末:归烬.png rename to packages/renderer/imagesrc/characters/creator/skill/时之终末:归烬.png diff --git a/ResourceFiles/知源·缔造者/技能/时空禁制.png b/packages/renderer/imagesrc/characters/creator/skill/时空禁制.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/时空禁制.png rename to packages/renderer/imagesrc/characters/creator/skill/时空禁制.png diff --git a/ResourceFiles/知源·缔造者/技能/时空链接.png b/packages/renderer/imagesrc/characters/creator/skill/时空链接.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/时空链接.png rename to packages/renderer/imagesrc/characters/creator/skill/时空链接.png diff --git a/ResourceFiles/知源·缔造者/技能/末日虫洞.png b/packages/renderer/imagesrc/characters/creator/skill/末日虫洞.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/末日虫洞.png rename to packages/renderer/imagesrc/characters/creator/skill/末日虫洞.png diff --git a/ResourceFiles/知源·缔造者/技能/极冰护盾.png b/packages/renderer/imagesrc/characters/creator/skill/极冰护盾.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/极冰护盾.png rename to packages/renderer/imagesrc/characters/creator/skill/极冰护盾.png diff --git a/ResourceFiles/知源·缔造者/技能/洞悉.png b/packages/renderer/imagesrc/characters/creator/skill/洞悉.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/洞悉.png rename to packages/renderer/imagesrc/characters/creator/skill/洞悉.png diff --git a/ResourceFiles/知源·缔造者/技能/炽炎星陨.png b/packages/renderer/imagesrc/characters/creator/skill/炽炎星陨.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/炽炎星陨.png rename to packages/renderer/imagesrc/characters/creator/skill/炽炎星陨.png diff --git a/ResourceFiles/知源·缔造者/技能/烈火燎原.png b/packages/renderer/imagesrc/characters/creator/skill/烈火燎原.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/烈火燎原.png rename to packages/renderer/imagesrc/characters/creator/skill/烈火燎原.png diff --git a/ResourceFiles/知源·缔造者/技能/烈焰飓风.png b/packages/renderer/imagesrc/characters/creator/skill/烈焰飓风.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/烈焰飓风.png rename to packages/renderer/imagesrc/characters/creator/skill/烈焰飓风.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/自我觉醒.png b/packages/renderer/imagesrc/characters/creator/skill/自我觉醒.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/自我觉醒.png rename to packages/renderer/imagesrc/characters/creator/skill/自我觉醒.png diff --git a/ResourceFiles/知源·缔造者/技能/超能旋风波.png b/packages/renderer/imagesrc/characters/creator/skill/超能旋风波.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/超能旋风波.png rename to packages/renderer/imagesrc/characters/creator/skill/超能旋风波.png diff --git a/ResourceFiles/知源·缔造者/技能/风暴漩涡.png b/packages/renderer/imagesrc/characters/creator/skill/风暴漩涡.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/风暴漩涡.png rename to packages/renderer/imagesrc/characters/creator/skill/风暴漩涡.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/crusader_female/material/Adventure_3.png new file mode 100644 index 00000000..40cf841b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Bust.png b/packages/renderer/imagesrc/characters/crusader_female/material/Bust.png new file mode 100644 index 00000000..51cba904 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Helper.png b/packages/renderer/imagesrc/characters/crusader_female/material/Helper.png new file mode 100644 index 00000000..c9ce353c Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Large.png b/packages/renderer/imagesrc/characters/crusader_female/material/Large.png new file mode 100644 index 00000000..3ea83dd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Large_2.png b/packages/renderer/imagesrc/characters/crusader_female/material/Large_2.png new file mode 100644 index 00000000..c2f31cf1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Large_3.png b/packages/renderer/imagesrc/characters/crusader_female/material/Large_3.png new file mode 100644 index 00000000..a9024fe7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Seicing.png b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing.png new file mode 100644 index 00000000..3a5be759 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_2.png new file mode 100644 index 00000000..ca863f36 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_3.png new file mode 100644 index 00000000..1ec0b0af Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/material/Thumb.png b/packages/renderer/imagesrc/characters/crusader_female/material/Thumb.png new file mode 100644 index 00000000..3832eaf4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/profile.png b/packages/renderer/imagesrc/characters/crusader_female/profile.png new file mode 100644 index 00000000..ad6150eb Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/profile.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/crusader_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/BUFF.png diff --git a/ResourceFiles/神启·圣骑士/技能/勇气圣歌.png b/packages/renderer/imagesrc/characters/crusader_female/skill/勇气圣歌.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/勇气圣歌.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/勇气圣歌.png diff --git a/ResourceFiles/神启·圣骑士/技能/勇气祝福.png b/packages/renderer/imagesrc/characters/crusader_female/skill/勇气祝福.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/勇气祝福.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/勇气祝福.png diff --git a/ResourceFiles/神启·圣骑士/技能/启示圣歌.png b/packages/renderer/imagesrc/characters/crusader_female/skill/启示圣歌.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/启示圣歌.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/启示圣歌.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/圣佑之阵.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣佑之阵.png new file mode 100644 index 00000000..d02c22e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/圣佑之阵.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/圣光天启.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣光天启.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/圣光天启.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/圣光天启.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/圣光守护.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣光守护.png new file mode 100644 index 00000000..573f1df1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/圣光守护.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/圣光普照.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣光普照.png new file mode 100644 index 00000000..5cfc2da8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/圣光普照.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/圣天使之光.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣天使之光.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/圣天使之光.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/圣天使之光.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/圣洁之翼.png b/packages/renderer/imagesrc/characters/crusader_female/skill/圣洁之翼.png new file mode 100644 index 00000000..7e4df390 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/圣洁之翼.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/大天使的庇护.png b/packages/renderer/imagesrc/characters/crusader_female/skill/大天使的庇护.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/大天使的庇护.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/大天使的庇护.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔之雷.png b/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔之雷.png new file mode 100644 index 00000000..951317d9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔之雷.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔重击.png b/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔重击.png new file mode 100644 index 00000000..b3124e86 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/忏悔重击.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/救赎彼岸:惩戒圣枪.png b/packages/renderer/imagesrc/characters/crusader_female/skill/救赎彼岸:惩戒圣枪.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/救赎彼岸:惩戒圣枪.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/救赎彼岸:惩戒圣枪.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/新生圣歌.png b/packages/renderer/imagesrc/characters/crusader_female/skill/新生圣歌.png new file mode 100644 index 00000000..fa4c1e47 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/新生圣歌.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/治愈祈祷.png b/packages/renderer/imagesrc/characters/crusader_female/skill/治愈祈祷.png new file mode 100644 index 00000000..81597063 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/治愈祈祷.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/祈愿·天使赞歌.png b/packages/renderer/imagesrc/characters/crusader_female/skill/祈愿·天使赞歌.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/祈愿·天使赞歌.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/祈愿·天使赞歌.png diff --git a/packages/renderer/imagesrc/characters/crusader_female/skill/神之教诲.png b/packages/renderer/imagesrc/characters/crusader_female/skill/神之教诲.png new file mode 100644 index 00000000..f1d62df5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female/skill/神之教诲.png differ diff --git a/ResourceFiles/神启·圣骑士/技能/神光十字.png b/packages/renderer/imagesrc/characters/crusader_female/skill/神光十字.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/神光十字.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/神光十字.png diff --git a/ResourceFiles/神启·圣骑士/技能/虔诚信念.png b/packages/renderer/imagesrc/characters/crusader_female/skill/虔诚信念.png similarity index 100% rename from ResourceFiles/神启·圣骑士/技能/虔诚信念.png rename to packages/renderer/imagesrc/characters/crusader_female/skill/虔诚信念.png diff --git a/ResourceFiles/神启·圣骑士/职业.png b/packages/renderer/imagesrc/characters/crusader_female/职业.png similarity index 100% rename from ResourceFiles/神启·圣骑士/职业.png rename to packages/renderer/imagesrc/characters/crusader_female/职业.png diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Adventure_3.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Adventure_3.png new file mode 100644 index 00000000..40cf841b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Bust.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Bust.png new file mode 100644 index 00000000..51cba904 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Helper.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Helper.png new file mode 100644 index 00000000..c9ce353c Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large.png new file mode 100644 index 00000000..3ea83dd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_2.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_2.png new file mode 100644 index 00000000..c2f31cf1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_3.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_3.png new file mode 100644 index 00000000..a9024fe7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing.png new file mode 100644 index 00000000..3a5be759 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_2.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_2.png new file mode 100644 index 00000000..ca863f36 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_3.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_3.png new file mode 100644 index 00000000..1ec0b0af Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/material/Thumb.png b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Thumb.png new file mode 100644 index 00000000..3832eaf4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/profile.png b/packages/renderer/imagesrc/characters/crusader_female_carry/profile.png new file mode 100644 index 00000000..ad6150eb Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/profile.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/BUFF.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/BUFF.png new file mode 100644 index 00000000..6800355b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/BUFF.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气圣歌.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气圣歌.png new file mode 100644 index 00000000..a9f857f4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气圣歌.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气祝福.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气祝福.png new file mode 100644 index 00000000..6800355b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/勇气祝福.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/十字架精通.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/十字架精通.png new file mode 100644 index 00000000..83a319d0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/十字架精通.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示圣歌.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示圣歌.png new file mode 100644 index 00000000..b5f819f0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示圣歌.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示:惩戒.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示:惩戒.png new file mode 100644 index 00000000..2cb385a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/启示:惩戒.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣佑之阵.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣佑之阵.png new file mode 100644 index 00000000..d02c22e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣佑之阵.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光天启.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光天启.png new file mode 100644 index 00000000..ff98b84f Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光天启.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光守护.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光守护.png new file mode 100644 index 00000000..573f1df1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光守护.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光普照.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光普照.png new file mode 100644 index 00000000..5cfc2da8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光普照.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光灌注.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光灌注.png new file mode 100644 index 00000000..551cb6f0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光灌注.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光烬盾.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光烬盾.png new file mode 100644 index 00000000..2cedc44e Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣光烬盾.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣天使之光.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣天使之光.png new file mode 100644 index 00000000..8a83047b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣天使之光.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之光.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之光.png new file mode 100644 index 00000000..27e765be Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之光.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之翼.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之翼.png new file mode 100644 index 00000000..7e4df390 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣洁之翼.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣言十字.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣言十字.png new file mode 100644 index 00000000..b088a289 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/圣言十字.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/大天使的庇护.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/大天使的庇护.png new file mode 100644 index 00000000..a3cb2372 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/大天使的庇护.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔之雷.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔之雷.png new file mode 100644 index 00000000..951317d9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔之雷.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔重击.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔重击.png new file mode 100644 index 00000000..bf9a4bab Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/忏悔重击.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/救赎彼岸:惩戒圣枪.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/救赎彼岸:惩戒圣枪.png new file mode 100644 index 00000000..421eadd1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/救赎彼岸:惩戒圣枪.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/新生圣歌.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/新生圣歌.png new file mode 100644 index 00000000..fa4c1e47 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/新生圣歌.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/治愈祈祷.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/治愈祈祷.png new file mode 100644 index 00000000..81597063 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/治愈祈祷.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/洗礼之光.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/洗礼之光.png new file mode 100644 index 00000000..9883963a Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/洗礼之光.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/祈愿·天使赞歌.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/祈愿·天使赞歌.png new file mode 100644 index 00000000..68271679 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/祈愿·天使赞歌.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神之教诲.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神之教诲.png new file mode 100644 index 00000000..f1d62df5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神之教诲.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光十字.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光十字.png new file mode 100644 index 00000000..e578cf11 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光十字.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光惩戒.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光惩戒.png new file mode 100644 index 00000000..f96b3f4a Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神光惩戒.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神圣锁环.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神圣锁环.png new file mode 100644 index 00000000..6e943210 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/神圣锁环.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/胜利之矛.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/胜利之矛.png new file mode 100644 index 00000000..18a47746 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/胜利之矛.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_female_carry/skill/虔诚信念.png b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/虔诚信念.png new file mode 100644 index 00000000..7f321845 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_female_carry/skill/虔诚信念.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/crusader_male/material/Adventure_3.png new file mode 100644 index 00000000..945dfb5b Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Bust.png b/packages/renderer/imagesrc/characters/crusader_male/material/Bust.png new file mode 100644 index 00000000..128f2c60 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Helper.png b/packages/renderer/imagesrc/characters/crusader_male/material/Helper.png new file mode 100644 index 00000000..081a104c Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Large.png b/packages/renderer/imagesrc/characters/crusader_male/material/Large.png new file mode 100644 index 00000000..d02cdd16 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Large_2.png b/packages/renderer/imagesrc/characters/crusader_male/material/Large_2.png new file mode 100644 index 00000000..1807c3da Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Large_3.png b/packages/renderer/imagesrc/characters/crusader_male/material/Large_3.png new file mode 100644 index 00000000..80eb3f35 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Seicing.png b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing.png new file mode 100644 index 00000000..d52c577a Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_2.png new file mode 100644 index 00000000..44f151fe Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_3.png new file mode 100644 index 00000000..fa2c07f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/material/Thumb.png b/packages/renderer/imagesrc/characters/crusader_male/material/Thumb.png new file mode 100644 index 00000000..727772a0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male/profile.png b/packages/renderer/imagesrc/characters/crusader_male/profile.png new file mode 100644 index 00000000..bf1bc6eb Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/profile.png differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/信念光环.png b/packages/renderer/imagesrc/characters/crusader_male/skill/信念光环.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/信念光环.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/信念光环.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/勇气恩赐.png b/packages/renderer/imagesrc/characters/crusader_male/skill/勇气恩赐.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/勇气恩赐.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/勇气恩赐.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣佑结界.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣佑结界.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣佑结界.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/圣佑结界.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/圣光十字.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光十字.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/圣光十字.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/圣光十字.png diff --git a/packages/renderer/imagesrc/characters/crusader_male/skill/圣光守护.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光守护.png new file mode 100644 index 00000000..27a4d749 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光守护.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣光沁盾.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光沁盾.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣光沁盾.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/圣光沁盾.png diff --git a/packages/renderer/imagesrc/characters/crusader_male/skill/圣光球.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光球.png new file mode 100644 index 00000000..a9869751 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光球.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣光突袭.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光突袭.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣光突袭.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/圣光突袭.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣光聚合.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣光聚合.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣光聚合.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/圣光聚合.png diff --git a/packages/renderer/imagesrc/characters/crusader_male/skill/圣愈之风.png b/packages/renderer/imagesrc/characters/crusader_male/skill/圣愈之风.png new file mode 100644 index 00000000..7abf09d2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/skill/圣愈之风.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/坚定信念.png b/packages/renderer/imagesrc/characters/crusader_male/skill/坚定信念.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/坚定信念.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/坚定信念.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/天启之珠.png b/packages/renderer/imagesrc/characters/crusader_male/skill/天启之珠.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/天启之珠.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/天启之珠.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/天籁之⾳.png b/packages/renderer/imagesrc/characters/crusader_male/skill/天籁之⾳.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/天籁之⾳.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/天籁之⾳.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/守护徽章.png b/packages/renderer/imagesrc/characters/crusader_male/skill/守护徽章.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/守护徽章.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/守护徽章.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/守护恩赐.png b/packages/renderer/imagesrc/characters/crusader_male/skill/守护恩赐.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/守护恩赐.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/守护恩赐.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/忏悔之锤.png b/packages/renderer/imagesrc/characters/crusader_male/skill/忏悔之锤.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/忏悔之锤.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/忏悔之锤.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/正义审判.png b/packages/renderer/imagesrc/characters/crusader_male/skill/正义审判.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/正义审判.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/正义审判.png diff --git a/packages/renderer/imagesrc/characters/crusader_male/skill/生命源泉.png b/packages/renderer/imagesrc/characters/crusader_male/skill/生命源泉.png new file mode 100644 index 00000000..8ee87fdf Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/skill/生命源泉.png differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/生命礼赞:神威.png b/packages/renderer/imagesrc/characters/crusader_male/skill/生命礼赞:神威.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/生命礼赞:神威.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/生命礼赞:神威.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/神之代行者.PNG b/packages/renderer/imagesrc/characters/crusader_male/skill/神之代行者.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/神之代行者.PNG rename to packages/renderer/imagesrc/characters/crusader_male/skill/神之代行者.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神圣之光.png b/packages/renderer/imagesrc/characters/crusader_male/skill/神圣之光.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神圣之光.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/神圣之光.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神圣之矛.png b/packages/renderer/imagesrc/characters/crusader_male/skill/神圣之矛.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神圣之矛.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/神圣之矛.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/神圣洗礼:信仰之翼.png b/packages/renderer/imagesrc/characters/crusader_male/skill/神圣洗礼:信仰之翼.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/神圣洗礼:信仰之翼.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/神圣洗礼:信仰之翼.png diff --git a/packages/renderer/imagesrc/characters/crusader_male/skill/缓慢愈合.png b/packages/renderer/imagesrc/characters/crusader_male/skill/缓慢愈合.png new file mode 100644 index 00000000..933a8c8a Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male/skill/缓慢愈合.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/胜利之矛.png b/packages/renderer/imagesrc/characters/crusader_male/skill/胜利之矛.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/胜利之矛.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/胜利之矛.png diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/荣誉祝福.png b/packages/renderer/imagesrc/characters/crusader_male/skill/荣誉祝福.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/荣誉祝福.png rename to packages/renderer/imagesrc/characters/crusader_male/skill/荣誉祝福.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/profile.png b/packages/renderer/imagesrc/characters/crusader_male_carry/profile.png new file mode 100644 index 00000000..bf1bc6eb Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/profile.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/21.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/21.png new file mode 100644 index 00000000..7ce63e75 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/21.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/490.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/490.png new file mode 100644 index 00000000..88b5d76c Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/490.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/522.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/522.png new file mode 100644 index 00000000..10d4605a Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/522.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/544.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/544.png new file mode 100644 index 00000000..56d62e29 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/544.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/BUFF.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/BUFF.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/信念光环.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/信念光环.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/信念光环.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/信念光环.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/光之复仇.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/光之复仇.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/光之复仇.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/光之复仇.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/勇气恩赐.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/勇气恩赐.png new file mode 100644 index 00000000..62326c39 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/勇气恩赐.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣佑结界.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣佑结界.png new file mode 100644 index 00000000..4d3301cc Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣佑结界.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣光十字.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光十字.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣光十字.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光十字.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光沁盾.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光沁盾.png new file mode 100644 index 00000000..a8324802 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光沁盾.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光球.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光球.png new file mode 100644 index 00000000..a9869751 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光球.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/圣光琉璃碎.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光琉璃碎.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/圣光琉璃碎.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光琉璃碎.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光突袭.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光突袭.png new file mode 100644 index 00000000..92e9eb30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光突袭.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光聚合.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光聚合.png new file mode 100644 index 00000000..95dc808d Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/圣光聚合.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/坚定信念.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/坚定信念.png new file mode 100644 index 00000000..cd0ae053 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/坚定信念.png differ diff --git a/ResourceFiles/归元·街霸·男/技能/基础精通.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/基础精通.png similarity index 100% rename from ResourceFiles/归元·街霸·男/技能/基础精通.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/基础精通.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/天启之珠.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/天启之珠.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/天启之珠.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/天启之珠.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/天籁之⾳.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/天籁之⾳.png new file mode 100644 index 00000000..d6e9ec94 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/天籁之⾳.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护徽章.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护徽章.png new file mode 100644 index 00000000..0a6a7356 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护徽章.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护恩赐.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护恩赐.png new file mode 100644 index 00000000..7f316cee Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/守护恩赐.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/忏悔之锤.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/忏悔之锤.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/忏悔之锤.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/忏悔之锤.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/正义审判.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/正义审判.png new file mode 100644 index 00000000..5b85cb29 Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/正义审判.png differ diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/生命礼赞:神威.PNG b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/生命礼赞:神威.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/生命礼赞:神威.PNG rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/生命礼赞:神威.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神之代行者.PNG b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神之代行者.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神之代行者.PNG rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/神之代行者.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之光.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之光.png new file mode 100644 index 00000000..5874a47d Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之光.png differ diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之矛.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之矛.png new file mode 100644 index 00000000..6195aa4f Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣之矛.png differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/神圣洗礼信仰之翼.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣洗礼信仰之翼.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/神圣洗礼信仰之翼.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣洗礼信仰之翼.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神圣洗礼:信仰之翼.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣洗礼:信仰之翼.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神圣洗礼:信仰之翼.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/神圣洗礼:信仰之翼.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神罚之锤.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神罚之锤.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神罚之锤.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/神罚之锤.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/神罚之锤:天怒.PNG b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/神罚之锤:天怒.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/神罚之锤:天怒.PNG rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/神罚之锤:天怒.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/空斩打.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/空斩打.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/空斩打.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/空斩打.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/纯白之刃.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/纯白之刃.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/纯白之刃.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/纯白之刃.png diff --git a/packages/renderer/imagesrc/characters/crusader_male_carry/skill/胜利之矛.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/胜利之矛.png new file mode 100644 index 00000000..1ff9167c Binary files /dev/null and b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/胜利之矛.png differ diff --git a/ResourceFiles/BUFF·神启·圣骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/荣誉祝福.png similarity index 100% rename from ResourceFiles/BUFF·神启·圣骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/荣誉祝福.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/落凤锤.png b/packages/renderer/imagesrc/characters/crusader_male_carry/skill/落凤锤.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/落凤锤.png rename to packages/renderer/imagesrc/characters/crusader_male_carry/skill/落凤锤.png diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Adventure_3.png b/packages/renderer/imagesrc/characters/dark_knight/material/Adventure_3.png new file mode 100644 index 00000000..b7227b90 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Bust.png b/packages/renderer/imagesrc/characters/dark_knight/material/Bust.png new file mode 100644 index 00000000..635704af Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Helper.png b/packages/renderer/imagesrc/characters/dark_knight/material/Helper.png new file mode 100644 index 00000000..8ea3fdc0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Large.png b/packages/renderer/imagesrc/characters/dark_knight/material/Large.png new file mode 100644 index 00000000..bad0417a Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Large_2.png b/packages/renderer/imagesrc/characters/dark_knight/material/Large_2.png new file mode 100644 index 00000000..f1747822 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Large_3.png b/packages/renderer/imagesrc/characters/dark_knight/material/Large_3.png new file mode 100644 index 00000000..028fac3f Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Seicing.png b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing.png new file mode 100644 index 00000000..1209f791 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_2.png b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_2.png new file mode 100644 index 00000000..3c56b2e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_3.png b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_3.png new file mode 100644 index 00000000..7c66aba7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/material/Thumb.png b/packages/renderer/imagesrc/characters/dark_knight/material/Thumb.png new file mode 100644 index 00000000..f5e016fd Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/dark_knight/profile.png b/packages/renderer/imagesrc/characters/dark_knight/profile.png new file mode 100644 index 00000000..daf1a10f Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/profile.png differ diff --git a/ResourceFiles/极诣·黑暗武士/技能/BUFF.png b/packages/renderer/imagesrc/characters/dark_knight/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/BUFF.png diff --git a/packages/renderer/imagesrc/characters/dark_knight/skill/skill.png b/packages/renderer/imagesrc/characters/dark_knight/skill/skill.png new file mode 100644 index 00000000..5924f46c Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_knight/skill/skill.png differ diff --git a/ResourceFiles/极诣·黑暗武士/技能/冥光斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/冥光斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/冥光斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/冥光斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/冥炎破空斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/冥炎破空斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/冥炎破空斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/冥炎破空斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/冥魂之陨.png b/packages/renderer/imagesrc/characters/dark_knight/skill/冥魂之陨.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/冥魂之陨.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/冥魂之陨.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/冥魂珠.png b/packages/renderer/imagesrc/characters/dark_knight/skill/冥魂珠.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/冥魂珠.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/冥魂珠.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/凝魂波动阵.png b/packages/renderer/imagesrc/characters/dark_knight/skill/凝魂波动阵.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/凝魂波动阵.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/凝魂波动阵.png diff --git a/ResourceFiles/极诣·驭剑士/技能/基础精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/基础精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/基础精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/幽魂剑.png b/packages/renderer/imagesrc/characters/dark_knight/skill/幽魂剑.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/幽魂剑.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/幽魂剑.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/挑击.png b/packages/renderer/imagesrc/characters/dark_knight/skill/挑击.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/挑击.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/挑击.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/斩龙破.png b/packages/renderer/imagesrc/characters/dark_knight/skill/斩龙破.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/斩龙破.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/斩龙破.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/旋涡斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/旋涡斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/旋涡斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/旋涡斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/时之止境:幻灭.png b/packages/renderer/imagesrc/characters/dark_knight/skill/时之止境:幻灭.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/时之止境:幻灭.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/时之止境:幻灭.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/时空主宰.png b/packages/renderer/imagesrc/characters/dark_knight/skill/时空主宰.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/时空主宰.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/时空主宰.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/时间停滞.png b/packages/renderer/imagesrc/characters/dark_knight/skill/时间停滞.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/时间停滞.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/时间停滞.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗·光剑精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗·光剑精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗·光剑精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗·光剑精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗·太刀精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗·太刀精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗·太刀精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗·太刀精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗·巨剑精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗·巨剑精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗·巨剑精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗·巨剑精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗·短剑精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗·短剑精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗·短剑精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗·短剑精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗·钝器精通.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗·钝器精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗·钝器精通.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗·钝器精通.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗劲爆发.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗劲爆发.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗劲爆发.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗劲爆发.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗影·波动剑.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗影·波动剑.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗影·波动剑.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗影·波动剑.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗影三击剑.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗影三击剑.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗影三击剑.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗影三击剑.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗影升龙击.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗影升龙击.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗影升龙击.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗影升龙击.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗影斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗影斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗影斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗影斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗影鞭.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗影鞭.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗影鞭.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗影鞭.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗月斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗月斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗月斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗月斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗炎冥魂波.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗炎冥魂波.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗炎冥魂波.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗炎冥魂波.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗魂之手.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗魂之手.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗魂之手.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗魂之手.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/暗黑溯回斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/暗黑溯回斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/暗黑溯回斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/暗黑溯回斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/次元融合.png b/packages/renderer/imagesrc/characters/dark_knight/skill/次元融合.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/次元融合.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/次元融合.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/滑斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/滑斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/滑斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/滑斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/灭魂封魔斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/灭魂封魔斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/灭魂封魔斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/灭魂封魔斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/瞬影斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/瞬影斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/瞬影斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/瞬影斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/破魂之刃.png b/packages/renderer/imagesrc/characters/dark_knight/skill/破魂之刃.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/破魂之刃.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/破魂之刃.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/破魂斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/破魂斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/破魂斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/破魂斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/禁魂斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/禁魂斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/禁魂斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/禁魂斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/突刺.png b/packages/renderer/imagesrc/characters/dark_knight/skill/突刺.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/突刺.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/突刺.png diff --git a/ResourceFiles/知源·缔造者/技能/自我觉醒.png b/packages/renderer/imagesrc/characters/dark_knight/skill/自我觉醒.png similarity index 100% rename from ResourceFiles/知源·缔造者/技能/自我觉醒.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/自我觉醒.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/超时空碎裂.png b/packages/renderer/imagesrc/characters/dark_knight/skill/超时空碎裂.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/超时空碎裂.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/超时空碎裂.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/跃地斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/跃地斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/跃地斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/跃地斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/跃斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/跃斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/跃斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/跃斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/邪影·波动剑.png b/packages/renderer/imagesrc/characters/dark_knight/skill/邪影·波动剑.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/邪影·波动剑.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/邪影·波动剑.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/邪影升龙斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/邪影升龙斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/邪影升龙斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/邪影升龙斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/魔影剑舞.png b/packages/renderer/imagesrc/characters/dark_knight/skill/魔影剑舞.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/魔影剑舞.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/魔影剑舞.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/魔狱裂魂斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/魔狱裂魂斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/魔狱裂魂斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/魔狱裂魂斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/黑暗十字斩.png b/packages/renderer/imagesrc/characters/dark_knight/skill/黑暗十字斩.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/黑暗十字斩.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/黑暗十字斩.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/黑暗明王阵.png b/packages/renderer/imagesrc/characters/dark_knight/skill/黑暗明王阵.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/黑暗明王阵.png rename to packages/renderer/imagesrc/characters/dark_knight/skill/黑暗明王阵.png diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Adventure_3.png b/packages/renderer/imagesrc/characters/dark_templar/material/Adventure_3.png new file mode 100644 index 00000000..2114ce89 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Bust.png b/packages/renderer/imagesrc/characters/dark_templar/material/Bust.png new file mode 100644 index 00000000..d200079c Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Helper.png b/packages/renderer/imagesrc/characters/dark_templar/material/Helper.png new file mode 100644 index 00000000..5ce7527f Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Large.png b/packages/renderer/imagesrc/characters/dark_templar/material/Large.png new file mode 100644 index 00000000..7aa6a902 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Large_2.png b/packages/renderer/imagesrc/characters/dark_templar/material/Large_2.png new file mode 100644 index 00000000..b74ac8fe Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Large_3.png b/packages/renderer/imagesrc/characters/dark_templar/material/Large_3.png new file mode 100644 index 00000000..f0999b52 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Seicing.png b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing.png new file mode 100644 index 00000000..c43b3947 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_2.png b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_2.png new file mode 100644 index 00000000..93272ae6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_3.png b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_3.png new file mode 100644 index 00000000..227d792f Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/material/Thumb.png b/packages/renderer/imagesrc/characters/dark_templar/material/Thumb.png new file mode 100644 index 00000000..0b2a2189 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/dark_templar/profile.png b/packages/renderer/imagesrc/characters/dark_templar/profile.png new file mode 100644 index 00000000..3673b4c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/profile.png differ diff --git a/ResourceFiles/极诣·暗殿骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/dark_templar/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/BUFF.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/乌希尔的诅咒.png b/packages/renderer/imagesrc/characters/dark_templar/skill/乌希尔的诅咒.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/乌希尔的诅咒.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/乌希尔的诅咒.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/以身载灵.png b/packages/renderer/imagesrc/characters/dark_templar/skill/以身载灵.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/以身载灵.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/以身载灵.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/冥王降临:净土救赎.png b/packages/renderer/imagesrc/characters/dark_templar/skill/冥王降临:净土救赎.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/冥王降临:净土救赎.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/冥王降临:净土救赎.png diff --git a/ResourceFiles/战斗·神启·圣骑士/技能/基础精通.png b/packages/renderer/imagesrc/characters/dark_templar/skill/基础精通.png similarity index 100% rename from ResourceFiles/战斗·神启·圣骑士/技能/基础精通.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/基础精通.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/天罚之剑.png b/packages/renderer/imagesrc/characters/dark_templar/skill/天罚之剑.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/天罚之剑.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/天罚之剑.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/天罚死光.png b/packages/renderer/imagesrc/characters/dark_templar/skill/天罚死光.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/天罚死光.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/天罚死光.png diff --git a/packages/renderer/imagesrc/characters/dark_templar/skill/影刃.png b/packages/renderer/imagesrc/characters/dark_templar/skill/影刃.png new file mode 100644 index 00000000..bdd24e76 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dark_templar/skill/影刃.png differ diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影之矛.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影之矛.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影之矛.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影之矛.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影囚杀.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影囚杀.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影囚杀.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影囚杀.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影漩涡.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影漩涡.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影漩涡.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影漩涡.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影盛宴.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影盛宴.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影盛宴.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影盛宴.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影禁锢.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影禁锢.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影禁锢.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影禁锢.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影绽放:死亡荆棘.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影绽放:死亡荆棘.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影绽放:死亡荆棘.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影绽放:死亡荆棘.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/暗影缠袭.png b/packages/renderer/imagesrc/characters/dark_templar/skill/暗影缠袭.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/暗影缠袭.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/暗影缠袭.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/末日杀戮.png b/packages/renderer/imagesrc/characters/dark_templar/skill/末日杀戮.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/末日杀戮.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/末日杀戮.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/死亡献祭.png b/packages/renderer/imagesrc/characters/dark_templar/skill/死亡献祭.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/死亡献祭.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/死亡献祭.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/汲魂之力.png b/packages/renderer/imagesrc/characters/dark_templar/skill/汲魂之力.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/汲魂之力.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/汲魂之力.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/灵魂傀儡.png b/packages/renderer/imagesrc/characters/dark_templar/skill/灵魂傀儡.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/灵魂傀儡.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/灵魂傀儡.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/灵魂摄取.png b/packages/renderer/imagesrc/characters/dark_templar/skill/灵魂摄取.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/灵魂摄取.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/灵魂摄取.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/神罚·灭世裁决.png b/packages/renderer/imagesrc/characters/dark_templar/skill/神罚·灭世裁决.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/神罚·灭世裁决.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/神罚·灭世裁决.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/薄暮.png b/packages/renderer/imagesrc/characters/dark_templar/skill/薄暮.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/薄暮.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/薄暮.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/释魂狂怒.png b/packages/renderer/imagesrc/characters/dark_templar/skill/释魂狂怒.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/释魂狂怒.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/释魂狂怒.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/释魂飞弹.png b/packages/renderer/imagesrc/characters/dark_templar/skill/释魂飞弹.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/释魂飞弹.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/释魂飞弹.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/魅影暗魂斩.png b/packages/renderer/imagesrc/characters/dark_templar/skill/魅影暗魂斩.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/魅影暗魂斩.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/魅影暗魂斩.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/魔影轰杀.png b/packages/renderer/imagesrc/characters/dark_templar/skill/魔影轰杀.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/魔影轰杀.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/魔影轰杀.png diff --git a/ResourceFiles/极诣·暗殿骑士/技能/魔镜幻影阵.png b/packages/renderer/imagesrc/characters/dark_templar/skill/魔镜幻影阵.png similarity index 100% rename from ResourceFiles/极诣·暗殿骑士/技能/魔镜幻影阵.png rename to packages/renderer/imagesrc/characters/dark_templar/skill/魔镜幻影阵.png diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Adventure_3.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Adventure_3.png new file mode 100644 index 00000000..45580118 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Bust.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Bust.png new file mode 100644 index 00000000..196aed62 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Helper.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Helper.png new file mode 100644 index 00000000..99deb2ad Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Large.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Large.png new file mode 100644 index 00000000..fefd8bdc Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Large_2.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Large_2.png new file mode 100644 index 00000000..dccba28d Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Large_3.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Large_3.png new file mode 100644 index 00000000..0c26745a Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing.png new file mode 100644 index 00000000..d5090c74 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_2.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_2.png new file mode 100644 index 00000000..277a1f68 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_3.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_3.png new file mode 100644 index 00000000..ee702ebd Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/material/Thumb.png b/packages/renderer/imagesrc/characters/demon_slayer/material/Thumb.png new file mode 100644 index 00000000..0382cea1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/demon_slayer/profile.png b/packages/renderer/imagesrc/characters/demon_slayer/profile.png new file mode 100644 index 00000000..bc2a7467 Binary files /dev/null and b/packages/renderer/imagesrc/characters/demon_slayer/profile.png differ diff --git a/ResourceFiles/极诣·契魔者/技能/BUFF.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/BUFF.png diff --git a/ResourceFiles/极诣·契魔者/技能/唤魔塔莫斯之袭.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:塔莫斯之袭.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/唤魔塔莫斯之袭.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:塔莫斯之袭.png diff --git a/ResourceFiles/极诣·契魔者/技能/唤魔弑神剑.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:弑神剑.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/唤魔弑神剑.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:弑神剑.png diff --git a/ResourceFiles/极诣·契魔者/技能/唤魔蛇腹剑.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:蛇腹剑.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/唤魔蛇腹剑.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:蛇腹剑.png diff --git a/ResourceFiles/极诣·契魔者/技能/唤魔逆天之普诺.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:逆天之普诺.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/唤魔逆天之普诺.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/唤魔:逆天之普诺.png diff --git a/ResourceFiles/极诣·契魔者/技能/弑神剑恶魔孤岛.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:恶魔孤岛.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/弑神剑恶魔孤岛.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:恶魔孤岛.png diff --git a/ResourceFiles/极诣·契魔者/技能/弑神剑极.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:极.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/弑神剑极.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:极.png diff --git a/ResourceFiles/极诣·契魔者/技能/弑神剑诸神献祭.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:诸神献祭.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/弑神剑诸神献祭.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/弑神剑:诸神献祭.png diff --git a/ResourceFiles/极诣·契魔者/技能/汲血魔剑.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/汲血魔剑.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/汲血魔剑.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/汲血魔剑.png diff --git a/ResourceFiles/极诣·契魔者/技能/碎魔剑.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/碎魔剑.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/碎魔剑.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/碎魔剑.png diff --git a/ResourceFiles/极诣·契魔者/技能/空绝斩千刃.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/空绝斩:千刃.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/空绝斩千刃.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/空绝斩:千刃.png diff --git a/ResourceFiles/极诣·契魔者/技能/空绝斩地裂.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/空绝斩:地裂.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/空绝斩地裂.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/空绝斩:地裂.png diff --git a/ResourceFiles/极诣·契魔者/技能/群魔乱舞.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/群魔乱舞.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/群魔乱舞.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/群魔乱舞.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇腹剑刺.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:刺.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇腹剑刺.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:刺.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇腹剑灭.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:灭.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇腹剑灭.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:灭.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇腹剑破.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:破.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇腹剑破.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:破.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇腹剑缠.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:缠.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇腹剑缠.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:缠.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇腹剑舞.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:舞.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇腹剑舞.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇腹剑:舞.png diff --git a/ResourceFiles/极诣·契魔者/技能/蛇舞血轮剑.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/蛇舞血轮剑.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/蛇舞血轮剑.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/蛇舞血轮剑.png diff --git a/ResourceFiles/极诣·契魔者/技能/血饮狂舞.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/血饮狂舞.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/血饮狂舞.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/血饮狂舞.png diff --git a/ResourceFiles/极诣·契魔者/技能/贪欲之燔祭.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/贪欲之燔祭.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/贪欲之燔祭.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/贪欲之燔祭.png diff --git a/ResourceFiles/极诣·契魔者/技能/魔剑控制.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/魔剑控制.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/魔剑控制.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/魔剑控制.png diff --git a/ResourceFiles/极诣·契魔者/技能/魔源觉醒.png b/packages/renderer/imagesrc/characters/demon_slayer/skill/魔源觉醒.png similarity index 100% rename from ResourceFiles/极诣·契魔者/技能/魔源觉醒.png rename to packages/renderer/imagesrc/characters/demon_slayer/skill/魔源觉醒.png diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Adventure_3.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Adventure_3.png new file mode 100644 index 00000000..ea907c09 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Bust.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Bust.png new file mode 100644 index 00000000..67cf6c5c Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Helper.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Helper.png new file mode 100644 index 00000000..2d61ba8e Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Large.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Large.png new file mode 100644 index 00000000..41f79e5b Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Large_2.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Large_2.png new file mode 100644 index 00000000..3ae3aa9c Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Large_3.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Large_3.png new file mode 100644 index 00000000..d0ac3e1e Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing.png new file mode 100644 index 00000000..c2a4e1e5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_2.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_2.png new file mode 100644 index 00000000..f53c2ff1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_3.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_3.png new file mode 100644 index 00000000..bc483f98 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/material/Thumb.png b/packages/renderer/imagesrc/characters/dimension_walker/material/Thumb.png new file mode 100644 index 00000000..40cbb9f8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/dimension_walker/profile.png b/packages/renderer/imagesrc/characters/dimension_walker/profile.png new file mode 100644 index 00000000..0f20d694 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dimension_walker/profile.png differ diff --git a/ResourceFiles/知源·次元行者/技能/BUFF.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/BUFF.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离异界蜂群.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:异界蜂群.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离异界蜂群.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:异界蜂群.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离扭曲之恐惧.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:扭曲之恐惧.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离扭曲之恐惧.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:扭曲之恐惧.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离沉沦.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:沉沦.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离沉沦.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:沉沦.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离禁忌之奈雅丽.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:禁忌之奈雅丽.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离禁忌之奈雅丽.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:禁忌之奈雅丽.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离禁锢.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:禁锢.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离禁锢.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:禁锢.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离虚无.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:虚无.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离虚无.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:虚无.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离:边缘之兽.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:边缘之兽.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离:边缘之兽.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:边缘之兽.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离迷雾.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:迷雾.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离迷雾.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:迷雾.png diff --git a/ResourceFiles/知源·次元行者/技能/乖离魅魔之舞.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:魅魔之舞.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/乖离魅魔之舞.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/乖离:魅魔之舞.png diff --git a/ResourceFiles/知源·次元行者/技能/古史记忆.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/古史记忆.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/古史记忆.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/古史记忆.png diff --git a/ResourceFiles/极诣·刃影/技能/基础精通.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/基础精通.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/基础精通.png diff --git a/ResourceFiles/知源·次元行者/技能/未明·次元崩坏.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/未明·次元崩坏.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/未明·次元崩坏.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/未明·次元崩坏.png diff --git a/ResourceFiles/知源·次元行者/技能/次元扭曲装置.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元扭曲装置.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元扭曲装置.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元扭曲装置.png diff --git a/ResourceFiles/知源·次元行者/技能/次元万花镜.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:万花镜.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元万花镜.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:万花镜.png diff --git a/ResourceFiles/知源·次元行者/技能/次元坠落.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:坠落.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元坠落.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:坠落.png diff --git a/ResourceFiles/知源·次元行者/技能/次元奇点.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:奇点.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元奇点.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:奇点.png diff --git a/ResourceFiles/知源·次元行者/技能/次元思维聚爆.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:思维聚爆.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元思维聚爆.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:思维聚爆.png diff --git a/ResourceFiles/知源·次元行者/技能/次元时空磁场.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:时空磁场.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元时空磁场.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:时空磁场.png diff --git a/ResourceFiles/知源·次元行者/技能/次元离子束.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:离子束.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元离子束.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:离子束.png diff --git a/ResourceFiles/知源·次元行者/技能/次元粒子波.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:粒子波.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元粒子波.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:粒子波.png diff --git a/ResourceFiles/知源·次元行者/技能/次元粒子风暴.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:粒子风暴.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元粒子风暴.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:粒子风暴.png diff --git a/ResourceFiles/知源·次元行者/技能/次元虚影.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:虚影.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元虚影.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:虚影.png diff --git a/ResourceFiles/知源·次元行者/技能/次元跃迁.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/次元:跃迁.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/次元跃迁.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/次元:跃迁.png diff --git a/ResourceFiles/知源·次元行者/技能/混沌源能石.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/混沌源能石.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/混沌源能石.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/混沌源能石.png diff --git a/ResourceFiles/知源·次元行者/技能/禁断之盛宴.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/禁断之盛宴.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/禁断之盛宴.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/禁断之盛宴.png diff --git a/ResourceFiles/知源·次元行者/技能/虚空之力.png b/packages/renderer/imagesrc/characters/dimension_walker/skill/虚空之力.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/虚空之力.png rename to packages/renderer/imagesrc/characters/dimension_walker/skill/虚空之力.png diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Adventure_3.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Adventure_3.png new file mode 100644 index 00000000..10417241 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Bust.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Bust.png new file mode 100644 index 00000000..36432b68 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Helper.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Helper.png new file mode 100644 index 00000000..c57a8819 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Large.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Large.png new file mode 100644 index 00000000..988b27a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Large_2.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Large_2.png new file mode 100644 index 00000000..01c48b0c Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Large_3.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Large_3.png new file mode 100644 index 00000000..cf911278 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing.png new file mode 100644 index 00000000..6f9b9637 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_2.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_2.png new file mode 100644 index 00000000..cc1827a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_3.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_3.png new file mode 100644 index 00000000..b3db5cc6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/material/Thumb.png b/packages/renderer/imagesrc/characters/dragon_knight/material/Thumb.png new file mode 100644 index 00000000..409a5c52 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/dragon_knight/profile.png b/packages/renderer/imagesrc/characters/dragon_knight/profile.png new file mode 100644 index 00000000..745efbd0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/profile.png differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/BUFF.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/BUFF.png diff --git a/packages/renderer/imagesrc/characters/dragon_knight/skill/基本攻击.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragon_knight/skill/基本攻击.png differ diff --git a/ResourceFiles/极诣·剑魂/技能/基础精通.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/基础精通.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/基础精通.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/大胃王.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/大胃王.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/大胃王.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/大胃王.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/征战无双.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/征战无双.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/征战无双.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/征战无双.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/火焰吐息.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/火焰吐息.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/火焰吐息.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/火焰吐息.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/爆破龙角.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/爆破龙角.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/爆破龙角.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/爆破龙角.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/雷光嘶吼.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/雷光嘶吼.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/雷光嘶吼.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/雷光嘶吼.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/飞龙斩.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/飞龙斩.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/飞龙斩.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/飞龙斩.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙之力(火球).png b/packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之力(火球).png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/魔龙之力(火球).png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之力(火球).png diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙之力.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之力.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/魔龙之力.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之力.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙之息(脱手).png b/packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之息.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/魔龙之息(脱手).png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙之息.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(空中释放).png b/packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙天翔.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/魔龙天翔(空中释放).png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙天翔.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/魔龙星落.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙星落.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/魔龙星落.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/魔龙星落.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙之撕咬.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙之撕咬.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙之撕咬.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙之撕咬.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙人剑术.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙人剑术.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙人剑术.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙人剑术.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙刃无双.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙刃无双.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙刃无双.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙刃无双.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙咆雷鸣.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙哮雷鸣.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙咆雷鸣.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙哮雷鸣.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙拳(地面释放).png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙拳.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙拳(地面释放).png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙拳.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙皇制裁.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙皇制裁.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙皇制裁.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙皇制裁.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙神君临·虚空烬灭.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙神君临·虚空烬灭.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙神君临·虚空烬灭.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙神君临·虚空烬灭.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙神血脉.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙神血脉.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙神血脉.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙神血脉.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙神裁决:终末之光.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙神裁决:终末之光.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙神裁决:终末之光.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙神裁决:终末之光.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙翼穿刺(2hit+踢击).png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙翼穿刺.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙翼穿刺(2hit+踢击).png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙翼穿刺.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙翼突袭.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙翼突袭.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙翼突袭.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙翼突袭.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙血誓约.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙血誓约.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙血誓约.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙血誓约.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/龙语召唤:阿斯特拉.png b/packages/renderer/imagesrc/characters/dragon_knight/skill/龙语召唤:阿斯特拉.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/龙语召唤:阿斯特拉.png rename to packages/renderer/imagesrc/characters/dragon_knight/skill/龙语召唤:阿斯特拉.png diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Adventure_3.png b/packages/renderer/imagesrc/characters/dragoon/material/Adventure_3.png new file mode 100644 index 00000000..633b0493 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Bust.png b/packages/renderer/imagesrc/characters/dragoon/material/Bust.png new file mode 100644 index 00000000..72a05e7b Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Helper.png b/packages/renderer/imagesrc/characters/dragoon/material/Helper.png new file mode 100644 index 00000000..bbe5f3f8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Large.png b/packages/renderer/imagesrc/characters/dragoon/material/Large.png new file mode 100644 index 00000000..56cd25a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Large_2.png b/packages/renderer/imagesrc/characters/dragoon/material/Large_2.png new file mode 100644 index 00000000..2aec4ed2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Large_3.png b/packages/renderer/imagesrc/characters/dragoon/material/Large_3.png new file mode 100644 index 00000000..89280559 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Seicing.png b/packages/renderer/imagesrc/characters/dragoon/material/Seicing.png new file mode 100644 index 00000000..e9478450 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Seicing_2.png b/packages/renderer/imagesrc/characters/dragoon/material/Seicing_2.png new file mode 100644 index 00000000..25aed497 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Seicing_3.png b/packages/renderer/imagesrc/characters/dragoon/material/Seicing_3.png new file mode 100644 index 00000000..34ef5c3b Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/material/Thumb.png b/packages/renderer/imagesrc/characters/dragoon/material/Thumb.png new file mode 100644 index 00000000..675760be Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/dragoon/profile.png b/packages/renderer/imagesrc/characters/dragoon/profile.png new file mode 100644 index 00000000..47a5370e Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/profile.png differ diff --git a/ResourceFiles/千魂·狩猎者/技能/BUFF.png b/packages/renderer/imagesrc/characters/dragoon/skill/BUFF.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/dragoon/skill/BUFF.png diff --git a/ResourceFiles/千魂·狩猎者/技能/光枪精通.png b/packages/renderer/imagesrc/characters/dragoon/skill/光枪精通.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/光枪精通.png rename to packages/renderer/imagesrc/characters/dragoon/skill/光枪精通.png diff --git a/ResourceFiles/千魂·狩猎者/技能/光焰囚杀.png b/packages/renderer/imagesrc/characters/dragoon/skill/光焰囚杀.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/光焰囚杀.png rename to packages/renderer/imagesrc/characters/dragoon/skill/光焰囚杀.png diff --git a/ResourceFiles/千魂·狩猎者/技能/光焰枪.png b/packages/renderer/imagesrc/characters/dragoon/skill/光焰枪.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/光焰枪.png rename to packages/renderer/imagesrc/characters/dragoon/skill/光焰枪.png diff --git a/ResourceFiles/千魂·狩猎者/技能/光焰飞枪.png b/packages/renderer/imagesrc/characters/dragoon/skill/光焰飞枪.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/光焰飞枪.png rename to packages/renderer/imagesrc/characters/dragoon/skill/光焰飞枪.png diff --git a/packages/renderer/imagesrc/characters/dragoon/skill/凌空之狩.png b/packages/renderer/imagesrc/characters/dragoon/skill/凌空之狩.png new file mode 100644 index 00000000..6a325710 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/skill/凌空之狩.png differ diff --git a/ResourceFiles/千魂·狩猎者/技能/利刃收割.png b/packages/renderer/imagesrc/characters/dragoon/skill/利刃收割.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/利刃收割.png rename to packages/renderer/imagesrc/characters/dragoon/skill/利刃收割.png diff --git a/ResourceFiles/千魂·狩猎者/技能/地龙封魔杀.png b/packages/renderer/imagesrc/characters/dragoon/skill/地龙封魔杀.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/地龙封魔杀.png rename to packages/renderer/imagesrc/characters/dragoon/skill/地龙封魔杀.png diff --git a/ResourceFiles/千魂·狩猎者/技能/地龙狩.png b/packages/renderer/imagesrc/characters/dragoon/skill/地龙狩.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/地龙狩.png rename to packages/renderer/imagesrc/characters/dragoon/skill/地龙狩.png diff --git a/ResourceFiles/极诣·阿修罗/技能/基础精通.png b/packages/renderer/imagesrc/characters/dragoon/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·阿修罗/技能/基础精通.png rename to packages/renderer/imagesrc/characters/dragoon/skill/基础精通.png diff --git a/ResourceFiles/千魂·狩猎者/技能/天龙破.png b/packages/renderer/imagesrc/characters/dragoon/skill/天龙破.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/天龙破.png rename to packages/renderer/imagesrc/characters/dragoon/skill/天龙破.png diff --git a/ResourceFiles/千魂·狩猎者/技能/无尽杀戮.png b/packages/renderer/imagesrc/characters/dragoon/skill/无尽杀戮.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/无尽杀戮.png rename to packages/renderer/imagesrc/characters/dragoon/skill/无尽杀戮.png diff --git a/ResourceFiles/千魂·狩猎者/技能/枪魂感知.png b/packages/renderer/imagesrc/characters/dragoon/skill/枪魂感知.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/枪魂感知.png rename to packages/renderer/imagesrc/characters/dragoon/skill/枪魂感知.png diff --git a/ResourceFiles/千魂·狩猎者/技能/狩猎之心.png b/packages/renderer/imagesrc/characters/dragoon/skill/狩猎之心.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/狩猎之心.png rename to packages/renderer/imagesrc/characters/dragoon/skill/狩猎之心.png diff --git a/ResourceFiles/千魂·狩猎者/技能/狩猎技艺.png b/packages/renderer/imagesrc/characters/dragoon/skill/狩猎技艺.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/狩猎技艺.png rename to packages/renderer/imagesrc/characters/dragoon/skill/狩猎技艺.png diff --git a/ResourceFiles/千魂·狩猎者/技能/狩猎本能.png b/packages/renderer/imagesrc/characters/dragoon/skill/狩猎本能.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/狩猎本能.png rename to packages/renderer/imagesrc/characters/dragoon/skill/狩猎本能.png diff --git a/ResourceFiles/千魂·狩猎者/技能/狩魔之魂.png b/packages/renderer/imagesrc/characters/dragoon/skill/狩魔之魂.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/狩魔之魂.png rename to packages/renderer/imagesrc/characters/dragoon/skill/狩魔之魂.png diff --git a/ResourceFiles/千魂·狩猎者/技能/猎杀枪.png b/packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/猎杀枪.png rename to packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪.png diff --git a/ResourceFiles/千魂·狩猎者/技能/猎杀枪掠食.png b/packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪:掠食.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/猎杀枪掠食.png rename to packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪:掠食.png diff --git a/ResourceFiles/千魂·狩猎者/技能/猎杀枪穿心.png b/packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪:穿心.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/猎杀枪穿心.png rename to packages/renderer/imagesrc/characters/dragoon/skill/猎杀枪:穿心.png diff --git a/ResourceFiles/千魂·狩猎者/技能/瞬光猎杀枪.png b/packages/renderer/imagesrc/characters/dragoon/skill/瞬光猎杀枪.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/瞬光猎杀枪.png rename to packages/renderer/imagesrc/characters/dragoon/skill/瞬光猎杀枪.png diff --git a/ResourceFiles/千魂·狩猎者/技能/穿透之枪.png b/packages/renderer/imagesrc/characters/dragoon/skill/穿透之枪.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/穿透之枪.png rename to packages/renderer/imagesrc/characters/dragoon/skill/穿透之枪.png diff --git a/ResourceFiles/千魂·狩猎者/技能/红月·狩猎盛宴.png b/packages/renderer/imagesrc/characters/dragoon/skill/红月·狂狩盛宴.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/红月·狩猎盛宴.png rename to packages/renderer/imagesrc/characters/dragoon/skill/红月·狂狩盛宴.png diff --git a/ResourceFiles/千魂·狩猎者/技能/绝命猎杀死亡穿刺.png b/packages/renderer/imagesrc/characters/dragoon/skill/绝命猎杀:死亡穿刺.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/绝命猎杀死亡穿刺.png rename to packages/renderer/imagesrc/characters/dragoon/skill/绝命猎杀:死亡穿刺.png diff --git a/ResourceFiles/千魂·狩猎者/技能/蛮横冲撞.png b/packages/renderer/imagesrc/characters/dragoon/skill/蛮横冲撞.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/蛮横冲撞.png rename to packages/renderer/imagesrc/characters/dragoon/skill/蛮横冲撞.png diff --git a/ResourceFiles/千魂·狩猎者/技能/逐云灭龙杀.png b/packages/renderer/imagesrc/characters/dragoon/skill/逐云灭龙杀.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/逐云灭龙杀.png rename to packages/renderer/imagesrc/characters/dragoon/skill/逐云灭龙杀.png diff --git a/ResourceFiles/千魂·狩猎者/技能/隐鼠袭杀.png b/packages/renderer/imagesrc/characters/dragoon/skill/隐鼠袭杀.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/隐鼠袭杀.png rename to packages/renderer/imagesrc/characters/dragoon/skill/隐鼠袭杀.png diff --git a/packages/renderer/imagesrc/characters/dragoon/skill/魔枪发射.png b/packages/renderer/imagesrc/characters/dragoon/skill/魔枪发射.png new file mode 100644 index 00000000..dc281b55 Binary files /dev/null and b/packages/renderer/imagesrc/characters/dragoon/skill/魔枪发射.png differ diff --git a/ResourceFiles/千魂·狩猎者/技能/鹰坠.png b/packages/renderer/imagesrc/characters/dragoon/skill/鹰坠.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/鹰坠.png rename to packages/renderer/imagesrc/characters/dragoon/skill/鹰坠.png diff --git a/ResourceFiles/千魂·狩猎者/技能/龙鳞碎割.png b/packages/renderer/imagesrc/characters/dragoon/skill/龙鳞碎割.png similarity index 100% rename from ResourceFiles/千魂·狩猎者/技能/龙鳞碎割.png rename to packages/renderer/imagesrc/characters/dragoon/skill/龙鳞碎割.png diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Adventure_3.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Adventure_3.png new file mode 100644 index 00000000..c4e54f30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Bust.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Bust.png new file mode 100644 index 00000000..d913b2b4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Helper.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Helper.png new file mode 100644 index 00000000..2296f476 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Large.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large.png new file mode 100644 index 00000000..a1320f33 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_2.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_2.png new file mode 100644 index 00000000..3270ab55 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_3.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_3.png new file mode 100644 index 00000000..7465e589 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing.png new file mode 100644 index 00000000..aa98512b Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_2.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_2.png new file mode 100644 index 00000000..d03f8774 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_3.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_3.png new file mode 100644 index 00000000..393da1d8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/material/Thumb.png b/packages/renderer/imagesrc/characters/elemental_bomber/material/Thumb.png new file mode 100644 index 00000000..d6af8e24 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/elemental_bomber/profile.png b/packages/renderer/imagesrc/characters/elemental_bomber/profile.png new file mode 100644 index 00000000..c0597ab5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elemental_bomber/profile.png differ diff --git a/ResourceFiles/知源·元素爆破师/技能/BUFF.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/BUFF.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/BUFF.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素之力.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素之力.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素之力.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素之力.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素幻灭.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素幻灭.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素幻灭.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素幻灭.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素循环.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素循环.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素循环.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素循环.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素浓缩球.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素浓缩球.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素浓缩球.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素浓缩球.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素炮.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素炮.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素炮.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素炮.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素爆发.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素爆发.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素爆发.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素爆发.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素环绕.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素环绕.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素环绕.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素环绕.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素禁域.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素禁域.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素禁域.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素禁域.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素禁断.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素禁断.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素禁断.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素禁断.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素融合.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素融合.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素融合.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素融合.png diff --git a/ResourceFiles/知源·元素爆破师/技能/元素轰炸.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/元素轰炸.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/元素轰炸.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/元素轰炸.png diff --git a/ResourceFiles/知源·元素爆破师/技能/冰晶之浴.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/冰晶之浴.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/冰晶之浴.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/冰晶之浴.png diff --git a/ResourceFiles/知源·元素爆破师/技能/冰晶坠.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/冰晶坠.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/冰晶坠.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/冰晶坠.png diff --git a/ResourceFiles/知源·元素爆破师/技能/启源·微观宇宙.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/启源·微观宇宙.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/启源·微观宇宙.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/启源·微观宇宙.png diff --git a/ResourceFiles/知源·元素爆破师/技能/地炎.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/地炎.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/地炎.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/地炎.png diff --git a/ResourceFiles/知源·元素爆破师/技能/属性变换.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/属性变换.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/属性变换.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/属性变换.png diff --git a/ResourceFiles/知源·元素爆破师/技能/幻魔四重奏.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/幻魔四重奏.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/幻魔四重奏.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/幻魔四重奏.png diff --git a/ResourceFiles/知源·元素爆破师/技能/异瞳.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/异瞳.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/异瞳.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/异瞳.png diff --git a/ResourceFiles/知源·元素爆破师/技能/旋炎破.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/旋炎破.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/旋炎破.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/旋炎破.png diff --git a/ResourceFiles/知源·元素爆破师/技能/暗域扩张.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/暗域扩张.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/暗域扩张.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/暗域扩张.png diff --git a/ResourceFiles/知源·元素爆破师/技能/末日湮灭.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/末日湮灭.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/末日湮灭.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/末日湮灭.png diff --git a/ResourceFiles/知源·元素爆破师/技能/聚能魔炮.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/聚能魔炮.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/聚能魔炮.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/聚能魔炮.png diff --git a/ResourceFiles/知源·元素爆破师/技能/聚魔轰击.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/聚魔轰击.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/聚魔轰击.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/聚魔轰击.png diff --git a/ResourceFiles/知源·元素爆破师/技能/雷光屏障.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/雷光屏障.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/雷光屏障.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/雷光屏障.png diff --git a/ResourceFiles/知源·元素爆破师/技能/雷光链.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/雷光链.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/雷光链.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/雷光链.png diff --git a/ResourceFiles/知源·元素爆破师/技能/魔球连射.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/魔球连射.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/魔球连射.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/魔球连射.png diff --git a/ResourceFiles/知源·元素爆破师/技能/黑暗禁域.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/黑暗禁域.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/黑暗禁域.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/黑暗禁域.png diff --git a/ResourceFiles/知源·元素爆破师/技能/黑瞳.png b/packages/renderer/imagesrc/characters/elemental_bomber/skill/黑瞳.png similarity index 100% rename from ResourceFiles/知源·元素爆破师/技能/黑瞳.png rename to packages/renderer/imagesrc/characters/elemental_bomber/skill/黑瞳.png diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Adventure_3.png b/packages/renderer/imagesrc/characters/elementalist/material/Adventure_3.png new file mode 100644 index 00000000..87c68952 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Bust.png b/packages/renderer/imagesrc/characters/elementalist/material/Bust.png new file mode 100644 index 00000000..024d23cd Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Helper.png b/packages/renderer/imagesrc/characters/elementalist/material/Helper.png new file mode 100644 index 00000000..452048cc Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Large.png b/packages/renderer/imagesrc/characters/elementalist/material/Large.png new file mode 100644 index 00000000..312cd4cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Large_2.png b/packages/renderer/imagesrc/characters/elementalist/material/Large_2.png new file mode 100644 index 00000000..075c8d16 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Large_3.png b/packages/renderer/imagesrc/characters/elementalist/material/Large_3.png new file mode 100644 index 00000000..4e8ede17 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Seicing.png b/packages/renderer/imagesrc/characters/elementalist/material/Seicing.png new file mode 100644 index 00000000..4ced9a8c Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Seicing_2.png b/packages/renderer/imagesrc/characters/elementalist/material/Seicing_2.png new file mode 100644 index 00000000..22c6eec0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Seicing_3.png b/packages/renderer/imagesrc/characters/elementalist/material/Seicing_3.png new file mode 100644 index 00000000..4a19d03e Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/material/Thumb.png b/packages/renderer/imagesrc/characters/elementalist/material/Thumb.png new file mode 100644 index 00000000..508de48d Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/elementalist/profile.png b/packages/renderer/imagesrc/characters/elementalist/profile.png new file mode 100644 index 00000000..8f1f0623 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elementalist/profile.png differ diff --git a/ResourceFiles/知源·元素师/技能/BUFF.png b/packages/renderer/imagesrc/characters/elementalist/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/BUFF.png rename to packages/renderer/imagesrc/characters/elementalist/skill/BUFF.png diff --git a/ResourceFiles/知源·元素师/技能/元素之幕.png b/packages/renderer/imagesrc/characters/elementalist/skill/元素之幕.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/元素之幕.png rename to packages/renderer/imagesrc/characters/elementalist/skill/元素之幕.png diff --git a/ResourceFiles/知源·元素师/技能/元素之源.png b/packages/renderer/imagesrc/characters/elementalist/skill/元素之源.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/元素之源.png rename to packages/renderer/imagesrc/characters/elementalist/skill/元素之源.png diff --git a/ResourceFiles/知源·元素师/技能/元素之门.png b/packages/renderer/imagesrc/characters/elementalist/skill/元素之门.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/元素之门.png rename to packages/renderer/imagesrc/characters/elementalist/skill/元素之门.png diff --git a/ResourceFiles/知源·元素师/技能/元素奥义.png b/packages/renderer/imagesrc/characters/elementalist/skill/元素奥义.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/元素奥义.png rename to packages/renderer/imagesrc/characters/elementalist/skill/元素奥义.png diff --git a/ResourceFiles/知源·元素师/技能/元素震荡.png b/packages/renderer/imagesrc/characters/elementalist/skill/元素震荡.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/元素震荡.png rename to packages/renderer/imagesrc/characters/elementalist/skill/元素震荡.png diff --git a/ResourceFiles/知源·元素师/技能/光与暗的交响.png b/packages/renderer/imagesrc/characters/elementalist/skill/光与暗的交响.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/光与暗的交响.png rename to packages/renderer/imagesrc/characters/elementalist/skill/光与暗的交响.png diff --git a/ResourceFiles/知源·元素师/技能/冰墙.png b/packages/renderer/imagesrc/characters/elementalist/skill/冰墙.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/冰墙.png rename to packages/renderer/imagesrc/characters/elementalist/skill/冰墙.png diff --git a/ResourceFiles/知源·元素师/技能/圣灵水晶.png b/packages/renderer/imagesrc/characters/elementalist/skill/圣灵水晶.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/圣灵水晶.png rename to packages/renderer/imagesrc/characters/elementalist/skill/圣灵水晶.png diff --git a/ResourceFiles/知源·元素师/技能/圣灵符文.png b/packages/renderer/imagesrc/characters/elementalist/skill/圣灵符文.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/圣灵符文.png rename to packages/renderer/imagesrc/characters/elementalist/skill/圣灵符文.png diff --git a/ResourceFiles/知源·元素师/技能/天雷冲击.png b/packages/renderer/imagesrc/characters/elementalist/skill/天雷冲击.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/天雷冲击.png rename to packages/renderer/imagesrc/characters/elementalist/skill/天雷冲击.png diff --git a/ResourceFiles/知源·元素师/技能/宇宙寂灭-冰火之歌.png b/packages/renderer/imagesrc/characters/elementalist/skill/宇宙寂灭:冰火之歌.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/宇宙寂灭-冰火之歌.png rename to packages/renderer/imagesrc/characters/elementalist/skill/宇宙寂灭:冰火之歌.png diff --git a/ResourceFiles/知源·元素师/技能/属性精通.png b/packages/renderer/imagesrc/characters/elementalist/skill/属性精通.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/属性精通.png rename to packages/renderer/imagesrc/characters/elementalist/skill/属性精通.png diff --git a/ResourceFiles/知源·元素师/技能/杰克降临.png b/packages/renderer/imagesrc/characters/elementalist/skill/杰克降临.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/杰克降临.png rename to packages/renderer/imagesrc/characters/elementalist/skill/杰克降临.png diff --git a/ResourceFiles/知源·元素师/技能/极冰盛宴.png b/packages/renderer/imagesrc/characters/elementalist/skill/极冰盛宴.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/极冰盛宴.png rename to packages/renderer/imagesrc/characters/elementalist/skill/极冰盛宴.png diff --git a/ResourceFiles/知源·元素师/技能/湮灭黑洞.png b/packages/renderer/imagesrc/characters/elementalist/skill/湮灭黑洞.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/湮灭黑洞.png rename to packages/renderer/imagesrc/characters/elementalist/skill/湮灭黑洞.png diff --git a/ResourceFiles/知源·元素师/技能/烈焰冲击.png b/packages/renderer/imagesrc/characters/elementalist/skill/烈焰冲击.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/烈焰冲击.png rename to packages/renderer/imagesrc/characters/elementalist/skill/烈焰冲击.png diff --git a/ResourceFiles/知源·元素师/技能/第六元素.png b/packages/renderer/imagesrc/characters/elementalist/skill/第六元素.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/第六元素.png rename to packages/renderer/imagesrc/characters/elementalist/skill/第六元素.png diff --git a/ResourceFiles/知源·元素师/技能/虚无之球.png b/packages/renderer/imagesrc/characters/elementalist/skill/虚无之球.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/虚无之球.png rename to packages/renderer/imagesrc/characters/elementalist/skill/虚无之球.png diff --git a/ResourceFiles/知源·元素师/技能/陨星幻灭.png b/packages/renderer/imagesrc/characters/elementalist/skill/陨星幻灭.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/陨星幻灭.png rename to packages/renderer/imagesrc/characters/elementalist/skill/陨星幻灭.png diff --git a/ResourceFiles/知源·元素师/技能/雷旋.png b/packages/renderer/imagesrc/characters/elementalist/skill/雷旋.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/雷旋.png rename to packages/renderer/imagesrc/characters/elementalist/skill/雷旋.png diff --git a/ResourceFiles/知源·元素师/技能/魔力增幅.png b/packages/renderer/imagesrc/characters/elementalist/skill/魔力增幅.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/魔力增幅.png rename to packages/renderer/imagesrc/characters/elementalist/skill/魔力增幅.png diff --git a/ResourceFiles/知源·元素师/技能/魔法秀.png b/packages/renderer/imagesrc/characters/elementalist/skill/魔法秀.png similarity index 100% rename from ResourceFiles/知源·元素师/技能/魔法秀.png rename to packages/renderer/imagesrc/characters/elementalist/skill/魔法秀.png diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Adventure_3.png b/packages/renderer/imagesrc/characters/elven_knight/material/Adventure_3.png new file mode 100644 index 00000000..5e5354a6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Bust.png b/packages/renderer/imagesrc/characters/elven_knight/material/Bust.png new file mode 100644 index 00000000..d3aed7a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Helper.png b/packages/renderer/imagesrc/characters/elven_knight/material/Helper.png new file mode 100644 index 00000000..ade47aeb Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Large.png b/packages/renderer/imagesrc/characters/elven_knight/material/Large.png new file mode 100644 index 00000000..96b220f3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Large_2.png b/packages/renderer/imagesrc/characters/elven_knight/material/Large_2.png new file mode 100644 index 00000000..ebe4a257 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Large_3.png b/packages/renderer/imagesrc/characters/elven_knight/material/Large_3.png new file mode 100644 index 00000000..5532da56 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Seicing.png b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing.png new file mode 100644 index 00000000..70e0a6cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_2.png b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_2.png new file mode 100644 index 00000000..d1cf331b Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_3.png b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_3.png new file mode 100644 index 00000000..6c1d1059 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/material/Thumb.png b/packages/renderer/imagesrc/characters/elven_knight/material/Thumb.png new file mode 100644 index 00000000..ff76f237 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/profile.png b/packages/renderer/imagesrc/characters/elven_knight/profile.png new file mode 100644 index 00000000..a558af2e Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/profile.png differ diff --git a/ResourceFiles/皓曦·精灵骑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/elven_knight/skill/BUFF.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/BUFF.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/一刀两断.png b/packages/renderer/imagesrc/characters/elven_knight/skill/一刀两断.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/一刀两断.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/一刀两断.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/信仰鼓舞.png b/packages/renderer/imagesrc/characters/elven_knight/skill/信仰鼓舞.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/信仰鼓舞.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/信仰鼓舞.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/剑盾强袭.png b/packages/renderer/imagesrc/characters/elven_knight/skill/剑盾强袭.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/剑盾强袭.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/剑盾强袭.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/剑盾猛攻.png b/packages/renderer/imagesrc/characters/elven_knight/skill/剑盾猛攻.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/剑盾猛攻.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/剑盾猛攻.png diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/基本攻击.png b/packages/renderer/imagesrc/characters/elven_knight/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/基本攻击.png differ diff --git a/ResourceFiles/极诣·鬼泣/技能/基础精通.png b/packages/renderer/imagesrc/characters/elven_knight/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/基础精通.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/基础精通.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/壁垒突袭.png b/packages/renderer/imagesrc/characters/elven_knight/skill/壁垒突袭.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/壁垒突袭.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/壁垒突袭.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/天陨断空斩.png b/packages/renderer/imagesrc/characters/elven_knight/skill/天陨断空斩.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/天陨断空斩.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/天陨断空斩.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/天马流星落.png b/packages/renderer/imagesrc/characters/elven_knight/skill/天马流星落.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/天马流星落.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/天马流星落.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/守护神鹿.png b/packages/renderer/imagesrc/characters/elven_knight/skill/守护神鹿.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/守护神鹿.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/守护神鹿.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/审判之盾.png b/packages/renderer/imagesrc/characters/elven_knight/skill/审判之盾.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/审判之盾.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/审判之盾.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/强踢.png b/packages/renderer/imagesrc/characters/elven_knight/skill/强踢.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/强踢.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/强踢.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/愤怒冲撞.png b/packages/renderer/imagesrc/characters/elven_knight/skill/愤怒冲撞.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/愤怒冲撞.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/愤怒冲撞.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/暮光之灵黄昏独角兽.png b/packages/renderer/imagesrc/characters/elven_knight/skill/暮光之灵黄昏独角兽.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/暮光之灵黄昏独角兽.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/暮光之灵黄昏独角兽.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/生命之律·神木擎天.png b/packages/renderer/imagesrc/characters/elven_knight/skill/生命之律·神木擎天.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/生命之律·神木擎天.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/生命之律·神木擎天.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/生命审判.png b/packages/renderer/imagesrc/characters/elven_knight/skill/生命审判.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/生命审判.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/生命审判.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/生命的恩宠.png b/packages/renderer/imagesrc/characters/elven_knight/skill/生命的恩宠.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/生命的恩宠.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/生命的恩宠.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/盾击.png b/packages/renderer/imagesrc/characters/elven_knight/skill/盾击.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/盾击.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/盾击.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/盾挑.png b/packages/renderer/imagesrc/characters/elven_knight/skill/盾挑.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/盾挑.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/盾挑.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/破武之轮.png b/packages/renderer/imagesrc/characters/elven_knight/skill/破武之轮.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/破武之轮.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/破武之轮.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/破甲冲击.png b/packages/renderer/imagesrc/characters/elven_knight/skill/破甲冲击.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/破甲冲击.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/破甲冲击.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/神木刺击.png b/packages/renderer/imagesrc/characters/elven_knight/skill/神木刺击.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/神木刺击.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/神木刺击.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/精灵之跃.png b/packages/renderer/imagesrc/characters/elven_knight/skill/精灵之跃.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/精灵之跃.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/精灵之跃.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/自然之怒.png b/packages/renderer/imagesrc/characters/elven_knight/skill/自然之怒.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/自然之怒.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/自然之怒.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/自然恩泽.png b/packages/renderer/imagesrc/characters/elven_knight/skill/自然恩泽.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/自然恩泽.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/自然恩泽.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/自然束缚.png b/packages/renderer/imagesrc/characters/elven_knight/skill/自然束缚.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/自然束缚.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/自然束缚.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/致命突刺.png b/packages/renderer/imagesrc/characters/elven_knight/skill/致命突刺.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/致命突刺.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/致命突刺.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/荆棘之城.png b/packages/renderer/imagesrc/characters/elven_knight/skill/荆棘之城.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/荆棘之城.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/荆棘之城.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/铁壁推进.png b/packages/renderer/imagesrc/characters/elven_knight/skill/铁壁推进.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/铁壁推进.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/铁壁推进.png diff --git a/ResourceFiles/皓曦·精灵骑士/技能/飓风旋枪.png b/packages/renderer/imagesrc/characters/elven_knight/skill/飓风旋枪.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/飓风旋枪.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/飓风旋枪.png diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘前踏.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘前踏.png new file mode 100644 index 00000000..1ca0d854 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘前踏.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘召唤.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘召唤.png new file mode 100644 index 00000000..de10a371 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘召唤.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘后撩踢.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘后撩踢.png new file mode 100644 index 00000000..27baec34 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘后撩踢.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘奔袭.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘奔袭.png new file mode 100644 index 00000000..bc894bcb Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘奔袭.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘旋风刺击.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘旋风刺击.png new file mode 100644 index 00000000..364ad443 Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘旋风刺击.png differ diff --git a/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘践踏.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘践踏.png new file mode 100644 index 00000000..c7f94b6c Binary files /dev/null and b/packages/renderer/imagesrc/characters/elven_knight/skill/骑乘践踏.png differ diff --git a/ResourceFiles/皓曦·精灵骑士/技能/骑士信念.png b/packages/renderer/imagesrc/characters/elven_knight/skill/骑士信念.png similarity index 100% rename from ResourceFiles/皓曦·精灵骑士/技能/骑士信念.png rename to packages/renderer/imagesrc/characters/elven_knight/skill/骑士信念.png diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Adventure_3.png b/packages/renderer/imagesrc/characters/enchantress/material/Adventure_3.png new file mode 100644 index 00000000..3a13222c Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Bust.png b/packages/renderer/imagesrc/characters/enchantress/material/Bust.png new file mode 100644 index 00000000..d7f268ad Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Helper.png b/packages/renderer/imagesrc/characters/enchantress/material/Helper.png new file mode 100644 index 00000000..f9b4d96e Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Large.png b/packages/renderer/imagesrc/characters/enchantress/material/Large.png new file mode 100644 index 00000000..7ff9d356 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Large_2.png b/packages/renderer/imagesrc/characters/enchantress/material/Large_2.png new file mode 100644 index 00000000..b8840830 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Large_3.png b/packages/renderer/imagesrc/characters/enchantress/material/Large_3.png new file mode 100644 index 00000000..2c11e0ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Seicing.png b/packages/renderer/imagesrc/characters/enchantress/material/Seicing.png new file mode 100644 index 00000000..22d552c8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Seicing_2.png b/packages/renderer/imagesrc/characters/enchantress/material/Seicing_2.png new file mode 100644 index 00000000..fecdbc23 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Seicing_3.png b/packages/renderer/imagesrc/characters/enchantress/material/Seicing_3.png new file mode 100644 index 00000000..f55ffc85 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/material/Thumb.png b/packages/renderer/imagesrc/characters/enchantress/material/Thumb.png new file mode 100644 index 00000000..fe085f71 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress/profile.png b/packages/renderer/imagesrc/characters/enchantress/profile.png new file mode 100644 index 00000000..f103bc5d Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/profile.png differ diff --git a/ResourceFiles/战斗·知源·小魔女/技能/BUFF.png b/packages/renderer/imagesrc/characters/enchantress/skill/BUFF.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/enchantress/skill/BUFF.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/不祥的微笑.png b/packages/renderer/imagesrc/characters/enchantress/skill/不祥的微笑.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/不祥的微笑.png rename to packages/renderer/imagesrc/characters/enchantress/skill/不祥的微笑.png diff --git a/ResourceFiles/知源·小魔女/技能/人偶之森.png b/packages/renderer/imagesrc/characters/enchantress/skill/人偶之森.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/人偶之森.png rename to packages/renderer/imagesrc/characters/enchantress/skill/人偶之森.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/人偶戏法.png b/packages/renderer/imagesrc/characters/enchantress/skill/人偶戏法.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/人偶戏法.png rename to packages/renderer/imagesrc/characters/enchantress/skill/人偶戏法.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/人偶操纵者.png b/packages/renderer/imagesrc/characters/enchantress/skill/人偶操纵者.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/人偶操纵者.png rename to packages/renderer/imagesrc/characters/enchantress/skill/人偶操纵者.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/人偶篮子.png b/packages/renderer/imagesrc/characters/enchantress/skill/人偶篮子.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/人偶篮子.png rename to packages/renderer/imagesrc/characters/enchantress/skill/人偶篮子.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/冥月绽放.png b/packages/renderer/imagesrc/characters/enchantress/skill/冥月绽放.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/冥月绽放.png rename to packages/renderer/imagesrc/characters/enchantress/skill/冥月绽放.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/别过来!.png b/packages/renderer/imagesrc/characters/enchantress/skill/别过来!.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/别过来!.png rename to packages/renderer/imagesrc/characters/enchantress/skill/别过来!.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/变大吧!疯疯熊.png b/packages/renderer/imagesrc/characters/enchantress/skill/变大吧!疯疯熊.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/变大吧!疯疯熊.png rename to packages/renderer/imagesrc/characters/enchantress/skill/变大吧!疯疯熊.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/咆哮吧!疯疯熊.png b/packages/renderer/imagesrc/characters/enchantress/skill/咆哮吧!疯疯熊.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/咆哮吧!疯疯熊.png rename to packages/renderer/imagesrc/characters/enchantress/skill/咆哮吧!疯疯熊.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/哇咔咔!.png b/packages/renderer/imagesrc/characters/enchantress/skill/哇咔咔!.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/哇咔咔!.png rename to packages/renderer/imagesrc/characters/enchantress/skill/哇咔咔!.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/小魔女的偏爱.png b/packages/renderer/imagesrc/characters/enchantress/skill/小魔女的偏爱.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/小魔女的偏爱.png rename to packages/renderer/imagesrc/characters/enchantress/skill/小魔女的偏爱.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/少女的爱.png b/packages/renderer/imagesrc/characters/enchantress/skill/少女的爱.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/少女的爱.png rename to packages/renderer/imagesrc/characters/enchantress/skill/少女的爱.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/开幕!人偶剧场.png b/packages/renderer/imagesrc/characters/enchantress/skill/开幕!人偶剧场.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/开幕!人偶剧场.png rename to packages/renderer/imagesrc/characters/enchantress/skill/开幕!人偶剧场.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/挚爱囚笼.png b/packages/renderer/imagesrc/characters/enchantress/skill/挚爱囚笼.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/挚爱囚笼.png rename to packages/renderer/imagesrc/characters/enchantress/skill/挚爱囚笼.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/林中小屋.png b/packages/renderer/imagesrc/characters/enchantress/skill/林中小屋.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/林中小屋.png rename to packages/renderer/imagesrc/characters/enchantress/skill/林中小屋.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/欢迎光临人偶之森.png b/packages/renderer/imagesrc/characters/enchantress/skill/欢迎光临人偶之森.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/欢迎光临人偶之森.png rename to packages/renderer/imagesrc/characters/enchantress/skill/欢迎光临人偶之森.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/死命召唤.png b/packages/renderer/imagesrc/characters/enchantress/skill/死命召唤.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/死命召唤.png rename to packages/renderer/imagesrc/characters/enchantress/skill/死命召唤.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/火热的爱意.png b/packages/renderer/imagesrc/characters/enchantress/skill/火热的爱意.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/火热的爱意.png rename to packages/renderer/imagesrc/characters/enchantress/skill/火热的爱意.png diff --git a/packages/renderer/imagesrc/characters/enchantress/skill/爱之急救.png b/packages/renderer/imagesrc/characters/enchantress/skill/爱之急救.png new file mode 100644 index 00000000..7ba495e9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/skill/爱之急救.png differ diff --git a/ResourceFiles/战斗·知源·小魔女/技能/玫瑰藤蔓.png b/packages/renderer/imagesrc/characters/enchantress/skill/玫瑰藤蔓.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/玫瑰藤蔓.png rename to packages/renderer/imagesrc/characters/enchantress/skill/玫瑰藤蔓.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/疯熊守护.png b/packages/renderer/imagesrc/characters/enchantress/skill/疯熊守护.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/疯熊守护.png rename to packages/renderer/imagesrc/characters/enchantress/skill/疯熊守护.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/疯熊火箭拳.png b/packages/renderer/imagesrc/characters/enchantress/skill/疯熊火箭拳.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/疯熊火箭拳.png rename to packages/renderer/imagesrc/characters/enchantress/skill/疯熊火箭拳.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/疯狂乱抓.png b/packages/renderer/imagesrc/characters/enchantress/skill/疯狂乱抓.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/疯狂乱抓.png rename to packages/renderer/imagesrc/characters/enchantress/skill/疯狂乱抓.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/疯疯熊坠击.png b/packages/renderer/imagesrc/characters/enchantress/skill/疯疯熊坠击.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/疯疯熊坠击.png rename to packages/renderer/imagesrc/characters/enchantress/skill/疯疯熊坠击.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/禁忌诅咒.png b/packages/renderer/imagesrc/characters/enchantress/skill/禁忌诅咒.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/禁忌诅咒.png rename to packages/renderer/imagesrc/characters/enchantress/skill/禁忌诅咒.png diff --git a/packages/renderer/imagesrc/characters/enchantress/skill/细心缝补.png b/packages/renderer/imagesrc/characters/enchantress/skill/细心缝补.png new file mode 100644 index 00000000..34374ca3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress/skill/细心缝补.png differ diff --git a/ResourceFiles/战斗·知源·小魔女/技能/终幕!人偶剧场.png b/packages/renderer/imagesrc/characters/enchantress/skill/终幕!人偶剧场.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/终幕!人偶剧场.png rename to packages/renderer/imagesrc/characters/enchantress/skill/终幕!人偶剧场.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/苦痛庭院.png b/packages/renderer/imagesrc/characters/enchantress/skill/苦痛庭院.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/苦痛庭院.png rename to packages/renderer/imagesrc/characters/enchantress/skill/苦痛庭院.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/蔷薇囚狱.png b/packages/renderer/imagesrc/characters/enchantress/skill/蔷薇囚狱.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/蔷薇囚狱.png rename to packages/renderer/imagesrc/characters/enchantress/skill/蔷薇囚狱.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/蔷薇藤鞭.png b/packages/renderer/imagesrc/characters/enchantress/skill/蔷薇藤鞭.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/蔷薇藤鞭.png rename to packages/renderer/imagesrc/characters/enchantress/skill/蔷薇藤鞭.png diff --git a/ResourceFiles/战斗·知源·小魔女/技能/邪恶的好奇心.png b/packages/renderer/imagesrc/characters/enchantress/skill/邪恶的好奇心.png similarity index 100% rename from ResourceFiles/战斗·知源·小魔女/技能/邪恶的好奇心.png rename to packages/renderer/imagesrc/characters/enchantress/skill/邪恶的好奇心.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/profile.png b/packages/renderer/imagesrc/characters/enchantress_carry/profile.png new file mode 100644 index 00000000..f103bc5d Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/profile.png differ diff --git a/ResourceFiles/知源·小魔女/技能/BUFF.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/BUFF.png diff --git a/ResourceFiles/知源·小魔女/技能/不祥的微笑.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/不祥的微笑.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/不祥的微笑.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/不祥的微笑.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶之森.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶之森.png new file mode 100644 index 00000000..d214530e Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶之森.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶戏法.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶戏法.png new file mode 100644 index 00000000..7740bda9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶戏法.png differ diff --git a/ResourceFiles/知源·小魔女/技能/人偶操纵者.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶操纵者.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/人偶操纵者.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶操纵者.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶篮子.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶篮子.png new file mode 100644 index 00000000..756d7fea Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/人偶篮子.png differ diff --git a/ResourceFiles/知源·小魔女/技能/冥月绽放.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/冥月绽放.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/冥月绽放.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/冥月绽放.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/别过来!.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/别过来!.png new file mode 100644 index 00000000..719d50fd Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/别过来!.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/变大吧!疯疯熊.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/变大吧!疯疯熊.png new file mode 100644 index 00000000..1e14ca52 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/变大吧!疯疯熊.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/咆哮吧!疯疯熊.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/咆哮吧!疯疯熊.png new file mode 100644 index 00000000..1290db38 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/咆哮吧!疯疯熊.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/哇咔咔!.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/哇咔咔!.png new file mode 100644 index 00000000..64fc8905 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/哇咔咔!.png differ diff --git a/ResourceFiles/知源·小魔女/技能/小魔女的偏爱.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/小魔女的偏爱.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/小魔女的偏爱.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/小魔女的偏爱.png diff --git a/ResourceFiles/知源·小魔女/技能/少女的爱.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/少女的爱.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/少女的爱.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/少女的爱.png diff --git a/ResourceFiles/知源·小魔女/技能/开幕!人偶剧场.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/开幕!人偶剧场.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/开幕!人偶剧场.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/开幕!人偶剧场.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/御敌之刺.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/御敌之刺.png new file mode 100644 index 00000000..b66e5730 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/御敌之刺.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/挚爱囚笼.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/挚爱囚笼.png new file mode 100644 index 00000000..96824a6f Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/挚爱囚笼.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/林中小屋.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/林中小屋.png new file mode 100644 index 00000000..693e06ac Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/林中小屋.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/欢迎光临人偶之森.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/欢迎光临人偶之森.png new file mode 100644 index 00000000..d214530e Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/欢迎光临人偶之森.png differ diff --git a/ResourceFiles/知源·小魔女/技能/死命召唤.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/死命召唤.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/死命召唤.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/死命召唤.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/火热的爱意.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/火热的爱意.png new file mode 100644 index 00000000..b2947289 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/火热的爱意.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/爱之刺痛.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/爱之刺痛.png new file mode 100644 index 00000000..2e43baa1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/爱之刺痛.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/玫瑰藤蔓.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/玫瑰藤蔓.png new file mode 100644 index 00000000..93875e26 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/玫瑰藤蔓.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊守护.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊守护.png new file mode 100644 index 00000000..e980905f Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊守护.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊火箭拳.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊火箭拳.png new file mode 100644 index 00000000..19b8e42f Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯熊火箭拳.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯狂乱抓.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯狂乱抓.png new file mode 100644 index 00000000..59e0129c Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯狂乱抓.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯疯熊坠击.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯疯熊坠击.png new file mode 100644 index 00000000..8f0013fd Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/疯疯熊坠击.png differ diff --git a/ResourceFiles/知源·小魔女/技能/禁忌诅咒.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/禁忌诅咒.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/禁忌诅咒.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/禁忌诅咒.png diff --git a/ResourceFiles/知源·小魔女/技能/终幕!人偶剧场.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/终幕!人偶剧场.png similarity index 100% rename from ResourceFiles/知源·小魔女/技能/终幕!人偶剧场.png rename to packages/renderer/imagesrc/characters/enchantress_carry/skill/终幕!人偶剧场.png diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/苦痛庭院.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/苦痛庭院.png new file mode 100644 index 00000000..ad6897a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/苦痛庭院.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇囚狱.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇囚狱.png new file mode 100644 index 00000000..c6a6d217 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇囚狱.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇藤鞭.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇藤鞭.png new file mode 100644 index 00000000..005a5318 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/蔷薇藤鞭.png differ diff --git a/packages/renderer/imagesrc/characters/enchantress_carry/skill/邪恶的好奇心.png b/packages/renderer/imagesrc/characters/enchantress_carry/skill/邪恶的好奇心.png new file mode 100644 index 00000000..c6921285 Binary files /dev/null and b/packages/renderer/imagesrc/characters/enchantress_carry/skill/邪恶的好奇心.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Adventure_3.png b/packages/renderer/imagesrc/characters/exorcist/material/Adventure_3.png new file mode 100644 index 00000000..2e2aed04 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Bust.png b/packages/renderer/imagesrc/characters/exorcist/material/Bust.png new file mode 100644 index 00000000..daf0eb2b Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Helper.png b/packages/renderer/imagesrc/characters/exorcist/material/Helper.png new file mode 100644 index 00000000..c9bca4ad Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Large.png b/packages/renderer/imagesrc/characters/exorcist/material/Large.png new file mode 100644 index 00000000..eb493ca2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Large_2.png b/packages/renderer/imagesrc/characters/exorcist/material/Large_2.png new file mode 100644 index 00000000..3edd42f6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Large_3.png b/packages/renderer/imagesrc/characters/exorcist/material/Large_3.png new file mode 100644 index 00000000..6650e9c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Seicing.png b/packages/renderer/imagesrc/characters/exorcist/material/Seicing.png new file mode 100644 index 00000000..5408a9b7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Seicing_2.png b/packages/renderer/imagesrc/characters/exorcist/material/Seicing_2.png new file mode 100644 index 00000000..1b57d359 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Seicing_3.png b/packages/renderer/imagesrc/characters/exorcist/material/Seicing_3.png new file mode 100644 index 00000000..d889ce07 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/material/Thumb.png b/packages/renderer/imagesrc/characters/exorcist/material/Thumb.png new file mode 100644 index 00000000..3df79d66 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/profile.png b/packages/renderer/imagesrc/characters/exorcist/profile.png new file mode 100644 index 00000000..d7b0b5a4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/profile.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/5.png b/packages/renderer/imagesrc/characters/exorcist/skill/5.png new file mode 100644 index 00000000..fb05801e Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/5.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/BUFF.png b/packages/renderer/imagesrc/characters/exorcist/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/BUFF.png rename to packages/renderer/imagesrc/characters/exorcist/skill/BUFF.png diff --git a/ResourceFiles/神启·驱魔师/技能/升天阵.png b/packages/renderer/imagesrc/characters/exorcist/skill/升天阵.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/升天阵.png rename to packages/renderer/imagesrc/characters/exorcist/skill/升天阵.png diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/四左天泰门.png b/packages/renderer/imagesrc/characters/exorcist/skill/四左天泰门.png new file mode 100644 index 00000000..eaa8cd83 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/四左天泰门.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/基本攻击.png b/packages/renderer/imagesrc/characters/exorcist/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/基本攻击.png differ diff --git a/ResourceFiles/皓曦·龙骑士/技能/基础精通.png b/packages/renderer/imagesrc/characters/exorcist/skill/基础精通.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/基础精通.png rename to packages/renderer/imagesrc/characters/exorcist/skill/基础精通.png diff --git a/ResourceFiles/神启·驱魔师/技能/巨兵精通.png b/packages/renderer/imagesrc/characters/exorcist/skill/巨兵精通.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/巨兵精通.png rename to packages/renderer/imagesrc/characters/exorcist/skill/巨兵精通.png diff --git a/ResourceFiles/神启·驱魔师/技能/巨旋风.png b/packages/renderer/imagesrc/characters/exorcist/skill/巨旋风.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/巨旋风.png rename to packages/renderer/imagesrc/characters/exorcist/skill/巨旋风.png diff --git a/ResourceFiles/神启·驱魔师/技能/式神之力.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神之力.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/式神之力.png rename to packages/renderer/imagesrc/characters/exorcist/skill/式神之力.png diff --git a/ResourceFiles/神启·驱魔师/技能/式神之悟.PNG b/packages/renderer/imagesrc/characters/exorcist/skill/式神之悟.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/式神之悟.PNG rename to packages/renderer/imagesrc/characters/exorcist/skill/式神之悟.png diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/式神契结:真龙.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神契结:真龙.png new file mode 100644 index 00000000..11beaff0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/式神契结:真龙.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/式神封灵阵.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神封灵阵.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/式神封灵阵.png rename to packages/renderer/imagesrc/characters/exorcist/skill/式神封灵阵.png diff --git a/ResourceFiles/神启·驱魔师/技能/式神灭却·合.PNG b/packages/renderer/imagesrc/characters/exorcist/skill/式神灭却·合.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/式神灭却·合.PNG rename to packages/renderer/imagesrc/characters/exorcist/skill/式神灭却·合.png diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/式神:地之玄武.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神:地之玄武.png new file mode 100644 index 00000000..036b84f9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/式神:地之玄武.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/式神:幻海青龙.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神:幻海青龙.png new file mode 100644 index 00000000..a84ffabb Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/式神:幻海青龙.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/式神:殇.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神:殇.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/式神:殇.png rename to packages/renderer/imagesrc/characters/exorcist/skill/式神:殇.png diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/式神:热炎朱雀.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神:热炎朱雀.png new file mode 100644 index 00000000..09994729 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/式神:热炎朱雀.png differ diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/式神:空之白虎.png b/packages/renderer/imagesrc/characters/exorcist/skill/式神:空之白虎.png new file mode 100644 index 00000000..4a316b68 Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/式神:空之白虎.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/斗志散发.png b/packages/renderer/imagesrc/characters/exorcist/skill/斗志散发.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/斗志散发.png rename to packages/renderer/imagesrc/characters/exorcist/skill/斗志散发.png diff --git a/ResourceFiles/神启·驱魔师/技能/断空捶击.png b/packages/renderer/imagesrc/characters/exorcist/skill/断空捶击.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/断空捶击.png rename to packages/renderer/imagesrc/characters/exorcist/skill/断空捶击.png diff --git a/ResourceFiles/神启·驱魔师/技能/无双击.png b/packages/renderer/imagesrc/characters/exorcist/skill/无双击.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/无双击.png rename to packages/renderer/imagesrc/characters/exorcist/skill/无双击.png diff --git a/ResourceFiles/神启·驱魔师/技能/星落打.png b/packages/renderer/imagesrc/characters/exorcist/skill/星落打.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/星落打.png rename to packages/renderer/imagesrc/characters/exorcist/skill/星落打.png diff --git a/ResourceFiles/神启·驱魔师/技能/朱雀符.png b/packages/renderer/imagesrc/characters/exorcist/skill/朱雀符.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/朱雀符.png rename to packages/renderer/imagesrc/characters/exorcist/skill/朱雀符.png diff --git a/ResourceFiles/神启·驱魔师/技能/潜龙.png b/packages/renderer/imagesrc/characters/exorcist/skill/潜龙.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/潜龙.png rename to packages/renderer/imagesrc/characters/exorcist/skill/潜龙.png diff --git a/ResourceFiles/神启·驱魔师/技能/灭魂符.png b/packages/renderer/imagesrc/characters/exorcist/skill/灭魂符.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/灭魂符.png rename to packages/renderer/imagesrc/characters/exorcist/skill/灭魂符.png diff --git a/ResourceFiles/神启·驱魔师/技能/狂乱锤击.png b/packages/renderer/imagesrc/characters/exorcist/skill/狂乱锤击.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/狂乱锤击.png rename to packages/renderer/imagesrc/characters/exorcist/skill/狂乱锤击.png diff --git a/ResourceFiles/神启·驱魔师/技能/疾空旋风破.png b/packages/renderer/imagesrc/characters/exorcist/skill/疾空旋风破.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/疾空旋风破.png rename to packages/renderer/imagesrc/characters/exorcist/skill/疾空旋风破.png diff --git a/ResourceFiles/神启·驱魔师/技能/疾风打.png b/packages/renderer/imagesrc/characters/exorcist/skill/疾风打.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/疾风打.png rename to packages/renderer/imagesrc/characters/exorcist/skill/疾风打.png diff --git a/ResourceFiles/神启·驱魔师/技能/真龙焚天.png b/packages/renderer/imagesrc/characters/exorcist/skill/真龙焚天.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/真龙焚天.png rename to packages/renderer/imagesrc/characters/exorcist/skill/真龙焚天.png diff --git a/ResourceFiles/神启·驱魔师/技能/破魔符.png b/packages/renderer/imagesrc/characters/exorcist/skill/破魔符.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/破魔符.png rename to packages/renderer/imagesrc/characters/exorcist/skill/破魔符.png diff --git a/ResourceFiles/神启·驱魔师/技能/空斩打.png b/packages/renderer/imagesrc/characters/exorcist/skill/空斩打.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/空斩打.png rename to packages/renderer/imagesrc/characters/exorcist/skill/空斩打.png diff --git a/ResourceFiles/神启·驱魔师/技能/脉轮:式神.png b/packages/renderer/imagesrc/characters/exorcist/skill/脉轮:式神.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/脉轮:式神.png rename to packages/renderer/imagesrc/characters/exorcist/skill/脉轮:式神.png diff --git a/ResourceFiles/神启·驱魔师/技能/苍龙逐日.png b/packages/renderer/imagesrc/characters/exorcist/skill/苍龙逐日.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/苍龙逐日.png rename to packages/renderer/imagesrc/characters/exorcist/skill/苍龙逐日.png diff --git a/ResourceFiles/神启·驱魔师/技能/落凤锤.png b/packages/renderer/imagesrc/characters/exorcist/skill/落凤锤.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/落凤锤.png rename to packages/renderer/imagesrc/characters/exorcist/skill/落凤锤.png diff --git a/ResourceFiles/神启·驱魔师/技能/落雷符.png b/packages/renderer/imagesrc/characters/exorcist/skill/落雷符.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/落雷符.png rename to packages/renderer/imagesrc/characters/exorcist/skill/落雷符.png diff --git a/ResourceFiles/神启·驱魔师/技能/逆鳞震.png b/packages/renderer/imagesrc/characters/exorcist/skill/逆鳞震.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/逆鳞震.png rename to packages/renderer/imagesrc/characters/exorcist/skill/逆鳞震.png diff --git a/ResourceFiles/神启·驱魔师/技能/逆龙七杀.png b/packages/renderer/imagesrc/characters/exorcist/skill/逆龙七杀.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/逆龙七杀.png rename to packages/renderer/imagesrc/characters/exorcist/skill/逆龙七杀.png diff --git a/ResourceFiles/神启·驱魔师/技能/雷鸣怒海·火啸山崩.PNG b/packages/renderer/imagesrc/characters/exorcist/skill/雷鸣怒海·火啸山崩.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/雷鸣怒海·火啸山崩.PNG rename to packages/renderer/imagesrc/characters/exorcist/skill/雷鸣怒海·火啸山崩.png diff --git a/ResourceFiles/神启·驱魔师/技能/驱魔之书.png b/packages/renderer/imagesrc/characters/exorcist/skill/驱魔之书.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/驱魔之书.png rename to packages/renderer/imagesrc/characters/exorcist/skill/驱魔之书.png diff --git a/packages/renderer/imagesrc/characters/exorcist/skill/黄龙阵.png b/packages/renderer/imagesrc/characters/exorcist/skill/黄龙阵.png new file mode 100644 index 00000000..b055c00f Binary files /dev/null and b/packages/renderer/imagesrc/characters/exorcist/skill/黄龙阵.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/黑暗切割.png b/packages/renderer/imagesrc/characters/exorcist/skill/黑暗切割.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/黑暗切割.png rename to packages/renderer/imagesrc/characters/exorcist/skill/黑暗切割.png diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Adventure_3.png b/packages/renderer/imagesrc/characters/ghostblade/material/Adventure_3.png new file mode 100644 index 00000000..07bc1cd9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Bust.png b/packages/renderer/imagesrc/characters/ghostblade/material/Bust.png new file mode 100644 index 00000000..07f229be Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Helper.png b/packages/renderer/imagesrc/characters/ghostblade/material/Helper.png new file mode 100644 index 00000000..81bb23d9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Large.png b/packages/renderer/imagesrc/characters/ghostblade/material/Large.png new file mode 100644 index 00000000..d14d305d Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Large_2.png b/packages/renderer/imagesrc/characters/ghostblade/material/Large_2.png new file mode 100644 index 00000000..62f38955 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Large_3.png b/packages/renderer/imagesrc/characters/ghostblade/material/Large_3.png new file mode 100644 index 00000000..eacbb224 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Seicing.png b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing.png new file mode 100644 index 00000000..3d6309bc Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_2.png b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_2.png new file mode 100644 index 00000000..ca029e30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_3.png b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_3.png new file mode 100644 index 00000000..5c0e3d00 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/material/Thumb.png b/packages/renderer/imagesrc/characters/ghostblade/material/Thumb.png new file mode 100644 index 00000000..f72a4170 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/ghostblade/profile.png b/packages/renderer/imagesrc/characters/ghostblade/profile.png new file mode 100644 index 00000000..83328f79 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ghostblade/profile.png differ diff --git a/ResourceFiles/极诣·剑影/技能/BUFF.png b/packages/renderer/imagesrc/characters/ghostblade/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/BUFF.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/BUFF.png diff --git a/ResourceFiles/极诣·剑影/技能/共鸣:离魂一闪.png b/packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:离魂一闪.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/共鸣:离魂一闪.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:离魂一闪.png diff --git a/ResourceFiles/极诣·剑影/技能/共鸣:聚渊.png b/packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:聚渊.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/共鸣:聚渊.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:聚渊.png diff --git a/ResourceFiles/极诣·剑影/技能/共鸣:鬼灵斩.png b/packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:鬼灵斩.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/共鸣:鬼灵斩.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/共鸣:鬼灵斩.png diff --git a/ResourceFiles/极诣·剑影/技能/冥夜鬼天杀.png b/packages/renderer/imagesrc/characters/ghostblade/skill/冥夜鬼天杀.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/冥夜鬼天杀.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/冥夜鬼天杀.png diff --git a/ResourceFiles/极诣·剑影/技能/冥灵断魂斩.png b/packages/renderer/imagesrc/characters/ghostblade/skill/冥灵断魂斩.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/冥灵断魂斩.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/冥灵断魂斩.png diff --git a/ResourceFiles/极诣·剑影/技能/剑影太刀精通.png b/packages/renderer/imagesrc/characters/ghostblade/skill/剑影太刀精通.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/剑影太刀精通.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/剑影太刀精通.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼之力.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼之力.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼之力.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼之力.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼:一闪.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:一闪.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼:一闪.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:一闪.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼:回天.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:回天.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼:回天.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:回天.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼:大回天.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:大回天.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼:大回天.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:大回天.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼:奈落.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:奈落.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼:奈落.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:奈落.png diff --git a/ResourceFiles/极诣·剑影/技能/幻鬼:连斩.png b/packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:连斩.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/幻鬼:连斩.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/幻鬼:连斩.png diff --git a/ResourceFiles/极诣·剑影/技能/无式·极影剑.png b/packages/renderer/imagesrc/characters/ghostblade/skill/无式·极影剑.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/无式·极影剑.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/无式·极影剑.png diff --git a/ResourceFiles/极诣·剑影/技能/灭魂极影剑·止煞.png b/packages/renderer/imagesrc/characters/ghostblade/skill/灭魂极影剑·止煞.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/灭魂极影剑·止煞.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/灭魂极影剑·止煞.png diff --git a/ResourceFiles/极诣·剑影/技能/睥睨万物.png b/packages/renderer/imagesrc/characters/ghostblade/skill/睥睨万物.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/睥睨万物.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/睥睨万物.png diff --git a/ResourceFiles/极诣·剑影/技能/裂魂乱舞.png b/packages/renderer/imagesrc/characters/ghostblade/skill/裂魂乱舞.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/裂魂乱舞.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/裂魂乱舞.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼咲.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼咲.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼咲.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼咲.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼夜.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼夜.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼夜.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼夜.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼步.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼步.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼步.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼步.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼连斩.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼连斩.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼连斩.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼连斩.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼连斩:极.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼连斩:极.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼连斩:极.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼连斩:极.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼连牙.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼连牙.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼连牙.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼连牙.png diff --git a/ResourceFiles/极诣·剑影/技能/鬼隐·夜奈落.png b/packages/renderer/imagesrc/characters/ghostblade/skill/鬼隐·夜奈落.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/鬼隐·夜奈落.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/鬼隐·夜奈落.png diff --git a/ResourceFiles/极诣·剑影/技能/魂破斩.png b/packages/renderer/imagesrc/characters/ghostblade/skill/魂破斩.png similarity index 100% rename from ResourceFiles/极诣·剑影/技能/魂破斩.png rename to packages/renderer/imagesrc/characters/ghostblade/skill/魂破斩.png diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Adventure_3.png b/packages/renderer/imagesrc/characters/glacial_master/material/Adventure_3.png new file mode 100644 index 00000000..97dbae71 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Bust.png b/packages/renderer/imagesrc/characters/glacial_master/material/Bust.png new file mode 100644 index 00000000..866ef264 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Helper.png b/packages/renderer/imagesrc/characters/glacial_master/material/Helper.png new file mode 100644 index 00000000..c1960b94 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Large.png b/packages/renderer/imagesrc/characters/glacial_master/material/Large.png new file mode 100644 index 00000000..652807ac Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Large_2.png b/packages/renderer/imagesrc/characters/glacial_master/material/Large_2.png new file mode 100644 index 00000000..5e68b450 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Large_3.png b/packages/renderer/imagesrc/characters/glacial_master/material/Large_3.png new file mode 100644 index 00000000..15b334ce Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Seicing.png b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing.png new file mode 100644 index 00000000..7b3bd69a Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_2.png b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_2.png new file mode 100644 index 00000000..13d11a52 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_3.png b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_3.png new file mode 100644 index 00000000..7fa9d694 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/material/Thumb.png b/packages/renderer/imagesrc/characters/glacial_master/material/Thumb.png new file mode 100644 index 00000000..dfc85f67 Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/glacial_master/profile.png b/packages/renderer/imagesrc/characters/glacial_master/profile.png new file mode 100644 index 00000000..434c880c Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/profile.png differ diff --git a/ResourceFiles/知源·冰结师/技能/BUFF.png b/packages/renderer/imagesrc/characters/glacial_master/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/BUFF.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/BUFF.png diff --git a/ResourceFiles/知源·冰结师/技能/冰之技艺.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰之技艺.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰之技艺.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰之技艺.png diff --git a/ResourceFiles/知源·冰结师/技能/冰之领悟.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰之领悟.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰之领悟.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰之领悟.png diff --git a/ResourceFiles/知源·冰结师/技能/冰凌破.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰凌破.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰凌破.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰凌破.png diff --git a/ResourceFiles/知源·冰结师/技能/冰封奥义.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰封奥义.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰封奥义.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰封奥义.png diff --git a/ResourceFiles/知源·冰结师/技能/冰武精通.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰武精通.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰武精通.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰武精通.png diff --git a/packages/renderer/imagesrc/characters/glacial_master/skill/冰舞乱击.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰舞乱击.png new file mode 100644 index 00000000..6328525d Binary files /dev/null and b/packages/renderer/imagesrc/characters/glacial_master/skill/冰舞乱击.png differ diff --git a/ResourceFiles/知源·冰结师/技能/冰雪风暴.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰雪风暴.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰雪风暴.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰雪风暴.png diff --git a/ResourceFiles/知源·冰结师/技能/冰霜之径.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰霜之径.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰霜之径.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰霜之径.png diff --git a/ResourceFiles/知源·冰结师/技能/冰霜之手.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰霜之手.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰霜之手.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰霜之手.png diff --git a/ResourceFiles/知源·冰结师/技能/冰魄之弓.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰魄之弓.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰魄之弓.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰魄之弓.png diff --git a/ResourceFiles/知源·冰结师/技能/冰魄剑.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰魄剑.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰魄剑.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰魄剑.png diff --git a/ResourceFiles/知源·冰结师/技能/冰魄旋枪.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰魄旋枪.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰魄旋枪.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰魄旋枪.png diff --git a/ResourceFiles/知源·冰结师/技能/冰魄锤击.png b/packages/renderer/imagesrc/characters/glacial_master/skill/冰魄锤击.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/冰魄锤击.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/冰魄锤击.png diff --git a/ResourceFiles/知源·冰结师/技能/千旋冰轮破.png b/packages/renderer/imagesrc/characters/glacial_master/skill/千旋冰轮破.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/千旋冰轮破.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/千旋冰轮破.png diff --git a/ResourceFiles/知源·冰结师/技能/千里冰封.png b/packages/renderer/imagesrc/characters/glacial_master/skill/千里冰封.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/千里冰封.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/千里冰封.png diff --git a/ResourceFiles/知源·冰结师/技能/寒冰连枪.png b/packages/renderer/imagesrc/characters/glacial_master/skill/寒冰连枪.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/寒冰连枪.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/寒冰连枪.png diff --git a/ResourceFiles/知源·冰结师/技能/旋冰穿刺.png b/packages/renderer/imagesrc/characters/glacial_master/skill/旋冰穿刺.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/旋冰穿刺.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/旋冰穿刺.png diff --git a/ResourceFiles/知源·冰结师/技能/极冰猎魔斩.png b/packages/renderer/imagesrc/characters/glacial_master/skill/极冰猎魔斩.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/极冰猎魔斩.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/极冰猎魔斩.png diff --git a/ResourceFiles/知源·冰结师/技能/极冰绽放.png b/packages/renderer/imagesrc/characters/glacial_master/skill/极冰绽放.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/极冰绽放.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/极冰绽放.png diff --git a/ResourceFiles/知源·冰结师/技能/极冰领域.png b/packages/renderer/imagesrc/characters/glacial_master/skill/极冰领域.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/极冰领域.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/极冰领域.png diff --git a/ResourceFiles/知源·冰结师/技能/水晶剑.png b/packages/renderer/imagesrc/characters/glacial_master/skill/水晶剑.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/水晶剑.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/水晶剑.png diff --git a/ResourceFiles/知源·冰结师/技能/永劫:纳斯特隆德.png b/packages/renderer/imagesrc/characters/glacial_master/skill/永劫:纳斯特隆德.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/永劫:纳斯特隆德.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/永劫:纳斯特隆德.png diff --git a/ResourceFiles/知源·冰结师/技能/永罪冰狱.png b/packages/renderer/imagesrc/characters/glacial_master/skill/永罪冰狱.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/永罪冰狱.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/永罪冰狱.png diff --git a/ResourceFiles/知源·冰结师/技能/破冰飞刃.png b/packages/renderer/imagesrc/characters/glacial_master/skill/破冰飞刃.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/破冰飞刃.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/破冰飞刃.png diff --git a/ResourceFiles/知源·冰结师/技能/碎冰破.png b/packages/renderer/imagesrc/characters/glacial_master/skill/碎冰破.png similarity index 100% rename from ResourceFiles/知源·冰结师/技能/碎冰破.png rename to packages/renderer/imagesrc/characters/glacial_master/skill/碎冰破.png diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/grappler_female/material/Adventure_3.png new file mode 100644 index 00000000..06f98d14 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Bust.png b/packages/renderer/imagesrc/characters/grappler_female/material/Bust.png new file mode 100644 index 00000000..b3e1a499 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Helper.png b/packages/renderer/imagesrc/characters/grappler_female/material/Helper.png new file mode 100644 index 00000000..b4446ea5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Large.png b/packages/renderer/imagesrc/characters/grappler_female/material/Large.png new file mode 100644 index 00000000..f239c626 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Large_2.png b/packages/renderer/imagesrc/characters/grappler_female/material/Large_2.png new file mode 100644 index 00000000..b42c0f00 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Large_3.png b/packages/renderer/imagesrc/characters/grappler_female/material/Large_3.png new file mode 100644 index 00000000..fee7c671 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Seicing.png b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing.png new file mode 100644 index 00000000..bf5a96b5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_2.png new file mode 100644 index 00000000..6e9b6b30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_3.png new file mode 100644 index 00000000..0a79d86c Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/material/Thumb.png b/packages/renderer/imagesrc/characters/grappler_female/material/Thumb.png new file mode 100644 index 00000000..52c69129 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_female/profile.png b/packages/renderer/imagesrc/characters/grappler_female/profile.png new file mode 100644 index 00000000..4372d3d1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_female/profile.png differ diff --git a/ResourceFiles/归元·柔道家·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/grappler_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/BUFF.png diff --git a/ResourceFiles/归元·柔道家·女/技能/光芒之翼.png b/packages/renderer/imagesrc/characters/grappler_female/skill/光芒之翼.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/光芒之翼.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/光芒之翼.png diff --git a/ResourceFiles/归元·柔道家·女/技能/地狱摇篮(抓轰炮).png b/packages/renderer/imagesrc/characters/grappler_female/skill/地狱摇篮.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/地狱摇篮(抓轰炮).png rename to packages/renderer/imagesrc/characters/grappler_female/skill/地狱摇篮.png diff --git a/ResourceFiles/归元·柔道家·女/技能/女皇时代辉煌舞台.png b/packages/renderer/imagesrc/characters/grappler_female/skill/女皇时代·辉煌舞台.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/女皇时代辉煌舞台.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/女皇时代·辉煌舞台.png diff --git a/ResourceFiles/归元·柔道家·女/技能/强力抱摔.png b/packages/renderer/imagesrc/characters/grappler_female/skill/强力抱摔.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/强力抱摔.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/强力抱摔.png diff --git a/ResourceFiles/归元·柔道家·女/技能/抓取奥义.png b/packages/renderer/imagesrc/characters/grappler_female/skill/抓取奥义.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/抓取奥义.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/抓取奥义.png diff --git a/ResourceFiles/归元·柔道家·女/技能/折颈.png b/packages/renderer/imagesrc/characters/grappler_female/skill/折颈.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/折颈.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/折颈.png diff --git a/ResourceFiles/归元·柔道家·女/技能/抛投.png b/packages/renderer/imagesrc/characters/grappler_female/skill/抛投.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/抛投.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/抛投.png diff --git a/ResourceFiles/归元·柔道家·女/技能/摔技强化.png b/packages/renderer/imagesrc/characters/grappler_female/skill/摔技强化.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/摔技强化.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/摔技强化.png diff --git a/ResourceFiles/归元·柔道家·女/技能/末日摇篮.png b/packages/renderer/imagesrc/characters/grappler_female/skill/末日摇篮.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/末日摇篮.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/末日摇篮.png diff --git a/ResourceFiles/归元·柔道家·女/技能/末日风暴.png b/packages/renderer/imagesrc/characters/grappler_female/skill/末日风暴.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/末日风暴.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/末日风暴.png diff --git a/ResourceFiles/归元·柔道家·女/技能/极手奥义.png b/packages/renderer/imagesrc/characters/grappler_female/skill/极手奥义.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/极手奥义.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/极手奥义.png diff --git a/ResourceFiles/归元·柔道家·女/技能/死亡摇篮.png b/packages/renderer/imagesrc/characters/grappler_female/skill/死亡摇篮.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/死亡摇篮.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/死亡摇篮.png diff --git a/ResourceFiles/归元·柔道家·女/技能/空绞连锤(抓轰炮).png b/packages/renderer/imagesrc/characters/grappler_female/skill/空绞连锤.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/空绞连锤(抓轰炮).png rename to packages/renderer/imagesrc/characters/grappler_female/skill/空绞连锤.png diff --git a/ResourceFiles/归元·柔道家·女/技能/空绞锤.png b/packages/renderer/imagesrc/characters/grappler_female/skill/空绞锤.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/空绞锤.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/空绞锤.png diff --git a/ResourceFiles/归元·柔道家·女/技能/背摔.png b/packages/renderer/imagesrc/characters/grappler_female/skill/背摔.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/背摔.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/背摔.png diff --git a/ResourceFiles/归元·柔道家·女/技能/苍宇彗星落.png b/packages/renderer/imagesrc/characters/grappler_female/skill/苍宇彗星落.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/苍宇彗星落.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/苍宇彗星落.png diff --git a/ResourceFiles/归元·柔道家·女/技能/螺旋彗星落.png b/packages/renderer/imagesrc/characters/grappler_female/skill/螺旋彗星落.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/螺旋彗星落.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/螺旋彗星落.png diff --git a/ResourceFiles/归元·柔道家·女/技能/裂石破天.png b/packages/renderer/imagesrc/characters/grappler_female/skill/裂石破天.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/裂石破天.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/裂石破天.png diff --git a/ResourceFiles/归元·柔道家·女/技能/送葬舞步.png b/packages/renderer/imagesrc/characters/grappler_female/skill/送葬舞步.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/送葬舞步.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/送葬舞步.png diff --git a/ResourceFiles/归元·柔道家·女/技能/野蛮冲撞.png b/packages/renderer/imagesrc/characters/grappler_female/skill/野蛮冲撞.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/野蛮冲撞.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/野蛮冲撞.png diff --git a/ResourceFiles/归元·柔道家·女/技能/霹雳冲击.png b/packages/renderer/imagesrc/characters/grappler_female/skill/霹雳冲击.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/霹雳冲击.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/霹雳冲击.png diff --git a/ResourceFiles/归元·柔道家·女/技能/霹雳肘击.png b/packages/renderer/imagesrc/characters/grappler_female/skill/霹雳肘击.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/霹雳肘击.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/霹雳肘击.png diff --git a/ResourceFiles/归元·柔道家·女/技能/风暴之舞.png b/packages/renderer/imagesrc/characters/grappler_female/skill/风暴之舞.png similarity index 100% rename from ResourceFiles/归元·柔道家·女/技能/风暴之舞.png rename to packages/renderer/imagesrc/characters/grappler_female/skill/风暴之舞.png diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/grappler_male/material/Adventure_3.png new file mode 100644 index 00000000..f308e3b7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Bust.png b/packages/renderer/imagesrc/characters/grappler_male/material/Bust.png new file mode 100644 index 00000000..1632a39b Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Helper.png b/packages/renderer/imagesrc/characters/grappler_male/material/Helper.png new file mode 100644 index 00000000..55e244a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Large.png b/packages/renderer/imagesrc/characters/grappler_male/material/Large.png new file mode 100644 index 00000000..cdbfdbd7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Large_2.png b/packages/renderer/imagesrc/characters/grappler_male/material/Large_2.png new file mode 100644 index 00000000..ad8b4234 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Large_3.png b/packages/renderer/imagesrc/characters/grappler_male/material/Large_3.png new file mode 100644 index 00000000..46211cfd Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Seicing.png b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing.png new file mode 100644 index 00000000..12609358 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_2.png new file mode 100644 index 00000000..cf95d1cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_3.png new file mode 100644 index 00000000..e2f601b4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/material/Thumb.png b/packages/renderer/imagesrc/characters/grappler_male/material/Thumb.png new file mode 100644 index 00000000..92ad21b9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/grappler_male/profile.png b/packages/renderer/imagesrc/characters/grappler_male/profile.png new file mode 100644 index 00000000..36085d35 Binary files /dev/null and b/packages/renderer/imagesrc/characters/grappler_male/profile.png differ diff --git a/ResourceFiles/归元·柔道家·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/grappler_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/BUFF.png diff --git a/ResourceFiles/归元·柔道家·男/技能/一字传承:极义震天破.png b/packages/renderer/imagesrc/characters/grappler_male/skill/一字传承:极义震天破.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/一字传承:极义震天破.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/一字传承:极义震天破.png diff --git a/ResourceFiles/归元·柔道家·男/技能/傲天之怒.png b/packages/renderer/imagesrc/characters/grappler_male/skill/傲天之怒.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/傲天之怒.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/傲天之怒.png diff --git a/ResourceFiles/归元·柔道家·男/技能/力之奥义.png b/packages/renderer/imagesrc/characters/grappler_male/skill/力之奥义.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/力之奥义.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/力之奥义.png diff --git a/ResourceFiles/归元·柔道家·男/技能/地狱风火轮.png b/packages/renderer/imagesrc/characters/grappler_male/skill/地狱风火轮.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/地狱风火轮.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/地狱风火轮.png diff --git a/ResourceFiles/归元·柔道家·男/技能/彗星冲击.png b/packages/renderer/imagesrc/characters/grappler_male/skill/彗星冲击.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/彗星冲击.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/彗星冲击.png diff --git a/ResourceFiles/归元·柔道家·男/技能/抛投.png b/packages/renderer/imagesrc/characters/grappler_male/skill/抛投.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/抛投.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/抛投.png diff --git a/ResourceFiles/归元·柔道家·男/技能/摔技强化.png b/packages/renderer/imagesrc/characters/grappler_male/skill/摔技强化.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/摔技强化.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/摔技强化.png diff --git a/ResourceFiles/归元·柔道家·男/技能/无情摔击.png b/packages/renderer/imagesrc/characters/grappler_male/skill/无情摔击.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/无情摔击.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/无情摔击.png diff --git a/ResourceFiles/归元·柔道家·男/技能/武莲华.png b/packages/renderer/imagesrc/characters/grappler_male/skill/武莲华.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/武莲华.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/武莲华.png diff --git a/ResourceFiles/归元·柔道家·男/技能/死亡旋律.png b/packages/renderer/imagesrc/characters/grappler_male/skill/死亡旋律.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/死亡旋律.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/死亡旋律.png diff --git a/ResourceFiles/归元·柔道家·男/技能/浮空凌云踢.png b/packages/renderer/imagesrc/characters/grappler_male/skill/浮空凌云踢.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/浮空凌云踢.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/浮空凌云踢.png diff --git a/ResourceFiles/归元·柔道家·男/技能/疾波猛坠.png b/packages/renderer/imagesrc/characters/grappler_male/skill/疾波猛坠.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/疾波猛坠.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/疾波猛坠.png diff --git a/ResourceFiles/归元·柔道家·男/技能/疾风闪电.png b/packages/renderer/imagesrc/characters/grappler_male/skill/疾风闪电.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/疾风闪电.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/疾风闪电.png diff --git a/ResourceFiles/归元·柔道家·男/技能/神怡气静.png b/packages/renderer/imagesrc/characters/grappler_male/skill/神怡气静.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/神怡气静.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/神怡气静.png diff --git a/ResourceFiles/归元·柔道家·男/技能/空绞锤.png b/packages/renderer/imagesrc/characters/grappler_male/skill/空绞锤.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/空绞锤.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/空绞锤.png diff --git a/ResourceFiles/归元·柔道家·男/技能/膝击.png b/packages/renderer/imagesrc/characters/grappler_male/skill/膝击.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/膝击.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/膝击.png diff --git a/ResourceFiles/归元·柔道家·男/技能/臂铠精通.png b/packages/renderer/imagesrc/characters/grappler_male/skill/臂铠精通.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/臂铠精通.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/臂铠精通.png diff --git a/ResourceFiles/归元·柔道家·男/技能/裂石破天.png b/packages/renderer/imagesrc/characters/grappler_male/skill/裂石破天.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/裂石破天.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/裂石破天.png diff --git a/ResourceFiles/归元·柔道家·男/技能/连环抓取.png b/packages/renderer/imagesrc/characters/grappler_male/skill/连环抓取.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/连环抓取.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/连环抓取.png diff --git a/ResourceFiles/归元·柔道家·男/技能/野蛮冲撞.png b/packages/renderer/imagesrc/characters/grappler_male/skill/野蛮冲撞.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/野蛮冲撞.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/野蛮冲撞.png diff --git a/ResourceFiles/归元·柔道家·男/技能/霹雳旋踢.png b/packages/renderer/imagesrc/characters/grappler_male/skill/霹雳旋踢.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/霹雳旋踢.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/霹雳旋踢.png diff --git a/ResourceFiles/归元·柔道家·男/技能/黑震旋风.png b/packages/renderer/imagesrc/characters/grappler_male/skill/黑震旋风.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/黑震旋风.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/黑震旋风.png diff --git a/ResourceFiles/归元·柔道家·男/技能/黑震流·山岳崩颓.png b/packages/renderer/imagesrc/characters/grappler_male/skill/黑震流·山岳崩颓.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/黑震流·山岳崩颓.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/黑震流·山岳崩颓.png diff --git a/ResourceFiles/归元·柔道家·男/技能/黑震流·陨灭.png b/packages/renderer/imagesrc/characters/grappler_male/skill/黑震流·殒灭.png similarity index 100% rename from ResourceFiles/归元·柔道家·男/技能/黑震流·陨灭.png rename to packages/renderer/imagesrc/characters/grappler_male/skill/黑震流·殒灭.png diff --git a/packages/renderer/imagesrc/characters/hitman/material/Adventure_3.png b/packages/renderer/imagesrc/characters/hitman/material/Adventure_3.png new file mode 100644 index 00000000..8535f6f5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Bust.png b/packages/renderer/imagesrc/characters/hitman/material/Bust.png new file mode 100644 index 00000000..af283ccb Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Helper.png b/packages/renderer/imagesrc/characters/hitman/material/Helper.png new file mode 100644 index 00000000..f17bc9d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Large.png b/packages/renderer/imagesrc/characters/hitman/material/Large.png new file mode 100644 index 00000000..6712db33 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Large_2.png b/packages/renderer/imagesrc/characters/hitman/material/Large_2.png new file mode 100644 index 00000000..580d1e42 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Large_3.png b/packages/renderer/imagesrc/characters/hitman/material/Large_3.png new file mode 100644 index 00000000..1f1310c5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Seicing.png b/packages/renderer/imagesrc/characters/hitman/material/Seicing.png new file mode 100644 index 00000000..af1ea47f Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Seicing_2.png b/packages/renderer/imagesrc/characters/hitman/material/Seicing_2.png new file mode 100644 index 00000000..a472607d Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Seicing_3.png b/packages/renderer/imagesrc/characters/hitman/material/Seicing_3.png new file mode 100644 index 00000000..96d3744f Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/material/Thumb.png b/packages/renderer/imagesrc/characters/hitman/material/Thumb.png new file mode 100644 index 00000000..948e8253 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/hitman/profile.png b/packages/renderer/imagesrc/characters/hitman/profile.png new file mode 100644 index 00000000..b4177b99 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hitman/profile.png differ diff --git a/ResourceFiles/苍暮·暗刃/技能/BC精锐特训.png b/packages/renderer/imagesrc/characters/hitman/skill/BC精锐特训.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/BC精锐特训.png rename to packages/renderer/imagesrc/characters/hitman/skill/BC精锐特训.png diff --git a/ResourceFiles/苍暮·暗刃/技能/BG枪刃改造.png b/packages/renderer/imagesrc/characters/hitman/skill/BG枪刃改造.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/BG枪刃改造.png rename to packages/renderer/imagesrc/characters/hitman/skill/BG枪刃改造.png diff --git a/ResourceFiles/苍暮·暗刃/技能/BUFF.png b/packages/renderer/imagesrc/characters/hitman/skill/BUFF.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/BUFF.png rename to packages/renderer/imagesrc/characters/hitman/skill/BUFF.png diff --git a/ResourceFiles/苍暮·暗刃/技能/全方位射击.png b/packages/renderer/imagesrc/characters/hitman/skill/全方位射击.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/全方位射击.png rename to packages/renderer/imagesrc/characters/hitman/skill/全方位射击.png diff --git a/ResourceFiles/苍暮·暗刃/技能/利刃旋斩.png b/packages/renderer/imagesrc/characters/hitman/skill/利刃旋斩.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/利刃旋斩.png rename to packages/renderer/imagesrc/characters/hitman/skill/利刃旋斩.png diff --git a/ResourceFiles/苍暮·暗刃/技能/剑刃突刺.png b/packages/renderer/imagesrc/characters/hitman/skill/剑刃突刺.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/剑刃突刺.png rename to packages/renderer/imagesrc/characters/hitman/skill/剑刃突刺.png diff --git a/ResourceFiles/苍暮·暗刃/技能/回旋飞剑.png b/packages/renderer/imagesrc/characters/hitman/skill/回旋飞剑.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/回旋飞剑.png rename to packages/renderer/imagesrc/characters/hitman/skill/回旋飞剑.png diff --git a/ResourceFiles/苍暮·暗刃/技能/大回旋坠斩.png b/packages/renderer/imagesrc/characters/hitman/skill/大回旋坠斩.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/大回旋坠斩.png rename to packages/renderer/imagesrc/characters/hitman/skill/大回旋坠斩.png diff --git a/ResourceFiles/苍暮·暗刃/技能/捷影步.png b/packages/renderer/imagesrc/characters/hitman/skill/捷影步.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/捷影步.png rename to packages/renderer/imagesrc/characters/hitman/skill/捷影步.png diff --git a/ResourceFiles/苍暮·暗刃/技能/掩护射击.png b/packages/renderer/imagesrc/characters/hitman/skill/掩护射击.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/掩护射击.png rename to packages/renderer/imagesrc/characters/hitman/skill/掩护射击.png diff --git a/ResourceFiles/苍暮·暗刃/技能/暗刃战略.png b/packages/renderer/imagesrc/characters/hitman/skill/暗刃战略.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/暗刃战略.png rename to packages/renderer/imagesrc/characters/hitman/skill/暗刃战略.png diff --git a/ResourceFiles/苍暮·暗刃/技能/暮光密令:黎明决战.png b/packages/renderer/imagesrc/characters/hitman/skill/暮光密令:黎明决战.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/暮光密令:黎明决战.png rename to packages/renderer/imagesrc/characters/hitman/skill/暮光密令:黎明决战.png diff --git a/ResourceFiles/苍暮·暗刃/技能/暮光战略.png b/packages/renderer/imagesrc/characters/hitman/skill/暮光战略.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/暮光战略.png rename to packages/renderer/imagesrc/characters/hitman/skill/暮光战略.png diff --git a/ResourceFiles/苍暮·暗刃/技能/枪刃乱舞.png b/packages/renderer/imagesrc/characters/hitman/skill/枪刃乱舞.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/枪刃乱舞.png rename to packages/renderer/imagesrc/characters/hitman/skill/枪刃乱舞.png diff --git a/ResourceFiles/苍暮·暗刃/技能/游弹枪袭.png b/packages/renderer/imagesrc/characters/hitman/skill/游弹枪袭.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/游弹枪袭.png rename to packages/renderer/imagesrc/characters/hitman/skill/游弹枪袭.png diff --git a/ResourceFiles/苍暮·暗刃/技能/潜行射击.png b/packages/renderer/imagesrc/characters/hitman/skill/潜行射击.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/潜行射击.png rename to packages/renderer/imagesrc/characters/hitman/skill/潜行射击.png diff --git a/ResourceFiles/苍暮·暗刃/技能/燃情协战.png b/packages/renderer/imagesrc/characters/hitman/skill/燃情协战.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/燃情协战.png rename to packages/renderer/imagesrc/characters/hitman/skill/燃情协战.png diff --git a/ResourceFiles/苍暮·暗刃/技能/电光飞掠.png b/packages/renderer/imagesrc/characters/hitman/skill/电光飞掠.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/电光飞掠.png rename to packages/renderer/imagesrc/characters/hitman/skill/电光飞掠.png diff --git a/ResourceFiles/苍暮·暗刃/技能/碧波瞬斩.png b/packages/renderer/imagesrc/characters/hitman/skill/碧波瞬斩.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/碧波瞬斩.png rename to packages/renderer/imagesrc/characters/hitman/skill/碧波瞬斩.png diff --git a/ResourceFiles/苍暮·暗刃/技能/致命焰火.png b/packages/renderer/imagesrc/characters/hitman/skill/致命焰火.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/致命焰火.png rename to packages/renderer/imagesrc/characters/hitman/skill/致命焰火.png diff --git a/ResourceFiles/苍暮·暗刃/技能/血光斩.png b/packages/renderer/imagesrc/characters/hitman/skill/血光斩.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/血光斩.png rename to packages/renderer/imagesrc/characters/hitman/skill/血光斩.png diff --git a/ResourceFiles/苍暮·暗刃/技能/轮盘连射.png b/packages/renderer/imagesrc/characters/hitman/skill/轮盘连射.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/轮盘连射.png rename to packages/renderer/imagesrc/characters/hitman/skill/轮盘连射.png diff --git a/ResourceFiles/苍暮·暗刃/技能/近敌灭杀.png b/packages/renderer/imagesrc/characters/hitman/skill/近敌灭杀.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/近敌灭杀.png rename to packages/renderer/imagesrc/characters/hitman/skill/近敌灭杀.png diff --git a/ResourceFiles/苍暮·暗刃/技能/长刀精通.png b/packages/renderer/imagesrc/characters/hitman/skill/长刀精通.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/长刀精通.png rename to packages/renderer/imagesrc/characters/hitman/skill/长刀精通.png diff --git a/ResourceFiles/苍暮·暗刃/技能/集结·暮光之翼.png b/packages/renderer/imagesrc/characters/hitman/skill/集结·暮光之翼.png similarity index 100% rename from ResourceFiles/苍暮·暗刃/技能/集结·暮光之翼.png rename to packages/renderer/imagesrc/characters/hitman/skill/集结·暮光之翼.png diff --git a/packages/renderer/imagesrc/characters/hunter/material/Adventure_3.png b/packages/renderer/imagesrc/characters/hunter/material/Adventure_3.png new file mode 100644 index 00000000..d4e07643 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Bust.png b/packages/renderer/imagesrc/characters/hunter/material/Bust.png new file mode 100644 index 00000000..7006dc8c Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Helper.png b/packages/renderer/imagesrc/characters/hunter/material/Helper.png new file mode 100644 index 00000000..a8b13434 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Large.png b/packages/renderer/imagesrc/characters/hunter/material/Large.png new file mode 100644 index 00000000..e8bb9753 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Large_2.png b/packages/renderer/imagesrc/characters/hunter/material/Large_2.png new file mode 100644 index 00000000..baada51e Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Large_3.png b/packages/renderer/imagesrc/characters/hunter/material/Large_3.png new file mode 100644 index 00000000..3db43344 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Seicing.png b/packages/renderer/imagesrc/characters/hunter/material/Seicing.png new file mode 100644 index 00000000..f0b77425 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Seicing_2.png b/packages/renderer/imagesrc/characters/hunter/material/Seicing_2.png new file mode 100644 index 00000000..7ae7c56a Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Seicing_3.png b/packages/renderer/imagesrc/characters/hunter/material/Seicing_3.png new file mode 100644 index 00000000..07d459ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/material/Thumb.png b/packages/renderer/imagesrc/characters/hunter/material/Thumb.png new file mode 100644 index 00000000..b181bec7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/profile.png b/packages/renderer/imagesrc/characters/hunter/profile.png new file mode 100644 index 00000000..3b10d1f9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/profile.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/BUFF.png b/packages/renderer/imagesrc/characters/hunter/skill/BUFF.png new file mode 100644 index 00000000..82f9ef0b Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/BUFF.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/三弓床弩.png b/packages/renderer/imagesrc/characters/hunter/skill/三弓床弩.png new file mode 100644 index 00000000..6668f4e8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/三弓床弩.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/二重助推.png b/packages/renderer/imagesrc/characters/hunter/skill/二重助推.png new file mode 100644 index 00000000..41f14c46 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/二重助推.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/光爆箭.png b/packages/renderer/imagesrc/characters/hunter/skill/光爆箭.png new file mode 100644 index 00000000..24cd6599 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/光爆箭.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/助推装置.png b/packages/renderer/imagesrc/characters/hunter/skill/助推装置.png new file mode 100644 index 00000000..7d193047 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/助推装置.png differ diff --git a/ResourceFiles/知源·战斗法师/技能/基础精通.png b/packages/renderer/imagesrc/characters/hunter/skill/基础精通.png similarity index 100% rename from ResourceFiles/知源·战斗法师/技能/基础精通.png rename to packages/renderer/imagesrc/characters/hunter/skill/基础精通.png diff --git a/packages/renderer/imagesrc/characters/hunter/skill/完美瞄准.png b/packages/renderer/imagesrc/characters/hunter/skill/完美瞄准.png new file mode 100644 index 00000000..b246644c Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/完美瞄准.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡锐眼.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡锐眼.png new file mode 100644 index 00000000..9a5367dc Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡锐眼.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:刃羽.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:刃羽.png new file mode 100644 index 00000000..bc4e9b64 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:刃羽.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:困兽之网.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:困兽之网.png new file mode 100644 index 00000000..9bab3f1c Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:困兽之网.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:奇袭.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:奇袭.png new file mode 100644 index 00000000..843580c2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:奇袭.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:翼之刀锋.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:翼之刀锋.png new file mode 100644 index 00000000..b56d9643 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:翼之刀锋.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:迷惑之舞.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:迷惑之舞.png new file mode 100644 index 00000000..edecf9b1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:迷惑之舞.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:追踪型子母弹.png b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:追踪型子母弹.png new file mode 100644 index 00000000..879a3236 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/帕伊卡:追踪型子母弹.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/引爆发射.png b/packages/renderer/imagesrc/characters/hunter/skill/引爆发射.png new file mode 100644 index 00000000..c1019a8e Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/引爆发射.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/强攻弩掌握.png b/packages/renderer/imagesrc/characters/hunter/skill/强攻弩掌握.png new file mode 100644 index 00000000..ef72f20a Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/强攻弩掌握.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/强攻弩精通.png b/packages/renderer/imagesrc/characters/hunter/skill/强攻弩精通.png new file mode 100644 index 00000000..fccc1ea7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/强攻弩精通.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/急速扳机.png b/packages/renderer/imagesrc/characters/hunter/skill/急速扳机.png new file mode 100644 index 00000000..73ba353e Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/急速扳机.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/炽热喷涌.png b/packages/renderer/imagesrc/characters/hunter/skill/炽热喷涌.png new file mode 100644 index 00000000..dff2ef5d Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/炽热喷涌.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/猎物识别.png b/packages/renderer/imagesrc/characters/hunter/skill/猎物识别.png new file mode 100644 index 00000000..cec11563 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/猎物识别.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/箭雨.png b/packages/renderer/imagesrc/characters/hunter/skill/箭雨.png new file mode 100644 index 00000000..8fc3028d Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/箭雨.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/终结穿刺.png b/packages/renderer/imagesrc/characters/hunter/skill/终结穿刺.png new file mode 100644 index 00000000..adcdef10 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/终结穿刺.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/联合作战:围猎.png b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:围猎.png new file mode 100644 index 00000000..15ef04ca Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:围猎.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/联合作战:扭转战局.png b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:扭转战局.png new file mode 100644 index 00000000..618c8d51 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:扭转战局.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/联合作战:最终一役.png b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:最终一役.png new file mode 100644 index 00000000..67c04eb6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:最终一役.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/联合作战:空中轰炸.png b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:空中轰炸.png new file mode 100644 index 00000000..1b210a6e Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/联合作战:空中轰炸.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/装置升级.png b/packages/renderer/imagesrc/characters/hunter/skill/装置升级.png new file mode 100644 index 00000000..480562fc Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/装置升级.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/迅猛速射.png b/packages/renderer/imagesrc/characters/hunter/skill/迅猛速射.png new file mode 100644 index 00000000..cbaf1e7d Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/迅猛速射.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/追猎者勋章.png b/packages/renderer/imagesrc/characters/hunter/skill/追猎者勋章.png new file mode 100644 index 00000000..cfa17e79 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/追猎者勋章.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/重型穿甲箭.png b/packages/renderer/imagesrc/characters/hunter/skill/重型穿甲箭.png new file mode 100644 index 00000000..15661a57 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/重型穿甲箭.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/霰弹之箭.png b/packages/renderer/imagesrc/characters/hunter/skill/霰弹之箭.png new file mode 100644 index 00000000..965dea8d Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/霰弹之箭.png differ diff --git a/packages/renderer/imagesrc/characters/hunter/skill/高压喷射.png b/packages/renderer/imagesrc/characters/hunter/skill/高压喷射.png new file mode 100644 index 00000000..12db23f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/hunter/skill/高压喷射.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Adventure_3.png b/packages/renderer/imagesrc/characters/impaler/material/Adventure_3.png new file mode 100644 index 00000000..ab8273ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Bust.png b/packages/renderer/imagesrc/characters/impaler/material/Bust.png new file mode 100644 index 00000000..b5f7d411 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Helper.png b/packages/renderer/imagesrc/characters/impaler/material/Helper.png new file mode 100644 index 00000000..3f39add1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Large.png b/packages/renderer/imagesrc/characters/impaler/material/Large.png new file mode 100644 index 00000000..05ff3d50 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Large_2.png b/packages/renderer/imagesrc/characters/impaler/material/Large_2.png new file mode 100644 index 00000000..77ccc173 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Large_3.png b/packages/renderer/imagesrc/characters/impaler/material/Large_3.png new file mode 100644 index 00000000..a56bad91 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Seicing.png b/packages/renderer/imagesrc/characters/impaler/material/Seicing.png new file mode 100644 index 00000000..1c820e9e Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Seicing_2.png b/packages/renderer/imagesrc/characters/impaler/material/Seicing_2.png new file mode 100644 index 00000000..dc191a71 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Seicing_3.png b/packages/renderer/imagesrc/characters/impaler/material/Seicing_3.png new file mode 100644 index 00000000..71928dfc Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/material/Thumb.png b/packages/renderer/imagesrc/characters/impaler/material/Thumb.png new file mode 100644 index 00000000..bac6c335 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/impaler/profile.png b/packages/renderer/imagesrc/characters/impaler/profile.png new file mode 100644 index 00000000..1462aea6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/impaler/profile.png differ diff --git a/ResourceFiles/千魂·暗枪士/技能/BUFF.png b/packages/renderer/imagesrc/characters/impaler/skill/BUFF.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/impaler/skill/BUFF.png diff --git a/ResourceFiles/千魂·暗枪士/技能/侵蚀之矛.png b/packages/renderer/imagesrc/characters/impaler/skill/侵蚀之矛.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/侵蚀之矛.png rename to packages/renderer/imagesrc/characters/impaler/skill/侵蚀之矛.png diff --git a/ResourceFiles/千魂·暗枪士/技能/冥夜裂空.png b/packages/renderer/imagesrc/characters/impaler/skill/冥夜裂空.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/冥夜裂空.png rename to packages/renderer/imagesrc/characters/impaler/skill/冥夜裂空.png diff --git a/ResourceFiles/千魂·暗枪士/技能/冥蚀脉冲.png b/packages/renderer/imagesrc/characters/impaler/skill/冥蚀脉冲.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/冥蚀脉冲.png rename to packages/renderer/imagesrc/characters/impaler/skill/冥蚀脉冲.png diff --git a/ResourceFiles/千魂·暗枪士/技能/双重投射.png b/packages/renderer/imagesrc/characters/impaler/skill/双重投射.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/双重投射.png rename to packages/renderer/imagesrc/characters/impaler/skill/双重投射.png diff --git a/ResourceFiles/千魂·暗枪士/技能/坠蚀之雨.png b/packages/renderer/imagesrc/characters/impaler/skill/坠蚀之雨.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/坠蚀之雨.png rename to packages/renderer/imagesrc/characters/impaler/skill/坠蚀之雨.png diff --git a/ResourceFiles/千魂·暗枪士/技能/幽影暗蚀:寂灭.png b/packages/renderer/imagesrc/characters/impaler/skill/幽影暗蚀:寂灭.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/幽影暗蚀:寂灭.png rename to packages/renderer/imagesrc/characters/impaler/skill/幽影暗蚀:寂灭.png diff --git a/ResourceFiles/千魂·暗枪士/技能/无尽侵蚀:缚魂.png b/packages/renderer/imagesrc/characters/impaler/skill/无尽侵蚀:缚魂.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/无尽侵蚀:缚魂.png rename to packages/renderer/imagesrc/characters/impaler/skill/无尽侵蚀:缚魂.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗·渊灭禁绝.png b/packages/renderer/imagesrc/characters/impaler/skill/暗·渊灭禁绝.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗·渊灭禁绝.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗·渊灭禁绝.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗影蚀魂.png b/packages/renderer/imagesrc/characters/impaler/skill/暗影蚀魂.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗影蚀魂.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗影蚀魂.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗枪突破.png b/packages/renderer/imagesrc/characters/impaler/skill/暗枪突破.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗枪突破.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗枪突破.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗源之蚀.png b/packages/renderer/imagesrc/characters/impaler/skill/暗源之蚀.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗源之蚀.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗源之蚀.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗矛投射.png b/packages/renderer/imagesrc/characters/impaler/skill/暗矛投射.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗矛投射.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗矛投射.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗矛精通.png b/packages/renderer/imagesrc/characters/impaler/skill/暗矛精通.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗矛精通.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗矛精通.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗矛贯穿.png b/packages/renderer/imagesrc/characters/impaler/skill/暗矛贯穿.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗矛贯穿.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗矛贯穿.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗蚀.png b/packages/renderer/imagesrc/characters/impaler/skill/暗蚀.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗蚀.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗蚀.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗蚀爆雷杀.png b/packages/renderer/imagesrc/characters/impaler/skill/暗蚀爆雷杀.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗蚀爆雷杀.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗蚀爆雷杀.png diff --git a/ResourceFiles/千魂·暗枪士/技能/暗蚀螺旋枪.png b/packages/renderer/imagesrc/characters/impaler/skill/暗蚀螺旋枪.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/暗蚀螺旋枪.png rename to packages/renderer/imagesrc/characters/impaler/skill/暗蚀螺旋枪.png diff --git a/ResourceFiles/千魂·暗枪士/技能/绝望枪.png b/packages/renderer/imagesrc/characters/impaler/skill/绝望枪.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/绝望枪.png rename to packages/renderer/imagesrc/characters/impaler/skill/绝望枪.png diff --git a/ResourceFiles/千魂·暗枪士/技能/虚空碎灭.png b/packages/renderer/imagesrc/characters/impaler/skill/虚空碎灭.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/虚空碎灭.png rename to packages/renderer/imagesrc/characters/impaler/skill/虚空碎灭.png diff --git a/ResourceFiles/千魂·暗枪士/技能/连锁侵蚀.png b/packages/renderer/imagesrc/characters/impaler/skill/连锁侵蚀.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/连锁侵蚀.png rename to packages/renderer/imagesrc/characters/impaler/skill/连锁侵蚀.png diff --git a/ResourceFiles/千魂·暗枪士/技能/黑暗支配者.png b/packages/renderer/imagesrc/characters/impaler/skill/黑暗支配者.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/黑暗支配者.png rename to packages/renderer/imagesrc/characters/impaler/skill/黑暗支配者.png diff --git a/ResourceFiles/千魂·暗枪士/技能/黑暗本源.png b/packages/renderer/imagesrc/characters/impaler/skill/黑暗本源.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/黑暗本源.png rename to packages/renderer/imagesrc/characters/impaler/skill/黑暗本源.png diff --git a/ResourceFiles/千魂·暗枪士/技能/黑暗枪雨.png b/packages/renderer/imagesrc/characters/impaler/skill/黑暗枪雨.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/黑暗枪雨.png rename to packages/renderer/imagesrc/characters/impaler/skill/黑暗枪雨.png diff --git a/ResourceFiles/千魂·暗枪士/技能/黑蚀葬礼.png b/packages/renderer/imagesrc/characters/impaler/skill/黑蚀葬礼.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/黑蚀葬礼.png rename to packages/renderer/imagesrc/characters/impaler/skill/黑蚀葬礼.png diff --git a/ResourceFiles/千魂·暗枪士/技能/黑蚀酷刑.png b/packages/renderer/imagesrc/characters/impaler/skill/黑蚀酷刑.png similarity index 100% rename from ResourceFiles/千魂·暗枪士/技能/黑蚀酷刑.png rename to packages/renderer/imagesrc/characters/impaler/skill/黑蚀酷刑.png diff --git a/packages/renderer/imagesrc/characters/infighter/material/Adventure_3.png b/packages/renderer/imagesrc/characters/infighter/material/Adventure_3.png new file mode 100644 index 00000000..21873d1b Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Bust.png b/packages/renderer/imagesrc/characters/infighter/material/Bust.png new file mode 100644 index 00000000..509ca7ae Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Helper.png b/packages/renderer/imagesrc/characters/infighter/material/Helper.png new file mode 100644 index 00000000..d7b98d35 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Large.png b/packages/renderer/imagesrc/characters/infighter/material/Large.png new file mode 100644 index 00000000..843cb4c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Large_2.png b/packages/renderer/imagesrc/characters/infighter/material/Large_2.png new file mode 100644 index 00000000..d7fda4c5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Large_3.png b/packages/renderer/imagesrc/characters/infighter/material/Large_3.png new file mode 100644 index 00000000..fe5f849a Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Seicing.png b/packages/renderer/imagesrc/characters/infighter/material/Seicing.png new file mode 100644 index 00000000..92d01b64 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Seicing_2.png b/packages/renderer/imagesrc/characters/infighter/material/Seicing_2.png new file mode 100644 index 00000000..4a6c71bf Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Seicing_3.png b/packages/renderer/imagesrc/characters/infighter/material/Seicing_3.png new file mode 100644 index 00000000..5658a12a Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/material/Thumb.png b/packages/renderer/imagesrc/characters/infighter/material/Thumb.png new file mode 100644 index 00000000..d6723ccb Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/infighter/profile.png b/packages/renderer/imagesrc/characters/infighter/profile.png new file mode 100644 index 00000000..1d652f20 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/profile.png differ diff --git a/ResourceFiles/神启·蓝拳圣使/技能/BUFF.png b/packages/renderer/imagesrc/characters/infighter/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/BUFF.png rename to packages/renderer/imagesrc/characters/infighter/skill/BUFF.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/仲裁怒击.png b/packages/renderer/imagesrc/characters/infighter/skill/仲裁怒击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/仲裁怒击.png rename to packages/renderer/imagesrc/characters/infighter/skill/仲裁怒击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/俯冲直拳.png b/packages/renderer/imagesrc/characters/infighter/skill/俯冲直拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/俯冲直拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/俯冲直拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/俯冲翔拳.png b/packages/renderer/imagesrc/characters/infighter/skill/俯冲翔拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/俯冲翔拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/俯冲翔拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/俯冲腹拳.png b/packages/renderer/imagesrc/characters/infighter/skill/俯冲腹拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/俯冲腹拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/俯冲腹拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/制裁:怒火疾风.png b/packages/renderer/imagesrc/characters/infighter/skill/制裁:怒火疾风.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/制裁:怒火疾风.png rename to packages/renderer/imagesrc/characters/infighter/skill/制裁:怒火疾风.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/刺拳猛击.png b/packages/renderer/imagesrc/characters/infighter/skill/刺拳猛击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/刺拳猛击.png rename to packages/renderer/imagesrc/characters/infighter/skill/刺拳猛击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/圣拳连击.png b/packages/renderer/imagesrc/characters/infighter/skill/圣拳连击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/圣拳连击.png rename to packages/renderer/imagesrc/characters/infighter/skill/圣拳连击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/圣拳锤击.png b/packages/renderer/imagesrc/characters/infighter/skill/圣拳锤击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/圣拳锤击.png rename to packages/renderer/imagesrc/characters/infighter/skill/圣拳锤击.png diff --git a/packages/renderer/imagesrc/characters/infighter/skill/基本攻击.png b/packages/renderer/imagesrc/characters/infighter/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/infighter/skill/基本攻击.png differ diff --git a/ResourceFiles/知源·次元行者/技能/基础精通.png b/packages/renderer/imagesrc/characters/infighter/skill/基础精通.png similarity index 100% rename from ResourceFiles/知源·次元行者/技能/基础精通.png rename to packages/renderer/imagesrc/characters/infighter/skill/基础精通.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/干涸之泉.png b/packages/renderer/imagesrc/characters/infighter/skill/干涸之泉.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/干涸之泉.png rename to packages/renderer/imagesrc/characters/infighter/skill/干涸之泉.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/意念驱动.png b/packages/renderer/imagesrc/characters/infighter/skill/意念驱动.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/意念驱动.png rename to packages/renderer/imagesrc/characters/infighter/skill/意念驱动.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/技巧精通.png b/packages/renderer/imagesrc/characters/infighter/skill/技巧精通.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/技巧精通.png rename to packages/renderer/imagesrc/characters/infighter/skill/技巧精通.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/旋涡重拳.png b/packages/renderer/imagesrc/characters/infighter/skill/旋涡重拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/旋涡重拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/旋涡重拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/极速飓风拳.png b/packages/renderer/imagesrc/characters/infighter/skill/极速飓风拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/极速飓风拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/极速飓风拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/正义惩戒.png b/packages/renderer/imagesrc/characters/infighter/skill/正义惩戒.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/正义惩戒.png rename to packages/renderer/imagesrc/characters/infighter/skill/正义惩戒.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/正义执行:雷米迪奥斯的圣座.PNG b/packages/renderer/imagesrc/characters/infighter/skill/正义执行:雷米迪奥斯的圣座.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/正义执行:雷米迪奥斯的圣座.PNG rename to packages/renderer/imagesrc/characters/infighter/skill/正义执行:雷米迪奥斯的圣座.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/正义铁拳.PNG b/packages/renderer/imagesrc/characters/infighter/skill/正义铁拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/正义铁拳.PNG rename to packages/renderer/imagesrc/characters/infighter/skill/正义铁拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/泯灭神击.png b/packages/renderer/imagesrc/characters/infighter/skill/泯灭神击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/泯灭神击.png rename to packages/renderer/imagesrc/characters/infighter/skill/泯灭神击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/直拳冲击.png b/packages/renderer/imagesrc/characters/infighter/skill/直拳冲击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/直拳冲击.png rename to packages/renderer/imagesrc/characters/infighter/skill/直拳冲击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/瞬拳.png b/packages/renderer/imagesrc/characters/infighter/skill/瞬拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/瞬拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/瞬拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/破坏之拳.png b/packages/renderer/imagesrc/characters/infighter/skill/破坏之拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/破坏之拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/破坏之拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/破碎之拳.png b/packages/renderer/imagesrc/characters/infighter/skill/破碎之拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/破碎之拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/破碎之拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/破碎之锤.png b/packages/renderer/imagesrc/characters/infighter/skill/破碎之锤.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/破碎之锤.png rename to packages/renderer/imagesrc/characters/infighter/skill/破碎之锤.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/神圣反击.png b/packages/renderer/imagesrc/characters/infighter/skill/神圣反击.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/神圣反击.png rename to packages/renderer/imagesrc/characters/infighter/skill/神圣反击.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/神圣组合拳.png b/packages/renderer/imagesrc/characters/infighter/skill/神圣组合拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/神圣组合拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/神圣组合拳.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/绝对正义.PNG b/packages/renderer/imagesrc/characters/infighter/skill/绝对正义.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/绝对正义.PNG rename to packages/renderer/imagesrc/characters/infighter/skill/绝对正义.png diff --git a/ResourceFiles/神启·蓝拳圣使/技能/超重拳.png b/packages/renderer/imagesrc/characters/infighter/skill/超重拳.png similarity index 100% rename from ResourceFiles/神启·蓝拳圣使/技能/超重拳.png rename to packages/renderer/imagesrc/characters/infighter/skill/超重拳.png diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Adventure_3.png b/packages/renderer/imagesrc/characters/inquistor/material/Adventure_3.png new file mode 100644 index 00000000..4bfedf68 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Bust.png b/packages/renderer/imagesrc/characters/inquistor/material/Bust.png new file mode 100644 index 00000000..98860834 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Helper.png b/packages/renderer/imagesrc/characters/inquistor/material/Helper.png new file mode 100644 index 00000000..7676bdaf Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Large.png b/packages/renderer/imagesrc/characters/inquistor/material/Large.png new file mode 100644 index 00000000..d29b71d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Large_2.png b/packages/renderer/imagesrc/characters/inquistor/material/Large_2.png new file mode 100644 index 00000000..2ce5d454 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Large_3.png b/packages/renderer/imagesrc/characters/inquistor/material/Large_3.png new file mode 100644 index 00000000..8778ca3b Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Seicing.png b/packages/renderer/imagesrc/characters/inquistor/material/Seicing.png new file mode 100644 index 00000000..be003eb8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Seicing_2.png b/packages/renderer/imagesrc/characters/inquistor/material/Seicing_2.png new file mode 100644 index 00000000..449616b9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Seicing_3.png b/packages/renderer/imagesrc/characters/inquistor/material/Seicing_3.png new file mode 100644 index 00000000..8c5c6d61 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/material/Thumb.png b/packages/renderer/imagesrc/characters/inquistor/material/Thumb.png new file mode 100644 index 00000000..23bbaac7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/inquistor/profile.png b/packages/renderer/imagesrc/characters/inquistor/profile.png new file mode 100644 index 00000000..cce5e582 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/profile.png differ diff --git a/ResourceFiles/神启·异端审判者/技能/BUFF.png b/packages/renderer/imagesrc/characters/inquistor/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/inquistor/skill/BUFF.png diff --git a/ResourceFiles/神启·异端审判者/技能/净化之焰.png b/packages/renderer/imagesrc/characters/inquistor/skill/净化之焰.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/净化之焰.png rename to packages/renderer/imagesrc/characters/inquistor/skill/净化之焰.png diff --git a/ResourceFiles/神启·异端审判者/技能/净化火焰瓶.png b/packages/renderer/imagesrc/characters/inquistor/skill/净化火焰瓶.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/净化火焰瓶.png rename to packages/renderer/imagesrc/characters/inquistor/skill/净化火焰瓶.png diff --git a/packages/renderer/imagesrc/characters/inquistor/skill/圣焰冲锋.png b/packages/renderer/imagesrc/characters/inquistor/skill/圣焰冲锋.png new file mode 100644 index 00000000..703ef05c Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/skill/圣焰冲锋.png differ diff --git a/ResourceFiles/神启·巫女/技能/基础精通.png b/packages/renderer/imagesrc/characters/inquistor/skill/基础精通.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/基础精通.png rename to packages/renderer/imagesrc/characters/inquistor/skill/基础精通.png diff --git a/ResourceFiles/神启·异端审判者/技能/定罪法则.png b/packages/renderer/imagesrc/characters/inquistor/skill/定罪法则.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/定罪法则.png rename to packages/renderer/imagesrc/characters/inquistor/skill/定罪法则.png diff --git a/ResourceFiles/神启·异端审判者/技能/审判重击.png b/packages/renderer/imagesrc/characters/inquistor/skill/审判重击.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/审判重击.png rename to packages/renderer/imagesrc/characters/inquistor/skill/审判重击.png diff --git a/ResourceFiles/神启·异端审判者/技能/异端烙印.png b/packages/renderer/imagesrc/characters/inquistor/skill/异端烙印.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/异端烙印.png rename to packages/renderer/imagesrc/characters/inquistor/skill/异端烙印.png diff --git a/ResourceFiles/神启·异端审判者/技能/惩戒十字.png b/packages/renderer/imagesrc/characters/inquistor/skill/惩戒十字.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/惩戒十字.png rename to packages/renderer/imagesrc/characters/inquistor/skill/惩戒十字.png diff --git a/ResourceFiles/神启·异端审判者/技能/战斧精通.png b/packages/renderer/imagesrc/characters/inquistor/skill/战斧精通.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/战斧精通.png rename to packages/renderer/imagesrc/characters/inquistor/skill/战斧精通.png diff --git a/ResourceFiles/神启·异端审判者/技能/无间业火:罪灭神威.png b/packages/renderer/imagesrc/characters/inquistor/skill/无间业火:罪灭神威.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/无间业火:罪灭神威.png rename to packages/renderer/imagesrc/characters/inquistor/skill/无间业火:罪灭神威.png diff --git a/ResourceFiles/神启·异端审判者/技能/无间狱·焚罪.png b/packages/renderer/imagesrc/characters/inquistor/skill/无间狱·焚罪.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/无间狱·焚罪.png rename to packages/renderer/imagesrc/characters/inquistor/skill/无间狱·焚罪.png diff --git a/ResourceFiles/神启·异端审判者/技能/火刑.png b/packages/renderer/imagesrc/characters/inquistor/skill/火刑.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/火刑.png rename to packages/renderer/imagesrc/characters/inquistor/skill/火刑.png diff --git a/ResourceFiles/神启·异端审判者/技能/火焰精华.png b/packages/renderer/imagesrc/characters/inquistor/skill/火焰精华.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/火焰精华.png rename to packages/renderer/imagesrc/characters/inquistor/skill/火焰精华.png diff --git a/ResourceFiles/神启·异端审判者/技能/炎狱祭坛:炮烙.png b/packages/renderer/imagesrc/characters/inquistor/skill/炎狱祭坛:炮烙.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/炎狱祭坛:炮烙.png rename to packages/renderer/imagesrc/characters/inquistor/skill/炎狱祭坛:炮烙.png diff --git a/ResourceFiles/神启·异端审判者/技能/狂炎告解.png b/packages/renderer/imagesrc/characters/inquistor/skill/狂炎告解.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/狂炎告解.png rename to packages/renderer/imagesrc/characters/inquistor/skill/狂炎告解.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰怒火.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰怒火.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰怒火.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰怒火.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰恩泽.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰恩泽.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰恩泽.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰恩泽.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰斩.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰斩.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰斩.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰斩.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰洗礼.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰洗礼.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰洗礼.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰洗礼.png diff --git a/ResourceFiles/神启·异端审判者/技能/神焰漩涡.png b/packages/renderer/imagesrc/characters/inquistor/skill/神焰漩涡.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/神焰漩涡.png rename to packages/renderer/imagesrc/characters/inquistor/skill/神焰漩涡.png diff --git a/ResourceFiles/神启·异端审判者/技能/行刑.png b/packages/renderer/imagesrc/characters/inquistor/skill/行刑.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/行刑.png rename to packages/renderer/imagesrc/characters/inquistor/skill/行刑.png diff --git a/ResourceFiles/神启·异端审判者/技能/补赎逆十字.png b/packages/renderer/imagesrc/characters/inquistor/skill/补赎逆十字.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/补赎逆十字.png rename to packages/renderer/imagesrc/characters/inquistor/skill/补赎逆十字.png diff --git a/ResourceFiles/神启·异端审判者/技能/裁决之击.png b/packages/renderer/imagesrc/characters/inquistor/skill/裁决之击.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/裁决之击.png rename to packages/renderer/imagesrc/characters/inquistor/skill/裁决之击.png diff --git a/ResourceFiles/神启·异端审判者/技能/裁决轮回斩.png b/packages/renderer/imagesrc/characters/inquistor/skill/裁决轮回斩.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/裁决轮回斩.png rename to packages/renderer/imagesrc/characters/inquistor/skill/裁决轮回斩.png diff --git a/ResourceFiles/神启·异端审判者/技能/车轮刑.png b/packages/renderer/imagesrc/characters/inquistor/skill/车轮刑.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/车轮刑.png rename to packages/renderer/imagesrc/characters/inquistor/skill/车轮刑.png diff --git a/packages/renderer/imagesrc/characters/inquistor/skill/逆罪灭绝.png b/packages/renderer/imagesrc/characters/inquistor/skill/逆罪灭绝.png new file mode 100644 index 00000000..52e474d4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/inquistor/skill/逆罪灭绝.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Adventure_3.png b/packages/renderer/imagesrc/characters/kunoichi/material/Adventure_3.png new file mode 100644 index 00000000..39ab675d Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Bust.png b/packages/renderer/imagesrc/characters/kunoichi/material/Bust.png new file mode 100644 index 00000000..4db712ab Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Helper.png b/packages/renderer/imagesrc/characters/kunoichi/material/Helper.png new file mode 100644 index 00000000..ae4c1c23 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Large.png b/packages/renderer/imagesrc/characters/kunoichi/material/Large.png new file mode 100644 index 00000000..04383cf4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Large_2.png b/packages/renderer/imagesrc/characters/kunoichi/material/Large_2.png new file mode 100644 index 00000000..5558224e Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Large_3.png b/packages/renderer/imagesrc/characters/kunoichi/material/Large_3.png new file mode 100644 index 00000000..5de06c8b Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Seicing.png b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing.png new file mode 100644 index 00000000..e46b22c9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_2.png b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_2.png new file mode 100644 index 00000000..43cd78a4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_3.png b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_3.png new file mode 100644 index 00000000..e7761efb Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/material/Thumb.png b/packages/renderer/imagesrc/characters/kunoichi/material/Thumb.png new file mode 100644 index 00000000..60c4cf7a Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/kunoichi/profile.png b/packages/renderer/imagesrc/characters/kunoichi/profile.png new file mode 100644 index 00000000..46217215 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/profile.png differ diff --git a/ResourceFiles/隐夜·忍者/技能/Buff.png b/packages/renderer/imagesrc/characters/kunoichi/skill/BUFF.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/Buff.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/BUFF.png diff --git a/ResourceFiles/隐夜·忍者/技能/三元刹.png b/packages/renderer/imagesrc/characters/kunoichi/skill/三元刹.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/三元刹.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/三元刹.png diff --git a/ResourceFiles/隐夜·忍者/技能/八咫镜.png b/packages/renderer/imagesrc/characters/kunoichi/skill/八咫镜.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/八咫镜.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/八咫镜.png diff --git a/ResourceFiles/隐夜·忍者/技能/八尺琼勾玉.png b/packages/renderer/imagesrc/characters/kunoichi/skill/八尺琼勾玉.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/八尺琼勾玉.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/八尺琼勾玉.png diff --git a/ResourceFiles/隐夜·忍者/技能/八岐大蛇.png b/packages/renderer/imagesrc/characters/kunoichi/skill/八岐大蛇.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/八岐大蛇.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/八岐大蛇.png diff --git a/ResourceFiles/隐夜·忍者/技能/勾玉之火·镰鼬.png b/packages/renderer/imagesrc/characters/kunoichi/skill/勾玉之火·镰鼬.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/勾玉之火·镰鼬.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/勾玉之火·镰鼬.png diff --git a/ResourceFiles/神启·异端审判者/技能/基础精通.png b/packages/renderer/imagesrc/characters/kunoichi/skill/基础精通.png similarity index 100% rename from ResourceFiles/神启·异端审判者/技能/基础精通.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/基础精通.png diff --git a/ResourceFiles/隐夜·忍者/技能/天照.png b/packages/renderer/imagesrc/characters/kunoichi/skill/天照.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/天照.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/天照.png diff --git a/ResourceFiles/隐夜·忍者/技能/开二觉平x.png b/packages/renderer/imagesrc/characters/kunoichi/skill/开二觉平x.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/开二觉平x.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/开二觉平x.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍术精通.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍术精通.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍术精通.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍术精通.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍法:六道轮回.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍法:六道轮回.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍法:六道轮回.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍法:六道轮回.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍法:幻影手里剑.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍法:幻影手里剑.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍法:幻影手里剑.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍法:幻影手里剑.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍法:替身术.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍法:替身术.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍法:替身术.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍法:替身术.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍法:残影术.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍法:残影术.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍法:残影术.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍法:残影术.png diff --git a/ResourceFiles/隐夜·忍者/技能/忍法:飞燕手里剑.png b/packages/renderer/imagesrc/characters/kunoichi/skill/忍法:飞燕手里剑.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/忍法:飞燕手里剑.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/忍法:飞燕手里剑.png diff --git a/packages/renderer/imagesrc/characters/kunoichi/skill/投掷苦无.png b/packages/renderer/imagesrc/characters/kunoichi/skill/投掷苦无.png new file mode 100644 index 00000000..0af8f232 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/skill/投掷苦无.png differ diff --git a/ResourceFiles/隐夜·忍者/技能/暗炎残星.png b/packages/renderer/imagesrc/characters/kunoichi/skill/暗炎残星.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/暗炎残星.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/暗炎残星.png diff --git a/ResourceFiles/隐夜·忍者/技能/毕方之印.png b/packages/renderer/imagesrc/characters/kunoichi/skill/毕方之印.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/毕方之印.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/毕方之印.png diff --git a/ResourceFiles/隐夜·忍者/技能/火源限界·八咫乌.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火源限界·八咫乌.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火源限界·八咫乌.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火源限界·八咫乌.png diff --git a/ResourceFiles/隐夜·忍者/技能/火炎灼空:草雉剑.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火炎灼空:草雉剑.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火炎灼空:草雉剑.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火炎灼空:草雉剑.png diff --git a/ResourceFiles/隐夜·忍者/技能/火炎灼空:草雉剑,平x.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火炎灼空:草雉剑,平x.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火炎灼空:草雉剑,平x.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火炎灼空:草雉剑,平x.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·冥炎业火阵.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·冥炎业火阵.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·冥炎业火阵.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·冥炎业火阵.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·炎天道.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·炎天道.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·炎天道.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·炎天道.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·炎舞天璇.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·炎舞天璇.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·炎舞天璇.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·炎舞天璇.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·螺旋手里剑.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·螺旋手里剑.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·螺旋手里剑.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·螺旋手里剑.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·蟾蜍油炎弹.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·蟾蜍油炎弹.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·蟾蜍油炎弹.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·蟾蜍油炎弹.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·豪火球之术.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·豪火球之术.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·豪火球之术.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·豪火球之术.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·风魔手里剑.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·风魔手里剑.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·风魔手里剑.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·风魔手里剑.png diff --git a/ResourceFiles/隐夜·忍者/技能/火遁·飓风煞.png b/packages/renderer/imagesrc/characters/kunoichi/skill/火遁·飓风煞.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/火遁·飓风煞.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/火遁·飓风煞.png diff --git a/ResourceFiles/隐夜·忍者/技能/烈焰印记.png b/packages/renderer/imagesrc/characters/kunoichi/skill/烈焰印记.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/烈焰印记.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/烈焰印记.png diff --git a/packages/renderer/imagesrc/characters/kunoichi/skill/焰刃.png b/packages/renderer/imagesrc/characters/kunoichi/skill/焰刃.png new file mode 100644 index 00000000..3e231965 Binary files /dev/null and b/packages/renderer/imagesrc/characters/kunoichi/skill/焰刃.png differ diff --git a/ResourceFiles/隐夜·忍者/技能/苦无精通.png b/packages/renderer/imagesrc/characters/kunoichi/skill/苦无精通.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/苦无精通.png rename to packages/renderer/imagesrc/characters/kunoichi/skill/苦无精通.png diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/launcher_female/material/Adventure_3.png new file mode 100644 index 00000000..58865057 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Bust.png b/packages/renderer/imagesrc/characters/launcher_female/material/Bust.png new file mode 100644 index 00000000..05b0ccf5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Helper.png b/packages/renderer/imagesrc/characters/launcher_female/material/Helper.png new file mode 100644 index 00000000..bdb5bd8a Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Large.png b/packages/renderer/imagesrc/characters/launcher_female/material/Large.png new file mode 100644 index 00000000..9b515b20 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Large_2.png b/packages/renderer/imagesrc/characters/launcher_female/material/Large_2.png new file mode 100644 index 00000000..324d865f Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Large_3.png b/packages/renderer/imagesrc/characters/launcher_female/material/Large_3.png new file mode 100644 index 00000000..1b74255f Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Seicing.png b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing.png new file mode 100644 index 00000000..03cdd62f Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_2.png new file mode 100644 index 00000000..28ab4201 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_3.png new file mode 100644 index 00000000..b3899297 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/material/Thumb.png b/packages/renderer/imagesrc/characters/launcher_female/material/Thumb.png new file mode 100644 index 00000000..46fb6f54 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_female/profile.png b/packages/renderer/imagesrc/characters/launcher_female/profile.png new file mode 100644 index 00000000..79566bb8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/profile.png differ diff --git a/ResourceFiles/重霄·枪炮师·女/技能/APG63.png b/packages/renderer/imagesrc/characters/launcher_female/skill/APG63.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/APG63.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/APG63.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/launcher_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/BUFF.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/FM31榴弹发射器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/FM31榴弹发射器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/FM31榴弹发射器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/FM31榴弹发射器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/FM92mk2SW榴弹.png b/packages/renderer/imagesrc/characters/launcher_female/skill/FM92mk2SW榴弹.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/FM92mk2SW榴弹.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/FM92mk2SW榴弹.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/FM92mk2榴弹.png b/packages/renderer/imagesrc/characters/launcher_female/skill/FM92mk2榴弹.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/FM92mk2榴弹.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/FM92mk2榴弹.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/FSC7.png b/packages/renderer/imagesrc/characters/launcher_female/skill/FSC7.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/FSC7.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/FSC7.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/M3喷火器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/M3喷火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/M3喷火器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/M3喷火器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/PT15原始型压缩炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/PT15原始型压缩炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/PT15原始型压缩炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/PT15原始型压缩炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/Pandora_01.png b/packages/renderer/imagesrc/characters/launcher_female/skill/Pandora_01.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/Pandora_01.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/Pandora_01.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/UHT-03爆炎喷火器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/UHT-03爆炎喷火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/UHT-03爆炎喷火器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/UHT-03爆炎喷火器.png diff --git a/packages/renderer/imagesrc/characters/launcher_female/skill/X-2太阳神光炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/X-2太阳神光炮.png new file mode 100644 index 00000000..0fe6d122 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_female/skill/X-2太阳神光炮.png differ diff --git a/ResourceFiles/重霄·枪炮师·女/技能/X1压缩量子炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/X1压缩量子炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/X1压缩量子炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/X1压缩量子炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/制胜·最终兵器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/制胜·最终兵器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/制胜·最终兵器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/制胜·最终兵器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/加农炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/加农炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/加农炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/加农炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/反坦克炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/反坦克炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/反坦克炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/反坦克炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/激光炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/激光炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/激光炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/激光炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/火力全开.png b/packages/renderer/imagesrc/characters/launcher_female/skill/火力全开.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/火力全开.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/火力全开.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/等离子放射器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/等离子放射器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/等离子放射器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/等离子放射器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/聚焦喷火器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/聚焦喷火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/聚焦喷火器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/聚焦喷火器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/蓄电激光炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/蓄电激光炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/蓄电激光炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/蓄电激光炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/超温重火器.png b/packages/renderer/imagesrc/characters/launcher_female/skill/超温重火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/超温重火器.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/超温重火器.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/远古粒子炮.png b/packages/renderer/imagesrc/characters/launcher_female/skill/远古粒子炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/远古粒子炮.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/远古粒子炮.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/重武装改造.png b/packages/renderer/imagesrc/characters/launcher_female/skill/重武装改造.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/重武装改造.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/重武装改造.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/重火器精通.png b/packages/renderer/imagesrc/characters/launcher_female/skill/重火器精通.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/重火器精通.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/重火器精通.png diff --git a/ResourceFiles/重霄·枪炮师·女/技能/量子爆弹.png b/packages/renderer/imagesrc/characters/launcher_female/skill/量子爆弹.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·女/技能/量子爆弹.png rename to packages/renderer/imagesrc/characters/launcher_female/skill/量子爆弹.png diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/launcher_male/material/Adventure_3.png new file mode 100644 index 00000000..9124e23b Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Bust.png b/packages/renderer/imagesrc/characters/launcher_male/material/Bust.png new file mode 100644 index 00000000..5d791e5d Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Helper.png b/packages/renderer/imagesrc/characters/launcher_male/material/Helper.png new file mode 100644 index 00000000..6e033dea Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Large.png b/packages/renderer/imagesrc/characters/launcher_male/material/Large.png new file mode 100644 index 00000000..f5ab82ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Large_2.png b/packages/renderer/imagesrc/characters/launcher_male/material/Large_2.png new file mode 100644 index 00000000..e70b6889 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Large_3.png b/packages/renderer/imagesrc/characters/launcher_male/material/Large_3.png new file mode 100644 index 00000000..de302531 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Seicing.png b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing.png new file mode 100644 index 00000000..4f8ab63f Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_2.png new file mode 100644 index 00000000..bc1f2f1d Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_3.png new file mode 100644 index 00000000..8a5172c8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/material/Thumb.png b/packages/renderer/imagesrc/characters/launcher_male/material/Thumb.png new file mode 100644 index 00000000..d3b80801 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/launcher_male/profile.png b/packages/renderer/imagesrc/characters/launcher_male/profile.png new file mode 100644 index 00000000..792edc23 Binary files /dev/null and b/packages/renderer/imagesrc/characters/launcher_male/profile.png differ diff --git a/ResourceFiles/重霄·枪炮师·男/技能/APG63.png b/packages/renderer/imagesrc/characters/launcher_male/skill/APG63.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/APG63.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/APG63.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/launcher_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/BUFF.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/FM31榴弹发射器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/FM31榴弹发射器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/FM31榴弹发射器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/FM31榴弹发射器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/FM92SW刺弹炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/FM92SW刺弹炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/FM92SW刺弹炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/FM92SW刺弹炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/FM92刺弹炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/FM92刺弹炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/FM92刺弹炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/FM92刺弹炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/M137格林机枪.png b/packages/renderer/imagesrc/characters/launcher_male/skill/M137格林机枪.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/M137格林机枪.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/M137格林机枪.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/M3喷火器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/M3喷火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/M3喷火器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/M3喷火器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/MLDRS95发射器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/MLDRS95发射器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/MLDRS95发射器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/MLDRS95发射器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/MSC7.png b/packages/renderer/imagesrc/characters/launcher_male/skill/MSC7.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/MSC7.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/MSC7.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/X1压缩量子炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/X1压缩量子炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/X1压缩量子炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/X1压缩量子炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/加农炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/加农炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/加农炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/加农炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/卫星定位.png b/packages/renderer/imagesrc/characters/launcher_male/skill/卫星定位.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/卫星定位.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/卫星定位.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/卫星射线.png b/packages/renderer/imagesrc/characters/launcher_male/skill/卫星射线.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/卫星射线.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/卫星射线.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/反坦克炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/反坦克炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/反坦克炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/反坦克炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/地脉震荡器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/地脉震荡器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/地脉震荡器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/地脉震荡器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/毁灭射线.png b/packages/renderer/imagesrc/characters/launcher_male/skill/毁灭射线.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/毁灭射线.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/毁灭射线.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/激光炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/激光炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/激光炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/激光炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/等离子放射器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/等离子放射器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/等离子放射器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/等离子放射器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/聚焦喷火器.png b/packages/renderer/imagesrc/characters/launcher_male/skill/聚焦喷火器.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/聚焦喷火器.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/聚焦喷火器.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/蓄电激光炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/蓄电激光炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/蓄电激光炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/蓄电激光炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/裂核轨道炮.png b/packages/renderer/imagesrc/characters/launcher_male/skill/裂核轨道炮.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/裂核轨道炮.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/裂核轨道炮.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/超动力补给包.png b/packages/renderer/imagesrc/characters/launcher_male/skill/超动力补给包.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/超动力补给包.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/超动力补给包.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/连锁卫星.png b/packages/renderer/imagesrc/characters/launcher_male/skill/连锁卫星.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/连锁卫星.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/连锁卫星.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/重火器改良.png b/packages/renderer/imagesrc/characters/launcher_male/skill/重火器改良.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/重火器改良.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/重火器改良.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/重火器精通.png b/packages/renderer/imagesrc/characters/launcher_male/skill/重火器精通.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/重火器精通.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/重火器精通.png diff --git a/ResourceFiles/重霄·枪炮师·男/技能/量子爆弹.png b/packages/renderer/imagesrc/characters/launcher_male/skill/量子爆弹.png similarity index 100% rename from ResourceFiles/重霄·枪炮师·男/技能/量子爆弹.png rename to packages/renderer/imagesrc/characters/launcher_male/skill/量子爆弹.png diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Adventure_3.png new file mode 100644 index 00000000..1099539d Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Bust.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Bust.png new file mode 100644 index 00000000..b925e344 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Helper.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Helper.png new file mode 100644 index 00000000..d80e1867 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Large.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Large.png new file mode 100644 index 00000000..5f086eff Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Large_2.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Large_2.png new file mode 100644 index 00000000..5521cf3e Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Large_3.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Large_3.png new file mode 100644 index 00000000..fde10187 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing.png new file mode 100644 index 00000000..f4b786b0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_2.png new file mode 100644 index 00000000..d7ebeb0f Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_3.png new file mode 100644 index 00000000..4e5eaabb Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/material/Thumb.png b/packages/renderer/imagesrc/characters/mechanic_female/material/Thumb.png new file mode 100644 index 00000000..2acf7918 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_female/profile.png b/packages/renderer/imagesrc/characters/mechanic_female/profile.png new file mode 100644 index 00000000..74b11384 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/profile.png differ diff --git a/ResourceFiles/重霄·机械师·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/BUFF.png diff --git a/ResourceFiles/重霄·机械师·女/技能/Ez-8自爆者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/Ez-8自爆者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/Ez-8自爆者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/Ez-8自爆者.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G-X 星尘天穹.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G-X星尘天穹.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G-X 星尘天穹.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G-X星尘天穹.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G0战争领主.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G0战争领主.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G0战争领主.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G0战争领主.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G1磁力弹.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G1磁力弹.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G1磁力弹.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G1磁力弹.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G1科罗纳.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G1科罗纳.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G1科罗纳.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G1科罗纳.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G2旋雷者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G2旋雷者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G2旋雷者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G2旋雷者.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G3捕食者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G3捕食者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G3捕食者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G3捕食者.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G4雷行者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G4雷行者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G4雷行者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G4雷行者.png diff --git a/packages/renderer/imagesrc/characters/mechanic_female/skill/GSP猎鹰.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/GSP猎鹰.png new file mode 100644 index 00000000..6e04c802 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/skill/GSP猎鹰.png differ diff --git a/ResourceFiles/重霄·机械师·女/技能/GX主宰者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/GX主宰者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/GX主宰者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/GX主宰者.png diff --git a/ResourceFiles/重霄·机械师·女/技能/G系扩张.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/G系扩张.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/G系扩张.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/G系扩张.png diff --git a/ResourceFiles/重霄·机械师·女/技能/HS12等离子体发生器.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/HS12等离子体发生器.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/HS12等离子体发生器.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/HS12等离子体发生器.png diff --git a/ResourceFiles/重霄·机械师·女/技能/RX-78追击者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/RX-78追击者.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/RX-78追击者.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/RX-78追击者.png diff --git a/ResourceFiles/重霄·机械师·女/技能/光反应能量模块.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/光反应能量模块.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/光反应能量模块.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/光反应能量模块.png diff --git a/packages/renderer/imagesrc/characters/mechanic_female/skill/危机追击者.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/危机追击者.png new file mode 100644 index 00000000..ab5f052d Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_female/skill/危机追击者.png differ diff --git a/ResourceFiles/神启·驱魔师/技能/基础精通.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/基础精通.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/基础精通.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/基础精通.png diff --git a/ResourceFiles/重霄·机械师·女/技能/微型制导.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/微型制导.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/微型制导.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/微型制导.png diff --git a/ResourceFiles/重霄·机械师·女/技能/拦截机工厂.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/拦截机工厂.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/拦截机工厂.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/拦截机工厂.png diff --git a/ResourceFiles/重霄·机械师·女/技能/机械原理.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/机械原理.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/机械原理.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/机械原理.png diff --git a/ResourceFiles/重霄·机械师·女/技能/机械引爆.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/机械引爆.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/机械引爆.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/机械引爆.png diff --git a/ResourceFiles/重霄·机械师·女/技能/毒蛇炮.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/毒蛇炮.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/毒蛇炮.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/毒蛇炮.png diff --git a/ResourceFiles/重霄·机械师·女/技能/电能转换.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/电能转换.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/电能转换.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/电能转换.png diff --git a/ResourceFiles/重霄·机械师·女/技能/空中射击.PNG b/packages/renderer/imagesrc/characters/mechanic_female/skill/空中射击.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/空中射击.PNG rename to packages/renderer/imagesrc/characters/mechanic_female/skill/空中射击.png diff --git a/ResourceFiles/重霄·机械师·女/技能/空战机械:狂风.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/空战机械:狂风.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/空战机械:狂风.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/空战机械:狂风.png diff --git a/ResourceFiles/重霄·机械师·女/技能/空投支援.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/空投支援.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/空投支援.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/空投支援.png diff --git a/ResourceFiles/重霄·机械师·女/技能/终结者:博尔特MX.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/终结者:博尔特MX.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/终结者:博尔特MX.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/终结者:博尔特MX.png diff --git a/ResourceFiles/重霄·机械师·女/技能/自爆狂风.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/自爆狂风.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/自爆狂风.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/自爆狂风.png diff --git a/ResourceFiles/重霄·机械师·女/技能/超时空光耀加农炮.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/超时空光耀加农炮.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/超时空光耀加农炮.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/超时空光耀加农炮.png diff --git a/ResourceFiles/重霄·机械师·女/技能/高压电磁场.png b/packages/renderer/imagesrc/characters/mechanic_female/skill/高压电磁场.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/高压电磁场.png rename to packages/renderer/imagesrc/characters/mechanic_female/skill/高压电磁场.png diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Adventure_3.png new file mode 100644 index 00000000..e574bdcd Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Bust.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Bust.png new file mode 100644 index 00000000..431f39d0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Helper.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Helper.png new file mode 100644 index 00000000..db0c58c4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Large.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Large.png new file mode 100644 index 00000000..4ccaf353 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Large_2.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Large_2.png new file mode 100644 index 00000000..42903161 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Large_3.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Large_3.png new file mode 100644 index 00000000..0a33193b Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing.png new file mode 100644 index 00000000..3d410a83 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_2.png new file mode 100644 index 00000000..a276f05a Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_3.png new file mode 100644 index 00000000..0e0cfbd5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/material/Thumb.png b/packages/renderer/imagesrc/characters/mechanic_male/material/Thumb.png new file mode 100644 index 00000000..125c3c4d Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/mechanic_male/profile.png b/packages/renderer/imagesrc/characters/mechanic_male/profile.png new file mode 100644 index 00000000..26794510 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/profile.png differ diff --git a/ResourceFiles/重霄·机械师·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/BUFF.png diff --git a/ResourceFiles/重霄·机械师·男/技能/EXSZero毒蛇炮.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/EXSZero毒蛇炮.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/EXSZero毒蛇炮.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/EXSZero毒蛇炮.png diff --git a/ResourceFiles/重霄·机械师·男/技能/EZ10反击者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/EZ10反击者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/EZ10反击者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/EZ10反击者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/Ez8自爆者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/Ez8自爆者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/Ez8自爆者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/Ez8自爆者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/G1科罗纳.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/G1科罗纳.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/G1科罗纳.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/G1科罗纳.png diff --git a/ResourceFiles/重霄·机械师·男/技能/G2旋雷者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/G2旋雷者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/G2旋雷者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/G2旋雷者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/G3捕食者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/G3捕食者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/G3捕食者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/G3捕食者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/GW16-瓦尔德斯坦.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/GW16-瓦尔德斯坦.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/GW16-瓦尔德斯坦.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/GW16-瓦尔德斯坦.png diff --git a/ResourceFiles/重霄·机械师·男/技能/HS1全息机械猎手.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/HS1全息机械猎手.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/HS1全息机械猎手.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/HS1全息机械猎手.png diff --git a/ResourceFiles/重霄·机械师·男/技能/HS1机械助手.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/HS1机械助手.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/HS1机械助手.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/HS1机械助手.png diff --git a/ResourceFiles/重霄·机械师·男/技能/RX60陷阱追击者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/RX60陷阱追击者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/RX60陷阱追击者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/RX60陷阱追击者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/RX78追击者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/RX78追击者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/RX78追击者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/RX78追击者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/SOPHIA.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/SOPHIA.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/SOPHIA.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/SOPHIA.png diff --git a/ResourceFiles/重霄·机械师·男/技能/TN80终结者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/TN80终结者.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/TN80终结者.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/TN80终结者.png diff --git a/ResourceFiles/重霄·机械师·男/技能/TX-45特攻队.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/TX-45特攻队.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/TX-45特攻队.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/TX-45特攻队.png diff --git a/ResourceFiles/重霄·机械师·男/技能/光反应能量模块.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/光反应能量模块.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/光反应能量模块.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/光反应能量模块.png diff --git a/packages/renderer/imagesrc/characters/mechanic_male/skill/嗜战追击者.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/嗜战追击者.png new file mode 100644 index 00000000..ab5f052d Binary files /dev/null and b/packages/renderer/imagesrc/characters/mechanic_male/skill/嗜战追击者.png differ diff --git a/ResourceFiles/重霄·机械师·男/技能/护石风暴.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/护石风暴.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/护石风暴.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/护石风暴.png diff --git a/ResourceFiles/重霄·机械师·男/技能/拦截机工厂.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/拦截机工厂.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/拦截机工厂.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/拦截机工厂.png diff --git a/ResourceFiles/重霄·机械师·男/技能/斗志之歌.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/斗志之歌.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/斗志之歌.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/斗志之歌.png diff --git a/ResourceFiles/重霄·机械师·男/技能/方舟反应堆.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/方舟反应堆.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/方舟反应堆.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/方舟反应堆.png diff --git a/ResourceFiles/重霄·机械师·男/技能/机械引爆.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/机械引爆.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/机械引爆.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/机械引爆.png diff --git a/ResourceFiles/重霄·机械师·男/技能/机械概论.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/机械概论.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/机械概论.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/机械概论.png diff --git a/ResourceFiles/重霄·机械师·男/技能/毒蛇炮.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/毒蛇炮.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/毒蛇炮.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/毒蛇炮.png diff --git a/ResourceFiles/重霄·机械师·男/技能/盖波加之拳.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/盖波加之拳.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/盖波加之拳.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/盖波加之拳.png diff --git a/ResourceFiles/重霄·机械师·男/技能/空战机械:风暴.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/空战机械:风暴.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/空战机械:风暴.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/空战机械:风暴.png diff --git a/ResourceFiles/重霄·机械师·男/技能/空投支援.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/空投支援.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/空投支援.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/空投支援.png diff --git a/ResourceFiles/重霄·机械师·男/技能/超时空行军.png b/packages/renderer/imagesrc/characters/mechanic_male/skill/超时空行军.png similarity index 100% rename from ResourceFiles/重霄·机械师·男/技能/超时空行军.png rename to packages/renderer/imagesrc/characters/mechanic_male/skill/超时空行军.png diff --git a/packages/renderer/imagesrc/characters/mistress/material/Adventure_3.png b/packages/renderer/imagesrc/characters/mistress/material/Adventure_3.png new file mode 100644 index 00000000..15938e79 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Bust.png b/packages/renderer/imagesrc/characters/mistress/material/Bust.png new file mode 100644 index 00000000..1229925e Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Helper.png b/packages/renderer/imagesrc/characters/mistress/material/Helper.png new file mode 100644 index 00000000..89db7f36 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Large.png b/packages/renderer/imagesrc/characters/mistress/material/Large.png new file mode 100644 index 00000000..aa6ab8a0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Large_2.png b/packages/renderer/imagesrc/characters/mistress/material/Large_2.png new file mode 100644 index 00000000..1bcc5cfe Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Large_3.png b/packages/renderer/imagesrc/characters/mistress/material/Large_3.png new file mode 100644 index 00000000..6960a07a Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Seicing.png b/packages/renderer/imagesrc/characters/mistress/material/Seicing.png new file mode 100644 index 00000000..fdbc47ef Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Seicing_2.png b/packages/renderer/imagesrc/characters/mistress/material/Seicing_2.png new file mode 100644 index 00000000..9053dc95 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Seicing_3.png b/packages/renderer/imagesrc/characters/mistress/material/Seicing_3.png new file mode 100644 index 00000000..40f19ada Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/material/Thumb.png b/packages/renderer/imagesrc/characters/mistress/material/Thumb.png new file mode 100644 index 00000000..222de9e3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/mistress/profile.png b/packages/renderer/imagesrc/characters/mistress/profile.png new file mode 100644 index 00000000..e9be8407 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/profile.png differ diff --git a/ResourceFiles/神启·诱魔者/技能/Buff.png b/packages/renderer/imagesrc/characters/mistress/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/Buff.png rename to packages/renderer/imagesrc/characters/mistress/skill/BUFF.png diff --git a/packages/renderer/imagesrc/characters/mistress/skill/七宗罪.png b/packages/renderer/imagesrc/characters/mistress/skill/七宗罪.png new file mode 100644 index 00000000..314426b0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/mistress/skill/七宗罪.png differ diff --git a/ResourceFiles/神启·诱魔者/技能/傲慢之堕.png b/packages/renderer/imagesrc/characters/mistress/skill/傲慢之堕.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/傲慢之堕.png rename to packages/renderer/imagesrc/characters/mistress/skill/傲慢之堕.png diff --git a/ResourceFiles/神启·诱魔者/技能/净化之花.png b/packages/renderer/imagesrc/characters/mistress/skill/净化之花.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/净化之花.png rename to packages/renderer/imagesrc/characters/mistress/skill/净化之花.png diff --git a/ResourceFiles/神启·诱魔者/技能/原罪之初.png b/packages/renderer/imagesrc/characters/mistress/skill/原罪之初.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/原罪之初.png rename to packages/renderer/imagesrc/characters/mistress/skill/原罪之初.png diff --git a/ResourceFiles/神启·诱魔者/技能/原罪之翼·永息.png b/packages/renderer/imagesrc/characters/mistress/skill/原罪之翼·永息.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/原罪之翼·永息.png rename to packages/renderer/imagesrc/characters/mistress/skill/原罪之翼·永息.png diff --git a/ResourceFiles/神启·诱魔者/技能/原罪释放:净化.png b/packages/renderer/imagesrc/characters/mistress/skill/原罪释放:净化.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/原罪释放:净化.png rename to packages/renderer/imagesrc/characters/mistress/skill/原罪释放:净化.png diff --git a/ResourceFiles/神启·诱魔者/技能/双重切割.png b/packages/renderer/imagesrc/characters/mistress/skill/双重切割.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/双重切割.png rename to packages/renderer/imagesrc/characters/mistress/skill/双重切割.png diff --git a/ResourceFiles/神启·诱魔者/技能/失乐园.png b/packages/renderer/imagesrc/characters/mistress/skill/失乐园.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/失乐园.png rename to packages/renderer/imagesrc/characters/mistress/skill/失乐园.png diff --git a/ResourceFiles/神启·诱魔者/技能/嫉妒之吻.png b/packages/renderer/imagesrc/characters/mistress/skill/嫉妒之吻.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/嫉妒之吻.png rename to packages/renderer/imagesrc/characters/mistress/skill/嫉妒之吻.png diff --git a/ResourceFiles/神启·诱魔者/技能/屠戮回旋斩.png b/packages/renderer/imagesrc/characters/mistress/skill/屠戮回旋斩.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/屠戮回旋斩.png rename to packages/renderer/imagesrc/characters/mistress/skill/屠戮回旋斩.png diff --git a/ResourceFiles/神启·诱魔者/技能/怠惰之息.png b/packages/renderer/imagesrc/characters/mistress/skill/怠惰之息.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/怠惰之息.png rename to packages/renderer/imagesrc/characters/mistress/skill/怠惰之息.png diff --git a/ResourceFiles/神启·诱魔者/技能/愤怒之袭.png b/packages/renderer/imagesrc/characters/mistress/skill/愤怒之袭.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/愤怒之袭.png rename to packages/renderer/imagesrc/characters/mistress/skill/愤怒之袭.png diff --git a/ResourceFiles/神启·诱魔者/技能/断头台.png b/packages/renderer/imagesrc/characters/mistress/skill/断头台.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/断头台.png rename to packages/renderer/imagesrc/characters/mistress/skill/断头台.png diff --git a/ResourceFiles/神启·诱魔者/技能/智慧起源:原罪结晶.png b/packages/renderer/imagesrc/characters/mistress/skill/智慧起源:原罪结晶.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/智慧起源:原罪结晶.png rename to packages/renderer/imagesrc/characters/mistress/skill/智慧起源:原罪结晶.png diff --git a/ResourceFiles/神启·诱魔者/技能/暴食之噬.png b/packages/renderer/imagesrc/characters/mistress/skill/暴食之噬.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/暴食之噬.png rename to packages/renderer/imagesrc/characters/mistress/skill/暴食之噬.png diff --git a/ResourceFiles/神启·诱魔者/技能/杀戮战镰.png b/packages/renderer/imagesrc/characters/mistress/skill/杀戮战镰.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/杀戮战镰.png rename to packages/renderer/imagesrc/characters/mistress/skill/杀戮战镰.png diff --git a/ResourceFiles/神启·诱魔者/技能/欲望之手.png b/packages/renderer/imagesrc/characters/mistress/skill/欲望之手.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/欲望之手.png rename to packages/renderer/imagesrc/characters/mistress/skill/欲望之手.png diff --git a/ResourceFiles/神启·诱魔者/技能/灵魂烙印:原罪冲击.png b/packages/renderer/imagesrc/characters/mistress/skill/灵魂烙印:原罪冲击.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/灵魂烙印:原罪冲击.png rename to packages/renderer/imagesrc/characters/mistress/skill/灵魂烙印:原罪冲击.png diff --git a/ResourceFiles/神启·巫女/技能/罪业加身.png b/packages/renderer/imagesrc/characters/mistress/skill/罪业加身.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/罪业加身.png rename to packages/renderer/imagesrc/characters/mistress/skill/罪业加身.png diff --git a/ResourceFiles/神启·诱魔者/技能/罪业宣告.png b/packages/renderer/imagesrc/characters/mistress/skill/罪业宣告.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/罪业宣告.png rename to packages/renderer/imagesrc/characters/mistress/skill/罪业宣告.png diff --git a/ResourceFiles/神启·诱魔者/技能/罪业诱惑.png b/packages/renderer/imagesrc/characters/mistress/skill/罪业诱惑.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/罪业诱惑.png rename to packages/renderer/imagesrc/characters/mistress/skill/罪业诱惑.png diff --git a/ResourceFiles/神启·诱魔者/技能/肋骨重塑:原罪战矛.png b/packages/renderer/imagesrc/characters/mistress/skill/肋骨重塑:原罪战矛.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/肋骨重塑:原罪战矛.png rename to packages/renderer/imagesrc/characters/mistress/skill/肋骨重塑:原罪战矛.png diff --git a/ResourceFiles/神启·诱魔者/技能/至高之刑.png b/packages/renderer/imagesrc/characters/mistress/skill/至高之刑.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/至高之刑.png rename to packages/renderer/imagesrc/characters/mistress/skill/至高之刑.png diff --git a/ResourceFiles/神启·诱魔者/技能/诱魔之手.png b/packages/renderer/imagesrc/characters/mistress/skill/诱魔之手.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/诱魔之手.png rename to packages/renderer/imagesrc/characters/mistress/skill/诱魔之手.png diff --git a/ResourceFiles/神启·诱魔者/技能/负罪者镰刀精通.png b/packages/renderer/imagesrc/characters/mistress/skill/负罪者镰刀精通.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/负罪者镰刀精通.png rename to packages/renderer/imagesrc/characters/mistress/skill/负罪者镰刀精通.png diff --git a/ResourceFiles/神启·诱魔者/技能/贪婪之刺.png b/packages/renderer/imagesrc/characters/mistress/skill/贪婪之刺.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/贪婪之刺.png rename to packages/renderer/imagesrc/characters/mistress/skill/贪婪之刺.png diff --git a/packages/renderer/imagesrc/characters/muse/material/Adventure_3.png b/packages/renderer/imagesrc/characters/muse/material/Adventure_3.png new file mode 100644 index 00000000..10121310 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Bust.png b/packages/renderer/imagesrc/characters/muse/material/Bust.png new file mode 100644 index 00000000..48756014 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Helper.png b/packages/renderer/imagesrc/characters/muse/material/Helper.png new file mode 100644 index 00000000..38c939a7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Large.png b/packages/renderer/imagesrc/characters/muse/material/Large.png new file mode 100644 index 00000000..dc7facb5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Large_2.png b/packages/renderer/imagesrc/characters/muse/material/Large_2.png new file mode 100644 index 00000000..a4f8be1e Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Large_3.png b/packages/renderer/imagesrc/characters/muse/material/Large_3.png new file mode 100644 index 00000000..f01d7aa7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Seicing.png b/packages/renderer/imagesrc/characters/muse/material/Seicing.png new file mode 100644 index 00000000..812e27f3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Seicing_2.png b/packages/renderer/imagesrc/characters/muse/material/Seicing_2.png new file mode 100644 index 00000000..9161206d Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Seicing_3.png b/packages/renderer/imagesrc/characters/muse/material/Seicing_3.png new file mode 100644 index 00000000..bbf7d377 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/muse/material/Thumb.png b/packages/renderer/imagesrc/characters/muse/material/Thumb.png new file mode 100644 index 00000000..87f7af89 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/muse/profile.png b/packages/renderer/imagesrc/characters/muse/profile.png new file mode 100644 index 00000000..8fdf7ea1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/profile.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/主角登场.png b/packages/renderer/imagesrc/characters/muse/skill/主角登场.png new file mode 100644 index 00000000..a17b1f89 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/主角登场.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/乐章再现.png b/packages/renderer/imagesrc/characters/muse/skill/乐章再现.png new file mode 100644 index 00000000..04152112 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/乐章再现.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/可爱节拍.png b/packages/renderer/imagesrc/characters/muse/skill/可爱节拍.png new file mode 100644 index 00000000..6d9c0bd5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/可爱节拍.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/和茉霓之歌.png b/packages/renderer/imagesrc/characters/muse/skill/和茉霓之歌.png new file mode 100644 index 00000000..f2671cd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/和茉霓之歌.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/多彩感性.png b/packages/renderer/imagesrc/characters/muse/skill/多彩感性.png new file mode 100644 index 00000000..eb09adaa Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/多彩感性.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/夜与梦.png b/packages/renderer/imagesrc/characters/muse/skill/夜与梦.png new file mode 100644 index 00000000..f7880d50 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/夜与梦.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/崭新曲风.png b/packages/renderer/imagesrc/characters/muse/skill/崭新曲风.png new file mode 100644 index 00000000..a7cbf2cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/崭新曲风.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/巨星登场.png b/packages/renderer/imagesrc/characters/muse/skill/巨星登场.png new file mode 100644 index 00000000..04392534 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/巨星登场.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/开场:唯我璀璨.png b/packages/renderer/imagesrc/characters/muse/skill/开场:唯我璀璨.png new file mode 100644 index 00000000..4c3d4614 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/开场:唯我璀璨.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/明星气场.png b/packages/renderer/imagesrc/characters/muse/skill/明星气场.png new file mode 100644 index 00000000..9fa252e9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/明星气场.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/梦想的舞台.png b/packages/renderer/imagesrc/characters/muse/skill/梦想的舞台.png new file mode 100644 index 00000000..53115528 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/梦想的舞台.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/燃情狂想曲.png b/packages/renderer/imagesrc/characters/muse/skill/燃情狂想曲.png new file mode 100644 index 00000000..30066571 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/燃情狂想曲.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/终曲:霓虹蝶梦.png b/packages/renderer/imagesrc/characters/muse/skill/终曲:霓虹蝶梦.png new file mode 100644 index 00000000..dc5dea84 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/终曲:霓虹蝶梦.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/缪斯之声.png b/packages/renderer/imagesrc/characters/muse/skill/缪斯之声.png new file mode 100644 index 00000000..1860bc30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/缪斯之声.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/调音放送.png b/packages/renderer/imagesrc/characters/muse/skill/调音放送.png new file mode 100644 index 00000000..03e9d9cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/调音放送.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/辉光变奏.png b/packages/renderer/imagesrc/characters/muse/skill/辉光变奏.png new file mode 100644 index 00000000..0e5aa2d3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/辉光变奏.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/闪耀旋律.png b/packages/renderer/imagesrc/characters/muse/skill/闪耀旋律.png new file mode 100644 index 00000000..872ff7e5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/闪耀旋律.png differ diff --git a/packages/renderer/imagesrc/characters/muse/skill/音力增强.png b/packages/renderer/imagesrc/characters/muse/skill/音力增强.png new file mode 100644 index 00000000..b9cb640b Binary files /dev/null and b/packages/renderer/imagesrc/characters/muse/skill/音力增强.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Adventure_3.png b/packages/renderer/imagesrc/characters/necro/material/Adventure_3.png new file mode 100644 index 00000000..2772618e Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Bust.png b/packages/renderer/imagesrc/characters/necro/material/Bust.png new file mode 100644 index 00000000..4eeb6d53 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Helper.png b/packages/renderer/imagesrc/characters/necro/material/Helper.png new file mode 100644 index 00000000..abf96a7b Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Large.png b/packages/renderer/imagesrc/characters/necro/material/Large.png new file mode 100644 index 00000000..4be6b5ad Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Large_2.png b/packages/renderer/imagesrc/characters/necro/material/Large_2.png new file mode 100644 index 00000000..93a50484 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Large_3.png b/packages/renderer/imagesrc/characters/necro/material/Large_3.png new file mode 100644 index 00000000..0c1e52b4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Seicing.png b/packages/renderer/imagesrc/characters/necro/material/Seicing.png new file mode 100644 index 00000000..baf59531 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Seicing_2.png b/packages/renderer/imagesrc/characters/necro/material/Seicing_2.png new file mode 100644 index 00000000..2d5ec036 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Seicing_3.png b/packages/renderer/imagesrc/characters/necro/material/Seicing_3.png new file mode 100644 index 00000000..16c3cb21 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/necro/material/Thumb.png b/packages/renderer/imagesrc/characters/necro/material/Thumb.png new file mode 100644 index 00000000..59fcfe19 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/necro/profile.png b/packages/renderer/imagesrc/characters/necro/profile.png new file mode 100644 index 00000000..556291c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/profile.png differ diff --git a/ResourceFiles/隐夜·死灵术士/技能/BUFF.png b/packages/renderer/imagesrc/characters/necro/skill/BUFF.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/necro/skill/BUFF.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/亡者之茧.png b/packages/renderer/imagesrc/characters/necro/skill/亡者之茧.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/亡者之茧.png rename to packages/renderer/imagesrc/characters/necro/skill/亡者之茧.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/亡者君临:巴拉克之戮.png b/packages/renderer/imagesrc/characters/necro/skill/亡者君临:巴拉克之戮.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/亡者君临:巴拉克之戮.png rename to packages/renderer/imagesrc/characters/necro/skill/亡者君临:巴拉克之戮.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/亡魂之息.png b/packages/renderer/imagesrc/characters/necro/skill/亡魂之息.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/亡魂之息.png rename to packages/renderer/imagesrc/characters/necro/skill/亡魂之息.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/冥河之钥.png b/packages/renderer/imagesrc/characters/necro/skill/冥河之钥.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/冥河之钥.png rename to packages/renderer/imagesrc/characters/necro/skill/冥河之钥.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/千魂祭.png b/packages/renderer/imagesrc/characters/necro/skill/千魂祭.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/千魂祭.png rename to packages/renderer/imagesrc/characters/necro/skill/千魂祭.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/吸魂暗劲波.png b/packages/renderer/imagesrc/characters/necro/skill/吸魂暗劲波.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/吸魂暗劲波.png rename to packages/renderer/imagesrc/characters/necro/skill/吸魂暗劲波.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/命运殇痕·摩罗斯之咒.png b/packages/renderer/imagesrc/characters/necro/skill/命运殇痕·摩罗斯之咒.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/命运殇痕·摩罗斯之咒.png rename to packages/renderer/imagesrc/characters/necro/skill/命运殇痕·摩罗斯之咒.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/屠戮之惧.png b/packages/renderer/imagesrc/characters/necro/skill/屠戮之惧.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/屠戮之惧.png rename to packages/renderer/imagesrc/characters/necro/skill/屠戮之惧.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/巴拉克强击.PNG b/packages/renderer/imagesrc/characters/necro/skill/巴拉克强击.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/巴拉克强击.PNG rename to packages/renderer/imagesrc/characters/necro/skill/巴拉克强击.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/巴拉克的愤怒.png b/packages/renderer/imagesrc/characters/necro/skill/巴拉克的愤怒.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/巴拉克的愤怒.png rename to packages/renderer/imagesrc/characters/necro/skill/巴拉克的愤怒.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/巴拉克的盟约.png b/packages/renderer/imagesrc/characters/necro/skill/巴拉克的盟约.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/巴拉克的盟约.png rename to packages/renderer/imagesrc/characters/necro/skill/巴拉克的盟约.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/巴拉克的野心.png b/packages/renderer/imagesrc/characters/necro/skill/巴拉克的野心.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/巴拉克的野心.png rename to packages/renderer/imagesrc/characters/necro/skill/巴拉克的野心.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/怨噬之沼.png b/packages/renderer/imagesrc/characters/necro/skill/怨噬之沼.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/怨噬之沼.png rename to packages/renderer/imagesrc/characters/necro/skill/怨噬之沼.png diff --git a/packages/renderer/imagesrc/characters/necro/skill/手杖精通.png b/packages/renderer/imagesrc/characters/necro/skill/手杖精通.png new file mode 100644 index 00000000..3d4863a3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/necro/skill/手杖精通.png differ diff --git a/ResourceFiles/隐夜·死灵术士/技能/暗击拳.png b/packages/renderer/imagesrc/characters/necro/skill/暗击拳.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/暗击拳.png rename to packages/renderer/imagesrc/characters/necro/skill/暗击拳.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/暗影蛛丝阵.png b/packages/renderer/imagesrc/characters/necro/skill/暗影蛛丝阵.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/暗影蛛丝阵.png rename to packages/renderer/imagesrc/characters/necro/skill/暗影蛛丝阵.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/暗魂波.png b/packages/renderer/imagesrc/characters/necro/skill/暗魂波.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/暗魂波.png rename to packages/renderer/imagesrc/characters/necro/skill/暗魂波.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/暗黑蛛丝引.png b/packages/renderer/imagesrc/characters/necro/skill/暗黑蛛丝引.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/暗黑蛛丝引.png rename to packages/renderer/imagesrc/characters/necro/skill/暗黑蛛丝引.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/暴君极刑斩.png b/packages/renderer/imagesrc/characters/necro/skill/暴君极刑斩.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/暴君极刑斩.png rename to packages/renderer/imagesrc/characters/necro/skill/暴君极刑斩.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/服从.png b/packages/renderer/imagesrc/characters/necro/skill/服从.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/服从.png rename to packages/renderer/imagesrc/characters/necro/skill/服从.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/杀戮乱舞.png b/packages/renderer/imagesrc/characters/necro/skill/杀戮乱舞.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/杀戮乱舞.png rename to packages/renderer/imagesrc/characters/necro/skill/杀戮乱舞.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/死亡之爪.png b/packages/renderer/imagesrc/characters/necro/skill/死亡之爪.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/死亡之爪.png rename to packages/renderer/imagesrc/characters/necro/skill/死亡之爪.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/死灵之怨.png b/packages/renderer/imagesrc/characters/necro/skill/死灵之怨.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/死灵之怨.png rename to packages/renderer/imagesrc/characters/necro/skill/死灵之怨.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/死灵之缚.png b/packages/renderer/imagesrc/characters/necro/skill/死灵之缚.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/死灵之缚.png rename to packages/renderer/imagesrc/characters/necro/skill/死灵之缚.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/百鬼夜行.png b/packages/renderer/imagesrc/characters/necro/skill/百鬼夜行.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/百鬼夜行.png rename to packages/renderer/imagesrc/characters/necro/skill/百鬼夜行.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/诅咒之箭.png b/packages/renderer/imagesrc/characters/necro/skill/诅咒之箭.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/诅咒之箭.png rename to packages/renderer/imagesrc/characters/necro/skill/诅咒之箭.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/释魂暗劲波.png b/packages/renderer/imagesrc/characters/necro/skill/释魂暗劲波.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/释魂暗劲波.png rename to packages/renderer/imagesrc/characters/necro/skill/释魂暗劲波.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/降临:僵尸莱迪娅.png b/packages/renderer/imagesrc/characters/necro/skill/降临:僵尸莱迪娅.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/降临:僵尸莱迪娅.png rename to packages/renderer/imagesrc/characters/necro/skill/降临:僵尸莱迪娅.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/降临:尼古拉斯(艾克洛索).png b/packages/renderer/imagesrc/characters/necro/skill/降临:尼古拉斯(艾克洛索).png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/降临:尼古拉斯(艾克洛索).png rename to packages/renderer/imagesrc/characters/necro/skill/降临:尼古拉斯(艾克洛索).png diff --git a/ResourceFiles/隐夜·死灵术士/技能/降临:尼古拉斯.png b/packages/renderer/imagesrc/characters/necro/skill/降临:尼古拉斯.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/降临:尼古拉斯.png rename to packages/renderer/imagesrc/characters/necro/skill/降临:尼古拉斯.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/降临:暴君巴拉克.png b/packages/renderer/imagesrc/characters/necro/skill/降临:暴君巴拉克.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/降临:暴君巴拉克.png rename to packages/renderer/imagesrc/characters/necro/skill/降临:暴君巴拉克.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/驱使僵尸.png b/packages/renderer/imagesrc/characters/necro/skill/驱使僵尸.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/驱使僵尸.png rename to packages/renderer/imagesrc/characters/necro/skill/驱使僵尸.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/黑暗之环.png b/packages/renderer/imagesrc/characters/necro/skill/黑暗之环.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/黑暗之环.png rename to packages/renderer/imagesrc/characters/necro/skill/黑暗之环.png diff --git a/ResourceFiles/隐夜·死灵术士/技能/黑魔法书:亡者之魂.PNG b/packages/renderer/imagesrc/characters/necro/skill/黑魔法书:亡者之魂.png similarity index 100% rename from ResourceFiles/隐夜·死灵术士/技能/黑魔法书:亡者之魂.PNG rename to packages/renderer/imagesrc/characters/necro/skill/黑魔法书:亡者之魂.png diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Adventure_3.png new file mode 100644 index 00000000..4e731ccd Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Bust.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Bust.png new file mode 100644 index 00000000..9834443a Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Helper.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Helper.png new file mode 100644 index 00000000..b1044182 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Large.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large.png new file mode 100644 index 00000000..84c084de Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_2.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_2.png new file mode 100644 index 00000000..6801dfd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_3.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_3.png new file mode 100644 index 00000000..de63263d Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing.png new file mode 100644 index 00000000..d9ec50cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_2.png new file mode 100644 index 00000000..6460f033 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_3.png new file mode 100644 index 00000000..3e02ef9a Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/material/Thumb.png b/packages/renderer/imagesrc/characters/nenmaster_female/material/Thumb.png new file mode 100644 index 00000000..d39f1728 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_female/profile.png b/packages/renderer/imagesrc/characters/nenmaster_female/profile.png new file mode 100644 index 00000000..a26e241b Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_female/profile.png differ diff --git a/ResourceFiles/归元·气功师·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/BUFF.png diff --git a/ResourceFiles/归元·气功师·女/技能/乱舞千叶花.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/乱舞千叶花.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/乱舞千叶花.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/乱舞千叶花.png diff --git a/ResourceFiles/归元·气功师·女/技能/分身.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/分身.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/分身.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/分身.png diff --git a/ResourceFiles/归元·气功师·女/技能/千莲怒放.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/千莲怒放.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/千莲怒放.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/千莲怒放.png diff --git a/ResourceFiles/重霄·合金战士/技能/基础精通.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/基础精通.png similarity index 100% rename from ResourceFiles/重霄·合金战士/技能/基础精通.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/基础精通.png diff --git a/ResourceFiles/归元·气功师·女/技能/天雷分身步.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/天雷分身步.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/天雷分身步.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/天雷分身步.png diff --git a/ResourceFiles/归元·气功师·女/技能/奇袭幻影.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/奇袭幻影.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/奇袭幻影.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/奇袭幻影.png diff --git a/ResourceFiles/归元·气功师·女/技能/奔雷掌.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/奔雷掌.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/奔雷掌.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/奔雷掌.png diff --git a/ResourceFiles/归元·气功师·女/技能/幻影爆碎.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/幻影爆碎.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/幻影爆碎.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/幻影爆碎.png diff --git a/ResourceFiles/归元·气功师·女/技能/心之念意.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/心之念意.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/心之念意.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/心之念意.png diff --git a/ResourceFiles/归元·气功师·女/技能/念兽螺旋波.PNG b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽螺旋波.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念兽螺旋波.PNG rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽螺旋波.png diff --git a/ResourceFiles/归元·气功师·女/技能/念兽龙虎啸x5.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽龙虎啸x5.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念兽龙虎啸x5.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽龙虎啸x5.png diff --git a/ResourceFiles/归元·气功师·女/技能/念兽雷龙出海.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽:雷龙出海.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念兽雷龙出海.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽:雷龙出海.png diff --git a/ResourceFiles/归元·气功师·女/技能/念兽龙虎啸.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽:龙虎啸.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念兽龙虎啸.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念兽:龙虎啸.png diff --git a/ResourceFiles/归元·气功师·女/技能/念印幻流破.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念印幻流破.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念印幻流破.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念印幻流破.png diff --git a/ResourceFiles/归元·气功师·女/技能/念帝旋天破.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念帝旋天破.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念帝旋天破.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念帝旋天破.png diff --git a/ResourceFiles/归元·气功师·女/技能/念气归元.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念气归元.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念气归元.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念气归元.png diff --git a/ResourceFiles/归元·气功师·女/技能/念气波.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念气波(蓄念炮).png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念气波.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念气波(蓄念炮).png diff --git a/ResourceFiles/归元·气功师·女/技能/念气波蓄念炮.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念气波.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念气波蓄念炮.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念气波.png diff --git a/ResourceFiles/归元·气功师·女/技能/念气环绕.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念气环绕.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念气环绕.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念气环绕.png diff --git a/ResourceFiles/归元·气功师·女/技能/念雷破.PNG b/packages/renderer/imagesrc/characters/nenmaster_female/skill/念雷破.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/念雷破.PNG rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/念雷破.png diff --git a/ResourceFiles/归元·气功师·女/技能/旋风腿.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/旋风腿.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/旋风腿.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/旋风腿.png diff --git a/ResourceFiles/归元·气功师·女/技能/气玉弹.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/气玉弹.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/气玉弹.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/气玉弹.png diff --git a/ResourceFiles/归元·气功师·女/技能/狂狮怒吼.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/狂狮怒吼.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/狂狮怒吼.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/狂狮怒吼.png diff --git a/ResourceFiles/归元·气功师·女/技能/狮子吼.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/狮子吼.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/狮子吼.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/狮子吼.png diff --git a/ResourceFiles/归元·气功师·女/技能/聚能念气炮.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/聚能念气炮.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/聚能念气炮.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/聚能念气炮.png diff --git a/ResourceFiles/归元·气功师·女/技能/蓄念炮.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/蓄念炮.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/蓄念炮.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/蓄念炮.png diff --git a/ResourceFiles/归元·气功师·女/技能/螺旋念气场.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/螺旋念气场.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/螺旋念气场.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/螺旋念气场.png diff --git a/ResourceFiles/归元·气功师·女/技能/雷龙秒C.png b/packages/renderer/imagesrc/characters/nenmaster_female/skill/雷龙秒C.png similarity index 100% rename from ResourceFiles/归元·气功师·女/技能/雷龙秒C.png rename to packages/renderer/imagesrc/characters/nenmaster_female/skill/雷龙秒C.png diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Adventure_3.png new file mode 100644 index 00000000..73aff6a8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Bust.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Bust.png new file mode 100644 index 00000000..8495b4e4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Helper.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Helper.png new file mode 100644 index 00000000..296e3d01 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Large.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large.png new file mode 100644 index 00000000..686d0078 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_2.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_2.png new file mode 100644 index 00000000..5eeffc01 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_3.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_3.png new file mode 100644 index 00000000..2770911a Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing.png new file mode 100644 index 00000000..59ffdae6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_2.png new file mode 100644 index 00000000..2164a4f4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_3.png new file mode 100644 index 00000000..dfc2d4d0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/material/Thumb.png b/packages/renderer/imagesrc/characters/nenmaster_male/material/Thumb.png new file mode 100644 index 00000000..f9e444d1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/nenmaster_male/profile.png b/packages/renderer/imagesrc/characters/nenmaster_male/profile.png new file mode 100644 index 00000000..4309257d Binary files /dev/null and b/packages/renderer/imagesrc/characters/nenmaster_male/profile.png differ diff --git a/ResourceFiles/归元·气功师·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/BUFF.png diff --git a/ResourceFiles/归元·气功师·男/技能/冲云念气场.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/冲云念气场.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/冲云念气场.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/冲云念气场.png diff --git a/ResourceFiles/归元·气功师·男/技能/分身.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/分身.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/分身.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/分身.png diff --git a/ResourceFiles/重霄·机械师·女/技能/基础精通.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/基础精通.png similarity index 100% rename from ResourceFiles/重霄·机械师·女/技能/基础精通.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/基础精通.png diff --git a/ResourceFiles/归元·气功师·男/技能/雷虎天降.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/天雷虎踢.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/雷虎天降.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/天雷虎踢.png diff --git a/ResourceFiles/归元·气功师·男/技能/奔雷螺旋击.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/奔雷螺旋击.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/奔雷螺旋击.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/奔雷螺旋击.png diff --git a/ResourceFiles/归元·气功师·男/技能/幻影爆碎.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/幻影爆碎.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/幻影爆碎.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/幻影爆碎.png diff --git a/ResourceFiles/归元·气功师·男/技能/念之奥义.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念之奥义.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念之奥义.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念之奥义.png diff --git a/ResourceFiles/归元·气功师·男/技能/念之战矛.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念之战矛.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念之战矛.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念之战矛.png diff --git a/ResourceFiles/归元·气功师·男/技能/念兽:审判之金雷虎.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:审判之金雷虎.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念兽:审判之金雷虎.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:审判之金雷虎.png diff --git a/ResourceFiles/归元·气功师·男/技能/念兽:猛虎震地.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:猛虎震地.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念兽:猛虎震地.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:猛虎震地.png diff --git a/ResourceFiles/归元·气功师·男/技能/念兽:龙虎啸.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:龙虎啸.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念兽:龙虎啸.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念兽:龙虎啸.png diff --git a/ResourceFiles/归元·气功师·男/技能/念气波.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念气波.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念气波.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念气波.png diff --git a/ResourceFiles/归元·气功师·男/技能/念气环绕.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念气环绕.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕.png diff --git a/ResourceFiles/归元·气功师·男/技能/念气环绕:御.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕:御.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念气环绕:御.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕:御.png diff --git a/ResourceFiles/归元·气功师·男/技能/念气环绕:袭.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕:袭.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/念气环绕:袭.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念气环绕:袭.png diff --git a/ResourceFiles/归元·气功师·男/技能/雷霆念炮.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/念雷轰.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/雷霆念炮.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/念雷轰.png diff --git a/ResourceFiles/归元·气功师·男/技能/月华万象.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/月华万象.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/月华万象.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/月华万象.png diff --git a/ResourceFiles/归元·气功师·男/技能/月辉念气破.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/月辉念气破.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/月辉念气破.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/月辉念气破.png diff --git a/ResourceFiles/归元·气功师·男/技能/狮子吼.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/狮子吼.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/狮子吼.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/狮子吼.png diff --git a/ResourceFiles/归元·气功师·男/技能/禅念:归一.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/禅念·归一.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/禅念:归一.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/禅念·归一.png diff --git a/ResourceFiles/归元·气功师·男/技能/禅意:万象.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/禅意·万象.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/禅意:万象.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/禅意·万象.png diff --git a/ResourceFiles/归元·气功师·男/技能/禅语:形灭.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/禅语·形灭.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/禅语:形灭.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/禅语·形灭.png diff --git a/ResourceFiles/归元·气功师·男/技能/蓄念炮.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/蓄念炮.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/蓄念炮.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/蓄念炮.png diff --git a/ResourceFiles/归元·气功师·男/技能/螺旋念气场.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/螺旋念气场.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/螺旋念气场.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/螺旋念气场.png diff --git a/ResourceFiles/归元·气功师·男/技能/雷霆踏.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/雷霆踏.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/雷霆踏.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/雷霆踏.png diff --git a/ResourceFiles/归元·气功师·男/技能/风雷啸.png b/packages/renderer/imagesrc/characters/nenmaster_male/skill/风雷啸.png similarity index 100% rename from ResourceFiles/归元·气功师·男/技能/风雷啸.png rename to packages/renderer/imagesrc/characters/nenmaster_male/skill/风雷啸.png diff --git a/packages/renderer/imagesrc/characters/paladin/material/Adventure_3.png b/packages/renderer/imagesrc/characters/paladin/material/Adventure_3.png new file mode 100644 index 00000000..9503b774 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Bust.png b/packages/renderer/imagesrc/characters/paladin/material/Bust.png new file mode 100644 index 00000000..c0ed4c25 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Helper.png b/packages/renderer/imagesrc/characters/paladin/material/Helper.png new file mode 100644 index 00000000..ef78ffdd Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Large.png b/packages/renderer/imagesrc/characters/paladin/material/Large.png new file mode 100644 index 00000000..0759e444 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Large_2.png b/packages/renderer/imagesrc/characters/paladin/material/Large_2.png new file mode 100644 index 00000000..5707a8b8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Large_3.png b/packages/renderer/imagesrc/characters/paladin/material/Large_3.png new file mode 100644 index 00000000..4918fa8b Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Seicing.png b/packages/renderer/imagesrc/characters/paladin/material/Seicing.png new file mode 100644 index 00000000..8c889464 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Seicing_2.png b/packages/renderer/imagesrc/characters/paladin/material/Seicing_2.png new file mode 100644 index 00000000..ab2a8168 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Seicing_3.png b/packages/renderer/imagesrc/characters/paladin/material/Seicing_3.png new file mode 100644 index 00000000..9e863bb8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/material/Thumb.png b/packages/renderer/imagesrc/characters/paladin/material/Thumb.png new file mode 100644 index 00000000..b39ce38f Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/paladin/profile.png b/packages/renderer/imagesrc/characters/paladin/profile.png new file mode 100644 index 00000000..ae074956 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/profile.png differ diff --git a/ResourceFiles/皓曦·帕拉丁/技能/BUFF.png b/packages/renderer/imagesrc/characters/paladin/skill/BUFF.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/BUFF.png rename to packages/renderer/imagesrc/characters/paladin/skill/BUFF.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/信仰聚合神光惩戒.png b/packages/renderer/imagesrc/characters/paladin/skill/信仰聚合:神光惩戒.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/信仰聚合神光惩戒.png rename to packages/renderer/imagesrc/characters/paladin/skill/信仰聚合:神光惩戒.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/启示录:末日救赎.png b/packages/renderer/imagesrc/characters/paladin/skill/启示录:末日救赎.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/启示录:末日救赎.png rename to packages/renderer/imagesrc/characters/paladin/skill/启示录:末日救赎.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/圣盾突击.png b/packages/renderer/imagesrc/characters/paladin/skill/圣盾突击.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/圣盾突击.png rename to packages/renderer/imagesrc/characters/paladin/skill/圣盾突击.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/圣盾裁决.png b/packages/renderer/imagesrc/characters/paladin/skill/圣盾裁决.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/圣盾裁决.png rename to packages/renderer/imagesrc/characters/paladin/skill/圣盾裁决.png diff --git a/packages/renderer/imagesrc/characters/paladin/skill/基本攻击.png b/packages/renderer/imagesrc/characters/paladin/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/paladin/skill/基本攻击.png differ diff --git a/ResourceFiles/隐夜·忍者/技能/基础精通.png b/packages/renderer/imagesrc/characters/paladin/skill/基础精通.png similarity index 100% rename from ResourceFiles/隐夜·忍者/技能/基础精通.png rename to packages/renderer/imagesrc/characters/paladin/skill/基础精通.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/天使光翼.png b/packages/renderer/imagesrc/characters/paladin/skill/天使光翼.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/天使光翼.png rename to packages/renderer/imagesrc/characters/paladin/skill/天使光翼.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/天使降临.png b/packages/renderer/imagesrc/characters/paladin/skill/天使降临.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/天使降临.png rename to packages/renderer/imagesrc/characters/paladin/skill/天使降临.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/戒律.png b/packages/renderer/imagesrc/characters/paladin/skill/戒律.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/戒律.png rename to packages/renderer/imagesrc/characters/paladin/skill/戒律.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/烈光.png b/packages/renderer/imagesrc/characters/paladin/skill/烈光.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/烈光.png rename to packages/renderer/imagesrc/characters/paladin/skill/烈光.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/破晓之光.png b/packages/renderer/imagesrc/characters/paladin/skill/破晓之光.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/破晓之光.png rename to packages/renderer/imagesrc/characters/paladin/skill/破晓之光.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光之跃.png b/packages/renderer/imagesrc/characters/paladin/skill/神光之跃.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光之跃.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光之跃.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光冲击.png b/packages/renderer/imagesrc/characters/paladin/skill/神光冲击.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光冲击.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光冲击.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光喷涌.png b/packages/renderer/imagesrc/characters/paladin/skill/神光喷涌.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光喷涌.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光喷涌.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光回旋斩.png b/packages/renderer/imagesrc/characters/paladin/skill/神光回旋斩.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光回旋斩.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光回旋斩.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光盾击.png b/packages/renderer/imagesrc/characters/paladin/skill/神光盾击.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光盾击.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光盾击.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光耀世.png b/packages/renderer/imagesrc/characters/paladin/skill/神光耀世.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光耀世.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光耀世.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光连斩.png b/packages/renderer/imagesrc/characters/paladin/skill/神光连斩.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光连斩.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光连斩.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光闪影击.png b/packages/renderer/imagesrc/characters/paladin/skill/神光闪影击.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光闪影击.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光闪影击.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神光闪耀.png b/packages/renderer/imagesrc/characters/paladin/skill/神光闪耀.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神光闪耀.png rename to packages/renderer/imagesrc/characters/paladin/skill/神光闪耀.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神圣信约.png b/packages/renderer/imagesrc/characters/paladin/skill/神圣信约.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神圣信约.png rename to packages/renderer/imagesrc/characters/paladin/skill/神圣信约.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神圣意志大天使降临.png b/packages/renderer/imagesrc/characters/paladin/skill/神圣意志:大天使降临.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神圣意志大天使降临.png rename to packages/renderer/imagesrc/characters/paladin/skill/神圣意志:大天使降临.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/神罚之锤.png b/packages/renderer/imagesrc/characters/paladin/skill/神罚之锤.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/神罚之锤.png rename to packages/renderer/imagesrc/characters/paladin/skill/神罚之锤.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/荣耀之光.png b/packages/renderer/imagesrc/characters/paladin/skill/荣耀之光.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/荣耀之光.png rename to packages/renderer/imagesrc/characters/paladin/skill/荣耀之光.png diff --git a/ResourceFiles/皓曦·帕拉丁/技能/超越之翼.png b/packages/renderer/imagesrc/characters/paladin/skill/超越之翼.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/超越之翼.png rename to packages/renderer/imagesrc/characters/paladin/skill/超越之翼.png diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/ranger_female/material/Adventure_3.png new file mode 100644 index 00000000..c4cfa3d4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Bust.png b/packages/renderer/imagesrc/characters/ranger_female/material/Bust.png new file mode 100644 index 00000000..3a5c6e75 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Helper.png b/packages/renderer/imagesrc/characters/ranger_female/material/Helper.png new file mode 100644 index 00000000..247e8fa7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Large.png b/packages/renderer/imagesrc/characters/ranger_female/material/Large.png new file mode 100644 index 00000000..b59220af Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Large_2.png b/packages/renderer/imagesrc/characters/ranger_female/material/Large_2.png new file mode 100644 index 00000000..a141fa69 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Large_3.png b/packages/renderer/imagesrc/characters/ranger_female/material/Large_3.png new file mode 100644 index 00000000..2e7125ef Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Seicing.png b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing.png new file mode 100644 index 00000000..43f8817b Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_2.png new file mode 100644 index 00000000..e18fdeb9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_3.png new file mode 100644 index 00000000..cda7aebc Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/material/Thumb.png b/packages/renderer/imagesrc/characters/ranger_female/material/Thumb.png new file mode 100644 index 00000000..daeb13f0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_female/profile.png b/packages/renderer/imagesrc/characters/ranger_female/profile.png new file mode 100644 index 00000000..cbf7f2c1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_female/profile.png differ diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/ranger_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/BUFF.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/上旋踢.png b/packages/renderer/imagesrc/characters/ranger_female/skill/上旋踢.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/上旋踢.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/上旋踢.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/刺踢.png b/packages/renderer/imagesrc/characters/ranger_female/skill/刺踢.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/刺踢.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/刺踢.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/压制射击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/压制射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/压制射击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/压制射击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/双枪极舞刃2.png b/packages/renderer/imagesrc/characters/ranger_female/skill/双枪极舞刃2.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/双枪极舞刃2.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/双枪极舞刃2.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/双鹰回旋.png b/packages/renderer/imagesrc/characters/ranger_female/skill/双鹰回旋.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/双鹰回旋.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/双鹰回旋.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/多重射击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/多重射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/多重射击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/多重射击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/左轮奥义.png b/packages/renderer/imagesrc/characters/ranger_female/skill/左轮奥义.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/左轮奥义.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/左轮奥义.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/枪刃改良.png b/packages/renderer/imagesrc/characters/ranger_female/skill/枪刃改良.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/枪刃改良.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/枪刃改良.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/枪舞.png b/packages/renderer/imagesrc/characters/ranger_female/skill/枪舞.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/枪舞.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/枪舞.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/死亡锁链.png b/packages/renderer/imagesrc/characters/ranger_female/skill/死亡锁链.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/死亡锁链.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/死亡锁链.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/毁灭风暴.png b/packages/renderer/imagesrc/characters/ranger_female/skill/毁灭风暴.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/毁灭风暴.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/毁灭风暴.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/烟尘弹.png b/packages/renderer/imagesrc/characters/ranger_female/skill/烟尘弹.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/烟尘弹.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/烟尘弹.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/盛放·绯红花园.png b/packages/renderer/imagesrc/characters/ranger_female/skill/盛放·绯红花园.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/盛放·绯红花园.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/盛放·绯红花园.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/移动射击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/移动射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/移动射击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/移动射击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/致命回射.png b/packages/renderer/imagesrc/characters/ranger_female/skill/致命回射.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/致命回射.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/致命回射.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/致命射击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/致命射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/致命射击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/致命射击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/花式枪术.png b/packages/renderer/imagesrc/characters/ranger_female/skill/花式枪术.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/花式枪术.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/花式枪术.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/血腥狂欢.png b/packages/renderer/imagesrc/characters/ranger_female/skill/血腥狂欢.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/血腥狂欢.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/血腥狂欢.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/血舞祭.png b/packages/renderer/imagesrc/characters/ranger_female/skill/血舞祭.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/血舞祭.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/血舞祭.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/锁链切割.png b/packages/renderer/imagesrc/characters/ranger_female/skill/锁链切割.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/锁链切割.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/锁链切割.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/锁链意志.png b/packages/renderer/imagesrc/characters/ranger_female/skill/锁链意志.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/锁链意志.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/锁链意志.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/锁链截击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/锁链截击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/锁链截击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/锁链截击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/隐匿切割.png b/packages/renderer/imagesrc/characters/ranger_female/skill/隐匿切割.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/隐匿切割.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/隐匿切割.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/音速劫击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/音速劫击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/音速劫击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/音速劫击.png diff --git a/ResourceFiles/重霄·漫游枪手·女/技能/鲜血劫击.png b/packages/renderer/imagesrc/characters/ranger_female/skill/鲜血劫击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·女/技能/鲜血劫击.png rename to packages/renderer/imagesrc/characters/ranger_female/skill/鲜血劫击.png diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/ranger_male/material/Adventure_3.png new file mode 100644 index 00000000..13ff9795 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Bust.png b/packages/renderer/imagesrc/characters/ranger_male/material/Bust.png new file mode 100644 index 00000000..4b95d726 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Helper.png b/packages/renderer/imagesrc/characters/ranger_male/material/Helper.png new file mode 100644 index 00000000..b7ddccd8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Large.png b/packages/renderer/imagesrc/characters/ranger_male/material/Large.png new file mode 100644 index 00000000..01f91570 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Large_2.png b/packages/renderer/imagesrc/characters/ranger_male/material/Large_2.png new file mode 100644 index 00000000..3c085140 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Large_3.png b/packages/renderer/imagesrc/characters/ranger_male/material/Large_3.png new file mode 100644 index 00000000..c30ad7e3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Seicing.png b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing.png new file mode 100644 index 00000000..fced5f75 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_2.png new file mode 100644 index 00000000..c0dc6a89 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_3.png new file mode 100644 index 00000000..d9682ff1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/material/Thumb.png b/packages/renderer/imagesrc/characters/ranger_male/material/Thumb.png new file mode 100644 index 00000000..8a733d2b Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/profile.png b/packages/renderer/imagesrc/characters/ranger_male/profile.png new file mode 100644 index 00000000..1e17b09d Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/profile.png differ diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/ranger_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/BUFF.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/三连发.png b/packages/renderer/imagesrc/characters/ranger_male/skill/三连发.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/三连发.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/三连发.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/乱射.png b/packages/renderer/imagesrc/characters/ranger_male/skill/乱射.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/乱射.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/乱射.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/卓尔不群.png b/packages/renderer/imagesrc/characters/ranger_male/skill/卓尔不群.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/卓尔不群.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/卓尔不群.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/压制射击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/压制射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/压制射击.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/压制射击.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/双鹰回旋.png b/packages/renderer/imagesrc/characters/ranger_male/skill/双鹰回旋.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/双鹰回旋.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/双鹰回旋.png diff --git a/packages/renderer/imagesrc/characters/ranger_male/skill/回旋踢.png b/packages/renderer/imagesrc/characters/ranger_male/skill/回旋踢.png new file mode 100644 index 00000000..3caa0779 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/skill/回旋踢.png differ diff --git a/packages/renderer/imagesrc/characters/ranger_male/skill/复仇反击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/复仇反击.png new file mode 100644 index 00000000..82b7d4da Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/skill/复仇反击.png differ diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/多重射击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/多重射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/多重射击.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/多重射击.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/射击掌握.png b/packages/renderer/imagesrc/characters/ranger_male/skill/射击掌握.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/射击掌握.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/射击掌握.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/左轮奥义.png b/packages/renderer/imagesrc/characters/ranger_male/skill/左轮奥义.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/左轮奥义.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/左轮奥义.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/抹杀.png b/packages/renderer/imagesrc/characters/ranger_male/skill/抹杀.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/抹杀.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/抹杀.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/死亡印记.png b/packages/renderer/imagesrc/characters/ranger_male/skill/死亡印记.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/死亡印记.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/死亡印记.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/死亡突袭.png b/packages/renderer/imagesrc/characters/ranger_male/skill/死亡突袭.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/死亡突袭.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/死亡突袭.png diff --git a/packages/renderer/imagesrc/characters/ranger_male/skill/浮空劫击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/浮空劫击.png new file mode 100644 index 00000000..b3471608 Binary files /dev/null and b/packages/renderer/imagesrc/characters/ranger_male/skill/浮空劫击.png differ diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/烟尘弹.png b/packages/renderer/imagesrc/characters/ranger_male/skill/烟尘弹.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/烟尘弹.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/烟尘弹.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/爆燃突击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/爆燃突击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/爆燃突击.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/爆燃突击.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/疯狂屠戮.png b/packages/renderer/imagesrc/characters/ranger_male/skill/疯狂屠戮.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/疯狂屠戮.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/疯狂屠戮.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/疾风骤雨.png b/packages/renderer/imagesrc/characters/ranger_male/skill/疾风骤雨.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/疾风骤雨.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/疾风骤雨.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/移动射击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/移动射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/移动射击.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/移动射击.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/第七翼动.png b/packages/renderer/imagesrc/characters/ranger_male/skill/第七翼动.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/第七翼动.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/第七翼动.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/致命回射.png b/packages/renderer/imagesrc/characters/ranger_male/skill/致命回射.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/致命回射.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/致命回射.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/致命射击.png b/packages/renderer/imagesrc/characters/ranger_male/skill/致命射击.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/致命射击.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/致命射击.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/花式枪术.png b/packages/renderer/imagesrc/characters/ranger_male/skill/花式枪术.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/花式枪术.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/花式枪术.png diff --git a/ResourceFiles/重霄·漫游枪手·男/技能/鹰眸·致命危机.png b/packages/renderer/imagesrc/characters/ranger_male/skill/鹰眸·致命危机.png similarity index 100% rename from ResourceFiles/重霄·漫游枪手·男/技能/鹰眸·致命危机.png rename to packages/renderer/imagesrc/characters/ranger_male/skill/鹰眸·致命危机.png diff --git a/packages/renderer/imagesrc/characters/rogue/material/Adventure_3.png b/packages/renderer/imagesrc/characters/rogue/material/Adventure_3.png new file mode 100644 index 00000000..17e46c36 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Bust.png b/packages/renderer/imagesrc/characters/rogue/material/Bust.png new file mode 100644 index 00000000..1282bd17 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Helper.png b/packages/renderer/imagesrc/characters/rogue/material/Helper.png new file mode 100644 index 00000000..5045082c Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Large.png b/packages/renderer/imagesrc/characters/rogue/material/Large.png new file mode 100644 index 00000000..8129e068 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Large_2.png b/packages/renderer/imagesrc/characters/rogue/material/Large_2.png new file mode 100644 index 00000000..3b1672a7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Large_3.png b/packages/renderer/imagesrc/characters/rogue/material/Large_3.png new file mode 100644 index 00000000..03170abe Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Seicing.png b/packages/renderer/imagesrc/characters/rogue/material/Seicing.png new file mode 100644 index 00000000..95d9f824 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Seicing_2.png b/packages/renderer/imagesrc/characters/rogue/material/Seicing_2.png new file mode 100644 index 00000000..15956671 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Seicing_3.png b/packages/renderer/imagesrc/characters/rogue/material/Seicing_3.png new file mode 100644 index 00000000..71ae76cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/material/Thumb.png b/packages/renderer/imagesrc/characters/rogue/material/Thumb.png new file mode 100644 index 00000000..eaaaea74 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/rogue/profile.png b/packages/renderer/imagesrc/characters/rogue/profile.png new file mode 100644 index 00000000..08e0aa66 Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/profile.png differ diff --git a/ResourceFiles/隐夜·刺客/技能/BUFF.png b/packages/renderer/imagesrc/characters/rogue/skill/BUFF.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/BUFF.png rename to packages/renderer/imagesrc/characters/rogue/skill/BUFF.png diff --git a/ResourceFiles/隐夜·刺客/技能/乱空杀.png b/packages/renderer/imagesrc/characters/rogue/skill/乱空杀.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/乱空杀.png rename to packages/renderer/imagesrc/characters/rogue/skill/乱空杀.png diff --git a/ResourceFiles/隐夜·刺客/技能/剑刃风暴.png b/packages/renderer/imagesrc/characters/rogue/skill/剑刃风暴.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/剑刃风暴.png rename to packages/renderer/imagesrc/characters/rogue/skill/剑刃风暴.png diff --git a/ResourceFiles/隐夜·刺客/技能/武器精通.png b/packages/renderer/imagesrc/characters/rogue/skill/匕首精通.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/武器精通.png rename to packages/renderer/imagesrc/characters/rogue/skill/匕首精通.png diff --git a/ResourceFiles/隐夜·刺客/技能/双刃穿刺.png b/packages/renderer/imagesrc/characters/rogue/skill/双刃穿刺.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/双刃穿刺.png rename to packages/renderer/imagesrc/characters/rogue/skill/双刃穿刺.png diff --git a/packages/renderer/imagesrc/characters/rogue/skill/双剑精通.png b/packages/renderer/imagesrc/characters/rogue/skill/双剑精通.png new file mode 100644 index 00000000..34af5e9e Binary files /dev/null and b/packages/renderer/imagesrc/characters/rogue/skill/双剑精通.png differ diff --git a/ResourceFiles/隐夜·刺客/技能/天渊星狱.png b/packages/renderer/imagesrc/characters/rogue/skill/天渊星狱.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/天渊星狱.png rename to packages/renderer/imagesrc/characters/rogue/skill/天渊星狱.png diff --git a/ResourceFiles/隐夜·刺客/技能/幻灭瞬杀.png b/packages/renderer/imagesrc/characters/rogue/skill/幻灭瞬杀.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/幻灭瞬杀.png rename to packages/renderer/imagesrc/characters/rogue/skill/幻灭瞬杀.png diff --git a/ResourceFiles/隐夜·刺客/技能/影·万古星辰.png b/packages/renderer/imagesrc/characters/rogue/skill/影·万古星辰.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/影·万古星辰.png rename to packages/renderer/imagesrc/characters/rogue/skill/影·万古星辰.png diff --git a/ResourceFiles/隐夜·刺客/技能/旋刃.png b/packages/renderer/imagesrc/characters/rogue/skill/旋刃.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/旋刃.png rename to packages/renderer/imagesrc/characters/rogue/skill/旋刃.png diff --git a/ResourceFiles/隐夜·刺客/技能/旋刃冲击.png b/packages/renderer/imagesrc/characters/rogue/skill/旋刃冲击.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/旋刃冲击.png rename to packages/renderer/imagesrc/characters/rogue/skill/旋刃冲击.png diff --git a/ResourceFiles/隐夜·刺客/技能/旋舞斩.png b/packages/renderer/imagesrc/characters/rogue/skill/旋舞斩.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/旋舞斩.png rename to packages/renderer/imagesrc/characters/rogue/skill/旋舞斩.png diff --git a/ResourceFiles/隐夜·刺客/技能/月弧.png b/packages/renderer/imagesrc/characters/rogue/skill/月弧.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/月弧.png rename to packages/renderer/imagesrc/characters/rogue/skill/月弧.png diff --git a/ResourceFiles/隐夜·刺客/技能/月影突袭.png b/packages/renderer/imagesrc/characters/rogue/skill/月影突袭.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/月影突袭.png rename to packages/renderer/imagesrc/characters/rogue/skill/月影突袭.png diff --git a/ResourceFiles/隐夜·刺客/技能/月轮舞.png b/packages/renderer/imagesrc/characters/rogue/skill/月舞终结.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/月轮舞.png rename to packages/renderer/imagesrc/characters/rogue/skill/月舞终结.png diff --git a/ResourceFiles/隐夜·刺客/技能/月轮舞-Buff.png b/packages/renderer/imagesrc/characters/rogue/skill/月轮舞-Buff.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/月轮舞-Buff.png rename to packages/renderer/imagesrc/characters/rogue/skill/月轮舞-Buff.png diff --git a/ResourceFiles/隐夜·刺客/技能/极限追击.png b/packages/renderer/imagesrc/characters/rogue/skill/极限追击.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/极限追击.png rename to packages/renderer/imagesrc/characters/rogue/skill/极限追击.png diff --git a/ResourceFiles/隐夜·刺客/技能/死亡风暴.png b/packages/renderer/imagesrc/characters/rogue/skill/死亡风暴.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/死亡风暴.png rename to packages/renderer/imagesrc/characters/rogue/skill/死亡风暴.png diff --git a/ResourceFiles/隐夜·刺客/技能/疾风乱舞.png b/packages/renderer/imagesrc/characters/rogue/skill/疾风乱舞.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/疾风乱舞.png rename to packages/renderer/imagesrc/characters/rogue/skill/疾风乱舞.png diff --git a/ResourceFiles/隐夜·刺客/技能/终结追击.png b/packages/renderer/imagesrc/characters/rogue/skill/终结追击.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/终结追击.png rename to packages/renderer/imagesrc/characters/rogue/skill/终结追击.png diff --git a/ResourceFiles/隐夜·刺客/技能/绝命时刻.png b/packages/renderer/imagesrc/characters/rogue/skill/绝命时刻.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/绝命时刻.png rename to packages/renderer/imagesrc/characters/rogue/skill/绝命时刻.png diff --git a/ResourceFiles/隐夜·刺客/技能/绝命瞬狱杀.png b/packages/renderer/imagesrc/characters/rogue/skill/绝命瞬狱杀.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/绝命瞬狱杀.png rename to packages/renderer/imagesrc/characters/rogue/skill/绝命瞬狱杀.png diff --git a/ResourceFiles/隐夜·刺客/技能/绝杀斩.png b/packages/renderer/imagesrc/characters/rogue/skill/绝杀斩.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/绝杀斩.png rename to packages/renderer/imagesrc/characters/rogue/skill/绝杀斩.png diff --git a/ResourceFiles/隐夜·刺客/技能/螺旋穿刺.png b/packages/renderer/imagesrc/characters/rogue/skill/螺旋穿刺.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/螺旋穿刺.png rename to packages/renderer/imagesrc/characters/rogue/skill/螺旋穿刺.png diff --git a/ResourceFiles/隐夜·刺客/技能/陨落螺旋刺.png b/packages/renderer/imagesrc/characters/rogue/skill/陨落螺旋刺.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/陨落螺旋刺.png rename to packages/renderer/imagesrc/characters/rogue/skill/陨落螺旋刺.png diff --git a/ResourceFiles/隐夜·刺客/技能/雷光刃影.png b/packages/renderer/imagesrc/characters/rogue/skill/雷光刃影.png similarity index 100% rename from ResourceFiles/隐夜·刺客/技能/雷光刃影.png rename to packages/renderer/imagesrc/characters/rogue/skill/雷光刃影.png diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Adventure_3.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Adventure_3.png new file mode 100644 index 00000000..8806681c Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Bust.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Bust.png new file mode 100644 index 00000000..245392d8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Helper.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Helper.png new file mode 100644 index 00000000..0e5b1ea4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Large.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large.png new file mode 100644 index 00000000..021ab439 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_2.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_2.png new file mode 100644 index 00000000..32dff6f5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_3.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_3.png new file mode 100644 index 00000000..aff056e7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing.png new file mode 100644 index 00000000..b651daa0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_2.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_2.png new file mode 100644 index 00000000..a4add11e Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_3.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_3.png new file mode 100644 index 00000000..716bd658 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/material/Thumb.png b/packages/renderer/imagesrc/characters/shadow_dancer/material/Thumb.png new file mode 100644 index 00000000..a9973e73 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/profile.png b/packages/renderer/imagesrc/characters/shadow_dancer/profile.png new file mode 100644 index 00000000..6e3d016c Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/profile.png differ diff --git a/ResourceFiles/隐夜·影舞者/技能/Buff.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/BUFF.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/Buff.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/BUFF.png diff --git a/ResourceFiles/隐夜·影舞者/技能/八荒影杀.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/八荒影杀.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/八荒影杀.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/八荒影杀.png diff --git a/ResourceFiles/隐夜·影舞者/技能/刃舞.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/刃舞.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/刃舞.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/刃舞.png diff --git a/ResourceFiles/隐夜·影舞者/技能/剜心.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/剜心.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/剜心.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/剜心.png diff --git a/ResourceFiles/隐夜·影舞者/技能/割喉.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/割喉.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/割喉.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/割喉.png diff --git a/ResourceFiles/隐夜·影舞者/技能/天诛.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/天诛.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/天诛.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/天诛.png diff --git a/ResourceFiles/隐夜·影舞者/技能/夺魂.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/夺魂.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/夺魂.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/夺魂.png diff --git a/ResourceFiles/隐夜·影舞者/技能/幽冥链狱:索命.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/幽冥链狱:索命.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/幽冥链狱:索命.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/幽冥链狱:索命.png diff --git a/ResourceFiles/隐夜·影舞者/技能/影戮.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/影戮.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/影戮.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/影戮.png diff --git a/ResourceFiles/隐夜·影舞者/技能/影斩·乱舞.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/影斩·乱舞.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/影斩·乱舞.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/影斩·乱舞.png diff --git a/ResourceFiles/隐夜·影舞者/技能/影缚追魂锁.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/影缚追魂锁.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/影缚追魂锁.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/影缚追魂锁.png diff --git a/packages/renderer/imagesrc/characters/shadow_dancer/skill/影袭.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/影袭.png new file mode 100644 index 00000000..41636bd5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/shadow_dancer/skill/影袭.png differ diff --git a/ResourceFiles/隐夜·影舞者/技能/无间影狱·噬灭.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/无间影狱·噬灭.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/无间影狱·噬灭.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/无间影狱·噬灭.png diff --git a/ResourceFiles/隐夜·影舞者/技能/暗影禁忌.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/暗影禁忌.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/暗影禁忌.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/暗影禁忌.png diff --git a/ResourceFiles/隐夜·影舞者/技能/暗杀之匕首精通.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀之匕首精通.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/暗杀之匕首精通.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀之匕首精通.png diff --git a/ResourceFiles/隐夜·影舞者/技能/暗杀之心.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀之心.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/暗杀之心.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀之心.png diff --git a/ResourceFiles/隐夜·影舞者/技能/暗杀教义.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀教义.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/暗杀教义.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/暗杀教义.png diff --git a/ResourceFiles/隐夜·影舞者/技能/死亡连舞.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/死亡连舞.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/死亡连舞.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/死亡连舞.png diff --git a/ResourceFiles/隐夜·影舞者/技能/潜影刺击.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/潜影刺击.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/潜影刺击.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/潜影刺击.png diff --git a/ResourceFiles/隐夜·影舞者/技能/潜行暗杀.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/潜行暗杀.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/潜行暗杀.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/潜行暗杀.png diff --git a/ResourceFiles/隐夜·影舞者/技能/瞬杀.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/瞬杀.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/瞬杀.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/瞬杀.png diff --git a/ResourceFiles/隐夜·影舞者/技能/穿心.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/穿心.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/穿心.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/穿心.png diff --git a/ResourceFiles/隐夜·影舞者/技能/绝命飞刃.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/绝命飞刃.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/绝命飞刃.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/绝命飞刃.png diff --git a/ResourceFiles/隐夜·影舞者/技能/追命.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/追命.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/追命.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/追命.png diff --git a/ResourceFiles/隐夜·影舞者/技能/锁链.png b/packages/renderer/imagesrc/characters/shadow_dancer/skill/锁链.png similarity index 100% rename from ResourceFiles/隐夜·影舞者/技能/锁链.png rename to packages/renderer/imagesrc/characters/shadow_dancer/skill/锁链.png diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Adventure_3.png b/packages/renderer/imagesrc/characters/skirmisher/material/Adventure_3.png new file mode 100644 index 00000000..fd871d91 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Bust.png b/packages/renderer/imagesrc/characters/skirmisher/material/Bust.png new file mode 100644 index 00000000..eea27602 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Helper.png b/packages/renderer/imagesrc/characters/skirmisher/material/Helper.png new file mode 100644 index 00000000..84ce292e Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Large.png b/packages/renderer/imagesrc/characters/skirmisher/material/Large.png new file mode 100644 index 00000000..32535b47 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Large_2.png b/packages/renderer/imagesrc/characters/skirmisher/material/Large_2.png new file mode 100644 index 00000000..be22ad03 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Large_3.png b/packages/renderer/imagesrc/characters/skirmisher/material/Large_3.png new file mode 100644 index 00000000..ebfbf0f1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Seicing.png b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing.png new file mode 100644 index 00000000..2a7f574b Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_2.png b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_2.png new file mode 100644 index 00000000..802a22c3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_3.png b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_3.png new file mode 100644 index 00000000..73b849d8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/material/Thumb.png b/packages/renderer/imagesrc/characters/skirmisher/material/Thumb.png new file mode 100644 index 00000000..40adcbea Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/skirmisher/profile.png b/packages/renderer/imagesrc/characters/skirmisher/profile.png new file mode 100644 index 00000000..923346ba Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/profile.png differ diff --git a/ResourceFiles/千魂·决战者/技能/BUFF.png b/packages/renderer/imagesrc/characters/skirmisher/skill/BUFF.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/BUFF.png diff --git a/ResourceFiles/千魂·决战者/技能/一身是胆.png b/packages/renderer/imagesrc/characters/skirmisher/skill/一身是胆.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/一身是胆.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/一身是胆.png diff --git a/ResourceFiles/千魂·决战者/技能/三一斩月.png b/packages/renderer/imagesrc/characters/skirmisher/skill/三一斩月.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/三一斩月.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/三一斩月.png diff --git a/packages/renderer/imagesrc/characters/skirmisher/skill/刺击.png b/packages/renderer/imagesrc/characters/skirmisher/skill/刺击.png new file mode 100644 index 00000000..1fa1d0b7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/skill/刺击.png differ diff --git a/ResourceFiles/千魂·决战者/技能/升龙破空枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/升龙破空枪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/升龙破空枪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/升龙破空枪.png diff --git a/ResourceFiles/千魂·决战者/技能/双重刺击.png b/packages/renderer/imagesrc/characters/skirmisher/skill/双重刺击.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/双重刺击.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/双重刺击.png diff --git a/ResourceFiles/千魂·决战者/技能/双龙流云灭.png b/packages/renderer/imagesrc/characters/skirmisher/skill/双龙流云灭.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/双龙流云灭.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/双龙流云灭.png diff --git a/packages/renderer/imagesrc/characters/skirmisher/skill/基本攻击.png b/packages/renderer/imagesrc/characters/skirmisher/skill/基本攻击.png new file mode 100644 index 00000000..b757e8f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/skill/基本攻击.png differ diff --git a/ResourceFiles/皓曦·帕拉丁/技能/普通攻击.png b/packages/renderer/imagesrc/characters/skirmisher/skill/基础精通.png similarity index 100% rename from ResourceFiles/皓曦·帕拉丁/技能/普通攻击.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/基础精通.png diff --git a/ResourceFiles/千魂·决战者/技能/夺命雷霆枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/夺命雷霆枪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/夺命雷霆枪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/夺命雷霆枪.png diff --git a/packages/renderer/imagesrc/characters/skirmisher/skill/扫堂枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/扫堂枪.png new file mode 100644 index 00000000..0fd71f15 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/skill/扫堂枪.png differ diff --git a/ResourceFiles/千魂·决战者/技能/旋风枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/旋风枪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/旋风枪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/旋风枪.png diff --git a/ResourceFiles/千魂·决战者/技能/无双突刺.png b/packages/renderer/imagesrc/characters/skirmisher/skill/无双突刺.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/无双突刺.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/无双突刺.png diff --git a/ResourceFiles/千魂·决战者/技能/无畏波动枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/无畏波动枪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/无畏波动枪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/无畏波动枪.png diff --git a/ResourceFiles/千魂·决战者/技能/极影无形杀.png b/packages/renderer/imagesrc/characters/skirmisher/skill/极影无形杀.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/极影无形杀.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/极影无形杀.png diff --git a/ResourceFiles/千魂·决战者/技能/流云幻灭.png b/packages/renderer/imagesrc/characters/skirmisher/skill/流云幻灭.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/流云幻灭.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/流云幻灭.png diff --git a/ResourceFiles/千魂·决战者/技能/流光无影闪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/流光无影闪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/流光无影闪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/流光无影闪.png diff --git a/ResourceFiles/千魂·决战者/技能/狂龙怒啸.png b/packages/renderer/imagesrc/characters/skirmisher/skill/狂龙怒啸.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/狂龙怒啸.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/狂龙怒啸.png diff --git a/packages/renderer/imagesrc/characters/skirmisher/skill/落凤枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/落凤枪.png new file mode 100644 index 00000000..a59c7bf8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/skirmisher/skill/落凤枪.png differ diff --git a/ResourceFiles/千魂·决战者/技能/螺旋波动枪.png b/packages/renderer/imagesrc/characters/skirmisher/skill/螺旋波动枪.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/螺旋波动枪.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/螺旋波动枪.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:冥.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:冥.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:冥.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:冥.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:启.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:启.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:启.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:启.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:沐.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:沐.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:沐.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:沐.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:疾.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:疾.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:疾.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:疾.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:落.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:落.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:落.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:落.png diff --git a/ResourceFiles/千魂·决战者/技能/行云:风.png b/packages/renderer/imagesrc/characters/skirmisher/skill/行云:风.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/行云:风.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/行云:风.png diff --git a/ResourceFiles/千魂·决战者/技能/长枪精通.png b/packages/renderer/imagesrc/characters/skirmisher/skill/长枪精通.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/长枪精通.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/长枪精通.png diff --git a/ResourceFiles/千魂·决战者/技能/问鼎·千军破云.png b/packages/renderer/imagesrc/characters/skirmisher/skill/问鼎·千军破云.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/问鼎·千军破云.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/问鼎·千军破云.png diff --git a/ResourceFiles/千魂·决战者/技能/风火燎原.png b/packages/renderer/imagesrc/characters/skirmisher/skill/风火燎原.png similarity index 100% rename from ResourceFiles/千魂·决战者/技能/风火燎原.png rename to packages/renderer/imagesrc/characters/skirmisher/skill/风火燎原.png diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Adventure_3.png b/packages/renderer/imagesrc/characters/sorceress/material/Adventure_3.png new file mode 100644 index 00000000..086f755e Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Bust.png b/packages/renderer/imagesrc/characters/sorceress/material/Bust.png new file mode 100644 index 00000000..83434b9f Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Helper.png b/packages/renderer/imagesrc/characters/sorceress/material/Helper.png new file mode 100644 index 00000000..09541e97 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Large.png b/packages/renderer/imagesrc/characters/sorceress/material/Large.png new file mode 100644 index 00000000..da627675 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Large_2.png b/packages/renderer/imagesrc/characters/sorceress/material/Large_2.png new file mode 100644 index 00000000..79a894be Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Large_3.png b/packages/renderer/imagesrc/characters/sorceress/material/Large_3.png new file mode 100644 index 00000000..acf05a5e Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Seicing.png b/packages/renderer/imagesrc/characters/sorceress/material/Seicing.png new file mode 100644 index 00000000..76b8bf67 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Seicing_2.png b/packages/renderer/imagesrc/characters/sorceress/material/Seicing_2.png new file mode 100644 index 00000000..9b1b5c82 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Seicing_3.png b/packages/renderer/imagesrc/characters/sorceress/material/Seicing_3.png new file mode 100644 index 00000000..d4f6e9cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/material/Thumb.png b/packages/renderer/imagesrc/characters/sorceress/material/Thumb.png new file mode 100644 index 00000000..7655bc63 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/sorceress/profile.png b/packages/renderer/imagesrc/characters/sorceress/profile.png new file mode 100644 index 00000000..7b459339 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sorceress/profile.png differ diff --git a/ResourceFiles/神启·巫女/技能/BUFF.png b/packages/renderer/imagesrc/characters/sorceress/skill/BUFF.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/sorceress/skill/BUFF.png diff --git a/ResourceFiles/神启·巫女/技能/不动珠箔阵.png b/packages/renderer/imagesrc/characters/sorceress/skill/不动珠箔阵.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/不动珠箔阵.png rename to packages/renderer/imagesrc/characters/sorceress/skill/不动珠箔阵.png diff --git a/ResourceFiles/神启·巫女/技能/乾坤之境.png b/packages/renderer/imagesrc/characters/sorceress/skill/乾坤之境.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/乾坤之境.png rename to packages/renderer/imagesrc/characters/sorceress/skill/乾坤之境.png diff --git a/ResourceFiles/神启·巫女/技能/和合之玉.png b/packages/renderer/imagesrc/characters/sorceress/skill/和合之玉.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/和合之玉.png rename to packages/renderer/imagesrc/characters/sorceress/skill/和合之玉.png diff --git a/ResourceFiles/神启·巫女/技能/唤雷符.png b/packages/renderer/imagesrc/characters/sorceress/skill/唤雷符.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/唤雷符.png rename to packages/renderer/imagesrc/characters/sorceress/skill/唤雷符.png diff --git a/ResourceFiles/神启·巫女/技能/因果业火符.png b/packages/renderer/imagesrc/characters/sorceress/skill/因果业火符.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/因果业火符.png rename to packages/renderer/imagesrc/characters/sorceress/skill/因果业火符.png diff --git a/ResourceFiles/皓曦·龙骑士/技能/普通攻击(一轮).png b/packages/renderer/imagesrc/characters/sorceress/skill/基础精通.png similarity index 100% rename from ResourceFiles/皓曦·龙骑士/技能/普通攻击(一轮).png rename to packages/renderer/imagesrc/characters/sorceress/skill/基础精通.png diff --git a/ResourceFiles/神启·巫女/技能/天坠阴阳玉.png b/packages/renderer/imagesrc/characters/sorceress/skill/天坠阴阳玉.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/天坠阴阳玉.png rename to packages/renderer/imagesrc/characters/sorceress/skill/天坠阴阳玉.png diff --git a/ResourceFiles/神启·巫女/技能/天泽神龙阵.png b/packages/renderer/imagesrc/characters/sorceress/skill/天泽神龙阵.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/天泽神龙阵.png rename to packages/renderer/imagesrc/characters/sorceress/skill/天泽神龙阵.png diff --git a/ResourceFiles/神启·巫女/技能/夺命大念阵.png b/packages/renderer/imagesrc/characters/sorceress/skill/夺命大念阵.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/夺命大念阵.png rename to packages/renderer/imagesrc/characters/sorceress/skill/夺命大念阵.png diff --git a/ResourceFiles/神启·巫女/技能/念珠连射.png b/packages/renderer/imagesrc/characters/sorceress/skill/念珠连射.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/念珠连射.png rename to packages/renderer/imagesrc/characters/sorceress/skill/念珠连射.png diff --git a/ResourceFiles/神启·巫女/技能/木槵子经.png b/packages/renderer/imagesrc/characters/sorceress/skill/木槵子经.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/木槵子经.png rename to packages/renderer/imagesrc/characters/sorceress/skill/木槵子经.png diff --git a/ResourceFiles/神启·巫女/技能/束灵符.png b/packages/renderer/imagesrc/characters/sorceress/skill/束灵符.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/束灵符.png rename to packages/renderer/imagesrc/characters/sorceress/skill/束灵符.png diff --git a/ResourceFiles/神启·巫女/技能/百八念珠.png b/packages/renderer/imagesrc/characters/sorceress/skill/百八念珠.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/百八念珠.png rename to packages/renderer/imagesrc/characters/sorceress/skill/百八念珠.png diff --git a/ResourceFiles/神启·巫女/技能/祈雨祭.png b/packages/renderer/imagesrc/characters/sorceress/skill/祈雨祭.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/祈雨祭.png rename to packages/renderer/imagesrc/characters/sorceress/skill/祈雨祭.png diff --git a/ResourceFiles/神启·巫女/技能/神术强化.png b/packages/renderer/imagesrc/characters/sorceress/skill/神术强化.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/神术强化.png rename to packages/renderer/imagesrc/characters/sorceress/skill/神术强化.png diff --git a/ResourceFiles/神启·巫女/技能/神谕:神龙雷雨祭.png b/packages/renderer/imagesrc/characters/sorceress/skill/神谕:神龙雷雨祭.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/神谕:神龙雷雨祭.png rename to packages/renderer/imagesrc/characters/sorceress/skill/神谕:神龙雷雨祭.png diff --git a/ResourceFiles/神启·巫女/技能/神龙之舞·天一.png b/packages/renderer/imagesrc/characters/sorceress/skill/神龙之舞·天一.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/神龙之舞·天一.png rename to packages/renderer/imagesrc/characters/sorceress/skill/神龙之舞·天一.png diff --git a/ResourceFiles/神启·巫女/技能/神龙如意珠.png b/packages/renderer/imagesrc/characters/sorceress/skill/神龙如意珠.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/神龙如意珠.png rename to packages/renderer/imagesrc/characters/sorceress/skill/神龙如意珠.png diff --git a/ResourceFiles/神启·巫女/技能/缩地成寸.png b/packages/renderer/imagesrc/characters/sorceress/skill/缩地成寸.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/缩地成寸.png rename to packages/renderer/imagesrc/characters/sorceress/skill/缩地成寸.png diff --git a/ResourceFiles/神启·诱魔者/技能/罪业加身.png b/packages/renderer/imagesrc/characters/sorceress/skill/罪业加身.png similarity index 100% rename from ResourceFiles/神启·诱魔者/技能/罪业加身.png rename to packages/renderer/imagesrc/characters/sorceress/skill/罪业加身.png diff --git a/ResourceFiles/神启·巫女/技能/聚魂吸星符.png b/packages/renderer/imagesrc/characters/sorceress/skill/聚魂吸星符.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/聚魂吸星符.png rename to packages/renderer/imagesrc/characters/sorceress/skill/聚魂吸星符.png diff --git a/ResourceFiles/神启·巫女/技能/退魔阴阳符.png b/packages/renderer/imagesrc/characters/sorceress/skill/退魔阴阳符.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/退魔阴阳符.png rename to packages/renderer/imagesrc/characters/sorceress/skill/退魔阴阳符.png diff --git a/ResourceFiles/神启·巫女/技能/驱邪咒.png b/packages/renderer/imagesrc/characters/sorceress/skill/驱邪咒.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/驱邪咒.png rename to packages/renderer/imagesrc/characters/sorceress/skill/驱邪咒.png diff --git a/ResourceFiles/神启·巫女/技能/龙威如狱·龙恩如海.png b/packages/renderer/imagesrc/characters/sorceress/skill/龙威如狱·龙恩如海.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/龙威如狱·龙恩如海.png rename to packages/renderer/imagesrc/characters/sorceress/skill/龙威如狱·龙恩如海.png diff --git a/ResourceFiles/神启·巫女/技能/龙神之力.png b/packages/renderer/imagesrc/characters/sorceress/skill/龙神之力.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/龙神之力.png rename to packages/renderer/imagesrc/characters/sorceress/skill/龙神之力.png diff --git a/ResourceFiles/神启·巫女/技能/龙魂之怒.png b/packages/renderer/imagesrc/characters/sorceress/skill/龙魂之怒.png similarity index 100% rename from ResourceFiles/神启·巫女/技能/龙魂之怒.png rename to packages/renderer/imagesrc/characters/sorceress/skill/龙魂之怒.png diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Adventure_3.png b/packages/renderer/imagesrc/characters/soul_bender/material/Adventure_3.png new file mode 100644 index 00000000..454586ff Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Bust.png b/packages/renderer/imagesrc/characters/soul_bender/material/Bust.png new file mode 100644 index 00000000..5937e16a Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Helper.png b/packages/renderer/imagesrc/characters/soul_bender/material/Helper.png new file mode 100644 index 00000000..570074e8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Large.png b/packages/renderer/imagesrc/characters/soul_bender/material/Large.png new file mode 100644 index 00000000..9366ec18 Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Large_2.png b/packages/renderer/imagesrc/characters/soul_bender/material/Large_2.png new file mode 100644 index 00000000..5013ad2f Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Large_3.png b/packages/renderer/imagesrc/characters/soul_bender/material/Large_3.png new file mode 100644 index 00000000..62a240e2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Seicing.png b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing.png new file mode 100644 index 00000000..bfad129b Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_2.png b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_2.png new file mode 100644 index 00000000..b1bf57bf Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_3.png b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_3.png new file mode 100644 index 00000000..360a528a Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/material/Thumb.png b/packages/renderer/imagesrc/characters/soul_bender/material/Thumb.png new file mode 100644 index 00000000..916267e3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/soul_bender/profile.png b/packages/renderer/imagesrc/characters/soul_bender/profile.png new file mode 100644 index 00000000..c89b5ce3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/soul_bender/profile.png differ diff --git a/ResourceFiles/极诣·鬼泣/技能/208.png b/packages/renderer/imagesrc/characters/soul_bender/skill/208.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/208.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/208.png diff --git a/ResourceFiles/极诣·鬼泣/技能/buff.png b/packages/renderer/imagesrc/characters/soul_bender/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/buff.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/BUFF.png diff --git a/ResourceFiles/极诣·鬼泣/技能/侵蚀之普戾蒙.png b/packages/renderer/imagesrc/characters/soul_bender/skill/侵蚀之普戾蒙.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/侵蚀之普戾蒙.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/侵蚀之普戾蒙.png diff --git a/ResourceFiles/极诣·鬼泣/技能/冥炎之卡洛(灼烧).png b/packages/renderer/imagesrc/characters/soul_bender/skill/冥炎之卡洛(灼烧).png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/冥炎之卡洛(灼烧).png rename to packages/renderer/imagesrc/characters/soul_bender/skill/冥炎之卡洛(灼烧).png diff --git a/ResourceFiles/极诣·鬼泣/技能/冥炎之卡洛.png b/packages/renderer/imagesrc/characters/soul_bender/skill/冥炎之卡洛.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/冥炎之卡洛.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/冥炎之卡洛.png diff --git a/ResourceFiles/极诣·鬼泣/技能/冥炎剑.png b/packages/renderer/imagesrc/characters/soul_bender/skill/冥炎剑.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/冥炎剑.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/冥炎剑.png diff --git a/ResourceFiles/极诣·鬼泣/技能/冥祭之沼.png b/packages/renderer/imagesrc/characters/soul_bender/skill/冥祭之沼.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/冥祭之沼.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/冥祭之沼.png diff --git a/ResourceFiles/极诣·鬼泣/技能/冰霜之萨亚.png b/packages/renderer/imagesrc/characters/soul_bender/skill/冰霜之萨亚.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/冰霜之萨亚.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/冰霜之萨亚.png diff --git a/ResourceFiles/极诣·鬼泣/技能/刀魂之卡赞.png b/packages/renderer/imagesrc/characters/soul_bender/skill/刀魂之卡赞.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/刀魂之卡赞.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/刀魂之卡赞.png diff --git a/ResourceFiles/极诣·鬼泣/技能/噬灵鬼斩.png b/packages/renderer/imagesrc/characters/soul_bender/skill/噬灵鬼斩.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/噬灵鬼斩.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/噬灵鬼斩.png diff --git a/ResourceFiles/神启·驱魔师/技能/普通攻击.png b/packages/renderer/imagesrc/characters/soul_bender/skill/基础精通.png similarity index 100% rename from ResourceFiles/神启·驱魔师/技能/普通攻击.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/基础精通.png diff --git a/ResourceFiles/极诣·鬼泣/技能/太刀精通.png b/packages/renderer/imagesrc/characters/soul_bender/skill/太刀精通.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/太刀精通.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/太刀精通.png diff --git a/ResourceFiles/极诣·鬼泣/技能/幽魂之布雷德.png b/packages/renderer/imagesrc/characters/soul_bender/skill/幽魂之布雷德.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/幽魂之布雷德.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/幽魂之布雷德.png diff --git a/ResourceFiles/极诣·鬼泣/技能/幽魂降临:式.png b/packages/renderer/imagesrc/characters/soul_bender/skill/幽魂降临:式.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/幽魂降临:式.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/幽魂降临:式.png diff --git a/ResourceFiles/极诣·鬼泣/技能/御鬼之极.png b/packages/renderer/imagesrc/characters/soul_bender/skill/御鬼之极.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/御鬼之极.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/御鬼之极.png diff --git a/ResourceFiles/极诣·鬼泣/技能/恐惧光环.png b/packages/renderer/imagesrc/characters/soul_bender/skill/恐惧光环.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/恐惧光环.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/恐惧光环.png diff --git a/ResourceFiles/极诣·鬼泣/技能/暗月降临.png b/packages/renderer/imagesrc/characters/soul_bender/skill/暗月降临.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/暗月降临.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/暗月降临.png diff --git a/ResourceFiles/极诣·鬼泣/技能/月光斩.png b/packages/renderer/imagesrc/characters/soul_bender/skill/月光斩.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/月光斩.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/月光斩.png diff --git a/ResourceFiles/极诣·鬼泣/技能/死亡墓碑.png b/packages/renderer/imagesrc/characters/soul_bender/skill/死亡墓碑.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/死亡墓碑.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/死亡墓碑.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼影步.png b/packages/renderer/imagesrc/characters/soul_bender/skill/残影之凯贾.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼影步.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/残影之凯贾.png diff --git a/ResourceFiles/极诣·鬼泣/技能/王者号令:吉格降临.png b/packages/renderer/imagesrc/characters/soul_bender/skill/王者号令:吉格降临.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/王者号令:吉格降临.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/王者号令:吉格降临.png diff --git a/ResourceFiles/极诣·鬼泣/技能/瘟疫之罗刹.png b/packages/renderer/imagesrc/characters/soul_bender/skill/瘟疫之罗刹.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/瘟疫之罗刹.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/瘟疫之罗刹.png diff --git a/ResourceFiles/极诣·鬼泣/技能/短剑精通.png b/packages/renderer/imagesrc/characters/soul_bender/skill/短剑精通.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/短剑精通.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/短剑精通.png diff --git a/ResourceFiles/极诣·鬼泣/技能/第七鬼神:邪神怖之拉修.png b/packages/renderer/imagesrc/characters/soul_bender/skill/第七鬼神:邪神之怖拉修.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/第七鬼神:邪神怖之拉修.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/第七鬼神:邪神之怖拉修.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼影闪.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼影闪.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼影闪.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼影闪.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼影鞭.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼影鞭.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼影鞭.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼影鞭.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼斩.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼斩.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼斩:炼狱.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩:炼狱.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼斩:炼狱.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩:炼狱.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼斩:狂怒.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩:狂怒.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼斩:狂怒.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼斩:狂怒.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼神冠冕.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼神冠冕.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼神冠冕.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼神冠冕.png diff --git a/ResourceFiles/极诣·鬼泣/技能/鬼神剑·黄泉摆渡.png b/packages/renderer/imagesrc/characters/soul_bender/skill/鬼神剑·黄泉摆渡.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/鬼神剑·黄泉摆渡.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/鬼神剑·黄泉摆渡.png diff --git a/ResourceFiles/极诣·鬼泣/技能/黄泉之门:万鬼度灵.png b/packages/renderer/imagesrc/characters/soul_bender/skill/黄泉之门:万鬼度灵.png similarity index 100% rename from ResourceFiles/极诣·鬼泣/技能/黄泉之门:万鬼度灵.png rename to packages/renderer/imagesrc/characters/soul_bender/skill/黄泉之门:万鬼度灵.png diff --git a/packages/renderer/imagesrc/characters/specialist/material/Adventure_3.png b/packages/renderer/imagesrc/characters/specialist/material/Adventure_3.png new file mode 100644 index 00000000..02dc76cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Bust.png b/packages/renderer/imagesrc/characters/specialist/material/Bust.png new file mode 100644 index 00000000..3eed3774 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Helper.png b/packages/renderer/imagesrc/characters/specialist/material/Helper.png new file mode 100644 index 00000000..a19c311b Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Large.png b/packages/renderer/imagesrc/characters/specialist/material/Large.png new file mode 100644 index 00000000..7c042bec Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Large_2.png b/packages/renderer/imagesrc/characters/specialist/material/Large_2.png new file mode 100644 index 00000000..822ef500 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Large_3.png b/packages/renderer/imagesrc/characters/specialist/material/Large_3.png new file mode 100644 index 00000000..d177693e Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Seicing.png b/packages/renderer/imagesrc/characters/specialist/material/Seicing.png new file mode 100644 index 00000000..bfa063f2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Seicing_2.png b/packages/renderer/imagesrc/characters/specialist/material/Seicing_2.png new file mode 100644 index 00000000..9df8f9d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Seicing_3.png b/packages/renderer/imagesrc/characters/specialist/material/Seicing_3.png new file mode 100644 index 00000000..5ea1cb97 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/material/Thumb.png b/packages/renderer/imagesrc/characters/specialist/material/Thumb.png new file mode 100644 index 00000000..257c25b6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/specialist/profile.png b/packages/renderer/imagesrc/characters/specialist/profile.png new file mode 100644 index 00000000..9ce6f08a Binary files /dev/null and b/packages/renderer/imagesrc/characters/specialist/profile.png differ diff --git a/ResourceFiles/苍暮·源能专家/技能/BUFF.png b/packages/renderer/imagesrc/characters/specialist/skill/BUFF.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/BUFF.png rename to packages/renderer/imagesrc/characters/specialist/skill/BUFF.png diff --git a/ResourceFiles/苍暮·源能专家/技能/CEAB-2超能爆发.png b/packages/renderer/imagesrc/characters/specialist/skill/CEAB-2超能爆发.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/CEAB-2超能爆发.png rename to packages/renderer/imagesrc/characters/specialist/skill/CEAB-2超能爆发.png diff --git a/ResourceFiles/苍暮·源能专家/技能/临界源能弹.png b/packages/renderer/imagesrc/characters/specialist/skill/临界源能弹.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/临界源能弹.png rename to packages/renderer/imagesrc/characters/specialist/skill/临界源能弹.png diff --git a/ResourceFiles/苍暮·源能专家/技能/光导裂地斩.png b/packages/renderer/imagesrc/characters/specialist/skill/光导裂地斩.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/光导裂地斩.png rename to packages/renderer/imagesrc/characters/specialist/skill/光导裂地斩.png diff --git a/ResourceFiles/苍暮·源能专家/技能/光裂斩.png b/packages/renderer/imagesrc/characters/specialist/skill/光裂斩.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/光裂斩.png rename to packages/renderer/imagesrc/characters/specialist/skill/光裂斩.png diff --git a/ResourceFiles/苍暮·源能专家/技能/奇点源核.png b/packages/renderer/imagesrc/characters/specialist/skill/奇点源核.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/奇点源核.png rename to packages/renderer/imagesrc/characters/specialist/skill/奇点源核.png diff --git a/ResourceFiles/苍暮·源能专家/技能/引力源光弹.png b/packages/renderer/imagesrc/characters/specialist/skill/引力源光弹.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/引力源光弹.png rename to packages/renderer/imagesrc/characters/specialist/skill/引力源光弹.png diff --git a/ResourceFiles/苍暮·源能专家/技能/旋转源能波.png b/packages/renderer/imagesrc/characters/specialist/skill/旋转源能波.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/旋转源能波.png rename to packages/renderer/imagesrc/characters/specialist/skill/旋转源能波.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源光斩.png b/packages/renderer/imagesrc/characters/specialist/skill/源光斩.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源光斩.png rename to packages/renderer/imagesrc/characters/specialist/skill/源光斩.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源力剑精通.png b/packages/renderer/imagesrc/characters/specialist/skill/源力剑精通.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源力剑精通.png rename to packages/renderer/imagesrc/characters/specialist/skill/源力剑精通.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源力汇聚.png b/packages/renderer/imagesrc/characters/specialist/skill/源力汇聚.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源力汇聚.png rename to packages/renderer/imagesrc/characters/specialist/skill/源力汇聚.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源能场域:黑暗边缘.png b/packages/renderer/imagesrc/characters/specialist/skill/源能场域:黑暗边缘.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源能场域:黑暗边缘.png rename to packages/renderer/imagesrc/characters/specialist/skill/源能场域:黑暗边缘.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源能增幅.png b/packages/renderer/imagesrc/characters/specialist/skill/源能增幅.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源能增幅.png rename to packages/renderer/imagesrc/characters/specialist/skill/源能增幅.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源能护盾.png b/packages/renderer/imagesrc/characters/specialist/skill/源能护盾.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源能护盾.png rename to packages/renderer/imagesrc/characters/specialist/skill/源能护盾.png diff --git a/ResourceFiles/苍暮·源能专家/技能/源能波刃.png b/packages/renderer/imagesrc/characters/specialist/skill/源能波刃.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/源能波刃.png rename to packages/renderer/imagesrc/characters/specialist/skill/源能波刃.png diff --git a/ResourceFiles/苍暮·源能专家/技能/电磁领域.png b/packages/renderer/imagesrc/characters/specialist/skill/电磁领域.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/电磁领域.png rename to packages/renderer/imagesrc/characters/specialist/skill/电磁领域.png diff --git a/ResourceFiles/苍暮·源能专家/技能/离散能量波.png b/packages/renderer/imagesrc/characters/specialist/skill/离散能量波.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/离散能量波.png rename to packages/renderer/imagesrc/characters/specialist/skill/离散能量波.png diff --git a/ResourceFiles/苍暮·源能专家/技能/细胞弱化.png b/packages/renderer/imagesrc/characters/specialist/skill/细胞弱化.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/细胞弱化.png rename to packages/renderer/imagesrc/characters/specialist/skill/细胞弱化.png diff --git a/ResourceFiles/苍暮·源能专家/技能/终焉:超世界崩坏.png b/packages/renderer/imagesrc/characters/specialist/skill/终焉:超世界崩坏.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/终焉:超世界崩坏.png rename to packages/renderer/imagesrc/characters/specialist/skill/终焉:超世界崩坏.png diff --git a/ResourceFiles/苍暮·源能专家/技能/绝望圆舞.png b/packages/renderer/imagesrc/characters/specialist/skill/绝望圆舞.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/绝望圆舞.png rename to packages/renderer/imagesrc/characters/specialist/skill/绝望圆舞.png diff --git a/ResourceFiles/苍暮·源能专家/技能/能量禁锢.png b/packages/renderer/imagesrc/characters/specialist/skill/能量禁锢.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/能量禁锢.png rename to packages/renderer/imagesrc/characters/specialist/skill/能量禁锢.png diff --git a/ResourceFiles/苍暮·源能专家/技能/能量飞鱼弹.png b/packages/renderer/imagesrc/characters/specialist/skill/能量飞鱼弹.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/能量飞鱼弹.png rename to packages/renderer/imagesrc/characters/specialist/skill/能量飞鱼弹.png diff --git a/ResourceFiles/苍暮·源能专家/技能/脉冲斩.png b/packages/renderer/imagesrc/characters/specialist/skill/脉冲斩.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/脉冲斩.png rename to packages/renderer/imagesrc/characters/specialist/skill/脉冲斩.png diff --git a/ResourceFiles/苍暮·源能专家/技能/超能场域.png b/packages/renderer/imagesrc/characters/specialist/skill/超能场域.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/超能场域.png rename to packages/renderer/imagesrc/characters/specialist/skill/超能场域.png diff --git a/ResourceFiles/苍暮·源能专家/技能/镭射源能枪.png b/packages/renderer/imagesrc/characters/specialist/skill/镭射源能枪.png similarity index 100% rename from ResourceFiles/苍暮·源能专家/技能/镭射源能枪.png rename to packages/renderer/imagesrc/characters/specialist/skill/镭射源能枪.png diff --git a/packages/renderer/imagesrc/characters/spectre/material/Adventure_3.png b/packages/renderer/imagesrc/characters/spectre/material/Adventure_3.png new file mode 100644 index 00000000..29e6e1d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Bust.png b/packages/renderer/imagesrc/characters/spectre/material/Bust.png new file mode 100644 index 00000000..a89c616c Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Helper.png b/packages/renderer/imagesrc/characters/spectre/material/Helper.png new file mode 100644 index 00000000..5905856b Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Large.png b/packages/renderer/imagesrc/characters/spectre/material/Large.png new file mode 100644 index 00000000..15594707 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Large_2.png b/packages/renderer/imagesrc/characters/spectre/material/Large_2.png new file mode 100644 index 00000000..21e7e940 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Large_3.png b/packages/renderer/imagesrc/characters/spectre/material/Large_3.png new file mode 100644 index 00000000..13661c2f Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Seicing.png b/packages/renderer/imagesrc/characters/spectre/material/Seicing.png new file mode 100644 index 00000000..cefe3fc0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Seicing_2.png b/packages/renderer/imagesrc/characters/spectre/material/Seicing_2.png new file mode 100644 index 00000000..6410c9ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Seicing_3.png b/packages/renderer/imagesrc/characters/spectre/material/Seicing_3.png new file mode 100644 index 00000000..4301755d Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/material/Thumb.png b/packages/renderer/imagesrc/characters/spectre/material/Thumb.png new file mode 100644 index 00000000..56ff2b1c Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/spectre/profile.png b/packages/renderer/imagesrc/characters/spectre/profile.png new file mode 100644 index 00000000..954f329a Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/profile.png differ diff --git a/ResourceFiles/极诣·刃影/技能/BUFF.png b/packages/renderer/imagesrc/characters/spectre/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/BUFF.png rename to packages/renderer/imagesrc/characters/spectre/skill/BUFF.png diff --git a/ResourceFiles/极诣·刃影/技能/冲击斩.png b/packages/renderer/imagesrc/characters/spectre/skill/冲击斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/冲击斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/冲击斩.png diff --git a/ResourceFiles/极诣·刃影/技能/刃之决意.png b/packages/renderer/imagesrc/characters/spectre/skill/刃之决意.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/刃之决意.png rename to packages/renderer/imagesrc/characters/spectre/skill/刃之决意.png diff --git a/ResourceFiles/极诣·刃影/技能/利刃旋风.png b/packages/renderer/imagesrc/characters/spectre/skill/利刃旋风.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/利刃旋风.png rename to packages/renderer/imagesrc/characters/spectre/skill/利刃旋风.png diff --git a/ResourceFiles/极诣·刃影/技能/双重斩.png b/packages/renderer/imagesrc/characters/spectre/skill/双重斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/双重斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/双重斩.png diff --git a/ResourceFiles/极诣·刃影/技能/回旋勾斩.png b/packages/renderer/imagesrc/characters/spectre/skill/回旋勾斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/回旋勾斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/回旋勾斩.png diff --git a/ResourceFiles/极诣·刃影/技能/回旋十字斩.png b/packages/renderer/imagesrc/characters/spectre/skill/回旋十字斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/回旋十字斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/回旋十字斩.png diff --git a/packages/renderer/imagesrc/characters/spectre/skill/基础精通.png b/packages/renderer/imagesrc/characters/spectre/skill/基础精通.png new file mode 100644 index 00000000..b27b856a Binary files /dev/null and b/packages/renderer/imagesrc/characters/spectre/skill/基础精通.png differ diff --git a/ResourceFiles/极诣·刃影/技能/夜之风.png b/packages/renderer/imagesrc/characters/spectre/skill/夜之风.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/夜之风.png rename to packages/renderer/imagesrc/characters/spectre/skill/夜之风.png diff --git a/ResourceFiles/极诣·刃影/技能/夜色杀意.png b/packages/renderer/imagesrc/characters/spectre/skill/夜色杀意.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/夜色杀意.png rename to packages/renderer/imagesrc/characters/spectre/skill/夜色杀意.png diff --git a/ResourceFiles/极诣·刃影/技能/孤勇之志.png b/packages/renderer/imagesrc/characters/spectre/skill/孤勇之志.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/孤勇之志.png rename to packages/renderer/imagesrc/characters/spectre/skill/孤勇之志.png diff --git a/ResourceFiles/极诣·刃影/技能/封喉丝.png b/packages/renderer/imagesrc/characters/spectre/skill/封喉丝.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/封喉丝.png rename to packages/renderer/imagesrc/characters/spectre/skill/封喉丝.png diff --git a/ResourceFiles/极诣·刃影/技能/悬丝风暴.png b/packages/renderer/imagesrc/characters/spectre/skill/悬丝风暴.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/悬丝风暴.png rename to packages/renderer/imagesrc/characters/spectre/skill/悬丝风暴.png diff --git a/ResourceFiles/极诣·刃影/技能/收刀秘术.png b/packages/renderer/imagesrc/characters/spectre/skill/收刀秘术.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/收刀秘术.png rename to packages/renderer/imagesrc/characters/spectre/skill/收刀秘术.png diff --git a/ResourceFiles/极诣·刃影/技能/无情夜行.png b/packages/renderer/imagesrc/characters/spectre/skill/无情夜行.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/无情夜行.png rename to packages/renderer/imagesrc/characters/spectre/skill/无情夜行.png diff --git a/ResourceFiles/极诣·刃影/技能/沉寂之狱.png b/packages/renderer/imagesrc/characters/spectre/skill/沉寂之狱.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/沉寂之狱.png rename to packages/renderer/imagesrc/characters/spectre/skill/沉寂之狱.png diff --git a/ResourceFiles/极诣·刃影/技能/疾刃之影.png b/packages/renderer/imagesrc/characters/spectre/skill/疾刃之影.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/疾刃之影.png rename to packages/renderer/imagesrc/characters/spectre/skill/疾刃之影.png diff --git a/ResourceFiles/极诣·刃影/技能/白牙落斩.png b/packages/renderer/imagesrc/characters/spectre/skill/白牙落斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/白牙落斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/白牙落斩.png diff --git a/ResourceFiles/极诣·刃影/技能/瞬影碎魂击.png b/packages/renderer/imagesrc/characters/spectre/skill/瞬影碎魂击.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/瞬影碎魂击.png rename to packages/renderer/imagesrc/characters/spectre/skill/瞬影碎魂击.png diff --git a/ResourceFiles/极诣·刃影/技能/秘术·心斩.png b/packages/renderer/imagesrc/characters/spectre/skill/秘术·心斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/秘术·心斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/秘术·心斩.png diff --git a/ResourceFiles/极诣·刃影/技能/秘术·曜夜斩.png b/packages/renderer/imagesrc/characters/spectre/skill/秘术·曜夜斩.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/秘术·曜夜斩.png rename to packages/renderer/imagesrc/characters/spectre/skill/秘术·曜夜斩.png diff --git a/ResourceFiles/极诣·刃影/技能/秘术·雨夜终曲.png b/packages/renderer/imagesrc/characters/spectre/skill/秘术·雨夜终曲.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/秘术·雨夜终曲.png rename to packages/renderer/imagesrc/characters/spectre/skill/秘术·雨夜终曲.png diff --git a/ResourceFiles/极诣·刃影/技能/绚烂之舞.png b/packages/renderer/imagesrc/characters/spectre/skill/绚烂之舞.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/绚烂之舞.png rename to packages/renderer/imagesrc/characters/spectre/skill/绚烂之舞.png diff --git a/ResourceFiles/极诣·刃影/技能/薄暮利刃.png b/packages/renderer/imagesrc/characters/spectre/skill/薄暮利刃.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/薄暮利刃.png rename to packages/renderer/imagesrc/characters/spectre/skill/薄暮利刃.png diff --git a/ResourceFiles/极诣·刃影/技能/追命索魂丝.png b/packages/renderer/imagesrc/characters/spectre/skill/追命索魂丝.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/追命索魂丝.png rename to packages/renderer/imagesrc/characters/spectre/skill/追命索魂丝.png diff --git a/ResourceFiles/极诣·刃影/技能/鬼缚钉.png b/packages/renderer/imagesrc/characters/spectre/skill/鬼缚钉.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/鬼缚钉.png rename to packages/renderer/imagesrc/characters/spectre/skill/鬼缚钉.png diff --git a/ResourceFiles/极诣·刃影/技能/黑夜之花.png b/packages/renderer/imagesrc/characters/spectre/skill/黑夜之花.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/黑夜之花.png rename to packages/renderer/imagesrc/characters/spectre/skill/黑夜之花.png diff --git a/ResourceFiles/极诣·刃影/技能/黑曜真刃·破晓.png b/packages/renderer/imagesrc/characters/spectre/skill/黑曜真刃·破晓.png similarity index 100% rename from ResourceFiles/极诣·刃影/技能/黑曜真刃·破晓.png rename to packages/renderer/imagesrc/characters/spectre/skill/黑曜真刃·破晓.png diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Adventure_3.png new file mode 100644 index 00000000..0a5c084c Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Bust.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Bust.png new file mode 100644 index 00000000..b3a56c50 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Helper.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Helper.png new file mode 100644 index 00000000..712b01a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Large.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Large.png new file mode 100644 index 00000000..f47c8916 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Large_2.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Large_2.png new file mode 100644 index 00000000..eb772727 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Large_3.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Large_3.png new file mode 100644 index 00000000..d7cf6ad4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing.png new file mode 100644 index 00000000..868a4c55 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_2.png new file mode 100644 index 00000000..816f7b20 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_3.png new file mode 100644 index 00000000..c94f90f8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/material/Thumb.png b/packages/renderer/imagesrc/characters/spitfire_female/material/Thumb.png new file mode 100644 index 00000000..86134a5a Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_female/profile.png b/packages/renderer/imagesrc/characters/spitfire_female/profile.png new file mode 100644 index 00000000..9f6babcf Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/profile.png differ diff --git a/ResourceFiles/重霄·弹药专家·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/BUFF.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/C4飞弹.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/C4飞弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/C4飞弹.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/C4飞弹.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/EMP磁暴.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/EMP磁暴.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/EMP磁暴.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/EMP磁暴.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/G18冰冻手雷.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/G18冰冻手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/G18冰冻手雷.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/G18冰冻手雷.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/G35感电手雷.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/G35感电手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/G35感电手雷.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/G35感电手雷.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/G61重力手雷.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/G61重力手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/G61重力手雷.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/G61重力手雷.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/G96热压手雷.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/G96热压手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/G96热压手雷.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/G96热压手雷.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/M18阔剑地雷.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/M18阔剑地雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/M18阔剑地雷.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/M18阔剑地雷.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/交叉射击.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/交叉射击.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/交叉射击.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/交叉射击.png diff --git a/packages/renderer/imagesrc/characters/spitfire_female/skill/光子霰雷发射器.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/光子霰雷发射器.png new file mode 100644 index 00000000..64e717dd Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/skill/光子霰雷发射器.png differ diff --git a/ResourceFiles/重霄·弹药专家·女/技能/兵器研究.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/兵器研究.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/兵器研究.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/兵器研究.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/决战之日.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/决战之日.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/决战之日.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/决战之日.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/凝固汽油弹.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/凝固汽油弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/凝固汽油弹.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/凝固汽油弹.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/制空掌握.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/制空掌握.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/制空掌握.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/制空掌握.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/单兵推进器-02X.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/单兵推进器-02X.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/单兵推进器-02X.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/单兵推进器-02X.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/单兵推进器.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/单兵推进器.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/单兵推进器.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/单兵推进器.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/开火.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/开火.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/开火.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/开火.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/弹药强化.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/弹药强化.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/弹药强化.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/弹药强化.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/弹药改良.PNG b/packages/renderer/imagesrc/characters/spitfire_female/skill/弹药改良.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/弹药改良.PNG rename to packages/renderer/imagesrc/characters/spitfire_female/skill/弹药改良.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/手雷精通.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/手雷精通.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/手雷精通.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/手雷精通.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/爆裂弹.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/爆裂弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/爆裂弹.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/爆裂弹.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/空中射击.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/空中射击.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/空中射击.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/空中射击.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/空袭战略.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/空袭战略.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/空袭战略.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/空袭战略.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/终解·制空霸权.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/终解·制空霸权.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/终解·制空霸权.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/终解·制空霸权.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/聚合弹.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/聚合弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/聚合弹.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/聚合弹.png diff --git a/packages/renderer/imagesrc/characters/spitfire_female/skill/超真空弹:切利.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/超真空弹:切利.png new file mode 100644 index 00000000..5756b5ab Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_female/skill/超真空弹:切利.png differ diff --git a/ResourceFiles/重霄·弹药专家·女/技能/轻火力速射.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/轻火力速射.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/轻火力速射.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/轻火力速射.png diff --git a/ResourceFiles/重霄·弹药专家·女/技能/镭射狙击.png b/packages/renderer/imagesrc/characters/spitfire_female/skill/镭射狙击.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·女/技能/镭射狙击.png rename to packages/renderer/imagesrc/characters/spitfire_female/skill/镭射狙击.png diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Adventure_3.png new file mode 100644 index 00000000..d1cdca80 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Bust.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Bust.png new file mode 100644 index 00000000..e7ef21a1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Helper.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Helper.png new file mode 100644 index 00000000..5bb11d29 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Large.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Large.png new file mode 100644 index 00000000..4f53c9d1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Large_2.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Large_2.png new file mode 100644 index 00000000..f3740fe5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Large_3.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Large_3.png new file mode 100644 index 00000000..56aba32d Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing.png new file mode 100644 index 00000000..0cec9da9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_2.png new file mode 100644 index 00000000..271037ce Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_3.png new file mode 100644 index 00000000..55def89e Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/material/Thumb.png b/packages/renderer/imagesrc/characters/spitfire_male/material/Thumb.png new file mode 100644 index 00000000..8c9be0a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/spitfire_male/profile.png b/packages/renderer/imagesrc/characters/spitfire_male/profile.png new file mode 100644 index 00000000..901907cb Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/profile.png differ diff --git a/ResourceFiles/重霄·弹药专家·男/技能/BUFF.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/BUFF.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/BUFF.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/C4飞弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/C4飞弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/C4飞弹.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/C4飞弹.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/G18冰冻手雷.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/G18冰冻手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/G18冰冻手雷.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/G18冰冻手雷.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/G35感电手雷.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/G35感电手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/G35感电手雷.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/G35感电手雷.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/G38ARG智能手雷.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/G38ARG智能手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/G38ARG智能手雷.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/G38ARG智能手雷.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/G61重力手雷.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/G61重力手雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/G61重力手雷.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/G61重力手雷.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/M18阔剑地雷.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/M18阔剑地雷.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/M18阔剑地雷.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/M18阔剑地雷.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/交叉射击.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/交叉射击.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/交叉射击.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/交叉射击.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/兵器研究.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/兵器研究.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/兵器研究.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/兵器研究.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/凝固汽油弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/凝固汽油弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/凝固汽油弹.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/凝固汽油弹.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/弹夹改装.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/弹夹改装.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/弹夹改装.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/弹夹改装.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/弹药主宰.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/弹药主宰.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/弹药主宰.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/弹药主宰.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/弹药改良.PNG b/packages/renderer/imagesrc/characters/spitfire_male/skill/弹药改良.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/弹药改良.PNG rename to packages/renderer/imagesrc/characters/spitfire_male/skill/弹药改良.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/战地功勋.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/战地功勋.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/战地功勋.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/战地功勋.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/手雷精通.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/手雷精通.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/手雷精通.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/手雷精通.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/爆裂弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/爆裂弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/爆裂弹.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/爆裂弹.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/尼尔狙击.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/狙击手增援.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/尼尔狙击.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/狙击手增援.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/高压电磁弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/电磁弹:麦克斯韦.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/高压电磁弹.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/电磁弹:麦克斯韦.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/皇鹰特战队.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/皇鹰特战队.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/皇鹰特战队.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/皇鹰特战队.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/聚合弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/聚合弹.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/聚合弹.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/聚合弹.png diff --git a/packages/renderer/imagesrc/characters/spitfire_male/skill/贯穿弹.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/贯穿弹.png new file mode 100644 index 00000000..7d638f89 Binary files /dev/null and b/packages/renderer/imagesrc/characters/spitfire_male/skill/贯穿弹.png differ diff --git a/ResourceFiles/重霄·弹药专家·男/技能/赤诚之心.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/赤诚之心.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/赤诚之心.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/赤诚之心.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/赤魂风暴狙击.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/赤魂风暴狙击.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/赤魂风暴狙击.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/赤魂风暴狙击.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/超新星核爆.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/超新星核爆.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/超新星核爆.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/超新星核爆.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/重火力支援.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/重火力支援.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/重火力支援.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/重火力支援.png diff --git a/ResourceFiles/重霄·弹药专家·男/技能/黑玫瑰特种战队.png b/packages/renderer/imagesrc/characters/spitfire_male/skill/黑玫瑰特种战队.png similarity index 100% rename from ResourceFiles/重霄·弹药专家·男/技能/黑玫瑰特种战队.png rename to packages/renderer/imagesrc/characters/spitfire_male/skill/黑玫瑰特种战队.png diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Adventure_3.png b/packages/renderer/imagesrc/characters/striker_female/material/Adventure_3.png new file mode 100644 index 00000000..586dcb04 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Bust.png b/packages/renderer/imagesrc/characters/striker_female/material/Bust.png new file mode 100644 index 00000000..eb7fa4dd Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Helper.png b/packages/renderer/imagesrc/characters/striker_female/material/Helper.png new file mode 100644 index 00000000..cc5885c3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Large.png b/packages/renderer/imagesrc/characters/striker_female/material/Large.png new file mode 100644 index 00000000..b043c4bd Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Large_2.png b/packages/renderer/imagesrc/characters/striker_female/material/Large_2.png new file mode 100644 index 00000000..3f1353e8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Large_3.png b/packages/renderer/imagesrc/characters/striker_female/material/Large_3.png new file mode 100644 index 00000000..90bcf8cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Seicing.png b/packages/renderer/imagesrc/characters/striker_female/material/Seicing.png new file mode 100644 index 00000000..584f711f Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Seicing_2.png b/packages/renderer/imagesrc/characters/striker_female/material/Seicing_2.png new file mode 100644 index 00000000..3c4ba9a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Seicing_3.png b/packages/renderer/imagesrc/characters/striker_female/material/Seicing_3.png new file mode 100644 index 00000000..b60e0ece Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/material/Thumb.png b/packages/renderer/imagesrc/characters/striker_female/material/Thumb.png new file mode 100644 index 00000000..dfe7b111 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/striker_female/profile.png b/packages/renderer/imagesrc/characters/striker_female/profile.png new file mode 100644 index 00000000..598ebeab Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_female/profile.png differ diff --git a/ResourceFiles/归元·散打·女/技能/BUFF.png b/packages/renderer/imagesrc/characters/striker_female/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/BUFF.png rename to packages/renderer/imagesrc/characters/striker_female/skill/BUFF.png diff --git a/ResourceFiles/归元·散打·女/技能/升龙拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/升龙拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/升龙拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/升龙拳.png diff --git a/ResourceFiles/归元·散打·女/技能/回天连环击.png b/packages/renderer/imagesrc/characters/striker_female/skill/回天连环击.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/回天连环击.png rename to packages/renderer/imagesrc/characters/striker_female/skill/回天连环击.png diff --git a/ResourceFiles/归元·散打·女/技能/寸拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/寸拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/寸拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/寸拳.png diff --git a/ResourceFiles/归元·散打·女/技能/崩拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/崩拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/崩拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/崩拳.png diff --git a/ResourceFiles/归元·散打·女/技能/弱点感知.png b/packages/renderer/imagesrc/characters/striker_female/skill/弱点感知.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/弱点感知.png rename to packages/renderer/imagesrc/characters/striker_female/skill/弱点感知.png diff --git a/ResourceFiles/归元·散打·女/技能/拳套精通.png b/packages/renderer/imagesrc/characters/striker_female/skill/拳套精通.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/拳套精通.png rename to packages/renderer/imagesrc/characters/striker_female/skill/拳套精通.png diff --git a/ResourceFiles/归元·散打·女/技能/无影脚.png b/packages/renderer/imagesrc/characters/striker_female/skill/无影脚.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/无影脚.png rename to packages/renderer/imagesrc/characters/striker_female/skill/无影脚.png diff --git a/ResourceFiles/归元·散打·女/技能/极尽霸皇断空拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/极尽霸皇断空拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/极尽霸皇断空拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/极尽霸皇断空拳.png diff --git a/ResourceFiles/归元·散打·女/技能/柔化肌肉.png b/packages/renderer/imagesrc/characters/striker_female/skill/柔化肌肉.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/柔化肌肉.png rename to packages/renderer/imagesrc/characters/striker_female/skill/柔化肌肉.png diff --git a/ResourceFiles/归元·散打·女/技能/武神强踢.png b/packages/renderer/imagesrc/characters/striker_female/skill/武神强踢.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/武神强踢.png rename to packages/renderer/imagesrc/characters/striker_female/skill/武神强踢.png diff --git a/ResourceFiles/归元·散打·女/技能/武神强踢buff.png b/packages/renderer/imagesrc/characters/striker_female/skill/武神强踢buff.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/武神强踢buff.png rename to packages/renderer/imagesrc/characters/striker_female/skill/武神强踢buff.png diff --git a/ResourceFiles/归元·散打·女/技能/武神步.png b/packages/renderer/imagesrc/characters/striker_female/skill/武神步.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/武神步.png rename to packages/renderer/imagesrc/characters/striker_female/skill/武神步.png diff --git a/ResourceFiles/归元·散打·女/技能/疾风劲.png b/packages/renderer/imagesrc/characters/striker_female/skill/疾风劲.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/疾风劲.png rename to packages/renderer/imagesrc/characters/striker_female/skill/疾风劲.png diff --git a/ResourceFiles/归元·散打·女/技能/真烈空星鸣拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/真烈空星鸣拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/真烈空星鸣拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/真烈空星鸣拳.png diff --git a/ResourceFiles/归元·散打·女/技能/破碎拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/破碎拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/破碎拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/破碎拳.png diff --git a/ResourceFiles/归元·散打·女/技能/碎骨.png b/packages/renderer/imagesrc/characters/striker_female/skill/碎骨.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/碎骨.png rename to packages/renderer/imagesrc/characters/striker_female/skill/碎骨.png diff --git a/ResourceFiles/归元·散打·女/技能/神武之力.png b/packages/renderer/imagesrc/characters/striker_female/skill/神武之力.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/神武之力.png rename to packages/renderer/imagesrc/characters/striker_female/skill/神武之力.png diff --git a/ResourceFiles/归元·散打·女/技能/纷影连环踢.png b/packages/renderer/imagesrc/characters/striker_female/skill/纷影连环踢.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/纷影连环踢.png rename to packages/renderer/imagesrc/characters/striker_female/skill/纷影连环踢.png diff --git a/ResourceFiles/归元·散打·女/技能/虎啸神拳.png b/packages/renderer/imagesrc/characters/striker_female/skill/虎啸神拳.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/虎啸神拳.png rename to packages/renderer/imagesrc/characters/striker_female/skill/虎啸神拳.png diff --git a/ResourceFiles/归元·散打·女/技能/铁山靠.png b/packages/renderer/imagesrc/characters/striker_female/skill/铁山靠.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/铁山靠.png rename to packages/renderer/imagesrc/characters/striker_female/skill/铁山靠.png diff --git a/ResourceFiles/归元·散打·女/技能/闪电之舞.png b/packages/renderer/imagesrc/characters/striker_female/skill/闪电之舞.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/闪电之舞.png rename to packages/renderer/imagesrc/characters/striker_female/skill/闪电之舞.png diff --git a/ResourceFiles/归元·散打·女/技能/陨星灭天击.png b/packages/renderer/imagesrc/characters/striker_female/skill/陨星灭天击.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/陨星灭天击.png rename to packages/renderer/imagesrc/characters/striker_female/skill/陨星灭天击.png diff --git a/ResourceFiles/归元·散打·女/技能/雷霆之舞.png b/packages/renderer/imagesrc/characters/striker_female/skill/雷霆之舞.png similarity index 100% rename from ResourceFiles/归元·散打·女/技能/雷霆之舞.png rename to packages/renderer/imagesrc/characters/striker_female/skill/雷霆之舞.png diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Adventure_3.png b/packages/renderer/imagesrc/characters/striker_male/material/Adventure_3.png new file mode 100644 index 00000000..1522ee33 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Bust.png b/packages/renderer/imagesrc/characters/striker_male/material/Bust.png new file mode 100644 index 00000000..2686a7da Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Helper.png b/packages/renderer/imagesrc/characters/striker_male/material/Helper.png new file mode 100644 index 00000000..eb82221c Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Large.png b/packages/renderer/imagesrc/characters/striker_male/material/Large.png new file mode 100644 index 00000000..3b56fd4a Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Large_2.png b/packages/renderer/imagesrc/characters/striker_male/material/Large_2.png new file mode 100644 index 00000000..47d72792 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Large_3.png b/packages/renderer/imagesrc/characters/striker_male/material/Large_3.png new file mode 100644 index 00000000..783cb862 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Seicing.png b/packages/renderer/imagesrc/characters/striker_male/material/Seicing.png new file mode 100644 index 00000000..40aba5b7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Seicing_2.png b/packages/renderer/imagesrc/characters/striker_male/material/Seicing_2.png new file mode 100644 index 00000000..5ec6c522 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Seicing_3.png b/packages/renderer/imagesrc/characters/striker_male/material/Seicing_3.png new file mode 100644 index 00000000..48c4db4e Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/material/Thumb.png b/packages/renderer/imagesrc/characters/striker_male/material/Thumb.png new file mode 100644 index 00000000..f0a028de Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/striker_male/profile.png b/packages/renderer/imagesrc/characters/striker_male/profile.png new file mode 100644 index 00000000..026ad4b6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/striker_male/profile.png differ diff --git a/ResourceFiles/归元·散打·男/技能/BUFF.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/BUFF.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/BUFF.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/BUFF.png diff --git a/ResourceFiles/归元·散打·男/技能/下段踢.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/下段踢.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/下段踢.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/下段踢.png diff --git a/ResourceFiles/归元·散打·男/技能/冲膝.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/冲膝.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/冲膝.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/冲膝.png diff --git a/ResourceFiles/归元·散打·男/技能/千锤百炼.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/千锤百炼.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/千锤百炼.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/千锤百炼.png diff --git a/ResourceFiles/归元·散打·男/技能/双重释放.png b/packages/renderer/imagesrc/characters/striker_male/skill/双重释放.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/双重释放.png rename to packages/renderer/imagesrc/characters/striker_male/skill/双重释放.png diff --git a/ResourceFiles/归元·散打·男/技能/拳套掌握.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/拳套掌握.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/拳套掌握.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/拳套掌握.png diff --git a/ResourceFiles/归元·散打·男/技能/旋风碎心踢.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/旋风碎心踢.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/旋风碎心踢.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/旋风碎心踢.png diff --git a/ResourceFiles/归元·散打·男/技能/极武霸皇踢.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/极武霸皇踢.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/极武霸皇踢.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/极武霸皇踢.png diff --git a/ResourceFiles/归元·散打·男/技能/柔化肌肉.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/柔化肌肉.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/柔化肌肉.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/柔化肌肉.png diff --git a/ResourceFiles/归元·散打·男/技能/炼狱坠星腿.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/炼狱坠星腿.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/炼狱坠星腿.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/炼狱坠星腿.png diff --git a/ResourceFiles/归元·散打·男/技能/炽焰旋风腿.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/炽焰旋风腿.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/炽焰旋风腿.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/炽焰旋风腿.png diff --git a/ResourceFiles/归元·散打·男/技能/烈火强拳.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/烈火强拳.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/烈火强拳.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/烈火强拳.png diff --git a/ResourceFiles/归元·散打·男/技能/烈火强踢.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/烈火强踢.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/烈火强踢.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/烈火强踢.png diff --git a/ResourceFiles/归元·散打·男/技能/烈火支配.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/烈火支配.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/烈火支配.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/烈火支配.png diff --git a/ResourceFiles/归元·散打·男/技能/烈焰焚步.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/烈焰焚步.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/烈焰焚步.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/烈焰焚步.png diff --git a/ResourceFiles/归元·散打·男/技能/烈焰燃烧.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/烈焰燃烧.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/烈焰燃烧.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/烈焰燃烧.png diff --git a/ResourceFiles/归元·散打·男/技能/焚火逐日拳.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/焚火逐日拳.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/焚火逐日拳.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/焚火逐日拳.png diff --git a/ResourceFiles/归元·散打·男/技能/瞬影连环踢.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/瞬影连环踢.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/瞬影连环踢.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/瞬影连环踢.png diff --git a/ResourceFiles/归元·散打·男/技能/碎骨.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/碎骨.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/碎骨.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/碎骨.png diff --git a/ResourceFiles/归元·散打·男/技能/肘击.png b/packages/renderer/imagesrc/characters/striker_male/skill/肘击.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/肘击.png rename to packages/renderer/imagesrc/characters/striker_male/skill/肘击.png diff --git a/ResourceFiles/归元·散打·男/技能/铁山靠.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/铁山靠.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/铁山靠.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/铁山靠.png diff --git a/ResourceFiles/归元·散打·男/技能/闪击快打.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/闪击快打.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/闪击快打.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/闪击快打.png diff --git a/ResourceFiles/归元·散打·男/技能/闪电之舞.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/闪电之舞.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/闪电之舞.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/闪电之舞.png diff --git a/ResourceFiles/归元·散打·男/技能/飞燕旋风.PNG b/packages/renderer/imagesrc/characters/striker_male/skill/飞燕旋风.png similarity index 100% rename from ResourceFiles/归元·散打·男/技能/飞燕旋风.PNG rename to packages/renderer/imagesrc/characters/striker_male/skill/飞燕旋风.png diff --git a/packages/renderer/imagesrc/characters/summoner/material/Adventure_3.png b/packages/renderer/imagesrc/characters/summoner/material/Adventure_3.png new file mode 100644 index 00000000..e3f1692f Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Bust.png b/packages/renderer/imagesrc/characters/summoner/material/Bust.png new file mode 100644 index 00000000..b7d422a6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Helper.png b/packages/renderer/imagesrc/characters/summoner/material/Helper.png new file mode 100644 index 00000000..c4c6c07c Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Large.png b/packages/renderer/imagesrc/characters/summoner/material/Large.png new file mode 100644 index 00000000..f949caf6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Large_2.png b/packages/renderer/imagesrc/characters/summoner/material/Large_2.png new file mode 100644 index 00000000..b4ec8965 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Large_3.png b/packages/renderer/imagesrc/characters/summoner/material/Large_3.png new file mode 100644 index 00000000..949f9d32 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Seicing.png b/packages/renderer/imagesrc/characters/summoner/material/Seicing.png new file mode 100644 index 00000000..5412c78e Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Seicing_2.png b/packages/renderer/imagesrc/characters/summoner/material/Seicing_2.png new file mode 100644 index 00000000..2a9252cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Seicing_3.png b/packages/renderer/imagesrc/characters/summoner/material/Seicing_3.png new file mode 100644 index 00000000..5b796abb Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/material/Thumb.png b/packages/renderer/imagesrc/characters/summoner/material/Thumb.png new file mode 100644 index 00000000..c273ae3f Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/summoner/profile.png b/packages/renderer/imagesrc/characters/summoner/profile.png new file mode 100644 index 00000000..efdd9f31 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/profile.png differ diff --git a/ResourceFiles/知源·召唤师/技能/BUFF.PNG b/packages/renderer/imagesrc/characters/summoner/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/BUFF.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/BUFF.png diff --git a/ResourceFiles/知源·召唤师/技能/传说召唤:月蚀之影.PNG b/packages/renderer/imagesrc/characters/summoner/skill/传说召唤:月蚀之影.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/传说召唤:月蚀之影.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/传说召唤:月蚀之影.png diff --git a/ResourceFiles/知源·召唤师/技能/传说召唤:逆月者拉莫斯.PNG b/packages/renderer/imagesrc/characters/summoner/skill/传说召唤:逆月者拉莫斯.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/传说召唤:逆月者拉莫斯.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/传说召唤:逆月者拉莫斯.png diff --git a/ResourceFiles/知源·召唤师/技能/千鬼杀.PNG b/packages/renderer/imagesrc/characters/summoner/skill/千鬼杀.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/千鬼杀.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/千鬼杀.png diff --git a/ResourceFiles/知源·召唤师/技能/召唤兽强化.PNG b/packages/renderer/imagesrc/characters/summoner/skill/召唤兽强化.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/召唤兽强化.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/召唤兽强化.png diff --git a/ResourceFiles/知源·召唤师/技能/咒令:愤怒咆哮.PNG b/packages/renderer/imagesrc/characters/summoner/skill/咒令:愤怒咆哮.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/咒令:愤怒咆哮.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/咒令:愤怒咆哮.png diff --git a/ResourceFiles/知源·召唤师/技能/咒令:逆月之蚀.PNG b/packages/renderer/imagesrc/characters/summoner/skill/咒令:逆月之蚀.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/咒令:逆月之蚀.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/咒令:逆月之蚀.png diff --git a/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:弗利特.png b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:弗利特.png new file mode 100644 index 00000000..a43af4e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:弗利特.png differ diff --git a/ResourceFiles/知源·召唤师/技能/契约召唤:征服者卡西利亚斯.PNG b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:征服者卡西利亚斯.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/契约召唤:征服者卡西利亚斯.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/契约召唤:征服者卡西利亚斯.png diff --git a/ResourceFiles/知源·召唤师/技能/契约召唤:桑德尔.PNG b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:桑德尔.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/契约召唤:桑德尔.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/契约召唤:桑德尔.png diff --git a/ResourceFiles/知源·召唤师/技能/契约召唤:牛头王库鲁塔.PNG b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:牛头王库鲁塔.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/契约召唤:牛头王库鲁塔.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/契约召唤:牛头王库鲁塔.png diff --git a/ResourceFiles/知源·召唤师/技能/契约召唤:袄索.PNG b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:袄索.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/契约召唤:袄索.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/契约召唤:袄索.png diff --git a/ResourceFiles/知源·召唤师/技能/契约召唤:路易斯.PNG b/packages/renderer/imagesrc/characters/summoner/skill/契约召唤:路易丝.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/契约召唤:路易斯.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/契约召唤:路易丝.png diff --git a/ResourceFiles/知源·召唤师/技能/心灵感应.PNG b/packages/renderer/imagesrc/characters/summoner/skill/心灵感应.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/心灵感应.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/心灵感应.png diff --git a/ResourceFiles/知源·召唤师/技能/必杀剑千鬼杀.png b/packages/renderer/imagesrc/characters/summoner/skill/必杀剑·千鬼杀.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/必杀剑千鬼杀.png rename to packages/renderer/imagesrc/characters/summoner/skill/必杀剑·千鬼杀.png diff --git a/ResourceFiles/知源·召唤师/技能/束缚印记.PNG b/packages/renderer/imagesrc/characters/summoner/skill/束缚印记.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/束缚印记.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/束缚印记.png diff --git a/ResourceFiles/知源·召唤师/技能/灵魂支配.PNG b/packages/renderer/imagesrc/characters/summoner/skill/灵魂支配.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/灵魂支配.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/灵魂支配.png diff --git a/packages/renderer/imagesrc/characters/summoner/skill/狂化黑月.png b/packages/renderer/imagesrc/characters/summoner/skill/狂化黑月.png new file mode 100644 index 00000000..d24a6fb0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/summoner/skill/狂化黑月.png differ diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:亡魂默克尔.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:亡魂默克尔.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:亡魂默克尔.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:亡魂默克尔.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:伊伽贝拉.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:伊伽贝拉.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:伊伽贝拉.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:伊伽贝拉.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:冰影阿奎利斯.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:冰影阿奎利斯.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:冰影阿奎利斯.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:冰影阿奎利斯.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:极光格雷林.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:极光格雷林.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:极光格雷林.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:极光格雷林.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:火焰赫瑞克.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:火焰赫瑞克.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:火焰赫瑞克.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:火焰赫瑞克.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵召唤:融合精灵海伊轮.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:融合精灵海伊伦.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵召唤:融合精灵海伊轮.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵召唤:融合精灵海伊伦.png diff --git a/ResourceFiles/知源·召唤师/技能/精灵献祭.PNG b/packages/renderer/imagesrc/characters/summoner/skill/精灵献祭.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/精灵献祭.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/精灵献祭.png diff --git a/ResourceFiles/知源·召唤师/技能/绝对支配.PNG b/packages/renderer/imagesrc/characters/summoner/skill/绝对支配.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/绝对支配.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/绝对支配.png diff --git a/ResourceFiles/知源·召唤师/技能/至高精灵王.png b/packages/renderer/imagesrc/characters/summoner/skill/至高精灵王.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/至高精灵王.png rename to packages/renderer/imagesrc/characters/summoner/skill/至高精灵王.png diff --git a/ResourceFiles/知源·召唤师/技能/蚀月附灵.PNG b/packages/renderer/imagesrc/characters/summoner/skill/蚀月附灵.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/蚀月附灵.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/蚀月附灵.png diff --git a/ResourceFiles/知源·召唤师/技能/逆月.png b/packages/renderer/imagesrc/characters/summoner/skill/逆月.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/逆月.png rename to packages/renderer/imagesrc/characters/summoner/skill/逆月.png diff --git a/ResourceFiles/知源·召唤师/技能/鞭挞.PNG b/packages/renderer/imagesrc/characters/summoner/skill/鞭挞.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/鞭挞.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/鞭挞.png diff --git a/ResourceFiles/知源·召唤师/技能/驱散魔法.PNG b/packages/renderer/imagesrc/characters/summoner/skill/驱散魔法.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/驱散魔法.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/驱散魔法.png diff --git a/ResourceFiles/知源·召唤师/技能/魔力印记.PNG b/packages/renderer/imagesrc/characters/summoner/skill/魔力印记.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/魔力印记.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/魔力印记.png diff --git a/ResourceFiles/知源·召唤师/技能/魔月·德拉里昂.png b/packages/renderer/imagesrc/characters/summoner/skill/魔月·德拉里昂.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/魔月·德拉里昂.png rename to packages/renderer/imagesrc/characters/summoner/skill/魔月·德拉里昂.png diff --git a/ResourceFiles/知源·召唤师/技能/魔法秀.png b/packages/renderer/imagesrc/characters/summoner/skill/魔法秀.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/魔法秀.png rename to packages/renderer/imagesrc/characters/summoner/skill/魔法秀.png diff --git a/ResourceFiles/知源·召唤师/技能/黑月之噬.PNG b/packages/renderer/imagesrc/characters/summoner/skill/黑月之噬.png similarity index 100% rename from ResourceFiles/知源·召唤师/技能/黑月之噬.PNG rename to packages/renderer/imagesrc/characters/summoner/skill/黑月之噬.png diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Adventure_3.png b/packages/renderer/imagesrc/characters/swift_master/material/Adventure_3.png new file mode 100644 index 00000000..316ae87c Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Bust.png b/packages/renderer/imagesrc/characters/swift_master/material/Bust.png new file mode 100644 index 00000000..4682c81b Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Helper.png b/packages/renderer/imagesrc/characters/swift_master/material/Helper.png new file mode 100644 index 00000000..06ea91c2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Large.png b/packages/renderer/imagesrc/characters/swift_master/material/Large.png new file mode 100644 index 00000000..8913757f Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Large_2.png b/packages/renderer/imagesrc/characters/swift_master/material/Large_2.png new file mode 100644 index 00000000..d97bbd6e Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Large_3.png b/packages/renderer/imagesrc/characters/swift_master/material/Large_3.png new file mode 100644 index 00000000..4c1be7ad Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Seicing.png b/packages/renderer/imagesrc/characters/swift_master/material/Seicing.png new file mode 100644 index 00000000..7ec40dac Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Seicing_2.png b/packages/renderer/imagesrc/characters/swift_master/material/Seicing_2.png new file mode 100644 index 00000000..0a64c6d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Seicing_3.png b/packages/renderer/imagesrc/characters/swift_master/material/Seicing_3.png new file mode 100644 index 00000000..1399bf8c Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/material/Thumb.png b/packages/renderer/imagesrc/characters/swift_master/material/Thumb.png new file mode 100644 index 00000000..54b98c5a Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/swift_master/profile.png b/packages/renderer/imagesrc/characters/swift_master/profile.png new file mode 100644 index 00000000..30107dd7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/swift_master/profile.png differ diff --git a/ResourceFiles/知源·逐风者/技能/BUFF.png b/packages/renderer/imagesrc/characters/swift_master/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/swift_master/skill/BUFF.png diff --git a/ResourceFiles/知源·逐风者/技能/万象风龙阵.png b/packages/renderer/imagesrc/characters/swift_master/skill/万象风龙阵.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/万象风龙阵.png rename to packages/renderer/imagesrc/characters/swift_master/skill/万象风龙阵.png diff --git a/ResourceFiles/知源·逐风者/技能/九霄风雷.png b/packages/renderer/imagesrc/characters/swift_master/skill/九霄风雷.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/九霄风雷.png rename to packages/renderer/imagesrc/characters/swift_master/skill/九霄风雷.png diff --git a/ResourceFiles/知源·逐风者/技能/刃风.png b/packages/renderer/imagesrc/characters/swift_master/skill/刃风.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/刃风.png rename to packages/renderer/imagesrc/characters/swift_master/skill/刃风.png diff --git a/ResourceFiles/知源·逐风者/技能/初始之风.png b/packages/renderer/imagesrc/characters/swift_master/skill/初始之风.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/初始之风.png rename to packages/renderer/imagesrc/characters/swift_master/skill/初始之风.png diff --git a/ResourceFiles/知源·逐风者/技能/双翼风刃.png b/packages/renderer/imagesrc/characters/swift_master/skill/双翼风刃.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/双翼风刃.png rename to packages/renderer/imagesrc/characters/swift_master/skill/双翼风刃.png diff --git a/ResourceFiles/知源·逐风者/技能/回风斩.png b/packages/renderer/imagesrc/characters/swift_master/skill/回风斩.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/回风斩.png rename to packages/renderer/imagesrc/characters/swift_master/skill/回风斩.png diff --git a/ResourceFiles/知源·逐风者/技能/御风之力.png b/packages/renderer/imagesrc/characters/swift_master/skill/御风之力.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/御风之力.png rename to packages/renderer/imagesrc/characters/swift_master/skill/御风之力.png diff --git a/ResourceFiles/知源·逐风者/技能/怒风狂涌.png b/packages/renderer/imagesrc/characters/swift_master/skill/怒风狂涌.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/怒风狂涌.png rename to packages/renderer/imagesrc/characters/swift_master/skill/怒风狂涌.png diff --git a/ResourceFiles/知源·逐风者/技能/无限风域.png b/packages/renderer/imagesrc/characters/swift_master/skill/无限风域.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/无限风域.png rename to packages/renderer/imagesrc/characters/swift_master/skill/无限风域.png diff --git a/ResourceFiles/知源·逐风者/技能/朔风牵引.png b/packages/renderer/imagesrc/characters/swift_master/skill/朔风牵引.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/朔风牵引.png rename to packages/renderer/imagesrc/characters/swift_master/skill/朔风牵引.png diff --git a/ResourceFiles/知源·逐风者/技能/游离之风.png b/packages/renderer/imagesrc/characters/swift_master/skill/游离之风.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/游离之风.png rename to packages/renderer/imagesrc/characters/swift_master/skill/游离之风.png diff --git a/ResourceFiles/知源·逐风者/技能/游龙惊风破.png b/packages/renderer/imagesrc/characters/swift_master/skill/游龙惊风破.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/游龙惊风破.png rename to packages/renderer/imagesrc/characters/swift_master/skill/游龙惊风破.png diff --git a/ResourceFiles/知源·逐风者/技能/狂风冲刺.png b/packages/renderer/imagesrc/characters/swift_master/skill/狂风冲刺.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/狂风冲刺.png rename to packages/renderer/imagesrc/characters/swift_master/skill/狂风冲刺.png diff --git a/ResourceFiles/知源·逐风者/技能/疾风之棍棒精通.png b/packages/renderer/imagesrc/characters/swift_master/skill/疾风之棍棒精通.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/疾风之棍棒精通.png rename to packages/renderer/imagesrc/characters/swift_master/skill/疾风之棍棒精通.png diff --git a/ResourceFiles/知源·逐风者/技能/疾风瞬影闪.png b/packages/renderer/imagesrc/characters/swift_master/skill/疾风瞬影闪.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/疾风瞬影闪.png rename to packages/renderer/imagesrc/characters/swift_master/skill/疾风瞬影闪.png diff --git a/ResourceFiles/知源·逐风者/技能/真空旋风破.png b/packages/renderer/imagesrc/characters/swift_master/skill/真空旋风破.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/真空旋风破.png rename to packages/renderer/imagesrc/characters/swift_master/skill/真空旋风破.png diff --git a/ResourceFiles/知源·逐风者/技能/风之意志.png b/packages/renderer/imagesrc/characters/swift_master/skill/风之意志.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风之意志.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风之意志.png diff --git a/ResourceFiles/知源·逐风者/技能/风之极·永坠.png b/packages/renderer/imagesrc/characters/swift_master/skill/风之极·永坠.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风之极·永坠.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风之极·永坠.png diff --git a/ResourceFiles/知源·逐风者/技能/风卷残云.png b/packages/renderer/imagesrc/characters/swift_master/skill/风卷残云.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风卷残云.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风卷残云.png diff --git a/ResourceFiles/知源·逐风者/技能/风暴之拳.png b/packages/renderer/imagesrc/characters/swift_master/skill/风暴之拳.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风暴之拳.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风暴之拳.png diff --git a/ResourceFiles/知源·逐风者/技能/风暴之眼.png b/packages/renderer/imagesrc/characters/swift_master/skill/风暴之眼.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风暴之眼.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风暴之眼.png diff --git a/ResourceFiles/知源·逐风者/技能/风神诀.png b/packages/renderer/imagesrc/characters/swift_master/skill/风神诀.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风神诀.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风神诀.png diff --git a/ResourceFiles/知源·逐风者/技能/风鸣冲击.png b/packages/renderer/imagesrc/characters/swift_master/skill/风鸣冲击.png similarity index 100% rename from ResourceFiles/知源·逐风者/技能/风鸣冲击.png rename to packages/renderer/imagesrc/characters/swift_master/skill/风鸣冲击.png diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Adventure_3.png b/packages/renderer/imagesrc/characters/sword_master/material/Adventure_3.png new file mode 100644 index 00000000..1d9443e7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Bust.png b/packages/renderer/imagesrc/characters/sword_master/material/Bust.png new file mode 100644 index 00000000..1e25ec88 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Helper.png b/packages/renderer/imagesrc/characters/sword_master/material/Helper.png new file mode 100644 index 00000000..89769f5c Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Large.png b/packages/renderer/imagesrc/characters/sword_master/material/Large.png new file mode 100644 index 00000000..8c402b9f Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Large_2.png b/packages/renderer/imagesrc/characters/sword_master/material/Large_2.png new file mode 100644 index 00000000..25eb350c Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Large_3.png b/packages/renderer/imagesrc/characters/sword_master/material/Large_3.png new file mode 100644 index 00000000..9e46d537 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Seicing.png b/packages/renderer/imagesrc/characters/sword_master/material/Seicing.png new file mode 100644 index 00000000..33887a15 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Seicing_2.png b/packages/renderer/imagesrc/characters/sword_master/material/Seicing_2.png new file mode 100644 index 00000000..838386ae Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Seicing_3.png b/packages/renderer/imagesrc/characters/sword_master/material/Seicing_3.png new file mode 100644 index 00000000..f9bc4429 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/material/Thumb.png b/packages/renderer/imagesrc/characters/sword_master/material/Thumb.png new file mode 100644 index 00000000..db0f9601 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/sword_master/profile.png b/packages/renderer/imagesrc/characters/sword_master/profile.png new file mode 100644 index 00000000..9fd3cb80 Binary files /dev/null and b/packages/renderer/imagesrc/characters/sword_master/profile.png differ diff --git a/ResourceFiles/极诣·驭剑士/技能/BUFF.png b/packages/renderer/imagesrc/characters/sword_master/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/sword_master/skill/BUFF.png diff --git a/ResourceFiles/极诣·驭剑士/技能/剑心:魔剑觉醒.png b/packages/renderer/imagesrc/characters/sword_master/skill/剑心:魔剑觉醒.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/剑心:魔剑觉醒.png rename to packages/renderer/imagesrc/characters/sword_master/skill/剑心:魔剑觉醒.png diff --git a/ResourceFiles/极诣·驭剑士/技能/升龙剑.png b/packages/renderer/imagesrc/characters/sword_master/skill/升龙剑.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/升龙剑.png rename to packages/renderer/imagesrc/characters/sword_master/skill/升龙剑.png diff --git a/ResourceFiles/极诣·黑暗武士/技能/基础精通.png b/packages/renderer/imagesrc/characters/sword_master/skill/基础精通.png similarity index 100% rename from ResourceFiles/极诣·黑暗武士/技能/基础精通.png rename to packages/renderer/imagesrc/characters/sword_master/skill/基础精通.png diff --git a/ResourceFiles/极诣·驭剑士/技能/帝国剑术.png b/packages/renderer/imagesrc/characters/sword_master/skill/帝国剑术.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/帝国剑术.png rename to packages/renderer/imagesrc/characters/sword_master/skill/帝国剑术.png diff --git a/ResourceFiles/极诣·驭剑士/技能/帝皇盟约.png b/packages/renderer/imagesrc/characters/sword_master/skill/帝皇盟约.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/帝皇盟约.png rename to packages/renderer/imagesrc/characters/sword_master/skill/帝皇盟约.png diff --git a/ResourceFiles/极诣·驭剑士/技能/幻剑术.png b/packages/renderer/imagesrc/characters/sword_master/skill/幻剑术.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/幻剑术.png rename to packages/renderer/imagesrc/characters/sword_master/skill/幻剑术.png diff --git a/ResourceFiles/极诣·驭剑士/技能/恶即斩.png b/packages/renderer/imagesrc/characters/sword_master/skill/恶即斩.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/恶即斩.png rename to packages/renderer/imagesrc/characters/sword_master/skill/恶即斩.png diff --git a/ResourceFiles/极诣·驭剑士/技能/斩魂术.png b/packages/renderer/imagesrc/characters/sword_master/skill/斩魂术.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/斩魂术.png rename to packages/renderer/imagesrc/characters/sword_master/skill/斩魂术.png diff --git a/ResourceFiles/极诣·驭剑士/技能/幻剑阵.png b/packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(幻剑阵).png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/幻剑阵.png rename to packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(幻剑阵).png diff --git a/ResourceFiles/极诣·驭剑士/技能/极·驭剑术(时空斩).png b/packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(时空斩).png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/极·驭剑术(时空斩).png rename to packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(时空斩).png diff --git a/ResourceFiles/极诣·驭剑士/技能/破剑阵.png b/packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(破剑阵).png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/破剑阵.png rename to packages/renderer/imagesrc/characters/sword_master/skill/极·驭剑术(破剑阵).png diff --git a/ResourceFiles/极诣·驭剑士/技能/极诣·驭剑术:聚魔剑.png b/packages/renderer/imagesrc/characters/sword_master/skill/极诣·驭剑术:聚魔剑.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/极诣·驭剑术:聚魔剑.png rename to packages/renderer/imagesrc/characters/sword_master/skill/极诣·驭剑术:聚魔剑.png diff --git a/ResourceFiles/极诣·驭剑士/技能/毁灭之巨剑精通.png b/packages/renderer/imagesrc/characters/sword_master/skill/毁灭之巨剑精通.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/毁灭之巨剑精通.png rename to packages/renderer/imagesrc/characters/sword_master/skill/毁灭之巨剑精通.png diff --git a/ResourceFiles/极诣·驭剑士/技能/波动之钝器精通.png b/packages/renderer/imagesrc/characters/sword_master/skill/波动之钝器精通.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/波动之钝器精通.png rename to packages/renderer/imagesrc/characters/sword_master/skill/波动之钝器精通.png diff --git a/ResourceFiles/极诣·驭剑士/技能/疾影斩.png b/packages/renderer/imagesrc/characters/sword_master/skill/疾影斩.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/疾影斩.png rename to packages/renderer/imagesrc/characters/sword_master/skill/疾影斩.png diff --git a/ResourceFiles/极诣·驭剑士/技能/瞬影三绝斩.png b/packages/renderer/imagesrc/characters/sword_master/skill/瞬影三绝斩.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/瞬影三绝斩.png rename to packages/renderer/imagesrc/characters/sword_master/skill/瞬影三绝斩.png diff --git a/ResourceFiles/极诣·驭剑士/技能/破军旋舞斩.png b/packages/renderer/imagesrc/characters/sword_master/skill/破军旋舞斩.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/破军旋舞斩.png rename to packages/renderer/imagesrc/characters/sword_master/skill/破军旋舞斩.png diff --git a/ResourceFiles/极诣·驭剑士/技能/神的代行者.png b/packages/renderer/imagesrc/characters/sword_master/skill/神的代行者.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/神的代行者.png rename to packages/renderer/imagesrc/characters/sword_master/skill/神的代行者.png diff --git a/ResourceFiles/极诣·驭剑士/技能/穿云破空剑.png b/packages/renderer/imagesrc/characters/sword_master/skill/穿云破空剑.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/穿云破空剑.png rename to packages/renderer/imagesrc/characters/sword_master/skill/穿云破空剑.png diff --git a/ResourceFiles/极诣·驭剑士/技能/血影之太刀精通.png b/packages/renderer/imagesrc/characters/sword_master/skill/血影之太刀精通.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/血影之太刀精通.png rename to packages/renderer/imagesrc/characters/sword_master/skill/血影之太刀精通.png diff --git a/ResourceFiles/极诣·驭剑士/技能/裂刃天冲.png b/packages/renderer/imagesrc/characters/sword_master/skill/裂刃天冲.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/裂刃天冲.png rename to packages/renderer/imagesrc/characters/sword_master/skill/裂刃天冲.png diff --git a/ResourceFiles/极诣·驭剑士/技能/誓约之剑:雷沃汀.png b/packages/renderer/imagesrc/characters/sword_master/skill/誓约之剑:雷沃汀.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/誓约之剑:雷沃汀.png rename to packages/renderer/imagesrc/characters/sword_master/skill/誓约之剑:雷沃汀.png diff --git a/ResourceFiles/极诣·驭剑士/技能/誓约之引:万剑之巅.png b/packages/renderer/imagesrc/characters/sword_master/skill/誓约之引:万剑之巅.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/誓约之引:万剑之巅.png rename to packages/renderer/imagesrc/characters/sword_master/skill/誓约之引:万剑之巅.png diff --git a/ResourceFiles/极诣·驭剑士/技能/雷鸣千军破.png b/packages/renderer/imagesrc/characters/sword_master/skill/雷鸣千军破.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/雷鸣千军破.png rename to packages/renderer/imagesrc/characters/sword_master/skill/雷鸣千军破.png diff --git a/ResourceFiles/极诣·驭剑士/技能/飓风魔剑.png b/packages/renderer/imagesrc/characters/sword_master/skill/飓风魔剑.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/飓风魔剑.png rename to packages/renderer/imagesrc/characters/sword_master/skill/飓风魔剑.png diff --git a/ResourceFiles/极诣·驭剑士/技能/魔剑奥义.png b/packages/renderer/imagesrc/characters/sword_master/skill/魔剑奥义.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/魔剑奥义.png rename to packages/renderer/imagesrc/characters/sword_master/skill/魔剑奥义.png diff --git a/ResourceFiles/极诣·驭剑士/技能/魔剑觉醒.png b/packages/renderer/imagesrc/characters/sword_master/skill/魔剑觉醒.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/魔剑觉醒.png rename to packages/renderer/imagesrc/characters/sword_master/skill/魔剑觉醒.png diff --git a/ResourceFiles/极诣·驭剑士/技能/魔剑降临.png b/packages/renderer/imagesrc/characters/sword_master/skill/魔剑降临.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/魔剑降临.png rename to packages/renderer/imagesrc/characters/sword_master/skill/魔剑降临.png diff --git a/ResourceFiles/极诣·驭剑士/技能/魔性之短剑精通.png b/packages/renderer/imagesrc/characters/sword_master/skill/魔性之短剑精通.png similarity index 100% rename from ResourceFiles/极诣·驭剑士/技能/魔性之短剑精通.png rename to packages/renderer/imagesrc/characters/sword_master/skill/魔性之短剑精通.png diff --git a/packages/renderer/imagesrc/characters/traveler/material/Adventure_3.png b/packages/renderer/imagesrc/characters/traveler/material/Adventure_3.png new file mode 100644 index 00000000..a2ee4a75 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Bust.png b/packages/renderer/imagesrc/characters/traveler/material/Bust.png new file mode 100644 index 00000000..e76bfcfc Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Helper.png b/packages/renderer/imagesrc/characters/traveler/material/Helper.png new file mode 100644 index 00000000..8611c85e Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Large.png b/packages/renderer/imagesrc/characters/traveler/material/Large.png new file mode 100644 index 00000000..f6d5849e Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Large_2.png b/packages/renderer/imagesrc/characters/traveler/material/Large_2.png new file mode 100644 index 00000000..bc42877d Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Large_3.png b/packages/renderer/imagesrc/characters/traveler/material/Large_3.png new file mode 100644 index 00000000..13483940 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Seicing.png b/packages/renderer/imagesrc/characters/traveler/material/Seicing.png new file mode 100644 index 00000000..852ef647 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Seicing_2.png b/packages/renderer/imagesrc/characters/traveler/material/Seicing_2.png new file mode 100644 index 00000000..745c5542 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Seicing_3.png b/packages/renderer/imagesrc/characters/traveler/material/Seicing_3.png new file mode 100644 index 00000000..6fcdef4d Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/material/Thumb.png b/packages/renderer/imagesrc/characters/traveler/material/Thumb.png new file mode 100644 index 00000000..96a0a95f Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/profile.png b/packages/renderer/imagesrc/characters/traveler/profile.png new file mode 100644 index 00000000..dfce02b2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/profile.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/BUFF.png b/packages/renderer/imagesrc/characters/traveler/skill/BUFF.png new file mode 100644 index 00000000..35b77972 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/BUFF.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/三重加速.png b/packages/renderer/imagesrc/characters/traveler/skill/三重加速.png new file mode 100644 index 00000000..be7c52e5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/三重加速.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/基础精通.png b/packages/renderer/imagesrc/characters/traveler/skill/基础精通.png new file mode 100644 index 00000000..b27b856a Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/基础精通.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/急流.png b/packages/renderer/imagesrc/characters/traveler/skill/急流.png new file mode 100644 index 00000000..89b0812f Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/急流.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/旅行者的直觉.png b/packages/renderer/imagesrc/characters/traveler/skill/旅行者的直觉.png new file mode 100644 index 00000000..caae980e Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/旅行者的直觉.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/旷野火炎.png b/packages/renderer/imagesrc/characters/traveler/skill/旷野火炎.png new file mode 100644 index 00000000..1ee1df59 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/旷野火炎.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/星辰装置.png b/packages/renderer/imagesrc/characters/traveler/skill/星辰装置.png new file mode 100644 index 00000000..de70b97e Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/星辰装置.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/杂耍突击.png b/packages/renderer/imagesrc/characters/traveler/skill/杂耍突击.png new file mode 100644 index 00000000..e256d441 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/杂耍突击.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/流浪之星的纹章.png b/packages/renderer/imagesrc/characters/traveler/skill/流浪之星的纹章.png new file mode 100644 index 00000000..d24055e0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/流浪之星的纹章.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/流雾疾风.png b/packages/renderer/imagesrc/characters/traveler/skill/流雾疾风.png new file mode 100644 index 00000000..b466f64f Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/流雾疾风.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/浓雾暴雨.png b/packages/renderer/imagesrc/characters/traveler/skill/浓雾暴雨.png new file mode 100644 index 00000000..54f6a7f7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/浓雾暴雨.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/玄机弓精通.png b/packages/renderer/imagesrc/characters/traveler/skill/玄机弓精通.png new file mode 100644 index 00000000..500d9496 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/玄机弓精通.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/登跃飞锚.png b/packages/renderer/imagesrc/characters/traveler/skill/登跃飞锚.png new file mode 100644 index 00000000..67080629 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/登跃飞锚.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/瞬时机动.png b/packages/renderer/imagesrc/characters/traveler/skill/瞬时机动.png new file mode 100644 index 00000000..f12c09b5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/瞬时机动.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·北极星.png b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·北极星.png new file mode 100644 index 00000000..3d95c580 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·北极星.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·妖旋风.png b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·妖旋风.png new file mode 100644 index 00000000..5745ec4a Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·妖旋风.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·流星.png b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·流星.png new file mode 100644 index 00000000..27859f60 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/神雾兵仗·流星.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/神雾星仗·人马座星云.png b/packages/renderer/imagesrc/characters/traveler/skill/神雾星仗·人马座星云.png new file mode 100644 index 00000000..0de9fec7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/神雾星仗·人马座星云.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/细雨.png b/packages/renderer/imagesrc/characters/traveler/skill/细雨.png new file mode 100644 index 00000000..4f464dd3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/细雨.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/自动操作模式.png b/packages/renderer/imagesrc/characters/traveler/skill/自动操作模式.png new file mode 100644 index 00000000..cdbc7bc3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/自动操作模式.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/营火.png b/packages/renderer/imagesrc/characters/traveler/skill/营火.png new file mode 100644 index 00000000..886fd77a Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/营火.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/装置驱动.png b/packages/renderer/imagesrc/characters/traveler/skill/装置驱动.png new file mode 100644 index 00000000..0f1eebed Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/装置驱动.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/装置驱动:星云.png b/packages/renderer/imagesrc/characters/traveler/skill/装置驱动:星云.png new file mode 100644 index 00000000..8c2239f1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/装置驱动:星云.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/装载:烟花漫天.png b/packages/renderer/imagesrc/characters/traveler/skill/装载:烟花漫天.png new file mode 100644 index 00000000..ae72e8cf Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/装载:烟花漫天.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/装载:猛击.png b/packages/renderer/imagesrc/characters/traveler/skill/装载:猛击.png new file mode 100644 index 00000000..d8692ea4 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/装载:猛击.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/装载:闪攻.png b/packages/renderer/imagesrc/characters/traveler/skill/装载:闪攻.png new file mode 100644 index 00000000..6d074606 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/装载:闪攻.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/迷雾箭雨.png b/packages/renderer/imagesrc/characters/traveler/skill/迷雾箭雨.png new file mode 100644 index 00000000..b1632fe7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/迷雾箭雨.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/野外生存.png b/packages/renderer/imagesrc/characters/traveler/skill/野外生存.png new file mode 100644 index 00000000..c8bd5d32 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/野外生存.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/附件 迷雾兵装.png b/packages/renderer/imagesrc/characters/traveler/skill/附件 迷雾兵装.png new file mode 100644 index 00000000..7e03f0b5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/附件 迷雾兵装.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/雾气爆发.png b/packages/renderer/imagesrc/characters/traveler/skill/雾气爆发.png new file mode 100644 index 00000000..2a15c297 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/雾气爆发.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/驱虫烈火.png b/packages/renderer/imagesrc/characters/traveler/skill/驱虫烈火.png new file mode 100644 index 00000000..49ebc427 Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/驱虫烈火.png differ diff --git a/packages/renderer/imagesrc/characters/traveler/skill/高原雾花.png b/packages/renderer/imagesrc/characters/traveler/skill/高原雾花.png new file mode 100644 index 00000000..c95e355a Binary files /dev/null and b/packages/renderer/imagesrc/characters/traveler/skill/高原雾花.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Adventure_3.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Adventure_3.png new file mode 100644 index 00000000..5d24c5c5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Bust.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Bust.png new file mode 100644 index 00000000..709797c2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Helper.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Helper.png new file mode 100644 index 00000000..cb577618 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Large.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large.png new file mode 100644 index 00000000..58805bb5 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_2.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_2.png new file mode 100644 index 00000000..023f4331 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_3.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_3.png new file mode 100644 index 00000000..6a0b8ec9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing.png new file mode 100644 index 00000000..cfc13a30 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_2.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_2.png new file mode 100644 index 00000000..26edb00f Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_3.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_3.png new file mode 100644 index 00000000..344c4ec6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/material/Thumb.png b/packages/renderer/imagesrc/characters/trouble_shooter/material/Thumb.png new file mode 100644 index 00000000..02ae785b Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/trouble_shooter/profile.png b/packages/renderer/imagesrc/characters/trouble_shooter/profile.png new file mode 100644 index 00000000..dcd764bb Binary files /dev/null and b/packages/renderer/imagesrc/characters/trouble_shooter/profile.png differ diff --git a/ResourceFiles/苍暮·战线佣兵/技能/BUFF.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/BUFF.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/BUFF.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/BUFF.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/G型火焰爆弹.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/G型火焰爆弹.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/G型火焰爆弹.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/G型火焰爆弹.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/G型烬灭榴弹.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/G型烬灭榴弹.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/G型烬灭榴弹.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/G型烬灭榴弹.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/剑刃爆弹.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/剑刃爆弹.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/剑刃爆弹.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/剑刃爆弹.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/双重散射.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/双重散射.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/双重散射.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/双重散射.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/夺命焰火.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/夺命焰火.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/夺命焰火.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/夺命焰火.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/完美击球.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/完美击球.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/完美击球.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/完美击球.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/广域散射.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/广域散射.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/广域散射.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/广域散射.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/惊喜大礼.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/惊喜大礼.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/惊喜大礼.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/惊喜大礼.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/无法者之歌.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/无法者之歌.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/无法者之歌.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/无法者之歌.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/火药改良.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/火药改良.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/火药改良.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/火药改良.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/烽火硝烟·终末之征.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/烽火硝烟·终末之征.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/烽火硝烟·终末之征.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/烽火硝烟·终末之征.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/爆弹华尔兹.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/爆弹华尔兹.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/爆弹华尔兹.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/爆弹华尔兹.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/爆弹罗网.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/爆弹罗网.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/爆弹罗网.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/爆弹罗网.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/爆烈斩击.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/爆烈斩击.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/爆烈斩击.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/爆烈斩击.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/爆裂斩.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/爆裂斩.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/爆裂斩.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/爆裂斩.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/矫健翻滚.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/矫健翻滚.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/矫健翻滚.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/矫健翻滚.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/终极火力.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/终极火力.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/终极火力.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/终极火力.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/终焉:硝烟狂欢.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/终焉:硝烟狂欢.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/终焉:硝烟狂欢.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/终焉:硝烟狂欢.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/裂地爆刃.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/裂地爆刃.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/裂地爆刃.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/裂地爆刃.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/覆灭之枪.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/覆灭之枪.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/覆灭之枪.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/覆灭之枪.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/重剑精通.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/重剑精通.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/重剑精通.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/重剑精通.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/铁腕爆弹.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/铁腕爆弹.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/铁腕爆弹.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/铁腕爆弹.png diff --git a/ResourceFiles/苍暮·战线佣兵/技能/铁血豪情.png b/packages/renderer/imagesrc/characters/trouble_shooter/skill/铁血豪情.png similarity index 100% rename from ResourceFiles/苍暮·战线佣兵/技能/铁血豪情.png rename to packages/renderer/imagesrc/characters/trouble_shooter/skill/铁血豪情.png diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Adventure_3.png b/packages/renderer/imagesrc/characters/vanguard/material/Adventure_3.png new file mode 100644 index 00000000..363a4f7c Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Bust.png b/packages/renderer/imagesrc/characters/vanguard/material/Bust.png new file mode 100644 index 00000000..1af59400 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Helper.png b/packages/renderer/imagesrc/characters/vanguard/material/Helper.png new file mode 100644 index 00000000..68c74508 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Large.png b/packages/renderer/imagesrc/characters/vanguard/material/Large.png new file mode 100644 index 00000000..6c36ca20 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Large_2.png b/packages/renderer/imagesrc/characters/vanguard/material/Large_2.png new file mode 100644 index 00000000..d67eea0e Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Large_3.png b/packages/renderer/imagesrc/characters/vanguard/material/Large_3.png new file mode 100644 index 00000000..2ef47e06 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Seicing.png b/packages/renderer/imagesrc/characters/vanguard/material/Seicing.png new file mode 100644 index 00000000..946d1d98 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Seicing_2.png b/packages/renderer/imagesrc/characters/vanguard/material/Seicing_2.png new file mode 100644 index 00000000..82dcd643 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Seicing_3.png b/packages/renderer/imagesrc/characters/vanguard/material/Seicing_3.png new file mode 100644 index 00000000..f9ef8201 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/material/Thumb.png b/packages/renderer/imagesrc/characters/vanguard/material/Thumb.png new file mode 100644 index 00000000..8f8083df Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/vanguard/profile.png b/packages/renderer/imagesrc/characters/vanguard/profile.png new file mode 100644 index 00000000..21a142c8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/profile.png differ diff --git a/ResourceFiles/千魂·征战者/技能/BUFF.png b/packages/renderer/imagesrc/characters/vanguard/skill/BUFF.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/vanguard/skill/BUFF.png diff --git a/ResourceFiles/千魂·征战者/技能/冷血突刺.png b/packages/renderer/imagesrc/characters/vanguard/skill/冷血突刺.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/冷血突刺.png rename to packages/renderer/imagesrc/characters/vanguard/skill/冷血突刺.png diff --git a/ResourceFiles/千魂·征战者/技能/千魂弑.png b/packages/renderer/imagesrc/characters/vanguard/skill/千魂弑.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/千魂弑.png rename to packages/renderer/imagesrc/characters/vanguard/skill/千魂弑.png diff --git a/packages/renderer/imagesrc/characters/vanguard/skill/基础精通.png b/packages/renderer/imagesrc/characters/vanguard/skill/基础精通.png new file mode 100644 index 00000000..b27b856a Binary files /dev/null and b/packages/renderer/imagesrc/characters/vanguard/skill/基础精通.png differ diff --git a/ResourceFiles/千魂·征战者/技能/天劫·斗灭乾坤.png b/packages/renderer/imagesrc/characters/vanguard/skill/天劫·斗灭乾坤.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/天劫·斗灭乾坤.png rename to packages/renderer/imagesrc/characters/vanguard/skill/天劫·斗灭乾坤.png diff --git a/ResourceFiles/千魂·征战者/技能/夺命乱舞.png b/packages/renderer/imagesrc/characters/vanguard/skill/夺命乱舞.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/夺命乱舞.png rename to packages/renderer/imagesrc/characters/vanguard/skill/夺命乱舞.png diff --git a/ResourceFiles/千魂·征战者/技能/战戟之魂.png b/packages/renderer/imagesrc/characters/vanguard/skill/战戟之魂.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/战戟之魂.png rename to packages/renderer/imagesrc/characters/vanguard/skill/战戟之魂.png diff --git a/ResourceFiles/千魂·征战者/技能/战戟猛攻.png b/packages/renderer/imagesrc/characters/vanguard/skill/战戟猛攻.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/战戟猛攻.png rename to packages/renderer/imagesrc/characters/vanguard/skill/战戟猛攻.png diff --git a/ResourceFiles/千魂·征战者/技能/战戟精通.png b/packages/renderer/imagesrc/characters/vanguard/skill/战戟精通.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/战戟精通.png rename to packages/renderer/imagesrc/characters/vanguard/skill/战戟精通.png diff --git a/ResourceFiles/千魂·征战者/技能/战神之力.png b/packages/renderer/imagesrc/characters/vanguard/skill/战神之力.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/战神之力.png rename to packages/renderer/imagesrc/characters/vanguard/skill/战神之力.png diff --git a/ResourceFiles/千魂·征战者/技能/断魂裂岩斩.png b/packages/renderer/imagesrc/characters/vanguard/skill/断魂裂岩斩.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/断魂裂岩斩.png rename to packages/renderer/imagesrc/characters/vanguard/skill/断魂裂岩斩.png diff --git a/ResourceFiles/千魂·征战者/技能/横扫八荒.png b/packages/renderer/imagesrc/characters/vanguard/skill/横扫八荒.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/横扫八荒.png rename to packages/renderer/imagesrc/characters/vanguard/skill/横扫八荒.png diff --git a/ResourceFiles/千魂·征战者/技能/灭天之魂.png b/packages/renderer/imagesrc/characters/vanguard/skill/灭天之魂.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/灭天之魂.png rename to packages/renderer/imagesrc/characters/vanguard/skill/灭天之魂.png diff --git a/ResourceFiles/千魂·征战者/技能/破军突击.png b/packages/renderer/imagesrc/characters/vanguard/skill/破军突击.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/破军突击.png rename to packages/renderer/imagesrc/characters/vanguard/skill/破军突击.png diff --git a/ResourceFiles/千魂·征战者/技能/破灭斩.png b/packages/renderer/imagesrc/characters/vanguard/skill/破灭斩.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/破灭斩.png rename to packages/renderer/imagesrc/characters/vanguard/skill/破灭斩.png diff --git a/ResourceFiles/千魂·征战者/技能/破灭轮回刺.png b/packages/renderer/imagesrc/characters/vanguard/skill/破灭轮回刺.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/破灭轮回刺.png rename to packages/renderer/imagesrc/characters/vanguard/skill/破灭轮回刺.png diff --git a/ResourceFiles/千魂·征战者/技能/穿云裂地斩-下劈.png b/packages/renderer/imagesrc/characters/vanguard/skill/穿云裂地斩.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/穿云裂地斩-下劈.png rename to packages/renderer/imagesrc/characters/vanguard/skill/穿云裂地斩.png diff --git a/ResourceFiles/千魂·征战者/技能/落月斩.png b/packages/renderer/imagesrc/characters/vanguard/skill/落月斩.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/落月斩.png rename to packages/renderer/imagesrc/characters/vanguard/skill/落月斩.png diff --git a/ResourceFiles/千魂·征战者/技能/血战天狱.png b/packages/renderer/imagesrc/characters/vanguard/skill/血战天狱.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/血战天狱.png rename to packages/renderer/imagesrc/characters/vanguard/skill/血战天狱.png diff --git a/ResourceFiles/千魂·征战者/技能/追魂斩.png b/packages/renderer/imagesrc/characters/vanguard/skill/追魂斩.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/追魂斩.png rename to packages/renderer/imagesrc/characters/vanguard/skill/追魂斩.png diff --git a/ResourceFiles/千魂·征战者/技能/镇狱裂地枪.png b/packages/renderer/imagesrc/characters/vanguard/skill/镇狱裂地枪.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/镇狱裂地枪.png rename to packages/renderer/imagesrc/characters/vanguard/skill/镇狱裂地枪.png diff --git a/ResourceFiles/千魂·征战者/技能/长虹贯日.png b/packages/renderer/imagesrc/characters/vanguard/skill/长虹贯日.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/长虹贯日.png rename to packages/renderer/imagesrc/characters/vanguard/skill/长虹贯日.png diff --git a/ResourceFiles/千魂·征战者/技能/霸王戟.png b/packages/renderer/imagesrc/characters/vanguard/skill/霸王戟.png similarity index 100% rename from ResourceFiles/千魂·征战者/技能/霸王戟.png rename to packages/renderer/imagesrc/characters/vanguard/skill/霸王戟.png diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Adventure_3.png b/packages/renderer/imagesrc/characters/vegabond/material/Adventure_3.png new file mode 100644 index 00000000..0f778b88 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Bust.png b/packages/renderer/imagesrc/characters/vegabond/material/Bust.png new file mode 100644 index 00000000..506fc6a9 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Helper.png b/packages/renderer/imagesrc/characters/vegabond/material/Helper.png new file mode 100644 index 00000000..8f78fef1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Large.png b/packages/renderer/imagesrc/characters/vegabond/material/Large.png new file mode 100644 index 00000000..a8399261 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Large_2.png b/packages/renderer/imagesrc/characters/vegabond/material/Large_2.png new file mode 100644 index 00000000..74424d12 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Large_3.png b/packages/renderer/imagesrc/characters/vegabond/material/Large_3.png new file mode 100644 index 00000000..b7aa360d Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Seicing.png b/packages/renderer/imagesrc/characters/vegabond/material/Seicing.png new file mode 100644 index 00000000..8188bdde Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Seicing_2.png b/packages/renderer/imagesrc/characters/vegabond/material/Seicing_2.png new file mode 100644 index 00000000..8078cb2e Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Seicing_3.png b/packages/renderer/imagesrc/characters/vegabond/material/Seicing_3.png new file mode 100644 index 00000000..0152bf99 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/material/Thumb.png b/packages/renderer/imagesrc/characters/vegabond/material/Thumb.png new file mode 100644 index 00000000..d0fb0b9f Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/vegabond/profile.png b/packages/renderer/imagesrc/characters/vegabond/profile.png new file mode 100644 index 00000000..cf4d30e1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vegabond/profile.png differ diff --git a/ResourceFiles/极诣·流浪武士/技能/BUFF.png b/packages/renderer/imagesrc/characters/vegabond/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/BUFF.png rename to packages/renderer/imagesrc/characters/vegabond/skill/BUFF.png diff --git a/ResourceFiles/极诣·流浪武士/技能/一花渡江.png b/packages/renderer/imagesrc/characters/vegabond/skill/一花渡江.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/一花渡江.png rename to packages/renderer/imagesrc/characters/vegabond/skill/一花渡江.png diff --git a/ResourceFiles/极诣·流浪武士/技能/七星耀华.png b/packages/renderer/imagesrc/characters/vegabond/skill/七星耀华.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/七星耀华.png rename to packages/renderer/imagesrc/characters/vegabond/skill/七星耀华.png diff --git a/ResourceFiles/极诣·流浪武士/技能/三花聚顶.png b/packages/renderer/imagesrc/characters/vegabond/skill/三花聚顶.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/三花聚顶.png rename to packages/renderer/imagesrc/characters/vegabond/skill/三花聚顶.png diff --git a/ResourceFiles/极诣·流浪武士/技能/乱花葬.png b/packages/renderer/imagesrc/characters/vegabond/skill/乱花葬.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/乱花葬.png rename to packages/renderer/imagesrc/characters/vegabond/skill/乱花葬.png diff --git a/ResourceFiles/极诣·流浪武士/技能/光剑掌握.png b/packages/renderer/imagesrc/characters/vegabond/skill/光剑掌握.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/光剑掌握.png rename to packages/renderer/imagesrc/characters/vegabond/skill/光剑掌握.png diff --git a/ResourceFiles/极诣·流浪武士/技能/剑仙之境.png b/packages/renderer/imagesrc/characters/vegabond/skill/剑仙之境.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/剑仙之境.png rename to packages/renderer/imagesrc/characters/vegabond/skill/剑仙之境.png diff --git a/ResourceFiles/极诣·流浪武士/技能/啸空十字斩.png b/packages/renderer/imagesrc/characters/vegabond/skill/啸空十字斩.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/啸空十字斩.png rename to packages/renderer/imagesrc/characters/vegabond/skill/啸空十字斩.png diff --git a/ResourceFiles/极诣·流浪武士/技能/四象引.png b/packages/renderer/imagesrc/characters/vegabond/skill/四象引.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/四象引.png rename to packages/renderer/imagesrc/characters/vegabond/skill/四象引.png diff --git a/ResourceFiles/极诣·流浪武士/技能/回天璇鸣剑.png b/packages/renderer/imagesrc/characters/vegabond/skill/回天璇鸣剑.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/回天璇鸣剑.png rename to packages/renderer/imagesrc/characters/vegabond/skill/回天璇鸣剑.png diff --git a/ResourceFiles/极诣·流浪武士/技能/圆舞斩.png b/packages/renderer/imagesrc/characters/vegabond/skill/圆舞斩.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/圆舞斩.png rename to packages/renderer/imagesrc/characters/vegabond/skill/圆舞斩.png diff --git a/ResourceFiles/极诣·流浪武士/技能/如来神掌.png b/packages/renderer/imagesrc/characters/vegabond/skill/如来神掌.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/如来神掌.png rename to packages/renderer/imagesrc/characters/vegabond/skill/如来神掌.png diff --git a/ResourceFiles/极诣·流浪武士/技能/樱花劫.png b/packages/renderer/imagesrc/characters/vegabond/skill/樱花劫.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/樱花劫.png rename to packages/renderer/imagesrc/characters/vegabond/skill/樱花劫.png diff --git a/ResourceFiles/极诣·流浪武士/技能/樱落斩.png b/packages/renderer/imagesrc/characters/vegabond/skill/樱落斩.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/樱落斩.png rename to packages/renderer/imagesrc/characters/vegabond/skill/樱落斩.png diff --git a/ResourceFiles/极诣·流浪武士/技能/游龙掌.png b/packages/renderer/imagesrc/characters/vegabond/skill/游龙掌.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/游龙掌.png rename to packages/renderer/imagesrc/characters/vegabond/skill/游龙掌.png diff --git a/ResourceFiles/极诣·流浪武士/技能/湮烈掌.png b/packages/renderer/imagesrc/characters/vegabond/skill/湮烈掌.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/湮烈掌.png rename to packages/renderer/imagesrc/characters/vegabond/skill/湮烈掌.png diff --git a/ResourceFiles/极诣·流浪武士/技能/碎岩裂地掌.png b/packages/renderer/imagesrc/characters/vegabond/skill/碎岩裂地掌.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/碎岩裂地掌.png rename to packages/renderer/imagesrc/characters/vegabond/skill/碎岩裂地掌.png diff --git a/ResourceFiles/极诣·流浪武士/技能/花开寒影.png b/packages/renderer/imagesrc/characters/vegabond/skill/花开寒影.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/花开寒影.png rename to packages/renderer/imagesrc/characters/vegabond/skill/花开寒影.png diff --git a/ResourceFiles/极诣·流浪武士/技能/花舞千魂杀.png b/packages/renderer/imagesrc/characters/vegabond/skill/花舞千魂杀.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/花舞千魂杀.png rename to packages/renderer/imagesrc/characters/vegabond/skill/花舞千魂杀.png diff --git a/ResourceFiles/极诣·流浪武士/技能/莲花剑舞.png b/packages/renderer/imagesrc/characters/vegabond/skill/莲花剑舞.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/莲花剑舞.png rename to packages/renderer/imagesrc/characters/vegabond/skill/莲花剑舞.png diff --git a/ResourceFiles/极诣·流浪武士/技能/落英惊鸿掌.png b/packages/renderer/imagesrc/characters/vegabond/skill/落英惊鸿掌.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/落英惊鸿掌.png rename to packages/renderer/imagesrc/characters/vegabond/skill/落英惊鸿掌.png diff --git a/ResourceFiles/极诣·流浪武士/技能/轻云出月风静夜.png b/packages/renderer/imagesrc/characters/vegabond/skill/轻云出月风静夜.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/轻云出月风静夜.png rename to packages/renderer/imagesrc/characters/vegabond/skill/轻云出月风静夜.png diff --git a/ResourceFiles/极诣·流浪武士/技能/返本归元.png b/packages/renderer/imagesrc/characters/vegabond/skill/返本归元.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/返本归元.png rename to packages/renderer/imagesrc/characters/vegabond/skill/返本归元.png diff --git a/ResourceFiles/极诣·流浪武士/技能/飞花逐月.png b/packages/renderer/imagesrc/characters/vegabond/skill/飞花逐月.png similarity index 100% rename from ResourceFiles/极诣·流浪武士/技能/飞花逐月.png rename to packages/renderer/imagesrc/characters/vegabond/skill/飞花逐月.png diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Adventure_3.png b/packages/renderer/imagesrc/characters/vigilante/material/Adventure_3.png new file mode 100644 index 00000000..a319ccfc Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Bust.png b/packages/renderer/imagesrc/characters/vigilante/material/Bust.png new file mode 100644 index 00000000..b7f8d029 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Helper.png b/packages/renderer/imagesrc/characters/vigilante/material/Helper.png new file mode 100644 index 00000000..824aafbf Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Large.png b/packages/renderer/imagesrc/characters/vigilante/material/Large.png new file mode 100644 index 00000000..93f04eec Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Large_2.png b/packages/renderer/imagesrc/characters/vigilante/material/Large_2.png new file mode 100644 index 00000000..6254a87f Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Large_3.png b/packages/renderer/imagesrc/characters/vigilante/material/Large_3.png new file mode 100644 index 00000000..686df778 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Seicing.png b/packages/renderer/imagesrc/characters/vigilante/material/Seicing.png new file mode 100644 index 00000000..725d5643 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Seicing_2.png b/packages/renderer/imagesrc/characters/vigilante/material/Seicing_2.png new file mode 100644 index 00000000..67bab182 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Seicing_3.png b/packages/renderer/imagesrc/characters/vigilante/material/Seicing_3.png new file mode 100644 index 00000000..4ad35e8a Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/material/Thumb.png b/packages/renderer/imagesrc/characters/vigilante/material/Thumb.png new file mode 100644 index 00000000..7671e8c0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/profile.png b/packages/renderer/imagesrc/characters/vigilante/profile.png new file mode 100644 index 00000000..234f5f7f Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/profile.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/BUFF.png b/packages/renderer/imagesrc/characters/vigilante/skill/BUFF.png new file mode 100644 index 00000000..b7a3dc0a Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/BUFF.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/万物巅峰.png b/packages/renderer/imagesrc/characters/vigilante/skill/万物巅峰.png new file mode 100644 index 00000000..6b5b681f Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/万物巅峰.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/凶兽噬咬.png b/packages/renderer/imagesrc/characters/vigilante/skill/凶兽噬咬.png new file mode 100644 index 00000000..6933c520 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/凶兽噬咬.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/切割之影.png b/packages/renderer/imagesrc/characters/vigilante/skill/切割之影.png new file mode 100644 index 00000000..6309df5e Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/切割之影.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/利爪锋芒.png b/packages/renderer/imagesrc/characters/vigilante/skill/利爪锋芒.png new file mode 100644 index 00000000..ee6130f1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/利爪锋芒.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/卸骨.png b/packages/renderer/imagesrc/characters/vigilante/skill/卸骨.png new file mode 100644 index 00000000..69f14a32 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/卸骨.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/基础精通.png b/packages/renderer/imagesrc/characters/vigilante/skill/基础精通.png new file mode 100644 index 00000000..b27b856a Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/基础精通.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖人合一.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖人合一.png new file mode 100644 index 00000000..8a751882 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖人合一.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖兽化.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖兽化.png new file mode 100644 index 00000000..b3116ba3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖兽化.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖刺结阵.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖刺结阵.png new file mode 100644 index 00000000..7f09b3a2 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖刺结阵.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖潮狂袭.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖潮狂袭.png new file mode 100644 index 00000000..04eb1eed Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖潮狂袭.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖爪.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖爪.png new file mode 100644 index 00000000..aa36ea13 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖爪.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖痕抓击.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖痕抓击.png new file mode 100644 index 00000000..d56fca03 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖痕抓击.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖芒之茧.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖芒之茧.png new file mode 100644 index 00000000..f522b6d6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖芒之茧.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/妖蛇暴雨.png b/packages/renderer/imagesrc/characters/vigilante/skill/妖蛇暴雨.png new file mode 100644 index 00000000..50b6b0d0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/妖蛇暴雨.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/巡猎终结.png b/packages/renderer/imagesrc/characters/vigilante/skill/巡猎终结.png new file mode 100644 index 00000000..39e5e91a Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/巡猎终结.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/幻妖之噬.png b/packages/renderer/imagesrc/characters/vigilante/skill/幻妖之噬.png new file mode 100644 index 00000000..2e7226b8 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/幻妖之噬.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/御蛇.png b/packages/renderer/imagesrc/characters/vigilante/skill/御蛇.png new file mode 100644 index 00000000..b1868a7b Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/御蛇.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/捕猎箭.png b/packages/renderer/imagesrc/characters/vigilante/skill/捕猎箭.png new file mode 100644 index 00000000..71dcbe38 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/捕猎箭.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/极夜·妖刃千散.png b/packages/renderer/imagesrc/characters/vigilante/skill/极夜·妖刃千散.png new file mode 100644 index 00000000..0848d9ee Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/极夜·妖刃千散.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/特殊体质.png b/packages/renderer/imagesrc/characters/vigilante/skill/特殊体质.png new file mode 100644 index 00000000..d8ce480e Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/特殊体质.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/狂妖风暴.png b/packages/renderer/imagesrc/characters/vigilante/skill/狂妖风暴.png new file mode 100644 index 00000000..fe6b82e6 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/狂妖风暴.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/盛怒狂潮.png b/packages/renderer/imagesrc/characters/vigilante/skill/盛怒狂潮.png new file mode 100644 index 00000000..d7936621 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/盛怒狂潮.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/破颜击.png b/packages/renderer/imagesrc/characters/vigilante/skill/破颜击.png new file mode 100644 index 00000000..74dbcf14 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/破颜击.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/神妖之爪.png b/packages/renderer/imagesrc/characters/vigilante/skill/神妖之爪.png new file mode 100644 index 00000000..594925d3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/神妖之爪.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/站在边界之上的人.png b/packages/renderer/imagesrc/characters/vigilante/skill/站在边界之上的人.png new file mode 100644 index 00000000..f4d15821 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/站在边界之上的人.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/苦痛送行.png b/packages/renderer/imagesrc/characters/vigilante/skill/苦痛送行.png new file mode 100644 index 00000000..01f946ce Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/苦痛送行.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/见面礼.png b/packages/renderer/imagesrc/characters/vigilante/skill/见面礼.png new file mode 100644 index 00000000..0c7db22b Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/见面礼.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/野性愈烈.png b/packages/renderer/imagesrc/characters/vigilante/skill/野性愈烈.png new file mode 100644 index 00000000..67b39225 Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/野性愈烈.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/野息狂放.png b/packages/renderer/imagesrc/characters/vigilante/skill/野息狂放.png new file mode 100644 index 00000000..ea1150ec Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/野息狂放.png differ diff --git a/packages/renderer/imagesrc/characters/vigilante/skill/鲜活宴场.png b/packages/renderer/imagesrc/characters/vigilante/skill/鲜活宴场.png new file mode 100644 index 00000000..162c430f Binary files /dev/null and b/packages/renderer/imagesrc/characters/vigilante/skill/鲜活宴场.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Adventure_3.png b/packages/renderer/imagesrc/characters/weapon_master/material/Adventure_3.png new file mode 100644 index 00000000..3b1bab49 Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Bust.png b/packages/renderer/imagesrc/characters/weapon_master/material/Bust.png new file mode 100644 index 00000000..659866bd Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Helper.png b/packages/renderer/imagesrc/characters/weapon_master/material/Helper.png new file mode 100644 index 00000000..7553dc3b Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Large.png b/packages/renderer/imagesrc/characters/weapon_master/material/Large.png new file mode 100644 index 00000000..0f2cd6a0 Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Large_2.png b/packages/renderer/imagesrc/characters/weapon_master/material/Large_2.png new file mode 100644 index 00000000..5f31f522 Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Large_3.png b/packages/renderer/imagesrc/characters/weapon_master/material/Large_3.png new file mode 100644 index 00000000..e5e6bb3e Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Seicing.png b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing.png new file mode 100644 index 00000000..66ce294c Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_2.png b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_2.png new file mode 100644 index 00000000..de990dfb Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_3.png b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_3.png new file mode 100644 index 00000000..3e449d38 Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/material/Thumb.png b/packages/renderer/imagesrc/characters/weapon_master/material/Thumb.png new file mode 100644 index 00000000..9915297f Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/weapon_master/profile.png b/packages/renderer/imagesrc/characters/weapon_master/profile.png new file mode 100644 index 00000000..b7591e3c Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/profile.png differ diff --git a/ResourceFiles/极诣·剑魂/技能/BUFF.png b/packages/renderer/imagesrc/characters/weapon_master/skill/BUFF.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/BUFF.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/BUFF.png diff --git a/ResourceFiles/极诣·剑魂/技能/万剑归宗(穿云刺).png b/packages/renderer/imagesrc/characters/weapon_master/skill/万剑归宗.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/万剑归宗(穿云刺).png rename to packages/renderer/imagesrc/characters/weapon_master/skill/万剑归宗.png diff --git a/ResourceFiles/极诣·剑魂/技能/万剑极诣开天斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/万剑极诣开天斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/万剑极诣开天斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/万剑极诣开天斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/光剑掌握.png b/packages/renderer/imagesrc/characters/weapon_master/skill/光剑掌握.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/光剑掌握.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/光剑掌握.png diff --git a/ResourceFiles/极诣·剑魂/技能/光剑精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/光剑精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/光剑精通.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/光剑精通.png diff --git a/packages/renderer/imagesrc/characters/weapon_master/skill/基础精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/基础精通.png new file mode 100644 index 00000000..b27b856a Binary files /dev/null and b/packages/renderer/imagesrc/characters/weapon_master/skill/基础精通.png differ diff --git a/ResourceFiles/极诣·剑魂/技能/太刀精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/太刀精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/太刀精通.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/太刀精通.png diff --git a/ResourceFiles/极诣·剑魂/技能/巨剑精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/巨剑精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/巨剑精通.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/巨剑精通.png diff --git a/ResourceFiles/极诣·剑魂/技能/幻影剑舞.png b/packages/renderer/imagesrc/characters/weapon_master/skill/幻影剑舞.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/幻影剑舞.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/幻影剑舞.png diff --git a/ResourceFiles/极诣·剑魂/技能/拔刀斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/拔刀斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/拔刀斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/拔刀斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/无形剑意.png b/packages/renderer/imagesrc/characters/weapon_master/skill/无形剑意.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/无形剑意.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/无形剑意.png diff --git a/ResourceFiles/极诣·剑魂/技能/无我剑气.png b/packages/renderer/imagesrc/characters/weapon_master/skill/无我剑气.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/无我剑气.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/无我剑气.png diff --git a/ResourceFiles/极诣·剑魂/技能/极拔剑术无形斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极拔剑术无形斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极拔剑术无形斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极拔剑术无形斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/极神剑术.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极神剑术.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术.png diff --git a/ResourceFiles/极诣·剑魂/技能/极神剑术无形斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术无形斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极神剑术无形斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术无形斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/极神剑术流星落.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术流星落.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极神剑术流星落.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术流星落.png diff --git a/ResourceFiles/极诣·剑魂/技能/极神剑术瞬斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术瞬斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极神剑术瞬斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术瞬斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/极神剑术破空斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术破空斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极神剑术破空斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极神剑术破空斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/极鬼剑术斩钢式.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术斩钢式.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极鬼剑术斩钢式.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术斩钢式.png diff --git a/ResourceFiles/极诣·剑魂/技能/极鬼剑术斩铁式.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术斩铁式.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极鬼剑术斩铁式.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术斩铁式.png diff --git a/ResourceFiles/极诣·剑魂/技能/极鬼剑术暴风式.png b/packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术暴风式.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/极鬼剑术暴风式.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/极鬼剑术暴风式.png diff --git a/ResourceFiles/极诣·剑魂/技能/武器奥义.png b/packages/renderer/imagesrc/characters/weapon_master/skill/武器奥义.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/武器奥义.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/武器奥义.png diff --git a/ResourceFiles/极诣·剑魂/技能/流心刺.png b/packages/renderer/imagesrc/characters/weapon_master/skill/流心刺.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/流心刺.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/流心刺.png diff --git a/ResourceFiles/极诣·剑魂/技能/流心升.png b/packages/renderer/imagesrc/characters/weapon_master/skill/流心升.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/流心升.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/流心升.png diff --git a/ResourceFiles/极诣·剑魂/技能/流心狂.png b/packages/renderer/imagesrc/characters/weapon_master/skill/流心狂.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/流心狂.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/流心狂.png diff --git a/ResourceFiles/极诣·剑魂/技能/流心跃.png b/packages/renderer/imagesrc/characters/weapon_master/skill/流心跃.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/流心跃.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/流心跃.png diff --git a/ResourceFiles/极诣·剑魂/技能/猛龙断空斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/猛龙断空斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/猛龙断空斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/猛龙断空斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/短剑精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/短剑精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/短剑精通.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/短剑精通.png diff --git a/ResourceFiles/极诣·剑魂/技能/破军升龙击.png b/packages/renderer/imagesrc/characters/weapon_master/skill/破军升龙击.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/破军升龙击.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/破军升龙击.png diff --git a/ResourceFiles/极诣·剑魂/技能/破军斩龙击.png b/packages/renderer/imagesrc/characters/weapon_master/skill/破军斩龙击.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/破军斩龙击.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/破军斩龙击.png diff --git a/ResourceFiles/极诣·剑魂/技能/破空拔刀斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/破空拔刀斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/破空拔刀斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/破空拔刀斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/神影手.png b/packages/renderer/imagesrc/characters/weapon_master/skill/神影手.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/神影手.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/神影手.png diff --git a/ResourceFiles/极诣·剑魂/技能/空中连斩.png b/packages/renderer/imagesrc/characters/weapon_master/skill/空中连斩.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/空中连斩.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/空中连斩.png diff --git a/ResourceFiles/极诣·剑魂/技能/里鬼剑术.png b/packages/renderer/imagesrc/characters/weapon_master/skill/里鬼剑术.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/里鬼剑术.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/里鬼剑术.png diff --git a/ResourceFiles/极诣·剑魂/技能/钝器精通.png b/packages/renderer/imagesrc/characters/weapon_master/skill/钝器精通.png similarity index 100% rename from ResourceFiles/极诣·剑魂/技能/钝器精通.png rename to packages/renderer/imagesrc/characters/weapon_master/skill/钝器精通.png diff --git a/packages/renderer/imagesrc/characters/witch/material/Adventure_3.png b/packages/renderer/imagesrc/characters/witch/material/Adventure_3.png new file mode 100644 index 00000000..e593b058 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Adventure_3.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Bust.png b/packages/renderer/imagesrc/characters/witch/material/Bust.png new file mode 100644 index 00000000..a2e0ac2c Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Bust.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Helper.png b/packages/renderer/imagesrc/characters/witch/material/Helper.png new file mode 100644 index 00000000..137dd5dd Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Helper.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Large.png b/packages/renderer/imagesrc/characters/witch/material/Large.png new file mode 100644 index 00000000..e49ce5ff Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Large.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Large_2.png b/packages/renderer/imagesrc/characters/witch/material/Large_2.png new file mode 100644 index 00000000..912e12d7 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Large_2.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Large_3.png b/packages/renderer/imagesrc/characters/witch/material/Large_3.png new file mode 100644 index 00000000..31ed8726 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Large_3.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Seicing.png b/packages/renderer/imagesrc/characters/witch/material/Seicing.png new file mode 100644 index 00000000..74bc9a0e Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Seicing.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Seicing_2.png b/packages/renderer/imagesrc/characters/witch/material/Seicing_2.png new file mode 100644 index 00000000..c9fd1dc3 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Seicing_2.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Seicing_3.png b/packages/renderer/imagesrc/characters/witch/material/Seicing_3.png new file mode 100644 index 00000000..8fdddab1 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Seicing_3.png differ diff --git a/packages/renderer/imagesrc/characters/witch/material/Thumb.png b/packages/renderer/imagesrc/characters/witch/material/Thumb.png new file mode 100644 index 00000000..121edecc Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/material/Thumb.png differ diff --git a/packages/renderer/imagesrc/characters/witch/profile.png b/packages/renderer/imagesrc/characters/witch/profile.png new file mode 100644 index 00000000..880e5465 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/profile.png differ diff --git a/ResourceFiles/知源·魔道学者/技能/BUFF.png b/packages/renderer/imagesrc/characters/witch/skill/BUFF.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/BUFF.png rename to packages/renderer/imagesrc/characters/witch/skill/BUFF.png diff --git a/ResourceFiles/知源·魔道学者/技能/乌洛波洛斯之环.png b/packages/renderer/imagesrc/characters/witch/skill/乌洛波洛斯之环.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/乌洛波洛斯之环.png rename to packages/renderer/imagesrc/characters/witch/skill/乌洛波洛斯之环.png diff --git a/ResourceFiles/知源·魔道学者/技能/亲和法米利尔.png b/packages/renderer/imagesrc/characters/witch/skill/亲和法米利尔.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/亲和法米利尔.png rename to packages/renderer/imagesrc/characters/witch/skill/亲和法米利尔.png diff --git a/ResourceFiles/知源·魔道学者/技能/光电兔.png b/packages/renderer/imagesrc/characters/witch/skill/光电兔.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/光电兔.png rename to packages/renderer/imagesrc/characters/witch/skill/光电兔.png diff --git a/ResourceFiles/知源·魔道学者/技能/冰霜钻孔车失败.png b/packages/renderer/imagesrc/characters/witch/skill/冰霜钻孔车.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/冰霜钻孔车失败.png rename to packages/renderer/imagesrc/characters/witch/skill/冰霜钻孔车.png diff --git a/ResourceFiles/知源·魔道学者/技能/反重力装置.png b/packages/renderer/imagesrc/characters/witch/skill/反重力装置.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/反重力装置.png rename to packages/renderer/imagesrc/characters/witch/skill/反重力装置.png diff --git a/ResourceFiles/知源·魔道学者/技能/变异苍蝇拍.png b/packages/renderer/imagesrc/characters/witch/skill/变异苍蝇拍.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/变异苍蝇拍.png rename to packages/renderer/imagesrc/characters/witch/skill/变异苍蝇拍.png diff --git a/packages/renderer/imagesrc/characters/witch/skill/幸运棒棒糖.png b/packages/renderer/imagesrc/characters/witch/skill/幸运棒棒糖.png new file mode 100644 index 00000000..7fc90e07 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/skill/幸运棒棒糖.png differ diff --git a/ResourceFiles/知源·魔道学者/技能/成功预感.png b/packages/renderer/imagesrc/characters/witch/skill/成功预感.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/成功预感.png rename to packages/renderer/imagesrc/characters/witch/skill/成功预感.png diff --git a/ResourceFiles/知源·魔道学者/技能/技艺融合.png b/packages/renderer/imagesrc/characters/witch/skill/技艺融合.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/技艺融合.png rename to packages/renderer/imagesrc/characters/witch/skill/技艺融合.png diff --git a/ResourceFiles/知源·魔道学者/技能/改良舒露露.png b/packages/renderer/imagesrc/characters/witch/skill/改良舒露露.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/改良舒露露.png rename to packages/renderer/imagesrc/characters/witch/skill/改良舒露露.png diff --git a/packages/renderer/imagesrc/characters/witch/skill/改良魔法星弹.png b/packages/renderer/imagesrc/characters/witch/skill/改良魔法星弹.png new file mode 100644 index 00000000..50464f58 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/skill/改良魔法星弹.png differ diff --git a/packages/renderer/imagesrc/characters/witch/skill/旋转扫把.png b/packages/renderer/imagesrc/characters/witch/skill/旋转扫把.png new file mode 100644 index 00000000..4cab0737 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/skill/旋转扫把.png differ diff --git a/packages/renderer/imagesrc/characters/witch/skill/暗影斗篷.png b/packages/renderer/imagesrc/characters/witch/skill/暗影斗篷.png new file mode 100644 index 00000000..1e9f9499 Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/skill/暗影斗篷.png differ diff --git a/ResourceFiles/知源·魔道学者/技能/暴炎加热炉失败.png b/packages/renderer/imagesrc/characters/witch/skill/暴炎加热炉.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/暴炎加热炉失败.png rename to packages/renderer/imagesrc/characters/witch/skill/暴炎加热炉.png diff --git a/ResourceFiles/知源·魔道学者/技能/熔岩药瓶成功.png b/packages/renderer/imagesrc/characters/witch/skill/熔岩药瓶.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/熔岩药瓶成功.png rename to packages/renderer/imagesrc/characters/witch/skill/熔岩药瓶.png diff --git a/ResourceFiles/知源·魔道学者/技能/电鳗碰撞机.png b/packages/renderer/imagesrc/characters/witch/skill/电鳗碰撞机.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/电鳗碰撞机.png rename to packages/renderer/imagesrc/characters/witch/skill/电鳗碰撞机.png diff --git a/ResourceFiles/知源·魔道学者/技能/粉红糖果.png b/packages/renderer/imagesrc/characters/witch/skill/粉红糖果.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/粉红糖果.png rename to packages/renderer/imagesrc/characters/witch/skill/粉红糖果.png diff --git a/ResourceFiles/知源·魔道学者/技能/糖果大作战捣蛋杰克.png b/packages/renderer/imagesrc/characters/witch/skill/糖果大作战捣蛋杰克.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/糖果大作战捣蛋杰克.png rename to packages/renderer/imagesrc/characters/witch/skill/糖果大作战捣蛋杰克.png diff --git a/ResourceFiles/知源·魔道学者/技能/糖果大作战精怪乐园.png b/packages/renderer/imagesrc/characters/witch/skill/糖果大作战精怪乐园.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/糖果大作战精怪乐园.png rename to packages/renderer/imagesrc/characters/witch/skill/糖果大作战精怪乐园.png diff --git a/ResourceFiles/知源·魔道学者/技能/贤者之石.png b/packages/renderer/imagesrc/characters/witch/skill/贤者之石.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/贤者之石.png rename to packages/renderer/imagesrc/characters/witch/skill/贤者之石.png diff --git a/ResourceFiles/知源·魔道学者/技能/超级棒棒糖.png b/packages/renderer/imagesrc/characters/witch/skill/超级棒棒糖.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/超级棒棒糖.png rename to packages/renderer/imagesrc/characters/witch/skill/超级棒棒糖.png diff --git a/ResourceFiles/知源·魔道学者/技能/超级苍蝇拍.png b/packages/renderer/imagesrc/characters/witch/skill/超级苍蝇拍.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/超级苍蝇拍.png rename to packages/renderer/imagesrc/characters/witch/skill/超级苍蝇拍.png diff --git a/ResourceFiles/知源·魔道学者/技能/雪人刨冰.png b/packages/renderer/imagesrc/characters/witch/skill/雪人刨冰.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/雪人刨冰.png rename to packages/renderer/imagesrc/characters/witch/skill/雪人刨冰.png diff --git a/packages/renderer/imagesrc/characters/witch/skill/魔幻粉末.png b/packages/renderer/imagesrc/characters/witch/skill/魔幻粉末.png new file mode 100644 index 00000000..628d1d5c Binary files /dev/null and b/packages/renderer/imagesrc/characters/witch/skill/魔幻粉末.png differ diff --git a/ResourceFiles/知源·魔道学者/技能/魔法秀.png b/packages/renderer/imagesrc/characters/witch/skill/魔法秀.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/魔法秀.png rename to packages/renderer/imagesrc/characters/witch/skill/魔法秀.png diff --git a/ResourceFiles/知源·魔道学者/技能/魔道学助手+苦涩棒棒糖.png b/packages/renderer/imagesrc/characters/witch/skill/魔道学助手+苦涩棒棒糖.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/魔道学助手+苦涩棒棒糖.png rename to packages/renderer/imagesrc/characters/witch/skill/魔道学助手+苦涩棒棒糖.png diff --git a/ResourceFiles/知源·魔道学者/技能/魔道学助手.png b/packages/renderer/imagesrc/characters/witch/skill/魔道学助手.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/魔道学助手.png rename to packages/renderer/imagesrc/characters/witch/skill/魔道学助手.png diff --git a/ResourceFiles/知源·魔道学者/技能/魔道酸雨云.png b/packages/renderer/imagesrc/characters/witch/skill/魔道酸雨云.png similarity index 100% rename from ResourceFiles/知源·魔道学者/技能/魔道酸雨云.png rename to packages/renderer/imagesrc/characters/witch/skill/魔道酸雨云.png diff --git a/packages/renderer/imagesrc/common/equ-back.png b/packages/renderer/imagesrc/common/equ-back.png new file mode 100644 index 00000000..375cc141 Binary files /dev/null and b/packages/renderer/imagesrc/common/equ-back.png differ diff --git a/packages/renderer/imagesrc/common/head-1.png b/packages/renderer/imagesrc/common/head-1.png new file mode 100644 index 00000000..1942d78b Binary files /dev/null and b/packages/renderer/imagesrc/common/head-1.png differ diff --git a/packages/renderer/imagesrc/common/head-2.png b/packages/renderer/imagesrc/common/head-2.png new file mode 100644 index 00000000..fd381ef8 Binary files /dev/null and b/packages/renderer/imagesrc/common/head-2.png differ diff --git a/packages/renderer/imagesrc/common/head.png b/packages/renderer/imagesrc/common/head.png new file mode 100644 index 00000000..74666495 Binary files /dev/null and b/packages/renderer/imagesrc/common/head.png differ diff --git a/packages/renderer/imagesrc/common/icon/0.png b/packages/renderer/imagesrc/common/icon/0.png new file mode 100644 index 00000000..71171d83 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/0.png differ diff --git a/packages/renderer/imagesrc/common/icon/1.png b/packages/renderer/imagesrc/common/icon/1.png new file mode 100644 index 00000000..ccb7c30b Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/1.png differ diff --git a/packages/renderer/imagesrc/common/icon/10.png b/packages/renderer/imagesrc/common/icon/10.png new file mode 100644 index 00000000..27c38e9b Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/10.png differ diff --git a/packages/renderer/imagesrc/common/icon/11.png b/packages/renderer/imagesrc/common/icon/11.png new file mode 100644 index 00000000..b09786d0 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/11.png differ diff --git a/packages/renderer/imagesrc/common/icon/12.png b/packages/renderer/imagesrc/common/icon/12.png new file mode 100644 index 00000000..6147dd9b Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/12.png differ diff --git a/packages/renderer/imagesrc/common/icon/13.png b/packages/renderer/imagesrc/common/icon/13.png new file mode 100644 index 00000000..0612411e Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/13.png differ diff --git a/packages/renderer/imagesrc/common/icon/2.png b/packages/renderer/imagesrc/common/icon/2.png new file mode 100644 index 00000000..2917723d Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/2.png differ diff --git a/packages/renderer/imagesrc/common/icon/3.png b/packages/renderer/imagesrc/common/icon/3.png new file mode 100644 index 00000000..9f223101 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/3.png differ diff --git a/packages/renderer/imagesrc/common/icon/4.png b/packages/renderer/imagesrc/common/icon/4.png new file mode 100644 index 00000000..5da5b251 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/4.png differ diff --git a/packages/renderer/imagesrc/common/icon/5.png b/packages/renderer/imagesrc/common/icon/5.png new file mode 100644 index 00000000..10b8749c Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/5.png differ diff --git a/packages/renderer/imagesrc/common/icon/6.png b/packages/renderer/imagesrc/common/icon/6.png new file mode 100644 index 00000000..7783c189 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/6.png differ diff --git a/packages/renderer/imagesrc/common/icon/7.png b/packages/renderer/imagesrc/common/icon/7.png new file mode 100644 index 00000000..d01bf1ff Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/7.png differ diff --git a/packages/renderer/imagesrc/common/icon/8.png b/packages/renderer/imagesrc/common/icon/8.png new file mode 100644 index 00000000..58491b1b Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/8.png differ diff --git a/packages/renderer/imagesrc/common/icon/9.png b/packages/renderer/imagesrc/common/icon/9.png new file mode 100644 index 00000000..e8234cf9 Binary files /dev/null and b/packages/renderer/imagesrc/common/icon/9.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/0.png b/packages/renderer/imagesrc/equipment/amalgamationstone/0.png new file mode 100644 index 00000000..4272e55c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/0.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/1.png b/packages/renderer/imagesrc/equipment/amalgamationstone/1.png new file mode 100644 index 00000000..18ac4313 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/1.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/10.png b/packages/renderer/imagesrc/equipment/amalgamationstone/10.png new file mode 100644 index 00000000..d29dc503 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/10.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/11.png b/packages/renderer/imagesrc/equipment/amalgamationstone/11.png new file mode 100644 index 00000000..8b54edf4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/11.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/12.png b/packages/renderer/imagesrc/equipment/amalgamationstone/12.png new file mode 100644 index 00000000..55986e8d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/12.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/13.png b/packages/renderer/imagesrc/equipment/amalgamationstone/13.png new file mode 100644 index 00000000..45ce627c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/13.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/14.png b/packages/renderer/imagesrc/equipment/amalgamationstone/14.png new file mode 100644 index 00000000..03f01d37 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/14.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/15.png b/packages/renderer/imagesrc/equipment/amalgamationstone/15.png new file mode 100644 index 00000000..ac0e362c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/15.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/16.png b/packages/renderer/imagesrc/equipment/amalgamationstone/16.png new file mode 100644 index 00000000..76b68743 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/16.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/17.png b/packages/renderer/imagesrc/equipment/amalgamationstone/17.png new file mode 100644 index 00000000..59ea041a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/17.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/18.png b/packages/renderer/imagesrc/equipment/amalgamationstone/18.png new file mode 100644 index 00000000..f1ee3671 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/18.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/19.png b/packages/renderer/imagesrc/equipment/amalgamationstone/19.png new file mode 100644 index 00000000..7b373d78 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/19.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/2.png b/packages/renderer/imagesrc/equipment/amalgamationstone/2.png new file mode 100644 index 00000000..4e298034 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/2.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/20.png b/packages/renderer/imagesrc/equipment/amalgamationstone/20.png new file mode 100644 index 00000000..687b3baa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/20.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/21.png b/packages/renderer/imagesrc/equipment/amalgamationstone/21.png new file mode 100644 index 00000000..ed1275b3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/21.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/22.png b/packages/renderer/imagesrc/equipment/amalgamationstone/22.png new file mode 100644 index 00000000..097fc44b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/22.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/23.png b/packages/renderer/imagesrc/equipment/amalgamationstone/23.png new file mode 100644 index 00000000..8448ec3d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/23.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/24.png b/packages/renderer/imagesrc/equipment/amalgamationstone/24.png new file mode 100644 index 00000000..e5045910 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/24.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/25.png b/packages/renderer/imagesrc/equipment/amalgamationstone/25.png new file mode 100644 index 00000000..e7782940 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/25.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/26.png b/packages/renderer/imagesrc/equipment/amalgamationstone/26.png new file mode 100644 index 00000000..2cd02ca9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/26.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/27.png b/packages/renderer/imagesrc/equipment/amalgamationstone/27.png new file mode 100644 index 00000000..5a3d925f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/27.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/28.png b/packages/renderer/imagesrc/equipment/amalgamationstone/28.png new file mode 100644 index 00000000..91ace66a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/28.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/29.png b/packages/renderer/imagesrc/equipment/amalgamationstone/29.png new file mode 100644 index 00000000..3ae77d2c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/29.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/3.png b/packages/renderer/imagesrc/equipment/amalgamationstone/3.png new file mode 100644 index 00000000..22598545 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/3.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/30.png b/packages/renderer/imagesrc/equipment/amalgamationstone/30.png new file mode 100644 index 00000000..f67a2989 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/30.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/31.png b/packages/renderer/imagesrc/equipment/amalgamationstone/31.png new file mode 100644 index 00000000..f4ca3c1d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/31.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/32.png b/packages/renderer/imagesrc/equipment/amalgamationstone/32.png new file mode 100644 index 00000000..8cf3f33b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/32.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/33.png b/packages/renderer/imagesrc/equipment/amalgamationstone/33.png new file mode 100644 index 00000000..1a674d53 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/33.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/34.png b/packages/renderer/imagesrc/equipment/amalgamationstone/34.png new file mode 100644 index 00000000..738f30a4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/34.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/35.png b/packages/renderer/imagesrc/equipment/amalgamationstone/35.png new file mode 100644 index 00000000..5f13229f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/35.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/36.png b/packages/renderer/imagesrc/equipment/amalgamationstone/36.png new file mode 100644 index 00000000..3dad2adf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/36.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/37.png b/packages/renderer/imagesrc/equipment/amalgamationstone/37.png new file mode 100644 index 00000000..3ac56a7a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/37.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/38.png b/packages/renderer/imagesrc/equipment/amalgamationstone/38.png new file mode 100644 index 00000000..3b80ee43 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/38.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/39.png b/packages/renderer/imagesrc/equipment/amalgamationstone/39.png new file mode 100644 index 00000000..45b5fbc0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/39.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/4.png b/packages/renderer/imagesrc/equipment/amalgamationstone/4.png new file mode 100644 index 00000000..9bc54200 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/4.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/40.png b/packages/renderer/imagesrc/equipment/amalgamationstone/40.png new file mode 100644 index 00000000..abc6c157 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/40.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/41.png b/packages/renderer/imagesrc/equipment/amalgamationstone/41.png new file mode 100644 index 00000000..f17c3fbf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/41.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/42.png b/packages/renderer/imagesrc/equipment/amalgamationstone/42.png new file mode 100644 index 00000000..4f9e8a80 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/42.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/43.png b/packages/renderer/imagesrc/equipment/amalgamationstone/43.png new file mode 100644 index 00000000..f758fb80 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/43.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/44.png b/packages/renderer/imagesrc/equipment/amalgamationstone/44.png new file mode 100644 index 00000000..e1fdb896 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/44.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/45.png b/packages/renderer/imagesrc/equipment/amalgamationstone/45.png new file mode 100644 index 00000000..60ccf066 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/45.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/46.png b/packages/renderer/imagesrc/equipment/amalgamationstone/46.png new file mode 100644 index 00000000..d6ef9577 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/46.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/47.png b/packages/renderer/imagesrc/equipment/amalgamationstone/47.png new file mode 100644 index 00000000..e95ece26 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/47.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/48.png b/packages/renderer/imagesrc/equipment/amalgamationstone/48.png new file mode 100644 index 00000000..cfcf20bb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/48.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/49.png b/packages/renderer/imagesrc/equipment/amalgamationstone/49.png new file mode 100644 index 00000000..4c431f3e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/49.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/5.png b/packages/renderer/imagesrc/equipment/amalgamationstone/5.png new file mode 100644 index 00000000..101fac3b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/5.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/50.png b/packages/renderer/imagesrc/equipment/amalgamationstone/50.png new file mode 100644 index 00000000..41fbb306 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/50.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/51.png b/packages/renderer/imagesrc/equipment/amalgamationstone/51.png new file mode 100644 index 00000000..d0dbd9a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/51.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/52.png b/packages/renderer/imagesrc/equipment/amalgamationstone/52.png new file mode 100644 index 00000000..a25f49e1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/52.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/53.png b/packages/renderer/imagesrc/equipment/amalgamationstone/53.png new file mode 100644 index 00000000..36a9d733 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/53.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/54.png b/packages/renderer/imagesrc/equipment/amalgamationstone/54.png new file mode 100644 index 00000000..7390fd58 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/54.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/55.png b/packages/renderer/imagesrc/equipment/amalgamationstone/55.png new file mode 100644 index 00000000..19181c55 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/55.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/56.png b/packages/renderer/imagesrc/equipment/amalgamationstone/56.png new file mode 100644 index 00000000..ca2a5117 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/56.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/57.png b/packages/renderer/imagesrc/equipment/amalgamationstone/57.png new file mode 100644 index 00000000..6a86602e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/57.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/58.png b/packages/renderer/imagesrc/equipment/amalgamationstone/58.png new file mode 100644 index 00000000..1da8beb8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/58.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/59.png b/packages/renderer/imagesrc/equipment/amalgamationstone/59.png new file mode 100644 index 00000000..35c38477 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/59.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/6.png b/packages/renderer/imagesrc/equipment/amalgamationstone/6.png new file mode 100644 index 00000000..8beb6628 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/6.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/60.png b/packages/renderer/imagesrc/equipment/amalgamationstone/60.png new file mode 100644 index 00000000..8d6343d0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/60.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/61.png b/packages/renderer/imagesrc/equipment/amalgamationstone/61.png new file mode 100644 index 00000000..083afc1d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/61.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/7.png b/packages/renderer/imagesrc/equipment/amalgamationstone/7.png new file mode 100644 index 00000000..3726190b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/7.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/8.png b/packages/renderer/imagesrc/equipment/amalgamationstone/8.png new file mode 100644 index 00000000..056c8ce8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/8.png differ diff --git a/packages/renderer/imagesrc/equipment/amalgamationstone/9.png b/packages/renderer/imagesrc/equipment/amalgamationstone/9.png new file mode 100644 index 00000000..5489f3c8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/amalgamationstone/9.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/100.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/100.png new file mode 100644 index 00000000..d7d06ffb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/101.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/101.png new file mode 100644 index 00000000..d735f9d2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/103.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/103.png new file mode 100644 index 00000000..dcd543f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/104.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/104.png new file mode 100644 index 00000000..de90d035 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/105.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/105.png new file mode 100644 index 00000000..9d7f24ba Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/107.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/107.png new file mode 100644 index 00000000..10c1b38d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/88.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/88.png new file mode 100644 index 00000000..8b3dde9f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/88.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/89.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/89.png new file mode 100644 index 00000000..759201bf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/89.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/90.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/90.png new file mode 100644 index 00000000..ade3f49b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/91.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/91.png new file mode 100644 index 00000000..0b1f7c4e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/98.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/98.png new file mode 100644 index 00000000..e8882084 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_belt/99.png b/packages/renderer/imagesrc/equipment/armors/cloth_belt/99.png new file mode 100644 index 00000000..c9c1a03b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_belt/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/100.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/100.png new file mode 100644 index 00000000..5332a11f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/101.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/101.png new file mode 100644 index 00000000..618be758 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/108.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/108.png new file mode 100644 index 00000000..83de889d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/108.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/109.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/109.png new file mode 100644 index 00000000..bf10a79c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/110.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/110.png new file mode 100644 index 00000000..83b75be3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/111.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/111.png new file mode 100644 index 00000000..8721e749 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/113.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/113.png new file mode 100644 index 00000000..4a7ef03e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/113.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/114.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/114.png new file mode 100644 index 00000000..4003ddfb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/114.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/115.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/115.png new file mode 100644 index 00000000..1950de8f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/115.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/117.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/117.png new file mode 100644 index 00000000..220a923d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/117.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/98.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/98.png new file mode 100644 index 00000000..a2247f71 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_coat/99.png b/packages/renderer/imagesrc/equipment/armors/cloth_coat/99.png new file mode 100644 index 00000000..a2efacca Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_coat/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/100.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/100.png new file mode 100644 index 00000000..e4440225 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/101.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/101.png new file mode 100644 index 00000000..2a33c607 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/102.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/102.png new file mode 100644 index 00000000..ae8bbe19 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/103.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/103.png new file mode 100644 index 00000000..cdf3e372 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/105.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/105.png new file mode 100644 index 00000000..a766cfac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/106.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/106.png new file mode 100644 index 00000000..9e15e27e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/107.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/107.png new file mode 100644 index 00000000..26a0b6a9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/109.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/109.png new file mode 100644 index 00000000..8e4a8322 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/90.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/90.png new file mode 100644 index 00000000..dd7c5ecb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/91.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/91.png new file mode 100644 index 00000000..014835d1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/92.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/92.png new file mode 100644 index 00000000..fb12e32b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_neck/93.png b/packages/renderer/imagesrc/equipment/armors/cloth_neck/93.png new file mode 100644 index 00000000..a81068ac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_neck/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/104.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/104.png new file mode 100644 index 00000000..bda1abd7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/105.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/105.png new file mode 100644 index 00000000..1fa8f2aa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/106.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/106.png new file mode 100644 index 00000000..d4b2ede0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/107.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/107.png new file mode 100644 index 00000000..54f16c33 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/109.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/109.png new file mode 100644 index 00000000..913418df Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/110.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/110.png new file mode 100644 index 00000000..8005515d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/111.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/111.png new file mode 100644 index 00000000..2bc97ed6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/113.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/113.png new file mode 100644 index 00000000..f3d471b9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/113.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/94.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/94.png new file mode 100644 index 00000000..996cb4ca Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/95.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/95.png new file mode 100644 index 00000000..6010ac2a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/96.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/96.png new file mode 100644 index 00000000..0217a124 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_pants/97.png b/packages/renderer/imagesrc/equipment/armors/cloth_pants/97.png new file mode 100644 index 00000000..ad37b3e2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_pants/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/102.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/102.png new file mode 100644 index 00000000..7c2d94be Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/103.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/103.png new file mode 100644 index 00000000..47b22bb1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/104.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/104.png new file mode 100644 index 00000000..6083caec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/105.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/105.png new file mode 100644 index 00000000..735771e0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/107.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/107.png new file mode 100644 index 00000000..e0ab346a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/108.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/108.png new file mode 100644 index 00000000..f6f13202 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/108.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/109.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/109.png new file mode 100644 index 00000000..948f30f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/111.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/111.png new file mode 100644 index 00000000..9eadbc90 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/92.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/92.png new file mode 100644 index 00000000..afcf1e34 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/93.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/93.png new file mode 100644 index 00000000..82998668 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/94.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/94.png new file mode 100644 index 00000000..5b492a6b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/cloth_shoes/95.png b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/95.png new file mode 100644 index 00000000..e5bd8fe2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/cloth_shoes/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/101.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/101.png new file mode 100644 index 00000000..ba69e359 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/102.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/102.png new file mode 100644 index 00000000..7793ad40 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/103.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/103.png new file mode 100644 index 00000000..bfe2dde9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/104.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/104.png new file mode 100644 index 00000000..ff7eff79 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/91.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/91.png new file mode 100644 index 00000000..20c0c875 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/92.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/92.png new file mode 100644 index 00000000..db2e2598 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/93.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/93.png new file mode 100644 index 00000000..e6461764 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/94.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/94.png new file mode 100644 index 00000000..2bc3c372 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/95.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/95.png new file mode 100644 index 00000000..9f7c4522 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_belt/96.png b/packages/renderer/imagesrc/equipment/armors/harmor_belt/96.png new file mode 100644 index 00000000..4ea9ef5c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_belt/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/100.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/100.png new file mode 100644 index 00000000..b562a380 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/101.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/101.png new file mode 100644 index 00000000..d3d80ff9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/102.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/102.png new file mode 100644 index 00000000..df82b39c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/103.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/103.png new file mode 100644 index 00000000..75bede78 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/104.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/104.png new file mode 100644 index 00000000..7d9ebf7d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/109.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/109.png new file mode 100644 index 00000000..8c5bded5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/110.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/110.png new file mode 100644 index 00000000..53838e2c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/111.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/111.png new file mode 100644 index 00000000..0fa20cb4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/112.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/112.png new file mode 100644 index 00000000..dd025edd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/112.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_coat/99.png b/packages/renderer/imagesrc/equipment/armors/harmor_coat/99.png new file mode 100644 index 00000000..25003c67 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_coat/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/100.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/100.png new file mode 100644 index 00000000..0a1285c8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/101.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/101.png new file mode 100644 index 00000000..e40da75b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/102.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/102.png new file mode 100644 index 00000000..c1e4d544 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/103.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/103.png new file mode 100644 index 00000000..fe21f048 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/90.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/90.png new file mode 100644 index 00000000..6e689ab6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/91.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/91.png new file mode 100644 index 00000000..21d45e75 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/92.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/92.png new file mode 100644 index 00000000..2e487576 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/93.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/93.png new file mode 100644 index 00000000..d75b74e2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/94.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/94.png new file mode 100644 index 00000000..a21b2b77 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_neck/95.png b/packages/renderer/imagesrc/equipment/armors/harmor_neck/95.png new file mode 100644 index 00000000..b2363867 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_neck/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/104.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/104.png new file mode 100644 index 00000000..48dec103 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/105.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/105.png new file mode 100644 index 00000000..406d93f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/106.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/106.png new file mode 100644 index 00000000..2bd30f75 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/107.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/107.png new file mode 100644 index 00000000..e550125e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/94.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/94.png new file mode 100644 index 00000000..b14e0eb8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/95.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/95.png new file mode 100644 index 00000000..1ba6c305 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/96.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/96.png new file mode 100644 index 00000000..10010789 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/97.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/97.png new file mode 100644 index 00000000..fcda263a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/98.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/98.png new file mode 100644 index 00000000..e7a1b99b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_pants/99.png b/packages/renderer/imagesrc/equipment/armors/harmor_pants/99.png new file mode 100644 index 00000000..1a08d03d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_pants/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/100.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/100.png new file mode 100644 index 00000000..9b21bc82 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/101.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/101.png new file mode 100644 index 00000000..09dc8572 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/102.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/102.png new file mode 100644 index 00000000..2ca2c983 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/103.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/103.png new file mode 100644 index 00000000..5aaa76a2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/90.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/90.png new file mode 100644 index 00000000..76737cc0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/91.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/91.png new file mode 100644 index 00000000..3e37dac6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/92.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/92.png new file mode 100644 index 00000000..8087f948 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/93.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/93.png new file mode 100644 index 00000000..cba9bd33 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/94.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/94.png new file mode 100644 index 00000000..33578d1c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/harmor_shoes/95.png b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/95.png new file mode 100644 index 00000000..f9fe1e52 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/harmor_shoes/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/101.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/101.png new file mode 100644 index 00000000..1438b894 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/102.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/102.png new file mode 100644 index 00000000..f686a0fb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/103.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/103.png new file mode 100644 index 00000000..b67a48e7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/104.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/104.png new file mode 100644 index 00000000..c66fe7fa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/105.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/105.png new file mode 100644 index 00000000..463dd3b3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/110.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/110.png new file mode 100644 index 00000000..8bbd94bd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/111.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/111.png new file mode 100644 index 00000000..583701fb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/113.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/113.png new file mode 100644 index 00000000..e43beb11 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/113.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_belt/114.png b/packages/renderer/imagesrc/equipment/armors/larmor_belt/114.png new file mode 100644 index 00000000..6fd8c2b5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_belt/114.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/114.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/114.png new file mode 100644 index 00000000..ec104d6f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/114.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/115.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/115.png new file mode 100644 index 00000000..ab25fdf6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/115.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/116.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/116.png new file mode 100644 index 00000000..42a2c42b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/116.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/117.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/117.png new file mode 100644 index 00000000..ca7c41f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/117.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/118.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/118.png new file mode 100644 index 00000000..cdd10161 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/118.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/123.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/123.png new file mode 100644 index 00000000..13497b23 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/123.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/124.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/124.png new file mode 100644 index 00000000..b15c8e63 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/124.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/126.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/126.png new file mode 100644 index 00000000..a2870f24 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/126.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_coat/127.png b/packages/renderer/imagesrc/equipment/armors/larmor_coat/127.png new file mode 100644 index 00000000..bd43dc6f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_coat/127.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/103.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/103.png new file mode 100644 index 00000000..adb820f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/104.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/104.png new file mode 100644 index 00000000..7fca938e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/105.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/105.png new file mode 100644 index 00000000..074c2744 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/106.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/106.png new file mode 100644 index 00000000..fcff2035 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/107.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/107.png new file mode 100644 index 00000000..0d585d94 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/112.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/112.png new file mode 100644 index 00000000..86782ab2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/112.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/113.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/113.png new file mode 100644 index 00000000..9bf12675 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/113.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/115.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/115.png new file mode 100644 index 00000000..e0ca57c9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/115.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_neck/116.png b/packages/renderer/imagesrc/equipment/armors/larmor_neck/116.png new file mode 100644 index 00000000..a1638d36 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_neck/116.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/107.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/107.png new file mode 100644 index 00000000..5b6138b7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/108.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/108.png new file mode 100644 index 00000000..2d3aa66d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/108.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/109.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/109.png new file mode 100644 index 00000000..a05a2280 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/110.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/110.png new file mode 100644 index 00000000..48b06e31 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/111.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/111.png new file mode 100644 index 00000000..bf26a043 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/116.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/116.png new file mode 100644 index 00000000..19824533 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/116.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/117.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/117.png new file mode 100644 index 00000000..768dbfc8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/117.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/119.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/119.png new file mode 100644 index 00000000..e0cddfec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/119.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_pants/120.png b/packages/renderer/imagesrc/equipment/armors/larmor_pants/120.png new file mode 100644 index 00000000..7ebc1944 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_pants/120.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/104.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/104.png new file mode 100644 index 00000000..35205c16 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/105.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/105.png new file mode 100644 index 00000000..1d9bc681 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/106.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/106.png new file mode 100644 index 00000000..55a7a3ae Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/107.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/107.png new file mode 100644 index 00000000..3de390c5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/108.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/108.png new file mode 100644 index 00000000..4f25c853 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/108.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/113.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/113.png new file mode 100644 index 00000000..3a621e06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/113.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/114.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/114.png new file mode 100644 index 00000000..fc612cda Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/114.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/116.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/116.png new file mode 100644 index 00000000..e8c78903 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/116.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/larmor_shoes/117.png b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/117.png new file mode 100644 index 00000000..2fc6bd0e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/larmor_shoes/117.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/100.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/100.png new file mode 100644 index 00000000..90720266 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/101.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/101.png new file mode 100644 index 00000000..dd13a5a3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/102.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/102.png new file mode 100644 index 00000000..407538e9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/88.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/88.png new file mode 100644 index 00000000..42f4ff4a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/88.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/89.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/89.png new file mode 100644 index 00000000..0d52ee6c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/89.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/90.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/90.png new file mode 100644 index 00000000..16a58b20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/91.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/91.png new file mode 100644 index 00000000..c0cecfb0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/92.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/92.png new file mode 100644 index 00000000..38dc62b4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/97.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/97.png new file mode 100644 index 00000000..25c6230c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/98.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/98.png new file mode 100644 index 00000000..4b6cfc1c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_belt/99.png b/packages/renderer/imagesrc/equipment/armors/leather_belt/99.png new file mode 100644 index 00000000..0b64cd20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_belt/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/100.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/100.png new file mode 100644 index 00000000..8eca5b3b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/101.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/101.png new file mode 100644 index 00000000..0f725d78 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/102.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/102.png new file mode 100644 index 00000000..d183afb3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/107.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/107.png new file mode 100644 index 00000000..9162cfa0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/107.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/108.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/108.png new file mode 100644 index 00000000..f3610e22 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/108.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/109.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/109.png new file mode 100644 index 00000000..534d957f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/109.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/110.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/110.png new file mode 100644 index 00000000..cf8a4fe8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/110.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/111.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/111.png new file mode 100644 index 00000000..7a90a292 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/111.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/112.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/112.png new file mode 100644 index 00000000..480953b8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/112.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/98.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/98.png new file mode 100644 index 00000000..5a2b9c14 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_coat/99.png b/packages/renderer/imagesrc/equipment/armors/leather_coat/99.png new file mode 100644 index 00000000..63d2e7a1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_coat/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/100.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/100.png new file mode 100644 index 00000000..b7785b96 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/86.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/86.png new file mode 100644 index 00000000..aa82dd10 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/86.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/87.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/87.png new file mode 100644 index 00000000..454e6996 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/87.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/88.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/88.png new file mode 100644 index 00000000..8aad4197 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/88.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/89.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/89.png new file mode 100644 index 00000000..1305b044 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/89.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/90.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/90.png new file mode 100644 index 00000000..1aacbd8a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/95.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/95.png new file mode 100644 index 00000000..af3e53b0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/96.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/96.png new file mode 100644 index 00000000..b3b0426e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/97.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/97.png new file mode 100644 index 00000000..936ce67b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/98.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/98.png new file mode 100644 index 00000000..1deedfc9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_neck/99.png b/packages/renderer/imagesrc/equipment/armors/leather_neck/99.png new file mode 100644 index 00000000..60963586 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_neck/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/100.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/100.png new file mode 100644 index 00000000..1d748cb8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/101.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/101.png new file mode 100644 index 00000000..33505793 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/102.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/102.png new file mode 100644 index 00000000..9d39fe4d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/103.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/103.png new file mode 100644 index 00000000..f1bd49a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/104.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/104.png new file mode 100644 index 00000000..3e0df266 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/105.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/105.png new file mode 100644 index 00000000..14966bef Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/91.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/91.png new file mode 100644 index 00000000..bf43d102 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/92.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/92.png new file mode 100644 index 00000000..03b31200 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/93.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/93.png new file mode 100644 index 00000000..fd5ed9a0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/94.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/94.png new file mode 100644 index 00000000..bc89781b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_pants/95.png b/packages/renderer/imagesrc/equipment/armors/leather_pants/95.png new file mode 100644 index 00000000..b8cbcda2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_pants/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/101.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/101.png new file mode 100644 index 00000000..2dded343 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/102.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/102.png new file mode 100644 index 00000000..a9aac768 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/102.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/103.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/103.png new file mode 100644 index 00000000..e887bd9c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/103.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/104.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/104.png new file mode 100644 index 00000000..f51e8b5a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/104.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/105.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/105.png new file mode 100644 index 00000000..5837112d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/105.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/106.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/106.png new file mode 100644 index 00000000..0f70e6ba Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/92.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/92.png new file mode 100644 index 00000000..15d2a1e8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/93.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/93.png new file mode 100644 index 00000000..54bbef15 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/94.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/94.png new file mode 100644 index 00000000..19a09c91 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/95.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/95.png new file mode 100644 index 00000000..7abb876c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/leather_shoes/96.png b/packages/renderer/imagesrc/equipment/armors/leather_shoes/96.png new file mode 100644 index 00000000..1a7d0ddb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/leather_shoes/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/87.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/87.png new file mode 100644 index 00000000..532dcbd5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/87.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/88.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/88.png new file mode 100644 index 00000000..5ce8395e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/88.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/89.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/89.png new file mode 100644 index 00000000..7c726469 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/89.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/90.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/90.png new file mode 100644 index 00000000..50d11a28 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/91.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/91.png new file mode 100644 index 00000000..f1a9819f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_belt/97.png b/packages/renderer/imagesrc/equipment/armors/plate_belt/97.png new file mode 100644 index 00000000..5268c800 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_belt/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/100.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/100.png new file mode 100644 index 00000000..9cef19a0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/106.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/106.png new file mode 100644 index 00000000..81001524 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/106.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/96.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/96.png new file mode 100644 index 00000000..14cc2e1a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/96.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/97.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/97.png new file mode 100644 index 00000000..073c9abd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/97.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/98.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/98.png new file mode 100644 index 00000000..f1a04152 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_coat/99.png b/packages/renderer/imagesrc/equipment/armors/plate_coat/99.png new file mode 100644 index 00000000..83915016 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_coat/99.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/88.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/88.png new file mode 100644 index 00000000..67f54250 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/88.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/89.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/89.png new file mode 100644 index 00000000..246c4d0c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/89.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/90.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/90.png new file mode 100644 index 00000000..fc70fce2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/91.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/91.png new file mode 100644 index 00000000..28c23fac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/92.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/92.png new file mode 100644 index 00000000..c2a73d73 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_neck/98.png b/packages/renderer/imagesrc/equipment/armors/plate_neck/98.png new file mode 100644 index 00000000..c30af7b0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_neck/98.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/101.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/101.png new file mode 100644 index 00000000..8baa19a9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/101.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/91.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/91.png new file mode 100644 index 00000000..9374837d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/92.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/92.png new file mode 100644 index 00000000..748bff6f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/93.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/93.png new file mode 100644 index 00000000..5ceb2f49 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/94.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/94.png new file mode 100644 index 00000000..1705ce06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/94.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_pants/95.png b/packages/renderer/imagesrc/equipment/armors/plate_pants/95.png new file mode 100644 index 00000000..13d7909f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_pants/95.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/100.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/100.png new file mode 100644 index 00000000..739916f2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/100.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/90.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/90.png new file mode 100644 index 00000000..4d8e30e8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/90.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/91.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/91.png new file mode 100644 index 00000000..5082c23a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/91.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/92.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/92.png new file mode 100644 index 00000000..60b9c4d5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/92.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/93.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/93.png new file mode 100644 index 00000000..b7865bec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/93.png differ diff --git a/packages/renderer/imagesrc/equipment/armors/plate_shoes/94.png b/packages/renderer/imagesrc/equipment/armors/plate_shoes/94.png new file mode 100644 index 00000000..24c55613 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/armors/plate_shoes/94.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/106.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/106.png new file mode 100644 index 00000000..eafc705c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/106.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/107.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/107.png new file mode 100644 index 00000000..aae8ca79 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/107.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/108.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/108.png new file mode 100644 index 00000000..51658cea Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/108.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/125.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/125.png new file mode 100644 index 00000000..62f03bd0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/125.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/126.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/126.png new file mode 100644 index 00000000..52f5566b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/126.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/127.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/127.png new file mode 100644 index 00000000..52cbc9e1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/127.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/132.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/132.png new file mode 100644 index 00000000..29e8f28a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/132.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/133.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/133.png new file mode 100644 index 00000000..3771e020 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/133.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/134.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/134.png new file mode 100644 index 00000000..0afb81cd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/134.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/135.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/135.png new file mode 100644 index 00000000..fad87374 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/135.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/136.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/136.png new file mode 100644 index 00000000..3743e255 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/136.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/137.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/137.png new file mode 100644 index 00000000..4f696c14 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/137.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/138.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/138.png new file mode 100644 index 00000000..23065b4e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/138.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/140.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/140.png new file mode 100644 index 00000000..580b2909 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/140.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/cbow/93.png b/packages/renderer/imagesrc/equipment/arms/archer/cbow/93.png new file mode 100644 index 00000000..1a000921 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/cbow/93.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/106.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/106.png new file mode 100644 index 00000000..681ba692 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/106.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/107.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/107.png new file mode 100644 index 00000000..bfc06e70 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/107.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/108.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/108.png new file mode 100644 index 00000000..ff2b8d9e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/108.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/125.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/125.png new file mode 100644 index 00000000..7d48b347 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/125.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/126.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/126.png new file mode 100644 index 00000000..e573940e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/126.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/127.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/127.png new file mode 100644 index 00000000..dc18060f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/127.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/132.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/132.png new file mode 100644 index 00000000..54ea910a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/132.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/133.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/133.png new file mode 100644 index 00000000..039a1b20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/133.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/134.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/134.png new file mode 100644 index 00000000..4578da5b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/134.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/135.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/135.png new file mode 100644 index 00000000..01b080b0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/135.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/136.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/136.png new file mode 100644 index 00000000..17a1a33a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/136.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/137.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/137.png new file mode 100644 index 00000000..3cc89f37 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/137.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/138.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/138.png new file mode 100644 index 00000000..5f81531c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/138.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/142.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/142.png new file mode 100644 index 00000000..4c0a9872 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/142.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/ebow/93.png b/packages/renderer/imagesrc/equipment/arms/archer/ebow/93.png new file mode 100644 index 00000000..11fa9572 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/ebow/93.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/119.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/119.png new file mode 100644 index 00000000..cbc1ff91 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/119.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/120.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/120.png new file mode 100644 index 00000000..ec4c54c4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/120.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/121.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/121.png new file mode 100644 index 00000000..fbb7e2f7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/121.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/124.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/124.png new file mode 100644 index 00000000..4020defc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/124.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/125.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/125.png new file mode 100644 index 00000000..a211c8fe Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/125.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/126.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/126.png new file mode 100644 index 00000000..78760966 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/126.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/127.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/127.png new file mode 100644 index 00000000..e2786f88 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/127.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/144.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/144.png new file mode 100644 index 00000000..60895eea Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/144.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/149.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/149.png new file mode 100644 index 00000000..8482b173 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/149.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/150.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/150.png new file mode 100644 index 00000000..7071703c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/150.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/151.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/151.png new file mode 100644 index 00000000..ac3828e7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/151.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/152.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/152.png new file mode 100644 index 00000000..dc5c3a12 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/152.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/153.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/153.png new file mode 100644 index 00000000..c781feec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/153.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/154.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/154.png new file mode 100644 index 00000000..50c51c79 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/154.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/lbow/160.png b/packages/renderer/imagesrc/equipment/arms/archer/lbow/160.png new file mode 100644 index 00000000..dbf5b113 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/lbow/160.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/117.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/117.png new file mode 100644 index 00000000..f4ee0a34 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/117.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/118.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/118.png new file mode 100644 index 00000000..7f8a74cd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/118.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/119.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/119.png new file mode 100644 index 00000000..ca0b162c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/119.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/122.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/122.png new file mode 100644 index 00000000..d1f8a725 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/122.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/123.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/123.png new file mode 100644 index 00000000..e2828bdd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/123.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/124.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/124.png new file mode 100644 index 00000000..707ce8a4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/124.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/125.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/125.png new file mode 100644 index 00000000..bb09cf17 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/125.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/137.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/137.png new file mode 100644 index 00000000..939b00ba Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/137.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/147.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/147.png new file mode 100644 index 00000000..2af8c663 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/147.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/148.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/148.png new file mode 100644 index 00000000..d9a9ef58 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/148.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/149.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/149.png new file mode 100644 index 00000000..762471cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/149.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/150.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/150.png new file mode 100644 index 00000000..c669feb2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/150.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/151.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/151.png new file mode 100644 index 00000000..930089c1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/151.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/152.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/152.png new file mode 100644 index 00000000..8778e237 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/152.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/archer/sbow/155.png b/packages/renderer/imagesrc/equipment/arms/archer/sbow/155.png new file mode 100644 index 00000000..0a0357e8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/archer/sbow/155.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/1.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/1.png new file mode 100644 index 00000000..68bfd170 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/147.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/147.png new file mode 100644 index 00000000..c7bc91ec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/147.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/148.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/148.png new file mode 100644 index 00000000..657b684a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/148.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/157.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/157.png new file mode 100644 index 00000000..5a9adf88 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/157.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/158.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/158.png new file mode 100644 index 00000000..708a96a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/158.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/159.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/159.png new file mode 100644 index 00000000..1c72ad19 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/159.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/160.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/160.png new file mode 100644 index 00000000..0991b898 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/160.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/167.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/167.png new file mode 100644 index 00000000..d1e4a7de Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/167.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/169.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/169.png new file mode 100644 index 00000000..88cedd09 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/169.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/170.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/170.png new file mode 100644 index 00000000..b0ca6875 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/170.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/171.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/171.png new file mode 100644 index 00000000..bc35e9d7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/172.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/172.png new file mode 100644 index 00000000..24c73f47 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/172.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/173.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/173.png new file mode 100644 index 00000000..b671f615 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/173.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/174.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/174.png new file mode 100644 index 00000000..2380a52c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/174.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/175.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/175.png new file mode 100644 index 00000000..b2246640 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/beamspear/175.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/1.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/1.png new file mode 100644 index 00000000..eed60f0d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/163.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/163.png new file mode 100644 index 00000000..55e0dc07 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/163.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/164.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/164.png new file mode 100644 index 00000000..3dfa115d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/164.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/174.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/174.png new file mode 100644 index 00000000..3b51d9dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/174.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/175.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/175.png new file mode 100644 index 00000000..fb976867 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/175.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/176.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/176.png new file mode 100644 index 00000000..e6acb1f1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/176.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/177.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/177.png new file mode 100644 index 00000000..d962888c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/189.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/189.png new file mode 100644 index 00000000..7d848e60 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/191.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/191.png new file mode 100644 index 00000000..325fb31e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/192.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/192.png new file mode 100644 index 00000000..7b51d539 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/193.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/193.png new file mode 100644 index 00000000..26b91b84 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/194.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/194.png new file mode 100644 index 00000000..e432d522 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/195.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/195.png new file mode 100644 index 00000000..97eb8d73 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/196.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/196.png new file mode 100644 index 00000000..a68505f5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/197.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/197.png new file mode 100644 index 00000000..79307134 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/halberd/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/1.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/1.png new file mode 100644 index 00000000..836f0833 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/152.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/152.png new file mode 100644 index 00000000..d813c933 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/152.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/153.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/153.png new file mode 100644 index 00000000..59a8f689 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/153.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/161.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/161.png new file mode 100644 index 00000000..4647345e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/161.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/162.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/162.png new file mode 100644 index 00000000..3d0a110c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/162.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/163.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/163.png new file mode 100644 index 00000000..9f079809 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/163.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/164.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/164.png new file mode 100644 index 00000000..0ebfa8f5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/164.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/171.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/171.png new file mode 100644 index 00000000..17c58999 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/174.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/174.png new file mode 100644 index 00000000..b76bbfec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/174.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/175.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/175.png new file mode 100644 index 00000000..cc5dffb2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/175.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/176.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/176.png new file mode 100644 index 00000000..04d6d96a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/176.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/177.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/177.png new file mode 100644 index 00000000..1a51c309 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/178.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/178.png new file mode 100644 index 00000000..49a18683 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/178.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/179.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/179.png new file mode 100644 index 00000000..8b6a836f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/180.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/180.png new file mode 100644 index 00000000..39c36499 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/javelin/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/1.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/1.png new file mode 100644 index 00000000..8adfb8bd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/182.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/182.png new file mode 100644 index 00000000..a6e05ed8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/183.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/183.png new file mode 100644 index 00000000..26861fd2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/190.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/190.png new file mode 100644 index 00000000..817eda9b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/191.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/191.png new file mode 100644 index 00000000..ea4a9b6e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/192.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/192.png new file mode 100644 index 00000000..4d3521bd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/194.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/194.png new file mode 100644 index 00000000..1947a093 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/201.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/201.png new file mode 100644 index 00000000..0392fc2a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/206.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/206.png new file mode 100644 index 00000000..b70ebbd4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/207.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/207.png new file mode 100644 index 00000000..a3a842c6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/208.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/208.png new file mode 100644 index 00000000..d8c0becd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/209.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/209.png new file mode 100644 index 00000000..b12cee06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/210.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/210.png new file mode 100644 index 00000000..7cb30fd6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/211.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/211.png new file mode 100644 index 00000000..f0bb904a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/213.png b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/213.png new file mode 100644 index 00000000..e53a553b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/demoniclancer/pike/213.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/1.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/1.png new file mode 100644 index 00000000..e81758e2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/168.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/168.png new file mode 100644 index 00000000..b0cc1e75 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/168.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/169.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/169.png new file mode 100644 index 00000000..a90232a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/169.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/176.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/176.png new file mode 100644 index 00000000..db7031f7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/176.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/177.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/177.png new file mode 100644 index 00000000..bc97228b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/178.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/178.png new file mode 100644 index 00000000..5d937bcf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/178.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/179.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/179.png new file mode 100644 index 00000000..59b17189 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/193.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/193.png new file mode 100644 index 00000000..fb9ec991 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/194.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/194.png new file mode 100644 index 00000000..1596230f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/195.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/195.png new file mode 100644 index 00000000..c2512105 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/196.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/196.png new file mode 100644 index 00000000..ddce7cde Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/197.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/197.png new file mode 100644 index 00000000..f2b3c292 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/198.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/198.png new file mode 100644 index 00000000..facb97b4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/198.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/199.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/199.png new file mode 100644 index 00000000..2812cb6d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/199.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/bglove/200.png b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/200.png new file mode 100644 index 00000000..7cca644a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/bglove/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/1.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/1.png new file mode 100644 index 00000000..dae929f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/194.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/194.png new file mode 100644 index 00000000..7f0c9fa6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/195.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/195.png new file mode 100644 index 00000000..ce0671c0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/204.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/204.png new file mode 100644 index 00000000..e8c3a4f2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/205.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/205.png new file mode 100644 index 00000000..af1ad632 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/206.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/206.png new file mode 100644 index 00000000..19059b56 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/207.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/207.png new file mode 100644 index 00000000..e390ae6e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/216.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/216.png new file mode 100644 index 00000000..3f5de7cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/216.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/218.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/218.png new file mode 100644 index 00000000..9d6d0370 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/218.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/219.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/219.png new file mode 100644 index 00000000..5e0d80f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/220.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/220.png new file mode 100644 index 00000000..f73561f5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/220.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/221.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/221.png new file mode 100644 index 00000000..1f98f666 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/222.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/222.png new file mode 100644 index 00000000..8e12f630 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/223.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/223.png new file mode 100644 index 00000000..9b94622a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/claw/224.png b/packages/renderer/imagesrc/equipment/arms/fighter/claw/224.png new file mode 100644 index 00000000..06d8ae8c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/claw/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/1.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/1.png new file mode 100644 index 00000000..ab9864e9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/196.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/196.png new file mode 100644 index 00000000..80842002 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/197.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/197.png new file mode 100644 index 00000000..da2b169a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/209.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/209.png new file mode 100644 index 00000000..c479c6fd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/210.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/210.png new file mode 100644 index 00000000..248e7f0f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/211.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/211.png new file mode 100644 index 00000000..bb43c7dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/213.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/213.png new file mode 100644 index 00000000..4e7732a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/213.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/227.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/227.png new file mode 100644 index 00000000..5e13f7db Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/227.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/233.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/233.png new file mode 100644 index 00000000..27f8c073 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/233.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/234.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/234.png new file mode 100644 index 00000000..8b13bc45 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/234.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/235.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/235.png new file mode 100644 index 00000000..68ec6ee8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/236.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/236.png new file mode 100644 index 00000000..b762545d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/236.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/237.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/237.png new file mode 100644 index 00000000..54c6f5ab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/238.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/238.png new file mode 100644 index 00000000..e57c05b6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/238.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/241.png b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/241.png new file mode 100644 index 00000000..c958fa6c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/gauntlet/241.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/1.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/1.png new file mode 100644 index 00000000..f557c45d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/200.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/200.png new file mode 100644 index 00000000..08eb15e9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/201.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/201.png new file mode 100644 index 00000000..fe4015c5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/208.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/208.png new file mode 100644 index 00000000..4e05a41e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/209.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/209.png new file mode 100644 index 00000000..45ba2850 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/210.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/210.png new file mode 100644 index 00000000..29b0bf15 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/212.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/212.png new file mode 100644 index 00000000..6688e81b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/221.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/221.png new file mode 100644 index 00000000..870e9135 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/224.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/224.png new file mode 100644 index 00000000..0f153865 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/225.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/225.png new file mode 100644 index 00000000..9cd47cd3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/225.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/226.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/226.png new file mode 100644 index 00000000..ddf512f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/226.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/227.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/227.png new file mode 100644 index 00000000..d5226bd5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/227.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/228.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/228.png new file mode 100644 index 00000000..4c513632 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/228.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/229.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/229.png new file mode 100644 index 00000000..ec445e42 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/229.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/231.png b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/231.png new file mode 100644 index 00000000..86e7e71e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/knuckle/231.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/1.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/1.png new file mode 100644 index 00000000..0aaaa0b0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/182.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/182.png new file mode 100644 index 00000000..4b3a58be Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/183.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/183.png new file mode 100644 index 00000000..7f116a8f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/194.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/194.png new file mode 100644 index 00000000..3a1148f6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/195.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/195.png new file mode 100644 index 00000000..c4e09182 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/196.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/196.png new file mode 100644 index 00000000..edd4396f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/197.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/197.png new file mode 100644 index 00000000..089e21dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/202.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/202.png new file mode 100644 index 00000000..620844b8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/207.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/207.png new file mode 100644 index 00000000..58d216cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/208.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/208.png new file mode 100644 index 00000000..24954b2d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/209.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/209.png new file mode 100644 index 00000000..5e397d1f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/210.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/210.png new file mode 100644 index 00000000..780e27e4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/211.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/211.png new file mode 100644 index 00000000..e1bdc977 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/212.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/212.png new file mode 100644 index 00000000..77d81dbd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/213.png b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/213.png new file mode 100644 index 00000000..5c7dda13 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/fighter/tonfa/213.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/1.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/1.png new file mode 100644 index 00000000..cb0ecfb0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/136.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/136.png new file mode 100644 index 00000000..0c4b7358 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/136.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/137.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/137.png new file mode 100644 index 00000000..df779b7a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/137.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/144.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/144.png new file mode 100644 index 00000000..3f6af773 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/144.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/145.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/145.png new file mode 100644 index 00000000..6cf45b68 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/145.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/146.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/146.png new file mode 100644 index 00000000..3e2a0c52 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/146.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/147.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/147.png new file mode 100644 index 00000000..a7e2cfb3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/147.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/154.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/154.png new file mode 100644 index 00000000..d1e5ea0f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/154.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/155.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/155.png new file mode 100644 index 00000000..05268a93 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/155.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/156.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/156.png new file mode 100644 index 00000000..c578d16e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/156.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/157.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/157.png new file mode 100644 index 00000000..2517b0d4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/157.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/158.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/158.png new file mode 100644 index 00000000..1a89cc39 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/158.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/159.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/159.png new file mode 100644 index 00000000..7f4598cd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/159.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/160.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/160.png new file mode 100644 index 00000000..84cc3b6d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/160.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/161.png b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/161.png new file mode 100644 index 00000000..c0a9e2dc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/coreswd/161.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/1.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/1.png new file mode 100644 index 00000000..4c97cdb3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/159.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/159.png new file mode 100644 index 00000000..9a48d539 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/159.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/160.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/160.png new file mode 100644 index 00000000..4efad05b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/160.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/169.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/169.png new file mode 100644 index 00000000..fca0cf36 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/169.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/170.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/170.png new file mode 100644 index 00000000..ea794942 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/170.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/171.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/171.png new file mode 100644 index 00000000..c4e17f51 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/172.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/172.png new file mode 100644 index 00000000..05679cf3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/172.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/179.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/179.png new file mode 100644 index 00000000..ced6d4d2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/184.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/184.png new file mode 100644 index 00000000..5b588e49 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/184.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/185.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/185.png new file mode 100644 index 00000000..f373f773 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/185.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/186.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/186.png new file mode 100644 index 00000000..e78fe623 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/186.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/187.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/187.png new file mode 100644 index 00000000..9cf91120 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/187.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/188.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/188.png new file mode 100644 index 00000000..a80d6381 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/189.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/189.png new file mode 100644 index 00000000..e02300ff Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/190.png b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/190.png new file mode 100644 index 00000000..aa1fbf06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/lblade/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/1.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/1.png new file mode 100644 index 00000000..6ff9bf95 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/153.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/153.png new file mode 100644 index 00000000..510a6448 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/153.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/154.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/154.png new file mode 100644 index 00000000..7b75e0b4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/154.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/164.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/164.png new file mode 100644 index 00000000..d3a908b3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/164.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/165.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/165.png new file mode 100644 index 00000000..502ab065 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/165.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/166.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/166.png new file mode 100644 index 00000000..a211709f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/166.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/167.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/167.png new file mode 100644 index 00000000..1f2db9e5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/167.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/179.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/179.png new file mode 100644 index 00000000..470b2c59 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/183.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/183.png new file mode 100644 index 00000000..8b77f969 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/184.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/184.png new file mode 100644 index 00000000..1d7c7f40 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/184.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/185.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/185.png new file mode 100644 index 00000000..ee314c93 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/185.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/186.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/186.png new file mode 100644 index 00000000..ce09c24e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/186.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/187.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/187.png new file mode 100644 index 00000000..3fe7359d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/187.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/188.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/188.png new file mode 100644 index 00000000..b4fb5ca6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/189.png b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/189.png new file mode 100644 index 00000000..f2ff7e50 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/mswd/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/1.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/1.png new file mode 100644 index 00000000..772ac84f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/151.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/151.png new file mode 100644 index 00000000..7759888d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/151.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/152.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/152.png new file mode 100644 index 00000000..6013bccc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/152.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/160.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/160.png new file mode 100644 index 00000000..bdcc8c26 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/160.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/161.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/161.png new file mode 100644 index 00000000..0c40ceaa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/161.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/162.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/162.png new file mode 100644 index 00000000..09a1220e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/162.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/164.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/164.png new file mode 100644 index 00000000..d8c4c954 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/164.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/171.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/171.png new file mode 100644 index 00000000..2814ab43 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/173.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/173.png new file mode 100644 index 00000000..b149ca18 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/173.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/174.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/174.png new file mode 100644 index 00000000..e9df8acb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/174.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/175.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/175.png new file mode 100644 index 00000000..e5f60b50 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/175.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/176.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/176.png new file mode 100644 index 00000000..e7c40774 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/176.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/177.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/177.png new file mode 100644 index 00000000..4e847a7b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/178.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/178.png new file mode 100644 index 00000000..b92c31fa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/178.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/180.png b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/180.png new file mode 100644 index 00000000..3c90d515 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunblader/sblade/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/1.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/1.png new file mode 100644 index 00000000..0ce90e82 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/190.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/190.png new file mode 100644 index 00000000..55dbcf4b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/191.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/191.png new file mode 100644 index 00000000..c942a877 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/203.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/203.png new file mode 100644 index 00000000..68451fc1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/204.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/204.png new file mode 100644 index 00000000..1942dc9b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/205.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/205.png new file mode 100644 index 00000000..b77d2b7f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/207.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/207.png new file mode 100644 index 00000000..0e44f750 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/228.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/228.png new file mode 100644 index 00000000..5c32d66f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/228.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/232.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/232.png new file mode 100644 index 00000000..b6ad616e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/232.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/233.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/233.png new file mode 100644 index 00000000..1624fe1d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/233.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/234.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/234.png new file mode 100644 index 00000000..504c8d77 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/234.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/235.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/235.png new file mode 100644 index 00000000..ab9f89d2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/236.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/236.png new file mode 100644 index 00000000..b4be59b8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/236.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/237.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/237.png new file mode 100644 index 00000000..eead547b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/automatic/238.png b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/238.png new file mode 100644 index 00000000..cd252383 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/automatic/238.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/1.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/1.png new file mode 100644 index 00000000..4931a0f2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/184.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/184.png new file mode 100644 index 00000000..5952dfee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/184.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/185.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/185.png new file mode 100644 index 00000000..d759b603 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/185.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/193.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/193.png new file mode 100644 index 00000000..9cb760b9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/194.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/194.png new file mode 100644 index 00000000..ba12cfc7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/195.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/195.png new file mode 100644 index 00000000..bf405c12 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/196.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/196.png new file mode 100644 index 00000000..7fa7a481 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/201.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/201.png new file mode 100644 index 00000000..8aca883b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/203.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/203.png new file mode 100644 index 00000000..0f29e791 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/204.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/204.png new file mode 100644 index 00000000..f42a15d1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/205.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/205.png new file mode 100644 index 00000000..4db4f665 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/206.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/206.png new file mode 100644 index 00000000..93a943c0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/207.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/207.png new file mode 100644 index 00000000..edb4fe71 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/208.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/208.png new file mode 100644 index 00000000..58785e3b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/209.png b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/209.png new file mode 100644 index 00000000..ee2ac003 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/bowgun/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/1.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/1.png new file mode 100644 index 00000000..e8146ca2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/180.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/180.png new file mode 100644 index 00000000..fb117a63 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/181.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/181.png new file mode 100644 index 00000000..e83db8c9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/188.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/188.png new file mode 100644 index 00000000..3a1b9d9d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/189.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/189.png new file mode 100644 index 00000000..523f8150 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/190.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/190.png new file mode 100644 index 00000000..22a8c45c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/191.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/191.png new file mode 100644 index 00000000..bcd205df Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/200.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/200.png new file mode 100644 index 00000000..47ec758a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/203.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/203.png new file mode 100644 index 00000000..e0e505a9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/204.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/204.png new file mode 100644 index 00000000..a2a3e471 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/205.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/205.png new file mode 100644 index 00000000..a741ecc1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/206.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/206.png new file mode 100644 index 00000000..b26bf3bf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/207.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/207.png new file mode 100644 index 00000000..bb13f5f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/208.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/208.png new file mode 100644 index 00000000..aa7f563c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/209.png b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/209.png new file mode 100644 index 00000000..b85b1703 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/hcannon/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/1.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/1.png new file mode 100644 index 00000000..d9f98716 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/190.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/190.png new file mode 100644 index 00000000..cfb25c75 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/191.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/191.png new file mode 100644 index 00000000..9c5424d5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/201.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/201.png new file mode 100644 index 00000000..6ee7b01f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/202.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/202.png new file mode 100644 index 00000000..25f50de5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/203.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/203.png new file mode 100644 index 00000000..df3a5945 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/205.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/205.png new file mode 100644 index 00000000..6a8b92d9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/212.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/212.png new file mode 100644 index 00000000..d3cc15da Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/219.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/219.png new file mode 100644 index 00000000..eceda870 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/220.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/220.png new file mode 100644 index 00000000..b1a2a97c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/220.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/221.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/221.png new file mode 100644 index 00000000..dd5eb923 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/222.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/222.png new file mode 100644 index 00000000..ce198fe1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/223.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/223.png new file mode 100644 index 00000000..6a9d1a2b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/224.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/224.png new file mode 100644 index 00000000..597b72dc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/musket/226.png b/packages/renderer/imagesrc/equipment/arms/gunner/musket/226.png new file mode 100644 index 00000000..a2241c80 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/musket/226.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/1.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/1.png new file mode 100644 index 00000000..d0df281f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/181.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/181.png new file mode 100644 index 00000000..01ea7ce3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/182.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/182.png new file mode 100644 index 00000000..beac328f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/189.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/189.png new file mode 100644 index 00000000..c1990d12 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/190.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/190.png new file mode 100644 index 00000000..32669990 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/191.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/191.png new file mode 100644 index 00000000..70bbdeee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/194.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/194.png new file mode 100644 index 00000000..6738a401 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/205.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/205.png new file mode 100644 index 00000000..f8772599 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/207.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/207.png new file mode 100644 index 00000000..5588f594 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/208.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/208.png new file mode 100644 index 00000000..95ced727 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/209.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/209.png new file mode 100644 index 00000000..a0b7f19a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/210.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/210.png new file mode 100644 index 00000000..23ea767b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/211.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/211.png new file mode 100644 index 00000000..54812f24 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/212.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/212.png new file mode 100644 index 00000000..4990417f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/gunner/revolver/214.png b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/214.png new file mode 100644 index 00000000..06861c08 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/gunner/revolver/214.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/1.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/1.png new file mode 100644 index 00000000..ef6f328a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/170.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/170.png new file mode 100644 index 00000000..30ccd6f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/170.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/171.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/171.png new file mode 100644 index 00000000..92fd3e26 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/181.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/181.png new file mode 100644 index 00000000..c481cc00 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/182.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/182.png new file mode 100644 index 00000000..19cf7a90 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/183.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/183.png new file mode 100644 index 00000000..66a7e7cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/184.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/184.png new file mode 100644 index 00000000..708cdb9e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/184.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/195.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/195.png new file mode 100644 index 00000000..07566248 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/195.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/197.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/197.png new file mode 100644 index 00000000..a36923db Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/198.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/198.png new file mode 100644 index 00000000..88f33c01 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/198.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/199.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/199.png new file mode 100644 index 00000000..680bb7cc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/199.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/200.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/200.png new file mode 100644 index 00000000..bedff706 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/201.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/201.png new file mode 100644 index 00000000..b5b72dc8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/202.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/202.png new file mode 100644 index 00000000..d44ca434 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/broom/203.png b/packages/renderer/imagesrc/equipment/arms/mage/broom/203.png new file mode 100644 index 00000000..6d09ca7b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/broom/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/1.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/1.png new file mode 100644 index 00000000..76d8c843 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/183.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/183.png new file mode 100644 index 00000000..c29c9051 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/184.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/184.png new file mode 100644 index 00000000..631e1d65 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/184.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/191.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/191.png new file mode 100644 index 00000000..3d671168 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/192.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/192.png new file mode 100644 index 00000000..d48410f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/193.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/193.png new file mode 100644 index 00000000..22d43983 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/194.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/194.png new file mode 100644 index 00000000..b268e35b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/201.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/201.png new file mode 100644 index 00000000..a536f4d1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/202.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/202.png new file mode 100644 index 00000000..72a24789 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/203.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/203.png new file mode 100644 index 00000000..7c77fdad Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/204.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/204.png new file mode 100644 index 00000000..29649280 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/205.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/205.png new file mode 100644 index 00000000..62eb1732 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/206.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/206.png new file mode 100644 index 00000000..f9bb4bf4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/207.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/207.png new file mode 100644 index 00000000..0e22c188 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/pole/208.png b/packages/renderer/imagesrc/equipment/arms/mage/pole/208.png new file mode 100644 index 00000000..3d4ebe90 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/pole/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/1.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/1.png new file mode 100644 index 00000000..f6530457 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/211.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/211.png new file mode 100644 index 00000000..80f099d9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/212.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/212.png new file mode 100644 index 00000000..a2b28b9f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/225.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/225.png new file mode 100644 index 00000000..57b83f0b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/225.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/226.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/226.png new file mode 100644 index 00000000..8fe9f1aa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/226.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/227.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/227.png new file mode 100644 index 00000000..8c0887f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/227.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/229.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/229.png new file mode 100644 index 00000000..4dda133a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/229.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/250.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/250.png new file mode 100644 index 00000000..4a1a7e06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/250.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/255.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/255.png new file mode 100644 index 00000000..414eacc4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/255.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/256.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/256.png new file mode 100644 index 00000000..12fecdd6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/256.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/257.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/257.png new file mode 100644 index 00000000..9f4a2bda Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/257.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/258.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/258.png new file mode 100644 index 00000000..8f2557f8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/258.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/259.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/259.png new file mode 100644 index 00000000..74982b74 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/259.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/260.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/260.png new file mode 100644 index 00000000..5dbf3d83 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/260.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/rod/263.png b/packages/renderer/imagesrc/equipment/arms/mage/rod/263.png new file mode 100644 index 00000000..e97ae0a3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/rod/263.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/1.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/1.png new file mode 100644 index 00000000..9b685584 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/206.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/206.png new file mode 100644 index 00000000..a9f37812 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/207.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/207.png new file mode 100644 index 00000000..e311bc06 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/215.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/215.png new file mode 100644 index 00000000..64f12d2a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/215.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/216.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/216.png new file mode 100644 index 00000000..3a380c8e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/216.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/217.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/217.png new file mode 100644 index 00000000..124592a1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/217.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/218.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/218.png new file mode 100644 index 00000000..a38ea367 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/218.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/229.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/229.png new file mode 100644 index 00000000..0665baed Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/229.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/231.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/231.png new file mode 100644 index 00000000..2d9abdc3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/231.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/232.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/232.png new file mode 100644 index 00000000..8aeb2d91 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/232.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/233.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/233.png new file mode 100644 index 00000000..7435078d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/233.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/234.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/234.png new file mode 100644 index 00000000..90daf983 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/234.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/235.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/235.png new file mode 100644 index 00000000..ce22de27 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/236.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/236.png new file mode 100644 index 00000000..3d339795 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/236.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/spear/237.png b/packages/renderer/imagesrc/equipment/arms/mage/spear/237.png new file mode 100644 index 00000000..89224523 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/spear/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/1.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/1.png new file mode 100644 index 00000000..4e961580 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/212.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/212.png new file mode 100644 index 00000000..fbbcfdf9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/213.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/213.png new file mode 100644 index 00000000..e21a8474 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/213.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/221.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/221.png new file mode 100644 index 00000000..86d2da5b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/222.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/222.png new file mode 100644 index 00000000..636a1137 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/223.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/223.png new file mode 100644 index 00000000..5e8afb95 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/225.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/225.png new file mode 100644 index 00000000..a9aba7ef Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/225.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/232.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/232.png new file mode 100644 index 00000000..6d6cb881 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/232.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/241.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/241.png new file mode 100644 index 00000000..10073b9f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/241.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/242.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/242.png new file mode 100644 index 00000000..62b1c962 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/242.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/243.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/243.png new file mode 100644 index 00000000..38de405b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/243.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/244.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/244.png new file mode 100644 index 00000000..6a07993b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/244.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/245.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/245.png new file mode 100644 index 00000000..43f7c063 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/245.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/246.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/246.png new file mode 100644 index 00000000..becb2ef6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/246.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/mage/staff/247.png b/packages/renderer/imagesrc/equipment/arms/mage/staff/247.png new file mode 100644 index 00000000..7527d273 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/mage/staff/247.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/1.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/1.png new file mode 100644 index 00000000..3caab4a1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/191.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/191.png new file mode 100644 index 00000000..af4dfea4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/192.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/192.png new file mode 100644 index 00000000..9423a961 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/201.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/201.png new file mode 100644 index 00000000..28f50dc0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/202.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/202.png new file mode 100644 index 00000000..140b8afe Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/203.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/203.png new file mode 100644 index 00000000..12504709 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/205.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/205.png new file mode 100644 index 00000000..f9fdc5e1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/214.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/214.png new file mode 100644 index 00000000..9cbe6c99 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/214.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/219.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/219.png new file mode 100644 index 00000000..982ca161 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/220.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/220.png new file mode 100644 index 00000000..6ace3912 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/220.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/221.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/221.png new file mode 100644 index 00000000..e0e9df17 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/222.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/222.png new file mode 100644 index 00000000..223d4a95 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/223.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/223.png new file mode 100644 index 00000000..5b99a7bf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/224.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/224.png new file mode 100644 index 00000000..567bb32f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/axe/225.png b/packages/renderer/imagesrc/equipment/arms/priest/axe/225.png new file mode 100644 index 00000000..0c7c5ee2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/axe/225.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/1.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/1.png new file mode 100644 index 00000000..9883f5fa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/177.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/177.png new file mode 100644 index 00000000..652ce43e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/178.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/178.png new file mode 100644 index 00000000..9026a1fb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/178.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/185.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/185.png new file mode 100644 index 00000000..64af9d08 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/185.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/186.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/186.png new file mode 100644 index 00000000..a14ca4f2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/186.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/187.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/187.png new file mode 100644 index 00000000..7fe8a494 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/187.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/188.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/188.png new file mode 100644 index 00000000..158307e1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/197.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/197.png new file mode 100644 index 00000000..7a540327 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/198.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/198.png new file mode 100644 index 00000000..8bf27f7b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/198.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/199.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/199.png new file mode 100644 index 00000000..1cc5ca8a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/199.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/200.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/200.png new file mode 100644 index 00000000..36aacaeb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/201.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/201.png new file mode 100644 index 00000000..70f85c45 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/202.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/202.png new file mode 100644 index 00000000..9f14afff Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/203.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/203.png new file mode 100644 index 00000000..1891fc5a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/cross/204.png b/packages/renderer/imagesrc/equipment/arms/priest/cross/204.png new file mode 100644 index 00000000..3f0c0ef0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/cross/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/1.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/1.png new file mode 100644 index 00000000..5b16470a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/171.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/171.png new file mode 100644 index 00000000..5810e42f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/172.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/172.png new file mode 100644 index 00000000..7167c76e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/172.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/179.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/179.png new file mode 100644 index 00000000..587d5013 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/180.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/180.png new file mode 100644 index 00000000..61dcc84c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/181.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/181.png new file mode 100644 index 00000000..895d2095 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/182.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/182.png new file mode 100644 index 00000000..7e27129e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/187.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/187.png new file mode 100644 index 00000000..1a979e45 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/187.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/188.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/188.png new file mode 100644 index 00000000..baccbe88 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/189.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/189.png new file mode 100644 index 00000000..ac3b690b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/190.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/190.png new file mode 100644 index 00000000..3f6e7e9e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/191.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/191.png new file mode 100644 index 00000000..eb5f13dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/191.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/192.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/192.png new file mode 100644 index 00000000..6c8ac74f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/193.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/193.png new file mode 100644 index 00000000..622d3c21 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/rosary/194.png b/packages/renderer/imagesrc/equipment/arms/priest/rosary/194.png new file mode 100644 index 00000000..5e845508 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/rosary/194.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/1.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/1.png new file mode 100644 index 00000000..a98a541c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/180.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/180.png new file mode 100644 index 00000000..34269610 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/181.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/181.png new file mode 100644 index 00000000..fdd68342 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/188.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/188.png new file mode 100644 index 00000000..10bc6654 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/188.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/189.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/189.png new file mode 100644 index 00000000..ea6a98fe Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/189.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/190.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/190.png new file mode 100644 index 00000000..54a27e01 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/190.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/192.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/192.png new file mode 100644 index 00000000..125da659 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/201.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/201.png new file mode 100644 index 00000000..70b30906 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/204.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/204.png new file mode 100644 index 00000000..4d5c2d1f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/205.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/205.png new file mode 100644 index 00000000..f796b8b0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/206.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/206.png new file mode 100644 index 00000000..32fc5620 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/206.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/207.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/207.png new file mode 100644 index 00000000..0be0c2ed Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/207.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/208.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/208.png new file mode 100644 index 00000000..70c17048 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/208.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/209.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/209.png new file mode 100644 index 00000000..45ac5e15 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/scythe/210.png b/packages/renderer/imagesrc/equipment/arms/priest/scythe/210.png new file mode 100644 index 00000000..0d2b7bf3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/scythe/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/1.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/1.png new file mode 100644 index 00000000..e00038f2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/215.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/215.png new file mode 100644 index 00000000..92cbc166 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/215.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/216.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/216.png new file mode 100644 index 00000000..edfe9cab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/216.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/232.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/232.png new file mode 100644 index 00000000..e42c4932 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/232.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/233.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/233.png new file mode 100644 index 00000000..7ddb2a42 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/233.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/234.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/234.png new file mode 100644 index 00000000..910ecd2f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/234.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/235.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/235.png new file mode 100644 index 00000000..c796c273 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/254.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/254.png new file mode 100644 index 00000000..d53a7559 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/254.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/261.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/261.png new file mode 100644 index 00000000..1fe786dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/261.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/262.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/262.png new file mode 100644 index 00000000..25fc1e72 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/262.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/263.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/263.png new file mode 100644 index 00000000..bc0da37f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/263.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/264.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/264.png new file mode 100644 index 00000000..a118f45a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/264.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/265.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/265.png new file mode 100644 index 00000000..69235500 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/265.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/266.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/266.png new file mode 100644 index 00000000..45739fe9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/266.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/priest/totem/269.png b/packages/renderer/imagesrc/equipment/arms/priest/totem/269.png new file mode 100644 index 00000000..816b65f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/priest/totem/269.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/1.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/1.png new file mode 100644 index 00000000..6aedb514 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/171.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/171.png new file mode 100644 index 00000000..6c293a79 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/171.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/172.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/172.png new file mode 100644 index 00000000..d061313d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/172.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/180.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/180.png new file mode 100644 index 00000000..5dc45e45 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/181.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/181.png new file mode 100644 index 00000000..1850e5e9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/181.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/182.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/182.png new file mode 100644 index 00000000..387ccbf1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/183.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/183.png new file mode 100644 index 00000000..a9836b61 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/183.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/196.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/196.png new file mode 100644 index 00000000..01993039 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/196.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/197.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/197.png new file mode 100644 index 00000000..e8649724 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/197.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/198.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/198.png new file mode 100644 index 00000000..98221c07 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/198.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/199.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/199.png new file mode 100644 index 00000000..4f046844 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/199.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/200.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/200.png new file mode 100644 index 00000000..168474f1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/201.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/201.png new file mode 100644 index 00000000..9740745f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/202.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/202.png new file mode 100644 index 00000000..9e05d1d8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/203.png b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/203.png new file mode 100644 index 00000000..39cb3d4d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/beamswd/203.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/1.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/1.png new file mode 100644 index 00000000..99249653 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/204.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/204.png new file mode 100644 index 00000000..f4638b7c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/205.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/205.png new file mode 100644 index 00000000..f8149dfb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/205.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/215.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/215.png new file mode 100644 index 00000000..0a3ba47c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/215.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/216.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/216.png new file mode 100644 index 00000000..01553dcc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/216.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/217.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/217.png new file mode 100644 index 00000000..65af28ee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/217.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/218.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/218.png new file mode 100644 index 00000000..d7b60fd1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/218.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/235.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/235.png new file mode 100644 index 00000000..a568a99d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/239.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/239.png new file mode 100644 index 00000000..eb07dbbf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/239.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/240.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/240.png new file mode 100644 index 00000000..a0a2e8c3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/240.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/241.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/241.png new file mode 100644 index 00000000..e68869de Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/241.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/242.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/242.png new file mode 100644 index 00000000..6ee969c4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/242.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/243.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/243.png new file mode 100644 index 00000000..26a7e4ec Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/243.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/244.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/244.png new file mode 100644 index 00000000..55628dee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/244.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/club/245.png b/packages/renderer/imagesrc/equipment/arms/swordman/club/245.png new file mode 100644 index 00000000..b3bc1afb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/club/245.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/1.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/1.png new file mode 100644 index 00000000..bb25ac43 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/218.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/218.png new file mode 100644 index 00000000..700b6fca Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/218.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/219.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/219.png new file mode 100644 index 00000000..ed4e101a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/232.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/232.png new file mode 100644 index 00000000..53cbcf08 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/232.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/233.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/233.png new file mode 100644 index 00000000..8dbcbcea Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/233.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/234.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/234.png new file mode 100644 index 00000000..742bd50b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/234.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/237.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/237.png new file mode 100644 index 00000000..bcebe3cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/248.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/248.png new file mode 100644 index 00000000..008c4ecc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/248.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/255.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/255.png new file mode 100644 index 00000000..6185a731 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/255.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/256.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/256.png new file mode 100644 index 00000000..ff1c3736 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/256.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/257.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/257.png new file mode 100644 index 00000000..d8be7153 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/257.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/258.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/258.png new file mode 100644 index 00000000..2b4821a0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/258.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/259.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/259.png new file mode 100644 index 00000000..7d051bdb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/259.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/260.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/260.png new file mode 100644 index 00000000..6013903b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/260.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/katana/265.png b/packages/renderer/imagesrc/equipment/arms/swordman/katana/265.png new file mode 100644 index 00000000..36947b8b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/katana/265.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/1.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/1.png new file mode 100644 index 00000000..e0f0c0a6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/235.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/235.png new file mode 100644 index 00000000..8955c464 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/235.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/236.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/236.png new file mode 100644 index 00000000..a9d05f5d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/236.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/248.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/248.png new file mode 100644 index 00000000..fabd4004 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/248.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/249.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/249.png new file mode 100644 index 00000000..16c0815e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/249.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/250.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/250.png new file mode 100644 index 00000000..2079ee00 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/250.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/251.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/251.png new file mode 100644 index 00000000..52acbb0b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/251.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/273.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/273.png new file mode 100644 index 00000000..f874ad63 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/273.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/283.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/283.png new file mode 100644 index 00000000..a0aeb2f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/283.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/284.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/284.png new file mode 100644 index 00000000..7e3e35fa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/284.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/285.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/285.png new file mode 100644 index 00000000..e6a58724 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/285.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/286.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/286.png new file mode 100644 index 00000000..624266a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/286.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/287.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/287.png new file mode 100644 index 00000000..7d792f54 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/287.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/288.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/288.png new file mode 100644 index 00000000..e1cce47e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/288.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/lswd/289.png b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/289.png new file mode 100644 index 00000000..3fa9eaad Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/lswd/289.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/1.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/1.png new file mode 100644 index 00000000..c40a1f98 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/192.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/192.png new file mode 100644 index 00000000..f2941c5a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/192.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/193.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/193.png new file mode 100644 index 00000000..e0233288 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/193.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/200.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/200.png new file mode 100644 index 00000000..0b83d943 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/200.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/201.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/201.png new file mode 100644 index 00000000..4a591b09 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/202.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/202.png new file mode 100644 index 00000000..71d27c18 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/204.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/204.png new file mode 100644 index 00000000..de87fcfd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/204.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/215.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/215.png new file mode 100644 index 00000000..c310766c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/215.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/217.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/217.png new file mode 100644 index 00000000..10f1fe5d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/217.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/218.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/218.png new file mode 100644 index 00000000..3fa7c461 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/218.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/219.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/219.png new file mode 100644 index 00000000..bbcdf7d3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/220.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/220.png new file mode 100644 index 00000000..3e0dcebd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/220.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/221.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/221.png new file mode 100644 index 00000000..7ab2e224 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/222.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/222.png new file mode 100644 index 00000000..21c0cc2e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/swordman/sswd/224.png b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/224.png new file mode 100644 index 00000000..56b24868 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/swordman/sswd/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/1.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/1.png new file mode 100644 index 00000000..c4e44ca1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/156.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/156.png new file mode 100644 index 00000000..d2da3163 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/156.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/157.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/157.png new file mode 100644 index 00000000..7f251a49 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/157.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/164.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/164.png new file mode 100644 index 00000000..6ece2318 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/164.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/165.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/165.png new file mode 100644 index 00000000..d9715de8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/165.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/166.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/166.png new file mode 100644 index 00000000..3729a46e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/166.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/167.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/167.png new file mode 100644 index 00000000..e2b9654c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/167.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/174.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/174.png new file mode 100644 index 00000000..9ff16ad6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/174.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/175.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/175.png new file mode 100644 index 00000000..0e3d6621 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/175.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/176.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/176.png new file mode 100644 index 00000000..c35f79b6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/176.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/177.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/177.png new file mode 100644 index 00000000..d734fd88 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/177.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/178.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/178.png new file mode 100644 index 00000000..53af60ca Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/178.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/179.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/179.png new file mode 100644 index 00000000..a2a27edf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/179.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/180.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/180.png new file mode 100644 index 00000000..77a20c6c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/180.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/182.png b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/182.png new file mode 100644 index 00000000..e8621827 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/chakraweapon/182.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/1.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/1.png new file mode 100644 index 00000000..c296b91f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/201.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/201.png new file mode 100644 index 00000000..10ddae83 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/201.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/202.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/202.png new file mode 100644 index 00000000..5de29f63 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/202.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/209.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/209.png new file mode 100644 index 00000000..b479d748 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/210.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/210.png new file mode 100644 index 00000000..f4225990 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/211.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/211.png new file mode 100644 index 00000000..b3ca808d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/211.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/212.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/212.png new file mode 100644 index 00000000..1a03b7f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/212.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/219.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/219.png new file mode 100644 index 00000000..aba978cc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/219.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/221.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/221.png new file mode 100644 index 00000000..4926982f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/222.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/222.png new file mode 100644 index 00000000..42e3ad34 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/223.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/223.png new file mode 100644 index 00000000..c7d0628e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/224.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/224.png new file mode 100644 index 00000000..548e49d9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/225.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/225.png new file mode 100644 index 00000000..a07a7cef Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/225.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/226.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/226.png new file mode 100644 index 00000000..a8eb49be Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/226.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/dagger/227.png b/packages/renderer/imagesrc/equipment/arms/thief/dagger/227.png new file mode 100644 index 00000000..fbaf0c76 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/dagger/227.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/1.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/1.png new file mode 100644 index 00000000..d47861a1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/209.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/209.png new file mode 100644 index 00000000..8a30c648 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/209.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/210.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/210.png new file mode 100644 index 00000000..7dd7c6df Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/210.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/221.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/221.png new file mode 100644 index 00000000..ff9c3eb4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/221.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/222.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/222.png new file mode 100644 index 00000000..f8a80a82 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/222.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/223.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/223.png new file mode 100644 index 00000000..319ab224 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/223.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/224.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/224.png new file mode 100644 index 00000000..eaa54013 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/224.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/231.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/231.png new file mode 100644 index 00000000..a2472470 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/231.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/236.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/236.png new file mode 100644 index 00000000..3f48ac9c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/236.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/237.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/237.png new file mode 100644 index 00000000..e87ddd6e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/238.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/238.png new file mode 100644 index 00000000..d65586b3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/238.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/239.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/239.png new file mode 100644 index 00000000..b6320d2f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/239.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/240.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/240.png new file mode 100644 index 00000000..1209d34b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/240.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/241.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/241.png new file mode 100644 index 00000000..86b7349f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/241.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/twinswd/242.png b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/242.png new file mode 100644 index 00000000..274b7f18 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/twinswd/242.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/1.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/1.png new file mode 100644 index 00000000..fd424ec2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/1.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/227.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/227.png new file mode 100644 index 00000000..5de758ba Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/227.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/228.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/228.png new file mode 100644 index 00000000..35ea41f6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/228.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/237.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/237.png new file mode 100644 index 00000000..67a96edc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/237.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/238.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/238.png new file mode 100644 index 00000000..bb70c23f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/238.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/239.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/239.png new file mode 100644 index 00000000..269d7e65 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/239.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/241.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/241.png new file mode 100644 index 00000000..eb3ed4d0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/241.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/253.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/253.png new file mode 100644 index 00000000..a2d74b20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/253.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/257.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/257.png new file mode 100644 index 00000000..d3b00a35 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/257.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/258.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/258.png new file mode 100644 index 00000000..b86a0cd1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/258.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/259.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/259.png new file mode 100644 index 00000000..b4ba1404 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/259.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/260.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/260.png new file mode 100644 index 00000000..248e0474 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/260.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/261.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/261.png new file mode 100644 index 00000000..6f0cac96 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/261.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/262.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/262.png new file mode 100644 index 00000000..f8f04564 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/262.png differ diff --git a/packages/renderer/imagesrc/equipment/arms/thief/wand/264.png b/packages/renderer/imagesrc/equipment/arms/thief/wand/264.png new file mode 100644 index 00000000..445825aa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/arms/thief/wand/264.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/1.png b/packages/renderer/imagesrc/equipment/consumable/1.png new file mode 100644 index 00000000..f97599a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/1.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/10.png b/packages/renderer/imagesrc/equipment/consumable/10.png new file mode 100644 index 00000000..edaaa585 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/10.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/11.png b/packages/renderer/imagesrc/equipment/consumable/11.png new file mode 100644 index 00000000..b812ad64 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/11.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/1191.png b/packages/renderer/imagesrc/equipment/consumable/1191.png new file mode 100644 index 00000000..29273009 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/1191.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/1192.png b/packages/renderer/imagesrc/equipment/consumable/1192.png new file mode 100644 index 00000000..1673a635 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/1192.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/12.png b/packages/renderer/imagesrc/equipment/consumable/12.png new file mode 100644 index 00000000..e8d8885f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/12.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/13.png b/packages/renderer/imagesrc/equipment/consumable/13.png new file mode 100644 index 00000000..61d1f455 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/13.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/14.png b/packages/renderer/imagesrc/equipment/consumable/14.png new file mode 100644 index 00000000..0b15c775 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/14.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/15.png b/packages/renderer/imagesrc/equipment/consumable/15.png new file mode 100644 index 00000000..f073eef8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/15.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/16.png b/packages/renderer/imagesrc/equipment/consumable/16.png new file mode 100644 index 00000000..81e8bc6a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/16.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/17.png b/packages/renderer/imagesrc/equipment/consumable/17.png new file mode 100644 index 00000000..ac6b6ab5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/17.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/2.png b/packages/renderer/imagesrc/equipment/consumable/2.png new file mode 100644 index 00000000..7b7b44fb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/2.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/3.png b/packages/renderer/imagesrc/equipment/consumable/3.png new file mode 100644 index 00000000..19ca2830 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/3.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/4.png b/packages/renderer/imagesrc/equipment/consumable/4.png new file mode 100644 index 00000000..c5aef644 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/4.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/5.png b/packages/renderer/imagesrc/equipment/consumable/5.png new file mode 100644 index 00000000..3b3703df Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/5.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/6.png b/packages/renderer/imagesrc/equipment/consumable/6.png new file mode 100644 index 00000000..616da2bb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/6.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/7.png b/packages/renderer/imagesrc/equipment/consumable/7.png new file mode 100644 index 00000000..31dd2627 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/7.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/8.png b/packages/renderer/imagesrc/equipment/consumable/8.png new file mode 100644 index 00000000..6fd54d6d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/8.png differ diff --git a/packages/renderer/imagesrc/equipment/consumable/9.png b/packages/renderer/imagesrc/equipment/consumable/9.png new file mode 100644 index 00000000..b1d80c36 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/consumable/9.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/1.png b/packages/renderer/imagesrc/equipment/creature/1.png new file mode 100644 index 00000000..23c935af Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/1.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/263.png b/packages/renderer/imagesrc/equipment/creature/263.png new file mode 100644 index 00000000..99676313 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/263.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/264.png b/packages/renderer/imagesrc/equipment/creature/264.png new file mode 100644 index 00000000..96e1f3f1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/264.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/265.png b/packages/renderer/imagesrc/equipment/creature/265.png new file mode 100644 index 00000000..356c2d96 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/265.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/266.png b/packages/renderer/imagesrc/equipment/creature/266.png new file mode 100644 index 00000000..b9283576 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/266.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/3.png b/packages/renderer/imagesrc/equipment/creature/3.png new file mode 100644 index 00000000..db46cc4c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/3.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/312.png b/packages/renderer/imagesrc/equipment/creature/312.png new file mode 100644 index 00000000..d67af9c4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/312.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/313.png b/packages/renderer/imagesrc/equipment/creature/313.png new file mode 100644 index 00000000..79fd6522 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/313.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/314.png b/packages/renderer/imagesrc/equipment/creature/314.png new file mode 100644 index 00000000..feeb4289 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/314.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/326.png b/packages/renderer/imagesrc/equipment/creature/326.png new file mode 100644 index 00000000..4a65df9d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/326.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/360.png b/packages/renderer/imagesrc/equipment/creature/360.png new file mode 100644 index 00000000..ba56a27a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/360.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/361.png b/packages/renderer/imagesrc/equipment/creature/361.png new file mode 100644 index 00000000..df41a2fb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/361.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/363.png b/packages/renderer/imagesrc/equipment/creature/363.png new file mode 100644 index 00000000..d6f0cfcb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/363.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/436.png b/packages/renderer/imagesrc/equipment/creature/436.png new file mode 100644 index 00000000..c2835b43 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/436.png differ diff --git a/packages/renderer/imagesrc/equipment/creature/483.png b/packages/renderer/imagesrc/equipment/creature/483.png new file mode 100644 index 00000000..c8e04d8d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/creature/483.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/上衣.png b/packages/renderer/imagesrc/equipment/icon/上衣.png new file mode 100644 index 00000000..572f676d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/上衣.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/下装.png b/packages/renderer/imagesrc/equipment/icon/下装.png new file mode 100644 index 00000000..ef673524 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/下装.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/头肩.png b/packages/renderer/imagesrc/equipment/icon/头肩.png new file mode 100644 index 00000000..d43646ea Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/头肩.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/戒指.png b/packages/renderer/imagesrc/equipment/icon/戒指.png new file mode 100644 index 00000000..90e1ac1b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/戒指.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/手镯.png b/packages/renderer/imagesrc/equipment/icon/手镯.png new file mode 100644 index 00000000..24c39cf0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/手镯.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/武器.png b/packages/renderer/imagesrc/equipment/icon/武器.png new file mode 100644 index 00000000..66b5ca23 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/武器.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/耳环.png b/packages/renderer/imagesrc/equipment/icon/耳环.png new file mode 100644 index 00000000..5dbf8ff3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/耳环.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/腰带.png b/packages/renderer/imagesrc/equipment/icon/腰带.png new file mode 100644 index 00000000..ab60170d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/腰带.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/辅助装备.png b/packages/renderer/imagesrc/equipment/icon/辅助装备.png new file mode 100644 index 00000000..ee37fbe5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/辅助装备.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/鞋.png b/packages/renderer/imagesrc/equipment/icon/鞋.png new file mode 100644 index 00000000..f0ba3a20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/鞋.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/项链.png b/packages/renderer/imagesrc/equipment/icon/项链.png new file mode 100644 index 00000000..e69c02d1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/项链.png differ diff --git a/packages/renderer/imagesrc/equipment/icon/魔法石.png b/packages/renderer/imagesrc/equipment/icon/魔法石.png new file mode 100644 index 00000000..40adc8a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/icon/魔法石.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/273.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/273.png new file mode 100644 index 00000000..623ea9e0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/273.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/274.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/274.png new file mode 100644 index 00000000..7833f49c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/274.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/275.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/275.png new file mode 100644 index 00000000..d1936066 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/275.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/276.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/276.png new file mode 100644 index 00000000..3b03d194 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/276.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/277.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/277.png new file mode 100644 index 00000000..32c639e5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/277.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/278.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/278.png new file mode 100644 index 00000000..f5845c83 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/278.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/279.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/279.png new file mode 100644 index 00000000..7254b1af Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/279.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/280.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/280.png new file mode 100644 index 00000000..41a3cc24 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/280.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/281.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/281.png new file mode 100644 index 00000000..decbd89c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/281.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/282.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/282.png new file mode 100644 index 00000000..dbec72e9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/282.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/283.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/283.png new file mode 100644 index 00000000..979a66c8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/283.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/284.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/284.png new file mode 100644 index 00000000..2bc01025 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/284.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/285.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/285.png new file mode 100644 index 00000000..d2e5aaa0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/285.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/286.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/286.png new file mode 100644 index 00000000..4fb994ab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/286.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/287.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/287.png new file mode 100644 index 00000000..e269e81f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/287.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/288.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/288.png new file mode 100644 index 00000000..038b1277 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/288.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/289.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/289.png new file mode 100644 index 00000000..244ac5b3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/289.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/290.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/290.png new file mode 100644 index 00000000..8a80292c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/290.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/291.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/291.png new file mode 100644 index 00000000..30f2f13c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/291.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/292.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/292.png new file mode 100644 index 00000000..ee7b6fc2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/292.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/293.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/293.png new file mode 100644 index 00000000..9a0fec0b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/293.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/294.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/294.png new file mode 100644 index 00000000..536e3b66 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/294.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/295.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/295.png new file mode 100644 index 00000000..7ff1e086 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/295.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/296.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/296.png new file mode 100644 index 00000000..0e18b408 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/296.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/298.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/298.png new file mode 100644 index 00000000..77585eb2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/298.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/304.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/304.png new file mode 100644 index 00000000..f48c7545 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/304.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/305.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/305.png new file mode 100644 index 00000000..50e6f880 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/305.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/306.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/306.png new file mode 100644 index 00000000..40870e0b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/306.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/307.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/307.png new file mode 100644 index 00000000..66fba402 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/307.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/308.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/308.png new file mode 100644 index 00000000..41b9d44c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/308.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/309.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/309.png new file mode 100644 index 00000000..866f2c77 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/309.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/311.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/311.png new file mode 100644 index 00000000..f11ee46f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/311.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/312.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/312.png new file mode 100644 index 00000000..dfaabb37 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/312.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/314.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/314.png new file mode 100644 index 00000000..18b5c948 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/314.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/315.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/315.png new file mode 100644 index 00000000..db1ebf21 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/315.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/316.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/316.png new file mode 100644 index 00000000..da486981 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/316.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/317.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/317.png new file mode 100644 index 00000000..85ad6d32 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/317.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/318.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/318.png new file mode 100644 index 00000000..d350dae4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/318.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/319.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/319.png new file mode 100644 index 00000000..2e0af12d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/319.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/320.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/320.png new file mode 100644 index 00000000..4e0b4d42 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/320.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/322.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/322.png new file mode 100644 index 00000000..9fe46a56 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/322.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/323.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/323.png new file mode 100644 index 00000000..8a2b5726 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/323.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/324.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/324.png new file mode 100644 index 00000000..9b45b86e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/324.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/325.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/325.png new file mode 100644 index 00000000..522a83a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/325.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/326.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/326.png new file mode 100644 index 00000000..f567f3d5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/326.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/327.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/327.png new file mode 100644 index 00000000..10206185 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/327.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/329.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/329.png new file mode 100644 index 00000000..43d4ca13 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/329.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/330.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/330.png new file mode 100644 index 00000000..d129bd02 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/330.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/bracelet/332.png b/packages/renderer/imagesrc/equipment/jewels/bracelet/332.png new file mode 100644 index 00000000..c7e8df93 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/bracelet/332.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/280.png b/packages/renderer/imagesrc/equipment/jewels/necklace/280.png new file mode 100644 index 00000000..74cd248d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/280.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/281.png b/packages/renderer/imagesrc/equipment/jewels/necklace/281.png new file mode 100644 index 00000000..272ef929 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/281.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/282.png b/packages/renderer/imagesrc/equipment/jewels/necklace/282.png new file mode 100644 index 00000000..96224fae Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/282.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/283.png b/packages/renderer/imagesrc/equipment/jewels/necklace/283.png new file mode 100644 index 00000000..c57f5928 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/283.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/284.png b/packages/renderer/imagesrc/equipment/jewels/necklace/284.png new file mode 100644 index 00000000..515291ee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/284.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/285.png b/packages/renderer/imagesrc/equipment/jewels/necklace/285.png new file mode 100644 index 00000000..5be4f979 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/285.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/286.png b/packages/renderer/imagesrc/equipment/jewels/necklace/286.png new file mode 100644 index 00000000..87be119a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/286.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/287.png b/packages/renderer/imagesrc/equipment/jewels/necklace/287.png new file mode 100644 index 00000000..6bfb1c01 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/287.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/288.png b/packages/renderer/imagesrc/equipment/jewels/necklace/288.png new file mode 100644 index 00000000..731c74db Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/288.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/289.png b/packages/renderer/imagesrc/equipment/jewels/necklace/289.png new file mode 100644 index 00000000..b6bce2fc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/289.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/290.png b/packages/renderer/imagesrc/equipment/jewels/necklace/290.png new file mode 100644 index 00000000..9910bf4c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/290.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/291.png b/packages/renderer/imagesrc/equipment/jewels/necklace/291.png new file mode 100644 index 00000000..eabe7b88 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/291.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/292.png b/packages/renderer/imagesrc/equipment/jewels/necklace/292.png new file mode 100644 index 00000000..f2bf7833 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/292.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/293.png b/packages/renderer/imagesrc/equipment/jewels/necklace/293.png new file mode 100644 index 00000000..234363aa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/293.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/294.png b/packages/renderer/imagesrc/equipment/jewels/necklace/294.png new file mode 100644 index 00000000..d6aaf9fa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/294.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/295.png b/packages/renderer/imagesrc/equipment/jewels/necklace/295.png new file mode 100644 index 00000000..51e6b993 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/295.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/296.png b/packages/renderer/imagesrc/equipment/jewels/necklace/296.png new file mode 100644 index 00000000..24bdbfab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/296.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/297.png b/packages/renderer/imagesrc/equipment/jewels/necklace/297.png new file mode 100644 index 00000000..1f2a91e3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/297.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/298.png b/packages/renderer/imagesrc/equipment/jewels/necklace/298.png new file mode 100644 index 00000000..e9cb5c69 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/298.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/299.png b/packages/renderer/imagesrc/equipment/jewels/necklace/299.png new file mode 100644 index 00000000..c57bf061 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/299.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/300.png b/packages/renderer/imagesrc/equipment/jewels/necklace/300.png new file mode 100644 index 00000000..8150a6e8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/300.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/301.png b/packages/renderer/imagesrc/equipment/jewels/necklace/301.png new file mode 100644 index 00000000..b48c6052 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/301.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/302.png b/packages/renderer/imagesrc/equipment/jewels/necklace/302.png new file mode 100644 index 00000000..7481a51e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/302.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/303.png b/packages/renderer/imagesrc/equipment/jewels/necklace/303.png new file mode 100644 index 00000000..724092a7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/303.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/305.png b/packages/renderer/imagesrc/equipment/jewels/necklace/305.png new file mode 100644 index 00000000..6766d1e2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/305.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/311.png b/packages/renderer/imagesrc/equipment/jewels/necklace/311.png new file mode 100644 index 00000000..b11a8baf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/311.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/312.png b/packages/renderer/imagesrc/equipment/jewels/necklace/312.png new file mode 100644 index 00000000..09718e0f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/312.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/313.png b/packages/renderer/imagesrc/equipment/jewels/necklace/313.png new file mode 100644 index 00000000..e51e6c2e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/313.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/314.png b/packages/renderer/imagesrc/equipment/jewels/necklace/314.png new file mode 100644 index 00000000..f7cf7664 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/314.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/315.png b/packages/renderer/imagesrc/equipment/jewels/necklace/315.png new file mode 100644 index 00000000..d86f95e3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/315.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/316.png b/packages/renderer/imagesrc/equipment/jewels/necklace/316.png new file mode 100644 index 00000000..f474bd00 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/316.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/318.png b/packages/renderer/imagesrc/equipment/jewels/necklace/318.png new file mode 100644 index 00000000..b604a100 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/318.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/319.png b/packages/renderer/imagesrc/equipment/jewels/necklace/319.png new file mode 100644 index 00000000..30afc36c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/319.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/320.png b/packages/renderer/imagesrc/equipment/jewels/necklace/320.png new file mode 100644 index 00000000..f32f2d7d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/320.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/321.png b/packages/renderer/imagesrc/equipment/jewels/necklace/321.png new file mode 100644 index 00000000..aa3b158f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/321.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/322.png b/packages/renderer/imagesrc/equipment/jewels/necklace/322.png new file mode 100644 index 00000000..4c18e3ac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/322.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/323.png b/packages/renderer/imagesrc/equipment/jewels/necklace/323.png new file mode 100644 index 00000000..4fc22b8e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/323.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/324.png b/packages/renderer/imagesrc/equipment/jewels/necklace/324.png new file mode 100644 index 00000000..0cd9118f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/324.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/325.png b/packages/renderer/imagesrc/equipment/jewels/necklace/325.png new file mode 100644 index 00000000..e6918d23 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/325.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/326.png b/packages/renderer/imagesrc/equipment/jewels/necklace/326.png new file mode 100644 index 00000000..ae48f2a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/326.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/329.png b/packages/renderer/imagesrc/equipment/jewels/necklace/329.png new file mode 100644 index 00000000..7a6c1be7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/329.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/330.png b/packages/renderer/imagesrc/equipment/jewels/necklace/330.png new file mode 100644 index 00000000..f6437627 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/330.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/331.png b/packages/renderer/imagesrc/equipment/jewels/necklace/331.png new file mode 100644 index 00000000..9c279737 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/331.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/332.png b/packages/renderer/imagesrc/equipment/jewels/necklace/332.png new file mode 100644 index 00000000..f81b93c3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/332.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/333.png b/packages/renderer/imagesrc/equipment/jewels/necklace/333.png new file mode 100644 index 00000000..258d06c3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/333.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/334.png b/packages/renderer/imagesrc/equipment/jewels/necklace/334.png new file mode 100644 index 00000000..b7e19b58 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/334.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/336.png b/packages/renderer/imagesrc/equipment/jewels/necklace/336.png new file mode 100644 index 00000000..72595f9b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/336.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/337.png b/packages/renderer/imagesrc/equipment/jewels/necklace/337.png new file mode 100644 index 00000000..317996b7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/337.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/necklace/339.png b/packages/renderer/imagesrc/equipment/jewels/necklace/339.png new file mode 100644 index 00000000..a7db5588 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/necklace/339.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/319.png b/packages/renderer/imagesrc/equipment/jewels/ring/319.png new file mode 100644 index 00000000..6e0e623c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/319.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/320.png b/packages/renderer/imagesrc/equipment/jewels/ring/320.png new file mode 100644 index 00000000..2a32e4f0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/320.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/321.png b/packages/renderer/imagesrc/equipment/jewels/ring/321.png new file mode 100644 index 00000000..dfdd7a50 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/321.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/322.png b/packages/renderer/imagesrc/equipment/jewels/ring/322.png new file mode 100644 index 00000000..45af6494 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/322.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/323.png b/packages/renderer/imagesrc/equipment/jewels/ring/323.png new file mode 100644 index 00000000..c1aca493 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/323.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/324.png b/packages/renderer/imagesrc/equipment/jewels/ring/324.png new file mode 100644 index 00000000..9118cbd1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/324.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/325.png b/packages/renderer/imagesrc/equipment/jewels/ring/325.png new file mode 100644 index 00000000..3a36eb9f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/325.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/326.png b/packages/renderer/imagesrc/equipment/jewels/ring/326.png new file mode 100644 index 00000000..a00b7c5b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/326.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/327.png b/packages/renderer/imagesrc/equipment/jewels/ring/327.png new file mode 100644 index 00000000..3427d4f1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/327.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/328.png b/packages/renderer/imagesrc/equipment/jewels/ring/328.png new file mode 100644 index 00000000..88f18665 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/328.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/329.png b/packages/renderer/imagesrc/equipment/jewels/ring/329.png new file mode 100644 index 00000000..0077e9e1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/329.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/330.png b/packages/renderer/imagesrc/equipment/jewels/ring/330.png new file mode 100644 index 00000000..390a1c79 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/330.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/331.png b/packages/renderer/imagesrc/equipment/jewels/ring/331.png new file mode 100644 index 00000000..84a9b536 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/331.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/332.png b/packages/renderer/imagesrc/equipment/jewels/ring/332.png new file mode 100644 index 00000000..f72e00ab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/332.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/333.png b/packages/renderer/imagesrc/equipment/jewels/ring/333.png new file mode 100644 index 00000000..64f0b8b6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/333.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/334.png b/packages/renderer/imagesrc/equipment/jewels/ring/334.png new file mode 100644 index 00000000..189ca0d4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/334.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/335.png b/packages/renderer/imagesrc/equipment/jewels/ring/335.png new file mode 100644 index 00000000..fe1a1df5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/335.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/336.png b/packages/renderer/imagesrc/equipment/jewels/ring/336.png new file mode 100644 index 00000000..032c47fc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/336.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/337.png b/packages/renderer/imagesrc/equipment/jewels/ring/337.png new file mode 100644 index 00000000..430a711f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/337.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/338.png b/packages/renderer/imagesrc/equipment/jewels/ring/338.png new file mode 100644 index 00000000..46eccf70 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/338.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/339.png b/packages/renderer/imagesrc/equipment/jewels/ring/339.png new file mode 100644 index 00000000..22f5b26d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/339.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/340.png b/packages/renderer/imagesrc/equipment/jewels/ring/340.png new file mode 100644 index 00000000..29763717 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/340.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/341.png b/packages/renderer/imagesrc/equipment/jewels/ring/341.png new file mode 100644 index 00000000..eaa5c76c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/341.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/342.png b/packages/renderer/imagesrc/equipment/jewels/ring/342.png new file mode 100644 index 00000000..a96d4ada Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/342.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/344.png b/packages/renderer/imagesrc/equipment/jewels/ring/344.png new file mode 100644 index 00000000..1c809fff Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/344.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/350.png b/packages/renderer/imagesrc/equipment/jewels/ring/350.png new file mode 100644 index 00000000..9ac47723 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/350.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/351.png b/packages/renderer/imagesrc/equipment/jewels/ring/351.png new file mode 100644 index 00000000..5517db3f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/351.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/352.png b/packages/renderer/imagesrc/equipment/jewels/ring/352.png new file mode 100644 index 00000000..99810ec8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/352.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/353.png b/packages/renderer/imagesrc/equipment/jewels/ring/353.png new file mode 100644 index 00000000..4e1bfd0d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/353.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/354.png b/packages/renderer/imagesrc/equipment/jewels/ring/354.png new file mode 100644 index 00000000..5a807aa7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/354.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/355.png b/packages/renderer/imagesrc/equipment/jewels/ring/355.png new file mode 100644 index 00000000..cbe76066 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/355.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/357.png b/packages/renderer/imagesrc/equipment/jewels/ring/357.png new file mode 100644 index 00000000..7044e283 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/357.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/358.png b/packages/renderer/imagesrc/equipment/jewels/ring/358.png new file mode 100644 index 00000000..f58eb575 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/358.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/360.png b/packages/renderer/imagesrc/equipment/jewels/ring/360.png new file mode 100644 index 00000000..2d19e189 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/360.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/361.png b/packages/renderer/imagesrc/equipment/jewels/ring/361.png new file mode 100644 index 00000000..cd1837c2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/361.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/362.png b/packages/renderer/imagesrc/equipment/jewels/ring/362.png new file mode 100644 index 00000000..4e382d10 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/362.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/363.png b/packages/renderer/imagesrc/equipment/jewels/ring/363.png new file mode 100644 index 00000000..27915769 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/363.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/364.png b/packages/renderer/imagesrc/equipment/jewels/ring/364.png new file mode 100644 index 00000000..d7ec6bf9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/364.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/365.png b/packages/renderer/imagesrc/equipment/jewels/ring/365.png new file mode 100644 index 00000000..9bc54f27 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/365.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/368.png b/packages/renderer/imagesrc/equipment/jewels/ring/368.png new file mode 100644 index 00000000..5b2f3eb4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/368.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/369.png b/packages/renderer/imagesrc/equipment/jewels/ring/369.png new file mode 100644 index 00000000..dba4ad1f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/369.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/370.png b/packages/renderer/imagesrc/equipment/jewels/ring/370.png new file mode 100644 index 00000000..b148d5c1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/370.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/371.png b/packages/renderer/imagesrc/equipment/jewels/ring/371.png new file mode 100644 index 00000000..8251936c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/371.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/372.png b/packages/renderer/imagesrc/equipment/jewels/ring/372.png new file mode 100644 index 00000000..98094d20 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/372.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/373.png b/packages/renderer/imagesrc/equipment/jewels/ring/373.png new file mode 100644 index 00000000..a7146ec4 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/373.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/375.png b/packages/renderer/imagesrc/equipment/jewels/ring/375.png new file mode 100644 index 00000000..ad1453ff Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/375.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/376.png b/packages/renderer/imagesrc/equipment/jewels/ring/376.png new file mode 100644 index 00000000..0d86b611 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/376.png differ diff --git a/packages/renderer/imagesrc/equipment/jewels/ring/378.png b/packages/renderer/imagesrc/equipment/jewels/ring/378.png new file mode 100644 index 00000000..864bb8c7 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/jewels/ring/378.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/100.png b/packages/renderer/imagesrc/equipment/specials/earrring/100.png new file mode 100644 index 00000000..a8e89298 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/100.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/101.png b/packages/renderer/imagesrc/equipment/specials/earrring/101.png new file mode 100644 index 00000000..0306ffee Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/101.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/102.png b/packages/renderer/imagesrc/equipment/specials/earrring/102.png new file mode 100644 index 00000000..9aecdabd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/102.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/103.png b/packages/renderer/imagesrc/equipment/specials/earrring/103.png new file mode 100644 index 00000000..e0be7469 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/103.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/104.png b/packages/renderer/imagesrc/equipment/specials/earrring/104.png new file mode 100644 index 00000000..fe0446d9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/104.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/105.png b/packages/renderer/imagesrc/equipment/specials/earrring/105.png new file mode 100644 index 00000000..167f7bcb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/105.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/106.png b/packages/renderer/imagesrc/equipment/specials/earrring/106.png new file mode 100644 index 00000000..4c52bcab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/106.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/107.png b/packages/renderer/imagesrc/equipment/specials/earrring/107.png new file mode 100644 index 00000000..35740baa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/107.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/108.png b/packages/renderer/imagesrc/equipment/specials/earrring/108.png new file mode 100644 index 00000000..c9c3f42a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/108.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/109.png b/packages/renderer/imagesrc/equipment/specials/earrring/109.png new file mode 100644 index 00000000..3b28d94f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/109.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/110.png b/packages/renderer/imagesrc/equipment/specials/earrring/110.png new file mode 100644 index 00000000..951a818f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/110.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/111.png b/packages/renderer/imagesrc/equipment/specials/earrring/111.png new file mode 100644 index 00000000..3076f586 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/111.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/112.png b/packages/renderer/imagesrc/equipment/specials/earrring/112.png new file mode 100644 index 00000000..d69192ac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/112.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/113.png b/packages/renderer/imagesrc/equipment/specials/earrring/113.png new file mode 100644 index 00000000..4703f88f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/113.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/114.png b/packages/renderer/imagesrc/equipment/specials/earrring/114.png new file mode 100644 index 00000000..b8bdff39 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/114.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/115.png b/packages/renderer/imagesrc/equipment/specials/earrring/115.png new file mode 100644 index 00000000..c825d3cc Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/115.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/116.png b/packages/renderer/imagesrc/equipment/specials/earrring/116.png new file mode 100644 index 00000000..8a22a6c3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/116.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/117.png b/packages/renderer/imagesrc/equipment/specials/earrring/117.png new file mode 100644 index 00000000..a9789c7a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/117.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/118.png b/packages/renderer/imagesrc/equipment/specials/earrring/118.png new file mode 100644 index 00000000..9db36e9d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/118.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/119.png b/packages/renderer/imagesrc/equipment/specials/earrring/119.png new file mode 100644 index 00000000..f438d103 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/119.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/121.png b/packages/renderer/imagesrc/equipment/specials/earrring/121.png new file mode 100644 index 00000000..9f0f325a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/121.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/127.png b/packages/renderer/imagesrc/equipment/specials/earrring/127.png new file mode 100644 index 00000000..2dddcaa1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/127.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/129.png b/packages/renderer/imagesrc/equipment/specials/earrring/129.png new file mode 100644 index 00000000..9a6535dd Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/129.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/130.png b/packages/renderer/imagesrc/equipment/specials/earrring/130.png new file mode 100644 index 00000000..91d34564 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/130.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/131.png b/packages/renderer/imagesrc/equipment/specials/earrring/131.png new file mode 100644 index 00000000..36050c2f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/131.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/132.png b/packages/renderer/imagesrc/equipment/specials/earrring/132.png new file mode 100644 index 00000000..02047b90 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/132.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/133.png b/packages/renderer/imagesrc/equipment/specials/earrring/133.png new file mode 100644 index 00000000..b41ed9eb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/133.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/134.png b/packages/renderer/imagesrc/equipment/specials/earrring/134.png new file mode 100644 index 00000000..360fd40d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/134.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/135.png b/packages/renderer/imagesrc/equipment/specials/earrring/135.png new file mode 100644 index 00000000..ff6d6011 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/135.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/137.png b/packages/renderer/imagesrc/equipment/specials/earrring/137.png new file mode 100644 index 00000000..200c4ce1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/137.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/138.png b/packages/renderer/imagesrc/equipment/specials/earrring/138.png new file mode 100644 index 00000000..059a3487 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/138.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/139.png b/packages/renderer/imagesrc/equipment/specials/earrring/139.png new file mode 100644 index 00000000..637e821b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/139.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/140.png b/packages/renderer/imagesrc/equipment/specials/earrring/140.png new file mode 100644 index 00000000..d1c53832 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/140.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/141.png b/packages/renderer/imagesrc/equipment/specials/earrring/141.png new file mode 100644 index 00000000..3113650c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/141.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/142.png b/packages/renderer/imagesrc/equipment/specials/earrring/142.png new file mode 100644 index 00000000..782a93a3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/142.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/143.png b/packages/renderer/imagesrc/equipment/specials/earrring/143.png new file mode 100644 index 00000000..4fb5bc25 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/143.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/145.png b/packages/renderer/imagesrc/equipment/specials/earrring/145.png new file mode 100644 index 00000000..c1ce6d7b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/145.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/146.png b/packages/renderer/imagesrc/equipment/specials/earrring/146.png new file mode 100644 index 00000000..8d0d4778 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/146.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/147.png b/packages/renderer/imagesrc/equipment/specials/earrring/147.png new file mode 100644 index 00000000..9bad5a13 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/147.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/148.png b/packages/renderer/imagesrc/equipment/specials/earrring/148.png new file mode 100644 index 00000000..3ad2e558 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/148.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/149.png b/packages/renderer/imagesrc/equipment/specials/earrring/149.png new file mode 100644 index 00000000..2222129a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/149.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/150.png b/packages/renderer/imagesrc/equipment/specials/earrring/150.png new file mode 100644 index 00000000..7169aaf9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/150.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/152.png b/packages/renderer/imagesrc/equipment/specials/earrring/152.png new file mode 100644 index 00000000..682c26a2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/152.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/153.png b/packages/renderer/imagesrc/equipment/specials/earrring/153.png new file mode 100644 index 00000000..bc25f83f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/153.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/155.png b/packages/renderer/imagesrc/equipment/specials/earrring/155.png new file mode 100644 index 00000000..f180c21b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/155.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/80.png b/packages/renderer/imagesrc/equipment/specials/earrring/80.png new file mode 100644 index 00000000..8b13312b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/80.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/96.png b/packages/renderer/imagesrc/equipment/specials/earrring/96.png new file mode 100644 index 00000000..58e8a861 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/96.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/97.png b/packages/renderer/imagesrc/equipment/specials/earrring/97.png new file mode 100644 index 00000000..b20936ab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/97.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/98.png b/packages/renderer/imagesrc/equipment/specials/earrring/98.png new file mode 100644 index 00000000..8bfc92ac Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/98.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/earrring/99.png b/packages/renderer/imagesrc/equipment/specials/earrring/99.png new file mode 100644 index 00000000..660c5b04 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/earrring/99.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/270.png b/packages/renderer/imagesrc/equipment/specials/magicstone/270.png new file mode 100644 index 00000000..23f9b466 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/270.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/280.png b/packages/renderer/imagesrc/equipment/specials/magicstone/280.png new file mode 100644 index 00000000..23f9b466 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/280.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/298.png b/packages/renderer/imagesrc/equipment/specials/magicstone/298.png new file mode 100644 index 00000000..7a438a47 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/298.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/299.png b/packages/renderer/imagesrc/equipment/specials/magicstone/299.png new file mode 100644 index 00000000..f79eb560 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/299.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/300.png b/packages/renderer/imagesrc/equipment/specials/magicstone/300.png new file mode 100644 index 00000000..eae2f46d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/300.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/301.png b/packages/renderer/imagesrc/equipment/specials/magicstone/301.png new file mode 100644 index 00000000..6824850a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/301.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/302.png b/packages/renderer/imagesrc/equipment/specials/magicstone/302.png new file mode 100644 index 00000000..26fd1d1a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/302.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/303.png b/packages/renderer/imagesrc/equipment/specials/magicstone/303.png new file mode 100644 index 00000000..497019a5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/303.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/304.png b/packages/renderer/imagesrc/equipment/specials/magicstone/304.png new file mode 100644 index 00000000..73259032 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/304.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/305.png b/packages/renderer/imagesrc/equipment/specials/magicstone/305.png new file mode 100644 index 00000000..0bd45634 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/305.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/306.png b/packages/renderer/imagesrc/equipment/specials/magicstone/306.png new file mode 100644 index 00000000..15bb3c42 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/306.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/307.png b/packages/renderer/imagesrc/equipment/specials/magicstone/307.png new file mode 100644 index 00000000..ddd12afe Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/307.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/308.png b/packages/renderer/imagesrc/equipment/specials/magicstone/308.png new file mode 100644 index 00000000..cfa54ca9 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/308.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/309.png b/packages/renderer/imagesrc/equipment/specials/magicstone/309.png new file mode 100644 index 00000000..847fec9a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/309.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/310.png b/packages/renderer/imagesrc/equipment/specials/magicstone/310.png new file mode 100644 index 00000000..76bbb743 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/310.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/311.png b/packages/renderer/imagesrc/equipment/specials/magicstone/311.png new file mode 100644 index 00000000..dcb95249 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/311.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/312.png b/packages/renderer/imagesrc/equipment/specials/magicstone/312.png new file mode 100644 index 00000000..3a26235b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/312.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/313.png b/packages/renderer/imagesrc/equipment/specials/magicstone/313.png new file mode 100644 index 00000000..c9816fb3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/313.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/314.png b/packages/renderer/imagesrc/equipment/specials/magicstone/314.png new file mode 100644 index 00000000..59684c89 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/314.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/315.png b/packages/renderer/imagesrc/equipment/specials/magicstone/315.png new file mode 100644 index 00000000..bbc7839b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/315.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/316.png b/packages/renderer/imagesrc/equipment/specials/magicstone/316.png new file mode 100644 index 00000000..62b8419d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/316.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/317.png b/packages/renderer/imagesrc/equipment/specials/magicstone/317.png new file mode 100644 index 00000000..0a6be46f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/317.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/318.png b/packages/renderer/imagesrc/equipment/specials/magicstone/318.png new file mode 100644 index 00000000..0440069e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/318.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/319.png b/packages/renderer/imagesrc/equipment/specials/magicstone/319.png new file mode 100644 index 00000000..edc34744 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/319.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/320.png b/packages/renderer/imagesrc/equipment/specials/magicstone/320.png new file mode 100644 index 00000000..ce5a585e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/320.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/321.png b/packages/renderer/imagesrc/equipment/specials/magicstone/321.png new file mode 100644 index 00000000..54e89d3b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/321.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/323.png b/packages/renderer/imagesrc/equipment/specials/magicstone/323.png new file mode 100644 index 00000000..334c0eb8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/323.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/329.png b/packages/renderer/imagesrc/equipment/specials/magicstone/329.png new file mode 100644 index 00000000..4301789d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/329.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/331.png b/packages/renderer/imagesrc/equipment/specials/magicstone/331.png new file mode 100644 index 00000000..15d984cb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/331.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/332.png b/packages/renderer/imagesrc/equipment/specials/magicstone/332.png new file mode 100644 index 00000000..0d451b1e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/332.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/333.png b/packages/renderer/imagesrc/equipment/specials/magicstone/333.png new file mode 100644 index 00000000..d204f2ae Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/333.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/334.png b/packages/renderer/imagesrc/equipment/specials/magicstone/334.png new file mode 100644 index 00000000..0b3f25f3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/334.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/335.png b/packages/renderer/imagesrc/equipment/specials/magicstone/335.png new file mode 100644 index 00000000..383454aa Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/335.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/336.png b/packages/renderer/imagesrc/equipment/specials/magicstone/336.png new file mode 100644 index 00000000..30260520 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/336.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/337.png b/packages/renderer/imagesrc/equipment/specials/magicstone/337.png new file mode 100644 index 00000000..7d561e72 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/337.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/339.png b/packages/renderer/imagesrc/equipment/specials/magicstone/339.png new file mode 100644 index 00000000..c6401d33 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/339.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/340.png b/packages/renderer/imagesrc/equipment/specials/magicstone/340.png new file mode 100644 index 00000000..37ec2d2d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/340.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/341.png b/packages/renderer/imagesrc/equipment/specials/magicstone/341.png new file mode 100644 index 00000000..7fffc71a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/341.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/342.png b/packages/renderer/imagesrc/equipment/specials/magicstone/342.png new file mode 100644 index 00000000..a98001f6 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/342.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/343.png b/packages/renderer/imagesrc/equipment/specials/magicstone/343.png new file mode 100644 index 00000000..c732a6ae Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/343.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/344.png b/packages/renderer/imagesrc/equipment/specials/magicstone/344.png new file mode 100644 index 00000000..ac18eef0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/344.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/345.png b/packages/renderer/imagesrc/equipment/specials/magicstone/345.png new file mode 100644 index 00000000..bc5b84bf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/345.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/347.png b/packages/renderer/imagesrc/equipment/specials/magicstone/347.png new file mode 100644 index 00000000..b8f25538 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/347.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/348.png b/packages/renderer/imagesrc/equipment/specials/magicstone/348.png new file mode 100644 index 00000000..0011d072 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/348.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/349.png b/packages/renderer/imagesrc/equipment/specials/magicstone/349.png new file mode 100644 index 00000000..1455569f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/349.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/350.png b/packages/renderer/imagesrc/equipment/specials/magicstone/350.png new file mode 100644 index 00000000..4bbd5636 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/350.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/351.png b/packages/renderer/imagesrc/equipment/specials/magicstone/351.png new file mode 100644 index 00000000..7ad19eb3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/351.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/352.png b/packages/renderer/imagesrc/equipment/specials/magicstone/352.png new file mode 100644 index 00000000..db3b09d1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/352.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/354.png b/packages/renderer/imagesrc/equipment/specials/magicstone/354.png new file mode 100644 index 00000000..94c94d54 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/354.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/355.png b/packages/renderer/imagesrc/equipment/specials/magicstone/355.png new file mode 100644 index 00000000..83541f49 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/355.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/magicstone/357.png b/packages/renderer/imagesrc/equipment/specials/magicstone/357.png new file mode 100644 index 00000000..7fd05ac3 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/magicstone/357.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/270.png b/packages/renderer/imagesrc/equipment/specials/support/270.png new file mode 100644 index 00000000..a32e5f51 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/270.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/314.png b/packages/renderer/imagesrc/equipment/specials/support/314.png new file mode 100644 index 00000000..e2e1f47b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/314.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/315.png b/packages/renderer/imagesrc/equipment/specials/support/315.png new file mode 100644 index 00000000..89b43365 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/315.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/316.png b/packages/renderer/imagesrc/equipment/specials/support/316.png new file mode 100644 index 00000000..dc27cedb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/316.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/317.png b/packages/renderer/imagesrc/equipment/specials/support/317.png new file mode 100644 index 00000000..b9c133af Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/317.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/318.png b/packages/renderer/imagesrc/equipment/specials/support/318.png new file mode 100644 index 00000000..13e5528b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/318.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/319.png b/packages/renderer/imagesrc/equipment/specials/support/319.png new file mode 100644 index 00000000..20a3ab27 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/319.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/320.png b/packages/renderer/imagesrc/equipment/specials/support/320.png new file mode 100644 index 00000000..25657df8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/320.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/321.png b/packages/renderer/imagesrc/equipment/specials/support/321.png new file mode 100644 index 00000000..10e2b908 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/321.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/322.png b/packages/renderer/imagesrc/equipment/specials/support/322.png new file mode 100644 index 00000000..46dbd008 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/322.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/323.png b/packages/renderer/imagesrc/equipment/specials/support/323.png new file mode 100644 index 00000000..d71f1123 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/323.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/324.png b/packages/renderer/imagesrc/equipment/specials/support/324.png new file mode 100644 index 00000000..1f44272f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/324.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/325.png b/packages/renderer/imagesrc/equipment/specials/support/325.png new file mode 100644 index 00000000..310ffe39 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/325.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/326.png b/packages/renderer/imagesrc/equipment/specials/support/326.png new file mode 100644 index 00000000..be132db5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/326.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/327.png b/packages/renderer/imagesrc/equipment/specials/support/327.png new file mode 100644 index 00000000..8f5a7693 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/327.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/328.png b/packages/renderer/imagesrc/equipment/specials/support/328.png new file mode 100644 index 00000000..9dc49e26 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/328.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/329.png b/packages/renderer/imagesrc/equipment/specials/support/329.png new file mode 100644 index 00000000..c49cf426 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/329.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/330.png b/packages/renderer/imagesrc/equipment/specials/support/330.png new file mode 100644 index 00000000..376fe55c Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/330.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/331.png b/packages/renderer/imagesrc/equipment/specials/support/331.png new file mode 100644 index 00000000..fce0f8c1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/331.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/332.png b/packages/renderer/imagesrc/equipment/specials/support/332.png new file mode 100644 index 00000000..2bc51562 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/332.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/333.png b/packages/renderer/imagesrc/equipment/specials/support/333.png new file mode 100644 index 00000000..6dfe7b8e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/333.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/334.png b/packages/renderer/imagesrc/equipment/specials/support/334.png new file mode 100644 index 00000000..6e142b21 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/334.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/335.png b/packages/renderer/imagesrc/equipment/specials/support/335.png new file mode 100644 index 00000000..8f04f397 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/335.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/336.png b/packages/renderer/imagesrc/equipment/specials/support/336.png new file mode 100644 index 00000000..607c7c78 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/336.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/337.png b/packages/renderer/imagesrc/equipment/specials/support/337.png new file mode 100644 index 00000000..018ae4a8 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/337.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/339.png b/packages/renderer/imagesrc/equipment/specials/support/339.png new file mode 100644 index 00000000..02832c70 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/339.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/345.png b/packages/renderer/imagesrc/equipment/specials/support/345.png new file mode 100644 index 00000000..10941f60 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/345.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/347.png b/packages/renderer/imagesrc/equipment/specials/support/347.png new file mode 100644 index 00000000..0a3f3cb5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/347.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/348.png b/packages/renderer/imagesrc/equipment/specials/support/348.png new file mode 100644 index 00000000..99263dea Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/348.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/349.png b/packages/renderer/imagesrc/equipment/specials/support/349.png new file mode 100644 index 00000000..a4d96ed0 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/349.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/350.png b/packages/renderer/imagesrc/equipment/specials/support/350.png new file mode 100644 index 00000000..19fa5e87 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/350.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/351.png b/packages/renderer/imagesrc/equipment/specials/support/351.png new file mode 100644 index 00000000..fcdf1cab Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/351.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/352.png b/packages/renderer/imagesrc/equipment/specials/support/352.png new file mode 100644 index 00000000..a6010a05 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/352.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/353.png b/packages/renderer/imagesrc/equipment/specials/support/353.png new file mode 100644 index 00000000..f260b116 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/353.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/355.png b/packages/renderer/imagesrc/equipment/specials/support/355.png new file mode 100644 index 00000000..be77f40f Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/355.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/356.png b/packages/renderer/imagesrc/equipment/specials/support/356.png new file mode 100644 index 00000000..dcad1742 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/356.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/357.png b/packages/renderer/imagesrc/equipment/specials/support/357.png new file mode 100644 index 00000000..183d3a9b Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/357.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/358.png b/packages/renderer/imagesrc/equipment/specials/support/358.png new file mode 100644 index 00000000..6ab5eff5 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/358.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/359.png b/packages/renderer/imagesrc/equipment/specials/support/359.png new file mode 100644 index 00000000..eca85c14 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/359.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/360.png b/packages/renderer/imagesrc/equipment/specials/support/360.png new file mode 100644 index 00000000..0e34a56d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/360.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/361.png b/packages/renderer/imagesrc/equipment/specials/support/361.png new file mode 100644 index 00000000..36e7a07d Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/361.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/363.png b/packages/renderer/imagesrc/equipment/specials/support/363.png new file mode 100644 index 00000000..6c0f8744 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/363.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/364.png b/packages/renderer/imagesrc/equipment/specials/support/364.png new file mode 100644 index 00000000..92e52e2e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/364.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/365.png b/packages/renderer/imagesrc/equipment/specials/support/365.png new file mode 100644 index 00000000..b31bcee1 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/365.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/366.png b/packages/renderer/imagesrc/equipment/specials/support/366.png new file mode 100644 index 00000000..cf1201cf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/366.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/367.png b/packages/renderer/imagesrc/equipment/specials/support/367.png new file mode 100644 index 00000000..746c3efb Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/367.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/368.png b/packages/renderer/imagesrc/equipment/specials/support/368.png new file mode 100644 index 00000000..9de58681 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/368.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/370.png b/packages/renderer/imagesrc/equipment/specials/support/370.png new file mode 100644 index 00000000..07ec1612 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/370.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/371.png b/packages/renderer/imagesrc/equipment/specials/support/371.png new file mode 100644 index 00000000..7e937345 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/371.png differ diff --git a/packages/renderer/imagesrc/equipment/specials/support/373.png b/packages/renderer/imagesrc/equipment/specials/support/373.png new file mode 100644 index 00000000..7acdfdf2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/specials/support/373.png differ diff --git a/packages/renderer/imagesrc/equipment/title/1.png b/packages/renderer/imagesrc/equipment/title/1.png new file mode 100644 index 00000000..8d7f1daf Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/1.png differ diff --git a/packages/renderer/imagesrc/equipment/title/10.png b/packages/renderer/imagesrc/equipment/title/10.png new file mode 100644 index 00000000..7fa7a117 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/10.png differ diff --git a/packages/renderer/imagesrc/equipment/title/1062.png b/packages/renderer/imagesrc/equipment/title/1062.png new file mode 100644 index 00000000..9180caa2 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/1062.png differ diff --git a/packages/renderer/imagesrc/equipment/title/2.png b/packages/renderer/imagesrc/equipment/title/2.png new file mode 100644 index 00000000..7e2d36ae Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/2.png differ diff --git a/packages/renderer/imagesrc/equipment/title/3.png b/packages/renderer/imagesrc/equipment/title/3.png new file mode 100644 index 00000000..eec4e09a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/3.png differ diff --git a/packages/renderer/imagesrc/equipment/title/4.png b/packages/renderer/imagesrc/equipment/title/4.png new file mode 100644 index 00000000..6ce0562e Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/4.png differ diff --git a/packages/renderer/imagesrc/equipment/title/446.png b/packages/renderer/imagesrc/equipment/title/446.png new file mode 100644 index 00000000..57e2d438 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/446.png differ diff --git a/packages/renderer/imagesrc/equipment/title/452.png b/packages/renderer/imagesrc/equipment/title/452.png new file mode 100644 index 00000000..6f02313a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/452.png differ diff --git a/packages/renderer/imagesrc/equipment/title/484.png b/packages/renderer/imagesrc/equipment/title/484.png new file mode 100644 index 00000000..aedbd195 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/484.png differ diff --git a/packages/renderer/imagesrc/equipment/title/5.png b/packages/renderer/imagesrc/equipment/title/5.png new file mode 100644 index 00000000..300d9c26 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/5.png differ diff --git a/packages/renderer/imagesrc/equipment/title/6.png b/packages/renderer/imagesrc/equipment/title/6.png new file mode 100644 index 00000000..89ff640a Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/6.png differ diff --git a/packages/renderer/imagesrc/equipment/title/7.png b/packages/renderer/imagesrc/equipment/title/7.png new file mode 100644 index 00000000..b4c23077 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/7.png differ diff --git a/packages/renderer/imagesrc/equipment/title/8.png b/packages/renderer/imagesrc/equipment/title/8.png new file mode 100644 index 00000000..ba668341 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/8.png differ diff --git a/packages/renderer/imagesrc/equipment/title/9.png b/packages/renderer/imagesrc/equipment/title/9.png new file mode 100644 index 00000000..003a4117 Binary files /dev/null and b/packages/renderer/imagesrc/equipment/title/9.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20000.png b/packages/renderer/imagesrc/especificity/item/20000.png new file mode 100644 index 00000000..8fa3e362 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20000.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20000_checked.png b/packages/renderer/imagesrc/especificity/item/20000_checked.png new file mode 100644 index 00000000..f9d826d0 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20000_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20001.png b/packages/renderer/imagesrc/especificity/item/20001.png new file mode 100644 index 00000000..c3b446fc Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20001.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20001_checked.png b/packages/renderer/imagesrc/especificity/item/20001_checked.png new file mode 100644 index 00000000..0e7a67f4 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20001_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20002.png b/packages/renderer/imagesrc/especificity/item/20002.png new file mode 100644 index 00000000..6c5c0176 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20002.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20002_checked.png b/packages/renderer/imagesrc/especificity/item/20002_checked.png new file mode 100644 index 00000000..6039f89f Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20002_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20003.png b/packages/renderer/imagesrc/especificity/item/20003.png new file mode 100644 index 00000000..2c30be62 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20003.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20003_checked.png b/packages/renderer/imagesrc/especificity/item/20003_checked.png new file mode 100644 index 00000000..7cb37e14 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20003_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20004.png b/packages/renderer/imagesrc/especificity/item/20004.png new file mode 100644 index 00000000..2f8b9f6a Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20004.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20004_checked.png b/packages/renderer/imagesrc/especificity/item/20004_checked.png new file mode 100644 index 00000000..f3be0b17 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20004_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20005.png b/packages/renderer/imagesrc/especificity/item/20005.png new file mode 100644 index 00000000..82ff8c29 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20005.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20005_checked.png b/packages/renderer/imagesrc/especificity/item/20005_checked.png new file mode 100644 index 00000000..2f2f2d2b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20005_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20006.png b/packages/renderer/imagesrc/especificity/item/20006.png new file mode 100644 index 00000000..3e0b5fd8 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20006.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20006_checked.png b/packages/renderer/imagesrc/especificity/item/20006_checked.png new file mode 100644 index 00000000..e9dbed0e Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20006_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20007.png b/packages/renderer/imagesrc/especificity/item/20007.png new file mode 100644 index 00000000..dca7d89e Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20007.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20007_checked.png b/packages/renderer/imagesrc/especificity/item/20007_checked.png new file mode 100644 index 00000000..089a123b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20007_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20008.png b/packages/renderer/imagesrc/especificity/item/20008.png new file mode 100644 index 00000000..0cccc72b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20008.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20008_checked.png b/packages/renderer/imagesrc/especificity/item/20008_checked.png new file mode 100644 index 00000000..0fd6f97a Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20008_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20009.png b/packages/renderer/imagesrc/especificity/item/20009.png new file mode 100644 index 00000000..ff3d40aa Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20009.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20009_checked.png b/packages/renderer/imagesrc/especificity/item/20009_checked.png new file mode 100644 index 00000000..ffdb876f Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20009_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20010.png b/packages/renderer/imagesrc/especificity/item/20010.png new file mode 100644 index 00000000..f10b9691 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20010.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20010_checked.png b/packages/renderer/imagesrc/especificity/item/20010_checked.png new file mode 100644 index 00000000..ce3b1487 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20010_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20011.png b/packages/renderer/imagesrc/especificity/item/20011.png new file mode 100644 index 00000000..67a9a346 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20011.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20011_checked.png b/packages/renderer/imagesrc/especificity/item/20011_checked.png new file mode 100644 index 00000000..5b8863a8 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20011_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20016.png b/packages/renderer/imagesrc/especificity/item/20016.png new file mode 100644 index 00000000..1ee38356 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20016.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20016_checked.png b/packages/renderer/imagesrc/especificity/item/20016_checked.png new file mode 100644 index 00000000..6e6fb071 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20016_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20017.png b/packages/renderer/imagesrc/especificity/item/20017.png new file mode 100644 index 00000000..194680db Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20017.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20017_checked.png b/packages/renderer/imagesrc/especificity/item/20017_checked.png new file mode 100644 index 00000000..aba255f3 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20017_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20018.png b/packages/renderer/imagesrc/especificity/item/20018.png new file mode 100644 index 00000000..cf5eb0c4 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20018.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20018_checked.png b/packages/renderer/imagesrc/especificity/item/20018_checked.png new file mode 100644 index 00000000..c1a06072 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20018_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20100.png b/packages/renderer/imagesrc/especificity/item/20100.png new file mode 100644 index 00000000..1473ee06 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20100.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20100_checked.png b/packages/renderer/imagesrc/especificity/item/20100_checked.png new file mode 100644 index 00000000..36e7a155 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20100_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20101.png b/packages/renderer/imagesrc/especificity/item/20101.png new file mode 100644 index 00000000..76c86559 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20101.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20101_checked.png b/packages/renderer/imagesrc/especificity/item/20101_checked.png new file mode 100644 index 00000000..2651bdaf Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20101_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20102.png b/packages/renderer/imagesrc/especificity/item/20102.png new file mode 100644 index 00000000..69e91f10 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20102.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20102_checked.png b/packages/renderer/imagesrc/especificity/item/20102_checked.png new file mode 100644 index 00000000..03200852 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20102_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20103.png b/packages/renderer/imagesrc/especificity/item/20103.png new file mode 100644 index 00000000..1a21fc96 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20103.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20103_checked.png b/packages/renderer/imagesrc/especificity/item/20103_checked.png new file mode 100644 index 00000000..d7a74a52 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20103_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20104.png b/packages/renderer/imagesrc/especificity/item/20104.png new file mode 100644 index 00000000..e6f9a106 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20104.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20104_checked.png b/packages/renderer/imagesrc/especificity/item/20104_checked.png new file mode 100644 index 00000000..365c5c46 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20104_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20105.png b/packages/renderer/imagesrc/especificity/item/20105.png new file mode 100644 index 00000000..4090a98a Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20105.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20105_checked.png b/packages/renderer/imagesrc/especificity/item/20105_checked.png new file mode 100644 index 00000000..62d43ef0 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20105_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20106.png b/packages/renderer/imagesrc/especificity/item/20106.png new file mode 100644 index 00000000..bff117fb Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20106.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20106_checked.png b/packages/renderer/imagesrc/especificity/item/20106_checked.png new file mode 100644 index 00000000..4f70134f Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20106_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20107.png b/packages/renderer/imagesrc/especificity/item/20107.png new file mode 100644 index 00000000..32ff1351 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20107.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20107_checked.png b/packages/renderer/imagesrc/especificity/item/20107_checked.png new file mode 100644 index 00000000..11bf08d8 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20107_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20108.png b/packages/renderer/imagesrc/especificity/item/20108.png new file mode 100644 index 00000000..1ee38356 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20108.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20108_checked.png b/packages/renderer/imagesrc/especificity/item/20108_checked.png new file mode 100644 index 00000000..7b47de4d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20108_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20109.png b/packages/renderer/imagesrc/especificity/item/20109.png new file mode 100644 index 00000000..194680db Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20109.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20109_checked.png b/packages/renderer/imagesrc/especificity/item/20109_checked.png new file mode 100644 index 00000000..9ef29db7 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20109_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20110.png b/packages/renderer/imagesrc/especificity/item/20110.png new file mode 100644 index 00000000..cf5eb0c4 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20110.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20110_checked.png b/packages/renderer/imagesrc/especificity/item/20110_checked.png new file mode 100644 index 00000000..cbb109d8 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20110_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20200.png b/packages/renderer/imagesrc/especificity/item/20200.png new file mode 100644 index 00000000..b6eb5f6c Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20200.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20200_checked.png b/packages/renderer/imagesrc/especificity/item/20200_checked.png new file mode 100644 index 00000000..465a393a Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20200_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20201.png b/packages/renderer/imagesrc/especificity/item/20201.png new file mode 100644 index 00000000..0461e025 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20201.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20201_checked.png b/packages/renderer/imagesrc/especificity/item/20201_checked.png new file mode 100644 index 00000000..277d3891 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20201_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20202.png b/packages/renderer/imagesrc/especificity/item/20202.png new file mode 100644 index 00000000..fe24b67d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20202.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20202_checked.png b/packages/renderer/imagesrc/especificity/item/20202_checked.png new file mode 100644 index 00000000..3449ac8d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20202_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20203.png b/packages/renderer/imagesrc/especificity/item/20203.png new file mode 100644 index 00000000..135b0643 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20203.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20203_checked.png b/packages/renderer/imagesrc/especificity/item/20203_checked.png new file mode 100644 index 00000000..9e55a539 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20203_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20204.png b/packages/renderer/imagesrc/especificity/item/20204.png new file mode 100644 index 00000000..73357440 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20204.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20204_checked.png b/packages/renderer/imagesrc/especificity/item/20204_checked.png new file mode 100644 index 00000000..9867d6e6 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20204_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20205.png b/packages/renderer/imagesrc/especificity/item/20205.png new file mode 100644 index 00000000..b5415442 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20205.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20205_checked.png b/packages/renderer/imagesrc/especificity/item/20205_checked.png new file mode 100644 index 00000000..19387d99 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20205_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20206.png b/packages/renderer/imagesrc/especificity/item/20206.png new file mode 100644 index 00000000..fcdfa734 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20206.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20206_checked.png b/packages/renderer/imagesrc/especificity/item/20206_checked.png new file mode 100644 index 00000000..e22931da Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20206_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20207.png b/packages/renderer/imagesrc/especificity/item/20207.png new file mode 100644 index 00000000..5a3cb8f1 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20207.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20207_checked.png b/packages/renderer/imagesrc/especificity/item/20207_checked.png new file mode 100644 index 00000000..332fa4fb Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20207_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20208.png b/packages/renderer/imagesrc/especificity/item/20208.png new file mode 100644 index 00000000..1ee38356 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20208.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20208_checked.png b/packages/renderer/imagesrc/especificity/item/20208_checked.png new file mode 100644 index 00000000..cacd2ca6 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20208_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20209.png b/packages/renderer/imagesrc/especificity/item/20209.png new file mode 100644 index 00000000..194680db Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20209.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20209_checked.png b/packages/renderer/imagesrc/especificity/item/20209_checked.png new file mode 100644 index 00000000..09b6bb16 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20209_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20210.png b/packages/renderer/imagesrc/especificity/item/20210.png new file mode 100644 index 00000000..cf5eb0c4 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20210.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20210_checked.png b/packages/renderer/imagesrc/especificity/item/20210_checked.png new file mode 100644 index 00000000..dba10567 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20210_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20300.png b/packages/renderer/imagesrc/especificity/item/20300.png new file mode 100644 index 00000000..7857cf15 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20300.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20300_checked.png b/packages/renderer/imagesrc/especificity/item/20300_checked.png new file mode 100644 index 00000000..dcba6a6d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20300_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20301.png b/packages/renderer/imagesrc/especificity/item/20301.png new file mode 100644 index 00000000..0ff369e2 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20301.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20301_checked.png b/packages/renderer/imagesrc/especificity/item/20301_checked.png new file mode 100644 index 00000000..7a67ecd2 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20301_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20302.png b/packages/renderer/imagesrc/especificity/item/20302.png new file mode 100644 index 00000000..ab19f123 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20302.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20302_checked.png b/packages/renderer/imagesrc/especificity/item/20302_checked.png new file mode 100644 index 00000000..08a7c07d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20302_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20303.png b/packages/renderer/imagesrc/especificity/item/20303.png new file mode 100644 index 00000000..4f6f83a3 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20303.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20303_checked.png b/packages/renderer/imagesrc/especificity/item/20303_checked.png new file mode 100644 index 00000000..70635c2b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20303_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20304.png b/packages/renderer/imagesrc/especificity/item/20304.png new file mode 100644 index 00000000..f690b37b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20304.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20304_checked.png b/packages/renderer/imagesrc/especificity/item/20304_checked.png new file mode 100644 index 00000000..4942e6c1 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20304_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20305.png b/packages/renderer/imagesrc/especificity/item/20305.png new file mode 100644 index 00000000..a79361d0 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20305.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20305_checked.png b/packages/renderer/imagesrc/especificity/item/20305_checked.png new file mode 100644 index 00000000..9cbe4d7f Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20305_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20306.png b/packages/renderer/imagesrc/especificity/item/20306.png new file mode 100644 index 00000000..7d38c403 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20306.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20306_checked.png b/packages/renderer/imagesrc/especificity/item/20306_checked.png new file mode 100644 index 00000000..0921bfad Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20306_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20307.png b/packages/renderer/imagesrc/especificity/item/20307.png new file mode 100644 index 00000000..38fe3308 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20307.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20307_checked.png b/packages/renderer/imagesrc/especificity/item/20307_checked.png new file mode 100644 index 00000000..fd8656e9 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20307_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20308.png b/packages/renderer/imagesrc/especificity/item/20308.png new file mode 100644 index 00000000..6786628a Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20308.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20308_checked.png b/packages/renderer/imagesrc/especificity/item/20308_checked.png new file mode 100644 index 00000000..ef629a9d Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20308_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20309.png b/packages/renderer/imagesrc/especificity/item/20309.png new file mode 100644 index 00000000..cfb58e4f Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20309.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20309_checked.png b/packages/renderer/imagesrc/especificity/item/20309_checked.png new file mode 100644 index 00000000..85825081 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20309_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20310.png b/packages/renderer/imagesrc/especificity/item/20310.png new file mode 100644 index 00000000..05035583 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20310.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20310_checked.png b/packages/renderer/imagesrc/especificity/item/20310_checked.png new file mode 100644 index 00000000..fbbbc421 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20310_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20311.png b/packages/renderer/imagesrc/especificity/item/20311.png new file mode 100644 index 00000000..1ee38356 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20311.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20311_checked.png b/packages/renderer/imagesrc/especificity/item/20311_checked.png new file mode 100644 index 00000000..f469c707 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20311_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20312.png b/packages/renderer/imagesrc/especificity/item/20312.png new file mode 100644 index 00000000..194680db Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20312.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20312_checked.png b/packages/renderer/imagesrc/especificity/item/20312_checked.png new file mode 100644 index 00000000..dafe5d2c Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20312_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20313.png b/packages/renderer/imagesrc/especificity/item/20313.png new file mode 100644 index 00000000..cf5eb0c4 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20313.png differ diff --git a/packages/renderer/imagesrc/especificity/item/20313_checked.png b/packages/renderer/imagesrc/especificity/item/20313_checked.png new file mode 100644 index 00000000..8e2682fa Binary files /dev/null and b/packages/renderer/imagesrc/especificity/item/20313_checked.png differ diff --git a/packages/renderer/imagesrc/especificity/title/0.png b/packages/renderer/imagesrc/especificity/title/0.png new file mode 100644 index 00000000..e695cde8 Binary files /dev/null and b/packages/renderer/imagesrc/especificity/title/0.png differ diff --git a/packages/renderer/imagesrc/especificity/title/1.png b/packages/renderer/imagesrc/especificity/title/1.png new file mode 100644 index 00000000..264d04cb Binary files /dev/null and b/packages/renderer/imagesrc/especificity/title/1.png differ diff --git a/packages/renderer/imagesrc/especificity/title/2.png b/packages/renderer/imagesrc/especificity/title/2.png new file mode 100644 index 00000000..213c8e1b Binary files /dev/null and b/packages/renderer/imagesrc/especificity/title/2.png differ diff --git a/packages/renderer/imagesrc/especificity/title/3.png b/packages/renderer/imagesrc/especificity/title/3.png new file mode 100644 index 00000000..4089fbef Binary files /dev/null and b/packages/renderer/imagesrc/especificity/title/3.png differ diff --git a/packages/renderer/imagesrc/specificity/0/0_checked.png b/packages/renderer/imagesrc/specificity/0/0_checked.png new file mode 100644 index 00000000..c8b7384a Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/0_unchecked.png b/packages/renderer/imagesrc/specificity/0/0_unchecked.png new file mode 100644 index 00000000..bcf3bd0b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/10_checked.png b/packages/renderer/imagesrc/specificity/0/10_checked.png new file mode 100644 index 00000000..7cf5a792 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/10_unchecked.png b/packages/renderer/imagesrc/specificity/0/10_unchecked.png new file mode 100644 index 00000000..c09026b2 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/11_checked.png b/packages/renderer/imagesrc/specificity/0/11_checked.png new file mode 100644 index 00000000..9fd0b434 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/11_unchecked.png b/packages/renderer/imagesrc/specificity/0/11_unchecked.png new file mode 100644 index 00000000..25389d33 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/13_checked.png b/packages/renderer/imagesrc/specificity/0/13_checked.png new file mode 100644 index 00000000..bebd20cf Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/13_unchecked.png b/packages/renderer/imagesrc/specificity/0/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/14_checked.png b/packages/renderer/imagesrc/specificity/0/14_checked.png new file mode 100644 index 00000000..ccf2015e Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/14_unchecked.png b/packages/renderer/imagesrc/specificity/0/14_unchecked.png new file mode 100644 index 00000000..d1d85f63 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/17_checked.png b/packages/renderer/imagesrc/specificity/0/17_checked.png new file mode 100644 index 00000000..bebd20cf Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/17_unchecked.png b/packages/renderer/imagesrc/specificity/0/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/18_checked.png b/packages/renderer/imagesrc/specificity/0/18_checked.png new file mode 100644 index 00000000..ccf2015e Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/18_unchecked.png b/packages/renderer/imagesrc/specificity/0/18_unchecked.png new file mode 100644 index 00000000..d1d85f63 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/1_checked.png b/packages/renderer/imagesrc/specificity/0/1_checked.png new file mode 100644 index 00000000..cf2b0da3 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/1_unchecked.png b/packages/renderer/imagesrc/specificity/0/1_unchecked.png new file mode 100644 index 00000000..0e718006 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/2_checked.png b/packages/renderer/imagesrc/specificity/0/2_checked.png new file mode 100644 index 00000000..2923c230 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/2_unchecked.png b/packages/renderer/imagesrc/specificity/0/2_unchecked.png new file mode 100644 index 00000000..b0046434 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/3_checked.png b/packages/renderer/imagesrc/specificity/0/3_checked.png new file mode 100644 index 00000000..d8491ee1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/3_unchecked.png b/packages/renderer/imagesrc/specificity/0/3_unchecked.png new file mode 100644 index 00000000..682b54bb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/4_checked.png b/packages/renderer/imagesrc/specificity/0/4_checked.png new file mode 100644 index 00000000..29abcd94 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/4_unchecked.png b/packages/renderer/imagesrc/specificity/0/4_unchecked.png new file mode 100644 index 00000000..7f121c63 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/5_checked.png b/packages/renderer/imagesrc/specificity/0/5_checked.png new file mode 100644 index 00000000..c8664bf1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/5_unchecked.png b/packages/renderer/imagesrc/specificity/0/5_unchecked.png new file mode 100644 index 00000000..25da02d0 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/6_checked.png b/packages/renderer/imagesrc/specificity/0/6_checked.png new file mode 100644 index 00000000..9b39271d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/6_unchecked.png b/packages/renderer/imagesrc/specificity/0/6_unchecked.png new file mode 100644 index 00000000..22cde9cb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/7_checked.png b/packages/renderer/imagesrc/specificity/0/7_checked.png new file mode 100644 index 00000000..db44d7f2 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/7_unchecked.png b/packages/renderer/imagesrc/specificity/0/7_unchecked.png new file mode 100644 index 00000000..a4d63b04 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/8_checked.png b/packages/renderer/imagesrc/specificity/0/8_checked.png new file mode 100644 index 00000000..613d5ae7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/8_unchecked.png b/packages/renderer/imagesrc/specificity/0/8_unchecked.png new file mode 100644 index 00000000..fe3c7ea5 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/9_checked.png b/packages/renderer/imagesrc/specificity/0/9_checked.png new file mode 100644 index 00000000..21ab5ecf Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/0/9_unchecked.png b/packages/renderer/imagesrc/specificity/0/9_unchecked.png new file mode 100644 index 00000000..0ac52920 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/0/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/0_checked.png b/packages/renderer/imagesrc/specificity/1/0_checked.png new file mode 100644 index 00000000..d9884eea Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/0_unchecked.png b/packages/renderer/imagesrc/specificity/1/0_unchecked.png new file mode 100644 index 00000000..d7b6834b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/10_checked.png b/packages/renderer/imagesrc/specificity/1/10_checked.png new file mode 100644 index 00000000..39a04f1f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/10_unchecked.png b/packages/renderer/imagesrc/specificity/1/10_unchecked.png new file mode 100644 index 00000000..38c8216b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/11_checked.png b/packages/renderer/imagesrc/specificity/1/11_checked.png new file mode 100644 index 00000000..29c18171 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/11_unchecked.png b/packages/renderer/imagesrc/specificity/1/11_unchecked.png new file mode 100644 index 00000000..95274653 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/13_checked.png b/packages/renderer/imagesrc/specificity/1/13_checked.png new file mode 100644 index 00000000..4501376f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/13_unchecked.png b/packages/renderer/imagesrc/specificity/1/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/14_checked.png b/packages/renderer/imagesrc/specificity/1/14_checked.png new file mode 100644 index 00000000..3ade379c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/14_unchecked.png b/packages/renderer/imagesrc/specificity/1/14_unchecked.png new file mode 100644 index 00000000..d1d85f63 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/17_checked.png b/packages/renderer/imagesrc/specificity/1/17_checked.png new file mode 100644 index 00000000..4501376f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/17_unchecked.png b/packages/renderer/imagesrc/specificity/1/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/18_checked.png b/packages/renderer/imagesrc/specificity/1/18_checked.png new file mode 100644 index 00000000..3ade379c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/18_unchecked.png b/packages/renderer/imagesrc/specificity/1/18_unchecked.png new file mode 100644 index 00000000..d1d85f63 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/1_checked.png b/packages/renderer/imagesrc/specificity/1/1_checked.png new file mode 100644 index 00000000..37c2cd38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/1_unchecked.png b/packages/renderer/imagesrc/specificity/1/1_unchecked.png new file mode 100644 index 00000000..a32a056c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/2_checked.png b/packages/renderer/imagesrc/specificity/1/2_checked.png new file mode 100644 index 00000000..2b40f931 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/2_unchecked.png b/packages/renderer/imagesrc/specificity/1/2_unchecked.png new file mode 100644 index 00000000..0096e9e8 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/3_checked.png b/packages/renderer/imagesrc/specificity/1/3_checked.png new file mode 100644 index 00000000..3611dae3 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/3_unchecked.png b/packages/renderer/imagesrc/specificity/1/3_unchecked.png new file mode 100644 index 00000000..7c14036c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/4_checked.png b/packages/renderer/imagesrc/specificity/1/4_checked.png new file mode 100644 index 00000000..4ae9ff1b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/4_unchecked.png b/packages/renderer/imagesrc/specificity/1/4_unchecked.png new file mode 100644 index 00000000..bcd52c00 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/5_checked.png b/packages/renderer/imagesrc/specificity/1/5_checked.png new file mode 100644 index 00000000..be6aabd7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/5_unchecked.png b/packages/renderer/imagesrc/specificity/1/5_unchecked.png new file mode 100644 index 00000000..99f109b5 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/6_checked.png b/packages/renderer/imagesrc/specificity/1/6_checked.png new file mode 100644 index 00000000..61cd7361 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/6_unchecked.png b/packages/renderer/imagesrc/specificity/1/6_unchecked.png new file mode 100644 index 00000000..b2dd4fcc Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/7_checked.png b/packages/renderer/imagesrc/specificity/1/7_checked.png new file mode 100644 index 00000000..d6312a51 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/7_unchecked.png b/packages/renderer/imagesrc/specificity/1/7_unchecked.png new file mode 100644 index 00000000..834a00ce Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/8_checked.png b/packages/renderer/imagesrc/specificity/1/8_checked.png new file mode 100644 index 00000000..ce80fce0 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/8_unchecked.png b/packages/renderer/imagesrc/specificity/1/8_unchecked.png new file mode 100644 index 00000000..24e4a7a1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/9_checked.png b/packages/renderer/imagesrc/specificity/1/9_checked.png new file mode 100644 index 00000000..baa1b4e9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/1/9_unchecked.png b/packages/renderer/imagesrc/specificity/1/9_unchecked.png new file mode 100644 index 00000000..cd4c23e6 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/1/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/0_checked.png b/packages/renderer/imagesrc/specificity/2/0_checked.png new file mode 100644 index 00000000..ff2d643b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/0_unchecked.png b/packages/renderer/imagesrc/specificity/2/0_unchecked.png new file mode 100644 index 00000000..802b4f87 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/10_checked.png b/packages/renderer/imagesrc/specificity/2/10_checked.png new file mode 100644 index 00000000..cb1da168 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/10_unchecked.png b/packages/renderer/imagesrc/specificity/2/10_unchecked.png new file mode 100644 index 00000000..279d172c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/11_checked.png b/packages/renderer/imagesrc/specificity/2/11_checked.png new file mode 100644 index 00000000..06902f70 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/11_unchecked.png b/packages/renderer/imagesrc/specificity/2/11_unchecked.png new file mode 100644 index 00000000..bd8322e7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/13_checked.png b/packages/renderer/imagesrc/specificity/2/13_checked.png new file mode 100644 index 00000000..249113e2 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/13_unchecked.png b/packages/renderer/imagesrc/specificity/2/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/14_checked.png b/packages/renderer/imagesrc/specificity/2/14_checked.png new file mode 100644 index 00000000..4d55e371 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/14_unchecked.png b/packages/renderer/imagesrc/specificity/2/14_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/17_checked.png b/packages/renderer/imagesrc/specificity/2/17_checked.png new file mode 100644 index 00000000..249113e2 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/17_unchecked.png b/packages/renderer/imagesrc/specificity/2/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/18_checked.png b/packages/renderer/imagesrc/specificity/2/18_checked.png new file mode 100644 index 00000000..4d55e371 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/18_unchecked.png b/packages/renderer/imagesrc/specificity/2/18_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/1_checked.png b/packages/renderer/imagesrc/specificity/2/1_checked.png new file mode 100644 index 00000000..dd7192a8 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/1_unchecked.png b/packages/renderer/imagesrc/specificity/2/1_unchecked.png new file mode 100644 index 00000000..74e11b4c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/2_checked.png b/packages/renderer/imagesrc/specificity/2/2_checked.png new file mode 100644 index 00000000..8322027c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/2_unchecked.png b/packages/renderer/imagesrc/specificity/2/2_unchecked.png new file mode 100644 index 00000000..dd8e6525 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/3_checked.png b/packages/renderer/imagesrc/specificity/2/3_checked.png new file mode 100644 index 00000000..d76ce87c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/3_unchecked.png b/packages/renderer/imagesrc/specificity/2/3_unchecked.png new file mode 100644 index 00000000..928fa9f7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/4_checked.png b/packages/renderer/imagesrc/specificity/2/4_checked.png new file mode 100644 index 00000000..d6a38d83 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/4_unchecked.png b/packages/renderer/imagesrc/specificity/2/4_unchecked.png new file mode 100644 index 00000000..085dbb02 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/5_checked.png b/packages/renderer/imagesrc/specificity/2/5_checked.png new file mode 100644 index 00000000..2b7c7155 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/5_unchecked.png b/packages/renderer/imagesrc/specificity/2/5_unchecked.png new file mode 100644 index 00000000..641aacab Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/6_checked.png b/packages/renderer/imagesrc/specificity/2/6_checked.png new file mode 100644 index 00000000..142cc6e9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/6_unchecked.png b/packages/renderer/imagesrc/specificity/2/6_unchecked.png new file mode 100644 index 00000000..0e81fe25 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/7_checked.png b/packages/renderer/imagesrc/specificity/2/7_checked.png new file mode 100644 index 00000000..3e17950e Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/7_unchecked.png b/packages/renderer/imagesrc/specificity/2/7_unchecked.png new file mode 100644 index 00000000..c4a220b1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/8_checked.png b/packages/renderer/imagesrc/specificity/2/8_checked.png new file mode 100644 index 00000000..78a22bfd Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/8_unchecked.png b/packages/renderer/imagesrc/specificity/2/8_unchecked.png new file mode 100644 index 00000000..a11c5199 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/9_checked.png b/packages/renderer/imagesrc/specificity/2/9_checked.png new file mode 100644 index 00000000..24559243 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/2/9_unchecked.png b/packages/renderer/imagesrc/specificity/2/9_unchecked.png new file mode 100644 index 00000000..f6e42170 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/2/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/0_checked.png b/packages/renderer/imagesrc/specificity/3/0_checked.png new file mode 100644 index 00000000..9ff5db49 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/0_unchecked.png b/packages/renderer/imagesrc/specificity/3/0_unchecked.png new file mode 100644 index 00000000..9665a445 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/10_checked.png b/packages/renderer/imagesrc/specificity/3/10_checked.png new file mode 100644 index 00000000..56d93b7c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/10_unchecked.png b/packages/renderer/imagesrc/specificity/3/10_unchecked.png new file mode 100644 index 00000000..fa92943b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/11_checked.png b/packages/renderer/imagesrc/specificity/3/11_checked.png new file mode 100644 index 00000000..e4026edc Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/11_unchecked.png b/packages/renderer/imagesrc/specificity/3/11_unchecked.png new file mode 100644 index 00000000..8d31589a Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/13_checked.png b/packages/renderer/imagesrc/specificity/3/13_checked.png new file mode 100644 index 00000000..584ed7a6 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/13_unchecked.png b/packages/renderer/imagesrc/specificity/3/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/14_checked.png b/packages/renderer/imagesrc/specificity/3/14_checked.png new file mode 100644 index 00000000..d3c268f7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/14_unchecked.png b/packages/renderer/imagesrc/specificity/3/14_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/17_checked.png b/packages/renderer/imagesrc/specificity/3/17_checked.png new file mode 100644 index 00000000..584ed7a6 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/17_unchecked.png b/packages/renderer/imagesrc/specificity/3/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/18_checked.png b/packages/renderer/imagesrc/specificity/3/18_checked.png new file mode 100644 index 00000000..d3c268f7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/18_unchecked.png b/packages/renderer/imagesrc/specificity/3/18_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/1_checked.png b/packages/renderer/imagesrc/specificity/3/1_checked.png new file mode 100644 index 00000000..849248df Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/1_unchecked.png b/packages/renderer/imagesrc/specificity/3/1_unchecked.png new file mode 100644 index 00000000..f5ba0cce Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/2_checked.png b/packages/renderer/imagesrc/specificity/3/2_checked.png new file mode 100644 index 00000000..d37a4f82 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/2_unchecked.png b/packages/renderer/imagesrc/specificity/3/2_unchecked.png new file mode 100644 index 00000000..d380f3b9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/3_checked.png b/packages/renderer/imagesrc/specificity/3/3_checked.png new file mode 100644 index 00000000..72520b8d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/3_unchecked.png b/packages/renderer/imagesrc/specificity/3/3_unchecked.png new file mode 100644 index 00000000..29919fa3 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/4_checked.png b/packages/renderer/imagesrc/specificity/3/4_checked.png new file mode 100644 index 00000000..13800034 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/4_unchecked.png b/packages/renderer/imagesrc/specificity/3/4_unchecked.png new file mode 100644 index 00000000..8c910cdb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/5_checked.png b/packages/renderer/imagesrc/specificity/3/5_checked.png new file mode 100644 index 00000000..56d93b7c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/5_unchecked.png b/packages/renderer/imagesrc/specificity/3/5_unchecked.png new file mode 100644 index 00000000..fa92943b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/6_checked.png b/packages/renderer/imagesrc/specificity/3/6_checked.png new file mode 100644 index 00000000..0276d525 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/6_unchecked.png b/packages/renderer/imagesrc/specificity/3/6_unchecked.png new file mode 100644 index 00000000..4486be86 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/7_checked.png b/packages/renderer/imagesrc/specificity/3/7_checked.png new file mode 100644 index 00000000..8280afc9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/7_unchecked.png b/packages/renderer/imagesrc/specificity/3/7_unchecked.png new file mode 100644 index 00000000..afb48fcc Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/8_checked.png b/packages/renderer/imagesrc/specificity/3/8_checked.png new file mode 100644 index 00000000..a2040414 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/8_unchecked.png b/packages/renderer/imagesrc/specificity/3/8_unchecked.png new file mode 100644 index 00000000..6bccad9f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/9_checked.png b/packages/renderer/imagesrc/specificity/3/9_checked.png new file mode 100644 index 00000000..d009aeaa Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/3/9_unchecked.png b/packages/renderer/imagesrc/specificity/3/9_unchecked.png new file mode 100644 index 00000000..58579fbc Binary files /dev/null and b/packages/renderer/imagesrc/specificity/3/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/0_checked.png b/packages/renderer/imagesrc/specificity/4/0_checked.png new file mode 100644 index 00000000..440570db Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/0_unchecked.png b/packages/renderer/imagesrc/specificity/4/0_unchecked.png new file mode 100644 index 00000000..52f30e11 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/10_checked.png b/packages/renderer/imagesrc/specificity/4/10_checked.png new file mode 100644 index 00000000..1900af72 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/10_unchecked.png b/packages/renderer/imagesrc/specificity/4/10_unchecked.png new file mode 100644 index 00000000..4a974599 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/11_checked.png b/packages/renderer/imagesrc/specificity/4/11_checked.png new file mode 100644 index 00000000..766de578 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/11_unchecked.png b/packages/renderer/imagesrc/specificity/4/11_unchecked.png new file mode 100644 index 00000000..7e814703 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/13_checked.png b/packages/renderer/imagesrc/specificity/4/13_checked.png new file mode 100644 index 00000000..153197ac Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/13_unchecked.png b/packages/renderer/imagesrc/specificity/4/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/14_checked.png b/packages/renderer/imagesrc/specificity/4/14_checked.png new file mode 100644 index 00000000..ebbc4b3d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/14_unchecked.png b/packages/renderer/imagesrc/specificity/4/14_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/17_checked.png b/packages/renderer/imagesrc/specificity/4/17_checked.png new file mode 100644 index 00000000..153197ac Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/17_unchecked.png b/packages/renderer/imagesrc/specificity/4/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/18_checked.png b/packages/renderer/imagesrc/specificity/4/18_checked.png new file mode 100644 index 00000000..ebbc4b3d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/18_unchecked.png b/packages/renderer/imagesrc/specificity/4/18_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/1_checked.png b/packages/renderer/imagesrc/specificity/4/1_checked.png new file mode 100644 index 00000000..be11967f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/1_unchecked.png b/packages/renderer/imagesrc/specificity/4/1_unchecked.png new file mode 100644 index 00000000..51440378 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/2_checked.png b/packages/renderer/imagesrc/specificity/4/2_checked.png new file mode 100644 index 00000000..327f39af Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/2_unchecked.png b/packages/renderer/imagesrc/specificity/4/2_unchecked.png new file mode 100644 index 00000000..134622a6 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/3_checked.png b/packages/renderer/imagesrc/specificity/4/3_checked.png new file mode 100644 index 00000000..6811f7e1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/3_unchecked.png b/packages/renderer/imagesrc/specificity/4/3_unchecked.png new file mode 100644 index 00000000..3d7e17dc Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/4_checked.png b/packages/renderer/imagesrc/specificity/4/4_checked.png new file mode 100644 index 00000000..1752ae49 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/4_unchecked.png b/packages/renderer/imagesrc/specificity/4/4_unchecked.png new file mode 100644 index 00000000..a9488d2d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/5_checked.png b/packages/renderer/imagesrc/specificity/4/5_checked.png new file mode 100644 index 00000000..d9e38d04 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/5_unchecked.png b/packages/renderer/imagesrc/specificity/4/5_unchecked.png new file mode 100644 index 00000000..ca0ef19d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/6_checked.png b/packages/renderer/imagesrc/specificity/4/6_checked.png new file mode 100644 index 00000000..da9a195b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/6_unchecked.png b/packages/renderer/imagesrc/specificity/4/6_unchecked.png new file mode 100644 index 00000000..fb503fe0 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/7_checked.png b/packages/renderer/imagesrc/specificity/4/7_checked.png new file mode 100644 index 00000000..90377929 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/7_unchecked.png b/packages/renderer/imagesrc/specificity/4/7_unchecked.png new file mode 100644 index 00000000..ecc1314f Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/8_checked.png b/packages/renderer/imagesrc/specificity/4/8_checked.png new file mode 100644 index 00000000..7a4142e8 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/8_unchecked.png b/packages/renderer/imagesrc/specificity/4/8_unchecked.png new file mode 100644 index 00000000..f9f989f2 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/9_checked.png b/packages/renderer/imagesrc/specificity/4/9_checked.png new file mode 100644 index 00000000..44acf74a Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/4/9_unchecked.png b/packages/renderer/imagesrc/specificity/4/9_unchecked.png new file mode 100644 index 00000000..5a27558e Binary files /dev/null and b/packages/renderer/imagesrc/specificity/4/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/0_checked.png b/packages/renderer/imagesrc/specificity/5/0_checked.png new file mode 100644 index 00000000..05c8d952 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/0_unchecked.png b/packages/renderer/imagesrc/specificity/5/0_unchecked.png new file mode 100644 index 00000000..14ad52f1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/10_checked.png b/packages/renderer/imagesrc/specificity/5/10_checked.png new file mode 100644 index 00000000..37660c10 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/10_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/10_unchecked.png b/packages/renderer/imagesrc/specificity/5/10_unchecked.png new file mode 100644 index 00000000..f4bce48a Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/10_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/11_checked.png b/packages/renderer/imagesrc/specificity/5/11_checked.png new file mode 100644 index 00000000..7e1685ca Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/11_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/11_unchecked.png b/packages/renderer/imagesrc/specificity/5/11_unchecked.png new file mode 100644 index 00000000..f9ed78d0 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/11_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/13_checked.png b/packages/renderer/imagesrc/specificity/5/13_checked.png new file mode 100644 index 00000000..04c65a50 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/13_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/13_unchecked.png b/packages/renderer/imagesrc/specificity/5/13_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/13_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/14_checked.png b/packages/renderer/imagesrc/specificity/5/14_checked.png new file mode 100644 index 00000000..f495d1fe Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/14_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/14_unchecked.png b/packages/renderer/imagesrc/specificity/5/14_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/14_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/17_checked.png b/packages/renderer/imagesrc/specificity/5/17_checked.png new file mode 100644 index 00000000..04c65a50 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/17_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/17_unchecked.png b/packages/renderer/imagesrc/specificity/5/17_unchecked.png new file mode 100644 index 00000000..c63f6ce1 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/17_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/18_checked.png b/packages/renderer/imagesrc/specificity/5/18_checked.png new file mode 100644 index 00000000..f495d1fe Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/18_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/18_unchecked.png b/packages/renderer/imagesrc/specificity/5/18_unchecked.png new file mode 100644 index 00000000..0e636a38 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/18_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/1_checked.png b/packages/renderer/imagesrc/specificity/5/1_checked.png new file mode 100644 index 00000000..3df793a9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/1_unchecked.png b/packages/renderer/imagesrc/specificity/5/1_unchecked.png new file mode 100644 index 00000000..9e03da49 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/2_checked.png b/packages/renderer/imagesrc/specificity/5/2_checked.png new file mode 100644 index 00000000..14d2f766 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/2_unchecked.png b/packages/renderer/imagesrc/specificity/5/2_unchecked.png new file mode 100644 index 00000000..60bd5177 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/3_checked.png b/packages/renderer/imagesrc/specificity/5/3_checked.png new file mode 100644 index 00000000..2d7be183 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/3_unchecked.png b/packages/renderer/imagesrc/specificity/5/3_unchecked.png new file mode 100644 index 00000000..70515535 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/4_checked.png b/packages/renderer/imagesrc/specificity/5/4_checked.png new file mode 100644 index 00000000..1f9287ba Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/4_unchecked.png b/packages/renderer/imagesrc/specificity/5/4_unchecked.png new file mode 100644 index 00000000..82a4cb84 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/5_checked.png b/packages/renderer/imagesrc/specificity/5/5_checked.png new file mode 100644 index 00000000..b7834a0c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/5_unchecked.png b/packages/renderer/imagesrc/specificity/5/5_unchecked.png new file mode 100644 index 00000000..1f6c12f9 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/5_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/6_checked.png b/packages/renderer/imagesrc/specificity/5/6_checked.png new file mode 100644 index 00000000..0eaf42cf Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/6_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/6_unchecked.png b/packages/renderer/imagesrc/specificity/5/6_unchecked.png new file mode 100644 index 00000000..db8e2e37 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/6_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/7_checked.png b/packages/renderer/imagesrc/specificity/5/7_checked.png new file mode 100644 index 00000000..c8c038bb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/7_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/7_unchecked.png b/packages/renderer/imagesrc/specificity/5/7_unchecked.png new file mode 100644 index 00000000..4cbf436b Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/7_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/8_checked.png b/packages/renderer/imagesrc/specificity/5/8_checked.png new file mode 100644 index 00000000..674fd13d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/8_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/8_unchecked.png b/packages/renderer/imagesrc/specificity/5/8_unchecked.png new file mode 100644 index 00000000..b797040d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/8_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/9_checked.png b/packages/renderer/imagesrc/specificity/5/9_checked.png new file mode 100644 index 00000000..d25ecd2c Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/9_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/5/9_unchecked.png b/packages/renderer/imagesrc/specificity/5/9_unchecked.png new file mode 100644 index 00000000..495052bb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/5/9_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/6/0.png b/packages/renderer/imagesrc/specificity/6/0.png new file mode 100644 index 00000000..4d4d0e47 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/6/0.png differ diff --git a/packages/renderer/imagesrc/specificity/6/1.png b/packages/renderer/imagesrc/specificity/6/1.png new file mode 100644 index 00000000..06a810fe Binary files /dev/null and b/packages/renderer/imagesrc/specificity/6/1.png differ diff --git a/packages/renderer/imagesrc/specificity/6/2.png b/packages/renderer/imagesrc/specificity/6/2.png new file mode 100644 index 00000000..382efeaf Binary files /dev/null and b/packages/renderer/imagesrc/specificity/6/2.png differ diff --git a/packages/renderer/imagesrc/specificity/6/3.png b/packages/renderer/imagesrc/specificity/6/3.png new file mode 100644 index 00000000..9b03f51e Binary files /dev/null and b/packages/renderer/imagesrc/specificity/6/3.png differ diff --git a/packages/renderer/imagesrc/specificity/6/4.png b/packages/renderer/imagesrc/specificity/6/4.png new file mode 100644 index 00000000..c1d24927 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/6/4.png differ diff --git a/packages/renderer/imagesrc/specificity/none.png b/packages/renderer/imagesrc/specificity/none.png new file mode 100644 index 00000000..4d4d0e47 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/none.png differ diff --git a/packages/renderer/imagesrc/specificity/title/0_checked.png b/packages/renderer/imagesrc/specificity/title/0_checked.png new file mode 100644 index 00000000..29023a53 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/0_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/0_unchecked.png b/packages/renderer/imagesrc/specificity/title/0_unchecked.png new file mode 100644 index 00000000..529b491d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/0_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/1_checked.png b/packages/renderer/imagesrc/specificity/title/1_checked.png new file mode 100644 index 00000000..9e71eb3d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/1_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/1_unchecked.png b/packages/renderer/imagesrc/specificity/title/1_unchecked.png new file mode 100644 index 00000000..edba997a Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/1_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/2_checked.png b/packages/renderer/imagesrc/specificity/title/2_checked.png new file mode 100644 index 00000000..052352a4 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/2_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/2_unchecked.png b/packages/renderer/imagesrc/specificity/title/2_unchecked.png new file mode 100644 index 00000000..28a3d9d7 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/2_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/3_checked.png b/packages/renderer/imagesrc/specificity/title/3_checked.png new file mode 100644 index 00000000..e13f2294 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/3_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/3_unchecked.png b/packages/renderer/imagesrc/specificity/title/3_unchecked.png new file mode 100644 index 00000000..5da4272d Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/3_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/4_checked.png b/packages/renderer/imagesrc/specificity/title/4_checked.png new file mode 100644 index 00000000..cf903450 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/4_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/4_unchecked.png b/packages/renderer/imagesrc/specificity/title/4_unchecked.png new file mode 100644 index 00000000..65ba78cb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/4_unchecked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/5_checked.png b/packages/renderer/imagesrc/specificity/title/5_checked.png new file mode 100644 index 00000000..19a358cb Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/5_checked.png differ diff --git a/packages/renderer/imagesrc/specificity/title/5_unchecked.png b/packages/renderer/imagesrc/specificity/title/5_unchecked.png new file mode 100644 index 00000000..6cf92ae4 Binary files /dev/null and b/packages/renderer/imagesrc/specificity/title/5_unchecked.png differ diff --git a/packages/renderer/index.html b/packages/renderer/index.html new file mode 100644 index 00000000..90da37f7 --- /dev/null +++ b/packages/renderer/index.html @@ -0,0 +1,43 @@ + + + + + + + + + + + + + DNF计算器 + + + + + + + + diff --git a/packages/renderer/package.json b/packages/renderer/package.json new file mode 100644 index 00000000..2e5863d3 --- /dev/null +++ b/packages/renderer/package.json @@ -0,0 +1,51 @@ +{ + "name": "dcalc-renderer", + "version": "2022.6.6", + "license": "GNU", + "engines": { + "node": ">=14.17.0" + }, + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "npm run prebuild && vite ./packages/renderer", + "typecheck": "vue-tsc --noEmit --skipLibCheck --pretty" + }, + "dependencies": { + "@vueuse/core": "^10.5.0", + "axios": "^1.6.0", + "hoci": "0.0.12", + "html-to-image": "^1.11.11", + "pako": "^2.1.0", + "pinia": "^2.1.7", + "query-string": "^8.1.0", + "sortablejs": "1.15.0", + "tslx": "^0.1.1", + "vue": "^3.3.8", + "vue-router": "4.2.5" + }, + "devDependencies": { + "@curev/vite-plugin-sprite": "^0.3.0", + "@types/fs-extra": "^11.0.4", + "@types/spritesmith": "^3.4.5", + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "electron": "22.3.12", + "fs-extra": "^11.1.1", + "maybe-types": "^0.2.0", + "minimatch": "^9.0.3", + "sass": "^1.69.5", + "spritesmith": "^3.4.1", + "typescript": "^5.2.2", + "unocss": "^0.57.2", + "unplugin-vue-components": "^0.25.2", + "vite": "^4.5.0", + "vite-plugin-compression": "^0.5.1", + "vue-tsc": "^1.8.22" + }, + "env": { + "//": "Used in build scripts", + "VITE_DEV_SERVER_HOST": "127.0.0.1", + "VITE_DEV_SERVER_PORT": 25252 + } +} diff --git a/packages/renderer/public/favicon.ico b/packages/renderer/public/favicon.ico new file mode 100644 index 00000000..8b14d919 Binary files /dev/null and b/packages/renderer/public/favicon.ico differ diff --git a/packages/renderer/public/images/home.jpg b/packages/renderer/public/images/home.jpg new file mode 100644 index 00000000..551dbc7b Binary files /dev/null and b/packages/renderer/public/images/home.jpg differ diff --git a/packages/renderer/public/images/loading.gif b/packages/renderer/public/images/loading.gif new file mode 100644 index 00000000..6267c087 Binary files /dev/null and b/packages/renderer/public/images/loading.gif differ diff --git a/packages/renderer/public/images/login.png b/packages/renderer/public/images/login.png new file mode 100644 index 00000000..a670b165 Binary files /dev/null and b/packages/renderer/public/images/login.png differ diff --git a/packages/renderer/public/images/result.jpg b/packages/renderer/public/images/result.jpg new file mode 100644 index 00000000..4ef01dfb Binary files /dev/null and b/packages/renderer/public/images/result.jpg differ diff --git a/packages/renderer/public/images/specificity.png b/packages/renderer/public/images/specificity.png new file mode 100644 index 00000000..81a27cd8 Binary files /dev/null and b/packages/renderer/public/images/specificity.png differ diff --git a/packages/renderer/public/images/tooltips.png b/packages/renderer/public/images/tooltips.png new file mode 100644 index 00000000..a6155e0a Binary files /dev/null and b/packages/renderer/public/images/tooltips.png differ diff --git a/packages/renderer/public/images/tooltips/0.gif b/packages/renderer/public/images/tooltips/0.gif new file mode 100644 index 00000000..81dd2139 Binary files /dev/null and b/packages/renderer/public/images/tooltips/0.gif differ diff --git a/packages/renderer/public/images/tooltips/1.gif b/packages/renderer/public/images/tooltips/1.gif new file mode 100644 index 00000000..b80d2dd4 Binary files /dev/null and b/packages/renderer/public/images/tooltips/1.gif differ diff --git a/packages/renderer/public/images/tooltips/2.gif b/packages/renderer/public/images/tooltips/2.gif new file mode 100644 index 00000000..7d7c1043 Binary files /dev/null and b/packages/renderer/public/images/tooltips/2.gif differ diff --git a/packages/renderer/public/images/tooltips/3.gif b/packages/renderer/public/images/tooltips/3.gif new file mode 100644 index 00000000..193ec57f Binary files /dev/null and b/packages/renderer/public/images/tooltips/3.gif differ diff --git a/packages/renderer/public/images/tooltips/4.gif b/packages/renderer/public/images/tooltips/4.gif new file mode 100644 index 00000000..229ae31f Binary files /dev/null and b/packages/renderer/public/images/tooltips/4.gif differ diff --git a/packages/renderer/public/images/tooltips/5.gif b/packages/renderer/public/images/tooltips/5.gif new file mode 100644 index 00000000..da21371a Binary files /dev/null and b/packages/renderer/public/images/tooltips/5.gif differ diff --git a/packages/renderer/public/images/tooltips/6.gif b/packages/renderer/public/images/tooltips/6.gif new file mode 100644 index 00000000..3d45b9d4 Binary files /dev/null and b/packages/renderer/public/images/tooltips/6.gif differ diff --git a/packages/renderer/public/images/tooltips/login.gif b/packages/renderer/public/images/tooltips/login.gif new file mode 100644 index 00000000..d5470be8 Binary files /dev/null and b/packages/renderer/public/images/tooltips/login.gif differ diff --git a/packages/renderer/src/animation.scss b/packages/renderer/src/animation.scss new file mode 100644 index 00000000..b925dceb --- /dev/null +++ b/packages/renderer/src/animation.scss @@ -0,0 +1,55 @@ +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes zoom-in { + from { + opacity: 0; + transform: scale(0.3); + } + to { + opacity: 1; + } +} + +@keyframes zoom-out { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + transform: scale(0.3); + } + 100% { + opacity: 0; + } +} + +@keyframes dropdown-enter { + from { + max-height: 0; + opacity: 0; + } + to { + max-height: 160px; + opacity: 1; + transform: translateY(0); + } +} + +@keyframes dropdown-leave { + from { + opacity: 1; + max-height: 160px; + transform: translateY(0); + } + to { + opacity: 0; + max-height: 0; + } +} diff --git a/packages/renderer/src/api/app/index.ts b/packages/renderer/src/api/app/index.ts new file mode 100644 index 00000000..b466f222 --- /dev/null +++ b/packages/renderer/src/api/app/index.ts @@ -0,0 +1,24 @@ +import { defineRequest } from "../common" + +export default defineRequest(axios => { + return { + heartbeat() { + return axios.get("/heartbeat", { timeout: 1000 }) + }, + checkUpdate(version: string) { + return axios.post("/checkUpdate", { version }, { timeout: 10000 }).then(r => r.data) + }, + autoUpdate() { + return axios.post("/autoUpdate") + }, + getUpdateProgress() { + return axios.get<[number, number]>("/update/progress").then(r => r.data) + }, + restart() { + return axios.post("/restart") + }, + uuid() { + return axios.get("/uuid").then(r => r.data) + } + } +}) diff --git a/packages/renderer/src/api/character/index.ts b/packages/renderer/src/api/character/index.ts new file mode 100644 index 00000000..bfdfc1c6 --- /dev/null +++ b/packages/renderer/src/api/character/index.ts @@ -0,0 +1,28 @@ +import { defineRequest } from "../common" +import type { IAnyResultInfo, ICharacterInfo, IRankList } from "./type" + +export default defineRequest(request => { + return { + getCharacter() { + return request.get("/character").then(r => r.data) + }, + calc(params: any, single: boolean = false) { + return request.post(single ? "/calc/single" : "/calc", params).then(r => r.data) + }, + calc_m(params: any) { + return request.post("/calc/mobile", params).then(r => r.data) + }, + getResult(id: string) { + return request.get(`/calc/result/${id}`).then(r => r.data) + }, + getRank(id: string) { + return request.get(`/calc/rank/${id}`).then(r => r.data) + }, + getRankResult(params: any) { + return request.post("/calc/rankresult", params).then(r => r.data) + }, + checkUID(uid?: number,r=0) { + return request.get<{show:boolean,uid:number,reason:string,userName?:string}>(`/uid/check/${uid}?r=${r}`).then(r => r.data) + } + } +}) diff --git a/packages/renderer/src/api/character/type.ts b/packages/renderer/src/api/character/type.ts new file mode 100644 index 00000000..aeed870f --- /dev/null +++ b/packages/renderer/src/api/character/type.ts @@ -0,0 +1,119 @@ +import type { IAsrahan, IDetailsInfo, IEquipmentInfo, ISpecificity, ISpecificityInfo } from "../info/type" + +export interface ICharacterInfo extends IDetailsInfo { + name: string + alter: string + character: string + role: "delear" | "buffer" + weapon_types: string[] + carry_type_list: string[] + armor?: string + armor_mastery: string[] + buff_ratio: number + skills: ISkillInfo[] + rune: string[] + talisman?: string[] + individuation: IIndividuation[] + config: string + clothes_coat: string[] + clothes_pants: string[] + platinum: string[] + version: string + char_optiopns: { + name: string + option: string[] + }[] + specificity?: ISpecificityInfo[] + especificity?: ISpecificity[] + asrahan: IAsrahan[] +} + +export interface ISkillInfo { + name: string + type: number + need_level: number + level_master: number + level_max: number + cooldown: number + current_level: number + data: number + tp_max?: number + tp_level?: number + mode?: string[] +} + +export interface IIndividuation { + type: string + value: string + items: string[] + row?: number + column?: number + key?: number +} + +export interface IBufferSkillInfo { + name: string + level: number + data: number[] +} + +export interface IDelearSkillInfo { + name: string + level: number + cd: number + cd_o: number + rate: number + mp: number + cosume_cube_frag: number + damage: number + count: number + atk_rate: number +} + +export interface IRankList { + id: string + rank: [number[], number[], string[]][] + setInfo: any + token: string +} + +export type IAnyResultInfo = IResultInfo<"buffer"> | IResultInfo<"delear"> + +export interface IResultInfo { + id: ID + name: string + alter: string + role: R + + token?: string + forge_set?: Record> + equips_forge: any + specificity_list?: number[] + customize: any + skills: Record + skills_passive: any + equips: IEquipmentInfo[] + + fusion_list: number[] + merge_list: Record + specificity?: Record + + info: any + total_data: number[] + jade?: { + id: number + name: string + damage: number + order: number + }[] + + cus?: any + merge?: any + compar?: Record + tip_part?: string[] + analysis?: { + min: number + cus: [string, number][] + } + suits?: string[] +} diff --git a/packages/renderer/src/api/common.ts b/packages/renderer/src/api/common.ts new file mode 100644 index 00000000..2f1624ee --- /dev/null +++ b/packages/renderer/src/api/common.ts @@ -0,0 +1,126 @@ +import type { AxiosInstance, AxiosResponse } from "axios" +import axios from "axios" +import { h } from "vue" +import { gzip, ungzip } from "pako" +import { useAppStore, useConfigStore } from "@/store" +import { useDialog } from "@/components/hooks/dialog" + +export interface HttpResponse extends AxiosResponse { + code?: number + message: string + data: T + state?: number +} + +let instance: AxiosInstance | null = null + +let baseURL = "/api" + +// 避免远程开发的时候冲突 +if (process.env.NODE_ENV == "development") { + baseURL = "http://127.0.0.1:17173/api" +} + +if (import.meta.env.MODE == "web" || import.meta.env.MODE == "show") { + baseURL = "https://api.dnftools.com/" +} + +// 解压 +function unzip(key: string) { + // 将二进制字符串转换为字符数组 + + const charData = key.split("").map((x) => { + return x?.charCodeAt(0); + }); + + // 将数字数组转换成字节数组 + const binData = new Uint8Array(charData); + + // 解压 + const data = ungzip(binData); + + const decoder = new TextDecoder(); + const str = decoder.decode(data); + + // unescape(str) --->解压后解码,防止中午乱码 + return str; +} + + +export function defineRequest(fn: (ax: AxiosInstance) => T) { + if (!instance) { + instance = axios.create({ + baseURL + }) + + instance.interceptors.request.use( + request => { + const configStore = useConfigStore() + const token = configStore.token + const uid = useAppStore().uid + + if (token) { + request.headers["Access-Token"] = token + } + if (uid && uid > 0){ + request.headers["Access-Uid"] = uid + } + + // 在网页端,会添加token + if (!window.pywebview) { + const accessToken = localStorage.getItem("dcalc/access_token") + + if (accessToken) { + request.headers.Authorization = `Bearer ${accessToken}` + } + } + + if (request?.data && process.env.NODE_ENV != "development") { + const req_data = JSON.stringify(request.data) + if (req_data.length > 500) { + // todo 大请求内容用gzip压缩一下到后端 + // import gzip from "pako" + request.headers && (request.headers["Content-Encoding"] = "gzip") + request.data = gzip(req_data, { to: "string" }) + } + } + return request + }, + error => { + // do something + return Promise.reject(error) + } + ) + + instance.defaults.headers.post["Content-Type"] = "application/json;charset=UTF-8" + // instance.defaults.headers["Accept-Encoding"] = "gzip" + // instance.defaults.headers["Content-Encoding"] = "gzip" + // add response interceptors + instance.interceptors.response.use( + async (response: AxiosResponse) => { + if (response.data.code === 500) { + const { alert } = useDialog() + await alert({ + content: () => { + return h("div", { class: "justify-center text-hex-d4d6b6 text-center", style: "white-space:pre-wrap;width:250px;margin:10px" }, `出现错误,可加群反馈:183439472\n${response.data.message}`) + } + }) + } + // 解密数据 + if (typeof response.data.data == "string") { + try { + const data = unzip(atob(response.data.data as string)) + response.data.data = JSON.parse(data) + } catch (e) { + } + } + return response.data + }, + async (error: Error) => { + return Promise.reject(error) + } + ) + } + + return fn(Object.create(instance)) +} diff --git a/packages/renderer/src/api/config/index.ts b/packages/renderer/src/api/config/index.ts new file mode 100644 index 00000000..22aae966 --- /dev/null +++ b/packages/renderer/src/api/config/index.ts @@ -0,0 +1,54 @@ +import { defineRequest } from "../common" + +export default defineRequest(req => { + return { + getConfig(name: string) { + return req.get>(`/config/get/${name}`).then(r => r.data) + }, + getConfigList() { + return req.get("/config/list").then(r => r.data) + }, + switchConfig(name: string) { + return req.post("/config/switch", name).then(r => r.data) + }, + saveConfig(params: any) { + return req.post("/config/save", params).then(r => r.data) + }, + checkConfig(setInfo: any) { + return req.post("/config/check", setInfo).then(r => r.data) + }, + defaultConfig(alter: string) { + return req.get>(`/config/default/${alter}`).then(r => r.data) + }, + getToken(alter: string, version?: string, equVersion?: string) { + return req.get(`/token/get/${alter}`, { params: { version, equVersion } }).then(r => r.data) + }, + clearToken() { + return req.post("/token/clear") + }, + getGlobalDetail(detail?: [number, number[]]) { + return req.post<(number | number[])[]>("global/detail", detail).then(r => r.data) + }, + getGlobalInfo() { + return req.get<{ id: number; items: { value: number; label: string }[]; multi: boolean; name: string; remark: string }[]>("/global/info").then(r => r.data) + }, + saveGlobalSet(info: [number, number[]]) { + return req.post("/global/save", info).then(r => r.data) + }, + getAllConfig() { + return req.get>("/config/all").then(r => r.data) + }, + shareConfigs(configs: any, expire: number) { + return req.post("/config/share", { configs, expire }).then(r => r.data) + }, + getShareConfigs(link: string) { + return req.get>(`/share/${link}`).then(r => r.data) + }, + importConfigs(configs: Record) { + return req.post("/config/import", configs).then(r => r.data) + }, + importLocalConfigs() { + return req.post("/config/import/local").then(r => r.data) + } + } +}) diff --git a/packages/renderer/src/api/index.ts b/packages/renderer/src/api/index.ts new file mode 100644 index 00000000..e63586df --- /dev/null +++ b/packages/renderer/src/api/index.ts @@ -0,0 +1,6 @@ +import info from "./info" +import character from "./character" +import config from "./config" +import app from "./app" + +export default { ...info, ...character, ...config, ...app } diff --git a/packages/renderer/src/api/info/index.ts b/packages/renderer/src/api/info/index.ts new file mode 100644 index 00000000..a5851b8c --- /dev/null +++ b/packages/renderer/src/api/info/index.ts @@ -0,0 +1,67 @@ +import { defineRequest } from "../common" +import type { IAdventureInfo, IDetailsInfo, IEquipmentList, IMonster, IRank, IRankadventure, IRecommendInfo, IRecommendRequest, ISkillInfo, ITools, ITrigger } from "./type" + +export default defineRequest(request => { + return { + rankList(alter: string, pageNum: number, tags: string[]) { + return request.get(`/rank/${alter}?pageNum=${pageNum}&tags=${tags.join(",")}`) + }, + skillInfoList(alter: string) { + return request.get(`/skills/${alter}`).then(r => r.data) + }, + useCount(alter: string) { + return request.get>(`/usecount/${alter}`).then(r => r.data) + }, + rankAdventure() { + return request.get("/adventure/rank") + }, + adventures() { + return request.get("/adventure") + }, + answers() { + return request.get<[]>("/answers") + }, + tools() { + return request.get("/tools") + }, + monsters() { + return request.get("/monster").then(r => r.data) + }, + scenes() { + return request.get("/scene").then(r => r.data) + }, + equips() { + return request.get("/equip/list").then(r => r.data) + }, + equipmentDetail(equipId: ID, sj: boolean, carry: boolean, fusion_upgrade: boolean) { + return request.get(`/equip/${String(equipId)}?sj=${sj}&carry=${carry}&fusion_upgrade=${fusion_upgrade}`) + }, + triggers() { + return request.get("/triggers").then(r => r.data) + }, + entries() { + return request.post>("/entries").then(r => r.data) + }, + recommends(params: IRecommendRequest, source: string = "skycity") { + if (source == "colg") { + return request.get>("/colg/recommend", { params }).then(r => r as unknown as PagingData) + } + return request.get>("/skycity/recommend", { params }).then(r => r as unknown as PagingData) + }, + detailList() { + return request.get("/details") + }, + favorites(params: IRecommendRequest) { + return request.get>("/favorites/list", { params }).then(r => r as unknown as PagingData) + }, + combinations(alter: string) { + return request.get(`/combinations/${alter}`).then(r => r.data as unknown as IRecommendInfo[]) + }, + addFavorites(favorite: Omit) { + return request.post("/favorites/add", favorite) + }, + deleteFavorites(id: ID) { + return request.post(`/favorites/delete/${id}`, {}) + } + } +}) diff --git a/packages/renderer/src/api/info/type.ts b/packages/renderer/src/api/info/type.ts new file mode 100644 index 00000000..3f8fe337 --- /dev/null +++ b/packages/renderer/src/api/info/type.ts @@ -0,0 +1,367 @@ +export interface IAdventureInfo { + title: string + name: string + children: IAlterInfo[] +} + +export interface ITools { + name: string + tooltips: string + link: string + end?: Date + target:"_blank" | "_self" +} + +export interface IMonster { + id: number + name: string +} + +export interface IAlterOption { + name: string + title: string + class?: string +} + +export interface IAlterInfo { + name: string + url?: string + title: string + default_value: string + options?: IAlterOption[] + open?: boolean + comment?: string +} + +export interface IEquipmentInfo { + groupId: number + id: ID + type?: string + rarity?: string + part: string + name: string + icon: string + state?: boolean + features?: ID[] + alternative: number[] + order?: number + growth: ID[] + stable: ID[] + suit: string[] + lv: number +} + +export interface IEquipmentList { + lv110: IEquipmentInfo[] + myth: IEquipmentInfo[] + weapon: IEquipmentInfo[] + wisdom: IEquipmentInfo[] + title: IEquipmentInfo[] + pet: IEquipmentInfo[] + consumable: IEquipmentInfo[] + fusion: IEquipmentInfo[] + merge: IEquipmentInfo[] +} + +export interface IEnchantingInfo { + id: string | number + maxFame: number | undefined + position: string[] + props: string + type: string | undefined + rarity: string | undefined + rate: number +} + +export interface IJadeInfo { + id: string | number + min: string | number + max: string | number + props: string + pre: number + maxFame: string | number + unit: string +} + +export interface ISItemInfo { + id: number + name: string + desc: string + lvinfo: { + lv: number + cost: number + needprecost: number + params: number[] + buffer: number + remark: string[] + }[] + master: number + masterWith?: number[] + masterWithMax?: number + x: number + y: number + preconditions: { + id: number + needLv: number + }[] + conflict?: number[] +} + +export interface ISpecificityInfo { + id: number + title: number + index: number + position: string + desc: string[] + name: string +} + +export interface ISpecificity { + type: number + name: string + desc: string + detail: ISItemInfo[] +} + +export interface IAsrahan { + name: string + type: number + desc: string + max:string + lvinfo: { + lv: number + params: string[] + }[] +} + + + +export interface ITrigger { + id: number + selectList: string[] + "multi-select": boolean +} + +export interface TriggerSet { + id: number + select: number | number[] +} + +export interface Dress { + id: number + options: string[] + part: string + rarity: string + suit?: string + name: string +} + +export interface KTV { + [key: number | string]: T +} + +export interface BaseSkill { + name: string + + mode?: string[] +} + +export interface SkillSet { + // 技能名 + name: string + + // 技能等级 + level: number + + // tp + tp: number + + // 是否手搓 + direct: boolean + + // 方向键数目 + directNumber: number + + // 技能次数 + count: number | string + + // 宠物次数 + pet: number | string + + // 是否有伤害 + damage: boolean + + mode?: string[] +} +interface SkillQueue { + name: string + mode?: string + modes?: string[] +} + +export interface ICharacterSet { + skill_set: SkillSet[] + skill_que: SkillQueue[] + + forge_set: Record> + + equip_list: number[] + + comparison: number[] + + wisdom_list: number[] + + myths_list: number[] + + weapons_list: number[] + + lv110_list: number[] + + fusion_list: ID[] + + consumable_list: number[] + + title_list: number[] + pet_list: number[] + + dress_set: Record + + single_set: ID[] + + carry_type: string + + attack_attribute: number + + trigger_set: Record + + customize: Record + + merge: Record + + rune_set: string[] + + talisman_set: string[] + + buff_ratio: number + + hotkey_set: string[] + + stone_set: Record + + monster: number + + scene: number + + individuation: number[] + + specificity_list: number[] + + specificity: Record + + corrections: { + 四维?: number + 三攻?: number + 技攻?: number + 攻击强化?: number + BUFF量?: number + 攻击强化百分比?: number + BUFF量百分比?: number + 攻速?: number + 火强?: number + 光强?: number + 冰强?: number + 暗强?: number + 火抗?: number + 冰抗?: number + 暗抗?: number + 光抗?: number + } + + asrahan: { + lv: number + type: number + additional: number + } +} + +export interface IRecommendRequest { + page: number + size: number + alter?: string + keyword?: string +} + +export interface IRecommendEquip { + id: ID + props?: ID[] + merge?: ID[] +} + +export interface IRecommendInfo { + id: ID + name: string + alter?: string + author?: string + equips: IRecommendEquip[] + fusions?: { + id: ID + }[] + fusion?: ID[] + specificity?: Record +} + +export interface IDetailsInfo { + enchanting: IEnchantingInfo[] + emblem: IEnchantingInfo[] + jade: IJadeInfo[] + specificity?: ISpecificityInfo[] | ISpecificity[] + especificity?: ISpecificity[] + sundries: IEnchantingInfo[] + dress: Record +} + +export interface IRank { + icon: string + id: string + name: string + pos: string + props?: string[] + upgradeInfo: { + icon: string + id: string + name: string + } +} + +export interface IRankadventure { + name: string + title: string + children: { + name: string + title: string + }[] +} + +export interface ISkillDetail { + name: string + need_level: number + lv: number + data: number + cd: number + mode: string + original_data?: number + original_cd?: number + cost?: number + tp?: number + remark?: string + type?: string +} + +export interface ISkillInfo { + type: string + weapon: string + buff: number + skills_active: ISkillDetail[] + skills_passive: ISkillDetail[] + skills_cp: ISkillDetail[] +} diff --git a/packages/renderer/src/api/types.ts b/packages/renderer/src/api/types.ts new file mode 100644 index 00000000..9284c439 --- /dev/null +++ b/packages/renderer/src/api/types.ts @@ -0,0 +1,6 @@ +export interface IDataType { + code?: number + message: string + data: T + state?: number +} diff --git a/packages/renderer/src/app.scss b/packages/renderer/src/app.scss new file mode 100644 index 00000000..2fcdf08a --- /dev/null +++ b/packages/renderer/src/app.scss @@ -0,0 +1,404 @@ +@import "./animation.scss"; +@import "./icon.scss"; + +.text-shadow { + text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000; +} + +@font-face { + font-family: "dcalc"; + src: url("@/assets/fonts/dcalc.ttf"); +} + +:root { + font-size: 16px; + --cursor-pointer: url("@/assets/cursor/basic.cur"), + url("@/assets/cursor/cursor.png"), pointer !important; + --cursor-active: url("@/assets/cursor/basic_press.cur"), + url("@/assets/cursor/cursor.png"), pointer !important; +} + +html, +body, +[data-v-app] { + padding: 0; + margin: 0; + width: 100%; + height: 100%; + overflow-y: hidden; + overflow-x: hidden; + // letter-spacing: -0.05px; + + // font-family: "ArkPixel", "Consola", sans-serif; +} + +* { + // font-family: "ArkPixel", "Consola", sans-serif; + // font-family: "dcalc", "SimHei"; + // font-family: "STSong"; + font-size: 12px; + text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, + 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000, 0 0 1px #000; + // image-rendering:pixelated; + // text-rendering: geometricPrecision; + // letter-spacing: -0.5px; +} + +@mixin pointer() { + cursor: var(--cursor-pointer); + + &:active { + cursor: var(--cursor-active); + } +} + +* { + user-select: none; + @include pointer(); +} + +.cursor-pointer { + @include pointer(); +} + +::-webkit-scrollbar { + background: rgb(0, 0, 0, 0.9); + width: 11px; + margin: 0px 0px 0px 0px; + @include pointer(); +} + +::-webkit-scrollbar-thumb { + background: rgb(36, 36, 36); + border: 1px solid rgb(76, 61, 39); + border-radius: 1px; + + &:hover { + background: rgb(52, 52, 52); + } +} + +::-webkit-scrollbar-button:vertical:single-button:start { + width: 11px; + // 添加标题栏后调整相关位置 + background: url("@/assets/img/icon/up.png") 0px 1px no-repeat; +} + +::-webkit-scrollbar-button:vertical:single-button:end { + width: 11px; + background: url("@/assets/img/icon/down.png") 0px 1px no-repeat; +} + +.divider { + width: calc(100% - 4px); + height: 1px; + background-color: rgba(58, 57, 58, 0.8); + margin: 8px 0; +} + +.mask-full { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: 0; + z-index: -1; + overflow: hidden; +} + +.icon { + width: 28px; + height: 28px; + position: relative; +} + +.icon-lay:not(.active) { + position: absolute; + width: 28px; + height: 28px; + z-index: 2; + background-color: rgba(0, 0, 0, 0.5); +} + +.tooltip { + width: 210px; + float: left; + border: 1px solid rgb(128, 128, 128); + padding: 10px 5px 10px 5px; + font-size: 0.75rem; + + .name { + padding: 0px 5px 0px 5px; + &::after { + content: ""; + width: 210px; + height: 8px; + background: url("@/assets/img/underline.png"); + display: block; + background-size: contain; + left: 5px; + margin-top: 4px; + } + } +} + +.tooltip-equipment { + @extend .tooltip; +} + +.tooltip-skill { + @extend .tooltip; + background-color: rgba(0, 0, 0, 0.3); + .name { + color: rgb(197, 172, 72); + } + + .name-p { + @extend .name; + color: rgb(139, 254, 133); + } + + .info { + color: rgb(132, 119, 78); + margin: 5px; + } +} + +.subitem { + background-color: rgb(11, 11, 11); + + .head-sec { + color: #b99460; + // font-size: 12px; + text-align: center; + height: 24px; + line-height: 24px; + background-image: linear-gradient(#2d281a, #16120c); + border-top: #443c2b solid 1px; + border-bottom: #211e10 solid 1px; + border-right: none; + border-left: none; + } + + .body-sec { + padding-top: 8px; + } +} + +.app-header { + // -webkit-app-region: drag; + background-image: url("@/assets/img/control/title.png"); + background-size: 100% 100%; + color: #9d8c5b; + border-top: 1px solid #6c81a7; + border-bottom: 1px solid #232d41; +} + +.min-icon { + -webkit-app-region: no-drag; + background: url("@/assets/img/icon/min.png") no-repeat; + + background-size: 10px 10px; + background-position: center; +} + +.close-icon { + -webkit-app-region: no-drag; + background: url("@/assets/img/icon/exit.png") no-repeat; + background-size: 10px 10px; + background-position: center; +} + +.normal { + color: #ffffff; +} +.advanced { + color: #68d5ed; +} +.rare { + color: #b36bff; +} +.artifact { + color: #ff00ff; +} +.legend { + color: #e96e00; +} +.epic { + color: #ffb400; +} +.chronicle { + color: #ff6666; +} +.myth { + background-image: -webkit-gradient( + linear, + left top, + left bottom, + color-stop(0, #f8c63d), + color-stop(1, #cc66e7) + ); + color: transparent; + background-clip: text; + text-shadow: none; + -webkit-background-clip: text; + > span { + text-shadow: none !important; + } +} + +.primeval { + background-image: -webkit-linear-gradient(top, #28d931,#33acea); + color: transparent; + background-clip: text; + text-shadow: none; + -webkit-background-clip: text; + > span { + text-shadow: none !important; + } +} + +@keyframes primeval { + 0% { + background-image: url("@/assets/img/effect/primeval/0.png"); + } + 3.45% { + background-image: url("@/assets/img/effect/primeval/1.png"); + } + 6.9% { + background-image: url("@/assets/img/effect/primeval/2.png"); + } + 10.35% { + background-image: url("@/assets/img/effect/primeval/3.png"); + } + 13.8% { + background-image: url("@/assets/img/effect/primeval/4.png"); + } + 17.25% { + background-image: url("@/assets/img/effect/primeval/5.png"); + } + 20.7% { + background-image: url("@/assets/img/effect/primeval/6.png"); + } + 24.15% { + background-image: url("@/assets/img/effect/primeval/7.png"); + } + 27.6% { + background-image: url("@/assets/img/effect/primeval/8.png"); + } + 31.05% { + background-image: url("@/assets/img/effect/primeval/9.png"); + } + 34.5% { + background-image: url("@/assets/img/effect/primeval/10.png"); + } + 37.95% { + background-image: url("@/assets/img/effect/primeval/11.png"); + } + 41.4% { + background-image: url("@/assets/img/effect/primeval/12.png"); + } + 44.85% { + background-image: url("@/assets/img/effect/primeval/13.png"); + } + 48.3% { + background-image: url("@/assets/img/effect/primeval/14.png"); + } + 51.75% { + background-image: url("@/assets/img/effect/primeval/15.png"); + } + 55.2% { + background-image: url("@/assets/img/effect/primeval/16.png"); + } + 58.65% { + background-image: url("@/assets/img/effect/primeval/17.png"); + } + 62.1% { + background-image: url("@/assets/img/effect/primeval/18.png"); + } + 65.55% { + background-image: url("@/assets/img/effect/primeval/19.png"); + } + 69% { + background-image: url("@/assets/img/effect/primeval/20.png"); + } + 72.45% { + background-image: url("@/assets/img/effect/primeval/21.png"); + } + 75.9% { + background-image: url("@/assets/img/effect/primeval/22.png"); + } + 79.35% { + background-image: url("@/assets/img/effect/primeval/23.png"); + } + 82.8% { + background-image: url("@/assets/img/effect/primeval/24.png"); + } + 86.25% { + background-image: url("@/assets/img/effect/primeval/25.png"); + } + 89.7% { + background-image: url("@/assets/img/effect/primeval/26.png"); + } + 93.15% { + background-image: url("@/assets/img/effect/primeval/27.png"); + } + 96.6% { + background-image: url("@/assets/img/effect/primeval/28.png"); + } + 100% { + background-image: url("@/assets/img/effect/primeval/29.png"); + } +} + +.primeval_effect { + // 应用动画到div上 + width: 27px; + height: 27px; + background-size: cover; + animation: primeval 2s infinite; + // 设置动画名称,持续时间,和循环次数 + mix-blend-mode: color-dodge; +} + +.lvInfo{ + background-image: url("@/assets/img/specificity/lv.png"); + background-repeat: no-repeat !important; + background-size: auto auto !important; + width: 30px; + height: 16px; + z-index: 10; + color:#4E3D1B +} + +.lvInfoActive{ + background-image: url("@/assets/img/specificity/lv_active.png"); + background-repeat: no-repeat !important; + background-size: auto auto !important; + width: 30px; + height: 16px; + z-index: 10; + color:#FEB300 +} + + +.lvInfoMaster{ + background-image: url("@/assets/img/specificity/lv_master.png"); + background-repeat: no-repeat !important; + background-size: auto auto !important; + width: 30px; + height: 16px; + z-index: 10; + color:#FEB300 +} \ No newline at end of file diff --git a/packages/renderer/src/assets/cursor/basic.cur b/packages/renderer/src/assets/cursor/basic.cur new file mode 100644 index 00000000..afae4c03 Binary files /dev/null and b/packages/renderer/src/assets/cursor/basic.cur differ diff --git a/packages/renderer/src/assets/cursor/basic_press.cur b/packages/renderer/src/assets/cursor/basic_press.cur new file mode 100644 index 00000000..1780337d Binary files /dev/null and b/packages/renderer/src/assets/cursor/basic_press.cur differ diff --git a/packages/renderer/src/assets/cursor/cursor.png b/packages/renderer/src/assets/cursor/cursor.png new file mode 100644 index 00000000..06d291b4 Binary files /dev/null and b/packages/renderer/src/assets/cursor/cursor.png differ diff --git a/packages/renderer/src/assets/fonts/DNFForgedBlade-Bold.ttf b/packages/renderer/src/assets/fonts/DNFForgedBlade-Bold.ttf new file mode 100644 index 00000000..a86e5d27 Binary files /dev/null and b/packages/renderer/src/assets/fonts/DNFForgedBlade-Bold.ttf differ diff --git a/packages/renderer/src/assets/fonts/DNFForgedBlade-Light.ttf b/packages/renderer/src/assets/fonts/DNFForgedBlade-Light.ttf new file mode 100644 index 00000000..000241a0 Binary files /dev/null and b/packages/renderer/src/assets/fonts/DNFForgedBlade-Light.ttf differ diff --git a/packages/renderer/src/assets/fonts/DNFForgedBlade-Medium.ttf b/packages/renderer/src/assets/fonts/DNFForgedBlade-Medium.ttf new file mode 100644 index 00000000..b3edb2e4 Binary files /dev/null and b/packages/renderer/src/assets/fonts/DNFForgedBlade-Medium.ttf differ diff --git a/packages/renderer/src/assets/fonts/dcalc.ttf b/packages/renderer/src/assets/fonts/dcalc.ttf new file mode 100644 index 00000000..2022d830 Binary files /dev/null and b/packages/renderer/src/assets/fonts/dcalc.ttf differ diff --git a/ResourceFiles/Skins/DNFStyle/img/top_select.png b/packages/renderer/src/assets/img/control/active_top.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/top_select.png rename to packages/renderer/src/assets/img/control/active_top.png diff --git a/ResourceFiles/Skins/DNFStyle/img/checkbox_checked.png b/packages/renderer/src/assets/img/control/checkbox_checked.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/checkbox_checked.png rename to packages/renderer/src/assets/img/control/checkbox_checked.png diff --git a/ResourceFiles/Skins/DNFStyle/img/checkbox_disable.png b/packages/renderer/src/assets/img/control/checkbox_disable.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/checkbox_disable.png rename to packages/renderer/src/assets/img/control/checkbox_disable.png diff --git a/ResourceFiles/Skins/DNFStyle/img/checkbox_hover.png b/packages/renderer/src/assets/img/control/checkbox_hover.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/checkbox_hover.png rename to packages/renderer/src/assets/img/control/checkbox_hover.png diff --git a/ResourceFiles/Skins/DNFStyle/img/checkbox_uncheck.png b/packages/renderer/src/assets/img/control/checkbox_uncheck.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/checkbox_uncheck.png rename to packages/renderer/src/assets/img/control/checkbox_uncheck.png diff --git a/packages/renderer/src/assets/img/control/dictionary_line.png b/packages/renderer/src/assets/img/control/dictionary_line.png new file mode 100644 index 00000000..1dd4cfd9 Binary files /dev/null and b/packages/renderer/src/assets/img/control/dictionary_line.png differ diff --git a/packages/renderer/src/assets/img/control/hover_mask.png b/packages/renderer/src/assets/img/control/hover_mask.png new file mode 100644 index 00000000..3c0e1484 Binary files /dev/null and b/packages/renderer/src/assets/img/control/hover_mask.png differ diff --git a/packages/renderer/src/assets/img/control/item_checked.png b/packages/renderer/src/assets/img/control/item_checked.png new file mode 100644 index 00000000..3900cef1 Binary files /dev/null and b/packages/renderer/src/assets/img/control/item_checked.png differ diff --git a/packages/renderer/src/assets/img/control/item_hover.png b/packages/renderer/src/assets/img/control/item_hover.png new file mode 100644 index 00000000..fff7a3d5 Binary files /dev/null and b/packages/renderer/src/assets/img/control/item_hover.png differ diff --git a/packages/renderer/src/assets/img/control/radio_checked.png b/packages/renderer/src/assets/img/control/radio_checked.png new file mode 100644 index 00000000..52a90516 Binary files /dev/null and b/packages/renderer/src/assets/img/control/radio_checked.png differ diff --git a/packages/renderer/src/assets/img/control/radio_disable.png b/packages/renderer/src/assets/img/control/radio_disable.png new file mode 100644 index 00000000..d2ee5ad1 Binary files /dev/null and b/packages/renderer/src/assets/img/control/radio_disable.png differ diff --git a/packages/renderer/src/assets/img/control/radio_hover.png b/packages/renderer/src/assets/img/control/radio_hover.png new file mode 100644 index 00000000..f4eafd42 Binary files /dev/null and b/packages/renderer/src/assets/img/control/radio_hover.png differ diff --git a/packages/renderer/src/assets/img/control/radio_uncheck.png b/packages/renderer/src/assets/img/control/radio_uncheck.png new file mode 100644 index 00000000..4bef4c61 Binary files /dev/null and b/packages/renderer/src/assets/img/control/radio_uncheck.png differ diff --git a/ResourceFiles/Skins/DNFStyle/img/title_back.png b/packages/renderer/src/assets/img/control/title.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/title_back.png rename to packages/renderer/src/assets/img/control/title.png diff --git a/packages/renderer/src/assets/img/effect/primeval/0.png b/packages/renderer/src/assets/img/effect/primeval/0.png new file mode 100644 index 00000000..e1b9fc4d Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/0.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/1.png b/packages/renderer/src/assets/img/effect/primeval/1.png new file mode 100644 index 00000000..5b294aee Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/1.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/10.png b/packages/renderer/src/assets/img/effect/primeval/10.png new file mode 100644 index 00000000..2cec2d6f Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/10.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/11.png b/packages/renderer/src/assets/img/effect/primeval/11.png new file mode 100644 index 00000000..fa1c6dbd Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/11.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/12.png b/packages/renderer/src/assets/img/effect/primeval/12.png new file mode 100644 index 00000000..18ffbe69 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/12.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/13.png b/packages/renderer/src/assets/img/effect/primeval/13.png new file mode 100644 index 00000000..89096b99 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/13.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/14.png b/packages/renderer/src/assets/img/effect/primeval/14.png new file mode 100644 index 00000000..94c92441 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/14.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/15.png b/packages/renderer/src/assets/img/effect/primeval/15.png new file mode 100644 index 00000000..17a6e35e Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/15.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/16.png b/packages/renderer/src/assets/img/effect/primeval/16.png new file mode 100644 index 00000000..bec64a31 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/16.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/17.png b/packages/renderer/src/assets/img/effect/primeval/17.png new file mode 100644 index 00000000..ec3bcf6e Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/17.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/18.png b/packages/renderer/src/assets/img/effect/primeval/18.png new file mode 100644 index 00000000..724b67ff Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/18.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/19.png b/packages/renderer/src/assets/img/effect/primeval/19.png new file mode 100644 index 00000000..fa941feb Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/19.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/2.png b/packages/renderer/src/assets/img/effect/primeval/2.png new file mode 100644 index 00000000..78ea5725 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/2.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/20.png b/packages/renderer/src/assets/img/effect/primeval/20.png new file mode 100644 index 00000000..4a68c068 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/20.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/21.png b/packages/renderer/src/assets/img/effect/primeval/21.png new file mode 100644 index 00000000..cef2851c Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/21.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/22.png b/packages/renderer/src/assets/img/effect/primeval/22.png new file mode 100644 index 00000000..5a0b9743 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/22.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/23.png b/packages/renderer/src/assets/img/effect/primeval/23.png new file mode 100644 index 00000000..834acba5 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/23.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/24.png b/packages/renderer/src/assets/img/effect/primeval/24.png new file mode 100644 index 00000000..573335c1 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/24.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/25.png b/packages/renderer/src/assets/img/effect/primeval/25.png new file mode 100644 index 00000000..a64380a5 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/25.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/26.png b/packages/renderer/src/assets/img/effect/primeval/26.png new file mode 100644 index 00000000..70b4a968 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/26.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/27.png b/packages/renderer/src/assets/img/effect/primeval/27.png new file mode 100644 index 00000000..09e07de0 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/27.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/28.png b/packages/renderer/src/assets/img/effect/primeval/28.png new file mode 100644 index 00000000..62b85de5 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/28.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/29.png b/packages/renderer/src/assets/img/effect/primeval/29.png new file mode 100644 index 00000000..8330987a Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/29.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/3.png b/packages/renderer/src/assets/img/effect/primeval/3.png new file mode 100644 index 00000000..493647ec Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/3.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/4.png b/packages/renderer/src/assets/img/effect/primeval/4.png new file mode 100644 index 00000000..3c476d05 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/4.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/5.png b/packages/renderer/src/assets/img/effect/primeval/5.png new file mode 100644 index 00000000..c2f16025 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/5.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/6.png b/packages/renderer/src/assets/img/effect/primeval/6.png new file mode 100644 index 00000000..0a0657c6 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/6.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/7.png b/packages/renderer/src/assets/img/effect/primeval/7.png new file mode 100644 index 00000000..48534587 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/7.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/8.png b/packages/renderer/src/assets/img/effect/primeval/8.png new file mode 100644 index 00000000..fcb7c1d8 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/8.png differ diff --git a/packages/renderer/src/assets/img/effect/primeval/9.png b/packages/renderer/src/assets/img/effect/primeval/9.png new file mode 100644 index 00000000..30e6f707 Binary files /dev/null and b/packages/renderer/src/assets/img/effect/primeval/9.png differ diff --git a/packages/renderer/src/assets/img/icon/159.png b/packages/renderer/src/assets/img/icon/159.png new file mode 100644 index 00000000..ab8062fd Binary files /dev/null and b/packages/renderer/src/assets/img/icon/159.png differ diff --git a/packages/renderer/src/assets/img/icon/239.png b/packages/renderer/src/assets/img/icon/239.png new file mode 100644 index 00000000..7295426c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/239.png differ diff --git a/packages/renderer/src/assets/img/icon/240.png b/packages/renderer/src/assets/img/icon/240.png new file mode 100644 index 00000000..a400fe08 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/240.png differ diff --git a/packages/renderer/src/assets/img/icon/272.png b/packages/renderer/src/assets/img/icon/272.png new file mode 100644 index 00000000..889ef739 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/272.png differ diff --git a/packages/renderer/src/assets/img/icon/273.png b/packages/renderer/src/assets/img/icon/273.png new file mode 100644 index 00000000..6945f2ed Binary files /dev/null and b/packages/renderer/src/assets/img/icon/273.png differ diff --git a/packages/renderer/src/assets/img/icon/274.png b/packages/renderer/src/assets/img/icon/274.png new file mode 100644 index 00000000..9da7325c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/274.png differ diff --git a/packages/renderer/src/assets/img/icon/275.png b/packages/renderer/src/assets/img/icon/275.png new file mode 100644 index 00000000..b5976d53 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/275.png differ diff --git a/packages/renderer/src/assets/img/icon/305.png b/packages/renderer/src/assets/img/icon/305.png new file mode 100644 index 00000000..79e93b5c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/305.png differ diff --git a/packages/renderer/src/assets/img/icon/306.png b/packages/renderer/src/assets/img/icon/306.png new file mode 100644 index 00000000..3ff780f5 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/306.png differ diff --git a/packages/renderer/src/assets/img/icon/307.png b/packages/renderer/src/assets/img/icon/307.png new file mode 100644 index 00000000..50048c55 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/307.png differ diff --git a/packages/renderer/src/assets/img/icon/308.png b/packages/renderer/src/assets/img/icon/308.png new file mode 100644 index 00000000..d2905758 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/308.png differ diff --git a/packages/renderer/src/assets/img/icon/309.png b/packages/renderer/src/assets/img/icon/309.png new file mode 100644 index 00000000..d38a8299 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/309.png differ diff --git a/packages/renderer/src/assets/img/icon/310.png b/packages/renderer/src/assets/img/icon/310.png new file mode 100644 index 00000000..6ac71155 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/310.png differ diff --git a/packages/renderer/src/assets/img/icon/311.png b/packages/renderer/src/assets/img/icon/311.png new file mode 100644 index 00000000..8c413d0e Binary files /dev/null and b/packages/renderer/src/assets/img/icon/311.png differ diff --git a/packages/renderer/src/assets/img/icon/312.png b/packages/renderer/src/assets/img/icon/312.png new file mode 100644 index 00000000..e822878b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/312.png differ diff --git a/packages/renderer/src/assets/img/icon/455.png b/packages/renderer/src/assets/img/icon/455.png new file mode 100644 index 00000000..d0e0fa96 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/455.png differ diff --git a/packages/renderer/src/assets/img/icon/456.png b/packages/renderer/src/assets/img/icon/456.png new file mode 100644 index 00000000..dc70cf84 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/456.png differ diff --git a/packages/renderer/src/assets/img/icon/457.png b/packages/renderer/src/assets/img/icon/457.png new file mode 100644 index 00000000..26ea3cb9 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/457.png differ diff --git a/packages/renderer/src/assets/img/icon/458.png b/packages/renderer/src/assets/img/icon/458.png new file mode 100644 index 00000000..3fc90eeb Binary files /dev/null and b/packages/renderer/src/assets/img/icon/458.png differ diff --git a/packages/renderer/src/assets/img/icon/459.png b/packages/renderer/src/assets/img/icon/459.png new file mode 100644 index 00000000..7ccc81ad Binary files /dev/null and b/packages/renderer/src/assets/img/icon/459.png differ diff --git a/packages/renderer/src/assets/img/icon/460.png b/packages/renderer/src/assets/img/icon/460.png new file mode 100644 index 00000000..29cf16b5 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/460.png differ diff --git a/packages/renderer/src/assets/img/icon/461.png b/packages/renderer/src/assets/img/icon/461.png new file mode 100644 index 00000000..a7d1a972 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/461.png differ diff --git a/packages/renderer/src/assets/img/icon/462.png b/packages/renderer/src/assets/img/icon/462.png new file mode 100644 index 00000000..ca168b39 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/462.png differ diff --git a/packages/renderer/src/assets/img/icon/463.png b/packages/renderer/src/assets/img/icon/463.png new file mode 100644 index 00000000..e0112052 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/463.png differ diff --git a/packages/renderer/src/assets/img/icon/464.png b/packages/renderer/src/assets/img/icon/464.png new file mode 100644 index 00000000..46991b50 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/464.png differ diff --git a/packages/renderer/src/assets/img/icon/469.png b/packages/renderer/src/assets/img/icon/469.png new file mode 100644 index 00000000..7295426c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/469.png differ diff --git a/packages/renderer/src/assets/img/icon/470.png b/packages/renderer/src/assets/img/icon/470.png new file mode 100644 index 00000000..a400fe08 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/470.png differ diff --git a/packages/renderer/src/assets/img/icon/504.png b/packages/renderer/src/assets/img/icon/504.png new file mode 100644 index 00000000..6bfa4baf Binary files /dev/null and b/packages/renderer/src/assets/img/icon/504.png differ diff --git a/packages/renderer/src/assets/img/icon/505.png b/packages/renderer/src/assets/img/icon/505.png new file mode 100644 index 00000000..4ad1ecb1 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/505.png differ diff --git a/packages/renderer/src/assets/img/icon/540.png b/packages/renderer/src/assets/img/icon/540.png new file mode 100644 index 00000000..cee27adb Binary files /dev/null and b/packages/renderer/src/assets/img/icon/540.png differ diff --git a/packages/renderer/src/assets/img/icon/541.png b/packages/renderer/src/assets/img/icon/541.png new file mode 100644 index 00000000..a2d5c5b5 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/541.png differ diff --git a/packages/renderer/src/assets/img/icon/542.png b/packages/renderer/src/assets/img/icon/542.png new file mode 100644 index 00000000..f9d017d2 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/542.png differ diff --git a/packages/renderer/src/assets/img/icon/543.png b/packages/renderer/src/assets/img/icon/543.png new file mode 100644 index 00000000..87c314ae Binary files /dev/null and b/packages/renderer/src/assets/img/icon/543.png differ diff --git a/packages/renderer/src/assets/img/icon/55.png b/packages/renderer/src/assets/img/icon/55.png new file mode 100644 index 00000000..a41b9751 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/55.png differ diff --git a/packages/renderer/src/assets/img/icon/588.png b/packages/renderer/src/assets/img/icon/588.png new file mode 100644 index 00000000..6a4f9f93 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/588.png differ diff --git a/packages/renderer/src/assets/img/icon/593.png b/packages/renderer/src/assets/img/icon/593.png new file mode 100644 index 00000000..90b32866 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/593.png differ diff --git a/packages/renderer/src/assets/img/icon/594.png b/packages/renderer/src/assets/img/icon/594.png new file mode 100644 index 00000000..e64ec4ca Binary files /dev/null and b/packages/renderer/src/assets/img/icon/594.png differ diff --git a/packages/renderer/src/assets/img/icon/595.png b/packages/renderer/src/assets/img/icon/595.png new file mode 100644 index 00000000..e64ec4ca Binary files /dev/null and b/packages/renderer/src/assets/img/icon/595.png differ diff --git a/packages/renderer/src/assets/img/icon/596.png b/packages/renderer/src/assets/img/icon/596.png new file mode 100644 index 00000000..9e6b8f65 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/596.png differ diff --git a/packages/renderer/src/assets/img/icon/606.png b/packages/renderer/src/assets/img/icon/606.png new file mode 100644 index 00000000..cf78deb0 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/606.png differ diff --git a/packages/renderer/src/assets/img/icon/614.png b/packages/renderer/src/assets/img/icon/614.png new file mode 100644 index 00000000..9cb24763 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/614.png differ diff --git a/packages/renderer/src/assets/img/icon/615.png b/packages/renderer/src/assets/img/icon/615.png new file mode 100644 index 00000000..bcf098af Binary files /dev/null and b/packages/renderer/src/assets/img/icon/615.png differ diff --git a/packages/renderer/src/assets/img/icon/616.png b/packages/renderer/src/assets/img/icon/616.png new file mode 100644 index 00000000..9a931a9d Binary files /dev/null and b/packages/renderer/src/assets/img/icon/616.png differ diff --git a/packages/renderer/src/assets/img/icon/617.png b/packages/renderer/src/assets/img/icon/617.png new file mode 100644 index 00000000..065d5a2a Binary files /dev/null and b/packages/renderer/src/assets/img/icon/617.png differ diff --git a/packages/renderer/src/assets/img/icon/bakal.png b/packages/renderer/src/assets/img/icon/bakal.png new file mode 100644 index 00000000..47544fb0 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/bakal.png differ diff --git a/packages/renderer/src/assets/img/icon/bakalraid.png b/packages/renderer/src/assets/img/icon/bakalraid.png new file mode 100644 index 00000000..9cfacedd Binary files /dev/null and b/packages/renderer/src/assets/img/icon/bakalraid.png differ diff --git a/packages/renderer/src/assets/img/icon/detail.png b/packages/renderer/src/assets/img/icon/detail.png new file mode 100644 index 00000000..5a2a872f Binary files /dev/null and b/packages/renderer/src/assets/img/icon/detail.png differ diff --git a/packages/renderer/src/assets/img/icon/detail_active.png b/packages/renderer/src/assets/img/icon/detail_active.png new file mode 100644 index 00000000..c4268842 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/detail_active.png differ diff --git a/packages/renderer/src/assets/img/icon/detail_disabled.png b/packages/renderer/src/assets/img/icon/detail_disabled.png new file mode 100644 index 00000000..33809ff3 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/detail_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/detail_hover.png b/packages/renderer/src/assets/img/icon/detail_hover.png new file mode 100644 index 00000000..bd5fbda6 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/detail_hover.png differ diff --git a/ResourceFiles/Skins/DNFStyle/img/down.png b/packages/renderer/src/assets/img/icon/down.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/down.png rename to packages/renderer/src/assets/img/icon/down.png diff --git a/packages/renderer/src/assets/img/icon/dropdown.png b/packages/renderer/src/assets/img/icon/dropdown.png new file mode 100644 index 00000000..7672ee58 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/dropdown.png differ diff --git a/packages/renderer/src/assets/img/icon/dropdown_active.png b/packages/renderer/src/assets/img/icon/dropdown_active.png new file mode 100644 index 00000000..71f4145b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/dropdown_active.png differ diff --git a/packages/renderer/src/assets/img/icon/dropdown_disabled.png b/packages/renderer/src/assets/img/icon/dropdown_disabled.png new file mode 100644 index 00000000..800355f3 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/dropdown_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/dropdown_hover.png b/packages/renderer/src/assets/img/icon/dropdown_hover.png new file mode 100644 index 00000000..825284b9 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/dropdown_hover.png differ diff --git a/ResourceFiles/img/UI/exit.PNG b/packages/renderer/src/assets/img/icon/exit.png similarity index 100% rename from ResourceFiles/img/UI/exit.PNG rename to packages/renderer/src/assets/img/icon/exit.png diff --git a/packages/renderer/src/assets/img/icon/home.png b/packages/renderer/src/assets/img/icon/home.png new file mode 100644 index 00000000..d7e00935 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/home.png differ diff --git a/packages/renderer/src/assets/img/icon/home_active.png b/packages/renderer/src/assets/img/icon/home_active.png new file mode 100644 index 00000000..6c5bbad9 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/home_active.png differ diff --git a/packages/renderer/src/assets/img/icon/home_disabled.png b/packages/renderer/src/assets/img/icon/home_disabled.png new file mode 100644 index 00000000..6f5a4105 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/home_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/home_hover.png b/packages/renderer/src/assets/img/icon/home_hover.png new file mode 100644 index 00000000..b792b9f0 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/home_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/import.png b/packages/renderer/src/assets/img/icon/import.png new file mode 100644 index 00000000..2b57c419 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/import.png differ diff --git a/packages/renderer/src/assets/img/icon/import_active.png b/packages/renderer/src/assets/img/icon/import_active.png new file mode 100644 index 00000000..517913bb Binary files /dev/null and b/packages/renderer/src/assets/img/icon/import_active.png differ diff --git a/packages/renderer/src/assets/img/icon/import_disabled.png b/packages/renderer/src/assets/img/icon/import_disabled.png new file mode 100644 index 00000000..3fd94f96 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/import_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/import_hover.png b/packages/renderer/src/assets/img/icon/import_hover.png new file mode 100644 index 00000000..8a095d6b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/import_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/increase.png b/packages/renderer/src/assets/img/icon/increase.png new file mode 100644 index 00000000..724ed16a Binary files /dev/null and b/packages/renderer/src/assets/img/icon/increase.png differ diff --git a/packages/renderer/src/assets/img/icon/increase_active.png b/packages/renderer/src/assets/img/icon/increase_active.png new file mode 100644 index 00000000..fd64cf01 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/increase_active.png differ diff --git a/packages/renderer/src/assets/img/icon/increase_disabled.png b/packages/renderer/src/assets/img/icon/increase_disabled.png new file mode 100644 index 00000000..e63db5de Binary files /dev/null and b/packages/renderer/src/assets/img/icon/increase_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/increase_hover.png b/packages/renderer/src/assets/img/icon/increase_hover.png new file mode 100644 index 00000000..229f21ef Binary files /dev/null and b/packages/renderer/src/assets/img/icon/increase_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/lock.png b/packages/renderer/src/assets/img/icon/lock.png new file mode 100644 index 00000000..87a16509 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/lock.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/drug.png b/packages/renderer/src/assets/img/icon/menu/drug.png new file mode 100644 index 00000000..e8df484a Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/drug.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/drug_active.png b/packages/renderer/src/assets/img/icon/menu/drug_active.png new file mode 100644 index 00000000..2569f714 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/drug_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/drug_disabled.png b/packages/renderer/src/assets/img/icon/menu/drug_disabled.png new file mode 100644 index 00000000..774684e2 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/drug_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/drug_hover.png b/packages/renderer/src/assets/img/icon/menu/drug_hover.png new file mode 100644 index 00000000..531a9c07 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/drug_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/favourite.png b/packages/renderer/src/assets/img/icon/menu/favourite.png new file mode 100644 index 00000000..f7e2c291 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/favourite.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/favourite_active.png b/packages/renderer/src/assets/img/icon/menu/favourite_active.png new file mode 100644 index 00000000..fb937e41 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/favourite_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/favourite_disabled.png b/packages/renderer/src/assets/img/icon/menu/favourite_disabled.png new file mode 100644 index 00000000..d7cf31fa Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/favourite_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/favourite_hover.png b/packages/renderer/src/assets/img/icon/menu/favourite_hover.png new file mode 100644 index 00000000..8a64e13f Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/favourite_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/navigation.png b/packages/renderer/src/assets/img/icon/menu/navigation.png new file mode 100644 index 00000000..ac485e13 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/navigation.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/navigation_active.png b/packages/renderer/src/assets/img/icon/menu/navigation_active.png new file mode 100644 index 00000000..b69272ff Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/navigation_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/navigation_disabled.png b/packages/renderer/src/assets/img/icon/menu/navigation_disabled.png new file mode 100644 index 00000000..8745a813 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/navigation_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/navigation_hover.png b/packages/renderer/src/assets/img/icon/menu/navigation_hover.png new file mode 100644 index 00000000..b69272ff Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/navigation_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/recommend.png b/packages/renderer/src/assets/img/icon/menu/recommend.png new file mode 100644 index 00000000..2fa899c1 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/recommend.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/recommend_active.png b/packages/renderer/src/assets/img/icon/menu/recommend_active.png new file mode 100644 index 00000000..d0043f4f Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/recommend_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/recommend_disabled.png b/packages/renderer/src/assets/img/icon/menu/recommend_disabled.png new file mode 100644 index 00000000..7ff8023b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/recommend_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/recommend_hover.png b/packages/renderer/src/assets/img/icon/menu/recommend_hover.png new file mode 100644 index 00000000..e2982042 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/recommend_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/set.png b/packages/renderer/src/assets/img/icon/menu/set.png new file mode 100644 index 00000000..0bdabfce Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/set.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/set_active.png b/packages/renderer/src/assets/img/icon/menu/set_active.png new file mode 100644 index 00000000..09533703 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/set_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/set_disabled.png b/packages/renderer/src/assets/img/icon/menu/set_disabled.png new file mode 100644 index 00000000..db89768d Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/set_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/set_hover.png b/packages/renderer/src/assets/img/icon/menu/set_hover.png new file mode 100644 index 00000000..05840c04 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/set_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/specificity.png b/packages/renderer/src/assets/img/icon/menu/specificity.png new file mode 100644 index 00000000..1b613bce Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/specificity.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/specificity_active.png b/packages/renderer/src/assets/img/icon/menu/specificity_active.png new file mode 100644 index 00000000..5135c709 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/specificity_active.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/specificity_disabled.png b/packages/renderer/src/assets/img/icon/menu/specificity_disabled.png new file mode 100644 index 00000000..fc661420 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/specificity_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/menu/specificity_hover.png b/packages/renderer/src/assets/img/icon/menu/specificity_hover.png new file mode 100644 index 00000000..dff8481e Binary files /dev/null and b/packages/renderer/src/assets/img/icon/menu/specificity_hover.png differ diff --git a/ResourceFiles/img/UI/min.png b/packages/renderer/src/assets/img/icon/min.png similarity index 100% rename from ResourceFiles/img/UI/min.png rename to packages/renderer/src/assets/img/icon/min.png diff --git a/packages/renderer/src/assets/img/icon/next.png b/packages/renderer/src/assets/img/icon/next.png new file mode 100644 index 00000000..7c80c23a Binary files /dev/null and b/packages/renderer/src/assets/img/icon/next.png differ diff --git a/packages/renderer/src/assets/img/icon/next_active.png b/packages/renderer/src/assets/img/icon/next_active.png new file mode 100644 index 00000000..ad640ebd Binary files /dev/null and b/packages/renderer/src/assets/img/icon/next_active.png differ diff --git a/packages/renderer/src/assets/img/icon/next_disabled.png b/packages/renderer/src/assets/img/icon/next_disabled.png new file mode 100644 index 00000000..4d99a2bc Binary files /dev/null and b/packages/renderer/src/assets/img/icon/next_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/next_hover.png b/packages/renderer/src/assets/img/icon/next_hover.png new file mode 100644 index 00000000..345e47d1 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/next_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/plus.png b/packages/renderer/src/assets/img/icon/plus.png new file mode 100644 index 00000000..6d130140 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/plus.png differ diff --git a/packages/renderer/src/assets/img/icon/plus_active.png b/packages/renderer/src/assets/img/icon/plus_active.png new file mode 100644 index 00000000..9683da53 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/plus_active.png differ diff --git a/packages/renderer/src/assets/img/icon/plus_disabled.png b/packages/renderer/src/assets/img/icon/plus_disabled.png new file mode 100644 index 00000000..3ed8ee02 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/plus_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/plus_hover.png b/packages/renderer/src/assets/img/icon/plus_hover.png new file mode 100644 index 00000000..dd002ec1 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/plus_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/prev.png b/packages/renderer/src/assets/img/icon/prev.png new file mode 100644 index 00000000..653092c7 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/prev.png differ diff --git a/packages/renderer/src/assets/img/icon/prev_active.png b/packages/renderer/src/assets/img/icon/prev_active.png new file mode 100644 index 00000000..af559ae3 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/prev_active.png differ diff --git a/packages/renderer/src/assets/img/icon/prev_disabled.png b/packages/renderer/src/assets/img/icon/prev_disabled.png new file mode 100644 index 00000000..80224914 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/prev_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/prev_hover.png b/packages/renderer/src/assets/img/icon/prev_hover.png new file mode 100644 index 00000000..3cc8b662 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/prev_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/reduce.png b/packages/renderer/src/assets/img/icon/reduce.png new file mode 100644 index 00000000..bcbef41d Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reduce.png differ diff --git a/packages/renderer/src/assets/img/icon/reduce_active.png b/packages/renderer/src/assets/img/icon/reduce_active.png new file mode 100644 index 00000000..892ec066 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reduce_active.png differ diff --git a/packages/renderer/src/assets/img/icon/reduce_disabled.png b/packages/renderer/src/assets/img/icon/reduce_disabled.png new file mode 100644 index 00000000..286fbf88 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reduce_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/reduce_hover.png b/packages/renderer/src/assets/img/icon/reduce_hover.png new file mode 100644 index 00000000..761549ae Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reduce_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/reflesh.png b/packages/renderer/src/assets/img/icon/reflesh.png new file mode 100644 index 00000000..28b0c715 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reflesh.png differ diff --git a/packages/renderer/src/assets/img/icon/reflesh_active.png b/packages/renderer/src/assets/img/icon/reflesh_active.png new file mode 100644 index 00000000..3878fede Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reflesh_active.png differ diff --git a/packages/renderer/src/assets/img/icon/reflesh_disabled.png b/packages/renderer/src/assets/img/icon/reflesh_disabled.png new file mode 100644 index 00000000..65239d71 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reflesh_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/reflesh_hover.png b/packages/renderer/src/assets/img/icon/reflesh_hover.png new file mode 100644 index 00000000..4ec30490 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reflesh_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/reset.png b/packages/renderer/src/assets/img/icon/reset.png new file mode 100644 index 00000000..5963019a Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reset.png differ diff --git a/packages/renderer/src/assets/img/icon/reset_active.png b/packages/renderer/src/assets/img/icon/reset_active.png new file mode 100644 index 00000000..ed20405c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reset_active.png differ diff --git a/packages/renderer/src/assets/img/icon/reset_disabled.png b/packages/renderer/src/assets/img/icon/reset_disabled.png new file mode 100644 index 00000000..f9a1eff0 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reset_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/reset_hover.png b/packages/renderer/src/assets/img/icon/reset_hover.png new file mode 100644 index 00000000..f9aad4b3 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/reset_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/search.png b/packages/renderer/src/assets/img/icon/search.png new file mode 100644 index 00000000..30f7b0a4 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/search.png differ diff --git a/packages/renderer/src/assets/img/icon/search_active.png b/packages/renderer/src/assets/img/icon/search_active.png new file mode 100644 index 00000000..5d92deb2 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/search_active.png differ diff --git a/packages/renderer/src/assets/img/icon/search_disabled.png b/packages/renderer/src/assets/img/icon/search_disabled.png new file mode 100644 index 00000000..802fb28b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/search_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/search_hover.png b/packages/renderer/src/assets/img/icon/search_hover.png new file mode 100644 index 00000000..7653c52b Binary files /dev/null and b/packages/renderer/src/assets/img/icon/search_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/set.png b/packages/renderer/src/assets/img/icon/set.png new file mode 100644 index 00000000..c8b835e2 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/set.png differ diff --git a/packages/renderer/src/assets/img/icon/set_active.png b/packages/renderer/src/assets/img/icon/set_active.png new file mode 100644 index 00000000..e7ac646f Binary files /dev/null and b/packages/renderer/src/assets/img/icon/set_active.png differ diff --git a/packages/renderer/src/assets/img/icon/set_disabled.png b/packages/renderer/src/assets/img/icon/set_disabled.png new file mode 100644 index 00000000..50434bb4 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/set_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/set_hover.png b/packages/renderer/src/assets/img/icon/set_hover.png new file mode 100644 index 00000000..c25b597c Binary files /dev/null and b/packages/renderer/src/assets/img/icon/set_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/share.png b/packages/renderer/src/assets/img/icon/share.png new file mode 100644 index 00000000..d2a17ff5 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/share.png differ diff --git a/packages/renderer/src/assets/img/icon/share_active.png b/packages/renderer/src/assets/img/icon/share_active.png new file mode 100644 index 00000000..13c566bc Binary files /dev/null and b/packages/renderer/src/assets/img/icon/share_active.png differ diff --git a/packages/renderer/src/assets/img/icon/share_disabled.png b/packages/renderer/src/assets/img/icon/share_disabled.png new file mode 100644 index 00000000..44ca81e8 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/share_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/share_hover.png b/packages/renderer/src/assets/img/icon/share_hover.png new file mode 100644 index 00000000..fa6743d6 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/share_hover.png differ diff --git a/packages/renderer/src/assets/img/icon/switch.png b/packages/renderer/src/assets/img/icon/switch.png new file mode 100644 index 00000000..c40a81c5 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/switch.png differ diff --git a/ResourceFiles/Skins/DNFStyle/img/up.png b/packages/renderer/src/assets/img/icon/up.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/up.png rename to packages/renderer/src/assets/img/icon/up.png diff --git a/packages/renderer/src/assets/img/icon/update.png b/packages/renderer/src/assets/img/icon/update.png new file mode 100644 index 00000000..5964711f Binary files /dev/null and b/packages/renderer/src/assets/img/icon/update.png differ diff --git a/packages/renderer/src/assets/img/icon/update_active.png b/packages/renderer/src/assets/img/icon/update_active.png new file mode 100644 index 00000000..904c0cb0 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/update_active.png differ diff --git a/packages/renderer/src/assets/img/icon/update_disabled.png b/packages/renderer/src/assets/img/icon/update_disabled.png new file mode 100644 index 00000000..be6d9122 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/update_disabled.png differ diff --git a/packages/renderer/src/assets/img/icon/update_hover.png b/packages/renderer/src/assets/img/icon/update_hover.png new file mode 100644 index 00000000..79470b76 Binary files /dev/null and b/packages/renderer/src/assets/img/icon/update_hover.png differ diff --git a/packages/renderer/src/assets/img/rarity/传说.png b/packages/renderer/src/assets/img/rarity/传说.png new file mode 100644 index 00000000..4c0e1ffb Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/传说.png differ diff --git a/packages/renderer/src/assets/img/rarity/勇者.png b/packages/renderer/src/assets/img/rarity/勇者.png new file mode 100644 index 00000000..12fc8fae Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/勇者.png differ diff --git a/packages/renderer/src/assets/img/rarity/史诗.png b/packages/renderer/src/assets/img/rarity/史诗.png new file mode 100644 index 00000000..a6e3d841 Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/史诗.png differ diff --git a/packages/renderer/src/assets/img/rarity/太初.png b/packages/renderer/src/assets/img/rarity/太初.png new file mode 100644 index 00000000..9de55dc0 Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/太初.png differ diff --git a/packages/renderer/src/assets/img/rarity/神器.png b/packages/renderer/src/assets/img/rarity/神器.png new file mode 100644 index 00000000..a801aba1 Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/神器.png differ diff --git a/packages/renderer/src/assets/img/rarity/神话.png b/packages/renderer/src/assets/img/rarity/神话.png new file mode 100644 index 00000000..7db406f1 Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/神话.png differ diff --git a/packages/renderer/src/assets/img/rarity/稀有.png b/packages/renderer/src/assets/img/rarity/稀有.png new file mode 100644 index 00000000..e1e7a939 Binary files /dev/null and b/packages/renderer/src/assets/img/rarity/稀有.png differ diff --git a/packages/renderer/src/assets/img/share.png b/packages/renderer/src/assets/img/share.png new file mode 100644 index 00000000..4a1a73d7 Binary files /dev/null and b/packages/renderer/src/assets/img/share.png differ diff --git a/packages/renderer/src/assets/img/specificity/0.png b/packages/renderer/src/assets/img/specificity/0.png new file mode 100644 index 00000000..51499135 Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/0.png differ diff --git a/packages/renderer/src/assets/img/specificity/1.png b/packages/renderer/src/assets/img/specificity/1.png new file mode 100644 index 00000000..b3aee222 Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/1.png differ diff --git a/packages/renderer/src/assets/img/specificity/17.png b/packages/renderer/src/assets/img/specificity/17.png new file mode 100644 index 00000000..dbca368c Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/17.png differ diff --git a/packages/renderer/src/assets/img/specificity/2.png b/packages/renderer/src/assets/img/specificity/2.png new file mode 100644 index 00000000..60d961a5 Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/2.png differ diff --git a/packages/renderer/src/assets/img/specificity/3.png b/packages/renderer/src/assets/img/specificity/3.png new file mode 100644 index 00000000..135d13b0 Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/3.png differ diff --git a/packages/renderer/src/assets/img/specificity/lv.png b/packages/renderer/src/assets/img/specificity/lv.png new file mode 100644 index 00000000..98735a7c Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/lv.png differ diff --git a/packages/renderer/src/assets/img/specificity/lv_active.png b/packages/renderer/src/assets/img/specificity/lv_active.png new file mode 100644 index 00000000..f40269df Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/lv_active.png differ diff --git a/packages/renderer/src/assets/img/specificity/lv_master.png b/packages/renderer/src/assets/img/specificity/lv_master.png new file mode 100644 index 00000000..14deca3b Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/lv_master.png differ diff --git a/packages/renderer/src/assets/img/specificity/none.png b/packages/renderer/src/assets/img/specificity/none.png new file mode 100644 index 00000000..4d4d0e47 Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/none.png differ diff --git a/packages/renderer/src/assets/img/specificity/select.png b/packages/renderer/src/assets/img/specificity/select.png new file mode 100644 index 00000000..9b03f51e Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/select.png differ diff --git a/packages/renderer/src/assets/img/specificity/select_0.png b/packages/renderer/src/assets/img/specificity/select_0.png new file mode 100644 index 00000000..06a810fe Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/select_0.png differ diff --git a/packages/renderer/src/assets/img/specificity/select_1.png b/packages/renderer/src/assets/img/specificity/select_1.png new file mode 100644 index 00000000..9b03f51e Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/select_1.png differ diff --git a/packages/renderer/src/assets/img/specificity/system.png b/packages/renderer/src/assets/img/specificity/system.png new file mode 100644 index 00000000..a1dc845f Binary files /dev/null and b/packages/renderer/src/assets/img/specificity/system.png differ diff --git a/packages/renderer/src/assets/img/talisman.png b/packages/renderer/src/assets/img/talisman.png new file mode 100644 index 00000000..9ba3d9a0 Binary files /dev/null and b/packages/renderer/src/assets/img/talisman.png differ diff --git a/packages/renderer/src/assets/img/underline.png b/packages/renderer/src/assets/img/underline.png new file mode 100644 index 00000000..b876f525 Binary files /dev/null and b/packages/renderer/src/assets/img/underline.png differ diff --git a/packages/renderer/src/char-img-jpg.scss b/packages/renderer/src/char-img-jpg.scss new file mode 100644 index 00000000..b81e0245 --- /dev/null +++ b/packages/renderer/src/char-img-jpg.scss @@ -0,0 +1,265 @@ +// 极诣·剑魂 +.weapon_master { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg01_3.jpg) no-repeat; +} +// 极诣·鬼泣 +.soul_bender { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg02_3.jpg) no-repeat; +} +// 极诣·狂战士 +.berserker { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg03_3.jpg) no-repeat; +} +// 极诣·阿修罗 +.asura { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg04_3.jpg) no-repeat; +} +// 极诣·剑影 +.ghostblade { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg05_3.jpg) no-repeat; +} +// 极诣·驭剑士 +.sword_master { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg06_3.jpg) no-repeat; +} +// 极诣·暗殿骑士 +.dark_templar { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg09_3.jpg) no-repeat; +} +// 极诣·契魔者 +.demon_slayer { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg07_3.jpg) no-repeat; +} +// 极诣·流浪武士 +.vegabond { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg08_3.jpg) no-repeat; +} +// 极诣·刃影 +.spectre { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg62_3.jpg) no-repeat; +} +// 归元·气功师 +.nenmaster_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg10_3.jpg) no-repeat; +} +// 归元·散打 +.striker_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg11_3.jpg) no-repeat; +} +// 归元·街霸 +.brawler_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg12_3.jpg) no-repeat; +} +// 归元·柔道家 +.grappler_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg13_3.jpg) no-repeat; +} +// 归元·气功师 +.nenmaster_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg14_3.jpg) no-repeat; +} +// 归元·散打 +.striker_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg15_3.jpg) no-repeat; +} +// 归元·街霸 +.brawler_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg16_3.jpg) no-repeat; +} +// 归元·柔道家 +.grappler_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg17_3.jpg) no-repeat; +} +// 重霄·漫游枪手 +.ranger_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg18_3.jpg) no-repeat; +} +// 重霄·枪炮师 +.launcher_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg19_3.jpg) no-repeat; +} +// 重霄·机械师 +.mechanic_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg20_3.jpg) no-repeat; +} +// 重霄·弹药专家 +.spitfire_male { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg21_3.jpg) no-repeat; +} +// 重霄·合金战士 +.assault { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg63_3.jpg) no-repeat; +} +// 重霄·漫游枪手 +.ranger_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg22_3.jpg) no-repeat; +} +// 重霄·枪炮师 +.launcher_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg23_3.jpg) no-repeat; +} +// 重霄·机械师 +.mechanic_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg24_3.jpg) no-repeat; +} +// 重霄·弹药专家 +.spitfire_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg25_3.jpg) no-repeat; +} +// 知源·元素爆破师 +.elemental_bomber { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg26_3.jpg) no-repeat; +} +// 知源·冰结师 +.glacial_master { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg27_3.jpg) no-repeat; +} +// 知源·血法师 +.blood_mage { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg28_3.jpg) no-repeat; +} +// 知源·逐风者 +.swift_master { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg29_3.jpg) no-repeat; +} +// 知源·次元行者 +.dimension_walker { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg30_3.jpg) no-repeat; +} +// 知源·元素师 +.elementalist { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg31_3.jpg) no-repeat; +} +// 知源·召唤师 +.summoner { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg32_3.jpg) no-repeat; +} +// 知源·战斗法师 +.battle_mage { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg33_3.jpg) no-repeat; +} +// 知源·魔道学者 +.witch { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg34_3.jpg) no-repeat; +} +// 知源·小魔女 +.enchantress { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg35_3.jpg) no-repeat; +} +// 神启·圣骑士 +.crusader_male, +crusader_male_carry { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg36_3.jpg) no-repeat; +} +// 神启·蓝拳圣使 +.infighter { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg37_3.jpg) no-repeat; +} +// 神启·驱魔师 +.exorcist { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg38_3.jpg) no-repeat; +} +// 神启·复仇者 +.avenger { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg39_3.jpg) no-repeat; +} +// 神启·圣骑士 +.crusader_female { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg40_3.jpg) no-repeat; +} +// 神启·异端审判者 +.inquistor { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg41_3.jpg) no-repeat; +} +// 神启·巫女 +.sorceress { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg42_3.jpg) no-repeat; +} +// 神启·诱魔者 +.mistress { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg43_3.jpg) no-repeat; +} +// 隐夜·刺客 +.rogue { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg44_3.jpg) no-repeat; +} +// 隐夜·死灵术士 +.necro { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg45_3.jpg) no-repeat; +} +// 隐夜·忍者 +.kunoichi { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg46_3.jpg) no-repeat; +} +// 隐夜·影舞者 +.shadow_dancer { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg47_3.jpg) no-repeat; +} +// 皓曦·精灵骑士 +.elven_knight { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg48_3.jpg) no-repeat; +} +// 皓曦·混沌魔灵 +.chaos { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg49_3.jpg) no-repeat; +} +// 皓曦·帕拉丁 +.paladin { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg50_3.jpg) no-repeat; +} +// 皓曦·龙骑士 +.dragon_knight { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg51_3.jpg) no-repeat; +} +// 千魂·征战者 +.vanguard { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg52_3.jpg) no-repeat; +} +// 千魂·决战者 +.skirmisher { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg53_3.jpg) no-repeat; +} +// 千魂·狩猎者 +.dragoon { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg54_3.jpg) no-repeat; +} +// 千魂·暗枪士 +.impaler { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg55_3.jpg) no-repeat; +} +// 苍暮·暗刃 +.hitman { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg58_3.jpg) no-repeat; +} +// 苍暮·特工 +.agent { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg56_3.jpg) no-repeat; +} +// 苍暮·战线佣兵 +.trouble_shooter { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg57_3.jpg) no-repeat; +} +// 苍暮·源能专家 +.specialist { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg59_3.jpg) no-repeat; +} +.muse { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg64_3.jpg) no-repeat; +} +.traveler { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg65_3.jpg) no-repeat; +} +.hunter { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg66_3.jpg) no-repeat; +} +.vigilante { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg67_3.jpg) no-repeat; +} +// 知源·缔造者 +.creator { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg61_3.jpg) no-repeat; +} +// 极诣·黑暗武士 +.dark_knight { + background: url(//cdn.df.nexon.com/img/char_info/bg/bg60_3.jpg) no-repeat; +} diff --git a/packages/renderer/src/char-img.scss b/packages/renderer/src/char-img.scss new file mode 100644 index 00000000..0e9cd922 --- /dev/null +++ b/packages/renderer/src/char-img.scss @@ -0,0 +1,338 @@ +// 极诣·剑魂 +.weapon_master { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_01_01.png) no-repeat; +} + +// 极诣·鬼泣 +.soul_bender { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_01_02.png) no-repeat; +} + +// 极诣·狂战士 +.berserker { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_01_03.png) no-repeat; +} + +// 极诣·阿修罗 +.asura { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_01_04.png) no-repeat; +} + +// 极诣·剑影 +.ghostblade { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_01_05.png) no-repeat; +} + +// 极诣·驭剑士 +.sword_master { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_02_01.png) no-repeat; +} + +// 极诣·暗殿骑士 +.dark_templar { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_02_04.png) no-repeat; +} + +// 极诣·契魔者 +.demon_slayer { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_02_02.png) no-repeat; + +} + +// 极诣·流浪武士 +.vegabond { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_02_03.png) no-repeat; + +} + +// 极诣·刃影 +.spectre { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_02_05.png) no-repeat; +} + +// 归元·气功师 +.nenmaster_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_03_01.png) no-repeat; +} + +// 归元·散打 +.striker_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_03_02.png) no-repeat; +} + +// 归元·街霸 +.brawler_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_03_03.png) no-repeat; +} + +// 归元·柔道家 +.grappler_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_03_04.png) no-repeat; +} + +// 归元·气功师 +.nenmaster_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_04_01.png) no-repeat; +} + +// 归元·散打 +.striker_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_04_02.png) no-repeat; +} + +// 归元·街霸 +.brawler_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_04_03.png) no-repeat; +} + +// 归元·柔道家 +.grappler_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_04_04.png) no-repeat; +} + +// 重霄·漫游枪手 +.ranger_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_05_01.png) no-repeat; +} + +// 重霄·枪炮师 +.launcher_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_05_02.png) no-repeat; +} + +// 重霄·机械师 +.mechanic_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_05_03.png) no-repeat; +} + +// 重霄·弹药专家 +.spitfire_male { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_05_04.png) no-repeat; +} + +// 重霄·合金战士 +.assault { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_05_05.png) no-repeat; +} + +// 重霄·漫游枪手 +.ranger_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_06_01.png) no-repeat; +} + +// 重霄·枪炮师 +.launcher_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_06_02.png) no-repeat; +} + +// 重霄·机械师 +.mechanic_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_06_03.png) no-repeat; +} + +// 重霄·弹药专家 +.spitfire_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_06_04.png) no-repeat; +} + +// 知源·元素爆破师 +.elemental_bomber { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_07_01.png) no-repeat; +} + +// 知源·冰结师 +.glacial_master { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_07_02.png) no-repeat; +} + +// 知源·血法师 +.blood_mage { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_07_03.png) no-repeat; +} + +// 知源·逐风者 +.swift_master { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_07_04.png) no-repeat; +} + +// 知源·次元行者 +.dimension_walker { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_07_05.png) no-repeat; +} + +// 知源·元素师 +.elementalist { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_08_01.png) no-repeat; +} + +// 知源·召唤师 +.summoner { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_08_02.png) no-repeat; +} + +// 知源·战斗法师 +.battle_mage { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_08_03.png) no-repeat; +} + +// 知源·魔道学者 +.witch { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_08_04.png) no-repeat; +} + +// 知源·小魔女 +.enchantress, +.enchantress_carry { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_08_05.png) no-repeat; +} + +// 神启·圣骑士 +.crusader_male, +.crusader_male_carry { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_09_01.png) no-repeat; +} + +// 神启·蓝拳圣使 +.infighter { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_09_02.png) no-repeat; +} + +// 神启·驱魔师 +.exorcist { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_09_03.png) no-repeat; +} + +// 神启·复仇者 +.avenger { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_09_04.png) no-repeat; +} + +// 神启·圣骑士 +.crusader_female { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_10_01.png) no-repeat; +} + +// 神启·异端审判者 +.inquistor { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_10_02.png) no-repeat; +} + +// 神启·巫女 +.sorceress { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_10_03.png) no-repeat; +} + +// 神启·诱魔者 +.mistress { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_10_04.png) no-repeat; +} + +// 隐夜·刺客 +.rogue { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_11_01.png) no-repeat; +} + +// 隐夜·死灵术士 +.necro { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_11_02.png) no-repeat; +} + +// 隐夜·忍者 +.kunoichi { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_11_03.png) no-repeat; +} + +// 隐夜·影舞者 +.shadow_dancer { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_11_04.png) no-repeat; +} + +// 皓曦·精灵骑士 +.elven_knight { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_12_01.png) no-repeat; +} + +// 皓曦·混沌魔灵 +.chaos { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_12_02.png) no-repeat; +} + +// 皓曦·帕拉丁 +.paladin { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_12_03.png) no-repeat; +} + +// 皓曦·龙骑士 +.dragon_knight { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_12_04.png) no-repeat; +} + +// 千魂·征战者 +.vanguard { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_13_01.png) no-repeat; +} + +// 千魂·决战者 +.skirmisher { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_13_02.png) no-repeat; +} + +// 千魂·狩猎者 +.dragoon { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_13_03.png) no-repeat; +} + +// 千魂·暗枪士 +.impaler { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_13_04.png) no-repeat; +} + +// 苍暮·暗刃 +.hitman { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_14_03.png) no-repeat; +} + +// 苍暮·特工 +.agent { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_14_01.png) no-repeat; +} + +// 苍暮·战线佣兵 +.trouble_shooter { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_14_02.png) no-repeat; +} + +// 苍暮·源能专家 +.specialist { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_14_04.png) no-repeat; +} + +// 极诣·黑暗武士 +.dark_knight { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_15_01.png) no-repeat; +} + +// 知源·缔造者 +.creator { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_16_01.png) no-repeat; +} + +// 聆风·缪斯 +.muse { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_17_01.png) no-repeat; +} + +// 聆风·旅人 +.traveler { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_17_02.png) no-repeat; +} + +// 聆风·猎人 +.hunter { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_17_03.png) no-repeat; +} + +// 聆风·妖护使 +.vigilante { + background: url(https://bbscdn.df.nexon.com/pg/characters/img/main/mc_17_04.png) no-repeat; +} diff --git a/packages/renderer/src/components/base/README b/packages/renderer/src/components/base/README new file mode 100644 index 00000000..240cca2d --- /dev/null +++ b/packages/renderer/src/components/base/README @@ -0,0 +1 @@ +无样式的基础组件 \ No newline at end of file diff --git a/packages/renderer/src/components/base/index.ts b/packages/renderer/src/components/base/index.ts new file mode 100644 index 00000000..a6ff8e66 --- /dev/null +++ b/packages/renderer/src/components/base/index.ts @@ -0,0 +1 @@ +export { default as NTooltip } from "./tooltip" diff --git a/packages/renderer/src/components/base/tooltip.tsx b/packages/renderer/src/components/base/tooltip.tsx new file mode 100644 index 00000000..97a969a5 --- /dev/null +++ b/packages/renderer/src/components/base/tooltip.tsx @@ -0,0 +1,150 @@ +import { syncRefs, useVModel } from "@vueuse/core" +import type { CSSProperties, PropType } from "vue"; +import { Teleport, Transition, computed, defineComponent, nextTick, reactive, ref, renderSlot, watch } from "vue" +import { provideShow } from "../hooks/show" + +export const tooltipProps = { + popClass: { + type: String + }, + position: { + type: String as PropType<"bottom" | "top" | "left" | "right" | "auto">, + default: () => "auto" + }, + offset: { + type: Number, + default: () => 8 + }, + lazy: { + type: Boolean, + default: () => false + }, + visible: { + type: Boolean, + default: () => false + }, + disabled: { + type: Boolean, + default: () => false + } +} + +export default defineComponent({ + name: "ITooltip", + props: tooltipProps, + emits: ["change", "update:visible"], + setup(props, { slots, emit }) { + const isOpen = ref(props.visible) + + syncRefs(useVModel(props, "visible"), isOpen) + + provideShow(isOpen) + + let timer: NodeJS.Timeout + + const triggerRef = ref() + const popupRef = ref() + + const dropdownPosition = reactive({ x: 0, y: 0 }) + + const isShow = computed(() => isOpen.value && triggerRef.value && popupRef.value && dropdownPosition.x + dropdownPosition.y > 0) + + const dropdownStyle = computed(() => { + return { + left: `${dropdownPosition.x}px`, + top: `${dropdownPosition.y}px`, + visibility: isShow.value ? "visible" : "hidden" + } + }) + + const mounted = ref(false) + + function onMouseover() { + if (props.disabled) { + return + } + timer = setTimeout( + () => { + isOpen.value = true + emit("change", true) + }, + props.lazy ? 800 : 100 + ) + } + + function onMouseout() { + if (props.disabled) { + return + } + clearTimeout(timer) + isOpen.value = false + emit("change", false) + } + + function resize() { + const trigger = triggerRef.value + const popup = popupRef.value + + if (!!trigger && !!popup) { + const { width, height, left, top } = trigger.getBoundingClientRect() + + const { clientWidth: pWidth, clientHeight: pHeight } = popup + + let x = 0 + let y = 0 + + const offset = props.offset + + switch (props.position) { + case "auto": + case "bottom": + x = left + width / 2 + y = top + height + offset + break + case "top": + x = left + y = top - pHeight - offset + break + case "left": + x = left - pWidth - offset + y = top + break + case "right": + x = left + width + offset + y = top + break + } + if (props.position == "auto") { + x = window.innerWidth - x > 500 ? x + 20 : x - 20 - 310 + y = window.innerHeight - y > popup.offsetHeight + 50 ? y : window.innerHeight - (popup.offsetHeight + 50) + } + dropdownPosition.x = x + dropdownPosition.y = y + } + } + + watch(isOpen, val => { + if (val) { + mounted.value = true + } + nextTick(resize) + }) + + return () => { + return ( +
    + {renderSlot(slots, "default")} + + + {mounted.value && !props.disabled && ( +
    + {renderSlot(slots, "popper")} +
    + )} +
    +
    +
    + ) + } + } +}) diff --git a/packages/renderer/src/components/calc/README b/packages/renderer/src/components/calc/README new file mode 100644 index 00000000..782a9261 --- /dev/null +++ b/packages/renderer/src/components/calc/README @@ -0,0 +1 @@ +DNF风格定制组件 \ No newline at end of file diff --git a/packages/renderer/src/components/calc/action-dialog/index.vue b/packages/renderer/src/components/calc/action-dialog/index.vue new file mode 100644 index 00000000..d7b89b49 --- /dev/null +++ b/packages/renderer/src/components/calc/action-dialog/index.vue @@ -0,0 +1,206 @@ + + + diff --git a/packages/renderer/src/components/calc/autocomplete/index.vue b/packages/renderer/src/components/calc/autocomplete/index.vue new file mode 100644 index 00000000..72b2ab0b --- /dev/null +++ b/packages/renderer/src/components/calc/autocomplete/index.vue @@ -0,0 +1,222 @@ + + + diff --git a/packages/renderer/src/components/calc/button/index.vue b/packages/renderer/src/components/calc/button/index.vue new file mode 100644 index 00000000..4a0bae9b --- /dev/null +++ b/packages/renderer/src/components/calc/button/index.vue @@ -0,0 +1,100 @@ + + + diff --git a/ResourceFiles/img/UI/down.png b/packages/renderer/src/components/calc/cascader/img/down.png similarity index 100% rename from ResourceFiles/img/UI/down.png rename to packages/renderer/src/components/calc/cascader/img/down.png diff --git a/packages/renderer/src/components/calc/cascader/img/img/down.png b/packages/renderer/src/components/calc/cascader/img/img/down.png new file mode 100644 index 00000000..4861b24f Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/img/down.png differ diff --git a/ResourceFiles/Skins/DNFStyle/img/select_down.png b/packages/renderer/src/components/calc/cascader/img/img/select_down.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/select_down.png rename to packages/renderer/src/components/calc/cascader/img/img/select_down.png diff --git a/packages/renderer/src/components/calc/cascader/img/img/select_down_clicked.png b/packages/renderer/src/components/calc/cascader/img/img/select_down_clicked.png new file mode 100644 index 00000000..a51fbeb7 Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/img/select_down_clicked.png differ diff --git a/ResourceFiles/Skins/DNFStyle/img/select_down_disabled.png b/packages/renderer/src/components/calc/cascader/img/img/select_down_disabled.png similarity index 100% rename from ResourceFiles/Skins/DNFStyle/img/select_down_disabled.png rename to packages/renderer/src/components/calc/cascader/img/img/select_down_disabled.png diff --git a/ResourceFiles/img/UI/up.png b/packages/renderer/src/components/calc/cascader/img/img/up.png similarity index 100% rename from ResourceFiles/img/UI/up.png rename to packages/renderer/src/components/calc/cascader/img/img/up.png diff --git a/packages/renderer/src/components/calc/cascader/img/select_down.png b/packages/renderer/src/components/calc/cascader/img/select_down.png new file mode 100644 index 00000000..450ba106 Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/select_down.png differ diff --git a/packages/renderer/src/components/calc/cascader/img/select_down_clicked.png b/packages/renderer/src/components/calc/cascader/img/select_down_clicked.png new file mode 100644 index 00000000..a51fbeb7 Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/select_down_clicked.png differ diff --git a/packages/renderer/src/components/calc/cascader/img/select_down_disabled.png b/packages/renderer/src/components/calc/cascader/img/select_down_disabled.png new file mode 100644 index 00000000..c8d948ea Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/select_down_disabled.png differ diff --git a/packages/renderer/src/components/calc/cascader/img/up.png b/packages/renderer/src/components/calc/cascader/img/up.png new file mode 100644 index 00000000..b017add4 Binary files /dev/null and b/packages/renderer/src/components/calc/cascader/img/up.png differ diff --git a/packages/renderer/src/components/calc/cascader/index.vue b/packages/renderer/src/components/calc/cascader/index.vue new file mode 100644 index 00000000..ad9744d5 --- /dev/null +++ b/packages/renderer/src/components/calc/cascader/index.vue @@ -0,0 +1,271 @@ + + + diff --git a/packages/renderer/src/components/calc/checkbox-group/index.vue b/packages/renderer/src/components/calc/checkbox-group/index.vue new file mode 100644 index 00000000..0fd92385 --- /dev/null +++ b/packages/renderer/src/components/calc/checkbox-group/index.vue @@ -0,0 +1,73 @@ + + + diff --git a/packages/renderer/src/components/calc/checkbox/index.vue b/packages/renderer/src/components/calc/checkbox/index.vue new file mode 100644 index 00000000..73164f2b --- /dev/null +++ b/packages/renderer/src/components/calc/checkbox/index.vue @@ -0,0 +1,211 @@ + + + diff --git a/packages/renderer/src/components/calc/collapse/index.vue b/packages/renderer/src/components/calc/collapse/index.vue new file mode 100644 index 00000000..b99920ea --- /dev/null +++ b/packages/renderer/src/components/calc/collapse/index.vue @@ -0,0 +1,33 @@ + diff --git a/packages/renderer/src/components/calc/dialog/index.vue b/packages/renderer/src/components/calc/dialog/index.vue new file mode 100644 index 00000000..6d88712b --- /dev/null +++ b/packages/renderer/src/components/calc/dialog/index.vue @@ -0,0 +1,170 @@ + + + diff --git a/packages/renderer/src/components/calc/iconselect/index.vue b/packages/renderer/src/components/calc/iconselect/index.vue new file mode 100644 index 00000000..c60d6ccc --- /dev/null +++ b/packages/renderer/src/components/calc/iconselect/index.vue @@ -0,0 +1,242 @@ + + + diff --git a/packages/renderer/src/components/calc/index.ts b/packages/renderer/src/components/calc/index.ts new file mode 100644 index 00000000..8a4a97a6 --- /dev/null +++ b/packages/renderer/src/components/calc/index.ts @@ -0,0 +1,39 @@ +import type { App } from "vue" +import Button from "./button/index.vue" +import Tabs from "./tabs/index.vue" +import Tab from "./tab.vue" +import Select from "./select/index.vue" +import Option from "./option/index.vue" +import Menu from "./menu/menu.vue" +import Checkbox from "./checkbox/index.vue" +import Collapse from "./collapse/index.vue" +import Dialog from "./dialog/index.vue" +import Tooltip from "./tooltip/index.vue" +import Iconselct from "./iconselct/index.vue" +import Selection from "./selection/index.vue" + + +export const components = { + Button, + Tabs, + Option, + Tab, + Select, + Menu, + Checkbox, + Collapse, + Dialog, + Tooltip, + Iconselct, + Selection +} + +export type CalcComponents = typeof components + +export function install(app: App) { + for (const [key, value] of Object.entries(components)) { + app.component(`calc-${key.toLocaleLowerCase()}`, value) + } +} + +export default components diff --git a/packages/renderer/src/components/calc/input/index.vue b/packages/renderer/src/components/calc/input/index.vue new file mode 100644 index 00000000..40a497fb --- /dev/null +++ b/packages/renderer/src/components/calc/input/index.vue @@ -0,0 +1,44 @@ + + + diff --git a/packages/renderer/src/components/calc/item/index.vue b/packages/renderer/src/components/calc/item/index.vue new file mode 100644 index 00000000..d807fbc1 --- /dev/null +++ b/packages/renderer/src/components/calc/item/index.vue @@ -0,0 +1,4 @@ + diff --git a/packages/renderer/src/components/calc/loading/index.vue b/packages/renderer/src/components/calc/loading/index.vue new file mode 100644 index 00000000..b327b18f --- /dev/null +++ b/packages/renderer/src/components/calc/loading/index.vue @@ -0,0 +1,69 @@ + + + diff --git a/packages/renderer/src/components/calc/menu/img/plus.svg b/packages/renderer/src/components/calc/menu/img/plus.svg new file mode 100644 index 00000000..f92ba0fd --- /dev/null +++ b/packages/renderer/src/components/calc/menu/img/plus.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/renderer/src/components/calc/menu/menu.vue b/packages/renderer/src/components/calc/menu/menu.vue new file mode 100644 index 00000000..048324fb --- /dev/null +++ b/packages/renderer/src/components/calc/menu/menu.vue @@ -0,0 +1,71 @@ + + + diff --git a/packages/renderer/src/components/calc/option/index.vue b/packages/renderer/src/components/calc/option/index.vue new file mode 100644 index 00000000..d807fbc1 --- /dev/null +++ b/packages/renderer/src/components/calc/option/index.vue @@ -0,0 +1,4 @@ + diff --git a/packages/renderer/src/components/calc/pagination/index.vue b/packages/renderer/src/components/calc/pagination/index.vue new file mode 100644 index 00000000..d3a5173a --- /dev/null +++ b/packages/renderer/src/components/calc/pagination/index.vue @@ -0,0 +1,86 @@ + + + diff --git a/packages/renderer/src/components/calc/progress/index.vue b/packages/renderer/src/components/calc/progress/index.vue new file mode 100644 index 00000000..64b902d1 --- /dev/null +++ b/packages/renderer/src/components/calc/progress/index.vue @@ -0,0 +1,39 @@ + + + diff --git a/packages/renderer/src/components/calc/select/img/down.png b/packages/renderer/src/components/calc/select/img/down.png new file mode 100644 index 00000000..4861b24f Binary files /dev/null and b/packages/renderer/src/components/calc/select/img/down.png differ diff --git a/packages/renderer/src/components/calc/select/img/select_down.png b/packages/renderer/src/components/calc/select/img/select_down.png new file mode 100644 index 00000000..450ba106 Binary files /dev/null and b/packages/renderer/src/components/calc/select/img/select_down.png differ diff --git a/packages/renderer/src/components/calc/select/img/select_down_clicked.png b/packages/renderer/src/components/calc/select/img/select_down_clicked.png new file mode 100644 index 00000000..a51fbeb7 Binary files /dev/null and b/packages/renderer/src/components/calc/select/img/select_down_clicked.png differ diff --git a/packages/renderer/src/components/calc/select/img/select_down_disabled.png b/packages/renderer/src/components/calc/select/img/select_down_disabled.png new file mode 100644 index 00000000..c8d948ea Binary files /dev/null and b/packages/renderer/src/components/calc/select/img/select_down_disabled.png differ diff --git a/packages/renderer/src/components/calc/select/img/up.png b/packages/renderer/src/components/calc/select/img/up.png new file mode 100644 index 00000000..b017add4 Binary files /dev/null and b/packages/renderer/src/components/calc/select/img/up.png differ diff --git a/packages/renderer/src/components/calc/select/index.vue b/packages/renderer/src/components/calc/select/index.vue new file mode 100644 index 00000000..8cb45d8d --- /dev/null +++ b/packages/renderer/src/components/calc/select/index.vue @@ -0,0 +1,304 @@ + + + diff --git a/packages/renderer/src/components/calc/selection/index.vue b/packages/renderer/src/components/calc/selection/index.vue new file mode 100644 index 00000000..2d16b51b --- /dev/null +++ b/packages/renderer/src/components/calc/selection/index.vue @@ -0,0 +1,5 @@ + diff --git a/packages/renderer/src/components/calc/shared.ts b/packages/renderer/src/components/calc/shared.ts new file mode 100644 index 00000000..acb9ff67 --- /dev/null +++ b/packages/renderer/src/components/calc/shared.ts @@ -0,0 +1,3 @@ +import type { InjectionKey } from "vue"; + +export const CHECKBOX_GROUP: InjectionKey = Symbol("checkbox-group") diff --git a/packages/renderer/src/components/calc/tab/index.vue b/packages/renderer/src/components/calc/tab/index.vue new file mode 100644 index 00000000..79e5bcfd --- /dev/null +++ b/packages/renderer/src/components/calc/tab/index.vue @@ -0,0 +1,16 @@ + diff --git a/packages/renderer/src/components/calc/tabs/constants.ts b/packages/renderer/src/components/calc/tabs/constants.ts new file mode 100644 index 00000000..dc06fe9f --- /dev/null +++ b/packages/renderer/src/components/calc/tabs/constants.ts @@ -0,0 +1,5 @@ +export const AciveSymbol = Symbol("[i-tabs]active") + +export const AciveClassSymbol = Symbol("[i-tabs]active-class") + +export const ChangeActiveSymbol = Symbol("[i-tabs]change-active") diff --git a/packages/renderer/src/components/calc/tabs/index.vue b/packages/renderer/src/components/calc/tabs/index.vue new file mode 100644 index 00000000..a6d82cbc --- /dev/null +++ b/packages/renderer/src/components/calc/tabs/index.vue @@ -0,0 +1,123 @@ + + + diff --git a/packages/renderer/src/components/calc/tooltip/index.vue b/packages/renderer/src/components/calc/tooltip/index.vue new file mode 100644 index 00000000..2174da11 --- /dev/null +++ b/packages/renderer/src/components/calc/tooltip/index.vue @@ -0,0 +1,25 @@ + + + diff --git a/packages/renderer/src/components/calc/tree/img/collapse_down.png b/packages/renderer/src/components/calc/tree/img/collapse_down.png new file mode 100644 index 00000000..bba85eac Binary files /dev/null and b/packages/renderer/src/components/calc/tree/img/collapse_down.png differ diff --git a/packages/renderer/src/components/calc/tree/img/collapse_up.png b/packages/renderer/src/components/calc/tree/img/collapse_up.png new file mode 100644 index 00000000..9d4c0296 Binary files /dev/null and b/packages/renderer/src/components/calc/tree/img/collapse_up.png differ diff --git a/packages/renderer/src/components/calc/tree/img/dictionary_line.png b/packages/renderer/src/components/calc/tree/img/dictionary_line.png new file mode 100644 index 00000000..1dd4cfd9 Binary files /dev/null and b/packages/renderer/src/components/calc/tree/img/dictionary_line.png differ diff --git a/packages/renderer/src/components/calc/tree/img/item_active.png b/packages/renderer/src/components/calc/tree/img/item_active.png new file mode 100644 index 00000000..50d3f93e Binary files /dev/null and b/packages/renderer/src/components/calc/tree/img/item_active.png differ diff --git a/packages/renderer/src/components/calc/tree/img/item_hover.png b/packages/renderer/src/components/calc/tree/img/item_hover.png new file mode 100644 index 00000000..3c0e1484 Binary files /dev/null and b/packages/renderer/src/components/calc/tree/img/item_hover.png differ diff --git a/packages/renderer/src/components/calc/tree/index.vue b/packages/renderer/src/components/calc/tree/index.vue new file mode 100644 index 00000000..20f933c3 --- /dev/null +++ b/packages/renderer/src/components/calc/tree/index.vue @@ -0,0 +1,92 @@ + + + diff --git a/packages/renderer/src/components/calc/tree/node.vue b/packages/renderer/src/components/calc/tree/node.vue new file mode 100644 index 00000000..c8b7ba8e --- /dev/null +++ b/packages/renderer/src/components/calc/tree/node.vue @@ -0,0 +1,159 @@ + + + diff --git a/packages/renderer/src/components/calc/tree/types.ts b/packages/renderer/src/components/calc/tree/types.ts new file mode 100644 index 00000000..554d618d --- /dev/null +++ b/packages/renderer/src/components/calc/tree/types.ts @@ -0,0 +1,10 @@ +export interface TreeNode { + label: string + id?: string | number + value?: any + children?: TreeNode[] + onSelect?: () => void + [key: string]: any +} + +export interface TreeData {} diff --git a/packages/renderer/src/components/hooks/README b/packages/renderer/src/components/hooks/README new file mode 100644 index 00000000..ad05ab2b --- /dev/null +++ b/packages/renderer/src/components/hooks/README @@ -0,0 +1 @@ +通用的函数式组件 \ No newline at end of file diff --git a/packages/renderer/src/components/hooks/dialog.ts b/packages/renderer/src/components/hooks/dialog.ts new file mode 100644 index 00000000..ecb90c11 --- /dev/null +++ b/packages/renderer/src/components/hooks/dialog.ts @@ -0,0 +1,193 @@ +import { h, reactive, renderList } from "vue" +import { createSharedComposable } from "@vueuse/core" +import ActionDialog from "@/components/calc/action-dialog/index.vue" + +export type ConfirmDialogOption = Omit +export type AlertDialogOption = Omit +export type ElementLike = JSX.Element | string | ElementLike[] + +function randomId() { + return Symbol(Math.random().toString(36).slice(2, 9)) +} + +type DialogID = string | number | symbol + +export interface ShowDialogOption { + id?: DialogID + /** + * 标题 + */ + header?: string | boolean + /** + * 内容插槽 + */ + content?: (() => ElementLike) | ElementLike + /** + * 操作区插槽 + */ + action?: (() => ElementLike) | ElementLike + + cache?: boolean + + /** + * 超时自动关闭 + */ + timeout?: number + + /** + * 关闭时的延迟动画 + */ + duration?: number + + /** + * 确定按钮文本 为false时不显示 + */ + okButton?: string | boolean + /** + * 取消按钮文本 为false时不显示 + */ + cancelButton?: string | boolean + /** + * 拒绝按钮文本 为false时不显示 + */ + rejectButton?: string | boolean + + // 默认状态 + defaultStatus?: DialogResult["status"] + + mask?: boolean + + scale?: number +} + +export interface DialogInstance { + id?: DialogID + visible: boolean + render: (visible?: boolean) => ElementLike + resolve: (result: DialogResult) => void +} + +export interface DialogResult { + id: DialogID + status: "ok" | "reject" | "cancel" | "none" + data?: any + readonly isOk: boolean + readonly isCancel: boolean + readonly isReject: boolean +} + +export const useDialog = createSharedComposable(() => { + const dialogs = reactive(new Map()) + + // 注册窗口 + function open(dialog: DialogInstance) { + const id = dialog.id ?? randomId() + dialogs.set(id, dialog) + return id + } + + function close(id: DialogID, status = "cancel", duration = 400) { + const dialog = dialogs.get(id) + if (!dialog) { + return + } + dialog.resolve({ + id, + status: "ok", + get isOk() { + return status == "ok" + }, + get isCancel() { + return status == "cancel" + }, + get isReject() { + return status == "reject" + } + }) + dialog.visible = false + const fn = () => dialogs.delete(id) + if (duration > 0) { + setTimeout(fn, duration) + } else { + fn() + } + } + + function render() { + return renderList(dialogs.values(), e => e.render(e.visible)) + } + + async function show(option: ShowDialogOption = {}) { + return new Promise(resolve => { + const { id = randomId(), header = true, content, action, timeout, okButton = false, cancelButton = false, rejectButton = false, defaultStatus = "none", duration = 400, mask = false, scale = 1.0 } = option + + const onClose = (status: DialogResult["status"] = defaultStatus) => { + close(id, status, duration) + } + + open({ + id, + visible: true, + resolve, + render(visible = true) { + return h( + ActionDialog, + { + header, + okButton, + cancelButton, + rejectButton, + visible, + onClose, + mask, + scale + }, + { + default() { + switch (typeof content) { + case "function": + return content() + case "string": + return h("div", { class: "w-full justify-center text-hex-d4d6b6 text-center", style: "margin:10px" }, content) + default: + return content + } + }, + action: typeof action == "function" || !action ? action : () => action + } + ) + } + }) + + if (timeout) { + setTimeout(onClose, timeout) + } + }) + } + + async function alert(option: AlertDialogOption = {}) { + return show({ + ...option, + defaultStatus: "ok", + okButton: true, + cancelButton: false + }) + } + + async function confirm(option: ConfirmDialogOption = {}) { + return show({ + ...option, + defaultStatus: "cancel", + okButton: true, + cancelButton: true + }) + } + return { + confirm, + alert, + render, + show, + close, + randomId + } +}) diff --git a/packages/renderer/src/components/hooks/show.ts b/packages/renderer/src/components/hooks/show.ts new file mode 100644 index 00000000..f7fb6c62 --- /dev/null +++ b/packages/renderer/src/components/hooks/show.ts @@ -0,0 +1,29 @@ +import type { Fn } from "@vueuse/core" +import type { InjectionKey, Ref } from "vue"; +import { inject, provide, ref, watch } from "vue" + +const IsOpenSymbol: InjectionKey> = Symbol("is-open") + +export function isShow() { + return inject(IsOpenSymbol, ref(false)) +} + +interface OnShowOption { + immediate?: boolean +} + +export function onShow(fn: Fn, { immediate = false }: OnShowOption = {}) { + return watch( + isShow(), + val => { + if (val) { + fn() + } + }, + { immediate } + ) +} + +export function provideShow(ref: Ref) { + provide(IsOpenSymbol, ref) +} diff --git a/packages/renderer/src/components/hooks/types.ts b/packages/renderer/src/components/hooks/types.ts new file mode 100644 index 00000000..6c837061 --- /dev/null +++ b/packages/renderer/src/components/hooks/types.ts @@ -0,0 +1,11 @@ +import type { PropType } from "vue" + +export type ClassType = string | string[] + +export type BaseType = string | number | boolean | object | symbol | undefined + +export const valuePropType = [String, Number, Object, Boolean, Array] as PropType + +export const classPropType = [String, Array] as PropType + +export const labelPropType = [String, Function] as PropType string) | null> diff --git a/packages/renderer/src/components/internal/README b/packages/renderer/src/components/internal/README new file mode 100644 index 00000000..5d66ef0f --- /dev/null +++ b/packages/renderer/src/components/internal/README @@ -0,0 +1 @@ +业务组件 \ No newline at end of file diff --git a/packages/renderer/src/components/internal/equip/eq-icon-tips.vue b/packages/renderer/src/components/internal/equip/eq-icon-tips.vue new file mode 100644 index 00000000..9a44e012 --- /dev/null +++ b/packages/renderer/src/components/internal/equip/eq-icon-tips.vue @@ -0,0 +1,114 @@ + + + + + diff --git a/packages/renderer/src/components/internal/equip/eq-icon.vue b/packages/renderer/src/components/internal/equip/eq-icon.vue new file mode 100644 index 00000000..ea3f1692 --- /dev/null +++ b/packages/renderer/src/components/internal/equip/eq-icon.vue @@ -0,0 +1,300 @@ + + + diff --git a/packages/renderer/src/components/internal/equip/eq-info.scss b/packages/renderer/src/components/internal/equip/eq-info.scss new file mode 100644 index 00000000..61d58660 --- /dev/null +++ b/packages/renderer/src/components/internal/equip/eq-info.scss @@ -0,0 +1,285 @@ +.approved-form { + line-height: 16px; + text-align: left; + display: inline-block; + // background-color: #000; + padding: 10px 13px 10px 10px; + color: #b1a785; + position: relative; + z-index: 5; + width: 270px; + // font-size: 12px; + + &.with-colums { + -webkit-columns: 260px auto; + -moz-columns: 260px auto; + columns: 260px auto; + max-height: 600px; + + column-gap: 5px; + + > * { + max-width: 260px; + padding: 0 15px; + background-color: rgba($color: #000000, $alpha: 0.92); + // width: 315px; + border-left: 1px solid #252525; + border-right: 1px solid #252525; + box-shadow: 2px 2px 5px #000; + + &:last-child { + padding-bottom: 10px; + border-bottom: 1px solid #252525; + } + } + + .hr { + margin: 0; + + padding-top: 5px; + + + * { + padding-top: 5px; + } + } + + .fame { + height: 30px; + } + + .title { + padding-top: 14px; + height: 50px; + border-top: 1px solid #252525; + + .eq-name { + > p { + margin-top: 0 !important; + } + } + } + } +} + +.title { + height: 30px; + + .eq-icon { + float: left; + position: relative; + top: -2px; + } + + > p { + position: relative; + top: -3px; + } +} + +.kong-blue { + color: #549aec; +} +.kong-red { + color: #ff6666; +} +.kong-green { + color: #79c59d; +} +.kong-yellow { + color: #c1a237; +} +.kong-baijin { + color: #add9df; +} + +.red { + color: #bc3232; +} +.green { + color: #4aa256; +} +.enchanting { + color: #68eda1; +} +.yellow { + color: #b59834; +} +.gey { + color: #5b5b5b; +} +.strong { + // color: #8B7036; + color: #b1a785; +} +.paddleft { + padding-left: 15px; +} +.white { + color: #f0f0f0; +} +.fame { + height: 20px; + line-height: 20px; + + > img { + float: left; + margin-right: 5px; + } +} + +.suiji-props { + position: relative; + padding-left: 22px; + margin-top: 2px; + + &::before { + content: ""; + display: inline-block; + position: absolute; + left: 3px; + top: 2px; + width: 12px; + height: 12px; + background-image: url(@/assets/img/icon/switch.png); + } + + &.can-select { + cursor: pointer; + + &:hover { + color: #b59834; + + &::before { + background-image: url(https://www.tianyongxian.com/dnfstatic/images/icons/base/checkbox_hover.png); + } + } + + &::before { + background-image: url(https://www.tianyongxian.com/dnfstatic/images/icons/base/checkbox_uncheck.png); + } + + &.selected { + &::before { + background-image: url(https://www.tianyongxian.com/dnfstatic/images/icons/base/checkbox_checked.png); + } + } + } +} + +.props-bakal { + position: relative; + padding-left: 17px; + line-height: 17px; + + &::before { + content: ""; + display: inline-block; + position: absolute; + left: 0px; + // top: 5px; + width: 17px; + height: 17px; + background-image: url(@/assets/img/icon/bakal.png); + } +} + +.props-bakal-raid { + position: relative; + padding-left: 17px; + line-height: 17px; + + &::before { + content: ""; + display: inline-block; + position: absolute; + left: 0px; + // top: 5px; + width: 17px; + height: 17px; + background-image: url(@/assets/img/icon/bakalraid.png); + } +} + +.hr { + border-bottom: 1px solid #303030; + margin: 3px 0; +} + +.icon-star { + position: absolute; + padding-top: 17px; + top: 2px; + right: 10px; + color: #a1a1a1; + font-size: 22px; + cursor: pointer; + height: 50px; + width: 50px; + text-align: center; + z-index: 1; + + .is-star { + color: rgb(231, 163, 0); + top: -2px; + font-size: 26px; + } +} + +.props-group { + &:not(:last-child) { + padding-bottom: 8px; + border-bottom: 1px solid #303030; + margin-bottom: 12px; + } +} + +.card-info { + position: relative; + z-index: 1; + padding-top: 20px; + + .card-image { + position: relative; + text-align: center; + + img { + width: calc(82%); + } + + > .dictionary-info-icon-back { + &::after { + content: ""; + position: absolute; + top: 0; + left: calc(10%); + width: 80%; + height: 100%; + background-image: url(https://www.tianyongxian.com/dnfstatic/images/icons/library/44.png); + background-size: 100%; + } + } + + .card-name { + position: absolute; + top: 17px; + left: 60px; + width: calc(100% - 120px); + text-shadow: #000 0 0 2px, #000 0 0 2px, #000 0 0 2px, #000 0 0 2px; + text-align: center; + line-height: 30px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + z-index: 2; + } + } + + .card-info-inner { + padding: 0 10px 40px 10px; + margin: 10px; + + > div { + margin-top: 5px; + } + } +} diff --git a/packages/renderer/src/components/internal/equip/eq-info.vue b/packages/renderer/src/components/internal/equip/eq-info.vue new file mode 100644 index 00000000..f216d8e6 --- /dev/null +++ b/packages/renderer/src/components/internal/equip/eq-info.vue @@ -0,0 +1,806 @@ + + + diff --git a/packages/renderer/src/components/internal/equip/equip-fusion.vue b/packages/renderer/src/components/internal/equip/equip-fusion.vue new file mode 100644 index 00000000..fe62564e --- /dev/null +++ b/packages/renderer/src/components/internal/equip/equip-fusion.vue @@ -0,0 +1,110 @@ + + + diff --git a/packages/renderer/src/components/internal/equip/equip-list.vue b/packages/renderer/src/components/internal/equip/equip-list.vue new file mode 100644 index 00000000..8704c7a6 --- /dev/null +++ b/packages/renderer/src/components/internal/equip/equip-list.vue @@ -0,0 +1,110 @@ + diff --git a/packages/renderer/src/components/internal/profile/cus.vue b/packages/renderer/src/components/internal/profile/cus.vue new file mode 100644 index 00000000..c73773b7 --- /dev/null +++ b/packages/renderer/src/components/internal/profile/cus.vue @@ -0,0 +1,118 @@ + + + diff --git a/packages/renderer/src/components/internal/profile/detail.vue b/packages/renderer/src/components/internal/profile/detail.vue new file mode 100644 index 00000000..00db2209 --- /dev/null +++ b/packages/renderer/src/components/internal/profile/detail.vue @@ -0,0 +1,1156 @@ + + + diff --git a/packages/renderer/src/components/internal/profile/equipments.vue b/packages/renderer/src/components/internal/profile/equipments.vue new file mode 100644 index 00000000..650305f1 --- /dev/null +++ b/packages/renderer/src/components/internal/profile/equipments.vue @@ -0,0 +1,582 @@ + + + diff --git a/packages/renderer/src/components/internal/profile/index.vue b/packages/renderer/src/components/internal/profile/index.vue new file mode 100644 index 00000000..c8c7e721 --- /dev/null +++ b/packages/renderer/src/components/internal/profile/index.vue @@ -0,0 +1,258 @@ + + + diff --git a/packages/renderer/src/components/internal/skill/skill-icon.vue b/packages/renderer/src/components/internal/skill/skill-icon.vue new file mode 100644 index 00000000..f6aa7f72 --- /dev/null +++ b/packages/renderer/src/components/internal/skill/skill-icon.vue @@ -0,0 +1,246 @@ + + + diff --git a/packages/renderer/src/components/internal/skill/skill-panel.vue b/packages/renderer/src/components/internal/skill/skill-panel.vue new file mode 100644 index 00000000..f0727f53 --- /dev/null +++ b/packages/renderer/src/components/internal/skill/skill-panel.vue @@ -0,0 +1,253 @@ + + + diff --git a/packages/renderer/src/components/internal/skill/skill-set.ts b/packages/renderer/src/components/internal/skill/skill-set.ts new file mode 100644 index 00000000..4ff0dca6 --- /dev/null +++ b/packages/renderer/src/components/internal/skill/skill-set.ts @@ -0,0 +1,141 @@ +import type { ISkillInfo } from "@/api/character/type" + +export const skills = new Map([ + [ + "通用技能", + [ + { id: 1, name: "后跳", sp: 0, default: 1, learnMax: 1, learn: 1, master: 1, max: 1, row: 1, col: 1, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 2, name: "受身蹲伏", sp: 0, default: 1, learnMax: 1, learn: 1, master: 1, max: 20, row: 1, col: 2, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { + id: 3, + name: "基础精通", + tp: { master: 3, max: 5, tp: 1, learn: 0, default: 0 }, + sp: 0, + default: 110, + learnMax: 110, + learn: 110, + master: 110, + max: 200, + row: 1, + col: 3, + icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" + }, + { id: 4, name: "跃翔", sp: 20, default: 0, learnMax: 10, learn: 0, master: 10, max: 20, row: 1, col: 4, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 5, name: "暴击", sp: 20, default: 0, learnMax: 10, learn: 0, master: 10, max: 20, row: 1, col: 5, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 6, name: "背击", sp: 20, default: 0, learnMax: 10, learn: 0, master: 10, max: 20, row: 1, col: 6, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 7, name: "远古记忆", sp: 25, default: 0, learnMax: 10, learn: 0, master: 10, max: 20, row: 1, col: 7, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 8, name: "不屈意志", sp: 25, default: 0, learnMax: 10, learn: 0, master: 10, max: 20, row: 1, col: 8, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" }, + { id: 9, name: "唤醒", sp: 0, default: 1, learnMax: 1, learn: 1, master: 1, max: 1, row: 1, col: 9, icon: "https://101.43.64.95/dnfstatic/images/equipment/title/484.png" } + ] + ], + [ + "重霄·弹药专家·女", + [ + { id: 18, name: "单兵推进器", sp: 20, default: 1, row: 20, col: 3, before: [{ id: 17, lv: 1 }] }, + { id: 21, name: "兵器研究", sp: 10, default: 0, row: 20, col: 1 }, + { id: 22, name: "弹药改良", sp: 10, default: 1, row: 20, col: 2 }, + { id: 23, name: "手雷精通", sp: 20, default: 0, row: 20, col: 7, before: [{ id: 16, lv: 1 }] }, + { id: 24, name: "M18阔剑地雷", tp: { master: 5, max: 7, tp: 2 }, sp: 25, default: 0, row: 20, col: 9 }, + { id: 25, name: "交叉射击", tp: { master: 5, max: 7, tp: 2 }, sp: 35, default: 0, row: 20, col: 4, before: [{ id: 14, lv: 1 }] }, + { id: 26, name: "G35感电手雷", sp: 35, default: 0, row: 20, col: 6, before: [{ id: 16, lv: 1 }] }, + { id: 28, name: "爆裂弹", sp: 10, default: 0, row: 30, col: 5, before: [{ id: 14, lv: 1 }] }, + { id: 29, name: "G18冰冻手雷", sp: 40, default: 0, row: 30, col: 7, before: [{ id: 26, lv: 1 }] }, + { id: 30, name: "聚合弹", tp: { master: 5, max: 7, tp: 2 }, sp: 35, default: 0, row: 30, col: 4, before: [{ id: 25, lv: 1 }] }, + { id: 31, name: "C4飞弹", tp: { master: 5, max: 7, tp: 2 }, sp: 35, default: 0, row: 30, col: 9 }, + { id: 32, name: "凝固汽油弹", tp: { master: 5, max: 7, tp: 2 }, sp: 50, default: 0, row: 40, col: 4, before: [{ id: 30, lv: 1 }] }, + { id: 33, name: "镭射狙击", tp: { master: 5, max: 7, tp: 2 }, sp: 60, default: 0, row: 40, col: 6, before: [{ id: 26, lv: 1 }] }, + { id: 34, name: "弹药强化", sp: 30, default: 1, row: 50, col: 5 }, + { id: 35, name: "EMP磁暴", sp: 0, default: 0, row: 50, col: 8 }, + { id: 36, name: "G61重力手雷", tp: { master: 5, max: 7, tp: 2 }, sp: 60, default: 0, row: 60, col: 6, before: [{ id: 33, lv: 1 }] }, + { id: 37, name: "制空掌握", sp: 45, default: 1, row: 70, col: 2 }, + { id: 38, name: "轻火力速射", tp: { master: 5, max: 7, tp: 2 }, sp: 70, default: 0, row: 70, col: 4, before: [{ id: 32, lv: 1 }] }, + { id: 39, name: "开火", sp: 80, default: 0, row: 70, col: 8, before: [{ id: 36, lv: 1 }] }, + { id: 40, name: "光子霰雷发射器", sp: 90, default: 0, row: 80, col: 5, before: [{ id: 36, lv: 1 }] }, + { id: 41, name: "决战之日", sp: 0, default: 0, row: 80, col: 7, before: [{ id: 36, lv: 1 }] }, + { id: 42, name: "单兵推进器-02X", sp: 60, default: 0, row: 90, col: 5 }, + { id: 43, name: "空袭战略", sp: 100, default: 0, row: 90, col: 7 }, + { id: 44, name: "终解·制空霸权", sp: [200, 100], default: 0, row: 100, col: 5 } + ] + ], + [ + "知源·冰结师", + [ + { id: 1, name: "冰结师皮甲专精", default: 1, row: 1, sp: 0, col: 1 }, + { id: 2, name: "不死之身", row: 1, col: 2, sp: 0, default: 1 }, + { id: 3, name: "黑暗之眼", row: 1, col: 3, sp: 0, default: 1 }, + { id: 4, name: "基础防具精通", row: 1, col: 4, sp: 0, default: 1 }, + { id: 7001, name: "魔法水球", row: 1, col: 5, sp: 15, default: 1 }, + { id: 7002, name: "魔法旋风", row: 1, col: 7, sp: 20, default: 1 }, + { id: 7003, name: "擒拿掌", col: 4, sp: 15, row: 5, default: 1 }, + { id: 7004, name: "魔球连射", col: 7, sp: 15, row: 5, default: 0 }, + { id: 7005, name: "幽冥火", col: 3, sp: 15, row: 10, default: 0 }, + { id: 7006, name: "瞬移", col: 6, sp: 25, row: 10, default: 0 }, + { id: 7007, name: "旋火盾", col: 8, sp: 20, row: 10, default: 0 }, + { id: 7008, name: "冰之印", col: 4, sp: 0, row: 15, default: 1 }, + { id: 7009, name: "冰武精通", col: 7, sp: 10, row: 15, default: 0 }, + { id: 7010, name: "冰魄剑", col: 9, sp: 15, row: 15, default: 1 }, + { id: 7011, name: "寒冰连枪", col: 5, sp: 20, row: 20, default: 0 }, + { id: 7012, name: "冰魄旋枪", col: 4, sp: 25, row: 25, default: 0 }, + { id: 7013, name: "冰霜之径", col: 6, sp: 30, row: 25, default: 0 }, + { id: 7014, name: "冰之领悟", col: 8, sp: 20, row: 25, default: 0 }, + { id: 7015, name: "冰魄之弓", col: 3, sp: 30, row: 30, default: 0, before: [{ id: 7012, lv: 1 }] }, + { id: 7016, name: "破冰飞刃", col: 5, sp: 30, row: 30, default: 0, before: [{ id: 7012, lv: 1 }] }, + { id: 7017, name: "寒冰之境", col: 8, sp: 30, row: 30, default: 0, before: [{ id: 7014, lv: 1 }] }, + { id: 7018, name: "水晶剑", col: 9, sp: 30, row: 30, default: 0, before: [{ id: 7010, lv: 1 }] }, + { id: 7019, name: "旋冰穿刺", col: 3, sp: 30, row: 35, default: 0, before: [{ id: 7015, lv: 1 }] }, + { id: 7020, name: "冰魄锤击", col: 5, sp: 40, row: 35, default: 0, before: [{ id: 7016, lv: 1 }] }, + { id: 7021, name: "极冰绽放", col: 5, sp: 20, row: 50, default: 0 }, + { id: 7022, name: "冰雪风暴", col: 4, sp: 60, row: 45, default: 0, before: [{ id: 7021, lv: 1 }] }, + { id: 7023, name: "冰舞乱击", col: 6, sp: 15, row: 45, default: 0, before: [{ id: 7021, lv: 1 }] }, + { id: 7024, name: "千旋冰轮破", col: 6, sp: 0, row: 50, default: 0 }, + { id: 7025, name: "冰封奥义", col: 7, sp: 30, row: 50, default: 1 }, + { id: 7026, name: "冰凌破", col: 6, sp: 60, row: 60, default: 0 }, + { id: 7027, name: "千里冰封", col: 5, sp: 70, row: 70, default: 0 }, + { id: 7028, name: "冰之技艺", col: 7, sp: 45, row: 70, default: 1 }, + { id: 7029, name: "碎冰破", col: 9, sp: 80, row: 70, default: 0 }, + { id: 7030, name: "极冰领域", col: 7, sp: 90, row: 80, default: 0 }, + { id: 7031, name: "永罪冰狱", col: 9, sp: 0, row: 80, default: 0 }, + { id: 7032, name: "冰凝之魂", col: 6, sp: 60, row: 90, default: 1 }, + { id: 7033, name: "极冰猎魔斩", col: 8, sp: 100, row: 90, default: 0 }, + { id: 7034, name: "永劫纳斯特隆德", col: 5, sp: [200, 100], row: 100, default: 0 } + ] + ] +]) + +// 技能树配置模型 - 技能 +export interface ISkillInfoForSkillPanel { + name: string + id: number + default?: number + row: number + col: number + before?: ISkillBeforeForSkillPanel[] + master?: number // 精通 + max?: number // 上限 + learnMax?: number // 学习上限 + learn?: number // 学习,不包括等级加成 + skills?: ISkillInfo + icon?: string + y?: number + sp?: number | number[] + tp?: ITPSkillInfoForSkillPanel +} + +export interface ITPSkillInfoForSkillPanel { + master?: number // 精通 + max?: number // 上限 + learn?: number // 学习,不包括等级加成 + tp?: number | number[] + default?: number +} + +export interface ISkillBeforeForSkillPanel { + id: number + lv: number +} + +// 技能树配置模型 - 技能树 +export interface ISkillTreeForSkillPanel { + lv: number + sks: ISkillInfoForSkillPanel[] +} diff --git a/packages/renderer/src/components/internal/watermark.vue b/packages/renderer/src/components/internal/watermark.vue new file mode 100644 index 00000000..fc50e3e4 --- /dev/null +++ b/packages/renderer/src/components/internal/watermark.vue @@ -0,0 +1,101 @@ + diff --git a/packages/renderer/src/components/vuedraggable/core/componentBuilderHelper.js b/packages/renderer/src/components/vuedraggable/core/componentBuilderHelper.js new file mode 100644 index 00000000..0ad0bd9e --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/core/componentBuilderHelper.js @@ -0,0 +1,41 @@ +import { camelize } from "../util/string" +import { isHtmlAttribute } from "../util/tags" +import { events, isReadOnly } from "./sortableEvents" + +function project(entries) { + return entries.reduce((res, [key, value]) => { + res[key] = value + return res + }, {}) +} + +function getComponentAttributes({ $attrs, componentData = {} }) { + const attributes = project(Object.entries($attrs).filter(([key, _]) => isHtmlAttribute(key))) + return { + ...attributes, + ...componentData + } +} + +function createSortableOption({ $attrs, callBackBuilder }) { + const options = project(getValidSortableEntries($attrs)) + Object.entries(callBackBuilder).forEach(([eventType, eventBuilder]) => { + events[eventType].forEach(event => { + options[`on${event}`] = eventBuilder(event) + }) + }) + const draggable = `[data-draggable]${options.draggable || ""}` + return { + ...options, + draggable + } +} + +function getValidSortableEntries(value) { + return Object.entries(value) + .filter(([key, _]) => !isHtmlAttribute(key)) + .map(([key, value]) => [camelize(key), value]) + .filter(([key, _]) => !isReadOnly(key)) +} + +export { getComponentAttributes, createSortableOption, getValidSortableEntries } diff --git a/packages/renderer/src/components/vuedraggable/core/componentStructure.js b/packages/renderer/src/components/vuedraggable/core/componentStructure.js new file mode 100644 index 00000000..9b9a9edc --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/core/componentStructure.js @@ -0,0 +1,62 @@ +const getHtmlElementFromNode = ({ el }) => el +const addContext = (domElement, context) => (domElement.__draggable_context = context) +const getContext = domElement => domElement.__draggable_context + +class ComponentStructure { + constructor({ nodes: { header, default: defaultNodes, footer }, root, realList }) { + this.defaultNodes = defaultNodes + this.children = [...header, ...defaultNodes, ...footer] + this.externalComponent = root.externalComponent + this.rootTransition = root.transition + this.tag = root.tag + this.realList = realList + } + + get _isRootComponent() { + return this.externalComponent || this.rootTransition + } + + render(h, attributes) { + const { tag, children, _isRootComponent } = this + const option = !_isRootComponent ? children : { default: () => children } + return h(tag, attributes, option) + } + + updated() { + const { defaultNodes, realList } = this + defaultNodes.forEach((node, index) => { + addContext(getHtmlElementFromNode(node), { + element: realList[index], + index + }) + }) + } + + getUnderlyingVm(domElement) { + return getContext(domElement) + } + + getVmIndexFromDomIndex(domIndex, element) { + const { defaultNodes } = this + const { length } = defaultNodes + const domChildren = element.children + const domElement = domChildren.item(domIndex) + + if (domElement === null) { + return length + } + const context = getContext(domElement) + if (context) { + return context.index + } + + if (length === 0) { + return 0 + } + const firstDomListElement = getHtmlElementFromNode(defaultNodes[0]) + const indexFirstDomListElement = [...domChildren].findIndex(element => element === firstDomListElement) + return domIndex < indexFirstDomListElement ? 0 : length + } +} + +export { ComponentStructure } diff --git a/packages/renderer/src/components/vuedraggable/core/renderHelper.js b/packages/renderer/src/components/vuedraggable/core/renderHelper.js new file mode 100644 index 00000000..31cbfffe --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/core/renderHelper.js @@ -0,0 +1,50 @@ +import { TransitionGroup, resolveComponent } from "vue" +import { isHtmlTag, isTransition } from "../util/tags" +import { ComponentStructure } from "./componentStructure" + +function getSlot(slots, key) { + const slotValue = slots[key] + return slotValue ? slotValue() : [] +} + +function computeNodes({ $slots, realList, getKey }) { + const normalizedList = realList || [] + const [header, footer] = ["header", "footer"].map(name => getSlot($slots, name)) + const { item } = $slots + if (!item) { + throw new Error("draggable element must have an item slot") + } + const defaultNodes = normalizedList.flatMap((element, index) => + item({ element, index }).map(node => { + node.key = getKey(element) + node.props = { ...(node.props || {}), "data-draggable": true } + return node + }) + ) + if (defaultNodes.length !== normalizedList.length) { + throw new Error("Item slot must have only one child") + } + return { + header, + footer, + default: defaultNodes + } +} + +function getRootInformation(tag) { + const transition = isTransition(tag) + const externalComponent = !isHtmlTag(tag) && !transition + return { + transition, + externalComponent, + tag: externalComponent ? resolveComponent(tag) : transition ? TransitionGroup : tag + } +} + +function computeComponentStructure({ $slots, tag, realList, getKey }) { + const nodes = computeNodes({ $slots, realList, getKey }) + const root = getRootInformation(tag) + return new ComponentStructure({ nodes, root, realList }) +} + +export { computeComponentStructure } diff --git a/packages/renderer/src/components/vuedraggable/core/sortableEvents.js b/packages/renderer/src/components/vuedraggable/core/sortableEvents.js new file mode 100644 index 00000000..46ca5fe5 --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/core/sortableEvents.js @@ -0,0 +1,16 @@ +const manageAndEmit = ["Start", "Add", "Remove", "Update", "End"] +const emit = ["Choose", "Unchoose", "Sort", "Filter", "Clone"] +const manage = ["Move"] +const eventHandlerNames = [manage, manageAndEmit, emit].flatMap(events => events).map(evt => `on${evt}`) + +const events = { + manage, + manageAndEmit, + emit +} + +function isReadOnly(eventName) { + return eventHandlerNames.includes(eventName) +} + +export { events, isReadOnly } diff --git a/packages/renderer/src/components/vuedraggable/util/console.js b/packages/renderer/src/components/vuedraggable/util/console.js new file mode 100644 index 00000000..182dbf74 --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/util/console.js @@ -0,0 +1,9 @@ +function getConsole() { + if (typeof window !== "undefined") { + return window.console + } + return global.console +} +const console = getConsole() + +export { console } diff --git a/packages/renderer/src/components/vuedraggable/util/htmlHelper.js b/packages/renderer/src/components/vuedraggable/util/htmlHelper.js new file mode 100644 index 00000000..11988447 --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/util/htmlHelper.js @@ -0,0 +1,12 @@ +function removeNode(node) { + if (node.parentElement !== null) { + node.parentElement.removeChild(node) + } +} + +function insertNodeAt(fatherNode, node, position) { + const refNode = position === 0 ? fatherNode.children[0] : fatherNode.children[position - 1].nextSibling + refNode.before(node) +} + +export { insertNodeAt, removeNode } diff --git a/packages/renderer/src/components/vuedraggable/util/string.js b/packages/renderer/src/components/vuedraggable/util/string.js new file mode 100644 index 00000000..bb7c8042 --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/util/string.js @@ -0,0 +1,12 @@ +function cached(fn) { + const cache = Object.create(null) + return function cachedFn(str) { + const hit = cache[str] + return hit || (cache[str] = fn(str)) + } +} + +const regex = /-(\w)/g +const camelize = cached(str => str.replace(regex, (_, c) => c.toUpperCase())) + +export { camelize } diff --git a/packages/renderer/src/components/vuedraggable/util/tags.js b/packages/renderer/src/components/vuedraggable/util/tags.js new file mode 100644 index 00000000..52855465 --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/util/tags.js @@ -0,0 +1,133 @@ +const tags = [ + "a", + "abbr", + "address", + "area", + "article", + "aside", + "audio", + "b", + "base", + "bdi", + "bdo", + "blockquote", + "body", + "br", + "button", + "canvas", + "caption", + "cite", + "code", + "col", + "colgroup", + "data", + "datalist", + "dd", + "del", + "details", + "dfn", + "dialog", + "div", + "dl", + "dt", + "em", + "embed", + "fieldset", + "figcaption", + "figure", + "footer", + "form", + "h1", + "h2", + "h3", + "h4", + "h5", + "h6", + "head", + "header", + "hgroup", + "hr", + "html", + "i", + "iframe", + "img", + "input", + "ins", + "kbd", + "label", + "legend", + "li", + "link", + "main", + "map", + "mark", + "math", + "menu", + "menuitem", + "meta", + "meter", + "nav", + "noscript", + "object", + "ol", + "optgroup", + "option", + "output", + "p", + "param", + "picture", + "pre", + "progress", + "q", + "rb", + "rp", + "rt", + "rtc", + "ruby", + "s", + "samp", + "script", + "section", + "select", + "slot", + "small", + "source", + "span", + "strong", + "style", + "sub", + "summary", + "sup", + "svg", + "table", + "tbody", + "td", + "template", + "textarea", + "tfoot", + "th", + "thead", + "time", + "title", + "tr", + "track", + "u", + "ul", + "var", + "video", + "wbr" +] + +function isHtmlTag(name) { + return tags.includes(name) +} + +function isTransition(name) { + return ["transition-group", "TransitionGroup"].includes(name) +} + +function isHtmlAttribute(value) { + return ["id", "class", "role", "style"].includes(value) || value.startsWith("data-") || value.startsWith("aria-") || value.startsWith("on") +} + +export { isHtmlTag, isHtmlAttribute, isTransition } diff --git a/packages/renderer/src/components/vuedraggable/vuedraggable.d.ts b/packages/renderer/src/components/vuedraggable/vuedraggable.d.ts new file mode 100644 index 00000000..4b4c07ac --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/vuedraggable.d.ts @@ -0,0 +1,74 @@ +declare const draggableComponent: import("vue").DefineComponent<{ + list: { + type: ArrayConstructor; + required: boolean; + default: any; + }; + modelValue: { + type: ArrayConstructor; + required: boolean; + default: any; + }; + itemKey: { + type: (FunctionConstructor | StringConstructor)[]; + required: boolean; + }; + clone: { + type: FunctionConstructor; + default: (original: any) => any; + }; + tag: { + type: StringConstructor; + default: string; + }; + move: { + type: FunctionConstructor; + default: any; + }; + componentData: { + type: ObjectConstructor; + required: boolean; + default: any; + }; +}, unknown, { + error: boolean; +}, { + realList(): any; + getKey(): any; +}, { + getUnderlyingVm(domElement: any): any; + getUnderlyingPotencialDraggableComponent(htmElement: any): any; + emitChanges(evt: any): void; + alterList(onList: any): void; + spliceList(): void; + updatePosition(oldIndex: any, newIndex: any): void; + getRelatedContextFromMoveEvent({ to, related }: { + to: any; + related: any; + }): any; + getVmIndexFromDomIndex(domIndex: any): any; + onDragStart(evt: any): void; + onDragAdd(evt: any): void; + onDragRemove(evt: any): void; + onDragUpdate(evt: any): void; + computeFutureIndex(relatedContext: any, evt: any): any; + onDragMove(evt: any, originalEvent: any): any; + onDragEnd(): void; +}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any[], any, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ + move: Function; + tag: string; + clone: Function; + list: unknown[]; + modelValue: unknown[]; + componentData: Record; +} & { + itemKey?: string | Function; +}>, { + move: Function; + tag: string; + clone: Function; + list: unknown[]; + modelValue: unknown[]; + componentData: Record; +}>; +export default draggableComponent; diff --git a/packages/renderer/src/components/vuedraggable/vuedraggable.js b/packages/renderer/src/components/vuedraggable/vuedraggable.js new file mode 100644 index 00000000..735a910f --- /dev/null +++ b/packages/renderer/src/components/vuedraggable/vuedraggable.js @@ -0,0 +1,300 @@ +import Sortable from "sortablejs" +import { defineComponent, h, nextTick } from "vue" +import { insertNodeAt, removeNode } from "./util/htmlHelper" +import { console } from "./util/console" +import { createSortableOption, getComponentAttributes, getValidSortableEntries } from "./core/componentBuilderHelper" +import { computeComponentStructure } from "./core/renderHelper" +import { events } from "./core/sortableEvents" + +function emit(evtName, evtData) { + nextTick(() => this.$emit(evtName.toLowerCase(), evtData)) +} + +function manage(evtName) { + return (evtData, originalElement) => { + if (this.realList !== null) { + return this[`onDrag${evtName}`](evtData, originalElement) + } + } +} + +function manageAndEmit(evtName) { + const delegateCallBack = manage.call(this, evtName) + return (evtData, originalElement) => { + delegateCallBack.call(this, evtData, originalElement) + emit.call(this, evtName, evtData) + } +} + +let draggingElement = null + +const props = { + list: { + type: Array, + required: false, + default: null + }, + modelValue: { + type: Array, + required: false, + default: null + }, + itemKey: { + type: [String, Function], + required: true + }, + clone: { + type: Function, + default: original => { + return original + } + }, + tag: { + type: String, + default: "div" + }, + move: { + type: Function, + default: null + }, + componentData: { + type: Object, + required: false, + default: null + } +} + +const emits = ["update:modelValue", "change", ...[...events.manageAndEmit, ...events.emit].map(evt => evt.toLowerCase())] + +const draggableComponent = defineComponent({ + name: "Draggable", + + inheritAttrs: false, + + props, + + emits, + + data() { + return { + error: false + } + }, + + computed: { + realList() { + const { list } = this + return list || this.modelValue + }, + + getKey() { + const { itemKey } = this + if (typeof itemKey === "function") { + return itemKey + } + return element => element[itemKey] + } + }, + + watch: { + $attrs: { + handler(newOptionValue) { + const { _sortable } = this + if (!_sortable) { + return + } + getValidSortableEntries(newOptionValue).forEach(([key, value]) => { + _sortable.option(key, value) + }) + }, + deep: true + } + }, + + created() { + if (this.list !== null && this.modelValue !== null) { + console.error("modelValue and list props are mutually exclusive! Please set one or another.") + } + }, + + mounted() { + if (this.error) { + return + } + + const { $attrs, $el, componentStructure } = this + componentStructure.updated() + + const sortableOptions = createSortableOption({ + $attrs, + callBackBuilder: { + manageAndEmit: event => manageAndEmit.call(this, event), + emit: event => emit.bind(this, event), + manage: event => manage.call(this, event) + } + }) + const targetDomElement = $el.nodeType === 1 ? $el : $el.parentElement + this._sortable = new Sortable(targetDomElement, sortableOptions) + this.targetDomElement = targetDomElement + targetDomElement.__draggable_component__ = this + }, + + updated() { + this.componentStructure.updated() + }, + + beforeUnmount() { + if (this._sortable !== undefined) { + this._sortable.destroy() + } + }, + + methods: { + getUnderlyingVm(domElement) { + return this.componentStructure.getUnderlyingVm(domElement) || null + }, + + getUnderlyingPotencialDraggableComponent(htmElement) { + // TODO check case where you need to see component children + return htmElement.__draggable_component__ + }, + + emitChanges(evt) { + nextTick(() => this.$emit("change", evt)) + }, + + alterList(onList) { + if (this.list) { + onList(this.list) + return + } + const newList = [...this.modelValue] + onList(newList) + this.$emit("update:modelValue", newList) + }, + + spliceList(...args) { + const spliceList = list => list.splice(...args) + this.alterList(spliceList) + }, + + updatePosition(oldIndex, newIndex) { + const updatePosition = list => list.splice(newIndex, 0, list.splice(oldIndex, 1)[0]) + this.alterList(updatePosition) + }, + + getRelatedContextFromMoveEvent({ to, related }) { + const component = this.getUnderlyingPotencialDraggableComponent(to) + if (!component) { + return { component } + } + const list = component.realList + const context = { list, component } + if (to !== related && list) { + const destination = component.getUnderlyingVm(related) || {} + return { ...destination, ...context } + } + return context + }, + + getVmIndexFromDomIndex(domIndex) { + return this.componentStructure.getVmIndexFromDomIndex(domIndex, this.targetDomElement) + }, + + onDragStart(evt) { + this.context = this.getUnderlyingVm(evt.item) + evt.item._underlying_vm_ = this.clone(this.context.element) + draggingElement = evt.item + }, + + onDragAdd(evt) { + const element = evt.item._underlying_vm_ + if (element === undefined) { + return + } + removeNode(evt.item) + const newIndex = this.getVmIndexFromDomIndex(evt.newIndex) + this.spliceList(newIndex, 0, element) + const added = { element, newIndex } + this.emitChanges({ added }) + }, + + onDragRemove(evt) { + insertNodeAt(this.$el, evt.item, evt.oldIndex) + if (evt.pullMode === "clone") { + removeNode(evt.clone) + return + } + const { index: oldIndex, element } = this.context + this.spliceList(oldIndex, 1) + const removed = { element, oldIndex } + this.emitChanges({ removed }) + }, + + onDragUpdate(evt) { + removeNode(evt.item) + insertNodeAt(evt.from, evt.item, evt.oldIndex) + const oldIndex = this.context.index + const newIndex = this.getVmIndexFromDomIndex(evt.newIndex) + this.updatePosition(oldIndex, newIndex) + const moved = { element: this.context.element, oldIndex, newIndex } + this.emitChanges({ moved }) + }, + + computeFutureIndex(relatedContext, evt) { + if (!relatedContext.element) { + return 0 + } + const domChildren = [...evt.to.children].filter(el => el.style.display !== "none") + const currentDomIndex = domChildren.indexOf(evt.related) + const currentIndex = relatedContext.component.getVmIndexFromDomIndex(currentDomIndex) + const draggedInList = domChildren.includes(draggingElement) + return draggedInList || !evt.willInsertAfter ? currentIndex : currentIndex + 1 + }, + + onDragMove(evt, originalEvent) { + const { move, realList } = this + if (!move || !realList) { + return true + } + + const relatedContext = this.getRelatedContextFromMoveEvent(evt) + const futureIndex = this.computeFutureIndex(relatedContext, evt) + const draggedContext = { + ...this.context, + futureIndex + } + const sendEvent = { + ...evt, + relatedContext, + draggedContext + } + return move(sendEvent, originalEvent) + }, + + onDragEnd() { + draggingElement = null + } + }, + + render() { + try { + this.error = false + const { $slots, $attrs, tag, componentData, realList, getKey } = this + const componentStructure = computeComponentStructure({ + $slots, + tag, + realList, + getKey + }) + this.componentStructure = componentStructure + const attributes = getComponentAttributes({ $attrs, componentData }) + return componentStructure.render(h, attributes) + } catch (err) { + this.error = true + return h("pre", { style: { color: "red" } }, err.stack) + } + } +}) + +export default draggableComponent diff --git a/packages/renderer/src/components/watermark/index.vue b/packages/renderer/src/components/watermark/index.vue new file mode 100644 index 00000000..fea270d0 --- /dev/null +++ b/packages/renderer/src/components/watermark/index.vue @@ -0,0 +1,333 @@ + + + diff --git a/packages/renderer/src/env.d.ts b/packages/renderer/src/env.d.ts new file mode 100644 index 00000000..405b5ec0 --- /dev/null +++ b/packages/renderer/src/env.d.ts @@ -0,0 +1,13 @@ +/// + +declare module "*.vue" { + import { DefineComponent } from "vue" + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types + const component: DefineComponent<{}, {}, any> + export default component +} +declare module "*.json" { + export default interface JsonObject { + [key: string]: any + } +} diff --git a/packages/renderer/src/global.d.ts b/packages/renderer/src/global.d.ts new file mode 100644 index 00000000..3666be4c --- /dev/null +++ b/packages/renderer/src/global.d.ts @@ -0,0 +1,50 @@ +export {} + +declare module "pako" + +declare global { + type Num = string | number + + type ID = Num | undefined + interface Window { + // Expose some Api through preload script + pywebview:{ + api: import("electron").IpcRenderer + _bridge:any + } + removeLoading: () => void + flag: boolean + } + + interface PagingData { + data: T[] + totalCount: number + pageSize: number + pageIndex: number + } + + interface Number { + plus(value: number): number + + minus(value: number): number + + multiply(value: number): number + + divide(value: number): number + + perMulti(value: number): number + + round(digit?: number): number + + floor(digit?: number): number + + exactlyDivide(value: number): number + } + + interface Array { + min(callback: (t: T) => number): [number, T | undefined] + max(callback: (t: T) => number): [number, T | undefined] + } + + const APP_VERSION: string +} diff --git a/packages/renderer/src/hooks/open.ts b/packages/renderer/src/hooks/open.ts new file mode 100644 index 00000000..1c86cf02 --- /dev/null +++ b/packages/renderer/src/hooks/open.ts @@ -0,0 +1,111 @@ +import type { MaybeRef } from "@vueuse/core" +import querystring from "query-string" +import { h, isRef } from "vue" +import { useRouter } from "vue-router" +import { useDialog } from "@/components/hooks/dialog" + +interface UseOpenOption { + /* + + */ + width?: number + height?: number + scale?: number + query?: Record + + /** + * 是否打开新页面 + */ + target?: "_blank" | "_self" | false + + title?: string +} + +export function useOpenWindow(opt?: UseOpenOption & { immediate?: boolean }) { + const { show, close, randomId } = useDialog() + const router = useRouter() + + return async (maybeUrl: MaybeRef | (() => string), { width = 0, height = 0, target = "_self", query = {}, title = "DNF计算器 & Colg", scale = 1.0 }: UseOpenOption = {}) => { + let url = isRef(maybeUrl) ? maybeUrl.value : typeof maybeUrl === "function" ? maybeUrl() : maybeUrl + if (!url) { + return + } + + if (url.startsWith("/")) { + url = router.resolve(url).href + } + query.r = `${Math.random()}` + url = querystring.stringifyUrl({ url, query }) + try { + let _target = target + if (!_target) { + const rs = await show({ + content: "请确认打开新页面的方式", + okButton: "当前窗口", + rejectButton: "新窗口", + cancelButton: true, + defaultStatus: "cancel" + }) + if (rs.isOk) { + _target = "_self" + } else if (rs.isReject) { + _target = "_blank" + } + } + + if (_target == "_blank" || width * height < 1) { + if (window.pywebview) { + window.pywebview.api.invoke("open-url", url) + } else { + window.open(url, _target as string) + } + } else if (_target == "_self") { + if (window.pywebview) { + window.pywebview.api.invoke("open-win", { + url, + width, + height + }) + return + } + + const id = randomId() + const onClose = (e: MessageEvent) => { + if (e.data == "close") { + close(id) + } + } + window.addEventListener("message", onClose) + const temp = await show({ + id, + header: title, + mask: true, + scale, + content() { + return h("iframe", { + name: Math.random().toString(36).slice(2), + referrerpolicy: "no-referrer", + frameborder: 0, + src: url, + style: { + width: `${width}px`, + height: `${height}px` + } + }) + } + }) + window.removeEventListener("message", onClose) + return temp + } + } catch (err) { + // let routerURL = router?.resolve({ + // path: url + // }) + // window.open(routerURL?.href) + // router.push(url) + // 网页端打开 + router?.push(url) + console.error(err) + } + } +} diff --git a/packages/renderer/src/hooks/waterMark.ts b/packages/renderer/src/hooks/waterMark.ts new file mode 100644 index 00000000..06a4f96b --- /dev/null +++ b/packages/renderer/src/hooks/waterMark.ts @@ -0,0 +1,110 @@ +import { onBeforeUnmount } from "vue"; +export const getMark = () => { + /** + * 设置水印方法 + * @param {string} str - 输出文本 + * @param {HTMLElement} [container] - 设置水印的容器(如果不写则默认设置全屏水 印) + * @param {boolean} [createTime] - 水印生成时间 + */ + const setWaterMark = ( + str: string, + createTime: boolean, + container?: HTMLElement + ) => { + // 创建唯一标识符id + const dpr = window.devicePixelRatio + const id = "1.23452384164.123412416"; + if (document.getElementById(id) !== null) { + container + ? container.removeChild(document.getElementById(id)!) + : document.body.removeChild(document.getElementById(id)!); + } + // 创建画布 + const can = document.createElement("canvas"); + // 设置画布长宽 + can.width = 120; + can.height = 90; + // 获取画布元素2D渲染上下文 + const cans = can.getContext("2d")!; + // 设置旋转角度(逆时针旋转15度) + cans.rotate((-20 * Math.PI) / 180); + // 设置字体 + cans.font = "15px SimSun"; + // 设置填充绘色 + cans.fillStyle = "rgba(200, 200, 200, 0.35)"; + // 设置在绘制文本时使用当前文本基线 + cans.textBaseline = "middle"; + /** + * 在画布上绘制填色文本 + * @param {string} str - 输出文本 + * @param {number} width - 开始绘制文本X坐标位置 + * @param {number} height - 开始绘制文本Y坐标位置 + */ + cans.fillText(str, can.width / 10, can.height / 1.5); + if (createTime) { + // 获取当前时间并格式化 + const curDate = new Date(); + const dateStr = curDate.toLocaleDateString(); + const timeStr = curDate.toLocaleTimeString(); + const timeStamp = `${dateStr} ${timeStr}`; + const timeTextWidth = cans.measureText(timeStamp).width; + const timeTextX = (can.width - timeTextWidth) / 2; + cans.font = "15px Vedana"; + cans.fillText(timeStamp, timeTextX, (can.height / 3) * 2); + } + // 创建全屏浮动全屏浮动div, 将画布作为背景 + const div = document.createElement("div"); + div.id = id; + div.style.pointerEvents = "none"; + div.style.top = "15px"; + div.style.left = "0px"; + div.style.position = "absolute"; + div.style.zIndex = "0"; + div.style.width = container ? `${container.clientWidth}px` : "100%"; + div.style.height = container ? `${container.clientHeight}px` : "100%"; + div.style.background = `url(${can.toDataURL("image/png")}) left top repeat`; + if (container) { + container.style.position = "relative"; + container.appendChild(div); + } else { + document.body.appendChild(div); + } + + return id; + }; + + // 只允许调用一次该方法 + const waterMark = ( + str: string, + createTime: boolean, + container?: HTMLElement + ) => { + let id = setWaterMark(str, createTime, container); + // 定时检查是否存在具有相同标识符的元素 + setInterval(() => { + if (document.getElementById(id) === null) { + id = setWaterMark(str, createTime, container); + } + }, 500); + + // 监听窗口大小调整, 确保水印的适应性 + const handleResize = () => { + setWaterMark(str, createTime, container); + }; + const observer = new ResizeObserver(handleResize); + // 全屏监听 + if (!container) { + observer.observe(document.documentElement, { box: "content-box" }); + } + // 指定容器监听 + else { + observer.observe(container, { box: "content-box" }); + } + + // 组件销毁时清除监听 + onBeforeUnmount(() => { + observer.disconnect(); + }); + }; + return { waterMark }; +}; diff --git a/packages/renderer/src/icon.scss b/packages/renderer/src/icon.scss new file mode 100644 index 00000000..33823e3c --- /dev/null +++ b/packages/renderer/src/icon.scss @@ -0,0 +1,392 @@ +.icon-reset { + background-image: url("@/assets/img/icon/reset.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/reset_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/reset_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/reset_disabled.png"); + } +} + +.icon-set { + background-image: url("@/assets/img/icon/set.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/set_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/set_active.png"); + } + // &:disabled { + // background-image: url("@/assets/img/icon/set_disabled.png"); + // } +} + +.icon-prev { + background-image: url("@/assets/img/icon/prev.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 16px !important; + height: 16px !important; + &:hover { + background-image: url("@/assets/img/icon/prev_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/prev_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/prev_disabled.png"); + } +} + +.icon-next { + background-image: url("@/assets/img/icon/next.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 16px !important; + height: 16px !important; + &:hover { + background-image: url("@/assets/img/icon/next_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/next_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/next_disabled.png"); + } +} + +.icon-dropdown { + background-image: url("@/assets/img/icon/dropdown.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 16px !important; + height: 16px !important; + &:hover { + background-image: url("@/assets/img/icon/dropdown_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/dropdown_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/dropdown_disabled.png"); + } +} + +.icon-search { + background-image: url("@/assets/img/icon/search.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/search_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/search_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/search_disabled.png"); + } +} + +.icon-increase { + background-image: url("@/assets/img/icon/increase.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 16px !important; + height: 16px !important; + &:hover { + background-image: url("@/assets/img/icon/increase_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/increase_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/increase_disabled.png"); + } +} + +.icon-reduce { + background-image: url("@/assets/img/icon/reduce.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 16px !important; + height: 16px !important; + &:hover { + background-image: url("@/assets/img/icon/reduce_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/reduce_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/reduce_disabled.png"); + } +} + +.icon-plus { + background-image: url("@/assets/img/icon/plus.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/plus_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/plus_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/plus_disabled.png"); + } +} + +.icon-detail { + background-image: url("@/assets/img/icon/detail.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/detail_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/detail_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/detail_disabled.png"); + } +} + + +.icon-home { + background-image: url("@/assets/img/icon/home.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/home_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/home_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/home_disabled.png"); + } +} + +.icon-reflesh { + background-image: url("@/assets/img/icon/reflesh.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/reflesh_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/reflesh_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/reflesh_disabled.png"); + } +} + +.icon-update { + background-image: url("@/assets/img/icon/update.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/update_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/update_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/update_disabled.png"); + } +} + +.icon-share { + background-image: url("@/assets/img/icon/share.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/share_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/share_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/share_disabled.png"); + } +} + +.icon-import { + background-image: url("@/assets/img/icon/import.png"); + background-repeat: no-repeat !important; + background-size: 100% 100% !important; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/import_hover.png"); + } + &:active { + background-image: url("@/assets/img/icon/import_active.png"); + } + &:disabled { + background-image: url("@/assets/img/icon/import_disabled.png"); + } +} + +.icon-menu-drug { + background-image: url("@/assets/img/icon/menu/drug.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/menu/drug_hover.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:active { + background-image: url("@/assets/img/icon/menu/drug_active.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:disabled { + background-image: url("@/assets/img/icon/menu/drug_disabled.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } +} + +.icon-menu-specificity { + background-image: url("@/assets/img/icon/menu/specificity.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/menu/specificity_hover.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:active { + background-image: url("@/assets/img/icon/menu/specificity_active.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:disabled { + background-image: url("@/assets/img/icon/menu/specificity_disabled.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } +} + + +.icon-menu-favourite { + background-image: url("@/assets/img/icon/menu/favourite.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/menu/favourite_hover.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:active { + background-image: url("@/assets/img/icon/menu/favourite_active.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:disabled { + background-image: url("@/assets/img/icon/menu/favourite_disabled.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } +} + +.icon-menu-recommend { + background-image: url("@/assets/img/icon/menu/recommend.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/menu/recommend_hover.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:active { + background-image: url("@/assets/img/icon/menu/recommend_active.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:disabled { + background-image: url("@/assets/img/icon/menu/recommend_disabled.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } +} + +.icon-menu-set { + background-image: url("@/assets/img/icon/menu/set.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + width: 20px !important; + height: 20px !important; + &:hover { + background-image: url("@/assets/img/icon/menu/set_hover.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:active { + background-image: url("@/assets/img/icon/menu/set_active.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } + &:disabled { + background-image: url("@/assets/img/icon/menu/set_disabled.png"); + background-repeat: no-repeat !important; + background-size: auto 100% !important; + background-position: center center; + } +} + diff --git a/packages/renderer/src/main.ts b/packages/renderer/src/main.ts new file mode 100644 index 00000000..b7ab42b8 --- /dev/null +++ b/packages/renderer/src/main.ts @@ -0,0 +1,35 @@ +import { createApp } from "vue" +import router from "./router" +import { pinia } from "./store" +import App from "@/pages/index.vue" + +import "uno.css" + +import "@curev/sprite.css" + +import "./app.scss" +import "./char-img.scss" + +if (!window.removeLoading) { + window.removeLoading = () => {} +} + +const appContainer = document.createElement("div") + +if (!window.pywebview) { + appContainer.setAttribute("style", "text-rendering: geometricPrecision;letter-spacing: -0.1px;") +} + +document.body.appendChild(appContainer) + +createApp(App).use(pinia).use(router).mount(appContainer) + +setTimeout(window.removeLoading, 1500) + +// console.log('fs', window.fs) +// console.log('ipcRenderer', window.pywebview) + +// Usage of ipcRenderer.on +// window.pywebview.on("main-process-message", (_event, ...args) => { +// console.log("[Receive Main-process message]:", ...args); +// }); diff --git a/packages/renderer/src/pages/access.vue b/packages/renderer/src/pages/access.vue new file mode 100644 index 00000000..672926ef --- /dev/null +++ b/packages/renderer/src/pages/access.vue @@ -0,0 +1,25 @@ + diff --git a/packages/renderer/src/pages/auth.vue b/packages/renderer/src/pages/auth.vue new file mode 100644 index 00000000..42127c33 --- /dev/null +++ b/packages/renderer/src/pages/auth.vue @@ -0,0 +1,48 @@ + + + diff --git a/packages/renderer/src/pages/character/asrahan/list.vue b/packages/renderer/src/pages/character/asrahan/list.vue new file mode 100644 index 00000000..43286cfb --- /dev/null +++ b/packages/renderer/src/pages/character/asrahan/list.vue @@ -0,0 +1,139 @@ + diff --git a/packages/renderer/src/pages/character/comparison/index.vue b/packages/renderer/src/pages/character/comparison/index.vue new file mode 100644 index 00000000..8fe76f62 --- /dev/null +++ b/packages/renderer/src/pages/character/comparison/index.vue @@ -0,0 +1,510 @@ + + + + + diff --git a/packages/renderer/src/pages/character/config/import.vue b/packages/renderer/src/pages/character/config/import.vue new file mode 100644 index 00000000..88dfa9ea --- /dev/null +++ b/packages/renderer/src/pages/character/config/import.vue @@ -0,0 +1,99 @@ + diff --git a/packages/renderer/src/pages/character/config/share.vue b/packages/renderer/src/pages/character/config/share.vue new file mode 100644 index 00000000..a869aaa1 --- /dev/null +++ b/packages/renderer/src/pages/character/config/share.vue @@ -0,0 +1,110 @@ + diff --git a/packages/renderer/src/pages/character/customize/customize.vue b/packages/renderer/src/pages/character/customize/customize.vue new file mode 100644 index 00000000..9aa59cd0 --- /dev/null +++ b/packages/renderer/src/pages/character/customize/customize.vue @@ -0,0 +1,301 @@ + + + + + diff --git a/packages/renderer/src/pages/character/customize/list.vue b/packages/renderer/src/pages/character/customize/list.vue new file mode 100644 index 00000000..c53dc3a9 --- /dev/null +++ b/packages/renderer/src/pages/character/customize/list.vue @@ -0,0 +1,314 @@ + diff --git a/packages/renderer/src/pages/character/detail/detail.vue b/packages/renderer/src/pages/character/detail/detail.vue new file mode 100644 index 00000000..619d1aa1 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/detail.vue @@ -0,0 +1,92 @@ + + + diff --git a/packages/renderer/src/pages/character/detail/sub/clothes.vue b/packages/renderer/src/pages/character/detail/sub/clothes.vue new file mode 100644 index 00000000..3c7f5e2e --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/clothes.vue @@ -0,0 +1,215 @@ + diff --git a/packages/renderer/src/pages/character/detail/sub/corrections.vue b/packages/renderer/src/pages/character/detail/sub/corrections.vue new file mode 100644 index 00000000..743bb425 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/corrections.vue @@ -0,0 +1,30 @@ + diff --git a/packages/renderer/src/pages/character/detail/sub/equip.vue b/packages/renderer/src/pages/character/detail/sub/equip.vue new file mode 100644 index 00000000..5fbd7a44 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/equip.vue @@ -0,0 +1,340 @@ + + + diff --git a/packages/renderer/src/pages/character/detail/sub/jade.vue b/packages/renderer/src/pages/character/detail/sub/jade.vue new file mode 100644 index 00000000..a36b3537 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/jade.vue @@ -0,0 +1,132 @@ + diff --git a/packages/renderer/src/pages/character/detail/sub/medal.vue b/packages/renderer/src/pages/character/detail/sub/medal.vue new file mode 100644 index 00000000..090f1776 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/medal.vue @@ -0,0 +1,80 @@ + diff --git a/packages/renderer/src/pages/character/detail/sub/others.vue b/packages/renderer/src/pages/character/detail/sub/others.vue new file mode 100644 index 00000000..b0287f0c --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/others.vue @@ -0,0 +1,236 @@ + + + diff --git a/packages/renderer/src/pages/character/detail/sub/petequ.vue b/packages/renderer/src/pages/character/detail/sub/petequ.vue new file mode 100644 index 00000000..cbe32ebf --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/petequ.vue @@ -0,0 +1,64 @@ + diff --git a/packages/renderer/src/pages/character/detail/sub/special.vue b/packages/renderer/src/pages/character/detail/sub/special.vue new file mode 100644 index 00000000..4594d339 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/sub/special.vue @@ -0,0 +1,40 @@ + diff --git a/packages/renderer/src/pages/character/detail/type.ts b/packages/renderer/src/pages/character/detail/type.ts new file mode 100644 index 00000000..33de4581 --- /dev/null +++ b/packages/renderer/src/pages/character/detail/type.ts @@ -0,0 +1,18 @@ +export interface IDetailInfo { + // 部位 + position: string + // 附魔 + fumo: number + // 徽章 + huizhang?: number[] + // 增幅类型 + zftype?: number + // 增幅数值 + zfnu?: number + // 成长数值 + growth?: number[] + // 锻造 + dznumber?: number + // 改造 + gznumber?: number +} diff --git a/packages/renderer/src/pages/character/equipment/equipment.vue b/packages/renderer/src/pages/character/equipment/equipment.vue new file mode 100644 index 00000000..d6557108 --- /dev/null +++ b/packages/renderer/src/pages/character/equipment/equipment.vue @@ -0,0 +1,253 @@ + + + diff --git a/packages/renderer/src/pages/character/equipment/trigger.vue b/packages/renderer/src/pages/character/equipment/trigger.vue new file mode 100644 index 00000000..33a7d4fb --- /dev/null +++ b/packages/renderer/src/pages/character/equipment/trigger.vue @@ -0,0 +1,54 @@ + + + diff --git a/packages/renderer/src/pages/character/main.vue b/packages/renderer/src/pages/character/main.vue new file mode 100644 index 00000000..c3bbfd94 --- /dev/null +++ b/packages/renderer/src/pages/character/main.vue @@ -0,0 +1,315 @@ + + + diff --git a/packages/renderer/src/pages/character/merge/list.vue b/packages/renderer/src/pages/character/merge/list.vue new file mode 100644 index 00000000..787d8c87 --- /dev/null +++ b/packages/renderer/src/pages/character/merge/list.vue @@ -0,0 +1,292 @@ + diff --git a/packages/renderer/src/pages/character/merge/merge.vue b/packages/renderer/src/pages/character/merge/merge.vue new file mode 100644 index 00000000..fc99a701 --- /dev/null +++ b/packages/renderer/src/pages/character/merge/merge.vue @@ -0,0 +1,173 @@ + + + + + diff --git a/packages/renderer/src/pages/character/share/index.vue b/packages/renderer/src/pages/character/share/index.vue new file mode 100644 index 00000000..3db6af15 --- /dev/null +++ b/packages/renderer/src/pages/character/share/index.vue @@ -0,0 +1,519 @@ + + + diff --git a/packages/renderer/src/pages/character/singleset/edictionary.vue b/packages/renderer/src/pages/character/singleset/edictionary.vue new file mode 100644 index 00000000..fb1c281d --- /dev/null +++ b/packages/renderer/src/pages/character/singleset/edictionary.vue @@ -0,0 +1,737 @@ + + + diff --git a/packages/renderer/src/pages/character/singleset/favorites.vue b/packages/renderer/src/pages/character/singleset/favorites.vue new file mode 100644 index 00000000..5018cbd3 --- /dev/null +++ b/packages/renderer/src/pages/character/singleset/favorites.vue @@ -0,0 +1,160 @@ + diff --git a/packages/renderer/src/pages/character/singleset/recommends.vue b/packages/renderer/src/pages/character/singleset/recommends.vue new file mode 100644 index 00000000..c629627e --- /dev/null +++ b/packages/renderer/src/pages/character/singleset/recommends.vue @@ -0,0 +1,108 @@ + diff --git a/packages/renderer/src/pages/character/singleset/singleset.vue b/packages/renderer/src/pages/character/singleset/singleset.vue new file mode 100644 index 00000000..d1296e42 --- /dev/null +++ b/packages/renderer/src/pages/character/singleset/singleset.vue @@ -0,0 +1,330 @@ + + + + + diff --git a/packages/renderer/src/pages/character/skills/skills.vue b/packages/renderer/src/pages/character/skills/skills.vue new file mode 100644 index 00000000..75b3bad6 --- /dev/null +++ b/packages/renderer/src/pages/character/skills/skills.vue @@ -0,0 +1,274 @@ + + + diff --git a/packages/renderer/src/pages/character/skills/sub/cp.vue b/packages/renderer/src/pages/character/skills/sub/cp.vue new file mode 100644 index 00000000..549d7dba --- /dev/null +++ b/packages/renderer/src/pages/character/skills/sub/cp.vue @@ -0,0 +1,94 @@ + + + diff --git a/packages/renderer/src/pages/character/skills/sub/list.vue b/packages/renderer/src/pages/character/skills/sub/list.vue new file mode 100644 index 00000000..35c59ebc --- /dev/null +++ b/packages/renderer/src/pages/character/skills/sub/list.vue @@ -0,0 +1,215 @@ + + + diff --git a/packages/renderer/src/pages/character/skills/sub/options.vue b/packages/renderer/src/pages/character/skills/sub/options.vue new file mode 100644 index 00000000..304cf9e0 --- /dev/null +++ b/packages/renderer/src/pages/character/skills/sub/options.vue @@ -0,0 +1,26 @@ + diff --git a/packages/renderer/src/pages/character/skills/sub/que.vue b/packages/renderer/src/pages/character/skills/sub/que.vue new file mode 100644 index 00000000..3b55feb3 --- /dev/null +++ b/packages/renderer/src/pages/character/skills/sub/que.vue @@ -0,0 +1,83 @@ + + + diff --git a/packages/renderer/src/pages/character/skills/sub/utils.ts b/packages/renderer/src/pages/character/skills/sub/utils.ts new file mode 100644 index 00000000..65b9c898 --- /dev/null +++ b/packages/renderer/src/pages/character/skills/sub/utils.ts @@ -0,0 +1,3 @@ +export function skill_icon(alter: string, skillName: string) { + return `/images/characters/${alter}/skill/${skillName}.png` +} diff --git a/packages/renderer/src/pages/character/specificity/cn.vue b/packages/renderer/src/pages/character/specificity/cn.vue new file mode 100644 index 00000000..f3f4c328 --- /dev/null +++ b/packages/renderer/src/pages/character/specificity/cn.vue @@ -0,0 +1,172 @@ + + + diff --git a/packages/renderer/src/pages/character/specificity/index.vue b/packages/renderer/src/pages/character/specificity/index.vue new file mode 100644 index 00000000..5ce001dc --- /dev/null +++ b/packages/renderer/src/pages/character/specificity/index.vue @@ -0,0 +1,32 @@ + + + diff --git a/packages/renderer/src/pages/character/specificity/kr.vue b/packages/renderer/src/pages/character/specificity/kr.vue new file mode 100644 index 00000000..21438680 --- /dev/null +++ b/packages/renderer/src/pages/character/specificity/kr.vue @@ -0,0 +1,409 @@ + + + diff --git a/packages/renderer/src/pages/character/stone/list.vue b/packages/renderer/src/pages/character/stone/list.vue new file mode 100644 index 00000000..c6436d1e --- /dev/null +++ b/packages/renderer/src/pages/character/stone/list.vue @@ -0,0 +1,197 @@ + + + diff --git a/packages/renderer/src/pages/home.vue b/packages/renderer/src/pages/home.vue new file mode 100644 index 00000000..9df8943b --- /dev/null +++ b/packages/renderer/src/pages/home.vue @@ -0,0 +1,308 @@ + + + diff --git a/packages/renderer/src/pages/index.vue b/packages/renderer/src/pages/index.vue new file mode 100644 index 00000000..cf55c7e2 --- /dev/null +++ b/packages/renderer/src/pages/index.vue @@ -0,0 +1,117 @@ + + + diff --git a/packages/renderer/src/pages/rank.vue b/packages/renderer/src/pages/rank.vue new file mode 100644 index 00000000..1a2cc390 --- /dev/null +++ b/packages/renderer/src/pages/rank.vue @@ -0,0 +1,279 @@ + + + + + diff --git a/packages/renderer/src/pages/ranking.vue b/packages/renderer/src/pages/ranking.vue new file mode 100644 index 00000000..0443aa3a --- /dev/null +++ b/packages/renderer/src/pages/ranking.vue @@ -0,0 +1,120 @@ + + + diff --git a/packages/renderer/src/pages/result.vue b/packages/renderer/src/pages/result.vue new file mode 100644 index 00000000..56441add --- /dev/null +++ b/packages/renderer/src/pages/result.vue @@ -0,0 +1,535 @@ + + + diff --git a/packages/renderer/src/pages/set.vue b/packages/renderer/src/pages/set.vue new file mode 100644 index 00000000..d9a8ed33 --- /dev/null +++ b/packages/renderer/src/pages/set.vue @@ -0,0 +1,74 @@ + + + diff --git a/packages/renderer/src/pages/skillinfo.vue b/packages/renderer/src/pages/skillinfo.vue new file mode 100644 index 00000000..9d9a7452 --- /dev/null +++ b/packages/renderer/src/pages/skillinfo.vue @@ -0,0 +1,382 @@ + + + + + diff --git a/packages/renderer/src/pages/update.vue b/packages/renderer/src/pages/update.vue new file mode 100644 index 00000000..1eec6857 --- /dev/null +++ b/packages/renderer/src/pages/update.vue @@ -0,0 +1,120 @@ + + + diff --git a/packages/renderer/src/router/index.ts b/packages/renderer/src/router/index.ts new file mode 100644 index 00000000..19e7aa73 --- /dev/null +++ b/packages/renderer/src/router/index.ts @@ -0,0 +1,137 @@ +import { defineAsyncComponent } from "vue" +import type { RouteRecordRaw } from "vue-router" +import { createRouter, createWebHistory } from "vue-router" + +const routes: RouteRecordRaw[] = [ + { + path: "/:pathMatch(.*)", + redirect: "/" + }, + { + path: "/", + name: "home", + component: defineAsyncComponent((() => import("@/pages/home.vue"))) + }, + { + path: "/auth", + name: "auth", + component: defineAsyncComponent((() => import("@/pages/auth.vue"))) + }, + { + path: "/set", + name: "set", + component: defineAsyncComponent(() => import("@/pages/set.vue")) + }, + { + path: "/skillinfo", + name: "skillinfo", + component: defineAsyncComponent(() => import("@/pages/skillinfo.vue")) + }, + { + path: "/character", + redirect: "/character/singleset", + name: "main", + component: defineAsyncComponent(() => import("@/pages/character/main.vue")), + children: [ + { + path: "/character/skills", + name: "skills", + component: defineAsyncComponent(() => import("@/pages/character/skills/skills.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/equips", + name: "equipment", + component: defineAsyncComponent(() => import("@/pages/character/equipment/equipment.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/profile", + name: "profile", + component: defineAsyncComponent(() => import("@/pages/character/detail/detail.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/customize", + name: "customize", + component: defineAsyncComponent(() => import("@/pages/character/customize/customize.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/singleset", + name: "singleset", + component: defineAsyncComponent(() => import("@/pages/character/singleset/singleset.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/merge", + name: "merge", + component: defineAsyncComponent(() => import("@/pages/character/merge/merge.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/comparison", + name: "comparison", + component: defineAsyncComponent(() => import("@/pages/character/comparison/index.vue")), + meta: { + keepAlive: true + } + }, + { + path: "/character/specificity", + name: "specificity", + component: defineAsyncComponent(() => import("@/pages/character/specificity/index.vue")), + meta: { + keepAlive: true + } + } + ] + }, + { + path: "/result", + name: "result", + component: defineAsyncComponent(() => import("@/pages/result.vue")) + }, + { + path: "/share", + name: "share", + component: defineAsyncComponent(() => import("@/pages/character/share/index.vue")) + }, + { + path: "/ranking", + name: "ranking", + component: defineAsyncComponent(() => import("@/pages/ranking.vue")) + }, + // { + // path: "/rank", + // name: "rank", + // component: defineAsyncComponent(() => import("@/pages/rank.vue")) + // }, + { + path: "/access", + name: "access", + component: defineAsyncComponent(() => import("@/pages/access.vue")) + } +] + + + +const router = createRouter({ + // routes, + routes, + history: createWebHistory(import.meta.env.BASE_URL) +}) + +export default router diff --git a/packages/renderer/src/store/app.ts b/packages/renderer/src/store/app.ts new file mode 100644 index 00000000..473214d1 --- /dev/null +++ b/packages/renderer/src/store/app.ts @@ -0,0 +1,62 @@ +import api from "@/api"; +import { decrypt, getSession } from "@/utils"; +import { asyncComputed } from "@vueuse/core"; +import { defineStore } from "pinia"; +import { computed, ref } from "vue"; + +export const useAppStore = defineStore("app", () => { + const title = ref("DNF计算器 & Colg"); + const uid = ref(-1); + const id = ref(); + const head = ref(false); + const m_mode = ref(true); + const tryChange = ref(false); + const relesh = ref(0); + + window.addEventListener("setItem", async () => { + // 当sessionStorage 中的lang值发生变化, 给组件中的值重新赋值 + const info = decrypt((await getSession("uid")) ?? "-1") + uid.value = info?.uid ?? -1 + }); + + const minimize = () => { + if (window.pywebview) { + window.pywebview.api.invoke("minimize-win"); + } else { + // 向父窗口发送消息 + window.parent.postMessage("minimize", "*"); + } + }; + const close = () => { + if (window.pywebview) { + window.pywebview.api.invoke("close-win"); + } else { + // 向父窗口发送消息 + window.parent.postMessage("close", "*"); + } + }; + + const userInfo = asyncComputed(async () => { + if (uid.value > 0) return await api.checkUID(uid.value, relesh.value); + else + return { + uid: -1, + userName: "", + reason: "尚未登录colg", + show: false, + }; + }); + + return { + uid, + title, + id, + head, + minimize, + close, + m_mode, + tryChange, + userInfo, + relesh, + }; +}); diff --git a/packages/renderer/src/store/basicInfo.ts b/packages/renderer/src/store/basicInfo.ts new file mode 100644 index 00000000..546d7831 --- /dev/null +++ b/packages/renderer/src/store/basicInfo.ts @@ -0,0 +1,83 @@ +import { defineStore } from "pinia" +import { computed } from "vue" +import { asyncComputed, useAsyncState } from "@vueuse/core" +import { useCharacterStore } from "./character" +import api from "@/api" + +export const useBasicInfoStore = defineStore("basicInfo", () => { + const { state: equipment_info, execute: loadEquips } = useAsyncState(api.equips, + null, + { immediate: false, resetOnExecute: false } + ) + + + const equipment_list = computed(() => { + const info = equipment_info.value + return info ? [...(info?.lv110 ?? []), ...(info?.myth ?? []), ...(info?.weapon ?? []), ...(info?.wisdom ?? []), ...(info?.title ?? []), ...(info?.pet ?? [])] : [] + }) + + + const equipment_ids = computed(() => equipment_list.value.map(item => item.id)) + + const { state: trigger_list, execute: loadTriggers } = useAsyncState(api.triggers, + null, + { immediate: false, resetOnExecute: false } + ) + + const { state: entry_list, execute: loadEntries } = useAsyncState(api.entries, + null, + { immediate: false, resetOnExecute: false } + ) + + const use_count = asyncComputed(async () => await api.useCount(useCharacterStore().alter), null, { lazy: true }) + + const details = computed(() => { + const { platinum, jade, dress, sundries, emblem, enchanting } = useCharacterStore() + return { jade, sundries, dress, emblem, enchanting, platinum } + }) + + const { state: monster_list, execute: loadMonsters } = useAsyncState(api.monsters, + null, + { immediate: false, resetOnExecute: false } + ) + + const { state: scenes_list, execute: loadScenes } = useAsyncState(api.scenes, + null, + { immediate: false, resetOnExecute: false } + ) + + const get_equipment_detail = async (equ_id: ID, sj: boolean, carry: boolean, fusion_upgrade: boolean) => (await api.equipmentDetail(equ_id, sj, carry, fusion_upgrade))?.data + + const getEquip = (id?: ID) => { + if (id) { + return equipment_list.value.find(e => e.id == id) + } + } + + const load = () => { + return Promise.all([ + loadEquips(), + loadTriggers(), + loadEntries(), + loadMonsters(), + loadScenes() + ]) + } + + return { + loadEquips, + loadEntries, + equipment_info, + equipment_list, + equipment_ids, + trigger_list, + entry_list, + details, + monster_list, + scenes_list, + get_equipment_detail, + getEquip, + load, + use_count + } +}) diff --git a/packages/renderer/src/store/character.ts b/packages/renderer/src/store/character.ts new file mode 100644 index 00000000..4a802f1f --- /dev/null +++ b/packages/renderer/src/store/character.ts @@ -0,0 +1,91 @@ +import { defineStore } from "pinia" +import { useBasicInfoStore } from "./basicInfo" +import { useAppStore } from "./app" +import { useGlobalStore } from "./global" +import api from "@/api" +import type { ICharacterInfo } from "@/api/character/type" +import { useConfigStore } from "@/store/config" + +export interface CharacterInfo extends ICharacterInfo { + // 基础信息 + calc_token: string + alter_detail: string + equ_version: string +} + +export const useCharacterStore = defineStore("CharacterInfo", { + state(): CharacterInfo { + return { + specificity: [], + especificity: [], + asrahan: [], + alter: "", + name: "", + skills: [], + individuation: [], + character: "", + role: "delear", + weapon_types: [], + carry_type_list: [], + armor: "", + armor_mastery: [], + buff_ratio: 0, + rune: [], + platinum: [], + config: "set", + clothes_coat: [], + clothes_pants: [], + talisman: [], + calc_token: "", + version: "", + enchanting: [], + emblem: [], + dress: {}, + jade: [], + sundries: [], + char_optiopns: [], + alter_detail: "", + equ_version: "" + } + }, + getters: { + is_buffer(state) { + return state.role === "buffer" + }, + is_delear(state) { + return state.role !== "buffer" + } + }, + actions: { + async newCharacter(alter: string, version?: string, equVersion?: string) { + const configStore = useConfigStore() + const info = useBasicInfoStore() + const token = await api.getToken(alter, version, equVersion) + configStore.$patch({ token }) + + configStore.$patch({ alter, name: "set" }) + + Promise.all([api.getCharacter(), info.load(), configStore.load()]).then(res => { + this.$patch(res[0]) + }) + + useAppStore().userInfo; + + this.alter_detail = alter + }, + async reload() { + const configStore = useConfigStore() + const globalStore = useGlobalStore() + configStore.save() + globalStore.global_set_details = await globalStore.execute() + await this.newCharacter(this.alter_detail, "", globalStore.global_set_details[1].toString()) + }, + calc() { + this.calc_token = new Date().getTime().toString() + }, + async load() { + const state = await api.getCharacter() + this.$patch(state) + } + } +}) diff --git a/packages/renderer/src/store/config.ts b/packages/renderer/src/store/config.ts new file mode 100644 index 00000000..422655c2 --- /dev/null +++ b/packages/renderer/src/store/config.ts @@ -0,0 +1,392 @@ +import { defineStore } from "pinia" +import { useAppStore, useBasicInfoStore, useCharacterStore, useDetailsStore } from "." +import api from "@/api" +import type { IResultInfo, ISkillInfo } from "@/api/character/type" +import type { ICharacterSet, IRecommendEquip, IRecommendInfo, IRecommendRequest } from "@/api/info/type" +import { getUuid, toMap, toObj } from "@/utils" +import { isLocalMode } from "@/utils/env" +import { safeParse } from "@/utils/json" +import app from "@/api/app" + +interface ConfigState extends ICharacterSet { + name: string + alter: string + token: string + uid: number + _configlist: string[] | undefined +} + +function getLocalFavorites(alter: string, pagination: IRecommendRequest): PagingData { + const favorites = safeParse(localStorage.getItem(`dcalc/${alter}/favorites`), []) as IRecommendInfo[] + const totalCount = favorites.length + const data = favorites.slice((pagination.page - 1) * pagination.size, pagination.page * pagination.size) + return { totalCount, data, pageIndex: pagination.page, pageSize: pagination.size } +} + +function addLocalFavorites(alter: string, favorite: Omit) { + const favorites = safeParse(localStorage.getItem(`dcalc/${alter}/favorites`), []) + favorites.push({ + ...favorite, + id: getUuid() + }) + localStorage.setItem(`dcalc/${alter}/favorites`, JSON.stringify(favorites)) +} + +function deleteLocalFavorites(alter: string, id: ID) { + const favorites = safeParse(localStorage.getItem(`dcalc/${alter}/favorites`), []) + const index = favorites.findIndex((item: IRecommendInfo) => item.id == id) + if (index > -1) { + favorites.splice(index, 1) + localStorage.setItem(`dcalc/${alter}/favorites`, JSON.stringify(favorites)) + } +} + +export const useConfigStore = defineStore("config", { + state: (): ConfigState => { + return { + name: "", + alter: "", + carry_type: "", + attack_attribute: 0, + skill_set: [], + forge_set: {}, + dress_set: {}, + single_set: [], + comparison: [], + equip_list: [], + fusion_list: [], + wisdom_list: [], + myths_list: [], + lv110_list: [], + consumable_list: [], + weapons_list: [], + trigger_set: {}, + skill_que: [], + title_list: [], + pet_list: [], + stone_set:{}, + token: "", + uid: -1, + _configlist: undefined, + customize: {}, + merge: {}, + rune_set: [], + talisman_set: [], + buff_ratio: 0, + hotkey_set: [], + monster: 2, + scene: 1, + individuation: [], + specificity_list: [], + specificity: {}, + corrections: { + 四维: 0, + 三攻: 0, + 技攻: 0, + 攻击强化: 0, + BUFF量: 0, + 攻击强化百分比: 0, + BUFF量百分比: 0, + 攻速: 0, + 火强: 0, + 光强: 0, + 冰强: 0, + 暗强: 0, + 火抗: 0, + 冰抗: 0, + 暗抗: 0, + 光抗: 0 + }, + asrahan: { + lv: 0, + type: -1, + additional: 0 + } + } + }, + getters: { + config_list(state) { + if (!state._configlist) { + api.getConfigList().then(res => (state._configlist = res)) + } + state._configlist?.push("新建存档") + return state._configlist + }, + equ_sort(state) { + const temp: number[][] = [] + const equs = useBasicInfoStore().equipment_list + const parts = ["称号", "宠物", "武器", "上衣", "头肩", "下装", "腰带", "鞋", "手镯", "项链", "戒指", "辅助装备", "魔法石", "耳环"] + const lists = [...state.wisdom_list, ...state.myths_list, ...state.lv110_list, ...this.weapons_list, ...this.pet_list, ...this.title_list] + parts.forEach(part => { + temp.push(equs.filter(a => a.part == part && lists.includes(a.id as number)).map(a => a.id as number) ?? []) + }) + return temp + }, + data(state) { + return { + comparison: state.comparison, + single_set: state.single_set, + equip_list: (this as any).equ_sort, + fusion_list: state.fusion_list, + stone_set:state.stone_set, + carry_type: state.carry_type, + attack_attribute: state.attack_attribute, + skill_set: state.skill_set, + forge_set: state.forge_set, + dress_set: state.dress_set, + trigger_set: state.trigger_set, + skill_que: state.skill_que.map((r, id) => { + return { + ...r, + id + } + }), + wisdom_list: state.wisdom_list, + myths_list: state.myths_list, + title_list: state.title_list, + pet_list: state.pet_list, + weapons_list: state.weapons_list, + lv110_list: state.lv110_list, + consumable_list: state.consumable_list, + customize: state.customize, + rune_set: state.rune_set, + talisman_set: state.talisman_set, + buff_ratio: Number(state.buff_ratio), + hotkey_set: state.hotkey_set, + monster: state.monster, + scene: state.scene, + individuation: state.individuation, + corrections: state.corrections, + merge: state.merge, + specificity_list: state.specificity_list, + specificity: state.specificity, + asrahan: state.asrahan + } + } + }, + actions: { + async load() { + if (isLocalMode()) { + const alter = this.alter.split(".").pop() ?? "" + let data = JSON.parse(localStorage.getItem(`dcalc/${alter}/sets`) ?? "{}") + if (Object.keys(data).length == 0 || !data?.single_set || (data?.single_set ?? [])?.length == 0 || !data.buff_ratio) { + data = await api.defaultConfig(alter).then(res => { + const sets = toMap(res, ["trigger_set", "customize", "buff_ratio", "dress_set", "corrections", "merge", "specificity", "asrahan","stone_set"]) as ICharacterSet + this.$patch(sets) + return res + }) + } + return await api.checkConfig(data).then(res => { + const temp = toMap(res, ["trigger_set", "customize", "buff_ratio", "dress_set", "corrections", "merge", "specificity", "asrahan","stone_set"]) as ICharacterSet + // data.dress_set = Object.entries(data.dress_set) + this.$patch(temp) + return temp + }) + } + + return await api.getConfig("set").then(res => { + const data = toMap(res, ["trigger_set", "customize", "buff_ratio", "dress_set", "corrections", "merge", "specificity", "asrahan","stone_set"]) as ICharacterSet + this.$patch(data) + return data + }) + }, + async switch(name: string) { + await this.save() + this.name = name + await api.switchConfig(this.name) + }, + async save() { + const data = toObj((this as any).data) as ConfigState + if (window.pywebview) { + if ((data.skill_que.length > 0 && data.buff_ratio > 0) || (useCharacterStore().is_buffer && data.single_set && data.single_set.length > 0)) { + await api.saveConfig({ setName: "set", setInfo: data }) + } + } else { + if ((data.skill_que.length > 0 && data.buff_ratio > 0) || (useCharacterStore().is_buffer && data.single_set && data.single_set.length > 0)) { + const alter = this.alter.split(".") + localStorage.setItem(`dcalc/${alter.at(-1)}/sets`, JSON.stringify(data)) + } + } + }, + async set(name: string, item: Record) { + (this as any)[name] = item + }, + async calc( + single: boolean = false, + _withJade: boolean = false, + CalCusID: number = 0, + CalMergeID: number = 0, + ComparisonList: Record = {}, + AnalysisID: number = 0 + ): Promise { + const limit = window.pywebview ? 1 : 12 + if (single && (this as any).data.single_set.length < limit) { + return { + id: undefined, + role: "delear", + equips: [], + name: "", + alter: "", + skills: {}, + total_data: [], + info: undefined, + skills_passive: undefined, + jade: undefined, + equips_forge: {}, + customize: {}, + merge: {}, + fusion_list: [], + merge_list: {}, + specificity: {} + } + } + + const res = await api.calc( + { + setInfo: toObj((this as any).data), + setName: this.name, + // withCus: withCus, + withJade: false, + // withMerge: withMerge, + CalCusID: !this.single_set.includes(CalCusID) ? 0 : CalCusID, + CalMergeID: !this.single_set.includes(CalMergeID) ? 0 : CalMergeID, + ComparisonList, + AnalysisID + }, + single + ) + const detailsStore = useDetailsStore() + const appStore = useAppStore() + if(! (appStore.userInfo?.show ?? false) && process.env.NODE_ENV != "development" && import.meta.env.MODE != "show" && res.role=="delear" && !detailsStore.standard_uuid && res.total_data[0] > 0){ + sessionStorage.setItem(res.id?.toString() ?? "", JSON.stringify(res)) + detailsStore.setStandard(res.id) + } + + return res + }, + async calc_mobile(): Promise { + return await api.calc_m({ + single_set: this.single_set, + merge: this.merge, + fusion_list: this.fusion_list, + customize: this.customize, + specificity_list: this.specificity_list, + specificity: this.specificity + }) + }, + getSkill(skill: string) { + return this.skill_set.find(item => item.name == skill) + }, + setForge(part: string, key: string, value: any) { + if (!this.forge_set[part]) { + this.forge_set[part] = new Map() + } + const map = this.forge_set[part] + map.set(key, value) + }, + getForge(part: string, key: string) { + if (this.forge_set[part]) { + const map = this.forge_set[part] + return map.get(key) + } + }, + setDress(part: string, id: number, option: string) { + this.dress_set[part] = { id, option } + }, + getDress(part: string) { + return this.dress_set[part] + }, + + addSingle(id: ID, toggle = false) { + const basicStore = useBasicInfoStore() + const newEquip = basicStore.getEquip(id) + if (!newEquip) { + return + } + if (toggle) { + const index = this.single_set.indexOf(id) + if (index > -1) { + this.single_set.splice(index, 1) + return + } + } + this.single_set.push(id) + this.trimSingle() + }, + + importSingle(ids: ID[]) { + const basicStore = useBasicInfoStore() + ids = ids.filter(id => basicStore.equipment_ids.includes(id)) + if (ids.length == 0) { + return + } + this.single_set.push(...ids) + this.trimSingle() + }, + + trimSingle() { + const basicStore = useBasicInfoStore() + const map = new Map() + for (const id of this.single_set) { + const equip = basicStore.getEquip(id) + if (equip) { + map.set(equip.part, id) + } + } + this.single_set = [...map.values()].sort((a, b) => Number(a) - Number(b)) + }, + addSkillQueue(skill: ISkillInfo) { + this.skill_que.push({ name: skill.name, mode: skill.mode?.[0] ?? "", modes: skill.mode }) + }, + async getFavorites(params: IRecommendRequest) { + if (isLocalMode()) { + const alter = this.alter.split(".").pop() ?? "" + return getLocalFavorites(alter, params) + } + return await api.favorites(params) + }, + async deleteFavorite(id: ID) { + if (isLocalMode()) { + const alter = this.alter.split(".").pop() ?? "" + deleteLocalFavorites(alter, id) + } else { + await api.deleteFavorites(id) + } + }, + async getCombinations(alter: string) { + return await api.combinations(alter) + }, + async addFavorite(name: string) { + const favorite: Omit = { name, equips: [], fusion: [] } + this.single_set.forEach(item => { + item = item ?? "" + const temp: IRecommendEquip = { id: item } + temp.merge = this.merge[item.toString()] ?? [] + temp.props = this.customize[item.toString()] ?? [] + favorite.equips.push(temp) + }) + favorite.fusion = this.fusion_list + favorite.specificity = this.specificity + if (isLocalMode()) { + const alter = this.alter.split(".").pop() ?? "" + addLocalFavorites(alter, favorite) + } else { + await api.addFavorites(favorite) + } + }, + async getAllConfig() { + if (window.pywebview) { + return await api.getAllConfig() + } else { + const res = {} + for (let i = 0; i < localStorage.length; i++) { + const key = localStorage.key(i) + if (key && key.includes("dcalc") && !key.includes("global")) { + (res as any)[key] = JSON.parse(localStorage.getItem(key) ?? "{}") + } + } + return res + } + } + } +}) diff --git a/packages/renderer/src/store/details.ts b/packages/renderer/src/store/details.ts new file mode 100644 index 00000000..afb27db0 --- /dev/null +++ b/packages/renderer/src/store/details.ts @@ -0,0 +1,36 @@ +import { defineStore } from "pinia" +import type { IAnyResultInfo } from "./../api/character/type" +import api from "@/api" + +interface IDetailStore { + display_parts: string[] + standard_uuid: ID + _standard?: IAnyResultInfo +} + +export const useDetailsStore = defineStore("details", { + state: (): IDetailStore => { + return { + display_parts: ["头肩", "上衣", "下装", "腰带", "鞋", "武器", "称号", "手镯", "项链", "辅助装备", "戒指", "耳环", "魔法石", "宠物"], + standard_uuid: undefined, + _standard: undefined + } + }, + + actions: { + setStandard(uuid: ID) { + this.standard_uuid = uuid + this._standard = undefined + } + }, + getters: { + standard(state) { + if (!state._standard && state.standard_uuid) { + if (window.pywebview) { + api.getResult(state.standard_uuid as string).then(res => (state._standard = res)) + } else { state._standard = JSON.parse(sessionStorage.getItem(state.standard_uuid as string) ?? "{}") } + } + return state._standard + } + } +}) diff --git a/packages/renderer/src/store/global.ts b/packages/renderer/src/store/global.ts new file mode 100644 index 00000000..37eb5c79 --- /dev/null +++ b/packages/renderer/src/store/global.ts @@ -0,0 +1,34 @@ +import { defineStore } from "pinia" +import { asyncComputed, useAsyncState } from "@vueuse/core" +import { computed } from "vue" +import api from "@/api" + +export const useGlobalStore = defineStore("global", () => { + const global_set_info = asyncComputed(async () => { + const temp = api.getGlobalInfo() + return temp + }) + + const global_info = useAsyncState(async () => { + let cur_details = JSON.parse(localStorage.getItem("dcalc/global") ?? "[]") + + if (window.pywebview) { + cur_details = [] + } + const temp = await api.getGlobalDetail(cur_details.length == 0 ? undefined : cur_details) + localStorage.setItem("dcalc/global", JSON.stringify(temp)) + return temp + }, []) + + const { state: global_set_details, isReady, execute } = global_info + + const equVersion = computed(() => global_set_details.value[1] == global_set_info.value[1].items[0].value) + + return { + global_set_info, + global_set_details, + isReady, + execute, + equVersion + } +}) diff --git a/packages/renderer/src/store/index.ts b/packages/renderer/src/store/index.ts new file mode 100644 index 00000000..3f720b58 --- /dev/null +++ b/packages/renderer/src/store/index.ts @@ -0,0 +1,9 @@ +import { createPinia } from "pinia" +export * from "./character" +export * from "./basicInfo" +export * from "./details" +export * from "./config" +export * from "./app" +export * from "./global" + +export const pinia = createPinia() diff --git a/packages/renderer/src/store/user.ts b/packages/renderer/src/store/user.ts new file mode 100644 index 00000000..cccb8fb9 --- /dev/null +++ b/packages/renderer/src/store/user.ts @@ -0,0 +1,11 @@ +import { defineStore } from "pinia"; + + +export const useUserStore = defineStore("user", { + actions: { + isAuthenticated() { + + } + + } +}) diff --git a/packages/renderer/src/types.d.ts b/packages/renderer/src/types.d.ts new file mode 100644 index 00000000..e23cf211 --- /dev/null +++ b/packages/renderer/src/types.d.ts @@ -0,0 +1 @@ +declare module "pako" diff --git a/packages/renderer/src/utils/env.ts b/packages/renderer/src/utils/env.ts new file mode 100644 index 00000000..32f6b512 --- /dev/null +++ b/packages/renderer/src/utils/env.ts @@ -0,0 +1,3 @@ +export function isLocalMode() { + return !window.pywebview && !localStorage.getItem("dcalc/access_token") +} diff --git a/packages/renderer/src/utils/featureList.ts b/packages/renderer/src/utils/featureList.ts new file mode 100644 index 00000000..29dc1556 --- /dev/null +++ b/packages/renderer/src/utils/featureList.ts @@ -0,0 +1,524 @@ +export default [ + { + value: 1, + parent: 0, + label: "HP MAX", + children: null + }, + { + value: 2, + parent: 0, + label: "HP恢复", + children: null + }, + { + value: 3, + parent: 0, + label: "HP恢复效果", + children: null + }, + { + value: 4, + parent: 0, + label: "MP MAX", + children: null + }, + { + value: 5, + parent: 0, + label: "MP恢复", + children: null + }, + { + value: 6, + parent: 0, + label: "MP恢复效果", + children: null + }, + { + value: 7, + parent: 0, + label: "防御力", + children: null + }, + { + value: 8, + parent: 0, + label: "跳跃力", + children: null + }, + { + value: 9, + parent: 0, + label: "暴击率", + children: null + }, + { + value: 10, + parent: 0, + label: "回避率", + children: null + }, + { + value: 11, + parent: 0, + label: "命中率", + children: null + }, + { + value: 12, + parent: 0, + label: "攻击速度", + children: null + }, + { + value: 13, + parent: 0, + label: "施放速度", + children: null + }, + { + value: 14, + parent: 0, + label: "移动速度", + children: null + }, + { + value: 15, + parent: 0, + label: "负重上限", + children: null + }, + { + value: 16, + parent: 0, + label: "霸体状态", + children: null + }, + { + value: 17, + parent: 0, + label: "附魔效果", + children: null + }, + { + value: 18, + parent: 0, + label: "韧性减少量", + children: null + }, + { + value: 19, + parent: 0, + label: "攻击强化", + children: null + }, + { + value: 20, + parent: 0, + label: "所受伤害", + children: null + }, + { + value: 21, + parent: 0, + label: "所有属性抗性", + children: null + }, + { + value: 22, + parent: 0, + label: "所有属性强化", + children: null + }, + { + value: 23, + parent: 0, + label: "暗属性抗性", + children: null + }, + { + value: 24, + parent: 0, + label: "暗属性强化", + children: null + }, + { + value: 25, + parent: 0, + label: "冰属性抗性", + children: null + }, + { + value: 26, + parent: 0, + label: "冰属性强化", + children: null + }, + { + value: 27, + parent: 0, + label: "光属性抗性", + children: null + }, + { + value: 28, + parent: 0, + label: "光属性强化", + children: null + }, + { + value: 29, + parent: 0, + label: "火属性抗性", + children: null + }, + { + value: 30, + parent: 0, + label: "火属性强化", + children: null + }, + { + value: 31, + parent: 0, + label: "技能Lv", + children: null + }, + { + value: 32, + parent: 0, + label: "技能MP消耗量", + children: null + }, + { + value: 33, + parent: 0, + label: "技能范围", + children: null + }, + { + value: 34, + parent: 0, + label: "技能攻击力", + children: null + }, + { + value: 35, + parent: 0, + label: "技能冷却时间", + children: null + }, + { + value: 36, + parent: 0, + label: "技能剩余冷却时间", + children: null + }, + { + value: 37, + parent: 0, + label: "技能冷却时间恢复速度", + children: null + }, + { + value: 38, + parent: 0, + label: "技能指令效果", + children: null + }, + { + value: 39, + parent: 0, + label: "无色小晶块消耗量", + children: null + }, + { + value: 40, + parent: 0, + label: "消耗品的Buff效果", + children: null + }, + { + value: 41, + parent: 0, + label: "消耗品的持续时间", + children: null + }, + { + value: 42, + parent: 0, + label: "无视防御力", + children: null + }, + { + value: 57, + parent: 0, + label: "所有异常状态抗性", + children: null + }, + { + value: 58, + parent: 0, + label: "所有异常状态持续时间", + children: null + }, + { + value: 59, + parent: 0, + label: "出血抗性", + children: null + }, + { + value: 60, + parent: 0, + label: "出血伤害", + children: null + }, + { + value: 61, + parent: 0, + label: "出血状态", + children: null + }, + { + value: 62, + parent: 0, + label: "出血状态持续时间", + children: null + }, + { + value: 63, + parent: 0, + label: "中毒抗性", + children: null + }, + { + value: 64, + parent: 0, + label: "中毒伤害", + children: null + }, + { + value: 65, + parent: 0, + label: "中毒状态", + children: null + }, + { + value: 66, + parent: 0, + label: "中毒状态持续时间", + children: null + }, + { + value: 67, + parent: 0, + label: "灼伤抗性", + children: null + }, + { + value: 68, + parent: 0, + label: "灼伤伤害", + children: null + }, + { + value: 69, + parent: 0, + label: "灼伤状态", + children: null + }, + { + value: 70, + parent: 0, + label: "灼伤状态持续时间", + children: null + }, + { + value: 71, + parent: 0, + label: "感电抗性", + children: null + }, + { + value: 72, + parent: 0, + label: "感电伤害", + children: null + }, + { + value: 73, + parent: 0, + label: "感电状态", + children: null + }, + { + value: 74, + parent: 0, + label: "感电状态持续时间", + children: null + }, + { + value: 75, + parent: 0, + label: "冰冻抗性", + children: null + }, + { + value: 76, + parent: 0, + label: "冰冻状态", + children: null + }, + { + value: 77, + parent: 0, + label: "冰冻状态持续时间", + children: null + }, + { + value: 78, + parent: 0, + label: "混乱抗性", + children: null + }, + { + value: 79, + parent: 0, + label: "混乱状态", + children: null + }, + { + value: 80, + parent: 0, + label: "混乱状态持续时间", + children: null + }, + { + value: 81, + parent: 0, + label: "减速抗性", + children: null + }, + { + value: 82, + parent: 0, + label: "减速状态", + children: null + }, + { + value: 83, + parent: 0, + label: "减速状态持续时间", + children: null + }, + { + value: 84, + parent: 0, + label: "失明抗性", + children: null + }, + { + value: 85, + parent: 0, + label: "失明状态", + children: null + }, + { + value: 86, + parent: 0, + label: "失明状态持续时间", + children: null + }, + { + value: 87, + parent: 0, + label: "石化抗性", + children: null + }, + { + value: 88, + parent: 0, + label: "石化状态", + children: null + }, + { + value: 89, + parent: 0, + label: "石化状态持续时间", + children: null + }, + { + value: 90, + parent: 0, + label: "束缚抗性", + children: null + }, + { + value: 91, + parent: 0, + label: "束缚状态", + children: null + }, + { + value: 92, + parent: 0, + label: "束缚状态持续时间", + children: null + }, + { + value: 93, + parent: 0, + label: "睡眠抗性", + children: null + }, + { + value: 94, + parent: 0, + label: "睡眠状态", + children: null + }, + { + value: 95, + parent: 0, + label: "睡眠状态持续时间", + children: null + }, + { + value: 96, + parent: 0, + label: "眩晕抗性", + children: null + }, + { + value: 97, + parent: 0, + label: "眩晕状态", + children: null + }, + { + value: 98, + parent: 0, + label: "眩晕状态持续时间", + children: null + }, + { + value: 99, + parent: 0, + label: "诅咒抗性", + children: null + }, + { + value: 100, + parent: 0, + label: "诅咒状态", + children: null + }, + { + value: 101, + parent: 0, + label: "诅咒状态持续时间", + children: null + } +] diff --git a/packages/renderer/src/utils/index.ts b/packages/renderer/src/utils/index.ts new file mode 100644 index 00000000..9a7d0646 --- /dev/null +++ b/packages/renderer/src/utils/index.ts @@ -0,0 +1,381 @@ +export function in_range(num: number, start: number, end: number) { + return start <= num && num <= end +} + +export function to_percent(num?: number, defaultValue: number = 0, suffix = "", withPlus = false) { + num = num ?? defaultValue + return (num > 0 && withPlus ? "+" : "") + num?.multiply(100).round(2).toString().concat(suffix) +} + +export function get_num(num?: number, defaultValue: number = 0) { + return num ?? defaultValue +} + +export function format_string(str: string, params: any = {}, ...args: any[]) { + let num = 0 + str = str.replace(/{}/g, match => { + return args[num++] ?? match + }) + str = str.replace(/{\d+}/g, match => { + const i = Number.parseInt(match.slice(1, -1)) + return args[i] ?? match + }) + str = str.replace(/{\w+}/g, match => { + const name = match.slice(1, -1) + return params[name] ?? match + }) + return str +} + +export function format_bytes(bytes: number, decimals = 2) { + if (bytes === 0) { + return "0 Bytes" + } + const k = 1024 + const dm = decimals < 0 ? 0 : decimals + const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"] + + const i = Math.floor(Math.log(bytes) / Math.log(k)) + + return `${Number.parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}` +} + +export function getFloat(value: any, n: any) { + value = Number(value) + n = n ? Number.parseInt(n) : 0 + if (n <= 0) { + return Math.round(value) + } + value = Math.round(value * 10 ** n) / 10 ** n + value = Number(value).toFixed(n) + return value +} + +export function cartesian(...arr: T[][]): T[][] { + if (arr.length < 2) { + return arr + } + return arr.reduce( + (a, b) => { + const ret: T[][] = [] + a.forEach(a => { + b.forEach(b => { + ret.push(a.concat([b])) + }) + }) + return ret + }, + [[]] as T[][] + ) +} + +export function groupBy(array: T[], callback: (t: T) => K) { + const map = new Map() + for (let i = 0; i < array.length; i++) { + const t = array[i] + const key = callback(t) + const temp: T[] = map.get(key) || [] + if (!map.has(key)) { + map.set(key, temp) + } + temp.push(t) + } + + return Array.from(map.values()) +} + +export function debounce_last(func: Function, wait: number) { + let timer = Number.NaN + return function () { + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(func, wait) + } +} + +export function padding(num: number | string, length: number): string { + if ((`${num}`).length >= length) { + return `${num}` + } + return padding(`0${num}`, length) +} + +export function format_float(f: number, digit: number = 2) { + const m = 10 ** digit + return (f * m).round(10) / m +} + +export function mapRecord(status: Record, callback: (value: K, key: T) => K) { + const new_status = {} as Record + for (const key in status) { + const value = callback(status[key], key) + if (value) { + new_status[key] = value + } + } + return new_status +} + +Array.prototype.max = function(callback: (t: T) => number): [number, T | undefined] { + let rs: [number, T | undefined] = [-1, undefined] + let max = -1 + for (let i = 0; i < this.length; i++) { + const item = this.at(i) as T + const count = callback(item) + if (count > max) { + max = count + rs = [i, item] + } + } + return rs +} + +Array.prototype.min = function(callback: (t: T) => number): [number, T | undefined] { + let rs: [number, T | undefined] = [-1, undefined] + let min = -1 + for (let i = 0; i < this.length; i++) { + const item = this.at(i) as T + const count = callback(item) + if (count < min) { + min = count + rs = [i, item] + } + } + return rs +} + +Number.prototype.multiply = function (value: number) { + return Number(this) * value +} + +Number.prototype.round = function (digit?: number) { + const m = 10 ** (digit ?? 0) + return Math.round(Number(this) * m) / m +} + +export function formatStr(template: string, ...params: any) { + let str = template + + if (params.length == 1 && params[0].length > 0) { + params = params[0] + } + + for (let i = 0; i < params.length; i++) { + str = str.replaceAll(`{${i}}`, params[i]) + } + + return str +} + +export function toObj(data: any): any { + const temp = {} + for (const key in data) { + try { + if (typeof data[key] === "number" || typeof data[key] === "string") { + Object.defineProperty(temp, key, { + value: data[key], + writable: true, + enumerable: true, + configurable: true + }) + } else { + Object.defineProperty(temp, key, { + value: RecordToObj(data[key]), + writable: true, + enumerable: true, + configurable: true + }) + } + } catch { + Object.defineProperty(temp, key, { + value: data[key], + writable: true, + enumerable: true, + configurable: true + }) + } + } + return temp +} + +export function toMap(data: any, except: string[] = []) { + const temp = {} + for (const key in data) { + if (typeof data[key] === "object" && data[key].constructor != Array && !except.includes(key)) { + // 需要转换部分,不能是Array,也会被转换 + const sub = {} + for (const subkey in data[key]) { + Object.defineProperty(sub, subkey, { + value: new Map(Object.entries(data[key][subkey])), + writable: true, + enumerable: true, + configurable: true + }) + } + Object.defineProperty(temp, key, { + value: sub, + writable: true, + enumerable: true, + configurable: true + }) + } else { + Object.defineProperty(temp, key, { + value: data[key], + writable: true, + enumerable: true, + configurable: true + }) + } + } + return temp +} + +export function RecordToObj(todo: Record>) { + const temp = {} + for (const key in todo) { + Object.defineProperty(temp, key, { + value: Object.fromEntries(todo[key]), + writable: true, + enumerable: true, + configurable: true + }) + } + return temp +} + +export function getUuid() { + if (typeof crypto === "object") { + if (typeof crypto.randomUUID === "function") { + return crypto.randomUUID() + } + if (typeof crypto.getRandomValues === "function" && typeof Uint8Array === "function") { + const callback = (c: any) => { + const num = Number(c) + return (num ^ (crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (num / 4)))).toString(16) + } + return "10000000-1000-4000-8000-100000000000".replace(/[018]/g, callback) + } + } + let timestamp = new Date().getTime() + let perforNow = (typeof performance !== "undefined" && performance.now && performance.now() * 1000) || 0 + return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, c => { + let random = Math.random() * 16 + if (timestamp > 0) { + random = Math.trunc((timestamp + random) % 16) + timestamp = Math.floor(timestamp / 16) + } else { + random = Math.trunc((perforNow + random) % 16) + perforNow = Math.floor(perforNow / 16) + } + return (c === "x" ? random : (random & 0x3) | 0x8).toString(16) + }) +} + +export async function getSession(key: string) { + let temp:any = {} + if (window.pywebview) { + temp = await window.pywebview.api.invoke("getStorage", key) + } else { + const info = sessionStorage.getItem(key) + if(!!info) + temp = JSON.parse(info) + else + temp = undefined + } + return temp +} + +export function setSession(key: string, value: any) { + if (window.pywebview) { + window.pywebview.api.invoke("setStorage", { + key, + value + }) + } else { + sessionStorage.setItem(key, JSON.stringify(value)) + } +} + +export function rarityClass(type: string) { + switch (type) { + case "太初": + return "primeval" + case "史诗": + return "epic" + case "神话": + return "myth" + case "智慧产物": + return "epic" + case "神器": + return "artifact" + case "稀有": + return "rare" + case "传说": + return "legend" + case "勇者": + return "chronicle" + case "高级": + return "advanced" + default: + return "epic" + } +} + + +export const resetSetItem = (key: any, newVal: any) => { + if (key === 'uid') { + const storage = { + setItem: function (k: any, val: any) { + setSession(k, val); + + // 创建一个 CustomEvent 事件 + const newStorageEvent = new CustomEvent('setItem', { + bubbles: false, + cancelable: false, + detail: { + key: k, + oldValue: null, + newValue: val, + url: null + } + }); + + // 派发对象 + window.dispatchEvent(newStorageEvent); + } + }; + + return storage.setItem(key, newVal); + } +}; + +export const decrypt = (encryptedData:string)=>{ + try{ + encryptedData = decodeURIComponent(encryptedData).split("").map(a=>{ + if(a=='='){ + return a + } + else{ + return String.fromCharCode(a.charCodeAt(0) - 1) + } + }).join("") + const decryptedData = atob(encryptedData); + + const len = decryptedData.length; + const decryptedBinaryOffset = decryptedData.slice(0, len-13); + const decryptedTimestamp = decryptedData.slice(len-13, len); + + return { + uid:parseInt(decryptedBinaryOffset,2), + time:parseInt(decryptedTimestamp) + } + } + catch(e){ + console.log(e) + return { + uid:-1, + time:0 + } + } +} \ No newline at end of file diff --git a/packages/renderer/src/utils/json.ts b/packages/renderer/src/utils/json.ts new file mode 100644 index 00000000..b36fedf5 --- /dev/null +++ b/packages/renderer/src/utils/json.ts @@ -0,0 +1,13 @@ +export function safeParse(json: string | null, defaultValue?: any) { + if (json == null) { + return defaultValue ?? null + } + if (json == "") { + return defaultValue ?? "" + } + try { + return JSON.parse(json) + } catch (e) { + return defaultValue ?? null + } +} diff --git a/packages/renderer/src/utils/sync.ts b/packages/renderer/src/utils/sync.ts new file mode 100644 index 00000000..48acdb1b --- /dev/null +++ b/packages/renderer/src/utils/sync.ts @@ -0,0 +1,5 @@ +export function sleep(milliseconds: number): Promise { + return new Promise(resolve => { + setTimeout(resolve, milliseconds) + }) +} diff --git a/packages/renderer/src/vue.d.ts b/packages/renderer/src/vue.d.ts new file mode 100644 index 00000000..feba7fb2 --- /dev/null +++ b/packages/renderer/src/vue.d.ts @@ -0,0 +1,8 @@ +import { Events } from "vue"; + +type EventHandlers = { + [K in keyof E]?: (...args: any[]) => any; +}; +declare module "vue" { + interface ComponentCustomProps extends EventHandlers {} +} diff --git a/packages/renderer/tsconfig.json b/packages/renderer/tsconfig.json new file mode 100644 index 00000000..e6b80f0b --- /dev/null +++ b/packages/renderer/tsconfig.json @@ -0,0 +1,21 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "baseUrl": ".", + "target": "esnext", + "useDefineForClassFields": true, + "module": "esnext", + "moduleResolution": "node", + "strict": true, + "jsx": "preserve", + "sourceMap": true, + "resolveJsonModule": true, + "esModuleInterop": true, + "lib": ["esnext", "dom"], + "paths": { + "@/*": ["./src/*"] + } + }, + "include": ["src/**/*.ts", "*.d.ts", "src/**/*.tsx", "src/**/*.vue"], + "exclude": ["node_modules"] +} diff --git a/packages/renderer/vite.config.ts b/packages/renderer/vite.config.ts new file mode 100644 index 00000000..6e6cc821 --- /dev/null +++ b/packages/renderer/vite.config.ts @@ -0,0 +1,181 @@ +import path from "node:path" +import jsx from "@vitejs/plugin-vue-jsx" +import vue from "@vitejs/plugin-vue" +import unocss from "unocss/vite" +import { createSprite2CssPlugin } from "@curev/vite-plugin-sprite" +import uncomponents from "unplugin-vue-components/vite" +import { defineConfig } from "vite" +import fs from "fs-extra" +import viteCompression from "vite-plugin-compression" + +import { presetUno } from "unocss" +import pkg from "../../package.json" + +// vite build ./packages/renderer --base /dcalc/ +// const env = import.meta.env +// console.log(env) + +const characterPath = path.resolve(__dirname, "./imagesrc/characters") +const files = fs.readdirSync(characterPath) + +// const specificityPath = path.resolve(__dirname, "./imagesrc/specificity") +// const files_specificity = fs.readdirSync(specificityPath) + +const especificityPath = path.resolve(__dirname, "./imagesrc/especificity") +const files_especificity = fs.readdirSync(especificityPath) + +// https://vitejs.dev/config/ +export default defineConfig(({ command, mode, ssrBuild }) => { + const temp = [ + { + source: path.resolve(__dirname, "./imagesrc/adventure/jobs"), + className: "classchange-icon-[name]", + excludes: [], + name: "jobs" + }, + { + source: path.resolve(__dirname, "./imagesrc/adventure/sub"), + className: "character-icon-[name]", + excludes: [], + name: "sub" + }, + { + source: path.resolve(__dirname, "./imagesrc/common"), + className: "common-icon-[name]", + excludes: ["head-2.png"], + name: "common" + }, + { + source: path.resolve(__dirname, "./imagesrc/equipment"), + className: "equipment-icon-[dirname]-[name]", + excludes: ["wisdom", "equipmyth"], + name: "equipment" + }, + { + source: path.resolve(__dirname, "./imagesrc/asrahan"), + className: "asrahan-icon-[name]", + name: "asrahan" + }, + // ...files_specificity.map(file => { + // const filePath = path.join(specificityPath, file) + // return { + // source: path.resolve(filePath), + // className: (entry: any) => { + // return `specificity-icon-${file}-${entry.name.replace(/[().·,:]+/g, "")}` + // }, + // name: file + // } + // }), + ...files_especificity.map(file => { + const filePath = path.join(especificityPath, file) + return { + source: path.resolve(filePath), + className: (entry: any) => { + return `especificity-icon-${file}-${entry.name.replace(/[().·,:]+/g, "")}` + }, + name: file + } + }), + ...files.map(file => { + const filePath = path.join(characterPath, file) + return { + source: path.resolve(filePath), + className: (entry: any) => { + return `character-icon-${file}-${entry.name.replace(/[().·,:]+/g, "")}` + }, + excludes: ["bg.jpg","material"], + name: file + } + }) + ] + + return { + mode: process.env.NODE_ENV, + root: __dirname, + resolve: { + alias: { + "@": path.resolve(__dirname, "./src") + } + }, + define: { + APP_VERSION: `"${pkg.version}"` + }, + plugins: [ + unocss({ + rules: [ + [ + /^col-(\d?\d)$/, + ([, o]) => { + const span = Number(o) + const val = `${(span * 100) / 24}%` + return { + flex: `0 0 ${val}` + } + } + ] + ], + + presets: [presetUno()] + }), + uncomponents({ + dts: true, + dirs: ["src/components/"], + allowOverrides: true, + + directoryAsNamespace: true + }), + jsx(), + vue(), + createSprite2CssPlugin({ + entries: temp, + hmr: true, + target: "/images" + }), + viteCompression({ + // threshold: 1024 * 500 // 对大于 1mb 的文件进行压缩 + // verbose: true + verbose: true, + disable: false, + threshold: 10240, + algorithm: "gzip", + ext: ".gz" + }) + ], + + optimizeDeps: { + exclude: ["electron"] + }, + build: { + /* from mode option */ + sourcemap: process.env.NODE_ENV == "development", + outDir: "../../dist/app/renderer", + assetsDir: "assets", + terserOptions: { + compress: { + drop_console: true, + drop_debugger: true + } + }, + // rollupOptions: { + // output: { + // // 重点在这里哦 + // // entryFileNames: `assets/[name].${timestamp}.js`, + // // chunkFileNames: `assets/[name].${timestamp}.js`, + // // assetFileNames: `assets/[name].${timestamp}.[ext]` + // // entryFileNames: `assets/[name].js`, + // // chunkFileNames: `assets/[name].js`, + // assetFileNames: `assets/[name].[ext]` + // } + // } + assetsInlineLimit: 1024 * 30 // 图片转 base64 编码的阈值 + }, + server: { + host: pkg.env.VITE_DEV_SERVER_HOST, + port: pkg.env.VITE_DEV_SERVER_PORT + }, + preview: { + port: pkg.env.VITE_DEV_SERVER_PORT, + host: pkg.env.VITE_DEV_SERVER_HOST + } + } +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 00000000..f9e23474 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7693 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@curev/eslint-config': + specifier: ^0.2.1 + version: 0.2.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + bumpp: + specifier: ^9.2.0 + version: 9.2.0 + dayjs: + specifier: ^1.11.10 + version: 1.11.10 + electron: + specifier: 22.3.12 + version: 22.3.12 + eslint: + specifier: ^8.53.0 + version: 8.53.0 + eslint-formatter-mo: + specifier: ^1.2.0 + version: 1.2.0 + lint-staged: + specifier: ^15.0.2 + version: 15.0.2 + rimraf: + specifier: ^5.0.5 + version: 5.0.5 + simple-git-hooks: + specifier: ^2.9.0 + version: 2.9.0 + sortablejs: + specifier: 1.15.0 + version: 1.15.0 + taze: + specifier: ^0.12.0 + version: 0.12.0 + typescript: + specifier: ^5.2.2 + version: 5.2.2 + vite: + specifier: ^4.5.0 + version: 4.5.0(sass@1.69.5) + + internal: + devDependencies: + compressing: + specifier: ^1.9.0 + version: 1.10.0 + electron-builder: + specifier: 23.6.0 + version: 23.6.0 + vite: + specifier: ^4.3.9 + version: 4.3.9 + + packages/main: + dependencies: + axios: + specifier: ^1.6.0 + version: 1.6.0 + devDependencies: + electron: + specifier: 22.3.12 + version: 22.3.12 + vite: + specifier: ^4.5.0 + version: 4.5.0(sass@1.69.5) + + packages/preload: + devDependencies: + electron: + specifier: 22.3.12 + version: 22.3.12 + vite: + specifier: ^4.5.0 + version: 4.5.0(sass@1.69.5) + + packages/renderer: + dependencies: + '@vueuse/core': + specifier: ^10.5.0 + version: 10.5.0(vue@3.3.8) + axios: + specifier: ^1.6.0 + version: 1.6.0 + hoci: + specifier: 0.0.12 + version: 0.0.12(vue@3.3.8) + html-to-image: + specifier: ^1.11.11 + version: 1.11.11 + pako: + specifier: ^2.1.0 + version: 2.1.0 + pinia: + specifier: ^2.1.7 + version: 2.1.7(typescript@5.2.2)(vue@3.3.8) + query-string: + specifier: ^8.1.0 + version: 8.1.0 + sortablejs: + specifier: 1.15.0 + version: 1.15.0 + tslx: + specifier: ^0.1.1 + version: 0.1.1 + vue: + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) + vue-router: + specifier: 4.2.5 + version: 4.2.5(vue@3.3.8) + devDependencies: + '@curev/vite-plugin-sprite': + specifier: ^0.3.0 + version: 0.3.0(vite@4.5.0) + '@types/fs-extra': + specifier: ^11.0.4 + version: 11.0.4 + '@types/spritesmith': + specifier: ^3.4.5 + version: 3.4.5 + '@vitejs/plugin-vue': + specifier: ^4.4.0 + version: 4.4.0(vite@4.5.0)(vue@3.3.8) + '@vitejs/plugin-vue-jsx': + specifier: ^3.0.2 + version: 3.0.2(vite@4.5.0)(vue@3.3.8) + electron: + specifier: 22.3.12 + version: 22.3.12 + fs-extra: + specifier: ^11.1.1 + version: 11.1.1 + maybe-types: + specifier: ^0.2.0 + version: 0.2.0 + minimatch: + specifier: ^9.0.3 + version: 9.0.3 + sass: + specifier: ^1.69.5 + version: 1.69.5 + spritesmith: + specifier: ^3.4.1 + version: 3.4.1 + typescript: + specifier: ^5.2.2 + version: 5.2.2 + unocss: + specifier: ^0.57.2 + version: 0.57.2(postcss@8.4.31)(vite@4.5.0) + unplugin-vue-components: + specifier: ^0.25.2 + version: 0.25.2(vue@3.3.8) + vite: + specifier: ^4.5.0 + version: 4.5.0(sass@1.69.5) + vite-plugin-compression: + specifier: ^0.5.1 + version: 0.5.1(vite@4.5.0) + vue-tsc: + specifier: ^1.8.22 + version: 1.8.22(typescript@5.2.2) + +packages: + + /7zip-bin@5.1.1: + resolution: {integrity: sha512-sAP4LldeWNz0lNzmTird3uWfFDWWTeg6V/MsmyyLR9X1idwKBWIgt/ZvinqQldJm3LecKEs1emkbquO6PCiLVQ==} + dev: true + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/ni@0.21.8: + resolution: {integrity: sha512-90X8pU2szlvw0AJo9EZMbYc2eQKkmO7mAdC4tD4r5co2Mm56MT37MIG8EyB7p4WRheuzGxuLDxJ63mF6+Zajiw==} + hasBin: true + dev: true + + /@antfu/utils@0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + dev: true + + /@babel/code-frame@7.22.13: + resolution: {integrity: sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.13 + chalk: 2.4.2 + dev: true + + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/core@7.22.11: + resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.10 + '@babel/helper-compilation-targets': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/helpers': 7.22.11 + '@babel/parser': 7.22.13 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/generator@7.22.10: + resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.19 + jsesc: 2.5.2 + dev: true + + /@babel/helper-annotate-as-pure@7.22.5: + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-compilation-targets@7.22.10: + resolution: {integrity: sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.10 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true + + /@babel/helper-create-class-features-plugin@7.22.11(@babel/core@7.22.11): + resolution: {integrity: sha512-y1grdYL4WzmUDBRGK0pDbIoFd7UZKoDurDzWEoNMYoj1EL+foGRQNyPWDcC+YyegN5y1DUsFFmzjGijB3nSVAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.9(@babel/core@7.22.11) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: true + + /@babel/helper-environment-visitor@7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-member-expression-to-functions@7.22.5: + resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-module-imports@7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 + dev: true + + /@babel/helper-optimise-call-expression@7.22.5: + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-plugin-utils@7.22.5: + resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-replace-supers@7.22.9(@babel/core@7.22.11): + resolution: {integrity: sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-member-expression-to-functions': 7.22.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helpers@7.22.11: + resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/highlight@7.22.13: + resolution: {integrity: sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@babel/parser@7.22.13: + resolution: {integrity: sha512-3l6+4YOvc9wx7VlCSw4yQfcBo01ECA8TicQfbnCPuCEpRQrf+gTUyGdxNw+pyTUyywp6JRD1w0YQs9TpBXYlkw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.11 + dev: true + + /@babel/parser@7.23.0: + resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.11 + + /@babel/plugin-syntax-jsx@7.22.5(@babel/core@7.22.11): + resolution: {integrity: sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-syntax-typescript@7.22.5(@babel/core@7.22.11): + resolution: {integrity: sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-plugin-utils': 7.22.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.11(@babel/core@7.22.11): + resolution: {integrity: sha512-0E4/L+7gfvHub7wsbTv03oRtD69X31LByy44fGmFzbZScpupFByMcgCJ0VbBTkzyjSJKuRoGN8tcijOWKTmqOA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.22.11(@babel/core@7.22.11) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.22.5(@babel/core@7.22.11) + dev: true + + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/parser': 7.22.13 + '@babel/types': 7.22.11 + dev: true + + /@babel/traverse@7.22.11: + resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.13 + '@babel/generator': 7.22.10 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.13 + '@babel/types': 7.22.11 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/types@7.22.11: + resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 + + /@curev/eslint-config-basic@0.2.1(@typescript-eslint/eslint-plugin@6.5.0)(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-TVIkVF0rNxztM3AEbg+s6gsaugAT2B3zg6DUDOIjh+pRcXTeYpld0aKLbUSoTXDVSPDHrl6STUKin45MRR2aDA==} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@curev/eslint-plugin': 0.2.1(eslint@8.53.0)(typescript@5.2.2) + eslint: 8.53.0 + eslint-plugin-eslint-comments: 3.2.0(eslint@8.53.0) + eslint-plugin-html: 7.1.0 + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0) + eslint-plugin-jsonc: 2.9.0(eslint@8.53.0) + eslint-plugin-markdown: 3.0.1(eslint@8.53.0) + eslint-plugin-n: 16.0.2(eslint@8.53.0) + eslint-plugin-no-only-tests: 3.1.0 + eslint-plugin-promise: 6.1.1(eslint@8.53.0) + eslint-plugin-unicorn: 48.0.1(eslint@8.53.0) + eslint-plugin-unused-imports: 3.0.0(@typescript-eslint/eslint-plugin@6.5.0)(eslint@8.53.0) + eslint-plugin-yml: 1.8.0(eslint@8.53.0) + jsonc-eslint-parser: 2.3.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@curev/eslint-config-ts@0.2.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-pp++2IcCcqbpMPVxdxSgumpjCPeCx6hnKd+LweSev/IxHP6pABnlbGrBoyywiTlG+2RRqb3AT0/WQSVSKioVhw==} + peerDependencies: + eslint: '>=8.40.0' + typescript: '>=4.9.5' + dependencies: + '@curev/eslint-config-basic': 0.2.1(@typescript-eslint/eslint-plugin@6.5.0)(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 6.5.0(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + eslint: 8.53.0 + typescript: 5.2.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /@curev/eslint-config-vue@0.2.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-fN6mm88cFpVFe9C3hL9eySG34gG9XJtkyoGXuoBd7fjT5c6fAPN41OjLXmSObJwbW2qRjZAhXZ/irU0Zibq34g==} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@curev/eslint-config-basic': 0.2.1(@typescript-eslint/eslint-plugin@6.5.0)(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + '@curev/eslint-config-ts': 0.2.1(eslint@8.53.0)(typescript@5.2.2) + eslint: 8.53.0 + eslint-plugin-vue: 9.17.0(eslint@8.53.0) + local-pkg: 0.4.3 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@curev/eslint-config@0.2.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-1TdQBsu+Jawcx476dsq8UXvBIntZIIyPdiCgRoC0fKkkeqVt6i5XRIYOnrRlQ2oMxDf1Cc2w9dONBfH7IBtyog==} + peerDependencies: + eslint: '>=8.40.0' + dependencies: + '@curev/eslint-config-vue': 0.2.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + eslint: 8.53.0 + transitivePeerDependencies: + - '@typescript-eslint/eslint-plugin' + - '@typescript-eslint/parser' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - typescript + dev: true + + /@curev/eslint-plugin@0.2.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-GJGwP7o8TachuQJgsoe4ip66ERjjZb73Kye5D6RZryQXoqYGWXhQENZCokvFQoxmgPDC9GNVIXNAL5TxcwbiHA==} + dependencies: + '@typescript-eslint/types': 6.5.0 + '@typescript-eslint/utils': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + dev: true + + /@curev/vite-plugin-sprite@0.3.0(vite@4.5.0): + resolution: {integrity: sha512-mJ6gg9rxXehmmqgh7LDWcuqsaBM40wiPNTz2ISCBeimJWwDdCQ13DulR5L/pVcAccJJpq24TOKWmROCfvZIuNw==} + peerDependencies: + vite: '>4' + dependencies: + fs-extra: 11.1.1 + minimatch: 6.2.0 + spritesmith: 3.4.1 + vite: 4.5.0(sass@1.69.5) + dev: true + + /@develar/schema-utils@2.6.5: + resolution: {integrity: sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==} + engines: {node: '>= 8.9.0'} + dependencies: + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: true + + /@eggjs/yauzl@2.11.0: + resolution: {integrity: sha512-Jq+k2fCZJ3i3HShb0nxLUiAgq5pwo8JTT1TrH22JoehZQ0Nm2dvByGIja1NYfNyuE4Tx5/Dns5nVsBN/mlC8yg==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer2: 1.2.0 + dev: true + + /@electron/get@2.0.2: + resolution: {integrity: sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==} + engines: {node: '>=12'} + dependencies: + debug: 4.3.4 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 11.8.6 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@electron/universal@1.2.1: + resolution: {integrity: sha512-7323HyMh7KBAl/nPDppdLsC87G6RwRU02dy5FPeGB1eS7rUePh55+WNWiDPLhFQqqVPHzh77M69uhmoT8XnwMQ==} + engines: {node: '>=8.6'} + dependencies: + '@malept/cross-spawn-promise': 1.1.1 + asar: 3.2.0 + debug: 4.3.4 + dir-compare: 2.4.0 + fs-extra: 9.1.0 + minimatch: 3.1.2 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.53.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.8.0: + resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.21.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@humanwhocodes/config-array@0.11.13: + resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.1: + resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==} + dev: true + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils@2.1.11: + resolution: {integrity: sha512-M/w3PkN8zQYXi8N6qK/KhnYMfEbbb6Sk8RZVn8g+Pmmu5ybw177RpsaGwpziyHeUsu4etrexYSWq3rwnIqzYCg==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.6 + '@iconify/types': 2.0.0 + debug: 4.3.4 + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.19 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.19: + resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jsdevtools/ez-spawn@3.0.4: + resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} + engines: {node: '>=10'} + dependencies: + call-me-maybe: 1.0.2 + cross-spawn: 7.0.3 + string-argv: 0.3.2 + type-detect: 4.0.8 + dev: true + + /@malept/cross-spawn-promise@1.1.1: + resolution: {integrity: sha512-RTBGWL5FWQcg9orDOCcp4LvItNzUPcyEU9bwaeJX0rJ1IQxzucC48Y0/sQLp/g6t99IQgAlGIaesJS+gTn7tVQ==} + engines: {node: '>= 10'} + dependencies: + cross-spawn: 7.0.3 + dev: true + + /@malept/flatpak-bundler@0.4.0: + resolution: {integrity: sha512-9QOtNffcOF/c1seMCDnjckb3R9WHcG34tky+FHpNKKCW0wc/scYLwMtO+ptyGUfMW0/b/n4qRiALlaFHc9Oj7Q==} + engines: {node: '>= 10.0.0'} + dependencies: + debug: 4.3.4 + fs-extra: 9.1.0 + lodash: 4.17.21 + tmp-promise: 3.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + dev: true + + /@npmcli/agent@2.2.0: + resolution: {integrity: sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + agent-base: 7.1.0 + http-proxy-agent: 7.0.0 + https-proxy-agent: 7.0.2 + lru-cache: 10.0.1 + socks-proxy-agent: 8.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@npmcli/config@8.0.1: + resolution: {integrity: sha512-NKGmMYv/YTLwJr+qK9CvADSe82NTM9AFwFFpsZpVcPCT3XTdxvJBdXi8xvXWjHSCMb0Cb+7FtU/a5qqguCOhxA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/map-workspaces': 3.0.4 + ci-info: 3.8.0 + ini: 4.1.1 + nopt: 7.2.0 + proc-log: 3.0.0 + read-package-json-fast: 3.0.2 + semver: 7.5.4 + walk-up-path: 3.0.1 + dev: true + + /@npmcli/fs@3.1.0: + resolution: {integrity: sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.5.4 + dev: true + + /@npmcli/git@5.0.3: + resolution: {integrity: sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/promise-spawn': 7.0.0 + lru-cache: 10.0.1 + npm-pick-manifest: 9.0.0 + proc-log: 3.0.0 + promise-inflight: 1.0.1 + promise-retry: 2.0.1 + semver: 7.5.4 + which: 4.0.0 + transitivePeerDependencies: + - bluebird + dev: true + + /@npmcli/installed-package-contents@2.0.2: + resolution: {integrity: sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + npm-bundled: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /@npmcli/map-workspaces@3.0.4: + resolution: {integrity: sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/name-from-folder': 2.0.0 + glob: 10.3.3 + minimatch: 9.0.3 + read-package-json-fast: 3.0.2 + dev: true + + /@npmcli/name-from-folder@2.0.0: + resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@npmcli/node-gyp@3.0.0: + resolution: {integrity: sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@npmcli/promise-spawn@7.0.0: + resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + which: 4.0.0 + dev: true + + /@npmcli/run-script@7.0.2: + resolution: {integrity: sha512-Omu0rpA8WXvcGeY6DDzyRoY1i5DkCBkzyJ+m2u7PD6quzb0TvSqdIPOkTn8ZBOj7LbbcbMfZ3c5skwSu6m8y2w==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/node-gyp': 3.0.0 + '@npmcli/promise-spawn': 7.0.0 + node-gyp: 10.0.1 + read-package-json-fast: 3.0.2 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true + + /@rollup/pluginutils@5.0.4: + resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@rollup/pluginutils@5.0.5: + resolution: {integrity: sha512-6aEYR910NyP73oHiJglti74iRyOwgFU4x3meH/H8OJx6Ry0j6cOVZ5X/wTvub7G7Ao6qaHBEaNsV3GLJkSsF+Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@sigstore/bundle@2.1.0: + resolution: {integrity: sha512-89uOo6yh/oxaU8AeOUnVrTdVMcGk9Q1hJa7Hkvalc6G3Z3CupWk4Xe9djSgJm9fMkH69s0P0cVHUoKSOemLdng==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + dev: true + + /@sigstore/protobuf-specs@0.2.1: + resolution: {integrity: sha512-XTWVxnWJu+c1oCshMLwnKvz8ZQJJDVOlciMfgpJBQbThVjKTCG8dwyhgLngBD2KN0ap9F/gOV8rFDEx8uh7R2A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /@sigstore/sign@2.2.0: + resolution: {integrity: sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.1.0 + '@sigstore/protobuf-specs': 0.2.1 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@sigstore/tuf@2.2.0: + resolution: {integrity: sha512-KKATZ5orWfqd9ZG6MN8PtCIx4eevWSuGRKQvofnWXRpyMyUEpmrzg5M5BrCpjM+NfZ0RbNGOh5tCz/P2uoRqOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/protobuf-specs': 0.2.1 + tuf-js: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@sindresorhus/is@4.6.0: + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + dev: true + + /@szmarczak/http-timer@4.0.6: + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + dependencies: + defer-to-connect: 2.0.1 + dev: true + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@tufjs/canonical-json@2.0.0: + resolution: {integrity: sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==} + engines: {node: ^16.14.0 || >=18.0.0} + dev: true + + /@tufjs/models@2.0.0: + resolution: {integrity: sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/canonical-json': 2.0.0 + minimatch: 9.0.3 + dev: true + + /@types/cacheable-request@6.0.3: + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + dependencies: + '@types/http-cache-semantics': 4.0.1 + '@types/keyv': 3.1.4 + '@types/node': 20.6.0 + '@types/responselike': 1.0.0 + dev: true + + /@types/debug@4.1.8: + resolution: {integrity: sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==} + dependencies: + '@types/ms': 0.7.31 + dev: true + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + dev: true + + /@types/expect@1.20.4: + resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} + dev: true + + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 20.6.0 + dev: true + + /@types/fs-extra@9.0.13: + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + dependencies: + '@types/node': 20.6.0 + dev: true + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + requiresBuild: true + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.6.0 + dev: true + optional: true + + /@types/http-cache-semantics@4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + dev: true + + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true + + /@types/jsonfile@6.1.1: + resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} + dependencies: + '@types/node': 20.6.0 + dev: true + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 20.6.0 + dev: true + + /@types/mdast@3.0.12: + resolution: {integrity: sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==} + dependencies: + '@types/unist': 2.0.7 + dev: true + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + requiresBuild: true + dev: true + optional: true + + /@types/ms@0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + dev: true + + /@types/node@16.18.46: + resolution: {integrity: sha512-Mnq3O9Xz52exs3mlxMcQuA7/9VFe/dXcrgAyfjLkABIqxXKOgBRjyazTxUbjsxDa4BP7hhPliyjVTP9RDP14xg==} + dev: true + + /@types/node@20.6.0: + resolution: {integrity: sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==} + requiresBuild: true + dev: true + + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/plist@3.0.2: + resolution: {integrity: sha512-ULqvZNGMv0zRFvqn8/4LSPtnmN4MfhlPNtJCTpKuIIxGVGZ2rYWzFXrvEBoh9CVyqSE7D6YFRJ1hydLHI6kbWw==} + requiresBuild: true + dependencies: + '@types/node': 20.6.0 + xmlbuilder: 15.1.1 + dev: true + optional: true + + /@types/responselike@1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 20.6.0 + dev: true + + /@types/semver@7.5.1: + resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} + dev: true + + /@types/spritesmith@3.4.5: + resolution: {integrity: sha512-LRyCIJ+7LW59eFnUVfF4Wwhs23MceEqFQQtV7l7hHYz/z0zeN24J5TJOE2qZjaUOsGcSZ0ISDTIhe2dvpWrnmw==} + dependencies: + '@types/vinyl': 2.0.7 + dev: true + + /@types/tinycolor2@1.4.3: + resolution: {integrity: sha512-Kf1w9NE5HEgGxCRyIcRXR/ZYtDv0V8FVPtYHwLxl0O+maGX0erE77pQlD0gpP+/KByMZ87mOA79SjifhSB3PjQ==} + dev: true + + /@types/unist@2.0.7: + resolution: {integrity: sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==} + dev: true + + /@types/verror@1.10.6: + resolution: {integrity: sha512-NNm+gdePAX1VGvPcGZCDKQZKYSiAWigKhKaz5KF94hG6f2s8de9Ow5+7AbXoeKxL8gavZfk4UquSAygOF2duEQ==} + requiresBuild: true + dev: true + optional: true + + /@types/vinyl@2.0.7: + resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} + dependencies: + '@types/expect': 1.20.4 + '@types/node': 20.6.0 + dev: true + + /@types/web-bluetooth@0.0.16: + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + dev: false + + /@types/web-bluetooth@0.0.18: + resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} + dev: false + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@types/yauzl@2.10.0: + resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} + requiresBuild: true + dependencies: + '@types/node': 20.6.0 + dev: true + optional: true + + /@typescript-eslint/eslint-plugin@6.5.0(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-2pktILyjvMaScU6iK3925uvGU87E+N9rh372uGZgiMYwafaw9SXq86U04XPq3UH6tzRvNgBsub6x2DacHc33lw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.8.0 + '@typescript-eslint/parser': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.5.0 + '@typescript-eslint/type-utils': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.5.0 + debug: 4.3.4 + eslint: 8.53.0 + graphemer: 1.4.0 + ignore: 5.2.4 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.5.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-LMAVtR5GN8nY0G0BadkG0XIe4AcNMeyEy3DyhKGAh9k4pLSMBO7rF29JvDBpZGCmp5Pgz5RLHP6eCpSYZJQDuQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.5.0 + '@typescript-eslint/types': 6.5.0 + '@typescript-eslint/typescript-estree': 6.5.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.5.0 + debug: 4.3.4 + eslint: 8.53.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.5.0: + resolution: {integrity: sha512-A8hZ7OlxURricpycp5kdPTH3XnjG85UpJS6Fn4VzeoH4T388gQJ/PGP4ole5NfKt4WDVhmLaQ/dBLNDC4Xl/Kw==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.5.0 + '@typescript-eslint/visitor-keys': 6.5.0 + dev: true + + /@typescript-eslint/type-utils@6.5.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-f7OcZOkRivtujIBQ4yrJNIuwyCQO1OjocVqntl9dgSIZAdKqicj3xFDqDOzHDlGCZX990LqhLQXWRnQvsapq8A==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.5.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.53.0 + ts-api-utils: 1.0.2(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.5.0: + resolution: {integrity: sha512-eqLLOEF5/lU8jW3Bw+8auf4lZSbbljHR2saKnYqON12G/WsJrGeeDHWuQePoEf9ro22+JkbPfWQwKEC5WwLQ3w==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.5.0(typescript@5.2.2): + resolution: {integrity: sha512-q0rGwSe9e5Kk/XzliB9h2LBc9tmXX25G0833r7kffbl5437FPWb2tbpIV9wAATebC/018pGa9fwPDuvGN+LxWQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.5.0 + '@typescript-eslint/visitor-keys': 6.5.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.2(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.5.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-9nqtjkNykFzeVtt9Pj6lyR9WEdd8npPhhIPM992FWVkZuS6tmxHfGVnlUcjpUP2hv8r4w35nT33mlxd+Be1ACQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.1 + '@typescript-eslint/scope-manager': 6.5.0 + '@typescript-eslint/types': 6.5.0 + '@typescript-eslint/typescript-estree': 6.5.0(typescript@5.2.2) + eslint: 8.53.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.5.0: + resolution: {integrity: sha512-yCB/2wkbv3hPsh02ZS8dFQnij9VVQXJMN/gbQsaaY+zxALkZnxa/wagvLEFsAWMPv7d7lxQmNsIzGU1w/T/WyA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.5.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@unocss/astro@0.57.2(vite@4.5.0): + resolution: {integrity: sha512-6R6xJVD1n+OrgRwLtiw6fi8/Mx9lECB9wiqRo/liWH27lEWrToXKpgX3oTGGihQQceGNukGe6O4lBThYUILgEQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + '@unocss/core': 0.57.2 + '@unocss/reset': 0.57.2 + '@unocss/vite': 0.57.2(vite@4.5.0) + vite: 4.5.0(sass@1.69.5) + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/cli@0.57.2: + resolution: {integrity: sha512-Poz20X4q7rCu9oBnF8/vNGzCKU9M32xlyeeWoExho0nwh8WJ9JaZ8E8ijcLWeS7YUt1kLOdrsQlppcq+I8o2nQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.5 + '@unocss/config': 0.57.2 + '@unocss/core': 0.57.2 + '@unocss/preset-uno': 0.57.2 + cac: 6.7.14 + chokidar: 3.5.3 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.1 + magic-string: 0.30.5 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + dev: true + + /@unocss/config@0.57.2: + resolution: {integrity: sha512-C+uZPz4lYN8dft0dKRRiBBtDIyd+RdYlbaQhuQp5F7UEfJeEPH8HpdiF+FeKZVJxP4j7kaGfcGWEJj1ImC/g9A==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.57.2 + unconfig: 0.3.11 + dev: true + + /@unocss/core@0.57.2: + resolution: {integrity: sha512-iTmowhObigxeqcxtEW4v+mAEQtFslifTG0Fiw8kXs3+t4L6fcnjj0i7/FtBbz+nOxrWyt2EzdkUyjpLGQa/yCw==} + dev: true + + /@unocss/extractor-arbitrary-variants@0.57.2: + resolution: {integrity: sha512-f6sc8pfgHbJua1VzdpFSPW92lNyIBRl93avRNk+HM4iWAhxBPD3LsCxSS7kOnQg2tFe6YsRkm8QkuF6SjFq1AA==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/inspector@0.57.2: + resolution: {integrity: sha512-W82xj5oOi7fGSGuV+GvgwZVWH0xCthIgqEscZEwtphiIconswwV8zZjrwzt/gMXmvYv8qx9+QDKmlhVQnJJj6w==} + dependencies: + '@unocss/rule-utils': 0.57.2 + gzip-size: 6.0.0 + sirv: 2.0.3 + dev: true + + /@unocss/postcss@0.57.2(postcss@8.4.31): + resolution: {integrity: sha512-OygjXgHkBPCQ6rc7Zo5vd2KDn4XUikTA1knz67oSiPFZLjUmmhzMc/XtckBITzougMNktv1qH1vECGAbKx+FNA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + dependencies: + '@unocss/config': 0.57.2 + '@unocss/core': 0.57.2 + '@unocss/rule-utils': 0.57.2 + css-tree: 2.3.1 + fast-glob: 3.3.1 + magic-string: 0.30.5 + postcss: 8.4.31 + dev: true + + /@unocss/preset-attributify@0.57.2: + resolution: {integrity: sha512-OQh/vqR5PbPjOFJLizw4wrvSIrkHKyTTGaFObi0exeREW2XYslTs44Y+uEQc+GTriYDX9A2cKJDKu7vT7VVEIg==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/preset-icons@0.57.2: + resolution: {integrity: sha512-LlKt83+QLVvbeCCOetq20t5iUnFA+8nIL4mc1bscdK0nyVqspkZkcM8F6uqRwHcMitEbReq1K5kS99qzwUieVQ==} + dependencies: + '@iconify/utils': 2.1.11 + '@unocss/core': 0.57.2 + ofetch: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@unocss/preset-mini@0.57.2: + resolution: {integrity: sha512-ZahZ8TWa40SVnJw6fYFhYzLFMCZU3obMBNl0otallevoooKLXIDZL2VmHxFDqCvwaAk9DYsAzPrqUpNWr6bPgA==} + dependencies: + '@unocss/core': 0.57.2 + '@unocss/extractor-arbitrary-variants': 0.57.2 + '@unocss/rule-utils': 0.57.2 + dev: true + + /@unocss/preset-tagify@0.57.2: + resolution: {integrity: sha512-ISebsMHcbUoZG9CoUBA1qDxAGVZ4izXLtQwWde6tb50xIrVSHt1bbfNSgZ/c2RJR1c3fBjn0dzfXVzOHDnFejA==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/preset-typography@0.57.2: + resolution: {integrity: sha512-THCHKzt1Jc8rdt8Ft1DhKxm191QvtiW3+mfkbYvGUUOklIztVspNTSs6iS0Vr6EZWjhLzmUYevq8va+Zk4P91A==} + dependencies: + '@unocss/core': 0.57.2 + '@unocss/preset-mini': 0.57.2 + dev: true + + /@unocss/preset-uno@0.57.2: + resolution: {integrity: sha512-A5fZmz8i1fSwKMUN8olRAUskkTAPjFsdw19Iem5yOHtK/9NYM3eQPaHDdHldhfZ7/51oF27poavdPfe8KKugQQ==} + dependencies: + '@unocss/core': 0.57.2 + '@unocss/preset-mini': 0.57.2 + '@unocss/preset-wind': 0.57.2 + '@unocss/rule-utils': 0.57.2 + dev: true + + /@unocss/preset-web-fonts@0.57.2: + resolution: {integrity: sha512-Ymy1N/X7lRzsb551V/SE6EtVdWmBNjW9dFz8viuHuchgjBrq9wF6IBhCG+nrBoUqlz0Jj5piGd/M/OHHQ0Qseg==} + dependencies: + '@unocss/core': 0.57.2 + ofetch: 1.3.3 + dev: true + + /@unocss/preset-wind@0.57.2: + resolution: {integrity: sha512-d8s4PFcIakzcmAoECTY3Ft2Wtb5nn+AvVGj5j52YpVt5ShTuGVlk5UbF9kpfEfzLigtkHcNivM24D1UTfR/MBg==} + dependencies: + '@unocss/core': 0.57.2 + '@unocss/preset-mini': 0.57.2 + '@unocss/rule-utils': 0.57.2 + dev: true + + /@unocss/reset@0.57.2: + resolution: {integrity: sha512-e9N5R9ZqbBhePa5ehK63LhU57nlgP3MSG4zblXv61SzBm1xIoTuhj7HX3OVJaMeDsrgazRlndSYNhSfD/ziPxg==} + dev: true + + /@unocss/rule-utils@0.57.2: + resolution: {integrity: sha512-fgAc5gkZo8JLDe9vMisofSck3k1nN05+kblKhrEaq/+gS5bxHzL9VNExtiTbT00wyMKGjak/uC7qDMbdVmUhYg==} + engines: {node: '>=14'} + dependencies: + '@unocss/core': 0.57.2 + magic-string: 0.30.5 + dev: true + + /@unocss/scope@0.57.2: + resolution: {integrity: sha512-UPDCOSvkCDCvQXCAlpRDXLQDYnAYFjGerXtjHigaB+uzJ7Ds4p1yZxcOu6ds6jhcr2kt3Y56Lp3nTqf7tncM0g==} + dev: true + + /@unocss/transformer-attributify-jsx-babel@0.57.2: + resolution: {integrity: sha512-SKx4B0oIv1+F2lzmUyxbMlJ6xqoycPQUazaI1XD29pqkRaqEFYE5RBEZwUwLhLp0ksSyIy2lTtzZYBWQHUs5mw==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/transformer-attributify-jsx@0.57.2: + resolution: {integrity: sha512-6KFOp5ldBoWEA0DPAw+uh7FUglyqBU60IeRmyLASLbaz9BPT7ut1rAP7LyIXW78NIi+biwzxQq9FQSbDEFQ4QQ==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/transformer-compile-class@0.57.2: + resolution: {integrity: sha512-le2H/kYSMobRSo9XzBv6E6jorrCpxdCS7N3hQ+GpRocJasriebffDgRG/m9hVRJvsTgjpYTxbNZkm0KUjGXsmw==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/transformer-directives@0.57.2: + resolution: {integrity: sha512-7pQROj/GPsqMig+t7ntzKi4rY/lvSrE/A0PiBJsFJt328PAa+wnzgCDWkL/FNnhhbXi4BIYSq0V2v+YACwPBVQ==} + dependencies: + '@unocss/core': 0.57.2 + '@unocss/rule-utils': 0.57.2 + css-tree: 2.3.1 + dev: true + + /@unocss/transformer-variant-group@0.57.2: + resolution: {integrity: sha512-Xik8auIUfVr5xQ6M/CggnrIu5wD9h1tqdbxy5ci9+RQvtmUfrh9m09MfRXxHZWTRQOruGjV63U6rfVzo9X74eA==} + dependencies: + '@unocss/core': 0.57.2 + dev: true + + /@unocss/vite@0.57.2(vite@4.5.0): + resolution: {integrity: sha512-PoyqYsgTSzRE7umfp5Qpdt29ZmYD24M4WIQhATIDkJQm26f/KME6SMcQO1ybLWgkJgrHoenO9QJo+/W8tId/uA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + dependencies: + '@ampproject/remapping': 2.2.1 + '@rollup/pluginutils': 5.0.5 + '@unocss/config': 0.57.2 + '@unocss/core': 0.57.2 + '@unocss/inspector': 0.57.2 + '@unocss/scope': 0.57.2 + '@unocss/transformer-directives': 0.57.2 + chokidar: 3.5.3 + fast-glob: 3.3.1 + magic-string: 0.30.5 + vite: 4.5.0(sass@1.69.5) + transitivePeerDependencies: + - rollup + dev: true + + /@vitejs/plugin-vue-jsx@3.0.2(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-obF26P2Z4Ogy3cPp07B4VaW6rpiu0ue4OT2Y15UxT5BZZ76haUY9guOsZV3uWh/I6xc+VeiW+ZVabRE82FyzWw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.0.0 + dependencies: + '@babel/core': 7.22.11 + '@babel/plugin-transform-typescript': 7.22.11(@babel/core@7.22.11) + '@vue/babel-plugin-jsx': 1.1.5(@babel/core@7.22.11) + vite: 4.5.0(sass@1.69.5) + vue: 3.3.8(typescript@5.2.2) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitejs/plugin-vue@4.4.0(vite@4.5.0)(vue@3.3.8): + resolution: {integrity: sha512-xdguqb+VUwiRpSg+nsc2HtbAUSGak25DXYvpQQi4RVU1Xq1uworyoH/md9Rfd8zMmPR/pSghr309QNcftUVseg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 + vue: ^3.2.25 + dependencies: + vite: 4.5.0(sass@1.69.5) + vue: 3.3.8(typescript@5.2.2) + dev: true + + /@volar/language-core@1.10.10: + resolution: {integrity: sha512-nsV1o3AZ5n5jaEAObrS3MWLBWaGwUj/vAsc15FVNIv+DbpizQRISg9wzygsHBr56ELRH8r4K75vkYNMtsSNNWw==} + dependencies: + '@volar/source-map': 1.10.10 + dev: true + + /@volar/source-map@1.10.10: + resolution: {integrity: sha512-GVKjLnifV4voJ9F0vhP56p4+F3WGf+gXlRtjFZsv6v3WxBTWU3ZVeaRaEHJmWrcv5LXmoYYpk/SC25BKemPRkg==} + dependencies: + muggle-string: 0.3.1 + dev: true + + /@volar/typescript@1.10.10: + resolution: {integrity: sha512-4a2r5bdUub2m+mYVnLu2wt59fuoYWe7nf0uXtGHU8QQ5LDNfzAR0wK7NgDiQ9rcl2WT3fxT2AA9AylAwFtj50A==} + dependencies: + '@volar/language-core': 1.10.10 + path-browserify: 1.0.1 + dev: true + + /@vue/babel-helper-vue-transform-on@1.1.5: + resolution: {integrity: sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==} + dev: true + + /@vue/babel-plugin-jsx@1.1.5(@babel/core@7.22.11): + resolution: {integrity: sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.11 + '@babel/helper-module-imports': 7.22.5 + '@babel/plugin-syntax-jsx': 7.22.5(@babel/core@7.22.11) + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 + '@vue/babel-helper-vue-transform-on': 1.1.5 + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.22.13 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + dev: true + + /@vue/compiler-core@3.3.8: + resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + dev: true + + /@vue/compiler-dom@3.3.8: + resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} + dependencies: + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/compiler-sfc@3.3.8: + resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/compiler-core': 3.3.8 + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-ssr': 3.3.8 + '@vue/reactivity-transform': 3.3.8 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + magic-string: 0.30.5 + postcss: 8.4.31 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.3.8: + resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} + dependencies: + '@vue/compiler-dom': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/language-core@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-bsMoJzCrXZqGsxawtUea1cLjUT9dZnDsy5TuZ+l1fxRMzUGQUG9+Ypq4w//CqpWmrx7nIAJpw2JVF/t258miRw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.10.10 + '@volar/source-map': 1.10.10 + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + typescript: 5.2.2 + vue-template-compiler: 2.7.14 + dev: true + + /@vue/reactivity-transform@3.3.8: + resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} + dependencies: + '@babel/parser': 7.23.0 + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 + estree-walker: 2.0.2 + magic-string: 0.30.5 + + /@vue/reactivity@3.3.8: + resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==} + dependencies: + '@vue/shared': 3.3.8 + + /@vue/runtime-core@3.3.8: + resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==} + dependencies: + '@vue/reactivity': 3.3.8 + '@vue/shared': 3.3.8 + + /@vue/runtime-dom@3.3.8: + resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==} + dependencies: + '@vue/runtime-core': 3.3.8 + '@vue/shared': 3.3.8 + csstype: 3.1.2 + + /@vue/server-renderer@3.3.8(vue@3.3.8): + resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==} + peerDependencies: + vue: 3.3.8 + dependencies: + '@vue/compiler-ssr': 3.3.8 + '@vue/shared': 3.3.8 + vue: 3.3.8(typescript@5.2.2) + + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + dev: true + + /@vue/shared@3.3.8: + resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} + + /@vueuse/core@10.5.0(vue@3.3.8): + resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} + dependencies: + '@types/web-bluetooth': 0.0.18 + '@vueuse/metadata': 10.5.0 + '@vueuse/shared': 10.5.0(vue@3.3.8) + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/core@9.13.0(vue@3.3.8): + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0(vue@3.3.8) + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/metadata@10.5.0: + resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} + dev: false + + /@vueuse/metadata@9.13.0: + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + dev: false + + /@vueuse/shared@10.5.0(vue@3.3.8): + resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} + dependencies: + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@vueuse/shared@9.13.0(vue@3.3.8): + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + dependencies: + vue-demi: 0.14.6(vue@3.3.8) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dev: true + + /abbrev@2.0.0: + resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /agent-base@7.1.0: + resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==} + engines: {node: '>= 14'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + dev: true + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /app-builder-bin@4.0.0: + resolution: {integrity: sha512-xwdG0FJPQMe0M0UA4Tz0zEB8rBJTRA5a476ZawAqiBkMv16GRK5xpXThOjMaEOFnZ6zabejjG4J3da0SXG63KA==} + dev: true + + /app-builder-lib@23.6.0: + resolution: {integrity: sha512-dQYDuqm/rmy8GSCE6Xl/3ShJg6Ab4bZJMT8KaTKGzT436gl1DN4REP3FCWfXoh75qGTJ+u+WsdnnpO9Jl8nyMA==} + engines: {node: '>=14.0.0'} + dependencies: + 7zip-bin: 5.1.1 + '@develar/schema-utils': 2.6.5 + '@electron/universal': 1.2.1 + '@malept/flatpak-bundler': 0.4.0 + async-exit-hook: 2.0.1 + bluebird-lst: 1.0.9 + builder-util: 23.6.0 + builder-util-runtime: 9.1.1 + chromium-pickle-js: 0.2.0 + debug: 4.3.4 + ejs: 3.1.9 + electron-osx-sign: 0.6.0 + electron-publish: 23.6.0 + form-data: 4.0.0 + fs-extra: 10.1.0 + hosted-git-info: 4.1.0 + is-ci: 3.0.1 + isbinaryfile: 4.0.10 + js-yaml: 4.1.0 + lazy-val: 1.0.5 + minimatch: 3.1.2 + read-config-file: 6.2.0 + sanitize-filename: 1.6.3 + semver: 7.5.4 + tar: 6.1.15 + temp-file: 3.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + dev: true + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array.prototype.findlastindex@1.2.2: + resolution: {integrity: sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: true + + /array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + es-shim-unscopables: 1.0.0 + dev: true + + /arraybuffer.prototype.slice@1.0.1: + resolution: {integrity: sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + define-properties: 1.2.0 + get-intrinsic: 1.2.1 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: true + + /asar@3.2.0: + resolution: {integrity: sha512-COdw2ZQvKdFGFxXwX3oYh2/sOsJWJegrdJCGxnN4MZ7IULgRBp9P6665aqj9z1v9VwP4oP1hRBojRDQ//IGgAg==} + engines: {node: '>=10.12.0'} + deprecated: Please use @electron/asar moving forward. There is no API change, just a package name change + hasBin: true + dependencies: + chromium-pickle-js: 0.2.0 + commander: 5.1.0 + glob: 7.2.3 + minimatch: 3.1.2 + optionalDependencies: + '@types/glob': 7.2.0 + dev: true + + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + requiresBuild: true + dev: true + optional: true + + /async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + dev: true + + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + dev: true + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true + + /axios@1.6.0: + resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + requiresBuild: true + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /bin-pack@1.0.2: + resolution: {integrity: sha512-aOk0SxEon5LF9cMxQFViSKb4qccG6rs7XKyMXIb1J8f8LA2acTIWnHdT0IOTe4gYBbqgjdbuTZ5f+UP+vlh4Mw==} + dev: true + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + dev: true + + /bluebird-lst@1.0.9: + resolution: {integrity: sha512-7B1Rtx82hjnSD4PGLAjVWeYH3tHAcVUmChh85a3lltKQm6FresXh9ErQo6oAv6CqxttczC3/kEg8SY5NluPuUw==} + dependencies: + bluebird: 3.7.2 + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + requiresBuild: true + dev: true + optional: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /browserslist@4.21.10: + resolution: {integrity: sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001524 + electron-to-chromium: 1.4.505 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.10) + dev: true + + /buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + dev: true + + /buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer-equal@1.0.0: + resolution: {integrity: sha512-tcBWO2Dl4e7Asr9hTGcpVrCe+F7DubpmqWCTbj4FHLmjqO2hIaC383acQubWtRJhdceqs5uBHs6Es+Sk//RKiQ==} + engines: {node: '>=0.4.0'} + dev: true + + /buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + requiresBuild: true + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + optional: true + + /builder-util-runtime@9.1.1: + resolution: {integrity: sha512-azRhYLEoDvRDR8Dhis4JatELC/jUvYjm4cVSj7n9dauGTOM2eeNn9KS0z6YA6oDsjI1xphjNbY6PZZeHPzzqaw==} + engines: {node: '>=12.0.0'} + dependencies: + debug: 4.3.4 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + + /builder-util@23.6.0: + resolution: {integrity: sha512-QiQHweYsh8o+U/KNCZFSvISRnvRctb8m/2rB2I1JdByzvNKxPeFLlHFRPQRXab6aYeXc18j9LpsDLJ3sGQmWTQ==} + dependencies: + 7zip-bin: 5.1.1 + '@types/debug': 4.1.8 + '@types/fs-extra': 9.0.13 + app-builder-bin: 4.0.0 + bluebird-lst: 1.0.9 + builder-util-runtime: 9.1.1 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + fs-extra: 10.1.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-ci: 3.0.1 + js-yaml: 4.1.0 + source-map-support: 0.5.21 + stat-mode: 1.0.0 + temp-file: 3.4.0 + transitivePeerDependencies: + - supports-color + dev: true + + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + dev: true + + /bumpp@9.2.0: + resolution: {integrity: sha512-pgp7y3jp33QTaXFVDrE0IKuZF5Y8EsIz+ywZXFALW2nD+ZD+4crxJe/GypBQBoJuZrr5dc6TGrR3wl7fk3+C6w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jsdevtools/ez-spawn': 3.0.4 + c12: 1.4.2 + cac: 6.7.14 + fast-glob: 3.3.1 + prompts: 2.4.2 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /c12@1.4.2: + resolution: {integrity: sha512-3IP/MuamSVRVw8W8+CHWAz9gKN4gd+voF2zm/Ln6D25C2RhytEZ1ABbC8MjKr4BR9rhoV1JQ7jJA158LDiTkLg==} + dependencies: + chokidar: 3.5.3 + defu: 6.1.2 + dotenv: 16.3.1 + giget: 1.1.2 + jiti: 1.21.0 + mlly: 1.4.2 + ohash: 1.1.3 + pathe: 1.1.1 + perfect-debounce: 1.0.0 + pkg-types: 1.0.3 + rc9: 2.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cacache@18.0.0: + resolution: {integrity: sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/fs': 3.1.0 + fs-minipass: 3.0.3 + glob: 10.3.3 + lru-cache: 10.0.1 + minipass: 7.0.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + p-map: 4.0.0 + ssri: 10.0.5 + tar: 6.1.15 + unique-filename: 3.0.0 + dev: true + + /cacheable-lookup@5.0.4: + resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} + engines: {node: '>=10.6.0'} + dev: true + + /cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 4.5.3 + lowercase-keys: 2.0.0 + normalize-url: 6.1.0 + responselike: 2.0.1 + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + dev: true + + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /caniuse-lite@1.0.30001524: + resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==} + dev: true + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: true + + /chromium-pickle-js@0.2.0: + resolution: {integrity: sha512-1R5Fho+jBq0DDydt+/vHWj5KJNJCKdARKOCwZUen84I5BreWoLqRLANH1U87eJy1tiASPtMnGqJJq0ZsLoRPOw==} + dev: true + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-progress@3.12.0: + resolution: {integrity: sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==} + engines: {node: '>=4'} + dependencies: + string-width: 4.2.3 + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + optional: true + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /clone-stats@0.0.1: + resolution: {integrity: sha512-dhUqc57gSMCo6TX85FLfe51eC/s+Im2MLkAgJwfaRRexR2tA4dd3eLEW4L6efzHc2iNorrRRXITifnDLlRrhaA==} + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /colors@1.0.3: + resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} + engines: {node: '>=0.1.90'} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander@11.1.0: + resolution: {integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==} + engines: {node: '>=16'} + dev: true + + /commander@2.9.0: + resolution: {integrity: sha512-bmkUukX8wAOjHdN26xj5c4ctEV22TQ7dQYhSmuckKhToXrkUn0iIaolHdIxYYqD55nhpSPA9zPQ1yP57GdXP2A==} + engines: {node: '>= 0.6.x'} + dependencies: + graceful-readlink: 1.0.1 + dev: true + + /commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + dev: true + + /compare-version@0.1.2: + resolution: {integrity: sha512-pJDh5/4wrEnXX/VWRZvruAGHkzKdr46z11OlTPN+VrATlWWhSKewNCJ1futCO5C7eJB3nPMFZA1LeYtcFboZ2A==} + engines: {node: '>=0.10.0'} + dev: true + + /compressing@1.10.0: + resolution: {integrity: sha512-k2vpbZLaJoHe9euyUZjYYE8vOrbR19aU3HcWIYw5EBXiUs34ygfDVnXU+ubI41JXMriHutnoiu0ZFdwCkH6jPA==} + engines: {node: '>= 4.0.0'} + dependencies: + '@eggjs/yauzl': 2.11.0 + flushwritable: 1.0.0 + get-ready: 1.0.0 + iconv-lite: 0.5.2 + mkdirp: 0.5.6 + pump: 3.0.0 + streamifier: 0.1.1 + tar-stream: 1.6.2 + yazl: 2.5.1 + dev: true + + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /concat-stream@1.5.2: + resolution: {integrity: sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==} + engines: {'0': node >= 0.8} + dependencies: + inherits: 2.0.4 + readable-stream: 2.0.6 + typedarray: 0.0.7 + dev: true + + /consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + dev: true + + /contentstream@1.0.0: + resolution: {integrity: sha512-jqWbfFZFG9tZbdej7+TzXI4kanABh3BLtTWY6NxqTK5zo6iTIeo5aq4iRVfYsLQ0y8ccQqmJR/J4NeMmEdnR2w==} + engines: {node: '>= 0.8.0'} + dependencies: + readable-stream: 1.0.34 + dev: true + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + dev: true + + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /crc@3.8.0: + resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + requiresBuild: true + dependencies: + buffer: 5.7.1 + dev: true + optional: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /cwise-compiler@1.1.3: + resolution: {integrity: sha512-WXlK/m+Di8DMMcCjcWr4i+XzcQra9eCdXIJrgh4TUgh0pIS/yJduLxS9JgefsHJ/YVLdgPtXm9r62W92MvanEQ==} + dependencies: + uniq: 1.0.1 + dev: true + + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /data-uri-to-buffer@0.0.3: + resolution: {integrity: sha512-Cp+jOa8QJef5nXS5hU7M1DWzXPEIoVR3kbV0dQuVGwROZg8bGf1DcCnkmajBTnvghTtSNMUdRrPjgaT6ZQucbw==} + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /decode-uri-component@0.4.1: + resolution: {integrity: sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==} + engines: {node: '>=14.16'} + dev: false + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true + + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: true + + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /defu@6.1.2: + resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /destr@2.0.1: + resolution: {integrity: sha512-M1Ob1zPSIvlARiJUkKqvAZ3VAqQY6Jcuth/pBKQ2b1dX/Qx0OnJ8Vux6J2H5PTMQeRzWrrbTu70VxBfv/OPDJA==} + dev: true + + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + requiresBuild: true + dev: true + optional: true + + /dir-compare@2.4.0: + resolution: {integrity: sha512-l9hmu8x/rjVC9Z2zmGzkhOEowZvW7pmYws5CWHutg8u1JgvsKWMx7Q/UODeu4djLZ4FgW5besw5yvMQnBHzuCA==} + hasBin: true + dependencies: + buffer-equal: 1.0.0 + colors: 1.0.3 + commander: 2.9.0 + minimatch: 3.0.4 + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dmg-builder@23.6.0: + resolution: {integrity: sha512-jFZvY1JohyHarIAlTbfQOk+HnceGjjAdFjVn3n8xlDWKsYNqbO4muca6qXEZTfGXeQMG7TYim6CeS5XKSfSsGA==} + dependencies: + app-builder-lib: 23.6.0 + builder-util: 23.6.0 + builder-util-runtime: 9.1.1 + fs-extra: 10.1.0 + iconv-lite: 0.6.3 + js-yaml: 4.1.0 + optionalDependencies: + dmg-license: 1.0.11 + transitivePeerDependencies: + - supports-color + dev: true + + /dmg-license@1.0.11: + resolution: {integrity: sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==} + engines: {node: '>=8'} + os: [darwin] + hasBin: true + requiresBuild: true + dependencies: + '@types/plist': 3.0.2 + '@types/verror': 1.10.6 + ajv: 6.12.6 + crc: 3.8.0 + iconv-corefoundation: 1.1.7 + plist: 3.1.0 + smart-buffer: 4.2.0 + verror: 1.10.1 + dev: true + optional: true + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dotenv-expand@5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dev: true + + /dotenv@16.3.1: + resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + engines: {node: '>=12'} + dev: true + + /dotenv@9.0.2: + resolution: {integrity: sha512-I9OvvrHp4pIARv4+x9iuewrWycX6CcZtoAu1XrzPxc5UygMJXJZYmBsynku8IkrJwgypE5DGNjDPmPRhDCptUg==} + engines: {node: '>=10'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.7 + dev: true + + /electron-builder@23.6.0: + resolution: {integrity: sha512-y8D4zO+HXGCNxFBV/JlyhFnoQ0Y0K7/sFH+XwIbj47pqaW8S6PGYQbjoObolKBR1ddQFPt4rwp4CnwMJrW3HAw==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@types/yargs': 17.0.24 + app-builder-lib: 23.6.0 + builder-util: 23.6.0 + builder-util-runtime: 9.1.1 + chalk: 4.1.2 + dmg-builder: 23.6.0 + fs-extra: 10.1.0 + is-ci: 3.0.1 + lazy-val: 1.0.5 + read-config-file: 6.2.0 + simple-update-notifier: 1.1.0 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + dev: true + + /electron-osx-sign@0.6.0: + resolution: {integrity: sha512-+hiIEb2Xxk6eDKJ2FFlpofCnemCbjbT5jz+BKGpVBrRNT3kWTGs4DfNX6IzGwgi33hUcXF+kFs9JW+r6Wc1LRg==} + engines: {node: '>=4.0.0'} + deprecated: Please use @electron/osx-sign moving forward. Be aware the API is slightly different + hasBin: true + dependencies: + bluebird: 3.7.2 + compare-version: 0.1.2 + debug: 2.6.9 + isbinaryfile: 3.0.3 + minimist: 1.2.8 + plist: 3.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /electron-publish@23.6.0: + resolution: {integrity: sha512-jPj3y+eIZQJF/+t5SLvsI5eS4mazCbNYqatv5JihbqOstIM13k0d1Z3vAWntvtt13Itl61SO6seicWdioOU5dg==} + dependencies: + '@types/fs-extra': 9.0.13 + builder-util: 23.6.0 + builder-util-runtime: 9.1.1 + chalk: 4.1.2 + fs-extra: 10.1.0 + lazy-val: 1.0.5 + mime: 2.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /electron-to-chromium@1.4.505: + resolution: {integrity: sha512-0A50eL5BCCKdxig2SsCXhpuztnB9PfUgRMojj5tMvt8O54lbwz3t6wNgnpiTRosw5QjlJB7ixhVyeg8daLQwSQ==} + dev: true + + /electron@22.3.12: + resolution: {integrity: sha512-CVjR9dp4UTm4TlwoeNnkmdnCye96giyw9Ie2VLlMUnOTJur2588zaTHpdRuE3006/gdMM9lPx2jC7uBFdadmKg==} + engines: {node: '>= 12.20.55'} + hasBin: true + requiresBuild: true + dependencies: + '@electron/get': 2.0.2 + '@types/node': 16.18.46 + extract-zip: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /emphasize@4.2.0: + resolution: {integrity: sha512-yGKvcFUHlBsUPwlxTlzKLR8+zhpbitkFOMCUxN8fTJng9bdH3WNzUGkhdaGdjndSUgqmMPBN7umfwnUdLz5Axg==} + dependencies: + chalk: 4.1.2 + highlight.js: 10.4.1 + lowlight: 1.17.0 + dev: true + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: true + optional: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + dev: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.22.1: + resolution: {integrity: sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.1 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-array-concat: 1.0.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.11 + dev: true + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + requiresBuild: true + dev: true + optional: true + + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-formatter-mo@1.2.0: + resolution: {integrity: sha512-j/1oWwwIZWlpziMlPGmP2ZA/9LmcDzKcSHx0q9hqnOxAYy42NAoGD0YErU27crRX+sp64w+PfAd57YoxTtjvAQ==} + dependencies: + chalk: 3.0.0 + emphasize: 4.2.0 + gradient-string: 1.2.0 + plur: 4.0.0 + string-width: 4.2.3 + dev: true + + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + dependencies: + debug: 3.2.7 + is-core-module: 2.13.0 + resolve: 1.22.4 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.5.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + debug: 3.2.7 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-es-x@7.2.0(eslint@8.53.0): + resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '>=8' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/regexpp': 4.8.0 + eslint: 8.53.0 + dev: true + + /eslint-plugin-eslint-comments@3.2.0(eslint@8.53.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + dependencies: + escape-string-regexp: 1.0.5 + eslint: 8.53.0 + ignore: 5.2.4 + dev: true + + /eslint-plugin-html@7.1.0: + resolution: {integrity: sha512-fNLRraV/e6j8e3XYOC9xgND4j+U7b1Rq+OygMlLcMg+wI/IpVbF+ubQa3R78EjKB9njT6TQOlcK5rFKBVVtdfg==} + dependencies: + htmlparser2: 8.0.2 + dev: true + + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.5.0)(eslint@8.53.0): + resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 6.5.0(eslint@8.53.0)(typescript@5.2.2) + array-includes: 3.1.6 + array.prototype.findlastindex: 1.2.2 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.53.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.5.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) + has: 1.0.3 + is-core-module: 2.13.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.7 + object.groupby: 1.0.1 + object.values: 1.1.7 + semver: 6.3.1 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: true + + /eslint-plugin-jsonc@2.9.0(eslint@8.53.0): + resolution: {integrity: sha512-RK+LeONVukbLwT2+t7/OY54NJRccTXh/QbnXzPuTLpFMVZhPuq1C9E07+qWenGx7rrQl0kAalAWl7EmB+RjpGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + eslint: 8.53.0 + jsonc-eslint-parser: 2.3.0 + natural-compare: 1.4.0 + dev: true + + /eslint-plugin-markdown@3.0.1(eslint@8.53.0): + resolution: {integrity: sha512-8rqoc148DWdGdmYF6WSQFT3uQ6PO7zXYgeBpHAOAakX/zpq+NvFYbDA/H7PYzHajwtmaOzAwfxyl++x0g1/N9A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.53.0 + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-n@16.0.2(eslint@8.53.0): + resolution: {integrity: sha512-Y66uDfUNbBzypsr0kELWrIz+5skicECrLUqlWuXawNSLUq3ltGlCwu6phboYYOTSnoTdHgTLrc+5Ydo6KjzZog==} + engines: {node: '>=16.0.0'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + builtins: 5.0.1 + eslint: 8.53.0 + eslint-plugin-es-x: 7.2.0(eslint@8.53.0) + ignore: 5.2.4 + is-core-module: 2.13.0 + minimatch: 3.1.2 + resolve: 1.22.4 + semver: 7.5.4 + dev: true + + /eslint-plugin-no-only-tests@3.1.0: + resolution: {integrity: sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==} + engines: {node: '>=5.0.0'} + dev: true + + /eslint-plugin-promise@6.1.1(eslint@8.53.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.53.0 + dev: true + + /eslint-plugin-unicorn@48.0.1(eslint@8.53.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + ci-info: 3.8.0 + clean-regexp: 1.0.0 + eslint: 8.53.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + regjsparser: 0.10.0 + semver: 7.5.4 + strip-indent: 3.0.0 + dev: true + + /eslint-plugin-unused-imports@3.0.0(@typescript-eslint/eslint-plugin@6.5.0)(eslint@8.53.0): + resolution: {integrity: sha512-sduiswLJfZHeeBJ+MQaG+xYzSWdRXoSw61DpU13mzWumCkR0ufD0HmO4kdNokjrkluMHpj/7PJeN35pgbhW3kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^6.0.0 + eslint: ^8.0.0 + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 6.5.0(@typescript-eslint/parser@6.5.0)(eslint@8.53.0)(typescript@5.2.2) + eslint: 8.53.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-plugin-vue@9.17.0(eslint@8.53.0): + resolution: {integrity: sha512-r7Bp79pxQk9I5XDP0k2dpUC7Ots3OSWgvGZNu3BxmKK6Zg7NgVtcOB6OCna5Kb9oQwJPl5hq183WD0SY5tZtIQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + eslint: 8.53.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.13 + semver: 7.5.4 + vue-eslint-parser: 9.3.1(eslint@8.53.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-yml@1.8.0(eslint@8.53.0): + resolution: {integrity: sha512-fgBiJvXD0P2IN7SARDJ2J7mx8t0bLdG6Zcig4ufOqW5hOvSiFxeUyc2g5I1uIm8AExbo26NNYCcTGZT0MXTsyg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.53.0 + lodash: 4.17.21 + natural-compare: 1.4.0 + yaml-eslint-parser: 1.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) + '@eslint-community/regexpp': 4.8.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 + '@humanwhocodes/config-array': 0.11.13 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.21.0 + graphemer: 1.4.0 + ignore: 5.2.4 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.3 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /exponential-backoff@3.1.1: + resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==} + dev: true + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + dependencies: + debug: 4.3.4 + get-stream: 5.2.0 + yauzl: 2.10.0 + optionalDependencies: + '@types/yauzl': 2.10.0 + transitivePeerDependencies: + - supports-color + dev: true + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /extsprintf@1.4.1: + resolution: {integrity: sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==} + engines: {'0': node >=0.6.0} + requiresBuild: true + dev: true + optional: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + dev: true + + /fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + dependencies: + format: 0.2.2 + dev: true + + /fd-slicer2@1.2.0: + resolution: {integrity: sha512-3lBUNUckhMZduCc4g+Pw4Ve16LD9vpX9b8qUkkKq2mgDRLYWzblszZH2luADnJqjJe+cypngjCuKRm/IW12rRw==} + dependencies: + pend: 1.2.0 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.1.0 + dev: true + + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.6 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /filter-obj@5.1.0: + resolution: {integrity: sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==} + engines: {node: '>=14.16'} + dev: false + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /first-chunk-stream@1.0.0: + resolution: {integrity: sha512-ArRi5axuv66gEsyl3UuK80CzW7t56hem73YGNYxNWTGNKFJUadSb9Gu9SHijYEUi8ulQMf1bJomYNwSCPHhtTQ==} + engines: {node: '>=0.10.0'} + dev: true + + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} + dependencies: + flatted: 3.2.7 + keyv: 4.5.3 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /flushwritable@1.0.0: + resolution: {integrity: sha512-3VELfuWCLVzt5d2Gblk8qcqFro6nuwvxwMzHaENVDHI7rxcBRtMCwTk/E9FXcgh+82DSpavPNDueA9+RxXJoFg==} + dev: true + + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: false + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + /format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + dev: true + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /fs-minipass@3.0.3: + resolution: {integrity: sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.3 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + dev: true + + /get-pixels@3.3.3: + resolution: {integrity: sha512-5kyGBn90i9tSMUVHTqkgCHsoWoR+/lGbl4yC83Gefyr0HLIhgSWEx/2F/3YgsZ7UpYNuM6pDhDK7zebrUJ5nXg==} + dependencies: + data-uri-to-buffer: 0.0.3 + jpeg-js: 0.4.4 + mime-types: 2.1.35 + ndarray: 1.0.19 + ndarray-pack: 1.2.1 + node-bitmap: 0.0.1 + omggif: 1.0.10 + parse-data-uri: 0.2.0 + pngjs: 3.4.0 + request: 2.88.2 + through: 2.3.8 + dev: true + + /get-ready@1.0.0: + resolution: {integrity: sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw==} + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /gif-encoder@0.4.3: + resolution: {integrity: sha512-HMfSa+EIng62NbDhM63QGYoc49/m8DcZ9hhBtw+CXX9mKboSpeFVxjZ2WEWaMFZ14MUjfACK7jsrxrJffIVrCg==} + engines: {node: '>= 0.8.0'} + dependencies: + readable-stream: 1.1.14 + dev: true + + /giget@1.1.2: + resolution: {integrity: sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==} + hasBin: true + dependencies: + colorette: 2.0.20 + defu: 6.1.2 + https-proxy-agent: 5.0.1 + mri: 1.2.0 + node-fetch-native: 1.4.0 + pathe: 1.1.1 + tar: 6.1.15 + transitivePeerDependencies: + - supports-color + dev: true + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.6 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + dev: true + + /glob@10.3.3: + resolution: {integrity: sha512-92vPiMb/iqpmEgsOoIDvTjc50wf9CCCvMzsi6W0JLPeUKE8TWP1a73PgqSrqy7iAZxaSD1YdzU7QZR5LF51MJw==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.0 + minimatch: 9.0.3 + minipass: 7.0.3 + path-scurry: 1.10.1 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + requiresBuild: true + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.5.4 + serialize-error: 7.0.1 + dev: true + optional: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true + + /globals@13.21.0: + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /got@11.8.6: + resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} + engines: {node: '>=10.19.0'} + dependencies: + '@sindresorhus/is': 4.6.0 + '@szmarczak/http-timer': 4.0.6 + '@types/cacheable-request': 6.0.3 + '@types/responselike': 1.0.0 + cacheable-lookup: 5.0.4 + cacheable-request: 7.0.4 + decompress-response: 6.0.0 + http2-wrapper: 1.0.3 + lowercase-keys: 2.0.0 + p-cancelable: 2.1.1 + responselike: 2.0.1 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graceful-readlink@1.0.1: + resolution: {integrity: sha512-8tLu60LgxF6XpdbK8OW3FA+IfTNBn1ZHGHKF4KQbEeSkajYw5PlYJcKluntgegDPTg8UkHjpet1T82vk6TQ68w==} + dev: true + + /gradient-string@1.2.0: + resolution: {integrity: sha512-Lxog7IDMMWNjwo4O0KbdBvSewk4vW6kQe5XaLuuPCyCE65AGQ1P8YqKJa5dq8TYf/Ge31F+KjWzPR5mAJvjlAg==} + engines: {node: '>=4'} + dependencies: + chalk: 2.4.2 + tinygradient: 0.4.3 + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: true + + /har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + dev: true + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /highlight.js@10.4.1: + resolution: {integrity: sha512-yR5lWvNz7c85OhVAEAeFhVCc/GV4C30Fjzc/rCP0aCWzc1UUOPUk55dK/qdwTZHBvMZo+eZ2jpk62ndX/xMFlg==} + dev: true + + /hoci@0.0.12(vue@3.3.8): + resolution: {integrity: sha512-MAqLWn3h3lMauflLj9lmOp/SMSdOJIwdoazJqaAejUNM0/T0URiDMfQJbnUxNjU1indk2tkUWjZSFpooL7gmiw==} + peerDependencies: + vue: ^3.2.31 + dependencies: + '@vueuse/core': 9.13.0(vue@3.3.8) + maybe-types: 0.0.3 + vue: 3.3.8(typescript@5.2.2) + transitivePeerDependencies: + - '@vue/composition-api' + dev: false + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /hosted-git-info@7.0.1: + resolution: {integrity: sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + lru-cache: 10.0.1 + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /html-to-image@1.11.11: + resolution: {integrity: sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA==} + dev: false + + /htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy-agent@7.0.0: + resolution: {integrity: sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: true + + /http2-wrapper@1.0.3: + resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@7.0.2: + resolution: {integrity: sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /iconv-corefoundation@1.1.7: + resolution: {integrity: sha512-T10qvkw0zz4wnm560lOEg0PovVqUXuOFhhHAkixw8/sycy7TJt7v/RrkEKEQnAw2viPSJu6iAkErxnzR0g8PpQ==} + engines: {node: ^8.11.2 || >=10} + os: [darwin] + requiresBuild: true + dependencies: + cli-truncate: 2.1.0 + node-addon-api: 1.7.2 + dev: true + optional: true + + /iconv-lite@0.5.2: + resolution: {integrity: sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + requiresBuild: true + dev: true + optional: true + + /ignore-walk@6.0.3: + resolution: {integrity: sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minimatch: 9.0.3 + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + dev: true + + /immutable@4.3.4: + resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /iota-array@1.0.0: + resolution: {integrity: sha512-pZ2xT+LOHckCatGQ3DcG/a+QuEqvoxqkiL7tvE8nn3uuu+f6i1TtpB5/FtWFbxUuVr5PZCx8KskuGatbJDXOWA==} + dev: true + + /ip@2.0.0: + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + dev: true + + /irregular-plurals@3.5.0: + resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} + engines: {node: '>=8'} + dev: true + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.8.0 + dev: true + + /is-core-module@2.13.0: + resolution: {integrity: sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==} + dependencies: + has: 1.0.3 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.11 + dev: true + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-utf8@0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isbinaryfile@3.0.3: + resolution: {integrity: sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==} + engines: {node: '>=0.6.0'} + dependencies: + buffer-alloc: 1.2.0 + dev: true + + /isbinaryfile@4.0.10: + resolution: {integrity: sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==} + engines: {node: '>= 8.0.0'} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /isexe@3.1.1: + resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} + engines: {node: '>=16'} + dev: true + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /jackspeak@2.3.0: + resolution: {integrity: sha512-uKmsITSsF4rUWQHzqaRUuyAir3fZfW3f202Ee34lz/gZCi970CPZwyQXLGNgWJvvZbvFyzeyGq0+4fcG/mBKZg==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true + + /jpeg-js@0.4.4: + resolution: {integrity: sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true + + /json-parse-even-better-errors@3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + requiresBuild: true + dev: true + + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-eslint-parser@2.3.0: + resolution: {integrity: sha512-9xZPKVYp9DxnM3sd1yAsh/d59iIaswDkai8oTxbursfKYbg/ibjX0IzFt35+VZ8iEW453TVTXztnRvYUQlAfUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.5.4 + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /keyv@4.5.3: + resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /layout@2.2.0: + resolution: {integrity: sha512-+kdgg25XW11BA4cl9vF+SH01HaBipld2Nf/PlU2kSYncAbdUbDoahzrlh6yhR93N/wR2TGgcFoxebzR1LKmZUg==} + engines: {node: '>= 0.8.0'} + dependencies: + bin-pack: 1.0.2 + dev: true + + /lazy-val@1.0.5: + resolution: {integrity: sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==} + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged@15.0.2: + resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + engines: {node: '>=18.12.0'} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.1.0 + debug: 4.3.4 + execa: 8.0.1 + lilconfig: 2.1.0 + listr2: 7.0.2 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /listr2@7.0.2: + resolution: {integrity: sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g==} + engines: {node: '>=16.0.0'} + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.0 + wrap-ansi: 8.1.0 + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + dev: true + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true + + /lowlight@1.17.0: + resolution: {integrity: sha512-vmtBgYKD+QVNy7tIa7ulz5d//Il9R4MooOVh4nkOf9R9Cb/Dk5TXMSTieg/vDulkBkIWj59/BIlyFQxT9X1oAQ==} + dependencies: + fault: 1.0.4 + highlight.js: 10.4.1 + dev: true + + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string@0.30.3: + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /make-fetch-happen@13.0.0: + resolution: {integrity: sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@npmcli/agent': 2.2.0 + cacache: 18.0.0 + http-cache-semantics: 4.1.1 + is-lambda: 1.0.1 + minipass: 7.0.3 + minipass-fetch: 3.0.4 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + ssri: 10.0.5 + transitivePeerDependencies: + - supports-color + dev: true + + /matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + escape-string-regexp: 4.0.0 + dev: true + optional: true + + /maybe-types@0.0.3: + resolution: {integrity: sha512-N2uxJ/KxCubqnxqVGi3s0EGB26J8X6xWLjEUZfLTNUBmlPRa2WcC8lWywpOsJZc6iLwG7ih8l6xFxr+jt9JnxQ==} + dev: false + + /maybe-types@0.2.0: + resolution: {integrity: sha512-4ul+RHPcxNznI+Ke6xUT2/mcQTl54fYUdRZQ3QNkQsC4USfAxXkPTh+wEOx4UBsXYg214867v2ZeirQDJT7uOA==} + dev: true + + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.12 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + dependencies: + debug: 4.3.4 + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch@3.0.4: + resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true + + /minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-fetch@3.0.4: + resolution: {integrity: sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.3 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: true + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-json-stream@1.0.1: + resolution: {integrity: sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==} + dependencies: + jsonparse: 1.3.1 + minipass: 3.3.6 + dev: true + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + dependencies: + minipass: 3.3.6 + dev: true + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: true + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: true + + /minipass@7.0.3: + resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + + /mlly@1.4.1: + resolution: {integrity: sha512-SCDs78Q2o09jiZiE2WziwVBEqXQ02XkGdUy45cbJf+BpYRIjArXRJ1Wbowxkb+NaM9DWvS3UC9GiO/6eqvQ/pg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + dev: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + dev: true + + /mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /ndarray-ops@1.2.2: + resolution: {integrity: sha512-BppWAFRjMYF7N/r6Ie51q6D4fs0iiGmeXIACKY66fLpnwIui3Wc3CXiD/30mgLbDjPpSLrsqcp3Z62+IcHZsDw==} + dependencies: + cwise-compiler: 1.1.3 + dev: true + + /ndarray-pack@1.2.1: + resolution: {integrity: sha512-51cECUJMT0rUZNQa09EoKsnFeDL4x2dHRT0VR5U2H5ZgEcm95ZDWcMA5JShroXjHOejmAD/fg8+H+OvUnVXz2g==} + dependencies: + cwise-compiler: 1.1.3 + ndarray: 1.0.19 + dev: true + + /ndarray@1.0.19: + resolution: {integrity: sha512-B4JHA4vdyZU30ELBw3g7/p9bZupyew5a7tX1Y/gGeF2hafrPaQZhgrGQfsvgfYbgdFZjYwuEcnaobeM/WMW+HQ==} + dependencies: + iota-array: 1.0.0 + is-buffer: 1.1.6 + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /node-addon-api@1.7.2: + resolution: {integrity: sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==} + requiresBuild: true + dev: true + optional: true + + /node-bitmap@0.0.1: + resolution: {integrity: sha512-Jx5lPaaLdIaOsj2mVLWMWulXF6GQVdyLvNSxmiYCvZ8Ma2hfKX0POoR2kgKOqz+oFsRreq0yYZjQ2wjE9VNzCA==} + engines: {node: '>=v0.6.5'} + dev: true + + /node-fetch-native@1.4.0: + resolution: {integrity: sha512-F5kfEj95kX8tkDhUCYdV8dg3/8Olx/94zB8+ZNthFs6Bz31UpUi8Xh40TN3thLwXgrwXry1pEg9lJ++tLWTcqA==} + dev: true + + /node-gyp@10.0.1: + resolution: {integrity: sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + env-paths: 2.2.1 + exponential-backoff: 3.1.1 + glob: 10.3.10 + graceful-fs: 4.2.11 + make-fetch-happen: 13.0.0 + nopt: 7.2.0 + proc-log: 3.0.0 + semver: 7.5.4 + tar: 6.1.15 + which: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + dev: true + + /nopt@7.2.0: + resolution: {integrity: sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + abbrev: 2.0.0 + dev: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.4 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@6.0.0: + resolution: {integrity: sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + is-core-module: 2.13.0 + semver: 7.5.4 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true + + /npm-bundled@3.0.0: + resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + npm-normalize-package-bin: 3.0.1 + dev: true + + /npm-install-checks@6.3.0: + resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + semver: 7.5.4 + dev: true + + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /npm-package-arg@11.0.1: + resolution: {integrity: sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + hosted-git-info: 7.0.1 + proc-log: 3.0.0 + semver: 7.5.4 + validate-npm-package-name: 5.0.0 + dev: true + + /npm-packlist@8.0.0: + resolution: {integrity: sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + ignore-walk: 6.0.3 + dev: true + + /npm-pick-manifest@9.0.0: + resolution: {integrity: sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + npm-install-checks: 6.3.0 + npm-normalize-package-bin: 3.0.1 + npm-package-arg: 11.0.1 + semver: 7.5.4 + dev: true + + /npm-registry-fetch@16.1.0: + resolution: {integrity: sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + make-fetch-happen: 13.0.0 + minipass: 7.0.3 + minipass-fetch: 3.0.4 + minipass-json-stream: 1.0.1 + minizlib: 2.1.2 + npm-package-arg: 11.0.1 + proc-log: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: true + + /obj-extend@0.1.0: + resolution: {integrity: sha512-or9c7Ue2wWCun41DuLP3+LKEUjSZcDSxfCM4HZQSX9tcjLL/yuzTW7MmtVNs+MmN16uDRpDrFmFK/WVSm4vklg==} + dev: true + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + + /object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + get-intrinsic: 1.2.1 + dev: true + + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + + /ofetch@1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + dependencies: + destr: 2.0.1 + node-fetch-native: 1.4.0 + ufo: 1.3.0 + dev: true + + /ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + dev: true + + /omggif@1.0.10: + resolution: {integrity: sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw==} + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + dev: true + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true + + /pacote@17.0.4: + resolution: {integrity: sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + '@npmcli/git': 5.0.3 + '@npmcli/installed-package-contents': 2.0.2 + '@npmcli/promise-spawn': 7.0.0 + '@npmcli/run-script': 7.0.2 + cacache: 18.0.0 + fs-minipass: 3.0.3 + minipass: 7.0.3 + npm-package-arg: 11.0.1 + npm-packlist: 8.0.0 + npm-pick-manifest: 9.0.0 + npm-registry-fetch: 16.1.0 + proc-log: 3.0.0 + promise-retry: 2.0.1 + read-package-json: 7.0.0 + read-package-json-fast: 3.0.2 + sigstore: 2.1.0 + ssri: 10.0.5 + tar: 6.1.15 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + dev: false + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-data-uri@0.2.0: + resolution: {integrity: sha512-uOtts8NqDcaCt1rIsO3VFDRsAfgE4c6osG4d9z3l4dCBlxYFzni6Di/oNU270SDrjkfZuUvLZx1rxMyqh46Y9w==} + dependencies: + data-uri-to-buffer: 0.0.3 + dev: true + + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.22.13 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.1 + minipass: 7.0.3 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pinia@2.1.7(typescript@5.2.2)(vue@3.3.8): + resolution: {integrity: sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/devtools-api': 6.5.0 + typescript: 5.2.2 + vue: 3.3.8(typescript@5.2.2) + vue-demi: 0.14.6(vue@3.3.8) + dev: false + + /pixelsmith@2.6.0: + resolution: {integrity: sha512-1W0C8EVxAPJwsCodw/+dfeEtdSc8JuHFipVylf51PIvh7S7Q33qmVCCzeWQp1y1sXpZ52iXGY2D/ICMyHPIULw==} + engines: {node: '>= 12.0.0'} + dependencies: + async: 3.2.4 + concat-stream: 1.5.2 + get-pixels: 3.3.3 + mime-types: 2.1.35 + ndarray: 1.0.19 + obj-extend: 0.1.0 + save-pixels: 2.3.6 + vinyl-file: 1.3.0 + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.1 + pathe: 1.1.1 + dev: true + + /plist@3.1.0: + resolution: {integrity: sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==} + engines: {node: '>=10.4.0'} + dependencies: + '@xmldom/xmldom': 0.8.10 + base64-js: 1.5.1 + xmlbuilder: 15.1.1 + dev: true + + /plur@4.0.0: + resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} + engines: {node: '>=10'} + dependencies: + irregular-plurals: 3.5.0 + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /pngjs-nozlib@1.0.0: + resolution: {integrity: sha512-N1PggqLp9xDqwAoKvGohmZ3m4/N9xpY0nDZivFqQLcpLHmliHnCp9BuNCsOeqHWMuEEgFjpEaq9dZq6RZyy0fA==} + engines: {iojs: '>= 1.0.0', node: '>=0.10.0'} + dev: true + + /pngjs@3.4.0: + resolution: {integrity: sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==} + engines: {node: '>=4.0.0'} + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss@8.4.28: + resolution: {integrity: sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /proc-log@3.0.0: + resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /process-nextick-args@1.0.7: + resolution: {integrity: sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw==} + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dev: true + + /promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + dev: true + + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /query-string@8.1.0: + resolution: {integrity: sha512-BFQeWxJOZxZGix7y+SByG3F36dA0AbTy9o6pSmKFcFz7DAj0re9Frkty3saBn3nHo3D0oZJ/+rx3r8H8r8Jbpw==} + engines: {node: '>=14.16'} + dependencies: + decode-uri-component: 0.4.1 + filter-obj: 5.1.0 + split-on-first: 3.0.0 + dev: false + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /rc9@2.1.1: + resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} + dependencies: + defu: 6.1.2 + destr: 2.0.1 + flat: 5.0.2 + dev: true + + /read-config-file@6.2.0: + resolution: {integrity: sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==} + engines: {node: '>=12.0.0'} + dependencies: + dotenv: 9.0.2 + dotenv-expand: 5.1.0 + js-yaml: 4.1.0 + json5: 2.2.3 + lazy-val: 1.0.5 + dev: true + + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /read-package-json@7.0.0: + resolution: {integrity: sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + glob: 10.3.3 + json-parse-even-better-errors: 3.0.0 + normalize-package-data: 6.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readable-stream@1.0.34: + resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream@1.1.14: + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream@2.0.6: + resolution: {integrity: sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 1.0.7 + string_decoder: 0.10.31 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true + + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /replace-ext@0.0.1: + resolution: {integrity: sha512-AFBWBy9EVRTa/LhEcG8QDP3FvpwZqmvN2QFDuJswFeaVhWnZMp8q3E6Zd90SR04PlIwfGdyVjNyLPyen/ek5CQ==} + engines: {node: '>= 0.4'} + dev: true + + /request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve@1.22.4: + resolution: {integrity: sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==} + hasBin: true + dependencies: + is-core-module: 2.13.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + dependencies: + lowercase-keys: 2.0.0 + dev: true + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rimraf@5.0.5: + resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} + engines: {node: '>=14'} + hasBin: true + dependencies: + glob: 10.3.10 + dev: true + + /roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + requiresBuild: true + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.3 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.2 + dev: true + optional: true + + /rollup@3.28.1: + resolution: {integrity: sha512-R9OMQmIHJm9znrU3m3cpE8uhN0fGdXiawME7aZIpQqvpS/85+Vt1Hq1/yVIcYfOmaQiHjvXkQAoJukvLpau6Yw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.0.0: + resolution: {integrity: sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sanitize-filename@1.6.3: + resolution: {integrity: sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==} + dependencies: + truncate-utf8-bytes: 1.0.2 + dev: true + + /sass@1.69.5: + resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.3.4 + source-map-js: 1.0.2 + dev: true + + /save-pixels@2.3.6: + resolution: {integrity: sha512-/ayfEWBxt0tFpf5lxSU1S0+/TBn7EiaTZD+6GL+mwizHm3BKCBysnzT6Js7BusDUVcNVLkeJJKLZcBgdpM2leQ==} + dependencies: + contentstream: 1.0.0 + gif-encoder: 0.4.3 + jpeg-js: 0.4.4 + ndarray: 1.0.19 + ndarray-ops: 1.2.2 + pngjs-nozlib: 1.0.0 + through: 2.3.8 + dev: true + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + requiresBuild: true + dev: true + optional: true + + /semver@5.0.3: + resolution: {integrity: sha512-5OkOBiw69xqmxOFIXwXsiY1HlE+om8nNptg1ZIf95fzcnfgOv2fLm7pmmGbRJsjJIqPpW5Kwy4wpDBTz5wQlUw==} + hasBin: true + dev: true + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true + + /semver@7.0.0: + resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} + hasBin: true + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + type-fest: 0.13.1 + dev: true + optional: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + object-inspect: 1.12.3 + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sigstore@2.1.0: + resolution: {integrity: sha512-kPIj+ZLkyI3QaM0qX8V/nSsweYND3W448pwkDgS6CQ74MfhEkIR8ToK5Iyx46KJYRjseVcD3Rp9zAmUAj6ZjPw==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@sigstore/bundle': 2.1.0 + '@sigstore/protobuf-specs': 0.2.1 + '@sigstore/sign': 2.2.0 + '@sigstore/tuf': 2.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /simple-git-hooks@2.9.0: + resolution: {integrity: sha512-waSQ5paUQtyGC0ZxlHmcMmD9I1rRXauikBwX31bX58l5vTOhCEcBC5Bi+ZDkPXTjDnZAF8TbCqKBY+9+sVPScw==} + hasBin: true + requiresBuild: true + dev: true + + /simple-update-notifier@1.1.0: + resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} + engines: {node: '>=8.10.0'} + dependencies: + semver: 7.0.0 + dev: true + + /sirv@2.0.3: + resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 3.0.1 + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + optional: true + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + requiresBuild: true + dev: true + + /socks-proxy-agent@8.0.2: + resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} + engines: {node: '>= 14'} + dependencies: + agent-base: 7.1.0 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: true + + /sortablejs@1.15.0: + resolution: {integrity: sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w==} + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /split-on-first@3.0.0: + resolution: {integrity: sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==} + engines: {node: '>=12'} + dev: false + + /sprintf-js@1.1.2: + resolution: {integrity: sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==} + requiresBuild: true + dev: true + optional: true + + /spritesmith@3.4.1: + resolution: {integrity: sha512-NQZ8c7bZKbtqc0n0V+vVpurV72BwziOXw8AAU/nOdrjcjgCVoy+XUoopbrAYaNfJJgK730U98SB579+YtzfUJw==} + engines: {node: '>= 4.0.0'} + dependencies: + concat-stream: 1.5.2 + layout: 2.2.0 + pixelsmith: 2.6.0 + semver: 5.0.3 + through2: 2.0.5 + dev: true + + /sshpk@1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /ssri@10.0.5: + resolution: {integrity: sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + minipass: 7.0.3 + dev: true + + /stat-mode@1.0.0: + resolution: {integrity: sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==} + engines: {node: '>= 6'} + dev: true + + /streamifier@0.1.1: + resolution: {integrity: sha512-zDgl+muIlWzXNsXeyUfOk9dChMjlpkq0DRsxujtYPgyJ676yQ8jEm6zzaaWHFDg5BNcLuif0eD2MTyJdZqXpdg==} + engines: {node: '>=0.10'} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + dev: true + + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.1 + dev: true + + /string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom-stream@1.0.0: + resolution: {integrity: sha512-7jfJB9YpI2Z0aH3wu10ZqitvYJaE0s5IzFuWE+0pbb4Q/armTloEUShymkDO47YSLnjAW52mlXT//hs9wXNNJQ==} + engines: {node: '>=0.10.0'} + dependencies: + first-chunk-stream: 1.0.0 + strip-bom: 2.0.0 + dev: true + + /strip-bom@2.0.0: + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.1.1 + xtend: 4.0.2 + dev: true + + /tar@6.1.15: + resolution: {integrity: sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: true + + /taze@0.12.0: + resolution: {integrity: sha512-ftDYS/dNF0EkiEpZZweJxJKQRVFPBFFDz3OPezFloVtOHoMmVwLiMxLM9KYLnA+30D8IFdnGgS15WiIaz2bOfA==} + hasBin: true + dependencies: + '@antfu/ni': 0.21.8 + '@npmcli/config': 8.0.1 + cli-progress: 3.12.0 + deepmerge: 4.3.1 + detect-indent: 7.0.1 + execa: 8.0.1 + pacote: 17.0.4 + picocolors: 1.0.0 + prompts: 2.4.2 + semver: 7.5.4 + unconfig: 0.3.11 + yargs: 17.7.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: true + + /temp-file@3.4.0: + resolution: {integrity: sha512-C5tjlC/HCtVUOi3KWVokd4vHVViOmGjtLwIh4MuzPo/nMYTV/p1urt3RnMz2IWXDdKEGJH3k5+KPxtqRsUYGtg==} + dependencies: + async-exit-hook: 2.0.1 + fs-extra: 10.1.0 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.8 + xtend: 4.0.2 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + dev: true + + /tinygradient@0.4.3: + resolution: {integrity: sha512-tBPYQSs6eWukzzAITBSmqcOwZCKACvRa/XjPPh1mj4mnx4G3Drm51HxyCTU/TKnY8kG4hmTe5QlOh9O82aNtJQ==} + dependencies: + '@types/tinycolor2': 1.4.3 + tinycolor2: 1.6.0 + dev: true + + /tmp-promise@3.0.3: + resolution: {integrity: sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==} + dependencies: + tmp: 0.2.1 + dev: true + + /tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + + /to-buffer@1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: true + + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + dev: true + + /truncate-utf8-bytes@1.0.2: + resolution: {integrity: sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==} + dependencies: + utf8-byte-length: 1.0.4 + dev: true + + /ts-api-utils@1.0.2(typescript@5.2.2): + resolution: {integrity: sha512-Cbu4nIqnEdd+THNEsBdkolnOXhg0I8XteoHaEKgvsxpsbWda4IsUut2c187HxywQCvveojow0Dgw/amxtSKVkQ==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /tsconfig-paths@3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslx@0.1.1: + resolution: {integrity: sha512-MYh2I7iw8owRx3xFVq8DXp3JWoJ7G7oMA5uUrCwGvuOipV6w9XvlJKo3yVJMh75Y+5caIaYhCsUZ1WTnxQRk7A==} + requiresBuild: true + dependencies: + csstype: 3.1.2 + dev: false + + /tuf-js@2.1.0: + resolution: {integrity: sha512-eD7YPPjVlMzdggrOeE8zwoegUaG/rt6Bt3jwoQPunRiNVzgcCE009UDFJKJjG+Gk9wFu6W/Vi+P5d/5QpdD9jA==} + engines: {node: ^16.14.0 || >=18.0.0} + dependencies: + '@tufjs/models': 2.0.0 + debug: 4.3.4 + make-fetch-happen: 13.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + requiresBuild: true + dev: true + optional: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: true + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.12 + dev: true + + /typedarray@0.0.7: + resolution: {integrity: sha512-ueeb9YybpjhivjbHP2LdFDAjbS948fGEPj+ACAMs4xCMmh72OCOMQWBQKlaN4ZNQ04yfLSDLSx1tGRIoWimObQ==} + dev: true + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unconfig@0.3.11: + resolution: {integrity: sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==} + dependencies: + '@antfu/utils': 0.7.6 + defu: 6.1.2 + jiti: 1.21.0 + mlly: 1.4.2 + dev: true + + /uniq@1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + dev: true + + /unique-filename@3.0.0: + resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + unique-slug: 4.0.0 + dev: true + + /unique-slug@4.0.0: + resolution: {integrity: sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + imurmurhash: 0.1.4 + dev: true + + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.7 + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unocss@0.57.2(postcss@8.4.31)(vite@4.5.0): + resolution: {integrity: sha512-Wmh/a+iXSaDnf6KCf0JtzZ9AoY//fxXLadiXvuTuM4aGEcItHzgt0IeZPs4+ab60usebQBsDyWV5Yr/lgiQ4bQ==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.57.2 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + dependencies: + '@unocss/astro': 0.57.2(vite@4.5.0) + '@unocss/cli': 0.57.2 + '@unocss/core': 0.57.2 + '@unocss/extractor-arbitrary-variants': 0.57.2 + '@unocss/postcss': 0.57.2(postcss@8.4.31) + '@unocss/preset-attributify': 0.57.2 + '@unocss/preset-icons': 0.57.2 + '@unocss/preset-mini': 0.57.2 + '@unocss/preset-tagify': 0.57.2 + '@unocss/preset-typography': 0.57.2 + '@unocss/preset-uno': 0.57.2 + '@unocss/preset-web-fonts': 0.57.2 + '@unocss/preset-wind': 0.57.2 + '@unocss/reset': 0.57.2 + '@unocss/transformer-attributify-jsx': 0.57.2 + '@unocss/transformer-attributify-jsx-babel': 0.57.2 + '@unocss/transformer-compile-class': 0.57.2 + '@unocss/transformer-directives': 0.57.2 + '@unocss/transformer-variant-group': 0.57.2 + '@unocss/vite': 0.57.2(vite@4.5.0) + vite: 4.5.0(sass@1.69.5) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + dev: true + + /unplugin-vue-components@0.25.2(vue@3.3.8): + resolution: {integrity: sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.4 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.3 + minimatch: 9.0.3 + resolve: 1.22.4 + unplugin: 1.4.0 + vue: 3.3.8(typescript@5.2.2) + transitivePeerDependencies: + - rollup + - supports-color + dev: true + + /unplugin@1.4.0: + resolution: {integrity: sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==} + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: true + + /update-browserslist-db@1.0.11(browserslist@4.21.10): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.10 + escalade: 3.1.1 + picocolors: 1.0.0 + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + dev: true + + /utf8-byte-length@1.0.4: + resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true + + /uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + builtins: 5.0.1 + dev: true + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /verror@1.10.1: + resolution: {integrity: sha512-veufcmxri4e3XSrT0xwfUR7kguIkaxBeosDg00yDWhk49wdwkSUrvvsm7nc75e1PUyvIeZj6nS8VQRYz2/S4Xg==} + engines: {node: '>=0.6.0'} + requiresBuild: true + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.4.1 + dev: true + optional: true + + /vinyl-file@1.3.0: + resolution: {integrity: sha512-i1CGRaiDs3qJ+Yc8cgtOnrZOwlhY02oDBrWSBKD9uYSsxqQG1RhNXLmR/orke0ye0sbKpVtAUHwhF2rs9A46cQ==} + engines: {node: '>=0.10.0'} + dependencies: + graceful-fs: 4.2.11 + strip-bom: 2.0.0 + strip-bom-stream: 1.0.0 + vinyl: 1.2.0 + dev: true + + /vinyl@1.2.0: + resolution: {integrity: sha512-Ci3wnR2uuSAWFMSglZuB8Z2apBdtOyz8CV7dC6/U1XbltXBC+IuutUkXQISz01P+US2ouBuesSbV6zILZ6BuzQ==} + engines: {node: '>= 0.9'} + dependencies: + clone: 1.0.4 + clone-stats: 0.0.1 + replace-ext: 0.0.1 + dev: true + + /vite-plugin-compression@0.5.1(vite@4.5.0): + resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} + peerDependencies: + vite: '>=2.0.0' + dependencies: + chalk: 4.1.2 + debug: 4.3.4 + fs-extra: 10.1.0 + vite: 4.5.0(sass@1.69.5) + transitivePeerDependencies: + - supports-color + dev: true + + /vite@4.3.9: + resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.17.19 + postcss: 8.4.31 + rollup: 3.28.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vite@4.5.0(sass@1.69.5): + resolution: {integrity: sha512-ulr8rNLA6rkyFAlVWw2q5YJ91v098AFQ2R0PRFwPzREXOUJQPtFUG0t+/ZikhaOCDqFoDhN6/v8Sq0o4araFAw==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + esbuild: 0.18.20 + postcss: 8.4.28 + rollup: 3.28.1 + sass: 1.69.5 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vue-demi@0.14.6(vue@3.3.8): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.3.8(typescript@5.2.2) + dev: false + + /vue-eslint-parser@9.3.1(eslint@8.53.0): + resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.53.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-router@4.2.5(vue@3.3.8): + resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} + peerDependencies: + vue: ^3.2.0 + dependencies: + '@vue/devtools-api': 6.5.0 + vue: 3.3.8(typescript@5.2.2) + dev: false + + /vue-template-compiler@2.7.14: + resolution: {integrity: sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + + /vue-tsc@1.8.22(typescript@5.2.2): + resolution: {integrity: sha512-j9P4kHtW6eEE08aS5McFZE/ivmipXy0JzrnTgbomfABMaVKx37kNBw//irL3+LlE3kOo63XpnRigyPC3w7+z+A==} + hasBin: true + peerDependencies: + typescript: '*' + dependencies: + '@volar/typescript': 1.10.10 + '@vue/language-core': 1.8.22(typescript@5.2.2) + semver: 7.5.4 + typescript: 5.2.2 + dev: true + + /vue@3.3.8(typescript@5.2.2): + resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-sfc': 3.3.8 + '@vue/runtime-dom': 3.3.8 + '@vue/server-renderer': 3.3.8(vue@3.3.8) + '@vue/shared': 3.3.8 + typescript: 5.2.2 + + /walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: true + + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + dev: true + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.11: + resolution: {integrity: sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@4.0.0: + resolution: {integrity: sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==} + engines: {node: ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 3.1.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xmlbuilder@15.1.1: + resolution: {integrity: sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==} + engines: {node: '>=8.0'} + requiresBuild: true + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml-eslint-parser@1.2.2: + resolution: {integrity: sha512-pEwzfsKbTrB8G3xc/sN7aw1v6A6c/pKxLAkjclnAyo5g5qOh6eL9WGu0o3cSDQZKrTNk4KL4lQSwZW+nBkANEg==} + engines: {node: ^14.17.0 || >=16.0.0} + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.3.2 + dev: true + + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} + engines: {node: '>= 14'} + dev: true + + /yaml@2.3.3: + resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} + engines: {node: '>= 14'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yazl@2.5.1: + resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} + dependencies: + buffer-crc32: 0.2.13 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..2b950d5f --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,3 @@ +packages: + - packages/** + - internal diff --git a/requirements.txt b/requirements.txt index 00a9f734..b65091c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,13 @@ -# pip install wheel==0.35.1 -# pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt -lanzou-api -# pyinstaller -pypiwin32 -PyQt5==5.15.2 -chardet +# pip install wheel==0.35.1 +# pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ -r requirements.txt +# pyinstaller +# chardet +fastapi +requests +uvicorn[standard]>=0.17.6 +lanzou-api +redis>=4.2.0rc1 +casdoor +sqlalchemy +pywebview +psutil \ No newline at end of file diff --git a/run_mac.command b/run_mac.command deleted file mode 100644 index 03236beb..00000000 --- a/run_mac.command +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -proj_path=$(cd $(dirname $BASH_SOURCE) && pwd) || { - echo "Get program path failed" >&2 - exit 1 -} - -ulimit -n 10240 - -cd $proj_path && python3.8 main.py - diff --git a/scripts/watch.mjs b/scripts/watch.mjs new file mode 100644 index 00000000..c73473b8 --- /dev/null +++ b/scripts/watch.mjs @@ -0,0 +1,98 @@ +import { spawn } from 'child_process' +import { createServer, build } from 'vite' +import electron from 'electron' +import readline from 'readline' + +const query = new URLSearchParams(import.meta.url.split('?')[1]) +const debug = query.has('debug') + +/** The log will display on the next screen */ +function clearConsole() { + const blank = '\n'.repeat(process.stdout.rows) + console.log(blank) + readline.cursorTo(process.stdout, 0, 0) + readline.clearScreenDown(process.stdout) +} + +/** + * @type {(server: import('vite').ViteDevServer) => Promise} + */ +function watchMain(server) { + /** + * @type {import('child_process').ChildProcessWithoutNullStreams | null} + */ + let electronProcess = null + const address = server.httpServer.address() + const env = Object.assign(process.env, { + VITE_DEV_SERVER_HOST: address.address, + VITE_DEV_SERVER_PORT: address.port, + }) + + /** + * @type {import('vite').Plugin} + */ + const startElectron = { + name: 'electron-main-watcher', + writeBundle() { + clearConsole() + + if (electronProcess) { + electronProcess.removeAllListeners() + electronProcess.kill() + } + + electronProcess = spawn(electron, ['.'], { env }) + electronProcess.once('exit', process.exit) + // https://github.com/electron-vite/electron-vite-vue/pull/129 + electronProcess.stdout.on('data', (data) => { + const str = data.toString().trim() + str && console.log(str) + }) + electronProcess.stderr.on('data', (data) => { + const str = data.toString().trim() + str && console.error(str) + }) + }, + } + + return build({ + configFile: 'packages/main/vite.config.ts', + mode: 'development', + plugins: [!debug && startElectron].filter(Boolean), + build: { + watch: {}, + }, + }) +} + +/** + * @type {(server: import('vite').ViteDevServer) => Promise} + */ +function watchPreload(server) { + return build({ + configFile: 'packages/preload/vite.config.ts', + mode: 'development', + plugins: [{ + name: 'electron-preload-watcher', + writeBundle() { + clearConsole() + server.ws.send({ type: 'full-reload' }) + }, + }], + build: { + watch: {}, + }, + }) +} + +// Block the CTRL + C shortcut on a Windows terminal and exit the application without displaying a query +if (process.platform === 'win32') { + readline.createInterface({ input: process.stdin, output: process.stdout }).on('SIGINT', process.exit) +} + +// bootstrap +const server = await createServer({ configFile: 'packages/renderer/vite.config.ts' }) + +await server.listen() +await watchPreload(server) +await watchMain(server) diff --git a/taze.config.ts b/taze.config.ts new file mode 100644 index 00000000..415919b2 --- /dev/null +++ b/taze.config.ts @@ -0,0 +1,8 @@ +import {defineConfig} from "taze"; + +export default defineConfig({ + exclude:[ + "electron", + "electron-builder" + ] +}) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..53df86c0 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "target": "ESNext", + "module": "ESNext", + "moduleResolution": "node", + "importHelpers": true, + "jsx": "preserve", + "esModuleInterop": true, + "resolveJsonModule": true, + "sourceMap": true, + "baseUrl": "./", + "strict": true, + "allowSyntheticDefaultImports": true, + "skipLibCheck": true, + "suppressImplicitAnyIndexErrors": true, + "ignoreDeprecations": "5.0" + } +} diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 00000000..b435aecd --- /dev/null +++ b/types.d.ts @@ -0,0 +1,8 @@ + +declare namespace NodeJS { + interface ProcessEnv { + NODE_ENV: 'development' | 'production' + readonly VITE_DEV_SERVER_HOST: string + readonly VITE_DEV_SERVER_PORT: string + } +}